hi,
I want to overlay a vector figure on a contour figure, and the script can run without any warnings or errors,
but the output picture is blank. where it goes wrong?
Any suggestions will be appreciate.
Thanks.
JinQ
--
JinQ, M.S.
Ocean University of China
--
scripts:
load "$NCARG_ROOT/lib/ncarg/nclscripts/csm/gsn_code.ncl"
load "$NCARG_ROOT/lib/ncarg/nclscripts/csm/gsn_csm.ncl"
load "$NCARG_ROOT/lib/ncarg/nclscripts/csm/contributed.ncl"
load "$NCARG_ROOT/lib/ncarg/nclscripts/wrf/WRFUserARW.ncl"
begin
;
; The WRF ARW input file.
; This needs to have a ".nc" appended, so just do it.
a = addfile("wrfout_d03_2010-09-09_12:00:00o.nc","r")
type = "pdf"
; type = "eps"
wks = gsn_open_wks(type,"sh")
; Set some basic resources
res = True
res@gsnMaximize=True
res@gsnDraw = False ; let gsn_panel do plotting
res@gsnFrame = False
;res@pmTickMarkDisplayMode="Always"
res@tmXBTickSpacingF= 2
res@tmYLTickSpacingF= 2
res@tmXBLabelFontHeightF=0.025
res@tmYLLabelFontHeightF=0.025
res@tmXBMinorOn = False ; no lon minior tickmarks
res@tmYLMinorOn = False
res@mpDataSetName = "Earth..4"
res@mpDataBaseVersion = "MediumRes"
res@mpOutlineSpecifiers = (/"China:states","India","Taiwan"/)
res@mpLimitMode = "LatLon"
res@mpMinLatF = 22
res@mpMaxLatF = 28.1
res@mpMinLonF = 115.7
res@mpMaxLonF = 120.7
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
times = wrf_user_list_times(a) ; get times in the file
ntimes = dimsizes(times) ; number of times in the file
; The specific pressure levels that we want the data interpolated to.
pressure_levels = (/ 850., 200./) ; pressure levels to plot
nlevels = dimsizes(pressure_levels) ; number of pressure levels
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
do it = 12,ntimes-36,12 ; TIME LOOP
print("Working on time: " + times(it) )
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
tc = wrf_user_getvar(a,"tc",it) ; T in C
u = wrf_user_getvar(a,"ua",it) ; u averaged to mass points
v = wrf_user_getvar(a,"va",it) ; v averaged to mass points
p = wrf_user_getvar(a, "pressure",it) ; pressure is our vertical coordinate
z = wrf_user_getvar(a, "z",it) ; grid point height
rh = wrf_user_getvar(a,"rh",it) ; relative humidity
mdbz = wrf_user_getvar(a,(/"mdbz","1","1"/),it)
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
pressure0 = pressure_levels(0)
pressure1 = pressure_levels(1)
tc_plane = wrf_user_intrp3d(tc,p,"h",pressure0,0.,False)
; z_plane = wrf_user_intrp3d( z,p,"h",pressure,0.,False)
rh_plane0 = wrf_user_intrp3d(rh,p,"h",pressure0,0.,False)
u_plane0 = wrf_user_intrp3d( u,p,"h",pressure0,0.,False)
v_plane0 = wrf_user_intrp3d( v,p,"h",pressure0,0.,False)
rh_plane1 = wrf_user_intrp3d(rh,p,"h",pressure1,0.,False)
u_plane1 = wrf_user_intrp3d( u,p,"h",pressure1,0.,False)
v_plane1 = wrf_user_intrp3d( v,p,"h",pressure1,0.,False)
rh_plane=rh_plane0
u_plane=u_plane1-u_plane0
v_plane=v_plane1-v_plane0
u_plane = u_plane*1.94386 ; kts
v_plane = v_plane*1.94386 ; kts
u_plane@units = "kts"
v_plane@units = "kts"
wind=(/ ((u_plane)^2+(v_plane)^2)^0.5 /)
lat2d=a->XLAT(0,:,:)
lon2d=a->XLONG(0,:,:)
u_plane@lat2d=lat2d
u_plane@lon2d=lon2d
v_plane@lat2d=lat2d
v_plane@lon2d=lon2d
rh_plane@lat2d=lat2d
rh_plane@lon2d=lon2d
tc_plane@lat2d=lat2d
tc_plane@lon2d=lon2d
mdbz@lat2d=lat2d
mdbz@lon2d=lon2d
; Plotting options for dbz
opts = res
opts@cnFillOn = True
opts@cnLinesOn= False
opts@cnLevelSelectionMode = "ExplicitLevels"
opts@cnLevels = (/ 10,15,20,25,30,35,40,45/)
opts@cnFillColors = (/"White","DarkOliveGreen1", \
"DarkOliveGreen3","Chartreuse", \
"Chartreuse3","Green","ForestGreen", \
"Yellow","Orange","Red","Violet"/)
opts@lbTitleFontHeightF = 0.02
opts@lbLabelFontHeightF = 0.015
opts@lbTitleOffsetF = -0.5
opts@lbLabelAutoStride = True
contour_dbz = gsn_csm_contour_map(wks,mdbz,opts)
delete(opts)
; Plotting options for Wind Vectors
opts = res
opts@vcGlyphStyle = "CurlyVector"
opts@vcMinDistanceF =0.02
opts@vcRefLengthF = 0.045
opts@vcRefMagnitudeF = 20.0
opts@vcRefAnnoOrthogonalPosF = -1.
opts@vcLevelSelectionMode = "ManualLevels"
opts@vcMinLevelValF = 8
opts@vcMaxLevelValF = 50.0
opts@vcLevelSpacingF = 10.0 ; 20.
vector = gsn_csm_vector_scalar(wks,u_plane,v_plane,wind,opts)
delete(opts)
overlay(contour_dbz,vector)
frame(wks)
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
end do ; END OF TIME LOOP
end
_______________________________________________
ncl-talk mailing list
List instructions, subscriber options, unsubscribe:
http://mailman.ucar.edu/mailman/listinfo/ncl-talk
Received on Mon Jan 9 03:52:26 2012
This archive was generated by hypermail 2.1.8 : Wed Jan 18 2012 - 09:21:55 MST