爱气象,爱气象家园! 

气象家园

 找回密码
 立即注册

QQ登录

只需一步,快速开始

新浪微博登陆

只需一步, 快速开始

搜索
查看: 4973|回复: 2

求助,用GRADS画水汽通量差值检验图出错

[复制链接]

新浪微博达人勋

发表于 2017-5-8 17:54:14 | 显示全部楼层 |阅读模式
GrADS
系统平台:
问题截图: -
问题概况: 用NCEP逐月资料计算水汽通量差值积分时画出来的图不对,检验区和差值大值区不再一个地方
我看过提问的智慧: 看过
自己思考时长(天): 3

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

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

x
我先分析了降水资料在总体年份里分出了多雨年和少雨年,然后进行多雨年和少雨年水汽通量的差值检验,程序可以运行,但是图画出来以后明显不对。
以下是我用的gs代码:
  1. 'reinit'
  2. 'sdfopen d:\data\micaps\shum.mon.mean.nc'
  3. 'sdfopen d:\data\micaps\uwnd.mon.mean.nc'
  4. 'sdfopen d:\data\micaps\vwnd.mon.mean.nc'
  5. 'sdfopen d:\data\micaps\pres.sfc.mon.mean.nc'
  6. 'set gxout stream'
  7. 'enable print d:\data\data8\jianyan/chazhijianyan2.gmf white'

  8. *************************多雨年*****************
  9. yr.1=1952; yr.2 = 1957; yr.3=1963; yr.4=1964;yr.5=1967;yr.6=1970;yr.7=1983;
  10. yr.8=1985;yr.9=1990;yr.10=1991;yr.11=1998;yr.12=2002
  11. mo.3='Mar'; mo.4='Apr'; mo.5='May'
  12. i=1
  13. while(i<=12)
  14. j=3
  15. while(j<=5)
  16. 'set x 1 144'
  17. 'set y 1 73'
  18. 'set z 1 8'
  19. 'set time 'mo.j%yr.i
  20. 'define duq=uwnd.2*shum/9.8'
  21. 'define dvq=vwnd.3*shum/9.8'
  22. 'set z 1'
  23. 'define dqu=vint(pres.4(z=1),duq,300)*9.8/1000'
  24. 'define dqv=vint(pres.4(z=1),dvq,300)*9.8/1000'
  25. 'define dsd=hdivg(dqu,dqv)'
  26. j=j+1
  27. endwhile
  28. i=i+1
  29. endwhile
  30. ***********************少雨年***************************
  31. yr.1=1953; yr.2 = 1955; yr.3=1962; yr.4 = 1979;yr.5=1981;yr.6=1982;yr.7=1994;
  32. yr.8=1995;yr.9=1996;yr.10=2000;yr.11=2001;yr.12=2004
  33. mo.3='Mar'; mo.4='Apr'; mo.5='May'
  34. n=1
  35. while(n<=12)
  36. m=3
  37. while(m<=5)
  38. 'set x 1 144'
  39. 'set y 1 73'
  40. 'set z 1 8'
  41. 'set time 'mo.m%yr.n
  42. 'define suq=uwnd.2*shum/9.8'
  43. 'define svq=vwnd.3*shum/9.8'
  44. 'set z 1'
  45. 'define squ=vint(pres.4(z=1),suq,300)*9.8/1000'
  46. 'define sqv=vint(pres.4(z=1),svq,300)*9.8/1000'
  47. 'define ssd=hdivg(squ,sqv)'
  48. m=m+1
  49. endwhile
  50. n=n+1
  51. endwhile
  52. **********************************差值的均值***************************************
  53. 'define qua=ave((dqu-squ),t=1,t=12)'
  54. 'define qva=ave((dqv-sqv),t=1,t=12)'
  55. 'define sd=ave((dsd-ssd),t=1,t=12)'
  56. ************************************总体****

  57. yr.1=1951; yr.2 = 1952; yr.3=1953; yr.4 = 1954;yr.5=1955;yr.6=1956;yr.7=1957;
  58. yr.8=1958;yr.9=1959;yr.10=1960;yr.11=1961;yr.12=1962;yr.13=1963;yr.14=1964;
  59. yr.15=1965; yr.16 = 1966; yr.17=1967; yr.18 = 1968;yr.19=1969;yr.20=1970;yr.21=1971;
  60. yr.22=1972;yr.23=1973;yr.24=1974;yr.25=1975;yr.26=1976;yr.27=1977;yr.28=1978;
  61. yr.29=1979; yr.30 = 1980; yr.31=1981; yr.32 = 1982;yr.33=1983;yr.34=1984;yr.35=1985;
  62. yr.36=1986;yr.37=1987;yr.38=1988;yr.39=1989;yr.40=1990;yr.41=1991;yr.42=1992;
  63. yr.43=1993; yr.44 = 1994; yr.45=1995; yr.46 = 1996;yr.47=1997;yr.48=1998;yr.49=1999;
  64. yr.50=2000;yr.51=2001;yr.52=2002;yr.53=2003;yr.54=2004;yr.55=2005;yr.56=2006;
  65. yr.57=2007; yr.58 = 2008; yr.59=2009; yr.60 = 2010;yr.61=2011;yr.62=2012;yr.63=2013;
  66. yr.64=2014;yr.65=2015;yr.66=2016
  67. mo.3='Mar'; mo.4='Apr'; mo.5='May'
  68. n1=1
  69. while(n1<=66)
  70. m1=3
  71. while(m1<=5)
  72. 'set x 1 144'
  73. 'set y 1 73'
  74. 'set z 1 8'      
  75. 'set time 'mo.m1%yr.n1
  76. 'define aluq=uwnd.2*shum/9.8'
  77. 'define alvq=vwnd.3*shum/9.8'
  78. 'set z 1'
  79. 'define alqu=vint(pres.4(z=1),aluq,300)*9.8/1000'
  80. 'define alqv=vint(pres.4(z=1),alvq,300)*9.8/1000'
  81. 'define alsd=hdivg(alqu,alqv)'
  82. m1=m1+1
  83. endwhile
  84. n1=n1+1
  85. endwhile
  86. ******************************总体的均值*****************************

  87. 'define allqu=ave(alqu,t=1,t=66)'
  88. 'define allqv=ave(alqv,t=1,t=66)'
  89. 'define allsd=ave(alsd,t=1,t=66)'
  90. ********************************求方差**********************************

  91. 'define fcu=sqrt(ave(pow((dqu-squ),2),t=1,t=12))'
  92. 'define fcv=sqrt(ave(pow((dqv-sqv),2),t=1,t=12))'
  93. 'define fcs=sqrt(ave(pow((dsd-ssd),2),t=1,t=12))'
  94. ***********************样本量开根号*********************************

  95. 'define nn=sqrt(12)'
  96. **************************计算t******************************************
  97. 'define tu=((qua-allqu)/fcu)/nn'
  98. 'define tv=((qva-allqv)/fcv)/nn'
  99. 'define ts=((sd-allsd)/fcs)/nn'

  100. ******显著性检验0.01、0.05、0.1 0.5 t=2.718  2.201  1.796 0.697******************
  101. 'define ttu=maskout(abs(tu),abs(tu)-0.697)'
  102. 'define tttu=smth9(ttu)'      
  103. 'define ttv=maskout(abs(tv),abs(tv)-0.697)'
  104. 'define tttv=smth9(ttv)'  
  105. 'define tts=maskout(abs(ts),abs(ts)-0.697)'
  106. 'define ttts=smth9(tts)'  

  107. ***************************

  108. 'set x 1 144'
  109. 'set y 1 73'
  110. 'set grid off'
  111. 'set grads off'
  112. 'set map 15'
  113. 'draw map'
  114. 'set rgb 19 255 194 194'
  115. 'set xlint 40'
  116. 'set ylint 20'
  117. 'set xlopts 1 4 0.2'
  118. 'set ylopts 1 4 0.2'
  119. 'set clopts 1 1 0.2'
  120. 'set gxout shaded'
  121. 'set clevs 0'
  122. 'set ccols 19'
  123. 'set cterp off'
  124. 'set clab on'
  125. 'set csmooth on'
  126. 'd tttu;tttv'
  127. 'set gxout contour'
  128. 'd qua;qva'
  129. 'set ccolor 1'
  130. 'set annot 1 3'                 
  131. 'print'
  132. 'disable print'
  133. ;
复制代码
其中qu、qv、sd分别是纬向、经向水汽通量和散度,但是我画出来的图是这样的:
QQ截图20170129175427.png
不知道那里出错了,还请各位指点迷津。
密码修改失败请联系微信:mofangbao

新浪微博达人勋

发表于 2017-5-11 18:35:22 | 显示全部楼层
你所有的都是 'd tttu;tttv'  
这能出来阴影和等值线吗?
密码修改失败请联系微信:mofangbao

新浪微博达人勋

 楼主| 发表于 2017-5-19 17:38:34 | 显示全部楼层
不好意思回晚了,这个gs的毛病找到了,是t的循环问题,应该把t改成36才对。
密码修改失败请联系微信:mofangbao
您需要登录后才可以回帖 登录 | 立即注册 新浪微博登陆

本版积分规则

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

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

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