下面是用R语言读取grib2文件的代码。使用的文件是CFS模式输出的grib2格式的文件。
思路是首先将grib2文件转换成ncdf文件,然后读取ncdf文件。使用的package为ncdf。
注意,运行下面的代码,首先需要将wgrib2相关的程序放在系统path中,相关程序在下面的页面中下载:
http://www.cpc.ncep.noaa.gov/products/wesley/wgrib2/
首先加载ncdf包:
library(ncdf)
下面的命令将多个记录转化为nc文件mync.nc,其中读取了从第3个开始到第200个每隔10个读1个的记录:
shell('wgrib2 z500.ensm.apr.cfsv2.data.grb2 -for "3:200:10" -netcdf mync.nc')
程序显示:
3:98936:d=1982040618:HGT:500 mb:2-3 month ave fcst:
13:577923:d=1983040618:HGT:500 mb:2-3 month ave fcst:
23:1048267:d=1984040618:HGT:500 mb:2-3 month ave fcst:
33:1535324:d=1985040618:HGT:500 mb:2-3 month ave fcst:
43:2006379:d=1986040618:HGT:500 mb:2-3 month ave fcst:
53:2485247:d=1987040618:HGT:5