accumSeasonTS- aggregate timeseries to solstices and equinoxes
Using G. Cardillo function to compute solstices and equinoxes, this function will aggregate time series data (e.g. Precipitation) to seasonally summarized results. To accomplish this three core functions are used: eqnsol, unique, and accumarray. The rest of the function is manipulating data to pass around in between the functions.
This function will output cumulative seasonal totals of data. It's
application is limited default parameterization of ACCUMARRAY matlab function (i.e. sum totals). It's certainly possible to modify this function to allow the user to apply different statistics in the
ACCUMARRAY function, but not done here.
Additionally, this function uses another function (EQNSOL) to calculate the summer/winter solstices and spring/fall equinoxes per year, then sum up the data within each season.
Function does not discriminate on partial seasons. Partial seasons that are either because of beginning or ending dates, or because of missing data are not censored. Partial seasons will be output along with all complete seasons. It's up to the user to either pre-process the data or post process the results.
Expected inputs is a timeseries of data in two columns: a decimal date, and the values to be accumulated.
datain = n x 2
datain(:,1) = decimal date/time
datain(:,2) = values to sum by season
fn = supplied string specifying a valid summary statistic function.
Example: @sum, @max, @min, etc.
dataout = n x 2
dataout(:,1) = decimal date/time of the start of the season
dataout(:,2) = values summed for the season
Cardillo G. (2007) Equinoxes and Solstices: compute the date and time of equinoxes and solstices.
King County- DNRP
May 30, 2009
[dataout] = accumSeasonTS(datain,fn)