This function extracts phenological thresholds according to different methods. Methods include 'trs', 'derivatives', 'klosterman', 'gu'. See details for the computation of each method.
PhenoExtract(data, method = "trs", uncert = FALSE,
breaks = 3, envelope = "quantiles",
quantiles = c(0.1, 0.9), plot = TRUE, sf, ...)
If uncertainty=FALSE a vector of phenology metrics, otherwise a dataframe.
A list structured as in output from the fitting procedures, such as GuFit, KlostermanFit, ElmoreFit, BeckFit.
One between 'trs', 'derivatives', 'klosterman', 'gu'.
Should uncertainty on thresholds be computed? It requires that uncertainty be computed in the fitting function. I.e. The function requires the element 'uncertainty' in data beeing non NULL. If is.null(uncertainty) in the data or this item is set to FALSE, uncertainty won't be computed.
Currently unused
One between 'quantiles' and 'min-max'. If 'quantiles', the uncertainty envelope
will be computed as quantiles. Quantiles reported in quantiles
will be
computed togheter with the median. If 'min-max' is choosen, min, max and mean of
the uncertainty envelope will be returned.
Quantiles to be calculated if envelope='quantiles'. The notation is the same as
to specify quantiles in the quantile
function, i.e. to get 10th and 90th
percentile, use c(0.1, 0.9).
Should a diagnostic plot be returned with annotated thresholds? It calls the
function PhenoPlot
Scaling factors required to normalize the data prior to the fitting. If the function is called by e.g. greenProcess
sf is automatically calculated. We suggest using quantile(ts, probs=c(0.05, 0.5)) if you need to compute it.
For the plotting function, a number of parameters from generic plot
can be specified.
Additionally, a further option to 'trs' method calling PhenoTrs
is provided: by setting a trs argument.
The default for trs is 0.5, meaning that the phases sos (start of season) and eos (end of season) will be set when gcc reaches 50% of maximum on the increasing (sos) and decreasing (eos) seasonal trajectory.
Gianluca Filippa <gian.filippa@gmail.com>
This is a wrapper function that calls PhenoTrs
for method='trs', PhenoDeriv
for method='derivatives', (from package greenbrown
) or PhenoGu
for method='Gu',
and PhenoKl
for method='klosterman' from this package. Please see help of the
single functions for details on the calculation of thresholds.
Klosterman ST, Hufkens K, Gray JM, Melaas E, Sonnentag O, Lavine I, Mitchell L, Norman R, Friedl MA, Richardson A D (2014) Evaluating remote sensing of deciduous forest phenology at multiple spatial scales using PhenoCam imagery, Biogeosciences, 11, 4305-4320, doi:10.5194/bg-11-4305-2014.
Gu L, Post WM, Baldocchi D, Black TA, Suyker AE, Verma SB, Vesala T, Wofsy SC. (2009) Characterizing the Seasonal Dynamics of Plant Community Photosynthesis Across a Range of Vegetation Types. In: Phenology of Ecosystem Processes (Ed: Noormets A, Springer New York), pp 35-58.
Zhang X, Friedl MA, Schaaf CB, Strahler AH, Hodges JCF, Gao F, Reed BC, Huete A (2003) Monitoring vegetation phenology using MODIS, Remote Sens. Environ., 84, 471-475.
PhenoGu
,
PhenoKl
,
PhenoDeriv
,
PhenoTrs
,
PhenoPlot
,
PhenoGu