Modular models allow users to focus on biology rather than programming

Presenting BioCro II: an updated software package for modular crop growth simulations.

You can listen to this page as an audio file.

Crop growth simulations play key roles in understanding the impact of global change on agriculture and in directing efforts to engineer plants capable of feeding the future world.

Unfortunately, code and documentation for many legacy models are difficult to find, use, and/or modify.

The BioCro logo is the text bio in green and crow in black followed by two interlocking gears. The bottom gear is composed of plant leaves.

Dr. Edward Lochocki, a Postdoctoral Researcher at the University of Illinois, and colleagues present an updated modular crop growth simulator that overcomes these deficiencies in a new in silico Plants article. The legacy BioCro model predicted plant growth over time given crop-specific parameters and environmental data as input. The authors made the newest version, BioCro II, modular by separating the model equations, parameter values, and method of solution. This new structure allows researchers to easily add or modify components of a model, facilitating exploratory studies that can help guide experimental efforts to improve crop yield or resilience.

A box to the left representing a simple model represented by interlocking gears with images for weather, aboveground tissue, and belowground tissue. These are combined by a model represented by an image of a computer. An arrow points to an output of a small pile of soybean pods. In the center is an image of a researcher with an idea of adding a DNA model component represented by an image of a scientist with a lightbulb over their head and a gear with an image of DNA in it. This gear is added to the gears previously appearing in the simple model in box on the right. Again these components are combined by a model represented by an image of a computer but this time the output is a larger pile of soybean pods.
A researcher can modify an existing model to make new predictions about important outputs like crop yield using BioCro II.

Three of the most significant advantages of the modular approach are expounded upon below:

First, the user needs less specialized knowledge to perform a simulation. Running the modular crop growth simulation software can be accomplished in three steps: users (1) choose equations from a library, (2) supply additional specifications, and (3) send this information to the BioCro engine, which solves the model and calculates the results. Although it is written primarily in C++, BioCro II is accessible through an R package that provides a user-friendly terminal-based interface, allowing users to harness the wide array of tools available in R for data input, statistical operations, and plotting.

A schematic diagram illustrating the process of running a crop growth simulation. First the user chooses equations from the library. Four example equations are listed in a table: C3 canopy, C4 canopy, thermal development, and photothermal development. Check marks are next to the C4 canopy and thermal development equations. Next, the user needs to supply specifications. Four example specifications are listed in a table: weather, Vc Max, soil depth, and initial biomass with their values and units. Next, an arrow from these two tables leads to an image of a computer with a BioCro inside it. This image is labeled “send to BioCro engine,” where the model is solved and results are calculated. Finally, an arrow from the computer leads to a graph representing the simulation that is produced. Day of year is on the X axis and organ mass is on the Y axis with data for stem and leaf plotted separately.
Schematic diagram illustrating the process of running a crop growth simulation by choosing equations from a library, supplying additional specifications, and sending this information to the BioCro engine, which solves the model and calculates the results.

Users can review details about the functions and library entries available in the BioCro II R package by accessing the comprehensive documentation A Practical Guide to BioCro.

Second, the user can build an understanding of individual model components as well as their interactions within the context of the entire model, taking advantage of the logical boundaries made by the module writers. Lochocki explains why this is important: “The scope of crop modelling is continually increasing as models start to include processes at different scales, from genetics all the way up to the global climate. At the same time, individual model components tend to become more detailed and specialized as they become more realistic. Complicating things further, interactions between model components can create new emergent behaviors. Coming at such a complex model head-on can be a daunting challenge, even for an expert in the field. Modular software like BioCro II allows a researcher to digest a large model in smaller pieces, understanding how each part functions on its own and in conjunction with others. In contrast, when a model is written as a monolithic chunk of code, this approach is difficult or impossible.”

Third, the user is easily able to swap model components for alternative versions to better match the available experimental inputs, to take advantage of new developments or to compare alternative components. The authors demonstrated this by swapping the model components for photosynthesis. They compared a simplified empirical statistical model of photosynthesis based on radiation use efficiency (RUE) with the mechanistic process-based Farquhar-von-Caemmerer-Berry (FvCB) model, leaving all other model components unchanged.

There are two graphs. Above, is a graph of day of year on the X axis and bio mass on the Y axis. This is split into 4 plant components: root, stem, grain, and leaf. Output for simulations using the mechanistic FvCB model for C3 photosynthesis and the empirical RUE model are similar. Below is a graph of light on the X axis and bio photosynthesis on the Y axis. In the RUE model, there is a purely linear relationship, while in the FvCB model, photosynthesis eventually begins to level off at higher light intensities.
Figure 1. (a) Biomass for several soybean tissues calculated throughout the growing season in using either the mechanistic FvCB model for C3 photosynthesis or an empirical RUE model. (b) Photosynthesis response to available light calculated with the FvCB model compared with the output from the RUE model.

A full season of environmental data was used to simulate soybean growth for each of the two models. This exercise revealed that it is possible to achieve close agreement throughout the growing season despite the very different approaches used to determine photosynthesis (Figure 1a). The origin of this agreement can be investigated by examining the relationship between photosynthesis (Agross) and light that hits the canopy (PPFD) in the two models. In the FvCB model, photosynthesis levels off at higher light intensities, while the linear RUE model overestimates photosynthesis at high light and underestimates photosynthesis at low light (Figure 1b). Although the calculated values of photosynthesis agree on average, the agreement is fragile and unlikely to hold in other years because the FvCB model is sensitive to critical environmental variables that are ignored by the RUE model.

It is straightforward to explore these contrasting photosynthetic models further using BioCro II because all the parameters are specified outside the model equations and their values can easily be changed. To demonstrate the utility of this feature, the authors performed a sensitivity analysis to better understand the response of the mechanistic FvCB model to environmental factors, and hence reveal the dynamics that are not included in the empirical RUE model. They found that the temperature response of total biomass is not significantly different between the RUE and FvCB simulations, due to the temperature dependence of other components involved in the simulation. On the other hand, the response of biomass to CO2 concentration is significantly different between the two models, with the RUE simulation having almost no response at all (Figure 2c). This is a key insight into these models that would have been difficult to achieve without modularity.

On the left is a graph with day of year on the X axis and biomass / temperature on the Y axis. The FvCB and RUE data is similar throughout the growing season. On the right is a graph with day of year on the X axis and biomass / CO2 on the Y axis. The FvCB data shows a response to CO2 over the course of the growing season, but the RUE data does not.
Figure 2. Normalized sensitivity coefficients for total biomass calculated with respect to air temperature during the course of the growing season; and atmospheric CO2.

BioCro II follows the general structure of a dynamical system. This means that the model describes how variables representing a particular system evolve with time. Although it may seem obvious that most models could be thought of in this way, many crop growth models are not programmed in this manner. However, writing the models explicitly as dynamical systems has many benefits. In particular, it facilitates modularity, in that two dynamical systems can be combined to form a third, simply by combining their individual components. In this way, complex multiscale models can be built from simpler ones. In practice, this is only possible to do if the model code is written in a way that clearly identifies components of a dynamical system. BioCro II enforces these distinctions, helping to ensure that dynamical systems and their sub-components can be recombined with ease

Co-author Dr. Justin McGrath, USDA Research Plant Physiologist, explains, “Models are nearly ubiquitously written explicitly as dynamical systems in many fields. BioCro II reproduces BioCro I as a dynamical system presenting it in a way familiar to most modelers. Furthermore, it extends the dynamical system concept by providing a way to modularly select parts of models, providing what we hope is a useful way for researchers to write their models and couple them with other models in the community”

Edward B Lochocki, Scott Rohde, Deepak Jaiswal, Megan L Matthews, Fernando Miguez, Stephen P Long, Justin M McGrath, BioCro II: a Software Package for Modular Crop Growth Simulations, in silico Plants, 2022, diac003,

BioCro II is open-source and available online at

Rachel Shekar

Rachel (she/her) is a Founding and Managing Editor of in silico Plants. She has a Master’s Degree in Plant Biology from the University of Illinois. She has over 15 years of academic journal editorial experience, including the founding of GCB Bioenergy and the management of Global Change Biology. Rachel has overseen the social media development that has been a major part of promotion of both journals.

Read this in your language

The Week in Botany

On Monday mornings we send out a newsletter of the links that have been catching the attention of our readers on Twitter and beyond. You can sign up to receive it below.

@BotanyOne on Mastodon

Loading Mastodon feed...