爱气象,爱气象家园! 

气象家园

 找回密码
 立即注册

QQ登录

只需一步,快速开始

新浪微博登陆

只需一步, 快速开始

搜索
查看: 75047|回复: 200

【转】基于NC资料的GrADS画图

  [复制链接]

新浪微博达人勋

0
早起挑战累计收入
发表于 2011-7-29 16:19:06 | 显示全部楼层 |阅读模式

登录后查看更多精彩内容~

您需要 登录 才可以下载或查看,没有帐号?立即注册 新浪微博登陆

x
今天发现了一篇不错的帖子,大概看了一下就决定转过来,大家看看咋样
希望朋友们能够写出自己的心得来分享,同时也是学习和总结的过程
===============================
关于本次GRADS画图(补充流程图和.gs示例,基于grads1.9版本)
以本次作业为例,从初学者角度总结了一下grads的绘制.nc格式数据的画图流程,希望对grads完全不了解的同学有点帮助~~老师的建议附在最后,对grads比较熟悉的同学请给予建议和批评,大家一起讨论最好啦~~
GRADS可以用2.0版本的,双击那个乌龟就行了,就跟装一般软件差不多,各个版本之间也差别也不太大,只要版本别太低就好~男生可以到黄喆堃那儿拷,女生可以到张颖那儿拷~~本流程的制作使用的是1.9版本,可能部分输出信息有轻微差别,但不影响绘图结果。ps:win7系统最好用grads1.9版的吧(mofangbao注:1.92.0版在资料站均有下载)~~
作业要求:
作图内容是(选作两个,并简单文字分析):
            全球海平面气压(1月、7月)气候平均(1971-2000年平均)
            500hPa 位势高度场(1月、7月)气候平均
            850hPa 风矢量场(u;v) (1月、7月)气候平均
            1000hPa温度场    (1月、7月)气候平均
            200hPa 纬向风场u  (1月、7月)气候平均
            SST (1月、7月)气候平均
            OLR (1月、7月)气候平均
            CMAP降水(1月、7月)气候平均
NCEP再分析资料下载地址:ftp://ftp.cdc.noaa.gov/Datasets   或   http://www.esrl.noaa.gov/psd/data/gridded/data.ncep.reanalysis.derived.html
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/下

总结的画图流程:
     作业需要画的图是从1971年至2000年这30年中任取两个量(可以是气压,可以是海平面温度,可以是olr等等,这些都是变量名,变量名对应的数据文件下载地址:ftp://ftp.cdc.noaa.gov/Datasets   或   http://www.esrl.noaa.gov/psd/data/gridded/data.ncep.reanalysis.derived.html
)的一月份和七月份的平均值的等值线图。所以最后应该画出四张图。

下载的数据如果没有注明是从1971年开始,那就可能是从更早年份开始,数据需要自己做处理,不能直接来画图。

准备工作:
(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)

1.jpg

q file  (查询资料信息)
2.jpg

可以看到,x360格,y180格,z一层,时间t有12个时次(即12个月),变量是sst
q dims  查看当前各维度变量值
3.jpg

set  t 1   取第一个时次,即表示画1月份的图

绘制填色图
set gxout shaded  输出形式为填色图
set cint 5   间隔值为5
d sst    绘图
cbarn   绘色标
4.jpg

绘制窗口的结果:
5.jpg

c   清除图像

绘制等值线图(等值线没色标)
set gxout contour   输出形式为等值线图
set cint 5   间隔值为5
d sst   绘图
6.jpg

绘制窗口的结果:
7.jpg

printim  sst01.png white    sst01为所保存的图片名,png为图片格式(可以改为gif/jpg之类),sst01之前不添加路径的话,默认存在grads文件中的data\目录下,white 表示背景为白色。指定位置输出则写为:printim   e:\sst07.png
c 清除图片

(II)olr.mon.mean.nc
reinit    (清空缓存,关闭之前打开的资料)

8.jpg

打开方式和查询资料信息类似(I)
9.jpg

注意到,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
10.jpg

绘制窗口的结果:
11.jpg

q dims           查询当前各维度信息
(手工计算一下当前的t+359,此情况时是361)
set  t 361
q dims           查询当前各维度信息,这样可以看看时间是否加对了
12.jpg

可以看出,刚好加到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文件)

12.5.jpg

终端输入部分:
13.jpg

绘制窗口的输出:
14.jpg

更多的入门和进阶练习:
参考【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"
=========================

这个同学写的真认真啊

评分

参与人数 5威望 +2 金钱 +25 贡献 +6 收起 理由
qiuba + 2 很给力!
苗儿 + 2 很给力!
先驱vx + 1 这个同学写的真认真啊
godenflame135 + 10 + 2 很好很强大!
传说中的谁 + 2 + 10 + 4 很详细!

查看全部评分

密码修改失败请联系微信:mofangbao

新浪微博达人勋

0
早起挑战累计收入
 楼主| 发表于 2011-7-29 16:37:46 | 显示全部楼层
绝对是个很好的入门贴了
密码修改失败请联系微信:mofangbao

新浪微博达人勋

发表于 2011-7-29 18:32:18 | 显示全部楼层
刚学GS有这么好的例子,辛苦了
密码修改失败请联系微信:mofangbao

新浪微博达人勋

发表于 2011-7-29 22:53:43 | 显示全部楼层
相当的给力啊
密码修改失败请联系微信:mofangbao

新浪微博达人勋

发表于 2011-8-1 20:29:36 | 显示全部楼层
{:e311_b:}{:e311_b:}{:e311_b:}{:e311_b:}
密码修改失败请联系微信:mofangbao

新浪微博达人勋

发表于 2011-9-2 00:06:24 | 显示全部楼层
好贴            
密码修改失败请联系微信:mofangbao

新浪微博达人勋

发表于 2011-9-10 10:57:19 | 显示全部楼层
顶好贴啊
密码修改失败请联系微信:mofangbao

新浪微博达人勋

发表于 2011-9-16 17:01:25 | 显示全部楼层
好贴啊,必须顶!
密码修改失败请联系微信:mofangbao

新浪微博达人勋

发表于 2011-10-24 16:37:12 | 显示全部楼层
绝对的入门好贴!!!
密码修改失败请联系微信:mofangbao

新浪微博达人勋

发表于 2011-10-24 19:47:41 | 显示全部楼层
都是很基础的知识,感谢一下!!!
密码修改失败请联系微信:mofangbao
您需要登录后才可以回帖 登录 | 立即注册 新浪微博登陆

本版积分规则

Copyright ©2011-2014 bbs.06climate.com All Rights Reserved.  Powered by Discuz! (京ICP-10201084)

本站信息均由会员发表,不代表气象家园立场,禁止在本站发表与国家法律相抵触言论

快速回复 返回顶部 返回列表