1 #ifndef MOJA_MODULES_CBM_PLTURNOVER_BASE_H_
2 #define MOJA_MODULES_CBM_PLTURNOVER_BASE_H_
4 #include "moja/modules/cbm/_modules.cbm_exports.h"
18 void configure(
const DynamicObject& config)
override;
19 void subscribe(NotificationCenter& notificationCenter)
override;
22 const flint::IPool* _atmosphere =
nullptr;
23 const flint::IPool* _woodyFoliageLive =
nullptr;;
24 const flint::IPool* _woodyStemsBranchesLive =
nullptr;;
25 const flint::IPool* _woodyRootsLive =
nullptr;;
26 const flint::IPool* _sedgeFoliageLive =
nullptr;;
27 const flint::IPool* _sedgeRootsLive =
nullptr;;
28 const flint::IPool* _featherMossLive =
nullptr;;
29 const flint::IPool* _sphagnumMossLive =
nullptr;;
30 const flint::IPool* _woodyFineDead =
nullptr;;
31 const flint::IPool* _woodyCoarseDead =
nullptr;;
32 const flint::IPool* _woodyFoliageDead =
nullptr;;
33 const flint::IPool* _woodyRootsDead =
nullptr;;
34 const flint::IPool* _sedgeFoliageDead =
nullptr;;
35 const flint::IPool* _sedgeRootsDead =
nullptr;;
36 const flint::IPool* _feathermossDead =
nullptr;;
37 const flint::IPool* _acrotelm_o =
nullptr;;
38 const flint::IPool* _catotelm_a =
nullptr;;
39 const flint::IPool* _acrotelm_a =
nullptr;;
40 const flint::IPool* _catotelm_o =
nullptr;;
42 flint::IVariable* _regenDelay =
nullptr;
48 flint::IVariable* _shrubAge =
nullptr;;
54 std::shared_ptr<PeatlandTurnoverParameters> turnoverParas =
nullptr;;
60 std::shared_ptr<PeatlandGrowthParameters> growthParas =
nullptr;;
62 DynamicObject baseWTDParameters;
65 double woodyFoliageLive{ 0 };
66 double woodyStemsBranchesLive{ 0 };
67 double woodyRootsLive{ 0 };
68 double sedgeFoliageLive{ 0 };
69 double sedgeRootsLive{ 0 };
70 double featherMossLive{ 0 };
71 double sphagnumMossLive{ 0 };
73 bool _runPeatland{
false };
74 int _peatlandId{ -1 };
76 void updatePeatlandLivePoolValue();
77 void doLivePoolTurnover();
79 double computeWaterTableDepth(
double dc,
int peatlandID);
80 double computeCarbonTransfers(
double previousAwtd,
double currentAwtd,
double a,
double b);
86 #endif // MOJA_MODULES_CBM_PLTURNOVER_H_