我刚刚下载了一些 grib 格式的气候数据。我想使用“R”将其转换为 NetCDF 格式。
此外,由于文件由不同的变量组成,我想一次将一个变量提取到单个文件中。
我刚刚下载了一些 grib 格式的气候数据。我想使用“R”将其转换为 NetCDF 格式。
此外,由于文件由不同的变量组成,我想一次将一个变量提取到单个文件中。
如果没有您的特定文件,很难回答这个问题。您应该考虑制作可重现的示例,特别是如果您要发布到 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. 游牧民族
包 Rnomads 有一个函数 readgrib 为外部库提供包装器,允许读取 grib 文件
2.转换为netcdf
如果 GRIB 数据位于常规的 lat-lon 网格上,那么可能更简单的方法是转换为 netcdf 作为更发达的阅读支持(并且您可能已经习惯使用它)
您可以通过多种方式转换 grib,其中最简单的两种是
首席数字官:
cdo -f nc copy test.grb test.nc
如果您需要 netcdf4 约定,请使用“-f nc4”。
ECCODES(在 Mac 上使用 brew install eccodes 安装)
grib_to_netcdf -o test.nc test.grb
您可以使用计算机上安装的 ncl
library(ncdf)
system(ncl_convert2nc xxxx.grb, internal = TRUE)
my.nc <- open.ncdf("result.nc")
print(my.nc)