Skip site navigation (1)Skip section navigation (2)

FreeBSD Manual Pages


home | help
r.series(1)		    GRASS GIS User's Manual		   r.series(1)

       r.series	  -  Makes each	output cell value a function of	the values as-
       signed to the corresponding cells in the	input raster map layers.

       raster, aggregation, series

       r.series	--help
       r.series	   [-nz]     [input=name[,name,...]]	  [file=name]	  out-
       put=name[,name,...]	    method=string[,string,...]		[quan-
       tile=float[,float,...]]	  [weights=float[,float,...]]	 [range=lo,hi]
       [--overwrite]  [--help]	[--verbose]  [--quiet]	[--ui]

	   Propagate NULLs

	   Do not keep files open

	   Allow output	files to overwrite existing files

	   Print usage summary

	   Verbose module output

	   Quiet module	output

	   Force launching GUI dialog

	   Name	of input raster	map(s)

	   Input  file	with  one  raster map name and optional	one weight per
	   line, field separator between name and weight is |

       output=name[,name,...]A [required]
	   Name	for output raster map

       method=string[,string,...]A [required]
	   Aggregate operation
	   Options: average, count, median, mode, minimum,  min_raster,	 maxi-
	   mum,	 max_raster,  stddev,  range, sum, variance, diversity,	slope,
	   offset, detcoeff, tvalue, quart1, quart3, perc90,  quantile,	 skew-
	   ness, kurtosis

	   Quantile to calculate for method=quantile
	   Options: 0.0-1.0

	   Weighting  factor for each input map, default value is 1.0 for each
	   input map

	   Ignore values outside this range

       r.series	makes each output cell value a function	of the values assigned
       to the corresponding cells in the input raster map layers.

       Following methods are available:

	   o   average:	average	value

	   o   count: count of non-NULL	cells

	   o   median: median value

	   o   mode: most frequently occurring value

	   o   minimum:	lowest value

	   o   min_raster:  raster  map	 number	 with  the minimum time-series

	   o   maximum:	highest	value

	   o   max_raster: raster map  number  with  the  maximum  time-series

	   o   stddev: standard	deviation

	   o   range: range of values (max - min)

	   o   sum: sum	of values

	   o   variance: statistical variance

	   o   diversity: number of different values

	   o   slope: linear regression	slope

	   o   offset: linear regression offset

	   o   detcoeff: linear	regression coefficient of determination

	   o   tvalue: linear regression t-value

	   o   quart1: first quartile

	   o   quart3: third quartile

	   o   perc90: ninetieth percentile

	   o   quantile: arbitrary quantile

	   o   skewness: skewness

	   o   kurtosis: kurtosis
       Note  that  most	 parameters accept multiple answers, allowing multiple
       aggregates to be	computed in a single run, e.g.:

       r.series	input=map1,...,mapN \
		output=map.mean,map.stddev \

       r.series	input=map1,...,mapN \
		output=map.p10,map.p50,map.p90 \
		method=quantile,quantile,quantile \
       The same	number of values must be provided for all options.

   No-data (NULL) handling
       With -n flag, any cell for which	any of the corresponding  input	 cells
       are  NULL  is automatically set to NULL (NULL propagation).  The	aggre-
       gate function is	not called, so all methods behave this	way  with  re-
       spect to	the -n flag.

       Without	-n  flag, the complete list of inputs for each cell (including
       NULLs) is passed	to the aggregate function. Individual  aggregates  can
       handle  data  as	 they  choose. Mostly, they just compute the aggregate
       over the	non-NULL values, producing a NULL result only  if  all	inputs
       are NULL.

   Minimum and maximum analysis
       The min_raster and max_raster methods generate a	map with the number of
       the raster map that holds the minimum/maximum value of the time-series.
       The  numbering  starts  at  0 up	to n for the first and the last	raster
       listed in input=, respectively.

   Range analysis
       If the range= option is given, any values which fall outside that range
       will be treated as if they were NULL. The range parameter can be	set to
       low,high	thresholds: values outside of this range are treated  as  NULL
       (i.e.,  they  will be ignored by	most aggregates, or will cause the re-
       sult to be NULL if -n is	given).	The low,high thresholds	 are  floating
       point,  so use -inf or inf for a	single threshold (e.g.,	range=0,inf to
       ignore negative values, or range=-inf,-200.4  to	 ignore	 values	 above

   Linear regression
       Linear	regression   (slope,  offset,  coefficient  of	determination,
       t-value)	assumes	equal time intervals. If the data have irregular  time
       intervals,  NULL	 raster	 maps can be inserted into time	series to make
       time intervals equal (see example).

       r.series	can calculate arbitrary	quantiles.

   Memory consumption
       Memory usage is not an issue, as	r.series only needs to	hold  one  row
       from each map at	a time.

   Management of open file limits
       The maximum number of raster maps that can be processed is given	by the
       user-specific limit of the operating system. For	example, the soft lim-
       its  for	 users are typically 1024 files. The soft limit	can be changed
       with e.g.  ulimit -n 4096 (UNIX-based operating systems)	but it	cannot
       be higher than the hard limit. If the latter is too low,	you can	as su-
       peruser add an entry in:
       # <domain>      <type>  <item>	      <value>
       your_username  hard    nofile	      4096
       This will raise the hard	limit to 4096 files. Also have a look  at  the
       overall limit of	the operating system
       cat /proc/sys/fs/file-max
       which on	modern Linux systems is	several	100,000	files.

       For  each map a weighting factor	can be specified using the weights op-
       tion. Using weights can be meaningful when computing the	sum or average
       of  maps	with different temporal	extent.	The default weight is 1.0. The
       number of weights must be identical to the number  of  input  maps  and
       must  have  the	same order. Weights can	also be	specified in the input

       Use the -z flag to analyze large	amounts	of raster maps without hitting
       open files limit	and the	file option to avoid hitting the size limit of
       command line arguments.	Note that the computation using	the  file  op-
       tion is slower than with	the input option.  For every single row	in the
       output map(s) all input maps are	opened and closed. The amount  of  RAM
       will  rise  linearly with the number of specified input maps. The input
       and file	options	are mutually exclusive:	the former is  a  comma	 sepa-
       rated list of raster map	names and the latter is	a text file with a new
       line separated list of raster map names and optional weights. As	 sepa-
       rator  between  the  map	 name and the weight the character "|" must be

       Using r.series with wildcards:
       r.series	input="`g.list pattern='insitu_data.*' sep=,`" \
		output=insitu_data.stddev method=stddev

       Note the	g.list script also supports regular expressions	for  selecting
       map names.

       Using r.series with NULL	raster maps (in	order to consider a "complete"
       time series):
       r.mapcalc "dummy	= null()"
       r.series	in=map2001,map2002,dummy,dummy,map2005,map2006,dummy,map2008 \
		out=res_slope,res_offset,res_coeff meth=slope,offset,detcoeff

       Example for multiple aggregates to be computed in one run (3  resulting
       aggregates from two input maps):
       r.series	in=one,two out=result_avg,res_slope,result_count meth=sum,slope,count

       Example to use the file option of r.series:
       cat > input.txt << EOF
       r.series	file=input.txt out=result_sum meth=sum

       Example	to  use	 the  file  option  of r.series	including weights. The
       weight 0.75 should be assigned to map2. As the other maps do  not  have
       weights we can leave it out:
       cat > input.txt << EOF
       r.series	file=input.txt out=result_sum meth=sum

       Example for counting the	number of days above a certain temperature us-
       ing daily average maps ('???' as	DOY wildcard):
       # Approach for shell based systems
       r.series	input=`g.list rast pattern="temp_2003_???_avg" sep=,` \
		output=temp_2003_days_over_25deg range=25.0,100.0 method=count
       # Approach in two steps (e.g., for Windows systems)
       g.list rast pattern="temp_2003_???_avg" output=mapnames.txt
       r.series	file=mapnames.txt \
		output=temp_2003_days_over_25deg range=25.0,100.0 method=count

	g.list,	g.region,  r.quantile,	r.series.accumulate,  r.series.interp,

       Hints for large raster data processing

       Glynn Clements

       Available at: r.series source code (history)

       Main  index  | Raster index | Topics index | Keywords index | Graphical
       index | Full index

       A(C) 2003-2020 GRASS Development	Team, GRASS GIS	7.8.4 Reference	Manual

GRASS 7.8.4							   r.series(1)


Want to link to this manual page? Use this URL:

home | help