![]() |
LandscapeDNDC 1.37.0
|
Vegetation model PlaMox: carbon and nitrogen dynamics of crops and grass (see PlaMox - Plant Growth Model). More...
#include <models/physiology/plamox/plamox.h>
Public Member Functions | |
| PhysiologyPlaMox (MoBiLE_State *, cbm::io_kcomm_t *, timemode_e) | |
| Constructor. | |
| ~PhysiologyPlaMox () | |
| Delete allocated classes. | |
| lerr_t | configure (ldndc::config_file_t const *) |
| lerr_t | register_ports (cbm::io_kcomm_t *) |
| lerr_t | initialize () |
| lerr_t | solve () |
| lerr_t | unregister_ports (cbm::io_kcomm_t *) |
| lerr_t | finalize () |
| Finalization (nothing to do) | |
| lerr_t | sleep () |
| Sleep (nothing to do) | |
| lerr_t | wake () |
| Wake up (nothing to do) | |
Private Types | |
| enum | plant_life_cycle_e { ANNUAL = 0 , BIENNIAL , PLURIENNIAL , PERENNIAL } |
| Life cycle of a plant. More... | |
| enum | plamox_family_e { FAMILY_RICE = 1u << 0 , FAMILY_WHEAT = 1u << 1 , FAMILY_CORNS = 1u << 2 , FAMILY_BRASSICANAPUS = 1u << 3 , FAMILY_MILT = 1u << 4 , FAMILY_SORG = 1u << 5 , FAMILY_CASSAVA = 1u << 6 , FAMILY_PERENNIAL = 1u << 7 } |
| Species families with specific functions in PlaMox (bit flags) More... | |
| typedef std::vector< MoBiLE_Plant * >::iterator | PlaMoxIterator |
| Iterator over all plants whose family is handled by PlaMox (model option plantfamilies), see PlaMox_update_plant_list() | |
Private Member Functions | |
| LMOD_EXPORT_MODULE_INFO (PhysiologyPlaMox,"physiology:plamox","Physiology PlaMox") | |
| Module registration. | |
| lerr_t | PlaMox_step_init () |
| pre-run initialization each time step | |
| lerr_t | PlaMox_step_resize () |
| resize plant species vector | |
| lerr_t | PlaMox_step_out () |
| Post-time step: oxygen deficiency, soil nitrogen and published fields. | |
| lerr_t | PlaMox_management () |
| Applies grazing and cutting events. | |
| lerr_t | PlaMox_planting () |
| Handles all pending planting events. | |
| lerr_t | PlaMox_event_plant (MoBiLE_Plant *, EventAttributes const &) |
| Initializes a newly planted plant (see Planting) | |
| lerr_t | PlaMox_harvest () |
| Handles all pending harvest events. | |
| lerr_t | PlaMox_event_harvest (MoBiLE_Plant *, EventAttributes const &) |
| Harvests a plant (see Harvest) | |
| lerr_t | PlaMox_reset_phenology (MoBiLE_Plant *) |
| Resets the phenological state of a plant. | |
| lerr_t | PlaMox_photosynthesis (MoBiLE_Plant *) |
| Photosynthesis and allocation of assimilates (see Photosynthesis and growth) | |
| void | PlaMox_vernalization (MoBiLE_Plant *) |
| Chilling units and chill factor (see Vernalization) | |
| void | PlaMox_growing_degree_days (MoBiLE_Plant *) |
| Growing degree days, development stage, mortality state and emergence (see Growing degree days) | |
| void | PlaMox_heat_stress_limitation (MoBiLE_Plant *_vt) |
| Heat stress around flowering that limits the fruit set (see Heat stress around flowering) | |
| void | PlaMox_plant_development_crop (MoBiLE_Plant *) |
| Allocation fractions of crops (see Crops) | |
| lerr_t | PlaMox_allocation_grass (MoBiLE_Plant *) |
| Allocation fractions of grass (see Grass) | |
| lerr_t | PlaMox_bud_burst (MoBiLE_Plant *) |
| Translocation from storage to foliage of grass (see Bud burst of grass) | |
| lerr_t | PlaMox_redistribution (MoBiLE_Plant *) |
| Retranslocation of stem and leaf mass to the fruit (see Retranslocation to the fruit) | |
| void | PlaMox_respiration (MoBiLE_Plant *) |
| Maintenance and growth respiration (see Respiration) | |
| void | PlaMox_exsudation (MoBiLE_Plant *) |
| Root exudation (see Root exudation) | |
| void | PlaMox_nitrogen_uptake (MoBiLE_Plant *) |
| Nitrogen uptake from the soil (see Nitrogen uptake) | |
| lerr_t | PlaMox_nitrogen_fixation (MoBiLE_Plant *) |
| Symbiotic nitrogen fixation (see Nitrogen fixation) | |
| lerr_t | PlaMox_senescence (MoBiLE_Plant *) |
| Aboveground and belowground senescence (see Senescence) | |
| lerr_t | PlaMox_abscission (MoBiLE_Plant *) |
| Shedding of dead foliage and stems of grass (see Abscission of grass) | |
| void | PlaMox_drought (MoBiLE_Plant *) |
| Drought stress index (see Drought stress) | |
| void | PlaMox_transpiration (MoBiLE_Plant *) |
| Potential transpiration (see Transpiration) | |
| void | PlaMox_update_root_structure (MoBiLE_Plant *, double) |
| Distributes new fine root mass over the soil layers and updates the root conductivity (see Root structure) | |
| void | PlaMox_update_height (MoBiLE_Plant *) |
| Plant height and height of the canopy base (see Plant height) | |
| void | PlaMox_update_ground_cover (MoBiLE_Plant *) |
| Ground cover (see Ground cover) | |
| void | PlaMox_update_foliage_structure (MoBiLE_Plant *) |
| Foliage distribution and leaf area index of the foliage layers (see Leaf area) | |
| void | PlaMox_update_specific_leaf_area (MoBiLE_Plant *) |
| Specific leaf area of the foliage layers (see Specific leaf area) | |
| void | PlaMox_update_nitrogen_concentrations (MoBiLE_Plant *) |
| Distributes the plant nitrogen among the living compartments (see Nitrogen distribution) | |
| double | PlaMox_get_nitrogen_deficiency (MoBiLE_Plant *) |
| Nitrogen deficiency factor of photosynthesis [-] (see Nitrogen deficiency) | |
| double | PlaMox_get_biomass_induced_downregulation (MoBiLE_Plant *) |
| Biomass-induced down-regulation of photosynthesis [-] (see Biomass-induced down-regulation) | |
| double | PlaMox_get_age_factor (MoBiLE_Plant *) |
| Age factor [-] (see Age factor) | |
| double | PlaMox_get_frost_factor (MoBiLE_Plant *, double) |
| Low temperature factor [-] (see Low temperature factor) | |
| double | PlaMox_get_hypoxia_factor (MoBiLE_Plant *) |
| Photosynthesis factor for oxygen deficiency [-] (see Oxygen deficiency (hypoxia)) | |
| double | PlaMox_get_heat_factor (MoBiLE_Plant *) |
| Heat factor [-] (see Heat factor) | |
| double | PlaMox_get_foliage_nitrogen_concentration (MoBiLE_Plant *) |
| Optimum foliage nitrogen concentration [kgN kgDW-1] (see Optimum foliage nitrogen concentration) | |
| double | PlaMox_n_opt (MoBiLE_Plant *) |
| Optimum nitrogen of the living plant [kgN m-2] (see Optimum plant nitrogen) | |
| void | PlaMox_balance_check (int) |
| Carbon and nitrogen balance check (stage ON_ENTRY or ON_EXIT) | |
| lerr_t | PLAMOX_CHECK_FOR_NEGATIVE_VALUE (char const *) |
| Debugging helper: checks the plant states for negative values or NaN. | |
| void | PlaMox_update_plant_list () |
| Updates the list of plants handled by PlaMox and their family flags. | |
| bool | PlaMox_is_family (MoBiLE_Plant const *_p, unsigned int _family) const |
| True if the plant belongs to the given family (see plamox_family_e) | |
| PlaMoxIterator | begin () |
| First plant handled by PlaMox. | |
| PlaMoxIterator | end () |
| End of the plants handled by PlaMox. | |
| plant_life_cycle_e | PlaMox_get_life_cycle (MoBiLE_Plant *) |
| Life cycle of a plant: perennial for grass and the families ment and alfa, annual otherwise. | |
Private Attributes | |
| MoBiLE_State * | m_state |
| Model state. | |
| cbm::io_kcomm_t * | io_kcomm |
| Input/output communicator. | |
| input_class_climate_t const & | cl_ |
| Climate input. | |
| input_class_setup_t const * | m_setup |
| Setup input (e.g., canopy layers, latitude) | |
| input_class_soillayers_t const & | sl_ |
| Soil layers input. | |
| input_class_species_t const * | m_species |
| Species input. | |
| input_class_speciesparameters_t const * | m_speciesparameters |
| Species parameters input. | |
| input_class_siteparameters_t const * | m_siteparameters |
| Site parameters input. | |
| remotesensing::input_class_remotesensing_t const * | rm_ |
| Optional remote sensing input (leaf area index) | |
| MoBiLE_PlantVegetation * | m_veg |
| Vegetation (all plants) | |
| substate_airchemistry_t & | ac_ |
| Air chemistry state (CO2 concentration) | |
| substate_microclimate_t & | mc_ |
| Microclimate state (temperature, radiation, vapour pressure deficit) | |
| substate_physiology_t & | ph_ |
| Physiology state (canopy layers, nitrogen uptake, exports) | |
| substate_soilchemistry_t & | sc_ |
| Soil chemistry state (nitrogen, carbon, litter, oxygen) | |
| substate_watercycle_t & | wc_ |
| Water cycle state (soil water, ice, transpiration) | |
| SubscribedEvent< LD_EventHandlerQueue > | m_HarvestEvents |
| Harvest events. | |
| SubscribedEvent< LD_EventHandlerQueue > | m_PlantEvents |
| Planting events. | |
| PublishedField< double > | aboveground_biomass |
| Published field: aboveground biomass of all plants [kgDW m-2]. | |
| PublishedField< double > | maturity_status |
| Published field: sum of the development stages of all plants [-]. | |
| PublishedField< double > | growing_degree_days_maturity |
| Published field: sum of the growing degree days of all plants [°C d]. | |
| PublishedField< double > | dEmerg |
| Published field: sum of the days of emergence of all plants. | |
| PublishedField< double > | carbon_plant_biomass_total_exported_from_field |
| Published field: carbon exported with harvest [kgC m-2]. | |
| PublishedField< double > | carbon_plant_biomass_fruit_exported_from_field |
| Published field: carbon exported with the fruit [kgC m-2]. | |
| PublishedField< double > | nitrogen_plant_biomass_total_exported_from_field |
| Published field: nitrogen exported with harvest [kgN m-2]. | |
| PublishedField< double > | nitrogen_plant_biomass_fruit_exported_from_field |
| Published field: nitrogen exported with the fruit [kgN m-2]. | |
| EventHandlerGraze | m_eventgraze |
| Grazing event handler. | |
| EventHandlerCut | m_eventcut |
| Cutting event handler. | |
| BerryBall | plamox_berryball |
| Photosynthesis. | |
| NitrogenFixation * | plamox_nitrogen_fixation |
| Nitrogen fixation. | |
| ldndc::growable_array< BaseRootSystemDNDC *, 1000, 1 > | plamox_root_system |
| Root system. | |
| LD_PlantFunctions | m_pf |
| All kind of plant related functions. | |
| lvector_t< double > | no3_sl |
| Soil nitrate (aerobic + anaerobic) available for uptake in the time step [kgN m-2]. | |
| lvector_t< double > | nh4_sl |
| Soil ammonium available for uptake in the time step [kgN m-2]. | |
| lvector_t< double > | don_sl |
| Soil DON available for uptake in the time step [kgN m-2]. | |
| bool | have_drought_stress |
| Consider drought stress yes/no. | |
| bool | have_heat_stress |
| Consider heat stress yes/no. | |
| cbm::string_t | droughtstress_method |
| Drought stress method (option droughtstressmethod: rootweighted or uniform) | |
| 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< long long int > | seconds_crop_planting |
| Time of planting [s]. | |
| lvector_t< double > | gdd_grain_filling |
Growing degree days at the onset of grain filling [°C d] (GDD_GRAIN_FILLING, delayed by drought for corn) | |
| lvector_t< double > | hypoxia |
| Hypoxia index of the root system [-] (0: no stress, 1: no oxygen) | |
| lvector_t< int > | days_after_emergence |
| Days after emergence [d] (-1 before emergence) | |
| lvector_t< std::string > | location |
| Location of the plant for location-specific nitrogen supply. | |
| lvector_t< double > | dw_retranslocation_stem |
| Stem mass available for retranslocation to the fruit [kgDW m-2]. | |
| lvector_t< double > | dw_retranslocation_foliage |
| Foliage mass available for retranslocation to the fruit [kgDW m-2]. | |
| lvector_t< double > | dw_fol_old |
| Foliage mass at the beginning of the time step [kgDW m-2]. | |
| lvector_t< double > | lai_dynamic |
| Leaf area index used with remote sensing input [m2 m-2]. | |
| std::map< std::string, double > | gdd_target |
| Growing degree days at the last harvest per plant name, used as maturity target [°C d]. | |
| bool | have_automatic_nitrogen |
| Potential nitrogen mode (option npot): demand not covered by uptake is supplied directly. | |
| double | automatic_nitrogen_uptake |
| Nitrogen supplied in the potential nitrogen mode in the time step [kgN m-2]. | |
| double | photoperiod_min |
| Minimum day length of the site [h]. | |
| double | photoperiod_max |
| Maximum day length of the site [h]. | |
| double | tot_c_ |
| Carbon balance at the beginning of the time step [kgC m-2]. | |
| double | tot_n_ |
| Nitrogen balance at the beginning of the time step [kgN m-2]. | |
| double | timestep_c_assi |
| Carbon assimilated (and added at planting) in the time step [kgC m-2]. | |
| double | n_at_planting |
| Nitrogen added with the initial biomass at planting in the time step [kgN m-2]. | |
| lvector_t< double > | transplanting_shock_vt |
| Transplanting shock [-] (1 at transplanting, decreasing by 0.1 per day) | |
| lvector_t< int > | yearly_cuts |
| Number of cutting events in the current year. | |
| lvector_t< bool > | reset_phenology |
| Phenology of a perennial plant is reset as soon as MOS > 0.99. | |
| lvector_t< double > | n_plant |
| Total plant nitrogen including dead foliage and stems [kgN m-2]. | |
| 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 leaf area index [m2 m-2]. For crops with GDD_AUTOTROPHY, it increases from the value at planting to lai_min_at_tillering at AGDD = GDD_AUTOTROPHY. | |
| lvector_t< double > | lai_min_at_tillering |
| Minimum leaf area index at the end of the seedling phase (GDD_AUTOTROPHY) [m2 m-2]. | |
| lvector_t< double > | fractional_cover |
| Density of seeded plants with regard to optimum (full area) seeding (-). | |
| lvector_t< double > | chill_units |
| Accumulated chilling units for vernalization;. | |
| lvector_t< double > | m_fruit_maximum |
| Maximum fruit mass [kgDW m-2] (M_FRUIT_OPT reduced by heat stress and spikelet sterility; -1: no limit) | |
| lvector_t< double > | spikelets_sterility |
| Spikelet sterility caused by oxygen deficiency [-]. | |
| lvector_t< double > | nc_fol_opt |
| Reference foliage nitrogen concentration of the nitrogen deficiency factor [kgN kgDW-1]. | |
| lvector_t< unsigned int > | root_q_vt_ |
| Number of rooted soil layers [-], i.e., the index of the first soil layer without roots (invalid if the plant has no root system) | |
| lvector_t< double > | daytime_temperatures |
| Daytime temperatures of the last 19 days around flowering [°C] (shared by all plants) | |
| lvector_t< double > | influence_heat_daily |
| Daily heat impact on grain filling of the last 19 days [-]. | |
| double | influence_heat_reduction_grainfilling |
| Heat factor for grain filling (minimum of the daily heat impact) [-]. | |
| double | day_of_flowering |
| Days after emergence at flowering [d] (999 before flowering; shared by all plants) | |
| double | Tcrit |
| Critical temperature above which heat reduces the fruit set [°C] (depends on timing and duration of the heat episode) | |
| double | Tzero |
| Temperature of zero fruit set [°C]. | |
| double | c_total_exported |
| Carbon exported with harvest in the time step, including roots [kgC m-2]. | |
| double | c_fruit_exported |
| Carbon exported with the fruit in the time step [kgC m-2]. | |
| double | n_total_exported |
| Nitrogen exported with harvest in the time step, including roots [kgN m-2]. | |
| double | n_fruit_exported |
| Nitrogen exported with the fruit in the time step [kgN m-2]. | |
| std::vector< MoBiLE_Plant * > | plamox_plants |
| Plants handled by PlaMox in the current time step (in the order of the vegetation); updated at the beginning of each time step and after planting. | |
| std::vector< std::string > | plantfamily_tags |
| Family tags (":family:") of the plant families handled by PlaMox. | |
| lvector_t< unsigned int > | family_flags |
| Species family flags of each plant (slot), see plamox_family_e; updated with the plant list. | |
Vegetation model PlaMox: carbon and nitrogen dynamics of crops and grass (see PlaMox - Plant Growth Model).
|
private |
Species families with specific functions in PlaMox (bit flags)
|
private |
Life cycle of a plant.
| Enumerator | |
|---|---|
| ANNUAL | Annual plant. |
| BIENNIAL | Biennial plant (currently not used) |
| PLURIENNIAL | Pluriennial plant (currently not used) |
| PERENNIAL | Perennial plant. |
| ldndc::PhysiologyPlaMox::~PhysiologyPlaMox | ( | ) |
Delete allocated classes.
Delete:
References plamox_nitrogen_fixation, and plamox_root_system.
| lerr_t ldndc::PhysiologyPlaMox::configure | ( | ldndc::config_file_t const * | _cf | ) |
Reads the model options (see Model options).
References droughtstress_method, have_automatic_nitrogen, have_drought_stress, have_heat_stress, ldndc::PhysiologyPlaMoxLogger, plamox_berryball, plantfamilies, plantfamily_tags, and wc_.
| lerr_t ldndc::PhysiologyPlaMox::initialize | ( | ) |
Checks the time resolution (subdaily, at least two time steps per day) and acquires the optional remote sensing input (leaf area index).
|
private |
Carbon and nitrogen balance check (stage ON_ENTRY or ON_EXIT)
Carbon and nitrogen balance check of all PlaMox plants. The plant carbon and nitrogen plus the cumulative litter, exudation and export fluxes minus the inputs (assimilation; uptake, fixation, automatic supply and planting for nitrogen) are stored on entry (ON_ENTRY). On exit (ON_EXIT), a warning is issued if they changed by more than cbm::DIFFMAX.
References automatic_nitrogen_uptake, begin(), end(), m_pf, n_at_planting, ph_, sc_, timestep_c_assi, tot_c_, and tot_n_.
Referenced by PlaMox_get_age_factor(), and solve().


|
private |
Harvests a plant (see Harvest)
| _vt | Plant |
| _attributes | Attributes of the harvest event |
Applies a harvest event to a plant (see Harvest).
References allocation_factor_fruit, allocation_factor_leafs, allocation_factor_roots, allocation_factor_stems, c_fruit_exported, c_total_exported, chill_units, days_after_emergence, dw_fol_old, dw_retranslocation_foliage, dw_retranslocation_stem, hypoxia, io_kcomm, lai_dynamic, m_fruit_maximum, m_setup, n_fruit_exported, n_plant, n_total_exported, ph_, plamox_root_system, root_q_vt_, sc_, seconds_crop_planting, sl_, spikelets_sterility, and yearly_cuts.
Referenced by PlaMox_harvest().

|
private |
Initializes a newly planted plant (see Planting)
| _vt | Plant |
| _attributes | Attributes of the planting event |
Initializes the state of a newly planted plant (see Planting).
References allocation_factor_fruit, allocation_factor_leafs, allocation_factor_roots, allocation_factor_stems, chill_units, days_after_emergence, daytime_temperatures, dw_fol_old, dw_retranslocation_foliage, dw_retranslocation_stem, fractional_cover, gdd_grain_filling, gdd_target, hypoxia, io_kcomm, lai_dynamic, lai_min, lai_min_at_tillering, location, m_fruit_maximum, m_pf, m_species, m_state, m_veg, mc_, n_at_planting, n_plant, nc_fol_opt, PlaMox_reset_phenology(), plamox_root_system, PlaMox_update_nitrogen_concentrations(), PlaMox_update_root_structure(), root_q_vt_, sc_, seconds_crop_planting, sl_, spikelets_sterility, timestep_c_assi, and transplanting_shock_vt.
Referenced by PlaMox_planting().


|
private |
Photosynthesis factor for oxygen deficiency [-] (see Oxygen deficiency (hypoxia))
References hypoxia.
Referenced by PlaMox_get_age_factor(), and PlaMox_photosynthesis().

|
private |
Handles all pending harvest events.
Applies all pending harvest events (see Harvest). Harvest events for plants that do not exist are ignored with a warning. If a plant is harvested at \( AGDD \) below 0.95 or above 1.1 times GDD_MATURITY, \( 0.95 \, AGDD \) is stored as maturity target for later plantings of the same plant (see Planting).
References gdd_target, m_HarvestEvents, m_veg, PlaMox_event_harvest(), and plantfamily_tags.
Referenced by solve().


|
private |
Applies grazing and cutting events.
Applies grazing and cutting events (see Grazing and Cutting).
References begin(), end(), m_eventcut, m_eventgraze, m_veg, n_plant, PlaMox_reset_phenology(), and yearly_cuts.
Referenced by solve().


|
private |
Optimum nitrogen of the living plant [kgN m-2] (see Optimum plant nitrogen)
References PlaMox_get_foliage_nitrogen_concentration().
Referenced by PlaMox_get_age_factor(), and PlaMox_update_nitrogen_concentrations().


|
private |
Handles all pending planting events.
Creates the plants of all pending planting events and initializes them (see Planting).
References m_PlantEvents, m_setup, m_species, m_speciesparameters, m_state, m_veg, PlaMox_event_plant(), PlaMox_step_resize(), plantfamily_tags, and sl_.
Referenced by solve().


|
private |
Resets the phenological state of a plant.
Resets the phenological state of a plant: accumulated growing degree days, development stage \( DVS \), mortality state \( MOS \), day of emergence, days after emergence, nitrogen fixed in the season and number of cuts in the current year. Used at planting, at the beginning of a new year for perennial plants and after cutting of ratoon species.
References days_after_emergence, reset_phenology, and yearly_cuts.
Referenced by PlaMox_event_plant(), PlaMox_management(), and PlaMox_step_init().

|
private |
pre-run initialization each time step
References ANNUAL, automatic_nitrogen_uptake, begin(), c_fruit_exported, c_total_exported, days_after_emergence, don_sl, dw_fol_old, end(), m_eventgraze, m_setup, n_at_planting, n_fruit_exported, n_total_exported, nh4_sl, no3_sl, PlaMox_get_life_cycle(), PlaMox_reset_phenology(), PlaMox_step_resize(), PlaMox_update_plant_list(), reset_phenology, sc_, seconds_crop_planting, sl_, and timestep_c_assi.
Referenced by solve().


|
private |
Post-time step: oxygen deficiency, soil nitrogen and published fields.
References aboveground_biomass, begin(), c_fruit_exported, c_total_exported, carbon_plant_biomass_fruit_exported_from_field, carbon_plant_biomass_total_exported_from_field, dEmerg, don_sl, end(), growing_degree_days_maturity, hypoxia, m_veg, maturity_status, mc_, n_fruit_exported, n_total_exported, nh4_sl, nitrogen_plant_biomass_fruit_exported_from_field, nitrogen_plant_biomass_total_exported_from_field, no3_sl, root_q_vt_, sc_, sl_, and wc_.
Referenced by solve().


|
private |
Foliage distribution and leaf area index of the foliage layers (see Leaf area)
Calculates the foliage distribution and the leaf area index of all foliage layers (see Leaf area).
References dw_fol_old, lai_dynamic, lai_min, m_setup, rm_, and transplanting_shock_vt.
Referenced by PlaMox_update_ground_cover(), and solve().

| lerr_t ldndc::PhysiologyPlaMox::register_ports | ( | cbm::io_kcomm_t * | _io_kcomm | ) |
Publishes aboveground biomass, development stage, growing degree days, day of emergence and harvest exports; subscribes to planting and harvest events and registers the ports of the cutting and grazing handlers.
References aboveground_biomass, carbon_plant_biomass_fruit_exported_from_field, carbon_plant_biomass_total_exported_from_field, dEmerg, growing_degree_days_maturity, m_eventcut, m_eventgraze, m_HarvestEvents, m_PlantEvents, maturity_status, nitrogen_plant_biomass_fruit_exported_from_field, and nitrogen_plant_biomass_total_exported_from_field.
| lerr_t ldndc::PhysiologyPlaMox::solve | ( | ) |
Simulates one time step of all plants handled by PlaMox in the order given in Processes within a time step. Grazing, cutting and planting are applied at the beginning, harvest at the end of the time step. The carbon and nitrogen balance of all plants is checked in between.
References begin(), end(), PlaMox_abscission(), PlaMox_allocation_grass(), PlaMox_balance_check(), PlaMox_bud_burst(), PlaMox_drought(), PlaMox_exsudation(), PlaMox_growing_degree_days(), PlaMox_harvest(), PlaMox_heat_stress_limitation(), PlaMox_management(), PlaMox_nitrogen_fixation(), PlaMox_nitrogen_uptake(), PlaMox_photosynthesis(), PlaMox_plant_development_crop(), PlaMox_planting(), PlaMox_redistribution(), PlaMox_respiration(), PlaMox_senescence(), PlaMox_step_init(), PlaMox_step_out(), PlaMox_transpiration(), PlaMox_update_foliage_structure(), PlaMox_update_ground_cover(), PlaMox_update_height(), PlaMox_update_plant_list(), PlaMox_update_root_structure(), PlaMox_update_specific_leaf_area(), and PlaMox_vernalization().

| lerr_t ldndc::PhysiologyPlaMox::unregister_ports | ( | cbm::io_kcomm_t * | _io_kcomm | ) |
Unpublishes the fields and unsubscribes from all events.
References aboveground_biomass, carbon_plant_biomass_fruit_exported_from_field, carbon_plant_biomass_total_exported_from_field, dEmerg, growing_degree_days_maturity, m_eventcut, m_eventgraze, m_HarvestEvents, m_PlantEvents, maturity_status, nitrogen_plant_biomass_fruit_exported_from_field, and nitrogen_plant_biomass_total_exported_from_field.
|
private |
Root system.
Referenced by PhysiologyPlaMox(), PlaMox_event_harvest(), PlaMox_event_plant(), PlaMox_exsudation(), and ~PhysiologyPlaMox().