Ric*_*ock 7 python gdal grib cdo-climate
给定此文件:
…根据我使用的软件,我得到不同的输出。
wgrib2 2019021815.grib2 -csv wgrib2.csv
Run Code Online (Sandbox Code Playgroud)
和
cdo outputtab,date,time,lat,lon,value 2019021815.grib2 > cdo.txt
Run Code Online (Sandbox Code Playgroud)
两种输出:
-3 (undefined) : 8,869,250 records
0 : 14,848,865 records
Other values : 781,885 records
___________________________________
Total : 24,500,000 records
Run Code Online (Sandbox Code Playgroud)
然而:
gdal_translate.exe -of xyz 2019021815.grib2 gdal.csv
Run Code Online (Sandbox Code Playgroud)
-3所有24,500,000条记录的输出。
如果使用Python + GDAL解析文件,则会得到相同的结果。
这是GDAL中的错误吗?我希望能够使用Python解析这些文件。
我还在将Windows用于GDAL,可以从https://gdal.org/download.html下载。
我正在使用Linux for CDO,可以从https://code.mpimet.mpg.de/projects/cdo/下载
Dav*_*id 5
对于您的问题,我的答案是切换到使用NOAA的Weather-Climate Toolkit。
它可以将网格化和径向NEXRAD / MRMS数据导出到CSV。对于需要此帮助的任何人,示例批处理命令将是:
wct-export DataSetName.grib2.gz csv Output.csv wctbatchconfig.xml
Run Code Online (Sandbox Code Playgroud)
如果抛出错误,请尝试从以下网址尝试使用WCT的其他版本/早期版本/测试版:https: //www1.ncdc.noaa.gov/pub/data/wct/dist/,并确保检查网站上的示例命令。
正如您所建议的,这似乎是 GDAL 中的一个错误。我使用 GDAL 2.4.2 测试了相同的命令,它有效。2.4.0 的更改日志指出了 GRIB 驱动程序的多项修复。
\n\n\n\nGRIB 驱动程序:
\n\n\n
\n- 替换数据源?以及直接使用 VSILFILE 的派生类,以在 Windows 上支持 > 4GB 文件
\n- 将 printf() 警告转换为 CPLDebug() 消息
\n- 当原始数据为整数时,正确读取和写入缺失数据值以进行复杂打包 (#1063)
\n- g2clib:避免 int 溢出。修复 \xe2\x80\x8b https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=8194
\n- g2clib:避免潜在的越界访问(CID 1393528)
\n- degrib:修复浮点除以零。修复 \xe2\x80\x8b https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=9407。
\n- degrib:避免潜在的浮点除以零。修复 \xe2\x80\x8b https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=10291
\n- 读取时将 UNIT[] 节点添加到 SRS,这样就有效
\n