GrADS绘图软件实用手3Word文档格式.docx
- 文档编号:21806911
- 上传时间:2023-02-01
- 格式:DOCX
- 页数:44
- 大小:509.15KB
GrADS绘图软件实用手3Word文档格式.docx
《GrADS绘图软件实用手3Word文档格式.docx》由会员分享,可在线阅读,更多相关《GrADS绘图软件实用手3Word文档格式.docx(44页珍藏版)》请在冰豆网上搜索。
可取:
sequential:
顺序无格式方式。
yrev:
Y维与YDEF定义相反方式存放。
zrev:
Z维与ZDEF定义相反方式存放。
big_endian:
如数据是在sun,sgi,hpcray机器上生成的,而目前不在此类机器上使用。
little_endian:
如数据是在iX86,dec机器上生成的,而目前不在此类机器上使用。
byteswapped:
反序位存放。
5.XDEFnumberLINEARX_Startincrement
number(>
=1)给定X方向格点数,其后LINEAR参数指明X方向是等间隔分布格点,X_Start起点坐标,increment网格间距。
XDEFLEVELSvalue_list
LEVELS参数指明X方向是不等间隔分布格点,因此,其后要给出具体每个格点的坐标值(以空格分开)。
6.YDEFnumberLINEARY_Startincrement
YDEFLEVELSvalue_list
7.ZDEFnumberLINEARZ_Startincrement
ZDEFLEVELSvalue_list
8.TDEFnumberLINEART_Startincrement
TDEFLEVELSvalue_list
T_Start和value_list给出时间格式如下:
hh:
mmZddmmmyyyy
hh要以两位数代表小时(缺省00);
“:
mm”以两位数代表分钟(缺省:
00);
dd以两位或一位数代表日期(缺省1);
mmm为英文月分三个字符的缩写;
yyyy以两位或四位数代表年。
12Z1JAN90(省:
mm)14:
45Z22JAN1987JUN1960
时间increment格式:
vvkk
vv以两位数字代表;
kk取:
mn-增量以分为单位;
hr-以小时为单位;
dy-以天为单位;
mo以月为单位;
yr以年为单位。
9.VARSnumber
V_abrevlevsunitsdescription
……
ENDVARS
以VARS指示开始定义变量,number代表变量总的个数;
以ENDVARS指示结束变量定义。
从VARS以下,每行定义一个变量。
V_abrev变量名称,GrADS将用到;
levs,数字,代表变量层数,0表示只有一层;
units单位,为GRIB预留,给99;
description,对变量的文字描述。
1.2生成model.le.dat和model.le.ctl文件的程序代码片段
programmain
Realps(72,46,7,5),ts(72,46,7,5),z(72,46,7,5),u(72,46,7,5),v(72,46,7,5)
Realt(72,46,7,5),q(72,46,7,5),p(72,46,7,5)
C第一部分,读入model.le.dat数据。
Open(7,file=’model.le.dat’,form=’unformatted’,access=’direct’,recl=72*46*4)
C在微机上,要乘4;
用VisualFortran6.5不要乘4;
sgi上不要乘4,具体情况可能要试。
IREC=1设记录累加器,初值为1。
DOit=1,5最外层时间循环1~5天。
read(7,rec=IREC)((ps(j,i,it),j=1,72),i=1,46)
IREC=IREC+1
DOk=1,7多层变量,每一个水平层作为一个记录(72X46个点)。
read(7,rec=IREC)((u(j,i,k,it),j=1,72),i=1,46)
ENDDO
DOk=1,7
read(7,rec=IREC)((v(j,i,k,it),j=1,72),i=1,46)
read(7,rec=IREC)((z(j,i,k,it),j=1,72),i=1,46)
read(7,rec=IREC)((t(j,i,k,it),j=1,72),i=1,46)
DOk=1,5水气只有5层
read(,rec=IREC)((q(j,i,k,it),j=1,72),i=1,46)
read(,rec=IREC)((ts(j,i,k,it),j=1,72),i=1,46)
read(7,rec=IREC)((p(j,i,k,it),j=1,72),i=1,46)
C第二部分,写出mmodel.le.dat数据。
Open(8,file=’mmodel.le.dat’,form=’unformatted’,access=’direct’,recl=72*46*4)
Open(9,file=’mmodel.le.ctl’)
Write(8,rec=IREC)((ps(j,I,it),j=1,72),i=1,46)按在CTL文件中的先后次序输出。
Write(8,rec=IREC)((u(j,i,k,it),j=1,72),i=1,46)
Write(8,rec=IREC)((v(j,i,k,it),j=1,72),i=1,46)
Write(8,rec=IREC)((z(j,i,k,it),j=1,72),i=1,46)
Write(8,rec=IREC)((t(j,i,k,it),j=1,72),i=1,46)
Write(8,rec=IREC)((q(j,i,k,it),j=1,72),i=1,46)
Write(8,rec=IREC)((ts(j,i,k,it),j=1,72),i=1,46)
Write(8,rec=IREC)((p(j,i,k,it),j=1,72),i=1,46)
Cwriteoutthecorrespondthe“ctlfile”
Write(9,’(a)’)‘DSETmodel.le.dat’
Write(9,’(a)’)‘OPTIONSlittle_endiancray_32bit_ieee’
Write(9,’(a)’)‘TITLE5DaysofSampleModelOutput’
Write(9,’(a)’)‘UNDEF‘,-2.56e33
Write(9,’(a)’)‘XDEF’,72,‘Linear’,0.0,5.0
Write(9,’(a)’)‘YDEF’,46,‘Linear‘,-90.0,4.0
Write(9,’(a)’)‘ZDEF‘,7,’levels‘,1000,850,700,500,300,200,100
Write(9,’(a)’)‘TDEF‘,5,’linear02JAN19871DY’
Write(9,’(a)’)‘VARS’,8
Write(9,’(a)’)‘ps’,0,99,‘SurfacePressure’
Write(9,’(a)’)‘u‘,7,99,‘Uwinds’
Write(9,’(a)’)‘v‘,7,99,‘Vwinds’
Write(9,’(a)’)‘z‘,7,99,‘GeopotentialHeights’
Write(9,’(a)’)‘t‘,7,99,‘Temperature’
Write(9,’(a)’)‘q‘,5,99,‘SpecificHumidity’
Write(9,’(a)’)‘ts‘,0,99,‘SurfaceTemperature’
Write(9,’(a)’)‘p‘,0,99,‘Precipitation’
Write(9,’(a)’)‘ENDVARS’
STOP
END
2.站点数据的格式
例1—1980年1月和2月4个站的降水量
rain.ch文件清单:
19801qqq34.3-85.5123.3
19801rrr44.2-84.599.1
19801sss22.4-83.5412.8
19801ttt30.4-82.523.3
19802qqq34.3-85.5145.1
19802rrr44.2-84.5871.4
19802sss22.4-83.5223.1
19802ttt30.4-82.545.5
年月站名纬度经度降水量
rain.c—把上述文件转为GrADS数据格式(rain.dat)。
rain.ctl
rain.map数据的生成:
dos>
stnmap–irain.ctl结果生成rain.map数据。
例2—多个站点,多层数据的生成
rsond.ch
1991750时间
53.7591.40台站的纬度、经度(台站号丢失)
1005.92256.0288.64286.04270.002.00
地面的气压、海拔、T、Td、风向、风速。
8501433.00290.84278.84230.007.00
高空层(hPa)、位势、T、Td、风向、风速。
7003064.00279.84268.84335.009.00
5005730.00262.14243.14315.004.00
4007400.00249.34238.34345.003.00
3009440.00232.34224.34330.0022.00
25010660.00223.54216.54340.002.00
20012090.00216.34210.3440.002.00
15013920.00219.9499999.99305.005.00
10016550.00220.7499999.99310.004.00
35.75111.4054511台站的纬度、经度、台站号
……………………
rsond.c—生成rsond.dat
rsond.ctl
dsetrsond.dat
optionsbig_endian
dtypestation
stnmaprsond.map
undef99999.0
titleraidiosond
tdef1linearjan19801mo
vars11
ps099prouser
h0099height
ts099temperature
tds099dewpoints
us099Uwinds
vs099Vwinds
hg199height高层资料层数为1。
t199temps
td199dewpoints
u199Uwinds
v199Vwinds
endvars
Dos>
stnmap–irsond.ctl结果生成rsond.map数据。
3.台站资料的显示
rain.gs
'
openrain.ctl'
setdigsize0.2'
setlon-140-40'
setlat1585'
sett1'
*'
setstidon'
dp'
;
rsond.gs
openrsond.ctl'
setdignum1'
setdigsize0.19'
setlon50140'
setlat080'
setlev300'
setgxoutvalue'
setgxoutmodel'
du;
v;
t-273.16;
td-273.16;
0.0;
0.0;
21'
dus;
vs;
ts-273.16;
tds-273.16;
ps;
0.0,21'
setgxoutfindstn'
dt;
6.4;
3.2'
;
sayresult
dtd;
5.6;
2.3'
3.9;
4.0'
4.Cressman.gs—客观分析方法
rain.ch:
是一组观测,用rain.c生成GrADS格式的数据:
rain.dat;
rain.ctl,最后用cressman.gs生成分析结果。
opencmodel.ctl'
与model.le.ctl一样,只是对数据的网格作了重新定义。
setdigsize0.13'
setdignum3'
setlon80106'
setlat2446’
setmprojnps'
setgxoutcontour'
doacres(ts.2,p.1*100)'
将把站点资料p分析到利用cmodel.ctl定义的网格上。
fprint
*以下将分析结果保存到文件中。
setgxoutfwrite'
setfwritedummy.dat'
‘setdfile2’设置当前文件为cmodel.ctl
‘qdim’显示当前文件维数设置,按此结果写dummy.ctl文件。
disablefwrite'
Rain.ctl
dsetrain.dat
optionsbig_endian
stnmaprain.map
undef-999.0
titleRainfall
vars1
p099rainfall
cmodel.ctl
dsetmodel.le.dat
optionslittle_endiancray_32bit_ieee
UNDEF-2.56E33
TITLE5DaysofSampleModelOutput
XDEF180LINEAR0.01.用户定义网格。
可调整网格的范围和分辨率。
YDEF90LINEAR0.01.
ZDEF1LEVELS1000
TDEF1linearjan19801mo此时间要与rain.ctl中的一致
vars1
ts099SurfaceTemperature
ENDVARS
qdim命令显示的结果
Defaultfileis:
2
Xisvaryinglon=80to106x=41to54
Yisvaryinglat=24to46y=13to24
Zisfixed
…
dummy.ctl
dsetdummy.dat
TITLESampleOutput
XDEF14LINEAR80.02.(14=54-41+1)2=(106-80)/(14-1)
YDEF12LINEAR24.02.(12=24-13+1)2=(46-24)/(12-1)
TDEF1LINEAR02JAN19871DY时间与垂直层要与rain.ctl中的一致
p099sample
5.GRIB格式数据处理
GRIB格式数据是WMO规定的一种通用的气象数据格式,它不像二进制数据,是与机器无关的,因此可以在各类机器上交换而不受限制,并且具有高压缩比。
GRADS中数据文件与之相应的数据格式说明文件是分开的,而GRIB数据文件中包含了数据格式说明,是一种自定义或自解释压缩数据文件。
但在GRADS中使用GRIB数据时,关键还是要生成一个与数据文件分离的CTL文件。
GRADS演示数据中就有一套GRIB数据。
因此要用到以下一些外部功能:
grib2ctl.plgrib数据文件名>
控制文件名.ctl
该命令并不在GrADS的支持系统里,但可以从网上下载,下载后放在…/grads/bin目录下,该命令是用perl语言写的,可以在RedHatLinux下运行。
控制文件生成后还要运行:
Dos>
gribmap–i控制文件名.ctl
生成index文件就可以开始画图了。
另外GrADS还提供了两个外部命令gribscan(旧版本)和wgrib(新版,grib2ctl.pl也是依赖wgrib)可以扫描GRIB数据或提取数据。
例1:
NCEPgrib数据:
grib2003073118
1)grib2ctl.plgrib2003073118>
grib.ctl
2)gribmap–igrib.ctl
grib.ctl
dset^grib2003073118
index^grib2003073118.idx
undef9.999E+20
titlegrib2003073118
*producedbygrib2ctlv0.9.12.5p33e
dtypegrib3
optionsyrev
ydef181linear-90.0000001
xdef360linear0.0000001.000000
tdef1linear18Z31jul20031mo
zdef26levels
10009759509259008508007507006506005505004504003503002502001501007050302010
vars93
………………………
LFTXsfc0131,1,0**surfaceSurfaceliftedindex[K]
O3MRprs6154,100,0**Ozonemixingratio[kg/kg]6层臭氧混合率的信息是错误的
以上变量名有点复杂,用户可自行简化。
例2:
T106/T213模式数据:
CPGHYI50.082
1.grib2ctl.plCPGHYI50.082>
cpp.ctl
2.gribmap-0–E–icpp.ctl
cpp.ctl
dset^CPGHYI50.082
index^CPGHYI50.082.idx
titleCPGHYI50.082
*producedbygrib2ctlv0.9.12.5p33e
dtypegrib255
optionsyrevy方向是倒置的,即从北极向南极放置
xdef180linear0.0000002
ydef91levels
-88.494-86.543-84.581-82.616-80.651-78.684-76.718-74.751-72.784-70.817
-68.850-66.883-64.916-62.949-60.982-59.015-57.048-55.081-53.114-51.146
-49.179-47.212-45.245-43.278-41.311-39.344-37.376-35.409-33.442-31.475
-29.508-27.541-25.573-23.606-21.639-19.672-17.705-15.737-13.770-11.803
-9.836
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- GrADS 绘图 软件 实用