0

数据来源:http ://edc.occ-data.org/nexrad/mosaic/#data-updates

  • 使用 'MRMS_PrecipRate_00.00_20010101-120000.grib2' 这是 2001 数据集中的第一个文件

问题:我知道在 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...
4

1 回答 1

0

这是处理 grib 数据的常见故障。提取 grib 数据需要 grib 表。在这些表中,参数标识符被解释并映射到它们的名称。

因此,您需要做的是与 grib 文件的发布者/提供者联系,并索要相应的 grib 表。我猜 pygrib 使用公共 ncep grib 表。

此外,我建议将 xarray 与cfgrib结合使用。它基于 ECMWF 强大的 ECCODES 库。在这里,您必须为ECCODES_DEFINTION_PATHgrib 表的存储位置设置一个附加值。也许 eccodes 默认包含正确的 grib 表。否则,请与 grib 文件提供商联系。

于 2021-05-28T05:54:02.013 回答