爱气象,爱气象家园! 

气象家园

 找回密码
 立即注册

QQ登录

只需一步,快速开始

新浪微博登陆

只需一步, 快速开始

搜索
查看: 4703|回复: 9

[脚本编辑] 读取NC文件,用grads做赤道区域平均,只有Z=1的数据?

[复制链接]

新浪微博达人勋

发表于 2015-5-1 11:48:54 | 显示全部楼层 |阅读模式

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

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

x
本帖最后由 夝儿_Yukin 于 2015-5-1 23:14 编辑

用NCEP的月平均V风的NC文件,想做一个全球的5°S-5°N的V风平均,但是写了dat,和ctl,但发现只有当z=1时才有数据,这是为什么?
求各位大神指点!!

这是写dat文件的gs:
'reinit'
'set gxout fwrite'
'set fwrite d:\research\result\c_e_flow\vwnd_mon_ave.dat'
'sdfopen  d:\research\data\NCEP-R1\vwnd.mon.mean.nc'
   

tt=1
while(tt<=807)
'set t'tt''
zz=1
while(zz<=17)
'set z'zz''
'set lat -5 5'
'set lon 0 360'
'define v=ave(vwnd,lat=-5,lat=5)'
'd v'
zz=zz+1
endwhile
tt=tt+1
endwhile
'disable fwrite'


ctl文件:
dset d:\research\result\c_e_flow\vwnd_mon_ave.dat
title equator vwnd ave
undef  99999
xdef 19 linear 0 20
ydef 1  linear 0 1
zdef 17 levels  1000 925 850 700 600 500 400 300 250 200 150 100 70 50 30 20 10
tdef 807 linear JAN1948 1mo

vars 1
v 1 99  v
endvars


本来还想做季节平均,但是想先验证一下数据正确性,就先画出1948年1月的结果,gs文件为:
'reinit'
'open d:/research/result/c_e_flow/v_ave.ctl'
'enable print d:/research/result/c_e_flow/v_ave.gmf'
'set y 1'
'set lon 0 360'
'set z 7'
'set t 1'
'set grid off'
'set grads off'
'set gxout contour'
'd v'
'print'
'disable print'


得到这样的结果
`JVI]ADJ7_QGIC(NK$T4161.jpg


但把gs中的z改成z=1时,会有:
PH%AO%YEQ2L)8~NG@5NSLLB.jpg


改z为其他值就:
H%_TT[B8S5O66%~TOHBW~L0.png VNEAS8X%3SDLR(8W6[HU8%O.jpg


应该怎么修改?求指点?

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

新浪微博达人勋

发表于 2015-5-1 16:26:36 | 显示全部楼层
'set t'tt'' 和 'set z'zz''是错的 'set t 'tt'' 'set z 'zz''  
密码修改失败请联系微信:mofangbao

新浪微博达人勋

 楼主| 发表于 2015-5-1 22:55:04 | 显示全部楼层
river 发表于 2015-5-1 16:26
'set t'tt'' 和 'set z'zz''是错的 'set t 'tt'' 'set z 'zz''

哦,是漏了个空格是么?谢谢,我再去试试
密码修改失败请联系微信:mofangbao

新浪微博达人勋

 楼主| 发表于 2015-5-1 22:58:01 | 显示全部楼层
本帖最后由 夝儿_Yukin 于 2015-5-1 23:29 编辑
river 发表于 2015-5-1 16:26
'set t'tt'' 和 'set z'zz''是错的 'set t 'tt'' 'set z 'zz''


这个应该是其中一个问题,改了还是不行诶,还是一样的画不出其他Z的结果
是不是因为define v不能二维?
密码修改失败请联系微信:mofangbao

新浪微博达人勋

发表于 2015-5-2 08:38:12 | 显示全部楼层
夝儿_Yukin 发表于 2015-5-1 22:58
这个应该是其中一个问题,改了还是不行诶,还是一样的画不出其他Z的结果
是不是因为define v ...

'set lat -5 5' 改成'set lat 随便一个常数'
ctl 里面xdef 19 linear 0 20 是什么意思?
密码修改失败请联系微信:mofangbao

新浪微博达人勋

发表于 2015-5-2 09:03:25 | 显示全部楼层
grads经常会用到,想学
密码修改失败请联系微信:mofangbao

新浪微博达人勋

 楼主| 发表于 2015-5-3 12:37:57 | 显示全部楼层
river 发表于 2015-5-2 08:38
'set lat -5 5' 改成'set lat 随便一个常数'
ctl 里面xdef 19 linear 0 20 是什么意思?

改了还是只有z=1画得出图
ctl里面那个是lon的设定,是不是间距太大了?现在改成xdef 145 linear 0 2.5
密码修改失败请联系微信:mofangbao

新浪微博达人勋

 楼主| 发表于 2015-5-3 14:18:09 | 显示全部楼层
river 发表于 2015-5-2 08:38
'set lat -5 5' 改成'set lat 随便一个常数'
ctl 里面xdef 19 linear 0 20 是什么意思?

多谢,我发现了一个问题,解决了。就是这里ctl的倒数第二行写错了,应该是v 17 99  v
看到一个帖子说的,如果是单层的数据,比如地表气温,海表面气压就可以用1或者0,但是多层次的数据,如高度场,风场,就要写上对应的层数。
这样图就画出来了,说明dat没写错
密码修改失败请联系微信:mofangbao

新浪微博达人勋

发表于 2015-5-3 15:04:26 | 显示全部楼层
五一劳动奖章颁个给你,假期也在努力么
密码修改失败请联系微信:mofangbao

新浪微博达人勋

 楼主| 发表于 2015-5-3 16:29:10 | 显示全部楼层
本帖最后由 夝儿_Yukin 于 2015-5-3 16:51 编辑
斥鷃 发表于 2015-5-3 15:04
五一劳动奖章颁个给你,假期也在努力么


学霸谢,你回好快,之前本来还想要不要去问你。
平时不努力,老大徒伤悲就是这样的
密码修改失败请联系微信:mofangbao
您需要登录后才可以回帖 登录 | 立即注册 新浪微博登陆

本版积分规则

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

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

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