Open Sustainable Technology

A curated list of open technology projects to sustain a stable climate, energy supply, biodiversity and natural resources.

Browse accepted projects | Review proposed projects | Propose new project | Open Issues


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

Last synced: about 11 hours ago
JSON representation

Repository metadata



## BioCro [![Build Status](](
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 ([Humphries and Long, 1995]), and has previously been used for predicting
biomass yield and leaf area index of switchgrass and miscanthus
([Miguez et al., 2009]). In 2022, BioCro was reorganized to take a truly modular
approach to modeling ([Lochocki et al., 2022]) and a new soybean model was
developed ([Matthews et al., 2022]).

BioCro has also been integrated into a suite of tools that link the model
directly to crop trait and yield data ([LeBauer et al., 2013]). The Predictive
Ecosystem Analyzer ([PEcAn]( couples
BioCro to the [Biofuel Ecophysiological Traits and Yields

See [References](#references) below for a full list of scientific publications
using the BioCro framework.

### 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_).

### Installation
#### Requirements
- The [R environment]( version 3.6.0 or greater.
- On Windows, a version of
[Rtools]( appropriate for your
version of R.
- On Linux, gcc and g++ version 4.9.3 or greater (consult documentation for your
distribution for installation instructions).
- On MacOS, Xcode.

#### Installation steps
1. Obtain a local copy of this repository, making sure to include the Git
submodule code. This can be accomplished using either of two methods:
1. If you are new to Git, the easiest way to get a local copy is to install
GitHub Desktop and use the "Open with GitHub Desktop" option in the "Code"
dropdown on the GitHub page for this repository.
2. Alternatively, clone the repository using Git on the command
line in the usual fashion by running
`git clone ` The repository
contains a Git submodule, so you will need to take the additional step of
running `git submodule update --init` to obtain it.
2. Install the BioCro R package using one of the following sets of comands.
These assume that the source files are in a directory named "biocro" residing
in a parent directory located at "path_to_source_code_parent_directory".
1. To install from the command line:
cd path_to_source_code_parent_directory
2. To install from within R:
install.packages('biocro', repos=NULL, type='SOURCE')

### Making contributions

Please see the [contribution
before submitting changes.

### Software Documentation

See the [BioCro Documentation Web
There will be found not only the standard package documentation, but also
documentation of the C++ code, including notes on the biological models used in
BioCro and their implementation. Also included is documentation for BioCro
package developers and maintainers.

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

### License

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.

### Citing BioCro

Appropriate references for BioCro are
[Miguez et al. (2009)][Miguez et al., 2009] and
[Lochocki et al. (2022)][Lochocki et al., 2022], with details given below. To
cite the package itself, use `citation('BioCro')` in R to get details for the
current installed version.

## References
- [Humphries S and Long SP][Humphries and Long, 1995] (1995) WIMOVAC: a software package for modelling the dynamics of plant leaf and canopy photosynthesis. Computer Applications in the Biosciences 11(4): 361-371.
- [Miguez FE, Zhu XG, Humphries S, Bollero GA, Long SP][Miguez et al., 2009] (2009) A semimechanistic model predicting the growth and production of the bioenergy crop Miscanthus × giganteus: description, parameterization and validation. Global Change Biology Bioenergy 1: 282-296.
- [LeBauer D, Wang D, Richter K, Davidson C, Dietze M][LeBauer et al., 2013] (2013) Facilitating feedbacks between field measurements and ecosystem models. Ecological Monographs 83(2): 133-154.
- [Wang D, Jaiswal D, Lebauer DS, Wertin TM, Bollero GA, Leakey ADB, Long SP][Wang et al., 2015] (2015) A physiological and biophysical model of coppice willow (Salix spp.) production yields for the contiguous USA in current and future climate scenarios. Plant, Cell & Environment 38(9): 1850-1865.
- [Larsen S, Jaiswal D, Bentsen NS, Wang D, Long SP][Larsen et al., 2015] (2015) Comparing predicted yield and yield stability of willow and Miscanthus across Denmark. GCB Bioenergy 8(6): 1061-1070.
- [Jaiswal D, de Souza AP, Larsen S, LeBauer D, Miguez FE, Sparovek G, Bollero G, Buckeridge MS, Long SP][Jaiswal et al., 2017] (2017) Brazilian sugarcane ethanol as an expandable green alternative to crude oil use. Nature Climate Change 7(11): 788-792.
- [Lochocki EB, Rohde S, Jaiswal D, Matthews ML, Miguez FE, Long SP, McGrath JM][Lochocki et al., 2022] (2022) BioCro II: a software package for modular crop growth simulations. _in silico_ Plants 4(1): diac003.
- [Matthews ML, Marshall-Colón A, McGrath JM, Lochocki EB, Long SP][Matthews et al., 2022] (2022) Soybean-BioCro: a semi-mechanistic model of soybean growth. _in silico_ Plants 4(1): diab032.
- [He Y, Jaiswal D, Liang XZ, Sun C, Long SP][He et al., 2022] (2022) Perennial biomass crops on marginal land improve both regional climate and agricultural productivity. GCB Bioenergy 14(5): 558-571.
- [He Y, Matthews ML][He & Matthews, 2023] (2023) Seasonal climate conditions impact the effectiveness of improving photosynthesis to increase soybean yield. Field Crops Research 296: 108907.
- [Holland B, Matthews ML, Bota P, Sweetlove LJ, Long SP, diCenzo GC][Holland et al., 2023] (2023) A genome-scale metabolic reconstruction of soybean and Bradyrhizobium diazoefficiens reveals the cost–benefit of nitrogen fixation. New Phytologist 240(2): 744-756.

[Humphries and Long, 1995]:
[Miguez et al., 2009]:
[LeBauer et al., 2013]:
[Wang et al., 2015]:
[Larsen et al., 2015]:
[Jaiswal et al., 2017]:
[Lochocki et al., 2022]:
[Matthews et al., 2022]:
[He et al., 2022]:
[He & Matthews, 2023]:
[Holland et al., 2023]:

Owner metadata

GitHub Events

Last Year

Committers metadata

Last synced: 27 days ago

Total Commits: 2,798
Total Committers: 30
Avg Commits per committer: 93.267
Development Distribution Score (DDS): 0.642

Commits in past year: 259
Committers in past year: 4
Avg Commits per committer in past year: 64.75
Development Distribution Score (DDS) in past year: 0.263

Name Email Commits
eloch216 4****6 1001
justinmcgrath m****b@g****m 560
Scott Rohde s****e@i****u 407
Justin McGrath j****h 210
David LeBauer d****r@g****m 181
Megan L. Matthews 5****h 137
Deepak Jaiswal d****c@g****m 76
ajmann4 a****4@i****u 51
djaiswal d****l@d****u 28
Yufeng y****7@g****m 21
Ryan Grady R****6@G****m 19
songqingfeng s****g@g****m 19
Fernando Miguez f****z@g****m 18
Dan Wang d****g@d****) 15
acferris a****s@s****u 11
djaiswal d****l@u****) 7
Chris Black c****s@c****g 7
Dan Wang d****g@i****u 5
Jeremy Kemball j****l@g****m 4
arjunalal 3****l 4
Justin McGrath m****d@g****m 4
Venkatraman Srinivasan v****3@i****u 3
Alyssa Ferris A****s@g****g 2
wd w****d@w****) 2
uphone87 3****7 1
Deepak Jaiswal d****c@g****m 1
Justin McGrath j****h@b****u 1
Justin McGrath j****h@c****l 1
Ryan Grady r****6@g****m 1
alexandriatran 1****p@g****m 1

Committer domains:

Issue and Pull Request metadata

Last synced: 1 day ago

Total issues: 58
Total pull requests: 97
Average time to close issues: 4 months
Average time to close pull requests: about 1 month
Total issue authors: 14
Total pull request authors: 8
Average comments per issue: 6.6
Average comments per pull request: 4.81
Merged pull request: 70
Bot issues: 0
Bot pull requests: 0

Past year issues: 29
Past year pull requests: 74
Past year average time to close issues: 5 days
Past year average time to close pull requests: 5 days
Past year issue authors: 6
Past year pull request authors: 4
Past year average comments per issue: 8.38
Past year average comments per pull request: 3.82
Past year merged pull request: 58
Past year bot issues: 0
Past year bot pull requests: 0

More stats:

Top Issue Authors

  • gsrohde (21)
  • pnlfang (6)
  • justinmcgrath (5)
  • eloch216 (4)
  • infotroph (4)
  • dlebauer (3)
  • Aariq (2)
  • djaiswal (2)
  • istfer (2)
  • jessicaguo (2)
  • morio1968 (2)
  • serbinsh (2)
  • sruthi162114001 (2)
  • uphone87 (1)

Top Pull Request Authors

  • eloch216 (39)
  • gsrohde (36)
  • justinmcgrath (7)
  • dlebauer (5)
  • infotroph (4)
  • KristinaRiemer (2)
  • kimberlyh66 (2)
  • uphone87 (2)

Top Issue Labels

  • question (2)
  • tabled for now (2)
  • Fixed but not released (2)

Top Pull Request Labels

  • tabled for now (4)


  • stats * imports
  • knitr * suggests
  • lattice * suggests
  • testthat * suggests
.github/actions/build_pkgdown_site/action.yml actions
  • r-lib/actions/setup-pandoc v2 composite
.github/actions/doxygen-action/action.yml actions
  • Dockerfile * docker
.github/actions/render_bookdown_book/action.yml actions
  • r-lib/actions/setup-pandoc v2 composite
.github/actions/run_doxygen/action.yml actions
  • ./.github/actions/doxygen-action * composite
.github/workflows/R-CMD-check-backend.yaml actions
  • actions/checkout v3 composite
  • r-lib/actions/check-r-package v2 composite
  • r-lib/actions/setup-pandoc v2 composite
  • r-lib/actions/setup-r v2 composite
  • r-lib/actions/setup-r-dependencies v2 composite
  • r-lib/actions/setup-tinytex v2 composite
.github/workflows/R-CMD-check.yaml actions
  • JoshuaTheMiller/conditional-build-matrix 38b0036b90a7f5f1461f446948d156a714e4fa1e composite
  • actions/checkout v3 composite
.github/workflows/automatically-call-document.yml actions
.github/workflows/document.yml actions
  • ./.github/actions/build_pkgdown_site * composite
  • ./.github/actions/render_bookdown_book * composite
  • ./.github/actions/run_doxygen * composite
  • actions/checkout v3 composite
  • actions/upload-artifact v3 composite
  • r-lib/actions/setup-r v2 composite
  • r-lib/actions/setup-r-dependencies v2 composite
.github/workflows/document_quantities.yml actions
  • actions/cache v2 composite
  • actions/checkout v3 composite
  • actions/checkout v2 composite
  • r-lib/actions/setup-r v2 composite
.github/actions/doxygen-action/Dockerfile docker
  • alpine 3.16 build

Score: 7.371489295214277