- 积分
- 1925
- 贡献
-
- 精华
- 在线时间
- 小时
- 注册时间
- 2013-5-2
- 最后登录
- 1970-1-1
|
登录后查看更多精彩内容~
您需要 登录 才可以下载或查看,没有帐号?立即注册
x
begin
a = addfile("F:/Data/Data_wrf/89hbj/wrfoutd03_89KFW.nc","r")
type = "png"
wks = gsn_open_wks(type,"plt_PressureLevel3")
gsn_define_colormap(wks,"WhBlGrYeRe")
res = True
res@MainTitle = "REAL-TIME WRF"
pltres = True
mpres = True
; times = wrf_user_list_times(a)
times = wrf_user_getvar(a,"times",-1)
ntimes = dimsizes(times) ; number of times in the file
tc = wrf_user_getvar(a,"tc",-1) ; T in C
u = wrf_user_getvar(a,"ua",-1) ; u averaged to mass points
v = wrf_user_getvar(a,"va",-1) ; v averaged to mass points
p = wrf_user_getvar(a,"pressure",-1) ;
rh = wrf_user_getvar(a,"rh",-1) ; relative humidity;
z = wrf_user_getvar(a,"height",-1)
pressure_levels = (/ 1000.,950.,900.,850.,800.,750.,700.,650.,600.,550.,500.,450.,400.,\
350.,300.,250.,200.,150.,100./) ; pressure levels to plot
nlevels = dimsizes(pressure_levels) ; number of pressure levels
tc_plane = wrf_user_intrp3d(tc,p,"h",pressure_levels,0.,False)
u_plane = wrf_user_intrp3d( u,p,"h",pressure_levels,0.,False)
v_plane = wrf_user_intrp3d( v,p,"h",pressure_levels,0.,False)
p_plane = wrf_user_intrp3d( p,p,"h",pressure_levels,0.,False)
z_plane = wrf_user_intrp3d( z,p,"h",pressure_levels,0.,False)
rh_plane = wrf_user_intrp3d(rh,p,"h",pressure_levels,0.,False)
spd = (u_plane*u_plane + v_plane*v_plane)^(0.5) ;
; print(spd)
spd@description = "Wind Speed"
spd@units = "m/s"
tk=tc_plane+273.166 ;C to K
p := conform(tc_plane,pressure_levels,1) ;
;>-----------------------------------------------------------------------------------<
;*计算水汽通量散度
;>-----------------------------------------------------------------------------------<
es=6.112*exp(17.67*(tk-273.15)/(tk-29.65)) ;饱和水汽压(Tetens公式)
q=rh_plane*(0.62197*es/(p-es))/100.
wvflux= q*1000*spd/9.87 ;
wvflux@description = "moisture flux"
copy_VarCoords(tc_plane,wvflux) ; assign coordinatesMeteorologi
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
do it = 36,36,6 ; TIME LOOP
; it = 0,ntimes-1,1 ; TIME LOOP
print("Working on time: " + times(it))
res@TimeLabel = times(it)
do level = 3,3,1 ; LOOP OVER LEVELS
; do level = 0,nlevels-1 ; LOOP OVER LEVELS
pressure = pressure_levels(level)
; Add some level info to the plot
res@PlotLevelID = pressure + " hPa"
; Plotting options for wvflux
opts = res
opts@cnFillOn = True
opts@pmLabelBarOrthogonalPosF = -0.1
contour_wvflux= wrf_contour(a,wks,wvflux(it,level,:,:),opts)
plot = wrf_map_overlays(a,wks,contour_wvflux,pltres,mpres)
delete(opts)
end do
; end do
end do ; END OF TIME LOOP
delete(u)
delete(v)
delete(tc)
delete(tk)
delete(wvflux)
end
错误提示为fatal:NclMalloc Failed:[errno=12]
请帮忙指点一下到底哪里错了啊?
|
|