- 积分
- 1779
- 贡献
-
- 精华
- 在线时间
- 小时
- 注册时间
- 2016-1-15
- 最后登录
- 1970-1-1
|
登录后查看更多精彩内容~
您需要 登录 才可以下载或查看,没有帐号?立即注册
x
各位,为什么我用模式算的数据画出来的图是这样的,有锯齿边缘的空白,要怎么解决,我画了一下700hpa的就不会出现这种情况
load "$NCARG_ROOT/lib/ncarg/nclscripts/csm/gsn_code.ncl"
load "$NCARG_ROOT/lib/ncarg/nclscripts/wrf/WRFUserARW.ncl"
load "$NCARG_ROOT/lib/ncarg/nclscripts/csm/gsn_csm.ncl"
begin
a = addfile("/home/models/shuchu/201524h/wrfout_d01_2015-11-21_12:00:00.nc","r")
type = "png"
wks = gsn_open_wks(type,"/home/models/shuchu/201524h/plt_PressureLevel2")
res = True
res@MainTitle = "REAL-TIME WRF"
res@Footer = False
pltres = True
mpres = True
mpres@mpGeophysicalLineColor = "Black"
mpres@mpNationalLineColor = "Black"
mpres@mpUSStateLineColor = "Black"
mpres@mpGridLineColor = "Black"
mpres@mpLimbLineColor = "Black"
mpres@mpPerimLineColor = "Black"
mpres@mpGeophysicalLineThicknessF = 1.0
mpres@mpGridLineThicknessF = 1.0
mpres@mpLimbLineThicknessF = 1.0
mpres@mpNationalLineThicknessF = 1.0
mpres@mpUSStateLineThicknessF = 1.0
mpres@mpDataBaseVersion ="MediumRes"
mpres@mpDataSetName ="/home/models/shuchu/ncl/Earth..4"
mpres@mpAreaMaskingOn = True
mpres@mpMaskAreaSpecifiers = (/"China"/)
; mpres@mpOutlineSpecifiers=(/"China","Beijing Shi","Tianjin Shi","Shanxi","Hebei","Shandong","Nei Mongol"/)
mpres@mpOutlineSpecifiers =(/"China","China:Provinces"/)
times = wrf_user_getvar(a,"times",-1) ; get all times in the file
ntimes = dimsizes(times) ; number of times in the file
pressure_levels = (/ 850., 700., 500., 300./) ; pressure levels to plot
nlevels = dimsizes(pressure_levels) ; number of pressure levels
do it = 0,ntimes-1,1 ; TIME LOOP
print("Working on time: " + times(it) )
res@TimeLabel = times(it) ; Set Valid time to use on plots
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
u10 = a->U10(it,:,:)
v10 = a->V10(it,:,:)
do level = 0,nlevels-1 ; LOOP OVER LEVELS
pressure = pressure_levels(level)
tc_plane = wrf_user_intrp3d(tc,p,"h",pressure,0.,False)
z_plane = wrf_user_intrp3d( z,p,"h",pressure,0.,False)
z_plane = z_plane/10
z_plane@units = "dagpm"
rh_plane = wrf_user_intrp3d(rh,p,"h",pressure,0.,False)
u_plane = wrf_user_intrp3d( u,p,"h",pressure,0.,False)
v_plane = wrf_user_intrp3d( v,p,"h",pressure,0.,False)
wrf_smooth_2d(tc_plane,5)
wrf_smooth_2d(z_plane,5)
wrf_smooth_2d(rh_plane,5)
wrf_smooth_2d(u_plane,5)
wrf_smooth_2d(v_plane,5)
wrf_smooth_2d(tc_plane,5)
wrf_smooth_2d(z_plane,5)
wrf_smooth_2d(rh_plane,5)
wrf_smooth_2d(u_plane,5)
wrf_smooth_2d(v_plane,5)
wrf_smooth_2d(tc_plane,5)
wrf_smooth_2d(z_plane,5)
wrf_smooth_2d(rh_plane,5)
wrf_smooth_2d(u_plane,5)
wrf_smooth_2d(v_plane,5)
wrf_smooth_2d(tc_plane,5)
wrf_smooth_2d(z_plane,5)
wrf_smooth_2d(rh_plane,5)
wrf_smooth_2d(u_plane,5)
wrf_smooth_2d(v_plane,5)
spd = (u_plane*u_plane + v_plane*v_plane)^(0.5) ; m/sec
spd@description = "Wind Speed"
spd@units = "m/s"
u_plane = u_plane*1.94386 ; kts
v_plane = v_plane*1.94386 ; kts
u_plane@units = "kts"
v_plane@units = "kts"
rh_plane=rh_plane
; Plotting options for T
opts = res
opts@cnLineColor = "Red"
opts@ContourParameters = (/ 5.0 /)
opts@cnInfoLabelOrthogonalPosF = 0.07 ; offset second label information
opts@gsnContourLineThicknessesScale = 2.0
contour_tc = wrf_contour(a,wks,tc_plane,opts)
delete(opts)
; Plotting options for RH
opts = res
opts@cnFillOn = True
opts@pmLabelBarOrthogonalPosF = -0.1
opts@ContourParameters = (/ 10., 90., 10./)
opts@cnFillColors = (/"White","White","White", \
"White","Chartreuse","Green",\
"Green3","Green4", \
"ForestGreen","PaleGreen4"/)
contour_rh = wrf_contour(a,wks,rh_plane,opts)
delete(opts)
; Plotting options for Wind Speed
opts = res
opts@cnLineColor = "MediumSeaGreen"
opts@ContourParameters = (/ 10. /)
opts@cnInfoLabelOrthogonalPosF = 0.07 ; offset second label information
opts@gsnContourLineThicknessesScale = 3.0
contour_spd = wrf_contour(a,wks,spd,opts)
delete(opts)
; Plotting options for Wind Vectors
opts =True
; opts@FieldTitle = "Wind" ; overwrite Field Title
; opts@NumVectors = 47 ; wind barb density
opts@gsnDraw = False ; don't draw
opts@gsnFrame = False ; don't advance frame
opts@gsnLeftString = ""
opts@gsnRightString = ""
opts@vcRefMagnitudeF = 20. ; make vectors larger
opts@vcRefLengthF = 0.020 ; ref vec length
opts@vcGlyphStyle = "WindBarb" ; select wind barbs
opts@vcMinDistanceF = 0.03 ; thin out windbarbs
opts@vcWindBarbScaleFactorF = 2.5
opts@vcRefAnnoOn = False ; remove reference vector
opts@vcRefAnnoPerimOn = False ; remove reference box
opts@vcRefAnnoString2 = " " ; remove "reference vector"
vector = gsn_csm_vector(wks,u10,v10,opts)
delete(opts)
; Plotting options for Geopotential Heigh
opts_z = res
opts_z@cnLineColor = "Blue"
opts_z@gsnContourLineThicknessesScale = 3.0
; MAKE PLOTS
if ( pressure .eq. 850 ) then ; plot temp, rh, height, wind barbs
; opts_z@ContourParameters = (/ 10.0 /)
opts_z@cnLevelSpacingF = 1
opts_z@cnLineLabelPlacementMode = "Computed"
opts_z@cnLineLabelInterval = 1
opts_z@cnLineLabelPerimOn = False
opts_z@cnLineLabelFontHeightF = 0.009
contour_height = wrf_contour(a,wks,z_plane,opts_z)
plot = wrf_map_overlays(a,wks,(/contour_tc,contour_height, \
contour_rh,vector/),pltres,mpres)
end if
if ( pressure .eq. 700 ) then ; plot temp, height, wind barbs
opts_z@ContourParameters = (/ 30.0 /)
contour_height = wrf_contour(a,wks, z_plane,opts_z)
; plot = wrf_map_overlays(a,wks,(/contour_tc,contour_height, \
; vector/),pltres,mpres)
end if
if ( pressure .eq. 500 ) then ; plot temp, height, wind barbs
opts_z@ContourParameters = (/ 60.0 /)
contour_height = wrf_contour(a,wks, z_plane,opts_z)
; plot = wrf_map_overlays(a,wks,(/contour_tc,contour_height, \
; vector/),pltres,mpres)
end if
if ( pressure .eq. 300 ) then ; plot windspeed, height, wind barbs
opts_z@ContourParameters = (/ 60.0 /)
contour_height = wrf_contour(a,wks, z_plane,opts_z)
; plot = wrf_map_overlays(a,wks,(/contour_spd,contour_height, \
; vector/),pltres,mpres)
end if
delete(opts_z)
end do ; END OF LEVEL LOOP
end do ; END OF TIME LOOP
end
|
-
|