Soybean-BioCro model definition
soybean.Rd
Initial values, parameters, direct modules, differential modules, and
a differential equation solver that can be used to run soybean growth
simulations in Champaign, Illinois and other locations. Along with the soybean
circadian clock specifications (soybean_clock
), these values
define the soybean growth model of Matthews et al. (2022)
[doi:10.1093/insilicoplants/diab032
], which is commonly referred to as
Soybean-BioCro.
To represent soybean growth in Champaign, IL, these values must be paired with
the Champaign weather data (cmi_soybean_weather_data
). This
weather data includes the output from the soybean circadian clock model
(soybean_clock
), so the clock components do not need to be
included when running a soybean growth simulation using this weather data.
The parameters already include the clay_loam
values from the
soil_parameters
dataset, which is the appropriate soil type for
Champaign.
Some specifications, such as the values of photosynthetic parameters, would remain the same in any location; others, such as the latitude or longitude, would need to change when simulating crop growth in different locations. Care must be taken to understand each input quantity before attempting to run simulations in other places or for other cultivars.
Format
A list of 5 named elements that are suitable for passing to
run_biocro
, as described in the help page for
crop_model_definitions
.
Details
As improvements are made to the BioCro modules, their behavior changes, and the soybean model parameters must be updated. Following significant module updates, reparameterization is performed using the same method and data as used in Matthews et al. (2022). The following is a summary of reparameterizations that have occurred since the original publication of the Soybean-BioCro model:
2023-06-18: Several modules have been updated, and the value of the atmospheric transmittance has been changed from 0.85 to 0.6 based on Campbell and Norman, An Introduction to Environmental Biophysics, 2nd Edition, Pg 173. Due to these changes, reparameterization of the following was required:
alphaLeaf
,alphaRoot
,alphaStem
,alphaShell
,betaLeaf
,betaRoot
,betaStem
,betaShell
,rateSeneLeaf
,rateSeneStem
,alphaSeneLeaf
,betaSeneLeaf
,alphaSeneStem
, andbetaSeneStem
.2023-03-15: Several modules have been updated. The most significant changes are that (1) the
BioCro:no_leaf_resp_neg_assim_partitioning_growth_calculator
now reduces the leaf growth rate in response to water stress and (2) the partitioning modules now include a new tissue type (shell
). The new component allows us to distinguish between components of the soybean pod, whereshell
represents the pericarp andgrain
represents the seed. This distinction has been found to be important for accurately predicting seed biomass, which is more important in agricultural settings than the entire pod mass, since the pericarp is not included in typical yield measurements. Due to these changes, reparameterization of the following was required:alphaLeaf
,alphaRoot
,alphaStem
,alphaShell
,betaLeaf
,betaRoot
,betaStem
,betaShell
,rateSeneLeaf
,rateSeneStem
,alphaSeneLeaf
,betaSeneLeaf
,alphaSeneStem
, andbetaSeneStem
. It was also necessary to add a new direct module to the model definition:BioCro:leaf_water_stress_exponential
. This module calculates the fractional reduction in leaf growth rate due to water stress.
Whenever a reparameterization is made, this list should be updated, and any vignettes using the soybean model should be checked to see if any axis limits, etc., need to change.
Source
This model is described in detail in Matthews et al. (2022) [doi:10.1093/insilicoplants/diab032 ]. Here we make a few notes about some of its components:
For this model, the ODE solver type should not be
boost_rosenbrock
orauto
(which defaults toboost_rosenbrock
when a fixed step size Euler ODE solver is not required, as in this case) since the integration will fail unless the tolerances are stringent (e.g.,output_step_size = 0.01
,adaptive_rel_error_tol = 1e-9
,adaptive_abs_error_tol = 1e-9
).For the initial total seed mass per land area, we use the following equation:
Number of seeds per meter * weight per seed / row spacing
. The number of seeds per meter is 20 and the row spacing is 0.38 m, as reported in Morgan et al. (2004) [doi:10.1104/pp.104.043968 ]. The weight per seed is based on the average of .12 to .18 grams, as reported by Feedipedia. Thus, we have an initial biomass of(20 seeds / m) * (0.15 g / seed) / (0.38 m) = 7.89 g / m^2
, equivalent to0.0789 Mg / ha
in the typical BioCro units. Since this model does not have a seed component, this value is used to determine the initialLeaf
,Stem
, andRoot
biomass, assuming 80% leaf, 10% stem, and 10% root.For historical reasons, the seed tissue in this model is called
Grain
. The entire pod biomass can be calculated by adding theGrain
andShell
biomass.For historical reasons, this model includes a
Rhizome
tissue. Soybean does not have a rhizome, so the rhizome in the model does not grow or senesce. To achieve this, thekRhizome_emr
andrateSeneRhizome
parameters must be set to 0. It is also necessary to specify values for several other quantities such asalphaSeneRhizome
,betaSeneRhizome
, and the initial rhizome mass, although the actual values of these quantities will have no effect on the simulation output.For historical reasons, some of the modules that define Soybean-BioCro require input quantities that are not actually used for any calculations; these "extraneous" parameters are identified in
data/soybean.R
.The
sowing_time
input to thesoybean_development_rate_calculator
module is set to 0 because Soybean-BioCro uses the weather data to set the sowing time. In other words, the weather data is truncated so it begins at the sowing date.