- 积分
- 55965
- 贡献
-
- 精华
- 在线时间
- 小时
- 注册时间
- 2011-6-21
- 最后登录
- 1970-1-1
|
登录后查看更多精彩内容~
您需要 登录 才可以下载或查看,没有帐号?立即注册
x
本帖最后由 MeteoInfo 于 2016-12-6 14:33 编辑
用ncep数据计算水汽通量散度的脚本。需要air, uwnd, vwnd和rhum变量。数据是4维数据,需要固定时间维和高度维。脚本中用到几个内置的函数:cdiff, hdivg和magnitude,和GrADS中同名函数的作用一样。计算出来的水汽通量散点单位应该是:kg/(s•cm2•hPa)。
脚本程序如下:
- print 'Open data files...'
- f_air = addfile('D:/Temp/nc/air.2011.nc')
- f_uwnd = addfile('D:/Temp/nc/uwnd.2011.nc')
- f_vwnd = addfile('D:/Temp/nc/vwnd.2011.nc')
- f_rhum = addfile('D:/Temp/nc/rhum.2011.nc')
- print 'Read data array...'
- tidx = 173 # Jun 23, 2011
- t = f_air.gettime(tidx)
- lidx = 3 # 700 hPa
- air = f_air['air'][tidx,lidx,:,:]
- uwnd = f_uwnd['uwnd'][tidx,lidx,:,:]
- vwnd = f_vwnd['vwnd'][tidx,lidx,:,:]
- rhum = f_rhum['rhum'][tidx,lidx,:,:]
- # Calculate
- print 'Calculate...'
- prs = 700
- g = 9.8
- es = 6.112*exp(17.67*(air-273.16)/(air-29.65))
- qs = 0.62197*es/(prs-0.378*es)
- q = qs*rhum/100
- qhdivg = hdivg(q*uwnd/g,q*vwnd/g)
- #Plot
- print 'Plot...'
- axesm()
- mlayer = shaperead('D:/Temp/map/country1.shp')
- geoshow(mlayer, edgecolor='black')
- layer = contourfm(qhdivg, cmap='grads_rainbow')
- title('Water Vapor Flux Divergency (' + t.strftime('%Y-%m-%d') + ')')
- colorbar(layer)
- xlim(0, 360)
- ylim(-90, 90)
结果图:
|
|