【发布时间】:2020-05-26 15:01:10
【问题描述】:
我开始使用python编程,我想制作一个小脚本,显示“在浮雕上方2m高度诊断的局部温度”,“在10m诊断的东西向水平风的纬向分量高度”和“在 10 m 高度诊断的水平风的子午分量”作为经度和纬度的函数。
为此,我从 Meteofrance OPEN DATA 的开放数据站点下载一个文件,方法是:
域:“France - 0.01°”,子包:“SP1 - 当前表面参数”,截止日期组“0h”和运行日期“2020-02-10 00 UTC”
所以我有一个 grib2 格式的文件,我正在尝试使用 pygrib 库进行处理
首先,我只是想获取给定点的温度(经度 = 0.25,纬度 = 49.21)
我创建了一个索引来读取文件(好像是最快的)
indx = pygrib.index('./AROME_0.01_SP1_00H_2020021000.grib2', 'typeOfLevel', 'level', 'name')
我选择与温度对应的记录并恢复值:
msg = indx.select(level=2, typeOfLevel="heightAboveGround", name="2 metre temperature")
temp2m = msg[0].values
问题是,从那里,我摸索,我没有找到如何从这个变量 (numpy.ma.core.MaskedArray) 中检索与我的经度 = 0.25 和纬度 = 49.21 对应的值
如果有人有想法,我很感兴趣
import pygrib
indx = pygrib.index('./AROME_0.01_SP1_00H_2020021000.grib2', 'typeOfLevel', 'level', 'name')
msg = indx.select(level=2, typeOfLevel="heightAboveGround", name="2 metre temperature")
temp2m = msg[0].values
【问题讨论】:
-
也许this 有帮助:即
temp2m.data的输出是什么? -
使用cfgrib。它是最先进的,并且更易于使用。