用Grads处理GRIB格式文件的准备_2007-07-12
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
Grads处理GRIB格式文件的准备
LYanbing
2007-7-2初稿,2007-7-12修改1 开场说明
WHAT IS GRIB?
GRIB (GRIdded Binary) is an international, public, binary format for the efficient storage of meteorological/oceanographic variables. Typically, GRIB data consists of a sequence of 2-D (lon,lat) chunks of a (in most general sense) 4-D variable (e.g., u comp on the wind = f(lon,lat,level,time)). The sequence is commonly organized in files containing all variables at a particular time (i.e., 3-D (lon,lat,level) volume).
大气所的NCEP再分析资料使用这种格式。
这里针对6小时一次的1°×1°,26层数据来处理。
Grads中识别路径的方式基本为Unix的方式,即路径中用斜杠/,而不是反斜杠\,cmd中也支持这种方式,所以,使用Grads及其相关组件时,指定路径用斜杠/会很方便。
Grads中用!pwd可以看到当前目录,C:盘对应/cygdrive/c/,d:盘对应/cygdrive/d/。cmd中用pwd看到的也是如此,cygdrive是怎么来的?与cygwin程序有关,它能把Unix程序嫁接到windows下使用,它的目录系统以/cygdrive/为根目录。
如果ctl文件中,数据文件指定不是全路径,而是^,则可以在open命令中指定上述形式的全路径,例如:
ga-> open /cygdrive/d/data/ncep/grib2006060100.ctl
它等效于:
ga-> open d:/data/ncep/grib2006060100.ctl
2 生成描述文件
PCGrads软件的User’s Guide中介绍了GRIB及其处理方法,但不完全。实际上有两种方法:1)利用工具grib2ctl.exe生成整个文件的描述文件.ctl,再利用工具gribmap.exe生成映射文件.idx;2)利用工具wgrib.exe解码文件中需要使用的部分记录,建立新的数据文件,然后人工建立描述文件.ctl。
为了使用方便,环境变量Path中增加Grads可执行文件所在目录,则在cmd中其他路径下亦可访问所有该目录下的工具。
2.1 方法1
使用工具grib2ctl.exe生成GRIB数据文件的描述文件ctl,之后还要使用gribmap工具生成映射文件.idx。
1. 工具grib2ctl.exe的获得。
查看相关信息:
/products/wesley/grib2ctl.html
一般网上得到的是源码文件grib2ctl.pl。
ftp:///wd51we/wgrib.scripts/grib2ctl.pl
grib2ctl.pl是perl语言代码,转换成exe格式需要使用perl2exe工具。转换的过程还需要借助perl编译器,如ActivePerl。
perl2exe工具可从以下网址查看和下载:
/perl2exe.htm
/download/p2x-8.60-Win32.zip
ActivePerl可从以下网址下载:
/ActivePerl/Windows/5.8/ActivePerl-5.8.6.811-MSWin32-x86-1222 08.msi
ActivePerl下载后安装好,perl2exe下载后解压到某个目录,把grib2ctl.pl拷贝入该目录。在cmd命令行窗口执行:
grib2ctl.pl
perl2exe
于是生成grib2ctl.exe。为了方便使用,把它拷贝到Grads目录下,这里是PCGrads\win32e\。
2. 工具grib2ctl.exe的使用。
使用过程中要用到wgrib工具,Grads自带了但不是最新的,最新版本需要自己下载。
查看:
/products/wesley/wgrib.html
可选择下载源码或已编译版本。
这里使用已编译版本,下载wgrib.exe和其依赖的cygwin1.dll文件:
ftp:///wd51we/wgrib/machines/Windows/wgrib.exe
ftp:///wd51we/wgrib/machines/Windows/cygwin1.dll
把这两个文件放置在可以访问到的地方,例如和grib2ctl.exe放置在同一目录下,在cmd 命令行窗口,cd到数据文件所在路径(这里是d:/data/ncep/),然后执行:grib2ctl.exe grib2006060100 >grib2006060100.ctl
注意,这样生成的.ctl文件还不能直接使用,需要处理:
去掉文件结尾多余部分,即ENDV ARS之后的关于Perl2exe声明的部分(因为我们按照前文地址得到的Perl2exe是试用版)。
得到的ctl文件举例见附录1。
3.gribmap的使用
在cmd命令行窗口,cd到数据文件所在路径,然后执行:
gribmap –v –i grib2006060100.ctl >b.txt
则,该路径下生成映射文件grib2006060100.idx,b.txt中记录了映射的过程,打开它可以查看所有field匹配的情况,全是!!!!!MATCH才是完全匹配成功。(这里发现有的行不是!!!!!MATCH,而是..... NOOOO,问题已经解决,见2.3节)