GrADS绘图学习技巧与实例Word文档格式.docx

上传人:b****6 文档编号:16544348 上传时间:2022-11-24 格式:DOCX 页数:11 大小:46.32KB
下载 相关 举报
GrADS绘图学习技巧与实例Word文档格式.docx_第1页
第1页 / 共11页
GrADS绘图学习技巧与实例Word文档格式.docx_第2页
第2页 / 共11页
GrADS绘图学习技巧与实例Word文档格式.docx_第3页
第3页 / 共11页
GrADS绘图学习技巧与实例Word文档格式.docx_第4页
第4页 / 共11页
GrADS绘图学习技巧与实例Word文档格式.docx_第5页
第5页 / 共11页
点击查看更多>>
下载资源
资源描述

GrADS绘图学习技巧与实例Word文档格式.docx

《GrADS绘图学习技巧与实例Word文档格式.docx》由会员分享,可在线阅读,更多相关《GrADS绘图学习技巧与实例Word文档格式.docx(11页珍藏版)》请在冰豆网上搜索。

GrADS绘图学习技巧与实例Word文档格式.docx

doiz=1,nz

write(16,*)((sst(i,j,iz,it),i=1,nx),j=1,ny)!

输出时是txt文件可直接看的数据,有格式输出,有*

close(15)

close(16)

end

写程序时:

注意格点数要与数据对应,如:

上程序对应的数据是经度90~200,纬度-20~60,时间:

1971.01~2000.12共360个月的海面温度数据,数据格点精度2*2,nx=(200-90)/2+1,ny=(60-(-20))/2+1,nt=360,nz=1,大气的数据要根据数据的层次确定几层。

4、grd、ctl、、gs、nc详述

grd文件:

grd数据不可直接看,为二进制无格式数据,简单的说只有1和0,而且数据间没有间隔,grads识别grd是根据ctl进行划分的,根据ctl中的经度、纬度、层次、时间,精度进行数据分块。

ctl实例:

 

undef-9.99E+33

titleseasurfacetempture

xdef56linear902

ydef41linear-202

tdef360linearjan19711mo

zdef1levels0

vars1

sst099surfaceseatempture

endvars

上例数据的数据顺序是(以下是数据对应的经纬度)

纬度经度(t=1)

-2090~200的纬度20S的从90E~200的56个数据

-1890~200的纬度18S的从90E~200的56个数据

.

6090~200的纬度60N的从90E~200的56个数据

以上为一层的数据,接下来是t=2,t=3……t=360的数据,每个时间点的每一层是如上格式,

编程时读取和写如的数据循环顺序依次是:

时间、层次、纬度、经度,读者参照3中的fortran程序加以理解。

ctl文件:

具体其他指导书上都有,我这里强调的是sst后面的0表示一层,如果是两层以上则是2,3……,1层是固定用法,sst后面的99是默认设置;

undef-9.99E+33此处的数值决定了软件将文件中的那些值认定为不绘制的数据,所以这个值一定要与数据对应。

gs文件,批命令文件,与ctl一样是用记事本编写,另存为.gs文件,文件都是命令,方便大段的命令编写、修改,很常用,尤其时绘制的图要求比较多时必须用,免得在命令窗口重复输入命令浪费时间,如下例子:

'

reinit'

openc:

\data\uv.ctl'

sett7'

setlev850'

setgridoff'

setvpage08.503.6'

setparea0.38.50.33.5'

setgxoutvector'

setgradsoff'

du;

v'

setvpage08.53.67.2'

setgxoutbarb'

setvpage08.57.211'

setgxoutgrid'

printimc:

\images\gxout3uv850.pngwhite'

;

Gs文件以‘;

’结尾,分号后面不能有空格,除了循环命令外都需要单引号将命令引起来。

nc文件:

此类数据不需要ctl可直接用sdfopen命令直接打开,往往需要知道数据文件中的各个纬度特征,可以用:

qctlinfo命令查询该文件的内置ctl,这样一切都会很清楚,尤其是数据精度:

截图如下(下例即2*2的网格经度):

以上为基础知识介绍,以下为技巧命令

1、绘图时,图的时间下标可用setgradsoff命令关掉,网格用setgridoff命令关掉,需注意的是,网格关一次就一直有效,而下标则是每次绘完图就自动开启,所以建议读者在每次的绘图命令之前加setgradsoff。

2、

3、reinit命令是让窗口恢复到刚打开时的界面,会恢复所有的set,同时关掉所有的打开文件,为为防止前面打开文件的干扰,建议读者在每个gs文件的第一条就加上这条命令(参考gs描述的例子)。

4、

5、数据维度设定:

setlon90setx1

setlat80sety20

setlev1000setz1

sett112settimejan1970dec1970

上面两种设定等价,左边是实际维度设定法,右边是给点设定法,读者需要确定具体的格点数。

需要注意的是,在设定全球尺度时,经度0和360是同一个格点,所以set0360会出错,这时设定格点的方法比较好:

setx1180。

6、vpage和parea的区别:

vapge是对整个绘图区分块,需要几张图就划分成几块,给英寸时不需要给标注、标题预留空间,如:

(11*8.5)绘制第一张图

绘制第二张图

parea是描述的绘图时图形的四根边线的大小,而且是虚页的尺寸

如:

画一张图setparea1.010.20.87.8四个值的范围取决于vapge的长度0<

1.0<

10.2<

11,如果是上例中的两张图,那么:

setparea0.54.80.87.9,

0<

0.5<

4.8<

5.5,数值范围取决于水平、垂直的长度,与起点无关

如setvpage0113.57

y上满足0<

0.3<

3.2<

(7-3.5)即可,实际y长度决定范围,与起点无关。

5、'

setannot58'

setxlopts350.18'

setylopts350.18'

上面这两条命令是设定的x、y轴下标数字的颜色、粗细、字号

是设定坐标轴线、标题的颜色粗细,会重置xlopts的部分设定,希望读者注意,命令间的互相干扰

6、cbarcbarn命令

cabr

cbarn

这里只讲解cbarn命令,

cbarnsfvertxmidymid

其中sf为标尺,1为全尺寸0.5为半尺寸;

vert为放置位置,0为水平,1为垂直;

xmind、ymid为色标的中心位置

cbarn0.502.51.5色标半尺度长,水平放置,色标的中心英寸坐标(2.5,1.5)。

如果只是cabrn或cbar命令,会按照默认的全长,水平或数值取决于图的哪边空位大绘制。

强调一点,加色标和加标题都是在绘制出图形后才能加,因为色标是根据阴影图确定对应色值,标题根据图形大小确定标题位置。

7、cmin、cmax是命令是用于绘制大于或小于某数值的线或区域图形,在每次绘图之后会重设,所以如果多次使用一定要每次d之前加上,这点与setgradsoff相似。

8、求12个月每个月的海温距平值

sett112'

asst=ave(sst,t+1404,t=1764,12)'

modifyasstseasonal'

settimejan1971'

dasst'

sett14051764'

nasst=sst-asst'

settimeJAN1998'

dnasst'

sett112是设定asst变量有12个时间序列,每个时间格点放一个平面的平均值,

asst=ave(sst,t+1404,t=1764,12)定义变量asst放每个月的平均值,随着t从1变化到12,一次求的每个月的平均值,起始时间是t=1405,终止时间是1764,

t=1时,相当于1+13+25+37……,即每年的1月份的值求平均(这里t=1+1404=1405是1971年1月,因此是求1971~2000年每年1月份的平均值),

t=2,3.4,,……12与1同理。

如此将12个月的平均值都放在了asst里。

Modifyasstseasonal本来12个月的平均值知识放在了1~12的时间序列里,(这里调用的文件数据开始时间是1854年1月),所以asst的值只是在设定1~12以内才能画出,假了这条命令,可以将asst的时间序列扩展到所有时间里,使得每一年的每个月对应都是该月30年的平均值,方便后面求距平。

需要注意的,如果sett14,那么这条命令的作用是每年的asst的1~4月值是一样的,是该月的平均值。

由于grads本身软件有一定的问题,当你不是设定一段时间而是一个时间点如:

sett1,步、不用modify命令,所有的时间序列都会有该值

这两句是求30年(197101~200012)每个月的海温距平值,共360各月的距平值。

这个不难理解,不做解释。

以下为实例:

1、利用所提供的数据文件,绘制出2003年7月60-150E、0-40N区域内700hPa流线图,且地形高度场超过2000米以上用黑色阴影显示,并且给出相应标题(请包含姓名拼音与学号),最终将图形保存。

所有命令编写于.gs文件中。

\data\dxgd.ctl'

setmap315'

setparea0.710.40.67.8'

sett1'

setlon60150'

setlat040'

setgxoutshaded'

setrbcols1111111'

setcmin2000'

dh'

setgxoutstream'

settimejul2003'

setlev700'

du.2;

v.2'

drawtitleDingXiaoli20081331001'

\images\uv200307850.pngwhite'

2、利用所提供的数据文件,画出2002年1-12月120E、0-40N200hPa纬向风的纬度-时间剖面图。

图型要求:

(1)纬向风为西风时填色,东风绘制等值线,给出色标,0值线加粗;

(2)X轴标注为“time”,Y轴标注为“lat”,标题标注为“u100-120E”。

(3)最终将图形保存为gmf格式。

setxlopts350.16'

setylopts350.16'

setparea110.41.27.9'

setlon120'

setlev200'

enableprintc:

\images\uv200.gmf'

setxyrevon'

setcmin0'

du'

cbarn105.50.3'

setgxoutcontour'

setcmax0'

setclevs0'

setccolor2'

setcthick10'

drawxlabtime'

drawylablat'

drawtitleu100-120E'

print'

disableprint'

3、十二个月的nc数据整合到一个文件中(fortran)这个程序可用于整合数据

parameter(nx=360,ny=181,nz=26,nt=12)

dimensiontemp(nx,ny,nz,nt)

open(1,file='

argo_200901.grd'

open(2,file='

argo_200902.grd'

open(3,file='

argo_200903.grd'

open(4,file='

argo_200904.grd'

open(5,file='

argo_200905.grd'

open(6,file='

argo_200906.grd'

open(7,file='

argo_200907.grd'

open(8,file='

argo_200908.grd'

open(9,file='

argo_200909.grd'

open(10,file='

argo_200910.grd'

open(11,file='

argo_200911.grd'

open(12,file='

argo_200912.grd'

open(37,file='

argo_2009.grd'

doiz=1,nz

read

(1)((temp(i,j,iz,1),i=1,nx),j=1,ny)

read

(2)((temp(i,j,iz,2),i=1,nx),j=1,ny)

read(3)((temp(i,j,iz,3),i=1,nx),j=1,ny)

read(4)((temp(i,j,iz,4),i=1,nx),j=1,ny)

read(5)((temp(i,j,iz,5),i=1,nx),j=1,ny)

read(6)((temp(i,j,iz,6),i=1,nx),j=1,ny)

read(7)((temp(i,j,iz,7),i=1,nx),j=1,ny)

read(8)((temp(i,j,iz,8),i=1,nx),j=1,ny)

read(9)((temp(i,j,iz,9),i=1,nx),j=1,ny)

read(10)((temp(i,j,iz,10),i=1,nx),j=1,ny)

read(11)((temp(i,j,iz,11),i=1,nx),j=1,ny)

read(12)((temp(i,j,iz,12),i=1,nx),j=1,ny)

write(37)((temp(i,j,iz,it),i=1,nx),j=1,ny)

close

(1)

close

(2)

close(3)

close(4)

close(5)

close(6)

close(7)

close(37)

4、竖着绘制三张不同输出形式的uv风场图(parea可保证图形达到尽可能的大)

5、用循环绘制矩形块,是两个起点逆时针绘制的命令,这个不需要数据文件。

j=1

while(j<

=10)

j=j+1

setline'

j'

26'

drawrecf'

k1'

0.2'

m1'

0.7'

k2'

7.8'

m2'

8.3'

endwhile

drawrecf10'

10.5'

drawrecf0.4'

0.9'

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 高中教育 > 语文

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1