以本次作业为例,从初学者角度总结了一下grads的绘制.nc格式数据的画图流程,希望对grads完全不了解的同学有点帮助~~老师的建议附在最后,对grads比较熟悉的同学请给予建议和批评,大家一起讨论最好啦~~
GRADS可以用2.0版本的,双击那个乌龟就行了,就跟装一般软件差不多,各个版本之间也差别也不太大,只要版本别太低就好~男生可以到黄喆堃那儿拷,女生可以到张颖那儿拷~~本流程的制作使用的是1.9版本,可能部分输出信息有轻微差别,但不影响绘图结果。ps:win7系统最好用grads1.9版的吧(mofangbao注:
1.9和
2.0版在资料站均有下载)~~
作业要求:
FTP下:海平面气压资料在目录ncep.reanalysis.derived/surface下,多层资料在ncep.reanalysis.derived/pressure下
SST资料在noaa.oisst.v2/sst.ltm.1971-2000.nc OLR资料在interp_OLR/olr.mon.mean.nc 降水资料在cmap/enh/下
总结的画图流程:
准备工作:
(1)安装grads
(2)下载资料:部分资料(文件大小较小)的名称:olr.mon.mean.nc,sst.ltm.1971-2000.nc
说明:mon.mean.nc和mon.ltm.nc的区别:mon.mean里的数据是从某一年(未必是1971年)开始,1月至12月的月平均值逐年依次排列下来的数据;mon.ltm是从某一年开始到某一年结束这几十年的每年一月至12月分别平均后的12个平均值。也就是mon.ltm是由mon.mean处理得来的。
绘制部分:
(1)最好将下载的数据放在C:\或f:\这样比较直接的目录下,路径里最好不要有中文。
(2)打开grads,终端显示:“是否显示绘图框”的询问,输入y
(3)终端绘制
分别以sst.ltm.1971-2000.nc 和olr.mon.mean.nc为例:
(I)sst.ltm.1971-2000.nc
Sdfopen f:\sst.ltm.1971-2000.nc (打开f盘的sst.ltm.1971-2000.nc)
q file (查询资料信息)
可以看到,x360格,y180格,z一层,时间t有12个时次(即12个月),变量是sst
q dims 查看当前各维度变量值
set t 1 取第一个时次,即表示画1月份的图
绘制填色图
set gxout shaded 输出形式为填色图
set cint 5 间隔值为5
d sst 绘图
cbarn 绘色标
绘制窗口的结果:
c 清除图像
绘制等值线图(等值线没色标)
set gxout contour 输出形式为等值线图
set cint 5 间隔值为5
d sst 绘图
绘制窗口的结果:
printim sst01.png white sst01为所保存的图片名,png为图片格式(可以改为gif/jpg之类),sst01之前不添加路径的话,默认存在grads文件中的data\目录下,white 表示背景为白色。指定位置输出则写为:printim e:\sst07.png
c 清除图片
(II)olr.mon.mean.nc
reinit (清空缓存,关闭之前打开的资料)
打开方式和查询资料信息类似(I)
注意到,olr资料始于1974.6.01.00,因此,无法画出1971-2000三十年平均的,调整一下,就画1974-2003三十年平均。
以等值线图为例(填色图画法类似)
set time 00z01jul1974 时间次设为1974.7.01.00
d ave(olr,t+0,t+359,12) ave表示求平均,olr 为变量, t+0表示起始点为当前时次,即00z01jul1974;t+359表示终止时次为当前时次后推359个时次,即00z01jul2003;12表示每12个时次取一次数据;需要注意,这里函数ave实际是返回了一个变量。因此,还可以写为
define olrave= ave(olr,t+0,t+359,12)
d olrave
绘制窗口的结果:
q dims 查询当前各维度信息
(手工计算一下当前的t+359,此情况时是361)
set t 361
q dims 查询当前各维度信息,这样可以看看时间是否加对了
可以看出,刚好加到2004年6月,恰好1974-2003,30个七月的平均。
printim f:\olr07.png white
quite 退出grads
(4).gs文件批量绘制
可以发现,用终端得不断地输入,作为练习或尝试比较好,但是已经能完成绘制后,开始大量处理绘图时却很不方便。于是,可以把刚才在终端的输入整理好,写在文本文件里,然后把.txt,改呈.gs,直接用grads运行.gs文件。
例如sst七月平均的.gs文件可写为sst.gs,内容如下(汉字部分为注释,写.gs时不要写;这个.gs的示例是图片格式,还是请手动输入编写一下.gs文件)
终端输入部分:
绘制窗口的输出:
更多的入门和进阶练习:
参考【GrADS绘图软件使用手册】(网上可以下载到),将model.ctl中的链接model.dat的路径设订对,就可以在终端下运行open model.ctl即可,里面有较多的模版和绘图练习。
其他:
此流程主要适合.nc格式的数据,第一次作业的站点数据以及模式计算生成的格点的画法与此处的.nc格式数据不同,需要写.ctl文件,具体请查看grads的指导手册。
老师的建议:
1)我一般是双击grads后,直接就sdfopen *.nc 没有什么opengrads和输入yes(不知道你们用的什么版本),查看数据用“q file"
2)假设t=277是1971年1月, 那么set t 277等价于set time 00z01jan1971; d ave(pres,t=277,t=277+359,12)等价于d ave(pres,t+0,t+359,12)
3)图像输出我是用"enable print **.gmf" 回车 “print" 回车 "disable print" 即是用gmf格式,用GV方式打开(GRADS自带)
4)重新打开一个文件 一种是"reinit"表示重新初始化就是不保存前面第一个nc文件 还有种“c" ,那么后面一个变量名要变为'prec.2'
5)如果画图更美观,如“set grads off" "set xlopts ..." "set ylopts ..." "set clopts ..." 还可以尝试设成填色图“set gxout shaded"
=========================
这个同学写的真认真啊