clDensitySelfThinning Class Reference

Density Self Thinning - Version 1.0. More...

#include <DensitySelfThinning.h>

Inheritance diagram for clDensitySelfThinning:

clMortalityBase clBehaviorBase clWorkerBase List of all members.

Public Member Functions

 clDensitySelfThinning (clSimManager *p_oSimManager)
 Constructor.
 ~clDensitySelfThinning ()
 Destructor.
void DoShellSetup (xercesc::DOMDocument *p_oDoc)
 Reads in values from the parameter file and makes sure all data needed is collected.
void CalculateNeighborhoodTreeCountAndMeanDiam10 (clTree *p_oTree, float *p_fTreeCount, float *p_fMeanDiam10)
 Calculates the number of neighborhood trees and their mean Diam10.
bool DoMort (clTree *p_oTree, const float &fDbh, const short int &iSpecies)
 Calculates mortality according to the DensitySelfThinning equation.

Protected Attributes

float m_fNumberYearsPerTimestep
 Number of years per timestep.
float * mp_fSelfThinRadius
 Radius that defines the neighborhood size (meters).
float * mp_fMinDensityForMort
 Minimum neighborhood density subject to mortality (trees/ha).
float * mp_fSelfThinAsymptote
 Asymptote parameter.
float * mp_fSelfThinDiamEffect
 Diameter effect parameter.
float * mp_fSelfThinDensityEffect
 Density effect parameter.
short int * mp_iIndexes
 Speeds access to the arrays.

Detailed Description

Density Self Thinning - Version 1.0.

This behavior evaluates seedling and sapling mortality according the density and mean diam10 of a tree's neigbourhood.

This class's namestring is "densityselfthinningmortshell".

This class's parameter file call string is "densityselfthinning".

Note (LEM): this behavior requires a 1-year timestep. There is no programmatic reason for this; this is what Rasmus wanted, as author, because he believes using this behavior with a multi-year timestep is not smart scientifically.

Copyright 2003 Charles D. Canham.

Authors:
Rasmus Astrup, Marissa LeBlanc

Edit history:
-----------------
March 14, 2005 - Submitted as beta (RA)


Constructor & Destructor Documentation

clDensitySelfThinning::clDensitySelfThinning ( clSimManager p_oSimManager  ) 

Constructor.

Sets the namestring.


Member Function Documentation

void clDensitySelfThinning::CalculateNeighborhoodTreeCountAndMeanDiam10 ( clTree p_oTree,
float *  p_fTreeCount,
float *  p_fMeanDiam10 
)

Calculates the number of neighborhood trees and their mean Diam10.

Parameters:
p_oTree Tree being evaluated.
p_fTreeCount Variable into which to place the number of neighborhood trees.
p_fMeanDiam10 Variable into which to place the mean diam10 of the neighborhood trees.

bool clDensitySelfThinning::DoMort ( clTree p_oTree,
const float &  fDbh,
const short int &  iSpecies 
) [virtual]

Calculates mortality according to the DensitySelfThinning equation.

Parameters:
p_oTree Tree being evaluated.
fDbh DBH of tree being evaluated.
iSpecies Species of the tree being evaluated.
Returns:
True if the tree is to die, false if it lives.

Implements clMortalityBase.

void clDensitySelfThinning::DoShellSetup ( xercesc::DOMDocument *  p_oDoc  )  [virtual]

Reads in values from the parameter file and makes sure all data needed is collected.

Parameters:
p_oDoc Parsed DOM tree of parameter file.
Exceptions:
modelErr if:
  • The timestep length is greater than 1.
  • The neighborhood radius is not greater than 0.
  • The minimum density for mortality is less than 0.
  • The self-thinning asymptote is not greater than 0.
  • The density effect is not greater than 0.

Reimplemented from clMortalityBase.


The documentation for this class was generated from the following file:
Generated on Wed Nov 29 08:42:20 2006 for SORTIE Core C++ Documentation by  doxygen 1.4.7