View source: R/deprecated_season.R
season | R Documentation |
Divide growing seasons according to rough fitting (rFUN
) result .
For season
, rough fitting is applied for whole.
For season_mov
rough fitting is applied in every year, during which
maxExtendMonth
is extended.
season(
INPUT,
rFUN,
wFUN,
iters = 2,
wmin = 0.1,
lambda,
nf = 3,
frame = floor(INPUT$nptperyear/5) * 2 + 1,
minpeakdistance = NULL,
ypeak_min = 0.1,
r_max = 0.2,
r_min = 0.05,
rtrough_max = 0.6,
MaxPeaksPerYear = 2,
MaxTroughsPerYear = 3,
calendarYear = FALSE,
adj.param = TRUE,
rm.closed = TRUE,
is.continuous = TRUE,
.check_season = TRUE,
verbose = FALSE,
...
)
stat_season(INPUT, d_fit)
INPUT |
A list object with the elements of |
rFUN |
character, the name of rough curve fitting function, can be one of
c("smooth_wSG", "smooth_wWHIT", "smooth_wHANTS"), which are corresponding to
|
wFUN |
weights updating function, can be one of . |
iters |
integer, the number of rough fitting iterations |
wmin |
double, minimum weigth (i.e. weight of snow, ice and cloud). |
lambda |
The smoothing parameter of |
nf |
The parameter of |
frame |
The parameter of |
minpeakdistance |
double, in points (default as
|
ypeak_min |
|
r_max |
Similar as |
r_min |
Threshold is defined as the difference of peak value with trough value. There are two threshold (left and right). The minimum threshold should be greater than r_min. |
rtrough_max |
|
MaxPeaksPerYear |
This parameter is used to adjust lambda in iterations. If PeaksPerYear > MaxPeaksPerYear, then lambda = lambda*2. |
MaxTroughsPerYear |
This parameter is used to adjust lambda in iterations. If TroughsPerYear > MaxTroughsPerYear, then lambda = lambda*2. |
calendarYear |
If true, only one static calendar growing season will be returned. |
adj.param |
, . |
rm.closed |
boolean. Whether check the two closest peaks (or troughs). |
is.continuous |
boolean. Whether the input is continuous? This parameter is for fluxsite site-year data. |
.check_season |
not used (only for debug) |
verbose |
whether to print |
... |
ignored. |
d_fit |
A data.frame with the columns of |
Before growing season division, INPUT
should be added a year in head
and tail first by add_HeadTail
.
Finally, use findpeaks()
to get local maximum and local minimum values.
Two local minimum define a growing season.
If two local minimum(maximum) are too closed, then only the smaller(biger)
is left.
fit
: A data.table of Rough fitting result, with the columns of
(t
, y
, witer1
, ..., witerN
, ziter1
, ..., ziterN
).
dt
: A data.table of growing season division information, with the columns
of (beg
, peak
, end
, y_beg
, y_peak
, y_end
, len
, year
,
season
, flag
).
findpeaks()
.
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)
wFUN <- "wTSM"
# all year as a whole
options = list(rFUN = "smooth_wWHIT", wFUN = wFUN, lambda = 10)
brks <- season(INPUT, lambda = 10)
plot_season(INPUT, brks, d)
brks2 = season_input(INPUT, options)
all.equal(brks2, brks)
c(d_fit, info_peak) %<-% roughFit(INPUT)
d_season = find_season.peaks(d_fit, info_peak)
c(t, ypred) %<-% d_fit[, .(t, ziter2)]
d_season = find_season.default(ypred, t)
all.equal(brks$dt, d_season)
# opt <- .options$season
# brks$fit - d_fit # function passed test
# curve fitting by year
brks_mov <- season_mov(INPUT,
options = list(
rFUN = "smooth_wWHIT", wFUN = wFUN,
lambda = 10,
r_min = 0.05, ypeak_min = 0.05,
verbose = TRUE
)
)
plot_season(INPUT, brks_mov)
rfit <- brks2rfit(brks_mov)
r <- get_pheno(rfit)
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.