MyNixOS website logo
Description

Extract Remote Sensing Vegetation Phenology.

The merits of 'TIMESAT' and 'phenopix' are adopted. Besides, a simple and growing season dividing method and a practical snow elimination method based on Whittaker were proposed. 7 curve fitting methods and 4 phenology extraction methods were provided. Parameters boundary are considered for every curve fitting methods according to their ecological meaning. And 'optimx' is used to select best optimization method for different curve fitting methods. Reference: Kong, D., (2020). R package: A state-of-the-art Vegetation Phenology extraction package, phenofit version 0.3.1, <doi:10.5281/zenodo.5150204>; Kong, D., Zhang, Y., Wang, D., Chen, J., & Gu, X. (2020). Photoperiod Explains the Asynchronization Between Vegetation Carbon Phenology and Vegetation Greenness Phenology. Journal of Geophysical Research: Biogeosciences, 125(8), e2020JG005636. <doi:10.1029/2020JG005636>; Kong, D., Zhang, Y., Gu, X., & Wang, D. (2019). A robust method for reconstructing global MODIS EVI time series on the Google Earth Engine. ISPRS Journal of Photogrammetry and Remote Sensing, 155, 13–24; Zhang, Q., Kong, D., Shi, P., Singh, V.P., Sun, P., 2018. Vegetation phenology on the Qinghai-Tibetan Plateau and its response to climate change (1982–2013). Agric. For. Meteorol. 248, 408–417. <doi:10.1016/j.agrformet.2017.10.026>.

phenofit

R-CMD-check codecov License CRAN total monthly DOI

A state-of-the-art remote sensing vegetation phenology extraction package: phenofit

  • phenofit combine merits of TIMESAT and phenopix
  • A simple and stable growing season dividing method was proposed
  • Provide a practical snow elimination method based on Whittaker
  • 7 curve fitting methods and 4 phenology extraction methods
  • We add parameters boundary for every curve fitting method according to their ecological meaning.
  • optimx is used to select the best optimization method for different curve fitting methods.

Task lists

  • [x] Test the performance of phenofit in multiple growing seasons regions (e.g., the North China Plain);
  • [ ] Uncertainty analysis of curve fitting and phenological metrics;
  • [x] shiny app has been moved to phenofit.shiny;
  • [x] Complete script automatic generating module in shinyapp;
  • [x] Rcpp improve double logistics optimization efficiency by 60%;
  • [x] Support spatial analysis;
  • [x] Support annual season in curve fitting;
  • [x] flexible fine fitting input ( original time-series or smoothed time-series by rough fitting).
  • [x] Asymmetric Threshold method

Installation

You can install phenofit from github with:

# install.packages("remotes")
remotes::install_github("eco-hydro/phenofit")

Note

Users can through the following options to improve the performance of phenofit in multiple growing season regions:

  • Users can decrease those three parameters nextend, minExtendMonth and maxExtendMonth to a relative low value, by setting option set_options(fitting = list(nextend = 1, minExtendMonth = 0, maxExtendMonth = 0.5)).

  • Use wHANTS as the rough fitting function. Due to the nature of Fourier functions, wHANTS is more stable for multiple growing seasons, but it is less flexible than wWHIT.wHANTS is suitable for regions with the static growing season pattern across multiple years, wWHIT is more suitable for regions with the dynamic growing season pattern. Dynamic growing season pattern is the most challenging task, which also means that a large uncertainty might exist.

    When using wHANTS as the rough fitting function, r_min is suggested to be set as zero.

  • Use only one iteration in the fine fitting procedure.

References

[1] Kong, D., McVicar, T. R., Xiao, M., Zhang, Y., Peña-Arancibia, J. L., Filippa, G., Xie, Y., Gu, X. (2022). phenofit: An R package for extracting vegetation phenology from time series remote sensing. Methods in Ecology and Evolution, 13, 1508-1527. https://doi.org/10.1111/2041-210X.13870

[2] Kong, D., Zhang, Y.*, Wang, D., Chen, J., & Gu, X*. (2020). Photoperiod Explains the Asynchronization Between Vegetation Carbon Phenology and Vegetation Greenness Phenology. Journal of Geophysical Research: Biogeosciences, 125(8), e2020JG005636. https://doi.org/10.1029/2020JG005636

[3] Kong, D., Zhang, Y.*, Gu, X., & Wang, D. (2019). A robust method for reconstructing global MODIS EVI time series on the Google Earth Engine. ISPRS Journal of Photogrammetry and Remote Sensing, 155, 13–24.

[4] Kong, D., (2020). R package: A state-of-the-art Vegetation Phenology extraction package, phenofit version 0.3.5, https://doi.org/10.5281/zenodo.6320537

[5] Zhang, Q.*, Kong, D.*, Shi, P., Singh, V.P., Sun, P., 2018. Vegetation phenology on the Qinghai-Tibetan Plateau and its response to climate change (1982–2013). Agricultural and Forest Meteorology. 248, 408–417. https://doi.org/10.1016/j.agrformet.2017.10.026

Acknowledgements

Keep in mind that this repository is released under a GPL2 license, which permits commercial use but requires that the source code (of derivatives) is always open even if hosted as a web service.

Metadata

Version

0.3.9

License

Unknown

Platforms (75)

    Darwin
    FreeBSD
    Genode
    GHCJS
    Linux
    MMIXware
    NetBSD
    none
    OpenBSD
    Redox
    Solaris
    WASI
    Windows
Show all
  • aarch64-darwin
  • aarch64-genode
  • aarch64-linux
  • aarch64-netbsd
  • aarch64-none
  • aarch64_be-none
  • arm-none
  • armv5tel-linux
  • armv6l-linux
  • armv6l-netbsd
  • armv6l-none
  • armv7a-darwin
  • armv7a-linux
  • armv7a-netbsd
  • armv7l-linux
  • armv7l-netbsd
  • avr-none
  • i686-cygwin
  • i686-darwin
  • i686-freebsd
  • i686-genode
  • i686-linux
  • i686-netbsd
  • i686-none
  • i686-openbsd
  • i686-windows
  • javascript-ghcjs
  • loongarch64-linux
  • m68k-linux
  • m68k-netbsd
  • m68k-none
  • microblaze-linux
  • microblaze-none
  • microblazeel-linux
  • microblazeel-none
  • mips-linux
  • mips-none
  • mips64-linux
  • mips64-none
  • mips64el-linux
  • mipsel-linux
  • mipsel-netbsd
  • mmix-mmixware
  • msp430-none
  • or1k-none
  • powerpc-netbsd
  • powerpc-none
  • powerpc64-linux
  • powerpc64le-linux
  • powerpcle-none
  • riscv32-linux
  • riscv32-netbsd
  • riscv32-none
  • riscv64-linux
  • riscv64-netbsd
  • riscv64-none
  • rx-none
  • s390-linux
  • s390-none
  • s390x-linux
  • s390x-none
  • vc4-none
  • wasm32-wasi
  • wasm64-wasi
  • x86_64-cygwin
  • x86_64-darwin
  • x86_64-freebsd
  • x86_64-genode
  • x86_64-linux
  • x86_64-netbsd
  • x86_64-none
  • x86_64-openbsd
  • x86_64-redox
  • x86_64-solaris
  • x86_64-windows