- 积分
- 11543
- 贡献
-
- 精华
- 在线时间
- 小时
- 注册时间
- 2014-3-8
- 最后登录
- 1970-1-1
|
登录后查看更多精彩内容~
您需要 登录 才可以下载或查看,没有帐号?立即注册
x
本帖最后由 海soso 于 2016-12-19 22:15 编辑
数据是整层可降水量 想算从94年到15年的冬季平均(这里冬季算的是11月到次年2月) 用fwrite写到grd文件里
if判断的是是否是闰年
出现的问题是算出来的非闰年的数据是正确的 闰年的数据都是一样的
贴ctl:
dset d:/data/pr_wtr/pr_wtr9415.grd
title mean daily NCEP Reanalysis (1994-2015)
undef -999000000.000000
xdef 144 linear 0 2.5
ydef 73 linear -90 2.5
zdef 1 levels 999
tdef 8035 linear 00Z01Jan1994 1440mn
vars 1
pr_wtr 0 99 mean Daily Precipitable Water For entie atmosphere
endvars
贴gs:
'reinit'
'open d:/wu/pr_wtr/test/pr_wtr9415.ctl'
'set fwrite d:/wu/pr_wtr/test/pr_wtr9415ndjf1.grd'
'set gxout fwrite'
'set lon 70 140'
'set lat 15 55'
tt=305
while (tt<7730)
if(tt=670|tt=2131|tt=3592|tt=5053|tt=6514)
'set t 'tt' 'tt+120''
'd ave(pr_wtr,t='tt',t='tt+120')'
tt=tt+366
else
*'set t 'tt' 'tt+119''
'd ave(pr_wtr,t='tt',t='tt+119')'
tt=tt+365
endif
endwhile
'disable fwrite'
*'close 1'
*;
可以看到 循环里的有二个set t
如果 'set t 'tt' 'tt+120''(闰年,不注释,参与运算)+*'set t 'tt' 'tt+119''(非闰年,注释掉,不运算)得到的结果是算出来的非闰年的数据是正确的 闰年的数据都是一样的
如果 'set t 'tt' 'tt+120''(闰年,不注释,运算)+'set t 'tt' 'tt+119''(非闰年,不注释,运算)得到的结果是所有年的数据都是一样的
如果 *'set t 'tt' 'tt+120''(闰年,注释掉,不运算)+*'set t 'tt' 'tt+119''(非闰年,注释掉,不运算)得到的结果是数据量特别小 41k 根本画不出来图
也搜索了论坛里关于闰年的处理方法 试了artmunich写的http://bbs.06climate.com/forum.php?mod=viewthread&tid=7020&extra=&page=1
附gs:
'reinit'
'open d:/wu/pr_wtr/test/pr_wtr9415.ctl'
'set fwrite d:/wu/pr_wtr/test/pr_wtr9415ndjf2.grd'
'set gxout fwrite'
yr=1994
while (yr<=2014)
'set lon 70 140'
'set lat 15 55'
'd ave(pr_wtr,time=00Z01NOV'yr',time=00Z28FEB'yr+1')'
yr=yr+1
endwhile
'disable fwrite'
*'close 1'
*'reset'
*;
出来的结果和最后一种一样 特别小 41k
求大家帮下啊啊啊啊啊!要疯掉了
|
|