Grads实习报告.docx
- 文档编号:12205402
- 上传时间:2023-04-17
- 格式:DOCX
- 页数:16
- 大小:381.19KB
Grads实习报告.docx
《Grads实习报告.docx》由会员分享,可在线阅读,更多相关《Grads实习报告.docx(16页珍藏版)》请在冰豆网上搜索。
Grads实习报告
实习二
编写Fortran程序,将上述第一类资料1)-3)所列资料转成二进制格式;4)资料单独转成二进制形式;并配以相应的数据描述文件,即ctl文件。
注意:
验证转换后的资料是否正确,可以再配以ctl文件以后,对资料进行作图,应该与提供的第二类资料图形一致。
在fortran编译器中输入以下代码:
programmain
integeri,j,k
parameter(ii=37,jj=17,nz=2,nt=48)
dimensiona(ii,jj),b(ii,jj),c(ii,jj),d(ii,jj),e(ii,jj),f(ii,jj)
open(1,file='d:
\llp\dat\u850.dat')
open(2,file='d:
\llp\dat\u200.dat')
open(3,file='d:
\llp\dat\v850.dat')
open(4,file='d:
\llp\dat\v200.dat')
open(5,file='d:
\llp\dat\h500.dat')
open(6,file='d:
\llp\dat\tsfc.dat')
open(12,file='d:
\llp\data2.grd',form='binary')
dok=1,48
read(1,1000)
read(1,2000)((a(i,j),I=1,ii),j=1,jj)
read(3,1000)
read(3,2000)((c(i,j),I=1,ii),j=1,jj)
read(2,1000)
read(2,2000)((b(i,j),I=1,ii),j=1,jj)
read(4,1000)
read(4,2000)((d(i,j),I=1,ii),j=1,jj)
read(5,1000)
read(5,3000)((e(i,j),I=1,ii),j=1,jj)
read(6,1000)
read(6,4000)((f(i,j),I=1,ii),j=1,jj)
1000format(2i7)
2000FORMAT(37F6.2)
3000format(37f8.1)
4000format(37f7.2)
write(12)((a(i,j),i=1,ii),j=1,jj)
write(12)((b(i,j),i=1,ii),j=1,jj)
write(12)((c(i,j),i=1,ii),j=1,jj)
write(12)((d(i,j),i=1,ii),j=1,jj)
write(12)((e(i,j),i=1,ii),j=1,jj)
write(12)((f(i,j),i=1,ii),j=1,jj)
enddo
end;得到data2.grd,与原来ctl文件相配,画图验证即可。
实习三
求出高度场850hPa、82-85年1月、沿100-120E的平均值,并画出纬度-时间剖面。
编写gs文件如下:
shiyan3_1.gs
'reinit'
'opene:
\shiyan3\data.ctl'
'setgxoutfwrite'
'setfwritee:
\shiyan8\h.grd'
'setlon110'
'setlat040'
'setlev850'
i=1
while(i<=48)
'sett'i''
'defineha=ave(h,lon=100,lon=120)'
'dha'
i=i+12
endwhile
'disablefwrite'
;
运行e:
\shiyan3\shiyan3.gs
得到一个grd文件,即h.grd
为得到的grd文件配ctl文件:
shiyan3.ctl
dsete:
\shiyan3\h.grd
undef-9.99E+33
titleNCEP/NCARREANALYSISPROJECT
xdef1linear100.02.5
ydef17linear0.02.5
zdef1levels850
tdef4linearJAN19821yr
vars1
ha099height
endvars
再编写gs文件如下:
shiyan3_2.gs
'reinit'
'opene:
\shiyan3\shiyan3.ctl'
'enableprinte:
\shiyan3\shiyan3.gmf'
'setlon100'
'setlat040'
'setlev850'
'sett14'
'setgxoutcontour'
'dha'
'print'
'disableprint'
;
运行shiyan3_2.gs
得到图,shiyan3.gmf
实习四
画出地形图,3000到5000之间划阴影,其余画等值线。
首先把orog.dat的资料转成二进制在fortran中输入以下代码得到orog.grd
programex_04
integerii,jj,i,j
parameter(ii=37,jj=17)
realvar(ii,jj)
open(1,file='c:
\OROG.dat')
read(1,3000)((var(i,j),i=1,ii),j=1,jj)
open(2,file='c:
\OROG.grd',form='binary')
write
(2)((var(i,j),i=1,ii),j=1,jj)
3000format(37f8.2)
end配orog.ctl:
dsete:
\shiyan4\orog.grd
undef-9.99E+33
titleNCEP/NCARREANALYSISPROJECT
xdef37linear60.0002.500
ydef17linear0.0002.500
zdef1levels850
tdef48linearJAN19821mo
vars1
orog00(0或99均可)
endvars
_
之后运行以下命令:
e:
\shiyan4\shiyan4.gs
'opene:
\shiyan4\orog.ctl'
'enableprinte:
\shiyan4\shiyan4.gmf'
'setgxoutshaded'
'setcmin3000'
'setcmax5000'
'dorog'
'setgxoutcontour'
'dorog'
'print'
'disableprint'
实习五
画出35N的地形剖面,并画出3000米线。
本题为两题:
画出35N的地形剖面,并画出3000米线。
利用上题得到的orog.ctl及orog.grd
画出3000米线:
在grads中键入以下命令:
opene:
\orog.ctl
setclevs3000
dorog
得到shiyan5_1.gmf
35N的地形剖面:
在grads中键入以下命令:
opene:
\orog.ctl
setlat35
dorog
得到shiyan5_2.gmf
gs文件:
e:
\shiyan5\shiyan5_1.gs
'opene:
\orog.ctl'
'enableprinte:
\shiyan\shiyan5_1.gmf'
'setclevs3000'
'dorog'
'print'
'disableprint'
得到shiyan5_1.gmf
e:
\shiyan5\shiyan5_2.gs
'opene:
\orog.ctl'
'setlat35'
'dorog'
'print'
'disableprint'
得到shiyan5_2.gmf
实习六
从原始资料中写出20-30N,80-10E范围内资料,并配以数据描述文件,简单绘图验证正确与否。
关于实验6,在grads19中键入以下命令:
reinit
openc:
\data.ctl
setfwrited:
\shiyan6\shiyan6.grd
setgxoutfwrite
i=1
while(i<=48)
setti
setlat2030
setlon80100
j=1
while(j<=2)
setzj
du
dv
j=j+1
endwhile
setz1
dh
dtsfc
i=i+1
endwhile
disablefwrite
通过以上过程可以得到一个从原始资料中写出的20-30N,80-10E范围内资料,然后再配以数据描述文件shiyan6.ctl,
然后在grads19中绘图验证是否正确。
dsetd:
\shiyan6\shiyan6.grd
undef-9.99E+33
titleNCEP/NCARREANALYSISPROJECT
xdef9linear80.0002.500
ydef5linear20.0002.500
zdef2levels850200
tdef48linearJAN19821mo
vars4
U299uwind(m/s)
V299vwind(m/s)
H199H500
TSFC199TSFCDATA
endvars
_
gs文件
'openc:
\data.ctl'
'setfwrited:
\shiyan6\shiyan.grd'
'setgxoutfwrite'
i=1
while(i<=48)
'sett'i''
'setlat2030'
'setlon80100'
j=1
while(j<=2)
'setz'j''
'du'
'dv'
j=j+1
endwhile
'setz1'
'dh'
'dtsfc'
i=i+1
endwhile
'disablefwrite'
shiyan6.gmf为使用shiyan6.grd及shiyan6.ctl所画图
shiyan6_1.gmf为使用data.ctl及data.grd画图之后与原图叠加而成。
实习七
画出u850的沿100E的时间-纬度剖面。
'reinit'
'opene:
\shiyan7\data.ctl'
'enableprinte:
\shiyan7.gmf'
'setlev850'
'setlon100'
'du'
'print'
'disableprint'
实习八
循环显示所有层次、所有时次的v场。
'reinit'
'opene:
\shiyan8\data.ctl'
'enableprinte:
\shiyan8\shiyan8.gmf'
i=1
while(i<=2)
'setz'i''
j=1
while(j<=48)
'sett'j''
'dv'
'print'
'c'
j=j+1
endwhile
i=i+1
endwhile
'disableprint'
求出500hpa高度场的距平场,并画出82年12月和83年7月的距平场,要求<0的值标出阴影。
'reinit'
'openc:
\data.ctl'
'enableprintc:
\shiyan9.gmf'
'setparea11018'
'setgradsoff'
'setgridoff'
'setxlopts150.16'
'setylopts150.16'
'setmap1110'
'sett112'
'have=ave(h,t=0,t=48,12)'
'modifyhaveseasonal'
'sett148'
'hano=h-have'
'settimedec1982'
'setgxoutshaded'
'setcmax0'
'dhano'
'setgxoutcontour'
'dhano'
'setclevs0'
'setcthick10'
'dhano'
'drawtitle500hpaanomalousheightfieldsforDec1982'
'drawxlabLON'
'drawylabLAT'
'print'
'pulldummy'
'c'
'setgradsoff'
'settimejul1983'
'setgxoutshaded'
'setcmax0'
'dhano'
'setgxoutcontour'
'dhano'
'setclevs0'
'setcthick10'
'dhano'
'drawtitle500hpaheightanomalousheightfieldsforJul1983'
'drawxlabLON'
'drawylabLAT'
'print'
'disableprint'
循环输出五天高度场图,并将所得图形存于指定文件中。
'reinit'
'openc:
\data.ctl'
'enableprintc:
\shiya8.gmf'
i=1
while(i<=5)
'sett'i''
'dh'
'print'
'c'
i=i+1
endwhile
'disableprint'
显示第一时次高度场图,并在低压中心标注字符D:
'reinit'
'openc:
\data.ctl'
'setlon60150'
'setlat040'
'setlev850'
'sett1'
'dh'
'qw2xy7020'
'x1=subwrd(result,3)'
'y1=subwrd(result,6)'
'drawstring'x1''y1'D'
'printimc:
\shi.pngwhite'
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- Grads 实习 报告