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

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

Last synced: about 11 hours ago
JSON representation

Repository metadata

README

        

# Hi, I am CPlantBox
[![Plant Simulations -- 8K resolution](https://media.giphy.com/media/LmBztw7mNwluJPJ3cU/giphy.gif)](https://www.youtube.com/watch?v=jNbvjW-WFvk "CPlantBox Simulations -- 8K resolution")

## For simulations in https://doi.org/10.1101/810507 please use branch isp

[![DOI](https://zenodo.org/badge/95107851.svg)](https://zenodo.org/badge/latestdoi/95107851) [![Binder](https://mybinder.org/badge_logo.svg)](https://mybinder.org/v2/gh/xiaoranzhou/cpb-binder/master)
## 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](http://b.cplantbox.com).

## 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](https://github.com/Plant-Root-Soil-Interactions-Modelling/CPlantBox/wiki/Help-for-windows-users).

### 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 "installCPlantBox.py".\
Run
```bash
python3 installCPlantBox.py
```
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 "installDumuxRosi_Ubuntu.py" (based on the dumux installation file).\
run
```bash
python3 installDumuxRosi_Ubuntu.py
```
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:
```bash
git clone --depth 1 -b stable_v2.1 https://github.com/Plant-Root-Soil-Interactions-Modelling/CPlantBox.git
```
Run CMake which configures the CPlantBox libraries by
```bash
cmake . && make
```
in the root folder, and run some Python tutorial examples (see tutorial/latex/PlantBox_RootSytem), e.g
```bash
cd tutorial/examples/python
python3 example1a.py
```

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 https://www.youtube.com/channel/UCPK-pFfpK94jiamgwHxX32Q

[![Plant Simulations -- 8K resolution](https://media.giphy.com/media/LmBztw7mNwluJPJ3cU/giphy.gif)](https://www.youtube.com/watch?v=jNbvjW-WFvk "CPlantBox Simulations -- 8K resolution")


Owner metadata


GitHub Events

Total
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: https://issues.ecosyste.ms/repositories/lookup?url=https://github.com/Plant-Root-Soil-Interactions-Modelling/CPlantBox

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


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