[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

Rahpeni Fajarianti rahpenifajarianti at gmail.com
Tue Dec 17 01:39:18 MST 2019


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
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mailman.ucar.edu/pipermail/ncl-talk/attachments/20191217/86817d87/attachment.html>


More information about the ncl-talk mailing list