我刚刚以grib格式下载了一些气候数据。我想用“R”将其转换为NetCDF格式。
此外,由于文件由不同的变量组成,我想一次将一个变量提取到单个文件中。
答案 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)