Git Product home page Git Product logo

wheatfspm's Introduction

License

Documentation Status

WheatFspm

WheatFspm is a Functional Structural Plant Model (FSPM) of wheat which fully integrates shoot morphogenesis and the metabolism of carbon (C) and nitrogen (N) at organ scale within a 3D representation of plant architecture. Plants are described as a collection of tillers, each consisting in individual shoot organs (lamina, sheath, internode, peduncle, chaff), a single root compartment, the grains, and a phloem.

WheatFspm simulates:

  • Organ photosynthesis, temperature and transpiration from light distribution within the 3D canopy which is provided by Caribu and Adel-Wheat models ((Chelle and Andrieu, 1998) ; (Fournier et al., 2003), respectively)
  • Leaf and internode elongation
  • Leaf, internode and root growth in mass
  • N acquisition, synthesis and allocation of C and N metabolites at organ level and among tiller organs
  • Senescence of shoot organs and roots

Model inputs are the climatic conditions (temperature, light, humidity, CO2, wind, soil NO3-) and initial dimensions, mass and metabolic composition of individual organs.

alt text

Description

WheatFspm consists in a set of sub-models (named submodules in git) which share inputs/outputs through an MTG object:

alt text Adapted from Gauthier et al. (2020)

  • Farquhar-Wheat: Farquhar-based model of photosynthesis, stomatal conductance, organ temperature and transpiration.
  • Elong-Wheat: regulation of leaf and internode elongation by C and N metabolites, temperature and coordination rules.
  • Growth-Wheat: growth in biomass of leaves, internodes and roots ; related consumption in C and N metabolites.
  • CN-Wheat: synthesis and degradation of C and N metabolites at organ level and allocation between tillers' organs. See doc at https://cn-wheat.readthedocs.io/
  • Respi-Wheat: respiratory-costs related to the main biological processes.
  • Senesc-Wheat: organ senescence and consequences in organ biomass, green area and remoblisation of C and N metabolites.
  • Fspm-Wheat: is the submodule containing the interfaces (facades) for reading/updating information between each sub-model and the MTG. Also includes the scripts to be run for using all sub-models.

Table of Contents

Installation

WheatFspm has been tested on Windows 10 64 bit and Linux Fedora 24 64 bit. WheatFspm is now developed in Python 3.

Prerequisites

WheatFspm has the following dependencies (see documentation in the links provided, instructions for their installation are given in Installing):

Installing

WheatFspm has to be installed in a conda environment containing all dependencies.

  • Install Miniconda 2 or 3 for Python 3.7: https://docs.conda.io/en/latest/miniconda.html
  • Create a new environment in an Anaconda prompt: conda create -n WheatFspm python=3.7 openalea.mtg openalea.plantgl openalea.lpy alinea.caribu alinea.astk coverage nose sphinx statsmodels -c conda-forge -c fredboudon
  • Activate the conda environment: conda activate WheatFspm
  • Install Adel-Wheat: Download and extract the following archive https://github.com/rbarillot/adel/archive/python3.zip (temporary branch for python 3 compatibility) cd to your local reposoitory of adel and install it in your conda environment python setup.py develop
  • Install FspmWheat: 'todo'

Users

Developers

This package contains Git submodules (in French).

Development is done in the different submodules.

Cloning

To clone the project, please use:

git clone --recurse-submodules https://github.com/openalea-incubator/WheatFspm

Updating submodules

If you want to update all submodules:

git submodule update --remote

Otherelse, update each one to a specific version, branch or tag, do:

cd mypackage
git fetch
git merge origin/master

Install packages in develop mode

  • Open a command line interpreter into each copy of submodels
  • Run command: python setup.py develop --user

Usage

To date, WheatFspm has been used in four main contexts described below.

The scripts to run WheatFSPM are located in:

  • WheatFspm\fspm-wheat\example\NEMA
  • WheatFspm\fspm-wheat\example\Papier_FSPMA2016
  • WheatFspm\fspm-wheat\example\Vegetative_stages
  • WheatFspm\fspm-wheat\example\Scenarii_monoculms

NEMA

This example deals with the post-flowering stages of wheat developement under 3 nitrogen fertilisation regies (H0, H3 and H15). The main processes described are leaf senescence, C and N remobilisation, grain filling). During that stages, all vegetative organs have completed their growth. This work led to the research articles Barillot et al. (2016a) and Barillot et al. (2016b). This example has been maintained in the current version ; results of above papers were generated using the tag release-1.0 of CN-Wheat.

To run the example:

  • Open a command line interpreter in WheatFspm\fspm-wheat\example\NEMA
  • Run each script called main.py located in NEMA_H0, NEMA_H3, NEMA_H15: python main.py

Papier_FSPMA2016

This example deals with the effects of leaf inclination, radiations regimes, plant density and sowing patterns on plant metabolism and grain filling during the post-flowering stages.
This work led to the research article Barillot et al. (2019). The scripts have not been maintained in the current version but are available using tags paper_FSPMA16 or each submodule listed in Description.

To run the example:

  • Open a command line interpreter in WheatFspm\fspm-wheat\example\Papier_FSPMA2016
  • Run each script called main.py located in the different sub-directories: python main.py

Vegetative stages

This example deals with the early vegetative stages of wheat development. It mainly covers the processes of leaf, internode and roots growth. Tillering is simplified: tiller emergence is a model input while tiller metabolism and growth is approximated from that of the main stem. This work led to the research article Gauthier et al. (2020). Results were obtained from the tag paper_JXBot_2020. To run the model used for the paper, please download the code archives at DOI

To run the example:

  • Open a command line interpreter in WheatFspm\fspm-wheat\example\Vegetative_stages
  • Run script main.py: python main.py

Scenarios_monoculms

This example deals with the plasticity of leaf growth during the vegetative stages of wheat development. The growth of wheat monoculms was simulated for highly contrasting conditions of soil nitrogen concentration, incident light and planting density. This work led to the research article Gauthier et al. (2021). Results were obtained from the following sources: cn-wheat, elong-wheat, growth-wheat, farquhar-wheat, senesc-wheat, respi-wheat and fspmwheat-wheat.

To run the model used for the paper, please download the code archives at DOI

To run the example:

  • Open a command line interpreter in WheatFspm\fspm-wheat\example\Scenarios_monoculms
  • For a single scenraio, run the script main.py: python main.py
  • The whole set of scenarios was run in the high-performance computing center MESO@LR (Université de Montpellier, France)

Credits

Authors

  • Romain BARILLOT - model designing, development and validation - rbarillot
  • Marion GAUTHIER - model designing, development and validation - mngauthier
  • Camille CHAMBON - software designing, development, deployment and optimization - cachambon
  • Bruno ANDRIEU - model designing and validation, scientific project management - bandrieu

Contributors

Funding

  • INRAE: salaries of permanent staff
  • French Research National Agency: projects Breedwheat (ANR-10-BTBR-03) and Wheatamix (ANR-13-AGRO0008): postdoctoral research of R.Barillot
  • itk company and ANRT: funded the Cifre PhD thesis of M.Gauthier

License

This project is licensed under the CeCILL-C License - see file LICENSE for details

wheatfspm's People

Contributors

mngauthier avatar pradal avatar rbarillot avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar

wheatfspm's Issues

Installation confusion

Hi,
I'm attempted to follow the installation instructions in the readme, but am running into problems. I'm on Ubuntu Linux 20.04 x64.

The initial statement to create the conda environment is successful:

conda create -n WheatFspm python=3.7 openalea.mtg openalea.plantgl openalea.lpy alinea.caribu alinea.astk coverage nose sphinx statsmodels -c conda-forge -c fredboudon

Although I'm unclear whether python 3.7 or python 2.7 is correct, as the previous section of the readme states that python 2.7 should be used. However, the conda create statement fails if I try to use python 2.7 due to version conflicts.

After activating the conda environment, the next installation step in the readme is to install Adel-Wheat:

conda install https://github.com/rbarillot/adel/archive/isolate_rpy.zip

However, this command fails, with the error: PackagesNotFoundError: The following packages are not available from current channels: - //github.com/rbarillot/adel/archive/isolate_rpy.zip

I'm not familiar with conda, but it looks like it thinks I'm trying to install a package named //github.com/rbarillot/adel/archive/isolate_rpy.zip.

I tried downloading isolate_rpy.zip manually, and running python setup.py develop --user(this required openalea.deploy to be installed). However, this threw an error:

AttributeError: 'dict' object has no attribute 'iteritems'

Which is caused because this code is expecting to be run under python 2 - which isn't trivially possible, due to earlier conda conflicts when I tried to perform this installation under python 2.

I tried a few other things, but was not able to complete the installation.

Please can you let me know how to succeed in installing WheatFspm?

Many thanks :)
Chris

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.