[ncl-talk] fatal:divide: Division by 0, Can't continuefatal:Div: operator failed, can't continue fatal:["Execute.c":8635]:Execute: Error occurred at or near line 129
Adam Phillips
asphilli at ucar.edu
Tue Dec 17 17:06:10 MST 2019
Hi Rahpeni,
You can use a where statement call to remove 0's from your array prior to
the division:
zavg_var_olr = where(zavg_var_olr.eq.0,zavg_var_olr at _FillValue,zavg_var_olr
)
olr = olr/sqrt(zavg_var_olr ) ; (time,lon)
Note: You must have zavg_var_olr at _FillValue set before using the above
syntax.
If you have any further questions please respond to the ncl-talk email list.
Adam
On Tue, Dec 17, 2019 at 1:40 AM Rahpeni Fajarianti via ncl-talk <
ncl-talk at ucar.edu> wrote:
> Hi all !
> I want to make MJO clivar 14, but I have some problem.
> This is :
> fatal:divide: Division by 0, Can't continue
> fatal:Div: operator failed, can't continue
> fatal:["Execute.c":8635]:Execute: Error occurred at or near line 129
>
> This is my script:
> ncl 0> load "$NCARG_ROOT/lib/ncarg/nclscripts/csm/diagnostics_cam.ncl"
> ncl 1> ;******************************************************
> u850 = dim_rmvmean_n(u850, 0)
> u200 = dim_rmvmean_nncl 2> ;
> (uncl 3> ; mjoclivar_14.ncl
> ncl 4> ;
> ncl 5> ;***********************************************************
> ncl 6> ; Combined EOFs
> hncl 7> ; Latest Update: July, 2016: Eun-Pa Lim; Bureau of Meteorology,
> Australia
> ncl 8> ;***********************************************************
> iancncl 9> ;;
> nncl 10> ;; The following are automatically loaded from 6.2.0 onward
> ncl 11> ;;load "$NCARG_ROOT/lib/ncarg/nclscripts/csm/gsn_code.ncl"
> ncl 12> ;;load "$NCARG_ROOT/lib/ncarg/nclscripts/csm/gsn_csm.ncl"
> ncl 13> ;;load "$NCARG_ROOT/lib/ncarg/nclscripts/csm/contributed.ncl"
> ncl 14>
> ncl 15> undef("read_rename")
> ncl 16> function read_rename(f[1]:file, varName[1]:string \
> ncl 16> ,iStrt[1]:integer, iLast[1]:integer \
> ncl 16> ,latS[1]:numeric , latN[1]:numeric )
> ncl 17> ; Utility to force specific named dimensions
> ncl 18> ; This is done for historical reasons (convenience)
> ncl 19> begin
> ncl 20> work = f->$varName$(iStrt:iLast,{latS:latN},:) ;
> (time,lat,lon)
> ncl 21> work!0 = "time" ; CAM model
> names
> ncl 22> work!1 = "lat"
> ncl 23> work!2 = "lon"
> ncl 24> return(work)
> ncl 25> end
> ncl 26> ; =========================> MAIN <==============================
> ncl 27> begin
> ncl 28> neof = 2
> ncl 29>
> ncl 30> latS = -15
> ncl 31> latN = 15
> ncl 32>
> ncl 33> ymdStrt = 20180101 ; start yyyymmdd
> ncl 34> ymdLast = 20181231 ; last
> ncl 35>
> ncl 36> yrStrt = ymdStrt/10000
> ncl 37> yrLast = ymdLast/10000
> ncl 38>
> ncl 39> pltDir = "/home/peni/" ; plot
> directory
> *ncl 40> pltType = "png"
> ncl 41> pltName = "mjoclivar"
> ncl 42>
> ,ncl 43> diri = "/home/peni/" ; input
> directory
> ncl 44>
> ncl 45> filolr = "olr.day.anomalies.2018.nc"
> ncl 46> filu200 = "uwnd.anomalies.nc"
> ncl 47> filu850 = "uwnd2.anomalies.nc.nc"
> ncl 48>
> ncl 49> ;************************************************
> ncl 50> ; create BandPass Filter
> ncl 51> ;************************************************
> ncl 52> ihp = 2 ; bpf=>band pass filter
> ncl 53> nWgt = 201
> ncl 54> sigma = 1.0 ; Lanczos sigma
> ncl 55> fca = 1./100.
> ncl 56> fcb = 1./20.
> ncl 57> wgt = filwgts_lanczos (nWgt, ihp, fca, fcb, sigma )
> ncl 58>
> )ncl 59> ;***********************************************************
> ncl 60> ; Find the indices corresponding to the start/end times
> ncl 61> ;***********************************************************
> ncl 62> f = addfile (diri+filolr , "r")
> ncl 63> TIME = f->time ; days since ...
> ncl 64>
> ncl 65> YMD = cd_calendar(TIME, -2) ; entire (time,6)
> ncl 66>
> ncl 67> iStrt = ind(YMD.eq.ymdStrt) ; index start
> ncl 68> iLast = ind(YMD.eq.ymdLast) ; index last
> ncl 69> delete([/ TIME, YMD /])
> ncl 70>
> ncl 71> ;***********************************************************
> ncl 72> ; Read anomalies
> ncl 73> ;***********************************************************
> ncl 74>
> ncl 75> work = read_rename(f,"OLR_anom",iStrt,iLast,latS,latN) ;
> (time,lat,lon)
> ncl 76> OLR = dim_avg_n_Wrap(work, 1) ;
> (time,lon)
> ncl 77> delete(work)
> ncl 78>
> ncl 79> f = addfile (diri+filu850 , "r")
> ncl 80> work = read_rename(f,"U_anom",iStrt,iLast,latS,latN) ;
> (time,lat,lon)
> ncl 81> U850 = dim_avg_n_Wrap(work, 1) ; (time,lon)
> ncl 82> delete(work)
> ncl 83>
> ncl 84> f = addfile (diri+filu200 , "r")
> ncl 85> work = read_rename(f,"U_anom",iStrt,iLast,latS,latN) ;
> (time,lat,lon)
> ncl 86> U200 = dim_avg_n_Wrap(work, 1) ; (time,lon)
> ncl 87>
> ncl 88> dimw = dimsizes( work )
> ncl 89> ntim = dimw(0)
> ncl 90> nlat = dimw(1)
> ncl 91> mlon = dimw(2)
> ncl 92> delete(work)
> ncl 93>
> ncl 94> lon = OLR&lon
> ncl 95> time = OLR&time
> ncl 96> date = cd_calendar(time, -2) ; yyyymmdd
> ncl 97>
> ncl 98> ;************************************************
> ncl 99> ; Apply the band pass filter to the original anomalies
> ncl 100> ;************************************************
> ncl 101> olr = wgt_runave_n_Wrap ( OLR, wgt, 0, 0) ; (time,lon)
> )
> ;************************************************
>
> imax_olr_eof1 = maxind(ceof(0,0,:))
> imax_olr_eof2 ncl 102> u850 = wgt_runave_n_Wrap (U850, wgt, 0, 0)
> ncl 103> u200 = wgt_runave_n_Wrap (U200, wgt, 0, 0)
> ncl 104>
> ncl 105> ;************************************************
> ncl 106> ; remove temporal means of band pass series: *not* necessary
> ncl 107> ;************************************************
> ncl 108> olr = dim_rmvmean_n( olr, 0) ; (time,lon)
> ncl 109> u850 = dim_rmvmean_n(u850, 0)
> ncl 110> u200 = dim_rmvmean_n(u200, 0)
> ncl 111>
> ncl 112> ;************************************************
> ncl 113> ; Compute the temporal variance at each lon
> ncl 114> ;************************************************
> ncl 115> var_olr = dim_variance_n_Wrap( olr, 0) ; (lon)
> ncl 116> var_u850 = dim_variance_n_Wrap(u850, 0)
> ncl 117> var_u200 = dim_variance_n_Wrap(u200, 0)
> ncl 118>
> ncl 119> ;************************************************
> ncl 120> ; Compute the zonal mean of the temporal variance
> Oncl 121> ;************************************************
> ncl 122> zavg_var_olr = dim_avg_n_Wrap( var_olr , 0)
> ncl 123> zavg_var_u850 = dim_avg_n_Wrap( var_u850, 0)
> ncl 124> zavg_var_u200 = dim_avg_n_Wrap( var_u200, 0)
> ncl 125>
> ncl 126> ;************************************************
> ncl 127> ; Normalize by sqrt(avg_var*)
> ncl 128> ;************************************************
> ncl 129> olr = olr/sqrt(zavg_var_olr ) ; (time,lon)
> ncl 130> u850 = u850/sqrt(zavg_var_u850)
> ncl 131> u200 = u200/sqrt(zavg_var_u200)
> ncl 132>
> cncl 133> ;************************************************
> ncl 134> ; Combine the normalized data into one variable
> ncl 135> ;************************************************
> ncl 136> cdata = new ( (/3*mlon,ntim/), typeof(olr),
> getFillValue(olr))
> ncl 137> do ml=0,mlon-1
> ncl 138> cdata(ml ,:) = (/ olr(:,ml) /)
> ncl 139> cdata(ml+ mlon,:) = (/ u850(:,ml) /)
> ncl 140> cdata(ml+2*mlon,:) = (/ u200(:,ml) /)
> ncl 141> end do
> ncl 142>
> =ncl 143> ;************************************************
> ncl 144> ; Compute **combined** EOF; Sign of EOF is arbitrary
> ncl 145> ;************************************************
> ncl 146> eof_cdata = eofunc(cdata , neof, False) ;
> (neof,3*mlon)
> ncl 147> print("==============")
> ncl 148> printVarSummary(eof_cdata)
> ncl 149> printMinMax(eof_cdata, True)
> ncl 150>
> ncl 151> eof_ts_cdata = eofunc_ts(cdata,eof_cdata,False) ;
> (neof,3*ntim)
> ncl 152> print("==============")
> ncl 153> printVarSummary(eof_ts_cdata)
> ncl 154> printMinMax(eof_ts_cdata, True)
> ncl 155>
> incl 156> ;************************************************
> ncl 157> ; For clarity, explicitly extract each variable. Create time
> series
> ncl 158> ;************************************************
> ncl 159>
> tncl 160> nvar = 3 ; "olr", "u850", "u200"
> ncl 161> ceof = new( (/nvar,neof,mlon/), typeof(cdata),
> getFillValue(cdata))
> ncl 162>
> dncl 163> do n=0,neof-1
> ncl 164> ceof(0,n,:) = eof_cdata(n,0:mlon-1) ; olr
> ncl 165> ceof(1,n,:) = eof_cdata(n,mlon:2*mlon-1) ; u850
> ncl 166> ceof(2,n,:) = eof_cdata(n,2*mlon:) ; u200
> ncl 167> end do
> ncl 168>
> (ncl 169> ceof!0 = "var"
> ncl 170> ceof!1 = "eof"
> ncl 171> ceof!2 = "lon"
> ncl 172> ceof&lon = olr&lon
> ncl 173>
> incl 174> ceof_ts = new( (/nvar,neof,ntim/), typeof(cdata),
> getFillValue(cdata))
> ncl 175> ceof_ts(0,:,:) = eofunc_ts_Wrap(
> olr(lon|:,time|:),ceof(0,:,:),False) ; (0,neof,ntim)
> ncl 176> ceof_ts(1,:,:) =
> eofunc_ts_Wrap(u850(lon|:,time|:),ceof(1,:,:),False) ; (1,neof,ntim)
> ncl 177> ceof_ts(2,:,:) =
> eofunc_ts_Wrap(u200(lon|:,time|:),ceof(2,:,:),False) ; (2,neof,ntim)
> ncl 178>
> ncl 179> ;**********************************************t*
> ncl 180> ; Add code contributed by Marcus N. Morgan, Florida Institute of
> Technology; Feb 2015
> ncl 181> ; Calculate % variance (pcv_ )accounted for by OLR, U850 and U200
> ncl 182> ;************************************************
> ncl 183>
> ncl 184> pcv_eof_olr = new(neof,typeof(ceof))
> ncl 185> pcv_eof_u850 = new(neof,typeof(ceof))
> ncl 186> pcv_eof_u200 = new(neof,typeof(ceof))
> ncl 187>
> ncl 188> do n=0,neof-1
> ncl 189> pcv_eof_olr(n) = avg((ceof(0,n,:)*sqrt(ceof at eval
> (n)))^2)*100
> ncl 190> pcv_eof_u850(n) = avg((ceof(1,n,:)*sqrt(ceof at eval
> (n)))^2)*100
> ncl 191> pcv_eof_u200(n) = avg((ceof(2,n,:)*sqrt(ceof at eval
> (n)))^2)*100
> ncl 192> ;;print("pcv: neof="+(n+1)+": "+pcv_eof_olr(n)+"
> "+pcv_eof_u850(n)+" "+pcv_eof_u200(n))
> ncl 193> end do
> ncl 194>
> ncl 195> ;************************************************
> ncl 196> ; Change sign of EOFs for spatial structures of PC1 and PC2
> ncl 197> ; to represent convection over the tropical Indian Ocean and the
> tropical western Pacific Ocean, respectively
> ncl 198> ; (Ad hoc approach)
> ncl 199> ;************************************************
> ncl 200>
> ncl 201> imax_olr_eof1 = maxind(ceof(0,0,:))
> ncl 202> imax_olr_eof2 = maxind(ceof(0,1,:))
> ncl 203>
> )ncl 204> lonmax_eof1 = ceof&lon(imax_olr_eof1) ; longitude of max
> value (i.e. suppressed convection)
> ncl 205> lonmax_eof2 = ceof&lon(imax_olr_eof2)
> ncl 206>
> sncl 207> if (lonmax_eof1.ge.60 .and. lonmax_eof1.lt.180) then ; Change
> the sign of EOF1
> ncl 208> ceof(:,0,:) = -ceof(:,0,:) ; if OLR
> is positive
> ncl 209> ceof_ts(:,0,:) = -ceof_ts(:,0,:) ; over
> the tropical Indian Ocean
> ncl 210> eof_cdata(0,:) = -eof_cdata(0,:)
> ncl 211> eof_ts_cdata(0,:) = -eof_ts_cdata(0,:)
> ncl 212> end if
> ncl 213>
> encl 214> if (lonmax_eof2.ge.120 .and. lonmax_eof2.lt.180) then ;
> Change the sign of EOF2
> ncl 215> ceof(:,1,:) = -ceof(:,1,:) ; if OLR
> is positive
> ncl 216> ceof_ts(:,1,:) = -ceof_ts(:,1,:) ; over
> the tropical western Pacific Ocean
> ncl 217> eof_cdata(1,:) = -eof_cdata(1,:)
> ncl 218> eof_ts_cdata(1,:) = -eof_ts_cdata(1,:)
> ncl 219> end if
> ncl 220>
> ncl 221> print("==============")
> rncl 222> printVarSummary(eof_cdata)
> ncl 223> printMinMax(eof_cdata, True)
> ncl 224>
> ncl 225> ;************************************************
> ncl 226> ; Compute cross correlation of each variable's EOF time series at
> zero-lag
> ncl 227> ;************************************************
> ncl 228> r_olr_u850 = escorc(ceof_ts(0,:,:) , ceof_ts(1,:,:) ) ; (neof)
> ncl 229> r_olr_u200 = escorc(ceof_ts(0,:,:) , ceof_ts(2,:,:) )
> ncl 230> r_u850_u200 = escorc(ceof_ts(1,:,:) , ceof_ts(2,:,:) )
> ncl 231>
> sncl 232> print("==============")
> ncl 233> do n=0,neof-1
> ncl 234> print("neof="+n \
> ncl 234> +" r_olr_u850=" +sprintf("%4.3f",r_olr_u850(n)) \
> ncl 234> +" r_olr_u200=" +sprintf("%4.3f",r_olr_u200(n)) \
> ncl 234> +" r_u850_u200="+sprintf("%4.3f",r_u850_u200(n)) )
> ncl 235> end do
> ncl 236> print("==============")
> ncl 237>
> ncl 238> ;************************************************
> 5N: "+yrStrt+"-"+yrLast
>
> do ncl 239> ; Compute cross correlation of the multivariate EOF; EOF 1
> vs EOF 2
> ncl 240> ;************************************************
> ncl 241>
> ncl 242> mxlag = 25
> ncl 243> rlag_01 = esccr(eof_ts_cdata(0,:),eof_ts_cdata(1,:), mxlag)
> ; (N,mxlag+1)
> ncl 244> rlag_10 = esccr(eof_ts_cdata(1,:),eof_ts_cdata(0,:), mxlag)
> ; (N,mxlag+1)
> ncl 245> ccr_12 = new ( (/2*mxlag+1/), float)
> ncl 246>
> cncl 247> ccr_12(mxlag:) = rlag_10(0:mxlag)
> ncl 248> ccr_12(0:mxlag) = rlag_01(::-1) ; reverse order
> ncl 249> ;;print(ccr_12)
> ncl 250>
> sncl 251>
> Pncl 252> ;************************************************
> ncl 253> ; Normalize the multivariate EOF 1&2 component time series
> ncl 254> ; Compute (PC1^2+PC2^2): values > 1 indicate "strong" periods
> ncl 255> ;************************************************
> ncl 256> eof_ts_cdata(0,:) = eof_ts_cdata(0,:)/stddev(eof_ts_cdata(0,:))
> ncl 257> eof_ts_cdata(1,:) = eof_ts_cdata(1,:)/stddev(eof_ts_cdata(1,:))
> ncl 258>
> ncl 259> mjo_ts_index = eof_ts_cdata(0,:)^2 + eof_ts_cdata(1,:)^2
> ncl 260> mjo_ts_index_smt = runave(mjo_ts_index, 91, 0) ; 91-day
> running mean
> ncl 261>
> ncl 262> nGood = num(.not.ismissing(mjo_ts_index)) ; # non-missing
> ncl 263> nStrong = num(mjo_ts_index .ge. 1.0)
> ncl 264> print("nGood="+nGood+" nStrong="+nStrong+"
> nOther="+(nGood-nStrong))
> ncl 265>
> rncl 266> ;************************************************
> ncl 267> ; Write PC results to netCDF for use in another example.
> ncl 268> ;************************************************
> ncl 269> mjo_ts_index!0 = "time"
> ncl 270> mjo_ts_index&time = time
> ncl 271> mjo_ts_index at long_name = "MJO PC INDEX"
> ncl 272> mjo_ts_index at info = "(PC1^2 + PC2^2)"
> ncl 273>
> ncl 274> PC1 = eof_ts_cdata(0,:)
> ncl 275> PC1!0 = "time"
> ncl 276> PC1&time = time
> ncl 277> PC1 at long_name = "PC1"
> ncl 278> PC1 at info = "PC1/stddev(PC1)"
> ncl 279>
> oncl 280> PC2 = eof_ts_cdata(1,:)
> ncl 281> PC2!0 = "time"
> ncl 282> PC2&time = time
> ncl 283> PC2 at long_name = "PC2"
> ncl 284> PC2 at info = "PC2/stddev(PC2)"
> ncl 285>
> ncl 286> diro = "./"
> ncl 287> filo = "MJO_PC_INDEX.nc"
> ncl 288> system("/bin/rm -f "+diro+filo) ; remove any pre-existing file
> ncl 289> ncdf = addfile(diro+filo,"c") ; open output netCDF file
> of legend.
> ncl 290> ; make time an UNLIMITED
> dimension
> ncl 291> filedimdef(ncdf,"time",-1,True) ; recommended for most
> applications
> ncl 292> ; output variables directly
> ncl 293> ncdf->MJO_INDEX = mjo_ts_index
> ncl 294> ncdf->PC1 = PC1
> ncl 295> ncdf->PC2 = PC2
> ncl 296>
> ncl 297> ;------------------------------------------------------------
> ncl 298> ; PLOTS
> ncl 299> ;------------------------------------------------------------
> ncl 300>
> ncl 301> yyyymmdd = cd_calendar(time, -2)
> tncl 302> yrfrac = yyyymmdd_to_yyyyfrac(yyyymmdd, 0.0)
> ncl 303> delete([/ yrfrac at long_name, lon at long_name /])
> ncl 304>
> ncl 305> day = ispan(-mxlag, mxlag, 1)
> ncl 306> ;day at long_name = "lag (day)"
> ncl 307>
> ncl 308> pltPath = pltDir+pltName
> ncl 309>
> ncl 310> wks = gsn_open_wks(pltType,pltPath)
> ncl 311> gsn_define_colormap(wks,"default")
> ncl 312> plot = new(3,graphic)
> ncl 313>
> ncl 314> ;************************************************
> ncl 315> ; Multivariate EOF plots
> ncl 316> ;************************************************
> ncl 317> rts = True
> ncl 318> rts at gsnDraw = False ; don't draw yet
> ncl 319> rts at gsnFrame = False ; don't advance frame yet
> ncl 320> rts at gsnScale = True ; force text scaling
> ncl 321>
> ncl 322> rts at vpHeightF = 0.40 ; Changes the aspect ratio
> ncl 323> rts at vpWidthF = 0.85
> ncl 324> rts at vpXF = 0.10 ; change start locations
> ncl 325> rts at vpYF = 0.75 ; the plot
> ncl 326> rts at xyLineThicknesses = (/2, 2, 2/)
> ncl 327> rts at xyLineColors = (/"black","red","blue"/)
> ncl 328> rts at gsnYRefLine = 0. ; reference line
> ncl 329> rts at trXMaxF = max(lon)
> ncl 330> rts at trXMinF = min(lon)
> ncl 331>
> ncl 332> rts at pmLegendDisplayMode = "Always" ; turn on
> legend
> ncl 333> rts at pmLegendSide = "Top" ; Change
> location of
> ncl 334> rts at pmLegendParallelPosF = 1.16 ; move units
> right
> ncl 335> rts at pmLegendOrthogonalPosF = -0.50 ; move units
> down
> ncl 336> rts at pmLegendWidthF = 0.15 ; Change
> width and
> ncl 337> rts at pmLegendHeightF = 0.15 ; height of
> legend.
> ncl 338> rts at lgLabelFontHeightF = 0.0175
> ncl 339>
> ncl 340>
> ncl 341> rtsP = True ; modify the
> panel plot
> ncl 342> ; rtsP at gsnMaximize = True ; large
> format
> ncl 343> rtsP at gsnPanelMainString = "Multivariate EOF: 15S-15N:
> "+yrStrt+"-"+yrLast
> ncl 344>
> ncl 345> do n=0,neof-1
> ncl 346> rts at xyExplicitLegendLabels = (/"OLR: "+sprintf("%4.1f",
> pcv_eof_u200(n)) +"%" \
> ncl 346> ,"U850: "+sprintf("%4.1f",
> pcv_eof_u850(n))+"%" \
> ncl 346> ,"U200: "+sprintf("%4.1f",
> pcv_eof_olr(n))+"%" /)
> ncl 347> rts at gsnLeftString = "EOF "+(n+1)
> ncl 348> rts at gsnRightString = sprintf("%3.1f",ceof at pcvar(n)) +"%"
> ncl 349> plot(n) = gsn_csm_xy (wks,lon,ceof(:,n,:),rts)
> ncl 350> end do
> ncl 351> gsn_panel(wks,plot(0:1),(/2,1/),rtsP) ; now draw as one plot
> ncl 352>
> ncl 353> ;-----------------------------------------
> ncl 354> ; The following doesn't work with some older versions of NCL
> ncl 355> ; With old versions, the user must delete each individually.
> ncl 356> ;-----------------------------------------
> ncl 357> delete([/ rts at xyExplicitLegendLabels, rts at pmLegendDisplayMode \
> ncl 357> , rts at xyLineThicknesses , rts at gsnLeftString \
> ncl 357> , rts at gsnRightString , rts at xyLineColors \
> ncl 357> , rts at trXMaxF , rts at trXMinF
> /] )
> ncl 358>
> ncl 359> lag = ispan(-mxlag,mxlag,1)
> ncl 360> lag at long_name = "lag (days)"
> ncl 361>
> ncl 362> plot(0) = gsn_csm_xy (wks, lag ,ccr_12,rts)
> ncl 363> rtsP at gsnPanelMainString = "Cross Correlation: Multivariate
> EOF: 15S-15N: " \
> ncl 363> + yrStrt+"-"+yrLast
> ncl 364> rtsP at gsnPaperOrientation = "portrait" ; force portrait
> ncl 365> gsn_panel(wks,plot(0),(/1,1/),rtsP) ; now draw as one plot
> ncl 366>
> ncl 367> ;************************************************
> ncl 368> ; MJO "strong" index
> ncl 369> ;************************************************
> ncl 370> rts at gsnYRefLine = 1.0
> ncl 371> rts at gsnYRefLineColor = "black"
> ncl 372> rts at xyMonoDashPattern = True
> ncl 373> rts at xyLineColors = (/"black", "blue"/)
> ncl 374> rts at xyLineThicknesses = (/1, 2/)
> ncl 375> rts at pmLegendDisplayMode = "Always" ; turn on
> legend
> ncl 376> rts at pmLegendWidthF = 0.12 ; Change
> width and
> ncl 377> rts at pmLegendHeightF = 0.10 ; height of
> legend.
> ncl 378> rts at pmLegendParallelPosF = 0.86 ; move units
> right
> ncl 379> rts at pmLegendOrthogonalPosF = -0.40 ; move units
> down
> ncl 380> rts at xyExplicitLegendLabels = (/"daily", "91-day runavg" /)
> ncl 381>
> ncl 382> mjo_ind_plt = new ( (/2,ntim/), typeof(mjo_ts_index))
> ncl 383> mjo_ind_plt(0,:) = mjo_ts_index
> ncl 384> mjo_ind_plt(1,:) = (/ mjo_ts_index_smt /)
> ncl 385> plot(0) = gsn_csm_xy(wks, yrfrac,mjo_ind_plt,rts)
> ncl 386>
> ncl 387> rtsP at gsnPanelMainString = "MJO Index: (PC1^2+ PC2^2) :
> 15S-15N: "+yrStrt+"-"+yrLast
> ncl 388> gsn_panel(wks,plot(0),(/1,1/),rtsP) ; now draw as one plot
> ncl 389>
> ncl 390> end
>
> Thank you
>
> _______________________________________________
> 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/20191217/366a4315/attachment.html>
More information about the ncl-talk
mailing list