使用R语言读取grib2文件的方法

来源:互联网 发布:java小程序怎么运行 编辑:程序博客网 时间:2024/04/19 15:30

 

下面是用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:500 mb:2-3 month ave fcst:
63:2955864:d=1988040618:HGT:500 mb:2-3 month ave fcst:
73:3434510:d=1989040618:HGT:500 mb:2-3 month ave fcst:
83:3905217:d=1990040618:HGT:500 mb:2-3 month ave fcst:
93:4375576:d=1991040618:HGT:500 mb:2-3 month ave fcst:
103:4846312:d=1992040618:HGT:500 mb:2-3 month ave fcst:
113:5317129:d=1993040618:HGT:500 mb:2-3 month ave fcst:
123:5796269:d=1994040618:HGT:500 mb:2-3 month ave fcst:
133:6267130:d=1995040618:HGT:500 mb:2-3 month ave fcst:
143:6745573:d=1996040618:HGT:500 mb:2-3 month ave fcst:
153:7208123:d=1997040618:HGT:500 mb:2-3 month ave fcst:
163:7678480:d=1998040618:HGT:500 mb:2-3 month ave fcst:
173:8140100:d=1999040618:HGT:500 mb:2-3 month ave fcst:
183:8610887:d=2000040618:HGT:500 mb:2-3 month ave fcst:
193:9073298:d=2001040618:HGT:500 mb:2-3 month ave fcst:

然后使用ncdf包中的函数读取即可:

nc <- open.ncdf("mync.nc")
data <- get.var.ncdf( nc )

0 0
原创粉丝点击