GrADS绘图实习Word格式文档下载.docx
《GrADS绘图实习Word格式文档下载.docx》由会员分享,可在线阅读,更多相关《GrADS绘图实习Word格式文档下载.docx(27页珍藏版)》请在冰点文库上搜索。
分辨率:
2.5*2.5,格点数:
37*17
资料读取文件:
data.f90
2)给出所编写的Fortran程序:
parameter(nx=37,ny=17,nz=1,nt=48)
dimensionu1(nx,ny,nz,nt),v1(nx,ny,nz,nt),u2(nx,ny,nz,nt),v2(nx,ny,nz,nt),hgt(nx,ny,nz,nt)
open(1,file='
u200.dat'
)
open(2,file='
v200.dat'
open(3,file='
u850.dat'
open(4,file='
v850.dat'
open(11,file='
hgt500.dat'
open(12,file='
uv.grd'
form='
binary'
)
open(13,file='
hgt500.grd'
do100it=1,nt
do50iz=1,nz
read(1,*)((u1(i,j,iz,it),i=1,nx),j=1,ny)
read(3,*)((u2(i,j,iz,it),i=1,nx),j=1,ny)
50continue
do51iz=1,nz
read(2,*)((v1(i,j,iz,it),i=1,nx),j=1,ny)
read(4,*)((v2(i,j,iz,it),i=1,nx),j=1,ny)
51continue
do52iz=1,nz
read(11,*)((hgt(i,j,iz,it),i=1,nx),j=1,ny)
52continue
100continue
do200it=1,nt
do30iz=1,nz
write(12)((u2(i,j,iz,it),i=1,nx),j=1,ny)
write(12)((u1(i,j,iz,it),i=1,nx),j=1,ny)
30Continue
do31iz=1,nz
write(12)((v2(i,j,iz,it),i=1,nx),j=1,ny)
write(12)((v1(i,j,iz,it),i=1,nx),j=1,ny)
31continue
do55iz=1,nz
write(13)((hgt(i,j,iz,it),i=1,nx),j=1,ny)
55continue
200continue
CLOSE
(1)
CLOSE
(2)
CLOSE(3)
CLOSE(4)
CLOSE(11)
CLOSE(12)
CLOSE(13)
end
3)给出所编写的数据描述文件
uv.ctl:
dsetC:
\GrADS19\uv.grd
undef-9.99E+13
titletwolevelsairdata
xdef37linear60.02.5
ydef17linear0.02.5
zdef2levels850200
tdef48linearJAN20021mo
vars2
u299uwind(m/s)
v299vwind(m/s)
endvars
hgt.ctl
\GrADS19\hgt.grd
titletheattitudeof500hpa
zdef1levels500
vars1
h099attitude
文件*.GS
'
reinit'
openc:
\data\uv.ctl'
*ctl路径
setgridoff'
setgradsoff'
setlat040’
setlon60150'
settimejul2002'
setlev850'
setgxoutvector'
du;
v'
drawtitleAirdatain200201850'
printimc:
\images\uv8.pngwhite'
c'
setlev200'
drawtitleAirdatain200201200'
\images\uv2.pngwhite'
4)给出所绘制的图形
2002年1月850hpa高度的风场图
2002年7月850hpa高度的风场图
2002年7月200hpa高度的风场图:
实习二基本命令的上机使用(2小时)
1.实习资料:
现在“data”文件夹下有GrADS数据格式的二进制资料文件model.le.dat(一组模式输出的全球5天数值预报结果,包括了多个要素、多层,按经纬度网格存放的数据),以及对应的数据描述文件model.le.ctl。
2.实习要求:
利用所提供的数据文件,使用基本命令编辑gs文件绘制图形一维单线图,和两维平面图。
3.实习目的:
熟悉GrADS的工作环境及使用流程,掌握基本操作命令,练习编写和使用gs文件。
4.实习步骤:
4.1熟悉GrADS绘图软件操作界面——命令窗口和图形显示窗口。
利用所提供的数据文件model.le.dat及相应的数据描述文件model.le.ctl,在命令窗口输入基本绘图指令,在图形显示窗口观察相应图形
例如:
在文本窗口输入下列命令
open<
路径>
model.le.ctl
setlat40
setlon-1800
setlev500
sett1
dz
则在图形显示窗口出现如下图形
4.2练习编写和使用gs文件。
利用文本编辑器(如记事本,或者写字板)将所需要的基本命令编辑成gs文件,然后使用run命令运行该文件;
Model.le.ctl:
\data\model.le.ctl'
setlat40'
setlon-1800'
setlev500'
sett1'
dz'
\images\im40500.pngwhite'
;
4.3根据所学过的图形要素设置命令“set”,编辑gs文件绘制北半球200hPa纬向风一维单线图(经度固定于120º
E)和500hPa高度场平面图,并用“enableprint”命令将所画图形分别存放。
Gs:
enableprintc:
\images\model2.gmf'
setlon120'
setlat090'
setxyrevon'
du'
print'
reset'
setclip01126'
disableprint'
实习三set命令的使用练习(2小时)
现在“data”文件夹下有二进制资料文件uv.grd、hgt.grd以及对应的数据描述文件uv.ctl、hgt.ctl。
1)利用所提供的数据文件,绘制出第7时刻500hPa高度场图,要求设置等值线间隔单位为40位势米,颜色,标记方式,并且给出相应标题(请包含姓名拼音与学号),最终将图形保存。
所有命令编写于.gs文件中。
2)利用所提供的数据文件,绘制出第7时刻850hPa风场图,要求以三种方式显示风场,并将三幅图上下排列于同一图形窗口,并最终将图形保存。
熟练使用set命令的各类参数设置,掌握.gs文件的编写格式和运行,学会保存图形文件。
4.1在写字板或记事本程序中按要求编写*.gs文件,注意文件编写格式;
4.2启动GrADS绘图软件,运行*.gs文件;
4.3完成实习报告:
1)说明所用资料;
资料名称:
月平均风场(uv.grd);
月平均高度场(hgt.grdt)
uvh
2)给出所编写的*.gs文件;
第7时刻500hPa高度场图的gs文件hgt7.gs
\data\hgt.ctl'
setxlopts350.18'
setylopts350.18'
setparea110.20.87.5'
sett7'
hgt=h/10'
setcint4'
dhgt'
setannot58'
drawtitledingxiaoli20081331001'
\images\hgt7.pngwhite'
第7时刻850hPa风场图的gs文件gxout.gs:
3)给出所绘图形:
setvpage08.503.6'
setparea0.38.50.33.5'
setvpage08.53.67.2'
setgxoutbarb'
setvpage08.57.211'
setgxoutSTREAM'
\images\gxout3uv850.pngwhite'
第7时刻500hPa高度场图
第7时刻850hPa风场图(三种输出形式):
从上到下依次为:
grid、barb、vector
实习四各类参数设置综合练习(2小时)
现在“data”文件夹下有二进制资料文件uv.grd、dxgd.grd以及对应的数据描述文件uv.ctl、dxgd.ctl。
利用所提供的数据文件,绘制出2003年7月60-150E、0-40N区域内850hPa流线图,且地形高度场超过3000米以上用黑色阴影显示,并且给出相应标题(请包含姓名拼音与学号),最终将图形保存。
掌握阴影图形与等值线图形的叠加画图方法,同时练习基础绘图指令draw命令的使用。
4.1在写字板或记事本程序中按要求编写*.gs文件,注意文件编写格式
4.2启动GrADS绘图软件,运行*.gs文件
4.3完成实习报告
1、月平均风场(uv.grd);
2、高度场(dxgd.grd);
范围:
经向0~360;
纬向:
-90S~90N
一个层次地面层
2002.1共1个月
h
2.5*2.5
2)给出所编写的(uv073000.gs)文件
\data\dxgd.ctl'
setmap315'
setparea0.710.40.67.8'
setlat040'
setgxoutshaded'
setrbcols1111111'
setcmin3000'
dh'
setgxoutstream'
settimejul2003'
du.2;
v.2'
drawtitleDingXiaoli20081331001'
\images\uv200307850.pngwhite'
3)给出所绘图形
实习五各类参数设置综合练习(2小时)
现在“data”文件夹下有二进制资料文件uv.grd以及对应的数据描述文件uv.ctl。
利用所提供的数据文件,画出2002年1-12月120E、0-40N200hPa纬向风的纬度-时间剖面图。
图型要求:
(1)纬向风为西风时填色,东风绘制等值线,给出色标,0值线加粗;
(2)X轴标注为“time”,Y轴标注为“lat”,标题标注为“u100-120E”。
(3)最终将图形保存为gmf格式。
掌握特殊图形处理方法,掌握阴影图形画图方法,同时学会处理特别等值线与特殊字符的方法。
2)给出所编写的*.gs文件
setxlopts350.16'
setylopts350.16'
setparea110.41.27.9'
sett112'
\images\uv200.gmf'
setcmin0'
cbarn105.50.3'
setgxoutcontour'
setcmax0'
setclevs0'
setccolor2'
setcthick10'
drawxlabtime'
drawylablat'
drawtitleu100-120E'
实习六练习描述语言的使用(2小时)
现在“data”文件夹下有全球海表温度资料sst.mnmean.nc。
1)根据所提供的数据资料,利用fwrite命令将该范围内(纬度:
-20-60º
N,经度:
90º
E-200Eº
,时间:
1971年1月至2000年12月)海温场资料写入名为sst.grd的二进制数据文件中。
注意确定写出数据的格点数。
2)根据所得数据资料,利用Fortran程序将sst.grd文件转换为十进制数据文件sst.txt。
3)根据所得sst.grd数据文件,编写相应的数据描述文件sst.ctl,并绘制图形。
请将所绘图形与使用原来sst.mnmean.nc资料在相同维数环境下所画图形进行比较,看是否一致。
掌握GrADS软件数据提取方法,学会资料处理。
4.1在写字板或记事本程序中按要求1)编写*.gs文件,进行数据资料的提取;
sdfopenc:
\data\sst.mnmean.nc'
setfwritec:
\data\sst.grd'
setgxoutfwrite'
settimejan1971dec2000'
setlat-2060'
setlon90200'
dsst'
disablefwrite'
4.2根据实习要求2),利用Fortran程序进行二进制与十进制数据文件的转换,并查看sst.txt的数据信息;
Fortran程序:
parameter(nx=56,ny=41,nz=1,nt=360)
dimensionsst(nx,ny,nz,nt)
open(15,file='
sst.grd'
open(16,file='
sst.txt'
doit=1,nt
doiz=1,nz
read(15)((sst(i,j,iz,it),i=1,nx),j=1,ny)
enddo
enddo
doiz=1,nz
write(16,*)((sst(i,j,iz,it),i=1,nx),j=1,ny)
close(15)
close(16)
4.3在写字板或记事本程序中编写数据描述文件sst.ctl,并保存;
Ctl:
\data\sst.grd
undef-9.99E+33
titleseasurfacetempture
xdef56linear902
ydef41linear-202
tdef360linearjan19711mo
zdef1levels0
sst099surfaceseatempture
4.4利用sst.grd和sst.ctl文件画图,完成实习内容。
实习七变量与函数的设置(2小时)
1)根据所提供的数据资料,计算1-12月多年平均(1971年-2000年)海温场,并绘出1月海温多年平均图。
2)进一步计算1971年至2000年1月海温距平场,绘制1998年1月和1999年1月海温距平场,海温正距平区填色,画色标,并分别写标题Jan1998和Jan1999。
要求设置虚页,将两幅图并排放在一起。
,最终将图形保存。
掌握函数的使用,进一步练习阴影图形与等值线图形的叠加画图方法。
4.1在写字板或记事本程序中按要求编写*.gs文件;
4.2启动GrADS绘图软件,运行*.gs文件
1)说明所用资料:
sst.mnmean.nc文件:
名称:
全球海表月平均温度资料
时间:
1854年1月~2009年9月,各月数据共1869个时间序列
经度:
0~36纬度:
88S~88N
2*2
变量:
time——bnds1层sst1层(海表温度)
setmap115'
setxlint20'
setylint20'
setparea0.610.60.68.0'
asst=ave(sst,t+1404,t=1764,12)'
modifyasstseasonal'
dasst'
drawtitleJanuaryaveagesst'
printim