7

鉴于此文件:

http://mtarchive.geol.iastate.edu/2019/02/18/mrms/ncep/GaugeCorr_QPE_01H/GaugeCorr_QPE_01H_00.00_20190218-150000.grib2.gz

…根据我使用的软件,我得到不同的输出。

wgrib2 2019021815.grib2 -csv wgrib2.csv

cdo outputtab,date,time,lat,lon,value 2019021815.grib2 > cdo.txt

两个输出:

-3 (undefined) :  8,869,250 records
0              : 14,848,865 records
Other values   :    781,885 records
___________________________________
Total          : 24,500,000 records

然而:

gdal_translate.exe -of xyz 2019021815.grib2 gdal.csv

所有 24,500,000 条记录的输出-3

如果我使用 Python + GDAL 解析文件,我会得到相同的结果。

这是GDAL中的错误吗?我希望能够使用 Python 解析这些文件。


我正在使用 Windows for wgrib2,可以从ftp://ftp.cpc.ncep.noaa.gov/wd51we/wgrib2/Windows_7/ 下载

我也在使用 Windows for GDAL,可以从https://gdal.org/download.html下载

我正在使用Linux for cdo,可以从 https://code.mpimet.mpg.de/projects/cdo/下载

4

2 回答 2

5

我对您的问题的回答是改用 NOAA 的 Weather-Climate Toolkit。

在此处下载适用于 Windows/Mac/Linux

它可以将网格和径向 NEXRAD/MRMS 数据导出为 CSV。需要此帮助的任何人的示例批处理命令将是:

wct-export DataSetName.grib2.gz csv Output.csv wctbatchconfig.xml

如果它抛出错误,请尝试从 https://www1.ncdc.noaa.gov/pub/data/wct/dist/获取不同/早期/beta 版本的 WCT,并确保检查网站上的示例命令。

于 2019-09-26T09:03:18.737 回答
4

正如您所建议的,这似乎是 GDAL 中的一个错误。我使用 GDAL 2.4.2 测试了相同的命令,它可以工作。2.4.0的更改日志指向 GRIB 驱动程序的几个修复。

GRIB 驱动程序:

  • 替换数据源?和带有 VSILFILE 的派生类直接用于 Windows 上 > 4GB 的文件支持
  • 将 printf() 警告作为 CPLDebug() 消息
  • 当原始数据为整数时,正确读取和写入缺失数据值以进行复杂打包 (#1063)
  • g2clib:避免 int 溢出。修复<a href="https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=8194" rel="nofollow noreferrer">https://bugs.chromium.org/p/ oss-fuzz/issues/detail?id=8194
  • g2clib:避免潜在的越界访问(CID 1393528)
  • degrib:修复浮点除以零。修复<a href="https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=9407" rel="nofollow noreferrer">https://bugs.chromium.org/p/ oss-fuzz/issues/detail?id=9407.
  • degrib:避免潜在的浮点除以零。修复<a href="https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=10291" rel="nofollow noreferrer">https://bugs.chromium.org/p/ oss-fuzz/issues/detail?id=10291
  • 在读取时将 UNIT[] 节点添加到 SRS,因此这是有效的
于 2019-09-30T22:29:48.993 回答