爱气象,爱气象家园! 

气象家园

 找回密码
 立即注册

QQ登录

只需一步,快速开始

新浪微博登陆

只需一步, 快速开始

搜索
查看: 8754|回复: 20

[分享资料] 用ctl把几个nc的月平均数据合并来计算多年5月的平均结果有问题

[复制链接]

新浪微博达人勋

发表于 2013-11-17 12:58:40 | 显示全部楼层 |阅读模式

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

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

x
4个nc文件(34年408个月的数据,分成4个文件存放):
pv_mon_1979-1988.nc
pv_mon_1989-1998.nc
pv_mon_1999-2008.nc
pv_mon_2009-2012.nc
-------------------------
pv_mon.ctl文件:
dset ^pv_mon_%ch.nc
dtype netcdf
title   XXX
options template yrev zrev
undef -9.99e+33
chsub  1  120 1979-1988
chsub  121 240 1989-1998
chsub  241 360 1999-2008
chsub  361 408 2009-2012

xdef longitude 480 linear 0 0.75
ydef latitude 241 linear -90 0.75
zdef level 29 levels 1000 975 950 925 900 875 850 825 800 775 750 700 650 600 550 500 450 400 350 300 250 225 200 175 150 125 100 70 50

tdef time 408 linear 01jan1979 1mo
vars 1
pv=>pv 29 t,z,y,x  Potential vorticity
endvars
---------------------------------------
gs文件:
'reinit'
'xdfopen pv_mon.ctl'
'set display greyscale white'
'c'
'set lon 50 120'
'set lat 0 40'

'set lev 300'
'set t 1 12'
'clm=ave(pv,t+0,t=408,1yr)'
'modify clm seasonal'
*
'set gxout contour'
'set t 5'
* 5月的气候值

'd clm*1e6'
--------------------------------
等值线图是可以画出来。但是数值有问题。要是用单独一个10年的文件,比如,用pv_mon_1979-1988.nc做10年的5月平均就没有问题。用其它的几个文件单独做也没有问题。但是,合并在一起用上边的ctl做34年的5月平均就有问题,为什么?先谢了。


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

新浪微博达人勋

发表于 2013-11-17 14:20:04 | 显示全部楼层
每个文件计算一个5月的和,a,b,c,d,最后d (a+b+c+d)/34就可以了吧
密码修改失败请联系微信:mofangbao

新浪微博达人勋

0
早起挑战累计收入
发表于 2013-11-17 14:20:13 | 显示全部楼层
什么叫有问题?有什么问题问啥不说  而且你可以自己先仔细检查的  既然有的没问题 有的有问题 就应该能逐句的对比 分析 到底是哪里的不同导致的
密码修改失败请联系微信:mofangbao

新浪微博达人勋

 楼主| 发表于 2013-11-17 17:18:07 | 显示全部楼层

对不起,还是没表达清楚。

34年平均的5月等值线图是可以画出来啦,但不是正确的图,是有问题的图。用那4个文件各自分别做,结果是正确的。问题就是:34年平均的5月份的结果是错误的,而10年平均的5月份的结果是正确的。
密码修改失败请联系微信:mofangbao

新浪微博达人勋

 楼主| 发表于 2013-11-17 17:21:02 | 显示全部楼层
应该是可以的。但是我想知道4个文件合并到一起,进行一次计算,结果为什么就不对,脚本哪里出问题了。
密码修改失败请联系微信:mofangbao

新浪微博达人勋

 楼主| 发表于 2013-11-17 17:22:59 | 显示全部楼层
humes 发表于 2013-11-17 14:20
每个文件计算一个5月的和,a,b,c,d,最后d (a+b+c+d)/34就可以了吧

这样做应该是可以的。

但是我想知道4个文件合并到一起,进行一次计算,结果为什么就不对,脚本哪里出问题了。
密码修改失败请联系微信:mofangbao

新浪微博达人勋

发表于 2013-11-17 21:12:43 | 显示全部楼层
ave函数里的时间增量改成12试试
密码修改失败请联系微信:mofangbao

新浪微博达人勋

 楼主| 发表于 2013-11-17 21:27:15 | 显示全部楼层
river 发表于 2013-11-17 21:12
ave函数里的时间增量改成12试试

谢谢,试了还是一样的错误。

我怀疑在使用chsub语句合并nc文件时,Grads本身的bug。chsub好像新版的Grads才支持。我用的是2.0.1版的,最新的,for windows的。
密码修改失败请联系微信:mofangbao

新浪微博达人勋

发表于 2013-11-17 21:35:57 | 显示全部楼层
linikiku 发表于 2013-11-17 21:27
谢谢,试了还是一样的错误。

我怀疑在使用chsub语句合并nc文件时,Grads本身的bug。chsub好像新版的Gr ...

不会的,2.0.1就已经支持这种描述方式。你确定你的资料是Y和Z轴都反向?还有你说的错误到底是什么错误,你怎么判断的
密码修改失败请联系微信:mofangbao

新浪微博达人勋

 楼主| 发表于 2013-11-17 22:04:24 | 显示全部楼层
river 发表于 2013-11-17 21:35
不会的,2.0.1就已经支持这种描述方式。你确定你的资料是Y和Z轴都反向?还有你说的错误到底是什么错误,你 ...

34yr.gif 10yr.gif
Y和Z轴都是反向的,应该没错,我检验过了。我做的是位涡的5月份34年平均的气候值,青藏高原区域的,300hPa的。结果图上等值线的数值很奇怪的。我试着用4个文件中的一个文件做10年平均的5月份的平均。结果是正确的。见两张图的对比。左图是34年平均,右图是10年的。
-----------------------------------------------------------
右图的gs文件:
'reinit'
'sdfopen ../pv_mon_1979-1988.nc'
'set display greyscale white'
'c'
'set lon 50 120'
'set lat 0 40'

'set lev 300'

'set t 5'
'clm=ave(pv,t=5,t=120,12)'

'set gxout contour'
'set t 5'
* 5月的气候值
'd clm*1e6'


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

本版积分规则

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

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

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