3.
\ begingroup美元

在阅读SMAP数据(grib格式)使用xarray以cfgrib作为引擎,变量显示为未知的数据的经度值约为539,这是不可能的。我假设变量被标识为“未知”可能是由于缺少SMAP数据的grib表。使用xarray读取数据的总结如下:

< xarray。数据set> Dimensions: (latitude: 1920, longitude: 2560) Coordinates: time datetime64[ns] ... step timedelta64[ns] ... level float64 ... * latitude (latitude) float64 -89.95 -89.86 -89.77 ... 89.77 89.86 89.95 * longitude (longitude) float64 -179.9 -179.8 -179.6 ... 179.6 179.8 539.9 valid_time datetime64[ns] ... Data variables: unknown (latitude, longitude) float32 ... Attributes: GRIB_edition: 2 GRIB_centre: consensus GRIB_centreDescription: Consensus GRIB_subCentre: 65535 Conventions: CF-1.7 institution: Consensus history: 2023-01-17T14:45 GRIB to CDM+CF via cfgrib-0.9.1...

wgrib2的输出如下:

表4.3 = 255(未定义)对于20150402_20150404_anom1。Grb2 ** 1:0:d=1970010100:var discipline=1 master_table=2 parcat =255 parm=255:reserved:anl:
\ endgroup美元

    1回答1

    3.
    \ begingroup美元

    似乎GRIB格式被用于分发数据(可能是为了存储,还是为了简化处理?),而卫星SMAP不符合GRIB标准(请参阅GRIB标准支持的可用参数)在这里).这就是为什么输入代码是255(即。“失踪”)。

    我下载了文件20150402 _20150404_anom1.grb2并使用xarray 0.18.2和cfgrib 0.9.10.1在Python中打开。我看不到异常的经度。

    < xarray。数据set> Dimensions: (latitude: 1920, longitude: 2560) Coordinates: time datetime64[ns] 1970-01-01 step timedelta64[ns] 00:00:00 level float64 0.0 * latitude (latitude) float64 -89.95 -89.86 -89.77 ... 89.77 89.86 89.95 * longitude (longitude) float64 -179.9 -179.8 -179.6 ... 179.6 179.8 179.9 valid_time datetime64[ns] 1970-01-01 Data variables: unknown (latitude, longitude) float32 nan nan nan nan ... nan nan nan Attributes: GRIB_edition: 2 GRIB_centre: consensus GRIB_centreDescription: Consensus GRIB_subCentre: 65535 Conventions: CF-1.7 institution: Consensus history: 2023-01-17T15:53 GRIB to CDM+CF via cfgrib-0.9.1...

    您可以在任何情况下使用Python读取和处理数据“未知”作为变量名:

    smap = Ds .open_dataset(…)变量['unknown'] lon = ds。变量['经度']lat = ds.variables['经度']

    2

    \ endgroup美元
    3.
    • \ begingroup美元 我的xarray版本是2022.12.0异常经度值出现的地方。当降级为时,问题就消失了0.18.2 \ endgroup美元
      - - - - - -irok94
      1月18日9:04
    • \ begingroup美元 注意,xarray和wgrib输出中的时间戳是不正确的。有办法解决时间问题吗? \ endgroup美元
      - - - - - -irok94
      1月19日8:41
    • \ begingroup美元 grib文件中的数据包含3天的组合,文件名中提供了开始和结束日期。这可能是grib中的时间戳“不正确”的原因,因为只有一个2D数组。如果你真的想改变文件中的时间戳,我会使用cdo:Cdo settaxis,2015-04-02,00:00,1day 20150402_20150404_anom1。grb2 out.grb2 \ endgroup美元 1月19日15:43

    你的答案

    点击“张贴您的答案”,即表示您同意我们的服务条款隐私政策而且饼干的政策

    这不是你想要的答案?浏览带标签的其他问题问自己的问题