SORTIE Core C++ Documentation
|
Allometry Class - Version 2.4 This handles allometric calculations for trees. More...
#include <Allometry.h>
Public Types | |
enum | iHeightDiamFunction { standard, linear, reverse_linear, power } |
Functions for height-diam relationships. More... | |
enum | iCrownRadDiamFunction { standard_cr, chapman_richards_cr, non_spat_exp_dens_dep_cr, nci_cr } |
Functions for crown radius-diam relationships. More... | |
enum | iCrownDepthDiamFunction { standard_cd, chapman_richards_cd, non_spat_log_dens_dep_cd, nci_cd } |
Functions for crown depth-diam relationships. More... | |
Public Member Functions | |
clAllometry (clTreePopulation *p_oPop) | |
Constructor. More... | |
~clAllometry () | |
Destructor. More... | |
void | GetData (xercesc::DOMDocument *p_oDoc, clTreePopulation *p_oPop) |
Reads data from the parameter file. More... | |
double | GetMaxTreeHeight (int iSpecies) |
Gets the maximum tree height. More... | |
float | CalcAdultHeight (const float &fDbh, const int &iSpecies) |
Calculates height according to the adult DBH-height relationship for the given species. More... | |
float | CalcAdultDbh (float fHeight, const int &iSpecies) |
Calculates DBH according to the adult DBH-height relationship for the given species. More... | |
float | CalcAdultCrownRadius (clTree *p_oTree) |
Calculates crown radius according to the adult crown radius-DBH equation for the species. More... | |
float | CalcAdultCrownDepth (clTree *p_oTree) |
Calculates adult crown depth according to the adult allometry equation for the species. More... | |
float | CalcSaplingHeight (const float &fDbh, const int &iSpecies) |
Calculates height according to the sapling DBH-height relationship for the given species. More... | |
float | CalcSaplingDbh (float fHeight, const int &iSpecies) |
Calculates DBH according to the sapling DBH-height relationship for the given species. More... | |
float | CalcSaplingCrownRadius (clTree *p_oTree) |
Calculates crown radius according to the sapling crown radius-DBH equation for the species. More... | |
float | CalcSaplingCrownDepth (clTree *p_oTree) |
Calculates crown depth according to the sapling allometry equation for the species. More... | |
float | CalcSeedlingHeight (float fDiam10, const int &iSpecies) |
Calculates height according to the seedling diam10-height relationship for the given species. More... | |
float | CalcSeedlingDiam10 (float fHeight, const int &iSpecies) |
Calculates diameter at 10 cm according to the seedling diam10-height relationship for the given species. More... | |
float | ConvertDiam10ToDbh (float fDiam10, const int &iSpecies) |
Converts a diameter at 10 cm value to a DBH. More... | |
float | ConvertDbhToDiam10 (const float &fDbh, const int &iSpecies) |
Converts a DBH value to a diameter at 10 cm value. More... | |
double | GetMaxCrownRadius () |
Gets the maximum possible crown radius. More... | |
void | DoDataUpdates () |
Cleanup function that resets the plot density and basal area information. More... | |
Protected Types | |
typedef float(clAllometry::* | Ptr2Allometry) (const float &, const int &) |
Typedef to all allometry calculating functions except crown functions. More... | |
typedef float(clAllometry::* | Ptr2CrownDimension) (clTree *) |
Typedef to crown dimension calculating functions. More... | |
Protected Member Functions | |
void | SetupAdultHeightDiam (xercesc::DOMElement *p_oElement) |
Sorts out and reads in parameters for adult height-diam relationships. More... | |
void | SetupAdultCrownRadius (xercesc::DOMElement *p_oElement) |
Sorts out and reads in parameters for adult crown radius relationships. More... | |
void | SetupAdultCrownDepth (xercesc::DOMElement *p_oElement) |
Sorts out and reads in parameters for adult crown depth relationships. More... | |
void | SetupSaplingHeightDiam (xercesc::DOMElement *p_oElement) |
Sorts out and reads in parameters for sapling height-diam relationships. More... | |
void | SetupSaplingCrownRadius (xercesc::DOMElement *p_oElement) |
Sorts out and reads in parameters for sapling crown radius relationships. More... | |
void | SetupSaplingCrownDepth (xercesc::DOMElement *p_oElement) |
Sorts out and reads in parameters for sapling crown depth relationships. More... | |
void | SetupSeedlingHeightDiam (xercesc::DOMElement *p_oElement) |
Sorts out and reads in parameters for seedling height-diam relationships. More... | |
float | CalcStandardSapAdultHeight (const float &fDbh, const int &iSpecies) |
Calculates height from DBH according to the standard sapling-adult allometry function. More... | |
float | CalcLinearAdultHeight (const float &fDbh, const int &iSpecies) |
Calculates height from DBH according to the linear function. More... | |
float | CalcReverseLinearAdultHeight (const float &fDbh, const int &iSpecies) |
Calculates height from DBH according to the reverse linear function. More... | |
float | CalcLinearSaplingHeight (const float &fDbh, const int &iSpecies) |
Calculates height from DBH according to the linear function. More... | |
float | CalcReverseLinearSaplingHeight (const float &fDbh, const int &iSpecies) |
Calculates height from DBH according to the reverse linear function. More... | |
float | CalcPowerSaplingHeight (const float &fDbh, const int &iSpecies) |
Calculates height from DBH according to the power function. More... | |
float | CalcStandardSeedlingHeight (const float &fDiam10, const int &iSpecies) |
Calculates height according to standard seedling diam10-height allometry equation. More... | |
float | CalcLinearSeedlingHeight (const float &fDiam10, const int &iSpecies) |
Calculates height from diameter at 10 cm according to the linear function. More... | |
float | CalcReverseLinearSeedlingHeight (const float &fDiam10, const int &iSpecies) |
Calculates height from diameter at 10 cm according to the reverse linear function. More... | |
float | CalcStandardSapAdultDbh (const float &fHeight, const int &iSpecies) |
Calculates DBH from height according to the standard sapling-adult allometry function. More... | |
float | CalcLinearAdultDbh (const float &fHeight, const int &iSpecies) |
Calculates DBH from height according to the linear function. More... | |
float | CalcReverseLinearAdultDbh (const float &fHeight, const int &iSpecies) |
Calculates DBH from height according to the reverse linear function. More... | |
float | CalcLinearSaplingDbh (const float &fHeight, const int &iSpecies) |
Calculates DBH from height according to the linear function. More... | |
float | CalcReverseLinearSaplingDbh (const float &fHeight, const int &iSpecies) |
Calculates DBH from height according to the reverse linear function. More... | |
float | CalcPowerSaplingDbh (const float &fHeight, const int &iSpecies) |
Calculates DBH from height according to the reverse linear function. More... | |
float | CalcStandardSeedlingDiam10 (const float &fHeight, const int &iSpecies) |
Calculates diameter at 10 cm according to the standard seedling height - diam10 allometry equation (which is just the height equation switched around). More... | |
float | CalcLinearSeedlingDiam10 (const float &fHeight, const int &iSpecies) |
Calculates height from diameter at 10 according to the linear function. More... | |
float | CalcReverseLinearSeedlingDiam10 (const float &fHeight, const int &iSpecies) |
Calculates height from DBH according to the reverse linear function. More... | |
float | CalcStandardSapAdultCrownRad (clTree *p_oTree) |
Calculates crown radius according to the standard equation. More... | |
float | CalcChapRichSapAdultCrownRad (clTree *p_oTree) |
Calculates adult crown radius using the Chapman-Richards equation. More... | |
float | CalcNonSpatDensDepExpAdultCrownRad (clTree *p_oTree) |
Calculates adult crown radius using the non-spatial density dependent exponential equation. More... | |
float | CalcStandardSapAdultCrownDepth (clTree *p_oTree) |
Calculates crown depth according to the standard equation. More... | |
float | CalcChapRichSapAdultCrownDepth (clTree *p_oTree) |
Calculates crown depth using the Chapman-Richards equation. More... | |
float | CalcNonSpatDensDepLogAdultCrownDepth (clTree *p_oTree) |
Calculates crown depth using the non-spatial density dependent logistic function. More... | |
float | CalcNCICrownRad (clTree *p_oTree) |
Calculates crown radius according to the NCI function. More... | |
float | CalcNCICrownDepth (clTree *p_oTree) |
Calculates crown depth according to the NCI function. More... | |
Protected Attributes | |
clTreePopulation * | m_oPop |
Tree population object. More... | |
Ptr2Allometry * | mp_AdultHeight |
Function pointer array for the appropriate adult height-calculating function. More... | |
Ptr2Allometry * | mp_AdultDiam |
Function pointer array for the appropriate adult DBH-calculating function. More... | |
Ptr2CrownDimension * | mp_AdultCrownRad |
Function pointer array for the appropriate adult crown radius-calculating function. More... | |
Ptr2CrownDimension * | mp_AdultCrownDepth |
Function pointer array for the appropriate adult crown depth-calculating function. More... | |
Ptr2Allometry * | mp_SaplingHeight |
Function pointer array for the appropriate sapling height-calculating function. More... | |
Ptr2Allometry * | mp_SaplingDiam |
Function pointer array for the appropriate sapling DBH-calculating function. More... | |
Ptr2CrownDimension * | mp_SaplingCrownRad |
Function pointer array for the appropriate sapling crown radius-calculating function. More... | |
Ptr2CrownDimension * | mp_SaplingCrownDepth |
Function pointer array for the appropriate sapling crown depth-calculating function. More... | |
Ptr2Allometry * | mp_SeedlingHeight |
Function pointer array for the appropriate seedling height-calculating function. More... | |
Ptr2Allometry * | mp_SeedlingDiam |
Function pointer array for the appropriate seedling diam10-calculating function. More... | |
double * | mp_fMaxTreeHeight |
Tree maximum height for each species. More... | |
double * | mp_fAsympCrownRad |
Asymptotic crown radius. More... | |
double * | mp_fCrownRadExp |
Crown radius exponent. More... | |
double * | mp_fMaxCrownRad |
Max crown radius, in m. More... | |
double * | mp_fDbhToDiam10Slope |
Slope of DBH to diameter at 10 cm. More... | |
double * | mp_fDbhToDiam10Intercept |
Intercept of DBH to diameter at 10 cm. More... | |
double * | mp_fAsympCrownDepth |
Asymptotic crown depth. More... | |
double * | mp_fCrownDepthExp |
Crown depth exponent. More... | |
double * | mp_fSlopeHeightDiam10 |
Slope of the height-diameter at 10 cm conversion relationship. More... | |
double * | mp_fSlopeAsympHeight |
Slope of asymptotic height. More... | |
double * | mp_fAdultLinearSlope |
Slope of adult linear height-dbh equation. More... | |
double * | mp_fAdultLinearIntercept |
Intercept of adult linear height-dbh equation. More... | |
double * | mp_fAdultReverseLinearSlope |
Slope of adult reverse linear height-dbh equation. More... | |
double * | mp_fAdultReverseLinearIntercept |
Intercept of adult reverse linear height-dbh equation. More... | |
double * | mp_fSaplingLinearSlope |
Slope of sapling linear height-dbh equation. More... | |
double * | mp_fSaplingLinearIntercept |
Intercept of sapling linear height-dbh equation. More... | |
double * | mp_fSaplingReverseLinearSlope |
Slope of sapling reverse linear height-dbh equation. More... | |
double * | mp_fSaplingReverseLinearIntercept |
Intercept of sapling reverse linear height-dbh equation. More... | |
double * | mp_fSeedlingLinearSlope |
Slope of seedling linear height-dbh equation. More... | |
double * | mp_fSeedlingLinearIntercept |
Intercept of seedling linear height-dbh equation. More... | |
double * | mp_fSeedlingReverseLinearSlope |
Slope of seedling reverse linear height-dbh equation. More... | |
double * | mp_fSeedlingReverseLinearIntercept |
Intercept of seedling reverse linear height-dbh equation. More... | |
double * | mp_fCRCrownRadIntercept |
Crown radius intercept for the Chapman-Richards equation. More... | |
double * | mp_fCRAsympCrownRad |
Asymptotic crown radius for the Chapman-Richards equation. More... | |
double * | mp_fCRCrownRadShape1 |
Chapman-Richards crown radius equation shape parameter 1. More... | |
double * | mp_fCRCrownRadShape2 |
Chapman-Richards crown radius equation shape parameter 2. More... | |
double * | mp_fCRCrownHtIntercept |
Crown depth intercept for the Chapman-Richards equation. More... | |
double * | mp_fCRAsympCrownHt |
Asymptotic crown depth for the Chapman-Richards equation. More... | |
double * | mp_fCRCrownHtShape1 |
Chapman-Richards crown depth equation shape parameter 1. More... | |
double * | mp_fCRCrownHtShape2 |
Chapman-Richards crown depth equation shape parameter 2. More... | |
double * | mp_fPowerA |
Power function a parameter. More... | |
double * | mp_fPowerExpB |
Power function b parameter (exponent). More... | |
double * | mp_fNonSpatDensDepInstCHA |
Non-spatial density dependent instrumental crown depth "a". More... | |
double * | mp_fNonSpatDensDepInstCHB |
Non-spatial density dependent instrumental crown depth "b". More... | |
double * | mp_fNonSpatDensDepInstCHC |
Non-spatial density dependent instrumental crown depth "c". More... | |
double * | mp_fNonSpatDensDepInstCHD |
Non-spatial density dependent instrumental crown depth "d". More... | |
double * | mp_fNonSpatDensDepInstCHE |
Non-spatial density dependent instrumental crown depth "e". More... | |
double * | mp_fNonSpatDensDepInstCHF |
Non-spatial density dependent instrumental crown depth "f". More... | |
double * | mp_fNonSpatDensDepInstCHG |
Non-spatial density dependent instrumental crown depth "g". More... | |
double * | mp_fNonSpatDensDepInstCHH |
Non-spatial density dependent instrumental crown depth "h". More... | |
double * | mp_fNonSpatDensDepInstCHI |
Non-spatial density dependent instrumental crown depth "i". More... | |
double * | mp_fNonSpatDensDepInstCHJ |
Non-spatial density dependent instrumental crown depth "j". More... | |
double * | mp_fNonSpatExpDensDepCRD1 |
Non-spatial exponential density dependent crown radius "D1". More... | |
double * | mp_fNonSpatExpDensDepCRA |
Non-spatial exponential density dependent crown radius "a". More... | |
double * | mp_fNonSpatExpDensDepCRB |
Non-spatial exponential density dependent crown radius "b". More... | |
double * | mp_fNonSpatExpDensDepCRC |
Non-spatial exponential density dependent crown radius "c". More... | |
double * | mp_fNonSpatExpDensDepCRD |
Non-spatial exponential density dependent crown radius "d". More... | |
double * | mp_fNonSpatExpDensDepCRE |
Non-spatial exponential density dependent crown radius "e". More... | |
double * | mp_fNonSpatExpDensDepCRF |
Non-spatial exponential density dependent crown radius "f". More... | |
double * | mp_fNonSpatDensDepInstCRA |
Non-spatial density dependent instrumental crown radius "a". More... | |
double * | mp_fNonSpatDensDepInstCRB |
Non-spatial density dependent instrumental crown radius "b". More... | |
double * | mp_fNonSpatDensDepInstCRC |
Non-spatial density dependent instrumental crown radius "c". More... | |
double * | mp_fNonSpatDensDepInstCRD |
Non-spatial density dependent instrumental crown radius "d". More... | |
double * | mp_fNonSpatDensDepInstCRE |
Non-spatial density dependent instrumental crown radius "e". More... | |
double * | mp_fNonSpatDensDepInstCRF |
Non-spatial density dependent instrumental crown radius "f". More... | |
double * | mp_fNonSpatDensDepInstCRG |
Non-spatial density dependent instrumental crown radius "g". More... | |
double * | mp_fNonSpatDensDepInstCRH |
Non-spatial density dependent instrumental crown radius "h". More... | |
double * | mp_fNonSpatDensDepInstCRI |
Non-spatial density dependent instrumental crown radius "i". More... | |
double * | mp_fNonSpatDensDepInstCRJ |
Non-spatial density dependent instrumental crown radius "j". More... | |
double * | mp_fNonSpatLogDensDepCHA |
Non-spatial logistic density dependent crown depth "a". More... | |
double * | mp_fNonSpatLogDensDepCHB |
Non-spatial logistic density dependent crown depth "b". More... | |
double * | mp_fNonSpatLogDensDepCHC |
Non-spatial logistic density dependent crown depth "c". More... | |
double * | mp_fNonSpatLogDensDepCHD |
Non-spatial logistic density dependent crown depth "d". More... | |
double * | mp_fNonSpatLogDensDepCHE |
Non-spatial logistic density dependent crown depth "e". More... | |
double * | mp_fNonSpatLogDensDepCHF |
Non-spatial logistic density dependent crown depth "f". More... | |
double * | mp_fNonSpatLogDensDepCHG |
Non-spatial logistic density dependent crown depth "g". More... | |
double * | mp_fNCIMaxCrownRadius |
Maximum crown radius value. More... | |
double ** | mp_fNCICRLambda |
Lamba for NCI crown radius. More... | |
double * | mp_fNCICRAlpha |
NCI crown radius alpha. More... | |
double * | mp_fNCICRBeta |
NCI crown radius beta. More... | |
double * | mp_fNCICRGamma |
NCI crown radius gamma. More... | |
double * | mp_fNCICRMaxCrowdingRadius |
NCI crown radius maximum search distance for neighbors, in meters. More... | |
double * | mp_fNCICRN |
NCI crown radius crowding effect n. More... | |
double * | mp_fNCICRD |
NCI crown radius size effect d. More... | |
double * | mp_fNCICRMinNeighborDBH |
The minimum DBH, in cm, of neighbors to be included in NCI calculations. More... | |
double * | mp_fNCIMaxCrownDepth |
Maximum crown depth value. More... | |
double ** | mp_fNCICDLambda |
Lamba for NCI crown depth. More... | |
double * | mp_fNCICDAlpha |
NCI crown depth alpha. More... | |
double * | mp_fNCICDBeta |
NCI crown depth beta. More... | |
double * | mp_fNCICDGamma |
NCI crown depth gamma. More... | |
double * | mp_fNCICDMaxCrowdingRadius |
NCI crown depth maximum search distance for neighbors, in meters. More... | |
double * | mp_fNCICDN |
NCI crown depth crowding effect n. More... | |
double * | mp_fNCICDD |
NCI crown depth size effect d. More... | |
double * | mp_fNCICDMinNeighborDBH |
The minimum DBH, in cm, of neighbors to be included in NCI calculations. More... | |
double | m_fMaxCrownRad |
Maximum possible crown radius. More... | |
double | m_fPlotDensity |
The plot's density, in stems/ha; for non-spatial density dependent crown functions. More... | |
double | m_fPlotBasalArea |
The plot's basal area, in m2/ha; for non-spatial density dependent crown functions. More... | |
double | m_fMinSaplingHeight |
Minimum sapling height. More... | |
int | m_iNumSpecies |
Total number of species. More... | |
Allometry Class - Version 2.4 This handles allometric calculations for trees.
None of these functions check for over or underflow.
Copyright 2005 Charles D. Canham.
Edit history:
--------------—
April 28, 2004 - Submitted as beta (LEM)
April 25, 2005 - Updated to allow user-selected allometric equations and updated version to 2.0 (LEM)
July 8, 2005 - Added Chapman-Richards function for crown shape; standardized on the name "crown" instead of "canopy"; and upgraded version to 2.1 (LEM)
January 25, 2006 - Added power function for saplings and upgraded version to 2.2 (LEM)
February 21, 2008 - Added non-spatial density dependent crown width and crown depth relationships and upgraded version to 2.3 (LEM)
April 9, 2009 - Added NCI crown width and crown depth relationships; caused the crown shape functions to take a tree as an argument; and upgraded version to 2.4 (LEM)
|
protected |
Typedef to all allometry calculating functions except crown functions.
|
protected |
Typedef to crown dimension calculating functions.
clAllometry::clAllometry | ( | clTreePopulation * | p_oPop | ) |
Constructor.
NULLs pointers.
p_oPop | Parent tree population object. |
clAllometry::~clAllometry | ( | ) |
Destructor.
Frees memory.
float clAllometry::CalcAdultCrownDepth | ( | clTree * | p_oTree | ) |
Calculates adult crown depth according to the adult allometry equation for the species.
This will check to see if it has already been calculated and placed in the "Crown Depth" tree float data member.
p_oTree | Tree for which to calculate crown depth. |
float clAllometry::CalcAdultCrownRadius | ( | clTree * | p_oTree | ) |
Calculates crown radius according to the adult crown radius-DBH equation for the species.
This will check to see if it has already been calculated and placed in the "Crown Radius" tree float data member.
p_oTree | Tree for which to calculate crown radius. |
float clAllometry::CalcAdultDbh | ( | float | fHeight, |
const int & | iSpecies | ||
) |
Calculates DBH according to the adult DBH-height relationship for the given species.
fHeight | Height in meters. |
iSpecies | Species of tree for which to calculate DBH. |
ModelErr | If the species isn't recognized or if the height is greater than the maximum height for the species. |
float clAllometry::CalcAdultHeight | ( | const float & | fDbh, |
const int & | iSpecies | ||
) |
Calculates height according to the adult DBH-height relationship for the given species.
fDbh | DBH in cm for which to calculate tree height. |
iSpecies | Species of tree for which to calculate height. |
ModelErr | If the species isn't recognized. |
|
protected |
Calculates crown depth using the Chapman-Richards equation.
This equation is: CH = i + a * (1 - exp(-b * H)) c where CH = crown depth in meters, i = crown depth intercept in meters, a = asymptotic crown depth (in meters), b = shape parameter 1, c = shape parameter 2, DBH = DBH of the tree in cm.
p_oTree | The tree for which to calculate crown radius. |
|
protected |
Calculates adult crown radius using the Chapman-Richards equation.
This equation is: CR = i + a * (1 - exp(-b * DBH)) c where CR = crown radius in meters, i = crown radius intercept in meters, a = asymptotic crown radius (in meters), b = shape parameter 1, c = shape parameter 2, DBH = DBH of the tree in cm. Since this equation is already self-limiting, it's not subjected to the limit of 10 m like the standard equation is.
p_oTree | The tree for which to calculate crown radius. |
|
protected |
Calculates DBH from height according to the linear function.
This equation is:
DBH = (Height - a) / b
where b is the adult linear slope and a is the adult linear intercept.
fHeight | Height in meters. |
iSpecies | Species of tree for which to calculate height. |
|
protected |
Calculates height from DBH according to the linear function.
This equation is:
Height = a + b * DBH
where b is the adult linear slope and a is the adult linear intercept. The height is limited to the maximum height for the species.
fDbh | DBH in cm for which to calculate tree height. |
iSpecies | Species of tree for which to calculate height. |
|
protected |
Calculates DBH from height according to the linear function.
This equation is:
DBH = (Height - a) / b
where b is the sapling linear slope and a is the sapling linear intercept.
fHeight | Height in meters. |
iSpecies | Species of tree for which to calculate height. |
|
protected |
Calculates height from DBH according to the linear function.
This equation is:
Height = a + b * DBH
where b is the sapling linear slope and a is the sapling linear intercept. The height is limited to the maximum height for the species.
fDbh | DBH in cm for which to calculate tree height. |
iSpecies | Species of tree for which to calculate height. |
|
protected |
Calculates height from diameter at 10 according to the linear function.
This equation is:
diam10 = (Height - a) / b
where b is the seedling linear slope and a is the seedling linear intercept.
fHeight | Height in meters. |
iSpecies | Species of tree for which to calculate height. |
|
protected |
Calculates height from diameter at 10 cm according to the linear function.
This equation is:
Height = a + b * diam10
where b is the seedling linear slope and a is the seedling linear intercept. The height is limited to the maximum height for the species.
fDiam10 | Diameter at 10 cm in cm for which to calculate tree height. |
iSpecies | Species of tree for which to calculate height. |
|
protected |
Calculates crown depth according to the NCI function.
Crowding Effect is calculated as:
NCI is calculated as follows (simplifying the notation):
Size effect is calculated as follows:
where d is a parameter.
Crown depth is limited to the total tree height.
p_oTree | The tree for which to calculate crown radius. |
|
protected |
Calculates crown radius according to the NCI function.
Crowding Effect is calculated as:
NCI is calculated as follows (simplifying the notation):
Size effect is calculated as follows:
where d is a parameter.
p_oTree | The tree for which to calculate crown radius. |
|
protected |
Calculates adult crown radius using the non-spatial density dependent exponential equation.
This equation is:
p_oTree | The tree for which to calculate crown radius. |
|
protected |
Calculates crown depth using the non-spatial density dependent logistic function.
The function is:
p_oTree | The tree for which to calculate crown radius. |
|
protected |
Calculates DBH from height according to the reverse linear function.
This equation is:
D = (H / a) 1/b
d is the diam10. Then the conversion to DBH is made. If fHeight is less than or approximately equal to 0, this returns 0.001.
fHeight | Height in meters. |
iSpecies | Species of tree for which to calculate height. |
|
protected |
Calculates height from DBH according to the power function.
This equation is:
Height = a * D b
where D is in fact Diam10 - this will convert back and forth with DBH. The height is limited to the maximum height for the species. If fDbh is negative or 0, this returns the minimum height (0.001).
fDbh | DBH in cm for which to calculate tree height. |
iSpecies | Species of tree for which to calculate height. |
|
protected |
Calculates DBH from height according to the reverse linear function.
This equation is:
DBH = a + b * Height
where b is the adult reverse linear slope and a is the adult reverse linear intercept.
fHeight | Height in meters. |
iSpecies | Species of tree for which to calculate height. |
|
protected |
Calculates height from DBH according to the reverse linear function.
This equation is:
Height = (DBH - a) / b
where b is the adult reverse linear slope and a is the adult reverse linear intercept. The height is limited to the maximum height for the species.
fDbh | DBH in cm for which to calculate tree height. |
iSpecies | Species of tree for which to calculate height. |
|
protected |
Calculates DBH from height according to the reverse linear function.
This equation is:
DBH = a + b * Height
where b is the sapling reverse linear slope and a is the sapling reverse linear intercept.
fHeight | Height in meters. |
iSpecies | Species of tree for which to calculate height. |
|
protected |
Calculates height from DBH according to the reverse linear function.
This equation is:
Height = (DBH - a) / b
where b is the sapling reverse linear slope and a is the sapling reverse linear intercept. The height is limited to the maximum height for the species.
fDbh | DBH in cm for which to calculate tree height. |
iSpecies | Species of tree for which to calculate height. |
|
protected |
Calculates height from DBH according to the reverse linear function.
This equation is:
diam10 = a + b * Height
where b is the seedling reverse linear slope and a is the seedling reverse linear intercept.
fHeight | Height in meters. |
iSpecies | Species of tree for which to calculate height. |
|
protected |
Calculates height from diameter at 10 cm according to the reverse linear function.
This equation is:
Height = (diam10 - a) / b
where b is the seedling reverse linear slope and a is the seedling reverse linear intercept.
fDiam10 | Diameter at 10 cm in cm for which to calculate tree height. |
iSpecies | Species of tree for which to calculate height. |
float clAllometry::CalcSaplingCrownDepth | ( | clTree * | p_oTree | ) |
Calculates crown depth according to the sapling allometry equation for the species.
This will check to see if it has already been calculated and placed in the "Crown Depth" tree float data member.
p_oTree | Tree for which to calculate crown depth. |
float clAllometry::CalcSaplingCrownRadius | ( | clTree * | p_oTree | ) |
Calculates crown radius according to the sapling crown radius-DBH equation for the species.
This will check to see if it has already been calculated and placed in the "Crown Radius" tree float data member.
p_oTree | Tree for which to calculate crown radius. |
float clAllometry::CalcSaplingDbh | ( | float | fHeight, |
const int & | iSpecies | ||
) |
Calculates DBH according to the sapling DBH-height relationship for the given species.
fHeight | Height in meters. |
iSpecies | Species of tree for which to calculate height. |
ModelErr | If the species isn't recognized or if the height is greater than the maximum height for the species. |
float clAllometry::CalcSaplingHeight | ( | const float & | fDbh, |
const int & | iSpecies | ||
) |
Calculates height according to the sapling DBH-height relationship for the given species.
fDbh | DBH in cm for which to calculate tree height. |
iSpecies | Species of tree for which to calculate height. |
ModelErr | If the species isn't recognized. |
float clAllometry::CalcSeedlingDiam10 | ( | float | fHeight, |
const int & | iSpecies | ||
) |
Calculates diameter at 10 cm according to the seedling diam10-height relationship for the given species.
fHeight | Height in meters. |
iSpecies | Species of tree for which to calculate height. |
ModelErr | If the species isn't recognized or if the height is greater than the maximum height for the species. |
float clAllometry::CalcSeedlingHeight | ( | float | fDiam10, |
const int & | iSpecies | ||
) |
Calculates height according to the seedling diam10-height relationship for the given species.
fDiam10 | Diameter at 10 cm in cm for which to calculate tree height. |
iSpecies | Species of tree for which to calculate height. |
ModelErr | If the species isn't recognized. |
|
protected |
Calculates crown depth according to the standard equation.
This equation is: CH = C2 * Height a where CH is the depth of the crown in meters, C2 is the asymptotic crown depth, Height is the tree's height in meters, and a is the crown depth exponent.
p_oTree | The tree for which to calculate crown depth . |
ModelErr | If the species isn't recognized. |
|
protected |
Calculates crown radius according to the standard equation.
This equation is: crad = C1 * DBH a where crad is the crown radius in meters, C1 is the asymptotic crown radius, DBH is the DBH of the tree in cm, and a is the crown radius exponent. The value of crad cannot exceed 10 m.
p_oTree | The tree for which to calculate crown radius. |
|
protected |
Calculates DBH from height according to the standard sapling-adult allometry function.
This equation (which is just the height equation switched around) is: DBH = log(1-((Height-1.35)/(H1-1.35)))/-B where Height is height in meters, H1 is max tree height, B is slope of asymptotic height, and DBH is tree DBH in cm.
fHeight | Height in meters. |
iSpecies | Species of tree for which to calculate height. |
|
protected |
Calculates height from DBH according to the standard sapling-adult allometry function.
This equation is:
Height = 1.35 + (H1 - 1.35)*(1 - e-B * DBH)
where Height is height in meters, H1 is max tree height, B is slope of asymptotic height, and DBH is tree DBH in cm.
fDbh | DBH in cm for which to calculate tree height. |
iSpecies | Species of tree for which to calculate height. |
|
protected |
Calculates diameter at 10 cm according to the standard seedling height - diam10 allometry equation (which is just the height equation switched around).
The equation is: diam10 = (log(1-((height-0.1)/30)))/-alpha where height is tree height in m, alpha is the slope of the height - diam10 relationship, and diam10 is the tree's diameter at 10 cm height.
fHeight | Height in meters. |
iSpecies | Species of tree for which to calculate height. |
|
protected |
Calculates height according to standard seedling diam10-height allometry equation.
This equation is:
height = 0.1 + 30*(1 - e-alpha * diam10))
where height is tree height in m, alpha is the slope of the height - diam10 relationship, and diam10 is the tree's diameter at 10 cm height.
fDiam10 | Diameter at 10 cm in cm for which to calculate tree height. |
iSpecies | Species of tree for which to calculate height. |
float clAllometry::ConvertDbhToDiam10 | ( | const float & | fDbh, |
const int & | iSpecies | ||
) |
Converts a DBH value to a diameter at 10 cm value.
The equation is: diam10 = DBH / R where DBH is the DBH in cm, diam10 is the diameter at 10 cm height in cm, and R is the DBH to diam10 ratio.
fDbh | DBH in cm. |
iSpecies | Species of tree. |
ModelErr | If the species isn't recognized. |
float clAllometry::ConvertDiam10ToDbh | ( | float | fDiam10, |
const int & | iSpecies | ||
) |
Converts a diameter at 10 cm value to a DBH.
The equation is: DBH = diam10 * R where DBH is the DBH in cm, diam10 is the diameter at 10 cm height in cm, and R is the DBH to diam10 ratio.
fDiam10 | Diameter at 10 cm in cm. |
iSpecies | Species of tree. |
ModelErr | If the species isn't recognized. |
void clAllometry::DoDataUpdates | ( | ) |
Cleanup function that resets the plot density and basal area information.
void clAllometry::GetData | ( | xercesc::DOMDocument * | p_oDoc, |
clTreePopulation * | p_oPop | ||
) |
Reads data from the parameter file.
p_oDoc | Parsed parameter file document. |
p_oPop | Tree population object. |
|
inline |
Gets the maximum possible crown radius.
double clAllometry::GetMaxTreeHeight | ( | int | iSpecies | ) |
Gets the maximum tree height.
iSpecies | Species for which to get the maximum tree height. |
Error | if the species isn't valid. |
|
protected |
Sorts out and reads in parameters for adult crown depth relationships.
p_oElement | Document element |
|
protected |
Sorts out and reads in parameters for adult crown radius relationships.
p_oElement | Document element |
|
protected |
Sorts out and reads in parameters for adult height-diam relationships.
p_oElement | Document element |
|
protected |
Sorts out and reads in parameters for sapling crown depth relationships.
p_oElement | Document element |
|
protected |
Sorts out and reads in parameters for sapling crown radius relationships.
p_oElement | Document element |
|
protected |
Sorts out and reads in parameters for sapling height-diam relationships.
p_oElement | Document element |
|
protected |
Sorts out and reads in parameters for seedling height-diam relationships.
p_oElement | Document element |
|
protected |
Maximum possible crown radius.
|
protected |
Minimum sapling height.
For doing NCI neighbor searches.
|
protected |
The plot's basal area, in m2/ha; for non-spatial density dependent crown functions.
|
protected |
The plot's density, in stems/ha; for non-spatial density dependent crown functions.
|
protected |
Total number of species.
|
protected |
Tree population object.
|
protected |
Function pointer array for the appropriate adult crown depth-calculating function.
Array size is number of species.
|
protected |
Function pointer array for the appropriate adult crown radius-calculating function.
Array size is number of species.
|
protected |
Function pointer array for the appropriate adult DBH-calculating function.
Array size is number of species.
|
protected |
Function pointer array for the appropriate adult height-calculating function.
Array size is number of species.
|
protected |
Intercept of adult linear height-dbh equation.
Array size is total # species.
|
protected |
Slope of adult linear height-dbh equation.
Array size is total # species.
|
protected |
Intercept of adult reverse linear height-dbh equation.
Array size is total # species.
|
protected |
Slope of adult reverse linear height-dbh equation.
Array size is total # species.
|
protected |
Asymptotic crown depth.
Array size is total # species.
|
protected |
Asymptotic crown radius.
Array size is total # species.
|
protected |
Asymptotic crown depth for the Chapman-Richards equation.
Array size is total # species.
|
protected |
Asymptotic crown radius for the Chapman-Richards equation.
Array size is total # species.
|
protected |
Crown depth intercept for the Chapman-Richards equation.
Array size is total # species.
|
protected |
Chapman-Richards crown depth equation shape parameter 1.
Array size is total # species.
|
protected |
Chapman-Richards crown depth equation shape parameter 2.
Array size is total # species.
|
protected |
Crown radius intercept for the Chapman-Richards equation.
Array size is total # species.
|
protected |
Chapman-Richards crown radius equation shape parameter 1.
Array size is total # species.
|
protected |
Chapman-Richards crown radius equation shape parameter 2.
Array size is total # species.
|
protected |
Crown depth exponent.
Array size is total # species.
|
protected |
Crown radius exponent.
Array size is total # species.
|
protected |
Intercept of DBH to diameter at 10 cm.
For converting from one to the other. Array size is total # species.
|
protected |
Slope of DBH to diameter at 10 cm.
For converting from one to the other. Array size is total # species.
|
protected |
Max crown radius, in m.
Array size is total # species.
|
protected |
Tree maximum height for each species.
Array size is total # species. Values are required for all species.
|
protected |
NCI crown depth alpha.
Array is sized number of species.
|
protected |
NCI crown depth beta.
Array is sized number of species.
|
protected |
NCI crown depth size effect d.
Array is sized number of species.
|
protected |
NCI crown depth gamma.
Array is sized number of species.
|
protected |
Lamba for NCI crown depth.
Array is sized number of species by number of species.
|
protected |
NCI crown depth maximum search distance for neighbors, in meters.
Array is sized number of species.
|
protected |
The minimum DBH, in cm, of neighbors to be included in NCI calculations.
Array is sized total number of species.
|
protected |
NCI crown depth crowding effect n.
Array is sized number of species.
|
protected |
NCI crown radius alpha.
Array is sized number of species.
|
protected |
NCI crown radius beta.
Array is sized number of species.
|
protected |
NCI crown radius size effect d.
Array is sized number of species.
|
protected |
NCI crown radius gamma.
Array is sized number of species.
|
protected |
Lamba for NCI crown radius.
Array is sized number of species by number of species.
|
protected |
NCI crown radius maximum search distance for neighbors, in meters.
Array is sized number of species.
|
protected |
The minimum DBH, in cm, of neighbors to be included in NCI calculations.
Array is sized total number of species.
|
protected |
NCI crown radius crowding effect n.
Array is sized number of species.
|
protected |
Maximum crown depth value.
Array is sized number of species.
|
protected |
Maximum crown radius value.
Array is sized number of species.
|
protected |
Non-spatial density dependent instrumental crown depth "a".
Array size is total # species.
|
protected |
Non-spatial density dependent instrumental crown depth "b".
Array size is total # species.
|
protected |
Non-spatial density dependent instrumental crown depth "c".
Array size is total # species.
|
protected |
Non-spatial density dependent instrumental crown depth "d".
Array size is total # species.
|
protected |
Non-spatial density dependent instrumental crown depth "e".
Array size is total # species.
|
protected |
Non-spatial density dependent instrumental crown depth "f".
Array size is total # species.
|
protected |
Non-spatial density dependent instrumental crown depth "g".
Array size is total # species.
|
protected |
Non-spatial density dependent instrumental crown depth "h".
Array size is total # species.
|
protected |
Non-spatial density dependent instrumental crown depth "i".
Array size is total # species.
|
protected |
Non-spatial density dependent instrumental crown depth "j".
Array size is total # species.
|
protected |
Non-spatial density dependent instrumental crown radius "a".
Array size is total # species.
|
protected |
Non-spatial density dependent instrumental crown radius "b".
Array size is total # species.
|
protected |
Non-spatial density dependent instrumental crown radius "c".
Array size is total # species.
|
protected |
Non-spatial density dependent instrumental crown radius "d".
Array size is total # species.
|
protected |
Non-spatial density dependent instrumental crown radius "e".
Array size is total # species.
|
protected |
Non-spatial density dependent instrumental crown radius "f".
Array size is total # species.
|
protected |
Non-spatial density dependent instrumental crown radius "g".
Array size is total # species.
|
protected |
Non-spatial density dependent instrumental crown radius "h".
Array size is total # species.
|
protected |
Non-spatial density dependent instrumental crown radius "i".
Array size is total # species.
|
protected |
Non-spatial density dependent instrumental crown radius "j".
Array size is total # species.
|
protected |
Non-spatial exponential density dependent crown radius "a".
Array size is total # species.
|
protected |
Non-spatial exponential density dependent crown radius "b".
Array size is total # species.
|
protected |
Non-spatial exponential density dependent crown radius "c".
Array size is total # species.
|
protected |
Non-spatial exponential density dependent crown radius "d".
Array size is total # species.
|
protected |
Non-spatial exponential density dependent crown radius "D1".
Array size is total # species.
|
protected |
Non-spatial exponential density dependent crown radius "e".
Array size is total # species.
|
protected |
Non-spatial exponential density dependent crown radius "f".
Array size is total # species.
|
protected |
Non-spatial logistic density dependent crown depth "a".
Array size is total # species.
|
protected |
Non-spatial logistic density dependent crown depth "b".
Array size is total # species.
|
protected |
Non-spatial logistic density dependent crown depth "c".
Array size is total # species.
|
protected |
Non-spatial logistic density dependent crown depth "d".
Array size is total # species.
|
protected |
Non-spatial logistic density dependent crown depth "e".
Array size is total # species.
|
protected |
Non-spatial logistic density dependent crown depth "f".
Array size is total # species.
|
protected |
Non-spatial logistic density dependent crown depth "g".
Array size is total # species.
|
protected |
Power function a parameter.
Array size is total # species.
|
protected |
Power function b parameter (exponent).
Array size is total # species.
|
protected |
Intercept of sapling linear height-dbh equation.
Array size is total # species.
|
protected |
Slope of sapling linear height-dbh equation.
Array size is total # species.
|
protected |
Intercept of sapling reverse linear height-dbh equation.
Array size is total # species.
|
protected |
Slope of sapling reverse linear height-dbh equation.
Array size is total # species.
|
protected |
Intercept of seedling linear height-dbh equation.
Array size is total # species.
|
protected |
Slope of seedling linear height-dbh equation.
Array size is total # species.
|
protected |
Intercept of seedling reverse linear height-dbh equation.
Array size is total # species.
|
protected |
Slope of seedling reverse linear height-dbh equation.
Array size is total # species.
|
protected |
Slope of asymptotic height.
Array size is total # species.
|
protected |
Slope of the height-diameter at 10 cm conversion relationship.
Array size is total # species.
|
protected |
Function pointer array for the appropriate sapling crown depth-calculating function.
Array size is number of species.
|
protected |
Function pointer array for the appropriate sapling crown radius-calculating function.
Array size is number of species.
|
protected |
Function pointer array for the appropriate sapling DBH-calculating function.
Array size is number of species.
|
protected |
Function pointer array for the appropriate sapling height-calculating function.
Array size is number of species.
|
protected |
Function pointer array for the appropriate seedling diam10-calculating function.
Array size is number of species.
|
protected |
Function pointer array for the appropriate seedling height-calculating function.
Array size is number of species.