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