|
The BioCro C++ Library
|
This is the standard BioCro module library; it includes the essential modules used in typical BioCro crop growth simulations. More...
Classes | |
| class | aba_decay |
| class | ball_berry |
Uses ball_berry_gs() to evaluate the Ball-Berry model for stomatal conductance. More... | |
| class | biomass_leaf_n_limitation |
| class | broyden_test |
| class | buck_swvp |
Determines the saturation water vapor pressure of atmospheric air using the saturation_vapor_pressure() function, which implements the Arden Buck equation. More... | |
| class | bucket_soil_drainage |
| class | c3_assimilation |
Calculates net assimilation, stomatal conductance, and intercellular CO2 concentration for a C3 leaf using c3photoC(). More... | |
| class | c3_canopy |
| class | c3_leaf_photosynthesis |
Uses the method from c3CanAC() to calculate leaf photosynthesis parameters for C3 plants. More... | |
| class | c3_parameters |
Uses c3_temperature_response() to calculate the values of key C3 photosynthesis parameters at leaf temperature. More... | |
| class | c4_assimilation |
Calculates net assimilation, stomatal conductance, and intercellular CO2 concentration for a C4 leaf using c4photoC(). More... | |
| class | c4_canopy |
| class | c4_leaf_photosynthesis |
Uses the method from CanAC() to calculate leaf photosynthesis parameters for C4 plants. More... | |
| class | canopy_gbw_thornley |
Calculates the boundary layer conductance using the canopy_boundary_layer_conductance_thornley() function. More... | |
| class | carbon_assimilation_to_biomass |
| Converts the canopy assimilation rate from a flux of CO2 molecules to a rate of dry biomass accumulation. More... | |
| class | cumulative_carbon_dynamics |
| Enables calculations of cumulative carbon dynamics. More... | |
| class | cumulative_water_dynamics |
| Enables calculations of cumulative water dynamics. More... | |
| class | daylength_calculator |
| Computes day_length using a model described by Forsythe et al. (1995). More... | |
| class | development_index |
| Calculates the development index (DVI) corresponding to plant growth rate. More... | |
| class | development_index_from_thermal_time |
| Calculates the development index from the thermal time. More... | |
| class | example_model_mass_gain |
| An example for the BioCro II manuscript. More... | |
| class | example_model_partitioning |
| An example for the BioCro II manuscript. More... | |
| class | fake_solar |
| Class created by EBL for testing and experimentation ... not meant for real simulations! More... | |
| struct | fixed_point_test_function |
| class | format_time |
Converts time (expressed as the number of hours since midnight on January 1) to day of year (doy) and hour values. More... | |
| class | FvCB |
Uses FvCB_assim() to evaluate the Farquhar-von-Caemmerer-Berry model for C3 photosynthesis. More... | |
| class | golden_ratio_hyperbola |
| Represents a simple hyperbola defined by f(x) = 1 + 1 / x. Intended to be used as a simple test case for simultaneous eqation solvers. The solution to f(x) = x is x = (1 + sqrt(5))/2, the "golden ratio.". More... | |
| class | grimm_soybean_flowering |
| Model for soybean development and flowering based on Grimm et al. (1993). More... | |
| class | grimm_soybean_flowering_calculator |
| Model for soybean development and flowering based on Grimm et al. (1993) More... | |
| class | harmonic_energy |
| class | harmonic_oscillator |
| class | height_from_lai |
| Estimates the canopy height as being proportional to LAI. More... | |
| class | hyperbola_2d |
| Represents two 2D hyperbolas defined by f(x,y) = 1 + 1 / (x + y) and g(x,y) = 1 + 1 / (2x - y). Intended to be used as a simple test case for simultaneous equation solvers. One solution to f(x,y) = x, g(x,y) = y exists at x = -1.126529, y = 0.656279 (determined numerically). More... | |
| class | incident_shortwave_from_ground_par |
| Uses a value for total PAR flux density measured at the Earth's surface to calculate the total light flux density in the direct beam and as diffuse radiation in both the PAR and NIR bands. More... | |
| class | leaf_evapotranspiration |
Uses leaf_energy_balance() to determine transpiration rate and leaf temperature. More... | |
| class | leaf_evapotranspiration_check |
Uses check_leaf_temp() to calculate a temperature difference. More... | |
| class | leaf_gbw_campbell |
Calculates the boundary layer conductance using the leaf_boundary_layer_conductance_campbell() function. More... | |
| class | leaf_gbw_nikolov |
Calculates the boundary layer conductance using the leaf_boundary_layer_conductance_nikolov() function. More... | |
| class | leaf_shape_factor |
Determines the leaf shape factor k from the solar zenith angle and the leaf shape chi_l (expressed as the ratio between horizontal and vertical leaf elements, where chi = 0, 1, and infinity for horizontal, spherical, and vertical leaf distributions, respectively). More... | |
| class | leaf_water_stress_exponential |
| class | light_from_solar |
| class | linear_vmax_from_leaf_n |
| class | litter_cover |
| Estimates the fraction of ground covered by leaf litter. More... | |
| class | magic_clock |
| class | maintenance_respiration |
| Includes maintenance respiration losses in the rate of change of each organ biomass. More... | |
| class | maintenance_respiration_calculator |
Calculates the rate of change in plant organ biomasses due to maintenance respiration; these are referred to as "maintenance respiration
rates," and the associated quantity names end with _mr_rate. More... | |
| class | Module_1 |
| class | Module_2 |
| class | Module_3 |
| class | module_library |
| class | multilayer_canopy_integrator |
| Calculates canopy-level values for assimilation and other quantities by adding the individual values from the sunlit and shaded leaves in each canopy layer, weighted by the relative fractions of sunlit and shaded leaves in each layer. More... | |
| class | multilayer_canopy_photosynthesis |
| Applies a leaf photosynthesis module to each layer and leaf class of a multilayer canopy. More... | |
| class | multilayer_canopy_properties |
Calculates environmental properties for sunlit and shaded leaves in each layer of a multilayer canopy, mostly using functions found in AuxBioCro.cpp. More... | |
| class | night_and_day_trackers |
| class | nr_ex |
| class | one_layer_soil_profile |
| class | one_layer_soil_profile_derivatives |
| class | oscillator_clock_calculator |
| class | parameter_calculator |
| class | partitioning_coefficient_logistic |
| Calculates carbon partitioning coefficients based on logistic-based functions and development index using the logistic-based functions from Osborne et al 2015. More... | |
| class | partitioning_coefficient_selector |
| class | partitioning_growth |
| This module determines the growth rate for several plant organs from the net rate of carbon assimilation due to photosynthesis (determined by a "partitioning growth calculator" module) and any additional carbon that may come from retranslocation. More... | |
| class | partitioning_growth_calculator |
| Uses a set of partitioning coefficients to determine net assimilation rates due to photosynthesis and respiration for several plant organs. More... | |
| class | partitioning_growth_calculator_leaf_costs |
| Uses a set of partitioning coefficients to determine net assimilation rates due to photosynthesis and respiration for several plant organs. More... | |
| class | penman_monteith_leaf_temperature |
| class | penman_monteith_transpiration |
| class | phase_clock |
| class | poincare_clock |
| class | priestley_transpiration |
| class | rasmussen_specific_heat |
Determines the specific heat capacity of atmospheric air at constant pressure using the rasmussen_specific_heat_of_air() function. More... | |
| class | rh_to_mole_fraction |
| Converts atmospheric relative humidity into a water vapor concentration expressed as a dimensionless mole fraction. More... | |
| class | root_onedim_test |
| Function object for Kepler's equation. Kepler's equation relates the mean anomaly \(y\) to the eccentric anomaly \(x\) of an elliptical orbit of eccentricity \(\varepsilon\). More... | |
| struct | root_test_function |
| Function object for Kepler's equation. Kepler's equation relates the mean anomaly \(y\) to the eccentric anomaly \(x\) of an elliptical orbit of eccentricity \(\varepsilon\). More... | |
| class | rue_leaf_photosynthesis |
| Calculates leaf photosynthesis parameters using a simple radiation use efficiency (RUE) model where net CO2 assimilation is assumed to be directly proportional to the incident photosynthetically active photon flux density (PPFD). More... | |
| class | senescence_coefficient_logistic |
| Calculates coefficients representing fraction of biomass senesced for each organ; coefficents are represented as a logistic functions depending on development index. More... | |
| class | senescence_logistic |
| Calculates the change in plant organ biomasses due to senescence. More... | |
| class | shortwave_atmospheric_scattering |
Uses lightME() to calculate the amount of sunlight scattered out of the direct beam by the atmosphere. More... | |
| class | sla_linear |
| Calculates the specific leaf area as a linear function of thermal time. More... | |
| class | sla_logistic |
| Calculates the specific leaf area as a logistic function of thermal time. More... | |
| class | soil_evaporation |
| class | soil_sunlight |
| Determines the fraction of ground area under the canopy exposed to direct sunlight. More... | |
| class | solar_position_michalsky |
| Calculates the solar position using the model described in Michalsky, J. J. "The Astronomical Almanac's algorithm for approximate solar position (1950–2050)" Solar Energy 40, 227–235 (1988) More... | |
| class | song_flowering |
| class | soybean_development_rate_calculator |
| Determines hourly soybean developments rate using photothermal functions. More... | |
| class | stefan_boltzmann_longwave |
| class | stomata_water_stress_exponential |
| class | stomata_water_stress_linear |
| class | stomata_water_stress_linear_and_aba_response |
| class | stomata_water_stress_sigmoid |
| class | ten_layer_c3_canopy |
Represents a ten layer canopy where leaf-level photosynthesis is calculated using the Farquhar-von-Cammerer-Berry model for C3 photosynthesis; see the c3_leaf_photosynthesis class for more information about this model. More... | |
| class | ten_layer_c4_canopy |
Represents a ten layer canopy where leaf-level photosynthesis is calculated using the Collatz et al. model for C4 photosynthesis; see the c4_leaf_photosynthesis class for more information about this model. More... | |
| class | ten_layer_canopy_integrator |
A child class of multilayer_canopy_integrator where the number of layers has been defined. Instances of this class can be created using the module factory, unlike the parent class multilayer_canopy_integrator. More... | |
| class | ten_layer_canopy_properties |
A child class of multilayer_canopy_properties where the number of layers has been defined. Instances of this class can be created using the module factory, unlike the parent class multilayer_canopy_properties. More... | |
| class | ten_layer_rue_canopy |
Represents a ten layer canopy where leaf-level photosynthesis is calculated using a simple radiation use efficiency (RUE) model; see the rue_leaf_photosynthesis class for more information about this model. More... | |
| class | thermal_time_and_frost_senescence |
| Determines senescence rates for several plant organs based on thermal time thresholds, the occurrence of frost, and magical time travel; only compatible with a fixed-step Euler solver. More... | |
| class | thermal_time_beta |
| Calculates the rate of thermal time accumulation using a beta distribution function. More... | |
| class | thermal_time_bilinear |
| Calculates the rate of thermal time accumulation using a bilinear model. More... | |
| class | thermal_time_development_rate_calculator |
| Calculates hourly plant development rate based on thermal time ranges of emergence, vegetative, and reproductive growth stages. More... | |
| class | thermal_time_linear |
| Calculates the rate of thermal time accumulation using a linear model. More... | |
| class | thermal_time_linear_extended |
| Calculates the rate of thermal time accumulation using an extended linear model. More... | |
| class | thermal_time_senescence |
| Determines senescence rates for several plant organs based on thermal time thresholds and magical time travel; only compatible with a fixed-step Euler solver. More... | |
| class | thermal_time_trilinear |
| Calculates the rate of thermal time accumulation using a trilinear model. More... | |
| class | total_biomass |
Calculates the total intact and senesced biomass and returns them as 'total_intact_biomass' and 'total_litter_biomass', respectively. More... | |
| class | total_growth_and_maintenance_respiration |
Calculates the total growth and maintenance respiration and returns them as 'total_growth_respiration' and 'total_maintenance_respiration', respectively. More... | |
| class | two_layer_soil_profile |
| class | varying_Jmax25 |
| Allows Jmax_at_25 to vary based on development index. More... | |
| class | water_vapor_properties_from_air_temperature |
Functions | |
| std::array< double, 2 > | test_function (const std::array< double, 2 > &x) |
| double | range_adjusted_atan2 (double y, double x) |
| double | strength_term (double const alpha, double const beta, double const DVI) |
| double | ksene (double rate, double alpha, double beta, double DVI) |
| double | photoFunc (double P, double Popt, double Pcrit) |
| double | tempFunc (double T, double Tmin, double Topt, double Tmax) |
This is the standard BioCro module library; it includes the essential modules used in typical BioCro crop growth simulations.
| using ten_layer_c3_canopy_parent = multilayer_canopy_photosynthesis< ten_layer_canopy_properties, c3_leaf_photosynthesis> |
Definition at line 11 of file multilayer_c3_canopy.h.
| using ten_layer_c4_canopy_parent = multilayer_canopy_photosynthesis< ten_layer_canopy_properties, c4_leaf_photosynthesis> |
Definition at line 11 of file multilayer_c4_canopy.h.
| using ten_layer_rue_canopy_parent = multilayer_canopy_photosynthesis< ten_layer_canopy_properties, rue_leaf_photosynthesis> |
Definition at line 11 of file multilayer_rue_canopy.h.
| double ksene | ( | double | rate, |
| double | alpha, | ||
| double | beta, | ||
| double | DVI | ||
| ) |
Definition at line 154 of file senescence_coefficient_logistic.h.
| double photoFunc | ( | double | P, |
| double | Popt, | ||
| double | Pcrit | ||
| ) |
Definition at line 240 of file soybean_development_rate_calculator.h.
|
inline |
This is like atan2 but with a range of [0, 2pi) instead of (-pi, pi]: When the point (x, y) is in the third or fourth quadrant (i.e., when y < 0), add 2pi to the value in (-pi, 0) returned by atan2 so that dawn_phase is always in the interval [0, 2pi).
Definition at line 122 of file oscillator_clock_calculator.h.
| double strength_term | ( | double const | alpha, |
| double const | beta, | ||
| double const | DVI | ||
| ) |
Definition at line 215 of file partitioning_coefficient_logistic.h.
| double tempFunc | ( | double | T, |
| double | Tmin, | ||
| double | Topt, | ||
| double | Tmax | ||
| ) |
Definition at line 222 of file soybean_development_rate_calculator.h.
| std::array< double, 2 > test_function | ( | const std::array< double, 2 > & | x | ) |
Definition at line 13 of file broyden_test.h.