首页
学习
活动
专区
圈层
工具
发布
    • 综合排序
    • 最热优先
    • 最新优先
    时间不限
  • 来自专栏气python风雨

    metpy绘制锋生与冷锋

    以下全文代码和数据均已发布至和鲸社区,阅读原文前往,可一键fork跑通 https://www.heywhale.com/mw/project/65485a22d74b63fed5f03f49 本项目旨在利用Python中的MetPy 镜像:气象分析3.9 锋生函数公式如下 这是11月7日的中央气象台的地面天气图 导入库 import xarray as xr import metpy.calc as mpcalc from metpy.units 5)) # 设置经度刻度 ax.set_yticks(range(20,60, 5)) # 设置纬度刻度 plt.show() 绘图过程较慢,可缩小绘制范围或对程序进行优化 冷锋绘制 from metpy.plots

    89412编辑于 2024-06-20
  • 来自专栏MeteoAI

    Metpy新版功能下载TLnP图设置

    参考: Metpy官方文档 Metpy Skew-T Tutorials Metpy Skew-T Complex Layout Siphon Wyoming Upper Air Data Request 用于天气绘图的Metpy包更新(0.8版本)了,他们要逐渐抛弃Python2.X,转到Python>=3.6的版本上。 as mpcalc from metpy.io import get_upper_air_data from metpy.plots import Hodograph, SkewT ######## as mpcalc from metpy.cbook import get_test_data from metpy.plots import Hodograph, SkewT from metpy.units from metpy.io import get_upper_air_data --- from metpy.cbook import get_test_data dataset = get_upper_air_data

    2K41发布于 2020-02-19
  • 来自专栏气python风雨

    metpy函数平滑台风风场流线图

    下面测试metpy的九点平滑函数 metpy函数 metpy.calc.smooth_n_point 参数:metpy.calc.smooth_n_point(scalar_grid, n=5, passes cfeature import shapely.geometry as sgeom from concurrent.futures import ThreadPoolExecutor import metpy.calc metpy函数平滑后的台风风场流线图 我们可以发现随着调整平滑次数,台风中心的位置也稍有变化 在平滑次数较低时(1-10),其流线场效果是和之前做的中值滤波与高斯滤波接近的

    39110编辑于 2024-06-20
  • 来自专栏气象杂货铺

    Metpy:气象数据处理及可视化

    Metpy 是应用于气象领域的开源Python包,可以进行气象数据的处理,可视化以及气象要素的计算等。 安装好依赖包之后: pip install metpy 如果你使用的 conda 包管理器,你也可以使用 conda 进行安装: conda install -c conda-forge metpy 此函数并未考虑异常处理,如果要直接加入 metpy 包中,需要进一步修改)。 关于 Metpy 的更多功能,可查阅官方文档。 /MetPy/index.html 注3:https://pan.baidu.com/s/1i59OCZj

    6.3K31发布于 2020-04-21
  • 来自专栏好奇心Log

    使用metpy将台风数据插值转换为极坐标系

    本项目就是利用metpy里calc这个计算模块,以ERA5数据为例,给定一个台风中心,选取层次为500 hPa,进行插值计算,将数据从笛卡尔坐标系插值为极坐标系,并对两个结果进行对比分析。 导入相关库 from scipy import interpolate #用来插值 import metpy.calc as mpcalc #常用气象物理量计算的库 from metpy.units azimuths = np.linspace(0,360,73)*units.degree ranges = np.linspace(0,1000,101)*1000*units.meter #利用metpy linewidth=2.3,zorder=3) plt.colorbar(fig2,orientation='vertical',shrink=0.75) plt.show() 通过上面两张图来看,metpy

    3.1K30编辑于 2022-11-15
  • 来自专栏气python风雨

    代码实战 | 基于era5的温度平流计算

    本文将通过ERA5数据实例,分析常见的温度平流计算错误,并提供正确的计算方法,同时与MetPy的mpcalc.advection函数结果进行对比验证。 问题分析:为什么结果"离谱" 作为一个专业的自媒体,我们要大胆地下判断,一定是单位搞错了 一般是dx dy出了问题导致求导出的数值异常 metpy温度平流计算方法 import numpy as np = metpy_method(lon0, lat0, u0, v0, t) plot_temperature_advection(lon0, lat0, temadvection_metpy, "Temperature 方法结果范围:", np.nanmin(temadvection_metpy), np.nanmax(temadvection_metpy)) # 计算MetPy与正确方法的差异 diff = temadvection_metpy MetPy方法结果范围: -0.0009147886257277709 0.001062257697235703 MetPy与正确方法的最大差异: 8.654054701647786e-05 实际应用建议

    6710编辑于 2026-04-24
  • 来自专栏气python风雨

    学习笔记 | metpy插值气压层时需要注意什么

    metpy 插值到等压面总是报错?90 %的人都忽略了单位这件事——一次 Xarray 维度踩坑全记录 环境设置 安装依赖 ! pip install metpy 正文 近来又潮又热,去江苏出差的朋友感慨江苏怎么还没北京潮,还有读者在评论区发了北京已有广东特有的美洲大蠊,真是奇哉怪哉。 实际上就是metpy老掉牙的单位问题。今天咱们一次性说清楚。 01 场景复现:到底哪一步炸裂? apply_along_axis 是否能识别 ndarray ✗ ✗ ✅ 直接上裸数组 DataArray maybe ✅ ⚠️ metpy 必须拆 unit,否则 numpy 拒接 metpy 为了保持单位一致性 那就全部无量纲 plevs = plevs * units('') pressure = pressure.metpy.quantify() 用 .metpy.dequantify() 随时把数据剥干净

    10910编辑于 2026-04-24
  • 来自专栏气python风雨

    ERA5水汽通量散度剖面计算与绘图

    可以看到该行的最右角,会出现个三角形,点击查看即可 前言 之前的文章中,有朋友提出水汽通量散度剖面图怎么画,那么我们来探索一下 项目目标 本项目旨在通过 Python 编程语言,结合气象数据处理库(如 xarray、metpy 项目功能 计算数据存为nc 以下是实现整层水汽通量散度剖面图的核心代码: import xarray as xr import numpy as np from metpy.units import units import metpy.calc as mpcalc import cartopy.crs as ccrs def calculate_and_save_moisture_flux_divergence (ccrs.PlateCarree()) u = u.metpy.assign_crs(ccrs.PlateCarree()) v = v.metpy.assign_crs(ccrs.PlateCarree 剖面图的绘制:使用 metpy 和 matplotlib 绘制水汽通量散度剖面图,并嵌入小地图显示剖面路径。 如果想计算其他气象变量的剖面,先计算后将其存为有经纬度的nc文件再使用metpy函数即可

    1.4K00编辑于 2025-01-14
  • 来自专栏气python风雨

    Python | ERA5任意经纬度风矢量剖面绘制

    Python | ERA5任意经纬度风矢量剖面绘制 摘要 既然做了wrf的风剖面绘制,那么ERA5也一起做了 当然还是基于metpy的函数 导入必要的库 import xarray as xr import import matplotlib.pyplot as plt import cartopy.crs as ccrs import cartopy.feature as cfeature from metpy.interpolate 使用 MetPy 提取剖面数据 # 取第一个时刻,将数据转换为 MetPy 的 CF 标准格式 ds = ds.isel(time=0).metpy.parse_cf() # 使用 MetPy 的 int32 148B 1 2 3 5 7 10 20 ... 875 900 925 950 975 1000 time datetime64[ns] 8B 2023-08-02 metpy_crs 计算切向与法向风 import metpy.calc as mpcalc ### 6.

    97810编辑于 2025-01-20
  • 来自专栏气python风雨

    CINRAD | 新功能测试 极坐标转换经纬度函数以及cappi预告

    Collecting cinrad Using cached cinrad-1.9.3-cp39-cp39-linux_x86_64.whl Requirement already satisfied: metpy 4.33.3) Requirement already satisfied: pooch>=1.2.0 in /opt/conda/lib/python3.9/site-packages (from metpy 1.8.1) Requirement already satisfied: pandas>=1.4.0 in /opt/conda/lib/python3.9/site-packages (from metpy (2.0.3) Requirement already satisfied: scipy>=1.8.0 in /opt/conda/lib/python3.9/site-packages (from metpy ) (5.2.0) Requirement already satisfied: pint>=0.17 in /opt/conda/lib/python3.9/site-packages (from metpy

    6910编辑于 2026-04-24
  • 来自专栏气python风雨

    经典相当位温的Python 实现

    饱和比湿计算 那么qs(饱和比湿)哪里来呢,检索一下,懂了,从es(饱和水汽压)计算 那么es从哪里来,答案是metpy函数metpy.calc import saturation_vapor_pressure 当然,metpy并没有直接计算饱和比湿的函数,倒是有饱和混合比 from metpy.calc import saturation_vapor_pressure from metpy.units import as mpcalc import metpy.constants as constants import os # 定义 WRF 文件夹路径和文件名前缀 wrfout_path = "/home/mw [25]: result_wrf[5,20,:,:].plot(cmap='bwr') <matplotlib.collections.QuadMesh at 0x7f946ebb4b10> 4. metpy 的相当位温 公式为 from here metpy In [26]: from metpy.calc import equivalent_potential_temperature from metpy.units

    80010编辑于 2024-06-20
  • 来自专栏气python风雨

    WRFOUT 绘制台站探空图与简单分析

    numpy as np from netCDF4 import Dataset import matplotlib.pyplot as plt import matplotlib as m import metpy.calc as mpcalc from metpy.plots import Hodograph, SkewT from metpy.units import units import metpy.calc as mpcalc from metpy.cbook import get_test_data from metpy.plots import add_metpy_logo, SkewT from metpy.units

    8510编辑于 2026-04-24
  • 来自专栏气python风雨

    WRFOUT 绘制台站探空图与简单分析

    numpy as np from netCDF4 import Dataset import matplotlib.pyplot as plt import matplotlib as m import metpy.calc as mpcalc from metpy.plots import Hodograph, SkewT from metpy.units import units import metpy.calc as mpcalc from metpy.cbook import get_test_data from metpy.plots import add_metpy_logo, SkewT from metpy.units

    50010编辑于 2024-06-20
  • 来自专栏气python风雨

    雷达系列 | 水凝物分类产品(HCL)的剖面怎么画

    2.0.1 in /opt/conda/lib/python3.9/site-packages (from cinrad) (2.3.1) Requirement already satisfied: metpy 4.33.3) Requirement already satisfied: pooch>=1.2.0 in /opt/conda/lib/python3.9/site-packages (from metpy 5.2.0) Requirement already satisfied: pandas>=1.4.0 in /opt/conda/lib/python3.9/site-packages (from metpy ) (2.0.3) Requirement already satisfied: pint>=0.17 in /opt/conda/lib/python3.9/site-packages (from metpy (0.23) Requirement already satisfied: scipy>=1.8.0 in /opt/conda/lib/python3.9/site-packages (from metpy

    5510编辑于 2026-04-24
  • 来自专栏气python风雨

    经典位温的Python 实现

    饱和比湿计算 那么qs(饱和比湿)哪里来呢,检索一下,懂了,从es(饱和水汽压)计算 那么es从哪里来,答案是metpy函数metpy.calc import saturation_vapor_pressure 当然,metpy并没有直接计算饱和比湿的函数,倒是有饱和混合比 from metpy.calc import saturation_vapor_pressure from metpy.units import as mpcalc import metpy.constants as constants import os # 定义 WRF 文件夹路径和文件名前缀 wrfout_path = "/home/mw [25]: result_wrf[5,20,:,:].plot(cmap='bwr') <matplotlib.collections.QuadMesh at 0x7f946ebb4b10> 4. metpy 的相当位温 公式为 from here metpy In [26]: from metpy.calc import equivalent_potential_temperature from metpy.units

    47811编辑于 2024-06-20
  • 来自专栏气python风雨

    ​雷达系列:必须更新!测试cinrad最新更新的read_auto

    25hRequirement already satisfied: metpy>=0.8 in /opt/conda/lib/python3.9/site-packages (from cinrad) 5.2.0) Requirement already satisfied: pandas>=1.4.0 in /opt/conda/lib/python3.9/site-packages (from metpy (2.0.3) Requirement already satisfied: pooch>=1.2.0 in /opt/conda/lib/python3.9/site-packages (from metpy ) (1.8.1) Requirement already satisfied: pint>=0.17 in /opt/conda/lib/python3.9/site-packages (from metpy 0.23) Requirement already satisfied: xarray>=0.21.0 in /opt/conda/lib/python3.9/site-packages (from metpy

    63510编辑于 2024-07-19
  • 来自专栏气python风雨

    雷达系列 | 两种雷达坐标转换经纬度方法对比分析

    雷达系列 | 两种雷达坐标转换经纬度方法对比分析 概述 本文档对比分析两种常见的雷达数据极坐标转换经纬度的方法: MetPy方法: 使用 azimuth_range_to_lat_lon 函数,适用于二维极坐标转换 理论对比 MetPy 方法 (azimuth_range_to_lat_lon) 适用场景: 二维极坐标系统 → 经纬度坐标 坐标系统: 输入: 方位角(azimuths), 距离(ranges), 雷达中心经纬度 处理2D,wradlib处理3D 精度: wradlib考虑大气折射,更精确 速度: MetPy更快,wradlib更精确 应用: MetPy适用于近距离,wradlib适用于所有距离 代码实现 导入必要的库 相关 from metpy.calc import azimuth_range_to_lat_lon from metpy.io import Level3File from metpy.units import MetPy方法示例 # 读取真实MetPy雷达数据 filename = 'KOUN_SDUS54_N0QTLX_201305202016 (1)' f = Level3File(filename)

    6910编辑于 2026-04-24
  • 来自专栏气python风雨

    数据处理 | python计算经典相当位温2.0

    饱和比湿计算 那么qs(饱和比湿)哪里来呢,检索一下,懂了,从es(饱和水汽压)计算 单位: 那么es从哪里来,答案是metpy函数metpy.calc import saturation_vapor_pressure 当然,metpy并没有直接计算饱和比湿的函数,倒是有饱和混合比 from metpy.calc import saturation_vapor_pressure from metpy.units import as mpcalc import metpy.constants as constants import os # 定义 WRF 文件夹路径和文件名前缀 wrfout_path = "/home/mw ,tk) result_wrf[3,20,:,:].plot(cmap='bwr') <matplotlib.collections.QuadMesh at 0x7f961dff7990> 4. metpy 的相当位温 公式为 from heremetpy from metpy.calc import equivalent_potential_temperature from metpy.units import

    78811编辑于 2024-12-19
  • 来自专栏气象学家

    Python编程 | T-N波作用通量水平分量

    位势与位势高度 位势高度的单位是gpm位势米或者m米,gpm在metpy的单位系统中与m是等价的。 位势的单位是m²/s²,数值上约是位势高度的9.8倍。 其实就是位势高度乘以重力加速度等于位势。 用位势高度求位势可以用metpy中的height_to_geopotential函数来实现。 偏导 numpy、xarray、metpy都可以求偏导,我其实更喜欢metpy。 之前计算水汽通量、Zwack-Okossi诊断方程时都是使用metpy进行梯度(偏导)、二阶偏导、涡度和拉普拉斯等计算,非常方便,但是T-N波作用通量却并不适合用metpy,因为metpy会“自作主张” 读取数据并标记单位 import numpy as np import xarray as xr import metpy.calc as mpcalc from metpy.units import units from metpy.constants import earth_avg_radius p = 250 * units('hPa') # 也有用300hPa的 mon = 1 #

    6.8K51发布于 2021-05-20
  • 来自专栏气python风雨

    WRF散度计算步骤及Python可视化实现2.0

    环境设置 依赖库 wrf-python metpy numpy xarray matplotlib cartopy 数据处理 数据读取 import numpy as np import xarray as xr import metpy.calc as mpcalc from metpy.interpolate import cross_section from wrf import getvar, , to_np import matplotlib.pyplot as plt import cartopy.crs as ccrs from netCDF4 import Dataset from metpy.units import units import metpy # 读取WRF输出文件 file_path = "/home/mw/input/typhoon9537/wrfout_d01_2019-08-08_ 的内置函数 方法二需要手动扩展维度 推荐方法: 对于新版本metpy,推荐使用方法三 对于旧版本,可以使用方法二 注意事项: 使用时会收到维度警告,可以安全忽略或通过指定维度消除 计算结果可能存在微小差异

    51010编辑于 2025-04-22
领券