14#include "ld_modelsconfig.h"
15#include "physiology/ld_plantfunctions.h"
16#include "physiology/ld_rootsystem.h"
18#include "state/mbe_state.h"
19#include "ld_eventqueue.h"
30 class LDNDC_API TreeDynamics
41 lerr_t register_ports( cbm::io_kcomm_t *);
42 lerr_t unregister_ports( cbm::io_kcomm_t *);
45 LD_PlantFunctions m_pf;
46 substate_soilchemistry_t & sc_;
47 substate_physiology_t & ph_;
48 MoBiLE_PlantVegetation * m_veg;
49 input_class_setup_t
const * m_se;
50 input_class_soillayers_t
const * m_sl;
53 Mortality( MoBiLE_Plant *,
55 double &_nLitWoodAbove,
56 double *_sWoodBelow_sl,
57 double *_nLitWoodBelow_sl);
66 Growth( MoBiLE_Plant *,
76 update_grass_coverage( MoBiLE_Plant * );
79 Crowding( MoBiLE_Plant *,
88 OnStructureChange( MoBiLE_Plant *,
89 RootSystemDNDC *_rs = NULL);
92 UpdateBiomass( MoBiLE_Plant *);
95 MassDistribution( MoBiLE_Plant *,
96 RootSystemDNDC *_rs = NULL);
99 LaiDistribution( MoBiLE_Plant *);
104 HandleDisturbanceEvents(
105 cbm::io_kcomm_t *_io_kcomm,
120 EventQueue DefoliateEvents;
121 CBM_Handle DefoliateHandle;
122 struct EventDefoliateData
124 double reduction_volume;
128 lerr_t HandleEventDefoliate(
129 MoBiLE_Plant*, EventDefoliateData
const *,
132 int HandleEventsDefoliate(
136 EventQueue RegrowEvents;
137 CBM_Handle RegrowHandle;
138 struct EventRegrowData
142 double tree_number_resize_factor;
145 lerr_t HandleEventRegrow(
146 cbm::io_kcomm_t *_io_kcomm,
147 MoBiLE_Plant*, EventRegrowData
const *,
157 int HandleEventsRegrow(
158 cbm::io_kcomm_t *_io_kcomm,
168 EventQueue ThrowEvents;
169 CBM_Handle ThrowHandle;
170 struct EventThrowData
172 double reduction_volume;
174 lerr_t HandleEventThrow(
175 cbm::io_kcomm_t *_io_kcomm, MoBiLE_Plant*, EventThrowData
const *,
186 int HandleEventsThrow(
187 cbm::io_kcomm_t *_io_kcomm,
199 EventQueue ThinEvents;
200 CBM_Handle ThinHandle;
203 double reduction_volume;
204 double reduction_number;
205 double export_foliage;
206 double export_branch_wood;
207 double export_root_wood;
208 double export_stem_wood;
210 lerr_t HandleEventThin(
211 cbm::io_kcomm_t *_io_kcomm,
212 MoBiLE_Plant*, EventThinData
const *,
225 int HandleEventsThin(
226 cbm::io_kcomm_t *_io_kcomm,
240 EventQueue HarvestEvents;
241 CBM_Handle HarvestHandle;
242 struct EventHarvestData
244 double export_branch_wood;
245 double export_root_wood;
246 double export_stem_wood;
248 lerr_t HandleEventHarvest(
249 cbm::io_kcomm_t *_io_kcomm,
250 MoBiLE_Plant*, EventHarvestData
const *,
260 int HandleEventsHarvest(
261 cbm::io_kcomm_t *_io_kcomm,
Spatially explicit groundwater model.
Definition airchemistryput.h:15