爱气象,爱气象家园! 

气象家园

 找回密码
 立即注册

QQ登录

只需一步,快速开始

新浪微博登陆

只需一步, 快速开始

搜索
查看: 5692|回复: 1

降水合成检验的时候显著性检验的部分出不来,NCL求助!!!

[复制链接]

新浪微博达人勋

发表于 2016-12-2 23:50:29 | 显示全部楼层 |阅读模式
NCL
系统平台:
问题截图:
问题概况: 降水合成做显著性检验的时候,合成图可以出来,运行也没有错误,但是出不来显著性检验的部分,不知道应该怎么修改,请问一下有人知道是什么原因吗????谢谢了
我看过提问的智慧: 看过
自己思考时长(天): 5

登录后查看更多精彩内容~

您需要 登录 才可以下载或查看,没有帐号?立即注册 新浪微博登陆

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"
load "$NCARG_ROOT/lib/ncarg/nclscripts/csm/shea_util.ncl"

begin
f8   ="e:/jsjp1/preciaptiton/zd.txt"
f5   ="e:/hecheng/8yearp.txt"
f6   ="e:/hecheng/7yearp.txt"
r5=  asciiread(f5,-1,"float")
r6=  asciiread(f6,-1,"float")
;printVarSummary(r1)
r04x=new((/160,8/),"float")
k=0
do i=0,7,1
do j=0,159,1
r04x(j,i)=r5(k)
k=k+1
end do
end do

r04x!0="grid"
r04x!1="time"
r03x=new((/160,7/),"float")
k=0
do i=0,6,1
do j=0,159,1
r03x(j,i)=r6(k)
k=k+1
end do
end do

r03x!0="grid"
r03x!1="time"

r1_mean = dim_avg_n_Wrap(r04x,1)        
r1_variance = dim_variance_n(r04x,1);
rs1_mean = dim_avg_n_Wrap(r03x,1)     
rs1_variance = dim_variance_n(r03x,1)
siglvl = 0.05
iflag = False
t0 =ttest(r1_mean,r1_variance,8,rs1_mean,rs1_variance,7,iflag,False)
copy_VarMeta(r1_mean,t0)
print(t0)

r02=r1_mean-rs1_mean
;++++++++++++++++++++++++++++++++++++++++++++++++++++
delim = str_get_tab()
data=asciiread(f8,-1,"string")
station1 = stringtofloat(str_get_field(data,1,delim))
lat= stringtofloat(str_get_field(data,2,delim))
lon= stringtofloat(str_get_field(data,3,delim))

olon = fspan(90,130,160)
olat = fspan(18,50,160)

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

data@_FillValue = 999999.000000
rscan = (/10,5,3/)   ;连续的有效半径大小,最大为10,依次递减

data1 = obj_anal_ic_deprecated(lon,lat,r02,olon,olat,rscan,False)
data2 = obj_anal_ic_deprecated(lon,lat,t0,olon,olat,rscan,False)
;print(data1)

data1!0 = "lat"
data1!1 = "lon"
data2!0 = "lat"
data2!1 = "lon"

;Assign coordinate variables
data1&lat = olat
data1&lon = olon
data2&lat = olat
data2&lon = olon

;----------------------------------------------

wks = gsn_open_wks ("ps","hechengjsbfl")  ; 画图!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
res                         = True            
res@tiMainString            =""
res@gsnMaximize             = True
res@gsnDraw                 = False
res@gsnFrame                = False
res@gsnLeftString  = ""
res@gsnRightString = ""
res@gsnContourNegLineDashPattern = 1       ; sets negative contours to dash pattern 1------------------------------------------------------------
ttres                         =res
ttres@mpMinLatF               =20                     
ttres@mpMaxLatF               =42
ttres@mpMinLonF               =100
ttres@mpMaxLonF               =125
ttres@mpFillOn                = True
ttres@mpOutlineOn             = True  ; Use outlines from shapefile
ttres@mpFillDrawOrder         = "PostDraw"
ttres@mpDataSetName           = "Earth..4"
ttres@mpDataBaseVersion       = "Ncarg4_1"
ttres@mpDataBaseVersion       = "MediumRes"
ttres@mpAreaMaskingOn         = True
ttres@mpMaskAreaSpecifiers    = (/"China","Taiwan"/)
ttres@mpLandFillColor         = "white"
ttres@mpInlandWaterFillColor  = "white"
ttres@mpOceanFillColor        = "white"
ttres@mpOutlineSpecifiers     = (/"China","Taiwan"/)
ttres@gsnDraw                 = False
ttres@gsnFrame                = False
ttres@cnFillOn                =False            
ttres@cnLinesOn               = True         
ttres@cnSmoothingOn           = True
ttres@gsnAddCyclic            = False
ttres@cnLineThicknessF        =2
ttres@cnLineColor             ="Black"
ttres@cnLineLabelInterval     =1
ttres@gsnLeftString  = "a"   
ttres@cnLineDrawOrder    = "PreDraw"   

     plot = gsn_csm_contour_map(wks,data1,ttres)            
     
  ;------------------------t检验0.05---------------------------
   tres                          =res
   tres@gsnAddCyclic             =False
    tres@cnFillOn                =True           
  tres@cnLinesOn                 =True         
  tres@cnMonoLineColor           =False   
tres@cnLevelSelectionMode       = "ExplicitLevels"         
  tres@cnLevels             = (/0.001,0.05/) ;小于0.05,差异是显著的,
  tres@cnFillColors         =(/"gray40","gray70","white"/)
  tres@cnLineLabelsOn          =False   
  tres@cnFillDrawOrder         = "PostDraw"  
  tres@lbLabelBarOn           =False
  tres@cnInfoLabelOn          = False;去掉标签
  tres@gsnRightString="";设置图上方单位字符
  tres@gsnLeftString=""
  tres@sfXArray     =data2&lon
  tres@sfYArray     =data2&lat
plot1=gsn_csm_contour(wks,t0,tres)   
overlay(plot,plot1)
     draw(plot)
     frame(wks)
end
关于T检验的部分不太懂,希望有知道我程序中有什么具体问题的大神帮忙给指点一下,




密码修改失败请联系微信:mofangbao

新浪微博达人勋

 楼主| 发表于 2016-12-2 23:56:27 | 显示全部楼层
上面的tres@cnLevels             = (/0.001,0.05/)我粘贴的时候不小心弄错了, 是 tres@cnLevels             = (/0.01,0.05/) ,
麻烦了,但是自己搞不明白了,希望有人帮忙一下^ —^
密码修改失败请联系微信:mofangbao
您需要登录后才可以回帖 登录 | 立即注册 新浪微博登陆

本版积分规则

Copyright ©2011-2014 bbs.06climate.com All Rights Reserved.  Powered by Discuz! (京ICP-10201084)

本站信息均由会员发表,不代表气象家园立场,禁止在本站发表与国家法律相抵触言论

快速回复 返回顶部 返回列表