数据源:http://edc.occ-data.org/nexrad/mosaic/#data-updates
问题:我知道在grib文件中的'PrecipRate‘属性是不被识别的。数据在那里,但是我想保留xarray数据集中的元数据。
import xarray as xr
ds = xr.open_dataset('MRMS_PrecipRate_00.00_20010101-120000.grib2', engine = 'cfgrib')
print(ds)
<xarray.Dataset>
Dimensions: (latitude: 3500, longitude: 7000)
Coordinates:
time datetime64[ns] 2001-01-01T12:00:00
step timedelta64[ns] 00:00:00
surface float64 0.0
* latitude (latitude) float64 54.99 54.98 54.98 54.97 ... 20.03 20.02 20.01
* longitude (longitude) float64 230.0 230.0 230.0 ... 300.0 300.0 300.0
valid_time datetime64[ns] 2001-01-01T12:00:00
Data variables:
unknown (latitude, longitude) float32 ...
Attributes:
GRIB_edition: 2
GRIB_centre: 161
GRIB_centreDescription: 161
GRIB_subCentre: 0
Conventions: CF-1.7
institution: 161
history: 2021-05-04T13:11 GRIB to CDM+CF via cfgrib-0.9.9...发布于 2021-05-28 05:54:02
这是处理grib数据时常见的故障。提取格里布数据需要格里布表。在这些表中,参数标识符被解释并映射到它们的名称。
因此,您必须做的是与grib文件的发布者/提供者联系,并请求相应的grib表。我猜pygrib使用公共的ncep格里布表。
此外,我建议将xarray与cfgrib结合使用。它基于ECMWF强大的ECCODES库。在这里,您必须将额外的ECCODES_DEFINTION_PATH设置为grib表存储的位置。默认情况下,电子代码可能包含正确的格里布表。否则,请与grib文件提供程序联系。
https://stackoverflow.com/questions/67389817
复制相似问题