Re: Fwd: Standardised precipitation indec Calculation

From: Dennis Shea <shea_at_nyahnyahspammersnyahnyah>
Date: Mon Jul 29 2013 - 10:50:31 MDT

Is this a class exercise? Basically, the same question was just answered
for another person.
===
It looks to me like you copied Example 2 at:

   http://www.ncl.ucar.edu/Document/Functions/Built-in/dim_spi_n.shtml

and expected it to work. That example is for a 1 one-dimensional (1D)
array. Your data array is three-dimensional (3D). Hence, your problem!

It is the *user responsibility* to make adjustments for different arrays
sizes. There can not be an example for every possibility.

As indicated in Anna's response, your 'spi' array is not dimensioned
correctly.

I added Example 5 at:

   http://www.ncl.ucar.edu/Document/Functions/Built-in/dim_spi_n.shtml

Please look carefully at what was done.

===

Further, the data set you are inputting is a *climatology* (ntim=12)
yet you specifying to calculate len=(/3, 6, 12, 24, 36, 48 /)
This makes no sense.

===

If you are new to NCL, please read the Mini-Language Manual ta:

      http://test.www.ncl.ucar.edu/Document/Manuals/

On 7/29/13 7:14 AM, Setareh Rahimi wrote:
> ---------- Forwarded message ----------
> From: Setareh Rahimi <setareh.rahimi@gmail.com>
> Date: Sun, Jul 28, 2013 at 7:47 PM
> Subject: Standardised precipitation indec Calculation
> To: ncl-talk@ucar.edu
>
>
> Dear Mr/Mrs,
>
> I want to calculate SPI globally. I run the codes which are provided by the
> ncl website, but I got some errors. Here are the codes I have run, the
> erroes and a header of nc file I work with( The nc file I use is a ttal
> monthly precipitation). I am not very familiar with ncl.Please advise me
> how sort it out.
>
>
> ___________________________________________________________________
> 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"
>
>
> f = addfile("precip.mon.1981-2010.ltm.v6.nc","r")
> prc = f->precip ; PRECIP(time)
> printVarSummary(prc)
>
> nprc = dimsizes(prc) ; # monthly precipitation values
>
> len = (/3, 6, 12, 24, 36, 48 /)
> klen = dimsizes(len)
> spi = new((/6,3/) ,float,prc@_FillValue)
>
> do k=0,klen-1
> spi(k,:) = dim_spi_n(prc, len(k), False, 0)
> end do
>
> yyyymm = f->time
> print(yyyymm+sprintf("%8.2f", prc) \
> +sprintf("%8.2f", spi(0,:))+sprintf("%8.2f", spi(1,:)) \
> +sprintf("%8.2f", spi(2,:))+sprintf("%8.2f", spi(3,:)) \
> +sprintf("%8.2f", spi(4,:))+sprintf("%8.2f", spi(5,:)) )
> ___________________________________________________________________
> Variable: prc
> Type: float
> Total Size: 12441600 bytes
> 3110400 values
> Number of Dimensions: 3
> Dimensions and sizes: [time | 12] x [lat | 360] x [lon | 720]
> Coordinates:
> time: [-657073..-656739]
> lat: [89.75..-89.75]
> lon: [0.25..359.75]
> Number Of Attributes: 13
> add_offset : 0
> scale_factor : 1
> missing_value : -9.96921e+36
> units : mm
> dataset : GPCC Precipitation Full V6 (0.5x0.5)
> var_desc : Precipitation
> level_desc : Surface
> statistic : Long Term Mean
> parent_stat : Mean
> long_name : GPCC Long Term Monthly total of precipitation
> valid_range : ( 0, 8000 )
> actual_range : ( 0, 1924.842 )
> _FillValue : -9.96921e+36
> fatal:Dimension size mismatch on subscript #1, left-hand and right-hand
> side dimensions do not match
> fatal:["Execute.c":8128]:Execute: Error occurred at or near line 17 in file
> new-spi.ncl
>
> fatal:Plus: Number of dimensions do not match, can't continue
> fatal:["Execute.c":8128]:Execute: Error occurred at or near line 22 in file
> new-spi.ncl
>
> [rahimi@localhost seti]$
> __________________________________________________________________
> [rahimi@localhost seti]$ ncdump -h precip.mon.1981-2010.ltm.v6.nc
> netcdf precip.mon.1981-2010.ltm.v6 {
> dimensions:
> lon = 720 ;
> lat = 360 ;
> time = 12 ;
> nbnds = 2 ;
> variables:
> float lat(lat) ;
> lat:long_name = "Latitude" ;
> lat:units = "degrees_north" ;
> lat:standard_name = "latitude" ;
> lat:axis = "Y" ;
> lat:coordinate_defines = "point" ;
> lat:actual_range = 89.75f, -89.75f ;
> float lon(lon) ;
> lon:long_name = "Longitude" ;
> lon:units = "degrees_east" ;
> lon:standard_name = "longitude" ;
> lon:actual_range = 0.25f, 359.75f ;
> lon:axis = "X" ;
> lon:coordinate_defines = "point" ;
> double time(time) ;
> time:long_name = "Time" ;
> time:units = "days since 1800-1-1 00:00:00" ;
> time:actual_range = -657073., -656739. ;
> time:delta_t = "0000-01-00 00:00:00" ;
> time:standard_name = "time" ;
> time:axis = "T" ;
> time:coordinate_defines = "start" ;
> time:totalling_period = "0000-01-00 00:00:00" ;
> time:avg_period = "0030-00-00 00:00:00" ;
> time:prev_avg_period = "0000-01-00 00:00:00" ;
> time:climatology = "climatology_bounds" ;
> time:climo_period = "1981/01/01 - 2010/12/31" ;
> time:ltm_range = 66109., 77035. ;
> time:interpreted_actual_range = "0001/01/01 00:00:00 - 0001/12/01
> 00:00:00" ;
> double climatology_bounds(time, nbnds) ;
> climatology_bounds:long_name = "Climate Time Boundaries" ;
> climatology_bounds:units = "days since 1800-1-1 00:00:00" ;
> float precip(time, lat, lon) ;
> precip:add_offset = 0.f ;
> precip:scale_factor = 1.f ;
> precip:missing_value = -9.96921e+36f ;
> precip:units = "mm" ;
> precip:dataset = "GPCC Precipitation Full V6 (0.5x0.5)" ;
> precip:var_desc = "Precipitation" ;
> precip:level_desc = "Surface" ;
> precip:statistic = "Long Term Mean" ;
> precip:parent_stat = "Mean" ;
> precip:long_name = "GPCC Long Term Monthly total of precipitation" ;
> precip:valid_range = 0.f, 8000.f ;
> precip:actual_range = 0.f, 1924.842f ;
> short valid_yr_count(time, lat, lon) ;
> valid_yr_count:long_name = "count of non-missing values used in
> mean" ;
> valid_yr_count:missing_value = 32767s ;
> valid_yr_count:add_offset = 0.f ;
> valid_yr_count:scale_factor = 1.f ;
>
> // global attributes:
> :history = "Created 2013/03/07 by doMonthLTM" ;
> :title = "GPCC Full Data Reanalysis Version 6 0.5x0.5 Monthly
> Means" ;
> :convention = "CF 1.0" ;
> :Documentation = "
> http://www.esrl.noaa.gov/psd/data/gridded/data.gpcc.html" ;
> :Original_Source = "
> http://www.dwd.de/en/FundE/Klima/KLIS/int/GPCC/GPCC.htm\n",
> " is the webpage and the data is at
> ftp://ftp.dwd.de/pub/data/gpcc/download.html" ;
> :Reference = "Users of the data sets are kindly requested to give
> feed back and to refer to GPCC publications on this webpage:
> http://www.dwd.de/bvbw/appmanager/bvbw/dwdwwwDesktop/?_nfpb=true&_pageLabel=_dwdwww_klima_umwelt_datenzentren_wzn&T12404518261141645246564gsbDocumentPath=Content%2FOeffentlichkeit%2FKU%2FKU4%2FKU42%2Fteaser__product__access.html&_state=maximized&_windowLabel=T12404518261141645246564&lastPageLabel=_dwdwww_klima_umwelt_datenzentren_wzn"
> ;
> :original_source = "
> ftp://ftp-anon.dwd.de/pub/data/gpcc/html/fulldata_download.html" ;
> :not_missing_threshold_percent = "minimum 3% values input to have
> non-missing output value" ;
> }
> [rahimi@localhost seti]$
>
>
>
> 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 Mon Jul 29 10:50:44 2013

This archive was generated by hypermail 2.1.8 : Thu Aug 01 2013 - 15:55:03 MDT