请选择 进入手机版 | 继续访问电脑版
爱气象,爱气象家园! 

气象家园

 找回密码
 立即注册

QQ登录

只需一步,快速开始

新浪微博登陆

只需一步, 快速开始

搜索
查看: 3458|回复: 2

[图形美化] 波动通量的计算

[复制链接]

新浪微博达人勋

发表于 2018-4-15 21:44:06 | 显示全部楼层 |阅读模式

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

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

x
'reinit'
* change the directory name
* u (daily-mean field)
'sdfopen c:/1/uwnd.2017.nc'
* height (daily-mean field)
'sdfopen c:/1/hgt.2017.nc'

*  gas constant
'define Ra=290'
* earth radius
'define a=6400000'

'define dlat = cdiff(lat,y)*3.1415/180'
'define dlon = cdiff(lon,x)*3.1415/180'
'define coslat = cos(lat*3.1415/180)'
'define sinlat = sin(lat*3.1415/180)'
* Coriolis parameter
'define f = 2*7.24/100000*sinlat'
'define g=9.8'

* unit [hPa]
'set lev 850'

* For drawing polar projection map
'set lon -5 365'

* Used for judgement whether the latitude is westerly or easterly
'define uclm = ave(ave(uwnd.1,lon=0,lon=360,-b),time=01sep2017,time=30sep2017)'

'define zclm = ave(ave(hgt.2,lon=0,lon=360,-b),time=01sep2017,time=30sep2017)'

* deviation from zonal-mean field
'define za=ave(hgt.2,time=01sep2017,time=30sep2017)-zclm'

* QG stream function
'define psia=g/f*za'

'define dpsidlon = cdiff(psia,x)/dlon'
'define ddpsidlonlon = cdiff(dpsidlon,x)/dlon'

'define dpsidlat = cdiff(psia,y)/dlat'
'define ddpsidlatlat = cdiff(dpsidlat,y)/dlat'
'define ddpsidlatlon = cdiff(dpsidlat,x)/dlon'

'define termx = dpsidlon*dpsidlon-psia*ddpsidlonlon'
* error, found in 2013/11/25. (Thanks to Shengping HE)
*define termy = dpsidlon*dpsidlat-psia*ddpsidlonlon
'define termy = dpsidlon*dpsidlat-psia*ddpsidlatlon'

* "p" is normalized by 1000hPa
'define coeff=(lev/1000)/(2*a*a)'

*x-component
'define px = coeff/(coslat)*(termx)'

*y-component
'define py = coeff*termy'

'set gxout contour'
*set cint 30
'set black -0.1 0.1'

* QG stream-function
'set lon 0 180'
'set lat 10 90'
'd maskout( psia,  abs(lat)-10)'

* horizontal wave-activity flux
'set arrscl 0.5 10'

* maskout regions where
* (i) QG approximation is supposed to be invalid (lower latitudes)
* (ii) westerly wind speed is weak or negative
'd skip(px,2,0.5);maskout(maskout( py , abs(lat)-10),uclm-5)'

'draw title 850hpa WAF in 01-30 SEP 2017  '
'printim c:/1/DW850bo.png white'



用17年逐日的纬向风场和高度场资料,画波动通量,500hpa和200hpa的都可以出来好多纬向风矢量,但是850和925就算间隔取0.1都只能出来两行风矢量,这是为什么呢?

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

新浪微博达人勋

发表于 2018-4-17 18:43:00 | 显示全部楼层
你不是用了maskout函数吗,其他的可能都是不符合条件的,所以就没画出来吧
密码修改失败请联系微信:mofangbao

新浪微博达人勋

 楼主| 发表于 2018-4-18 10:25:42 | 显示全部楼层
river 发表于 2018-4-17 18:43
你不是用了maskout函数吗,其他的可能都是不符合条件的,所以就没画出来吧

对对,非常感谢,就是这个问题
密码修改失败请联系微信:mofangbao
您需要登录后才可以回帖 登录 | 立即注册 新浪微博登陆

本版积分规则

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

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

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