GCBM
Public Member Functions | Private Member Functions | Private Attributes | List of all members
ESGYMModule Class Reference

#include <esgymmodule.h>

Inheritance diagram for ESGYMModule:
Inheritance graph
Collaboration diagram for ESGYMModule:
Collaboration graph

Public Member Functions

 ESGYMModule ()
 
virtual ~ESGYMModule ()
 
void configure (const DynamicObject &config) override
 
void subscribe (NotificationCenter &notificationCenter) override
 
flint::ModuleTypes moduleType () override
 
void doLocalDomainInit () override
 
void doTimingInit () override
 
void doTimingStep () override
 
- Public Member Functions inherited from CBMModuleBase
virtual ~CBMModuleBase ()=default
 
void onSystemInit () override
 
void onSystemShutdown () override
 
void onLocalDomainInit () override
 
void onLocalDomainShutdown () override
 
void onLocalDomainProcessingUnitInit () override
 
void onLocalDomainProcessingUnitShutdown () override
 
void onPreTimingSequence () override
 
void onTimingInit () override
 
void onTimingPrePostInit () override
 
void onTimingPostInit () override
 
void onTimingPostInit2 () override
 
void onTimingShutdown () override
 
void onTimingStep () override
 
void onTimingPreEndStep () override
 
void onTimingEndStep () override
 
void onTimingPostStep () override
 
void onOutputStep () override
 
void onPrePostDisturbanceEvent () override
 
void onPostDisturbanceEvent () override
 
void onPostDisturbanceEvent2 () override
 
void onError (std::string msg) override
 
void onDisturbanceEvent (DynamicVar e) override
 
void onPostNotification (short preMessageSignal) override
 
virtual void doSystemInit ()
 
virtual void doSystemShutdown ()
 
virtual void doLocalDomainShutdown ()
 
virtual void doLocalDomainProcessingUnitInit ()
 
virtual void doLocalDomainProcessingUnitShutdown ()
 
virtual void doPreTimingSequence ()
 
virtual void doTimingPrePostInit ()
 
virtual void doTimingPostInit ()
 
virtual void doTimingPostInit2 ()
 
virtual void doTimingShutdown ()
 
virtual void doTimingPreEndStep ()
 
virtual void doTimingEndStep ()
 
virtual void doTimingPostStep ()
 
virtual void doOutputStep ()
 
virtual void doError (std::string msg)
 
virtual void doDisturbanceEvent (DynamicVar)
 
virtual void doPrePostDisturbanceEvent ()
 
virtual void doPostDisturbanceEvent ()
 
virtual void doPostDisturbanceEvent2 ()
 
virtual void doPostNotification (short preMessageSignal)
 

Private Member Functions

void doTurnover (double M) const
 
void updateBiomassPools ()
 
bool shouldRun () const
 
float ExtractRasterValue (const std::string name)
 
double ComputeComponentGrowth (double predictor, double b0, double b1, double b2)
 
double StandBiomassModifier (double standBio, double standBio_mu, double standBio_sig, double LamBs)
 
double GrowthAndMortality (int age, double B1, double B2, double B3, double B4, double B5, double b1, double b2, double eeq_n, double eeq_mu, double eeq_sig, double dwf_n, double dwf_mu, double dwf_sig)
 
double EnvironmentalModifier (double B_dwf, double B_dwf_mu, double B_dwf_sig, double dwf_a, double B_rswd, double B_rswd_mu, double B_rswd_sig, double rswd_a, double B_tmean, double B_tmean_mu, double B_tmean_sig, double tmean_a, double B_vpd, double B_vpd_mu, double B_vpd_sig, double vpd_a, double B_eeq, double B_eeq_mu, double B_eeq_sig, double eeq_a, double B_ws, double B_ws_mu, double B_ws_sig, double ws_a, double B_ndep, double B_ndep_mu, double B_ndep_sig, double ndep, double B_ca, double B_ca_mu, double B_ca_sig, double ca)
 

Private Attributes

const flint::IPool * _softwoodMerch
 
const flint::IPool * _softwoodOther
 
const flint::IPool * _softwoodFoliage
 
const flint::IPool * _softwoodCoarseRoots
 
const flint::IPool * _softwoodFineRoots
 
const flint::IPool * _hardwoodMerch
 
const flint::IPool * _hardwoodOther
 
const flint::IPool * _hardwoodFoliage
 
const flint::IPool * _hardwoodCoarseRoots
 
const flint::IPool * _hardwoodFineRoots
 
const flint::IPool * _aboveGroundVeryFastSoil
 
const flint::IPool * _aboveGroundFastSoil
 
const flint::IPool * _belowGroundVeryFastSoil
 
const flint::IPool * _belowGroundFastSoil
 
const flint::IPool * _softwoodStemSnag
 
const flint::IPool * _softwoodBranchSnag
 
const flint::IPool * _hardwoodStemSnag
 
const flint::IPool * _hardwoodBranchSnag
 
const flint::IPool * _mediumSoil
 
const flint::IPool * _atmosphere
 
flint::IVariable * _age
 
flint::IVariable * _turnoverRates
 
flint::IVariable * _regenDelay
 
flint::IVariable * _currentLandClass
 
flint::IVariable * _isForest
 
flint::IVariable * _cbm_species_id
 
flint::IVariable * _standSPUID
 
std::shared_ptr< SoftwoodRootBiomassEquationSWRootBio
 
std::shared_ptr< HardwoodRootBiomassEquationHWRootBio
 
DynamicObject growth_esgym_fixed_effects
 
std::map< moja::Int64, DynamicObject > growth_esgym_species_specific_effects
 
DynamicObject mortality_esgym_fixed_effects
 
std::map< moja::Int64, DynamicObject > mortality_esgym_species_specific_effects
 
DynamicObject growth_esgym_environmental_effects
 
DynamicObject mortality_esgym_environmental_effects
 
DynamicObject mean_esgym_environmental_effects
 
DynamicObject stddev_esgym_environmental_effects
 
DynamicObject foliageAllocationParameters
 
DynamicObject branchAllocationParameters
 
DynamicObject standBiomassModifierParameters
 
DynamicObject environmentalDescriptiveStatistics
 
DynamicObject topStumpParameters
 
std::map< int, double > co2Concentrations
 
double _softwoodFoliageFallRate
 
double _hardwoodFoliageFallRate
 
double _stemAnnualTurnOverRate
 
double _softwoodBranchTurnOverRate
 
double _hardwoodBranchTurnOverRate
 
double _otherToBranchSnagSplit
 
double _stemSnagTurnoverRate
 
double _branchSnagTurnoverRate
 
double _coarseRootSplit
 
double _coarseRootTurnProp
 
double _fineRootAGSplit
 
double _fineRootTurnProp
 
double swm
 
double swo
 
double swf
 
double hwm
 
double hwo
 
double hwf
 
double swcr
 
double swfr
 
double hwcr
 
double hwfr
 
double standSoftwoodMerch
 
double standSoftwoodOther
 
double standSoftwoodFoliage
 
double standSWCoarseRootsCarbon
 
double standSWFineRootsCarbon
 
double standHardwoodMerch
 
double standHardwoodOther
 
double standHardwoodFoliage
 
double standHWCoarseRootsCarbon
 
double standHWFineRootsCarbon
 
double softwoodStemSnag
 
double softwoodBranchSnag
 
double hardwoodStemSnag
 
double hardwoodBranchSnag
 

Constructor & Destructor Documentation

◆ ESGYMModule()

◆ ~ESGYMModule()

virtual ~ESGYMModule ( )
virtual

Member Function Documentation

◆ ComputeComponentGrowth()

double ComputeComponentGrowth ( double  predictor,
double  b0,
double  b1,
double  b2 
)
private

◆ configure()

void configure ( const DynamicObject &  config)
override

Configuration function

Returns
void

◆ doLocalDomainInit()

void doLocalDomainInit ( )
overridevirtual

Reimplemented from CBMModuleBase.

◆ doTimingInit()

void doTimingInit ( )
overridevirtual

Reimplemented from CBMModuleBase.

◆ doTimingStep()

void doTimingStep ( )
overridevirtual

Reimplemented from CBMModuleBase.

◆ doTurnover()

void doTurnover ( double  M) const
private

◆ EnvironmentalModifier()

double EnvironmentalModifier ( double  B_dwf,
double  B_dwf_mu,
double  B_dwf_sig,
double  dwf_a,
double  B_rswd,
double  B_rswd_mu,
double  B_rswd_sig,
double  rswd_a,
double  B_tmean,
double  B_tmean_mu,
double  B_tmean_sig,
double  tmean_a,
double  B_vpd,
double  B_vpd_mu,
double  B_vpd_sig,
double  vpd_a,
double  B_eeq,
double  B_eeq_mu,
double  B_eeq_sig,
double  eeq_a,
double  B_ws,
double  B_ws_mu,
double  B_ws_sig,
double  ws_a,
double  B_ndep,
double  B_ndep_mu,
double  B_ndep_sig,
double  ndep,
double  B_ca,
double  B_ca_mu,
double  B_ca_sig,
double  ca 
)
private

accounts for transient environmental effects

Parameters
B_dwfindependent variable days without frost [d yr^-1]
B_dwf_muindependent variable mean days without frost [d yr^-1]
B_dwf_sigindependent variable stddev days without frost [d yr^-1]
dwf_aclimate variable anomaly days without frost [d yr^-1]
B_rswdindependent variable Growing season mean downward solar radiation [W m^-2]
B_rswd_muindependent variable mean Growing season mean downward solar radiation [W m^-2]
B_rswd_sigindependent variable stddev Growing season mean downward solar radiation [W m^-2]
rswd_aclimate variable anomaly Growing season mean downward solar radiation [W m^-2]
B_tmeanindependent variable Warm-season mean air temperature [deg C]
B_tmean_muindependent variable mean Warm-season mean air temperature [deg C]
B_tmean_sigindependent variable stddev Warm-season mean air temperature [deg C]
tmean_aclimate variable anomaly Warm-season mean air temperature [deg C]
B_vpdindependent variable Warm-season vapour pressure deficit [hPa]
B_vpd_muindependent variable mean Warm-season vapour pressure deficit [hPa]
B_vpd_sigindependent variable stddev Warm-season vapour pressure deficit [hPa]
vpd_aclimate variable anomaly Warm-season vapour pressure deficit [hPa]
B_eeqindependent variable equilibrium evaporation [mm d^-1]
B_eeq_muindependent variable mean equilibrium evaporation [mm d^-1]
B_eeq_sigindependent variable stddev stddev equilibrium evaporation [mm d^-1]
eeq_aclimate variable anomaly equilibrium evaporation [mm d^-1]
B_wsindependent variable Warm-season soil water content [mm]
B_ws_muindependent variable mean Warm-season soil water content [mm]
B_ws_sigindependent variable stddev Warm-season soil water content [mm]
ws_aclimate variable anomaly Warm-season soil water content [mm]
B_ndepindependent variable annual nitrogen deposition [Kg N ha^-1 yr^-1]
B_ndep_muindependent variable mean annual nitrogen deposition [Kg N ha^-1 yr^-1]
B_ndep_sigindependent variable stddev annual nitrogen deposition [Kg N ha^-1 yr^-1]
ndepabsolute annual nitrogen deposition [Kg N ha^-1 yr^-1]
B_caindependent variable annual carbon dioxide concentration [ppm]
B_ca_muindependent variable mean annual carbon dioxide concentration [ppm]
B_ca_sigindependent variable stddev annual carbon dioxide concentration [ppm]
caabsolute annual carbon dioxide concentration [ppm]
Returns
the environmental effect on a growth or mortality increment in Mg * ha^-1 * yr^-1

◆ ExtractRasterValue()

float ExtractRasterValue ( const std::string  name)
private

◆ GrowthAndMortality()

double GrowthAndMortality ( int  age,
double  B1,
double  B2,
double  B3,
double  B4,
double  B5,
double  b1,
double  b2,
double  eeq_n,
double  eeq_mu,
double  eeq_sig,
double  dwf_n,
double  dwf_mu,
double  dwf_sig 
)
private

Predict normal growth and mortality using a growth and yield model

Parameters
agethe age in years
B1fixed effects specific to growth or mortality
B2fixed effects specific to growth or mortality
B3fixed effects specific to growth or mortality
B4fixed effects specific to growth or mortality
B5fixed effects specific to growth or mortality
b1random species specific effects specific to growth or mortality
b1random species specific effects specific to growth or mortality
eeq_nlong term mean equilibrium evaporation
eeq_muequilibrium evaporation descriptive statistics mean
eeq_sigequilibrium evaporation descriptive statistics standard deviation
dwf_nlong term mean days without frost
dwf_mudays without frost descriptive statistics mean
dwf_sigdays without frost descriptive statistics standard deviation
Returns
the biomass growth or mortality change in Mg * ha^-1 * yr^-1

◆ moduleType()

flint::ModuleTypes moduleType ( )
override

◆ shouldRun()

bool shouldRun ( ) const
private

◆ StandBiomassModifier()

double StandBiomassModifier ( double  standBio,
double  standBio_mu,
double  standBio_sig,
double  LamBs 
)
private

◆ subscribe()

void subscribe ( NotificationCenter &  notificationCenter)
override

◆ updateBiomassPools()

void updateBiomassPools ( )
private

Member Data Documentation

◆ _aboveGroundFastSoil

const flint::IPool* _aboveGroundFastSoil
private

◆ _aboveGroundVeryFastSoil

const flint::IPool* _aboveGroundVeryFastSoil
private

◆ _age

flint::IVariable* _age
private

◆ _atmosphere

const flint::IPool* _atmosphere
private

◆ _belowGroundFastSoil

const flint::IPool* _belowGroundFastSoil
private

◆ _belowGroundVeryFastSoil

const flint::IPool* _belowGroundVeryFastSoil
private

◆ _branchSnagTurnoverRate

double _branchSnagTurnoverRate
private

◆ _cbm_species_id

flint::IVariable* _cbm_species_id
private

◆ _coarseRootSplit

double _coarseRootSplit
private

◆ _coarseRootTurnProp

double _coarseRootTurnProp
private

◆ _currentLandClass

flint::IVariable* _currentLandClass
private

◆ _fineRootAGSplit

double _fineRootAGSplit
private

◆ _fineRootTurnProp

double _fineRootTurnProp
private

◆ _hardwoodBranchSnag

const flint::IPool* _hardwoodBranchSnag
private

◆ _hardwoodBranchTurnOverRate

double _hardwoodBranchTurnOverRate
private

◆ _hardwoodCoarseRoots

const flint::IPool* _hardwoodCoarseRoots
private

◆ _hardwoodFineRoots

const flint::IPool* _hardwoodFineRoots
private

◆ _hardwoodFoliage

const flint::IPool* _hardwoodFoliage
private

◆ _hardwoodFoliageFallRate

double _hardwoodFoliageFallRate
private

◆ _hardwoodMerch

const flint::IPool* _hardwoodMerch
private

◆ _hardwoodOther

const flint::IPool* _hardwoodOther
private

◆ _hardwoodStemSnag

const flint::IPool* _hardwoodStemSnag
private

◆ _isForest

flint::IVariable* _isForest
private

◆ _mediumSoil

const flint::IPool* _mediumSoil
private

◆ _otherToBranchSnagSplit

double _otherToBranchSnagSplit
private

◆ _regenDelay

flint::IVariable* _regenDelay
private

◆ _softwoodBranchSnag

const flint::IPool* _softwoodBranchSnag
private

◆ _softwoodBranchTurnOverRate

double _softwoodBranchTurnOverRate
private

◆ _softwoodCoarseRoots

const flint::IPool* _softwoodCoarseRoots
private

◆ _softwoodFineRoots

const flint::IPool* _softwoodFineRoots
private

◆ _softwoodFoliage

const flint::IPool* _softwoodFoliage
private

◆ _softwoodFoliageFallRate

double _softwoodFoliageFallRate
private

◆ _softwoodMerch

const flint::IPool* _softwoodMerch
private

◆ _softwoodOther

const flint::IPool* _softwoodOther
private

◆ _softwoodStemSnag

const flint::IPool* _softwoodStemSnag
private

◆ _standSPUID

flint::IVariable* _standSPUID
private

◆ _stemAnnualTurnOverRate

double _stemAnnualTurnOverRate
private

◆ _stemSnagTurnoverRate

double _stemSnagTurnoverRate
private

◆ _turnoverRates

flint::IVariable* _turnoverRates
private

◆ branchAllocationParameters

DynamicObject branchAllocationParameters
private

◆ co2Concentrations

std::map<int, double> co2Concentrations
private

◆ environmentalDescriptiveStatistics

DynamicObject environmentalDescriptiveStatistics
private

◆ foliageAllocationParameters

DynamicObject foliageAllocationParameters
private

◆ growth_esgym_environmental_effects

DynamicObject growth_esgym_environmental_effects
private

◆ growth_esgym_fixed_effects

DynamicObject growth_esgym_fixed_effects
private

◆ growth_esgym_species_specific_effects

std::map<moja::Int64, DynamicObject> growth_esgym_species_specific_effects
private

◆ hardwoodBranchSnag

double hardwoodBranchSnag
private

◆ hardwoodStemSnag

double hardwoodStemSnag
private

◆ hwcr

double hwcr
private

◆ hwf

double hwf
private

◆ hwfr

double hwfr
private

◆ hwm

double hwm
private

◆ hwo

double hwo
private

◆ HWRootBio

std::shared_ptr<HardwoodRootBiomassEquation> HWRootBio
private

◆ mean_esgym_environmental_effects

DynamicObject mean_esgym_environmental_effects
private

◆ mortality_esgym_environmental_effects

DynamicObject mortality_esgym_environmental_effects
private

◆ mortality_esgym_fixed_effects

DynamicObject mortality_esgym_fixed_effects
private

◆ mortality_esgym_species_specific_effects

std::map<moja::Int64, DynamicObject> mortality_esgym_species_specific_effects
private

◆ softwoodBranchSnag

double softwoodBranchSnag
private

◆ softwoodStemSnag

double softwoodStemSnag
private

◆ standBiomassModifierParameters

DynamicObject standBiomassModifierParameters
private

◆ standHardwoodFoliage

double standHardwoodFoliage
private

◆ standHardwoodMerch

double standHardwoodMerch
private

◆ standHardwoodOther

double standHardwoodOther
private

◆ standHWCoarseRootsCarbon

double standHWCoarseRootsCarbon
private

◆ standHWFineRootsCarbon

double standHWFineRootsCarbon
private

◆ standSoftwoodFoliage

double standSoftwoodFoliage
private

◆ standSoftwoodMerch

double standSoftwoodMerch
private

◆ standSoftwoodOther

double standSoftwoodOther
private

◆ standSWCoarseRootsCarbon

double standSWCoarseRootsCarbon
private

◆ standSWFineRootsCarbon

double standSWFineRootsCarbon
private

◆ stddev_esgym_environmental_effects

DynamicObject stddev_esgym_environmental_effects
private

◆ swcr

double swcr
private

◆ swf

double swf
private

◆ swfr

double swfr
private

◆ swm

double swm
private

◆ swo

double swo
private

◆ SWRootBio

std::shared_ptr<SoftwoodRootBiomassEquation> SWRootBio
private

◆ topStumpParameters

DynamicObject topStumpParameters
private

The documentation for this class was generated from the following files: