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