爱气象,爱气象家园! 

气象家园

 找回密码
 立即注册

QQ登录

只需一步,快速开始

新浪微博登陆

只需一步, 快速开始

搜索
楼主: mofangbao

[分享资料] GrADS计算湿位涡全套程序

  [复制链接]

新浪微博达人勋

发表于 2013-11-26 15:24:18 | 显示全部楼层
清风大师,我参考了您分享的gs,然后修改了自己的gs文件,可是到最后算出来的mpv值不管什么时次、层次全是0。检查好久,实在是不知道哪一块出错了,想向您请教,麻烦您抽空帮我看一下,万分谢谢!~'reinit'
'set gxout fwrite'
'set fwrite D:\keyan\fnl\vars\05\mpv.dat'
'open D:\keyan\fnl\vars\05\eqt.ctl'
'open D:\keyan\fnl\vars\05\uwind.ctl'
'open D:\keyan\fnl\vars\05\vwind.ctl'
it=1
while(it<=124)

'set x 1 181'
'set y 1 181'
'set t 'it''
'define thetse=eqt.1'
'define u=ugrdprs.2'
'define v=vgrdprs.3'

****************************1000等压面
'set lev 1000'
lev1=1000
lev2=975
'define f=2*7.292*sin(lat*3.14159/180)*1e-05'
'define g=9.8'
'define dp=2500.0'
'define dthetse=thetse(lev='lev1')-thetse(lev='lev2')'
'define du=u(lev='lev1')-u(lev='lev2')'
'define dv=v(lev='lev1')-v(lev='lev2')'
'define dx=2*6.37e6*cos(lat*3.1415926/180.0)*3.1416/180.0'
'define dy=2*6.37e6*3.1416/180.0'
'define dtx=cdiff(thetse,x)'
'define dty=cdiff(thetse,y)'
'define mpv1=-g*(hcurl(u,v)+f)*dthetse/dp'
'define mpv2=g*((dv/dp)*(dtx/dx)-(du/dp)*(dty/dy))'
'define mpv=mpv1+mpv2'
'd mpv'
******************************此段为间隔为25等压面层次
iz=1
while(iz<=3)

level=1000-iz*25
lev1=1000-(iz-1)*25
lev2=1000-(iz+1)*25
'set lev 'level''
'define f=2*7.292*sin(lat*3.14159/180)*1e-05'
'define g=9.8'
'define dp=5000.0'
'define dthetse=thetse(lev='lev1')-thetse(lev='lev2')'
'define du=u(lev='lev1')-u(lev='lev2')'
'define dv=v(lev='lev1')-v(lev='lev2')'
'define dx=2*6.37e6*cos(lat*3.1415926/180.0)*3.1416/180.0'
'define dy=2*6.37e6*3.1416/180.0'
'define dtx=cdiff(thetse,x)'
'define dty=cdiff(thetse,y)'
'define mpv1=-g*(hcurl(u,v)+f)*dthetse/dp'
'define mpv2=g*((dv/dp)*(dtx/dx)-(du/dp)*(dty/dy))'
'define mpv=mpv1+mpv2'
'd mpv'
iz=iz+1
endwhile

******************此段为间隔为50等压面层次
iz=2
while(iz<=17)

level=1000-iz*50
lev1=1000-(iz-1)*50
lev2=1000-(iz+1)*50
'set lev 'level''
'define f=2*7.292*sin(lat*3.14159/180)*1e-05'
'define g=9.8'
'define dp=10000.0'
'define dthetse=thetse(lev='lev1')-thetse(lev='lev2')'
'define du=u(lev='lev1')-u(lev='lev2')'
'define dv=v(lev='lev1')-v(lev='lev2')'
'define dx=2*6.37e6*cos(lat*3.1415926/180.0)*3.1416/180.0'
'define dy=2*6.37e6*3.1416/180.0'
'define dtx=cdiff(thetse,x)'
'define dty=cdiff(thetse,y)'
'define mpv1=-g*(hcurl(u,v)+f)*dthetse/dp'
'define mpv2=g*((dv/dp)*(dtx/dx)-(du/dp)*(dty/dy))'
'define mpv=mpv1+mpv2'
'd mpv'
iz=iz+1
endwhile

******************************100等压面
'set lev 100'
lev1=150
lev2=100
'define f=2*7.292*sin(lat*3.14159/180)*1e-05'
'define g=9.8'
'define dp=5000.0'
'define dthetse=thetse(lev='lev1')-thetse(lev='lev2')'
'define du=u(lev='lev1')-u(lev='lev2')'
'define dv=v(lev='lev1')-v(lev='lev2')'
'define dx=2*6.37e6*cos(lat*3.1415926/180.0)*3.1416/180.0'
'define dy=2*6.37e6*3.1416/180.0'
'define dtx=cdiff(thetse,x)'
'define dty=cdiff(thetse,y)'
'define mpv1=-g*(hcurl(u,v)+f)*dthetse/dp'
'define mpv2=g*((dv/dp)*(dtx/dx)-(du/dp)*(dty/dy))'
'define mpv=mpv1+mpv2'
'd mpv'
it=it+1
endwhile

'disable fwrite'
;
密码修改失败请联系微信:mofangbao

新浪微博达人勋

0
早起挑战累计收入
 楼主| 发表于 2013-11-26 19:30:56 | 显示全部楼层

这个程序也不是我写的  我也是分享一下  抱歉不能给你更多的帮助
密码修改失败请联系微信:mofangbao

新浪微博达人勋

发表于 2013-11-26 19:37:28 | 显示全部楼层
很好啊,可以学习一下
密码修改失败请联系微信:mofangbao

新浪微博达人勋

发表于 2013-11-27 10:28:04 | 显示全部楼层
mofangbao 发表于 2013-11-26 19:30
这个程序也不是我写的  我也是分享一下  抱歉不能给你更多的帮助

没事,谢谢您啊~~~
密码修改失败请联系微信:mofangbao

新浪微博达人勋

发表于 2013-11-28 10:57:54 | 显示全部楼层
厄,我醉了
密码修改失败请联系微信:mofangbao

新浪微博达人勋

发表于 2013-11-28 14:58:53 | 显示全部楼层
apple973 发表于 2013-11-28 14:47
谢谢分享,打算带走

谢谢分享,可惜我没权限哪
密码修改失败请联系微信:mofangbao

新浪微博达人勋

发表于 2013-12-2 17:46:20 | 显示全部楼层
请问PV1和PV2分别代表什么呀?湿位涡是将它俩相加吗?谢谢!
密码修改失败请联系微信:mofangbao

新浪微博达人勋

发表于 2013-12-13 14:33:50 | 显示全部楼层
好东西,收了
密码修改失败请联系微信:mofangbao

新浪微博达人勋

发表于 2014-1-11 21:33:10 | 显示全部楼层
谢谢
密码修改失败请联系微信:mofangbao

新浪微博达人勋

发表于 2014-1-12 22:20:40 | 显示全部楼层
谢谢分享,下载学习啊
密码修改失败请联系微信:mofangbao
您需要登录后才可以回帖 登录 | 立即注册 新浪微博登陆

本版积分规则

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

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

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