CRootBox
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.
https://github.com/Plant-Root-Soil-Interactions-Modelling/CPlantBox
Category: Biosphere
Sub Category: Plants and Vegetation
Last synced: 36 minutes ago
JSON representation
Repository metadata
- Host: GitHub
- URL: https://github.com/Plant-Root-Soil-Interactions-Modelling/CPlantBox
- Owner: Plant-Root-Soil-Interactions-Modelling
- License: gpl-3.0
- Created: 2017-06-22T11:19:57.000Z (about 8 years ago)
- Default Branch: master
- Last Pushed: 2025-06-29T18:18:05.000Z (5 days ago)
- Last Synced: 2025-06-29T19:25:10.548Z (5 days ago)
- Language: Python
- Size: 1.31 GB
- Stars: 58
- Watchers: 8
- Forks: 19
- Open Issues: 3
- Releases: 6
-
Metadata Files:
- Readme: README.md
- License: LICENSE
README.md
Introduction
CPlantBox is a functional-structural plant model that is built in a modular way that can be used at several levels of complexity. CPlantBox describes the geometry of plants by their individual organs, such as roots, stems, and leaves, which evolve over time. It can model functional aspects such as water and carbon dynamics within the plant, and provides gerneral tools to build plant soil-interaction models. To solve partial differential equations CPlantBox can use the finite volume solver DuMux and offers simplified Python interfaces in the repository dumux-rosi.
Installation
Linux - with Python script
This installation method requires Ubuntu >= 20.04 and Python >= 3.7. For CPlantBox without dumux-rosi, download the Python file "installCPlantBox.py", and run it:
sudo apt-get update
sudo apt-get upgrade
[ ! -d 'cpbenv' ] && python3 -m venv cpbenv && source cpbenv/bin/activate || source cpbenv/bin/activate
wget https://raw.githubusercontent.com/Plant-Root-Soil-Interactions-Modelling/CPlantBox/master/installCPlantBox.py
python3 installCPlantBox.py
For CPlantBox with dumux-rosi, download and run the Python file "installDumuxRosi_Ubuntu.py" (the file is based on the DuMu$^x$ installation file).
sudo apt-get update
sudo apt-get upgrade
[ ! -d 'cpbenv' ] && python3 -m venv cpbenv && source cpbenv/bin/activate || source cpbenv/bin/activate
wget https://raw.githubusercontent.com/Plant-Root-Soil-Interactions-Modelling/CPlantBox/master/installDumuxRosi_Ubuntu.py
python3 installDumuxRosi_Ubuntu.py
The script will install DuMux and CPlantBox, and CPlantBox is setup within the virtual environment 'cpbenv'.
Activate the 'cpbenv' environment when using CPlantBox:
source cpbenv/bin/activate
The scripts might work on other Linux OS but has not been tested.
Linux - manual installation
Clone the repository by running
git clone --depth 1 -b master https://github.com/Plant-Root-Soil-Interactions-Modelling/CPlantBox.git
and use CMake to configure and compile the CPlantBox libraries
cmake . && make
To test the installation run a tutorial example, e.g
cd tutorial/examples/python
python3 example1a.py
Dependecies are listed in the requirements.txt file.
Windows
CPlantBox is currently not available on windows. Some pointers to setup a Linux environment on windows are given on the wiki.
Installation on the JSC agrocluster
Please refer to the wiki
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 docs/ folder
doxygen doxy_config
The documentation will be created in this folder. Compile doc/latex/refman.tex to generate the full doxygen documentation in doc/latex/refman.pdf. Additionally, collaboration diagrams give an overview of the code in folder /docs.
Online resources
WebApps
The official CPlantBox webapp helps to demonstrate the impact of various CPlantBox parameters and to analyse and explore the resulting 3D plant geometry.
Another web application was designed to conduct simulations and visualize the dynamics of plant growth. The source code is avialable at github-xiaoranzhou.
Jupyter notebooks
Videos
Simulation videos availabe in Youtube channel.
Owner metadata
- Name: Plant-Root-Soil-Interactions-Modelling
- Login: Plant-Root-Soil-Interactions-Modelling
- Email:
- Kind: organization
- Description:
- Website:
- Location:
- Twitter:
- Company:
- Icon url: https://avatars.githubusercontent.com/u/25530913?v=4
- Repositories: 4
- Last ynced at: 2023-02-26T22:15:15.875Z
- Profile URL: https://github.com/Plant-Root-Soil-Interactions-Modelling
GitHub Events
Total
- Create event: 53
- Release event: 2
- Issues event: 4
- Watch event: 10
- Delete event: 32
- Member event: 1
- Issue comment event: 8
- Push event: 250
- Pull request review event: 1
- Pull request event: 65
- Fork event: 1
Last Year
- Create event: 53
- Release event: 2
- Issues event: 4
- Watch event: 10
- Delete event: 32
- Member event: 1
- Issue comment event: 8
- Push event: 250
- Pull request review event: 1
- Pull request event: 65
- Fork event: 1
Committers metadata
Last synced: about 2 months ago
Total Commits: 1,506
Total Committers: 23
Avg Commits per committer: 65.478
Development Distribution Score (DDS): 0.736
Commits in past year: 181
Committers in past year: 8
Avg Commits per committer in past year: 22.625
Development Distribution Score (DDS) in past year: 0.608
Name | Commits | |
---|---|---|
Daniel Leitner | d****r@s****t | 397 |
m-giraud | 7****d | 387 |
xiaoranzhou | z****r@g****m | 338 |
Daniel Leitner | d****r@f****e | 133 |
Daniel Leitner | d****r@u****t | 114 |
Andrea Schnepf | a****f@f****e | 45 |
magdalena | m****l@f****e | 25 |
annasheck | a****k@o****m | 15 |
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 |
Adrien Heymans | a****s@u****e | 2 |
VincentVerbeke | 8****e | 2 |
Mona Giraud | g****1@j****s | 1 |
Dirk Helmrich | d****h@a****e | 1 |
Deepanshu Khare | d****e@f****e | 1 |
Anna Sophia Heck | a****k@i****e | 1 |
ThomasFeron | 3****n | 1 |
shtepan | s****z@g****m | 1 |
Committer domains:
- fz-juelich.de: 5
- ibg3048.ibg.kfa-juelich.de: 1
- alumni.fh-aachen.de: 1
- jwlogin07.juwels: 1
- uclouvain.be: 1
- uliege.be: 1
- uni-bonn.de: 1
- icg-iv-w2k.kfa-juelich.de: 1
- univie.ac.at: 1
- simwerk.at: 1
Issue and Pull Request metadata
Last synced: 1 day ago
Total issues: 14
Total pull requests: 165
Average time to close issues: about 1 month
Average time to close pull requests: 3 days
Total issue authors: 10
Total pull request authors: 8
Average comments per issue: 2.43
Average comments per pull request: 0.1
Merged pull request: 131
Bot issues: 0
Bot pull requests: 0
Past year issues: 3
Past year pull requests: 54
Past year average time to close issues: about 2 months
Past year average time to close pull requests: about 15 hours
Past year issue authors: 2
Past year pull request authors: 5
Past year average comments per issue: 2.67
Past year average comments per pull request: 0.07
Past year merged pull request: 52
Past year bot issues: 0
Past year bot pull requests: 0
Top Issue Authors
- ArnaudBvr (3)
- rarygit (2)
- noemiversluijs (2)
- andrewfullard (1)
- capsulecorplab (1)
- Chiaki59 (1)
- m-ingenbleek (1)
- dhelmrich (1)
- nana784365 (1)
- Murilodsv (1)
Top Pull Request Authors
- m-giraud (141)
- DanielLeitner (8)
- MagdaLa (6)
- t-selzner (4)
- annasheck (3)
- ArnaudBvr (1)
- dhelmrich (1)
- m-weigand (1)
Top Issue Labels
- bug (1)
- help wanted (1)
Top Pull Request Labels
Dependencies
- 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: 7.246368080102461