- 积分
- 967
- 贡献
-
- 精华
- 在线时间
- 小时
- 注册时间
- 2015-4-8
- 最后登录
- 1970-1-1
|
登录后查看更多精彩内容~
您需要 登录 才可以下载或查看,没有帐号?立即注册
x
请教一下大家,我参照气象家园上的例子用ncl做强弱年降水距平的合成差值图,利用t检验函数画出的图prob等值线分布和值好像都有问题,prob在0.1到0.9之间,中间大片没有等值线的区域prob的值都是0.1,而且官网上好像是说小于0.05的区域通过显著性检验,怎么才能让中间降水距平值较大的区域通过检验并且缩小显著性检验的范围呢?
以下是我的ncl脚本:
load "$NCARG_ROOT/lib/ncarg/nclscripts/csm/contributed.ncl"
load "$NCARG_ROOT/lib/ncarg/nclscripts/csm/gsn_code.ncl" ; functions required to
load "$NCARG_ROOT/lib/ncarg/nclscripts/csm/gsn_csm.ncl" ; plot. include before
load "$NCARG_ROOT/lib/ncarg/nclscripts/csm/shea_util.ncl"
begin
;************************************************
; read in data
;************************************************
fili1="vareaave_JJA_yearly.nc" ;强度指数标准化序列
x= addfile(fili1, "r")
vJJA =x->vJJAsta(:)
printVarSummary(vJJA)
y= addfile("preAnom_yearly.nc","r");
vAvg=y->preAnom(:,:,:)
vAvg2=vAvg*30;
copy_VarCoords(vAvg,vAvg2)
printVarSummary(vAvg2)
vAvg1 = smth9_Wrap(vAvg2, 0.50, 0.25, False) ; light local smoothing
vAvgs1=vAvg1(0,:,:);强年
vAvgs2=vAvg1(3,:,:)
vAvgs3=vAvg1(12,:,:)
vAvgs4=vAvg1(15,:,:)
vAvgs5=vAvg1(18,:,:)
vAvgs6=vAvg1(23,:,:)
vAvgs7=vAvg1(27,:,:)
vAvgs8=vAvg1(33,:,:)
printVarSummary(vAvgs1)
vAvgss=new((/8,72,144/), float)
vAvgss(0,:,:)=vAvgs1
vAvgss(1,:,:)=vAvgs2
vAvgss(2,:,:)=vAvgs3
vAvgss(3,:,:)=vAvgs4
vAvgss(4,:,:)=vAvgs5
vAvgss(5,:,:)=vAvgs6
vAvgss(6,:,:)=vAvgs7
vAvgss(7,:,:)=vAvgs8
printVarSummary(vAvgss)
vAvgw1=vAvg1(10,:,:);弱年
vAvgw2=vAvg1(17,:,:)
vAvgw3=vAvg1(19,:,:)
vAvgw4=vAvg1(21,:,:)
vAvgw5=vAvg1(28,:,:)
vAvgw6=vAvg1(31,:,:)
vAvgw7=vAvg1(34,:,:)
printVarSummary(vAvgw1)
vAvgww=new((/7,72,144/), float)
vAvgww(0,:,:)=vAvgw1
vAvgww(1,:,:)=vAvgw2
vAvgww(2,:,:)=vAvgw3
vAvgww(3,:,:)=vAvgw4
vAvgww(4,:,:)=vAvgw5
vAvgww(5,:,:)=vAvgw6
vAvgww(6,:,:)=vAvgw7
printVarSummary(vAvgww)
;提取强弱年的pre
vq=vAvgss(:,:,:)
vr=vAvgww(:,:,:)
vqr=dim_avg_n(vq,0)-dim_avg_n(vr,0)
copy_VarCoords(vq(0,:,:),vqr)
printVarSummary(vqr)
;************************************************
;ttest
;************************************************
siglvl=0.2
pre_high_ave=dim_avg_n_Wrap(vq,0)
pre_low_ave =dim_avg_n_Wrap(vr ,0)
pre_high_var=dim_variance_n(vq,0)
pre_low_var =dim_variance_n(vr ,0)
t1=dim_num_n(.not.ismissing(vq),0)
t2=dim_num_n(.not.ismissing(vr),0)
iflag = False
pro = ttest(pre_high_ave,pre_high_var,t1, pre_low_ave,pre_low_var,t2,iflag,False)
copy_VarMeta(vq(0,:,:),pro)
printVarSummary(pro)
;************************************************
; plotting parameters
;************************************************
wks = gsn_open_wks("ps","hecheng-precip")
;gsn_define_colormap(wks,"ViBlGrWhYeOrRe") ; choose colormap
gsn_define_colormap(wks,"GMT_polar")
res = True
res@cnInfoLabelOn = False
res@cnFillOn = True
res@cnLinesOn=False
res@gsnSpreadColors = True
res@lbLabelBarOn = True
res@lbOrientation = "Vertical"
res@tiMainString = ""
res@gsnRightString = "mm"
res@gsnLeftString=""
res@cnLevelSelectionMode = "ManualLevels"
res@cnMinLevelValF = -100.
res@cnMaxLevelValF = 100.
res@cnLevelSpacingF = 20.
res@mpCenterLonF = 180
res@mpMinLonF = 20 ; choose a subregion
res@mpMaxLonF = 200
res@mpMinLatF = -50 ; choose a subregion
res@mpMaxLatF = 70
res@vpHeightF = 0.30 ; Changes the aspect ratio
res@vpWidthF = 0.9
res@vpXF = 0.10 ; change start locations
res@vpYF = 0.75
res@mpGeophysicalLineThicknessF = 2 ;修改陆地轮廓线加粗
res@gsnDraw = False
res@gsnFrame = False
plot1 = gsn_csm_contour_map_ce(wks,vqr,res)
res2 = True
res2@gsnMaximize = True
res2@lbOrientation = "Vertical"
res2@gsnLeftString = ""
res2@cnLinesOn = True ; turn off contour lines
res2@cnLineLabelsOn = True ; turn off contour line labels
res2@cnInfoLabelOn = True
res2@cnFillColor = "black"
res2@cnFillOpacityF = 1.0
res2@cnFillScaleF = 0.8 ; add extra density
res2@gsnDraw = False ; do not draw
res2@gsnFrame = False
plot2 = gsn_csm_contour(wks,pro,res2)
plot2=ShadeLtContour(plot2,0.05,17)
overlay(plot1,plot2)
draw(plot1)
frame(wks)
end
|
|