#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