BioCro is a model that predicts plant growth over time given crop-specific parameters and environmental data as input.

It uses models of key physiological and biophysical processes underlying plant growth, and has previously been used for predicting biomass yield and leaf area index of switchgrass and miscanthus. In 2022, BioCro was reorganized to take a truly modular approach to modeling and a new soybean model was developed.

An example

The run_biocro() function accepts initial values, parameters, climate variables, and sets of modules to run. It returns the results in a data frame.


result <- with(soybean, {run_biocro(

xyplot(Stem + Leaf ~ TTc, data = result, type='l', auto = TRUE)

There are parameters and modules for soybean (Glycine max), miscanthus (Miscanthus x giganteus), and willow (Saliceae salix).

Getting Started

The best place to get started with BioCro is the public BioCro Documentation web site, which includes the following:

There is also a separate page that documents all of the quantities used by the Standard BioCro Module Library.


The BioCro R package is licensed under the MIT license, while the BioCro C++ framework is licensed under version 3 or greater of the GNU Lesser General Public License (LGPL). This scheme allows people to freely develop models for any use (public or private) under the MIT license, but any changes to the framework that assembles and solves models must make source code changes available to all users under the LGPL. See LICENSE.note for more details.