Fwd: Standardised precipitation indec Calculation

From: Setareh Rahimi <setareh.rahimi_at_nyahnyahspammersnyahnyah>
Date: Mon Jul 29 2013 - 07:14:36 MDT

---------- 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

-- 
S.Rahimi

_______________________________________________
ncl-talk mailing list
List instructions, subscriber options, unsubscribe:
http://mailman.ucar.edu/mailman/listinfo/ncl-talk
Received on Mon Jul 29 07:14:48 2013

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