- 积分
- 8280
- 贡献
-
- 精华
- 在线时间
- 小时
- 注册时间
- 2014-3-11
- 最后登录
- 1970-1-1
|

楼主 |
发表于 2014-8-22 11:03:44
|
显示全部楼层
还是不行啊!
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"
load "$NCARG_ROOT/lib/ncarg/nclscripts/csm/contributed.ncl"
begin
files=systemfunc("ls -1 wrfout_d01_2013-05*")
f=addfiles(files,"r")
ListSetType(f,"cat")
;printVarSummary(f)
wks = gsn_open_wks("png","wind_May_850hpa")
; Set some Basic Plot options
res=True
res@gsnAddCyclic = False
res@gsnMaximize = True
;res@gsnDraw = False
;res@gsnFrame = False
res@mpMinLatF = 16.
res@mpMaxLatF = 54.
res@mpMinLonF = 73.
res@mpMaxLonF = 135.
res@mpDataBaseVersion = "MediumRes"
res@mpDataSetName = "Earth..4"
res@mpOutlineOn = True ; Turn on map outlines
res@mpOutlineSpecifiers = (/"China","Taiwan"/) ;China:states
res@mpAreaMaskingOn = True ;cover it
res@mpMaskAreaSpecifiers = (/"China","Taiwan"/) ;China:states
res@mpLandFillColor = "white"
res@mpInlandWaterFillColor = "white"
res@mpOceanFillColor = "white"
res@mpOutlineBoundarySets = "NoBoundaries"
res@mpFillDrawOrder = "PostDraw"
res@vcRefMagnitudeF = 4. ; make vectors larger
res@vcRefLengthF = 0.032 ; ref vec length
;res@vcGlyphStyle = "WindBarb" ; select wind barbs
res@vcMinDistanceF = 0.015 ; thin out vectors
res@vcGlyphStyle = "CurlyVector"
res@vcWindBarbColor = "Blue"
res@vcRefAnnoString1On = True
res@vcRefAnnoString1 = "4m/s"
;res@vcLevelColors = True
res@vpXF = 0 ;左边距
res@vpYF = 0 ;上边距
res@vpWidthF = 1.0 ; height and width of plot
res@vpHeightF = 0.8
;res@vcVectorDrawOrder = "PostDraw"
; The specific pressure levels that we want the data interpolated to.
olon = fspan(73,135,248)
olat = fspan(16,54,152)
data1 = new((/248,152/),"float")
olon!0 = "lon"
olon@long_name = "lon"
olon@units = "degrees-east"
olon&lon = olon
olat!0 = "lat"
olat@long_name = "lat"
olat@units = "degrees_north"
olat&lat = olat
lon2d = wrf_user_getvar(f[:],"XLONG",0)
lat2d = wrf_user_getvar(f[:],"XLAT",0)
temp = wrf_user_getvar(f[:],"ua",-1) ; u averaged to mass points
avg_u=dim_avg_n_Wrap(temp(:,0:8,:,:),0)
temp = wrf_user_getvar(f[:], "pressure",-1) ; pressure is our vertical coordinate
avg_p=dim_avg_n_Wrap(temp(:,0:8,:,:),0)
result_u = wrf_user_intrp3d( avg_u,avg_p,"h",850.,0.,False)
delete(avg_u)
grid_u = rcm2rgrid_Wrap(lat2d,lon2d,result_u,olat,olon,0)
delete(result_u)
temp = wrf_user_getvar(f[:],"va",-1) ; v averaged to mass points
avg_v=dim_avg_n_Wrap(temp(:,0:8,:,:),0)
delete(temp)
result_v = wrf_user_intrp3d( avg_v,avg_p,"h",850.,0.,False)
delete(avg_v)
delete(avg_p)
grid_v = rcm2rgrid_Wrap(lat2d,lon2d,result_v,olat,olon,0)
delete(lon2d)
delete(lat2d)
grid_u@long_name="avg of uv at 850hpa in May"
grid_v@long_name="avg of uv at 850hpa in May"
;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"
plot = gsn_csm_vector_map(wks,grid_u,grid_v,res)
end |
|