<html dir="ltr">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
<style id="owaParaStyle" type="text/css">P {margin-top:0;margin-bottom:0;}</style>
</head>
<body ocsi="0" fpstyle="1">
<div style="direction: ltr;font-family: Tahoma;color: #000000;font-size: 10pt;">Dear NCL Users&nbsp;&nbsp;&nbsp;
<br>
<br>
I am wanting to create 1 plot of averaged spatial correlations.<br>
I currently have 40 global spatial correlation plots but would like to average those all out to 1 global plot with the overall average spatial correlations at each gridpoint.<br>
<br>
I am not sure whether to use the average function or to sum them up first and divide by 40.<br>
<br>
Your help would be very much appreciated.<br>
<br>
Below is the code I am trying to create this average plot from.<br>
<br>
Kindest Regards<br>
Melissa<br>
<br>
; ==============================================================<br>
; eof_1.ncl<br>
; ==============================================================<br>
<br>
load &quot;$NCARG_ROOT/lib/ncarg/nclscripts/csm/gsn_code.ncl&quot;<br>
load &quot;$NCARG_ROOT/lib/ncarg/nclscripts/csm/gsn_csm.ncl&quot;<br>
load &quot;$NCARG_ROOT/lib/ncarg/nclscripts/csm/contributed.ncl&quot;<br>
<br>
begin<br>
; ==============================================================<br>
; User defined parameters that specify region of globe and<br>
; ==============================================================<br>
&nbsp; latS&nbsp;&nbsp; =&nbsp; -40.<br>
&nbsp; latN&nbsp;&nbsp; =&nbsp; 0. <br>
&nbsp; lonL&nbsp;&nbsp; =&nbsp; 10.<br>
&nbsp; lonR&nbsp;&nbsp; =&nbsp; 60.<br>
<br>
&nbsp; yrStrt = 1975<br>
&nbsp; yrLast = 2004<br>
<br>
&nbsp; season = &quot;DJF&quot;&nbsp;&nbsp;&nbsp; ; choose Dec-Jan-Feb seasonal mean<br>
<br>
&nbsp; neof&nbsp;&nbsp; = 1&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; ; number of EOFs<br>
&nbsp; optEOF = True&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <br>
&nbsp; optEOF@jopt = 0&nbsp;&nbsp; ; This is the default; most commonly used; no need to specify.<br>
&nbsp; optETS = False<br>
<br>
model = (/&quot;ACCESS1-0&quot;,&quot;ACCESS1-3&quot;,&quot;bcc-csm1-1&quot;,&quot;bcc-csm1-1-m&quot;,&quot;BNU-ESM&quot;,&quot;CanESM2&quot;,&quot;CCSM4&quot;,&quot;CESM1-BGC&quot;,&quot;CESM1-CAM5&quot;,&quot;CESM1-FASTCHEM&quot;,&quot;CESM1-WACCM&quot;,&quot;CMCC-CESM&quot;,&quot;CMCC-CM&quot;,&quot;CMCC-CMS&quot;,&quot;CNRM-CM5&quot;,&quot;CSIRO-Mk3-6-0&quot;,&quot;EC-EARTH&quot;,&quot;FGOALS-g2&quot;,&quot;GFDL-CM3&quot;,&quot;GFDL-ESM2G&quot;,&quot;GFDL-ESM2M&quot;,&quot;GISS-E2-H&quot;,&quot;GISS-E2-H-CC&quot;,&quot;GISS-E2-R&quot;,&quot;GISS-E2-R-CC&quot;,&quot;HadGEM2-AO&quot;,&quot;HadGEM2-CC&quot;,&quot;HadGEM2-ES&quot;,&quot;inmcm4&quot;,&quot;IPSL-CM5A-LR&quot;,&quot;IPSL-CM5A-MR&quot;,&quot;IPSL-CM5B-LR&quot;,&quot;MIROC5&quot;,&quot;MIROC-ESM&quot;,&quot;MIROC-ESM-CHEM&quot;,&quot;MPI-ESM-LR&quot;,&quot;MPI-ESM-MR&quot;,&quot;MPI-ESM-P&quot;,&quot;MRI-CGCM3&quot;,&quot;NorESM1-M&quot;,&quot;NorESM1-ME&quot;/)<br>
<br>
<br>
wks&nbsp; = gsn_open_wks(&quot;X11&quot;,&quot;ALL_40_MMM_Eof_cor_SST&quot;)&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; ; specifies a plot<br>
gsn_define_colormap(wks,&quot;ncl_default&quot;)&nbsp; ; choose color map<br>
plot = new (dimsizes(model),&quot;graphic&quot;)<br>
do gg = 0,dimsizes(model)-1<br>
&nbsp;&nbsp;&nbsp; <br>
; read in model data<br>
<br>
&nbsp; in=addfile(&quot;/mnt/geog/ml382/melphd/eof_sicz/eof90models/pr_&quot;&#43;model(gg)&#43;&quot;_eof_DJF_Anom.nc&quot;,&quot;r&quot;)&nbsp;
<br>
&nbsp;<br>
&nbsp; lat&nbsp;&nbsp;&nbsp; = in-&gt;lat<br>
&nbsp; lon&nbsp;&nbsp;&nbsp; = in-&gt;lon<br>
&nbsp; time&nbsp;&nbsp; = in-&gt;time<br>
&nbsp; YYYY&nbsp;&nbsp; = cd_calendar(time,-1)/100&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; ; entire file<br>
&nbsp; iYYYY&nbsp; = ind(YYYY.ge.yrStrt .and. YYYY.le.yrLast)<br>
&nbsp;<br>
&nbsp; if((gg.eq.19) .or. (gg.eq.20)) then&nbsp;&nbsp; ;(gg.eq.17) .or. <br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; PR = in-&gt;pr(iYYYY,:,:)<br>
&nbsp;&nbsp;&nbsp; else<br>
&nbsp; PR&nbsp;&nbsp;&nbsp; = in-&gt;pr(iYYYY,0,:,:)<br>
&nbsp; end if<br>
; <br>
&nbsp; nyrs&nbsp;&nbsp; = dimsizes(PR&amp;time)<br>
; =================================================================<br>
; normalize data at each gridpoint by local standard deviation at each grid pt<br>
; =================================================================<br>
&nbsp; PR = dim_standardize_n(PR,1,0)<br>
<br>
; =================================================================<br>
; Reorder (lat,lon,time) the *weighted* input data<br>
; Access the area of interest via coordinate subscripting<br>
; =================================================================<br>
&nbsp; x&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; = PR({lat|latS:latN},{lon|lonL:lonR},time|:)<br>
<br>
&nbsp; eof&nbsp;&nbsp;&nbsp; = eofunc_Wrap(x, neof, optEOF) <br>
&nbsp; eof_ts = eofunc_ts_Wrap (x, eof, optEOF)<br>
<br>
&nbsp; printVarSummary( eof )&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; ; examine EOF variables<br>
&nbsp; printVarSummary( eof_ts )<br>
<br>
; =================================================================<br>
; Extract the YYYYMM from the time coordinate <br>
; associated with eof_ts [same as SLP&amp;time] <br>
; =================================================================<br>
<br>
&nbsp; yyyymm = cd_calendar(eof_ts&amp;time,-2)/100&nbsp; <br>
<br>
; ==============================================================<br>
; Open the file: Read only the user specified period<br>
; ==============================================================<br>
&nbsp; s&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; = addfile (&quot;/mnt/nfs2/geog/ml382/melphd/global/sstmodel90/tos_Omon_&quot;&#43;model(gg)&#43;&quot;_historical_safrica_climDJF.nc&quot;, &quot;r&quot;)
<br>
&nbsp;<br>
&nbsp;<br>
&nbsp; TIME1&nbsp;&nbsp; = s-&gt;time<br>
&nbsp; YYYYZ&nbsp;&nbsp; = cd_calendar(TIME1,-1)/100&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; ; entire file<br>
&nbsp; iYYYYZ&nbsp; = ind(YYYYZ.ge.yrStrt .and. YYYYZ.le.yrLast)<br>
&nbsp; <br>
&nbsp; sst&nbsp;&nbsp;&nbsp; = s-&gt;tos(iYYYYZ,:,:)<br>
&nbsp; printVarSummary(sst)&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <br>
<br>
&nbsp; sst1 =sst(:,:,:)<br>
<br>
<br>
&nbsp; printVarSummary(eof_ts)&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; ; variable overview<br>
&nbsp; eof1 = eof_ts(0,:)<br>
<br>
&nbsp;sst1 = lonFlip(sst1)<br>
; =================================================================<br>
; Reorder (latitude,longitude,time) the *weighted* input data<br>
; Access the area of interest via coordinate subscripting<br>
; =================================================================<br>
&nbsp;<br>
&nbsp; q&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; = eof_ts(0,:)<br>
<br>
&nbsp; y&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; = sst1(lat|:,lon|:,time|:)<br>
&nbsp;&nbsp;&nbsp; <br>
&nbsp;&nbsp;&nbsp;&nbsp; y&amp;lat@units = &quot;degrees_north&quot;<br>
&nbsp;&nbsp;&nbsp;&nbsp; y&amp;lon@units = &quot;degrees_east&quot;<br>
&nbsp;&nbsp;&nbsp;&nbsp; <br>
&nbsp;&nbsp;&nbsp;&nbsp; x&amp;lat@units = &quot;degrees_north&quot;<br>
&nbsp;&nbsp;&nbsp;&nbsp; x&amp;lon@units = &quot;degrees_east&quot;<br>
&nbsp;&nbsp;&nbsp;&nbsp; <br>
&nbsp;printVarSummary(q)<br>
&nbsp;printVarSummary(y)<br>
<br>
<br>
&nbsp;ccr = escorc(q, y)<br>
<br>
&nbsp;printVarSummary(ccr)<br>
<br>
&nbsp; ccr!0 = &quot;lat&quot; ; name dimensions <br>
&nbsp; ccr!1 = &quot;lon&quot; <br>
&nbsp; ccr&amp;lat = y&amp;lat ; assign coordinate values and <br>
&nbsp; ccr&amp;lon = y&amp;lon ; units attributes <br>
<br>
&nbsp;printVarSummary(ccr)<br>
<br>
<br>
&nbsp;;ensccrdimavg = dim_avg_Wrap( ccr(lat|:, lon|:)<br>
&nbsp;ensccr = new((/dimsizes(lat),dimsizes(lon)/), typeof(ccr))<br>
&nbsp;&nbsp;&nbsp; ;ensccr!0=&quot;lat&quot;<br>
&nbsp;&nbsp;&nbsp; ;ensccr&amp;lat=lat<br>
&nbsp;&nbsp;&nbsp; ;ensccr!1=&quot;lon&quot;<br>
&nbsp;&nbsp;&nbsp; ;ensccr&amp;lon=lon<br>
;ensccr(gg) = ensccrsum<br>
<br>
;ensccrsum(gg) = sum( ccr(lat|:, lon|: ))<br>
&nbsp;;ensccr = ensccrsum / 40<br>
&nbsp;<br>
ensccr = dim_avg_n_Wrap(ccr,0)<br>
<br>
&nbsp;&nbsp; <br>
&nbsp; ensccr!0 = &quot;lat&quot; ; name dimensions <br>
&nbsp; ensccr!1 = &quot;lon&quot; <br>
&nbsp; ensccr&amp;lat = lat ; assign coordinate values and <br>
&nbsp; ensccr&amp;lon = lon ; units attributes <br>
<br>
&nbsp;printVarSummary(ensccr)<br>
;============================================================<br>
; PLOT<br>
;============================================================<br>
&nbsp; <br>
<br>
;*******************************************<br>
; first plot<br>
;*******************************************<br>
&nbsp;&nbsp; <br>
&nbsp; rescn&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; = True<br>
&nbsp; rescn@cnFillOn&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; = True&nbsp;&nbsp;&nbsp;&nbsp; <br>
&nbsp; rescn@cnLinesOn&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; = False&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; ; True is default&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <br>
&nbsp; rescn@gsnDraw&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; = False&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; ; don't draw<br>
&nbsp; rescn@gsnFrame&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; = False&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; ; don't advance frame<br>
&nbsp; rescn@cnLineLabelsOn&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; = False&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; ; True is default<br>
&nbsp; rescn@lbLabelBarOn&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; = False&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; ; turn off individual lb's<br>
&nbsp; <br>
&nbsp; rescn@cnLevelSelectionMode = &quot;ManualLevels&quot;&nbsp;&nbsp;&nbsp;&nbsp; ; set manual contour levels<br>
&nbsp; rescn@cnMinLevelValF&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; = -0.5&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; ; set min contour level<br>
&nbsp; rescn@cnMaxLevelValF&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; =&nbsp; 0.5&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; ; set max contour level<br>
&nbsp; rescn@cnLevelSpacingF&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; =&nbsp; 0.1&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; ; set contour spacing<br>
<br>
&nbsp; ;rescn@lbOrientation&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; = &quot;Vertical&quot;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; ; vertical label bar<br>
&nbsp; rescn@tiMainString = &quot;&quot;&#43;model(gg)&#43;&quot;&quot;<br>
;---This resource defaults to True in NCL V6.1.0<br>
&nbsp; rescn@lbLabelAutoStride&nbsp;&nbsp;&nbsp; = True&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; ; optimal label stride<br>
<br>
&nbsp; rescn@gsnSpreadColors&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; = True&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; ; use full range of colors<br>
&nbsp; rescn@mpCenterLonF&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; = 180.&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; ; center plot at 180<br>
&nbsp; rescn@lbLabelFontHeightF = 0.015 <br>
&nbsp;<br>
&nbsp; rescn@gsnAddCyclic&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; = True <br>
&nbsp;; reverse the first two colors<br>
&nbsp; setvalues wks&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <br>
&nbsp;&nbsp;&nbsp; &quot;wkColorMap&quot;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; : &quot;ncl_default&quot;&nbsp; <br>
&nbsp;&nbsp;&nbsp; &quot;wkForegroundColor&quot; : (/0.,0.,0./)&nbsp; <br>
&nbsp;&nbsp;&nbsp; &quot;wkBackgroundColor&quot; : (/1.,1.,1./) <br>
&nbsp; end setvalues<br>
&nbsp;&nbsp; <br>
&nbsp;<br>
end do<br>
<br>
plot = gsn_csm_contour_map(wks,ensccr,rescn)<br>
<br>
<br>
draw(plot)<br>
frame(wks)<br>
<br>
end<br>
<br>
<br>
</div>
</body>
</html>