# Re: subscripits error

From: Alessandra Giannini <alesall_at_nyahnyahspammersnyahnyah>
Date: Fri Aug 02 2013 - 11:28:14 MDT

Hello Setareh,

the documentation about the "gsn_csm_xy" function
<http://www.ncl.ucar.edu/Document/Graphics/Interfaces/gsn_csm_xy.shtml>
is pretty clear.

I copy and paste parts here:

function gsn_csm_xy (

wks [1] : graphic,
x : numeric,
y : numeric,
res [1] : logical
)

x
y
The X and Y coordinates of the curve(s). If x and/or y are two-dimensional, then the leftmost dimension determines the number of curves.

So, in your case, what are the dimensions of your x and y, i.e. yrfrac,spia(n,:,:)?

Hint: the documentation allows for two dimensional variables at most. It seems your spia is at least 3D...

If spia is indeed 3D, then pretending it is anything else, such as
> spia(n), spia(n,:), spia(n,:,:,:)
certainly will not correct the error.

It may help to ask yourself how many curves you are trying to produce...

Hope this helps!

```--
Alessandra Giannini
IRI for Climate and Society - The Earth Institute at Columbia University
P.O. Box 1000, Palisades NY 10964-8000
phone/fax: +1 845 680-4473/4864 - email: alesall@iri.columbia.edu
On Aug 2, 2013, at 1:16 PM, Setareh Rahimi <setareh.rahimi@gmail.com> wrote:
> Dear all,
>
> I run below codes to have a xy plot. Once running I get an error saying the number of subscripts do not match the dimentions of variable. "spia" has 2 dimensions.The error is related to this line :plt(n) = gsn_csm_xy (wks,yrfrac,spia(n,:,:),res) . I have also tried spia(n), spia(n,:), spia(n,:,:,:) ,but those are wrong.Would you please help me to fix this problem.
>
>
> ______________________________________________________________________________________________________________________________________
>
>
> begin
>
>     prc2   = f->precip({62456:77035},{-35:37},{344:50})
>     time  = f->time({62456:77035} )
>
>
>     yyyymm_i = cd_calendar(time, -2)
>
>     ntim         = dimsizes(time)
>
>     year         = yyyymm_i/100
>     firstyr      = year(0)
>     lastyr       = year(ntim-1)
>     nyear        = lastyr-firstyr+1
>     YYYYMM       = yyyymm_time(firstyr,lastyr , "integer")
>     yrfrac = yyyymm_to_yyyyfrac(YYYYMM,0.0)
>     printVarSummary(yrfrac)
>
>     dimp   = dimsizes(prc2)
>     ntim   = dimp(0)
>     nlat   = dimp(1)
>     mlon   = dimp(2)
>     len    = (/3,6,12,24/)
>     klen   =  dimsizes(len)
>     spi    =  new((/klen,ntim,nlat,mlon/),float)
>
>
>     do k=0,klen-1
>       spi(k,:,:,:) = dim_spi_n(prc2, len(k), False, 0)
>     end do
>
>     spia = dim_avg_n_Wrap(spi,(/1,2/))
>     printVarSummary(spia)
>
>     wks            =   gsn_open_wks ("ps","spia")
>     res            =   True
>     res@gsnDraw    =   False
>     res@gsnFrame   =   False
>     res@vpHeightF  =   0.4
>     res@vpWidthF   =   0.8
>     res@vpXF       =   0.1
>     res@trYMinF    =   -3.0
>     res@trYMaxF    =   3.0
>     res@gsnYRefLine = 0.0
>     res@xyMonoDashPattern = True
>     res@xyLineThicknessF = 1
>     plt = new ( klen, "graphic")
>     xyLineColors = (/"black","red","blue","green"/)
>     do n=0,klen-1
>      res@xyLineColors = xyLineColors(n)
>        res@gsnCenterString = "run="+len(n)
>        plt(n) = gsn_csm_xy (wks,yrfrac,spia(n,:,:),res)
>    end do
>    resP = True ; modify the panel plot
>    resP@txString = "SPI: Boulder: 1894-2010"
>    resP@gsnMaximize = True
>    ;gsn_panel(wks,plt,(/2,2/),resP)
>
> end
>
>
>
>
> --
> S.Rahimi
>
> _______________________________________________
> ncl-talk mailing list
> List instructions, subscriber options, unsubscribe:
> http://mailman.ucar.edu/mailman/listinfo/ncl-talk

```

_______________________________________________
ncl-talk mailing list
List instructions, subscriber options, unsubscribe:
http://mailman.ucar.edu/mailman/listinfo/ncl-talk
Received on Fri Aug 2 11:28:28 2013

This archive was generated by hypermail 2.1.8 : Wed Aug 07 2013 - 13:59:00 MDT