爱气象,爱气象家园! 

气象家园

 找回密码
 立即注册

QQ登录

只需一步,快速开始

新浪微博登陆

只需一步, 快速开始

搜索
查看: 62244|回复: 85

[分享资料] 求取水汽通量散度的一些gs文件

  [复制链接]

新浪微博达人勋

0
早起挑战累计收入
发表于 2011-6-21 19:20:00 | 显示全部楼层 |阅读模式

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

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

x
首先感谢3群的一位朋友给我提供了很多他用过的gs文件,这些文件就是从那里面得到了,如果这些文件对比有帮助,不妨也可以贴出你自己的gs文件,分享给大家,谢谢~

1、700hpa水汽通量散度(标准)

  1. 'reinit'
  2. 'open d:\12090.ctl'

  3. 'set lev 700'
  4. #'set lev 850'
  5. 'set lat 20 35'
  6. 'set lon 100 120'
  7. 'set t 5'
  8. 'set mpdset cnworld'
  9. 'set xlopts 1 4 0.15'
  10. 'set ylopts 1 4 0.15'
  11. 'set grads off'
  12. 'set timelab off'
  13. 'set grid off'

  14. #'tc=(tmpprs-273.16)'
  15. 'td=tc-((14.55+0.114*tc)*(1-0.01*rh) + pow((2.5+0.007*tc)*(1-0.01*rh),3) + (15.9+0.37*tc)*pow((1-0.01*rh),14))'
  16. 'vapr=6.112*exp((17.67*td)/(td+243.5))'
  17. 'e=vapr*1.001+(lev-100)/900*0.0034'
  18. 'define mixr=0.62137*(e/(lev-e))*1000'
  19. 'define qx=u*mixr'
  20. 'define qy=v*mixr'
  21. 'define mconv=hdivg(qx,qy)*1e6/9.8'
  22. #水汽通量的计算方法就是hdivg(q*v)/g,负值区就是水汽的辐合区。单位是g/cm2.hpa.s. 量级为10-6到10-7.
  23. #'define mconv=(-1)*hdivg(qx,qy)*1e6/9.8',这个在前面加-1就相反,正值区为辅合区
  24. 'enable print d:\tlsandu1.gmf'
  25. 'd mconv'
  26. 'print'
  27. 'disable print'
复制代码


2、水汽通量与等值线

  1. #该gs绘出水汽通量是阴影图
  2. 'reinit'
  3. 'open f:\tt.ctl'
  4. 'enable print d:\1243567788sqtl.gmf'
  5. #经纬度设置
  6. 'set lat 20 35 '
  7. 'set lon 100 120'
  8. 'set lev 700'
  9. #先设定时间循环
  10. t=1
  11. while(t<=9)
  12. 'c'
  13. 'set t 't''
  14. #设置图片角标底图
  15. 'set grads off'
  16. 'set grid off'
  17. 'set mpdset cnworld'
  18. #'set map  15 5 1'
  19. #'draw map'
  20. #设置划线格式
  21. #'set cthick 9'
  22. #'set xlopts 1 4 0.12'
  23. #'set ylopts 1 4 0.12'
  24. #'set cint 0.5'
  25. #★重点:编程水气通量的算法
  26. 'define prs=lev'
  27. #饱和水汽压的计算,单位:毫巴
  28. 'define es=6.112*exp(17.67*(Tk-273.15)/(Tk-29.65))'
  29. #饱和比湿的计算  单位:克/克
  30. 'define qs=0.622*es/(lev-0.278*es)'
  31. #rh是比湿,利用比湿求水汽
  32. 'define q=rh*qs/100'
  33. #a为|V|
  34. 'define a=sqrt(u*u+v*v)'
  35. #地球引力系数
  36. 'define g=9.8'
  37. #以阴影图显示,命令一直到run cbarn.gs
  38. 'set gxout shaded'
  39. 'set cmin 10'
  40. #10以上才画阴影图
  41. 'd a*q*1000/9.8'
  42. #本来是q*|V|/g,但这里q的单位为:克/克,而水汽通量中的q一般取克、千克,所以乘以1000
  43. #显示一下尺度标,画阴影图用
  44. 'run cbarn.gs'
  45. #set gxout contour是重新设定图形输出格式为二维等值线图,叠加在阴影上,所以一般先画阴影,再画等值线,不然阴影覆盖了等值线
  46. 'set gxout contour'
  47. 'set ccolor 0'
  48. 'set cmin 6'
  49. #只画值为6以上的等值线
  50. 'd a*q*1000/9.8'

  51. 'print'
  52. pull dummy
  53. t=t+1
  54. endwhile
  55. 'disable print'
复制代码


3、水汽通量-标准

  1. * This is a script for displaying moisture convergence
  2. * Written by Michael Maxwell
  3. *   
  4. * rh    = Relative Humidity in %
  5. * t     = Temp at *set level in degrees Kelvin
  6. * tc    = Temp in degrees C
  7. * td    = Dewpoint at *set level in degrees C
  8. * e     = Vapor pressure
  9. * mixr  = Mixing ratio
  10. * u     = U-wind in m/s
  11. * v     = V-wind in m/s
  12. * mconv = moisture convergence/divergence. convergence is positive and divergence is negative.
  13. 'reinit'
  14. 'open d:\12090.ctl'

  15. 'set lev 700'
  16. 'set lat 20 35'
  17. 'set lon 100 120'
  18. 'set t 5'
  19. 'set mpdset cnworld'
  20. 'set xlopts 1 4 0.15'
  21. 'set ylopts 1 4 0.15'
  22. 'set grads off'
  23. 'set timelab off'
  24. 'set grid off'

  25. #'tc=(tmpprs-273.16)'
  26. 'td=tc-((14.55+0.114*tc)*(1-0.01*rh) + pow((2.5+0.007*tc)*(1-0.01*rh),3) + (15.9+0.37*tc)*pow((1-0.01*rh),14))'
  27. 'vapr=6.112*exp((17.67*td)/(td+243.5))'
  28. 'e=vapr*1.001+(lev-100)/900*0.0034'
  29. 'define mixr=0.62137*(e/(lev-e))*1000/9.8'
  30. #通过此gs文件算出的水汽通量的单位是g/(cm.s),一般为 十几到几十
  31. 'define qx=u*mixr'
  32. 'define qy=v*mixr'
  33. 'define mconv=hdivg(qx,qy)*1e6'
  34. 'enable print d:\2lb-shuiqi900.gmf'
  35. 'set arrscl 1 500'
  36. #'set lon 124'
  37. #'set cmin 30'
  38. 'set gxout shaded'
  39. 'd mag(qx,qy)'
  40. #'set cmin 30'
  41. 'set gxout contour'
  42. 'd mag(qx,qy)'
  43. #'d theta'
  44. #'d skip(u,8);skip(v,8)'
  45. 'print'
  46. 'disable print'
复制代码



点评

http://www.mnmuc.org/viewthread.php?tid=15&extra=&page=1  发表于 2012-11-19 18:39
我看到sj版主在论坛上贴的一段计算水汽通量散度的代码是这样的: 'define prs=lev' 'define g=9.8' 'define es=(6.112*exp((17.67*(air.4-273.15))/(air.4-29.65)))' 'define qs=(0.62197*es/(prs-0.378*   发表于 2012-11-19 18:38
密码修改失败请联系微信:mofangbao

新浪微博达人勋

0
早起挑战累计收入
 楼主| 发表于 2012-4-27 21:16:01 | 显示全部楼层

对大家当然会有帮助啦,感谢你提供,当时找到这个脚本的时候直接就贴上来了
密码修改失败请联系微信:mofangbao

新浪微博达人勋

发表于 2011-6-21 19:33:19 | 显示全部楼层
在计算这些物理量的时候,NCL有比GrADS更大的优势,希望敢于尝试新事物的同志多多专研,一起多多交流!!!
密码修改失败请联系微信:mofangbao

新浪微博达人勋

发表于 2011-6-21 21:35:53 | 显示全部楼层
建议每种代码都说明一下用的是什么资料:lol

点评

恩,只是这些代码有的我也不是很清楚,收集的别人的,希望你们分享自己的代码时候写上哦,我能注释的一定注释,谢谢支持啊  发表于 2011-6-21 21:54
密码修改失败请联系微信:mofangbao

新浪微博达人勋

发表于 2011-6-21 23:25:24 | 显示全部楼层
好东东,谢谢分享了!
密码修改失败请联系微信:mofangbao

新浪微博达人勋

发表于 2011-7-2 00:44:26 | 显示全部楼层
楼主,你的.ctl文件所描述的是什么格式的文件,有没有NECP FNL格式文件的gs呀?
密码修改失败请联系微信:mofangbao

新浪微博达人勋

0
早起挑战累计收入
 楼主| 发表于 2011-7-2 09:07:01 | 显示全部楼层
飞雪残剑 发表于 2011-7-2 00:44
楼主,你的.ctl文件所描述的是什么格式的文件,有没有NECP FNL格式文件的gs呀?

fnl我没用过,如果是一般的nc是不需要ctl的,fnl的好像要导出ctl的,不知道是不是这样的
密码修改失败请联系微信:mofangbao

新浪微博达人勋

发表于 2011-7-18 01:03:23 | 显示全部楼层
分享了~~~:)谢谢楼主
密码修改失败请联系微信:mofangbao

新浪微博达人勋

发表于 2011-7-18 01:32:12 | 显示全部楼层
用的时候要注意,有的变量没有定义,例如rh,可以自己定义一下,'define rh=rhprs'
密码修改失败请联系微信:mofangbao

新浪微博达人勋

发表于 2011-7-19 19:18:44 | 显示全部楼层
有用的东东~~谢谢
密码修改失败请联系微信:mofangbao

新浪微博达人勋

发表于 2011-7-20 11:16:41 | 显示全部楼层
不知能否提供一个具体的例子,包括数据。我想用MeteoInfo写script试试能否做这项工作。
密码修改失败请联系微信:mofangbao
您需要登录后才可以回帖 登录 | 立即注册 新浪微博登陆

本版积分规则

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

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

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