GCBM
mossturnovermodule.h
Go to the documentation of this file.
1 #ifndef MOJA_MODULES_CBM_MOSSTURNOVER_H_
2 #define MOJA_MODULES_CBM_MOSSTURNOVER_H_
3 
4 #include "moja/modules/cbm/_modules.cbm_exports.h"
6 
7 namespace moja {
8  namespace modules {
9  namespace cbm {
10 
11  class CBM_API MossTurnoverModule : public CBMModuleBase {
12  public:
14  virtual ~MossTurnoverModule() = default;
15 
16  void configure(const DynamicObject& config) override;
17  void subscribe(NotificationCenter& notificationCenter) override;
18 
19  flint::ModuleTypes moduleType() override { return flint::ModuleTypes::Model; };
20 
21  void doLocalDomainInit() override;
22  void doTimingInit() override;
23  void doTimingStep() override;
24 
25  private:
26  flint::IVariable* _mossParameters = nullptr;;
27 
28  const flint::IPool* _featherMossLive = nullptr;;
29  const flint::IPool* _sphagnumMossLive = nullptr;;
30  const flint::IPool* _featherMossFast = nullptr;;
31  const flint::IPool* _sphagnumMossFast = nullptr;;
32 
33  flint::IVariable* _regenDelay = nullptr;
34  bool runMoss{ false };
35 
39  double fmlTurnoverRate{ 0 }; //Feather moss turnover rate
40 
44  double smlTurnoverRate{ 0 }; //Sphagnum moss turnover rate
45 
46  void doLiveMossTurnover();
47  };
48 
49  }
50  }
51 }
52 #endif
moja::modules::cbm::MossTurnoverModule::moduleType
flint::ModuleTypes moduleType() override
Definition: mossturnovermodule.h:19
moja::modules::cbm
Definition: ageclasshelper.cpp:12
moja::modules::cbm::CBMModuleBase
Definition: cbmmodulebase.h:22
moja::modules::cbm::MossTurnoverModule
Definition: mossturnovermodule.h:11
moja
Definition: ageclasshelper.cpp:10
cbmmodulebase.h