15#ifndef LD_PLANTFUNCTIONS_H_
16#define LD_PLANTFUNCTIONS_H_
18#include "ld_modelsconfig.h"
21#include "state/mbe_state.h"
23#include <input/climate/climate.h>
24#include <input/soillayers/soillayers.h>
25#include <input/setup/setup.h>
26#include <input/species/species.h>
27#include "physiology/ld_allometry.h"
29#include <containers/lbstack.h>
34class LDNDC_API LD_PlantFunctions
42 lerr_t initialize_crop( MoBiLE_Plant *, species::crop_properties_t
const *);
43 lerr_t initialize_grass( MoBiLE_Plant *, species::grass_properties_t
const *);
44 lerr_t initialize_tree( MoBiLE_Plant *, species::wood_properties_t
const *,
51 climate::input_class_climate_t
const & cl_;
52 setup::input_class_setup_t
const & se_;
53 soillayers::input_class_soillayers_t
const & sl_;
55 substate_microclimate_t & mc_;
56 substate_physiology_t & ph_;
57 substate_soilchemistry_t & sc_;
60 MoBiLE_PlantVegetation * m_veg;
63 lerr_t set_wood_defaults_( MoBiLE_Plant *, species::wood_properties_t
const *);
64 lerr_t gapfill_wood_defaults_( MoBiLE_Plant *,
65 species::wood_properties_t
const *,
71 lerr_t initialize_vegetationstructure_wood_( MoBiLE_Plant *,
76 lerr_t set_grass_defaults_( MoBiLE_Plant *, species::grass_properties_t
const *);
77 lerr_t gapfill_grass_defaults_( MoBiLE_Plant *, species::species_properties_t
const *);
78 lerr_t reset_grass_properties_( MoBiLE_Plant *);
84 lerr_t initialize_vegetationstructure_grass_( MoBiLE_Plant *);
87 lerr_t set_crop_defaults_( MoBiLE_Plant *, species::crop_properties_t
const *);
88 lerr_t reset_crop_properties_( MoBiLE_Plant *);
97 lerr_t initialize_nitrogen_concentrations( MoBiLE_Plant *);
104 lerr_t canopy_microclimate();
110 set_rooting_depth( input_class_soillayers_t
const * m_soillayers,
111 substate_soilchemistry_t
const * soilchem,
113 bool consider_texture =
false);
120 get_optimum_foliage_biomass_trees( MoBiLE_Plant * );
131 get_optimum_foliage_biomass_grass( MoBiLE_Plant * );
136 int _day_of_year_start,
138 int _nd_age_classes);
141 get_dvs_mortality_of_age_class(
int ,
146 get_dvs_mortality_contribution_of_age_class(
155 initialize_seasonality(
165 initialize_new_foliage_biomass(
176 initialize_new_biomass(
186 int _days_since_emergence);
189 initialize_wood_biomass(
195 initialize_foliage_dependent_fine_root_biomass(
200 update_foliage_layer_biomass_and_lai(
210 aboveground_wood_biomass_from_structure(
218 update_vertical_biomass_distribution(
229 lvector_t< double > ,
233 nitrogen_uptake_temperature_dependency(
243 optimum_nitrogen_content_foliage(
251 optimum_nitrogen_content_buds(
259 get_foliage_age_of_senescence(
264 accumulated_n_uptake();
293 double const _h_bottom,
297 double _h_cum_bottom,
302 size_t _sl_cnt_litter,
305 double _rooting_depth,
307 double const *_h_sl);
Spatially explicit groundwater model.
Definition: airchemistryput.h:15
void estimate_single_layer_biomass(double const _ps, double const _h_bottom, double const _h_top, double _lw, double &_fract, double _h_cum_bottom, double _h_cum_top)
Vertical biomass estimation.
Definition: ld_plantfunctions.cpp:1731
void fineroots_biomass_distribution(size_t _sl_cnt_litter, size_t _sl_cnt_soil, double _ps, double _rooting_depth, double *_f_frt_sl, double const *_h_sl)
Definition: ld_plantfunctions.cpp:1812