#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. |
1.4.6-NO