#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.
|
Functions for crown height-diam relationships.
|
|
Functions for crown radius-diam relationships.
|
|
Functions for height-diam relationships.
|
|
Constructor. NULLs pointers. |
|
Destructor. Frees memory. |
|
Calculates adult crown height according to the adult allometry equation for the species.
|
|
Calculates crown radius according to the adult crown radius-DBH equation for the species.
|
|
Calculates DBH according to the adult DBH-height relationship for the given species.
|
|
Calculates height according to the adult DBH-height relationship for the given species.
|
|
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.
|
|
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.
|
|
Calculates DBH from height according to the linear function.
This equation is:
|
|
Calculates height from DBH according to the linear function.
This equation is:
|
|
Calculates DBH from height according to the linear function.
This equation is:
|
|
Calculates height from DBH according to the linear function.
This equation is:
|
|
Calculates height from diameter at 10 according to the linear function.
This equation is:
|
|
Calculates height from diameter at 10 cm according to the linear function.
This equation is:
|
|
Calculates DBH from height according to the reverse linear function.
This equation is:
|
|
Calculates height from DBH according to the power function.
This equation is:
|
|
Calculates DBH from height according to the reverse linear function.
This equation is:
|
|
Calculates height from DBH according to the reverse linear function.
This equation is:
|
|
Calculates DBH from height according to the reverse linear function.
This equation is:
|
|
Calculates height from DBH according to the reverse linear function.
This equation is:
|
|
Calculates height from DBH according to the reverse linear function.
This equation is:
|
|
Calculates height from diameter at 10 cm according to the reverse linear function.
This equation is:
|
|
Calculates crown height according to the sapling allometry equation for the species.
|
|
Calculates crown radius according to the sapling DBH-crown radius relationship for the given species.
|
|
Calculates DBH according to the sapling DBH-height relationship for the given species.
|
|
Calculates height according to the sapling DBH-height relationship for the given species.
|
|
Calculates diameter at 10 cm according to the seedling diam10-height relationship for the given species.
|
|
Calculates height according to the seedling diam10-height relationship for the given species.
|
|
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.
|
|
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.
|
|
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.
|
|
Calculates height from DBH according to the standard sapling-adult allometry function.
This equation is:
|
|
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.
|
|
Calculates height according to standard seedling diam10-height allometry equation.
This equation is:
|
|
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.
|
|
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.
|
|
Reads data from the parameter file.
|
|
Gets the maximum possible crown radius.
|
|
Gets the maximum tree height.
|
|
Function pointer array for the appropriate adult crown height-calculating function. Array size is number of species. |
|
Function pointer array for the appropriate adult crown radius-calculating function. Array size is number of species. |
|
Function pointer array for the appropriate adult DBH-calculating function. Array size is number of species. |
|
Function pointer array for the appropriate adult height-calculating function. Array size is number of species. |
|
Intercept of adult linear height-dbh equation. Array size is total # species. |
|
Slope of adult linear height-dbh equation. Array size is total # species. |
|
Intercept of adult reverse linear height-dbh equation. Array size is total # species. |
|
Slope of adult reverse linear height-dbh equation. Array size is total # species. |
|
Asymptotic crown height. Array size is total # species. |
|
Asymptotic crown radius. Array size is total # species. |
|
Asymptotic crown height for the Chapman-Richards equation. Array size is total # species. |
|
Asymptotic crown radius for the Chapman-Richards equation. Array size is total # species. |
|
Crown height intercept for the Chapman-Richards equation. Array size is total # species. |
|
Chapman-Richards crown height equation shape parameter 1. Array size is total # species. |
|
Chapman-Richards crown height equation shape parameter 2. Array size is total # species. |
|
Crown radius intercept for the Chapman-Richards equation. Array size is total # species. |
|
Chapman-Richards crown radius equation shape parameter 1. Array size is total # species. |
|
Chapman-Richards crown radius equation shape parameter 2. Array size is total # species. |
|
Crown height exponent. Array size is total # species. |
|
Crown radius exponent. Array size is total # species. |
|
Intercept of DBH to diameter at 10 cm. For converting from one to the other. Array size is total # species. |
|
Slope of DBH to diameter at 10 cm. For converting from one to the other. Array size is total # species. |
|
Tree maximum height for each species. Array size is total # species. Values are required for all species. |
|
Power function a parameter. Array size is total # species. |
|
Power function b parameter (exponent). Array size is total # species. |
|
Intercept of sapling linear height-dbh equation. Array size is total # species. |
|
Slope of sapling linear height-dbh equation. Array size is total # species. |
|
Intercept of sapling reverse linear height-dbh equation. Array size is total # species. |
|
Slope of sapling reverse linear height-dbh equation. Array size is total # species. |
|
Intercept of seedling linear height-dbh equation. Array size is total # species. |
|
Slope of seedling linear height-dbh equation. Array size is total # species. |
|
Intercept of seedling reverse linear height-dbh equation. Array size is total # species. |
|
Slope of seedling reverse linear height-dbh equation. Array size is total # species. |
|
Slope of asymptotic height. Array size is total # species. |
|
Slope of the height-diameter at 10 cm conversion relationship. Array size is total # species. |
|
Function pointer array for the appropriate sapling crown height-calculating function. Array size is number of species. |
|
Function pointer array for the appropriate sapling crown radius-calculating function. Array size is number of species. |
|
Function pointer array for the appropriate sapling DBH-calculating function. Array size is number of species. |
|
Function pointer array for the appropriate sapling height-calculating function. Array size is number of species. |
|
Function pointer array for the appropriate seedling diam10-calculating function. Array size is number of species. |
|
Function pointer array for the appropriate seedling height-calculating function. Array size is number of species. |