2013-08-29 37 views
0

我刚刚下载了grib格式的一些气候数据。我想使用“R”将其转换为NetCDF格式。如何使用R将Grib1转换为Netcdf?

此外,由于文件由不同的变量组成,我想每次将一个变量提取到单个文件中。

回答

1

如果没有您的具体文件,很难回答这个问题。您应该考虑制作可重现的examples,尤其是如果您发布到R板。

对于R,请查看library(raster)library(ncdf4)。我刚刚抓住了我看到的第一个grib1文件,并组成了一个快速示例。

library(raster) 
library(ncdf4) 

download.file(url = 'ftp://ftp.hpc.ncep.noaa.gov/grib/20130815/p06m_2013081500f030.grb', destfile = 'test.grb') 

(r <- raster('test.grb')) 

n <- writeRaster(r, filename = 'netcdf_in_youR_comp.nc', overwrite = TRUE) 
0

我知道你问,使用R解决方案,但它是更直接的命令行使用CDO执行此任务:

cdo -f nc copy test.grb test.nc 

这就是所有你需要做的。如果你想要netcdf4约定,使用“-f nc4”。

要提取的变量,你首先看到的变量名使用的是什么

ncdump -h test.nc 

然后,一旦你知道你要解压到一个单独的文件中的变量的名称,你可以使用

cdo selvar,varname test.nc var.nc