爱气象,爱气象家园! 

气象家园

 找回密码
 立即注册

QQ登录

只需一步,快速开始

新浪微博登陆

只需一步, 快速开始

搜索
查看: 29603|回复: 47

[分享资料] grads 转换nc文件

  [复制链接]

新浪微博达人勋

发表于 2011-8-9 17:41:11 | 显示全部楼层 |阅读模式

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

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

x
今天发现了一篇不错的帖子,内容介绍的很详细,转过来供刚接触Grads 的新手看下,希望论坛里面的高手多多总结,多多交流!

NCEP再分析资料下载地址:ftp://ftp.cdc.noaa.gov/Datasets   或   http://www.esrl.noaa.gov/psd/dat ... alysis.derived.html


(原文地址:http://blog.163.com/kkl1987@126/ ... romSearchEngine=yes

下面给出使用Grads读取nc格式文件的一个范例脚本文件(.gs文件):


    以位势高度场为例(红色字体为解释说明语句;蓝色字体为输入的命令,也就是gs文件的内容)



‘reinit’

‘sdfopen d:\xxxx\hgt.mon.mean.nc ‘  (打开需要的nc文件,注意路径)

   

‘set gxout fwrite’

‘set fwrite d:\xxxxxx\hgt.bin’     (指定要输出的二进制文件名和路径)



‘set lon 0 357.5’

‘set lat -90 90 ‘                  (设定写出区域范围,这是全球范围,第一句是必需的,如果是用默认,则会在x方向输出为145个点,要注意)





‘set lev 1000’                       (设定要输出的层次)

‘set t 1 640’                        (设定时间范围)



‘d hgt’                           (输出)



‘reinit’



这样就生成了需要的二进制文件,其对应的ctl文件需要另外给出。



以上是输出单层的二进制文件,把多层的数据放在同一个二进制文件中,就要使用循环,根据grads规定的数据存放次序(依次为经度、纬度、高度、变量、时次),如下:



‘reinit’

‘sdfopen d:\xxxx\hgt.mon.mean.nc’    (打开需要的nc文件,注意路径)

   

‘set gxout fwrite’

‘set fwrite d:\xxxxxx\hgt.bin’         (指定要输出的二进制文件名和路径)



‘set lon 0 357.5’

‘set lat -90 90’                     (设定写出区域范围,这是全球范围,第一句是必需的,如果用默认set lon 0 360,则会在x方向输出为145个点,要注意)



t=a                             (a为起始时次)

while(t<=b)                    (开始循环,b为结束时次)

‘set t’ t                           (设定时次)



‘set lev 1000’                       (设定要输出的层次)

‘d hgt ‘                          (输出)



‘set lev 925’                       (设定要输出的层次)

‘d hgt ‘                          (输出)



‘set lev 850’                       (设定要输出的层次)

‘d hgt ‘                          (输出)



‘set lev 700’                       (设定要输出的层次)

‘d hgt ‘                          (输出)



‘set lev 600’                       (设定要输出的层次)

‘d hgt ‘                          (输出)



‘set lev 500’                       (设定要输出的层次)

‘d hgt ‘                          (输出)

  。



。                        (可以添加任意的层次)

。                  (由于高度分布不连续而且数量有限,所以用这种方法)







t=t 1

endwhile                           (结束循环)

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

新浪微博达人勋

0
早起挑战累计收入
发表于 2011-8-9 17:49:10 | 显示全部楼层
好眼熟,难道我见过。呵呵 还是谢谢分享啦
密码修改失败请联系微信:mofangbao

新浪微博达人勋

 楼主| 发表于 2011-8-9 17:53:13 | 显示全部楼层
密码修改失败请联系微信:mofangbao

新浪微博达人勋

发表于 2011-8-9 18:44:27 | 显示全部楼层
mofangbao 发表于 2011-8-9 17:49
好眼熟,难道我见过。呵呵 还是谢谢分享啦

应该是之前在A版的一个帖子里有讨论过,不过还是要谢谢鼠标
密码修改失败请联系微信:mofangbao

新浪微博达人勋

发表于 2011-8-9 19:06:30 | 显示全部楼层
感谢分享
密码修改失败请联系微信:mofangbao

新浪微博达人勋

发表于 2011-8-9 20:46:57 | 显示全部楼层
哈哈~~好像论坛里有过,不过还是要感谢鼠标~~
密码修改失败请联系微信:mofangbao

新浪微博达人勋

 楼主| 发表于 2011-8-9 21:32:06 | 显示全部楼层
善人/jw 发表于 2011-8-9 20:46
哈哈~~好像论坛里有过,不过还是要感谢鼠标~~

我看Grads版没有这个,就弄过来了,给新手一些帮助,没想到之前大家已经讨论过这个啊
密码修改失败请联系微信:mofangbao

新浪微博达人勋

发表于 2011-8-9 21:38:06 | 显示全部楼层
{:eb502:}这个是好东西啊~~多分享好资源哦~~
密码修改失败请联系微信:mofangbao

新浪微博达人勋

 楼主| 发表于 2011-8-9 21:40:06 | 显示全部楼层
善人/jw 发表于 2011-8-9 21:38
这个是好东西啊~~多分享好资源哦~~

气象论坛就应该提倡互助,鼓励分享,大家好才是真的好嘛
密码修改失败请联系微信:mofangbao

新浪微博达人勋

发表于 2011-8-9 22:50:07 | 显示全部楼层
Mouse 发表于 2011-8-9 21:40
气象论坛就应该提倡互助,鼓励分享,大家好才是真的好嘛

他好我也好
密码修改失败请联系微信:mofangbao
您需要登录后才可以回帖 登录 | 立即注册 新浪微博登陆

本版积分规则

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

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

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