爱气象,爱气象家园! 

气象家园

 找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
楼主: 月是故乡明

[分享资料] 求助纠正错误!u,v风场叠加绘距平图!

[复制链接]
 楼主| 发表于 2015-4-16 08:37:10 | 显示全部楼层
limoxi 发表于 2015-4-15 17:07
用这种方法是可以分别算出特定3个月的多年平均吗?那t的初始值要怎么设置呢?

t的设置要根据你的资料的时间段,如果是NC逐月资料的话,只需加入循环即可,如"a=ave(u,t=1,t=25,12)"即为求t=1和t=13和t=25三个相同月份的平均值,相当于求了三年某一月的多年平均,要求三个月,那就在定义b=ave(u,t=2,t=26,12)等,最后再求平均即可,建议多看看grads手册
密码修改失败请联系微信:mofangbao
发表于 2015-4-16 20:52:49 | 显示全部楼层
谢谢您的回复,我在做距平分析的时候先用ave函数求了平均,程序如下,请指教!'sdfopen f:\data\u50.nc'   %(u,v资料从1980到2014每月一个值,分别有420个数)
'sdfopen f:\data\v50.nc'
'set grads off'
'set lon 60 280'
'set lat -30 70'
'set lev 500'
'set t 1'    %表示t从1开始
'define a1=ave(uwnd.1,t+6,t+366,12)'   %t后用加号或等号是不是有区别?参考了不少资料也不大确定二者的区别
'define a2=ave(vwnd.2,t+6,t+366,12)'
'set t 414'     %若用加号,此处想得到2014年6月的风场距平,这样规定时间是否合理?
'define u1=(uwnd.1-a1)'
'define v1=(vwnd.2-b1)'
'set gxout vector'
'd u1;v1'
'print'



密码修改失败请联系微信:mofangbao
发表于 2015-4-16 21:21:04 | 显示全部楼层
baocuo.png
很奇怪的事:q ctlinfo 1时显示t有420个值,但当我想将第414个数据即2014年6月的数据拿出来作距平时发现set t只能到372也就是第30年的12月,往后就不行了,显示如图所示的错误。不知道是什么问题,如果不能这样取值作距平,希望您能给我一些建议,先谢谢了!
密码修改失败请联系微信:mofangbao
 楼主| 发表于 2015-4-16 22:01:11 | 显示全部楼层
limoxi 发表于 2015-4-16 20:52
谢谢您的回复,我在做距平分析的时候先用ave函数求了平均,程序如下,请指教!'sdfopen f:\data\u50.nc'    ...

加号比不用加号多一个时次,(u,t=2,t=3,1)means(u,t+1,t+2,1)define已经有循环了。。外边的set t 1是什么意思,即使是循环用法也不对。。6月距平不是应该用6月平均减去总的平均吗?你这个问题有点多啊………建议好好看看手册,你这些问题都能从里边解决
密码修改失败请联系微信:mofangbao
发表于 2015-4-16 22:48:21 | 显示全部楼层
嗯,谢谢您的解答,终于搞清楚了这两者的区别。set t 1 是我理解错了,想着用ave(uwnd.1 t+6,t+366)是不是需要给t设一个初值……我再好好学习下,手册上给出的命令只有格式,画出图也不知道grads到底是怎么计算和运行的。。。
密码修改失败请联系微信:mofangbao
 楼主| 发表于 2015-4-17 08:16:01 | 显示全部楼层
limoxi 发表于 2015-4-16 21:21
很奇怪的事:q ctlinfo 1时显示t有420个值,但当我想将第414个数据即2014年6月的数据拿出来作距平时发现s ...

如果直接打开NC就有这个问题肯定就是数据的错,但是是由于自己编写的CTL或者GS运行后出现该错误,就是自己编译的问题了,没有你具体的数据我也不知道你错误在哪,只能看到你红色部分的错,是没有定义V方向风场,肯定不能画矢量图了
密码修改失败请联系微信:mofangbao
发表于 2015-4-17 12:17:27 | 显示全部楼层
嗯,谢谢您!换了一套数据就可以了。,谢谢论坛的牛人们!
密码修改失败请联系微信:mofangbao
 楼主| 发表于 2015-4-17 22:00:49 | 显示全部楼层
limoxi 发表于 2015-4-16 22:48
嗯,谢谢您的解答,终于搞清楚了这两者的区别。set t 1 是我理解错了,想着用ave(uwnd.1 t+6,t+366)是不 ...

t+6已经表示初值时从t=7开始了
密码修改失败请联系微信:mofangbao
发表于 2015-4-28 21:03:12 | 显示全部楼层
我用了另一种算距平的方法,对高度场可以,但画风场距平就出错了
  1. 'reinit'
  2. 'sdfopen f:\data\u20.nc'
  3. 'sdfopen f:\data\v20.nc'

  4. 'define u20ave=ave(uwnd.1,t+0,t=360,12)'
  5. 'define v20ave=ave(vwnd.2,t+0,t=360,12)'
  6. 'set t 1 420'
  7. 'define u20=(uwnd.1-u20ave)'
  8. 'define v20=(vwnd.2-v20ave)'
  9. 'set grads off'
  10. 'set grid off'
  11. 'set lon 60 200'
  12. 'set lat 0 70'
  13. 'set lev 200'
  14. 'set t 414'
  15. 'set gxout vector'
  16. 'd skip(u20,2,2);skip(v20,2,2)'
  17. 'gxprint d:/pic/wind206.png'
  18. 'c'
  19. 'set t 415'
  20. 'set gxout vector'
  21. 'd skip(u20,2,2);skip(v20,2,2)'
  22. 'gxprint d:/pic/wind207.png'
  23. 'c'
  24. 'set t 416'
  25. 'set gxout vector'
  26. 'd skip(u20,2,2);skip(v20,2,2)'
  27. 'gxprint d:/pic/wind208.png'
  28. 'c'

  29. ;
复制代码
密码修改失败请联系微信:mofangbao
发表于 2015-4-28 21:04:37 | 显示全部楼层
如图,明显太大了,距平都达到50!
wind206.png wind207.png wind208.png
密码修改失败请联系微信:mofangbao
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

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

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

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