get_pheno: get_pheno

View source: R/get_pheno.R

get_phenoR Documentation

get_pheno

Description

Get yearly vegetation phenological metrics of a curve fitting method

Usage

get_pheno(x, ...)

## S3 method for class 'rfit'
get_pheno(x, TRS = c(0.2, 0.5), asymmetric = TRUE, ...)

## S3 method for class 'list'
get_pheno(
  x,
  method,
  TRS = c(0.2, 0.5, 0.6),
  analytical = FALSE,
  smoothed.spline = FALSE,
  IsPlot = FALSE,
  show.title = TRUE,
  ...
)

## S3 method for class 'fFITs'
get_pheno(
  x,
  method,
  TRS = c(0.2, 0.5),
  analytical = FALSE,
  smoothed.spline = FALSE,
  IsPlot = FALSE,
  title.left = "",
  show.PhenoName = TRUE,
  ...
)

Arguments

x

One of:

  • rfit (rought fitting object), returned by brks2rfit().

  • fFITs (fine fitting object), return by multiple curve fitting methods by curvefit() for a growing season.

  • list of fFITs() object, for multiple growing seasons.

...

ignored.

TRS

Threshold for PhenoTrs.

asymmetric

If true, background value in spring season and autumn season is regarded as different.

method

Which fine curve fitting method to be extracted?

analytical

If true, numDeriv package grad and hess will be used; if false, D1 and D2 will be used.

smoothed.spline

Whether apply smooth.spline first?

IsPlot

Boolean. Whether to plot figure?

show.title

Whether to show the name of fine curve fitting method in top title?

title.left

String of growing season flag.

show.PhenoName

Whether to show phenological methods names in the top panel?

fFITs

fFITs object returned by curvefits()

Value

List of every year phenology metrics

Examples

library(phenofit)
# simulate vegetation time-series
FUN = 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 <- FUN(par, t)
methods <- c("AG", "Beck", "Elmore", "Gu", "Zhang") # "Klos" too slow
fit <- curvefit(y, t, tout, methods) # `fFITs` (fine-fitting) object 
fits <- list(`2001` = fit, `2002` = fit) # multiple years

l_param   <- get_param(fits)
d_GOF     <- get_GOF(fits)
d_fitting <- get_fitting(fits)
l_pheno   <- get_pheno(fits, "AG", IsPlot=TRUE)

phenofit documentation built on Feb. 16, 2023, 6:21 p.m.