使用R打开grib文件

时间:2010-06-16 14:59:40

标签: r data-structures netcdf grib

我正在使用R来处理气象数据。我分两步进行:

  1. 使用ncar命令语言中的命令行函数ncl_convert2nc将grib转换为netcdf
  2. 使用R中的包ncdf导入netcdf数据。
  3. 我还有一个问题:

    2-对于某些特定的grib文件,使用ncar工具进行转换不起作用。是否有其他方法或技巧(除转录为netcdf)读取R 中的grib文件?

    Dirk回答的问题:1-我想对R内的许多文件进行自动处理。我可以在R中调用ncl_convert2nc吗? (由Dirk Eddelbuettel在下面回答)

5 个答案:

答案 0 :(得分:3)

关于问题1,答案为“是” - 如果您想捕获结果,请参阅help(system)internal=TRUE选项。

答案 1 :(得分:2)

rgdal也可以做到这一点,但是它不够灵活,需要比ncdf或RNetCDF更多的关注和细节 - 并且取决于你的GDAL / rgdal,包括GRIB驱动程序。

答案 2 :(得分:1)

ncl_convert2nc似乎是最好的解决方案。但是,如果数据结构有点复杂,我使用GrADS将GRIB文件转换为ASCII(例如.csv),然后可以使用专用于R的ncdf4包创建NetCDF文件.GrADS还提供对重新支持将GRIB写入NetCDF,但只有1个变量有限制。

答案 3 :(得分:0)

另一个解决方案是使用wgrib / wgrib2软件(http://www.cpc.ncep.noaa.gov/products/wesley/wgrib2/)并将GRIB-1 / GRIB-2文件直接转储为CSV格式,例如:

/path/to/your/wgrib2 input_file.grb -csv output_file.csv

然后可以直接在R ...

中阅读

答案 4 :(得分:0)

另一个快速简便的命令行解决方案是使用cdo进行转换:

cdo -f nc copy file.grb file.nc

如果要输出netcdf4文件,请指定“-f nc4”。