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 的更多功能,可查阅官方文档。

posted @ 2022-04-12 18:38  EROEG  阅读(3153)  评论(0编辑  收藏  举报