Learn R Programming

phenofit (version 0.2.5-2)

FitDL: Fine fitting

Description

Fine curve fitting function is used to fit vegetation time-series in every growing season.

Usage

FitDL.Zhang(y, t = index(y), tout = t, method = "nlm", w, ...)

FitAG(y, t = index(y), tout = t, method = "nlminb", w, ...)

FitDL.Beck(y, t = index(y), tout = t, method = "nlminb", w, ...)

FitDL.Elmore(y, t = index(y), tout = t, method = "nlminb", w, ...)

FitDL.Gu(y, t = index(y), tout = t, method = "nlminb", w, ...)

FitDL.Klos(y, t = index(y), tout = t, method = "BFGS", w, ...)

Arguments

y

input vegetation index time-series.

t

the corresponding doy(day of year) of y.

tout

the time of output curve fitting time-series.

method

method passed to optimx or optim function.

w

weights

...

other paraters passed to optim_pheno().

Value

tout

The time of output curve fitting time-series.

zs

Smoothed vegetation time-series of every iteration.

ws

Weights of every iteration.

par

Final optimized parameter of fine fitting.

fun

The name of fine fitting.

References

  1. Beck, P.S.A., Atzberger, C., Hogda, K.A., Johansen, B., Skidmore, A.K., 2006. Improved monitoring of vegetation dynamics at very high latitudes: A new method using MODIS NDVI. Remote Sens. Environ. https://doi.org/10.1016/j.rse.2005.10.021.

  1. Elmore, A.J., Guinn, S.M., Minsley, B.J., Richardson, A.D., 2012. Landscape controls on the timing of spring, autumn, and growing season length in mid-Atlantic forests. Glob. Chang. Biol. 18, 656-674. https://doi.org/10.1111/j.1365-2486.2011.02521.x.

  1. Gu, L., Post, W.M., Baldocchi, D.D., Black, TRUE.A., Suyker, A.E., Verma, S.B., Vesala, TRUE., Wofsy, S.C., 2009. Characterizing the Seasonal Dynamics of Plant Community Photosynthesis Across a Range of Vegetation Types, in: Noormets, A. (Ed.), Phenology of Ecosystem Processes: Applications in Global Change Research. Springer New York, New York, NY, pp. 35-58. https://doi.org/10.1007/978-1-4419-0026-5_2.

  2. https://github.com/kongdd/phenopix/blob/master/R/FitDoubleLogGu.R

Examples

Run this code
# NOT RUN {
library(phenofit)
# simulate vegetation time-series
fFUN = doubleLog.Beck
par  = c(
    mn  = 0.1,
    mx  = 0.7,
    sos = 50,
    rsp = 0.1,
    eos = 250,
    rau = 0.1)
t    <- seq(1, 365, 8)
tout <- seq(1, 365, 1)
y <- fFUN(par, t)
methods <- c("AG", "Beck", "Elmore", "Gu", "Zhang")

r <- FitAG(y, t, tout)
plot(t, y)
lines(tout, r$zs$iter2, col = "red")
legend('topright', c('Original time-series', 'AG smoothed'), 
    lty = c(0, 1), pch = c(16, NA), col = c("black", "red"))
# }

Run the code above in your browser using DataLab