- 积分
- 19290
- 贡献
-
- 精华
- 在线时间
- 小时
- 注册时间
- 2012-3-2
- 最后登录
- 1970-1-1
|
登录后查看更多精彩内容~
您需要 登录 才可以下载或查看,没有帐号?立即注册
x
本帖最后由 hzwjy 于 2019-3-31 22:28 编辑
Siphon(链接:https://unidata.github.io/siphon/latest/index.html)
Siphon 可用于获取THREDDS数据服务提供的多种观测数据,也可以获取怀俄明大学的探空数据(http://weather.uwyo.edu/upperair/seasia.html)和IGRA2探空数据集。返回的结果为pandas的DataFrame类型,变量选取和处理都比较方便。
可用 conda 安装:
- conda install -c conda-forge siphon
复制代码
MetPy (链接:https://unidata.github.io/MetPy/latest/index.html)
MetPy 可以用于气象数据的读取、变量计算和数据可视化,在站点图和2维图像绘制上都有独特的优势。
conda 安装命令:
- conda install -c conda-forge metpy
复制代码
获取探空数据和绘制探空图的py脚本:
- import numpy as np
- import matplotlib.pyplot as plt
- import metpy.calc as mpcalc
- from metpy.plots import SkewT
- from metpy.units import units
- from datetime import datetime
- from siphon.simplewebservice.wyoming import WyomingUpperAir
- date = datetime(2017, 8, 15, 0)
- site = '56187'
- df = WyomingUpperAir.request_data(date, site)
- p = df['pressure'].values * units(df.units['pressure'])
- T = df['temperature'].values * units(df.units['temperature'])
- Td = df['dewpoint'].values * units(df.units['dewpoint'])
- u = df['u_wind'].values * units(df.units['u_wind'])
- v = df['v_wind'].values * units(df.units['v_wind'])
- # 避免风向标过于密集
- interval = np.logspace(2, 3, num=25) * units('hPa')
- idx = mpcalc.resample_nn_1d(p, interval)
- fig = plt.figure(figsize=(9, 9))
- skew = SkewT(fig, rotation=30)
- skew.ax.set_ylim(1000, 100)
- skew.ax.set_xlim(-40, 40)
- skew.plot(p, T, 'r')
- skew.plot(p, Td, 'g')
- skew.plot_barbs(p[idx], u[idx], v[idx])
- skew.plot_dry_adiabats()
- skew.plot_moist_adiabats()
- skew.plot_mixing_lines()
复制代码
得到的结果
探空绘图
|
|