GrADS绘图学习技巧与实例
更新时间:2024-06-28 10:05:01 阅读量: 综合文库 文档下载
- grads绘图实用手册推荐度:
- 相关推荐
Nanjing university of information science& technology 阿木
以下技巧总结都是笔者从学习实践过程中总结出来的,基本的问题。不求全面,希望对读者学习有用,如果有问题,敬请留言指正,以促进交流学习!
1、软件综述:grads软件是一款绘图软件除了绘制图形,还可以提取数据,主要应用是在大气科学中,当然只要是数据处理成grads能够读取的数据文件就可以进行相关绘图。软件版本问题,软件本身不是很大,我接触到1.8、1.9、2.0版本的,1.8版本的安装很多情况还要修改环境变量、1.9版本的不识别‘sdfopen’命令,最稳定的版本是2.0版本,所以笔者推荐学习者安装2.0版本,选择默认安装路径就可以。
2、文件类型简述 :grads处理的是网格数据,可以处理的数据类型有:grd、grib、nc(海洋常用的数据),cdf(雷达卫星数据),其中nc、cdf数据都是自带描述文件,不需要ctl,grib数据要通过命令生成ctl、index数据才可以调用,常用的是grd数据,需要ctl。
3、数据文件转换:grads软件识别的数据是二进制无格式数据,文件类型是‘binary’,写入和生成时是不需要格式的如 read(20) sst(i,j,iz,it),20为文件号,通常是十进制数据与grd数据间转换,这里给一个grd转换成txt数据的fortran程序:
parameter(nx=56,ny=41,nz=1,nt=360) dimension sst(nx,ny,nz,nt) real sst
open(15,file='sst.grd',form='binary') !固定的用form=‘binary’就是二进制数据 open(16,file='sst.txt') !新建txt文件 do it=1,nt do iz=1,nz
read(15) ((sst(i,j,iz,it),i=1,nx),j=1,ny) !read后只有文件号,数据是无格式的 enddo enddo do it=1,nt
do iz=1,nz
write(16,*) ((sst(i,j,iz,it),i=1,nx),j=1,ny) !输出时是txt文件可直接看的数据,
有格式输出,有 *
enddo enddo
1
Nanjing university of information science& technology 阿木
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实例:
dset C:\\data\\sst.grd undef -9.99E+33
title sea surface tempture xdef 56 linear 90 2 ydef 41 linear -20 2
tdef 360 linear jan1971 1mo zdef 1 levels 0 vars 1
sst 0 99 surface sea tempture endvars
上例数据的数据顺序是(以下是数据对应的经纬度) 纬度 经度(t=1)
-20 90~200的 纬度20S的从90E~200的56个数据 -18 90~200的 纬度18S的从90E~200的56个数据 . . . 60 90~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 此处的数值决定了软件将文件中的那些值认定为不绘制的数据,所以这个值一定要与数据对应。
2
Nanjing university of information science& technology 阿木
gs 文件,批命令文件,与ctl一样是用记事本编写,另存为.gs文件,文件都是命令,方便大段的命令编写、修改,很常用,尤其时绘制的图要求比较多时必须用,免得在命令窗口重复输入命令浪费时间,如下例子: 'reinit'
'open c:\\data\%uv.ctl' 'set t 7' 'set lev 850' 'set grid off'
'set vpage 0 8.5 0 3.6' 'set parea 0.3 8.5 0.3 3.5' 'set gxout vector' 'set grads off' 'd u;v'
'set vpage 0 8.5 3.6 7.2' 'set grads off' 'set gxout barb' 'd u;v'
'set vpage 0 8.5 7.2 11' 'set grads off' 'set gxout grid' 'd u;v'
'printim c:\\images\\gxout3uv850.png white' ;
Gs文件以 ‘;’结尾,分号后面不能有空格,除了循环命令外都需要 单引号 将命令引起来。
nc文件:此类数据不需要ctl可直接用sdfopen命令直接打开,往往需要知道数据文件中的各个纬度特征,可以用:q ctlinfo 命令查询该文件的内置ctl,这样一切都会很清楚,尤其是数据精度:截图如下(下例即2*2的网格经度):
3
Nanjing university of information science& technology 阿木
以上为基础知识介绍,以下为技巧命令
1、绘图时,图的时间下标可用 set grads off 命令关掉,网格用 set grid off 命令关掉,需注意的是,网格关一次就一直有效,而下标则是每次绘完图就自动开启,所以建议读者在每次的 绘图命令之前加set grads off 。 2、
3、reinit命令是让窗口恢复到刚打开时的界面,会恢复所有的set,同时关掉所有的打开文件,为为防止前面打开文件的干扰,建议读者在每个gs文件的第一条就加上这条命令(参考gs描述的例子)。 4、
5、数据维度设定:
set lon 90 set x 1 set lat 80 set y 20 set lev 1000 set z 1
set t 1 12 set time jan1970 dec1970
上面两种设定等价,左边是实际维度设定法,右边是给点设定法,读者需要确定具体的格点数。需要注意的是,在设定全球尺度时,经度0和360是同一个格点,所以 set 0 360会出错,这时设定格点的方法比较好:set x 1 180。
6、 vpage和parea的区别:
vapge是对整个绘图区分块,需要几张图就划分成几块,给英寸时不需要给标注、标题预留空间,如:
要横着绘制两张图 那么就是set vpage 0 5.5 0 8.5 (11*8.5) 绘制第一张图
4
Nanjing university of information science& technology 阿木
set vpage 5.5 11 0 8.5 绘制第二张图
parea 是描述的绘图时图形的四根边线的大小,而且是虚页的尺寸
如:画一张图 set parea 1.0 10.2 0.8 7.8 四个值的范围 取决于vapge的长度0<1.0<10.2<11,如果是上例中的两张图,那么:set parea 0.5 4.8 0.8 7.9, 0<0.5<4.8<5.5 ,数值范围取决于水平、垂直的长度,与起点无关 如 set vpage 0 11 3.5 7 set parea 0.8 10 0.3 3.2
y上满足0<0.3<3.2<(7-3.5) 即可,实际y长度决定范围,与起点无关。
5、'set annot 5 8'
'set xlopts 3 5 0.18' 'set ylopts 3 5 0.18'
上面这两条命令是设定的x、y轴下标数字的颜色、粗细、字号
'set annot 5 8'是设定坐标轴线、标题的颜色 粗细,会重置xlopts的部分设定,希望读者注意,命令间的互相干扰
6、cbar cbarn命令 cabr
cbarn
这里只讲解cbarn 命令,
cbarn sf vert xmid ymid
其中sf 为标尺,1为全尺寸0.5为半尺寸;vert为放置位置,0为水平,1为垂直;xmind 、ymid为色标的中心位置
如:cbarn 0.5 0 2.5 1.5 色标 半尺度长,水平放置,色标的中心英寸坐标(2.5,1.5)。
如果只是cabrn或cbar命令,会按照默认的全长,水平或数值取决于图的哪边空位大绘制。
强调一点,加色标和加标题都是在绘制出图形后才能加,因为色标是根据阴影图确定对应色值,标题根据图形大小确定标题位置。
7、cmin、cmax是命令是用于绘制大于或小于某数值的线或区域图形,在每次绘图之后会重设,所以如果多次使用一定要每次d之前加上,这点与set grads off相似。
8、求12个月每个月的海温距平值 'set t 1 12'
5
Nanjing university of information science& technology 阿木
'draw recf 'k1' 0.2 'm1' 0.7' 'draw recf 'k2' 7.8 'm2' 8.3' endwhile
k1=-0.75 m1=-0.25 j=1
while(j<=10) j=j+1
k1=k1+0.95 m1=m1+0.95 k2=8.0-k1 m2=9.0-m1 'set line 'j' 2 6'
'draw recf 10 'k1' 10.5 'm1'' 'draw recf 0.4 'k2' 0.9 'm2'' endwhile ;
11
正在阅读:
GrADS绘图学习技巧与实例06-28
现浇梁钢结构支架设计和结构计算01-12
推荐下载 在市体改委组成人员会议上的讲话-最新(2)10-05
企业退休职工养老金制度的改革模型12-23
WDM OTN试题库01-22
退货流程管理办法06-12
塑料-硬度的测试-洛氏硬度计法05-17
四川省内江、广安市2012届高三第二次模拟联考物理试题01-29
探索植物生长的奥秘综合实践活动04-24
高考英语专题复习 专题四 形容词和副词10-05
- 清真菜谱
- 我国国民经济和社会发展十二五规划纲要(全文)
- 高三物理机械振动和机械波复习2
- 浙江省公路山岭隧道机械化装备应用指导手册 doc - 图文
- 2018届高三数学文科二轮复习:专题检测(九) 导数的简单应用
- 2015年上海市公务员录用考试《行政职业能力测验》试卷(B类)
- 七年级道德与法制下册
- 大班户外游戏教案
- 病虫害预警 - 图文
- 某养鱼场为了提高经营管理水平
- 汉中市勉县尧柏余热汽机规程 10
- 烹饪试卷
- 事业单位考试公共基础知识专项分类题库训练
- 语文:第2课 走一步,再走一步 课堂导学案(人教版 七上)
- 天汉使用手册
- 人教版小学三年级数学下册教学计划
- 房地产销售管理完全操作手册122页
- 2009年评审通过具有中学高级教师专业技术资格人员名单...
- 《15秋公共关系学》作业1
- 2017最新版监理公司三标一体管理手册
- 绘图
- 实例
- 技巧
- 学习
- GrADS
- 积极占领引领、营造舆论强势
- 关于拖欠农民工工资法律问题初探
- 新视野大学英语第二版第四册读写答案
- 指定指定委托人证明
- 小组合作学习有效性的实施
- 2014秋小学英语五年级期中测试卷
- 我是如何超越对手得第一名迎海公考超越战略
- dou载:英语语法系列之现在分词
- 物理化学习题解答(中药)
- 小学六年级下册综合实践活动全部教案
- 五年级阅读练习(含答案)
- C - primer - plus(第五版)课后编程练习答案(完整)
- 圆圆圆教案
- 检测技术复习题
- 东南大学出国留学申请经验
- 病理技师试题及答案
- 住院病历书写质量评估标准
- 西南政法大学2006届优秀研究生毕业论文名单 - 图文
- 试题题库-—2016年行政执法考试试卷及参考答案精华版
- 00067财务管理学2015年4月真题及答案