#include <cbmdecaymodule.h>
|
void | getTransfer (std::shared_ptr< flint::IOperation > operation, double meanAnnualTemperature, const std::string &domPool, const flint::IPool *poolSrc, const flint::IPool *poolDest) |
|
void | getTransfer (std::shared_ptr< flint::IOperation > operation, double meanAnnualTemperature, const std::string &domPool, const flint::IPool *pool) |
|
bool | shouldRun () |
|
void | initPeatland () |
|
◆ CBMDecayModule()
◆ ~CBMDecayModule()
◆ configure()
void configure |
( |
const DynamicObject & |
config | ) |
|
|
override |
Configuration function
Assign CBMDecayModule._extraDecayRemovals the value of variable "extra_decay_removals" if it is contained in parameter config
- Parameters
-
- Returns
- void
◆ doLocalDomainInit()
void doLocalDomainInit |
( |
| ) |
|
|
overridevirtual |
Initialise CBMDecayModule._aboveGroundVeryFastSoil, CBMDecayModule._belowGroundVeryFastSoil,
CBMDecayModule._aboveGroundFastSoil, CBMDecayModule._belowGroundFastSoil, CBMDecayModule._mediumSoil, CBMDecayModule._aboveGroundSlowSoil,
CBMDecayModule._belowGroundSlowSoil, CBMDecayModule._softwoodStemSnag, CBMDecayModule._softwoodBranchSnag, CBMDecayModule._hardwoodStemSnag, CBMDecayModule._hardwoodBranchSnag, CBMDecayModule._atmosphere,
CBMDecayModule._spinupMossOnly and CBMDecayModule._isDecaying from _landUnitData Initialise constant variable decayParameterTable and add the values to CBMDecayModule._decayParameters
- Returns
- void
Reimplemented from CBMModuleBase.
◆ doTimingInit()
◆ doTimingStep()
If CBMDecayModule.shouldRun() is false or CBMDecayModule._skipforPeatland is true, return
Initialise proportional operation variables domDecay, soilDecay and soilTurnover.
Add domDecay transfer for CBMDecayModule._aboveGroundVeryFastSoil, CBMDecayModule._belowGroundVeryFastSoil,
CBMDecayModule._aboveGroundFastSoil, CBMDecayModule._belowGroundFastSoil, CBMDecayModule._mediumSoil,
CBMDecayModule._softwoodStemSnag, CBMDecayModule._softwoodBranchSnag, CBMDecayModule._hardwoodStemSnag, CBMDecayModule._hardwoodBranchSnag.
Add soilDecay transfer for CBMDecayModule._aboveGroundSlowSoil and CBMDecayModule._belowGroundSlowSoil.
Add soilTurnover transfer using CBMDecayModule._aboveGroundSlowSoil, CBMDecayModule._belowGroundSlowSoil and
CBMDecayModule._slowMixingRate values.
- Returns
- void
Reimplemented from CBMModuleBase.
◆ getTransfer() [1/2]
void getTransfer |
( |
std::shared_ptr< flint::IOperation > |
operation, |
|
|
double |
meanAnnualTemperature, |
|
|
const std::string & |
domPool, |
|
|
const flint::IPool * |
pool |
|
) |
| |
|
private |
Transfer between source and destination pools (Overloaded Operation)
Initialise the double variables decayRate and proptoatmosphere from CBMDecayModule._decayParameters
Get the additional removals from the amount decayed to the atmosphere and add transfer to the operation
using the parameter(pool),dstPool,decayRate and dstProps. Add transfer to operation parameter using the parameters(pool,_atmopshere), decayRate and propToAtmosphere.
- Parameters
-
operation | shared_ptr<Ioperation> |
meanAnnualTemperature | double |
domPool | string& |
pool | IPool* |
- Returns
- void
◆ getTransfer() [2/2]
void getTransfer |
( |
std::shared_ptr< flint::IOperation > |
operation, |
|
|
double |
meanAnnualTemperature, |
|
|
const std::string & |
domPool, |
|
|
const flint::IPool * |
poolSrc, |
|
|
const flint::IPool * |
poolDest |
|
) |
| |
|
private |
Transfer between source and destination pools (Overloaded function)
Initialise the double variables decayRate and proptoatmosphere from CBMDecayModule._decayParameters
Invoke addTransfer() method on parameter operation, using arguments poolSrc, CBMDecayModule._atmosphere, poolDest
and variables decayRate and propToAtmosphere.
- Parameters
-
operation | shared_ptr<Ioperation> |
meanAnnualTemperature | double |
domPool | string& |
poolSrc | IPool* |
poolDest | IPool* |
- Returns
- void
◆ initPeatland()
◆ shouldRun()
◆ subscribe()
void subscribe |
( |
NotificationCenter & |
notificationCenter | ) |
|
|
override |
Subscribe to the signals LocalDomainInit, TimingInit, and TimingStep
- Parameters
-
notificationCenter | NotificationCenter& |
- Returns
- void
◆ _aboveGroundFastSoil
const flint::IPool* _aboveGroundFastSoil |
|
private |
◆ _aboveGroundSlowSoil
const flint::IPool* _aboveGroundSlowSoil |
|
private |
◆ _aboveGroundVeryFastSoil
const flint::IPool* _aboveGroundVeryFastSoil |
|
private |
◆ _atmosphere
const flint::IPool* _atmosphere |
|
private |
◆ _belowGroundFastSoil
const flint::IPool* _belowGroundFastSoil |
|
private |
◆ _belowGroundSlowSoil
const flint::IPool* _belowGroundSlowSoil |
|
private |
◆ _belowGroundVeryFastSoil
const flint::IPool* _belowGroundVeryFastSoil |
|
private |
◆ _decayParameters
◆ _decayRemovals
std::map<std::string, std::map<std::string, double> > _decayRemovals |
|
private |
◆ _extraDecayRemovals
bool _extraDecayRemovals { false } |
|
private |
◆ _hardwoodBranchSnag
const flint::IPool* _hardwoodBranchSnag |
|
private |
◆ _hardwoodStemSnag
const flint::IPool* _hardwoodStemSnag |
|
private |
◆ _isDecaying
flint::IVariable* _isDecaying |
|
private |
◆ _mediumSoil
const flint::IPool* _mediumSoil |
|
private |
◆ _skipForPeatland
bool _skipForPeatland { false } |
|
private |
◆ _slowMixingRate
◆ _softwoodBranchSnag
const flint::IPool* _softwoodBranchSnag |
|
private |
◆ _softwoodStemSnag
const flint::IPool* _softwoodStemSnag |
|
private |
◆ _spinupMossOnly
flint::IVariable* _spinupMossOnly |
|
private |
The documentation for this class was generated from the following files:
- /home/runner/work/moja.canada/moja.canada/Source/moja.modules.cbm/include/moja/modules/cbm/cbmdecaymodule.h
- /home/runner/work/moja.canada/moja.canada/Source/moja.modules.cbm/src/cbmdecaymodule.cpp