- 积分
- 21165
- 贡献
-
- 精华
- 在线时间
- 小时
- 注册时间
- 2014-4-15
- 最后登录
- 1970-1-1
![未绑定新浪微博用户 新浪微博达人勋](source/plugin/sina_login/img/gray.png)
|
![](static/image/common//ico_lz.png)
楼主 |
发表于 2015-10-19 14:56:17
|
显示全部楼层
oad "$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/csm/shea_util.ncl"
load "$NCARG_ROOT/lib/ncarg/nclscripts/csm/skewt_func.ncl"
load "$NCARG_ROOT/lib/ncarg/nclscripts/csm/wind_rose.ncl"
begin
;**************************************************************************************
;读U风
;**************************************************************************************
a = addfile("/home/almond/U1979-20141000-100.nc","r")
u = short2flt(a->u(5:7,::-1,{0:30},{90:150}))
;读v风
;**************************************************************************************
a1 = addfile("/home/almond/V1979-20141000-100.nc","r")
v = short2flt(a1->v(5:7,::-1,{0:30},{90:150}))
;读shum比湿
;**************************************************************************************
a2 = addfile("/home/almond/SH1979-20141000-100.nc","r")
q = short2flt(a2->q(5:7,::-1,{0:30},{90:150}))
;读取地面气压
;**************************************************************************************
a3 = addfile("/home/almond/SP1979-2014.nc","r")
ps1 = short2flt(a3->sp(5:7,{0:30},{90:150}))
time = a3->time
;计算qu = q(比湿)乘以u(u风)
;**************************************************************************************
qu1 = u*q
qv1 = v*q
;**************************************************************************************
;给qu1,qv1赋予属性
;**************************************************************************************
lev =(/1000,975,950,925,900,875,850,825,800,775,750,700,650,600,550,500,450,400,350,300,250,225,200,175,150,125,100/)
lat =fspan(0,30,41)
lon =fspan(90,150,81)
lon!0 = "lon"
lon@units = "degrees_east"
lat!0 = "lat"
lat@units = "degrees_north"
lev!0 = "lev"
lev@units = "hPa"
qu1!0 = "time"
qu1!1 = "lev"
qu1!2 = "lat"
qu1!3 = "lon"
qu1&lon = u&longitude
qu1&lat = u&latitude
qu1&lev = u&level
qu1&time = u&time
qv1!0 = "time"
qv1!1 = "lev"
qv1!2 = "lat"
qv1!3 = "lon"
qv1&lon = v&longitude
qv1&lat = v&latitude
qv1&lev = v&level
qv1&time = v&time
;**************************************************************************************
qu11 = qu1(time|:,lat|:, lon|:, lev|:)
delete(qu1)
qv11 = qv1(time|:,lat|:, lon|:, lev|:)
delete(qv1)
;**************************************************************************************
p = (/1000,975,950,925,900,875,850,825,800,775,750,700,650,600,550,500,450,400,350,300,250,225,200,175,150,125,100/)
linlog = 1 ; 1为线性积分 2为对数积分
data11 = (vibeta(p,qu11,linlog,ps1,1000,100))/9.8*100
data12 = (vibeta(p,qv11,linlog,ps1,1000,100))/9.8*100
qu = new((/41,81/),float)
qv = new((/41,81/),float)
mm = new((/41,81/),float)
mm1 = sqrt(data11^2+data12^2)
;qu!0 = "lev"
qu!0 = "lat"
qu!1 = "lon"
;qu&lev =u&level
qu&lon =u&longitude
qu&lat =u&latitude
;qv!0 = "lev"
qv!0 = "lat"
qv!1 = "lon"
;qv&lev =v&level
qv&lat =v&latitude
qv&lon =v&longitude
data11!0 = "time"
data11!1 = "lat"
data11!2 ="lon"
data11&lon =u&longitude
data11&lat =u&latitude
data11&time =u&time
data12!0 = "time"
data12!1 = "lat"
data12!2 ="lon"
data12&lon =v&longitude
data12&lat =v&latitude
data12&time =v&time
;************************************************************************************************
wks =gsn_open_wks("ps","vf")
gsn_define_colormap(wks,"BlAqGrYeOrReVi200")
map_res = True
map_res@gsnFrame = False
map_res@gsnDraw = False
map_res@mpDataSetName= "Earth..4" ; This new database contains
; divisions for other countries.
map_res@mpDataBaseVersion = "MediumRes" ; Medium resolution database
map_res@mpFillOn=False
map_res@mpGridMaskMode = "MaskLand" ; Don't draw grid over land.
map_res@mpGeophysicalLineColor = "black"
map_res@mpGeophysicalLineThicknessF = 1.0
map_res@mpOutlineOn = True ; Turn on map outlines
map_res@mpLimitMode="LatLon"
map_res@mpCenterLonF=100
map_res@mpMinLonF=90
map_res@mpMaxLonF=150
map_res@mpMinLatF=0
map_res@mpMaxLatF=32.5
map_res@mpPerimOn=True
map = gsn_csm_map(wks,map_res)
;***************************************************************************
;***************************************************************************
vcres = True; plot mods desired
vcres@gsnAddCyclic = False
vcres@gsnDraw = False ; don't draw yet
vcres@gsnFrame = False ; don't advance frame yet
vcres@pmTickMarkDisplayMode = "Always"
vcres@vcMinFracLengthF = 0.33
vcres@vcRefMagnitudeF = 10
vcres@vcGlyphStyle = "CurlyVector" ; turn on curly vectors
vcres@vcMonoLineArrowColor = False
vcres@vcMinDistanceF = 0.013
vcres@vcLineArrowHeadMaxSizeF = 0.008 ;default = 0.012
vcres@lbLabelBarOn = False
vcres@vcMonoFillArrowFillColor = True
vcres@vcLineArrowThicknessF = 1.0
vcres@vcRefAnnoOn =False
vcres@gsnLeftString =""
vcres@gsnRightString =""
vcres@tiMainString =""
qu = qu*100
qv = qv*100
vector = gsn_csm_vector(wks,qu,qv,vcres) ; create plot
;***************************************************************************
;***************************************************************************
res = True ; plot mods desired
res@gsnAddCyclic = False
res@gsnDraw = False ; don't draw yet
res@gsnFrame = False ; don't advance frame yet
res@cnFillOn = True ; turn on color
res@gsnSpreadColors = True ; use full colormap
res@gsnSpreadColorStart = 0
res@gsnSpreadColorEnd = 199
res@cnLinesOn = True ; turn off contour lines lllllllllllllllllllllllllllllllllllllllll
res@cnLineLabelsOn = False ; tuen off line labels
res@cnInfoLabelOn = False
res@cnLevelSelectionMode = "ExplicitLevels"
res@cnLevels = (/100,200,300,400,500,600,700,800,900/) ;(/14,18,22,26,30,34,38,42,46,50,52/)
res@gsnLeftString =""
res@gsnRightString =""
res@tiMainString =""
res@lbLabelBarOn = True
res@lbOrientation = "Vertical" ; vertical label bars
res@lbAutoManage = True
res@lbLabelFontHeightF = 0.009 ; make labels smaller
mm = smth9(mm,0.5,0.25,False)
mm = mm*100
contour = gsn_csm_contour(wks,mm,res)
overlay(map,contour)
overlay(map,vector)
draw(map)
frame(wks)
end |
|