check_input: check_input

View source: R/check_input.R

check_inputR Documentation

check_input

Description

Check input data, interpolate NA values in y, remove spike values, and set weights for NA in y and w.

Usage

check_input(
  t,
  y,
  w,
  QC_flag,
  nptperyear,
  south = FALSE,
  Tn = NULL,
  perc_wc = 0.4,
  wmin = 0.2,
  ymin,
  missval,
  maxgap,
  alpha = 0.02,
  ...
)

Arguments

t

Numeric vector, Date variable

y

Numeric vector, vegetation index time-series

w

(optional) Numeric vector, weights of y. If not specified, weights of all NA values will be wmin, the others will be 1.0.

QC_flag

Factor (optional) returned by qcFUN, levels should be in the range of c("snow", "cloud", "shadow", "aerosol", "marginal", "good"), others will be categoried into others. QC_flag is used for visualization in get_pheno() and plot_phenofit().

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 phenofit::backval()).

perc_wc

critical percentage of good- and marginal- quality points for wc.

wmin

Double, minimum weight of bad points, which could be smaller the weight of snow, ice and cloud.

ymin

If specified, ylu[1] is constrained greater than ymin. This value is critical for bare, snow/ice land, where vegetation amplitude is quite small. Generally, you can set ymin=0.08 for NDVI, ymin=0.05 for EVI, ymin=0.5 gC m-2 s-1 for GPP.

missval

Double, which is used to replace NA values in y. If missing, the default vlaue is ylu[1].

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 ylu[1].
Replacing NA values with a constant missing value (e.g. background value ymin) is inappropriate for middle growing season points. Interpolating all values by na.approx, it is unsuitable for large number continous missing segments, e.g. in the start or end of growing season.

alpha

Double value in ⁠[0,1]⁠, quantile prob of ylu_min.

...

Others will be ignored.

Value

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).


kongdd/gee_whittaker documentation built on April 14, 2024, 5:22 a.m.