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

#include <cbmdisturbanceeventmodule.h>

Inheritance diagram for CBMDisturbanceEventModule:
Inheritance graph
Collaboration diagram for CBMDisturbanceEventModule:
Collaboration graph

Public Member Functions

 CBMDisturbanceEventModule ()
 
virtual ~CBMDisturbanceEventModule ()=default
 
void subscribe (NotificationCenter &notificationCenter) override
 
flint::ModuleTypes moduleType ()
 
virtual void doDisturbanceEvent (DynamicVar) override
 
virtual void doLocalDomainInit () 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 doTimingInit ()
 
virtual void doTimingPrePostInit ()
 
virtual void doTimingPostInit ()
 
virtual void doTimingPostInit2 ()
 
virtual void doTimingShutdown ()
 
virtual void doTimingStep ()
 
virtual void doTimingPreEndStep ()
 
virtual void doTimingEndStep ()
 
virtual void doTimingPostStep ()
 
virtual void doOutputStep ()
 
virtual void doError (std::string msg)
 
virtual void doPrePostDisturbanceEvent ()
 
virtual void doPostDisturbanceEvent ()
 
virtual void doPostDisturbanceEvent2 ()
 
virtual void doPostNotification (short preMessageSignal)
 

Private Attributes

flint::IVariable * _age
 
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 * _woodyFoliageLive
 
const flint::IPool * _woodyStemsBranchesLive
 
const flint::IPool * _woodyRootsLive
 
const flint::IPool * _softwoodStem
 
const flint::IPool * _hardwoodStem
 
flint::IVariable * _smalltreeAge
 
flint::IVariable * _shrubAge
 

Constructor & Destructor Documentation

◆ CBMDisturbanceEventModule()

◆ ~CBMDisturbanceEventModule()

virtual ~CBMDisturbanceEventModule ( )
virtualdefault

Member Function Documentation

◆ doDisturbanceEvent()

void doDisturbanceEvent ( DynamicVar  n)
overridevirtual

Get the disturbances and disturbance type codes from parameter n,
Invoke createProportionalOperation() on _landUnitData,
for each disturbance, add a transfer between the source and destination pools
Invoke submitOperation() and applyOperations() on _landUnitData
If the total biomass is < 0.001, set CBMDisturbanceEventModule._age to 0,
if the variable "enable_peatland" is present in _landUnitData and is not null, if the total woody biomass is < 0.001, CBMDisturbanceEventModule._shrubAge is set to 0
If the value of peatlandId in variable "peatland_class" of _landUnitData is either Peatlands::TREED_PEATLAND_BOG, Peatlands::TREED_PEATLAND_POORFEN, Peatlands::TREED_PEATLAND_RICHFEN or Peatlands::TREED_PEATLAND_SWAMP,
indicating a treed peatland, and totalSmallTreeBiomass is < 0.001 set CBMDisturbanceEventModule._smalltreeAge to 0

Parameters
nDynamicVar
Returns
void

Reimplemented from CBMModuleBase.

◆ doLocalDomainInit()

void doLocalDomainInit ( )
overridevirtual

◆ moduleType()

flint::ModuleTypes moduleType ( )

◆ subscribe()

void subscribe ( NotificationCenter &  notificationCenter)
override

Subscribe to the signals localDomainInit, Disturbance event, and TimingStep

Parameters
notificationcenterNotificationCenter&
Returns
void

Member Data Documentation

◆ _age

flint::IVariable* _age
private

◆ _hardwoodCoarseRoots

const flint::IPool* _hardwoodCoarseRoots
private

◆ _hardwoodFineRoots

const flint::IPool* _hardwoodFineRoots
private

◆ _hardwoodFoliage

const flint::IPool* _hardwoodFoliage
private

◆ _hardwoodMerch

const flint::IPool* _hardwoodMerch
private

◆ _hardwoodOther

const flint::IPool* _hardwoodOther
private

◆ _hardwoodStem

const flint::IPool* _hardwoodStem
private

◆ _shrubAge

flint::IVariable* _shrubAge
private

◆ _smalltreeAge

flint::IVariable* _smalltreeAge
private

◆ _softwoodCoarseRoots

const flint::IPool* _softwoodCoarseRoots
private

◆ _softwoodFineRoots

const flint::IPool* _softwoodFineRoots
private

◆ _softwoodFoliage

const flint::IPool* _softwoodFoliage
private

◆ _softwoodMerch

const flint::IPool* _softwoodMerch
private

◆ _softwoodOther

const flint::IPool* _softwoodOther
private

◆ _softwoodStem

const flint::IPool* _softwoodStem
private

◆ _woodyFoliageLive

const flint::IPool* _woodyFoliageLive
private

◆ _woodyRootsLive

const flint::IPool* _woodyRootsLive
private

◆ _woodyStemsBranchesLive

const flint::IPool* _woodyStemsBranchesLive
private

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