爱气象,爱气象家园! 

气象家园

 找回密码
 立即注册

QQ登录

只需一步,快速开始

新浪微博登陆

只需一步, 快速开始

搜索
查看: 42912|回复: 101

[分享资料] 在这里学到了挺多知识,一直没有做过贡献,今天我也发个画整层水汽通量和散度的经验贴

  [复制链接]

新浪微博达人勋

发表于 2014-1-28 14:03:41 | 显示全部楼层 |阅读模式

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

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

x
本帖最后由 568679112 于 2014-2-3 09:28 编辑

1,提取资料
从necp上下载下来shum,uwnd,vwnd和pres的月平均资料,然后提取资料如下:
提取shum:
  1. 'reinit'
  2. mon.1=Jan;mon.2=Feb;mon.3=Mar;mon.4=Apr;mon.5=May;mon.6=Jun;
  3. mon.7=Jul;mon.8=Aug;mon.9=Sep;mon.10=Oct;mon.11=Nov;mon.12=Dec
  4. 'sdfopen e:/lunwen/ziliao/shum.mon.mean.nc'
  5. 'set gxout fwrite'
  6. imon=1
  7. while(imon<=12)
  8. 'set fwrite e:/sst/ex1/sqtl/'mon.imon'_shum.grd'
  9. y=1948
  10. y1=1971
  11. y2=2010
  12. while(y1<=y2)
  13. ta=(y1-y)*12+imon
  14. 'set t 'ta''
  15. nz=1
  16. while(nz<=8)
  17. 'set z 'nz''
  18. 'set x 1 144'
  19. 'set y 1 73'
  20. 'd shum'
  21. nz=nz+1
  22. endwhile
  23. y1=y1+1
  24. endwhile
  25. 'disable fwrite'
  26. imon=imon+1
  27. endwhile
  28. ;


提取u,v和pres类似,只是pres只有一层,所以不用z循环了。

2.写这些提取出来资料的ctl,由于我提取的为每种资料各个月份的,所以ctl为单个月份40年的:
dset e:/sst/ex1/sqtl/jan_shum.grd
undef  -9.99e+8
xdef           144 linear  0 2.5
ydef           73 linear  -90 2.5
zdef 8 levels 1000  925 850 700 600 500 400 300
tdef           40 linear DEC1971 1yr
vars 1
shum  8  99  eigenvactors matrix of EOF
endvars
(要注意里面的层数,是8层,vars那里的8要对应层数,我一开始没注意,在这里吃力好多苦头,整了2个小时没弄出来,后来想放弃了,在论坛里不经意看到才弄出来)

u和v的ctl类似的,pres的ctl为:
dset e:/sst/ex1/sqtl/jan_pres.grd
undef  -9.99e+8
xdef           144 linear  0 2.5
ydef           73 linear  -90 2.5
zdef 1 linear 1 1
tdef           40 linear DEC1971 1yr
vars 1
p  0  99  eigenvactors matrix of EOF
endvars
(这里的vars下面的层数要写0代表1层,我一开始写了1,也是怎么弄也弄不出来!!!)

3.逐层水汽通量,是根据论坛里大一个大侠的帖子写的:
  1. *flying_nuist
  2. 'reinit'
  3. 'open e:\sst\ex1\sqtl\jan_uwnd.ctl'
  4. 'open e:\sst\ex1\sqtl\jan_vwnd.ctl'
  5. 'open e:\sst\ex1\sqtl\jan_shum.ctl'
  6. 'set fwrite e:\sst\ex1\sqtl\quv1.grd'
  7. 'set gxout fwrite'
  8. y1=1
  9. while(y1<=40)
  10. nz=1
  11. while(nz<=8)
  12. 'set z 'nz''
  13. 'set t 'y1''
  14. 'set y 1 73'
  15. 'set x 1 144'
  16. 'define qu=u*shum.3/9.8'
  17. 'd qu'
  18. nz=nz+1
  19. endwhile

  20. nz=1
  21. while(nz<=8)
  22. 'set z 'nz''
  23. 'set t 'y1''
  24. 'set y 1 73'
  25. 'set x 1 144'
  26. 'define qv=v.2*shum.3/9.8'
  27. 'd qv'
  28. nz=nz+1
  29. endwhile

  30. nz=1
  31. while(nz<=8)
  32. 'set z 'nz''
  33. 'set t 'y1''
  34. 'set y 1 73'
  35. 'set x 1 144'
  36. 'define qu=u*shum.3/9.8'
  37. 'define qv=v.2*shum.3/9.8'
  38. 'd hdivg(qu,qv)'
  39. nz=nz+1
  40. endwhile
  41. y1=y1+1
  42. endwhile
  43. 'disable fwrite'
  44. 'reinit'
  45. ;




对应的ctl为:
dset e:/sst/ex1/sqtl/quv1.grd
undef  -9.99e+8
xdef           144 linear  0 2.5
ydef           73 linear  -90 2.5
zdef 8 levels 1000  925 850 700 600 500 400 300
tdef           40 linear DEC1971 1yr
vars 3
qu   8  99  eigenvactors matrix of EOF
qv   8  99  eigenvactors matrix of EOF
quv  8  99  eigenvactors matrix of EOF
endvars
(注意层数)

4.整层水汽通量和散度为(也是根据上面提到的那位大侠写得):
  1. *flying_nuist
  2. 'reinit'
  3. 'open e:\sst\ex1\sqtl\quv1.ctl'
  4. 'open e:\sst\ex1\sqtl\jan_pres.ctl'
  5. 'set fwrite e:\sst\ex1\sqtl\quv1_all.grd'
  6. 'set gxout fwrite'
  7. ta=1
  8. while(ta<=40)
  9. 'set t 'ta''
  10. 'set z 1'
  11. 'set y 1 73'
  12. 'set x 1 144'
  13. 'define qua=vint(p.2,qu,300)*9.8'
  14. 'define qva=vint(p.2,qv,300)*9.8'
  15. 'd qua'

  16. 'd qva'

  17. 'd hdivg(qua,qva)'
  18. ta=ta+1
  19. endwhile
  20. 'disable fwrite'
  21. 'reinit'
  22. ;


对应ctl:
dset e:/sst/ex1/sqtl/quv1_all.grd
undef  -9.99e+8
xdef           144 linear  0 2.5
ydef           73 linear  -90 2.5
zdef 1 linear 0 1
tdef           40 linear DEC1971 1yr
vars 3
qua   0  99  eigenvactors matrix of EOF
qva   0  99  eigenvactors matrix of EOF
quva  0  99  eigenvactors matrix of EOF
endvars
(也是注意层数,今天主要被ctl里的层数正懵了,所以老提醒层数!!!!!!!!!!)

5.出图gs:
'reinit'
'open e:/sst/ex1/sqtl/quv1_all.ctl'
*'set gxout stream'

'set lat 0 60'
'set lon 20 150'
'set gxout shaded'
'define a=ave(qua,t=1,t=40)'
'define b=ave(qva,t=1,t=40)'
'd sqrt(a*a+b*b)'
'set gxout vector'
'd a;b'
;
贴个图看看(还没修饰):











图中400000数值的单位为(g/m.s)

图中400000数值的单位为(g/m.s)

评分

参与人数 4金钱 +53 贡献 +16 收起 理由
songjinb + 5 很给力!
mofangbao + 15 + 5
Aires + 18 + 6 赞一个!
言深深 + 15 + 5 赞一个!

查看全部评分

密码修改失败请联系微信:mofangbao

新浪微博达人勋

 成长值: 0
发表于 2014-1-28 14:42:19 | 显示全部楼层
新春快乐,万事如意!
密码修改失败请联系微信:mofangbao

新浪微博达人勋

 楼主| 发表于 2014-1-28 14:45:43 | 显示全部楼层
密码修改失败请联系微信:mofangbao

新浪微博达人勋

发表于 2014-1-28 15:04:59 | 显示全部楼层
经验帖要顶!
密码修改失败请联系微信:mofangbao

新浪微博达人勋

 楼主| 发表于 2014-1-28 15:12:18 | 显示全部楼层

密码修改失败请联系微信:mofangbao

新浪微博达人勋

发表于 2014-1-28 17:50:56 | 显示全部楼层
顶一个,多多共享!
密码修改失败请联系微信:mofangbao

新浪微博达人勋

发表于 2014-1-29 01:54:38 | 显示全部楼层
ding
密码修改失败请联系微信:mofangbao

新浪微博达人勋

发表于 2014-2-3 09:01:14 | 显示全部楼层
好东西啊!!
密码修改失败请联系微信:mofangbao

新浪微博达人勋

发表于 2014-2-7 12:46:02 | 显示全部楼层
新年快乐
密码修改失败请联系微信:mofangbao

新浪微博达人勋

发表于 2014-2-21 14:08:10 | 显示全部楼层
顶~~
密码修改失败请联系微信:mofangbao
您需要登录后才可以回帖 登录 | 立即注册 新浪微博登陆

本版积分规则

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

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

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