44 void burnMoss(
const double biomass_kg) { mMossBiomass = mMossBiomass - biomass_kg/
cRUArea;
45 mMossBiomass = std::max(mMossBiomass, cMinMossBiomass); }
48 const double cMinMossBiomass = 0.0001;
50 void setupMossLayer();
56 void setupThermalConductivity();
59 double thermalConductivity(
bool from_below)
const;
60 double thermalConductivityFrozen()
const;
63 FTResult(): delta_mm(0.), delta_soil(0.), new_depth(0.), orig_depth(0.) {}
69 FTResult calcFreezeThaw(
double at,
double temp,
bool lowerIceEdge,
bool fromAbove);
74 double mCurrentSoilFrozen;
76 double mCurrentWaterFrozen;
91 double mGroundBaseTemperature;
105 void reset() { maxSnowDepth=0.; daysSnowCover=0; maxFreezeDepth=0.; maxThawDepth=0.; }
108 double maxFreezeDepth;
116 void init() { EFusion = 0.333;
117 maxPermafrostDepth = 2.;
121 double maxPermafrostDepth;
124 double lambdaOrganicLayer;
126 double organicLayerDensity;
127 double SOLDefaultDepth = 0.1;
130 double groundBaseDepth;
131 double maxFreezeThawPerDay;
138 const double AMax=0.3;
142 double respiration_q, respiration_b;
150 static SMossParam mosspar;
153 friend class ::WaterOut;
162 const QVector<LayeredGridBase::LayerElement> &
names();
165 QVector<LayeredGridBase::LayerElement> mNames;
Grid class (template).
Definition: grid.h:44
This is the base class for multi-layer grids in iLand.
Definition: layeredgrid.h:95
const Grid< ResourceUnit * > * mGrid
Definition: layeredgrid.h:130
ResourceUnit is the spatial unit that encapsulates a forest stand and links to several environmental ...
Definition: resourceunit.h:49
The Permafrost class simulates the permafrost layer of a resource unit.
Definition: permafrost.h:20
void debugData(DebugList &out)
add permafrost related debug output to the list 'out'
Definition: permafrost.cpp:224
void newYear()
start a new year
Definition: permafrost.cpp:99
void run(const ClimateDay *clim_day)
run the permafrost calculations for a given resource unit and day
Definition: permafrost.cpp:123
~Permafrost()
Definition: permafrost.cpp:28
void burnMoss(const double biomass_kg)
burn some of the life moss (kg / ha)
Definition: permafrost.h:44
void setup(WaterCycle *wc)
Definition: permafrost.cpp:33
double mossLayerThickness() const
thickness of the moss layer in meters
Definition: permafrost.h:38
double SOLLayerThickness() const
thickness of the soil organic layer (in meters)
Definition: permafrost.h:40
Permafrost()
Definition: permafrost.cpp:23
double mossBiomass() const
moss biomass (kg/m2)
Definition: permafrost.h:42
Definition: permafrost.h:156
~PermafrostLayers()
Definition: permafrost.h:158
const QVector< LayeredGridBase::LayerElement > & names()
list of stored layers
Definition: permafrost.cpp:497
double value(ResourceUnit *const &data, const int index) const
Definition: permafrost.cpp:481
void clearGrid()
Definition: permafrost.h:160
void setGrid(const Grid< ResourceUnit * > &grid)
Definition: permafrost.h:159
simulates the water cycle on a ResourceUnit.
Definition: watercycle.h:106
Definition: waterout.h:26
const double cRUArea
Definition: globalsettings.h:7
Water contains helper classes for the water cycle calculations.
Definition: permafrost.cpp:13
current climate variables of a day.
Definition: climate.h:28