#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 } |
Functions for crown radius-diam relationships. More... | |
enum | iCrownHtDiamFunction { standard_ch, chapman_richards_ch } |
Functions for crown height-diam relationships. More... | |
Public Member Functions | |
clAllometry () | |
Constructor. | |
~clAllometry () | |
Destructor. | |
void | GetData (xercesc::DOMDocument *p_oDoc, clTreePopulation *p_oPop) |
Reads data from the parameter file. | |
float | GetMaxTreeHeight (int iSpecies) |
Gets the maximum tree height. | |
float | CalcAdultHeight (const float &fDbh, const int &iSpecies) |
Calculates height according to the adult DBH-height relationship for the given species. | |
float | CalcAdultDbh (float fHeight, const int &iSpecies) |
Calculates DBH according to the adult DBH-height relationship for the given species. | |
float | CalcAdultCrownRadius (const float &fDbh, const int &iSpecies) |
Calculates crown radius according to the adult crown radius-DBH equation for the species. | |
float | CalcAdultCrownHeight (float fHeight, const int &iSpecies) |
Calculates adult crown height according to the adult allometry equation for the species. | |
float | CalcSaplingHeight (const float &fDbh, const int &iSpecies) |
Calculates height according to the sapling DBH-height relationship for the given species. | |
float | CalcSaplingDbh (float fHeight, const int &iSpecies) |
Calculates DBH according to the sapling DBH-height relationship for the given species. | |
float | CalcSaplingCrownRadius (const float &fDbh, const int &iSpecies) |
Calculates crown radius according to the sapling DBH-crown radius relationship for the given species. | |
float | CalcSaplingCrownHeight (float fHeight, const int &iSpecies) |
Calculates crown height according to the sapling allometry equation for the species. | |
float | CalcSeedlingHeight (float fDiam10, const int &iSpecies) |
Calculates height according to the seedling diam10-height relationship for the given species. | |
float | CalcSeedlingDiam10 (float fHeight, const int &iSpecies) |
Calculates diameter at 10 cm according to the seedling diam10-height relationship for the given species. | |
float | ConvertDiam10ToDbh (float fDiam10, const int &iSpecies) |
Converts a diameter at 10 cm value to a DBH. | |
float | ConvertDbhToDiam10 (const float &fDbh, const int &iSpecies) |
Converts a DBH value to a diameter at 10 cm value. | |
float | GetMaxCrownRadius () |
Gets the maximum possible crown radius. | |
Protected Types | |
typedef float(clAllometry::*) | Ptr2Allometry (const float &, const int &) |
Typedef to all allometry calculating functions. | |
Protected Member Functions | |
float | CalcStandardSapAdultHeight (const float &fDbh, const int &iSpecies) |
Calculates height from DBH according to the standard sapling-adult allometry function. | |
float | CalcLinearAdultHeight (const float &fDbh, const int &iSpecies) |
Calculates height from DBH according to the linear function. | |
float | CalcReverseLinearAdultHeight (const float &fDbh, const int &iSpecies) |
Calculates height from DBH according to the reverse linear function. | |
float | CalcLinearSaplingHeight (const float &fDbh, const int &iSpecies) |
Calculates height from DBH according to the linear function. | |
float | CalcReverseLinearSaplingHeight (const float &fDbh, const int &iSpecies) |
Calculates height from DBH according to the reverse linear function. | |
float | CalcPowerSaplingHeight (const float &fDbh, const int &iSpecies) |
Calculates height from DBH according to the power function. | |
float | CalcStandardSeedlingHeight (const float &fDiam10, const int &iSpecies) |
Calculates height according to standard seedling diam10-height allometry equation. | |
float | CalcLinearSeedlingHeight (const float &fDiam10, const int &iSpecies) |
Calculates height from diameter at 10 cm according to the linear function. | |
float | CalcReverseLinearSeedlingHeight (const float &fDiam10, const int &iSpecies) |
Calculates height from diameter at 10 cm according to the reverse linear function. | |
float | CalcStandardSapAdultDbh (const float &fHeight, const int &iSpecies) |
Calculates DBH from height according to the standard sapling-adult allometry function. | |
float | CalcLinearAdultDbh (const float &fHeight, const int &iSpecies) |
Calculates DBH from height according to the linear function. | |
float | CalcReverseLinearAdultDbh (const float &fHeight, const int &iSpecies) |
Calculates DBH from height according to the reverse linear function. | |
float | CalcLinearSaplingDbh (const float &fHeight, const int &iSpecies) |
Calculates DBH from height according to the linear function. | |
float | CalcReverseLinearSaplingDbh (const float &fHeight, const int &iSpecies) |
Calculates DBH from height according to the reverse linear function. | |
float | CalcPowerSaplingDbh (const float &fHeight, const int &iSpecies) |
Calculates DBH from height according to the reverse linear function. | |
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). | |
float | CalcLinearSeedlingDiam10 (const float &fHeight, const int &iSpecies) |
Calculates height from diameter at 10 according to the linear function. | |
float | CalcReverseLinearSeedlingDiam10 (const float &fHeight, const int &iSpecies) |
Calculates height from DBH according to the reverse linear function. | |
float | CalcStandardSapAdultCrownRad (const float &fDbh, const int &iSpecies) |
Calculates crown radius according to the standard equation. | |
float | CalcChapRichSapAdultCrownRad (const float &fDbh, const int &iSpecies) |
Calculates adult crown radius using the Chapman-Richards equation. | |
float | CalcStandardSapAdultCrownHeight (const float &fHeight, const int &iSpecies) |
Calculates crown height according to the standard equation. | |
float | CalcChapRichSapAdultCrownHeight (const float &fHeight, const int &iSpecies) |
Calculates crown height using the Chapman-Richards equation. | |
Protected Attributes | |
Ptr2Allometry * | mp_AdultHeight |
Function pointer array for the appropriate adult height-calculating function. | |
Ptr2Allometry * | mp_AdultDiam |
Function pointer array for the appropriate adult DBH-calculating function. | |
Ptr2Allometry * | mp_AdultCrownRad |
Function pointer array for the appropriate adult crown radius-calculating function. | |
Ptr2Allometry * | mp_AdultCrownHeight |
Function pointer array for the appropriate adult crown height-calculating function. | |
Ptr2Allometry * | mp_SaplingHeight |
Function pointer array for the appropriate sapling height-calculating function. | |
Ptr2Allometry * | mp_SaplingDiam |
Function pointer array for the appropriate sapling DBH-calculating function. | |
Ptr2Allometry * | mp_SaplingCrownRad |
Function pointer array for the appropriate sapling crown radius-calculating function. | |
Ptr2Allometry * | mp_SaplingCrownHeight |
Function pointer array for the appropriate sapling crown height-calculating function. | |
Ptr2Allometry * | mp_SeedlingHeight |
Function pointer array for the appropriate seedling height-calculating function. | |
Ptr2Allometry * | mp_SeedlingDiam |
Function pointer array for the appropriate seedling diam10-calculating function. | |
float * | mp_fMaxTreeHeight |
Tree maximum height for each species. | |
float * | mp_fAsympCrownRad |
Asymptotic crown radius. | |
float * | mp_fCrownRadExp |
Crown radius exponent. | |
float * | mp_fDbhToDiam10Slope |
Slope of DBH to diameter at 10 cm. | |
float * | mp_fDbhToDiam10Intercept |
Intercept of DBH to diameter at 10 cm. | |
float * | mp_fAsympCrownHeight |
Asymptotic crown height. | |
float * | mp_fCrownHeightExp |
Crown height exponent. | |
float * | mp_fSlopeHeightDiam10 |
Slope of the height-diameter at 10 cm conversion relationship. | |
float * | mp_fSlopeAsympHeight |
Slope of asymptotic height. | |
float * | mp_fAdultLinearSlope |
Slope of adult linear height-dbh equation. | |
float * | mp_fAdultLinearIntercept |
Intercept of adult linear height-dbh equation. | |
float * | mp_fAdultReverseLinearSlope |
Slope of adult reverse linear height-dbh equation. | |
float * | mp_fAdultReverseLinearIntercept |
Intercept of adult reverse linear height-dbh equation. | |
float * | mp_fSaplingLinearSlope |
Slope of sapling linear height-dbh equation. | |
float * | mp_fSaplingLinearIntercept |
Intercept of sapling linear height-dbh equation. | |
float * | mp_fSaplingReverseLinearSlope |
Slope of sapling reverse linear height-dbh equation. | |
float * | mp_fSaplingReverseLinearIntercept |
Intercept of sapling reverse linear height-dbh equation. | |
float * | mp_fSeedlingLinearSlope |
Slope of seedling linear height-dbh equation. | |
float * | mp_fSeedlingLinearIntercept |
Intercept of seedling linear height-dbh equation. | |
float * | mp_fSeedlingReverseLinearSlope |
Slope of seedling reverse linear height-dbh equation. | |
float * | mp_fSeedlingReverseLinearIntercept |
Intercept of seedling reverse linear height-dbh equation. | |
float * | mp_fCRCrownRadIntercept |
Crown radius intercept for the Chapman-Richards equation. | |
float * | mp_fCRAsympCrownRad |
Asymptotic crown radius for the Chapman-Richards equation. | |
float * | mp_fCRCrownRadShape1 |
Chapman-Richards crown radius equation shape parameter 1. | |
float * | mp_fCRCrownRadShape2 |
Chapman-Richards crown radius equation shape parameter 2. | |
float * | mp_fCRCrownHtIntercept |
Crown height intercept for the Chapman-Richards equation. | |
float * | mp_fCRAsympCrownHt |
Asymptotic crown height for the Chapman-Richards equation. | |
float * | mp_fCRCrownHtShape1 |
Chapman-Richards crown height equation shape parameter 1. | |
float * | mp_fCRCrownHtShape2 |
Chapman-Richards crown height equation shape parameter 2. | |
float * | mp_fPowerA |
Power function a parameter. | |
float * | mp_fPowerExpB |
Power function b parameter (exponent). | |
float | m_fMaxStdCrownRad |
Max crown radius for standard equation. | |
float | m_fMaxCrownRad |
Maximum possible crown radius. | |
int | m_iNumSpecies |
Total number of species. |
None of these functions check for over or underflow.
Copyright 2005 Charles D. Canham.
clAllometry::clAllometry | ( | ) |
Constructor.
NULLs pointers.
clAllometry::~clAllometry | ( | ) |
Destructor.
Frees memory.
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. |
float 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. |
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. |
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 height. |
ModelErr | If the species isn't recognized or if the height is greater than the maximum height for the species. |
float clAllometry::CalcAdultCrownRadius | ( | const float & | fDbh, | |
const int & | iSpecies | |||
) |
Calculates crown radius according to the adult crown radius-DBH equation for the 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::CalcAdultCrownHeight | ( | float | fHeight, | |
const int & | iSpecies | |||
) |
Calculates adult crown height according to the adult allometry equation for the species.
fHeight | Height in meters. | |
iSpecies | Species of tree for which to calculate height. |
ModelErr | If the species isn't recognized. |
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::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::CalcSaplingCrownRadius | ( | const float & | fDbh, | |
const int & | iSpecies | |||
) |
Calculates crown radius according to the sapling DBH-crown radius 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::CalcSaplingCrownHeight | ( | float | fHeight, | |
const int & | iSpecies | |||
) |
Calculates crown height according to the sapling allometry equation for the species.
fHeight | Height in meters. | |
iSpecies | Species of tree for which to calculate height. |
ModelErr | If the species isn't recognized. |
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. |
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::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. |
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::GetMaxCrownRadius | ( | ) | [inline] |
Gets the maximum possible crown radius.
float clAllometry::CalcStandardSapAdultHeight | ( | const float & | fDbh, | |
const int & | iSpecies | |||
) | [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. |
float clAllometry::CalcLinearAdultHeight | ( | const float & | fDbh, | |
const int & | iSpecies | |||
) | [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. |
float clAllometry::CalcReverseLinearAdultHeight | ( | const float & | fDbh, | |
const int & | iSpecies | |||
) | [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. |
float clAllometry::CalcLinearSaplingHeight | ( | const float & | fDbh, | |
const int & | iSpecies | |||
) | [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. |
float clAllometry::CalcReverseLinearSaplingHeight | ( | const float & | fDbh, | |
const int & | iSpecies | |||
) | [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. |
float clAllometry::CalcPowerSaplingHeight | ( | const float & | fDbh, | |
const int & | iSpecies | |||
) | [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. |
float clAllometry::CalcStandardSeedlingHeight | ( | const float & | fDiam10, | |
const int & | iSpecies | |||
) | [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::CalcLinearSeedlingHeight | ( | const float & | fDiam10, | |
const int & | iSpecies | |||
) | [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. |
float clAllometry::CalcReverseLinearSeedlingHeight | ( | const float & | fDiam10, | |
const int & | iSpecies | |||
) | [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::CalcStandardSapAdultDbh | ( | const float & | fHeight, | |
const int & | iSpecies | |||
) | [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. |
float clAllometry::CalcLinearAdultDbh | ( | const float & | fHeight, | |
const int & | iSpecies | |||
) | [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. |
float clAllometry::CalcReverseLinearAdultDbh | ( | const float & | fHeight, | |
const int & | iSpecies | |||
) | [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. |
float clAllometry::CalcLinearSaplingDbh | ( | const float & | fHeight, | |
const int & | iSpecies | |||
) | [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. |
float clAllometry::CalcReverseLinearSaplingDbh | ( | const float & | fHeight, | |
const int & | iSpecies | |||
) | [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. |
float clAllometry::CalcPowerSaplingDbh | ( | const float & | fHeight, | |
const int & | iSpecies | |||
) | [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. |
float clAllometry::CalcStandardSeedlingDiam10 | ( | const float & | fHeight, | |
const int & | iSpecies | |||
) | [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. |
float clAllometry::CalcLinearSeedlingDiam10 | ( | const float & | fHeight, | |
const int & | iSpecies | |||
) | [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. |
float clAllometry::CalcReverseLinearSeedlingDiam10 | ( | const float & | fHeight, | |
const int & | iSpecies | |||
) | [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. |
float clAllometry::CalcStandardSapAdultCrownRad | ( | const float & | fDbh, | |
const int & | iSpecies | |||
) | [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.
fDbh | DBH in cm for which to calculate tree height. | |
iSpecies | Species of tree for which to calculate height. |
float clAllometry::CalcChapRichSapAdultCrownRad | ( | const float & | fDbh, | |
const int & | iSpecies | |||
) | [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.
fDbh | DBH in cm for which to calculate tree height. | |
iSpecies | Species of tree for which to calculate height. |
float clAllometry::CalcStandardSapAdultCrownHeight | ( | const float & | fHeight, | |
const int & | iSpecies | |||
) | [protected] |
Calculates crown height according to the standard equation.
This equation is: CH = C2 * Height a where CH is the height of the crown in meters, C2 is the asymptotic crown height, Height is the tree's height in meters, and a is the crown height exponent.
fHeight | Height in meters. | |
iSpecies | Species of tree for which to calculate height. |
ModelErr | If the species isn't recognized. |
float clAllometry::CalcChapRichSapAdultCrownHeight | ( | const float & | fHeight, | |
const int & | iSpecies | |||
) | [protected] |
Calculates crown height using the Chapman-Richards equation.
This equation is: CH = i + a * (1 - exp(-b * H)) 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 m_fMaxStdCrownRad like the standard equation is.
fHeight | Height in meters. | |
iSpecies | Species of tree for which to calculate height. |
Ptr2Allometry* clAllometry::mp_AdultHeight [protected] |
Function pointer array for the appropriate adult height-calculating function.
Array size is number of species.
Ptr2Allometry* clAllometry::mp_AdultDiam [protected] |
Function pointer array for the appropriate adult DBH-calculating function.
Array size is number of species.
Ptr2Allometry* clAllometry::mp_AdultCrownRad [protected] |
Function pointer array for the appropriate adult crown radius-calculating function.
Array size is number of species.
Ptr2Allometry* clAllometry::mp_AdultCrownHeight [protected] |
Function pointer array for the appropriate adult crown height-calculating function.
Array size is number of species.
Ptr2Allometry* clAllometry::mp_SaplingHeight [protected] |
Function pointer array for the appropriate sapling height-calculating function.
Array size is number of species.
Ptr2Allometry* clAllometry::mp_SaplingDiam [protected] |
Function pointer array for the appropriate sapling DBH-calculating function.
Array size is number of species.
Ptr2Allometry* clAllometry::mp_SaplingCrownRad [protected] |
Function pointer array for the appropriate sapling crown radius-calculating function.
Array size is number of species.
Ptr2Allometry* clAllometry::mp_SaplingCrownHeight [protected] |
Function pointer array for the appropriate sapling crown height-calculating function.
Array size is number of species.
Ptr2Allometry* clAllometry::mp_SeedlingHeight [protected] |
Function pointer array for the appropriate seedling height-calculating function.
Array size is number of species.
Ptr2Allometry* clAllometry::mp_SeedlingDiam [protected] |
Function pointer array for the appropriate seedling diam10-calculating function.
Array size is number of species.
float* clAllometry::mp_fMaxTreeHeight [protected] |
Tree maximum height for each species.
Array size is total # species. Values are required for all species.
float* clAllometry::mp_fAsympCrownRad [protected] |
Asymptotic crown radius.
Array size is total # species.
float* clAllometry::mp_fCrownRadExp [protected] |
Crown radius exponent.
Array size is total # species.
float* clAllometry::mp_fDbhToDiam10Slope [protected] |
Slope of DBH to diameter at 10 cm.
For converting from one to the other. Array size is total # species.
float* clAllometry::mp_fDbhToDiam10Intercept [protected] |
Intercept of DBH to diameter at 10 cm.
For converting from one to the other. Array size is total # species.
float* clAllometry::mp_fAsympCrownHeight [protected] |
Asymptotic crown height.
Array size is total # species.
float* clAllometry::mp_fCrownHeightExp [protected] |
Crown height exponent.
Array size is total # species.
float* clAllometry::mp_fSlopeHeightDiam10 [protected] |
Slope of the height-diameter at 10 cm conversion relationship.
Array size is total # species.
float* clAllometry::mp_fSlopeAsympHeight [protected] |
Slope of asymptotic height.
Array size is total # species.
float* clAllometry::mp_fAdultLinearSlope [protected] |
Slope of adult linear height-dbh equation.
Array size is total # species.
float* clAllometry::mp_fAdultLinearIntercept [protected] |
Intercept of adult linear height-dbh equation.
Array size is total # species.
float* clAllometry::mp_fAdultReverseLinearSlope [protected] |
Slope of adult reverse linear height-dbh equation.
Array size is total # species.
float* clAllometry::mp_fAdultReverseLinearIntercept [protected] |
Intercept of adult reverse linear height-dbh equation.
Array size is total # species.
float* clAllometry::mp_fSaplingLinearSlope [protected] |
Slope of sapling linear height-dbh equation.
Array size is total # species.
float* clAllometry::mp_fSaplingLinearIntercept [protected] |
Intercept of sapling linear height-dbh equation.
Array size is total # species.
float* clAllometry::mp_fSaplingReverseLinearSlope [protected] |
Slope of sapling reverse linear height-dbh equation.
Array size is total # species.
float* clAllometry::mp_fSaplingReverseLinearIntercept [protected] |
Intercept of sapling reverse linear height-dbh equation.
Array size is total # species.
float* clAllometry::mp_fSeedlingLinearSlope [protected] |
Slope of seedling linear height-dbh equation.
Array size is total # species.
float* clAllometry::mp_fSeedlingLinearIntercept [protected] |
Intercept of seedling linear height-dbh equation.
Array size is total # species.
float* clAllometry::mp_fSeedlingReverseLinearSlope [protected] |
Slope of seedling reverse linear height-dbh equation.
Array size is total # species.
float* clAllometry::mp_fSeedlingReverseLinearIntercept [protected] |
Intercept of seedling reverse linear height-dbh equation.
Array size is total # species.
float* clAllometry::mp_fCRCrownRadIntercept [protected] |
Crown radius intercept for the Chapman-Richards equation.
Array size is total # species.
float* clAllometry::mp_fCRAsympCrownRad [protected] |
Asymptotic crown radius for the Chapman-Richards equation.
Array size is total # species.
float* clAllometry::mp_fCRCrownRadShape1 [protected] |
Chapman-Richards crown radius equation shape parameter 1.
Array size is total # species.
float* clAllometry::mp_fCRCrownRadShape2 [protected] |
Chapman-Richards crown radius equation shape parameter 2.
Array size is total # species.
float* clAllometry::mp_fCRCrownHtIntercept [protected] |
Crown height intercept for the Chapman-Richards equation.
Array size is total # species.
float* clAllometry::mp_fCRAsympCrownHt [protected] |
Asymptotic crown height for the Chapman-Richards equation.
Array size is total # species.
float* clAllometry::mp_fCRCrownHtShape1 [protected] |
Chapman-Richards crown height equation shape parameter 1.
Array size is total # species.
float* clAllometry::mp_fCRCrownHtShape2 [protected] |
Chapman-Richards crown height equation shape parameter 2.
Array size is total # species.
float* clAllometry::mp_fPowerA [protected] |
Power function a parameter.
Array size is total # species.
float* clAllometry::mp_fPowerExpB [protected] |
Power function b parameter (exponent).
Array size is total # species.