如何使用R将Grib1转换为Netcdf?

时间:2013-08-29 02:12:55

标签: r netcdf

我刚刚以grib格式下载了一些气候数据。我想用“R”将其转换为NetCDF格式。

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

3 个答案:

答案 0 :(得分:2)

如果没有您的特定文件,很难回答这个问题。您应该考虑生成可重现的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)

答案 1 :(得分:0)

我知道您要求使用R的解决方案,但使用cdo从命令行执行此任务要简单得多:

cdo -f nc copy test.grb test.nc 

这就是你需要做的一切。使用&#34; -f nc4&#34;如果你想要netcdf4约定。

要提取变量,您可以先看到变量名称正在使用

ncdump -h test.nc

然后,一旦知道要提取到单独文件的变量的名称,就可以使用

cdo selvar,varname test.nc var.nc 

答案 2 :(得分:0)

您可以使用计算机上安装的ncl

library(ncdf)
 system(ncl_convert2nc  xxxx.grb, internal = TRUE)
 my.nc <- open.ncdf("result.nc")
 print(my.nc)