LandscapeDNDC
1.36.0
|
Plamox. More...
Inherits ldndc::MBE_LegacyModel.
Public Member Functions | |
~PhysiologyPlaMox () | |
Delete allocated classes. More... | |
Private Member Functions | |
lerr_t | PlaMox_step_init () |
pre-run initialization each time step | |
lerr_t | PlaMox_step_resize () |
resize plant species vector | |
lerr_t | PlaMox_management () |
Applies grazing and cutting. | |
lerr_t | PlaMox_event_plant (MoBiLE_Plant *, EventAttributes const &) |
handle plant event More... | |
lerr_t | PlaMox_event_harvest (MoBiLE_Plant *, EventAttributes const &) |
handle harvest event More... | |
lerr_t | PlaMox_photosynthesis (MoBiLE_Plant *) |
Update of information needed by photofarquhar. More... | |
void | PlaMox_vernalization (MoBiLE_Plant *) |
Determines the growing degree days and the plant development stage based on if vernalization requirements are fullfilled or not. | |
void | PlaMox_growing_degree_days (MoBiLE_Plant *) |
Calculates growing degree days depending on daily average temperature. | |
void | PlaMox_heat_stress_limitation (MoBiLE_Plant *_vt) |
Limits pod filling due to heat stress around anthesis. | |
lerr_t | PlaMox_allocation_grass (MoBiLE_Plant *) |
Allocation metrics for grass species. | |
lerr_t | PlaMox_bud_burst (MoBiLE_Plant *) |
Burst of buds. More... | |
lerr_t | PlaMox_redistribution (MoBiLE_Plant *) |
Redistribution of reserves. | |
void | PlaMox_respiration (MoBiLE_Plant *) |
Calculates maintenance/residual and growth respiration. | |
void | PlaMox_exsudation (MoBiLE_Plant *) |
Determines root exsudation as fraction of root growth respiration. | |
void | PlaMox_nitrogen_uptake (MoBiLE_Plant *) |
Calculates plant nitrogen uptake based on daily demand. | |
lerr_t | PlaMox_nitrogen_fixation (MoBiLE_Plant *) |
Calculates plant nitrogen fixation. | |
lerr_t | PlaMox_senescence (MoBiLE_Plant *) |
Calculates aboveground and belowground plant senecsence. | |
void | PlaMox_drought (MoBiLE_Plant *) |
Calculates drought stress. | |
void | PlaMox_transpiration (MoBiLE_Plant *) |
Calculates potential transpiration. | |
void | PlaMox_update_root_structure (MoBiLE_Plant *, double) |
Updates all relevant root structural matters. | |
void | PlaMox_update_height (MoBiLE_Plant *) |
calculates new height of plant depending on the ratio of current to optimum aboveground biomass | |
void | PlaMox_update_foliage_structure (MoBiLE_Plant *) |
Calculation of canopy layer properties: More... | |
void | PlaMox_update_specific_leaf_area (MoBiLE_Plant *) |
Calculates specific leaf area (sla) in each canopy layer. More... | |
void | PlaMox_update_nitrogen_concentrations (MoBiLE_Plant *) |
double | PlaMox_get_age_factor (MoBiLE_Plant *) |
Calculates an age factor. | |
double | PlaMox_get_frost_factor (MoBiLE_Plant *, double) |
Calculates a temperature factor. More... | |
double | PlaMox_get_hypoxia_factor (MoBiLE_Plant *) |
Calculates a temperature factor. | |
double | PlaMox_get_heat_factor (MoBiLE_Plant *) |
Calculates a temperature factor. | |
double | PlaMox_get_foliage_nitrogen_concentration (MoBiLE_Plant *) |
Calculates optimum foliage nitrogen concentration. | |
double | PlaMox_n_opt (MoBiLE_Plant *) |
Determines optimum nitrogen concentration. More... | |
Private Attributes | |
NitrogenFixation * | NitrogenFixation_ |
Nitrogen fixation. | |
LD_PlantFunctions | m_pf |
All kind of plant related functions. | |
ldndc::growable_array< BaseRootSystemDNDC *, 1000, 1 > | root_system |
Root system. More... | |
cbm::string_t | transpiration_method |
Transpiration method used by PlaMox. | |
bool | have_drought_stress |
Consider drought stress yes/no. | |
cbm::string_t | droughtstress_method |
Transpiration method used by PlaMox. | |
cbm::string_t::cbmstring_array_t | plantfamilies |
Plant families that are considered by PlaMox. | |
double const | FTS_TOT_ |
Time resolution factor: \( \text{FTS_TOT_} = \frac{1.0}{\text{time resolution}} \) | |
lvector_t< double > | allocation_factor_leafs |
Allocation factor of daily assimilated carbon to leaf growth [-]. | |
lvector_t< double > | allocation_factor_stems |
Allocation factor of daily assimilated carbon to stem growth [-]. | |
lvector_t< double > | allocation_factor_fruit |
Allocation factor of daily assimilated carbon to fruit growth [-]. | |
lvector_t< double > | allocation_factor_roots |
Allocation factor of daily assimilated carbon to root growth [-]. | |
lvector_t< double > | lai_min |
Minimum value of üplamt leaf area index (m^2:m^-2). For crops, this value is fixed until between sowing and emergence. | |
lvector_t< double > | fractional_cover |
Density of seeded plants with regard to optimum (full area) seeding (-). | |
lvector_t< double > | chill_factor |
Factor that retards plant development if vernalization requirement is not fullfilled. | |
lvector_t< double > | chill_units |
Accumulated chilling units for vernalization;. | |
lvector_t< unsigned int > | root_q_vt_ |
Largest soil layer index where roots exist [-]. | |
lvector_t< double > | daytime_temperatures |
store daytime temperature for heat stress analysis | |
lvector_t< double > | influence_heat_daily |
store daily impact factor of heat stress on grain yield; | |
double | influence_heat_reduction_grainfilling |
Resulting impact factor of the heat stress influence on grain yield. | |
double | day_of_flowering |
day after emergence where flowering is onset | |
double | Tcrit |
the timing of the episode of high temperatures relative to flowering More... | |
double | Tzero |
The temperature at which there is zero pod-set (°C) | |
Plamox.
ldndc::PhysiologyPlaMox::~PhysiologyPlaMox | ( | ) |
Delete allocated classes.
Delete:
References droughtstress_method, have_drought_stress, NitrogenFixation_, PlaMox_allocation_grass(), PlaMox_bud_burst(), PlaMox_drought(), PlaMox_exsudation(), PlaMox_growing_degree_days(), PlaMox_heat_stress_limitation(), PlaMox_management(), PlaMox_nitrogen_fixation(), PlaMox_nitrogen_uptake(), PlaMox_photosynthesis(), PlaMox_redistribution(), PlaMox_respiration(), PlaMox_senescence(), PlaMox_step_init(), PlaMox_transpiration(), PlaMox_update_foliage_structure(), PlaMox_update_height(), PlaMox_update_root_structure(), PlaMox_update_specific_leaf_area(), PlaMox_vernalization(), plantfamilies, root_system, and transpiration_method.
|
private |
Burst of buds.
Translocation of stored carbon from buds to foliage, e.g., during spring, after defoliation (grazing, cutting)
Nitrogen concentration:
Nitrogen concentrations are updated in each compartment update_nitrogen_concentrations()
References allocation_factor_fruit, FTS_TOT_, and PlaMox_update_nitrogen_concentrations().
Referenced by ~PhysiologyPlaMox().
|
private |
handle harvest event
species |
...
References allocation_factor_fruit, allocation_factor_leafs, allocation_factor_roots, allocation_factor_stems, chill_factor, chill_units, root_q_vt_, and root_system.
Referenced by PlaMox_event_plant().
|
private |
handle plant event
species |
...
References allocation_factor_fruit, allocation_factor_leafs, allocation_factor_roots, allocation_factor_stems, chill_factor, chill_units, daytime_temperatures, fractional_cover, lai_min, m_pf, PlaMox_event_harvest(), PlaMox_update_nitrogen_concentrations(), PlaMox_update_root_structure(), plantfamilies, root_q_vt_, and root_system.
Referenced by PlaMox_step_resize().
|
private |
Calculates a temperature factor.
[in] | _vt | Plant species |
Temperature factor is calculated depending on species parameter TLIMIT = Temperature limit for plant growth
For simplification reasons the soil temperature from the top soiler layer is used instead of the global temperature
Referenced by PlaMox_exsudation(), and PlaMox_photosynthesis().
|
private |
Determines optimum nitrogen concentration.
Adding the optimum concentrations of foliage, sapwood, fine roots and buds.
References PlaMox_get_foliage_nitrogen_concentration().
Referenced by PlaMox_photosynthesis(), and PlaMox_update_nitrogen_concentrations().
|
private |
Update of information needed by photofarquhar.
Nitrogen concentration:
Nitrogen concentrations are updated in each compartment update_nitrogen_concentrations()
References allocation_factor_fruit, allocation_factor_leafs, allocation_factor_roots, allocation_factor_stems, chill_factor, fractional_cover, FTS_TOT_, m_pf, NitrogenFixation_, PlaMox_get_age_factor(), PlaMox_get_frost_factor(), PlaMox_get_heat_factor(), PlaMox_get_hypoxia_factor(), PlaMox_n_opt(), PlaMox_nitrogen_fixation(), PlaMox_nitrogen_uptake(), PlaMox_respiration(), PlaMox_update_nitrogen_concentrations(), root_q_vt_, and root_system.
Referenced by ~PhysiologyPlaMox().
|
private |
Calculation of canopy layer properties:
References lai_min.
Referenced by ~PhysiologyPlaMox().
|
private |
Distribution of total plant nitrogen throughout complete plant assumed to occur instantaneously.
[in] | _vt | Plant species |
References PlaMox_get_foliage_nitrogen_concentration(), and PlaMox_n_opt().
Referenced by PlaMox_bud_burst(), PlaMox_event_plant(), PlaMox_exsudation(), and PlaMox_photosynthesis().
|
private |
Calculates specific leaf area (sla) in each canopy layer.
For mungbean, the species parameter SLAMAX is neglected and sla is calculated based on the following table taken from the WOFOST model parametrisation.
dvs sla 0.0 26.0 1.0 33.0 2.0 16.0
Referenced by ~PhysiologyPlaMox().
|
private |
Root system.
Referenced by PlaMox_event_harvest(), PlaMox_event_plant(), PlaMox_exsudation(), PlaMox_photosynthesis(), PlaMox_transpiration(), and ~PhysiologyPlaMox().
|
private |
the timing of the episode of high temperatures relative to flowering
the duration of the episode of high temperatures relative to flowering
The critical temperature at which temperatuer affects pod-set, dependent on timing and duration of the heatshock (°C)
Referenced by PlaMox_heat_stress_limitation().