Metpy:气象数据处理及可视化(网转)
原文地址:https://cloud.tencent.com/developer/inventory/15846/article/1618338
Metpy 是应用于气象领域的开源Python包,可以进行气象数据的处理,可视化以及气象要素的计算等。
在气象数据处理方面,可以读取并处理很多格式的数据,比如:WSR-88D,NEXRAD及GINI卫星数据,而且提供了接口可以直接获取 uwyo 提供的探空数据。
在可视化方面,其提供了绘制 Skewt 和 站点图的函数,可以非常方便的创建图形。绘制 Skewt 时提供了不少高级绘制方法,可以很方便的添加 hodograph 等信息;绘制 站点图 时也可以设置常用的气象符号。
当然,也支持很多气象要素的计算,而且为了保证计算的正确性,其提供了单位接口。关于这部分内容留待大家去探索,而且由于此包仍在不断的优化,如果你感兴趣的话,完全可以参与其中。
安装
Metpy 支持 python2.7 和 python >= 3.4 版本,安装前需要安装依赖包:
- NumPy >= 1.9.1
- SciPy >= 0.14.0
- Matplotlib >= 1.4.0
- pint >= 0.7
对于 3.4 以前的 python 版本,需要安装 enum34 包。
PyProj 是可选的依赖包,只有当需要使用 CDM 接口时才会使用此包。
以上依赖均可使用 pip 命令进行安装。
安装好依赖包之后:
1 pip install metpy
如果你使用的 conda 包管理器,你也可以使用 conda 进行安装:
1 conda install -c conda-forge metpy
Skewt
利用 uwyo 探空数据绘制 Skewt,并添加探空网站获取的相关信息:

风杆的单位为 knot,即和 uwyo 网站的探空数据单位一致。
上例中使用了 get_parm_from_uwyo 函数获取相应的探空信息(函数见注3链接。此函数并未考虑异常处理,如果要直接加入 metpy 包中,需要进一步修改)。脚本中使用 get_upper_air_data 获取探空数据时,仅获取到以下变量,其中并未包含高度信息,想要获取更多信息可更改源代码:

下图是官方文档中示例skewt图,其中添加了一些额外信息(绘图脚本见官方文档)

以下是站点图出图效果

还可以将不规则格点数据插值到规则网格中

同时提供了读取雷达和卫星数据的接口(当然都是美国常用的雷达和卫星数据)


关于 Metpy 的更多功能,可查阅官方文档。
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· Manus重磅发布:全球首款通用AI代理技术深度解析与实战指南
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· 没有Manus邀请码?试试免邀请码的MGX或者开源的OpenManus吧
· 园子的第一款AI主题卫衣上架——"HELLO! HOW CAN I ASSIST YOU TODAY
· 【自荐】一款简洁、开源的在线白板工具 Drawnix