- 积分
- 12127
- 贡献
-
- 精华
- 在线时间
- 小时
- 注册时间
- 2012-10-18
- 最后登录
- 1970-1-1
|
登录后查看更多精彩内容~
您需要 登录 才可以下载或查看,没有帐号?立即注册
x
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"
begin
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;---add 4 data and calcute the correlations
f=addfile(“mean.nc","r")
pmi=f->pmi
ts=pmi(lat|:,lon|:,time|:)
;-----------------------------------------------------
f1=addfile("mon6sm1.nc","r")
sm1=f1->swvl1
lon=f1->longitude
lat=f1->latitude
ts1=sm1(latitude|:,longitude|:,time|:)
e1=esccr(ts,ts1,0)
e1!2="lat"
e1!3="lon"
e1&lat=lat
e1&lon=lon
cor1=new((/33,57/),"float")
cor1=e1(0,0,:,:,0)
cor1@_FillValue =-999
print(max(cor1))
print(min(cor1))
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
MASK_INSIDE = False
filename =”/tibetan.shp"
f5 = addfile(filename, "r")
mrb_lon = f5->x
mrb_lat = f5->y
nmrb = dimsizes(mrb_lon)
min_mrb_lat = min(mrb_lat)
max_mrb_lat = max(mrb_lat)
min_mrb_lon = min(mrb_lon)
max_mrb_lon = max(mrb_lon)
; Create new data to mask. Depending on whether you want to
; mask data inside or outside the geographical outline,
; start off with your data grid all missing, or filled in.
;
if(MASK_INSIDE) then
data_mask1 = cor1
else
data_mask1 = new(dimsizes(cor1),typeof(cor1),cor1@_FillValue)
copy_VarCoords(cor1,data_mask1)
end if
lat1d = fspan(24,48,33)
lon1d = fspan(63,105,57)
lat1d@units = "degrees_north"
lon1d@units = "degrees_east"
ilt_mn = ind(min_mrb_lat.gt.lat1d)
ilt_mx = ind(max_mrb_lat.lt.lat1d)
iln_mn = ind(min_mrb_lon.gt.lon1d)
iln_mx = ind(max_mrb_lon.lt.lon1d)
ilt1 = ilt_mn(dimsizes(ilt_mn)-1) ; Start of lat box
iln1 = iln_mn(dimsizes(iln_mn)-1) ; Start of lon box
ilt2 = ilt_mx(0) ; End of lat box
iln2 = iln_mx(0) ; End of lon box
if(MASK_INSIDE) then
do ilt=ilt1,ilt2
do iln=iln1,iln2
if(gc_inout(lat1d(ilt),lon1d(iln),mrb_lat,mrb_lon)) then
data_mask1(ilt,iln) = data_mask1@_FillValue
end if
end do
end do
else
do ilt=ilt1,ilt2
do iln=iln1,iln2
if(gc_inout(lat1d(ilt),lon1d(iln),mrb_lat,mrb_lon)) then
data_mask1(ilt,iln) = cor1(ilt,iln)
end if
end do
end do
end if
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;>=========================================================<
wks = gsn_open_wks("eps","1")
res = True
res@tiMainString =""
res@gsnMaximize =False
res@gsnDraw = False
res@gsnFrame = False
res@mpMinLatF = 24
res@mpMaxLatF = 48
res@mpMinLonF = 63
res@mpMaxLonF = 105
res@mpLandFillColor = "white"
res@cnFillDrawOrder = "Draw"
;------------------------------------------------------
plot(0)=gsn_csm_contour_map(wks,data_mask1,res)
;-----------------------------------------------------------------------
;---Attach the polylines
pres = True
pres@gsLineColor = "blue"
pres@gsLineThicknessF =2
poly1 = gsn_add_shapefile_polylines(wks,plot(0),filename,pres)
draw(plot)
frame(wks)
end
本来是panel图,把其他重复的都删除,这个程序是按照官网上http://www.ncl.ucar.edu/Applications/Scripts/mask_9.ncl改的,但画出来就是这个效果,求大神指点。目的是想把青藏高原以外的等值线都mask掉,感觉错位了。数据范围是24-48N,63-105E,0.75*0.75的
|
|