- 积分
- 55960
- 贡献
-
- 精华
- 在线时间
- 小时
- 注册时间
- 2011-6-21
- 最后登录
- 1970-1-1
|
楼主 |
发表于 2015-10-9 10:47:49
|
显示全部楼层
本帖最后由 MeteoInfo 于 2017-4-24 10:05 编辑
更新了MeteoInfoLab使其能进行多次螺旋度等的运算,下面的例子演示了计算多层垂直螺旋度并绘制垂直分布图。lx1是北纬40度的剖面数据,y轴为气压,在追踪等值线前先用p2h函数转为高度,或者用其它的方式(等距或者等气压,需要确保y轴的值是递增的)。
脚本程序:
- print 'Open data files...'
- f_uwnd = addfile('D:/Temp/nc/uwnd.2011.nc')
- f_vwnd = addfile('D:/Temp/nc/vwnd.2011.nc')
- f_omega = addfile('D:/Temp/nc/omega.2011.nc')
- print 'Calculate vertical helicity...'
- tidx = 173 # Jun 23, 2011
- t = f_uwnd.gettime(tidx)
- level = '1000:100'
- lat = '15:55'
- lon = '70:135'
- uwnd = f_uwnd['uwnd'][tidx,level,lat,lon][:,::-1,:]
- vwnd = f_vwnd['vwnd'][tidx,level,lat,lon][:,::-1,:]
- omega = f_omega['omega'][tidx,level,lat,lon][:,::-1,:]
- wd = hcurl(uwnd, vwnd)
- lx = -(wd*omega*10.)/12.64*1e6
- lx1 = lx[:,'40',:]
- lev1 = lx1.dimvalue(0)
- #lev2 = 1000 - lev1
- lev2 = meteo.p2h(lev1)
- levels = []
- for j in range(0, len(lev1)):
- levels.append('%i' % lev1[j])
- lx1.setdimvalue(0, lev2)
- print 'Plot...'
- layer = contourf(lx1, 20)
- title('Vertical helicity (' + t.strftime('%Y-%m-%d') + ')')
- yticks(lev2, levels)
- xlabel('Longitude')
- ylabel('Pressure (hPa)')
- colorbar(layer)
|
|