Description Usage Arguments Value See Also Examples
Check input data, interpolate NA values in y, remove spike values, and set weights for NA in y and w.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 |
t |
Numeric vector, |
y |
Numeric vector, vegetation index time-series |
w |
(optional) Numeric vector, weights of |
QC_flag |
Factor (optional) returned by |
nptperyear |
Integer, number of images per year. |
south |
Boolean. In south hemisphere, growing year is 1 July to the following year 31 June; In north hemisphere, growing year is 1 Jan to 31 Dec. |
Tn |
Numeric vector, night temperature, default is null. If provided,
Tn is used to help divide ungrowing period, and then get background value in
ungrowing season (see details in |
wmin |
Double, minimum weight of bad points, which could be smaller the weight of snow, ice and cloud. |
wsnow |
Doulbe. Reset the weight of snow points, after get |
ymin |
If specified, |
missval |
Double, which is used to replace NA values in y. If missing,
the default vlaue is |
maxgap |
Integer, nptperyear/4 will be a suitable value. If continuous
missing value numbers less than maxgap, then interpolate those NA values by
zoo::na.approx; If false, then replace those NA values with a constant value
|
alpha |
Double value in |
alpha_high |
Double value in |
date_start, date_end |
starting and ending date of the original vegetation
time-sereis (before |
mask_spike |
Boolean. Whether to remove spike values? |
... |
Others will be ignored. |
A list object returned:
t
: Numeric vector
y0
: Numeric vector, original vegetation time-series.
y
: Numeric vector, checked vegetation time-series, NA
values are interpolated.
w
: Numeric vector
Tn
: Numeric vector
ylu
: = [ymin, ymax]
. w_critical
is used to filter not too bad values.
If the percentage good values (w=1) is greater than 30\
The else, if the percentage of w >= 0.5 points is greater than 10\
w_critical
=0.5. In boreal regions, even if the percentage of w >= 0.5
points is only 10\
We can't rely on points with the wmin weights. Then,
y_good = y[w >= w_critical]
,
ymin = pmax( quantile(y_good, alpha/2), 0)
ymax = max(y_good)
.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 | library(phenofit)
data("MOD13A1")
df <- tidy_MOD13.gee(MOD13A1$dt)
st <- MOD13A1$st
date_start <- as.Date('2013-01-01')
date_end <- as.Date('2016-12-31')
sitename <- 'CA-NS6' # df$site[1]
d <- df[site == sitename & (date >= date_start & date <= date_end), ]
sp <- st[site == sitename, ]
south <- sp$lat < 0
nptperyear <- 23
# global parameter
IsPlot = TRUE
print = FALSE
ypeak_min = 0.05
wFUN = wTSM
# add one year in head and tail
dnew <- add_HeadTail(d, south = south, nptperyear = nptperyear)
INPUT <- check_input(dnew$t, dnew$y, dnew$w, QC_flag = dnew$QC_flag,
nptperyear = nptperyear, south = south,
maxgap = nptperyear/4, alpha = 0.02, wmin = 0.2)
|
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.