AnPhenoMetrics: Extracting annual phenological metrics

Description Usage Arguments Details Value Author(s) References Examples

Description

This function extracts annual phenological metrics

Usage

1
AnPhenoMetrics(TS, outfile, outgraph, Ystart, period, SOSth = 0.5, EOSth = 0.5)

Arguments

TS

matrix or data.frame containing the time series (one row per time series).

outfile

name of the file where the metrics are saved (extension ".txt").

outgraph

name of the file where the graphs are saved (extension ".pdf").

Ystart

starting year of the analysis (in four-digit format).

period

number of observations per year.
For VGT's dataset : period=36, GIMMS's dataset: period=24.

SOSth

threshold for the detection of the start of the season.
By default SOSth=0.5

EOSth

threshold for the detection of the start of the season.
By default SOSth=0.5

Details

We proceed in 3 mean steps :

  1. Detecting the number of minimums and maximums with the mean signal.
    The mean signal over the year is computed. Then we detect the minimums and the maximums. A maximum is detected if it is a maximum over a window of 6 measures and if its value is higher than the mean of the mean signal. Similarly, a minimum is detected if it is a minimum over a window of 6 measures and if its value is lower than the mean of the mean signal. Then, a routine check if minimums and maximums are one after another and if there are the same number of maximums and minimums.

    If the global mean of the time series is higher than 0.7 or smaller than 0.2, further calculations are stopped. The signal is the one of the bare soil or forest and metrics became very difficult to compute, no more reliable.

  2. Focusing on individual year time series to detect minimums and maximums.
    The main issue is to handle the full season whenever its starts and its stopped (very often up to the next year). Our solution is to start the time series two months before the global minimum. If two minimums (two seasons), we take into account the minimum of them. For each year, we consider a time series with a length of 16 months to be sure to capture the full season. The yearly minimums/maximums are detected within a two months windows around the minimums/maximums of the mean signal (detected during the first step).

  3. Calculating the phenological metrics.
    Every year, four metrics are extracted from the time series :

    • SOS : Start Of the growing Season
      We use a threshold method. The day of the start of the season is detected when the NDVI value has increase by $50%$ of the distance between the "left" minimum and the maximum. The value of the threshold can be customized by the user.

    • EOS : End Of the growing Season
      Similarly than SOS, the day of the end of the season is detected when the NDVI value has decrease by $50%$ of the difference between the "right" minimum and the maximum. The value of the threshold can be customized by the user.

    • LOS : Length of the growing Season, $LOS = EOS - SOS$.
      LOS a number of period.

    • cumNDVI : cumulative NDVI.
      integral under the NDVI curve during the growing season. There isn't a consensus on the way to compute the cumulative NDVI. The minimum value has to be set. For the moment, we compute the full integral under the curves. Hopefully, soon there will be an option to consider either 0.1 as minimum (to delete bare soil effect) or the mean of the SOS and EOS NDVI value (to take into account only the curve of the growing season).

Value

A text file is saved with phenological metrics outfile and a list is returned with :

Author(s)

Romain Frelat and Bruno Gerard

References

Brown, M. E. and de Beurs K. and Vrieling A. 2010 Remote Sensing of Environment, The response of African land surface phenology to large scale climate oscillations, 114, 2286–2296

Examples

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
#loading the data
data(SLPSAs_ts)

#defining local variables
outfile = "SLPSAs-Metrics.txt"
outgraph = "SLPSAs-Metrics.pdf"

#extracting metrics
metrics = AnPhenoMetrics(SLPSAs_ts$ts, outfile, outgraph, 
    Ystart=SLPSAs_ts$Ystart, period=SLPSAs_ts$period)

ndvits documentation built on May 2, 2019, 4:47 p.m.