| curvefits {phenofit} | R Documentation |
Fine Curve fitting
Description
Fine Curve fitting for INPUT time-series.
Usage
curvefits(INPUT, brks, options = list(), ...)
Arguments
INPUT |
A list object with the elements of 't', 'y', 'w', 'Tn' (optional)
and 'ylu', returned by |
brks |
A list object with the elements of 'fit' and 'dt', returned by
|
options |
see section: options for fitting for details. |
... |
other parameters to |
Value
List of phenofit fitting object.
options for fitting
-
methods(defaultc('AG', 'Beck', 'Elmore', 'Zhang')``): Fine curve fitting methods, can be one or more of c('AG', 'Beck', 'Elmore', 'Zhang', 'Gu', 'Klos')‘. Note that ’Gu' and 'Klos' are very slow. -
iters(default 2): max iterations of fine fitting. -
wFUN(defaultwTSM): Character or function, weights updating function of fine fitting function. -
wmin(default 0.1): min weights in the weights updating procedure. -
use.rough(default FALSE): Whether to use rough fitting smoothed time-series as input? Iffalse, smoothed VI by rough fitting will be used for Phenological metrics extraction; Iftrue, original inputywill be used (rough fitting is used to divide growing seasons and update weights. -
use.y0(default TRUE): boolean. whether to use originaly0as the input ofplot_input, note that not for curve fitting.y0is the original value before the process ofcheck_input. -
nextend(default 2): Extend curve fitting window, untilnextendgood or marginal points are found in the previous and subsequent growing season. -
maxExtendMonth(default 1): Search good or marginal good values in previous and subsequentmaxExtendMonthperiod. -
minExtendMonth(default 0.5): Extend period defined bynextendandmaxExtendMonth, should be no shorter thanminExtendMonth. When all points of the input time-series are good value, then the extending period will be too short. In that situation, we can't make sure the connection between different growing seasons is smoothing. -
minPercValid: (default 0, not use). If the percentage of good- and marginal- quality points is less thanminPercValid, curve fiting result is set toNA. -
minT: (not use). IfTnnot provided inINPUT,minTwill not be used.minTuse night temperature Tn to define backgroud value (days withTn < minTtreated as ungrowing season).
See Also
Examples
data("CA_NS6")
d = CA_NS6
nptperyear <- 23
INPUT <- check_input(d$t, d$y, d$w, QC_flag = d$QC_flag,
nptperyear = nptperyear, south = FALSE,
maxgap = nptperyear/4, alpha = 0.02, wmin = 0.2)
# plot_input(INPUT)
# Rough fitting and growing season dividing
wFUN <- "wTSM"
brks2 <- season_mov(INPUT,
options = list(
rFUN = "smooth_wWHIT", wFUN = wFUN,
r_min = 0.05, ypeak_min = 0.05,
lambda = 10,
verbose = FALSE
))
# plot_season(INPUT, brks2, d)
# Fine fitting
fits <- curvefits(
INPUT, brks2,
options = list(
methods = c("AG", "Beck", "Elmore", "Zhang"), #,"klos", "Gu"
wFUN = wFUN,
nextend = 2, maxExtendMonth = 2, minExtendMonth = 1, minPercValid = 0.2
)
)
r_param = get_param(fits)
r_pheno = get_pheno(fits)
r_gof = get_GOF(fits)
d_fit = get_fitting(fits)
g <- plot_curvefits(d_fit, brks2)
grid::grid.newpage(); grid::grid.draw(g)