爱气象,爱气象家园! 

气象家园

 找回密码
 立即注册

QQ登录

只需一步,快速开始

新浪微博登陆

只需一步, 快速开始

搜索
查看: 6501|回复: 5

如何用GrADS对多个ncep高度场文件求平均?

[复制链接]

新浪微博达人勋

发表于 2015-11-30 18:11:08 | 显示全部楼层 |阅读模式
GrADS
系统平台:
问题截图: -
问题概况: 现有多个ncep的高度场文件,一年一个文件,时间分辨率为一天四次,求多年7月份500hPa高度场。
我看过提问的智慧: 看过
自己思考时长(天): 2

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

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

x
现有多个ncep的高度场文件,一年一个文件,时间分辨率为一天四次,求多年7月份500hPa高度场。
笨办法,可以把每年7月份的平均高度场资料输出成一个grd文件,再用fortran计算平均。
我想用GrADS搞定,但不知道如何解决,
例如自己编写的gs如下:
iyear=1948
ny=0
while(iyear<2010)
'sdfopen hgt.'iyear'.nc'
'set lev 500'
'define h'iyear'=ave(hgt,time=00z01jul,time=18z31jul)'   *先求年平均
ny=ny+1
if(ny=1)then
'define meanh=h'iyear
else
'define meanh=meanh+h'iyear  *累加
endif
iyear=iyear+1
endwhile
想用'define meanh=meanh+h'iyear实现累加,无奈GrADS貌似不支持这样的编程思想,结果只是相当于赋与了最后一年的高度场结果。
请问各位大侠,如何解决这个问题,感谢
密码修改失败请联系微信:mofangbao

新浪微博达人勋

发表于 2015-11-30 23:40:58 | 显示全部楼层
newmanha 发表于 2015-11-30 23:36
是啊,可以用set gxout fwrite方式把每个文件的7月份先求平均输出到一个文件,然后做个ctl,读入再做平均 ...

建议你在论坛搜索一下批量描述是什么意思,没有什么是异想天开。grads做出来的就是为了方便人们处理数据的,不可能简单的一个平均还弄的那么复杂···
密码修改失败请联系微信:mofangbao
回复 支持 1 反对 0

使用道具 举报

新浪微博达人勋

发表于 2015-11-30 20:46:55 | 显示全部楼层
难道grads本身会连个求平均的函数都没有吗,那用它还有什么意义。
建议你去增强grads的基础知识,论坛搜索grads实用手册
密码修改失败请联系微信:mofangbao

新浪微博达人勋

 楼主| 发表于 2015-11-30 20:57:53 | 显示全部楼层
river 发表于 2015-11-30 20:46
难道grads本身会连个求平均的函数都没有吗,那用它还有什么意义。
建议你去增强grads的基础知识,论坛搜索 ...

多谢回复,多个文件的不好处理
密码修改失败请联系微信:mofangbao

新浪微博达人勋

发表于 2015-11-30 23:28:29 | 显示全部楼层
newmanha 发表于 2015-11-30 20:57
多谢回复,多个文件的不好处理

批量描述啊
密码修改失败请联系微信:mofangbao

新浪微博达人勋

 楼主| 发表于 2015-11-30 23:36:42 | 显示全部楼层

是啊,可以用set gxout fwrite方式把每个文件的7月份先求平均输出到一个文件,然后做个ctl,读入再做平均,问题就解决了。
只是异想天开想在一个gs搞定,估计不行。逐个文件打开define之后,再close,define的变量都无效了。而且gs语言用累加方式这一套好像行不通,不像fortran
密码修改失败请联系微信:mofangbao
您需要登录后才可以回帖 登录 | 立即注册 新浪微博登陆

本版积分规则

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

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

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