iLand
Public Member Functions | List of all members
Species Class Reference

The behavior and general properties of tree species. More...

#include <species.h>

Public Member Functions

 Species (SpeciesSet *set)
 
 ~Species ()
 
void setup ()
 main setup routine for tree species. More...
 
void newYear ()
 newYear is called by the SpeciesSet at the beginning of a year before any growth occurs. More...
 
const SpeciesSetspeciesSet () const
 
SeedDispersalseedDispersal () const
 
const QString & id () const
 
const QString & name () const
 the full name (e.g. Picea Abies) of the species More...
 
int index () const
 unique index of species within current set More...
 
bool active () const
 active??? todo! More...
 
int phenologyClass () const
 phenology class defined in project file. class 0 = evergreen More...
 
bool isConiferous () const
 
bool isEvergreen () const
 
bool isSeedYear () const
 
double biomassFoliage (const double dbh) const
 
double biomassStem (const double dbh) const
 
double biomassRoot (const double dbh) const
 
double biomassBranch (const double dbh) const
 
double allometricExponentStem () const
 
double allometricExponentBranch () const
 
double allometricExponentFoliage () const
 
double allometricFractionStem (const double dbh) const
 calculate fraction of stem wood increment base on dbh. More...
 
double finerootFoliageRatio () const
 ratio of fineroot mass (kg) to foliage mass (kg) More...
 
double barkThickness (const double dbh) const
 
double cnFoliage () const
 
double cnFineroot () const
 
double cnWood () const
 
double turnoverLeaf () const
 
double turnoverRoot () const
 
double snagKsw () const
 
double snagHalflife () const
 
double snagKyl () const
 decomposition rate for labile matter (litter) used in soil model More...
 
double snagKyr () const
 decomposition rate for refractory matter (woody) used in soil model More...
 
void hdRange (const double dbh, double &rMinHD, double &rMaxHD) const
 
double volumeFactor () const
 factor for volume calculation: V = factor * D^2*H (incorporates density and the form of the bole) More...
 
double density () const
 density of stem wood [kg/m3] More...
 
double specificLeafArea () const
 
double deathProb_intrinsic () const
 
double deathProb_stress (const double &stress_index) const
 calculate probabilty of death based on the current stress index. More...
 
double aging (const float height, const int age) const
 Aging formula. More...
 
int estimateAge (const float height) const
 estimate age for a tree with the current age More...
 
void seedProduction (const Tree *tree)
 check the maturity of the tree and flag the position as seed source appropriately More...
 
void setSeedDispersal (SeedDispersal *seed_dispersal)
 
double vpdResponse (const double &vpd) const
 vpdResponse calculates response on vpd. More...
 
double temperatureResponse (const double &delayed_temp) const
 temperatureResponse calculates response on delayed daily temperature. More...
 
double nitrogenResponse (const double &availableNitrogen) const
 
double canopyConductance () const
 maximum canopy conductance in m/s More...
 
double soilwaterResponse (const double &psi_kPa) const
 input: matrix potential (kPa) (e.g. -15) More...
 
double lightResponse (const double lightResourceIndex) const
 
double psiMin () const
 
double vpdResponseExponent () const
 
int maturityAge () const
 
void treeMigKernel (double &ras1, double &ras2, double &ks) const
 
double fecundity_m2 () const
 
double nonSeedYearFraction () const
 
double fecunditySerotiny () const
 
bool isTreeSerotinous (const int age) const
 returns true of a tree with given age/height is serotinous (i.e. seed release after fire) More...
 
const EstablishmentParametersestablishmentParameters () const
 
const SaplingGrowthParameterssaplingGrowthParameters () const
 
const Stampstamp (const float dbh, const float height) const
 

Detailed Description

The behavior and general properties of tree species.

Because the individual trees are designed as leightweight as possible, lots of stuff is done by the Species. Inter alia, Species do:

Constructor & Destructor Documentation

◆ Species()

Species::Species ( SpeciesSet set)
inline

◆ ~Species()

Species::~Species ( )

Member Function Documentation

◆ active()

bool Species::active ( ) const
inline

active??? todo!

◆ aging()

double Species::aging ( const float  height,
const int  age 
) const

Aging formula.

calculates a relative "age" by combining a height- and an age-related term using a harmonic mean, and feeding this into the Landsberg and Waring formula. see http://iland-model.org/primary+production#respiration_and_aging

Parameters
useAgeset to true if "real" tree age is available. If false, only the tree height is used.

◆ allometricExponentBranch()

double Species::allometricExponentBranch ( ) const
inline

◆ allometricExponentFoliage()

double Species::allometricExponentFoliage ( ) const
inline

◆ allometricExponentStem()

double Species::allometricExponentStem ( ) const
inline

◆ allometricFractionStem()

double Species::allometricFractionStem ( const double  dbh) const

calculate fraction of stem wood increment base on dbh.

allometric equation: a*d^b -> first derivation: a*b*d^(b-1) the ratio for stem is 1 minus the ratio of twigs to total woody increment at current "dbh".

◆ barkThickness()

double Species::barkThickness ( const double  dbh) const
inline

◆ biomassBranch()

double Species::biomassBranch ( const double  dbh) const
inline

◆ biomassFoliage()

double Species::biomassFoliage ( const double  dbh) const
inline

◆ biomassRoot()

double Species::biomassRoot ( const double  dbh) const
inline

◆ biomassStem()

double Species::biomassStem ( const double  dbh) const
inline

◆ canopyConductance()

double Species::canopyConductance ( ) const
inline

maximum canopy conductance in m/s

◆ cnFineroot()

double Species::cnFineroot ( ) const
inline

◆ cnFoliage()

double Species::cnFoliage ( ) const
inline

◆ cnWood()

double Species::cnWood ( ) const
inline

◆ deathProb_intrinsic()

double Species::deathProb_intrinsic ( ) const
inline

◆ deathProb_stress()

double Species::deathProb_stress ( const double &  stress_index) const
inline

calculate probabilty of death based on the current stress index.

◆ density()

double Species::density ( ) const
inline

density of stem wood [kg/m3]

◆ establishmentParameters()

const EstablishmentParameters & Species::establishmentParameters ( ) const
inline

◆ estimateAge()

int Species::estimateAge ( const float  height) const

estimate age for a tree with the current age

◆ fecundity_m2()

double Species::fecundity_m2 ( ) const
inline

◆ fecunditySerotiny()

double Species::fecunditySerotiny ( ) const
inline

◆ finerootFoliageRatio()

double Species::finerootFoliageRatio ( ) const
inline

ratio of fineroot mass (kg) to foliage mass (kg)

◆ hdRange()

void Species::hdRange ( const double  dbh,
double &  rMinHD,
double &  rMaxHD 
) const
inline

◆ id()

const QString & Species::id ( ) const
inline

◆ index()

int Species::index ( ) const
inline

unique index of species within current set

◆ isConiferous()

bool Species::isConiferous ( ) const
inline

◆ isEvergreen()

bool Species::isEvergreen ( ) const
inline

◆ isSeedYear()

bool Species::isSeedYear ( ) const
inline

◆ isTreeSerotinous()

bool Species::isTreeSerotinous ( const int  age) const

returns true of a tree with given age/height is serotinous (i.e. seed release after fire)

◆ lightResponse()

double Species::lightResponse ( const double  lightResourceIndex) const
inline

◆ maturityAge()

int Species::maturityAge ( ) const
inline

◆ name()

const QString & Species::name ( ) const
inline

the full name (e.g. Picea Abies) of the species

◆ newYear()

void Species::newYear ( )

newYear is called by the SpeciesSet at the beginning of a year before any growth occurs.

This is used for various initializations, e.g. to clear seed dispersal maps

◆ nitrogenResponse()

double Species::nitrogenResponse ( const double &  availableNitrogen) const
inline

◆ nonSeedYearFraction()

double Species::nonSeedYearFraction ( ) const
inline

◆ phenologyClass()

int Species::phenologyClass ( ) const
inline

phenology class defined in project file. class 0 = evergreen

◆ psiMin()

double Species::psiMin ( ) const
inline

◆ saplingGrowthParameters()

const SaplingGrowthParameters & Species::saplingGrowthParameters ( ) const
inline

◆ seedDispersal()

SeedDispersal * Species::seedDispersal ( ) const
inline

◆ seedProduction()

void Species::seedProduction ( const Tree tree)

check the maturity of the tree and flag the position as seed source appropriately

Seed production.

This function produces seeds if the tree is older than a species-specific age ("maturity") If seeds are produced, this information is stored in a "SeedMap"

◆ setSeedDispersal()

void Species::setSeedDispersal ( SeedDispersal seed_dispersal)
inline

◆ setup()

void Species::setup ( )

main setup routine for tree species.

Data is fetched from the open query (or file, ...) in the parent SpeciesSet using xyzVar() functions. This is called

◆ snagHalflife()

double Species::snagHalflife ( ) const
inline

◆ snagKsw()

double Species::snagKsw ( ) const
inline

◆ snagKyl()

double Species::snagKyl ( ) const
inline

decomposition rate for labile matter (litter) used in soil model

◆ snagKyr()

double Species::snagKyr ( ) const
inline

decomposition rate for refractory matter (woody) used in soil model

◆ soilwaterResponse()

double Species::soilwaterResponse ( const double &  psi_kPa) const
inline

input: matrix potential (kPa) (e.g. -15)

soilwaterResponse is a function of the current matrix potential of the soil.

◆ speciesSet()

const SpeciesSet * Species::speciesSet ( ) const
inline

◆ specificLeafArea()

double Species::specificLeafArea ( ) const
inline

◆ stamp()

const Stamp * Species::stamp ( const float  dbh,
const float  height 
) const
inline

◆ temperatureResponse()

double Species::temperatureResponse ( const double &  delayed_temp) const
inline

temperatureResponse calculates response on delayed daily temperature.

Input: average temperature [C] Note: slightly different from Mkela 2008: the maximum parameter (Sk) in iLand is interpreted as the absolute temperature yielding a response of 1; in Mkela 2008, Sk is the width of the range (relative to the lower threhold)

◆ treeMigKernel()

void Species::treeMigKernel ( double &  ras1,
double &  ras2,
double &  ks 
) const
inline

◆ turnoverLeaf()

double Species::turnoverLeaf ( ) const
inline

◆ turnoverRoot()

double Species::turnoverRoot ( ) const
inline

◆ volumeFactor()

double Species::volumeFactor ( ) const
inline

factor for volume calculation: V = factor * D^2*H (incorporates density and the form of the bole)

◆ vpdResponse()

double Species::vpdResponse ( const double &  vpd) const
inline

vpdResponse calculates response on vpd.

Input: vpd [kPa]

◆ vpdResponseExponent()

double Species::vpdResponseExponent ( ) const
inline

The documentation for this class was generated from the following files: