首页
学习
活动
专区
圈层
工具
发布
社区首页 >专栏 >中科天机台风预报数据可视化——以2606号台风蔷薇为例

中科天机台风预报数据可视化——以2606号台风蔷薇为例

作者头像
郭好奇同学
发布2026-06-03 13:43:15
发布2026-06-03 13:43:15
60
举报

中科天机台风数据(TJ-TC)依托中科天机全球-区域一体化数值天气模式,提供海平面气压、十米风场等高分辨率台风关键要素,并结合多模式多成员超级集合模拟与历史台风数据的人工智能算法订正技术,对模式误差进行动态校正。该数据集面向已命名热带气旋(可参考TCVitals数据库),开展专业化台风模拟,通过对未来位置和移动轨迹的预估、中心气压与最大风速的量化分析,以及7级、10级等风圈范围的精细化刻画,科学描述台风未来发展趋势,具备高精度、稳定可靠的路径、强度及风圈半径全维度精细化集合模拟能力,为防灾减灾和相关行业决策提供坚实的数据支持。

中科天机台风数据(TJ-TC)对已命名热带气旋启动台风模拟数据服务,持续至该热带气旋停止编报。数据文件包含台风中心纬度、台风中心经度、台风中心海平面气压、台风最大十米风速、台风移动方向、台风移动速度、最大风速风圈半径等要素模拟

导入模块

代码语言:javascript
复制
import pandas as pd

读取数据

天机预报数据不仅包含台风中心纬度、台风中心经度、台风中心海平面气压、台风最大十米风速,还有台风移动方向、台风移动速度、最大风速风圈半径的预报结果。

代码语言:javascript
复制
df = pd.read_csv('/home/mw/input/track1498/typhoon/2026052712/tc_WNP_JANGMI_track.csv', encoding='GB2312')
df.head()

绘制台风路径图(含风圈半径)

代码语言:javascript
复制
!python plot_typhoon_track.py -i /home/mw/input/track1498/typhoon/2026052712/tc_WNP_JANGMI_track.csv --no-cross
代码语言:javascript
复制
[INFO] 读取数据: /home/mw/input/track1498/typhoon/2026052712/tc_WNP_JANGMI_track.csv
[INFO] 使用编码: gbk
[INFO] 读取了 40 个时次的数据
[INFO] 地图范围: 经度 122.1°E ~ 163.3°E, 纬度 5.2°N ~ 48.0°N
[OK] 图片已保存: typhoon_track.png

绘制气压-移速-风速图

代码语言:javascript
复制
import matplotlib.pyplot as plt
import matplotlib.dates as mdates
from matplotlib.dates import datestr2num, DateFormatter
import pandas as pd 
from matplotlib.ticker import  MultipleLocator

plt.rcParams['font.sans-serif'] = ['SimHei']
plt.rcParams['axes.unicode_minus'] = False

df = pd.read_csv('/home/mw/input/track1498/typhoon/2026052712/tc_WNP_JANGMI_track.csv', encoding='GB2312')
df = df.dropna()
top = 80
time = list(df['time'])
pressure = list(df['最小海平面气压(百帕)'])
speed = list(df['最大十米风速(米/秒)'])
move_speed = list(df['移速(米/秒)'])


fig = plt.figure(figsize=(12, 6))
ax1 = fig.add_subplot(111)

p1, = ax1.plot_date(datestr2num(time), speed, 'o-', color = 'red', linewidth = 2, label = '风速',markersize=3)
p2, = ax1.plot_date(datestr2num(time), move_speed, 'o-', color = 'orange', linewidth = 2, label = '移速',markersize=3)

ax1.grid(True)
ax1.set_ylabel('速度(m/s)', fontsize = 12)

ax1.set_ylim(0,70)
labels = ax1.get_xticklabels() + ax1.get_yticklabels()
[label.set_fontsize(10) for label in labels]
plt.xticks(rotation=45)
ax2 = ax1.twinx()

ax2.set_ylabel('气压(hPa)', fontsize = 12)
p3, = ax2.plot_date(datestr2num(time), pressure, 'o-', color = 'blue', linewidth = 2, label = '气压',markersize=3)

ax2.xaxis.set_major_locator(mdates.HourLocator(byhour = range(24), interval = 12))
ax2.xaxis.set_major_formatter(DateFormatter('%m-%d %H'))

labels = ax2.get_xticklabels()
[label.set_rotation(45) for label in labels]
if max(max(move_speed),max(speed))<40:
    ax1.set_ylim(0,40)
    ax1.yaxis.set_major_locator(MultipleLocator(5))
    top = 40
if min(pressure)>980:
    ax2.set_ylim(980,1010)
    ax2.yaxis.set_major_locator(MultipleLocator(5))  
elif min(pressure)>940:
    ax2.set_ylim(940,1010)
    ax2.yaxis.set_major_locator(MultipleLocator(10)) 
elif min(pressure)>900:
    ax2.set_ylim(900,1010)
    ax2.yaxis.set_major_locator(MultipleLocator(15)) 
else:
    ax2.set_ylim(860,1010)

labels = ax2.get_yticklabels()
[label.set_fontsize(10) for label in labels]

legend = plt.legend([p1,p2,p3], ['风速','移速','气压'], ncol = 3,  loc = 1, fontsize = 14)

legend.get_frame().set_alpha(1) 
legend.get_frame().set_facecolor('none')
legend.get_frame().set_edgecolor('none')

plt.title('最大风速:{:.1f}m/s  最低气压:{}hPa'.format(max(speed),int(min(pressure))),color='purple',loc='left',fontsize=14)
plt.show()

总结

  1. 中科天机台风预报数据不仅提供了台风轨迹,还包含台风强度(最低气压、最大风速)和台风移速、移向,预报数据非常完整。
  2. 中科天机台风预报数据包含不同风圈在不同象限的半径,一定程度上体现了台风的空间结构,对于分析台风影响有重要作用。
本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2026-06-02,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 好奇心Log 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 导入模块
  • 读取数据
  • 绘制台风路径图(含风圈半径)
  • 绘制气压-移速-风速图
  • 总结
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档