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

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

  1. Structure definition and analysis
  2. Water flow in CPlantBox

Videos

Simulation videos availabe in Youtube channel.


Owner metadata


GitHub Events

Total
Last Year

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 Email 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:


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

More stats: https://issues.ecosyste.ms/repositories/lookup?url=https://github.com/Plant-Root-Soil-Interactions-Modelling/CPlantBox

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

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: 7.246368080102461