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


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM