[ncl-talk] Significance calculation

Adam Phillips asphilli at ucar.edu
Tue Sep 1 11:21:29 MDT 2015


Hi Ipshita,
Is it possible that all your grid points are significant using your
definition of greater than 0.9? If that is the case NCL may not draw your
stippling field depending on your NCL version. Try setting
cnConstFEnableFill = True or you can try setting prob_djf(0,0) = 0.89.

http://www.ncl.ucar.edu/Document/Graphics/Resources/cn.shtml#cnConstFEnableFill

If that does not fix your issue or if you have any further questions please
respond to the ncl-talk email list.
Adam


On Sat, Aug 29, 2015 at 11:06 PM, Ipshita Majhi <ipmajhi at alaska.edu> wrote:

> Dear NCL,
>
> I would like to calculate the significance. I am using the probability
> function, i am not sure where things are not working out. There are no
> error message, the code runs but no stippling show for significance.
> Here is the code
>
> ;This is for correlating JJAS monthly precp with JJAS temperature with lag
>
> ;******************************************************
> 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"
> ;*******************************************************
>
> ;=============================================
> ; Reading data
> ;=============================================
>
> a=addfile("~/Documents/SST/Monthly/sst.mnmean.v4.nc","r")
>
> ;==============================================
>
> JJAS_1871_2012
> =asciiread("~/Documents/SST/Monthly/jjas_1871_2012.txt",(/142,1/),"float")
> ;Extracting JJAS for 1967 to 2012
>
> JJAS_1967_2012=JJAS_1871_2012(96:141,0)
> print(dimsizes(JJAS_1967_2012))
>
> e=transpose(transpose(JJAS_1967_2012))
> ;print(dimsizes(e))
>
> ;=============================================
>
> ;For some months around september it is better to
> ;=============================================
>  ;The dataset goes from 1854-2015
>   sst=a->sst
> ; copy meta data and coordinate variables using contributed functions
>  copy_VarAtts(a,sst)
>  copy_VarCoords_1(a,sst)
> ;============================================
>
> ;Extracting 1967-2012 for SST
> sst_1967_2012=sst(1367:1918,:,:)
>
>
> copy_VarAtts(sst,sst_1967_2012)
> copy_VarCoords_1(a,sst_1967_2012)
>
> ;============================================
> ;Seasonal three month average
>
>
>  sst_djf=month_to_season(sst_1967_2012, "DJF")
>  sst_jfm=month_to_season(sst_1967_2012, "JFM")
>  sst_fma=month_to_season(sst_1967_2012, "FMA")
>  sst_mam=month_to_season(sst_1967_2012, "MAM")
>  sst_amj=month_to_season(sst_1967_2012, "AMJ")
>  sst_mjj=month_to_season(sst_1967_2012, "MJJ")
>  sst_jja=month_to_season(sst_1967_2012, "JJA")
>  sst_jas=month_to_season(sst_1967_2012, "JAS")
>  sst_aso=month_to_season(sst_1967_2012, "ASO")
>  sst_son=month_to_season(sst_1967_2012, "SON")
>  sst_ond=month_to_season(sst_1967_2012, "OND")
>  sst_ndj=month_to_season(sst_1967_2012, "NDJ")
>
> ;==============================================
> ;Copying Attributes and Coordinates
>
> copy_VarAtts(sst_1967_2012,sst_djf)
> copy_VarCoords_1(sst_1967_2012,sst_djf)
>
> copy_VarAtts(sst_1967_2012,sst_jfm)
> copy_VarCoords_1(sst_1967_2012,sst_jfm)
>
> copy_VarAtts(sst_1967_2012,sst_fma)
> copy_VarCoords_1(sst_1967_2012,sst_fma)
>
> copy_VarAtts(sst_1967_2012,sst_mam)
> copy_VarCoords_1(sst_1967_2012,sst_mam)
>
> copy_VarAtts(sst_1967_2012,sst_amj)
> copy_VarCoords_1(sst_1967_2012,sst_amj)
>
> copy_VarAtts(sst_1967_2012,sst_mjj)
> copy_VarCoords_1(sst_1967_2012,sst_mjj)
>
> copy_VarAtts(sst_1967_2012,sst_jja)
> copy_VarCoords_1(sst_1967_2012,sst_jja)
>
> copy_VarAtts(sst_1967_2012,sst_jas)
> copy_VarCoords_1(sst_1967_2012,sst_jas)
>
> copy_VarAtts(sst_1967_2012,sst_aso)
> copy_VarCoords_1(sst_1967_2012,sst_aso)
>
> copy_VarAtts(sst_1967_2012,sst_son)
> copy_VarCoords_1(sst_1967_2012,sst_son)
>
> copy_VarAtts(sst_1967_2012,sst_ond)
> copy_VarCoords_1(sst_1967_2012,sst_ond)
>
> copy_VarAtts(sst_1967_2012,sst_ndj)
> copy_VarCoords_1(sst_1967_2012,sst_ndj)
>
> ;=============================================
>
> ;Calculating correlation
>
>
>
> djf_reorder=sst_djf(lat|:,lon|:,time|:)
> jfm_reorder=sst_jfm(lat|:,lon|:,time|:)
> fma_reorder=sst_fma(lat|:,lon|:,time|:)
> mam_reorder=sst_mam(lat|:,lon|:,time|:)
> amj_reorder=sst_amj(lat|:,lon|:,time|:)
> mjj_reorder=sst_mjj(lat|:,lon|:,time|:)
> jja_reorder=sst_jja(lat|:,lon|:,time|:)
> jas_reorder=sst_jas(lat|:,lon|:,time|:)
> aso_reorder=sst_aso(lat|:,lon|:,time|:)
> son_reorder=sst_son(lat|:,lon|:,time|:)
> ond_reorder=sst_ond(lat|:,lon|:,time|:)
> ndj_reorder=sst_ndj(lat|:,lon|:,time|:)
>
> ;===================================================
>
> copy_VarAtts(sst_djf,djf_reorder)
> copy_VarCoords_1(sst_djf,djf_reorder)
>
> copy_VarAtts(sst_jfm,jfm_reorder)
> copy_VarCoords_1(sst_jfm,jfm_reorder)
>
> copy_VarAtts(sst_fma,fma_reorder)
> copy_VarCoords_1(sst_fma,fma_reorder)
>
> copy_VarAtts(sst_mam,mam_reorder)
> copy_VarCoords_1(sst_mam,mam_reorder)
>
> copy_VarAtts(sst_amj,amj_reorder)
> copy_VarCoords_1(sst_amj,amj_reorder)
>
> copy_VarAtts(sst_mjj,mjj_reorder)
> copy_VarCoords_1(sst_mjj,mjj_reorder)
>
> copy_VarAtts(sst_jja,jja_reorder)
> copy_VarCoords_1(sst_jja,jja_reorder)
>
> copy_VarAtts(sst_jas,jas_reorder)
> copy_VarCoords_1(sst_jas,jas_reorder)
>
> copy_VarAtts(sst_aso,aso_reorder)
> copy_VarCoords_1(sst_aso,aso_reorder)
>
> copy_VarAtts(sst_son,son_reorder)
> copy_VarCoords_1(sst_son,son_reorder)
>
> copy_VarAtts(sst_ond,ond_reorder)
> copy_VarCoords_1(sst_ond,ond_reorder)
>
> copy_VarAtts(sst_ndj,ndj_reorder)
> copy_VarCoords_1(sst_ndj,ndj_reorder)
>
> ;=======================================
> ;Calculating Correlation Coefficient
>
> ;Months with Lag
> corr_djf=esccr(JJAS_1967_2012,djf_reorder,1)
> corr_ndj=escorc(ndj_reorder(:,:,0:44),JJAS_1967_2012(1:45))
> corr_ond=escorc(ond_reorder(:,:,0:44),JJAS_1967_2012(1:45))
> corr_son=escorc(son_reorder(:,:,0:44),JJAS_1967_2012(1:45))
> corr_aso=escorc(aso_reorder(:,:,0:44),JJAS_1967_2012(1:45))
>
> copy_VarAtts(djf_reorder,corr_djf)
> copy_VarCoords_1(djf_reorder,corr_djf)
>
> copy_VarAtts(ndj_reorder,corr_ndj)
> copy_VarCoords_1(ndj_reorder,corr_ndj)
>
> copy_VarAtts(ond_reorder,corr_ond)
> copy_VarCoords_1(ond_reorder,corr_ond)
>
> copy_VarAtts(son_reorder,corr_son)
> copy_VarCoords_1(son_reorder,corr_son)
>
> copy_VarAtts(aso_reorder,corr_aso)
> copy_VarCoords_1(aso_reorder,corr_aso)
>
> ;========================================
> ;Probability
> x=corr_djf(:,:,1)
> print(dimsizes(x))
> ;==============================
> ; Now plotting the correlation
>
> ;===========================================
>
> ; Now plotting the correlation
>
>
>     wks  = gsn_open_wks("pdf","DJF_sst_jjas_cor_prob_sig_lag")
>   gsn_define_colormap(wks,"BlWhRe")              ; choose colormap
>
>   res                      = True                ; make plot mods
>   res at gsnDraw = False
>   res at gsnFrame = False
>   res at cnFillOn             = True                ; turn on color
>   res at gsnSpreadColors      = True                ; use full colormap
>   res at lbLabelAutoStride    = True         ; automatic lb label stride
>
>   res at cnLinesOn            = False               ; turn off contour lines
>   res at cnLevelSelectionMode = "ManualLevels" ; manually set cnlev
>   res at cnMinLevelValF       = -1.                 ; min level
>   res at cnMaxLevelValF       =  1.                 ; max level
>   res at cnLevelSpacingF      = .1                  ; contour level spacing
>
>   lag                      = 0
>   res at tiMainString         = "DJF SST with JJAS rainfall"
>   plotA = gsn_csm_contour_map_ce(wks,corr_djf,res)
>
>  ; Significance plot on top of correlation plot
>  ;========================= PLOT 2 =========
>   res2 = True                            ; res2 probability plots
>
>   res2 at gsnDraw             = False       ; Do not draw plot
>   res2 at gsnFrame            = False       ; Do not advance frome
>   res2 at cnFillOn = True                   ; turn on color/pattern fill
>   res2 at cnMonoFillPattern = False   ; allow different patterns
>   res2 at cnMonoFillColor = True       ; only use one color (black)
>
>   res2 at cnLevelSelectionMode = "ExplicitLevels" ; set explicit cnlev
>   res2 at cnLevels   = (/.90/)    ; only have 1 contour level
>   res2 at cnFillPatterns = (/-1,17/) ; don't fill <0.95, stipple >=0.95
>
>   res2 at gsnAddCyclic = True   ; may or may not be needed
>
>   res2 at cnInfoLabelOn       = False       ; turn off info label
>
>   res2 at cnLinesOn           = False       ; do not draw contour lines
>   res2 at cnLineLabelsOn      = False    ; do not draw contour labels
>
>   res2 at cnFillScaleF        = 0.5         ; add extra density
>
>   printMinMax(prob_djf,0)   ; check to make sure values are
>                                              ; between 0 and 1.
>
>   plot2   = gsn_csm_contour(wks,prob_djf, res2)
>   overlay (plotA, plot2)
>
>   draw (plotA)
>   frame(wks)
>
> Best Regards
> Ipshita
>
>
>
>
> _______________________________________________
> ncl-talk mailing list
> ncl-talk at ucar.edu
> List instructions, subscriber options, unsubscribe:
> http://mailman.ucar.edu/mailman/listinfo/ncl-talk
>
>


-- 
Adam Phillips
Associate Scientist,  Climate and Global Dynamics Laboratory, NCAR
www.cgd.ucar.edu/staff/asphilli/   303-497-1726

<http://www.cgd.ucar.edu/staff/asphilli>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://mailman.ucar.edu/pipermail/ncl-talk/attachments/20150901/ddc8fe81/attachment.html 


More information about the ncl-talk mailing list