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

#include <peatlandgrowthmodule.h>

Inheritance diagram for PeatlandGrowthModule:
Inheritance graph
Collaboration diagram for PeatlandGrowthModule:
Collaboration graph

Public Member Functions

 PeatlandGrowthModule ()
 
virtual ~PeatlandGrowthModule ()=default
 
void configure (const DynamicObject &config) override
 
void subscribe (NotificationCenter &notificationCenter) 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 updateParameters ()
 

Private Attributes

const flint::IPool * _atmosphere
 
const flint::IPool * _woodyFoliageLive
 
const flint::IPool * _woodyStemsBranchesLive
 
const flint::IPool * _woodyRootsLive
 
const flint::IPool * _sedgeFoliageLive
 
const flint::IPool * _sedgeRootsLive
 
const flint::IPool * _featherMossLive
 
const flint::IPool * _sphagnumMossLive
 
flint::IVariable * _regenDelay
 
flint::IVariable * _spinupMossOnly
 
flint::IVariable * _shrubAge
 
std::shared_ptr< PeatlandGrowthParametersgrowthParas
 
std::shared_ptr< PeatlandTurnoverParametersturnoverParas
 
std::shared_ptr< PeatlandGrowthcurvegrowthCurve
 
bool _runPeatland { false }
 
int _peatlandId { -1 }
 

Constructor & Destructor Documentation

◆ PeatlandGrowthModule()

◆ ~PeatlandGrowthModule()

virtual ~PeatlandGrowthModule ( )
virtualdefault

Member Function Documentation

◆ configure()

void configure ( const DynamicObject &  config)
override

Configuration function

Parameters
configDynamicObject&
Returns
void

◆ doLocalDomainInit()

void doLocalDomainInit ( )
overridevirtual

◆ doTimingInit()

void doTimingInit ( )
overridevirtual

If the value of variable "peatland_class" in _landUnitData is > 0, set PeatlandGrowthModule._runPeatland as true.
Assign PeatlandGrowthModule.growthParas, value of variable "peatland_growth_parameters",
PeatlandGrowthModule.turnoverParas "peatland_turnover_parameters",
PeatlandGrowthModule.growthCurve value of variable "peatland_growth_curve" from _landUnitData

Returns
void

Reimplemented from CBMModuleBase.

◆ doTimingStep()

void doTimingStep ( )
overridevirtual

If PeatlandGrowthModule._runPeatland is true, PeatlandGrowthModule._regenDelay > 0 and PeatlandGrowthModule._spinupMossOnly is false,
simulate woody layer growth, sedge layer growth and moss layer growth.
Initiate the start of the operation by _landUnitData->createStockOperation() and add transfers between various pools. Finally, submit the operation
Increment PeatlandGrowthModule._shrubAge by 1

Returns
void

Reimplemented from CBMModuleBase.

◆ subscribe()

void subscribe ( NotificationCenter &  notificationCenter)
override

Subscribe to the signals LocalDomainInit, TimingInit and TimingStep

Parameters
notificationCenterNotificationCenter&
Returns
void

◆ updateParameters()

void updateParameters ( )
private

Member Data Documentation

◆ _atmosphere

const flint::IPool* _atmosphere
private

◆ _featherMossLive

const flint::IPool* _featherMossLive
private

◆ _peatlandId

int _peatlandId { -1 }
private

◆ _regenDelay

flint::IVariable* _regenDelay
private

◆ _runPeatland

bool _runPeatland { false }
private

◆ _sedgeFoliageLive

const flint::IPool* _sedgeFoliageLive
private

◆ _sedgeRootsLive

const flint::IPool* _sedgeRootsLive
private

◆ _shrubAge

flint::IVariable* _shrubAge
private

◆ _sphagnumMossLive

const flint::IPool* _sphagnumMossLive
private

◆ _spinupMossOnly

flint::IVariable* _spinupMossOnly
private

◆ _woodyFoliageLive

const flint::IPool* _woodyFoliageLive
private

◆ _woodyRootsLive

const flint::IPool* _woodyRootsLive
private

◆ _woodyStemsBranchesLive

const flint::IPool* _woodyStemsBranchesLive
private

◆ growthCurve

std::shared_ptr<PeatlandGrowthcurve> growthCurve
private

◆ growthParas

std::shared_ptr<PeatlandGrowthParameters> growthParas
private

◆ turnoverParas

std::shared_ptr<PeatlandTurnoverParameters> turnoverParas
private

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