爱气象,爱气象家园! 

气象家园

 找回密码
 立即注册

QQ登录

只需一步,快速开始

新浪微博登陆

只需一步, 快速开始

搜索
楼主: 代号小丑

[求助] 【求助】全球的一个高度层的10年日资料如何用Fortran做月平均啊

[复制链接]

新浪微博达人勋

 楼主| 发表于 2016-4-11 14:41:56 | 显示全部楼层
气象妹子 发表于 2016-4-10 17:12
用grads不能求吗。。前面有人给过你一个网址http://bbs.06climate.com/forum.php?mod=viewthread&tid=18455

这个我看不懂TAT,如今我准备放弃用Fortran改用gs写了,不过写出来之后又有了一个我看不懂的问题...
密码修改失败请联系微信:mofangbao

新浪微博达人勋

 楼主| 发表于 2016-4-11 14:44:55 | 显示全部楼层
robindct 发表于 2016-4-11 09:17
续楼上,话说楼主知道如何转二进制,不知道怎么用fortran处理吗

Fortran没有系统性的学而且时间有点久都不太会用了,倒是gs更熟一些
密码修改失败请联系微信:mofangbao

新浪微博达人勋

发表于 2016-4-11 16:36:43 | 显示全部楼层
代号小丑 发表于 2016-4-11 14:44
Fortran没有系统性的学而且时间有点久都不太会用了,倒是gs更熟一些

这个也简单呐,先直接读取nc文件,然后用Grads自带的ave函数按时间求平均就可以了,然后再输出二进制就得啦
密码修改失败请联系微信:mofangbao

新浪微博达人勋

 楼主| 发表于 2016-4-11 17:24:32 | 显示全部楼层
robindct 发表于 2016-4-11 16:36
这个也简单呐,先直接读取nc文件,然后用Grads自带的ave函数按时间求平均就可以了,然后再输出二进制就得 ...

我直接用gs写出来了,但是出了一个问题就是最后一个月的平均资料出不来,提示:
Data Request Error: Error for varible 'tcnox'
  Error ocurred at column 1
Display Error: Invarlid expression
  Expression=tcnox
密码修改失败请联系微信:mofangbao

新浪微博达人勋

 楼主| 发表于 2016-4-11 17:24:36 | 显示全部楼层
robindct 发表于 2016-4-11 16:36
这个也简单呐,先直接读取nc文件,然后用Grads自带的ave函数按时间求平均就可以了,然后再输出二进制就得 ...

我直接用gs写出来了,但是出了一个问题就是最后一个月的平均资料出不来,提示:
Data Request Error: Error for varible 'tcnox'
  Error ocurred at column 1
Display Error: Invarlid expression
  Expression=tcnox
密码修改失败请联系微信:mofangbao

新浪微博达人勋

 楼主| 发表于 2016-4-11 17:24:40 | 显示全部楼层
robindct 发表于 2016-4-11 16:36
这个也简单呐,先直接读取nc文件,然后用Grads自带的ave函数按时间求平均就可以了,然后再输出二进制就得 ...

我直接用gs写出来了,但是出了一个问题就是最后一个月的平均资料出不来,提示:
Data Request Error: Error for varible 'tcnox'
  Error ocurred at column 1
Display Error: Invarlid expression
  Expression=tcnox
密码修改失败请联系微信:mofangbao

新浪微博达人勋

发表于 2016-4-11 20:35:32 | 显示全部楼层
代号小丑 发表于 2016-4-11 17:24
我直接用gs写出来了,但是出了一个问题就是最后一个月的平均资料出不来,提示:
Data Request Error: Er ...

你最好把gs脚本贴出来,这样子很难判断是什么原因造成的,从报错上看是tconx可能前后变量名不一致,即有地方应该是吧变量名写错了,而造成的
密码修改失败请联系微信:mofangbao

新浪微博达人勋

 楼主| 发表于 2016-4-13 21:23:53 | 显示全部楼层
robindct 发表于 2016-4-11 20:35
你最好把gs脚本贴出来,这样子很难判断是什么原因造成的,从报错上看是tconx可能前后变量名不一致,即有 ...

这是我的gs
'reinit'
'open e:/grads/0312.ctl'
'set gxout fwrite'
'set fwrite e:/grads/mean.dat'

'set x 1 480'
'set y 1 241'
'set z 1'

tt=1
while(tt<=3653)
  if(tt=1|tt=366|tt=732|tt=1097|tt=1462|tt=1827|tt=2193|tt=2558|tt=2923|tt=3288)
    'd ave(tcnox,t='tt',t='tt+30')'
  endif
  if(tt=32|tt=763|tt=1128|tt=1493|tt=2224|tt=2589|tt=2954)
    'd ave(tcnox,t='tt',t='tt+27')'
  endif
  if(tt=397|tt=1858|tt=3319)
    'd ave(tcnox,t='tt',t='tt+28')'
  endif
  if(tt=60|tt=426|tt=791|tt=1156|tt=1521|tt=1887|tt=2252|tt=2617|tt=2982|tt=3348)
    'd ave(tcnox,t='tt',t='tt+30')'
  endif
  if(tt=91|tt=457|tt=822|tt=1187|tt=1552|tt=1918|tt=2283|tt=2648|tt=3013|tt=3379)
    'd ave(tcnox,t='tt',t='tt+29')'
  endif
  if(tt=121|tt=487|tt=852|tt=1217|tt=1582|tt=1948|tt=2313|tt=2678|tt=3043|tt=3409)
    'd ave(tcnox,t='tt',t='tt+30')'
  endif
  if(tt=152|tt=518|tt=883|tt=1248|tt=1613|tt=1979|tt=2344|tt=2709|tt=3074|tt=3440)
    'd ave(tcnox,t='tt',t='tt+29')'
  endif
  if(tt=182|tt=548|tt=913|tt=1278|tt=1643|tt=2009|tt=2374|tt=2739|tt=3104|tt=3470)
    'd ave(tcnox,t='tt',t='tt+30')'
  endif
  if(tt=213|tt=579|tt=944|tt=1309|tt=1674|tt=2040|tt=2405|tt=2770|tt=3135|tt=3501)
    'd ave(tcnox,t='tt',t='tt+30')'
  endif
  if(tt=244|tt=610|tt=975|tt=1340|tt=1705|tt=2071|tt=2436|tt=2801|tt=3166|tt=3532)
    'd ave(tcnox,t='tt',t='tt+29')'
  endif
  if(tt=274|tt=640|tt=1005|tt=1370|tt=1735|tt=2101|tt=2466|tt=2831|tt=3196|tt=3562)
    'd ave(tcnox,t='tt',t='tt+30')'
  endif
  if(tt=305|tt=671|tt=1036|1tt=401|tt=1766|tt=2132|tt=2497|tt=2862|tt=3227|tt=3593)
    'd ave(tcnox,t='tt',t='tt+29')'
  endif
  if(tt=335|tt=701|tt=1066|tt=1431|tt=1796|tt=2162|tt=2527|tt=2892|tt=3257|tt=3623)
    'd ave(tcnox,t='tt',t='tt+30')'
  endif
  tt=tt+1
endwhile
'disable fwrite'
'reinit'
密码修改失败请联系微信:mofangbao

新浪微博达人勋

 楼主| 发表于 2016-4-13 21:24:01 | 显示全部楼层
robindct 发表于 2016-4-11 20:35
你最好把gs脚本贴出来,这样子很难判断是什么原因造成的,从报错上看是tconx可能前后变量名不一致,即有 ...

这是我的gs
'reinit'
'open e:/grads/0312.ctl'
'set gxout fwrite'
'set fwrite e:/grads/mean.dat'

'set x 1 480'
'set y 1 241'
'set z 1'

tt=1
while(tt<=3653)
  if(tt=1|tt=366|tt=732|tt=1097|tt=1462|tt=1827|tt=2193|tt=2558|tt=2923|tt=3288)
    'd ave(tcnox,t='tt',t='tt+30')'
  endif
  if(tt=32|tt=763|tt=1128|tt=1493|tt=2224|tt=2589|tt=2954)
    'd ave(tcnox,t='tt',t='tt+27')'
  endif
  if(tt=397|tt=1858|tt=3319)
    'd ave(tcnox,t='tt',t='tt+28')'
  endif
  if(tt=60|tt=426|tt=791|tt=1156|tt=1521|tt=1887|tt=2252|tt=2617|tt=2982|tt=3348)
    'd ave(tcnox,t='tt',t='tt+30')'
  endif
  if(tt=91|tt=457|tt=822|tt=1187|tt=1552|tt=1918|tt=2283|tt=2648|tt=3013|tt=3379)
    'd ave(tcnox,t='tt',t='tt+29')'
  endif
  if(tt=121|tt=487|tt=852|tt=1217|tt=1582|tt=1948|tt=2313|tt=2678|tt=3043|tt=3409)
    'd ave(tcnox,t='tt',t='tt+30')'
  endif
  if(tt=152|tt=518|tt=883|tt=1248|tt=1613|tt=1979|tt=2344|tt=2709|tt=3074|tt=3440)
    'd ave(tcnox,t='tt',t='tt+29')'
  endif
  if(tt=182|tt=548|tt=913|tt=1278|tt=1643|tt=2009|tt=2374|tt=2739|tt=3104|tt=3470)
    'd ave(tcnox,t='tt',t='tt+30')'
  endif
  if(tt=213|tt=579|tt=944|tt=1309|tt=1674|tt=2040|tt=2405|tt=2770|tt=3135|tt=3501)
    'd ave(tcnox,t='tt',t='tt+30')'
  endif
  if(tt=244|tt=610|tt=975|tt=1340|tt=1705|tt=2071|tt=2436|tt=2801|tt=3166|tt=3532)
    'd ave(tcnox,t='tt',t='tt+29')'
  endif
  if(tt=274|tt=640|tt=1005|tt=1370|tt=1735|tt=2101|tt=2466|tt=2831|tt=3196|tt=3562)
    'd ave(tcnox,t='tt',t='tt+30')'
  endif
  if(tt=305|tt=671|tt=1036|1tt=401|tt=1766|tt=2132|tt=2497|tt=2862|tt=3227|tt=3593)
    'd ave(tcnox,t='tt',t='tt+29')'
  endif
  if(tt=335|tt=701|tt=1066|tt=1431|tt=1796|tt=2162|tt=2527|tt=2892|tt=3257|tt=3623)
    'd ave(tcnox,t='tt',t='tt+30')'
  endif
  tt=tt+1
endwhile
'disable fwrite'
'reinit'
密码修改失败请联系微信:mofangbao

新浪微博达人勋

发表于 2016-4-18 16:50:21 | 显示全部楼层
代号小丑 发表于 2016-4-13 21:24
这是我的gs
'reinit'
'open e:/grads/0312.ctl'

不好意思,前两天有事没及时回复。看gs我没发现错误,我的猜想是,你再对应一下ctl文件,是否有tcnox量,或命名是否一致
密码修改失败请联系微信:mofangbao
您需要登录后才可以回帖 登录 | 立即注册 新浪微博登陆

本版积分规则

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

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

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