|
江西气象科技 |
浅谈GRADS气象绘图软件的使用
陈建萍1 , 陈兴旺2 , 李 进2
(1.江西省人工影响天气领导小组办公室,江西 南昌 330046;2.江西省气象技术装备中心,江西 南昌 330046)
摘 要:通过编制具体的应用程序,介绍了气象绘图软件GRADS的使用方法。 关键词:GRADS 软件 使用 GRADS是当今气象界广泛使用的一种数据处理和显示软件系统。该软件系统通过其集成环境,可以对气象数据进行读取、加工、图形显示和打印输出。它在进行数据处理时,所有数据在GRADS中均被视为纬度、经度、层次和时间的4维场,而数据可以是格点资料,也可以是站点资料;数据格式可以是二进制,也可以是GRIB码,从而具有操作简单、功能强大、显示快速、出图类型多样化、图形美观等特点。正因为如此,GRADS已迅速成为国内外气象界通用的标准图形环境之一。
1 GRADS有关的文件类型和维数环境 可以认为和GRADS有关的文件类型有:十进制的原始数据文件(*.TXT)、二进制的数据文件(*.DAT)、数据描述文件(*.CTL)、批处理文件(*.GS)和图形文件(*.GMF)。 气象业务中使用的站点资料或格点资料都是以十进制形式存放,而GRADS只能识别二进制的数据格式,所以使用GRADS之前的第一步就是转换数据文件;数据描述文件则是对数据文件进行说明,以便后续的操作有对象;批处理文件是把进入GRADS绘图环境后所要输入的命令写成批处理格式,以便可以自动执行输入的各项操作命令(批处理文件可单独建立,也可以略过不写,而在进入GRADS环境后一步一步地输入各项操作命令);图形文件是GRADS已经绘制好的图形,只能用GV打开浏览。 数据文件一般都是用Power Station或Visual
Fortran来转换(也可以用C语言或其它工具)。数据描述文件、批处理文件可以在“写字板"中写好,只是在存档的时候,要把文件的后缀改为.CTL和.GS。
GRADS将每一个物理量场视为1个四维数据集,它包括空间三维和时间一维。维数环境的定义由SET
LAT(纬度)/LON(经度)/LEV(高度)/TIME(时间)来设置,也可由SET X/Y/Z/T来设置。
文中采用1982年1月~1994年12月共156个月气象场中的1 000 hPa的海平面气压、温度以及850 hPa、500
hPa、200
hPa的u、v风场的月平均数据和45°×15°的格点资料,来举例说明GRADS的具体使用方法(经度为40°E~150°E,纬度为10°S~25°N)。
2.1 数据文件的转换 格点资料用Power Station转换,程序如下: PARAMETER(NX=45,NY=15) REAL
GRID(45,15) [格点资料数组大小] CHARACTER*60 AA(156) [定义数组前的说明为字符串] CHARACTER*20 DNAME(8) [资料文件的数量] DATADNAME/'D:.DAT','D:.DAT', $'D:.DAT','D:.DAT', $'D:.DAT','D:.DAT', $'D:.DAT','D:.DAT'/ [须描述资料文件的列举] DO 10
N=1,8< /FONT> OPEN(10+N,FILE=DNAME(N)) 10
CONTINUE [依次打开各个资料文件] OPEN(20,FILE='D:.GRD',FORM='BINARY', $ACCESS='DIRECT',RECL=NX*NY*4) [把所有须描述的资料文件数据同时放入1个文件ALLDAT中,以便只须1次转换后便可以随意调取] INUMBER=0 DO
100K=1,156< /FONT> DO 20
N=1,8< /FONT> READ(10+N,50)AA(K) READ(10+N,40)((GRID(I,J),I=1,NX),J=1,NY) INUMBER=INUMBER+1 WRITE(20,REC=INUMBER)((GRID(I,J),I=1,NX),J=1,NY) 20
CONTINUE 100
CONTINUE [本程序按经纬度顺序先读写第一时刻的SLP、SST、U850、U500、U200、V850、V500、V200,再读写第二时刻的资料,依次类推...] 40
FORMAT(15F4.0) 50
FORMAT(A60) END 2.2 数据描述文件的编写 数据描述文件DAT.CTL的编写格式为: DSETD:.GRD[DSET是给出所描述文件的文件名] TITLEWEATHERDATA [该数据描述文件的标题] UNDEF-9.99E33 [缺省记录的标记]
XDEF45
LINEAR40 2.5 [X方向共45个格点,起始纬度为40°,步长为2.5°] YDEF15
LINEAR-10.0 2.5 [Y方向共15个格点,起始经度为-10°,步长为2.5°] ZDEF4
LEVELS1000 850 500 200 [Z方向分为4层,即1 000、850、500、200 hPa]
TDEF 156
LINEAR JAN1982 1MO [时间共156个月,起始时间为1982年1月,步长为1个月] VARS4
[共SLP、T、U、V 4个变量] SLP 0 0
[SEALEVE LPRESSURE] T 0 0
[TEMPS] U 3 0
[UWINDS] V 3 0
[VWINDS] ENDVARS
[结束变量说明标志] 2.3 批处理文件的编写 如果我们欲编制批处理文件时,则应注意在用写字板编写GS文件时,必须在各项命令两边加单引号。如绘制经度为40°E~150°E,纬度为-10°S~25°N,时间为1982年10月(第10时刻)的850
hPa等风速矢量图时,其批处理文件DAT.GS可以写成以下语句:
‘OPEN
D:.CTL’
‘SET LON
40 150’
‘SET LAT
-10 25’ ‘SET
TIME T 10’
‘SET LEV
850’ ‘ENABLE
PRINT D;.GMF’ ‘SET
GXOUT VECTOR’ ‘SET
CCOLOR 5’ ‘DISPLAY
U;V’ ‘PRINT’ ‘DRAW
TITLE 10/1982 WINDS’ ‘QUIT’ 以上各项命令都可以根据自己的需要进行更改。比如:想要绘制经度为40°E~150°E,纬度为-10°S~25°N,时间为1984年6月的1
000 hPa气温场和温度场的合成流线图,就可以把以上的批处理文件改为:‘OPEN D:.CTL’,‘SET LON40 150’,‘SET LAT-10
25’,‘SET T 30’,‘SET LEV 1000’,‘ENABLE PRINT D;.GMF’,‘SET GXOUT CONTOUR’,‘SET
CCOLOR 5’,‘SET CSTYLE 3’,‘DISPLAY T’,‘SET CSTYLE 1’,‘DISPLAY SLP’,‘PRINT’,‘DRAW
TITLE 6/1984 WINDS’,‘QUIT’。
当然,GRADS可以绘制的图形远不止这些,若固定经度、时间,让纬度、高度变化,则可以画出气象场的剖面图;若固定经、纬度和高度,让时间变化,则可以画出某气象要素场随时间的变化。另外,GRADS还可以通过调用函数名来直接绘制气象图形,如当设置显示命令“DISPLAY
HCURL(U,V)”和“DISPLAY HDIVG(U,V)”时,就可以直接得出垂直涡度和水平散度图等。
———————————— 第一作者简介:陈建萍(1974-),男,工程师,硕士在读,主要从事人工影响天气研究工作.