L-grass User Guide

Introduction

A Functional Structural Plant Model of ryegrass morphogenesis of leaf and roots, based on self regulations.

These researches lead to the following publications:

Migault V. 2015. Insertion de la morphogenèse racinaire dans L grass, un modèle structure-fonction de graminées fourragères. Verdenal A. 2009. De la simulation de la morphogénèse de l’appareil aérien du ray-grass anglais (Lolium perenne L.). Exploration d’un schéma cybernétique inspiré du concept d’auto-organisation et applications. Verdenal A, Combes D, Escobar-Gutiérrez AJ. 2008. A study of ryegrass architecture as a self-regulated system, using functional-structural plant modelling. Functional Plant Biology 35: 911–924.

For installation, testing and deployment: please see file README.md.

Implementation and architecture

Software design

Programming language

L-grass is a software implemented as a Python package, using the L-Py platform (http://openalea.gforge.inria.fr/dokuwiki/doku.php?id=packages:vplants:lpy:doc:install), a programming framework for Lsystems in Python (http://www.python.org/).

Project tree

The project of L-grass consists of several files and directories:

  • lgrass/ is the Python package, i.e. the sources of L-grass (see Package dependencies),
    • :mod:`lgrass.lpy`: the script used to run the model,
    • inputs/: the inputs of L-grass,
    • outputs/: the outputs generated by L-grass,
  • test/ is for the unit test,
    • test_lgrass.py: the script to run the unit test,
    • input/: the inputs used for the unit test,
    • outputs/: the expected and actual outputs of the unit test,
  • doc/ contains the user and reference (i.e. API) documentations,
    • index.rst: the main page of the documentation,
    • user.rst: the user guide (this is what you are currently reading…),
    • ref.rst: the reference guide (a.k.a. API documentation),
    • conf.py: the configuration file used to build the documentation,
    • _build/: directories and files generated by library Sphinx when building the documentation,
      • pickled/: caches of the source “*.rst” documents (not needed to display the HTML documentation),
      • html/: the HTML documentation generated by Sphinx,
    • _static/: custom static files (such as style sheets or script files) generated by library Sphinx,
  • AUTHORS: the authors of L-grass,
  • LICENCE: the license of L-grass,
  • README.md: the Read Me file,
  • setup.cfg: the configuration file used by Setuptools for the deployment of L-grass,
  • setup.py: the setup script used for the installation of L-grass,

Package dependencies

L-grass relies on several Python libraries:

Running an example

In one word

To run a simulation example, two options:

    1. open Lpy platform,
      load lgrass.lpy file from lgrass folder, Use Run or animate button to launch a simulation
    2. Run lgrass from a python script (see main.py in test folder for an example)