GCBM
peatlandturnovermodule.h
Go to the documentation of this file.
1 #ifndef MOJA_MODULES_CBM_PLTURNOVER_H_
2 #define MOJA_MODULES_CBM_PLTURNOVER_H_
3 
4 #include "moja/modules/cbm/_modules.cbm_exports.h"
6 
9 
10 namespace moja {
11  namespace modules {
12  namespace cbm {
13 
15  public:
17  virtual ~PeatlandTurnoverModule() = default;
18 
19  void doLocalDomainInit() override;
20  void doTimingInit() override;
21  void doTimingStep() override;
22 
23  private:
24  flint::IVariable* _waterTableDepthModifier{ nullptr };
25  flint::IVariable* _spinupMossOnly{ nullptr };
26  flint::IVariable* _appliedAnnualWTD{ nullptr };
27 
28  double _forward_longterm_wtd{ 0 };
29  double _forward_previous_annual_wtd{ 0 };
30  double _forward_current_annual_wtd{ 0 };
31 
32  std::string _forward_wtd_modifier{ "" };
33  bool _modifiersFullyAppplied{ false };
34 
35  void doWaterTableFlux();
36  void updateWaterTable();
37  void updateParameters();
38  double getModifiedAnnualWTD(std::string modifierStr);
39  };
40 
41  }
42  }
43 } // namespace moja::modules::cbm
44 
45 #endif // MOJA_MODULES_CBM_PLTURNOVER_H_
moja::modules::cbm
Definition: ageclasshelper.cpp:12
peatlandturnovermodulebase.h
peatlandgrowthparameters.h
moja::modules::cbm::PeatlandTurnoverModule
Definition: peatlandturnovermodule.h:14
moja::modules::cbm::PeatlandTurnoverModule::PeatlandTurnoverModule
PeatlandTurnoverModule()
Definition: peatlandturnovermodule.h:16
moja::modules::cbm::PeatlandTurnoverModuleBase
Definition: peatlandturnovermodulebase.h:13
peatlandturnoverparameters.h
moja
Definition: ageclasshelper.cpp:10