Code Monkey home page Code Monkey logo

agbfluxes's Introduction

Compute biomass fluxes at ForestGEO sites

Project and contributors

This package was initially developped to test for a directional change in forest dynamics across ForestGEO sites. The main author is Ervan Rutishauser ([email protected]), Smithsonian Tropical Research Institute Post-doc (2016-2019), with contribution from Helene Muller-Landau (current administrator; [email protected]) and Mauro Lepore. To cite this code, please cite the following publication:

Rutishauser, E., Wright, S. J., Condit, R., Hubbell, S. P., Davies, S. J., & Muller‐Landau, H. C. (2019). Testing for changes in biomass dynamics in large-scale forest datasets. Global Change Biology, 0(ja). https://doi.org/10.1111/gcb.14833

Main purpose of the package

This package has a main function data_preparation() that works either at stem (stem=T) or tree (stem=F) levels, and works in 2 steps:

A. Complement the data

  • compiles multiple censuses into a single file to,
  • checks for consistency in stem/tree status (alive/dead) over time,
  • (optional) fills gaps (i.e. missing DBHs or POM values) by simple linear interpolation (fill_missing=T),
  • (optional) corrects POM changes through application of a taper correction (taper_correction=T),
  • allocate wood density from CTFS wood density database and DRYAD
  • estimates stem/tree above-ground dry biomass (AGB)

B. Format the data

  • merges information from stems to single tree for each census interval,
  • codes if a tree is recruited, alive, dead or broken/resprouted
  • computes annual AGB productivity (if alive), ingrowth (if recruited or resprouted) or loss (if dead) at tree-level
  • flags obvious measurement errors (annual AGB growth > X % (X = maxrel) of mean annual AGB growth across all census intervals) The function returns a data.frame where each row correspond to the initial and final measurments (i.e. DBH, POM, status) per tree for a given census intervals. Variables related to the initial and final census are denoted with 1 and 2, respectively.

Variable are defined as follow:

Variable Definition
treeID Unique tree ID
dbh1 Measured dbh at intial census
dbhc1 Corrected dbh at intial census
status1 Status (alive/dead) at intial census
code1 Original CTFS code at intial census
hom1 Original height of measurement at intial census
sp CTFS species name acronym
wsg Wood-density allocated at lowest taxonomic level
agb1 Above-ground tree biomass estimate at initial census
date1 Date of census
...
broken Has the main stem DBH > 10cm broken (i.e. AGB reduction > 20%)?
agbl AGB loss due to main stem breakage
agb1.surv AGB of surving stems (if any) after main stem breakage
interval first, second, third... census interval
year Calendar year of census
gx X coordinate
gy Y coordinate
quadrat 20x20m quadrat
name Genus and species
ID Concatenation of treeID and stem tag
int Census interval length in days
code Corrected tree status, can be: "A" = alive, "AC" = alive, with POM changed, "B" = broken, "Rsp" = resprouted, "R" = recruited or "D" = dead
dHOM hom2-hom1
prod.g annual AGB productivity for trees coded as "A" or "AC"
prod.r annual AGB productivity for trees coded as "Rsp" or "R"
loss annual AGB loss for trees coded as "B" or "D"
ficus Is that tree a large (DBH > 50cm) strangler fig?
prod.rel relative producitivity (prod.g/average-productivity-per-hectare)
error Is prod.rel > maxrel (1), or prod.rel < -maxrel (-1)
error.loss Binary. Was that tree flagged as "error" prior to death?

Resulting data set can further be used to compute AGB fluxes at a site (as described below).

Installation

You can install the released version of AGBfluxes from CRAN with: r # install.packages("devtools") devtools::install_github("AGBfluxes")

Example

data_preparation() outputs a data.table, which has a special print() method.

agbfluxes's People

Contributors

maurolepore avatar

Watchers

 avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.