Grads在气象中主要配合Fortran使用,Fortran负责计算处理数据,Grads负责画图,但由于Fortran能处理的数据类型有限制,因此某些时候,直接使用Grads进行简单的计算反而是一个更方便的选择。那么Grads里的数据处理该从哪些方面入手呢?一起来学习吧!
1.数据描述文件
Grads并不直接读取或处理数据文件,而是通过读取数据描述文件(ctl格式),间接使用数据文件。
每个数据描述文件一般包含以下几项:
①被描述的数据文件名(dset)
②此数据描述文件的标题(title)
③所描述数据的类型、格式和选项(dtype、format、option)
④时间、空间维数环境设置(xdef、ydef、zdef、tdef)
⑤变量定义(vars、endvars)
先通过一个气象家园里翻到的一个例子认识一下其用法:
dset G:\FY2E_TBB_IR1_OTG_2010.AWX title 2010 twpice fy2e_tbb options yrev * yrev表示y轴反向 undef 0.0 xdef 1201 linear 45 0.1 ydef 1201 linear -60 0.1 zdef 1 linear 1000 1 tdef 288 linear 00z19JUN2010 1hr vars 1 tbb 1 -1,40,1 Geopotential Heights (m) endvars
(来自家园用户nx花儿-LJQ:bbs.06climate.com/forum.php?mod=viewthread&tid=2528)
其中可选择使用的参数有(可参考官方网址cola.gmu.edu/grads/gadoc/descriptorfile.html):
dset path/filename:表示需要打开的数据文件的路径及文件名
title name:此数据描述文件的标题
undef value:定义数据文件中的缺测值
options keywords:定义了与二进制文件有关的选项。
keywords可选择的有:
sequential:输出格式为顺序记录方式,缺省时为direct直接记录格式。
yrev:Y维反向。
zrev:Z维反向。
big_endian、little_endian:改变二进制位存放顺序,不常用。
byteswapped:反序位存放,不常用。
template:同时描述多个数据文件时使用。
xdef xnum linear xstart increment或
xdef xnum levels value_list:xnumber给定X方向格点数,取linear参数时,网格点格距均匀,xstart为起点坐标(负数表示西经),increment为网格间距;取levels参数时,网格点格距不均匀,枚举法按顺序列出所有网格点(格点值之间用空格隔开)。
ydef ynum mapping :定义网格点与纬度的映射关系,包括:
linear:线性映射
levels:不均匀格点,枚举表示
gaust62:高斯T62网格
gausr15:高斯R15网格
gausr20:高斯R20网格
gausr30:高斯R30网格
gausr40:高斯R40网格
zdef的设置方式与xdef相似
tdef只有linear参数,没有levels参数
vars num:数据文件中变量的数量,其下一行同时给出变量的描述:
varname levs units descripition:varname变量名称,变量层数,0表示只有一层;units单位;description,描述变量的一段字符串。
BOOK
2