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


The focus of CRootBox is the simulation of different types of root architecture, and to provide a generic interface for coupling with arbitrary soil/environmental models, e.g., in order to determine the impact of specific root architectures on function.

Last synced: about 11 hours ago
JSON representation

Repository metadata



# Hi, I am CPlantBox
[![Plant Simulations -- 8K resolution](]( "CPlantBox Simulations -- 8K resolution")

## For simulations in please use branch isp

[![DOI](]( [![Binder](](
## I can :
1. Create multiple plant structure
2. Coupling with PiafMunch, and make carbon and water flow inside of the plant.

## Try me 1 click

The most convenient way is to use google colab, which is a Linux virtual machine with jupyter notebook interface.
You can click the link to follow the guide there, just to click some buttons and you will be able to create plants
[here is the link to use it](

## or build local
### windows
CPlantBox is currently not available on windows.
Some pointers to setup a linux environment on windows are given on the [wiki](

### semi-automated CPlantBox (with dumux-rosi) installation via python script (recommended)

If you have and, you can set up CPlantBox (with or without the dumux-rosi extension) via an install script.\
This installation method requires ubuntu >= 20.04 and python >= 3.7.\
For CPlantBox __without__ the dumux-rosi extension, download the python file "".\
It will create a "CPB" folder and install inside the dependencies necessary to run CPlantBox.\
For CPlantBox __with__ the dumux-rosi extension, download the python file "" (based on the dumux installation file).\
This will create a "DUMUX" folder and install inside the dependencies necessary to run dumux-rosi.
This script might work on other linux OS but has not been tested.

### manual linux installation
Clone the repository by running:
git clone --depth 1 -b stable_v2.1
Run CMake which configures the CPlantBox libraries by
cmake . && make
in the root folder, and run some Python tutorial examples (see tutorial/latex/PlantBox_RootSytem), e.g
cd tutorial/examples/python

The dependecies are listed in the requirements.txt file.
# Folder sructure

`/modelparameter` Plant parameter files\
`/src` CPlantBox C++ codes\
`/test` Python tests for all CPlantBox classes\
`/tutorial` learn to use CPlantBox\
`/experimental` Specific applications (in sub-folders). contrary to scripts in `/tutorial`, might not be kept up to date

# Code documentation

Create the documentation by running doxygen in the folder
$ doxygen doxy_config

The documentation will be located in the folder /doc. Compile doc/latex/refman.tex to generate the full doxygen documentation in doc/latex/refman.pdf.

Collaboration diagrams give an overview of the code in folder /docs.

# Examples
Simulation videos availabe in Youtube Channel

[![Plant Simulations -- 8K resolution](]( "CPlantBox Simulations -- 8K resolution")

Owner metadata

GitHub Events

Last Year

Committers metadata

Last synced: 27 days ago

Total Commits: 1,301
Total Committers: 23
Avg Commits per committer: 56.565
Development Distribution Score (DDS): 0.699

Commits in past year: 241
Committers in past year: 11
Avg Commits per committer in past year: 21.909
Development Distribution Score (DDS) in past year: 0.61

Name Email Commits
Daniel Leitner d****r@s****t 391
xiaoranzhou z****r@g****m 338
m-giraud 7****d 188
m-giraud m****d@f****e 128
Daniel Leitner d****r@u****t 102
Daniel Leitner d****r@f****e 54
Andrea Schnepf a****f@f****e 25
magdalena m****l@f****e 24
Andrea Schnepf a****f@i****e 12
deepanshukhare d****e@l****m 7
Guillaume Lobet g****t@g****m 7
TobiasSelzner s****z@u****e 5
Arnaud Bouvry a****y@u****e 4
Dirk Helmrich d****h@f****e 4
Sibghat Ullah s****t@g****m 3
VincentVerbeke 8****e 2
Adrien Heymans a****s@u****e 1
Deepanshu Khare d****e@f****e 1
Dirk Helmrich d****h@a****e 1
ThomasFeron 3****n 1
HeymansAdrien 3****n 1
Mona Giraud g****1@j****s 1
shtepan s****z@g****m 1

Committer domains:

Issue and Pull Request metadata

Last synced: 1 day ago

Total issues: 11
Total pull requests: 106
Average time to close issues: about 1 month
Average time to close pull requests: 5 days
Total issue authors: 8
Total pull request authors: 6
Average comments per issue: 2.36
Average comments per pull request: 0.11
Merged pull request: 76
Bot issues: 0
Bot pull requests: 0

Past year issues: 6
Past year pull requests: 44
Past year average time to close issues: 21 days
Past year average time to close pull requests: 1 day
Past year issue authors: 4
Past year pull request authors: 5
Past year average comments per issue: 3.0
Past year average comments per pull request: 0.16
Past year merged pull request: 35
Past year bot issues: 0
Past year bot pull requests: 0

More stats:

Top Issue Authors

  • ArnaudBvr (3)
  • rarygit (2)
  • andrewfullard (1)
  • capsulecorplab (1)
  • Chiaki59 (1)
  • dhelmrich (1)
  • m-ingenbleek (1)
  • nana784365 (1)

Top Pull Request Authors

  • m-giraud (97)
  • DanielLeitner (4)
  • MagdaLa (2)
  • ArnaudBvr (1)
  • dhelmrich (1)
  • m-weigand (1)

Top Issue Labels

  • bug (1)
  • help wanted (1)

Top Pull Request Labels


requirements.txt pypi
  • ipython ==8.18.1
  • matplotlib ==3.8.2
  • matplotlib-inline ==0.1.6
  • mpi4py ==3.1.5
  • numpy ==1.26.2
  • pandas ==2.1.4
  • pybind11 ==2.11.1
  • pybind11-global ==2.11.1
  • scipy ==1.11.4
  • vtk ==9.3.0

Score: 6.919683849847411