1

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

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

4

3 回答 3

3

如果没有您的特定文件,很难回答这个问题。您应该考虑制作可重现的示例,特别是如果您要发布到 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)
于 2013-08-29T05:20:13.587 回答
2

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
于 2017-10-05T20:56:54.723 回答
1

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

library(ncdf)
 system(ncl_convert2nc  xxxx.grb, internal = TRUE)
 my.nc <- open.ncdf("result.nc")
 print(my.nc)
于 2018-06-20T14:47:25.610 回答