- 积分
- 625
- 贡献
-
- 精华
- 在线时间
- 小时
- 注册时间
- 2012-6-8
- 最后登录
- 1970-1-1
|
发表于 2015-2-2 06:17:10
|
显示全部楼层
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"
f = addfile("sst.mnmean.nc","r")
sst = f->sst
delete(f)
startyear=1854 ;; data begins 1854 Jan
index1=(1948-startyear)*12
index2=(2010-startyear)*12+11
epyears = (/1951,1958,1966,1973,1977,1998,2009/)
cpyears = (/1969,1978,1987,1995,2003,2010/)
epyears = epyears-1948
cpyears = cpyears-1948
sst2 = sst(index1:index2,:,:) ;; chop the data
djf = month_to_season(sst2,"DJF")
ep = djf(1:dimsizes(epyears),:,:) ;; copy the array dimensions
do i=0,dimsizes(epyears)-1
ep(i,:,:) = djf(epyears(i),:,:)
end do
cp = djf(1:dimsizes(cpyears),:,:) ;; copy the array dimensions
do i=0,dimsizes(cpyears)-1
cp(i,:,:) = djf(cpyears(i),:,:)
end do
djf_mean = dim_avg_n_Wrap(djf,0)
djf_variance = dim_variance_n(djf,0)
ep_mean = dim_avg_n_Wrap(ep,0)
ep_variance = dim_variance_n(ep,0)
cp_mean = dim_avg_n_Wrap(cp,0)
cp_variance = dim_variance_n(cp,0)
siglvl = 0.05
iflag = False
probep = ep_mean ;; copy meta
probcp = cp_mean
probep = ttest(ep_mean,ep_variance,dimsizes(epyears),djf_mean,djf_variance,dimsizes(djf(:,0,0)),iflag,False)
probcp = ttest(cp_mean,cp_variance,dimsizes(cpyears),djf_mean,djf_variance,dimsizes(djf(:,0,0)),iflag,False)
ep_mean = ep_mean-djf_mean
cp_mean = cp_mean-djf_mean
wks = gsn_open_wks("png","mean")
gsn_define_colormap(wks,"BlWhRe")
res = True
res@gsnDraw = False
res@gsnFrame = False
res@cnInfoLabelOn = False
res@cnFillOn = True
res@cnLineLabelsOn = False
res@gsnSpreadColors = True
res@lbLabelBarOn = False
res@tiMainString = ""
res@gsnRightString = ""
res@cnLevelSelectionMode = "ManualLevels"
res@cnMinLevelValF = -2.
res@cnMaxLevelValF = 2.
res@cnLevelSpacingF = 0.4
res@mpCenterLonF = 180
res@gsnLeftString = "EP"
plot1 = gsn_csm_contour_map_ce(wks,ep_mean,res)
res@gsnLeftString = "CP"
plot2 = gsn_csm_contour_map_ce(wks,cp_mean,res)
res2 = res
res2@cnMonoFillPattern = False
res2@cnLevelSelectionMode = "ExplicitLevels"
res2@cnLevels = (/siglvl/) ;; set to significance level
res2@cnFillPatterns = (/3,-1/)
res2@gsnLeftString = ""
plot3 = gsn_csm_contour(wks,probep,res2)
overlay(plot1,plot3)
plot4 = gsn_csm_contour(wks,probcp,res2)
overlay(plot2,plot4)
resP = True
resP@gsnPanelLabelBar = True
gsn_panel(wks,(/plot1,plot2/),(/2,1/),resP) |
|