clAllometry Class Reference

Allometry Class - Version 2.2 This handles allometric calculations for trees. More...

#include <Allometry.h>

List of all members.

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

Ptr2Allometrymp_AdultHeight
 Function pointer array for the appropriate adult height-calculating function.
Ptr2Allometrymp_AdultDiam
 Function pointer array for the appropriate adult DBH-calculating function.
Ptr2Allometrymp_AdultCrownRad
 Function pointer array for the appropriate adult crown radius-calculating function.
Ptr2Allometrymp_AdultCrownHeight
 Function pointer array for the appropriate adult crown height-calculating function.
Ptr2Allometrymp_SaplingHeight
 Function pointer array for the appropriate sapling height-calculating function.
Ptr2Allometrymp_SaplingDiam
 Function pointer array for the appropriate sapling DBH-calculating function.
Ptr2Allometrymp_SaplingCrownRad
 Function pointer array for the appropriate sapling crown radius-calculating function.
Ptr2Allometrymp_SaplingCrownHeight
 Function pointer array for the appropriate sapling crown height-calculating function.
Ptr2Allometrymp_SeedlingHeight
 Function pointer array for the appropriate seedling height-calculating function.
Ptr2Allometrymp_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.


Detailed Description

Allometry Class - Version 2.2 This handles allometric calculations for trees.

None of these functions check for over or underflow.

Copyright 2005 Charles D. Canham.

Author:
Lora E. Murphy

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)


Member Enumeration Documentation

enum clAllometry::iHeightDiamFunction

Functions for height-diam relationships.

Enumerator:
standard  Old standard function.
linear  Height is a linear function of DBH.
reverse_linear  DBH is a linear function of height.
power  Height is a power function of diam10.

enum clAllometry::iCrownRadDiamFunction

Functions for crown radius-diam relationships.

Enumerator:
standard_cr  Old standard function.
chapman_richards_cr  Chapman-Richards.

enum clAllometry::iCrownHtDiamFunction

Functions for crown height-diam relationships.

Enumerator:
standard_ch  Old standard function.
chapman_richards_ch  Chapman-Richards.


Constructor & Destructor Documentation

clAllometry::clAllometry (  ) 

Constructor.

NULLs pointers.

clAllometry::~clAllometry (  ) 

Destructor.

Frees memory.


Member Function Documentation

void clAllometry::GetData ( xercesc::DOMDocument *  p_oDoc,
clTreePopulation p_oPop 
)

Reads data from the parameter file.

Parameters:
p_oDoc Parsed parameter file document.
p_oPop Tree population object.

float clAllometry::GetMaxTreeHeight ( int  iSpecies  ) 

Gets the maximum tree height.

Parameters:
iSpecies Species for which to get the maximum tree height.
Returns:
Max tree height.
Exceptions:
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.

Parameters:
fDbh DBH in cm for which to calculate tree height.
iSpecies Species of tree for which to calculate height.
Returns:
Height in meters.
Exceptions:
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.

Parameters:
fHeight Height in meters.
iSpecies Species of tree for which to calculate height.
Returns:
DBH in cm.
Exceptions:
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.

Parameters:
fDbh DBH in cm for which to calculate tree height.
iSpecies Species of tree for which to calculate height.
Returns:
Crown radius in meters.
Exceptions:
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.

Parameters:
fHeight Height in meters.
iSpecies Species of tree for which to calculate height.
Returns:
Adult crown height in meters.
Exceptions:
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.

Parameters:
fDbh DBH in cm for which to calculate tree height.
iSpecies Species of tree for which to calculate height.
Returns:
Height in meters.
Exceptions:
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.

Parameters:
fHeight Height in meters.
iSpecies Species of tree for which to calculate height.
Returns:
DBH in cm.
Exceptions:
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.

Parameters:
fDbh DBH in cm for which to calculate tree height.
iSpecies Species of tree for which to calculate height.
Returns:
Crown radius in meters.
Exceptions:
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.

Parameters:
fHeight Height in meters.
iSpecies Species of tree for which to calculate height.
Returns:
Crown height in meters.
Exceptions:
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.

Parameters:
fDiam10 Diameter at 10 cm in cm for which to calculate tree height.
iSpecies Species of tree for which to calculate height.
Returns:
Height in meters.
Exceptions:
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.

Parameters:
fHeight Height in meters.
iSpecies Species of tree for which to calculate height.
Returns:
Diameter at 10 cm in cm.
Exceptions:
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.

Parameters:
fDiam10 Diameter at 10 cm in cm.
iSpecies Species of tree.
Returns:
DBH value in cm.
Exceptions:
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.

Parameters:
fDbh DBH in cm.
iSpecies Species of tree.
Returns:
Diameter at 10 cm value in cm.
Exceptions:
ModelErr If the species isn't recognized.

float clAllometry::GetMaxCrownRadius (  )  [inline]

Gets the maximum possible crown radius.

Returns:
Maximum possible crown radius, in m.

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.

Parameters:
fDbh DBH in cm for which to calculate tree height.
iSpecies Species of tree for which to calculate height.
Returns:
Height in meters.

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.

Parameters:
fDbh DBH in cm for which to calculate tree height.
iSpecies Species of tree for which to calculate height.
Returns:
Height in meters.

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.

Parameters:
fDbh DBH in cm for which to calculate tree height.
iSpecies Species of tree for which to calculate height.
Returns:
Height in meters.

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.

Parameters:
fDbh DBH in cm for which to calculate tree height.
iSpecies Species of tree for which to calculate height.
Returns:
Height in meters.

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.

Parameters:
fDbh DBH in cm for which to calculate tree height.
iSpecies Species of tree for which to calculate height.
Returns:
Height in meters.

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).

Parameters:
fDbh DBH in cm for which to calculate tree height.
iSpecies Species of tree for which to calculate height.
Returns:
Height in meters.

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.

Parameters:
fDiam10 Diameter at 10 cm in cm for which to calculate tree height.
iSpecies Species of tree for which to calculate height.
Returns:
Height in meters.

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.

Parameters:
fDiam10 Diameter at 10 cm in cm for which to calculate tree height.
iSpecies Species of tree for which to calculate height.
Returns:
Height in meters.

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.

Parameters:
fDiam10 Diameter at 10 cm in cm for which to calculate tree height.
iSpecies Species of tree for which to calculate height.
Returns:
Height in meters.

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.

Parameters:
fHeight Height in meters.
iSpecies Species of tree for which to calculate height.
Returns:
DBH in cm.

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.

Parameters:
fHeight Height in meters.
iSpecies Species of tree for which to calculate height.
Returns:
DBH in cm.

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.

Parameters:
fHeight Height in meters.
iSpecies Species of tree for which to calculate height.
Returns:
DBH in cm.

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.

Parameters:
fHeight Height in meters.
iSpecies Species of tree for which to calculate height.
Returns:
DBH in cm.

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.

Parameters:
fHeight Height in meters.
iSpecies Species of tree for which to calculate height.
Returns:
DBH in cm.

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.

Parameters:
fHeight Height in meters.
iSpecies Species of tree for which to calculate height.
Returns:
DBH in cm.

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.

Parameters:
fHeight Height in meters.
iSpecies Species of tree for which to calculate height.
Returns:
Diameter at 10 cm in cm.

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.

Parameters:
fHeight Height in meters.
iSpecies Species of tree for which to calculate height.
Returns:
DBH in cm.

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.

Parameters:
fHeight Height in meters.
iSpecies Species of tree for which to calculate height.
Returns:
DBH in cm.

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.

Parameters:
fDbh DBH in cm for which to calculate tree height.
iSpecies Species of tree for which to calculate height.
Returns:
Crown radius in meters, up to a maximum value of m_fMaxStdCrownRad.

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.

Parameters:
fDbh DBH in cm for which to calculate tree height.
iSpecies Species of tree for which to calculate height.
Returns:
Crown radius in meters.

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.

Parameters:
fHeight Height in meters.
iSpecies Species of tree for which to calculate height.
Returns:
Adult crown height in meters.
Exceptions:
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.

Parameters:
fHeight Height in meters.
iSpecies Species of tree for which to calculate height.
Returns:
Crown radius in meters.


Member Data Documentation

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.


The documentation for this class was generated from the following file:
Generated on Thu May 24 09:30:41 2007 for SORTIE Core C++ Documentation by  doxygen 1.5.2