Commit last-minute
3
.gitignore
vendored
Normal file
|
@ -0,0 +1,3 @@
|
|||
/bin/
|
||||
.classpath
|
||||
.project
|
43
README.md
|
@ -1,2 +1,43 @@
|
|||
# team-8
|
||||
# BoneMeal
|
||||
How to run:
|
||||
- Download Llama 3.1-8B-Instruct
|
||||
- Insert your HuggingFace token in server.py line 9:
|
||||
```python
|
||||
# Insert your HF token here:
|
||||
login("<HF-token-here>")
|
||||
```
|
||||
|
||||
## Environment Setup for PlantCV & Stable Diffusion
|
||||
|
||||
### Why two environments?
|
||||
- **PlantCV 4.8** requires **NumPy ≥ 2.0**.
|
||||
- **Stable Diffusion / Diffusers** (which uses Torch, Accelerate, ecc.) requires **NumPy < 2.0** instead.
|
||||
|
||||
These requirements are **incompatible in the same Python environment**, so the safest way to work is to have **two separate virtual environments**.
|
||||
|
||||
---
|
||||
|
||||
## Environment 1 – PlantCV (image analysis)
|
||||
|
||||
This environment is used for everything AI-free. It requires Anaconda3, but the environment set-up is in the omonymous yamn file
|
||||
|
||||
### Create the environment
|
||||
```bash
|
||||
conda create -f env.yaml
|
||||
conda activate myEnv
|
||||
```
|
||||
|
||||
The required modules can be found in the file ```requirements_plantcv.txt".
|
||||
|
||||
## 🖼Environment 2 – Stable Diffusion (image generation)
|
||||
|
||||
This environment is used to generate realistic images (future projections of the plant) based on the JSON produced by PlantCV.
|
||||
|
||||
### Create the environment
|
||||
```bash
|
||||
python -m venv env_sd
|
||||
env_sd\Scripts\activate # Windows
|
||||
source env_sd/bin/activate # Linux/Mac
|
||||
```
|
||||
|
||||
The required modules can be found in the file ```requirements_stableDiff.txt```
|
||||
|
|
BIN
__pycache__/image_extraction.cpython-38.pyc
Normal file
BIN
__pycache__/plantcv.cpython-38.pyc
Normal file
BIN
baseImg.jpeg
Normal file
After Width: | Height: | Size: 110 KiB |
BIN
controlImg.png
Normal file
After Width: | Height: | Size: 333 KiB |
95
hydroshoot/.gitignore
vendored
Normal file
|
@ -0,0 +1,95 @@
|
|||
# {# pkglts, github
|
||||
# Byte-compiled / optimized / DLL files
|
||||
__pycache__/
|
||||
*.py[cod]
|
||||
|
||||
# pkglts files
|
||||
.pkglts/info.log*
|
||||
|
||||
# Packages
|
||||
*.egg
|
||||
*.egg-info
|
||||
.eggs
|
||||
.Python
|
||||
*.pth
|
||||
dist/
|
||||
build/
|
||||
env/
|
||||
downloads/
|
||||
eggs/
|
||||
parts/
|
||||
bin/
|
||||
var/
|
||||
sdist/
|
||||
develop-eggs/
|
||||
.installed.cfg
|
||||
lib/
|
||||
lib64/
|
||||
|
||||
# editors
|
||||
.idea/
|
||||
|
||||
# Vim files
|
||||
*.swp
|
||||
*.*~
|
||||
|
||||
# Mr Developer
|
||||
.mr.developer.cfg
|
||||
.project
|
||||
.pydevproject
|
||||
.settings
|
||||
|
||||
|
||||
# C extensions
|
||||
*.so
|
||||
*.dll
|
||||
*.dylib
|
||||
|
||||
# Compiled Static libraries
|
||||
*.lai
|
||||
*.la
|
||||
*.a
|
||||
|
||||
# Compiled Object files
|
||||
*.os
|
||||
|
||||
# PyInstaller
|
||||
# Usually these files are written by a python script from a template
|
||||
# before PyInstaller builds the exe, so as to inject date/other infos into it.
|
||||
*.manifest
|
||||
*.spec
|
||||
|
||||
# Installer logs
|
||||
pip-log.txt
|
||||
pip-delete-this-directory.txt
|
||||
.amlog
|
||||
.sconsign.dblite
|
||||
|
||||
# Translations
|
||||
*.mo
|
||||
*.pot
|
||||
|
||||
# Django stuff:
|
||||
*.log
|
||||
|
||||
# PyBuilder
|
||||
target/
|
||||
|
||||
# jupyter notebooks
|
||||
.ipynb_checkpoints/
|
||||
|
||||
# svn
|
||||
.svn
|
||||
|
||||
|
||||
|
||||
# #}
|
||||
|
||||
# user custom filters
|
||||
example/**/output/
|
||||
**/*.pckl
|
||||
|
||||
doc/_build/
|
||||
# Mac OS
|
||||
.DS_Store
|
||||
application_studies/
|
0
hydroshoot/.pkglts/clean.no
Normal file
61
hydroshoot/.pkglts/pkg_cfg.json
Normal file
|
@ -0,0 +1,61 @@
|
|||
{
|
||||
"_pkglts": {
|
||||
"auto_install": true,
|
||||
"install_front_end": "stdout",
|
||||
"use_prompts": false,
|
||||
"version": 3
|
||||
},
|
||||
"base": {
|
||||
"authors": [
|
||||
[
|
||||
"Rami Albasha",
|
||||
"rami albasha at inra dot fr"
|
||||
],
|
||||
[
|
||||
"Christian Fournier",
|
||||
"@fournier-ch"
|
||||
],
|
||||
[
|
||||
"Christophe Pradal",
|
||||
"@pradal"
|
||||
],
|
||||
[
|
||||
"Eric Lebon",
|
||||
"eric dot lebon at inra dot fr"
|
||||
]
|
||||
],
|
||||
"namespace": null,
|
||||
"pkgname": "hydroshoot",
|
||||
"url": null
|
||||
},
|
||||
"conda": {},
|
||||
"data": {},
|
||||
"doc": {
|
||||
"description": "HydroShoot is an FSPM model to simulate gas-exchange on vine",
|
||||
"keywords": []
|
||||
},
|
||||
"github": {
|
||||
"owner": "{{ base.authors[0][0] }}",
|
||||
"project": "{{ base.pkgname }}",
|
||||
"url": "https://github.com/openalea-incubator/{{ github.project }}"
|
||||
},
|
||||
"license": {
|
||||
"name": "cecill-c",
|
||||
"organization": "INRA, CIRAD",
|
||||
"project": "{{ base.pkgname }}",
|
||||
"year": 2019
|
||||
},
|
||||
"pysetup": {
|
||||
"intended_versions": [
|
||||
"27"
|
||||
],
|
||||
"require": []
|
||||
},
|
||||
"test": {},
|
||||
"travis": {},
|
||||
"version": {
|
||||
"major": 1,
|
||||
"minor": 0,
|
||||
"post": 0
|
||||
}
|
||||
}
|
61
hydroshoot/.pkglts/pkg_hash.json
Normal file
|
@ -0,0 +1,61 @@
|
|||
{
|
||||
".gitignore": {
|
||||
"github": "MRdLys3vaDL9iwBuZQW4YB3oJ8OwaGJeAHqZDUpPSpGHl0pENcpfsckLl8SPhFIKnodXkYM41AsPFBz5QJQu0w=="
|
||||
},
|
||||
".travis.yml": {
|
||||
"travis": "p39laCS5PHN7gbwAtgU28Z+UXHRifGIORlali3ZkK7OQKjjRhn1Dbwscp76SZeocjKUEBtl3fI1857Ri37wPWQ==",
|
||||
"travis.addons": "z4PhNX7vuL3xVChQ1m2AB9Yg5AULVxXcg/SpIdNs6c5H0NE8XYXysP+DGNKHfuwvY7kxvUdBeoGlODJ6+SfaPg==",
|
||||
"travis.after": "z4PhNX7vuL3xVChQ1m2AB9Yg5AULVxXcg/SpIdNs6c5H0NE8XYXysP+DGNKHfuwvY7kxvUdBeoGlODJ6+SfaPg==",
|
||||
"travis.install": "e95/YtD9DDjev/b0KW6Z1BBd3l3Iqq45t3vSBVZf2L20obvaoginuBglogprMoRmskZK22c4h1dGgTh0NMjQOg==",
|
||||
"travis.script": "STjpu3u3YoOeTz4mBIflZ58OodPdFRPFtLt6c8CUciNwe/fYhCTxlKTMB/S7VL1ippUsQVIfrFGl+OQ/ALWmPQ=="
|
||||
},
|
||||
"AUTHORS.rst": {
|
||||
"doc": "DkU7oQmldfrfWCnkefErjQUIy4CWPgQKkf/92p+dvBQWx7qyplJ9Ic62obSpr2+hDfw7qN9EiQAPgnm8hzp2/A=="
|
||||
},
|
||||
"CONTRIBUTING.rst": {},
|
||||
"HISTORY.rst": {},
|
||||
"LICENSE": {
|
||||
"license": "21ExMhSzB2uXQuU1VoH7++nrb4u6TbesqGtJDpM39OLPWft9SJ2tJ956R6foYmkI9VuJay7SUrhFLPxxMEHLxg=="
|
||||
},
|
||||
"MANIFEST.in": {
|
||||
"pysetup": "nWIhyghfvxUWRjKYpFJPAIr4kSPE2OfU8Zr+1QkiAxzvB0aWoAYyG2V/UnieGhhocdlNaiXL6u8qeKHqUQcO3w=="
|
||||
},
|
||||
"README.rst": {
|
||||
"doc": "LVozszxbm8Mm3f3ePQsmGYR6ID8vUGGE2K+wY6m//7J5q98O4Hn9iKMfAUxtn0OBc09SNmATLWK3c/sNFVrFiA=="
|
||||
},
|
||||
"conda_hydroshoot/bld.bat": {},
|
||||
"conda_hydroshoot/build.sh": {},
|
||||
"conda_hydroshoot/meta.yaml": {},
|
||||
"doc/_static/nonempty.txt": {},
|
||||
"doc/authors.rst": {},
|
||||
"doc/contributing.rst": {},
|
||||
"doc/history.rst": {},
|
||||
"doc/index.rst": {},
|
||||
"doc/installation.rst": {},
|
||||
"doc/readme.rst": {},
|
||||
"doc/usage.rst": {},
|
||||
"dvlpt_requirements.txt": {
|
||||
"pysetup": "lCbGKPjPfZaLiwclMKKn7EdCraYOyhNIZcfBdXCFnX8YV/uOTypLRFYBm7uxfWtnSe62wAlYDv/2EzakafsQtw=="
|
||||
},
|
||||
"requirements.txt": {
|
||||
"pysetup": "/5djJXLbrvuFk7LIgtfgYR8RnQrY5BEmOB4zEd0PrKeswR/8sQkzj4yKy7Zl3LAdRzYjPDhWiRkS1oMCG4FX7Q=="
|
||||
},
|
||||
"setup.cfg": {
|
||||
"pysetup": "1iCSDvs9xY0GOgde2dHQdpu5siqLRSbSiVZr6vEMin886x1NKrTLw0f1AJuSUwPfsoXa1a1EfRsDFadXx3Qy8A=="
|
||||
},
|
||||
"setup.py": {
|
||||
"pysetup.call": "2wHuP94SpWKZpqOzExkQGTxnhGPgBHK3qOdPn0Ncstj5FkZ7FBGGM/inqAXaI4QLKQtTNlOUYRGSkYUWAUcf1w==",
|
||||
"pysetup.kwds": "ZfhY2vTqq3hmvF38eWngpRtF0NPrBH4XtsIyoWye8A18pfhKuxmH9XNJ/cLgiv+qXE5FzAYKepw3Eo81QqyiuQ=="
|
||||
},
|
||||
"src/hydroshoot/__init__.py": {
|
||||
"base": "gR33dW0qqYmsV9NSNB+DD8XmuxnC2t0mKjnMoU5728qh97fSER6MbX+3QKxpZDLByZToaAay4xhx8acxketJmA=="
|
||||
},
|
||||
"src/hydroshoot/data_access.py": {
|
||||
"data": "KypmxgIOSMmeUkbZYMILEM6s9rROkCxyZWmurCgLa2kmxY7eU2wmtvoZOXRrgBQYmhgdOseihPikN/6h2LbGXQ=="
|
||||
},
|
||||
"src/hydroshoot/version.py": {
|
||||
"version": "8tWEvNZfrOFEZfSGOYZLW6d6y+VuHZ9zlkxFZZp5JmnZwmwqllXDRnPUfWwZUZsQJ9yENNYTb08PQvtPlfSogA=="
|
||||
},
|
||||
"src/hydroshoot_data/__init__.py": {},
|
||||
"test/__init__.py": {}
|
||||
}
|
0
hydroshoot/.pkglts/regenerate.no
Normal file
13
hydroshoot/.readthedocs.yml
Normal file
|
@ -0,0 +1,13 @@
|
|||
version: 2
|
||||
|
||||
build:
|
||||
os: "ubuntu-lts-latest"
|
||||
tools:
|
||||
python: "mambaforge-latest"
|
||||
|
||||
conda:
|
||||
environment: doc/environment.yml
|
||||
|
||||
sphinx:
|
||||
# Path to your Sphinx configuration file.
|
||||
configuration: doc/conf.py
|
11
hydroshoot/AUTHORS.rst
Normal file
|
@ -0,0 +1,11 @@
|
|||
Credits
|
||||
=======
|
||||
|
||||
Development Lead
|
||||
----------------
|
||||
|
||||
* Rami Albasha, <rami.albasha@itk.fr>
|
||||
* Christian Fournier, <christian.fournier@inrae.fr>
|
||||
* Christophe Pradal, <christophe.pradal@cirad.fr>
|
||||
* Eric Lebon
|
||||
|
15
hydroshoot/CITATION.bib
Normal file
|
@ -0,0 +1,15 @@
|
|||
@article{10.1093/insilicoplants/diz007,
|
||||
author = {Albasha, R and Fournier, C and Pradal, C and Chelle, M and Prieto, J A and Louarn, G and Simonneau, T and Lebon, E},
|
||||
title = {HydroShoot: a functional-structural plant model for simulating hydraulic structure, gas and energy exchange dynamics of complex plant canopies under water deficit—application to grapevine (Vitis vinifera)},
|
||||
journal = {in silico Plants},
|
||||
volume = {1},
|
||||
number = {1},
|
||||
pages = {diz007},
|
||||
year = {2019},
|
||||
month = {06},
|
||||
abstract = {This paper presents HydroShoot, a leaf-based functional-structural plant model (FSPM) that simulates gas exchange rates of complex plant canopies under water deficit conditions. HydroShoot is built assuming that simulating both the hydraulic structure of the shoot together with the energy budget of individual leaves is the asset for successfully scaling-up leaf to canopy gas exchange rates. HydroShoot includes three interacting modules: hydraulic, which calculates the distribution of xylem water potential across shoot hydraulic segments; energy, which calculates the complete energy budget of individual leaves; and exchange, which calculates net carbon assimilation and transpiration rates of individual leaves. HydroShoot was evaluated on virtual and real grapevines having strongly contrasted canopies, under well-watered and water deficit conditions. It captured accurately the impact of canopy architecture and soil water status on plant-scale gas exchange rates and leaf-scale temperature and water potential. Both shoot hydraulic structure and leaf energy budget simulations were, as postulated, required to adequately scaling-up leaf to canopy gas exchange rates. Notwithstanding, simulating shoot hydraulic structure was found more necessary to adequately performing this scaling task than simulating leaf energy budget. That is, the intra-canopy variability of leaf water potential was a better predictor of the reduction of whole plant gas exchange rates under water deficit than the intra-canopy variability of leaf temperature. We conclude that simulating the shoot hydraulic structure is a prerequisite if FSPMs are to be used to assess gas exchange rates of complex plant canopies as those of grapevines. Finally, HydroShoot is available through the OpenAlea platform (https://github.com/openalea/hydroshoot) as a set of reusable modules.},
|
||||
issn = {2517-5025},
|
||||
doi = {10.1093/insilicoplants/diz007},
|
||||
url = {https://doi.org/10.1093/insilicoplants/diz007},
|
||||
eprint = {https://academic.oup.com/insilicoplants/article-pdf/1/1/diz007/47414178/insilicoplants\_1\_1\_diz007.pdf},
|
||||
}
|
120
hydroshoot/CONTRIBUTING.rst
Normal file
|
@ -0,0 +1,120 @@
|
|||
============
|
||||
Contributing
|
||||
============
|
||||
|
||||
Contributions are welcome, and they are greatly appreciated! Every
|
||||
little bit helps, and credit will always be given.
|
||||
|
||||
|
||||
You can contribute in many ways:
|
||||
|
||||
Types of Contributions
|
||||
----------------------
|
||||
|
||||
Report Bugs
|
||||
~~~~~~~~~~~
|
||||
|
||||
Report bugs at issues_.
|
||||
|
||||
If you are reporting a bug, please include:
|
||||
|
||||
* Your operating system name and version.
|
||||
* Any details about your local setup that might be helpful in troubleshooting.
|
||||
* Detailed steps to reproduce the bug.
|
||||
|
||||
Fix Bugs
|
||||
~~~~~~~~
|
||||
|
||||
Look through the GitHub issues for bugs. Anything tagged with "bug"
|
||||
is open to whoever wants to implement it.
|
||||
|
||||
Implement Features
|
||||
~~~~~~~~~~~~~~~~~~
|
||||
|
||||
Look through the GitHub issues for features. Anything tagged with "feature"
|
||||
is open to whoever wants to implement it.
|
||||
|
||||
Write Documentation
|
||||
~~~~~~~~~~~~~~~~~~~
|
||||
|
||||
pkglts could always use more documentation, whether as part of the
|
||||
official pkglts docs, in docstrings, or even on the web in blog posts,
|
||||
articles, and such.
|
||||
|
||||
Submit Feedback
|
||||
~~~~~~~~~~~~~~~
|
||||
|
||||
The best way to send feedback is to file an issue at issues_.
|
||||
|
||||
If you are proposing a feature:
|
||||
|
||||
* Explain in detail how it would work.
|
||||
* Keep the scope as narrow as possible, to make it easier to implement.
|
||||
* Remember that this is a volunteer-driven project, and that contributions
|
||||
are welcome :)
|
||||
|
||||
Get Started!
|
||||
------------
|
||||
|
||||
Ready to contribute? Here's how to set up `hydroshoot` for local development.
|
||||
|
||||
1. Fork the `hydroshoot` repo on GitHub.
|
||||
2. Clone your fork locally::
|
||||
|
||||
$ git clone git@github.com:your_name_here/hydroshoot.git
|
||||
|
||||
3. Install your local copy into a virtualenv. Assuming you have virtualenv_
|
||||
installed, this is how you set up your fork for local development::
|
||||
|
||||
$ virtualenv dvlpt
|
||||
$ dvlpt/script/activate
|
||||
(dvlpt)$ python setup.py develop
|
||||
|
||||
4. Create a branch for local development (wip stands for work in progress)::
|
||||
|
||||
(dvlpt)$ git checkout -b wip_name-of-your-bugfix-or-feature
|
||||
|
||||
Now you can make your changes locally.
|
||||
|
||||
5. When you're done making changes, check that your changes pass flake8 and the
|
||||
tests, including testing other Python versions with tox::
|
||||
|
||||
(dvlpt)$ cd hydroshoot
|
||||
(dvlpt) hydroshoot$ flake8
|
||||
(dvlpt) hydroshoot$ pytest
|
||||
(dvlpt) hydroshoot$ tox
|
||||
|
||||
To get flake8 and tox, just pip install them into your virtualenv.
|
||||
|
||||
6. Commit your changes and push your branch to GitHub::
|
||||
|
||||
$ git add .
|
||||
$ git commit -m "Your detailed description of your changes."
|
||||
$ git push origin wip_name-of-your-bugfix-or-feature
|
||||
|
||||
7. Submit a pull request through the GitHub website.
|
||||
|
||||
Pull Request Guidelines
|
||||
-----------------------
|
||||
|
||||
Before you submit a pull request, check that it meets these guidelines:
|
||||
|
||||
1. The pull request should include tests.
|
||||
2. If the pull request adds functionality, the docs should be updated. Put
|
||||
your new functionality into a function with a docstring, and add the
|
||||
feature to the list in README.rst.
|
||||
3. The pull request should work for Python 3.8 and up. Check
|
||||
https://github.com/openalea/hydroshoot/actions
|
||||
and make sure that the tests pass for all supported Python versions.
|
||||
|
||||
Tips
|
||||
----
|
||||
|
||||
To run a subset of tests::
|
||||
|
||||
$ pytest test/test_XXX
|
||||
|
||||
|
||||
|
||||
.. _issues: https://github.com/openalea/hydroshoot/issues
|
||||
.. _virtualenv: https://pypi.python.org/pypi/virtualenv
|
16
hydroshoot/HISTORY.rst
Normal file
|
@ -0,0 +1,16 @@
|
|||
.. _changelog:
|
||||
|
||||
History
|
||||
=======
|
||||
|
||||
creation
|
||||
--------
|
||||
|
||||
HydroShoot was created by Rami ALBASHA during his postdoctoral research (July 2015 to December 2016)
|
||||
under the supervision of Eric LEBON†, in close collaboration with Christian FOURNIER and Christophe PRADAL.
|
||||
|
||||
The model is partly based on prior developments led by Gaëtan LOUARN and Jorge PRIETO who developed the FSPM TOPVINE
|
||||
(`Louarn et al., 2008 <https://academic.oup.com/aob/article/101/8/1167/159779>`_,
|
||||
`Prieto et al., 2012 <https://onlinelibrary.wiley.com/doi/10.1111/j.1365-3040.2012.02491.x>`_).
|
||||
The main difference between TOPVINE and HydroShoot is that the latter simulates explicitly the hydraulic network of the
|
||||
shoot, which is coupled to both energy and gas exchange processes.
|
520
hydroshoot/LICENSE
Normal file
|
@ -0,0 +1,520 @@
|
|||
{{# pkglts, license
|
||||
|
||||
CeCILL-C FREE SOFTWARE LICENSE AGREEMENT
|
||||
|
||||
|
||||
Notice
|
||||
|
||||
This Agreement is a Free Software license agreement that is the result
|
||||
of discussions between its authors in order to ensure compliance with
|
||||
the two main principles guiding its drafting:
|
||||
|
||||
* firstly, compliance with the principles governing the distribution
|
||||
of Free Software: access to source code, broad rights granted to
|
||||
users,
|
||||
* secondly, the election of a governing law, French law, with which
|
||||
it is conformant, both as regards the law of torts and
|
||||
intellectual property law, and the protection that it offers to
|
||||
both authors and holders of the economic rights over software.
|
||||
|
||||
The authors of the CeCILL-C (for Ce[a] C[nrs] I[nria] L[ogiciel] L[ibre])
|
||||
license are:
|
||||
|
||||
Commissariat a l'Energie Atomique - CEA, a public scientific, technical
|
||||
and industrial research establishment, having its principal place of
|
||||
business at 25 rue Leblanc, immeuble Le Ponant D, 75015 Paris, France.
|
||||
|
||||
Centre National de la Recherche Scientifique - CNRS, a public scientific
|
||||
and technological establishment, having its principal place of business
|
||||
at 3 rue Michel-Ange, 75794 Paris cedex 16, France.
|
||||
|
||||
Institut National de Recherche en Informatique et en Automatique -
|
||||
INRIA, a public scientific and technological establishment, having its
|
||||
principal place of business at Domaine de Voluceau, Rocquencourt, BP
|
||||
105, 78153 Le Chesnay cedex, France.
|
||||
|
||||
|
||||
Preamble
|
||||
|
||||
The purpose of this Free Software license agreement is to grant users
|
||||
the right to modify and re-use the software governed by this license.
|
||||
|
||||
The exercising of this right is conditional upon the obligation to make
|
||||
available to the community the modifications made to the source code of
|
||||
the software so as to contribute to its evolution.
|
||||
|
||||
In consideration of access to the source code and the rights to copy,
|
||||
modify and redistribute granted by the license, users are provided only
|
||||
with a limited warranty and the software's author, the holder of the
|
||||
economic rights, and the successive licensors only have limited liability.
|
||||
|
||||
In this respect, the risks associated with loading, using, modifying
|
||||
and/or developing or reproducing the software by the user are brought to
|
||||
the user's attention, given its Free Software status, which may make it
|
||||
complicated to use, with the result that its use is reserved for
|
||||
developers and experienced professionals having in-depth computer
|
||||
knowledge. Users are therefore encouraged to load and test the
|
||||
suitability of the software as regards their requirements in conditions
|
||||
enabling the security of their systems and/or data to be ensured and,
|
||||
more generally, to use and operate it in the same conditions of
|
||||
security. This Agreement may be freely reproduced and published,
|
||||
provided it is not altered, and that no provisions are either added or
|
||||
removed herefrom.
|
||||
|
||||
This Agreement may apply to any or all software for which the holder of
|
||||
the economic rights decides to submit the use thereof to its provisions.
|
||||
|
||||
|
||||
Article 1 - DEFINITIONS
|
||||
|
||||
For the purpose of this Agreement, when the following expressions
|
||||
commence with a capital letter, they shall have the following meaning:
|
||||
|
||||
Agreement: means this license agreement, and its possible subsequent
|
||||
versions and annexes.
|
||||
|
||||
Software: means the software in its Object Code and/or Source Code form
|
||||
and, where applicable, its documentation, "as is" when the Licensee
|
||||
accepts the Agreement.
|
||||
|
||||
Initial Software: means the Software in its Source Code and possibly its
|
||||
Object Code form and, where applicable, its documentation, "as is" when
|
||||
it is first distributed under the terms and conditions of the Agreement.
|
||||
|
||||
Modified Software: means the Software modified by at least one
|
||||
Integrated Contribution.
|
||||
|
||||
Source Code: means all the Software's instructions and program lines to
|
||||
which access is required so as to modify the Software.
|
||||
|
||||
Object Code: means the binary files originating from the compilation of
|
||||
the Source Code.
|
||||
|
||||
Holder: means the holder(s) of the economic rights over the Initial
|
||||
Software.
|
||||
|
||||
Licensee: means the Software user(s) having accepted the Agreement.
|
||||
|
||||
Contributor: means a Licensee having made at least one Integrated
|
||||
Contribution.
|
||||
|
||||
Licensor: means the Holder, or any other individual or legal entity, who
|
||||
distributes the Software under the Agreement.
|
||||
|
||||
Integrated Contribution: means any or all modifications, corrections,
|
||||
translations, adaptations and/or new functions integrated into the
|
||||
Source Code by any or all Contributors.
|
||||
|
||||
Related Module: means a set of sources files including their
|
||||
documentation that, without modification to the Source Code, enables
|
||||
supplementary functions or services in addition to those offered by the
|
||||
Software.
|
||||
|
||||
Derivative Software: means any combination of the Software, modified or
|
||||
not, and of a Related Module.
|
||||
|
||||
Parties: mean both the Licensee and the Licensor.
|
||||
|
||||
These expressions may be used both in singular and plural form.
|
||||
|
||||
|
||||
Article 2 - PURPOSE
|
||||
|
||||
The purpose of the Agreement is the grant by the Licensor to the
|
||||
Licensee of a non-exclusive, transferable and worldwide license for the
|
||||
Software as set forth in Article 5 hereinafter for the whole term of the
|
||||
protection granted by the rights over said Software.
|
||||
|
||||
|
||||
Article 3 - ACCEPTANCE
|
||||
|
||||
3.1 The Licensee shall be deemed as having accepted the terms and
|
||||
conditions of this Agreement upon the occurrence of the first of the
|
||||
following events:
|
||||
|
||||
* (i) loading the Software by any or all means, notably, by
|
||||
downloading from a remote server, or by loading from a physical
|
||||
medium;
|
||||
* (ii) the first time the Licensee exercises any of the rights
|
||||
granted hereunder.
|
||||
|
||||
3.2 One copy of the Agreement, containing a notice relating to the
|
||||
characteristics of the Software, to the limited warranty, and to the
|
||||
fact that its use is restricted to experienced users has been provided
|
||||
to the Licensee prior to its acceptance as set forth in Article 3.1
|
||||
hereinabove, and the Licensee hereby acknowledges that it has read and
|
||||
understood it.
|
||||
|
||||
|
||||
Article 4 - EFFECTIVE DATE AND TERM
|
||||
|
||||
|
||||
4.1 EFFECTIVE DATE
|
||||
|
||||
The Agreement shall become effective on the date when it is accepted by
|
||||
the Licensee as set forth in Article 3.1.
|
||||
|
||||
|
||||
4.2 TERM
|
||||
|
||||
The Agreement shall remain in force for the entire legal term of
|
||||
protection of the economic rights over the Software.
|
||||
|
||||
|
||||
Article 5 - SCOPE OF RIGHTS GRANTED
|
||||
|
||||
The Licensor hereby grants to the Licensee, who accepts, the following
|
||||
rights over the Software for any or all use, and for the term of the
|
||||
Agreement, on the basis of the terms and conditions set forth hereinafter.
|
||||
|
||||
Besides, if the Licensor owns or comes to own one or more patents
|
||||
protecting all or part of the functions of the Software or of its
|
||||
components, the Licensor undertakes not to enforce the rights granted by
|
||||
these patents against successive Licensees using, exploiting or
|
||||
modifying the Software. If these patents are transferred, the Licensor
|
||||
undertakes to have the transferees subscribe to the obligations set
|
||||
forth in this paragraph.
|
||||
|
||||
|
||||
5.1 RIGHT OF USE
|
||||
|
||||
The Licensee is authorized to use the Software, without any limitation
|
||||
as to its fields of application, with it being hereinafter specified
|
||||
that this comprises:
|
||||
|
||||
1. permanent or temporary reproduction of all or part of the Software
|
||||
by any or all means and in any or all form.
|
||||
|
||||
2. loading, displaying, running, or storing the Software on any or
|
||||
all medium.
|
||||
|
||||
3. entitlement to observe, study or test its operation so as to
|
||||
determine the ideas and principles behind any or all constituent
|
||||
elements of said Software. This shall apply when the Licensee
|
||||
carries out any or all loading, displaying, running, transmission
|
||||
or storage operation as regards the Software, that it is entitled
|
||||
to carry out hereunder.
|
||||
|
||||
|
||||
5.2 RIGHT OF MODIFICATION
|
||||
|
||||
The right of modification includes the right to translate, adapt,
|
||||
arrange, or make any or all modifications to the Software, and the right
|
||||
to reproduce the resulting software. It includes, in particular, the
|
||||
right to create a Derivative Software.
|
||||
|
||||
The Licensee is authorized to make any or all modification to the
|
||||
Software provided that it includes an explicit notice that it is the
|
||||
author of said modification and indicates the date of the creation thereof.
|
||||
|
||||
|
||||
5.3 RIGHT OF DISTRIBUTION
|
||||
|
||||
In particular, the right of distribution includes the right to publish,
|
||||
transmit and communicate the Software to the general public on any or
|
||||
all medium, and by any or all means, and the right to market, either in
|
||||
consideration of a fee, or free of charge, one or more copies of the
|
||||
Software by any means.
|
||||
|
||||
The Licensee is further authorized to distribute copies of the modified
|
||||
or unmodified Software to third parties according to the terms and
|
||||
conditions set forth hereinafter.
|
||||
|
||||
|
||||
5.3.1 DISTRIBUTION OF SOFTWARE WITHOUT MODIFICATION
|
||||
|
||||
The Licensee is authorized to distribute true copies of the Software in
|
||||
Source Code or Object Code form, provided that said distribution
|
||||
complies with all the provisions of the Agreement and is accompanied by:
|
||||
|
||||
1. a copy of the Agreement,
|
||||
|
||||
2. a notice relating to the limitation of both the Licensor's
|
||||
warranty and liability as set forth in Articles 8 and 9,
|
||||
|
||||
and that, in the event that only the Object Code of the Software is
|
||||
redistributed, the Licensee allows effective access to the full Source
|
||||
Code of the Software at a minimum during the entire period of its
|
||||
distribution of the Software, it being understood that the additional
|
||||
cost of acquiring the Source Code shall not exceed the cost of
|
||||
transferring the data.
|
||||
|
||||
|
||||
5.3.2 DISTRIBUTION OF MODIFIED SOFTWARE
|
||||
|
||||
When the Licensee makes an Integrated Contribution to the Software, the
|
||||
terms and conditions for the distribution of the resulting Modified
|
||||
Software become subject to all the provisions of this Agreement.
|
||||
|
||||
The Licensee is authorized to distribute the Modified Software, in
|
||||
source code or object code form, provided that said distribution
|
||||
complies with all the provisions of the Agreement and is accompanied by:
|
||||
|
||||
1. a copy of the Agreement,
|
||||
|
||||
2. a notice relating to the limitation of both the Licensor's
|
||||
warranty and liability as set forth in Articles 8 and 9,
|
||||
|
||||
and that, in the event that only the object code of the Modified
|
||||
Software is redistributed, the Licensee allows effective access to the
|
||||
full source code of the Modified Software at a minimum during the entire
|
||||
period of its distribution of the Modified Software, it being understood
|
||||
that the additional cost of acquiring the source code shall not exceed
|
||||
the cost of transferring the data.
|
||||
|
||||
|
||||
5.3.3 DISTRIBUTION OF DERIVATIVE SOFTWARE
|
||||
|
||||
When the Licensee creates Derivative Software, this Derivative Software
|
||||
may be distributed under a license agreement other than this Agreement,
|
||||
subject to compliance with the requirement to include a notice
|
||||
concerning the rights over the Software as defined in Article 6.4.
|
||||
In the event the creation of the Derivative Software required modification
|
||||
of the Source Code, the Licensee undertakes that:
|
||||
|
||||
1. the resulting Modified Software will be governed by this Agreement,
|
||||
2. the Integrated Contributions in the resulting Modified Software
|
||||
will be clearly identified and documented,
|
||||
3. the Licensee will allow effective access to the source code of the
|
||||
Modified Software, at a minimum during the entire period of
|
||||
distribution of the Derivative Software, such that such
|
||||
modifications may be carried over in a subsequent version of the
|
||||
Software; it being understood that the additional cost of
|
||||
purchasing the source code of the Modified Software shall not
|
||||
exceed the cost of transferring the data.
|
||||
|
||||
|
||||
5.3.4 COMPATIBILITY WITH THE CeCILL LICENSE
|
||||
|
||||
When a Modified Software contains an Integrated Contribution subject to
|
||||
the CeCILL license agreement, or when a Derivative Software contains a
|
||||
Related Module subject to the CeCILL license agreement, the provisions
|
||||
set forth in the third item of Article 6.4 are optional.
|
||||
|
||||
|
||||
Article 6 - INTELLECTUAL PROPERTY
|
||||
|
||||
|
||||
6.1 OVER THE INITIAL SOFTWARE
|
||||
|
||||
The Holder owns the economic rights over the Initial Software. Any or
|
||||
all use of the Initial Software is subject to compliance with the terms
|
||||
and conditions under which the Holder has elected to distribute its work
|
||||
and no one shall be entitled to modify the terms and conditions for the
|
||||
distribution of said Initial Software.
|
||||
|
||||
The Holder undertakes that the Initial Software will remain ruled at
|
||||
least by this Agreement, for the duration set forth in Article 4.2.
|
||||
|
||||
|
||||
6.2 OVER THE INTEGRATED CONTRIBUTIONS
|
||||
|
||||
The Licensee who develops an Integrated Contribution is the owner of the
|
||||
intellectual property rights over this Contribution as defined by
|
||||
applicable law.
|
||||
|
||||
|
||||
6.3 OVER THE RELATED MODULES
|
||||
|
||||
The Licensee who develops a Related Module is the owner of the
|
||||
intellectual property rights over this Related Module as defined by
|
||||
applicable law and is free to choose the type of agreement that shall
|
||||
govern its distribution under the conditions defined in Article 5.3.3.
|
||||
|
||||
|
||||
6.4 NOTICE OF RIGHTS
|
||||
|
||||
The Licensee expressly undertakes:
|
||||
|
||||
1. not to remove, or modify, in any manner, the intellectual property
|
||||
notices attached to the Software;
|
||||
|
||||
2. to reproduce said notices, in an identical manner, in the copies
|
||||
of the Software modified or not;
|
||||
|
||||
3. to ensure that use of the Software, its intellectual property
|
||||
notices and the fact that it is governed by the Agreement is
|
||||
indicated in a text that is easily accessible, specifically from
|
||||
the interface of any Derivative Software.
|
||||
|
||||
The Licensee undertakes not to directly or indirectly infringe the
|
||||
intellectual property rights of the Holder and/or Contributors on the
|
||||
Software and to take, where applicable, vis-a-vis its staff, any and all
|
||||
measures required to ensure respect of said intellectual property rights
|
||||
of the Holder and/or Contributors.
|
||||
|
||||
|
||||
Article 7 - RELATED SERVICES
|
||||
|
||||
7.1 Under no circumstances shall the Agreement oblige the Licensor to
|
||||
provide technical assistance or maintenance services for the Software.
|
||||
|
||||
However, the Licensor is entitled to offer this type of services. The
|
||||
terms and conditions of such technical assistance, and/or such
|
||||
maintenance, shall be set forth in a separate instrument. Only the
|
||||
Licensor offering said maintenance and/or technical assistance services
|
||||
shall incur liability therefor.
|
||||
|
||||
7.2 Similarly, any Licensor is entitled to offer to its licensees, under
|
||||
its sole responsibility, a warranty, that shall only be binding upon
|
||||
itself, for the redistribution of the Software and/or the Modified
|
||||
Software, under terms and conditions that it is free to decide. Said
|
||||
warranty, and the financial terms and conditions of its application,
|
||||
shall be subject of a separate instrument executed between the Licensor
|
||||
and the Licensee.
|
||||
|
||||
|
||||
Article 8 - LIABILITY
|
||||
|
||||
8.1 Subject to the provisions of Article 8.2, the Licensee shall be
|
||||
entitled to claim compensation for any direct loss it may have suffered
|
||||
from the Software as a result of a fault on the part of the relevant
|
||||
Licensor, subject to providing evidence thereof.
|
||||
|
||||
8.2 The Licensor's liability is limited to the commitments made under
|
||||
this Agreement and shall not be incurred as a result of in particular:
|
||||
(i) loss due the Licensee's total or partial failure to fulfill its
|
||||
obligations, (ii) direct or consequential loss that is suffered by the
|
||||
Licensee due to the use or performance of the Software, and (iii) more
|
||||
generally, any consequential loss. In particular the Parties expressly
|
||||
agree that any or all pecuniary or business loss (i.e. loss of data,
|
||||
loss of profits, operating loss, loss of customers or orders,
|
||||
opportunity cost, any disturbance to business activities) or any or all
|
||||
legal proceedings instituted against the Licensee by a third party,
|
||||
shall constitute consequential loss and shall not provide entitlement to
|
||||
any or all compensation from the Licensor.
|
||||
|
||||
|
||||
Article 9 - WARRANTY
|
||||
|
||||
9.1 The Licensee acknowledges that the scientific and technical
|
||||
state-of-the-art when the Software was distributed did not enable all
|
||||
possible uses to be tested and verified, nor for the presence of
|
||||
possible defects to be detected. In this respect, the Licensee's
|
||||
attention has been drawn to the risks associated with loading, using,
|
||||
modifying and/or developing and reproducing the Software which are
|
||||
reserved for experienced users.
|
||||
|
||||
The Licensee shall be responsible for verifying, by any or all means,
|
||||
the suitability of the product for its requirements, its good working
|
||||
order, and for ensuring that it shall not cause damage to either persons
|
||||
or properties.
|
||||
|
||||
9.2 The Licensor hereby represents, in good faith, that it is entitled
|
||||
to grant all the rights over the Software (including in particular the
|
||||
rights set forth in Article 5).
|
||||
|
||||
9.3 The Licensee acknowledges that the Software is supplied "as is" by
|
||||
the Licensor without any other express or tacit warranty, other than
|
||||
that provided for in Article 9.2 and, in particular, without any warranty
|
||||
as to its commercial value, its secured, safe, innovative or relevant
|
||||
nature.
|
||||
|
||||
Specifically, the Licensor does not warrant that the Software is free
|
||||
from any error, that it will operate without interruption, that it will
|
||||
be compatible with the Licensee's own equipment and software
|
||||
configuration, nor that it will meet the Licensee's requirements.
|
||||
|
||||
9.4 The Licensor does not either expressly or tacitly warrant that the
|
||||
Software does not infringe any third party intellectual property right
|
||||
relating to a patent, software or any other property right. Therefore,
|
||||
the Licensor disclaims any and all liability towards the Licensee
|
||||
arising out of any or all proceedings for infringement that may be
|
||||
instituted in respect of the use, modification and redistribution of the
|
||||
Software. Nevertheless, should such proceedings be instituted against
|
||||
the Licensee, the Licensor shall provide it with technical and legal
|
||||
assistance for its defense. Such technical and legal assistance shall be
|
||||
decided on a case-by-case basis between the relevant Licensor and the
|
||||
Licensee pursuant to a memorandum of understanding. The Licensor
|
||||
disclaims any and all liability as regards the Licensee's use of the
|
||||
name of the Software. No warranty is given as regards the existence of
|
||||
prior rights over the name of the Software or as regards the existence
|
||||
of a trademark.
|
||||
|
||||
|
||||
Article 10 - TERMINATION
|
||||
|
||||
10.1 In the event of a breach by the Licensee of its obligations
|
||||
hereunder, the Licensor may automatically terminate this Agreement
|
||||
thirty (30) days after notice has been sent to the Licensee and has
|
||||
remained ineffective.
|
||||
|
||||
10.2 A Licensee whose Agreement is terminated shall no longer be
|
||||
authorized to use, modify or distribute the Software. However, any
|
||||
licenses that it may have granted prior to termination of the Agreement
|
||||
shall remain valid subject to their having been granted in compliance
|
||||
with the terms and conditions hereof.
|
||||
|
||||
|
||||
Article 11 - MISCELLANEOUS
|
||||
|
||||
|
||||
11.1 EXCUSABLE EVENTS
|
||||
|
||||
Neither Party shall be liable for any or all delay, or failure to
|
||||
perform the Agreement, that may be attributable to an event of force
|
||||
majeure, an act of God or an outside cause, such as defective
|
||||
functioning or interruptions of the electricity or telecommunications
|
||||
networks, network paralysis following a virus attack, intervention by
|
||||
government authorities, natural disasters, water damage, earthquakes,
|
||||
fire, explosions, strikes and labor unrest, war, etc.
|
||||
|
||||
11.2 Any failure by either Party, on one or more occasions, to invoke
|
||||
one or more of the provisions hereof, shall under no circumstances be
|
||||
interpreted as being a waiver by the interested Party of its right to
|
||||
invoke said provision(s) subsequently.
|
||||
|
||||
11.3 The Agreement cancels and replaces any or all previous agreements,
|
||||
whether written or oral, between the Parties and having the same
|
||||
purpose, and constitutes the entirety of the agreement between said
|
||||
Parties concerning said purpose. No supplement or modification to the
|
||||
terms and conditions hereof shall be effective as between the Parties
|
||||
unless it is made in writing and signed by their duly authorized
|
||||
representatives.
|
||||
|
||||
11.4 In the event that one or more of the provisions hereof were to
|
||||
conflict with a current or future applicable act or legislative text,
|
||||
said act or legislative text shall prevail, and the Parties shall make
|
||||
the necessary amendments so as to comply with said act or legislative
|
||||
text. All other provisions shall remain effective. Similarly, invalidity
|
||||
of a provision of the Agreement, for any reason whatsoever, shall not
|
||||
cause the Agreement as a whole to be invalid.
|
||||
|
||||
|
||||
11.5 LANGUAGE
|
||||
|
||||
The Agreement is drafted in both French and English and both versions
|
||||
are deemed authentic.
|
||||
|
||||
|
||||
Article 12 - NEW VERSIONS OF THE AGREEMENT
|
||||
|
||||
12.1 Any person is authorized to duplicate and distribute copies of this
|
||||
Agreement.
|
||||
|
||||
12.2 So as to ensure coherence, the wording of this Agreement is
|
||||
protected and may only be modified by the authors of the License, who
|
||||
reserve the right to periodically publish updates or new versions of the
|
||||
Agreement, each with a separate number. These subsequent versions may
|
||||
address new issues encountered by Free Software.
|
||||
|
||||
12.3 Any Software distributed under a given version of the Agreement may
|
||||
only be subsequently distributed under the same version of the Agreement
|
||||
or a subsequent version.
|
||||
|
||||
|
||||
Article 13 - GOVERNING LAW AND JURISDICTION
|
||||
|
||||
13.1 The Agreement is governed by French law. The Parties agree to
|
||||
endeavor to seek an amicable solution to any disagreements or disputes
|
||||
that may arise during the performance of the Agreement.
|
||||
|
||||
13.2 Failing an amicable solution within two (2) months as from their
|
||||
occurrence, and unless emergency proceedings are necessary, the
|
||||
disagreements or disputes shall be referred to the Paris Courts having
|
||||
jurisdiction, by the more diligent Party.
|
||||
|
||||
|
||||
Version 1.0 dated 2006-09-05.
|
||||
|
||||
#}
|
24
hydroshoot/MANIFEST.in
Normal file
|
@ -0,0 +1,24 @@
|
|||
# {# pkglts, pysetup
|
||||
|
||||
include AUTHORS.rst
|
||||
include CONTRIBUTING.rst
|
||||
include HISTORY.rst
|
||||
include README.rst
|
||||
|
||||
include LICENSE
|
||||
include requirements.txt
|
||||
include dvlpt_requirements.txt
|
||||
|
||||
recursive-include test *
|
||||
|
||||
recursive-include src/hydroshoot *
|
||||
recursive-include src/hydroshoot_data *
|
||||
|
||||
|
||||
recursive-exclude * __pycache__
|
||||
recursive-exclude * *.py[co]
|
||||
|
||||
recursive-include doc *.rst
|
||||
|
||||
|
||||
# #}
|
59
hydroshoot/README.rst
Normal file
|
@ -0,0 +1,59 @@
|
|||
========================
|
||||
HydroShoot
|
||||
========================
|
||||
|
||||
.. {
|
||||
|
||||
|
||||
.. image:: https://github.com/openalea/hydroshoot/actions/workflows/conda-package-build.yml/badge.svg
|
||||
:alt: CI status
|
||||
:target: https://github.com/openalea/hydroshoot/actions/workflows/conda-package-build.yml
|
||||
|
||||
.. image:: https://readthedocs.org/projects/hydroshoot/badge/?version=latest
|
||||
:target: https://hydroshoot.readthedocs.io/en/latest/?badge=latest
|
||||
:alt: Documentation Status
|
||||
|
||||
.. image:: https://anaconda.org/openalea3/openalea.hydroshoot/badges/version.svg
|
||||
:target: https://anaconda.org/openalea3/openalea.hydroshoot
|
||||
|
||||
.. }
|
||||
|
||||
|
||||
Brief Description
|
||||
-----------------
|
||||
|
||||
HydroShoot is a functional-structural plant modelling package.
|
||||
|
||||
Hydroshoot is composed of 3 generic modules used to simulate:
|
||||
- xylem water transport (*hydraulic*)
|
||||
- leaves energy budget (*energy*)
|
||||
- leaves gas exchange fluxes (*exchange*).
|
||||
|
||||
Hydroshoot provides a grapevine-specific module (*architecture*) which builds plant shoot structure for potted of trained grapevines.
|
||||
|
||||
|
||||
|
||||
Installation
|
||||
------------
|
||||
|
||||
HydroShoot must temporarily be installed manually by cloning this repo locally then installing.
|
||||
An installation procedure using conda will be possible in the future.
|
||||
|
||||
You can follow the following steps for installation:
|
||||
``mamba create -n hydroshoot -c openalea3 -c conda-forge openalea.hydroshoot``
|
||||
|
||||
``mamba activate hydroshoot``
|
||||
|
||||
|
||||
You're done !
|
||||
|
||||
|
||||
Documentation
|
||||
-------------
|
||||
|
||||
https://hydroshoot.readthedocs.io/
|
||||
|
||||
Citation
|
||||
--------
|
||||
|
||||
R Albasha, C Fournier, C Pradal, M Chelle, J A Prieto, G Louarn, T Simonneau, E Lebon, HydroShoot: a functional-structural plant model for simulating hydraulic structure, gas and energy exchange dynamics of complex plant canopies under water deficit—application to grapevine (Vitis vinifera), in silico Plants, Volume 1, Issue 1, 2019, diz007, https://doi.org/10.1093/insilicoplants/diz007
|
14
hydroshoot/conda/environment.yml
Normal file
|
@ -0,0 +1,14 @@
|
|||
channels:
|
||||
- conda-forge
|
||||
- openalea3
|
||||
dependencies:
|
||||
- openalea.mtg
|
||||
- openalea.plantgl
|
||||
- alinea.caribu
|
||||
- alinea.astk
|
||||
- numpy
|
||||
- scipy
|
||||
- sympy
|
||||
- pandas
|
||||
- jsonschema
|
||||
- pvlib-python
|
35
hydroshoot/conda/meta.yaml
Normal file
|
@ -0,0 +1,35 @@
|
|||
package:
|
||||
name: hydroshoot
|
||||
version: "5.2.2"
|
||||
|
||||
|
||||
source:
|
||||
git_url: ../
|
||||
|
||||
build:
|
||||
noarch: python
|
||||
preserve_egg_dir: True
|
||||
script: {{PYTHON}} -m pip install .
|
||||
|
||||
requirements:
|
||||
build:
|
||||
- python {{PY_VER}}
|
||||
- setuptools
|
||||
|
||||
run:
|
||||
- python
|
||||
- numpy
|
||||
- scipy
|
||||
- sympy
|
||||
- pandas
|
||||
- jsonschema
|
||||
- pvlib-python
|
||||
- openalea.mtg
|
||||
- openalea.plantgl
|
||||
- alinea.caribu
|
||||
- alinea.astk
|
||||
|
||||
about:
|
||||
summary: "HydroShoot is an FSPM model to simulate gas-exchange on vine"
|
||||
license: "cecill-c"
|
||||
license_file: LICENSE
|
20
hydroshoot/doc/Makefile
Normal file
|
@ -0,0 +1,20 @@
|
|||
# Minimal makefile for Sphinx documentation
|
||||
#
|
||||
|
||||
# You can set these variables from the command line.
|
||||
SPHINXOPTS =
|
||||
SPHINXBUILD = sphinx-build
|
||||
SPHINXPROJ = HydroShoot
|
||||
SOURCEDIR = .
|
||||
BUILDDIR = _build
|
||||
|
||||
# Put it first so that "make" without argument is like "make help".
|
||||
help:
|
||||
@$(SPHINXBUILD) -M help "$(SOURCEDIR)" "$(BUILDDIR)" $(SPHINXOPTS) $(O)
|
||||
|
||||
.PHONY: help Makefile
|
||||
|
||||
# Catch-all target: route all unknown targets to Sphinx using the new
|
||||
# "make mode" option. $(O) is meant as a shortcut for $(SPHINXOPTS).
|
||||
%: Makefile
|
||||
@$(SPHINXBUILD) -M $@ "$(SOURCEDIR)" "$(BUILDDIR)" $(SPHINXOPTS) $(O)
|
0
hydroshoot/doc/_static/nonempty.txt
vendored
Normal file
108
hydroshoot/doc/_static/openalea_web.svg
vendored
Normal file
|
@ -0,0 +1,108 @@
|
|||
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
|
||||
<!-- Created with Inkscape (http://www.inkscape.org/) -->
|
||||
|
||||
<svg
|
||||
xmlns:dc="http://purl.org/dc/elements/1.1/"
|
||||
xmlns:cc="http://creativecommons.org/ns#"
|
||||
xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
|
||||
xmlns:svg="http://www.w3.org/2000/svg"
|
||||
xmlns="http://www.w3.org/2000/svg"
|
||||
xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
|
||||
xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
|
||||
width="155"
|
||||
height="120"
|
||||
id="svg2927"
|
||||
sodipodi:version="0.32"
|
||||
inkscape:version="0.92.2 5c3e80d, 2017-08-06"
|
||||
version="1.0"
|
||||
sodipodi:docname="openalea_web.svg"
|
||||
inkscape:output_extension="org.inkscape.output.svg.inkscape"
|
||||
inkscape:export-filename="/user/sdufour/home/Desktop/openalea_web.png"
|
||||
inkscape:export-xdpi="90"
|
||||
inkscape:export-ydpi="90">
|
||||
<defs
|
||||
id="defs2929" />
|
||||
<sodipodi:namedview
|
||||
id="base"
|
||||
pagecolor="#ffffff"
|
||||
bordercolor="#666666"
|
||||
borderopacity="1.0"
|
||||
inkscape:pageopacity="0.0"
|
||||
inkscape:pageshadow="2"
|
||||
inkscape:zoom="1.979899"
|
||||
inkscape:cx="172.17131"
|
||||
inkscape:cy="109.52647"
|
||||
inkscape:document-units="px"
|
||||
inkscape:current-layer="layer1"
|
||||
height="120px"
|
||||
width="155px"
|
||||
inkscape:window-width="1280"
|
||||
inkscape:window-height="856"
|
||||
inkscape:window-x="67"
|
||||
inkscape:window-y="0"
|
||||
showgrid="false"
|
||||
inkscape:window-maximized="0" />
|
||||
<metadata
|
||||
id="metadata2932">
|
||||
<rdf:RDF>
|
||||
<cc:Work
|
||||
rdf:about="">
|
||||
<dc:format>image/svg+xml</dc:format>
|
||||
<dc:type
|
||||
rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
|
||||
</cc:Work>
|
||||
</rdf:RDF>
|
||||
</metadata>
|
||||
<g
|
||||
inkscape:label="Calque 1"
|
||||
inkscape:groupmode="layer"
|
||||
id="layer1"
|
||||
transform="translate(-185.86928,-6.1859962)">
|
||||
<g
|
||||
id="g2560"
|
||||
transform="matrix(0.2834217,-0.1203205,7.5894201e-2,0.2578017,509.42525,-317.08419)"
|
||||
style="fill:#ffcc00;fill-opacity:1">
|
||||
<path
|
||||
id="path2562"
|
||||
style="fill:#ffcc00;fill-opacity:1;fill-rule:evenodd;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
|
||||
d="M -947.03012,1016.1588 C -947.03012,1016.1588 -995.62512,1044.715 -1000.0782,1042.4885 C -1004.5312,1040.262 -1008.9843,1032.1908 -1002.8613,1028.5727 C -996.73838,1024.9546 -1002.6748,1019.2367 -1004.2529,1017.9967 C -1008.1493,1014.9352 -1020.9519,1016.8834 -1024.2917,1024.9546 C -1027.6315,1033.0258 -1024.2917,1038.0355 -1019.0037,1036.9222 C -1013.7157,1035.8089 -1013.7157,1035.8089 -1013.7157,1035.8089 C -1013.7157,1035.8089 -1007.0361,1043.8801 -1009.5409,1048.0548 C -1012.0458,1052.2295 -1030.1363,1064.7538 -1034.3111,1064.1972 M -946.92758,1015.956 C -945.35319,1019.1048 -944.59798,1018.901 -934.62876,1032.6741 C -930.7868,1037.982 -932.17598,1036.3182 -926.4483,1030.8686 C -922.29642,1026.9183 -932.89439,1025.1035 -922.24637,1013.2358 C -915.12243,1005.2957 -895.55381,1024.9266 -902.20323,1035.5781 C -906.51941,1042.4921 -912.32963,1033.2871 -920.74946,1038.9154 C -926.51301,1042.7681 -928.75186,1043.1899 -925.92704,1046.8542 C -918.8712,1056.0069 -903.28713,1083.2098 -897.06367,1089.7322 C -899.62379,1098.8205 -907.02227,1112.2473 -915.2428,1123.7561 C -923.3295,1135.0775 -948.06504,1155.5519 -948.06504,1155.5519 C -948.06504,1155.5519 -976.35396,1108.662 -982.55427,1114.4748 C -988.75458,1120.2876 -992.62978,1124.5503 -984.87939,1131.1381 C -977.129,1137.726 -995.72994,1152.4517 -1003.0928,1145.0888 C -1006.0743,1142.1073 -1010.0028,1137.8486 -1013.5174,1133.8598 C -1018.6822,1127.9982 -1019.404,1119.5575 -1014.3309,1115.6373 C -1005.8054,1109.0495 -1003.4803,1119.125 -998.05505,1117.5749 C -993.80671,1116.3611 -984.49187,1110.9871 -989.1421,1105.1743 C -993.79234,1099.3615 -1033.3193,1064.4848 -1033.3193,1064.4848 L -1034.4182,1064.2251"
|
||||
sodipodi:nodetypes="cssssscsccsssssscscssssssscc" />
|
||||
</g>
|
||||
<path
|
||||
style="fill:#d40000;fill-opacity:1;fill-rule:evenodd;stroke:#000000;stroke-width:0.28670228px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
|
||||
d="M 281.91155,109.40107 C 282.22193,109.88269 286.50131,102.08552 286.34894,99.849991 C 286.19658,97.614512 287.75407,96.033228 289.18302,95.733295 C 290.61201,95.433371 290.31477,97.859709 291.44654,99.986133 C 292.57829,102.11253 296.77991,96.341807 298.37754,94.896878 C 299.97515,93.451919 299.50179,90.125967 297.75179,89.335397 C 296.00185,88.544906 293.86619,91.598313 292.82788,92.652509 C 291.78954,93.706706 288.92911,92.007467 292.07358,88.372351 C 295.21805,84.737285 297.02622,81.793118 297.02622,81.793118 L 297.35737,81.727856 C 297.35737,81.727856 311.20713,85.963218 312.96627,86.902244 C 314.72537,87.841232 312.49319,90.347436 311.38128,91.171546 C 309.96127,92.223942 308.53761,89.906221 306.62129,92.63034 C 305.48097,94.251368 306.32611,96.340541 308.23479,97.230273 C 309.53367,97.835699 310.97028,98.460919 312.0416,98.870813 C 314.68719,99.883095 318.8415,93.848698 316.14487,93.08283 C 313.44829,92.317029 314.22307,90.751839 315.53925,88.507256 C 316.85536,86.262693 328.43173,94.947243 328.43173,94.947243 C 328.43173,94.947243 324.80499,101.09485 317.90904,105.37103 C 311.01308,109.64721 300.7579,110.06725 299.57135,110.23381 C 298.38481,110.40036 290.26738,109.688 287.44717,109.7614 C 284.62694,109.83478 283.89533,110.70728 283.45601,110.89381 C 283.01668,111.08031 277.32841,121.13758 276.2025,123.18899 C 275.07661,125.2404 276.06097,127.74466 275.657,126.79223 C 275.2531,125.83986 275.15752,118.79991 276.10877,117.83413 C 277.06005,116.86834 281.91155,109.40107 281.91155,109.40107 z "
|
||||
id="path2566"
|
||||
sodipodi:nodetypes="csssssssscssssssscsssssssc" />
|
||||
<path
|
||||
style="fill:#88aa00;fill-opacity:1;fill-rule:evenodd;stroke:#000000;stroke-width:0.28670228px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
|
||||
d="M 307.81825,45.861437 C 310.10485,48.086956 314.30376,50.413858 313.60643,52.308025 C 312.9091,54.202182 310.34336,55.291448 309.58254,53.559691 C 308.82175,51.827943 306.4553,51.462719 305.40136,53.850725 C 304.34742,56.238741 306.49447,60.121633 307.25339,60.141874 C 308.01234,60.162136 309.807,61.569142 311.12001,57.929626 C 312.43301,54.290149 314.79154,54.202143 315.38711,54.520059 C 315.98266,54.837927 317.47439,58.199981 318.15961,58.822338 C 318.84479,59.444656 319.04337,59.301271 322.91417,61.652484 C 324.4059,62.558632 323.88588,62.296796 325.09565,60.202755 C 325.97259,58.684814 322.83114,59.492081 324.94835,55.151393 C 326.36478,52.247242 333.40086,54.953651 332.32468,58.4997 C 331.62607,60.801434 329.28073,59.127451 327.32154,61.591565 C 325.98043,63.278244 325.37792,63.656407 326.45662,64.261151 C 329.15102,65.771761 337.82126,73.039022 337.86683,71.686052 L 335.79127,50.081513 C 335.79127,50.081513 334.95906,44.270601 333.87574,40.164429 C 332.79244,36.058267 330.93193,35.706566 330.25469,35.537468 C 329.57743,35.368399 327.60727,36.775562 326.74468,37.255868 C 325.88213,37.736203 314.42189,42.715536 313.52945,43.09442 C 312.63703,43.473275 307.81825,45.861437 307.81825,45.861437 z "
|
||||
id="path2568"
|
||||
sodipodi:nodetypes="csssssssssssssccssssc" />
|
||||
<path
|
||||
style="fill:#00aa88;fill-opacity:1;fill-rule:evenodd;stroke:#000000;stroke-width:0.28670228px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
|
||||
d="M 297.05013,81.823602 C 295.82468,82.18241 290.99937,81.171306 288.27092,78.528163 C 285.66392,76.002623 283.79617,75.988301 284.6837,74.481518 C 285.5712,72.974695 286.61644,71.400917 287.9376,71.970056 C 289.13138,72.484371 290.38318,72.564412 291.15191,71.73558 C 291.89289,70.936725 292.13811,69.056812 290.92686,67.956709 C 289.71558,66.856548 289.14152,66.068267 288.15778,66.387838 C 286.53792,66.914089 285.8392,67.856417 286.17716,69.00446 C 286.51511,70.152455 285.49098,71.797979 284.25992,71.83631 C 283.02885,71.874642 280.58652,70.812783 280.24856,69.664798 C 279.91059,68.516813 280.27266,67.636651 280.27266,67.636651 C 279.7323,68.543539 279.47281,69.113359 279.07238,69.788905 C 276.75743,73.378543 275.60403,77.616748 275.37891,82.006 C 275.15383,86.395232 279.07571,99.144692 280.18867,102.35253 C 281.30158,105.56033 281.62512,108.94995 281.93547,109.43152 C 282.24587,109.91319 286.52521,102.11597 286.37288,99.880495 C 286.22051,97.644967 287.77801,96.063731 289.207,95.763798 C 290.63596,95.463855 290.33872,97.890193 291.47047,100.01661 C 292.60223,102.143 296.80386,96.372339 298.40148,94.927352 C 299.99909,93.482403 299.52571,90.156422 297.77573,89.365891 C 296.02577,88.575351 293.89013,91.628807 292.8518,92.682974 C 291.81345,93.73716 288.95304,92.037922 292.09751,88.402816 C 295.242,84.767769 297.05013,81.823602 297.05013,81.823602 z "
|
||||
id="path2570"
|
||||
sodipodi:nodetypes="csssssssssccsssssssssss" />
|
||||
<text
|
||||
xml:space="preserve"
|
||||
style="font-size:3.96016073px;line-height:0.01%;stroke-width:0.33001339"
|
||||
x="189.27823"
|
||||
y="57.426498"
|
||||
id="text29"
|
||||
transform="scale(0.99102465,1.0090566)"><tspan
|
||||
sodipodi:role="line"
|
||||
x="189.27823"
|
||||
y="57.426498"
|
||||
id="tspan27"
|
||||
style="stroke-width:0.33001339"><tspan
|
||||
x="189.27823"
|
||||
y="57.426498"
|
||||
style="font-size:23.76096344px;line-height:1.25;stroke-width:0.33001339"
|
||||
id="tspan25">OpenAlea</tspan></tspan></text>
|
||||
<path
|
||||
style="fill:#ff6600;fill-rule:evenodd;stroke:#000000;stroke-width:0.28670228px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
|
||||
d="M 306.72134,28.623689 C 305.89594,32.437892 305.46648,36.840035 303.34894,36.652924 C 300.9837,36.443908 299.62451,34.864356 301.12129,33.057942 C 301.81755,32.217659 301.00897,30.130803 298.35487,30.108809 C 296.62962,30.094507 293.26018,33.697045 293.70235,34.85462 C 293.98706,35.599974 293.38627,37.6695 297.42976,37.123514 C 301.47324,36.577566 302.57048,38.736188 302.41459,39.396516 C 302.25873,40.056873 300.56287,42.824698 300.1242,43.702747 C 300.1242,43.702747 282.54038,39.880668 282.1814,38.628642 C 281.82241,37.376626 281.91428,34.758835 284.00758,35.248916 C 286.1009,35.738998 285.99261,34.511877 286.00074,33.705437 C 286.01386,32.403874 284.45702,30.407759 281.0614,30.275006 C 278.32389,30.167995 277.16322,32.74206 278.48935,33.536115 C 279.81552,34.330229 280.23726,34.458328 280.23726,34.458328 C 280.23726,34.458328 280.41266,37.327409 278.91097,37.623701 C 277.40931,37.919954 270.54694,37.025753 269.8438,36.13419 C 269.14064,35.242637 267.87097,30.406094 268.22921,28.468465 C 268.85496,25.083998 269.1237,21.565717 270.01548,21.556088 C 272.20002,21.532516 274.56908,21.673662 274.36087,23.075752 C 274.17268,24.342665 274.71921,25.486667 275.77054,25.767527 C 276.78385,26.038233 278.17494,25.95601 278.95039,24.403808 C 279.72584,22.851644 279.86801,21.727338 279.27166,21.026166 C 278.2897,19.871619 276.45106,19.896427 275.34789,20.648665 C 274.23595,21.4069 273.18207,20.991164 272.60813,20.039344 C 271.83766,18.761586 271.92917,16.528414 272.60216,15.362924 C 273.47578,13.849987 278.35777,14.593005 278.35777,14.593005 C 278.35777,14.593005 284.24115,15.657473 288.69151,17.290992 C 292.49524,18.687172 296.95572,21.030596 298.90537,22.467892 C 301.03309,24.036461 306.63531,28.492747 306.72134,28.623689 z "
|
||||
id="path2564"
|
||||
sodipodi:nodetypes="csssssssssssscssssssssssscssc" />
|
||||
</g>
|
||||
</svg>
|
After Width: | Height: | Size: 11 KiB |
1
hydroshoot/doc/authors.rst
Normal file
|
@ -0,0 +1 @@
|
|||
.. include:: ../AUTHORS.rst
|
166
hydroshoot/doc/conf.py
Normal file
|
@ -0,0 +1,166 @@
|
|||
# -*- coding: utf-8 -*-
|
||||
#
|
||||
# Configuration file for the Sphinx documentation builder.
|
||||
#
|
||||
# This file does only contain a selection of the most common options. For a
|
||||
# full list see the documentation:
|
||||
# http://www.sphinx-doc.org/en/master/config
|
||||
|
||||
# -- Path setup --------------------------------------------------------------
|
||||
|
||||
# If extensions (or modules to document with autodoc) are in another directory,
|
||||
# add these directories to sys.path here. If the directory is relative to the
|
||||
# documentation root, use os.path.abspath to make it absolute, like shown here.
|
||||
#
|
||||
import os
|
||||
import sys
|
||||
|
||||
sys.path.insert(0, os.path.abspath("..")) # to include the root of the package
|
||||
|
||||
|
||||
# -- Project information -----------------------------------------------------
|
||||
|
||||
project = u'HydroShoot'
|
||||
copyright = u'2021, Rami Albasha'
|
||||
author = u'Rami Albasha'
|
||||
|
||||
# The short X.Y version
|
||||
version = u''
|
||||
# The full version, including alpha/beta/rc tags
|
||||
release = u'1.0.0'
|
||||
|
||||
# -- General configuration ---------------------------------------------------
|
||||
|
||||
# If your documentation needs a minimal Sphinx version, state it here.
|
||||
#
|
||||
# needs_sphinx = '1.0'
|
||||
|
||||
# Add any Sphinx extension module names here, as strings. They can be
|
||||
# extensions coming with Sphinx (named 'sphinx.ext.*') or your custom
|
||||
# ones.
|
||||
extensions = [
|
||||
"sphinx.ext.autodoc", # support for automatic inclusion of docstring
|
||||
"sphinx.ext.autosummary", # generates autodoc summaries
|
||||
"sphinx.ext.doctest", # inclusion and testing of doctest code snippets
|
||||
"sphinx.ext.intersphinx", # support for linking to other projects
|
||||
#"sphinx.ext.imgmath", # support for math equations
|
||||
"sphinx.ext.mathjax", # support for math equations
|
||||
"sphinx.ext.ifconfig", # support for conditional content
|
||||
"sphinx.ext.viewcode", # support for links to source code
|
||||
"sphinx.ext.coverage", # includes doc coverage stats in the documentation
|
||||
"sphinx.ext.todo", # support for todo items
|
||||
"sphinx.ext.napoleon", # support for numpy and google style docstrings
|
||||
"sphinx_favicon", # support for favicon
|
||||
"nbsphinx", # for integrating jupyter notebooks
|
||||
"myst_parser", # for parsing .md files
|
||||
]
|
||||
|
||||
nbsphinx_allow_errors = True
|
||||
# Add any paths that contain templates here, relative to this directory.
|
||||
templates_path = ["_templates"]
|
||||
autosummary_generate = True
|
||||
exclude_patterns = ["_build", "_templates"]
|
||||
# The suffix(es) of source filenames.
|
||||
# You can specify multiple suffix as a list of string:
|
||||
source_suffix = {
|
||||
".rst": "restructuredtext",
|
||||
".md": "markdown",
|
||||
}
|
||||
# The master toctree document.
|
||||
master_doc = "index"
|
||||
# The version info for the project you're documenting, acts as replacement for
|
||||
# |version| and |release|, also used in various other places throughout the
|
||||
# built documents.
|
||||
#
|
||||
# The language for content autogenerated by Sphinx. Refer to documentation
|
||||
# for a list of supported languages.
|
||||
#
|
||||
# This is also used if you do content translation via gettext catalogs.
|
||||
# Usually you set "language" from the command line for these cases.
|
||||
language = "en"
|
||||
# The name of the Pygments (syntax highlighting) style to use.
|
||||
pygments_style = "sphinx"
|
||||
# If true, `todo` and `todoList` produce output, else they produce nothing.
|
||||
todo_include_todos = False
|
||||
|
||||
# -- Options for HTML output ----------------------------------------------
|
||||
# The theme to use for HTML and HTML Help pages. See the documentation for
|
||||
# a list of builtin themes.
|
||||
html_theme = "pydata_sphinx_theme"
|
||||
# Theme options are theme-specific and customize the look and feel of a theme
|
||||
# further. For a list of options available for each theme, see the
|
||||
# documentation.
|
||||
html_theme_options = {
|
||||
"header_links_before_dropdown": 6,
|
||||
"sidebarwidth": 200,
|
||||
"collapse_navigation": "false",
|
||||
"icon_links": [
|
||||
{
|
||||
"name": "GitHub",
|
||||
"url": "https://github.com/openalea/hydroshoot",
|
||||
"icon": "fa-brands fa-github",
|
||||
},
|
||||
],
|
||||
"show_version_warning_banner": True,
|
||||
"footer_start": ["copyright"],
|
||||
"footer_center": ["sphinx-version"],
|
||||
"secondary_sidebar_items": {
|
||||
"**/*": ["page-toc", "edit-this-page", "sourcelink"],
|
||||
"examples/no-sidebar": [],
|
||||
},
|
||||
}
|
||||
# Add any paths that contain custom static files (such as style sheets) here,
|
||||
# relative to this directory. They are copied after the builtin static files,
|
||||
# so a file named "default.css" will overwrite the builtin "default.css".
|
||||
html_static_path = ["_static"]
|
||||
html_logo = "_static/openalea_web.svg"
|
||||
html_favicon = "_static/openalea_web.svg"
|
||||
# If false, no module index is generated.
|
||||
html_domain_indices = True
|
||||
# If false, no index is generated.
|
||||
html_use_index = True
|
||||
# If true, the index is split into individual pages for each letter.
|
||||
html_split_index = False
|
||||
# If true, links to the reST sources are added to the pages.
|
||||
html_show_sourcelink = True
|
||||
# If true, "Created using Sphinx" is shown in the HTML footer. Default is True.
|
||||
html_show_sphinx = True
|
||||
# If true, "(C) Copyright ..." is shown in the HTML footer. Default is True.
|
||||
html_show_copyright = True
|
||||
# Output file base name for HTML help builder.
|
||||
htmlhelp_basename = "Hydroshoot_documentation"
|
||||
|
||||
# -- Options for LaTeX output ---------------------------------------------
|
||||
latex_elements = {}
|
||||
latex_documents = [
|
||||
(
|
||||
master_doc,
|
||||
"Hydroshoot.tex",
|
||||
"Hydroshoot Documentation",
|
||||
"INRAE / inria / CIRAD",
|
||||
"manual",
|
||||
),
|
||||
]
|
||||
|
||||
# -- Options for manual page output ---------------------------------------
|
||||
# One entry per manual page. List of tuples
|
||||
# (source start file, name, description, authors, manual section).
|
||||
man_pages = [(master_doc, "hydroshoot", "Hydroshoot Documentation", [author], 1)]
|
||||
|
||||
# -- Options for Texinfo output -------------------------------------------
|
||||
# Grouping the document tree into Texinfo files. List of tuples
|
||||
# (source start file, target name, title, author,
|
||||
# dir menu entry, description, category)
|
||||
texinfo_documents = [
|
||||
(
|
||||
master_doc,
|
||||
"Hydroshoot",
|
||||
"Hydroshoot Documentation",
|
||||
author,
|
||||
"Hydroshoot",
|
||||
"One line description of project.",
|
||||
"Miscellaneous",
|
||||
),
|
||||
]
|
||||
# Example configuration for intersphinx: refer to the Python standard library.
|
||||
intersphinx_mapping = {"python": ("https://docs.python.org/", None)}
|
1
hydroshoot/doc/contributing.rst
Normal file
|
@ -0,0 +1 @@
|
|||
.. include:: ../CONTRIBUTING.rst
|
10
hydroshoot/doc/ecophysio.rst
Normal file
|
@ -0,0 +1,10 @@
|
|||
==========================
|
||||
Ecophysiological processes
|
||||
==========================
|
||||
|
||||
.. toctree::
|
||||
:maxdepth: 2
|
||||
|
||||
hydraulic
|
||||
exchange
|
||||
energy
|
55
hydroshoot/doc/ecophysio_solver.rst
Normal file
|
@ -0,0 +1,55 @@
|
|||
======================
|
||||
Processes interactions
|
||||
======================
|
||||
|
||||
Interactions among the physiological processes occur.
|
||||
|
||||
.. figure:: figs/ecophysio_solver_1.svg
|
||||
:align: center
|
||||
|
||||
Solving the interactions between leaf's water potential, transpiration rate and temperature !
|
||||
|
||||
From the one hand. Leaf water potential (:math:`\Psi`) exerts a control on stomatal conductance to water vapor
|
||||
(:math:`g_{s, \ H_2O}`) and, consequently, on transpiration flux (:math:`E`). However, the latter also determines how much
|
||||
water will flow through the hydraulic segments to be withdrawn from the soil, which affects the distribution of
|
||||
water potential across those segments (Ohm's law). Hence, we have a reciprocity between the distribution of water
|
||||
potential across the shoot (hydraulic structure) and transpiration fluxes from individual leaves.
|
||||
|
||||
From the other hand, leaf temperature (:math:`T`) determines the rate of leaf photosynthesis (Arrhenius functions)
|
||||
and stomatal conductance to both :math:`CO_2` (:math:`g_{s, \ CO_2}`) and water vapor (:math:`g_{s, \ H_2O}`).
|
||||
This means that :math:`T` affects also the transpiration flux :math:`E` which also means that :math:`T` exerts a further
|
||||
control on the hydraulic structure.
|
||||
|
||||
Putting it all together:
|
||||
|
||||
For a given initial temperature (:math:`T_0`) and soil water potential (:math:`\Psi_0`), a leaf can fix :math:`CO_2`
|
||||
with a rate :math:`A_{n, \ 0}` while having a stomatal conductance rate of :math:`g_{s, \ H_2O, \ 0}`.
|
||||
The corresponding water flux transpired by this leaf will be :math:`E_0`. Summed up across all leaves, plant
|
||||
transpiration will withdraw water from the soil, reducing thus soil water potential and resulting in a new :math:`\Psi`
|
||||
value (:math:`\Psi_1`).
|
||||
:math:`\Psi_1`, will hence impose a new stomatal conductance :math:`g_{s, \ H_2O, \ 1}` and consequently a new
|
||||
transpiration flux :math:`E_1`. Yet, this new :math:`E_1` means that leaf temperature is :math:`T_1`... **REWIND**!
|
||||
|
||||
HydroShoot resolve this interactions iteratively until reaching steady rate values of :math:`A_n,` and :math:`E` (
|
||||
implying steady state distribution of water potential cross the shoot). :numref:`fig_2` shows how interactions between
|
||||
the hydraulic, energy and gas-exchange processes is handled in HydroShoot.
|
||||
|
||||
.. _fig_2:
|
||||
|
||||
.. figure:: figs/ecophysio_solver_2.png
|
||||
|
||||
Schematic representation of the numerical resolution of HydroShoot. Meteorological inputs that are common
|
||||
to all leaves are air temperature (:math:`T_{air}, \ K`), air relative humidity (:math:`RH, \ -`), air
|
||||
:math:`CO_2` concentration :math:`[\mu mol\ {mol}^{-1}]`, wind speed (:math:`u, \ m \ s^{-1}`), and atmospheric
|
||||
pressure (:math:`P_a, \ kPa`). Inputs per individual leaves are the absorbed photosynthetic photon flux density
|
||||
(:math:`PPFD, \ \mu mol \ m^{-2} \ s^{-1}`) and :math:`{PPFD}_{10}` the absorbed :math:`PPFD` during the last
|
||||
10 days. :math:`\Psi_u \ [MPa]` is xylem water potential at the nodes between each pair of hydraulic segments.
|
||||
:math:`\Psi_{u, \ init} \ [MPa]` is initial :math:`\Psi_u`. :math:`\Psi_{soil} \ [MPa]` is soil water potential.
|
||||
:math:`T_i \ [K]` is leaf temperature. :math:`T_{i, \ init} \ [K]` is initial :math:`T_i`.
|
||||
:math:`K_{init} \ [kg \ s^{-1} \ m \ {MPa}^{-1}]` is initial hydraulic conductivity of each segment.
|
||||
:math:`\epsilon_x \ [MPa]` is the maximum allowable error of the estimation of xylem water potential. Finally,
|
||||
:math:`\epsilon_T \ [K]` is the maximum allowable error of the estimation of leaf temperature.
|
||||
Circles inside module boxes indicate internal iteration loops. Symbols between curly brackets represent spatially
|
||||
structured variables.
|
||||
|
||||
|
92
hydroshoot/doc/energy.rst
Normal file
|
@ -0,0 +1,92 @@
|
|||
=============
|
||||
Energy budget
|
||||
=============
|
||||
|
||||
.. figure:: figs/energy_1.png
|
||||
:align: center
|
||||
|
||||
The *energy* module computes the temperature of individual leaves based on a detailed energy balance model (see
|
||||
Supporting Information S3 in **Albasha et al., 2019**).
|
||||
|
||||
Energy gain of each leaf comes from:
|
||||
|
||||
1. the absorbed shortwave;
|
||||
2. thermal longwave radiation from the sky;
|
||||
3. thermal longwave radiation from the sky;
|
||||
4. thermal longwave radiation from the soil;
|
||||
5. thermal longwave radiation from the neighbouring leaves.
|
||||
|
||||
Energy loss of each leaf is due to
|
||||
|
||||
1. thermal longwave radiation emitted by the leaf
|
||||
2. latent heat due to transpiration (evaporative cooling)
|
||||
|
||||
Energy gain or loss may result from heat exchange between the each leaf and the surrounding air by thermal
|
||||
conduction-convection.
|
||||
|
||||
The resulting leaf-scale energy balance equation writes:
|
||||
|
||||
.. math::
|
||||
0 & = \alpha_{i, \ R_g} \cdot \Phi_{i, \ R_g} \\
|
||||
& + \epsilon_{i, \ leaf} \cdot \sigma \cdot
|
||||
\left(
|
||||
k_{i, \ sky} \cdot \epsilon_{sky} \cdot T_{sky}^4
|
||||
+ k_{i, \ soil} \cdot \epsilon_{soil} \cdot T_{soil}^4
|
||||
+ \left[1 - \left(k_{sky} + k_{soil} \right) \right] \cdot T_i^4
|
||||
\right) \\
|
||||
& - 2 \cdot \epsilon_{i, \ leaf} \cdot \sigma \cdot T_i^4 \\
|
||||
& - \lambda \cdot E_i \\
|
||||
& - 2 \cdot K_{air} \cdot \frac{T_i - T_{air}}{\Delta x_i}
|
||||
|
||||
|
||||
where
|
||||
:math:`i` refers to leaf identifier,
|
||||
:math:`j` refers to neighbouring leaves identifier,
|
||||
:math:`\Omega` denotes the upper hemisphere surrounding the leaf :math:`i`,
|
||||
:math:`\alpha_{R_g} \ [-]` is lumped leaf absorptance in the shortwave band,
|
||||
:math:`\Phi_{R_g} \ [W \ m_{leaf}^{-2}]` flux density of shortwave global irradiance,
|
||||
:math:`\epsilon_{leaf} \ [-]` emissivity-absorptivity coefficients of the leaf,
|
||||
:math:`\epsilon_{sky} \ [-]` emissivity-absorptivity coefficients of the leaf,
|
||||
:math:`\epsilon_{soil} \ [-]` emissivity-absorptivity coefficients of the soil,
|
||||
:math:`\lambda \ [W \ s \ {mol}^{-1}]` is latent heat for vaporization,
|
||||
:math:`\sigma \ [W \ m^{-2} \ K^{-4}]` the Stefan-Boltzmann constant,
|
||||
:math:`k_{sky} \ [-]` form factor of the sky,
|
||||
:math:`k_{soil} \ [-]` form factor of the soil,
|
||||
:math:`T \ [K]` leaf temperature,
|
||||
:math:`T_{air}` air temperature,
|
||||
:math:`T_{sky} \ [K]` sky temperature,
|
||||
:math:`T_{soil} \ [K]` soil temperature,
|
||||
:math:`K_{air} \ [W \ m^{-1} \ K^{-1}]` the thermal conductivity of air,
|
||||
:math:`E \ [mol \ m_{leaf}^{-2} \ s^{-1}]` transpiration flux, and
|
||||
:math:`\Delta x_i \ [m]` thickness of the boundary layer.
|
||||
|
||||
|
||||
.. note::
|
||||
Only the forced convective heat transfer is currently considered in HydroShoot since forced convection dominates
|
||||
free convection once wind speed exceeds roughly 0.1 :math:`m \ s^{-1}` **(Nobel 2005)**. This wind speed threshold
|
||||
is generally exceeded during diurnal hours. However, under low wind conditions heat transfer may be underestimated.
|
||||
|
||||
Sky and soil form factors: the *Pirouette Cacahuete* issue!
|
||||
-----------------------------------------------------------
|
||||
|
||||
You may notice once you do your first run something like this:
|
||||
|
||||
.. figure:: figs/energy_2.png
|
||||
:align: center
|
||||
|
||||
|
||||
This refers to the method used to calculate the lumped sky and soil form factors (respectively :math:`k_{sky}` and
|
||||
:math:`k_{soil}`).
|
||||
|
||||
In order to reduce calculation costs, :math:`k_{sky}` and :math:`k_{soil}`) are obtained by flip flopping the canopy:
|
||||
|
||||
.. figure:: figs/energy_3.png
|
||||
:align: center
|
||||
|
||||
At first, the canopy is turned downwards. A unit irradiance is emitted from each sky sector and irradiance that is
|
||||
intercepted by a leaf :math:`i` is assumed equivalent to the form factor between that leaf and the "soil".
|
||||
In the second step, the canopy is turned upwards again and similarly, a unit irradiance is emitted from each sky sector.
|
||||
In this case, irradiance that is intercepted by a leaf :math:`i` is assumed equivalent to the form factor between that
|
||||
leaf and the "sky".
|
||||
|
||||
This method is clearly not 100% precise. It may need further improvements in the future.
|
18
hydroshoot/doc/environment.yml
Normal file
|
@ -0,0 +1,18 @@
|
|||
name: hydroshoot
|
||||
channels:
|
||||
- conda-forge
|
||||
- openalea3
|
||||
dependencies:
|
||||
- openalea.mtg
|
||||
- openalea.plantgl
|
||||
- alinea.caribu
|
||||
- alinea.astk
|
||||
- numpy
|
||||
- scipy
|
||||
- sympy
|
||||
- pandas
|
||||
- jsonschema
|
||||
- pvlib-python
|
||||
- pip
|
||||
- pip:
|
||||
- -e ..[doc]
|
248
hydroshoot/doc/exchange.rst
Normal file
|
@ -0,0 +1,248 @@
|
|||
============
|
||||
Gas exchange
|
||||
============
|
||||
|
||||
.. figure:: figs/exchange.png
|
||||
:align: center
|
||||
|
||||
The *exchange* module computes the rates of net carbon assimilation of C3 plants (:math:`A_n`), stomatal conductance
|
||||
to CO2 (:math:`g_{s, \ CO_2}`) and water vapor (:math:`g_{s, \ H_2O}`), and transpiration (:math:`E`) per unit leaf
|
||||
surface area as a function of micrometeorological conditions and leaf water status.
|
||||
|
||||
|
||||
:math:`A_n` and :math:`g_{s, \ CO_2}` are coupled based on the analytical solution proposed by **Yin et al. (2009)**
|
||||
which also considers mesophyll conductance to CO2 diffusion :math:`g_m`. The solution is based on the following
|
||||
equations (following **Evers et al. 2010** supporting information):
|
||||
|
||||
.. math::
|
||||
\begin{array}{l}
|
||||
A_n = \frac{(C_c - \Gamma) \cdot x_1}{C_c + x_2} - R_d \\
|
||||
C_c = C_i - \frac{A_n}{g_m} \\
|
||||
g_{s, CO_{2}} = g_{s0, CO_{2}} + m_0 \cdot \frac{A_n + R_d}{C_i - \Gamma} \cdot f_w \\
|
||||
g_{s, CO_{2}} = \frac{A_n}{C_a - C_i - A_n \cdot r_{tb}}
|
||||
\end{array}
|
||||
|
||||
where
|
||||
:math:`A_n \ [\mu mol \ m^{-2} \ s^{-1}]` is net carbon assimilation rate,
|
||||
:math:`R_d \ [\mu mol \ m^{-2} \ s^{-1}]` is mitochondrial respiration in the light,
|
||||
:math:`\Gamma \ [\mu bar]` is :math:`CO_2` compensation point in the absence of mitochondrial respiration,
|
||||
:math:`x_1 \ [\mu mol \ m^{-2} \ s^{-1}]` and :math:`x_2 \ [\mu bar]` are intermediate parameters,
|
||||
:math:`g_m \ [\mu mol \ m^{-2} \ s^{-1} \ {\mu bar}^{-1}]` is mesophyll conductance for :math:`CO_2` diffusion,
|
||||
:math:`g_{s, \ CO_2} \ [mol \ m^{-2} \ s^{-1} \ {\mu bar}^{-1}]` is stomatal conductance to :math:`CO_2`,
|
||||
:math:`g_{s0, \ CO_2} \ [mol \ m^{-2} \ s^{-1} \ {\mu bar}^{-1}]` is the residual stomatal conductance to :math:`CO_2`,
|
||||
:math:`m_0 \ [-]` is a shape parameter regulating the slope between :math:`A_n` and :math:`g_{s, \ CO_2}`,
|
||||
:math:`f_w \ [-]` is a dimensionless function representing the response of stomatal conductance to soil or plant water status,
|
||||
:math:`r_{tb} \ [m^2 \ s \ \mu bar \ {\mu mol}^{-1}]` is the combined turbulence and boundary layer resistance for :math:`CO_2`,
|
||||
:math:`C_a \ [\mu bar]` is air :math:`CO_2` partial pressure,
|
||||
:math:`C_i \ [\mu bar]` is intercellular :math:`CO_2` partial pressure, and
|
||||
:math:`C_c \ [\mu bar]` is chloroplast :math:`CO_2` partial pressure.
|
||||
|
||||
|
||||
Net carbon assimilation rate per unit leaf area
|
||||
-----------------------------------------------
|
||||
:math:`A_n` is given as:
|
||||
|
||||
.. math::
|
||||
A_n = V_c \cdot \left(1 - \frac{\Gamma}{C_c} \right) - R_d
|
||||
|
||||
where
|
||||
:math:`V_c \ [\mu mol \ m^{-2} \ s^{-1}]` is carboxylation rate,
|
||||
:math:`\Gamma \ [\mu {mol}_{CO_2} \ {mol}_{CO_2}^{-1}]` :math:`CO_2` compensation point in the absence of mitochondrial
|
||||
respiration,
|
||||
:math:`C_c \ [\mu {mol}_{CO_2} \ {mol}^{-1}]` chloroplast :math:`CO_2` concentration, and
|
||||
:math:`R_d \ [\mu mol \ m^{-2} \ s^{-1}]` is mitochondrial respiration rate in the light.
|
||||
|
||||
:math:`V_c` is given as:
|
||||
|
||||
.. math::
|
||||
V_c = \min \left(W_c, W_j, W_p \right)
|
||||
|
||||
where
|
||||
:math:`W_c`, :math:`W_j`, and :math:`W_p \ [\mu mol \ m^{-2} \ s^{-1}]` are respectively Rubisco-limited carboxylation
|
||||
rate, RuBP-limited carboxylation rate, and Triose phosphates-limited carboxylation rate, given as:
|
||||
|
||||
.. math::
|
||||
\begin{array}{l}
|
||||
W_c = \frac{C_c \cdot V_{c, \max}}{C_c + K_c \cdot \left(1 + \frac{O}{K_o} \right)} \\
|
||||
W_j = \frac{J}{4 + 8 \cdot \frac{\Gamma}{C_c}} \\
|
||||
W_p = \frac{3 \cdot TPU}{\left(1 - \frac{\Gamma}{C_c} \right)}
|
||||
\end{array}
|
||||
|
||||
where
|
||||
:math:`V_{c, \ max} \ [\mu mol \ m^{-2} \ s^{-1}]` is the maximum carboxylation rate,
|
||||
:math:`J \ [\mu mol \ m^{-2} \ s^{-1}]` electron transport rate,
|
||||
:math:`TPU \ [\mu mol \ m^{-2} \ s^{-1}]` Triose phosphates transport rate,
|
||||
:math:`K_c \ [\mu mol \ {mol}^{-1}]` Michaelis-Menten constant for the carboxylase,
|
||||
:math:`K_o \ [mmol \ {mol}^{-1}]` Michaelis-Menten constant for the oxygenase, and
|
||||
:math:`O \ [mmol \ {mol}^{-1}]` oxygen concentration.
|
||||
|
||||
|
||||
Finally, :math:`J` is given as:
|
||||
|
||||
.. math::
|
||||
J = \frac{\alpha \cdot {PPFD}}{\sqrt{1 + \frac{\alpha^2 \cdot {PPFD}^2}{J_{max}^2}}}
|
||||
|
||||
where
|
||||
:math:`J_{max} \ [\mu mol \ m^{-2} \ s^{-1}]` is maximum electron transport rate, and
|
||||
:math:`PPFD \ [\mu mol \ m^{-2} \ s{-1}]` is photosynthetic photon flux density.
|
||||
|
||||
|
||||
The impact of leaf temperature on the photosynthesis parameters is accounted for using Arrhenius functions.
|
||||
For :math:`V_{c, \ max}`, :math:`J_{max}`, :math:`TPU`, and :math:`R_d` temperature dependency writes:
|
||||
|
||||
|
||||
.. math::
|
||||
P = P^{25} \cdot \
|
||||
\frac {\exp \left(c - \frac{\Delta H_a}{R \cdot T_{leaf}} \right)}
|
||||
{1 + \exp \left(\frac {\Delta S \cdot T_{leaf} - \Delta H_d}
|
||||
{R \cdot T_{leaf}} \right)}
|
||||
|
||||
where
|
||||
:math:`P` denotes any of :math:`V_{c, \ max}`, :math:`J_{max}`, :math:`TPU`, and :math:`R_d` parameters,
|
||||
:math:`P^{25}` is the value of :math:`P` at 25 \ :math:`^\circ C`,
|
||||
:math:`c \ [-]` is a shape parameter,
|
||||
:math:`\Delta H_a \ [kJ \ {mol}_{CO_2}^{-1}]` is activation energy of the Arrhenius functions,
|
||||
:math:`\Delta H_d \ [kJ \ {mol}_{CO_2}^{-1}]` is deactivation energy of the Arrhenius functions,
|
||||
:math:`\Delta S \ [kJ \ K^{-1} \ {mol}_{CO_2}^{-1}]` is entropy term,
|
||||
:math:`R \ [kJ \ K^{-1} \ {mol}^{-1}]` is the ideal gas constant, and
|
||||
:math:`T_{leaf} \ [K]` is leaf temperature.
|
||||
|
||||
|
||||
Finally, for :math:`\Gamma`, :math:`K_c`, and :math:`K_o` temperature dependency writes:
|
||||
|
||||
.. math::
|
||||
P = \exp \left(
|
||||
c - \frac{\Delta H_a}{R \cdot T_{leaf}}
|
||||
\right)
|
||||
|
||||
|
||||
Variable intra-canopy photosynthetic capacities
|
||||
-----------------------------------------------
|
||||
Leaf photosynthetic traits (
|
||||
:math:`V_{cmax}`, :math:`J_{max}`, :math:`TPU` and :math:`R_d`; cf. Appendix I in **Albasha et al., 2019**) are set
|
||||
to vary as a function leaf nitrogen content per unit leaf surface area (:math:`N_a, \ g_N \ m^{-2}`) following
|
||||
**Prieto et al. (2012)**:
|
||||
|
||||
.. math::
|
||||
P^{25} = S_{N_a} \ N_a - b_{N_a}
|
||||
|
||||
|
||||
where
|
||||
:math:`P^{25} \ [\mu mol \ m^{-2} \ s^{-1}]` is the value at 25 :math:`^\circ C` for any of the rates
|
||||
of :math:`V_{cmax}`, :math:`J_{max}`, :math:`TPU` or :math:`R_d`,
|
||||
:math:`S_{N_a} \ [\mu mol \ g_N^{-1} \ s^{-1}]` and
|
||||
:math:`b_{N_a} \ [\mu mol \ m^{-2} \ s^{-1}]`
|
||||
are the slope and the intercept of the linear relationship with :math:`N_a` specific to each rate.
|
||||
|
||||
:math:`N_a` is calculated as the product of nitrogen content per unit leaf dry mass (
|
||||
:math:`N_m, \ g_N \ g_{drymatter}^{-1}`) and leaf dry mass per area (:math:`LMA, \ g_{drymatter} \ m^{-2}`).
|
||||
:math:`N_m` linearly varies with plant age, expressed as the thermal time cumulated since budburst, and :math:`LMA`
|
||||
is determined by leaf exposure to light during the last past days **(Prieto et al., 2012)**, as expressed
|
||||
respectively in the two following equations:
|
||||
|
||||
.. math::
|
||||
\begin{array}{l}
|
||||
N_m = a_N \cdot \sum_{i=budburst}^d {\left( \max{\left( 0, T_{air, \i} - T_b \right)} \right)} + b_N \\
|
||||
LMA = a_M \cdot \ \ln{(PPFD_{10})} + b_M
|
||||
\end{array}
|
||||
|
||||
where
|
||||
:math:`T_{air, \ i} \ [^\circ C]` is the mean temperature of the day :math:`i`,
|
||||
:math:`T_b \ [^\circ C]` is the base temperature (minimum required for growth), set to 10 :math:`\ ^\circ C` for
|
||||
grapevine and used for the calculation of thermal time since budburst,
|
||||
:math:`a_N \ [g_N \ g_{drymatter}^{-1} \ ^\circ C \ d^{-1}]` and
|
||||
:math:`b_N \ [g_N \ g_{drymatter}^{-1}]` are the slope and intercept of the linear relationship between :math:`N_m`
|
||||
and accumulated thermal time since budburst,
|
||||
:math:`PPFD_{10} \ [mol_{photon} \ m^{-2} \ d^{-1}]` is the cumulative photosynthetic photon flux density irradiance
|
||||
intercepted by the leaf (output of the energy module) averaged over the past 10 days,
|
||||
:math:`a_M \ [g_{drymatter} \ mol_{photon}^{-1} \ d^{-1}]` and
|
||||
:math:`b_M \ [g_{drymatter} \ m^{-2}]` are the slope and intercept of the linear relationship between :math:`LMA` and
|
||||
the logarithm of :math:`PPFD_{10}`.
|
||||
|
||||
|
||||
Photoinhibition
|
||||
---------------
|
||||
HydroShoot is provided with an empirical photoinhibition model which assumes that combined heat and water
|
||||
stresses inhibit photosynthesis by reducing the electron transport rate (:math:`J`):
|
||||
|
||||
.. math::
|
||||
\begin{array}{l}
|
||||
\Delta H_d = \Delta H_{d, \max} - \max \left( 0, \left( \Delta H_{d, \max} - \Delta H_{d, T} \right) \cdot \min \left( 1, \frac{\Psi_{leaf} - \Psi_{leaf, \max}}{\Psi_{leaf, \min} - \Psi_{leaf, \max}} \right) \right) \\
|
||||
\Delta H_{d, t} = \Delta H_{d, t1} - \left( \Delta H_{d, t1} - \Delta H_{d, t2} \right) \cdot \min \left( 1, \max \left( 0, \frac{T_{leaf} - T_{leaf1}}{T_{leaf2} - T_{leaf1}} \right) \right)
|
||||
\end{array}
|
||||
|
||||
where
|
||||
:math:`\Delta H_d \ [kJ \ mol^{-1}]` is calculated after accounting for the joint effects of leaf water potential
|
||||
:math:`\Psi_{leaf} \ MPa` and temperature :math:`T_{leaf} \ [K]`,
|
||||
:math:`\Delta H_{d, \ max} \ [kJ \ mol^{-1}]` is the value of :math:`\Delta H_d` without accounting for photoinhibition,
|
||||
:math:`\Delta H_{d, \ T} \ [kJ mol^{-1}]` is the value of :math:`\Delta H_d` after accounting for the effect of
|
||||
:math:`T_{leaf}`,
|
||||
:math:`\Psi_{leaf, \ max}` and :math:`\Psi_{leaf, \ min} \ [MPa]` are leaf water potential values at which
|
||||
photoinhibition starts and reaches its maximum effect, respectively, finally,
|
||||
:math:`\Delta H_{d, \ T1}` and :math:`\Delta H_{d, \ T2} \ [kJ mol^{-1}]` are empirical thresholds corresponding to
|
||||
leaf temperatures :math:`T_{leaf1}` and :math:`T_{leaf2}` which are temperatures at which photoinhibition starts and
|
||||
reaches its maximum effect, respectively.
|
||||
|
||||
|
||||
Transpiration rate per unit leaf area
|
||||
-------------------------------------
|
||||
|
||||
The transpiration rate (:math:`E, \ mol \ m^{-2} s^{-1}`) is calculated as:
|
||||
|
||||
.. math::
|
||||
E = \frac{1}{\frac{1}{g_{b, \ H_2O}} + \frac{1}{1.6 \cdot g_{s, \ CO_2}}} \left( \frac{VPD}{P_a} \right)
|
||||
|
||||
|
||||
where
|
||||
:math:`P_a \ [kPa]` is the atmospheric pressure and
|
||||
:math:`g_{b, \ H_2O} \ [mol \ m^{-2} s^{-1}]` is the boundary layer conductance to water vapor derived from
|
||||
**Nobel (2005)** as:
|
||||
|
||||
.. math::
|
||||
g_{b, \ H_2O} = \frac{D_{H_2O} \cdot P_v}{R \cdot T_{leaf} \cdot \Delta x}
|
||||
|
||||
with
|
||||
|
||||
.. math::
|
||||
D_{H_2O} = D_{H_2O, 0} \cdot \frac{P_a}{P_v} \cdot \left( \frac{T_{leaf}}{273} \right)^{1.8}
|
||||
|
||||
where
|
||||
:math:`D_{H_2O}` is the diffusion coefficient of H2O in the air at 0 :math:`^\circ C` (:math:`2.13 \cdot {10}^{-5} \ m^2 s^{-1}`),
|
||||
:math:`P_a \ [MPa]` is the ambient air pressure at 0 :math:`^\circ C`,
|
||||
:math:`P_v \ [MPa]` is water vapor partial pressure, and
|
||||
:math:`\Delta x \ [m]` is the thickness of the boundary layer defined following **Nobel (2005)** as:
|
||||
|
||||
.. math::
|
||||
\Delta x = 0.004 \sqrt{\frac{l}{v}}
|
||||
|
||||
where
|
||||
:math:`l \ [m]` is the mean length of the leaf in the downwind direction (set to 70% of blade length), and
|
||||
:math:`v \ [m \ s^{-1}]` is wind speed in the vicinity of the leaf.
|
||||
|
||||
|
||||
Finally, the impact of water stress on stomatal conductance (i.e. via the :math:`f_w` function) is calculated using
|
||||
one of the following options:
|
||||
|
||||
.. math::
|
||||
f_w =
|
||||
\left\{
|
||||
\begin{array}{cl}
|
||||
\frac{1}{1+\left( \frac{VPD}{D_0} \right)} & (a) \\
|
||||
\frac{1}{1+\left( \frac{\Psi_{leaf}}{\Psi_{crit, \ leaf}} \right)^n} & (b) \\
|
||||
\frac{1}{1+\left( \frac{\Psi_{soil}}{\Psi_{crit, \ leaf}} \right)^n} & (c) \\
|
||||
\end{array}
|
||||
\right.
|
||||
|
||||
|
||||
where
|
||||
:math:`VPD \ [kPa]` is vapor pressure deficit (between the leaf and the air),
|
||||
:math:`D_0 \ [kPa]` shape parameter,
|
||||
:math:`\Psi_{leaf} \ [MPa]` leaf bulk xylem potential,
|
||||
:math:`\Psi_{soil} \ [MPa]` soil bulk water potential (assumed equal to xylem potential at the base of the shoot), and
|
||||
:math:`\Psi_{crit, leaf} \ [MPa]` leaf water potential at which stomatal conductance reduces to half its maximum value.
|
||||
|
||||
|
||||
In case the option :math:`a` is used, stomatal conductance reduction is considered independent from the soil water
|
||||
status (i.e. following **Leuning, 1995**). In contrast, Both options :math:`b` and `c` allow simulating stomatal
|
||||
conductance as a function either of leaf water potential (i.e. regarding shoot hydraulic structure) or soil
|
||||
water potential (i.e. disregarding the hydraulic structure of the shoot).
|
913
hydroshoot/doc/figs/ecophysio_solver_1.svg
Normal file
|
@ -0,0 +1,913 @@
|
|||
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
|
||||
<!-- Created with Inkscape (http://www.inkscape.org/) -->
|
||||
|
||||
<svg
|
||||
xmlns:dc="http://purl.org/dc/elements/1.1/"
|
||||
xmlns:cc="http://creativecommons.org/ns#"
|
||||
xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
|
||||
xmlns:svg="http://www.w3.org/2000/svg"
|
||||
xmlns="http://www.w3.org/2000/svg"
|
||||
xmlns:xlink="http://www.w3.org/1999/xlink"
|
||||
xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
|
||||
xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
|
||||
version="1.1"
|
||||
id="svg64"
|
||||
width="172.48"
|
||||
height="198.39999"
|
||||
viewBox="0 0 172.48 198.39999"
|
||||
sodipodi:docname="ecophysio_solver_fig_1.jpg.svg"
|
||||
inkscape:version="0.92.3 (unknown)">
|
||||
<metadata
|
||||
id="metadata70">
|
||||
<rdf:RDF>
|
||||
<cc:Work
|
||||
rdf:about="">
|
||||
<dc:format>image/svg+xml</dc:format>
|
||||
<dc:type
|
||||
rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
|
||||
<dc:title></dc:title>
|
||||
</cc:Work>
|
||||
</rdf:RDF>
|
||||
</metadata>
|
||||
<defs
|
||||
id="defs68" />
|
||||
<sodipodi:namedview
|
||||
pagecolor="#ffffff"
|
||||
bordercolor="#666666"
|
||||
borderopacity="1"
|
||||
objecttolerance="10"
|
||||
gridtolerance="10"
|
||||
guidetolerance="10"
|
||||
inkscape:pageopacity="0"
|
||||
inkscape:pageshadow="2"
|
||||
inkscape:window-width="1301"
|
||||
inkscape:window-height="744"
|
||||
id="namedview66"
|
||||
showgrid="false"
|
||||
inkscape:zoom="0.75856857"
|
||||
inkscape:cx="-400.23818"
|
||||
inkscape:cy="53.545494"
|
||||
inkscape:window-x="65"
|
||||
inkscape:window-y="24"
|
||||
inkscape:window-maximized="1"
|
||||
inkscape:current-layer="svg64" />
|
||||
<image
|
||||
width="172.48"
|
||||
height="198.39999"
|
||||
preserveAspectRatio="none"
|
||||
xlink:href="data:image/jpeg;base64,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
|
||||
3pY/+Z//2Q==
|
||||
"
|
||||
id="image72"
|
||||
x="0"
|
||||
y="0" />
|
||||
<rect
|
||||
style="fill:#ffffff"
|
||||
id="rect86"
|
||||
width="112.38272"
|
||||
height="24.388039"
|
||||
x="29.33156"
|
||||
y="86.017273" />
|
||||
<rect
|
||||
style="fill:#ffffff"
|
||||
id="rect88"
|
||||
width="176.10524"
|
||||
height="8.8983383"
|
||||
x="-3.6252491"
|
||||
y="189.50165" />
|
||||
<rect
|
||||
style="fill:#ffffff"
|
||||
id="rect90"
|
||||
width="6.591362"
|
||||
height="2.9661129"
|
||||
x="157.20398"
|
||||
y="194.77475" />
|
||||
<rect
|
||||
style="fill:#ffffff"
|
||||
id="rect92"
|
||||
width="186.53554"
|
||||
height="14.830564"
|
||||
x="-6.591362"
|
||||
y="190.1608" />
|
||||
<rect
|
||||
style="fill:#ffffff"
|
||||
id="rect94"
|
||||
width="15.703387"
|
||||
height="193.78604"
|
||||
x="172.48"
|
||||
y="0" />
|
||||
<rect
|
||||
style="fill:#ffffff"
|
||||
id="rect98"
|
||||
width="44.705379"
|
||||
height="193.12691"
|
||||
x="172.48"
|
||||
y="0" />
|
||||
<rect
|
||||
style="fill:#ffffff"
|
||||
id="rect100"
|
||||
width="28.672424"
|
||||
height="199.05913"
|
||||
x="168.4093"
|
||||
y="-4.6139531" />
|
||||
<rect
|
||||
style="fill:#ffffff"
|
||||
id="rect102"
|
||||
width="305.8392"
|
||||
height="46.139534"
|
||||
x="-77.778069"
|
||||
y="-42.843853" />
|
||||
</svg>
|
After Width: | Height: | Size: 62 KiB |
BIN
hydroshoot/doc/figs/ecophysio_solver_2.png
Normal file
After Width: | Height: | Size: 29 KiB |
BIN
hydroshoot/doc/figs/energy_1.png
Normal file
After Width: | Height: | Size: 18 KiB |
BIN
hydroshoot/doc/figs/energy_2.png
Normal file
After Width: | Height: | Size: 9.9 KiB |
BIN
hydroshoot/doc/figs/energy_3.png
Normal file
After Width: | Height: | Size: 58 KiB |
BIN
hydroshoot/doc/figs/exchange.png
Normal file
After Width: | Height: | Size: 10 KiB |
BIN
hydroshoot/doc/figs/hydraulic.png
Normal file
After Width: | Height: | Size: 197 KiB |
BIN
hydroshoot/doc/figs/intro_canopy.png
Normal file
After Width: | Height: | Size: 58 KiB |
BIN
hydroshoot/doc/figs/intro_hydraulic.png
Normal file
After Width: | Height: | Size: 72 KiB |
BIN
hydroshoot/doc/figs/intro_irradiance.png
Normal file
After Width: | Height: | Size: 67 KiB |
BIN
hydroshoot/doc/figs/intro_net_photosynthesis.png
Normal file
After Width: | Height: | Size: 53 KiB |
BIN
hydroshoot/doc/figs/intro_temperature.png
Normal file
After Width: | Height: | Size: 50 KiB |
BIN
hydroshoot/doc/figs/intro_transpiration.png
Normal file
After Width: | Height: | Size: 54 KiB |
BIN
hydroshoot/doc/figs/usage_fig_1.png
Normal file
After Width: | Height: | Size: 32 KiB |
BIN
hydroshoot/doc/figs/usage_fig_2.png
Normal file
After Width: | Height: | Size: 39 KiB |
BIN
hydroshoot/doc/figs/usage_fig_3.png
Normal file
After Width: | Height: | Size: 363 KiB |
1
hydroshoot/doc/history.rst
Normal file
|
@ -0,0 +1 @@
|
|||
.. include:: ../HISTORY.rst
|
46
hydroshoot/doc/hydraulic.rst
Normal file
|
@ -0,0 +1,46 @@
|
|||
===================
|
||||
Hydraulic structure
|
||||
===================
|
||||
|
||||
The *hydraulic* module computes the distribution of xylem water potential across plant segments by analogy to Ohm’s law
|
||||
(:numref:`fig_1_hydraulic`)
|
||||
|
||||
.. _fig_1_hydraulic:
|
||||
|
||||
.. figure:: figs/hydraulic.png
|
||||
|
||||
Illustration of the variables required to calculate the hydraulic structure: water flux (:math:`F`),
|
||||
hydraulic conductivity (:math:`K`), water pressure at upper (downstream) and lower (upstream) extremities
|
||||
of the conducting element (respectively :math:`H_u` and :math:`H_l`), and the length of the segment (:math:`L`).
|
||||
|
||||
Water flux (:math:`F, \ kg \ s^{-1}`) across the hydraulic segment of length (:math:`L, \ m`)
|
||||
is driven by the difference of xylem pressures across this segment (:math:`H_u - H_l, \ MPa`)
|
||||
and regulated by segment's hydraulic conductivity (:math:`K, \ kgs^{-1} \ m \ MPa^{-1}`):
|
||||
|
||||
.. math::
|
||||
F = - K \cdot \frac{H_u - H_l}{L}
|
||||
|
||||
The hydraulic conductivity varies with water potential as a result of xylem cavitation under water deficit
|
||||
**(Tyree and Sperry, 1989)**. This relationship is described in HydroShoot as:
|
||||
|
||||
.. math::
|
||||
K = K_{max} \cdot \frac{1} {\left( 1 + \left( \frac{\Psi}{\Psi_{crit, \ stem}} \right) ^{c_{x1}} \right)}
|
||||
|
||||
where
|
||||
:math:`K_{max} \ [kg \ s^{-1} \ m \ MPa^{-1}]` is the maximum conductivity of the segment,
|
||||
:math:`\Psi \ [MPa]` is the arithmetic mean of xylem potential of the segment,
|
||||
:math:`\Psi_{crit, \ stem} \ [MPa]` and
|
||||
:math:`c_{x1} \ [-]` are shape parameters.
|
||||
|
||||
:math:`K_{max}` is estimated empirically as proposed by **Tyree and Zimmermann (2002)** as:
|
||||
|
||||
.. math::
|
||||
K_{max} = c_{x2} \cdot D^{c_{x3}}
|
||||
|
||||
where
|
||||
:math:`D \ [m]` is the average diameter of the segment, and
|
||||
:math:`c_{x2}` and
|
||||
:math:`c_{x3}` are shape parameters, mostly given within the ranges of [2.5, 2.8] and [2.0, 5.0], respectively.
|
||||
|
||||
The last two equations apply to all conducting segments (not leaves blades). Water potential of the upper extremity
|
||||
of the petiole is assumed equal to that of the lumped leaf water potential :math:`\Psi_{leaf} \ [MPa]`.
|
27
hydroshoot/doc/index.rst
Normal file
|
@ -0,0 +1,27 @@
|
|||
.. HydroShoot documentation master file, created by
|
||||
sphinx-quickstart on Thu May 30 13:38:38 2019.
|
||||
You can adapt this file completely to your liking, but it should at least
|
||||
contain the root `toctree` directive.
|
||||
|
||||
Welcome to HydroShoot's documentation!
|
||||
======================================
|
||||
|
||||
.. toctree::
|
||||
:maxdepth: 3
|
||||
:caption: Contents:
|
||||
|
||||
installation
|
||||
overview
|
||||
model_description
|
||||
usage
|
||||
|
||||
|
||||
|
||||
Further reading
|
||||
===============
|
||||
|
||||
.. toctree::
|
||||
|
||||
authors
|
||||
history
|
||||
contributing
|
13
hydroshoot/doc/installation.rst
Normal file
|
@ -0,0 +1,13 @@
|
|||
============
|
||||
Installation
|
||||
============
|
||||
|
||||
HydroShoot can be installed automagically using the openalea3 channel from anaconda:
|
||||
|
||||
.. code::
|
||||
|
||||
mamba create -n hydroshoot -c openalea3 -c conda-forge openalea.hydroshoot
|
||||
mamba activate hydroshoot
|
||||
|
||||
|
||||
You're done !
|
36
hydroshoot/doc/make.bat
Normal file
|
@ -0,0 +1,36 @@
|
|||
@ECHO OFF
|
||||
|
||||
pushd %~dp0
|
||||
|
||||
REM Command file for Sphinx documentation
|
||||
|
||||
if "%SPHINXBUILD%" == "" (
|
||||
set SPHINXBUILD=sphinx-build
|
||||
)
|
||||
set SOURCEDIR=.
|
||||
set BUILDDIR=_build
|
||||
set SPHINXPROJ=HydroShoot
|
||||
|
||||
if "%1" == "" goto help
|
||||
|
||||
%SPHINXBUILD% >NUL 2>NUL
|
||||
if errorlevel 9009 (
|
||||
echo.
|
||||
echo.The 'sphinx-build' command was not found. Make sure you have Sphinx
|
||||
echo.installed, then set the SPHINXBUILD environment variable to point
|
||||
echo.to the full path of the 'sphinx-build' executable. Alternatively you
|
||||
echo.may add the Sphinx directory to PATH.
|
||||
echo.
|
||||
echo.If you don't have Sphinx installed, grab it from
|
||||
echo.http://sphinx-doc.org/
|
||||
exit /b 1
|
||||
)
|
||||
|
||||
%SPHINXBUILD% -M %1 %SOURCEDIR% %BUILDDIR% %SPHINXOPTS%
|
||||
goto end
|
||||
|
||||
:help
|
||||
%SPHINXBUILD% -M help %SOURCEDIR% %BUILDDIR% %SPHINXOPTS%
|
||||
|
||||
:end
|
||||
popd
|
15
hydroshoot/doc/model_description.rst
Normal file
|
@ -0,0 +1,15 @@
|
|||
=================
|
||||
Model description
|
||||
=================
|
||||
|
||||
All information in this section are taken from HydroShoot's paper
|
||||
(`Albasha et al., 2019 <https://doi.org/10.1093/insilicoplants/diz007>`_).
|
||||
Please refer to the this paper for a detailed description of model's formulae and evaluation.
|
||||
|
||||
|
||||
.. toctree::
|
||||
:maxdepth: 1
|
||||
|
||||
ecophysio
|
||||
ecophysio_solver
|
||||
refs
|
53
hydroshoot/doc/overview.rst
Normal file
|
@ -0,0 +1,53 @@
|
|||
========
|
||||
Overview
|
||||
========
|
||||
|
||||
|
||||
What is HydroShoot about?
|
||||
=========================
|
||||
HydrShoot is a functional-structural plant model that simulates the interactions between shoot's hydraulic structure,
|
||||
gas-exchange and energy-budget, at the organ level.
|
||||
|
||||
.. |fig1| image:: figs/intro_canopy.png
|
||||
:width: 300
|
||||
.. |fig2| image:: figs/intro_irradiance.png
|
||||
:width: 300
|
||||
.. |fig3| image:: figs/intro_hydraulic.png
|
||||
:width: 300
|
||||
.. |fig4| image:: figs/intro_net_photosynthesis.png
|
||||
:width: 300
|
||||
.. |fig5| image:: figs/intro_transpiration.png
|
||||
:width: 300
|
||||
.. |fig6| image:: figs/intro_temperature.png
|
||||
:width: 300
|
||||
|
||||
|
||||
.. table::
|
||||
:align: center
|
||||
|
||||
+--------+--------+
|
||||
| |fig1| | |fig2| |
|
||||
+--------+--------+
|
||||
| |fig3| | |fig4| |
|
||||
+--------+--------+
|
||||
| |fig5| | |fig6| |
|
||||
+--------+--------+
|
||||
|
||||
|
||||
|
||||
|
||||
**Plant shoot is static** to HydroShoot. That is the model does not simulate plant growth nor its development.
|
||||
Its usage would therefore be only sound only if shoot's structure can be assumed constant across a given span of time
|
||||
(let's say a week or so for grapevine).
|
||||
|
||||
|
||||
Why would you be interested in it?
|
||||
==================================
|
||||
HydroShoot may be useful for example if you would like to explore:
|
||||
|
||||
- how leaf net carbon assimilation rate (:math:`A_n`), transpiration rate (:math:`E`), temperature (:math:`T`) and
|
||||
bulk water potential (:math:`\Psi_{leaf}`) interact across the canopy
|
||||
- how soil water status impacts :math:`A_n`, :math:`E`, :math:`T`, and :math:`\Psi_{leaf}`
|
||||
- how the structure of the shoot impacts :math:`A_n`, :math:`E`, :math:`T`, and :math:`\Psi_{leaf}`
|
||||
- how soil water potential (:math:`\Psi_{soil}`) propagates across plant's shoot
|
||||
|
32
hydroshoot/doc/refs.rst
Normal file
|
@ -0,0 +1,32 @@
|
|||
==========
|
||||
References
|
||||
==========
|
||||
|
||||
Albasha R, Fournier C, Pradal C, Chelle M, Prieto J, Louarn G, Simonneau T, Lebon E. 2019.
|
||||
HydroShoot: a functional-structural plant model for simulating hydraulic structure, gas and energy exchange
|
||||
dynamics of complex plant canopies under water deficit - application to grapevine (Vitisvinifera L.)
|
||||
in silico Plants, diz007, https://doi.org/10.1093/insilicoplants/diz007
|
||||
Evers J, Vos J, Yin X, Romero P, van der Putten P, Struik P. 2010.
|
||||
Simulation of wheat growth and development based on organ-level photosynthesis and assimilate allocation.
|
||||
Journal of Experimental Botany 61: 2203–2216
|
||||
Farquhar G, von Caemmerer S, Berry J. 1980.
|
||||
A biochemical model of photosynthetic CO2 assimilation in leaves of C3 species.
|
||||
Planta 149: 78–90.
|
||||
Leuning R. 1995.
|
||||
A critical appraisal of a combined stomatal-photosynthesis model for C3 plants.
|
||||
Plant, Cell and Environment 18: 339–355.
|
||||
Nobel P. 2005.
|
||||
Temperature and energy budgets. In Nobel S, eds. Physicochemical and Environmental Plant Physiology.
|
||||
Elsevier Academic Press.
|
||||
Prieto J, Louarn G, Perez Peña J, Ojeda H, Simonneau T, Lebon E. 2012.
|
||||
A leaf gas exchange model that accounts for intra-canopy variability by considering leaf nitrogen content and
|
||||
local acclimation to radiation in grapevine (Vitis vinifera L.)
|
||||
Plant, Cell and Environment 35: 1313–1328.
|
||||
Tyree M, Sperry J. 1989.
|
||||
Vulnerability of xylem to cavitation and embolism.
|
||||
Annual review of plant physiology and plant molecular biology 40: 19–38.
|
||||
Tyree M, Zimmermann M. 2002.
|
||||
Xylem structure and the ascent of sap, Springer Series in Wood Science.
|
||||
Yin X, Struik P. 2009.
|
||||
C3 and C4 photosynthesis models: An overview from the perspective of crop modelling.
|
||||
NJAS - Wageningen Journal of Life Sciences 57: 27–38.
|
152
hydroshoot/doc/usage.rst
Normal file
|
@ -0,0 +1,152 @@
|
|||
=====
|
||||
Usage
|
||||
=====
|
||||
|
||||
.. figure:: figs/usage_fig_1.png
|
||||
:align: center
|
||||
|
||||
Illustration of inputs and outputs of HydroShoot.
|
||||
|
||||
|
||||
Three input files are required in order to run HydroShoot. The first contains all model parameters, the second
|
||||
meteorological data, and the third (optional) soil predawn water potential data. The model returns an undetermined
|
||||
number of files (:math:`\geq 3`) of two types of outputs.
|
||||
|
||||
|
||||
Set the required files up
|
||||
-------------------------
|
||||
|
||||
1. Model parameters
|
||||
|
||||
Almost all model parameters are setup in the **params.json** file.
|
||||
*params.json* is a *JavaScript Object Notation (JSON)* file that contains the following sections:
|
||||
|
||||
* "simulation"
|
||||
* "planting"
|
||||
* "phenology"
|
||||
* "mtg_api"
|
||||
* "numerical_resolution"
|
||||
* "irradiance"
|
||||
* "energy"
|
||||
* "hydraulic"
|
||||
* "exchange"
|
||||
* "soil"
|
||||
|
||||
Each of the above sections refers to its homonym process. An exhaustive and thoroughly detailed description
|
||||
of all the parameters inside each section, their units and their expected values, are given in the
|
||||
`params_schema.json` file (src/hydroshoot/). The reader is encouraged to refer to this file to know how exactly
|
||||
to fill up the *params.json* file.
|
||||
|
||||
2. Meteorological data (time series)
|
||||
|
||||
Meteorological data must be provided using a .csv file whose name must be given in the
|
||||
`params.json` file ("meteo" parameters).
|
||||
This file must contain the following columns:
|
||||
* `time`: a `datetime` string having the format YYYY-MM-DD HH:MM:SS
|
||||
* `Tac`: air temperature :math:`[^\circ C]`
|
||||
* `hs`: relative humidity (%)
|
||||
* `u`: wind speed :math:`[m \ s^{-1}]`
|
||||
* `Rg`: solar radiation (shortwave irradiance) given even in :math:`[W_{global} \ m_{ground}^{-2}]`,
|
||||
:math:`[W_{PAR} \ m_{ground}^{-2}]` or :math:`[{\mu mol}_{PPFD} \ m_{ground}^{-2} \ s^{-1}]`.
|
||||
The user must provide the unit of `Rg` in the `params.json` file ("E_type" parameter).
|
||||
|
||||
|
||||
3. Soil predawn water potential data (time series)
|
||||
|
||||
There are two ways to supply predawn soil water potential (:math:`\Psi_{soil}`) to the model:
|
||||
|
||||
a. using an external file that must be named "psi_soil.input" (the user will be able to give other names to the file
|
||||
in the future).
|
||||
|
||||
b. using the keyword argument "psi_soil" when calling the simulator:
|
||||
|
||||
.. code-block:: python
|
||||
|
||||
from hydroshoot import model
|
||||
|
||||
model.run(g, working_directory, psi_soil=-0.5)
|
||||
|
||||
In this case, the value given in the 'psi_soil' keyword overrides **all values** given in 'psi_soil.input' file.
|
||||
HydroShoot will force soil water potential value **at each time step** to that given by the keyword 'psi_soil'.
|
||||
|
||||
|
||||
Outputs
|
||||
-------
|
||||
|
||||
The first output file is a *comma-separated values* (csv) file named "time_series.output" (only one file is returned)
|
||||
that contains the following time-dependent outputs:
|
||||
|
||||
* **time**: datetime string (YYYY-MM-DD HH:MM:SS)
|
||||
* **An**: net carbon assimilation flux of the whole plant :math:`[\mu mol \ s^{-1}]`
|
||||
* **E**: tranpiration flux of the whole plant :math:`[g \ h^{-1}]`
|
||||
* **Rg**: absorbed shortwave irradiance by the whole plant :math:`[W \ m_{ground}^{-2}]`
|
||||
* **Tleaf**: median leaf temperature :math:`[^\circ C]`
|
||||
|
||||
The second type of outputs is a pickle (pckl) file in which is stored mtg data **for each simulated time step**. Note
|
||||
that **pckl files do not contain geometry data**. Geometry is not currently stored as an output since the model expects
|
||||
it as an input.
|
||||
|
||||
|
||||
Run the model
|
||||
-------------
|
||||
|
||||
Let's take the simple example provided in '~/example/potted_grapevine/'. We will use for this example **architecture**
|
||||
and **display** modules provided with HydroShoot package (these packages may be removed in the future).
|
||||
|
||||
This example runs HydroShoot on a small potted grapevine canopy having two primary shoots.
|
||||
|
||||
Let's build the mock-up using the digitalization data provided in "grapevine_pot.csv" file:
|
||||
|
||||
.. code-block:: python
|
||||
|
||||
from os import getcwd
|
||||
|
||||
from openalea.mtg import traversal
|
||||
from openalea.plantgl.all import Scene
|
||||
from hydroshoot import architecture, display, model
|
||||
|
||||
# Path for plant digitalization data.
|
||||
g = architecture.vine_mtg('grapevine_pot.csv')
|
||||
|
||||
for v in traversal.iter_mtg2(grapevine_mtg, grapevine_mtg.root):
|
||||
architecture.vine_phyto_modular(grapevine_mtg, v)
|
||||
architecture.vine_mtg_properties(grapevine_mtg, v)
|
||||
architecture.vine_mtg_geometry(grapevine_mtg, v)
|
||||
architecture.vine_transform(grapevine_mtg, v)
|
||||
|
||||
Display now the scene using **display** module, you should be having something like :numref:`fig_mockup`:
|
||||
|
||||
.. code-block:: python
|
||||
|
||||
scene = display.visu(g, def_elmnt_color_dict=True, scene=Scene(),
|
||||
view_result=True)
|
||||
|
||||
|
||||
|
||||
.. _fig_mockup:
|
||||
|
||||
.. figure:: figs/usage_fig_2.png
|
||||
|
||||
Screen shot of the mock-up produced by the "potted_grapevine" example.
|
||||
|
||||
You're now ready to run the model using the meteorological data provided in "meteo.input", and forcing soil water
|
||||
potential to a fixed value of -0.5 :math:`MPa`. Ensure first that the model will run over one hour only by setting
|
||||
start and end dates of the simulation in the "params.json" file ("sdate": "2012-08-01 11:00:00",
|
||||
"edate": "2012-08-01 11:00:00").
|
||||
|
||||
.. code-block:: python
|
||||
|
||||
model.run(g, str(getcwd()) + '/', scene, psi_soil=-0.2, gdd_since_budbreak=100.)
|
||||
|
||||
You should now have created the '/output/' folder where output files ("time_series.ouput", "mtg20120801110000.pckl")
|
||||
are stored. "time_series.ouput" file should contain close values to those below:
|
||||
|
||||
|
||||
.. code-block:: none
|
||||
|
||||
time;Rg;An;E;Tleaf
|
||||
2012-08-01 11:00:00;69.83;7.99;179.17;26.05
|
||||
|
||||
|
||||
.. figure:: figs/usage_fig_3.png
|
||||
:align: center
|
7
hydroshoot/example/README.txt
Normal file
|
@ -0,0 +1,7 @@
|
|||
* If you aim at running hydroshoot just to discover how it works, use the 'potted_grapevine' example (~1 min).
|
||||
* The following examples are time-consuming (~45-90 mins each):
|
||||
- 'gdc_can_1_grapevine'
|
||||
- 'gdc_can_2_grapevine'
|
||||
- 'gdc_can_3_grapevine'
|
||||
- 'vsp_ww_grapevine'
|
||||
- 'vsp_ws_1_grapevine'
|
BIN
hydroshoot/example/figs/fig_10.png
Normal file
After Width: | Height: | Size: 558 KiB |
BIN
hydroshoot/example/figs/fig_11.png
Normal file
After Width: | Height: | Size: 773 KiB |
BIN
hydroshoot/example/figs/fig_12.png
Normal file
After Width: | Height: | Size: 371 KiB |
BIN
hydroshoot/example/figs/fig_13.png
Normal file
After Width: | Height: | Size: 953 KiB |
BIN
hydroshoot/example/figs/fig_14.png
Normal file
After Width: | Height: | Size: 1.2 MiB |
BIN
hydroshoot/example/figs/fig_15.png
Normal file
After Width: | Height: | Size: 931 KiB |
BIN
hydroshoot/example/figs/fig_6.png
Normal file
After Width: | Height: | Size: 702 KiB |
BIN
hydroshoot/example/figs/fig_7.png
Normal file
After Width: | Height: | Size: 343 KiB |
BIN
hydroshoot/example/figs/fig_8.png
Normal file
After Width: | Height: | Size: 482 KiB |
BIN
hydroshoot/example/figs/fig_9.png
Normal file
After Width: | Height: | Size: 585 KiB |
995
hydroshoot/example/figs/paper_figs.py
Normal file
|
@ -0,0 +1,995 @@
|
|||
#!/usr/bin/env python2
|
||||
# -*- coding: utf-8 -*-
|
||||
|
||||
|
||||
def plot_figure_6():
|
||||
"""Generates figure 6 of the paper. This figure traces the hourly values of absorbed irradiance, leaf temeprature,
|
||||
net plant carbon assimilation rate, and net plant transpiration rate.
|
||||
"""
|
||||
|
||||
training_color = {'gdc': 'blue', 'vsp': 'red', 'lyre': 'green'}
|
||||
|
||||
beg_date = datetime(2009, 7, 29, 00, 00, 0, )
|
||||
end_date = datetime(2009, 7, 29, 23, 00, 0, )
|
||||
datet = pd.date_range(beg_date, end_date, freq='H')
|
||||
|
||||
meteo_df = pd.read_csv(example_pth / 'virtual_canopies' / 'gdc' / 'meteo.input',
|
||||
sep=';', decimal='.', index_col='time') # all simus have the same meteo data
|
||||
meteo_df.index = pd.DatetimeIndex(meteo_df.index)
|
||||
meteo_df = meteo_df.loc[datet]
|
||||
|
||||
fig, axs = pyplot.subplots(nrows=2, ncols=2, sharex=True, figsize=(6.69, 6))
|
||||
[ax.grid() for ax in axs.flatten()]
|
||||
|
||||
axs[1, 0].plot(datet, meteo_df['Tac'], 'k--')
|
||||
|
||||
for training in ('gdc', 'vsp', 'lyre'):
|
||||
pth = example_pth / 'virtual_canopies' / training
|
||||
|
||||
sims_df = pd.read_csv(pth / 'output' / 'time_series.output', sep=';', decimal='.', index_col='time')
|
||||
sims_df.index = [datetime.strptime(s, "%Y-%m-%d %H:%M:%S") for s in sims_df.index]
|
||||
|
||||
axs[0, 0].plot(datet, sims_df['Rg'], label=training, color=training_color[training])
|
||||
axs[0, 1].plot(datet, sims_df['An'], label=training, color=training_color[training])
|
||||
axs[1, 0].plot(datet, sims_df['Tleaf'], label=training, color=training_color[training])
|
||||
axs[1, 1].plot(datet, sims_df['E'], label=training, color=training_color[training])
|
||||
|
||||
# some layout
|
||||
for iax, ax in enumerate(axs.flatten()):
|
||||
ax.text(0.875, 0.9, ('(a)', '(b)', '(c)', '(d)')[iax],
|
||||
transform=ax.transAxes, fontdict={'size': 11})
|
||||
|
||||
axs[0, 0].set(xlim=(beg_date, end_date), ylim=(0, 600),
|
||||
ylabel='$\mathregular{\Phi_{R_g, plant}\/[W\/m^{-2}_{ground}]}$')
|
||||
axs[1, 0].set(xlabel='hour', ylim=(10, 40),
|
||||
ylabel='$\mathregular{Temperature\/[^\circ C]}$')
|
||||
axs[0, 1].set(ylim=(-10, 35),
|
||||
ylabel='$\mathregular{A_{n, plant}\/[\mu mol\/s^{-1}]}$')
|
||||
axs[1, 1].set(xlabel='hour', ylim=(0, 400),
|
||||
ylabel='$\mathregular{E_{plant}\/[g\/h^{-1}]}$')
|
||||
|
||||
for ax in axs[1, :]:
|
||||
ax.set(xlim=(beg_date, end_date))
|
||||
ax.set_xticklabels(datet, rotation=90)
|
||||
ax.xaxis.set_major_locator(dates.HourLocator())
|
||||
ax.xaxis.set_major_formatter(dates.DateFormatter('%H'))
|
||||
|
||||
axs[0, 0].legend(loc='upper left', prop={'size': 11})
|
||||
handles, _ = axs[1, 0].get_legend_handles_labels()
|
||||
axs[1, 0].legend(handles=[handles[0], ], labels=('$\mathregular{T_{air}}$',), loc='upper left',
|
||||
prop={'size': 11})
|
||||
|
||||
axs[1, 0].set_xticks(axs[1, 0].get_xticks()[:-1:2])
|
||||
|
||||
fig.tight_layout()
|
||||
|
||||
fig.savefig('fig_6.png', dpi=600.)
|
||||
pyplot.close(fig)
|
||||
|
||||
|
||||
def plot_figure_7():
|
||||
"""Generates figure 7 of the paper. This figure shows a snapshot at solar midday of water potential distribution
|
||||
across three virtual canopies.
|
||||
"""
|
||||
training_color = {'gdc': 'blue', 'vsp': 'red', 'lyre': 'green'}
|
||||
|
||||
obs_date = datetime(2009, 7, 29, 14, 00, 0, )
|
||||
|
||||
fig, axs = pyplot.subplots(nrows=3, ncols=2, sharex=True, figsize=(6.69, 6),
|
||||
gridspec_kw={'width_ratios': [0.8, 0.2]})
|
||||
|
||||
for i, training in enumerate(('vsp', 'gdc', 'lyre')):
|
||||
pth = example_pth / 'virtual_canopies' / training
|
||||
|
||||
g, _ = mtg_load(pth / 'output' / f"mtg{obs_date.strftime('%Y%m%d%H%M%S')}")
|
||||
|
||||
axs[i, 0] = display.property_map(g, 'psi_head', color=training_color[training],
|
||||
ax=axs[i, 0])
|
||||
axs[i, 0].set(ylim=(0, 250), xlim=(-1.7, -1.2))
|
||||
axs[i, 0].legend([training], prop={'size': 11})
|
||||
axs[i, 0].xaxis.labelpad = 5
|
||||
|
||||
axs[i, 1].boxplot(g.property('psi_head').values(), vert=False, sym='')
|
||||
|
||||
# some layout
|
||||
[ax.set_xlabel('') for ax in axs[:2, 0]]
|
||||
|
||||
for ax in axs[:, 1]:
|
||||
ax.tick_params(axis='y', which='both', labelleft='off')
|
||||
ax.set_xticklabels(np.arange(-1.7, -1.1, 0.1), rotation=90)
|
||||
|
||||
axs[2, 1].set_xlabel('$\mathregular{\Psi\/[MPa]}$')
|
||||
|
||||
fig.tight_layout()
|
||||
|
||||
fig.savefig('fig_7.png', dpi=600.)
|
||||
pyplot.close(fig)
|
||||
|
||||
|
||||
def plot_figure_8():
|
||||
"""Generates figure 8 of the paper. This figure shows a snapshot at solar midday of leaf temperature distribution
|
||||
across three virtual canopies.
|
||||
"""
|
||||
training_color = {'gdc': 'blue', 'vsp': 'red', 'lyre': 'green'}
|
||||
|
||||
obs_date = datetime(2009, 7, 29, 14, 00, 0, )
|
||||
|
||||
fig, axs = pyplot.subplots(nrows=3, ncols=2, sharex=True, figsize=(6.69, 6),
|
||||
gridspec_kw={'width_ratios': [0.8, 0.2]})
|
||||
|
||||
for i, training in enumerate(('vsp', 'gdc', 'lyre')):
|
||||
pth = example_pth / 'virtual_canopies' / training
|
||||
|
||||
g, _ = mtg_load(pth / 'output' / f"mtg{obs_date.strftime('%Y%m%d%H%M%S')}")
|
||||
|
||||
axs[i, 0] = display.property_map(g, 'Tlc', color=training_color[training],
|
||||
ax=axs[i, 0])
|
||||
axs[i, 0].set(ylim=(0, 250))
|
||||
axs[i, 0].legend([training], prop={'size': 11})
|
||||
axs[i, 0].xaxis.labelpad = 5
|
||||
|
||||
axs[i, 1].boxplot(g.property('Tlc').values(), vert=False, sym='')
|
||||
|
||||
# some layout
|
||||
[ax.set_xlabel('') for ax in axs[:2, 0]]
|
||||
|
||||
for ax in axs[:, 1]:
|
||||
ax.tick_params(axis='y', which='both', labelleft='off')
|
||||
ax.set_xticklabels(range(32, 42), rotation=90)
|
||||
|
||||
axs[2, 1].set_xlabel('$\mathregular{T_{leaf}\/[^{\circ}C]}$')
|
||||
|
||||
fig.tight_layout()
|
||||
|
||||
fig.savefig('fig_8.png', dpi=600.)
|
||||
pyplot.close(fig)
|
||||
|
||||
|
||||
def plot_figure_9():
|
||||
"""Generates figure 9 of the paper. This figure compares, simulated to observed xylem water potential.
|
||||
"""
|
||||
|
||||
beg_date = datetime(2012, 8, 1, 00, 00, 0, )
|
||||
end_date = datetime(2012, 8, 3, 00, 00, 0, )
|
||||
datet = pd.date_range(beg_date, end_date, freq='D')
|
||||
|
||||
fig, axs = pyplot.subplots(nrows=3, ncols=3, sharex='all', sharey='all', figsize=(6.69, 6))
|
||||
|
||||
for it, training in enumerate(('gdc_can1_grapevine', 'gdc_can2_grapevine', 'gdc_can3_grapevine')):
|
||||
|
||||
pth = example_pth / training
|
||||
|
||||
for i_day, date in enumerate(datet):
|
||||
ax = axs[it, i_day]
|
||||
obs_date = date + pd.Timedelta(hours=13)
|
||||
g, _ = mtg_load(pth / 'output' / f"mtg{obs_date.strftime('%Y%m%d%H%M%S')}")
|
||||
ax = display.property_map(g, 'psi_head', ax=ax, prop2='Eabs', color='grey',
|
||||
colormap='autumn', add_color_bar=False)
|
||||
|
||||
obs_df = pd.read_csv(pth / 'var.obs', sep=';', index_col='date')
|
||||
obs_df.index = pd.DatetimeIndex(obs_df.index)
|
||||
psi_leaf = obs_df.loc[date, 'psi_leaf']
|
||||
ax.add_patch(patches.Rectangle((max(psi_leaf), 50),
|
||||
min(psi_leaf) - max(psi_leaf), 250,
|
||||
color='0.8', zorder=-1))
|
||||
if i_day == 0:
|
||||
ax.text(0.05, 0.075, 'Canopy%d' % (it + 1),
|
||||
transform=ax.transAxes, fontdict={'size': 11})
|
||||
|
||||
if it == 0:
|
||||
ax.text(0.675, 0.825, obs_date.strftime('%-d %b'),
|
||||
transform=ax.transAxes, fontdict={'size': 11})
|
||||
|
||||
[axi.set_xticklabels(axi.get_xticks(), rotation=90) for axi in axs[2]]
|
||||
|
||||
for ax, axi in enumerate(axs):
|
||||
if ax < 2:
|
||||
[axi[i_day].set_xlabel('') for i_day in range(3)]
|
||||
[axi[i_day].set_ylabel('') for i_day in (1, 2)]
|
||||
[axi[i_day].legend_.remove() for i_day in range(3)]
|
||||
|
||||
fig.tight_layout()
|
||||
|
||||
fig.subplots_adjust(bottom=0.3)
|
||||
cbar_ax = fig.add_axes([0.395, 0.1, 0.30, 0.04])
|
||||
norm = colors.Normalize(0, vmax=2000)
|
||||
cbar = colorbar.ColorbarBase(cbar_ax, cmap='autumn', orientation='horizontal', norm=norm)
|
||||
cbar.ax.set_xticklabels(cbar.ax.get_xticklabels(), rotation=90)
|
||||
cbar.set_label('$\mathregular{PPFD\/[\mu mol\/m^{-2}_{leaf}\/s^{-1}]}$', labelpad=-20, x=-0.4)
|
||||
|
||||
fig.savefig('fig_9.png', dpi=600.)
|
||||
pyplot.close(fig)
|
||||
|
||||
|
||||
def plot_figure_10():
|
||||
"""Generates figure 10 of the paper. This figure compares, simulated to observed stomatal conductance rates.
|
||||
"""
|
||||
|
||||
beg_date = datetime(2012, 8, 1, 00, 00, 0, )
|
||||
end_date = datetime(2012, 8, 3, 00, 00, 0, )
|
||||
datet = pd.date_range(beg_date, end_date, freq='D')
|
||||
|
||||
fig, axs = pyplot.subplots(nrows=3, ncols=3, sharex='all', sharey='all', figsize=(6.69, 6))
|
||||
|
||||
for it, training in enumerate(('gdc_can1_grapevine', 'gdc_can2_grapevine', 'gdc_can3_grapevine')):
|
||||
|
||||
pth = example_pth / training
|
||||
|
||||
for i_day, date in enumerate(datet):
|
||||
ax = axs[it, i_day]
|
||||
obs_date = date + pd.Timedelta(hours=13)
|
||||
g, _ = mtg_load(pth / 'output' / f"mtg{obs_date.strftime('%Y%m%d%H%M%S')}")
|
||||
ax = display.property_map(g, 'gs', ax=ax, prop2='Eabs', color='grey',
|
||||
colormap='autumn', add_color_bar=False)
|
||||
|
||||
obs_df = pd.read_csv(pth / 'var.obs', sep=';', index_col='date')
|
||||
obs_df.index = pd.DatetimeIndex(obs_df.index)
|
||||
gs_leaf = obs_df.loc[date, 'gs'] / 1000.
|
||||
ax.add_patch(patches.Rectangle((max(gs_leaf), 50),
|
||||
min(gs_leaf) - max(gs_leaf), 250,
|
||||
color='0.8', zorder=-1))
|
||||
if i_day == 0:
|
||||
ax.text(0.05, 0.075, 'Canopy%d' % (it + 1),
|
||||
transform=ax.transAxes, fontdict={'size': 11})
|
||||
|
||||
if it == 0:
|
||||
ax.text(0.675, 0.825, obs_date.strftime('%-d %b'),
|
||||
transform=ax.transAxes, fontdict={'size': 11})
|
||||
|
||||
[axi.set_xticklabels(axi.get_xticks(), rotation=90) for axi in axs[2]]
|
||||
|
||||
for ax, axi in enumerate(axs):
|
||||
if ax < 2:
|
||||
[axi[i_day].set_xlabel('') for i_day in range(3)]
|
||||
[axi[i_day].set_ylabel('') for i_day in (1, 2)]
|
||||
[axi[i_day].legend_.remove() for i_day in range(3)]
|
||||
|
||||
fig.tight_layout()
|
||||
|
||||
fig.subplots_adjust(bottom=0.3)
|
||||
cbar_ax = fig.add_axes([0.395, 0.1, 0.30, 0.04])
|
||||
norm = colors.Normalize(0, vmax=2000)
|
||||
cbar = colorbar.ColorbarBase(cbar_ax, cmap='autumn', orientation='horizontal', norm=norm)
|
||||
cbar.ax.set_xticklabels(cbar.ax.get_xticklabels(), rotation=90)
|
||||
cbar.set_label('$\mathregular{PPFD\/[\mu mol\/m^{-2}_{leaf}\/s^{-1}]}$', labelpad=-20, x=-0.4)
|
||||
|
||||
fig.savefig('fig_10.png', dpi=600.)
|
||||
pyplot.close(fig)
|
||||
|
||||
|
||||
def plot_figure_11():
|
||||
"""Generates figure 11 of the paper. This figure compares simulated to observed leaf temperatures.
|
||||
"""
|
||||
fig, axs = pyplot.subplots(nrows=2, ncols=2, sharey='row', figsize=(6.69, 6))
|
||||
|
||||
for iax, training in enumerate(('vsp_ww_grapevine', 'vsp_ws_grapevine')):
|
||||
pth = example_pth / training
|
||||
axs[0, iax].grid()
|
||||
axs[1, iax].grid()
|
||||
|
||||
# set dates ************************
|
||||
beg_date = datetime(2009, 7, 29, 00, 00, 0, )
|
||||
end_date = datetime(2009, 8, 1, 23, 00, 0, )
|
||||
datet = pd.date_range(beg_date, end_date, freq='H')
|
||||
|
||||
# read observations
|
||||
obs = pd.read_csv(pth / 'temp.obs', sep=';', decimal='.', index_col='date')
|
||||
obs.index = [datetime.strptime(s, "%d/%m/%Y %H:%M") for s in obs.index]
|
||||
|
||||
# read simulations
|
||||
sims = pd.read_csv(pth / 'output' / 'time_series.output',
|
||||
sep=';', decimal='.', index_col='time')
|
||||
sims.index = [datetime.strptime(s, "%Y-%m-%d %H:%M:%S") for s in sims.index]
|
||||
sims.index = pd.DatetimeIndex(sims.index)
|
||||
|
||||
# plot median simulated leaf temperature
|
||||
axs[0, iax].plot(sims['Tleaf'], '-k', label='$\mathregular{T_{leaf}}$', linewidth=1)
|
||||
|
||||
# plot simulated temperature magnitude
|
||||
med_sim = np.array([])
|
||||
q1_sim = np.array([])
|
||||
q3_sim = np.array([])
|
||||
for date in datet:
|
||||
g, _ = mtg_load(pth / 'output' / f"mtg{date.strftime('%Y%m%d%H%M%S')}")
|
||||
leaf_temp_sim = g.property('Tlc').values()
|
||||
q1_sim = np.append(q1_sim, min(leaf_temp_sim))
|
||||
q3_sim = np.append(q3_sim, max(leaf_temp_sim))
|
||||
med_sim = np.append(med_sim, np.median(leaf_temp_sim))
|
||||
print(date)
|
||||
axs[0, iax].fill_between(datet, q1_sim, q3_sim, color='red', alpha=0.5, zorder=0)
|
||||
|
||||
# plot observed temperature magnitude
|
||||
med_obs = np.array([])
|
||||
q1_obs = np.array([])
|
||||
q3_obs = np.array([])
|
||||
for row, date in enumerate(datet):
|
||||
pos = date.toordinal() + date.hour / 24.
|
||||
leaf_temp_obs = obs.loc[date, ['Tleaf%d' % d for d in (2, 3, 4, 5, 6, 8, 9, 10)]]
|
||||
leaf_temp_obs = leaf_temp_obs[~np.isnan(leaf_temp_obs)]
|
||||
axs[0, iax].boxplot(leaf_temp_obs, positions=[pos], widths=0.01)
|
||||
q1_obs = np.append(q1_obs, min(leaf_temp_obs))
|
||||
q3_obs = np.append(q3_obs, max(leaf_temp_obs))
|
||||
med_obs = np.append(med_obs, np.median(leaf_temp_obs))
|
||||
print(date)
|
||||
|
||||
# compare obs to sim temperature on 1:1 plot
|
||||
axs[1, iax].plot((10, 50), (10, 50), 'k--')
|
||||
axs[1, iax].errorbar(x=med_obs, y=med_sim,
|
||||
xerr=(np.nan_to_num(med_obs - q1_obs), np.nan_to_num(q3_obs - med_obs)),
|
||||
yerr=(np.nan_to_num(med_sim - q1_sim), np.nan_to_num(q3_sim - med_sim)),
|
||||
fmt='ro', ecolor='0.5', capthick=1)
|
||||
|
||||
# plot MBE and RMSE results on it
|
||||
diff_obs_sim = (med_sim - med_obs)[~np.isnan(med_sim - med_obs)]
|
||||
bias = diff_obs_sim.mean()
|
||||
rmse = np.sqrt(diff_obs_sim ** 2).mean()
|
||||
|
||||
axs[1, iax].text(0.50, 0.20, '$\mathregular{MBE\/=\/%.3f}$' % bias,
|
||||
transform=axs[1, iax].transAxes, fontdict={'size': 11})
|
||||
axs[1, iax].text(0.50, 0.10, '$\mathregular{RMSE\/=\/%.1f}$' % rmse,
|
||||
transform=axs[1, iax].transAxes, fontdict={'size': 11})
|
||||
|
||||
# some layout
|
||||
|
||||
axs[0, 0].set_ylabel('$\mathregular{Temperature\/[^{\circ}C]}$')
|
||||
axs[1, 0].set_ylabel('$\mathregular{T_{leaf, sim}\/[^{\circ}C]}$')
|
||||
|
||||
for ax_upper, ax_lower in zip(axs[0, :], axs[1, :]):
|
||||
ax_upper.set(xlim=(beg_date, end_date), ylim=(5, 50), xlabel='')
|
||||
ax_upper.set_xticklabels(datet, rotation=45)
|
||||
ax_upper.xaxis.set_major_locator(dates.DayLocator())
|
||||
ax_upper.xaxis.set_major_formatter(dates.DateFormatter('%-d %b'))
|
||||
ax_lower.set(xlim=(10, 50), ylim=(10, 50),
|
||||
xlabel='$\mathregular{T_{leaf, obs}\/[^{\circ}C]}$')
|
||||
|
||||
for iax, ax in enumerate(axs.flatten()):
|
||||
ax.text(0.05, 0.875, ('(a)', '(c)', '(b)', '(d)')[iax],
|
||||
transform=ax.transAxes, fontdict={'size': 11})
|
||||
|
||||
fig.tight_layout()
|
||||
fig.savefig('fig_11.png', dpi=600.)
|
||||
pyplot.close(fig)
|
||||
|
||||
|
||||
def plot_figure_12():
|
||||
"""Generates figure 12 of the paper. This figure compares, leaf-to-leaf, simulated to observed leaf and leaf-to-air
|
||||
temperature.
|
||||
"""
|
||||
|
||||
fig, axs = pyplot.subplots(ncols=3, figsize=(6.69, 2.7))
|
||||
[ax.grid() for ax in axs]
|
||||
|
||||
daily_temp_obs = np.array([])
|
||||
daily_temp_sim = np.array([])
|
||||
daily_temp_air = np.array([])
|
||||
|
||||
for iax, training in enumerate(('vsp_ww_grapevine', 'vsp_ws_grapevine')):
|
||||
|
||||
pth = example_pth / training
|
||||
|
||||
# set dates ************************
|
||||
beg_date = datetime(2009, 7, 29, 00, 00, 0, )
|
||||
end_date = datetime(2009, 8, 1, 23, 00, 0, )
|
||||
datet = pd.date_range(beg_date, end_date, freq='H')
|
||||
|
||||
# read observations
|
||||
obs = pd.read_csv(pth / 'temp.obs', sep=';', decimal='.', index_col='date')
|
||||
obs.index = [datetime.strptime(s, "%d/%m/%Y %H:%M") for s in obs.index]
|
||||
|
||||
# read simulations
|
||||
sims = pd.read_csv(pth / 'output' / 'time_series.output',
|
||||
sep=';', decimal='.', index_col='time')
|
||||
sims.index = [datetime.strptime(s, "%Y-%m-%d %H:%M:%S") for s in sims.index]
|
||||
sims.index = pd.DatetimeIndex(sims.index)
|
||||
|
||||
# plot simulated temperature magnitude
|
||||
med_sim = np.array([])
|
||||
q_1_sim = np.array([])
|
||||
q_3_sim = np.array([])
|
||||
for date in datet:
|
||||
g, _ = mtg_load(pth / 'output' / f"mtg{date.strftime('%Y%m%d%H%M%S')}")
|
||||
leaf_temp_sim = g.property('Tlc').values()
|
||||
q_1_sim = np.append(q_1_sim, min(leaf_temp_sim))
|
||||
q_3_sim = np.append(q_3_sim, max(leaf_temp_sim))
|
||||
med_sim = np.append(med_sim, np.median(leaf_temp_sim))
|
||||
print(date)
|
||||
|
||||
# get observed temperature magnitude
|
||||
med_obs = np.array([])
|
||||
q1_obs = np.array([])
|
||||
q3_obs = np.array([])
|
||||
for row, date in enumerate(datet):
|
||||
pos = date.toordinal() + date.hour / 24.
|
||||
leaf_temp_obs = obs.loc[date, ['Tleaf%d' % d for d in (2, 3, 4, 5, 6, 8, 9, 10)]]
|
||||
leaf_temp_obs = leaf_temp_obs[~np.isnan(leaf_temp_obs)]
|
||||
q1_obs = np.append(q1_obs, min(leaf_temp_obs))
|
||||
q3_obs = np.append(q3_obs, max(leaf_temp_obs))
|
||||
med_obs = np.append(med_obs, np.median(leaf_temp_obs))
|
||||
print(date)
|
||||
|
||||
# read meteo data
|
||||
meteo_df = pd.read_csv(pth / 'meteo.input', sep=';', decimal='.', index_col='time')
|
||||
meteo_df.index = pd.DatetimeIndex(meteo_df.index)
|
||||
|
||||
air_temperature = meteo_df.loc[datet, 'Tac']
|
||||
|
||||
daily_temp_obs = np.append(daily_temp_obs, q1_obs)
|
||||
daily_temp_obs = np.append(daily_temp_obs, q3_obs)
|
||||
|
||||
daily_temp_sim = np.append(daily_temp_sim, q_1_sim)
|
||||
daily_temp_sim = np.append(daily_temp_sim, q_3_sim)
|
||||
|
||||
daily_temp_air = np.append(daily_temp_air, air_temperature)
|
||||
daily_temp_air = np.append(daily_temp_air, air_temperature)
|
||||
|
||||
# minimum temperature
|
||||
axs[0].plot(q1_obs - air_temperature, q_1_sim - air_temperature,
|
||||
['b^', 'r^'][iax], label=['WW', 'WD'][iax])
|
||||
# maximum temperature
|
||||
axs[0].plot(q3_obs - air_temperature, q_3_sim - air_temperature,
|
||||
['bo', 'ro'][iax], label=['WW', 'WD'][iax])
|
||||
|
||||
axs[1].plot(q1_obs, q_1_sim, ['b^', 'r^'][iax], label=['WW', 'WD'][iax])
|
||||
axs[1].plot(q3_obs, q_3_sim, ['bo', 'ro'][iax], label=['WW', 'WD'][iax])
|
||||
|
||||
axs[2].plot(q3_obs - q1_obs, q_3_sim - q_1_sim, ['bs', 'rs'][iax], label=['WW', 'WD'][iax])
|
||||
|
||||
# some layout
|
||||
axs[0].plot((-8, 12), (-8, 12), 'k--')
|
||||
axs[0].set(xlabel='$\mathregular{T_{leaf, obs}-T_{air}\/[^\circ C]}$',
|
||||
ylabel='$\mathregular{T_{leaf, sim}-T_{air}\/[^\circ C]}$',
|
||||
xlim=(-8, 12), ylim=(-8, 12))
|
||||
|
||||
axs[1].plot((10, 45), (10, 45), 'k--')
|
||||
axs[1].set(xlabel='$\mathregular{T_{leaf, obs}\/[^\circ C]}$',
|
||||
ylabel='$\mathregular{T_{leaf, sim}\/[^\circ C]}$')
|
||||
axs[1].xaxis.set_major_locator(ticker.MultipleLocator(20))
|
||||
|
||||
axs[2].plot((-2, 14), (-2, 14), 'k--')
|
||||
axs[2].set(xlabel='$\mathregular{\Delta T_{leaf, obs}\/[^\circ C]}$',
|
||||
ylabel='$\mathregular{\Delta T_{leaf, sim}\/[^\circ C]}$')
|
||||
axs[2].xaxis.set_major_locator(ticker.IndexLocator(base=2, offset=2))
|
||||
axs[2].xaxis.set_major_locator(ticker.MultipleLocator(5))
|
||||
|
||||
for i in range(3):
|
||||
if i == 0:
|
||||
x, y = daily_temp_obs - daily_temp_air, daily_temp_sim - daily_temp_air
|
||||
elif i == 1:
|
||||
x, y = daily_temp_obs, daily_temp_sim
|
||||
else:
|
||||
x = np.array([])
|
||||
x = np.append(x, daily_temp_obs[96:2 * 96] - daily_temp_obs[:96])
|
||||
x = np.append(x, daily_temp_obs[3 * 96:4 * 96] - daily_temp_obs[2 * 96:3 * 96])
|
||||
y = np.array([])
|
||||
y = np.append(y, daily_temp_sim[96:2 * 96] - daily_temp_sim[:96])
|
||||
y = np.append(y, daily_temp_sim[3 * 96:4 * 96] - daily_temp_sim[2 * 96:3 * 96])
|
||||
|
||||
diff_y_x = (y - x)[~np.isnan(y - x)]
|
||||
bias = (diff_y_x).mean()
|
||||
rmse = np.sqrt((diff_y_x ** 2).mean())
|
||||
|
||||
axs[i].text(0.05, -0.6, '$\mathregular{MBE\/=\/%.3f}$' % bias,
|
||||
transform=axs[i].transAxes, fontdict={'size': 11})
|
||||
axs[i].text(0.05, -0.7, '$\mathregular{RMSE\/=\/%.1f}$' % rmse,
|
||||
transform=axs[i].transAxes, fontdict={'size': 11})
|
||||
|
||||
axs[i].text(0.05, 0.875, ['(a)', '(b)', '(c)'][i],
|
||||
transform=axs[i].transAxes, fontdict={'size': 11})
|
||||
|
||||
fig.tight_layout()
|
||||
fig.subplots_adjust(bottom=0.4)
|
||||
fig.savefig('fig_12.png', dpi=600.)
|
||||
pyplot.close(fig)
|
||||
|
||||
|
||||
def plot_figure_13():
|
||||
"""Generates figure 13 of the paper.
|
||||
"""
|
||||
# set dates
|
||||
beg_date = datetime(2009, 7, 29, 00, 00, 0, )
|
||||
end_date = datetime(2009, 8, 1, 23, 00, 0, )
|
||||
datet = pd.date_range(beg_date, end_date, freq='H')
|
||||
|
||||
fig = pyplot.figure()
|
||||
gs1 = gridspec.GridSpec(2, 2)
|
||||
gs1.update(left=0.135, right=0.65, top=0.975, bottom=0.125, wspace=0.1, hspace=0.35)
|
||||
ax1 = pyplot.subplot(gs1[0, 0])
|
||||
ax2 = pyplot.subplot(gs1[0, 1], sharex=ax1)
|
||||
ax3 = pyplot.subplot(gs1[1, 0], sharex=ax1)
|
||||
ax4 = pyplot.subplot(gs1[1, 1], sharex=ax1)
|
||||
|
||||
gs2 = gridspec.GridSpec(2, 1)
|
||||
gs2.update(left=0.67, right=0.865, top=0.975, bottom=0.125, hspace=0.35)
|
||||
ax5 = pyplot.subplot(gs2[0])
|
||||
ax6 = pyplot.subplot(gs2[1])
|
||||
|
||||
fig.set_figheight(6)
|
||||
fig.set_figwidth(6.69)
|
||||
axs = np.array([[ax1, ax2, ax5],
|
||||
[ax3, ax4, ax6]])
|
||||
|
||||
[ax.grid() for ax in axs.flatten()]
|
||||
|
||||
for iax, training in enumerate(('vsp_ww_grapevine', 'vsp_ws_grapevine')):
|
||||
pth = example_pth / training
|
||||
|
||||
# read observations
|
||||
obs_tab = pd.read_csv(pth / 'gas.obs', sep=';', decimal='.', header=0)
|
||||
obs_tab.time = pd.DatetimeIndex(obs_tab.time)
|
||||
obs_tab = obs_tab.set_index(obs_tab.time)
|
||||
|
||||
axs[0, iax].plot(obs_tab['time'], obs_tab['An_plante'],
|
||||
color='0.8', marker='o', markeredgecolor='none', label='$\mathregular{A_{n,\/obs}}$')
|
||||
axs[1, iax].plot(obs_tab['time'], obs_tab['E_plante'],
|
||||
color='0.8', marker='o', markeredgecolor='none', label='$\mathregular{E_{obs}}$')
|
||||
|
||||
# read simulations
|
||||
sims = pd.read_csv(pth / 'output' / 'time_series.output',
|
||||
sep=';', decimal='.', index_col='time')
|
||||
sims.index = [datetime.strptime(s, "%Y-%m-%d %H:%M:%S") for s in sims.index]
|
||||
sims.index = pd.DatetimeIndex(sims.index)
|
||||
|
||||
axs[0, iax].plot(sims['An'],
|
||||
'b-', label='$\mathregular{A_{n,\/sim}}$', linewidth=1)
|
||||
axs[1, iax].plot(sims['E'],
|
||||
'b-', label='$\mathregular{E_{sim}}$', linewidth=1)
|
||||
|
||||
sims['itime'] = sims.index
|
||||
obs_tab['time'] = pd.DatetimeIndex(obs_tab.time)
|
||||
|
||||
time_group = []
|
||||
for itime in obs_tab.time:
|
||||
if itime.minute < 30:
|
||||
time = itime - pd.Timedelta(minutes=itime.minute)
|
||||
else:
|
||||
time = itime + pd.Timedelta(minutes=60 - itime.minute)
|
||||
time_group.append(time)
|
||||
obs_tab['itime'] = time_group
|
||||
|
||||
obs_grouped = obs_tab.groupby('itime').aggregate(np.mean)
|
||||
obs_grouped['itime'] = obs_grouped.index
|
||||
|
||||
m_df = pd.merge(obs_grouped, sims)
|
||||
|
||||
axs[0, 2].plot(m_df['An_plante'], m_df['An'], ('bo', 'ro')[iax])
|
||||
axs[1, 2].plot(m_df['E_plante'], m_df['E'], ('bo', 'ro')[iax])
|
||||
|
||||
for egas, igas in enumerate(('An', 'E')):
|
||||
x = m_df[igas + '_plante'].values
|
||||
y = m_df[igas].values
|
||||
|
||||
xindex = np.isfinite(x)
|
||||
yindex = np.isfinite(y)
|
||||
xyindex = xindex * yindex
|
||||
x, y = x[xyindex], y[xyindex]
|
||||
|
||||
bias = (y - x).mean()
|
||||
rmse = np.sqrt(((x - y) ** 2).mean())
|
||||
|
||||
axs[egas, iax].text(0.25, 0.90,
|
||||
'$\mathregular{MBE\/=\/%.1f}$' % bias,
|
||||
transform=axs[egas, iax].transAxes,
|
||||
fontdict={'size': 11})
|
||||
axs[egas, iax].text(0.25, 0.8,
|
||||
'$\mathregular{RMSE\/=\/%.1f}$' % rmse,
|
||||
transform=axs[egas, iax].transAxes,
|
||||
fontdict={'size': 11})
|
||||
|
||||
axs[0, 2].plot((-20, 50), (-20, 50), 'k--')
|
||||
axs[1, 2].plot((-200, 1000), (-200, 1000), 'k--')
|
||||
|
||||
for i, ax in enumerate(axs.flatten()):
|
||||
ax.text(0.05, 0.9, ('(a)', '(b)', '(e)', '(c)', '(d)', '(f)')[i],
|
||||
transform=ax.transAxes, fontdict={'size': 11})
|
||||
|
||||
# some layout
|
||||
axs[0, 0].set(
|
||||
ylabel='$\mathregular{A_{n, plant}\/[\mu mol\/s^{-1}]}$',
|
||||
xlim=(beg_date, end_date),
|
||||
ylim=(-20, 50))
|
||||
axs[1, 0].set(
|
||||
ylabel='$\mathregular{E_{plant}\/[g\/h^{-1}]}$',
|
||||
xlim=(beg_date, end_date),
|
||||
ylim=(-200, 1000))
|
||||
axs[0, 1].set(
|
||||
xlim=(beg_date, end_date),
|
||||
ylim=(-20, 50))
|
||||
axs[1, 1].set(
|
||||
xlim=(beg_date, end_date),
|
||||
ylim=(-200, 1000))
|
||||
axs[0, 2].set(
|
||||
xlabel='$\mathregular{A_{n, plant, obs}\/[\mu mol\/s^{-1}]}$',
|
||||
ylabel='$\mathregular{A_{n, plant, sim}\/[\mu mol\/s^{-1}]}$',
|
||||
xlim=(-20, 50),
|
||||
ylim=(-20, 50))
|
||||
axs[1, 2].set(
|
||||
xlabel='$\mathregular{E_{plant, obs}\/[g\/h^{-1}]}$',
|
||||
ylabel='$\mathregular{E_{plant, sim}\/[g\/h^{-1}]}$',
|
||||
xlim=(-200, 1000),
|
||||
ylim=(-200, 1000))
|
||||
|
||||
axs[0, 1].get_yaxis().set_ticklabels('')
|
||||
axs[1, 1].get_yaxis().set_ticklabels('')
|
||||
axs[1, 1].get_yaxis().set_ticklabels('')
|
||||
axs[0, 2].yaxis.tick_right()
|
||||
axs[1, 2].yaxis.tick_right()
|
||||
axs[0, 2].yaxis.set_label_position('right')
|
||||
axs[1, 2].yaxis.set_label_position('right')
|
||||
axs[0, 2].xaxis.set_major_locator(ticker.MultipleLocator(25))
|
||||
axs[1, 2].xaxis.set_major_locator(ticker.MultipleLocator(500))
|
||||
|
||||
for ax in axs[:, :2].flatten():
|
||||
ax.set_xticklabels(datet, rotation=90)
|
||||
ax.xaxis.set_major_locator(dates.DayLocator())
|
||||
ax.xaxis.set_major_formatter(dates.DateFormatter('%-d %b'))
|
||||
|
||||
fig.savefig('fig_13.png', dpi=600.)
|
||||
pyplot.close(fig)
|
||||
|
||||
|
||||
def plot_figure_14():
|
||||
"""Generates figure 14 of the paper. This figure compares, simulated to observed plant transpiration rates.
|
||||
"""
|
||||
|
||||
fig, axs = pyplot.subplots(nrows=3, ncols=4, sharey='row', figsize=(6.69, 6))
|
||||
|
||||
for i_treat, training in enumerate(('gdc_can1_grapevine', 'gdc_can2_grapevine', 'gdc_can3_grapevine')):
|
||||
|
||||
pth = example_pth / training
|
||||
|
||||
# read observations
|
||||
obs_df = pd.read_csv(pth / 'sapflow.obs', sep=';', decimal='.', index_col='date')
|
||||
obs_df.index = [datetime.strptime(s, "%d/%m/%Y %H:%M") for s in obs_df.index]
|
||||
|
||||
time_group = []
|
||||
for itime in obs_df.index:
|
||||
if itime.minute < 30:
|
||||
time = itime - pd.Timedelta(minutes=itime.minute)
|
||||
else:
|
||||
time = itime + pd.Timedelta(minutes=60 - itime.minute)
|
||||
time_group.append(time)
|
||||
obs_df['itime'] = time_group
|
||||
|
||||
obs_grouped = obs_df.groupby('itime').aggregate(np.mean)
|
||||
obs_grouped['itime'] = obs_grouped.index
|
||||
|
||||
# read simulations
|
||||
sims = pd.read_csv(pth / 'output' / 'time_series.output',
|
||||
sep=';', decimal='.', index_col='time')
|
||||
sims.index = [datetime.strptime(s, "%Y-%m-%d %H:%M:%S") for s in sims.index]
|
||||
sims.index = pd.DatetimeIndex(sims.index)
|
||||
|
||||
sims['itime'] = sims.index
|
||||
m_df = pd.merge(obs_grouped, sims)
|
||||
|
||||
x = m_df['west'].values + m_df['east'].values
|
||||
y = m_df['sapWest'].values + m_df['sapEast'].values
|
||||
|
||||
x_index = np.isfinite(x)
|
||||
y_index = np.isfinite(y)
|
||||
xy_index = x_index * y_index
|
||||
x, y = x[xy_index], y[xy_index]
|
||||
|
||||
for iax, ax in enumerate(axs[i_treat, :]):
|
||||
ax.xaxis.grid(which='minor', zorder=0)
|
||||
ax.yaxis.grid(which='major', zorder=0)
|
||||
|
||||
ax.plot(sims.index, sims.sapEast, c='r', linewidth=1)
|
||||
ax.plot(sims.index, sims.sapWest, c='b', linewidth=1)
|
||||
|
||||
ax.plot(obs_df.index, obs_df['east'], label='East', color='red',
|
||||
marker='o', markeredgecolor='none', alpha=0.1)
|
||||
ax.plot(obs_df.index, obs_df['west'], label='West', color='blue',
|
||||
marker='o', markeredgecolor='none', alpha=0.1)
|
||||
|
||||
x_t = x[iax * 24:iax * 24 + 23]
|
||||
y_t = y[iax * 24:iax * 24 + 23]
|
||||
|
||||
x_index = np.isfinite(x_t)
|
||||
y_index = np.isfinite(y_t)
|
||||
xy_index = x_index * y_index
|
||||
x_t, y_t = x_t[xy_index], y_t[xy_index]
|
||||
|
||||
bias = (y_t - x_t).mean()
|
||||
rmse = np.sqrt(((x_t - y_t) ** 2).mean())
|
||||
|
||||
ax.text(0.45, 0.675,
|
||||
'$\mathregular{MBE\/=\/%.1f}$' % bias,
|
||||
transform=ax.transAxes, fontdict={'size': 7})
|
||||
ax.text(0.45, 0.575,
|
||||
'$\mathregular{RMSE\/=\/%.1f}$' % rmse,
|
||||
transform=ax.transAxes, fontdict={'size': 7})
|
||||
|
||||
# some layout
|
||||
for day in range(4):
|
||||
day_sdate = datetime(2012, 8, 1, 00, 00, 0, ) + timedelta(days=day)
|
||||
day_edate = day_sdate + timedelta(hours=23)
|
||||
for can in range(3):
|
||||
axs[can, day].set_xlim(day_sdate, day_edate)
|
||||
axs[can, day].yaxis.set_major_locator(ticker.MultipleLocator(100))
|
||||
if can != 2:
|
||||
axs[can, day].xaxis.set_ticklabels('')
|
||||
axs[can, day].xaxis.set_minor_locator(dates.HourLocator(interval=5))
|
||||
else:
|
||||
axs[can, day].set_xticklabels(pd.date_range(day_sdate, day_edate, freq='H'),
|
||||
rotation=90)
|
||||
axs[can, day].xaxis.set_major_locator(dates.DayLocator())
|
||||
axs[can, day].xaxis.set_major_formatter(dates.DateFormatter('%-d %b'))
|
||||
axs[can, day].xaxis.set_minor_locator(dates.HourLocator(interval=5))
|
||||
axs[can, day].xaxis.set_minor_formatter(dates.DateFormatter('%H'))
|
||||
axs[can, day].tick_params(axis='x', which='major', pad=15)
|
||||
|
||||
axs[1, 0].set_ylabel('$\mathregular{E\/[g\/h^{-1}]}$')
|
||||
|
||||
axs[0, 0].set_ylim(0, 800)
|
||||
axs[1, 0].set_ylim(0, 450)
|
||||
axs[2, 0].set_ylim(0, 500)
|
||||
|
||||
for can in range(3):
|
||||
axs[can, 0].text(0.05, 0.85, 'Canopy%s' % str(can + 1),
|
||||
transform=axs[can, 0].transAxes, fontdict={'size': 11})
|
||||
|
||||
fig.tight_layout()
|
||||
fig.subplots_adjust(left=0.13, bottom=0.3)
|
||||
|
||||
h1, l1 = axs[2, 2].get_legend_handles_labels()
|
||||
|
||||
axs[2, 0].legend(h1, ('$\mathregular{SapEast_{sim}}$', '$\mathregular{SapWest_{sim}}$',
|
||||
'$\mathregular{SapEast_{obs}}$', '$\mathregular{SapWest_{obs}}$'),
|
||||
frameon=True, bbox_to_anchor=(-0.36, -1.2, 2, .102),
|
||||
loc=3, ncol=8, prop={'size': 11})
|
||||
fig.subplots_adjust(wspace=0.075)
|
||||
|
||||
fig.savefig('fig_14.png', dpi=600.)
|
||||
pyplot.close(fig)
|
||||
|
||||
|
||||
def plot_figure_15():
|
||||
"""Generates figure 15 of the paper. This figure compares simulated to observed plant photosynthesis and
|
||||
transpiration rates using 4 simulation parameters' sets (modularity test)
|
||||
"""
|
||||
# set dates
|
||||
beg_date = datetime(2009, 7, 29, 00, 00, 0, )
|
||||
end_date = datetime(2009, 8, 1, 23, 00, 0, )
|
||||
datet = pd.date_range(beg_date, end_date, freq='H')
|
||||
|
||||
style = ('b-', 'k--', 'k-.', 'k-', 'k:')
|
||||
vpd_air = np.vectorize(VPDa)
|
||||
|
||||
fig, axs = pyplot.subplots(nrows=2, ncols=2, sharey='row', sharex='all', figsize=(6.69, 6))
|
||||
[ax.grid() for ax in axs.flatten()]
|
||||
|
||||
for i_treat, treat in enumerate(('ww', 'ws')):
|
||||
|
||||
pth = example_pth / ('vsp_%s_grapevine' % treat)
|
||||
|
||||
# read and plot observations
|
||||
obs_df = pd.read_csv(pth / 'gas.obs', sep=';', decimal='.')
|
||||
obs_df.time = pd.DatetimeIndex(obs_df.time)
|
||||
obs_df = obs_df.set_index(obs_df.time)
|
||||
|
||||
axs[0, i_treat].plot(obs_df['time'], obs_df['An_plante'],
|
||||
color='0.8', marker='o', markeredgecolor='none', label='$\mathregular{A_{n,\/obs}}$')
|
||||
axs[1, i_treat].plot(obs_df['time'], obs_df['E_plante'],
|
||||
color='0.8', marker='o', markeredgecolor='none', label='$\mathregular{E_{obs}}$')
|
||||
|
||||
# read and plot vpd
|
||||
meteo_df = pd.read_csv(pth / 'meteo.input', sep=';', decimal='.', index_col='time')
|
||||
meteo_df.index = pd.DatetimeIndex(meteo_df.index)
|
||||
meteo_df['vpd'] = vpd_air(meteo_df.Tac, meteo_df.Tac, meteo_df.hs)
|
||||
axt = axs[1, i_treat].twinx()
|
||||
axt.plot(datet, meteo_df.loc[datet, 'vpd'], 'r-')
|
||||
|
||||
# read and plot simulations
|
||||
for case in range(5):
|
||||
if case == 0:
|
||||
sim_pth = pth / 'output' / 'time_series.output'
|
||||
else:
|
||||
sim_pth = example_pth / 'modularity' / treat / ('sim_%d' % case) / 'output' / 'time_series.output'
|
||||
|
||||
sims = pd.read_csv(sim_pth, sep=';', decimal='.', index_col='time')
|
||||
sims.index = [datetime.strptime(s, "%Y-%m-%d %H:%M:%S") for s in sims.index]
|
||||
sims.index = pd.DatetimeIndex(sims.index)
|
||||
|
||||
axs[0, i_treat].plot(sims['An'], style[case], label='sim0', linewidth=1)
|
||||
axs[1, i_treat].plot(sims['E'], style[case], label='sim0', linewidth=1)
|
||||
|
||||
for i, ax in enumerate(axs.flatten()):
|
||||
ax.text(0.05, 0.9, ('(a)', '(b)', '(c)', '(d)')[i], transform=ax.transAxes,
|
||||
fontdict={'size': 11})
|
||||
|
||||
axs[0, 0].set(
|
||||
ylabel='$\mathregular{A_{n, plant}\/[\mu mol\/s^{-1}]}$',
|
||||
ylim=(-20, 50))
|
||||
axs[1, 0].set(
|
||||
ylabel='$\mathregular{E_{plant}\/[g\/h^{-1}]}$',
|
||||
xlim=(beg_date, end_date),
|
||||
ylim=(-200, 1600))
|
||||
|
||||
[ax.set_ylim(0, 5) for ax in fig.get_axes()[-2:]]
|
||||
fig.get_axes()[-1].set(ylabel='VPD [kPa]')
|
||||
|
||||
for ax in axs[1, :].flatten():
|
||||
ax.set_xticklabels(datet, rotation=90)
|
||||
ax.xaxis.set_major_locator(dates.DayLocator())
|
||||
ax.xaxis.set_major_formatter(dates.DateFormatter('%-d %b'))
|
||||
|
||||
fig.tight_layout()
|
||||
fig.subplots_adjust(bottom=0.25)
|
||||
|
||||
h1, l1 = axs[1, 1].get_legend_handles_labels()
|
||||
h2, l2 = fig.get_axes()[-1].get_legend_handles_labels()
|
||||
|
||||
axs[1, 0].legend(h1 + h2, ['obs'] + ['sim%d' % d for d in range(5)] + ['VPD'], frameon=True,
|
||||
bbox_to_anchor=(0.15, -0.75, 2, .102), loc=3, ncol=4,
|
||||
prop={'size': 11})
|
||||
|
||||
fig.savefig('fig_15.png', dpi=600.)
|
||||
pyplot.close(fig)
|
||||
|
||||
|
||||
def write_table_1():
|
||||
"""Generates table 1 of the paper. This table compares simulated to observed plant photosynthesis and
|
||||
transpiration rates using 4 simulation parameters' sets (modularity test)
|
||||
"""
|
||||
indices = [['ww'] * 5 + ['ws'] * 5,
|
||||
['sim%d' % d for d in range(5)] * 2]
|
||||
multiple_index = pd.MultiIndex.from_tuples(list(zip(*indices)), names=['treat', 'sim'])
|
||||
|
||||
df = pd.DataFrame(columns=('an_mbe', 'an_rmse', 'e_mbe', 'e_rmse'),
|
||||
index=multiple_index)
|
||||
|
||||
for i_treat, treat in enumerate(('ww', 'ws')):
|
||||
|
||||
pth = example_pth / ('vsp_%s_grapevine' % treat)
|
||||
|
||||
# read observations
|
||||
obs_df = pd.read_csv(pth / 'gas.obs', sep=';', decimal='.')
|
||||
obs_df.time = pd.DatetimeIndex(obs_df.time)
|
||||
obs_df = obs_df.set_index(obs_df.time)
|
||||
|
||||
# read simulations
|
||||
for case in range(5):
|
||||
if case == 0:
|
||||
sim_pth = pth / 'output' / 'time_series.output'
|
||||
else:
|
||||
sim_pth = example_pth / 'modularity' / treat / ('sim_%d' % case) / 'output' / 'time_series.output'
|
||||
|
||||
sims_df = pd.read_csv(sim_pth, sep=';', decimal='.', index_col='time')
|
||||
sims_df.index = [datetime.strptime(s, "%Y-%m-%d %H:%M:%S") for s in sims_df.index]
|
||||
sims_df.index = pd.DatetimeIndex(sims_df.index)
|
||||
|
||||
# match sims to obs
|
||||
sims_df['itime'] = sims_df.index
|
||||
obs_df['time'] = pd.DatetimeIndex(obs_df.time)
|
||||
|
||||
time_group = []
|
||||
for itime in obs_df.index:
|
||||
if itime.minute < 30:
|
||||
time = itime - pd.Timedelta(minutes=itime.minute)
|
||||
else:
|
||||
time = itime + pd.Timedelta(minutes=60 - itime.minute)
|
||||
time_group.append(time)
|
||||
obs_df['itime'] = time_group
|
||||
|
||||
obs_grouped = obs_df.groupby('itime').aggregate(np.mean)
|
||||
obs_grouped['itime'] = obs_grouped.index
|
||||
|
||||
m_df = pd.merge(obs_grouped, sims_df)
|
||||
|
||||
for gas in ('An', 'E'):
|
||||
rate_obs = m_df['%s_plante' % gas].values
|
||||
rate_sim = m_df[gas].values
|
||||
|
||||
x_index = np.isfinite(rate_obs)
|
||||
y_index = np.isfinite(rate_sim)
|
||||
xy_index = x_index * y_index
|
||||
rate_obs, rate_sim = rate_obs[xy_index], rate_sim[xy_index]
|
||||
|
||||
bias = (rate_sim - rate_obs).mean()
|
||||
rmse = np.sqrt(((rate_obs - rate_sim) ** 2).mean())
|
||||
|
||||
df.loc[(treat, 'sim%d' % case), '%s_mbe' % gas.lower()] = bias
|
||||
df.loc[(treat, 'sim%d' % case), '%s_rmse' % gas.lower()] = rmse
|
||||
|
||||
print(df)
|
||||
df.to_csv('table_1.csv')
|
||||
|
||||
|
||||
def estimate_energy_balance_contribution():
|
||||
"""Generates table 1 of the paper. This table compares simulated to observed plant photosynthesis and
|
||||
transpiration rates using 4 simulation parameters' sets (modularity test)
|
||||
"""
|
||||
indices = [['ww'] * 4 + ['ws'] * 4,
|
||||
['day%d' % d for d in range(1, 5)] * 2]
|
||||
multiple_index = pd.MultiIndex.from_tuples(list(zip(*indices)), names=['treat', 'day'])
|
||||
|
||||
df = pd.DataFrame(columns=('e_obs', 'e_sim0', 'e_sim3'),
|
||||
index=multiple_index)
|
||||
|
||||
for i_treat, treat in enumerate(('ww', 'ws')):
|
||||
|
||||
pth = example_pth / ('vsp_%s_grapevine' % treat)
|
||||
|
||||
# read observations
|
||||
obs_df = pd.read_csv(pth / 'gas.obs', sep=';', decimal='.')
|
||||
obs_df.time = pd.DatetimeIndex(obs_df.time)
|
||||
obs_df = obs_df.set_index(obs_df.time)
|
||||
|
||||
# read simulations
|
||||
for case in (0, 3):
|
||||
if case == 0:
|
||||
sim_pth = pth / 'output' / 'time_series.output'
|
||||
else:
|
||||
sim_pth = example_pth / 'modularity' / treat / ('sim_%d' % case) / 'output' / 'time_series.output'
|
||||
|
||||
sims_df = pd.read_csv(sim_pth, sep=';', decimal='.', index_col='time')
|
||||
sims_df.index = [datetime.strptime(s, "%Y-%m-%d %H:%M:%S") for s in sims_df.index]
|
||||
sims_df.index = pd.DatetimeIndex(sims_df.index)
|
||||
|
||||
# match sims to obs
|
||||
sims_df['itime'] = sims_df.index
|
||||
obs_df['time'] = pd.DatetimeIndex(obs_df.time)
|
||||
|
||||
time_group = []
|
||||
for itime in obs_df.index:
|
||||
if itime.minute < 30:
|
||||
time = itime - pd.Timedelta(minutes=itime.minute)
|
||||
else:
|
||||
time = itime + pd.Timedelta(minutes=60 - itime.minute)
|
||||
time_group.append(time)
|
||||
obs_df['itime'] = time_group
|
||||
|
||||
obs_grouped = obs_df.groupby('itime').aggregate(np.mean)
|
||||
obs_grouped['itime'] = obs_grouped.index
|
||||
|
||||
m_df = pd.merge(obs_grouped, sims_df)
|
||||
|
||||
rate_obs = m_df['E_plante'].values
|
||||
rate_sim = m_df['E'].values
|
||||
|
||||
for day in range(4):
|
||||
rate_obs_daily = rate_obs[day * 24: day * 24 + 24]
|
||||
rate_sim_daily = rate_sim[day * 24: day * 24 + 24]
|
||||
|
||||
x_index = np.isfinite(rate_obs_daily)
|
||||
y_index = np.isfinite(rate_sim_daily)
|
||||
xy_index = x_index * y_index
|
||||
rate_obs_daily, rate_sim_daily = rate_obs_daily[xy_index], rate_sim_daily[xy_index]
|
||||
|
||||
df.loc[(treat, 'day%d' % (day + 1)), 'e_obs'] = sum(rate_obs_daily)
|
||||
df.loc[(treat, 'day%d' % (day + 1)), 'e_sim%d' % case] = sum(rate_sim_daily)
|
||||
|
||||
df['energy_effect'] = (df['e_sim3'] - df['e_sim0']) / df['e_sim0']
|
||||
|
||||
print(df)
|
||||
|
||||
|
||||
if __name__ == '__main__':
|
||||
import pandas as pd
|
||||
import numpy as np
|
||||
from pathlib import Path
|
||||
from datetime import datetime, timedelta
|
||||
from matplotlib import dates, pyplot, patches, colors, colorbar, rcParams, ticker, gridspec
|
||||
|
||||
from hydroshoot.architecture import mtg_load
|
||||
from hydroshoot.utilities import vapor_pressure_deficit as VPDa
|
||||
from hydroshoot import display
|
||||
|
||||
rcParams.update({'font.size': 11})
|
||||
pyplot.style.use('seaborn-ticks')
|
||||
|
||||
example_pth = Path(__file__).parents[2] / 'example'
|
||||
|
||||
plot_figure_6()
|
||||
plot_figure_7()
|
||||
plot_figure_8()
|
||||
plot_figure_9()
|
||||
plot_figure_10()
|
||||
plot_figure_11()
|
||||
plot_figure_12()
|
||||
plot_figure_13()
|
||||
plot_figure_14()
|
||||
plot_figure_15()
|
||||
write_table_1()
|
||||
estimate_energy_balance_contribution()
|
11
hydroshoot/example/figs/table_1.csv
Normal file
|
@ -0,0 +1,11 @@
|
|||
treat,sim,an_mbe,an_rmse,e_mbe,e_rmse
|
||||
ww,sim0,-0.051909718477230367,5.4855457305525137,89.466239528284021,141.66446008942523
|
||||
ww,sim1,1.259010978690791,7.4301344033772123,225.00334182464707,361.18357575613237
|
||||
ww,sim2,1.2014013791105675,5.2713845531137755,170.15288191369015,247.4531022336021
|
||||
ww,sim3,-0.25619092657093223,5.5829424838741728,109.17880562355603,154.60276044804414
|
||||
ww,sim4,0.50396645797126982,5.3957488856738012,100.03530354699046,156.68214220659749
|
||||
ws,sim0,1.010557860506649,3.7581259962191074,27.650360054899654,67.570546085109285
|
||||
ws,sim1,3.0316942947008552,6.9534095582668689,193.89281738817965,315.4147399719518
|
||||
ws,sim2,1.363692781794585,3.8564779052298519,35.407294393274391,71.131528719311277
|
||||
ws,sim3,1.0450312828027237,3.8226861782122543,34.120378493320707,70.808298231510008
|
||||
ws,sim4,3.1606701990475412,6.0690600845156348,127.39656220185651,196.01912731881146
|
|
450
hydroshoot/example/gdc_can1_grapevine/digit.input
Normal file
|
@ -0,0 +1,450 @@
|
|||
Souche;tronc;element;sarment;rameau;rang;X;Y;Z;Diam
|
||||
1;0;1;0;0;0;-2.54;0.68;2.45;7
|
||||
1;0;2;0;0;0;-1.17;3.1;8.58;5.418
|
||||
1;0;3;0;0;0;0.65;2.39;17.23;5.505
|
||||
1;0;4;0;0;0;2.35;2.29;22.19;5.015
|
||||
1;0;5;0;0;0;3.1;1.27;26.68;4.695
|
||||
1;0;6;0;0;0;4.24;-0.15;29.71;5.181
|
||||
1;0;7;0;0;0;5.45;-0.64;34.26;5.213
|
||||
1;0;8;0;0;0;7.02;-1.95;37.46;4.959
|
||||
1;0;9;0;0;0;7.09;-1.62;43.82;4.735
|
||||
1;0;10;0;0;0;8.05;-2.43;47.76;5.115
|
||||
1;0;11;0;0;0;7.65;-2.41;54.61;4.537
|
||||
1;0;12;0;0;0;7.04;-4.1;60.76;4.989
|
||||
1;0;13;0;0;0;6.05;-3.75;66.93;4.915
|
||||
1;0;14;0;0;0;5.84;-4.78;73.23;5.553
|
||||
1;0;15;0;0;0;4.46;-4.41;80.03;5.042
|
||||
1;0;16;0;0;0;3.84;-4.82;85.91;4.863
|
||||
1;0;17;0;0;0;2;-5;91.94;4.453
|
||||
1;0;18;0;0;0;2.23;-5.81;99.85;4.696
|
||||
1;0;19;0;0;0;0.5;-6.85;106.81;4.611
|
||||
1;0;20;0;0;0;3.23;-7.2;113.39;5.136
|
||||
1;0;21;0;0;0;3.22;-7.13;120.52;4.995
|
||||
1;0;22;0;0;0;3.09;-5.81;128.12;5.311
|
||||
1;0;23;0;0;0;3.6;-5.1;133.73;5.317
|
||||
1;0;24;0;0;0;2.86;-5.61;140.07;5.583
|
||||
1;0;25;0;0;0;3.69;-4.97;150.02;5.583
|
||||
1;1;1;0;0;0;2.06;-1.27;150.44;3.376
|
||||
1;1;2;0;0;0;2.24;7.04;152.73;2.857
|
||||
1;1;3;0;0;0;3.16;18.04;157.83;2.858
|
||||
1;1;4;0;0;0;2.66;29.59;160.43;3.125
|
||||
1;1;5;0;0;0;6.82;43.34;160.16;2.943
|
||||
1;1;6;0;0;0;11.51;53.29;156.43;4.061
|
||||
1;1;6.A;0;0;0;9.57;56.84;147.54;2.38
|
||||
1;1;6.A;1;0;0;8.28;59.02;146.66;2.312
|
||||
1;1;6.A;1;1;0;6.33;59.41;146.35;1.609
|
||||
1;1;6.A;1;1;1;5.36;60.53;147.36;1.224
|
||||
1;1;6.A;1;1;2;3.12;63.29;148.2;0.977
|
||||
1;1;6.A;1;1;3;0.08;67.63;149.96;0.907
|
||||
1;1;6.A;1;1;4;-5.23;76.6;149.67;0.841
|
||||
1;1;6.A;1;1;5;-10.62;85.12;148.46;0.758
|
||||
1;1;6.A;1;1;6;-14.33;94.7;144.78;0.716
|
||||
1;1;6.A;1;1;7;-18.79;107.07;141.12;0.638
|
||||
1;1;6.A;1;1;8;-21.09;116.53;136.52;0.605
|
||||
1;1;6.A;1;1;9;-24.34;123.6;134.76;0.586
|
||||
1;1;6.A;1;1;10;-26.63;133.19;127.26;0.567
|
||||
1;1;6.A;1;1;11;-30.63;140.47;122.96;0.509
|
||||
1;1;6.A;1;1;12;-33.15;145.77;118.91;0.466
|
||||
1;1;6.A;1;1.2_1;1;3.25;64.69;148.6;0.289
|
||||
1;1;6.A;1;1.2_1;2;3;67.37;147.59;0.156
|
||||
1;1;6.A;1;1.2_1;3;-0.56;67.34;144.64;0.12
|
||||
1;1;6.A;1;1.7_1;1;-17.92;106.28;143.52;0.144
|
||||
1;1;6.A;1;2;0;7.82;60.27;150.05;1.711
|
||||
1;1;6.A;1;2;1;7.71;59.55;150.5;1.208
|
||||
1;1;6.A;1;2;2;9.15;60.63;151.36;0.964
|
||||
1;1;6.A;1;2;3;11;63.79;153.16;0.89
|
||||
1;1;6.A;1;2;4;14.76;69.03;154.84;0.842
|
||||
1;1;6.A;1;2;5;18.25;77.29;156.21;0.802
|
||||
1;1;6.A;1;2;6;23.63;89.81;153.62;0.722
|
||||
1;1;6.A;1;2;7;28.48;100.32;150.82;0.665
|
||||
1;1;6.A;1;2;8;29.59;108.14;145.99;0.614
|
||||
1;1;6.A;1;2;9;34.54;115.78;140.49;0.572
|
||||
1;1;6.A;1;2;10;37.71;123.3;133.07;0.501
|
||||
1;1;6.A;1;2;11;40.12;127.52;128.25;0.493
|
||||
1;1;6.A;1;2;12;40.74;130.23;124.19;0.486
|
||||
1;1;6.A;1;2;13;42.9;133.85;118.76;0.482
|
||||
1;1;6.A;1;2;14;43;137.74;114.3;0.482
|
||||
1;1;6.A;1;2;15;45.54;140.4;111.42;0.436
|
||||
1;1;6.A;1;2;16;47.7;144.28;106.5;0.443
|
||||
1;1;6.A;1;2;17;51.05;146.37;102.84;0.395
|
||||
1;1;6.A;1;2.4_1;1;14.75;72.41;151.9;0.292
|
||||
1;1;6.A;1;2.5_1;1;16.37;81.82;154.12;0.228
|
||||
1;1;7;0;0;0;22.93;53.97;155;2.706
|
||||
1;1;7.A;0;0;0;18.39;56.55;162.91;2.925
|
||||
1;1;7.A;1;0;0;16.46;56.31;162.16;2.15
|
||||
1;1;7.A;1;1;0;15.16;55.03;162.79;1.759
|
||||
1;1;7.A;1;1;1;14.86;55.12;163.58;1.444
|
||||
1;1;7.A;1;1;2;14.53;55.28;165.44;1.032
|
||||
1;1;7.A;1;1;3;13.89;55.99;169.76;0.914
|
||||
1;1;7.A;1;1;4;13.08;56.22;176.76;0.893
|
||||
1;1;7.A;1;1;5;11.15;56.77;185.17;0.914
|
||||
1;1;7.A;1;1;6;10.8;53.45;198.82;0.807
|
||||
1;1;7.A;1;1;7;9.66;49.31;209.63;0.827
|
||||
1;1;7.A;1;1;8;13.02;40.52;214.21;0.718
|
||||
1;1;7.A;1;1;9;15.66;29.33;214.74;0.682
|
||||
1;1;7.A;1;1;10;19.62;24.36;211.63;0.63
|
||||
1;1;7.A;1;1;11;20.59;20.33;208.62;0.632
|
||||
1;1;7.A;1;1;12;23.4;15.25;204.57;0.576
|
||||
1;1;7.A;1;1;13;23.36;10.85;200.69;0.573
|
||||
1;1;7.A;1;1;14;24.91;8.87;195.79;0.56
|
||||
1;1;7.A;1;1;15;26.34;6.34;189.16;0.506
|
||||
1;1;7.A;1;1;16;28.78;4.02;182.8;0.481
|
||||
1;1;7.A;1;1;17;29.36;1.91;177.23;0.455
|
||||
1;1;7.A;1;1;18;31.46;0.67;171.9;0.417
|
||||
1;1;7.A;1;1;19;33.16;-2.85;168.59;0.395
|
||||
1;1;7.A;1;1;20;35.28;-4.67;165.41;0.394
|
||||
1;1;7.A;1;1;21;38.73;-8.73;162.38;0.365
|
||||
1;1;7.A;1;1;22;42.74;-11.08;160.11;0.358
|
||||
1;1;7.A;1;1.8_1;1;14.92;39.74;216.13;0.384
|
||||
1;1;7.A;1;1.8_1;2;15.1;40.77;217.63;0.195
|
||||
1;1;7.A;1;2;0;14.14;57.46;162.89;1.846
|
||||
1;1;7.A;1;2;1;12.68;58.24;164.06;1.44
|
||||
1;1;7.A;1;2;2;13.09;59.99;163.54;1.177
|
||||
1;1;7.A;1;2;3;11.17;63.25;164.82;1.095
|
||||
1;1;7.A;1;2;4;9.25;69.06;164.99;0.999
|
||||
1;1;7.A;1;2;5;6.79;76.78;165;0.961
|
||||
1;1;7.A;1;2;6;4.21;88.92;162.58;0.831
|
||||
1;1;7.A;1;2;7;1.79;102.5;159.62;0.745
|
||||
1;1;7.A;1;2;8;0.52;110.81;154.12;0.704
|
||||
1;1;7.A;1;2;9;-0.27;122.63;148.69;0.582
|
||||
1;1;7.A;1;2;10;-0.84;130.49;140.7;0.55
|
||||
1;1;7.A;1;2;11;-1.62;139.63;131.94;0.538
|
||||
1;1;7.A;1;2;12;-3.11;144.9;125.9;0.487
|
||||
1;1;7.A;1;2;13;-5.99;150.35;121.87;0.434
|
||||
1;1;7.A;1;1.5_1;1;6.02;81.87;166.08;0.255
|
||||
1;1;7.A;1;1.6_1;1;3.89;88.07;161.15;0.139
|
||||
1;1;8;0;0;0;34.86;48.79;157.52;3.695
|
||||
1;1;8.A;0;0;0;37.18;47.17;163.06;3.983
|
||||
1;1;8.A;1;0;0;37.66;48.44;163.5;2.384
|
||||
1;1;8.A;1;1;0;36.59;49.53;162.8;1.576
|
||||
1;1;8.A;1;1;1;37.2;50.03;163.08;1.417
|
||||
1;1;8.A;1;1;2;38.81;51.69;164.96;0.907
|
||||
1;1;8.A;1;1;3;40.02;54.69;167.87;0.867
|
||||
1;1;8.A;1;1;4;43;60.01;173.3;0.857
|
||||
1;1;8.A;1;1;5;44.96;65.88;177.84;0.885
|
||||
1;1;8.A;1;1;6;50.37;73.34;183.93;0.749
|
||||
1;1;8.A;1;1;7;53.93;83.72;186.65;0.667
|
||||
1;1;8.A;1;1;8;57.63;90.79;188;0.594
|
||||
1;1;8.A;1;1;9;59.42;100.04;186.15;0.574
|
||||
1;1;8.A;1;1;10;62.56;105.26;184.66;0.522
|
||||
1;1;8.A;1;1;11;63.56;109.8;182;0.505
|
||||
1;1;8.A;1;1;12;67.22;114.67;179;0.502
|
||||
1;1;8.A;1;1;13;69.9;119.34;177.17;0.459
|
||||
1;1;8.A;1;1;14;74.9;121.09;175.95;0.47
|
||||
1;1;8.A;1;1;15;80.7;126.81;174.77;0.409
|
||||
1;1;8.A;1;1;16;86.94;128.14;174.46;0.381
|
||||
1;1;8.A;1;1;17;91.93;129.46;175.67;0.349
|
||||
1;1;8.A;1;1;18;97.72;129.45;177.55;0.344
|
||||
1;1;8.A;1;1;19;101.67;130.38;180.05;0.317
|
||||
1;1;8.A;1;1;20;104.93;130.1;183.2;0.249
|
||||
1;1;8.A;1;1.5_1;1;40.63;68.85;182.28;0.553
|
||||
1;1;8.A;1;1.5_1;2;38.49;70.95;186.5;0.513
|
||||
1;1;8.A;1;1.5_1;3;36.27;71.79;190.88;0.414
|
||||
1;1;8.A;1;1.5_1;4;34.92;73.16;195.54;0.442
|
||||
1;1;8.A;1;1.5_1;5;32.73;73.4;199.03;0.416
|
||||
1;1;8.A;1;1.5_1;6;31.84;75.5;203.69;0.432
|
||||
1;1;8.A;1;1.5_1;7;29.89;76.29;207.05;0.347
|
||||
1;1;8.A;1;1.5_1;8;29.97;78.88;210.82;0.303
|
||||
1;1;8.A;1;1.5_1;9;29.24;81.25;214.7;0.29
|
||||
1;1;8.A;1;1.5_1;10;29.39;84.51;218.05;0.242
|
||||
1;1;8.A;1;1.6_1;1;48.26;72.35;188.02;0.387
|
||||
1;1;8.A;1;1.6_1;2;46.86;72.41;191.24;0.289
|
||||
1;1;8.A;1;1.6_1;3;44.83;72.38;196.37;0.262
|
||||
1;1;8.A;1;2;0;33.93;50.53;164.54;1.441
|
||||
1;1;8.A;1;2;1;33.24;51.05;165.25;1.217
|
||||
1;1;8.A;1;2;2;32.53;50.67;166.89;1.103
|
||||
1;1;8.A;1;2;3;30.72;48.8;167.77;1.017
|
||||
1;1;8.A;1;2;4;28.03;49.25;171.18;1.007
|
||||
1;1;8.A;1;2;5;24.19;50.22;176.47;0.974
|
||||
1;1;8.A;1;2;6;19.05;50.17;182.7;0.959
|
||||
1;1;8.A;1;2;7;10.67;52.75;189.45;0.906
|
||||
1;1;8.A;1;2;8;2.99;56.21;195.12;0.886
|
||||
1;1;8.A;1;2;9;-3.6;61.69;198.89;0.842
|
||||
1;1;8.A;1;2;10;-13.06;68.4;201.11;0.789
|
||||
1;1;8.A;1;2;11;-20.44;75.62;198.83;0.722
|
||||
1;1;8.A;1;2;12;-29.04;81.35;194.83;0.653
|
||||
1;1;8.A;1;2;13;-33.46;85.86;189.33;0.632
|
||||
1;1;8.A;1;2;14;-38.27;87.44;185.44;0.625
|
||||
1;1;8.A;1;2;15;-41.08;90.88;180.54;0.577
|
||||
1;1;8.A;1;2;16;-45.71;92.06;175.81;0.573
|
||||
1;1;8.A;1;2;17;-45.57;99.05;171.2;0.552
|
||||
1;1;8.A;1;2;18;-53.24;102.56;166.93;0.543
|
||||
1;1;8.A;1;2;19;-57.46;102.98;163.3;0.512
|
||||
1;1;8.A;1;2;20;-64.06;103.59;160.67;0.514
|
||||
1;1;8.A;1;2;21;-70.53;108.01;158.86;0.481
|
||||
1;1;8.A;1;2;22;-76.76;110.13;157.55;0.451
|
||||
1;1;8.A;1;2;23;-81.27;113.59;156.42;0.432
|
||||
1;1;8.A;1;2;24;-87.86;113.46;153.94;0.387
|
||||
1;1;8.A;1;2;25;-94.67;113.9;152.61;0.375
|
||||
1;1;8.A;1;2;26;-99.56;114.52;150.61;0.345
|
||||
1;1;8.A;1;2.3_1;1;30.5;50.98;169.61;0.067
|
||||
1;1;8.A;1;2.4_1;1;28.59;48.53;173.55;0.248
|
||||
1;1;8.A;1;2.5_1;1;24.85;51.62;179.41;0.302
|
||||
1;1;8.A;1;2.6_1;1;19.85;46.46;185.84;0.509
|
||||
1;1;8.A;1;2.6_1;2;21.15;42.09;191.47;0.419
|
||||
1;1;8.A;1;2.6_1;3;22.88;39.63;195.11;0.391
|
||||
1;1;8.A;1;2.6_1;4;23.34;37.99;197.66;0.406
|
||||
1;1;8.A;1;2.6_1;5;24.22;35.25;202.22;0.35
|
||||
1;1;8.A;1;2.6_1;6;22.43;34.49;205.94;0.356
|
||||
1;1;8.A;1;2.6_1;7;20.45;33.36;209.82;0.326
|
||||
1;1;8.A;1;2.8_1;1;3.45;57.22;197.96;0.403
|
||||
1;1;8.A;1;2.8_1;2;3.43;56.09;201.06;0.371
|
||||
1;1;8.A;1;2.8_1;3;3.75;54.06;203.69;0.357
|
||||
1;1;8.A;1;2.8_1;4;2.33;51.21;206.18;0.334
|
||||
1;1;8.A;1;2.8_1;5;1.36;48.66;209.71;0.291
|
||||
1;1;8.A;1;2.8_1;6;1.22;44.82;213.33;0.291
|
||||
1;1;8.A;1;2.9_1;1;-2.31;63.34;202.23;0.408
|
||||
1;1;8.A;1;2.9_1;2;-1.25;64.09;204.83;0.309
|
||||
1;1;8.A;1;2.9_1;3;1.17;63.86;208.13;0.346
|
||||
1;1;8.A;1;2.9_1;4;3.29;65.79;211.73;0.275
|
||||
1;1;8.A;1;2.9_1;5;5.11;66.89;213.82;0.214
|
||||
1;1;8.A;1;2.9_1;6;5.26;69.77;215.66;0.151
|
||||
1;1;8.A;1;2.11_1;1;-14.13;67.81;204.62;0.45
|
||||
1;1;8.A;1;2.11_1;2;-14.13;66.22;207.19;0.367
|
||||
1;1;8.A;1;2.11_1;3;-12.43;64.87;209.89;0.332
|
||||
1;1;8.A;1;2.11_1;4;-14.47;64.47;212.94;0.217
|
||||
1;1;8.A;1;2.11_1;5;-10.68;63.89;217.16;0.177
|
||||
1;1;8.A;1;2.12_1;1;-21.02;77.47;200.51;0.44
|
||||
1;1;8.A;1;2.12_1;2;-22.54;78.4;201.14;0.294
|
||||
1;1;8.A;1;2.13_1;1;-31.2;81.62;197.44;0.248
|
||||
1;1;9;0;0;0;47.16;52.26;161.24;3.035
|
||||
1;1;9.A.1;0;0;0;48.63;50.87;156.69;3.207
|
||||
1;1;9.A.2;0;0;0;45.9;47.98;156.33;2.533
|
||||
1;1;9.A.3;0;0;0;42.5;54.01;153.8;2.215
|
||||
1;1;9.A.3;1.1;0;0;42.67;56.06;153.41;1.75
|
||||
1;1;9.A.3;1.1;G1;0;44.07;58.06;154.64;0.826
|
||||
1;1;9.A.3;1.1;G1;1;45.09;58.89;154.18;0.777
|
||||
1;1;9.A.3;1.1;G1;2;45.66;59.79;154.16;0.589
|
||||
1;1;9.A.3;1.1;G1;3;45.43;63.12;153.97;0.539
|
||||
1;1;9.A.3;1.1;G1;4;46.63;67.54;154.88;0.488
|
||||
1;1;9.A.3;1.1;G1;5;45.9;73.58;155.48;0.455
|
||||
1;1;9.A.3;1.1;G1;6;46.79;78.64;155.5;0.399
|
||||
1;1;9.A.3;1.1;G1;7;46.39;81.79;156.9;0.375
|
||||
1;1;9.A.3;1.1;G1;8;48.59;87.25;157.76;0.368
|
||||
1;1;9.A.3;1.1;G1;9;48.85;94.5;160.03;0.338
|
||||
1;1;9.A.3;1.1;G1;10;49.35;99.8;160.51;0.283
|
||||
1;1;9.A.3;1.2;0;0;43.83;58.28;152.46;1.582
|
||||
1;1;9.A.3;1.2;1;0;46.05;58.75;152.36;1.032
|
||||
1;1;9.A.3;1.2;1;1;46.49;58.3;152.21;0.958
|
||||
1;1;9.A.3;1.2;1;2;47.62;56.96;152.51;0.65
|
||||
1;1;9.A.3;1.2;1;3;50.47;56.49;154.14;0.609
|
||||
1;1;9.A.3;1.2;1;4;55.98;57.46;158.37;0.6
|
||||
1;1;9.A.3;1.2;1;5;63.71;58.08;161.78;0.554
|
||||
1;1;9.A.3;1.2;1;6;70.35;59.48;167.81;0.527
|
||||
1;1;9.A.3;1.2;1;7;80.19;62.48;172.35;0.487
|
||||
1;1;9.A.3;1.2;1;8;87.77;63.65;178.78;0.545
|
||||
1;1;9.A.3;1.2;1;9;92.92;66.07;181.74;0.481
|
||||
1;1;9.A.3;1.2;1;10;97.57;68.48;187.07;0.423
|
||||
1;1;9.A.3;1.2;1;11;104.32;73.2;191.96;0.458
|
||||
1;1;9.A.3;1.2;1;12;110.39;76.22;196.59;0.437
|
||||
1;1;9.A.3;1.2;1;13;116.06;81.19;198.45;0.406
|
||||
1;1;10RL;0;0;0;52.99;52.93;160.19;3.323
|
||||
1;1;11;0;0;0;55.61;53.95;163.3;3.231
|
||||
1;1;11.A;0;0;0;53.62;56.87;163.29;3.084
|
||||
1;1;11.A;0;G1;0;52.24;56.5;164.69;1.299
|
||||
1;1;11.A;0;G1;1;52.04;56.61;165.1;1.208
|
||||
1;1;11.A;0;G1;2;52.03;56.58;166.2;0.869
|
||||
1;1;11.A;0;G1;3;51.9;57.66;171.75;0.637
|
||||
1;1;11.A;0;G1;4;51.97;58.31;177.78;0.772
|
||||
1;1;11.A;0;G1;5;50.54;58.46;185.55;0.694
|
||||
1;1;11.A;0;G1;6;47.75;54.95;194.41;0.615
|
||||
1;1;11.A;0;G1;7;44.64;52.54;200.21;0.587
|
||||
1;1;11.A;0;G1;8;42.56;49.83;204.51;0.603
|
||||
1;1;11.A;0;G1;9;40;47.5;207.67;0.632
|
||||
1;1;11.A;0;G1;10;37.85;41.98;211.43;0.558
|
||||
1;1;11.A;0;G1;11;34.82;37.66;213.89;0.555
|
||||
1;1;11.A;0;G1;12;33.21;32.03;213.3;0.554
|
||||
1;1;11.A;0;G1;13;31.06;26.4;216.38;0.478
|
||||
1;1;11.A;0;G1;14;28.22;21.77;219.86;0.531
|
||||
1;1;11.A;0;G1;15;24.42;18.57;222.33;0.56
|
||||
1;1;11.A;0;G1;16;20.21;14.5;225.56;0.608
|
||||
1;1;11.A;0;G1;17;15.26;11.42;228.62;0.435
|
||||
1;1;11.A;0;G1;18;9.94;8.34;229.42;0.437
|
||||
1;1;11.A;0;G1;19;2.99;3.16;227.65;0.409
|
||||
1;1;11.A;0;G1;20;-0.11;-0.25;227.94;0.376
|
||||
1;1;11.A;0;G1;21;-5.38;-1.02;227.65;0.351
|
||||
1;1;11.A;0;G1;22;-10.14;-3.84;226.91;0.239
|
||||
1;1;11.A;1;0;0;54.9;60.8;164.1;1.602
|
||||
1;1;11.A;1;1;0;53.21;63.88;165.47;1.778
|
||||
1;1;11.A;1;1;1;53.8;65.23;165.7;1.479
|
||||
1;1;11.A;1;1;2;55.51;66.58;167.12;1.21
|
||||
1;1;11.A;1;1;3;58.11;68.79;171.04;1.072
|
||||
1;1;11.A;1;1;4;63.56;70.57;174.68;1.034
|
||||
1;1;11.A;1;1;5;68.93;74.46;179.93;0.945
|
||||
1;1;11.A;1;1;6;81.71;79.49;185.82;0.844
|
||||
1;1;11.A;1;1;7;90.51;84.35;190.5;0.797
|
||||
1;1;11.A;1;1;8;101.43;86.7;192.41;0.745
|
||||
1;1;11.A;1;1;9;111.2;92.1;192.36;0.677
|
||||
1;1;11.A;1;1;10;119.97;95.02;190.95;0.601
|
||||
1;1;11.A;1;1;11;129.12;98.53;184.91;0.526
|
||||
1;1;11.A;1;1;12;134.33;102.55;180.87;0.531
|
||||
1;1;11.A;1;1;13;136.68;105.16;175.61;0.569
|
||||
1;1;11.A;1;1;14;140.62;107.38;169.4;0.527
|
||||
1;1;11.A;1;1;15;144.14;109.31;165.22;0.535
|
||||
1;1;11.A;1;1;16;148.73;109.36;160.74;0.487
|
||||
1;1;11.A;1;1;17;153.31;111.42;155.89;0.48
|
||||
1;1;11.A;1;1;18;157.25;112.57;152.24;0.453
|
||||
1;1;11.A;1;1;19;160.87;114.56;148.57;0.478
|
||||
1;1;11.A;1;1;20;165.8;114.43;144.53;0.425
|
||||
1;1;11.A;1;1.4_1;1;66.32;68.73;177.11;0.428
|
||||
1;1;11.A;1;1.5_1;1;68.27;74.36;182.97;0.498
|
||||
1;1;11.A;1;1.5_1;2;67.05;76.56;185.94;0.359
|
||||
1;1;11.A;1;1.5_1;3;66.28;78.5;189.45;0.337
|
||||
1;1;11.A;1;1.5_1;4;64.71;81.12;194.65;0.251
|
||||
1;1;11.A;1;1.7_1;1;90.43;83.66;194.16;0.318
|
||||
1;1;11.A;1;1.7_1;2;88.29;83.46;197.27;0.309
|
||||
1;1;11.A;1;1.7_1;3;86.64;83.56;201.52;0.252
|
||||
1;1;11.A;1;1.7_1;4;86.18;84.45;206.01;0.203
|
||||
1;1;11.A;1;1.9_1;1;111.65;93.67;194.07;0.306
|
||||
1;1;11.A;1;1.10_1;1;121.12;93.12;193.36;0.184
|
||||
1;1;11.A;1;1.12_1;1;135.15;102.31;182.6;0.2
|
||||
1;1;11.A;1;1.12_1;2;134.26;102.62;184.38;0.171
|
||||
1;1;11.A;1;1.16_1;1;149.25;108.69;162.9;0.096
|
||||
1;1;12;0;0;0;60.91;53.07;164.82;2.246
|
||||
1;1;12.A;0;0;0;66.52;55.27;163;2.564
|
||||
1;1;12.A;1;0;0;68.32;55.25;162.32;2.204
|
||||
1;1;12.A;1;1;0;69.59;55.56;161.77;1.394
|
||||
1;1;12.A;1;1;1;70.36;55.42;161.58;1.253
|
||||
1;1;12.A;1;1;2;72.19;54.96;161.49;0.91
|
||||
1;1;12.A;1;1;3;74.6;55.56;163.24;0.75
|
||||
1;1;12.A;1;1;4;78.74;57.78;167.05;0.692
|
||||
1;1;12.A;1;1;5;84.06;63.04;171.19;0.632
|
||||
1;1;12.A;1;1;6;91.28;71.87;180.69;0.606
|
||||
1;1;12.A;1;1;7;97.78;80.49;186.83;0.525
|
||||
1;1;12.A;1;1;8;101.74;82.92;191.15;0.486
|
||||
1;1;12.A;1;1;9;106.22;90.63;192.38;0.462
|
||||
1;1;12.A;1;1;10;111.12;95.48;192.67;0.477
|
||||
1;1;12.A;1;1;11;115.24;102.34;191.69;0.462
|
||||
1;1;12.A;1;1;12;120.17;105.93;191.32;0.442
|
||||
1;1;12.A;1;1;13;124.03;111.64;190.13;0.426
|
||||
1;1;12.A;1;1;14;127.71;116.14;189.15;0.382
|
||||
1;1;12.A;1;1;15;129.95;121.93;187.44;0.367
|
||||
1;1;12.A;1;1;16;134.18;127.13;186.69;0.32
|
||||
1;1;12.A;1;2;0;68.99;54.94;164.02;1.627
|
||||
1;1;12.A;1;2;1;70.4;52.38;164.28;1.341
|
||||
1;1;12.A;1;2;2;70.81;53.01;168.28;1.168
|
||||
1;1;12.A;1;2;3;70.23;52.91;173.19;1.044
|
||||
1;1;12.A;1;2;4;68.57;53.37;179.56;0.99
|
||||
1;1;12.A;1;2;5;66.42;52.1;188.19;0.945
|
||||
1;1;12.A;1;2;6;60.88;49.08;201.6;0.893
|
||||
1;1;12.A;1;2;7;55.04;44.89;210.11;0.844
|
||||
1;1;12.A;1;2;8;49.31;42.55;214.85;0.761
|
||||
1;1;12.A;1;2;9;43.15;34.09;217.24;0.715
|
||||
1;1;12.A;1;2;10;34.65;29.26;215.98;0.674
|
||||
1;1;12.A;1;2;11;30.51;24.43;214.34;0.651
|
||||
1;1;12.A;1;2;12;26.4;23.59;211.63;0.635
|
||||
1;1;12.A;1;2;13;22.76;19.67;207.7;0.573
|
||||
1;1;12.A;1;2;14;18.38;18.14;204.05;0.532
|
||||
1;1;12.A;1;2;15;16.89;14.74;200.81;0.507
|
||||
1;1;12.A;1;2;16;13.44;11.34;195.81;0.469
|
||||
1;1;12.A;1;2;17;11.38;7.51;190.57;0.513
|
||||
1;1;12.A;1;2;18;9.3;5.74;186.3;0.473
|
||||
1;1;12.A;1;2;19;7.1;3.34;181.2;0.425
|
||||
1;1;12.A;1;2;20;4.23;2.77;177.41;0.411
|
||||
1;1;12.A;1;2;21;3.04;0.31;173.31;0.375
|
||||
1;1;12.A;1;2;22;0.86;-1.01;168.01;0.351
|
||||
1;1;12.A;1;2.4_1;1;69.43;54.41;182.5;0.233
|
||||
1;1;12.A;1;2.7_1;1;56.79;45.37;213.23;0.468
|
||||
1;1;12.A;1;2.9_1;1;44.24;32.82;220.07;0.382
|
||||
1;1;12.A;1;2.9_1;2;45.45;31.54;221.76;0.314
|
||||
1;2;1;0;0;0;-0.13;-17.62;161.52;3.346
|
||||
1;2;2;0;0;0;-4.82;-26.45;167.36;3.421
|
||||
1;2;3;0;0;0;-8.53;-37.59;166.8;3.089
|
||||
1;2;4;0;0;0;-13.42;-51.89;161.82;3.036
|
||||
1;2;5;0;0;0;-17.16;-60.08;153.82;3.45
|
||||
1;2;6;0;0;0;-31.21;-60.33;151.18;3.88
|
||||
1;2;6.A;0;0;0;-27.79;-59.67;157.12;1.973
|
||||
1;2;6.A;1;0;0;-27.88;-57.61;160.16;1.187
|
||||
1;2;6.A;1;1;0;-27.45;-61.32;160.1;1.367
|
||||
1;2;6.A;1;1;1;-27.79;-61.94;160.35;1.129
|
||||
1;2;6.A;1;1;2;-28.06;-63.26;161.25;0.774
|
||||
1;2;6.A;1;1;3;-27.82;-65.89;162.97;0.782
|
||||
1;2;6.A;1;1;4;-25.35;-67.85;168.77;0.677
|
||||
1;2;7;0;0;0;-47.29;-60.71;153.73;3.878
|
||||
1;2;7.A;0;0;0;-48.83;-61.91;157.89;6.248
|
||||
1;2;7.A;1;0;0;-48.96;-61.05;156.94;2.293
|
||||
1;2;7.A;1;1;0;-48.45;-61.24;157.64;1.367
|
||||
1;2;7.A;1;1;1;-47.91;-61.84;158.29;1.329
|
||||
1;2;7.A;1;1;2;-48.39;-62.26;159.21;1.081
|
||||
1;2;7.A;1;1;3;-48.2;-63.93;163.16;0.996
|
||||
1;2;7.A;1;1;4;-49.21;-65.35;168.67;0.986
|
||||
1;2;7.A;1;1;5;-49.49;-70.05;173.43;0.97
|
||||
1;2;7.A;1;1;6;-52.16;-75.1;180.19;0.804
|
||||
1;2;7.A;1;1;7;-55.13;-86.47;185.06;0.686
|
||||
1;2;7.A;1;1;8;-59.34;-94.54;187.31;0.668
|
||||
1;2;7.A;1;1;9;-62.21;-100.88;186.95;0.614
|
||||
1;2;7.A;1;1;10;-61.15;-111.99;179.07;0.625
|
||||
1;2;7.A;1;1;11;-65.97;-116.89;173.59;0.567
|
||||
1;2;7.A;1;1;12;-70.04;-119.21;170.53;0.585
|
||||
1;2;7.A;1;1;13;-71.31;-123.4;165.15;0.492
|
||||
1;2;7.A;1;1;14;-74.82;-126.94;160.59;0.505
|
||||
1;2;7.A;1;1;15;-77.01;-130.23;157.44;0.506
|
||||
1;2;7.A;1;1;16;-79.84;-134.98;155.55;0.476
|
||||
1;2;7.A;1;1;17;-80.36;-140.95;151.91;0.509
|
||||
1;2;7.A;1;1.4_1;1;-49.52;-61.72;171.46;0.357
|
||||
1;2;7.A;1;1.4_1;2;-49.48;-61.37;174.98;0.249
|
||||
1;2;7.A;1;1.4_1;3;-50.41;-59.39;178.82;0.269
|
||||
1;2;7.A;1;1.4_1;4;-50.07;-58.59;182.03;0.171
|
||||
1;2;7.A;1;1.5_1;1;-46.33;-72;177.33;0.421
|
||||
1;2;7.A;1;1.5_1;2;-45.46;-75.51;180.67;0.368
|
||||
1;2;7.A;1;1.5_1;3;-44.27;-77.91;185.77;0.358
|
||||
1;2;7.A;1;1.5_1;4;-42.59;-78.61;190.36;0.408
|
||||
1;2;7.A;1;1.5_1;5;-38.59;-79.88;191.59;0.298
|
||||
1;2;7.A;1;1.5_1;6;-34.84;-82.19;191.05;0.264
|
||||
1;2;7.A;1;1.6_1;1;-49.04;-77.33;185.13;0.441
|
||||
1;2;7.A;1;1.6_1;2;-49.44;-77.52;189.59;0.408
|
||||
1;2;7.A;1;1.6_1;3;-49.76;-76.23;193.97;0.494
|
||||
1;2;7.A;1;1.6_1;4;-50.68;-75.13;197.85;0.377
|
||||
1;2;7.A;1;1.6_1;5;-52.29;-71.82;201.34;0.368
|
||||
1;2;7.A;1;1.6_1;6;-53.82;-69.41;203.94;0.261
|
||||
1;2;7.B;0;0;0;-38.07;-55.28;147.01;3.114
|
||||
1;2;7.B;1;0;0;-35.68;-58.9;147.34;1.851
|
||||
1;2;7.B;1;1;0;-36.71;-59.15;146.39;1.089
|
||||
1;2;7.B;1;1;1;-36.96;-59.85;145.41;0.971
|
||||
1;2;7.B;1;1;2;-35.23;-62.27;146.25;0.74
|
||||
1;2;7.B;1;1;3;-32.55;-65.22;147.07;0.775
|
||||
1;2;7.B;1;1;4;-27.57;-69.37;150.03;0.71
|
||||
1;2;7.B;1;1;5;-19.45;-74.23;153.9;0.676
|
||||
1;2;7.B;1;1;6;-11.56;-81.84;161.72;0.582
|
||||
1;2;7.B;1;1;7;-4.94;-87.12;164.4;0.587
|
||||
1;2;7.B;1;1;8;3.82;-91.19;168.39;0.507
|
||||
1;2;7.B;1;1;9;10.01;-93.78;170.47;0.523
|
||||
1;2;7.B;1;1;10;18.34;-95.08;172.27;0.499
|
||||
1;2;7.B;1;1;11;22.89;-97.51;174.04;0.467
|
||||
1;2;7.B;1;1;12;32.67;-98.78;176.59;0.45
|
||||
1;2;8;0;0;0;-60.22;-65.33;150.43;3.307
|
||||
1;2;8.A.1;0;0;0;-61.39;-61.5;146.79;4.037
|
||||
1;2;8.A.2;0;0;0;-55.31;-63.57;144.43;2.249
|
||||
1;2;8.A.2;0;G1;0;-57.15;-62.41;143.99;1.092
|
||||
1;2;8.A.2;0;G1;1;-55.12;-65.26;142.19;0.578
|
||||
1;2;8.A.2;0;G1;2;-52.5;-68.06;142.28;0.523
|
||||
1;2;8.A.2;0;G1;3;-49.1;-72.65;139.99;0.493
|
||||
1;2;8.A.2;0;G1;4;-45.31;-77.75;136.92;0.444
|
||||
1;2;8.A.2;0;G1;5;-44.45;-83.32;131.43;0.434
|
||||
1;2;8.A.2;0;G1;6;-40.02;-86.86;125.46;0.467
|
||||
1;2;8.A.2;0;G1;7;-39.45;-89.49;121.57;0.443
|
||||
1;2;8.A.2;0;G1;8;-36.84;-91.51;116.73;0.44
|
||||
1;2;8.A.2;0;G1;9;-34.68;-96.22;111.93;0.401
|
||||
1;2;8.A.2;0;G1;10;-31.57;-99.16;105.74;0.398
|
||||
1;2;8.A.2;0;G1;11;-30.41;-103.54;99.7;0.384
|
||||
1;2;8.A.3;0;0;0;-53.73;-60.2;142.03;2.215
|
||||
1;2;8.A.4;0;0;0;-51.4;-61.81;143.85;1.572
|
||||
1;2;8.A.4;1;0;0;-51.92;-63.89;146.01;1.678
|
||||
1;2;8.A.4;1;G1;1;-53.44;-64.17;144.35;0.37
|
||||
1;2;8.A.4;1;G1;0;-53.11;-62.36;143.9;0.582
|
||||
1;2;8.A.4;1;1;0;-51.86;-65.13;147.68;1.412
|
||||
1;2;8.A.4;1;1;1;-50.52;-66.09;147.41;1.219
|
||||
1;2;8.A.4;1;1;2;-48.07;-66.27;149.65;0.973
|
||||
1;2;8.A.4;1;1;3;-44.15;-67.3;153.68;0.949
|
||||
1;2;8.A.4;1;1;4;-38.72;-68.04;158.64;0.915
|
||||
1;2;8.A.4;1;1;5;-31.27;-70.58;166.79;0.866
|
||||
1;2;8.A.4;1;1;6;-18.43;-73.71;177.83;0.756
|
||||
1;2;8.A.4;1;1;7;-9.43;-81.1;183.28;0.649
|
||||
1;2;8.A.4;1;1;8;-0.28;-85.9;183.24;0.564
|
||||
1;2;8.A.4;1;1;9;6.85;-92.02;177.65;0.525
|
||||
1;2;8.A.4;1;1;10;12.74;-93.24;172.58;0.55
|
||||
1;2;8.A.4;1;1;11;15.28;-95.51;167.39;0.518
|
||||
1;2;8.A.4;1;1;12;20.93;-97.03;162.14;0.468
|
||||
1;2;8.A.4;1;1;13;25.02;-99.38;158.43;0.461
|
||||
1;2;8.A.4;1;1;14;28.28;-101.85;154.97;0.45
|
||||
1;2;8.A.4;1;1;15;31.84;-106.64;149.45;0.417
|
8332
hydroshoot/example/gdc_can1_grapevine/meteo.input
Normal file
175
hydroshoot/example/gdc_can1_grapevine/params.json
Normal file
|
@ -0,0 +1,175 @@
|
|||
{
|
||||
"simulation": {
|
||||
"sdate": "2012-08-01 00:00:00",
|
||||
"edate": "2012-08-04 23:00:00",
|
||||
"latitude": 43.61,
|
||||
"longitude": 3.87,
|
||||
"elevation": 44.0,
|
||||
"tzone": "Europe/Paris",
|
||||
"output_index": "",
|
||||
"unit_scene_length": "cm",
|
||||
"hydraulic_structure": true,
|
||||
"negligible_shoot_resistance": false,
|
||||
"energy_budget": true
|
||||
},
|
||||
"planting": {
|
||||
"spacing_between_rows": 3.6,
|
||||
"spacing_on_row": 1,
|
||||
"row_angle_with_south": 140.0
|
||||
},
|
||||
"phenology": {
|
||||
"emdate": "2012-04-01 00:00:00",
|
||||
"t_base": 10.0
|
||||
},
|
||||
"mtg_api": {
|
||||
"collar_label": "inT",
|
||||
"leaf_lbl_prefix": "L",
|
||||
"stem_lbl_prefix": [
|
||||
"in",
|
||||
"Pet",
|
||||
"cx"
|
||||
]
|
||||
},
|
||||
"numerical_resolution": {
|
||||
"max_iter": 100,
|
||||
"psi_step": 1.0,
|
||||
"psi_error_threshold": 0.05,
|
||||
"t_step": 1.0,
|
||||
"t_error_threshold": 0.02
|
||||
},
|
||||
"irradiance": {
|
||||
"E_type": "Rg_Watt/m2",
|
||||
"E_type2": "Eabs",
|
||||
"opt_prop": {
|
||||
"SW": {
|
||||
"leaf": [
|
||||
0.06,
|
||||
0.07
|
||||
],
|
||||
"stem": [
|
||||
0.13
|
||||
],
|
||||
"other": [
|
||||
0.06,
|
||||
0.07
|
||||
]
|
||||
},
|
||||
"LW": {
|
||||
"leaf": [
|
||||
0.04,
|
||||
0.07
|
||||
],
|
||||
"stem": [
|
||||
0.13
|
||||
],
|
||||
"other": [
|
||||
0.06,
|
||||
0.07
|
||||
]
|
||||
}
|
||||
},
|
||||
"turtle_format": "soc",
|
||||
"turtle_sectors": "46",
|
||||
"icosphere_level": null
|
||||
},
|
||||
"energy": {
|
||||
"solo": true,
|
||||
"t_cloud": 2.0,
|
||||
"t_sky": -20.0
|
||||
},
|
||||
"hydraulic": {
|
||||
"psi_min": -3.0,
|
||||
"Kx_dict": {
|
||||
"a": 1.6,
|
||||
"b": 2.0,
|
||||
"min_kmax": 0.000111
|
||||
},
|
||||
"par_K_vul": {
|
||||
"model": "misson",
|
||||
"fifty_cent": -0.76,
|
||||
"sig_slope": 1.0
|
||||
}
|
||||
},
|
||||
"exchange": {
|
||||
"rbt": 0.6667,
|
||||
"Na_dict": {
|
||||
"aN": -0.0008,
|
||||
"bN": 3.3,
|
||||
"aM": 6.471,
|
||||
"bM": 56.635
|
||||
},
|
||||
"par_gs": {
|
||||
"model": "misson",
|
||||
"g0": 0.0,
|
||||
"m0": 7.3,
|
||||
"psi0": -0.65,
|
||||
"D0": 1.0,
|
||||
"n": 4.0
|
||||
},
|
||||
"par_photo": {
|
||||
"alpha": 0.24,
|
||||
"Kc25": 404.9,
|
||||
"Ko25": 278.4,
|
||||
"Tx25": 42.75,
|
||||
"ds": 0.635,
|
||||
"dHd": 200.0,
|
||||
"RespT_Kc": {
|
||||
"c": 38.05,
|
||||
"deltaHa": 79.43
|
||||
},
|
||||
"RespT_Ko": {
|
||||
"c": 20.30,
|
||||
"deltaHa": 36.38
|
||||
},
|
||||
"RespT_Vcm": {
|
||||
"c": 26.35,
|
||||
"deltaHa": 65.33
|
||||
},
|
||||
"RespT_Jm": {
|
||||
"c": 17.57,
|
||||
"deltaHa": 43.54
|
||||
},
|
||||
"RespT_TPU": {
|
||||
"c": 21.46,
|
||||
"deltaHa": 53.1
|
||||
},
|
||||
"RespT_Rd": {
|
||||
"c": 18.72,
|
||||
"deltaHa": 46.39
|
||||
},
|
||||
"RespT_Tx": {
|
||||
"c": 19.02,
|
||||
"deltaHa": 37.83
|
||||
}
|
||||
},
|
||||
"par_photo_N": {
|
||||
"Vcm25_N": [
|
||||
34.02,
|
||||
-3.13
|
||||
],
|
||||
"Jm25_N": [
|
||||
78.27,
|
||||
-17.3
|
||||
],
|
||||
"Rd_N": [
|
||||
0.42,
|
||||
-0.01
|
||||
],
|
||||
"TPU25_N": [
|
||||
6.24,
|
||||
-1.92
|
||||
]
|
||||
}
|
||||
},
|
||||
"soil": {
|
||||
"soil_class": "Sandy_Loam",
|
||||
"soil_dimensions": {
|
||||
"width": 3.6,
|
||||
"length": 1.0,
|
||||
"depth": 1.2
|
||||
},
|
||||
"rhyzo_coeff": 0.75
|
||||
}
|
||||
}
|
||||
|
||||
|
7
hydroshoot/example/gdc_can1_grapevine/psi_soil.input
Normal file
|
@ -0,0 +1,7 @@
|
|||
time;psi
|
||||
2012-07-20;-0.17
|
||||
2012-07-27;-0.13
|
||||
2012-08-01;-0.19
|
||||
2012-08-02;-0.38
|
||||
2012-08-03;-0.61
|
||||
2012-08-09;-0.19
|
4091
hydroshoot/example/gdc_can1_grapevine/sapflow.obs
Normal file
38
hydroshoot/example/gdc_can1_grapevine/sim.py
Normal file
|
@ -0,0 +1,38 @@
|
|||
from pathlib import Path
|
||||
|
||||
from openalea.mtg import traversal
|
||||
from openalea.plantgl.all import Scene
|
||||
|
||||
from hydroshoot import architecture, display, model
|
||||
|
||||
if __name__ == '__main__':
|
||||
path_project = Path(__file__).parent
|
||||
|
||||
# =============================================================================
|
||||
# Construct the plant mock-up
|
||||
# =============================================================================
|
||||
|
||||
g = architecture.vine_mtg(path_project / 'digit.input')
|
||||
|
||||
for v in traversal.iter_mtg2(g, g.root):
|
||||
architecture.vine_phyto_modular(g, v)
|
||||
architecture.vine_petiole(g, v, pet_ins=90., pet_ins_cv=0.,
|
||||
phyllo_angle=180)
|
||||
architecture.vine_leaf(g, v, leaf_inc=-45., leaf_inc_cv=100., lim_max=12.5,
|
||||
lim_min=5., order_lim_max=6., max_order=55,
|
||||
rand_rot_angle=90., cordon_vector=None)
|
||||
architecture.vine_mtg_properties(g, v)
|
||||
architecture.vine_mtg_geometry(g, v)
|
||||
architecture.vine_transform(g, v)
|
||||
|
||||
scene = display.visu(g, def_elmnt_color_dict=True, scene=Scene(), view_result=True)
|
||||
|
||||
# =============================================================================
|
||||
# Run HydroShoot
|
||||
# =============================================================================
|
||||
|
||||
model.run(
|
||||
g=g,
|
||||
wd=path_project,
|
||||
path_weather=path_project / 'meteo.input',
|
||||
scene=scene)
|
13
hydroshoot/example/gdc_can1_grapevine/var.obs
Normal file
|
@ -0,0 +1,13 @@
|
|||
date;psi_pd;psi_stem;psi_leaf;gs
|
||||
2012-07-20 00:00;-0.19;-1.18;-1.27;52
|
||||
2012-07-20 00:00;-0.16;-1.14;-1.38;107
|
||||
2012-07-27 00:00;-0.14;-1.28;-1.45;159
|
||||
2012-07-27 00:00;-0.11;-1.34;-1.41;159
|
||||
2012-08-01 00:00;-0.23;-1;-1.31;264
|
||||
2012-08-01 00:00;-0.14;-0.9;-1.34;171
|
||||
2012-08-02 00:00;-0.47;-1.39;-1.42;32
|
||||
2012-08-02 00:00;-0.29;-1.37;-1.47;26.8
|
||||
2012-08-03 00:00;-0.63;-1.35;-1.2;4.7
|
||||
2012-08-03 00:00;-0.58;-1.38;-1.54;7.4
|
||||
2012-08-09 00:00;-0.2;-1.18;-1.67;129
|
||||
2012-08-09 00:00;-0.17;-1.2;-1.6;93
|
630
hydroshoot/example/gdc_can2_grapevine/digit.input
Normal file
|
@ -0,0 +1,630 @@
|
|||
Souche;tronc;element;sarment;rameau;rang;X;Y;Z;Diam
|
||||
1;0;1;0;0;0;-2.96;0.29;11.65;6.237
|
||||
1;0;2;0;0;0;-2.41;0.64;11.95;5.89
|
||||
1;0;3;0;0;0;-0.75;1.97;14.65;4.669
|
||||
1;0;4;0;0;0;1.85;0.82;22.74;5.049
|
||||
1;0;5;0;0;0;4.65;-1.6;28.55;4.526
|
||||
1;0;6;0;0;0;6.46;-2.72;35.14;4.187
|
||||
1;0;7;0;0;0;7.82;-3.43;39.35;4.284
|
||||
1;0;8;0;0;0;9.22;-3.23;44.32;4.355
|
||||
1;0;9;0;0;0;12.13;-3.5;49.93;4.423
|
||||
1;0;10;0;0;0;13.58;-2.3;54.26;4.483
|
||||
1;0;11;0;0;0;15.44;-2.08;59.35;4.411
|
||||
1;0;12;0;0;0;17.09;-1.33;65.25;4.307
|
||||
1;0;13;0;0;0;18.96;-1;71.59;4.364
|
||||
1;0;14;0;0;0;19.28;-0.07;75.54;4.466
|
||||
1;0;15;0;0;0;18.43;0.38;80.55;4.575
|
||||
1;0;16;0;0;0;18.8;-0.68;88.07;4.028
|
||||
1;0;17;0;0;0;19.97;0.44;93.93;4.114
|
||||
1;0;18;0;0;0;22.05;-1.17;101.87;4.227
|
||||
1;0;19;0;0;0;23.45;-1.54;107.67;4.479
|
||||
1;0;20;0;0;0;25.98;-2.21;113.08;4.423
|
||||
1;0;21;0;0;0;30.27;-2.07;119.05;4.386
|
||||
1;0;22;0;0;0;34;-2.87;124.06;4.508
|
||||
1;0;23;0;0;0;34.76;-4.82;127.64;4.278
|
||||
1;0;24;0;0;0;35.36;-6.29;132;3.936
|
||||
1;0;25;0;0;0;37.16;-8.65;140.14;3.867
|
||||
1;0;26;0;0;0;38.64;-12.09;149.39;4.5303
|
||||
1;1;1;0;0;0;44.32;-9.91;155.66;3.336
|
||||
1;1;2;0;0;0;45.98;-7.92;159.11;3.305
|
||||
1;1;3;0;0;0;45.48;-5.91;161.84;2.799
|
||||
1;1;4;0;0;0;45.55;0.18;166.58;2.795
|
||||
1;1;4;0;G1;0;46.9;0.25;166.65;1.065
|
||||
1;1;4;0;G1;1;47.02;-0.6;166.36;0.856
|
||||
1;1;4;0;G1;2;49.44;-0.83;167.37;0.693
|
||||
1;1;4;0;G1;3;52.36;-0.48;169.92;0.552
|
||||
1;1;4;0;G1;4;54.93;0.1;173.57;0.451
|
||||
1;1;4;0;G1;5;58.08;0.21;176.53;0.458
|
||||
1;1;4;0;G1;6;59.84;1.6;179.84;0.456
|
||||
1;1;4;0;G1;7;63.05;1.69;182.66;0.436
|
||||
1;1;4;0;G1;8;65.58;2.64;185.86;0.413
|
||||
1;1;4;0;G1;9;68.16;1.69;189.48;0.406
|
||||
1;1;4;0;G1;10;70.83;1.96;192.85;0.374
|
||||
1;1;4;0;G1;11;73.9;0.92;196.26;0.352
|
||||
1;1;4;0;G1;12;76.75;1.19;198.62;0.333
|
||||
1;1;4;0;G1;13;78.77;0.37;200.55;0.315
|
||||
1;1;4;0;G1;14;82.43;0.41;203.83;0.22
|
||||
1;1;5;0;0;0;45.42;6.25;169.14;3.016
|
||||
1;1;6;0;0;0;45.09;14.28;169.32;3.197
|
||||
1;1;7;0;0;0;44.17;24.65;167.2;3.65
|
||||
1;1;8;0;0;0;45.1;32.76;164.29;4.228
|
||||
1;1;9;0;0;0;43.71;37.79;159.15;4.531
|
||||
1;1;10;0;0;0;48.03;43.29;155.46;3.631
|
||||
1;1;10.a;0;0;0;44.14;50.1;154.94;2.594
|
||||
1;1;10.a;1;0;0;42.92;50.46;154.86;2.328
|
||||
1;1;10.a;1;1;0;43.24;50.43;153.03;1.539
|
||||
1;1;10.a;1;1;1;43.92;51.06;153.15;0.77
|
||||
1;1;10.a;1;1;2;44.28;52.93;155.33;0.557
|
||||
1;1;10.a;1;1;3;44.06;56.13;160.6;0.53
|
||||
1;1;10.a;1;1;4;45.23;57.33;167.73;0.475
|
||||
1;1;10.a;1;1;5;45.43;59.44;172.92;0.419
|
||||
1;1;10.a;1;1;6;46.42;60.28;177.54;0.396
|
||||
1;1;10.a;1;1;7;47.25;62.98;181.21;0.379
|
||||
1;1;10.a;1;1;8;48.93;63.4;187.56;0.348
|
||||
1;1;10.a;1;1;9;50.9;66.78;192.71;0.333
|
||||
1;1;10.a;1;1;10;54.54;66.93;197.33;0.245
|
||||
1;1;10.a;1;2;0;41.62;52.26;153.16;1.934
|
||||
1;1;10.a;1;2;1;40.84;52.63;153.19;1.615
|
||||
1;1;10.a;1;2;2;39.46;52.85;153.92;1.34
|
||||
1;1;10.a;1;2;3;35.97;54.14;155.77;1.078
|
||||
1;1;10.a;1;2;4;31.35;57.35;158.31;1.07
|
||||
1;1;10.a;1;2;5;25.12;63.86;159.78;1.021
|
||||
1;1;10.a;1;2;6;16.52;72.81;159.96;0.925
|
||||
1;1;10.a;1;2;7;9.47;83.82;157.22;0.832
|
||||
1;1;10.a;1;2;8;4.1;93.07;156.24;0.768
|
||||
1;1;10.a;1;2;9;-0.78;104.34;151.78;0.744
|
||||
1;1;10.a;1;2;10;-5.2;112.55;148.64;0.756
|
||||
1;1;10.a;1;2;11;-7.36;119.33;141.59;0.646
|
||||
1;1;10.a;1;2;12;-10.96;127.69;134.18;0.619
|
||||
1;1;10.a;1;2;13;-12;132.43;127.46;0.558
|
||||
1;1;10.a;1;2;14;-14.24;136.55;123.67;0.592
|
||||
1;1;10.a;1;2;15;-16.11;142.32;118.04;0.507
|
||||
1;1;10.a;1;2;16;-19.46;147.38;115.26;0.485
|
||||
1;1;10.a;1;2.4_1;1;32.09;58.17;161.3;0.27
|
||||
1;1;10.a;1;2.4_1;2;30.68;65.85;158.08;0.159
|
||||
1;1;10.a;1;2.5_1;1;15.8;75;164.3;0.271
|
||||
1;1;10.a;1;2.5_1;2;13.29;73.77;166.35;0.225
|
||||
1;1;10.a;1;2.6_1;1;15.6;74.83;164.25;0.268
|
||||
1;1;10.a;1;2.6_1;2;13.01;74.08;166.47;0.21
|
||||
1;1;10.a;1;2.8_1;1;4.66;94.27;162.66;0.342
|
||||
1;1;10.a;1;2.10_1;1;-4.5;113.59;152.64;0.231
|
||||
1;1;10.a;1;2.10_1;2;-4.94;112.88;154.53;0.168
|
||||
1;1;11;0;0;0;51.46;45.21;155.15;3.748
|
||||
1;1;12;0;0;0;56.24;45.29;152.77;4.524
|
||||
1;1;12.a;0;0;0;55.16;56.2;148.66;3.707
|
||||
1;1;12.a;1;0;0;54.05;57.37;150.71;2.48
|
||||
1;1;12.a;1;G1;0;53.02;57.64;152.2;0.875
|
||||
1;1;12.a;1;G1;1;52.85;59.46;154.43;0.578
|
||||
1;1;12.a;1;G1;2;53.11;61.29;157.88;0.532
|
||||
1;1;12.a;1;G1;3;54.32;63.78;163.11;0.539
|
||||
1;1;12.a;1;G1;4;56.97;67.46;168.45;0.511
|
||||
1;1;12.a;1;G1;5;60.87;70.22;173.17;0.39
|
||||
1;1;12.a;1;G1;6;64.03;70.33;174.42;0.348
|
||||
1;1;12.a;1;G1;7;68.25;71.71;174.99;0.298
|
||||
1;1;12.a;1;1m;0;52.94;55.05;154.25;1.535
|
||||
1;1;12.a;1;1m;1;53.34;54.9;154.85;1.42
|
||||
1;1;12.a;1;1m;2;53.29;54.91;157.17;0.98
|
||||
1;1;12.a;1;1m;3;53.62;54.85;160.27;0.909
|
||||
1;1;12.a;1;1m;4;53.13;55.96;167.17;0.82
|
||||
1;1;12.a;1;1m;5;53.43;56.59;176.47;0.77
|
||||
1;1;12.a;1;1m;6;51.61;59.33;184.77;0.651
|
||||
1;1;12.a;1;1m;7;48.87;59.89;190.12;0.57
|
||||
1;1;12.a;1;1m;8;45.33;63.19;193.48;0.562
|
||||
1;1;12.a;1;1m;9;41.87;65.58;197.63;0.489
|
||||
1;1;12.a;1;1m;10;38.88;68.35;200.21;0.517
|
||||
1;1;12.a;1;1m;11;34.95;69.18;203.34;0.526
|
||||
1;1;12.a;1;1m;12;30.3;71.48;205.95;0.462
|
||||
1;1;12.a;1;1m;13;26.03;72.51;208.26;0.474
|
||||
1;1;12.a;1;1m;14;22.01;74.25;209.46;0.44
|
||||
1;1;12.a;1;1m;15;15.73;74.98;211.34;0.395
|
||||
1;1;12.a;1;1m;16;12.4;77.05;211.1;0.391
|
||||
1;1;12.a;1;1m;17;8.27;77.4;211.13;0.417
|
||||
1;1;12.a;1;2m;0;53.83;54.11;153.88;0.917
|
||||
1;1;12.a;1;2m;1;53.39;51.8;154.82;0.664
|
||||
1;1;12.a;1;2m;2;51.78;46.83;156.89;0.633
|
||||
1;1;12.a;1;2m;3;51.52;40.53;158.71;0.588
|
||||
1;1;12.a;1;2m;4;51.03;33.06;160.35;0.451
|
||||
1;1;12.a;1;2m;5;51.49;28;161.14;0.409
|
||||
1;1;12.a;1;2m;6;51.77;25.3;161;0.354
|
||||
1;1;12.a;1;2m;7;50.89;20.53;163.55;0.374
|
||||
1;1;12.a;1;2m;8;50.79;16.05;166.3;0.324
|
||||
1;1;12.a;1;2m;9;49.19;13.74;169.55;0.29
|
||||
1;1;12.a;1;3;0;52.65;47.09;156.97;1.391
|
||||
1;1;12.a;1;3;1;54.98;47.18;157.31;1.084
|
||||
1;1;12.a;1;3;2;59.02;46.59;158.99;0.879
|
||||
1;1;12.a;1;3;3;65.28;45.73;162.01;0.882
|
||||
1;1;12.a;1;3;4;73.66;41.98;165.42;0.901
|
||||
1;1;12.a;1;3;5;83.7;36.53;169.91;0.83
|
||||
1;1;12.a;1;3;6;93.31;29.37;171.8;0.922
|
||||
1;1;12.a;1;3;7;102.12;24.75;174.31;0.696
|
||||
1;1;12.a;1;3;8;108.51;19.45;175.03;0.742
|
||||
1;1;12.a;1;3;9;115.29;15.91;176.3;0.67
|
||||
1;1;12.a;1;3;10;123.16;11.09;175.95;0.618
|
||||
1;1;12.a;1;3;11;128.11;7.09;176.96;0.574
|
||||
1;1;12.a;1;3;12;132.83;3.98;176.57;0.56
|
||||
1;1;12.a;1;3;13;139.31;-1.33;177.14;0.542
|
||||
1;1;12.a;1;3;14;144.85;-7.05;176.26;0.538
|
||||
1;1;12.a;1;3;15;150.68;-10.53;175.15;0.509
|
||||
1;1;12.a;1;3;16;157.47;-18.45;172.6;0.493
|
||||
1;1;12.a;1;3;17;163.9;-23.66;170.9;0.476
|
||||
1;1;12.a;1;3;18;168.96;-29.21;168.34;0.422
|
||||
1;1;12.a;1;3;19;175.71;-35.81;168.24;0.372
|
||||
1;1;12.a;1;3;20;178.77;-41.93;169.34;0.418
|
||||
1;1;12.a;1;3.4_1;1;72.79;39.25;166.27;0.406
|
||||
1;1;12.a;1;3.4_1;2;71.44;37.66;169.77;0.298
|
||||
1;1;12.a;1;3.4_1;3;70.72;40.51;174.42;0.252
|
||||
1;1;12.a;1;3.6_1;1;92.74;25.8;172.37;0.432
|
||||
1;1;12.a;1;3.6_1;2;91.97;22.6;175.25;0.295
|
||||
1;1;12.a;1;3.6_1;3;93;18.74;179.21;0.227
|
||||
1;1;12.a;1;3.7_1;1;101.89;25.86;179.51;0.376
|
||||
1;1;12.a;1;3.7_1;2;102.41;26.55;184.6;0.329
|
||||
1;1;12.a;1;3.7_1;3;103.31;27.11;190.22;0.25
|
||||
1;1;13;0;0;0;58.28;40.63;153.55;3.552
|
||||
1;1;14;0;0;0;62.94;41.87;151.52;4.649
|
||||
1;1;14.a;0;0;0;62.44;41.56;155.53;2.342
|
||||
1;1;14.a;1;0;0;62.95;43.21;156.24;2.162
|
||||
1;1;14.a;1;1;0;63.28;46.76;156.58;1.557
|
||||
1;1;14.a;1;1;1;62.63;48.28;156.1;1.492
|
||||
1;1;14.a;1;1;2;62.18;51.28;157.58;1.285
|
||||
1;1;14.a;1;1;3;62.7;54.84;158.21;1.091
|
||||
1;1;14.a;1;1;4;66.21;61.71;158.36;1.011
|
||||
1;1;14.a;1;1;5;70.35;69.98;159.08;0.995
|
||||
1;1;14.a;1;1;6;77.53;81.62;154.57;0.832
|
||||
1;1;14.a;1;1;7;83.9;90.1;148.4;0.778
|
||||
1;1;14.a;1;1;8;88.34;96.32;141.96;0.749
|
||||
1;1;14.a;1;1;9;96.6;102.49;133.99;0.679
|
||||
1;1;14.a;1;1;10;101.98;109.45;128.13;0.684
|
||||
1;1;14.a;1;1;11;111.31;114.61;119.36;0.643
|
||||
1;1;15;0;0;0;66.04;42.76;151.4;3.206
|
||||
1;1;15.a;0;0;0;70.27;44.71;149.78;2.234
|
||||
1;1;15.a;1;0;0;66.72;44.44;147.09;1.638
|
||||
1;1;15.a;1;1;0;66.48;44.73;147.93;1.386
|
||||
1;1;15.a;1;1;1;65.89;43.88;148.43;0.888
|
||||
1;1;15.a;1;1;2;63.8;42.9;147.71;0.656
|
||||
1;1;15.a;1;1;3;59.78;42.81;147.8;0.621
|
||||
1;1;15.a;1;1;4;51.82;41.54;148.7;0.532
|
||||
1;1;15.a;1;1;5;45.4;40.42;152.27;0.453
|
||||
1;1;15.a;1;1;6;35.78;42.11;155.68;0.42
|
||||
1;1;15.a;1;1;7;33.26;34.8;148.72;0.315
|
||||
1;1;15.a;1;2;0;65.71;48.3;149.83;1.593
|
||||
1;1;15.a;1;2;1;65.89;49.93;150.03;1.132
|
||||
1;1;15.a;1;2;2;65.86;53.4;151.4;0.941
|
||||
1;1;15.a;1;2;3;65.15;58.86;152.67;1.003
|
||||
1;1;15.a;1;2;4;66.68;67.66;155.42;0.909
|
||||
1;1;15.a;1;2;5;71.43;79.63;157.42;0.841
|
||||
1;1;15.a;1;2;6;80.62;89.22;156.4;0.776
|
||||
1;1;15.a;1;2;7;87.54;97.55;156.02;0.737
|
||||
1;1;15.a;1;2;8;98.06;105.61;152.18;0.677
|
||||
1;1;15.a;1;2;9;106.11;112.69;148.04;0.638
|
||||
1;1;15.a;1;2;10;112.88;116.29;141.49;0.557
|
||||
1;1;15.a;1;2;11;118.05;123.79;135.61;0.529
|
||||
1;1;15.a;1;2.5_1;1;70.52;80.57;161.58;0.242
|
||||
1;1;16;0;0;0;69.59;42.86;153.13;2.428
|
||||
1;1;17;0;0;0;75.99;42.25;153.79;2.263
|
||||
1;1;18;0;0;0;84.34;40.51;155.75;2.134
|
||||
1;1;18.a;0;0;0;85.17;41.83;157.81;3.787
|
||||
1;1;18.a;1;0;0;85.47;43.56;155.77;1.928
|
||||
1;1;18.a;1;1;0;86.21;45.12;155.79;1.525
|
||||
1;1;18.a;1;1;1;87.3;45.87;155.6;1.279
|
||||
1;1;18.a;1;1;2;87.54;47.74;156.71;0.944
|
||||
1;1;18.a;1;1;3;89.5;50.53;158.74;0.899
|
||||
1;1;18.a;1;1;4;90.7;55.61;164.38;0.856
|
||||
1;1;18.a;1;1;5;94.16;62.84;170.28;0.805
|
||||
1;1;18.a;1;1;6;95.89;74.1;177.68;0.695
|
||||
1;1;18.a;1;1;7;98.37;81.14;181.14;0.659
|
||||
1;1;18.a;1;1;8;99.28;90.06;181.81;0.599
|
||||
1;1;18.a;1;1;9;101.58;99.89;180.88;0.542
|
||||
1;1;18.a;1;1;10;102.03;106.03;177.34;0.498
|
||||
1;1;18.a;1;1;11;102.65;111.44;174.56;0.5
|
||||
1;1;18.a;1;1;12;102.64;116.76;171.68;0.495
|
||||
1;1;18.a;1;1;13;104.31;122.33;169.58;0.459
|
||||
1;1;18.a;1;1;14;105.35;127.07;167.79;0.483
|
||||
1;1;18.a;1;1;15;109.72;131.79;165.07;0.412
|
||||
1;1;18.a;1;1;16;114.09;135.33;162.95;0.387
|
||||
1;1;18.a;1;1;17;116.59;138.59;160.7;0.35
|
||||
1;1;18.a;1;1;18;119.03;143.51;158.14;0.336
|
||||
1;1;18.a;1;1.6_1;1;93.18;74.71;179.39;0.449
|
||||
1;1;18.a;1;1.6_1;2;90.47;76.42;184.03;0.406
|
||||
1;1;18.a;1;1.6_1;3;86.72;76.07;191.05;0.433
|
||||
1;1;18.a;1;1.6_1;4;85.32;76.84;195.69;0.428
|
||||
1;1;18.a;1;1.6_1;5;83.63;76.69;199.37;0.4
|
||||
1;1;18.a;1;1.6_1;6;82.92;77.59;203.56;0.367
|
||||
1;1;18.a;1;1.6_1;7;81.56;77.34;206.99;0.353
|
||||
1;1;18.a;1;1.6_1;8;81.15;78.97;210.33;0.274
|
||||
1;1;18.a;1;1.6_1;9;80.2;78.07;214.21;0.253
|
||||
1;1;18.a;1;1.6_1;10;78.86;75.09;215.39;0.195
|
||||
1;1;18.a;1;1.6_1.4_1;1;88.63;79.34;200.12;0.179
|
||||
1;1;18.a;1;1.6_1.6_1;1;84.38;78.76;207.95;0.167
|
||||
1;1;18.a;1;1.6_1.7_1;1;80.18;75.18;208.62;0.159
|
||||
1;1;18.a;1;2;0;88.82;44.97;155.6;1.476
|
||||
1;1;18.a;1;2;1;90.31;44.55;155.98;1.065
|
||||
1;1;18.a;1;2;2;92.34;43.89;158.08;0.957
|
||||
1;1;18.a;1;2;3;96.71;42.35;161.93;0.86
|
||||
1;1;18.a;1;2;4;101.74;38.61;166.99;0.837
|
||||
1;1;18.a;1;2;5;108.67;34.4;172.89;0.77
|
||||
1;1;18.a;1;2;6;118.21;24.19;179.05;0.702
|
||||
1;1;18.a;1;2;7;126.98;17.36;181.84;0.635
|
||||
1;1;18.a;1;2;8;130.79;11.15;181.92;0.629
|
||||
1;1;18.a;1;2;9;138.28;4.86;180.81;0.615
|
||||
1;1;18.a;1;2;10;141.41;-0.84;180;0.615
|
||||
1;1;18.a;1;2;11;146.45;-4;179.1;0.56
|
||||
1;1;18.a;1;2;12;152.12;-10.07;180.01;0.597
|
||||
1;1;18.a;1;2;13;157.23;-13.32;180.24;0.487
|
||||
1;1;18.a;1;2;14;162.06;-17.5;181.34;0.529
|
||||
1;1;18.a;1;2;15;167.94;-22.67;181.98;0.47
|
||||
1;1;18.a;1;2;16;171.57;-28.47;183.12;0.402
|
||||
1;1;18.a;1;2;17;175.58;-32.33;183.93;0.325
|
||||
1;1;18.a;1;2.6_1;1;117.33;23.88;182.04;0.29
|
||||
1;1;19;0;0;0;95.92;35.45;155.89;1.62
|
||||
1;1;19.a;0;0;0;98.88;36.52;151.8;2.243
|
||||
1;1;19.a;1;0;0;100.61;38.56;154.63;2.232
|
||||
1;1;19.a;1;1;0;101.89;38.69;156.78;1.621
|
||||
1;1;19.a;1;1;1;102.63;39.93;156.95;1.323
|
||||
1;1;19.a;1;1;2;104.38;40.62;158.25;1.072
|
||||
1;1;19.a;1;1;3;107.79;41.41;162.26;0.987
|
||||
1;1;19.a;1;1;4;114.33;41.01;167.74;0.973
|
||||
1;1;19.a;1;1;5;124.26;39.39;174.22;0.894
|
||||
1;1;19.a;1;1;6;135.59;36.16;180.9;0.787
|
||||
1;1;19.a;1;1;7;144.75;34.57;187.94;0.783
|
||||
1;1;19.a;1;1;8;154.95;28.6;196.39;0.723
|
||||
1;1;19.a;1;1;9;162.15;23.86;205.62;0.69
|
||||
1;1;19.a;1;1;10;167.39;16.66;210.47;0.706
|
||||
1;1;19.a;1;1;11;174.39;7.79;215.58;0.697
|
||||
1;1;19.a;1;1;12;178.74;0.42;215.8;0.726
|
||||
1;1;19.a;1;1;13;183.1;-5.95;216.05;0.699
|
||||
1;1;19.a;1;1;14;188.03;-12.81;214.88;0.699
|
||||
1;1;19.a;1;1;15;193.94;-17.97;213.17;0.669
|
||||
1;1;19.a;1;1;16;196.96;-22.05;208.81;0.615
|
||||
1;1;19.a;1;1;17;203.17;-26.9;206.19;0.601
|
||||
1;1;19.a;1;1;18;206.34;-31.12;201.6;0.563
|
||||
1;1;19.a;1;1;19;210.44;-33.12;199.8;0.515
|
||||
1;1;19.a;1;1;20;216.4;-37.72;195.34;0.559
|
||||
1;1;19.a;1;1;21;219.02;-40.62;194.99;0.478
|
||||
1;1;19.a;1;1;22;222.47;-44.72;194;0.468
|
||||
1;1;19.a;1;1;23;226.97;-50.33;195.48;0.453
|
||||
1;1;19.a;1;1;24;229.62;-55.28;197.92;0.425
|
||||
1;1;19.a;1;1;25;234.12;-58.81;202.77;0.389
|
||||
1;1;19.a;1;1;26;236.32;-62.58;208.62;0.381
|
||||
1;1;19.a;1;1;27;240.57;-63.51;213.65;0.328
|
||||
1;1;19.a;1;1.4_1;1;115.24;38.72;167.52;0.441
|
||||
1;1;19.a;1;1.4_1;2;114.62;33.89;166.93;0.299
|
||||
1;1;19.a;1;1.4_1;3;110.92;29.48;163.88;0.237
|
||||
1;1;19.a;1;1.5_1;1;123.79;35.04;177.76;0.274
|
||||
1;1;19.a;1;1.6_1;1;134.12;34.12;182.33;0.286
|
||||
1;1;19.a;1;1.6_1;2;131.36;33.33;185.57;0.186
|
||||
1;1;19.a;1;1.8_1;1;141.92;35.7;193.28;0.277
|
||||
1;1;19.a;1;1.8_1;2;139.47;35.79;196.66;0.252
|
||||
1;1;19.a;1;1.10_1;1;160.08;24.62;206.46;0.11
|
||||
1;1;19.a;1;1.10_1;2;158.81;24.04;207.99;0.09
|
||||
1;1;19.a;1;1.11_1;1;166.21;17.01;211.26;0.166
|
||||
1;1;19.a;1;1.12_1;1;174.08;7.43;217.08;0.173
|
||||
1;1;19.a;1;1.16_1;1;195.68;-19.01;215.88;0.455
|
||||
1;1;19.a;1;1.16_1;2;196.21;-19.29;218.21;0.253
|
||||
1;1;19.a;1;1.16_1;3;196.33;-21.06;222.81;0.17
|
||||
1;1;19.a;1;1.16_1;4;195.85;-20.98;225.7;0.162
|
||||
1;1;19.a;1;1.16_1;5;196.26;-20.64;226.88;0.106
|
||||
1;2;1;0;0;0;40.49;-25.05;151.73;4.01
|
||||
1;2;2;0;0;0;40.31;-28.94;153.87;3.029
|
||||
1;2;2;0;G1;0;38.5;-30.6;153.98;0.953
|
||||
1;2;2;0;G1;1;38.21;-31.22;154.02;0.917
|
||||
1;2;2;0;G1;2;36.88;-31.72;154.63;0.54
|
||||
1;2;2;0;G1;3;34.48;-34.87;157.1;0.501
|
||||
1;2;2;0;G1;4;35.58;-34.55;161.2;0.448
|
||||
1;2;2;0;G1;5;35.09;-36.11;164.24;0.445
|
||||
1;2;2;0;G1;6;35.64;-36.21;167.64;0.429
|
||||
1;2;2;0;G1;7;36.26;-36.75;172.54;0.386
|
||||
1;2;2;0;G1;8;36.5;-36.74;177.45;0.351
|
||||
1;2;2;0;G1;9;36.27;-38.18;181.18;0.334
|
||||
1;2;2;0;G1;10;36.96;-38.43;185.59;0.333
|
||||
1;2;2;0;G1;11;37.68;-39.94;189.76;0.237
|
||||
1;2;3;0;0;0;42.33;-45.04;158.56;3.99
|
||||
1;2;4;0;0;0;43.72;-52.31;156.93;4.222
|
||||
1;2;5;0;0;0;44.36;-61.51;153.39;4.163
|
||||
1;2;5.a.1;0;0;0;43.29;-69.6;148.23;5.559
|
||||
1;2;5.a.1;1;0;0;45.07;-71.74;153.49;1.869
|
||||
1;2;5.a.1;1;G1m;0;44.02;-68.62;151.47;1.164
|
||||
1;2;5.a.1;1;G1m;1;43.43;-68.44;151.71;0.778
|
||||
1;2;5.a.1;1;G1m;2;41.9;-67.96;153.53;0.668
|
||||
1;2;5.a.1;1;G1m;3;37.83;-66.92;158.36;0.585
|
||||
1;2;5.a.1;1;G1m;4;33.58;-65.39;163.97;0.581
|
||||
1;2;5.a.1;1;G1m;5;27.99;-61.5;168.53;0.575
|
||||
1;2;5.a.1;1;G1m;6;23.82;-59.98;172.65;0.561
|
||||
1;2;5.a.1;1;G1m;7;19.56;-54.92;176.21;0.515
|
||||
1;2;5.a.1;1;G1m;8;15.14;-52.33;180.41;0.533
|
||||
1;2;5.a.1;1;G1m;9;12.89;-50.09;184.25;0.433
|
||||
1;2;5.a.1;1;G1m;10;11.19;-49.75;188.9;0.466
|
||||
1;2;5.a.1;1;G1m;11;11.2;-48.63;196.34;0.438
|
||||
1;2;5.a.1;1;G1m;12;9.02;-49.35;200.4;0.391
|
||||
1;2;5.a.1;1;G1m;13;6.86;-48.52;203.14;0.382
|
||||
1;2;5.a.1;1;G1m;14;5.2;-49.55;205.74;0.385
|
||||
1;2;5.a.1;1;G1m;15;3.16;-46.98;209.72;0.317
|
||||
1;2;5.a.1;1;G1m;16;-0.43;-46.21;213.08;0.305
|
||||
1;2;5.a.1;1;G1m;17;-0.44;-41.8;216.54;0.354
|
||||
1;2;5.a.1;1;G2m;0;44.3;-67.28;152.07;0.801
|
||||
1;2;5.a.1;1;G2m;1;46.37;-67.24;152.45;0.438
|
||||
1;2;5.a.1;1;G2m;2;47.37;-63.2;153.84;0.409
|
||||
1;2;5.a.1;1;G2m;3;47.95;-60.96;156.9;0.337
|
||||
1;2;5.a.1;1;G2m;4;48.47;-60.07;160.36;0.304
|
||||
1;2;5.a.1;1;G2m;5;47.85;-58.81;161.73;0.308
|
||||
1;2;5.a.1;1;G2m;6;47.8;-59.6;165.35;0.245
|
||||
1;2;5.a.1;1;1;0;43.19;-70.77;154.61;1.706
|
||||
1;2;5.a.1;1;1;1;43.76;-71.76;155.21;1.711
|
||||
1;2;5.a.1;1;1;2;41.36;-73.32;157.04;1.534
|
||||
1;2;5.a.1;1;1;3;38.95;-76.05;160.73;0.971
|
||||
1;2;5.a.1;1;1;4;35.83;-79.86;164.07;0.964
|
||||
1;2;5.a.1;1;1;5;31.33;-84.84;169.19;0.931
|
||||
1;2;5.a.1;1;1;6;23.46;-95.57;172.79;0.806
|
||||
1;2;5.a.1;1;1;7;13.91;-103.28;174.18;0.738
|
||||
1;2;5.a.1;1;1;8;8.14;-111.73;172.04;0.672
|
||||
1;2;5.a.1;1;1;9;0.07;-121.77;167.64;0.616
|
||||
1;2;5.a.1;1;1;10;-2.74;-127.14;160.99;0.586
|
||||
1;2;5.a.1;1;1;11;-8.51;-131.75;155.4;0.578
|
||||
1;2;5.a.1;1;1;12;-11.21;-136.77;150.42;0.559
|
||||
1;2;5.a.1;1;1;13;-14.43;-139.29;145.18;0.566
|
||||
1;2;5.a.1;1;1;14;-19.23;-144.94;139.87;0.573
|
||||
1;2;5.a.1;1;1;15;-24.11;-145.81;135.17;0.486
|
||||
1;2;5.a.1;1;1;16;-29.11;-149.08;131.57;0.46
|
||||
1;2;5.a.1;1;1;17;-33.39;-149.91;125.89;0.414
|
||||
1;2;5.a.1;1;1.4_1;1;37.84;-81.48;166.18;0.258
|
||||
1;2;5.a.1;1;1.4_1;2;38.03;-80.9;169.56;0.152
|
||||
1;2;5.a.1;1;1.5_1;1;32.83;-82.19;173.4;0.345
|
||||
1;2;5.a.1;1;1.5_1;2;33.75;-81.57;177.11;0.255
|
||||
1;2;5.a.1;1;1.5_1;3;34.84;-80.36;180.54;0.227
|
||||
1;2;5.a.1;1;1.7_1;1;12.52;-106.67;179.53;0.306
|
||||
1;2;5.a.1;1;1.9_1;1;-0.49;-119.69;170.93;0.25
|
||||
1;2;5.a.1;1;1.10_1;1;-3.87;-126.5;162.29;0.113
|
||||
1;2;5.a.1;1;1.12_1;1;-8.62;-131.91;155.71;0.146
|
||||
1;2;5.a.1;1;1.12_1;2;-8.91;-132.74;156.7;0.117
|
||||
1;2;5.b.1;0;0;0;35.2;-60.49;151.04;4.539
|
||||
1;2;5.b.2;0;0;0;27.17;-64.68;148.97;2.444
|
||||
1;2;5.b.2;1;0;0;25.29;-65.75;150.32;1.51
|
||||
1;2;5.b.2;1;1;0;25.48;-67.77;151.99;1.266
|
||||
1;2;5.b.2;1;1;1;26.06;-68.05;153.42;1.568
|
||||
1;2;5.b.2;1;1;2;26.08;-67.81;154.51;1.147
|
||||
1;2;5.b.2;1;1;3;25.47;-69.96;157.27;0.996
|
||||
1;2;5.b.2;1;1;4;24.48;-73.55;162.29;0.96
|
||||
1;2;5.b.2;1;1;5;23.2;-78.04;167.06;0.924
|
||||
1;2;5.b.2;1;1;6;20.12;-88.2;173.45;0.79
|
||||
1;2;5.b.2;1;1;7;17.5;-96.76;178.33;0.798
|
||||
1;2;5.b.2;1;1;8;18.58;-105.9;181.59;0.835
|
||||
1;2;5.b.2;1;1;9;16.67;-119.61;182.81;0.83
|
||||
1;2;5.b.2;1;1;10;15.78;-128.33;181.24;0.684
|
||||
1;2;5.b.2;1;1;11;13.01;-133.81;178.59;0.638
|
||||
1;2;5.b.2;1;1;12;10.5;-140.08;175.66;0.612
|
||||
1;2;5.b.2;1;1;13;7.66;-145.17;173.32;0.611
|
||||
1;2;5.b.2;1;1;14;5.68;-151.17;170.96;0.614
|
||||
1;2;5.b.2;1;1;15;3.67;-156.08;170.28;0.56
|
||||
1;2;5.b.2;1;1;16;0.49;-162.88;168.89;0.509
|
||||
1;2;5.b.2;1;1;17;-2.02;-168.02;169.61;0.523
|
||||
1;2;5.b.2;1;1;18;-0.64;-175.34;167.86;0.422
|
||||
1;2;5.b.2;1;1.4_1;1;23.55;-72.04;163.3;0.207
|
||||
1;2;5.b.2;1;1.5_1;1;20.16;-79.18;166.23;0.226
|
||||
1;2;5.b.2;1;1.5_1;2;20.16;-79.29;170.95;0.198
|
||||
1;2;5.b.2;1;1.7_1;1;17.03;-94.18;178.11;0.212
|
||||
1;2;5.b.2;1;1.14_1;1;6.51;-152.41;173.37;0.143
|
||||
1;2;5.b.2;1;1.16_1;1;2.45;-164.3;171.14;0.156
|
||||
1;2;5.b.2;1;1.17_1;1;-5.82;-164.32;172.57;0.156
|
||||
1;2;6rl;0;0;0;29.3;-58.98;152.81;3.246
|
||||
1;2;7;0;0;0;23.77;-58.66;152.05;3.128
|
||||
1;2;8;0;0;0;14.08;-59.74;148.21;3.117
|
||||
1;2;8.a.1;0;0;0;10.08;-62.22;147.61;4.162
|
||||
1;2;8.a.1;0;G1;0;12.88;-62.13;145.68;1.503
|
||||
1;2;8.a.1;0;G1;1;11.97;-62.44;145.3;1.338
|
||||
1;2;8.a.1;0;G1;2;10.57;-63.23;144.57;0.991
|
||||
1;2;8.a.1;0;G1;3;5.79;-65.76;142.05;0.713
|
||||
1;2;8.a.1;0;G1;4;0.97;-70.34;138.56;0.787
|
||||
1;2;8.a.1;0;G1;5;-5.13;-75.3;135.18;0.742
|
||||
1;2;8.a.1;0;G1;6;-10.34;-82.41;129.66;0.703
|
||||
1;2;8.a.1;0;G1;7;-18.06;-88.99;123.22;0.651
|
||||
1;2;8.a.1;0;G1;8;-23.15;-95.7;115.68;0.637
|
||||
1;2;8.a.1;0;G1;9;-28.51;-99.07;109.19;0.532
|
||||
1;2;8.a.1;0;G1;10;-32.4;-101.67;104.16;0.519
|
||||
1;2;8.a.1;0;G1;11;-36.21;-102.91;97.44;0.434
|
||||
1;2;8.a.1;0;G1;12;-39.8;-103.08;91.13;0.458
|
||||
1;2;8.a.1;0;G1;13;-44.82;-102.22;87.11;0.4
|
||||
1;2;8.a.1;0;G1.7_1;1;-18.25;-89.94;124.3;0.156
|
||||
1;2;8.a.1;0;G1.7_1;2;-18.9;-90.53;125.72;0.087
|
||||
1;2;8.a.1;0;G1.7_1;3;-22.98;-90.6;121.95;0.073
|
||||
1;2;8.a.1;0;G1.9_1;1;-35.81;-96.91;98.49;0.12
|
||||
1;2;8.a.1;0;G2;0;11.34;-60.2;150.01;1.063
|
||||
1;2;8.a.1;0;G2;1;10.86;-59;150.91;0.88
|
||||
1;2;8.a.1;0;G2;2;10.51;-57.57;152.97;0.696
|
||||
1;2;8.a.1;0;G2;3;10.04;-57.57;157.01;0.663
|
||||
1;2;8.a.1;0;G2;4;9.07;-56.36;162.01;0.622
|
||||
1;2;8.a.1;0;G2;5;6.74;-56.05;168.27;0.613
|
||||
1;2;8.a.1;0;G2;6;5.5;-52.1;176.76;0.547
|
||||
1;2;8.a.1;0;G2;7;2.66;-49.9;182.93;0.47
|
||||
1;2;8.a.1;0;G2;8;0.97;-45.49;187.86;0.454
|
||||
1;2;8.a.1;0;G2;9;-2.88;-40.5;192.01;0.435
|
||||
1;2;8.a.1;0;G2;10;-4.4;-36.84;193.22;0.456
|
||||
1;2;8.a.1;0;G2;11;-6.68;-32.56;195.55;0.47
|
||||
1;2;8.a.1;0;G2;12;-8.42;-27.52;195.39;0.378
|
||||
1;2;8.a.1;0;G2;13;-9.25;-24.19;197.42;0.403
|
||||
1;2;8.a.1;0;G2;14;-8.54;-20.56;197.51;0.304
|
||||
1;2;8.a.1;0;G2;15;-6.07;-18.49;200.95;0.276
|
||||
1;2;8.a.1;0;G2;16;-4.55;-15.71;203.24;0.313
|
||||
1;2;8.a.1;0;G2;17;-1.72;-16.53;204.43;0.31
|
||||
1;2;8.a.1;0;G2.8_1;1;3.5;-51.85;185.14;0.14
|
||||
1;2;8.a.2;0;0;0;7.34;-59.83;144.05;1.991
|
||||
1;2;8.a.2;0;G1;0;7.91;-59.1;146.64;1.384
|
||||
1;2;8.a.2;0;G1;1;7.4;-57.42;146.66;1.097
|
||||
1;2;8.a.2;0;G1;2;7.84;-55.89;148.23;0.714
|
||||
1;2;8.a.2;0;G1;3;7.99;-52.72;149.63;0.672
|
||||
1;2;8.a.2;0;G1;4;7.63;-48.34;150.77;0.639
|
||||
1;2;8.a.2;0;G1;5;6;-43.02;151.53;0.678
|
||||
1;2;8.a.2;0;G1;6;2.71;-34.38;153.87;0.618
|
||||
1;2;8.a.2;0;G1;7;2.68;-28.8;156.71;0.518
|
||||
1;2;8.a.2;0;G1;8;0.32;-22.42;158.08;0.483
|
||||
1;2;8.a.2;0;G1;9;-4.11;-16.75;163.11;0.409
|
||||
1;2;8.a.2;0;G1;10;-4.91;-15.21;164.06;0.481
|
||||
1;2;8.a.2;0;G1.4_1;1;4.88;-48.49;149.63;0.179
|
||||
1;2;8.a.2;1;0;0;7.23;-61.96;142.95;1.971
|
||||
1;2;8.a.2;1;1;0;6.76;-61.53;143.69;1.205
|
||||
1;2;8.a.2;1;1;1;6.42;-62.51;143.23;1.213
|
||||
1;2;8.a.2;1;1;2;4.56;-63.72;143.6;0.906
|
||||
1;2;8.a.2;1;1;3;1.36;-65.59;147.2;0.77
|
||||
1;2;8.a.2;1;1;4;-0.54;-70.69;149.21;0.697
|
||||
1;2;8.a.2;1;1;5;-6.09;-74.51;155.14;0.73
|
||||
1;2;8.a.2;1;1;6;-11.51;-84.81;160.54;0.758
|
||||
1;2;8.a.2;1;1;7;-15.18;-91.81;164.63;0.596
|
||||
1;2;8.a.2;1;1;8;-19.88;-96.23;162.99;0.562
|
||||
1;2;8.a.2;1;1;9;-24.46;-103.37;161.33;0.529
|
||||
1;2;8.a.2;1;1;10;-27.85;-106.99;163.35;0.476
|
||||
1;2;8.a.2;1;1;11;-29.52;-111.21;161.67;0.498
|
||||
1;2;8.a.2;1;1;12;-34.47;-114.15;161.99;0.447
|
||||
1;2;8.a.2;1;1.11_1;1;-30.41;-105.16;164.8;0.17
|
||||
1;2;8.a.2;1;2;0;4.66;-60.88;140.68;1.264
|
||||
1;2;8.a.2;1;2;1;4.14;-61.4;140.96;1.314
|
||||
1;2;8.a.2;1;2;2;2.05;-59.61;139.98;0.99
|
||||
1;2;8.a.2;1;2;3;-1.34;-57.69;139.6;0.908
|
||||
1;2;8.a.2;1;2;4;-7.03;-54.68;137.86;0.844
|
||||
1;2;8.a.2;1;2;5;-14.33;-52.35;135.24;0.827
|
||||
1;2;8.a.2;1;2;6;-22.6;-48.46;130.19;0.732
|
||||
1;2;8.a.2;1;2;7;-32.17;-45.57;123.22;0.614
|
||||
1;2;8.a.2;1;2;8;-40.02;-40.14;116.99;0.591
|
||||
1;2;8.a.2;1;2;9;-39.81;-41.49;115.93;0.735
|
||||
1;2;8.a.2;1;2;10;-50.31;-39.04;108.22;0.462
|
||||
1;2;8.a.2;1;2;11;-56.11;-39.77;102.56;0.381
|
||||
1;2;8.a.2;1;2.4_1;1;-7.47;-53.17;138.64;0.225
|
||||
1;2;8.a.2;1;2.4_1;2;-6.69;-52.32;137.9;0.122
|
||||
1;2;8.a.2;1;2.5_1;1;-14.58;-52.02;137.53;0.198
|
||||
1;2;8.a.2;1;2.8_1;1;-40.08;-40.06;118.37;0.191
|
||||
1;2;8.a.3;0;0;0;8.05;-60.22;151.45;2.436
|
||||
1;2;9rl;0;0;0;0.72;-61.64;150.69;2.213
|
||||
1;2;9rl.a;0;0;0;-0.82;-62.7;150.79;1.725
|
||||
1;2;9rl.a;1;0;0;-4.11;-62.67;147.63;1.572
|
||||
1;2;9rl.a;1;1;0;-4.62;-64.08;146.59;1.305
|
||||
1;2;9rl.a;1;1;1;-4.95;-64.13;147.41;0.952
|
||||
1;2;9rl.a;1;1;2;-5.6;-64.27;147.82;0.91
|
||||
1;2;9rl.a;1;1;3;-6.44;-65.85;149.85;0.644
|
||||
1;2;9rl.a;1;1;4;-8.43;-68.94;153.2;0.572
|
||||
1;2;9rl.a;1;2;0;-7.47;-63.89;149.71;1.433
|
||||
1;2;9rl.a;1;2;1;-7.13;-63.96;149.86;1.407
|
||||
1;2;9rl.a;1;2;2;-7.81;-62.26;149.83;0.889
|
||||
1;2;9rl.a;1;2;3;-9.13;-60.38;148.91;1.693
|
||||
1;2;9rl.a;1;2;4;-9.07;-59.61;145.5;0.93
|
||||
1;2;9rl.a;1;2;5;-10.07;-57.51;139.74;0.829
|
||||
1;2;9rl.a;1;2;6;-12.92;-56.75;128.44;0.778
|
||||
1;2;9rl.a;1;2;7;-17.86;-56.07;116.64;0.692
|
||||
1;2;9rl.a;1;2;8;-20.41;-58.55;108.01;0.666
|
||||
1;2;9rl.a;1;2;9;-25.85;-60.3;98.44;0.605
|
||||
1;2;9rl.a;1;2;10;-28.13;-62.4;90.64;0.534
|
||||
1;2;9rl.a;1;2;11;-32.54;-62.45;85.03;0.525
|
||||
1;2;9rl.a;1;2;12;-37.51;-63.52;76.84;0.437
|
||||
1;2;9rl.a;1;2.6_1;1;-12.5;-58.08;126.35;0.108
|
||||
1;2;9rl.a;1;2.7_1;1;-19.85;-56.76;115.98;0.11
|
||||
1;2;10;0;0;0;-8.58;-63.02;151.81;2.022
|
||||
1;2;10;1;0;0;-9.68;-61.82;152.7;2.723
|
||||
1;2;10;1;G1;0;-9.33;-61.65;152.61;1.538
|
||||
1;2;10;1;G1;1;-8.52;-62.19;154.17;1.205
|
||||
1;2;10;1;G1;2;-8.35;-62.02;155.41;0.859
|
||||
1;2;10;1;G1;3;-6.87;-60.15;158.31;0.762
|
||||
1;2;10;1;G1;4;-5.97;-57;164.58;0.656
|
||||
1;2;10;1;G1;5;-5.22;-53.79;169.63;0.609
|
||||
1;2;10;1;G1;6;-3.95;-53.06;176.9;0.575
|
||||
1;2;10;1;G1;7;-3.02;-51.51;182.3;0.552
|
||||
1;2;10;1;G1;8;-1.89;-50.09;187.02;0.467
|
||||
1;2;10;1;G1;9;0.01;-48.35;191.96;0.412
|
||||
1;2;10;1;G1;10;1.91;-46.76;196.64;0.445
|
||||
1;2;10;1;G1;11;2.44;-44.58;201.13;0.475
|
||||
1;2;10;1;G1;12;5.9;-45.41;205.81;0.443
|
||||
1;2;10;1;G1;13;6.73;-44.21;210.42;0.397
|
||||
1;2;10;1;G1;14;8.08;-45.48;213.35;0.413
|
||||
1;2;10;1;G1;15;8.65;-44.43;218.49;0.372
|
||||
1;2;10;1;G1;16;12.08;-41.65;223.44;0.31
|
||||
1;2;10;1;G1.4_1;1;-7.36;-56.73;166.02;0.177
|
||||
1;2;10;1;G1.5_1;1;-6.73;-51.41;169.96;0.138
|
||||
1;2;10;1;G1.5_1;2;-7.9;-50.01;171.38;0.143
|
||||
1;2;10;1;1;0;-12.18;-59.21;153.34;1.492
|
||||
1;2;10;1;1;1;-12.46;-59.59;152.96;1.491
|
||||
1;2;10;1;1;2;-14.37;-58.05;153.4;1.164
|
||||
1;2;10;1;1;3;-16.02;-58.72;154.84;1.099
|
||||
1;2;10;1;1;4;-20.77;-56.65;157.62;1.077
|
||||
1;2;10;1;1;5;-26.82;-56.42;160.74;1.429
|
||||
1;2;10;1;1;6;-36.11;-54.46;165.67;1.431
|
||||
1;2;10;1;1;7;-47.99;-54.82;169.31;0.866
|
||||
1;2;10;1;1;8;-56.22;-51.37;173.39;0.674
|
||||
1;2;10;1;1;9;-64.33;-50.24;175.68;0.619
|
||||
1;2;10;1;1;10;-71.64;-44.73;173.19;0.586
|
||||
1;2;10;1;1;11;-73.78;-41.53;167.89;0.575
|
||||
1;2;10;1;1;12;-71.4;-38.9;163.23;0.544
|
||||
1;2;10;1;1;13;-73.39;-35.95;157.71;0.543
|
||||
1;2;10;1;1;14;-74.92;-29.7;152.82;0.547
|
||||
1;2;10;1;1;15;-79.26;-27.27;149.61;0.506
|
||||
1;2;10;1;1;16;-82.69;-23.43;146.94;0.496
|
||||
1;2;10;1;1;17;-89.52;-19.73;143.94;0.516
|
||||
1;2;10;1;1;18;-93.88;-15.83;143.13;0.56
|
||||
1;2;10;1;1;19;-99.17;-14.8;140.12;0.477
|
||||
1;2;10;1;1;20;-106.21;-10.63;138.52;0.423
|
||||
1;2;10;1;1;21;-113.34;-8.71;136.61;0.482
|
||||
1;2;10;1;1;22;-120.1;-6.54;134.67;0.445
|
||||
1;2;10;1;1;23;-131.38;-0.77;130.84;0.417
|
||||
1;2;10;1;1;24;-139.17;2.6;129.81;0.358
|
||||
1;2;10;1;1;25;-147.95;6.51;126.85;0.344
|
||||
1;2;10;1;1;26;-158.65;8.91;126.2;0.328
|
||||
1;2;10;1;1;27;-166.49;8.89;125.93;0.303
|
||||
1;2;10;1;1.5_1;1;-26.66;-57.09;162.81;0.168
|
||||
1;2;10;1;1.6_1;1;-36.16;-52.58;169.91;0.191
|
||||
1;2;10;1;1.7_1;1;-47.15;-55.27;174.08;0.396
|
||||
1;2;10;1;1.7_1;2;-45.26;-54.88;174.05;0.229
|
||||
1;2;10;1;1.7_1;3;-41.92;-55.91;174.6;0.188
|
||||
1;2;10;1;1.8_1;1;-55.04;-51.27;176.47;0.32
|
||||
1;2;10;1;1.8_1;2;-54.45;-51.1;179.93;0.221
|
||||
1;2;10;1;1.9_1;1;-65.77;-49.45;178.29;0.35
|
||||
1;2;11;0;0;0;-17.81;-66.21;148.63;1.775
|
||||
1;2;11.a;0;0;0;-22.79;-65.18;150.24;2.408
|
||||
1;2;11.a;1;0;0;-22.58;-68.39;149.1;1.461
|
||||
1;2;11.a;1;1;0;-22.55;-68.54;149.83;1.64
|
||||
1;2;11.a;1;1;1;-22.14;-69.02;149.85;1.499
|
||||
1;2;11.a;1;1;2;-20.7;-70.47;151.01;1.139
|
||||
1;2;11.a;1;1;3;-19.82;-71.74;154;1.008
|
||||
1;2;11.a;1;1;4;-18.45;-73.56;159.12;0.996
|
||||
1;2;11.a;1;1;5;-16.04;-77.54;166.04;0.936
|
||||
1;2;11.a;1;1;6;-12.09;-81.93;169.85;0.896
|
||||
1;2;11.a;1;1;7;-5.91;-88.67;177.23;0.834
|
||||
1;2;11.a;1;1;8;0.77;-96.12;180.7;0.802
|
||||
1;2;11.a;1;1;9;6.36;-103.51;184.63;0.718
|
||||
1;2;11.a;1;1;10;14.24;-112.7;185.64;0.608
|
||||
1;2;11.a;1;1;11;22.56;-120.07;188.83;0.626
|
||||
1;2;11.a;1;1;12;30.96;-128.39;182.44;0.57
|
||||
1;2;11.a;1;1;13;38.19;-132.14;180.72;0.541
|
||||
1;2;11.a;1;1;14;41.28;-135.1;177.16;0.523
|
||||
1;2;11.a;1;1;15;48.48;-138.03;176.37;0.463
|
||||
1;2;11.a;1;1;16;52.5;-141.83;172.82;0.465
|
||||
1;2;11.a;1;1;17;58.76;-144.6;174.14;0.356
|
||||
1;2;11.a;1;1.3_1;1;-22.08;-71.31;155.94;0.23
|
||||
1;2;11.a;1;1.4_1;1;-16.94;-76.46;158.11;0.385
|
||||
1;2;11.a;1;1.4_1;2;-16.43;-83.19;159.87;0.306
|
||||
1;2;11.a;1;1.4_1;3;-19.58;-86.18;162;0.274
|
||||
1;2;11.a;1;1.4_1;4;-20.77;-88.56;164.33;0.244
|
||||
1;2;11.a;1;1.4_1;5;-21.94;-91.96;168.24;0.204
|
||||
1;2;11.a;1;1.4_1;6;-20.65;-94.93;171.37;0.211
|
||||
1;2;11.a;1;1.4_1;7;-21.06;-95.12;166.03;0.139
|
||||
1;2;11.a;1;1.5_1;1;-18.3;-77.55;167.21;0.456
|
||||
1;2;11.a;1;1.5_1;2;-21.09;-76.41;171.45;0.39
|
||||
1;2;11.a;1;1.5_1;3;-24.34;-74.57;173.92;0.368
|
||||
1;2;11.a;1;1.5_1;4;-26.53;-73.61;176.64;0.391
|
||||
1;2;11.a;1;1.5_1;5;-29.39;-71.91;178.33;0.394
|
||||
1;2;11.a;1;1.5_1;6;-30.26;-70.83;184.11;0.366
|
||||
1;2;11.a;1;1.5_1;7;-33.13;-68.17;186.95;0.365
|
||||
1;2;11.a;1;1.5_1;8;-33.17;-66.83;191.12;0.329
|
||||
1;2;11.a;1;1.5_1;9;-35.98;-65.93;192.41;0.217
|
||||
1;2;11.a;1;1.6_1;1;-12.74;-86.47;170.46;0.307
|
||||
1;2;11.a;1;1.7_1;1;-6.82;-87.63;180.67;0.367
|
||||
1;2;11.a;1;1.7_1;2;-6.68;-86.61;182.98;0.266
|
||||
1;2;11.a;1;1.7_1;3;-7.1;-84.13;187.03;0.213
|
||||
1;2;11.a;1;1.7_1;4;-7.05;-82.53;188.18;0.195
|
||||
1;2;11.a;1;1.8_1;1;-0.94;-100.34;182.52;0.417
|
||||
1;2;11.a;1;1.8_1;2;-2.18;-101.75;186.03;0.367
|
||||
1;2;11.a;1;1.8_1;3;-3.88;-102.44;189.22;0.355
|
||||
1;2;11.a;1;1.8_1;4;-5.61;-102.11;192.53;0.292
|
||||
1;2;11.a;1;1.8_1;5;-8;-100.73;195.22;0.321
|
||||
1;2;11.a;1;1.9_1;1;5.69;-102.83;187.57;0.364
|
||||
1;2;11.a;1;1.9_1;2;5.65;-101.16;190.96;0.326
|
||||
1;2;11.a;1;1.9_1;3;4.79;-99.18;195.13;0.285
|
||||
1;2;11.a;1;1.11_1;1;21.82;-121.27;187.51;0.275
|
||||
1;2;11.a;1;1.13_1;1;37.54;-132.64;181.87;0.283
|
||||
1;2;11.a;1;1.13_1;2;37.33;-131;181.25;0.222
|
||||
1;2;11.a;1;1.13_1;3;34.62;-127.96;181.16;0.161
|
||||
1;2;11.a;1;1.14_1;1;39.67;-134.26;176.73;0.117
|
||||
1;2;11.a;1;1.15_1;1;46.51;-137.37;176.76;0.108
|
8332
hydroshoot/example/gdc_can2_grapevine/meteo.input
Normal file
175
hydroshoot/example/gdc_can2_grapevine/params.json
Normal file
|
@ -0,0 +1,175 @@
|
|||
{
|
||||
"simulation": {
|
||||
"sdate": "2012-08-01 00:00:00",
|
||||
"edate": "2012-08-04 23:00:00",
|
||||
"latitude": 43.61,
|
||||
"longitude": 3.87,
|
||||
"elevation": 44.0,
|
||||
"tzone": "Europe/Paris",
|
||||
"output_index": "",
|
||||
"unit_scene_length": "cm",
|
||||
"hydraulic_structure": true,
|
||||
"negligible_shoot_resistance": false,
|
||||
"energy_budget": true
|
||||
},
|
||||
"planting": {
|
||||
"spacing_between_rows": 3.6,
|
||||
"spacing_on_row": 1,
|
||||
"row_angle_with_south": 140.0
|
||||
},
|
||||
"phenology": {
|
||||
"emdate": "2012-04-01 00:00:00",
|
||||
"t_base": 10.0
|
||||
},
|
||||
"mtg_api": {
|
||||
"collar_label": "inT",
|
||||
"leaf_lbl_prefix": "L",
|
||||
"stem_lbl_prefix": [
|
||||
"in",
|
||||
"Pet",
|
||||
"cx"
|
||||
]
|
||||
},
|
||||
"numerical_resolution": {
|
||||
"max_iter": 100,
|
||||
"psi_step": 1.0,
|
||||
"psi_error_threshold": 0.05,
|
||||
"t_step": 1.0,
|
||||
"t_error_threshold": 0.02
|
||||
},
|
||||
"irradiance": {
|
||||
"E_type": "Rg_Watt/m2",
|
||||
"E_type2": "Eabs",
|
||||
"opt_prop": {
|
||||
"SW": {
|
||||
"leaf": [
|
||||
0.06,
|
||||
0.07
|
||||
],
|
||||
"stem": [
|
||||
0.13
|
||||
],
|
||||
"other": [
|
||||
0.06,
|
||||
0.07
|
||||
]
|
||||
},
|
||||
"LW": {
|
||||
"leaf": [
|
||||
0.04,
|
||||
0.07
|
||||
],
|
||||
"stem": [
|
||||
0.13
|
||||
],
|
||||
"other": [
|
||||
0.06,
|
||||
0.07
|
||||
]
|
||||
}
|
||||
},
|
||||
"turtle_format": "soc",
|
||||
"turtle_sectors": "46",
|
||||
"icosphere_level": null
|
||||
},
|
||||
"energy": {
|
||||
"solo": true,
|
||||
"t_cloud": 2.0,
|
||||
"t_sky": -20.0
|
||||
},
|
||||
"hydraulic": {
|
||||
"psi_min": -3.0,
|
||||
"Kx_dict": {
|
||||
"a": 1.6,
|
||||
"b": 2.0,
|
||||
"min_kmax": 0.000111
|
||||
},
|
||||
"par_K_vul": {
|
||||
"model": "misson",
|
||||
"fifty_cent": -0.76,
|
||||
"sig_slope": 1.0
|
||||
}
|
||||
},
|
||||
"exchange": {
|
||||
"rbt": 0.6667,
|
||||
"Na_dict": {
|
||||
"aN": -0.0008,
|
||||
"bN": 3.3,
|
||||
"aM": 6.471,
|
||||
"bM": 56.635
|
||||
},
|
||||
"par_gs": {
|
||||
"model": "misson",
|
||||
"g0": 0.0,
|
||||
"m0": 7.3,
|
||||
"psi0": -0.65,
|
||||
"D0": 1.0,
|
||||
"n": 4.0
|
||||
},
|
||||
"par_photo": {
|
||||
"alpha": 0.24,
|
||||
"Kc25": 404.9,
|
||||
"Ko25": 278.4,
|
||||
"Tx25": 42.75,
|
||||
"ds": 0.635,
|
||||
"dHd": 200.0,
|
||||
"RespT_Kc": {
|
||||
"c": 38.05,
|
||||
"deltaHa": 79.43
|
||||
},
|
||||
"RespT_Ko": {
|
||||
"c": 20.30,
|
||||
"deltaHa": 36.38
|
||||
},
|
||||
"RespT_Vcm": {
|
||||
"c": 26.35,
|
||||
"deltaHa": 65.33
|
||||
},
|
||||
"RespT_Jm": {
|
||||
"c": 17.57,
|
||||
"deltaHa": 43.54
|
||||
},
|
||||
"RespT_TPU": {
|
||||
"c": 21.46,
|
||||
"deltaHa": 53.1
|
||||
},
|
||||
"RespT_Rd": {
|
||||
"c": 18.72,
|
||||
"deltaHa": 46.39
|
||||
},
|
||||
"RespT_Tx": {
|
||||
"c": 19.02,
|
||||
"deltaHa": 37.83
|
||||
}
|
||||
},
|
||||
"par_photo_N": {
|
||||
"Vcm25_N": [
|
||||
34.02,
|
||||
-3.13
|
||||
],
|
||||
"Jm25_N": [
|
||||
78.27,
|
||||
-17.3
|
||||
],
|
||||
"Rd_N": [
|
||||
0.42,
|
||||
-0.01
|
||||
],
|
||||
"TPU25_N": [
|
||||
6.24,
|
||||
-1.92
|
||||
]
|
||||
}
|
||||
},
|
||||
"soil": {
|
||||
"soil_class": "Sandy_Loam",
|
||||
"soil_dimensions": {
|
||||
"width": 3.6,
|
||||
"length": 1.0,
|
||||
"depth": 1.2
|
||||
},
|
||||
"rhyzo_coeff": 0.75
|
||||
}
|
||||
}
|
||||
|
||||
|
7
hydroshoot/example/gdc_can2_grapevine/psi_soil.input
Normal file
|
@ -0,0 +1,7 @@
|
|||
time;psi
|
||||
2012-07-20;-0.18
|
||||
2012-07-27;-0.15
|
||||
2012-08-01;-0.23
|
||||
2012-08-02;-0.33
|
||||
2012-08-03;-0.71
|
||||
2012-08-09;-0.20
|
4091
hydroshoot/example/gdc_can2_grapevine/sapflow.obs
Normal file
39
hydroshoot/example/gdc_can2_grapevine/sim.py
Normal file
|
@ -0,0 +1,39 @@
|
|||
from pathlib import Path
|
||||
|
||||
from openalea.mtg import traversal
|
||||
from openalea.plantgl.all import Scene
|
||||
|
||||
from hydroshoot import architecture, display, model
|
||||
|
||||
if __name__ == '__main__':
|
||||
path_project = Path(__file__).parent
|
||||
|
||||
# =============================================================================
|
||||
# Construct the plant mock-up
|
||||
# =============================================================================
|
||||
|
||||
g = architecture.vine_mtg(path_project / 'digit.input')
|
||||
|
||||
for v in traversal.iter_mtg2(g, g.root):
|
||||
architecture.vine_phyto_modular(g, v)
|
||||
architecture.vine_petiole(g, v, pet_ins=90., pet_ins_cv=0.,
|
||||
phyllo_angle=180.)
|
||||
architecture.vine_leaf(g, v, leaf_inc=-45., leaf_inc_cv=100.,
|
||||
lim_max=12.0, lim_min=5., order_lim_max=6,
|
||||
max_order=55, rand_rot_angle=90.,
|
||||
cordon_vector=None)
|
||||
architecture.vine_mtg_properties(g, v)
|
||||
architecture.vine_mtg_geometry(g, v)
|
||||
architecture.vine_transform(g, v)
|
||||
|
||||
scene = display.visu(g, def_elmnt_color_dict=True, scene=Scene(), view_result=True)
|
||||
|
||||
# =============================================================================
|
||||
# Run HydroShoot
|
||||
# =============================================================================
|
||||
|
||||
model.run(
|
||||
g=g,
|
||||
wd=path_project,
|
||||
path_weather=path_project / 'meteo.input',
|
||||
scene=scene)
|
13
hydroshoot/example/gdc_can2_grapevine/var.obs
Normal file
|
@ -0,0 +1,13 @@
|
|||
date;psi_pd;psi_stem;psi_leaf;gs
|
||||
2012-07-20 00:00;-0.18;-1.12;-1.31;40
|
||||
2012-07-20 00:00;-0.19;-1.23;-1.06;73
|
||||
2012-07-27 00:00;-0.20;-1.42;-1.49;59
|
||||
2012-07-27 00:00;-0.11;-1.29;-1.41;117
|
||||
2012-08-01 00:00;-0.20;-1.14;-1.40;172
|
||||
2012-08-01 00:00;-0.25;-1.10;-1.19;268
|
||||
2012-08-02 00:00;-0.39;-1.44;-1.50;50
|
||||
2012-08-02 00:00;-0.26;-1.47;-1.47;38
|
||||
2012-08-03 00:00;-0.71;-1.56;-1.48;9.6
|
||||
2012-08-03 00:00;-0.71;-1.40;-1.39;23.4
|
||||
2012-08-09 00:00;-0.25;-1.39;-1.57;52
|
||||
2012-08-09 00:00;-0.15;-1.26;-1.66;62
|
605
hydroshoot/example/gdc_can3_grapevine/digit.input
Normal file
|
@ -0,0 +1,605 @@
|
|||
Souche;tronc;element;sarment;rameau;rang;X;Y;Z;Diam
|
||||
1;0;1;0;0;0;-2.96;0.29;11.65;6.237
|
||||
1;0;2;0;0;0;-2.41;0.64;11.95;5.89
|
||||
1;0;3;0;0;0;-0.75;1.97;14.65;4.669
|
||||
1;0;4;0;0;0;1.85;0.82;22.74;5.049
|
||||
1;0;5;0;0;0;4.65;-1.6;28.55;4.526
|
||||
1;0;6;0;0;0;6.46;-2.72;35.14;4.187
|
||||
1;0;7;0;0;0;7.82;-3.43;39.35;4.284
|
||||
1;0;8;0;0;0;9.22;-3.23;44.32;4.355
|
||||
1;0;9;0;0;0;12.13;-3.5;49.93;4.423
|
||||
1;0;10;0;0;0;13.58;-2.3;54.26;4.483
|
||||
1;0;11;0;0;0;15.44;-2.08;59.35;4.411
|
||||
1;0;12;0;0;0;17.09;-1.33;65.25;4.307
|
||||
1;0;13;0;0;0;18.96;-1;71.59;4.364
|
||||
1;0;14;0;0;0;19.28;-0.07;75.54;4.466
|
||||
1;0;15;0;0;0;18.43;0.38;80.55;4.575
|
||||
1;0;16;0;0;0;18.8;-0.68;88.07;4.028
|
||||
1;0;17;0;0;0;19.97;0.44;93.93;4.114
|
||||
1;0;18;0;0;0;22.05;-1.17;101.87;4.227
|
||||
1;0;19;0;0;0;23.45;-1.54;107.67;4.479
|
||||
1;0;20;0;0;0;25.98;-2.21;113.08;4.423
|
||||
1;0;21;0;0;0;30.27;-2.07;119.05;4.386
|
||||
1;0;22;0;0;0;34;-2.87;124.06;4.508
|
||||
1;0;23;0;0;0;34.76;-4.82;127.64;4.278
|
||||
1;0;24;0;0;0;35.36;-6.29;132;3.936
|
||||
1;0;25;0;0;0;37.16;-8.65;140.14;3.867
|
||||
1;0;26;0;0;0;38.64;-12.09;149.39;4.5303
|
||||
1;1;1;0;0;0;44.32;-9.91;155.66;3.336
|
||||
1;1;2;0;0;0;45.98;-7.92;159.11;3.305
|
||||
1;1;3;0;0;0;45.48;-5.91;161.84;2.799
|
||||
1;1;4;0;0;0;45.55;0.18;166.58;2.795
|
||||
1;1;4;0;G1;0;46.9;0.25;166.65;1.065
|
||||
1;1;4;0;G1;1;47.02;-0.6;166.36;0.856
|
||||
1;1;4;0;G1;2;49.44;-0.83;167.37;0.693
|
||||
1;1;4;0;G1;3;52.36;-0.48;169.92;0.552
|
||||
1;1;4;0;G1;4;54.93;0.1;173.57;0.451
|
||||
1;1;4;0;G1;5;58.08;0.21;176.53;0.458
|
||||
1;1;4;0;G1;6;59.84;1.6;179.84;0.456
|
||||
1;1;4;0;G1;7;63.05;1.69;182.66;0.436
|
||||
1;1;4;0;G1;8;65.58;2.64;185.86;0.413
|
||||
1;1;4;0;G1;9;68.16;1.69;189.48;0.406
|
||||
1;1;4;0;G1;10;70.83;1.96;192.85;0.374
|
||||
1;1;4;0;G1;11;73.9;0.92;196.26;0.352
|
||||
1;1;4;0;G1;12;76.75;1.19;198.62;0.333
|
||||
1;1;4;0;G1;13;78.77;0.37;200.55;0.315
|
||||
1;1;4;0;G1;14;82.43;0.41;203.83;0.22
|
||||
1;1;5;0;0;0;45.42;6.25;169.14;3.016
|
||||
1;1;6;0;0;0;45.09;14.28;169.32;3.197
|
||||
1;1;7;0;0;0;44.17;24.65;167.2;3.65
|
||||
1;1;8;0;0;0;45.1;32.76;164.29;4.228
|
||||
1;1;9;0;0;0;43.71;37.79;159.15;4.531
|
||||
1;1;10;0;0;0;48.03;43.29;155.46;3.631
|
||||
1;1;10.a;0;0;0;44.14;50.1;154.94;2.594
|
||||
1;1;10.a;1;0;0;42.92;50.46;154.86;2.328
|
||||
1;1;10.a;1;1;0;43.24;50.43;153.03;1.539
|
||||
1;1;10.a;1;1;1;43.92;51.06;153.15;0.77
|
||||
1;1;10.a;1;1;2;44.28;52.93;155.33;0.557
|
||||
1;1;10.a;1;1;3;44.06;56.13;160.6;0.53
|
||||
1;1;10.a;1;1;4;45.23;57.33;167.73;0.475
|
||||
1;1;10.a;1;1;5;45.43;59.44;172.92;0.419
|
||||
1;1;10.a;1;1;6;46.42;60.28;177.54;0.396
|
||||
1;1;10.a;1;1;7;47.25;62.98;181.21;0.379
|
||||
1;1;10.a;1;1;8;48.93;63.4;187.56;0.348
|
||||
1;1;10.a;1;1;9;50.9;66.78;192.71;0.333
|
||||
1;1;10.a;1;1;10;54.54;66.93;197.33;0.245
|
||||
1;1;10.a;1;2;0;41.62;52.26;153.16;1.934
|
||||
1;1;10.a;1;2;1;40.84;52.63;153.19;1.615
|
||||
1;1;10.a;1;2;2;39.46;52.85;153.92;1.34
|
||||
1;1;10.a;1;2;3;35.97;54.14;155.77;1.078
|
||||
1;1;10.a;1;2;4;31.35;57.35;158.31;1.07
|
||||
1;1;10.a;1;2;5;25.12;63.86;159.78;1.021
|
||||
1;1;10.a;1;2;6;16.52;72.81;159.96;0.925
|
||||
1;1;10.a;1;2;7;9.47;83.82;157.22;0.832
|
||||
1;1;10.a;1;2;8;4.1;93.07;156.24;0.768
|
||||
1;1;10.a;1;2;9;-0.78;104.34;151.78;0.744
|
||||
1;1;10.a;1;2;10;-5.2;112.55;148.64;0.756
|
||||
1;1;10.a;1;2;11;-7.36;119.33;141.59;0.646
|
||||
1;1;10.a;1;2;12;-10.96;127.69;134.18;0.619
|
||||
1;1;10.a;1;2;13;-12;132.43;127.46;0.558
|
||||
1;1;10.a;1;2;14;-14.24;136.55;123.67;0.592
|
||||
1;1;10.a;1;2;15;-16.11;142.32;118.04;0.507
|
||||
1;1;10.a;1;2;16;-19.46;147.38;115.26;0.485
|
||||
1;1;10.a;1;2.4_1;1;32.09;58.17;161.3;0.27
|
||||
1;1;10.a;1;2.4_1;2;30.68;65.85;158.08;0.159
|
||||
1;1;10.a;1;2.5_1;1;15.8;75;164.3;0.271
|
||||
1;1;10.a;1;2.5_1;2;13.29;73.77;166.35;0.225
|
||||
1;1;10.a;1;2.6_1;1;15.6;74.83;164.25;0.268
|
||||
1;1;10.a;1;2.6_1;2;13.01;74.08;166.47;0.21
|
||||
1;1;10.a;1;2.8_1;1;4.66;94.27;162.66;0.342
|
||||
1;1;10.a;1;2.10_1;1;-4.5;113.59;152.64;0.231
|
||||
1;1;10.a;1;2.10_1;2;-4.94;112.88;154.53;0.168
|
||||
1;1;11;0;0;0;51.46;45.21;155.15;3.748
|
||||
1;1;12;0;0;0;56.24;45.29;152.77;4.524
|
||||
1;1;12.a;0;0;0;55.16;56.2;148.66;3.707
|
||||
1;1;12.a;1;0;0;54.05;57.37;150.71;2.48
|
||||
1;1;12.a;1;G1;0;53.02;57.64;152.2;0.875
|
||||
1;1;12.a;1;G1;1;52.85;59.46;154.43;0.578
|
||||
1;1;12.a;1;G1;2;53.11;61.29;157.88;0.532
|
||||
1;1;12.a;1;G1;3;54.32;63.78;163.11;0.539
|
||||
1;1;12.a;1;G1;4;56.97;67.46;168.45;0.511
|
||||
1;1;12.a;1;G1;5;60.87;70.22;173.17;0.39
|
||||
1;1;12.a;1;G1;6;64.03;70.33;174.42;0.348
|
||||
1;1;12.a;1;G1;7;68.25;71.71;174.99;0.298
|
||||
1;1;12.a;1;1m;0;52.94;55.05;154.25;1.535
|
||||
1;1;12.a;1;1m;1;53.34;54.9;154.85;1.42
|
||||
1;1;12.a;1;1m;2;53.29;54.91;157.17;0.98
|
||||
1;1;12.a;1;1m;3;53.62;54.85;160.27;0.909
|
||||
1;1;12.a;1;1m;4;53.13;55.96;167.17;0.82
|
||||
1;1;12.a;1;1m;5;53.43;56.59;176.47;0.77
|
||||
1;1;12.a;1;1m;6;51.61;59.33;184.77;0.651
|
||||
1;1;12.a;1;1m;7;48.87;59.89;190.12;0.57
|
||||
1;1;12.a;1;1m;8;45.33;63.19;193.48;0.562
|
||||
1;1;12.a;1;1m;9;41.87;65.58;197.63;0.489
|
||||
1;1;12.a;1;1m;10;38.88;68.35;200.21;0.517
|
||||
1;1;12.a;1;1m;11;34.95;69.18;203.34;0.526
|
||||
1;1;12.a;1;1m;12;30.3;71.48;205.95;0.462
|
||||
1;1;12.a;1;1m;13;26.03;72.51;208.26;0.474
|
||||
1;1;12.a;1;1m;14;22.01;74.25;209.46;0.44
|
||||
1;1;12.a;1;1m;15;15.73;74.98;211.34;0.395
|
||||
1;1;12.a;1;1m;16;12.4;77.05;211.1;0.391
|
||||
1;1;12.a;1;1m;17;8.27;77.4;211.13;0.417
|
||||
1;1;12.a;1;2m;0;53.83;54.11;153.88;0.917
|
||||
1;1;12.a;1;2m;1;53.39;51.8;154.82;0.664
|
||||
1;1;12.a;1;2m;2;51.78;46.83;156.89;0.633
|
||||
1;1;12.a;1;2m;3;51.52;40.53;158.71;0.588
|
||||
1;1;12.a;1;2m;4;51.03;33.06;160.35;0.451
|
||||
1;1;12.a;1;2m;5;51.49;28;161.14;0.409
|
||||
1;1;12.a;1;2m;6;51.77;25.3;161;0.354
|
||||
1;1;12.a;1;2m;7;50.89;20.53;163.55;0.374
|
||||
1;1;12.a;1;2m;8;50.79;16.05;166.3;0.324
|
||||
1;1;12.a;1;2m;9;49.19;13.74;169.55;0.29
|
||||
1;1;12.a;1;3;0;52.65;47.09;156.97;1.391
|
||||
1;1;12.a;1;3;1;54.98;47.18;157.31;1.084
|
||||
1;1;12.a;1;3;2;59.02;46.59;158.99;0.879
|
||||
1;1;12.a;1;3;3;65.28;45.73;162.01;0.882
|
||||
1;1;12.a;1;3;4;73.66;41.98;165.42;0.901
|
||||
1;1;12.a;1;3;5;83.7;36.53;169.91;0.83
|
||||
1;1;12.a;1;3;6;93.31;29.37;171.8;0.922
|
||||
1;1;12.a;1;3;7;102.12;24.75;174.31;0.696
|
||||
1;1;12.a;1;3;8;108.51;19.45;175.03;0.742
|
||||
1;1;12.a;1;3;9;115.29;15.91;176.3;0.67
|
||||
1;1;12.a;1;3;10;123.16;11.09;175.95;0.618
|
||||
1;1;12.a;1;3;11;128.11;7.09;176.96;0.574
|
||||
1;1;12.a;1;3;12;132.83;3.98;176.57;0.56
|
||||
1;1;12.a;1;3;13;139.31;-1.33;177.14;0.542
|
||||
1;1;12.a;1;3;14;144.85;-7.05;176.26;0.538
|
||||
1;1;12.a;1;3;15;150.68;-10.53;175.15;0.509
|
||||
1;1;12.a;1;3;16;157.47;-18.45;172.6;0.493
|
||||
1;1;12.a;1;3;17;163.9;-23.66;170.9;0.476
|
||||
1;1;12.a;1;3;18;168.96;-29.21;168.34;0.422
|
||||
1;1;12.a;1;3;19;175.71;-35.81;168.24;0.372
|
||||
1;1;12.a;1;3;20;178.77;-41.93;169.34;0.418
|
||||
1;1;12.a;1;3.4_1;1;72.79;39.25;166.27;0.406
|
||||
1;1;12.a;1;3.4_1;2;71.44;37.66;169.77;0.298
|
||||
1;1;12.a;1;3.4_1;3;70.72;40.51;174.42;0.252
|
||||
1;1;12.a;1;3.6_1;1;92.74;25.8;172.37;0.432
|
||||
1;1;12.a;1;3.6_1;2;91.97;22.6;175.25;0.295
|
||||
1;1;12.a;1;3.6_1;3;93;18.74;179.21;0.227
|
||||
1;1;12.a;1;3.7_1;1;101.89;25.86;179.51;0.376
|
||||
1;1;12.a;1;3.7_1;2;102.41;26.55;184.6;0.329
|
||||
1;1;12.a;1;3.7_1;3;103.31;27.11;190.22;0.25
|
||||
1;1;13;0;0;0;58.28;40.63;153.55;3.552
|
||||
1;1;14;0;0;0;62.94;41.87;151.52;4.649
|
||||
1;1;14.a;0;0;0;62.44;41.56;155.53;2.342
|
||||
1;1;14.a;1;0;0;62.95;43.21;156.24;2.162
|
||||
1;1;14.a;1;1;0;63.28;46.76;156.58;1.557
|
||||
1;1;14.a;1;1;1;62.63;48.28;156.1;1.492
|
||||
1;1;14.a;1;1;2;62.18;51.28;157.58;1.285
|
||||
1;1;14.a;1;1;3;62.7;54.84;158.21;1.091
|
||||
1;1;14.a;1;1;4;66.21;61.71;158.36;1.011
|
||||
1;1;14.a;1;1;5;70.35;69.98;159.08;0.995
|
||||
1;1;14.a;1;1;6;77.53;81.62;154.57;0.832
|
||||
1;1;14.a;1;1;7;83.9;90.1;148.4;0.778
|
||||
1;1;14.a;1;1;8;88.34;96.32;141.96;0.749
|
||||
1;1;14.a;1;1;9;96.6;102.49;133.99;0.679
|
||||
1;1;14.a;1;1;10;101.98;109.45;128.13;0.684
|
||||
1;1;14.a;1;1;11;111.31;114.61;119.36;0.643
|
||||
1;1;15;0;0;0;66.04;42.76;151.4;3.206
|
||||
1;1;15.a;0;0;0;70.27;44.71;149.78;2.234
|
||||
1;1;15.a;1;0;0;66.72;44.44;147.09;1.638
|
||||
1;1;15.a;1;1;0;66.48;44.73;147.93;1.386
|
||||
1;1;15.a;1;1;1;65.89;43.88;148.43;0.888
|
||||
1;1;15.a;1;1;2;63.8;42.9;147.71;0.656
|
||||
1;1;15.a;1;1;3;59.78;42.81;147.8;0.621
|
||||
1;1;15.a;1;1;4;51.82;41.54;148.7;0.532
|
||||
1;1;15.a;1;1;5;45.4;40.42;152.27;0.453
|
||||
1;1;15.a;1;1;6;35.78;42.11;155.68;0.42
|
||||
1;1;15.a;1;1;7;33.26;34.8;148.72;0.315
|
||||
1;1;15.a;1;2;0;65.71;48.3;149.83;1.593
|
||||
1;1;15.a;1;2;1;65.89;49.93;150.03;1.132
|
||||
1;1;15.a;1;2;2;65.86;53.4;151.4;0.941
|
||||
1;1;15.a;1;2;3;65.15;58.86;152.67;1.003
|
||||
1;1;15.a;1;2;4;66.68;67.66;155.42;0.909
|
||||
1;1;15.a;1;2;5;71.43;79.63;157.42;0.841
|
||||
1;1;15.a;1;2;6;80.62;89.22;156.4;0.776
|
||||
1;1;15.a;1;2;7;87.54;97.55;156.02;0.737
|
||||
1;1;15.a;1;2;8;98.06;105.61;152.18;0.677
|
||||
1;1;15.a;1;2;9;106.11;112.69;148.04;0.638
|
||||
1;1;15.a;1;2;10;112.88;116.29;141.49;0.557
|
||||
1;1;15.a;1;2;11;118.05;123.79;135.61;0.529
|
||||
1;1;15.a;1;2.5_1;1;70.52;80.57;161.58;0.242
|
||||
1;1;16;0;0;0;69.59;42.86;153.13;2.428
|
||||
1;1;17;0;0;0;75.99;42.25;153.79;2.263
|
||||
1;1;18;0;0;0;84.34;40.51;155.75;2.134
|
||||
1;1;18.a;0;0;0;85.17;41.83;157.81;3.787
|
||||
1;1;18.a;1;0;0;85.47;43.56;155.77;1.928
|
||||
1;1;18.a;1;1;0;86.21;45.12;155.79;1.525
|
||||
1;1;18.a;1;1;1;87.3;45.87;155.6;1.279
|
||||
1;1;18.a;1;1;2;87.54;47.74;156.71;0.944
|
||||
1;1;18.a;1;1;3;89.5;50.53;158.74;0.899
|
||||
1;1;18.a;1;1;4;90.7;55.61;164.38;0.856
|
||||
1;1;18.a;1;1;5;94.16;62.84;170.28;0.805
|
||||
1;1;18.a;1;1;6;95.89;74.1;177.68;0.695
|
||||
1;1;18.a;1;1;7;98.37;81.14;181.14;0.659
|
||||
1;1;18.a;1;1;8;99.28;90.06;181.81;0.599
|
||||
1;1;18.a;1;1;9;101.58;99.89;180.88;0.542
|
||||
1;1;18.a;1;1;10;102.03;106.03;177.34;0.498
|
||||
1;1;18.a;1;1;11;102.65;111.44;174.56;0.5
|
||||
1;1;18.a;1;1;12;102.64;116.76;171.68;0.495
|
||||
1;1;18.a;1;1;13;104.31;122.33;169.58;0.459
|
||||
1;1;18.a;1;1;14;105.35;127.07;167.79;0.483
|
||||
1;1;18.a;1;1;15;109.72;131.79;165.07;0.412
|
||||
1;1;18.a;1;1;16;114.09;135.33;162.95;0.387
|
||||
1;1;18.a;1;1;17;116.59;138.59;160.7;0.35
|
||||
1;1;18.a;1;1;18;119.03;143.51;158.14;0.336
|
||||
1;1;18.a;1;1.6_1;1;93.18;74.71;179.39;0.449
|
||||
1;1;18.a;1;1.6_1;2;90.47;76.42;184.03;0.406
|
||||
1;1;18.a;1;1.6_1;3;86.72;76.07;191.05;0.433
|
||||
1;1;18.a;1;1.6_1;4;85.32;76.84;195.69;0.428
|
||||
1;1;18.a;1;1.6_1;5;83.63;76.69;199.37;0.4
|
||||
1;1;18.a;1;1.6_1;6;82.92;77.59;203.56;0.367
|
||||
1;1;18.a;1;1.6_1;7;81.56;77.34;206.99;0.353
|
||||
1;1;18.a;1;1.6_1;8;81.15;78.97;210.33;0.274
|
||||
1;1;18.a;1;1.6_1;9;80.2;78.07;214.21;0.253
|
||||
1;1;18.a;1;1.6_1;10;78.86;75.09;215.39;0.195
|
||||
1;1;18.a;1;1.6_1.4_1;1;88.63;79.34;200.12;0.179
|
||||
1;1;18.a;1;1.6_1.6_1;1;84.38;78.76;207.95;0.167
|
||||
1;1;18.a;1;1.6_1.7_1;1;80.18;75.18;208.62;0.159
|
||||
1;1;18.a;1;2;0;88.82;44.97;155.6;1.476
|
||||
1;1;18.a;1;2;1;90.31;44.55;155.98;1.065
|
||||
1;1;18.a;1;2;2;92.34;43.89;158.08;0.957
|
||||
1;1;18.a;1;2;3;96.71;42.35;161.93;0.86
|
||||
1;1;18.a;1;2;4;101.74;38.61;166.99;0.837
|
||||
1;1;18.a;1;2;5;108.67;34.4;172.89;0.77
|
||||
1;1;18.a;1;2;6;118.21;24.19;179.05;0.702
|
||||
1;1;18.a;1;2;7;126.98;17.36;181.84;0.635
|
||||
1;1;18.a;1;2;8;130.79;11.15;181.92;0.629
|
||||
1;1;18.a;1;2;9;138.28;4.86;180.81;0.615
|
||||
1;1;18.a;1;2;10;141.41;-0.84;180;0.615
|
||||
1;1;18.a;1;2;11;146.45;-4;179.1;0.56
|
||||
1;1;18.a;1;2;12;152.12;-10.07;180.01;0.597
|
||||
1;1;18.a;1;2;13;157.23;-13.32;180.24;0.487
|
||||
1;1;18.a;1;2;14;162.06;-17.5;181.34;0.529
|
||||
1;1;18.a;1;2;15;167.94;-22.67;181.98;0.47
|
||||
1;1;18.a;1;2;16;171.57;-28.47;183.12;0.402
|
||||
1;1;18.a;1;2;17;175.58;-32.33;183.93;0.325
|
||||
1;1;18.a;1;2.6_1;1;117.33;23.88;182.04;0.29
|
||||
1;1;19;0;0;0;95.92;35.45;155.89;1.62
|
||||
1;1;19.a;0;0;0;98.88;36.52;151.8;2.243
|
||||
1;1;19.a;1;0;0;100.61;38.56;154.63;2.232
|
||||
1;1;19.a;1;1;0;101.89;38.69;156.78;1.621
|
||||
1;1;19.a;1;1;1;102.63;39.93;156.95;1.323
|
||||
1;1;19.a;1;1;2;104.38;40.62;158.25;1.072
|
||||
1;1;19.a;1;1;3;107.79;41.41;162.26;0.987
|
||||
1;1;19.a;1;1;4;114.33;41.01;167.74;0.973
|
||||
1;1;19.a;1;1;5;124.26;39.39;174.22;0.894
|
||||
1;1;19.a;1;1;6;135.59;36.16;180.9;0.787
|
||||
1;1;19.a;1;1;7;144.75;34.57;187.94;0.783
|
||||
1;1;19.a;1;1;8;154.95;28.6;196.39;0.723
|
||||
1;1;19.a;1;1;9;162.15;23.86;205.62;0.69
|
||||
1;1;19.a;1;1;10;167.39;16.66;210.47;0.706
|
||||
1;1;19.a;1;1;11;174.39;7.79;215.58;0.697
|
||||
1;1;19.a;1;1;12;178.74;0.42;215.8;0.726
|
||||
1;1;19.a;1;1;13;183.1;-5.95;216.05;0.699
|
||||
1;1;19.a;1;1;14;188.03;-12.81;214.88;0.699
|
||||
1;1;19.a;1;1;15;193.94;-17.97;213.17;0.669
|
||||
1;1;19.a;1;1;16;196.96;-22.05;208.81;0.615
|
||||
1;1;19.a;1;1;17;203.17;-26.9;206.19;0.601
|
||||
1;1;19.a;1;1;18;206.34;-31.12;201.6;0.563
|
||||
1;1;19.a;1;1;19;210.44;-33.12;199.8;0.515
|
||||
1;1;19.a;1;1;20;216.4;-37.72;195.34;0.559
|
||||
1;1;19.a;1;1;21;219.02;-40.62;194.99;0.478
|
||||
1;1;19.a;1;1;22;222.47;-44.72;194;0.468
|
||||
1;1;19.a;1;1;23;226.97;-50.33;195.48;0.453
|
||||
1;1;19.a;1;1;24;229.62;-55.28;197.92;0.425
|
||||
1;1;19.a;1;1;25;234.12;-58.81;202.77;0.389
|
||||
1;1;19.a;1;1;26;236.32;-62.58;208.62;0.381
|
||||
1;1;19.a;1;1;27;240.57;-63.51;213.65;0.328
|
||||
1;1;19.a;1;1.4_1;1;115.24;38.72;167.52;0.441
|
||||
1;1;19.a;1;1.4_1;2;114.62;33.89;166.93;0.299
|
||||
1;1;19.a;1;1.4_1;3;110.92;29.48;163.88;0.237
|
||||
1;1;19.a;1;1.5_1;1;123.79;35.04;177.76;0.274
|
||||
1;1;19.a;1;1.6_1;1;134.12;34.12;182.33;0.286
|
||||
1;1;19.a;1;1.6_1;2;131.36;33.33;185.57;0.186
|
||||
1;1;19.a;1;1.8_1;1;141.92;35.7;193.28;0.277
|
||||
1;1;19.a;1;1.8_1;2;139.47;35.79;196.66;0.252
|
||||
1;1;19.a;1;1.10_1;1;160.08;24.62;206.46;0.11
|
||||
1;1;19.a;1;1.10_1;2;158.81;24.04;207.99;0.09
|
||||
1;1;19.a;1;1.11_1;1;166.21;17.01;211.26;0.166
|
||||
1;1;19.a;1;1.12_1;1;174.08;7.43;217.08;0.173
|
||||
1;1;19.a;1;1.16_1;1;195.68;-19.01;215.88;0.455
|
||||
1;1;19.a;1;1.16_1;2;196.21;-19.29;218.21;0.253
|
||||
1;1;19.a;1;1.16_1;3;196.33;-21.06;222.81;0.17
|
||||
1;1;19.a;1;1.16_1;4;195.85;-20.98;225.7;0.162
|
||||
1;1;19.a;1;1.16_1;5;196.26;-20.64;226.88;0.106
|
||||
1;2;1;0;0;0;40.49;-25.05;151.73;4.01
|
||||
1;2;2;0;0;0;40.31;-28.94;153.87;3.029
|
||||
1;2;2;0;G1;0;38.5;-30.6;153.98;0.953
|
||||
1;2;2;0;G1;1;38.21;-31.22;154.02;0.917
|
||||
1;2;2;0;G1;2;36.88;-31.72;154.63;0.54
|
||||
1;2;2;0;G1;3;34.48;-34.87;157.1;0.501
|
||||
1;2;2;0;G1;4;35.58;-34.55;161.2;0.448
|
||||
1;2;2;0;G1;5;35.09;-36.11;164.24;0.445
|
||||
1;2;2;0;G1;6;35.64;-36.21;167.64;0.429
|
||||
1;2;2;0;G1;7;36.26;-36.75;172.54;0.386
|
||||
1;2;2;0;G1;8;36.5;-36.74;177.45;0.351
|
||||
1;2;2;0;G1;9;36.27;-38.18;181.18;0.334
|
||||
1;2;2;0;G1;10;36.96;-38.43;185.59;0.333
|
||||
1;2;2;0;G1;11;37.68;-39.94;189.76;0.237
|
||||
1;2;3;0;0;0;42.33;-45.04;158.56;3.99
|
||||
1;2;4;0;0;0;43.72;-52.31;156.93;4.222
|
||||
1;2;5;0;0;0;44.36;-61.51;153.39;4.163
|
||||
1;2;5.a.1;0;0;0;43.29;-69.6;148.23;5.559
|
||||
1;2;5.a.1;1;0;0;45.07;-71.74;153.49;1.869
|
||||
1;2;5.a.1;1;1;0;43.19;-70.77;154.61;1.706
|
||||
1;2;5.a.1;1;1;1;43.76;-71.76;155.21;1.711
|
||||
1;2;5.a.1;1;1;2;41.36;-73.32;157.04;1.534
|
||||
1;2;5.a.1;1;1;3;38.95;-76.05;160.73;0.971
|
||||
1;2;5.a.1;1;1;4;35.83;-79.86;164.07;0.964
|
||||
1;2;5.a.1;1;1;5;31.33;-84.84;169.19;0.931
|
||||
1;2;5.a.1;1;1;6;23.46;-95.57;172.79;0.806
|
||||
1;2;5.a.1;1;1;7;13.91;-103.28;174.18;0.738
|
||||
1;2;5.a.1;1;1;8;8.14;-111.73;172.04;0.672
|
||||
1;2;5.a.1;1;1;9;0.07;-121.77;167.64;0.616
|
||||
1;2;5.a.1;1;1;10;-2.74;-127.14;160.99;0.586
|
||||
1;2;5.a.1;1;1;11;-8.51;-131.75;155.4;0.578
|
||||
1;2;5.a.1;1;1;12;-11.21;-136.77;150.42;0.559
|
||||
1;2;5.a.1;1;1;13;-14.43;-139.29;145.18;0.566
|
||||
1;2;5.a.1;1;1;14;-19.23;-144.94;139.87;0.573
|
||||
1;2;5.a.1;1;1;15;-24.11;-145.81;135.17;0.486
|
||||
1;2;5.a.1;1;1;16;-29.11;-149.08;131.57;0.46
|
||||
1;2;5.a.1;1;1;17;-33.39;-149.91;125.89;0.414
|
||||
1;2;5.a.1;1;1.4_1;1;37.84;-81.48;166.18;0.258
|
||||
1;2;5.a.1;1;1.4_1;2;38.03;-80.9;169.56;0.152
|
||||
1;2;5.a.1;1;1.5_1;1;32.83;-82.19;173.4;0.345
|
||||
1;2;5.a.1;1;1.5_1;2;33.75;-81.57;177.11;0.255
|
||||
1;2;5.a.1;1;1.5_1;3;34.84;-80.36;180.54;0.227
|
||||
1;2;5.a.1;1;1.7_1;1;12.52;-106.67;179.53;0.306
|
||||
1;2;5.a.1;1;1.9_1;1;-0.49;-119.69;170.93;0.25
|
||||
1;2;5.a.1;1;1.10_1;1;-3.87;-126.5;162.29;0.113
|
||||
1;2;5.a.1;1;1.12_1;1;-8.62;-131.91;155.71;0.146
|
||||
1;2;5.a.1;1;1.12_1;2;-8.91;-132.74;156.7;0.117
|
||||
1;2;5.b.1;0;0;0;35.2;-60.49;151.04;4.539
|
||||
1;2;5.b.2;0;0;0;27.17;-64.68;148.97;2.444
|
||||
1;2;5.b.2;1;0;0;25.29;-65.75;150.32;1.51
|
||||
1;2;5.b.2;1;1;0;25.48;-67.77;151.99;1.266
|
||||
1;2;5.b.2;1;1;1;26.06;-68.05;153.42;1.568
|
||||
1;2;5.b.2;1;1;2;26.08;-67.81;154.51;1.147
|
||||
1;2;5.b.2;1;1;3;25.47;-69.96;157.27;0.996
|
||||
1;2;5.b.2;1;1;4;24.48;-73.55;162.29;0.96
|
||||
1;2;5.b.2;1;1;5;23.2;-78.04;167.06;0.924
|
||||
1;2;5.b.2;1;1;6;20.12;-88.2;173.45;0.79
|
||||
1;2;5.b.2;1;1;7;17.5;-96.76;178.33;0.798
|
||||
1;2;5.b.2;1;1;8;18.58;-105.9;181.59;0.835
|
||||
1;2;5.b.2;1;1;9;16.67;-119.61;182.81;0.83
|
||||
1;2;5.b.2;1;1;10;15.78;-128.33;181.24;0.684
|
||||
1;2;5.b.2;1;1;11;13.01;-133.81;178.59;0.638
|
||||
1;2;5.b.2;1;1;12;10.5;-140.08;175.66;0.612
|
||||
1;2;5.b.2;1;1;13;7.66;-145.17;173.32;0.611
|
||||
1;2;5.b.2;1;1;14;5.68;-151.17;170.96;0.614
|
||||
1;2;5.b.2;1;1;15;3.67;-156.08;170.28;0.56
|
||||
1;2;5.b.2;1;1;16;0.49;-162.88;168.89;0.509
|
||||
1;2;5.b.2;1;1;17;-2.02;-168.02;169.61;0.523
|
||||
1;2;5.b.2;1;1;18;-0.64;-175.34;167.86;0.422
|
||||
1;2;5.b.2;1;1.4_1;1;23.55;-72.04;163.3;0.207
|
||||
1;2;5.b.2;1;1.5_1;1;20.16;-79.18;166.23;0.226
|
||||
1;2;5.b.2;1;1.5_1;2;20.16;-79.29;170.95;0.198
|
||||
1;2;5.b.2;1;1.7_1;1;17.03;-94.18;178.11;0.212
|
||||
1;2;5.b.2;1;1.14_1;1;6.51;-152.41;173.37;0.143
|
||||
1;2;5.b.2;1;1.16_1;1;2.45;-164.3;171.14;0.156
|
||||
1;2;5.b.2;1;1.17_1;1;-5.82;-164.32;172.57;0.156
|
||||
1;2;6rl;0;0;0;29.3;-58.98;152.81;3.246
|
||||
1;2;7;0;0;0;23.77;-58.66;152.05;3.128
|
||||
1;2;8;0;0;0;14.08;-59.74;148.21;3.117
|
||||
1;2;8.a.1;0;0;0;10.08;-62.22;147.61;4.162
|
||||
1;2;8.a.1;0;G1;0;12.88;-62.13;145.68;1.503
|
||||
1;2;8.a.1;0;G1;1;11.97;-62.44;145.3;1.338
|
||||
1;2;8.a.1;0;G1;2;10.57;-63.23;144.57;0.991
|
||||
1;2;8.a.1;0;G1;3;5.79;-65.76;142.05;0.713
|
||||
1;2;8.a.1;0;G1;4;0.97;-70.34;138.56;0.787
|
||||
1;2;8.a.1;0;G1;5;-5.13;-75.3;135.18;0.742
|
||||
1;2;8.a.1;0;G1;6;-10.34;-82.41;129.66;0.703
|
||||
1;2;8.a.1;0;G1;7;-18.06;-88.99;123.22;0.651
|
||||
1;2;8.a.1;0;G1;8;-23.15;-95.7;115.68;0.637
|
||||
1;2;8.a.1;0;G1;9;-28.51;-99.07;109.19;0.532
|
||||
1;2;8.a.1;0;G1;10;-32.4;-101.67;104.16;0.519
|
||||
1;2;8.a.1;0;G1;11;-36.21;-102.91;97.44;0.434
|
||||
1;2;8.a.1;0;G1;12;-39.8;-103.08;91.13;0.458
|
||||
1;2;8.a.1;0;G1;13;-44.82;-102.22;87.11;0.4
|
||||
1;2;8.a.1;0;G1.7_1;1;-18.25;-89.94;124.3;0.156
|
||||
1;2;8.a.1;0;G1.7_1;2;-18.9;-90.53;125.72;0.087
|
||||
1;2;8.a.1;0;G1.7_1;3;-22.98;-90.6;121.95;0.073
|
||||
1;2;8.a.1;0;G1.9_1;1;-35.81;-96.91;98.49;0.12
|
||||
1;2;8.a.1;0;G2;0;11.34;-60.2;150.01;1.063
|
||||
1;2;8.a.1;0;G2;1;10.86;-59;150.91;0.88
|
||||
1;2;8.a.1;0;G2;2;10.51;-57.57;152.97;0.696
|
||||
1;2;8.a.1;0;G2;3;10.04;-57.57;157.01;0.663
|
||||
1;2;8.a.1;0;G2;4;9.07;-56.36;162.01;0.622
|
||||
1;2;8.a.1;0;G2;5;6.74;-56.05;168.27;0.613
|
||||
1;2;8.a.1;0;G2;6;5.5;-52.1;176.76;0.547
|
||||
1;2;8.a.1;0;G2;7;2.66;-49.9;182.93;0.47
|
||||
1;2;8.a.1;0;G2;8;0.97;-45.49;187.86;0.454
|
||||
1;2;8.a.1;0;G2;9;-2.88;-40.5;192.01;0.435
|
||||
1;2;8.a.1;0;G2;10;-4.4;-36.84;193.22;0.456
|
||||
1;2;8.a.1;0;G2;11;-6.68;-32.56;195.55;0.47
|
||||
1;2;8.a.1;0;G2;12;-8.42;-27.52;195.39;0.378
|
||||
1;2;8.a.1;0;G2;13;-9.25;-24.19;197.42;0.403
|
||||
1;2;8.a.1;0;G2;14;-8.54;-20.56;197.51;0.304
|
||||
1;2;8.a.1;0;G2;15;-6.07;-18.49;200.95;0.276
|
||||
1;2;8.a.1;0;G2;16;-4.55;-15.71;203.24;0.313
|
||||
1;2;8.a.1;0;G2;17;-1.72;-16.53;204.43;0.31
|
||||
1;2;8.a.1;0;G2.8_1;1;3.5;-51.85;185.14;0.14
|
||||
1;2;8.a.2;0;0;0;7.34;-59.83;144.05;1.991
|
||||
1;2;8.a.2;0;G1;0;7.91;-59.1;146.64;1.384
|
||||
1;2;8.a.2;0;G1;1;7.4;-57.42;146.66;1.097
|
||||
1;2;8.a.2;0;G1;2;7.84;-55.89;148.23;0.714
|
||||
1;2;8.a.2;0;G1;3;7.99;-52.72;149.63;0.672
|
||||
1;2;8.a.2;0;G1;4;7.63;-48.34;150.77;0.639
|
||||
1;2;8.a.2;0;G1;5;6;-43.02;151.53;0.678
|
||||
1;2;8.a.2;0;G1;6;2.71;-34.38;153.87;0.618
|
||||
1;2;8.a.2;0;G1;7;2.68;-28.8;156.71;0.518
|
||||
1;2;8.a.2;0;G1;8;0.32;-22.42;158.08;0.483
|
||||
1;2;8.a.2;0;G1;9;-4.11;-16.75;163.11;0.409
|
||||
1;2;8.a.2;0;G1;10;-4.91;-15.21;164.06;0.481
|
||||
1;2;8.a.2;0;G1.4_1;1;4.88;-48.49;149.63;0.179
|
||||
1;2;8.a.2;1;0;0;7.23;-61.96;142.95;1.971
|
||||
1;2;8.a.2;1;1;0;6.76;-61.53;143.69;1.205
|
||||
1;2;8.a.2;1;1;1;6.42;-62.51;143.23;1.213
|
||||
1;2;8.a.2;1;1;2;4.56;-63.72;143.6;0.906
|
||||
1;2;8.a.2;1;1;3;1.36;-65.59;147.2;0.77
|
||||
1;2;8.a.2;1;1;4;-0.54;-70.69;149.21;0.697
|
||||
1;2;8.a.2;1;1;5;-6.09;-74.51;155.14;0.73
|
||||
1;2;8.a.2;1;1;6;-11.51;-84.81;160.54;0.758
|
||||
1;2;8.a.2;1;1;7;-15.18;-91.81;164.63;0.596
|
||||
1;2;8.a.2;1;1;8;-19.88;-96.23;162.99;0.562
|
||||
1;2;8.a.2;1;1;9;-24.46;-103.37;161.33;0.529
|
||||
1;2;8.a.2;1;1;10;-27.85;-106.99;163.35;0.476
|
||||
1;2;8.a.2;1;1;11;-29.52;-111.21;161.67;0.498
|
||||
1;2;8.a.2;1;1;12;-34.47;-114.15;161.99;0.447
|
||||
1;2;8.a.2;1;1.11_1;1;-30.41;-105.16;164.8;0.17
|
||||
1;2;8.a.2;1;2;0;4.66;-60.88;140.68;1.264
|
||||
1;2;8.a.2;1;2;1;4.14;-61.4;140.96;1.314
|
||||
1;2;8.a.2;1;2;2;2.05;-59.61;139.98;0.99
|
||||
1;2;8.a.2;1;2;3;-1.34;-57.69;139.6;0.908
|
||||
1;2;8.a.2;1;2;4;-7.03;-54.68;137.86;0.844
|
||||
1;2;8.a.2;1;2;5;-14.33;-52.35;135.24;0.827
|
||||
1;2;8.a.2;1;2;6;-22.6;-48.46;130.19;0.732
|
||||
1;2;8.a.2;1;2;7;-32.17;-45.57;123.22;0.614
|
||||
1;2;8.a.2;1;2;8;-40.02;-40.14;116.99;0.591
|
||||
1;2;8.a.2;1;2;9;-39.81;-41.49;115.93;0.735
|
||||
1;2;8.a.2;1;2;10;-50.31;-39.04;108.22;0.462
|
||||
1;2;8.a.2;1;2;11;-56.11;-39.77;102.56;0.381
|
||||
1;2;8.a.2;1;2.4_1;1;-7.47;-53.17;138.64;0.225
|
||||
1;2;8.a.2;1;2.4_1;2;-6.69;-52.32;137.9;0.122
|
||||
1;2;8.a.2;1;2.5_1;1;-14.58;-52.02;137.53;0.198
|
||||
1;2;8.a.2;1;2.8_1;1;-40.08;-40.06;118.37;0.191
|
||||
1;2;8.a.3;0;0;0;8.05;-60.22;151.45;2.436
|
||||
1;2;9rl;0;0;0;0.72;-61.64;150.69;2.213
|
||||
1;2;9rl.a;0;0;0;-0.82;-62.7;150.79;1.725
|
||||
1;2;9rl.a;1;0;0;-4.11;-62.67;147.63;1.572
|
||||
1;2;9rl.a;1;1;0;-4.62;-64.08;146.59;1.305
|
||||
1;2;9rl.a;1;1;1;-4.95;-64.13;147.41;0.952
|
||||
1;2;9rl.a;1;1;2;-5.6;-64.27;147.82;0.91
|
||||
1;2;9rl.a;1;1;3;-6.44;-65.85;149.85;0.644
|
||||
1;2;9rl.a;1;1;4;-8.43;-68.94;153.2;0.572
|
||||
1;2;9rl.a;1;2;0;-7.47;-63.89;149.71;1.433
|
||||
1;2;9rl.a;1;2;1;-7.13;-63.96;149.86;1.407
|
||||
1;2;9rl.a;1;2;2;-7.81;-62.26;149.83;0.889
|
||||
1;2;9rl.a;1;2;3;-9.13;-60.38;148.91;1.693
|
||||
1;2;9rl.a;1;2;4;-9.07;-59.61;145.5;0.93
|
||||
1;2;9rl.a;1;2;5;-10.07;-57.51;139.74;0.829
|
||||
1;2;9rl.a;1;2;6;-12.92;-56.75;128.44;0.778
|
||||
1;2;9rl.a;1;2;7;-17.86;-56.07;116.64;0.692
|
||||
1;2;9rl.a;1;2;8;-20.41;-58.55;108.01;0.666
|
||||
1;2;9rl.a;1;2;9;-25.85;-60.3;98.44;0.605
|
||||
1;2;9rl.a;1;2;10;-28.13;-62.4;90.64;0.534
|
||||
1;2;9rl.a;1;2;11;-32.54;-62.45;85.03;0.525
|
||||
1;2;9rl.a;1;2;12;-37.51;-63.52;76.84;0.437
|
||||
1;2;9rl.a;1;2.6_1;1;-12.5;-58.08;126.35;0.108
|
||||
1;2;9rl.a;1;2.7_1;1;-19.85;-56.76;115.98;0.11
|
||||
1;2;10;0;0;0;-8.58;-63.02;151.81;2.022
|
||||
1;2;10;1;0;0;-9.68;-61.82;152.7;2.723
|
||||
1;2;10;1;G1;0;-9.33;-61.65;152.61;1.538
|
||||
1;2;10;1;G1;1;-8.52;-62.19;154.17;1.205
|
||||
1;2;10;1;G1;2;-8.35;-62.02;155.41;0.859
|
||||
1;2;10;1;G1;3;-6.87;-60.15;158.31;0.762
|
||||
1;2;10;1;G1;4;-5.97;-57;164.58;0.656
|
||||
1;2;10;1;G1;5;-5.22;-53.79;169.63;0.609
|
||||
1;2;10;1;G1;6;-3.95;-53.06;176.9;0.575
|
||||
1;2;10;1;G1;7;-3.02;-51.51;182.3;0.552
|
||||
1;2;10;1;G1;8;-1.89;-50.09;187.02;0.467
|
||||
1;2;10;1;G1;9;0.01;-48.35;191.96;0.412
|
||||
1;2;10;1;G1;10;1.91;-46.76;196.64;0.445
|
||||
1;2;10;1;G1;11;2.44;-44.58;201.13;0.475
|
||||
1;2;10;1;G1;12;5.9;-45.41;205.81;0.443
|
||||
1;2;10;1;G1;13;6.73;-44.21;210.42;0.397
|
||||
1;2;10;1;G1;14;8.08;-45.48;213.35;0.413
|
||||
1;2;10;1;G1;15;8.65;-44.43;218.49;0.372
|
||||
1;2;10;1;G1;16;12.08;-41.65;223.44;0.31
|
||||
1;2;10;1;G1.4_1;1;-7.36;-56.73;166.02;0.177
|
||||
1;2;10;1;G1.5_1;1;-6.73;-51.41;169.96;0.138
|
||||
1;2;10;1;G1.5_1;2;-7.9;-50.01;171.38;0.143
|
||||
1;2;10;1;1;0;-12.18;-59.21;153.34;1.492
|
||||
1;2;10;1;1;1;-12.46;-59.59;152.96;1.491
|
||||
1;2;10;1;1;2;-14.37;-58.05;153.4;1.164
|
||||
1;2;10;1;1;3;-16.02;-58.72;154.84;1.099
|
||||
1;2;10;1;1;4;-20.77;-56.65;157.62;1.077
|
||||
1;2;10;1;1;5;-26.82;-56.42;160.74;1.429
|
||||
1;2;10;1;1;6;-36.11;-54.46;165.67;1.431
|
||||
1;2;10;1;1;7;-47.99;-54.82;169.31;0.866
|
||||
1;2;10;1;1;8;-56.22;-51.37;173.39;0.674
|
||||
1;2;10;1;1;9;-64.33;-50.24;175.68;0.619
|
||||
1;2;10;1;1;10;-71.64;-44.73;173.19;0.586
|
||||
1;2;10;1;1;11;-73.78;-41.53;167.89;0.575
|
||||
1;2;10;1;1;12;-71.4;-38.9;163.23;0.544
|
||||
1;2;10;1;1;13;-73.39;-35.95;157.71;0.543
|
||||
1;2;10;1;1;14;-74.92;-29.7;152.82;0.547
|
||||
1;2;10;1;1;15;-79.26;-27.27;149.61;0.506
|
||||
1;2;10;1;1;16;-82.69;-23.43;146.94;0.496
|
||||
1;2;10;1;1;17;-89.52;-19.73;143.94;0.516
|
||||
1;2;10;1;1;18;-93.88;-15.83;143.13;0.56
|
||||
1;2;10;1;1;19;-99.17;-14.8;140.12;0.477
|
||||
1;2;10;1;1;20;-106.21;-10.63;138.52;0.423
|
||||
1;2;10;1;1;21;-113.34;-8.71;136.61;0.482
|
||||
1;2;10;1;1;22;-120.1;-6.54;134.67;0.445
|
||||
1;2;10;1;1;23;-131.38;-0.77;130.84;0.417
|
||||
1;2;10;1;1;24;-139.17;2.6;129.81;0.358
|
||||
1;2;10;1;1;25;-147.95;6.51;126.85;0.344
|
||||
1;2;10;1;1;26;-158.65;8.91;126.2;0.328
|
||||
1;2;10;1;1;27;-166.49;8.89;125.93;0.303
|
||||
1;2;10;1;1.5_1;1;-26.66;-57.09;162.81;0.168
|
||||
1;2;10;1;1.6_1;1;-36.16;-52.58;169.91;0.191
|
||||
1;2;10;1;1.7_1;1;-47.15;-55.27;174.08;0.396
|
||||
1;2;10;1;1.7_1;2;-45.26;-54.88;174.05;0.229
|
||||
1;2;10;1;1.7_1;3;-41.92;-55.91;174.6;0.188
|
||||
1;2;10;1;1.8_1;1;-55.04;-51.27;176.47;0.32
|
||||
1;2;10;1;1.8_1;2;-54.45;-51.1;179.93;0.221
|
||||
1;2;10;1;1.9_1;1;-65.77;-49.45;178.29;0.35
|
||||
1;2;11;0;0;0;-17.81;-66.21;148.63;1.775
|
||||
1;2;11.a;0;0;0;-22.79;-65.18;150.24;2.408
|
||||
1;2;11.a;1;0;0;-22.58;-68.39;149.1;1.461
|
||||
1;2;11.a;1;1;0;-22.55;-68.54;149.83;1.64
|
||||
1;2;11.a;1;1;1;-22.14;-69.02;149.85;1.499
|
||||
1;2;11.a;1;1;2;-20.7;-70.47;151.01;1.139
|
||||
1;2;11.a;1;1;3;-19.82;-71.74;154;1.008
|
||||
1;2;11.a;1;1;4;-18.45;-73.56;159.12;0.996
|
||||
1;2;11.a;1;1;5;-16.04;-77.54;166.04;0.936
|
||||
1;2;11.a;1;1;6;-12.09;-81.93;169.85;0.896
|
||||
1;2;11.a;1;1;7;-5.91;-88.67;177.23;0.834
|
||||
1;2;11.a;1;1;8;0.77;-96.12;180.7;0.802
|
||||
1;2;11.a;1;1;9;6.36;-103.51;184.63;0.718
|
||||
1;2;11.a;1;1;10;14.24;-112.7;185.64;0.608
|
||||
1;2;11.a;1;1;11;22.56;-120.07;188.83;0.626
|
||||
1;2;11.a;1;1;12;30.96;-128.39;182.44;0.57
|
||||
1;2;11.a;1;1;13;38.19;-132.14;180.72;0.541
|
||||
1;2;11.a;1;1;14;41.28;-135.1;177.16;0.523
|
||||
1;2;11.a;1;1;15;48.48;-138.03;176.37;0.463
|
||||
1;2;11.a;1;1;16;52.5;-141.83;172.82;0.465
|
||||
1;2;11.a;1;1;17;58.76;-144.6;174.14;0.356
|
||||
1;2;11.a;1;1.3_1;1;-22.08;-71.31;155.94;0.23
|
||||
1;2;11.a;1;1.4_1;1;-16.94;-76.46;158.11;0.385
|
||||
1;2;11.a;1;1.4_1;2;-16.43;-83.19;159.87;0.306
|
||||
1;2;11.a;1;1.4_1;3;-19.58;-86.18;162;0.274
|
||||
1;2;11.a;1;1.4_1;4;-20.77;-88.56;164.33;0.244
|
||||
1;2;11.a;1;1.4_1;5;-21.94;-91.96;168.24;0.204
|
||||
1;2;11.a;1;1.4_1;6;-20.65;-94.93;171.37;0.211
|
||||
1;2;11.a;1;1.4_1;7;-21.06;-95.12;166.03;0.139
|
||||
1;2;11.a;1;1.5_1;1;-18.3;-77.55;167.21;0.456
|
||||
1;2;11.a;1;1.5_1;2;-21.09;-76.41;171.45;0.39
|
||||
1;2;11.a;1;1.5_1;3;-24.34;-74.57;173.92;0.368
|
||||
1;2;11.a;1;1.5_1;4;-26.53;-73.61;176.64;0.391
|
||||
1;2;11.a;1;1.5_1;5;-29.39;-71.91;178.33;0.394
|
||||
1;2;11.a;1;1.5_1;6;-30.26;-70.83;184.11;0.366
|
||||
1;2;11.a;1;1.5_1;7;-33.13;-68.17;186.95;0.365
|
||||
1;2;11.a;1;1.5_1;8;-33.17;-66.83;191.12;0.329
|
||||
1;2;11.a;1;1.5_1;9;-35.98;-65.93;192.41;0.217
|
||||
1;2;11.a;1;1.6_1;1;-12.74;-86.47;170.46;0.307
|
||||
1;2;11.a;1;1.7_1;1;-6.82;-87.63;180.67;0.367
|
||||
1;2;11.a;1;1.7_1;2;-6.68;-86.61;182.98;0.266
|
||||
1;2;11.a;1;1.7_1;3;-7.1;-84.13;187.03;0.213
|
||||
1;2;11.a;1;1.7_1;4;-7.05;-82.53;188.18;0.195
|
||||
1;2;11.a;1;1.8_1;1;-0.94;-100.34;182.52;0.417
|
||||
1;2;11.a;1;1.8_1;2;-2.18;-101.75;186.03;0.367
|
||||
1;2;11.a;1;1.8_1;3;-3.88;-102.44;189.22;0.355
|
||||
1;2;11.a;1;1.8_1;4;-5.61;-102.11;192.53;0.292
|
||||
1;2;11.a;1;1.8_1;5;-8;-100.73;195.22;0.321
|
||||
1;2;11.a;1;1.9_1;1;5.69;-102.83;187.57;0.364
|
||||
1;2;11.a;1;1.9_1;2;5.65;-101.16;190.96;0.326
|
||||
1;2;11.a;1;1.9_1;3;4.79;-99.18;195.13;0.285
|
||||
1;2;11.a;1;1.11_1;1;21.82;-121.27;187.51;0.275
|
||||
1;2;11.a;1;1.13_1;1;37.54;-132.64;181.87;0.283
|
||||
1;2;11.a;1;1.13_1;2;37.33;-131;181.25;0.222
|
||||
1;2;11.a;1;1.13_1;3;34.62;-127.96;181.16;0.161
|
||||
1;2;11.a;1;1.14_1;1;39.67;-134.26;176.73;0.117
|
||||
1;2;11.a;1;1.15_1;1;46.51;-137.37;176.76;0.108
|
8332
hydroshoot/example/gdc_can3_grapevine/meteo.input
Normal file
175
hydroshoot/example/gdc_can3_grapevine/params.json
Normal file
|
@ -0,0 +1,175 @@
|
|||
{
|
||||
"simulation": {
|
||||
"sdate": "2012-08-01 00:00:00",
|
||||
"edate": "2012-08-04 23:00:00",
|
||||
"latitude": 43.61,
|
||||
"longitude": 3.87,
|
||||
"elevation": 44.0,
|
||||
"tzone": "Europe/Paris",
|
||||
"output_index": "",
|
||||
"unit_scene_length": "cm",
|
||||
"hydraulic_structure": true,
|
||||
"negligible_shoot_resistance": false,
|
||||
"energy_budget": true
|
||||
},
|
||||
"planting": {
|
||||
"spacing_between_rows": 3.6,
|
||||
"spacing_on_row": 1,
|
||||
"row_angle_with_south": 140.0
|
||||
},
|
||||
"phenology": {
|
||||
"emdate": "2012-04-01 00:00:00",
|
||||
"t_base": 10.0
|
||||
},
|
||||
"mtg_api": {
|
||||
"collar_label": "inT",
|
||||
"leaf_lbl_prefix": "L",
|
||||
"stem_lbl_prefix": [
|
||||
"in",
|
||||
"Pet",
|
||||
"cx"
|
||||
]
|
||||
},
|
||||
"numerical_resolution": {
|
||||
"max_iter": 100,
|
||||
"psi_step": 1.0,
|
||||
"psi_error_threshold": 0.05,
|
||||
"t_step": 1.0,
|
||||
"t_error_threshold": 0.02
|
||||
},
|
||||
"irradiance": {
|
||||
"E_type": "Rg_Watt/m2",
|
||||
"E_type2": "Eabs",
|
||||
"opt_prop": {
|
||||
"SW": {
|
||||
"leaf": [
|
||||
0.06,
|
||||
0.07
|
||||
],
|
||||
"stem": [
|
||||
0.13
|
||||
],
|
||||
"other": [
|
||||
0.06,
|
||||
0.07
|
||||
]
|
||||
},
|
||||
"LW": {
|
||||
"leaf": [
|
||||
0.04,
|
||||
0.07
|
||||
],
|
||||
"stem": [
|
||||
0.13
|
||||
],
|
||||
"other": [
|
||||
0.06,
|
||||
0.07
|
||||
]
|
||||
}
|
||||
},
|
||||
"turtle_format": "soc",
|
||||
"turtle_sectors": "46",
|
||||
"icosphere_level": null
|
||||
},
|
||||
"energy": {
|
||||
"solo": true,
|
||||
"t_cloud": 2.0,
|
||||
"t_sky": -20.0
|
||||
},
|
||||
"hydraulic": {
|
||||
"psi_min": -3.0,
|
||||
"Kx_dict": {
|
||||
"a": 1.6,
|
||||
"b": 2.0,
|
||||
"min_kmax": 0.000111
|
||||
},
|
||||
"par_K_vul": {
|
||||
"model": "misson",
|
||||
"fifty_cent": -0.76,
|
||||
"sig_slope": 1.0
|
||||
}
|
||||
},
|
||||
"exchange": {
|
||||
"rbt": 0.6667,
|
||||
"Na_dict": {
|
||||
"aN": -0.0008,
|
||||
"bN": 3.3,
|
||||
"aM": 6.471,
|
||||
"bM": 56.635
|
||||
},
|
||||
"par_gs": {
|
||||
"model": "misson",
|
||||
"g0": 0.0,
|
||||
"m0": 7.3,
|
||||
"psi0": -0.65,
|
||||
"D0": 1.0,
|
||||
"n": 4.0
|
||||
},
|
||||
"par_photo": {
|
||||
"alpha": 0.24,
|
||||
"Kc25": 404.9,
|
||||
"Ko25": 278.4,
|
||||
"Tx25": 42.75,
|
||||
"ds": 0.635,
|
||||
"dHd": 200.0,
|
||||
"RespT_Kc": {
|
||||
"c": 38.05,
|
||||
"deltaHa": 79.43
|
||||
},
|
||||
"RespT_Ko": {
|
||||
"c": 20.30,
|
||||
"deltaHa": 36.38
|
||||
},
|
||||
"RespT_Vcm": {
|
||||
"c": 26.35,
|
||||
"deltaHa": 65.33
|
||||
},
|
||||
"RespT_Jm": {
|
||||
"c": 17.57,
|
||||
"deltaHa": 43.54
|
||||
},
|
||||
"RespT_TPU": {
|
||||
"c": 21.46,
|
||||
"deltaHa": 53.1
|
||||
},
|
||||
"RespT_Rd": {
|
||||
"c": 18.72,
|
||||
"deltaHa": 46.39
|
||||
},
|
||||
"RespT_Tx": {
|
||||
"c": 19.02,
|
||||
"deltaHa": 37.83
|
||||
}
|
||||
},
|
||||
"par_photo_N": {
|
||||
"Vcm25_N": [
|
||||
34.02,
|
||||
-3.13
|
||||
],
|
||||
"Jm25_N": [
|
||||
78.27,
|
||||
-17.3
|
||||
],
|
||||
"Rd_N": [
|
||||
0.42,
|
||||
-0.01
|
||||
],
|
||||
"TPU25_N": [
|
||||
6.24,
|
||||
-1.92
|
||||
]
|
||||
}
|
||||
},
|
||||
"soil": {
|
||||
"soil_class": "Sandy_Loam",
|
||||
"soil_dimensions": {
|
||||
"width": 3.6,
|
||||
"length": 1.0,
|
||||
"depth": 1.2
|
||||
},
|
||||
"rhyzo_coeff": 0.75
|
||||
}
|
||||
}
|
||||
|
||||
|
7
hydroshoot/example/gdc_can3_grapevine/psi_soil.input
Normal file
|
@ -0,0 +1,7 @@
|
|||
time;psi
|
||||
2012-07-20;-0.30
|
||||
2012-07-27;-0.12
|
||||
2012-08-01;-0.19
|
||||
2012-08-02;-0.50
|
||||
2012-08-03;-0.81
|
||||
2012-08-09;-0.19
|
4091
hydroshoot/example/gdc_can3_grapevine/sapflow.obs
Normal file
43
hydroshoot/example/gdc_can3_grapevine/sim.py
Normal file
|
@ -0,0 +1,43 @@
|
|||
from pathlib import Path
|
||||
|
||||
from openalea.mtg import traversal
|
||||
from openalea.plantgl.all import Scene
|
||||
|
||||
from hydroshoot import architecture, display, model
|
||||
|
||||
if __name__ == '__main__':
|
||||
path_project = Path(__file__).parent
|
||||
|
||||
# =============================================================================
|
||||
# Construct the plant mock-up
|
||||
# =============================================================================
|
||||
|
||||
g = architecture.vine_mtg(path_project / 'digit.input')
|
||||
|
||||
for v in traversal.iter_mtg2(g, g.root):
|
||||
architecture.vine_phyto_modular(g, v)
|
||||
architecture.vine_petiole(g, v, pet_ins=90., pet_ins_cv=0.,
|
||||
phyllo_angle=180.)
|
||||
architecture.vine_leaf(g, v, leaf_inc=-45., leaf_inc_cv=100.,
|
||||
lim_max=12.5, lim_min=5., order_lim_max=2.25,
|
||||
max_order=55, rand_rot_angle=90.,
|
||||
cordon_vector=None)
|
||||
architecture.vine_mtg_properties(g, v)
|
||||
architecture.vine_mtg_geometry(g, v)
|
||||
architecture.vine_transform(g, v)
|
||||
|
||||
scene = display.visu(g, def_elmnt_color_dict=True, scene=Scene(), view_result=True)
|
||||
|
||||
# =============================================================================
|
||||
# Run HydroShoot
|
||||
# =============================================================================
|
||||
|
||||
# =============================================================================
|
||||
# Run HydroShoot
|
||||
# =============================================================================
|
||||
|
||||
model.run(
|
||||
g=g,
|
||||
wd=path_project,
|
||||
path_weather=path_project / 'meteo.input',
|
||||
scene=scene)
|
13
hydroshoot/example/gdc_can3_grapevine/var.obs
Normal file
|
@ -0,0 +1,13 @@
|
|||
date;psi_pd;psi_stem;psi_leaf;gs
|
||||
2012-07-20 00:00;-0.35;-1.15;-1.42;48
|
||||
2012-07-20 00:00;-0.24;-1.30;-1.51;22.4
|
||||
2012-07-27 00:00;-0.13;-1.41;-1.54;25.6
|
||||
2012-07-27 00:00;-0.12;-1.51;-1.51;39
|
||||
2012-08-01 00:00;-0.20;-1.23;-1.42;90
|
||||
2012-08-01 00:00;-0.21;-1.22;-1.51;97
|
||||
2012-08-02 00:00;-0.49;-1.50;-1.52;40
|
||||
2012-08-02 00:00;-0.50;-1.50;-1.54;28.4
|
||||
2012-08-03 00:00;-0.81;-1.13;-1.27;7.3
|
||||
2012-08-03 00:00;-0.81;-1.58;-1.34;4.4
|
||||
2012-08-09 00:00;-0.19;-1.18;-1.69;37.5
|
||||
2012-08-09 00:00;-0.19;-1.37
|
139
hydroshoot/example/misc/HSdanugue$5132.csv
Normal file
|
@ -0,0 +1,139 @@
|
|||
Plant;TRONC;ELMNT;SAR;RAM;RANG;Xabs;Yabs;Zabs;DIAM
|
||||
1;base;0;0;0;0;0;0;8.24;5.027026504
|
||||
1;0;1;1;0;0;-7.736183096;-2.98559946;12.5;1.858933322
|
||||
1;0;1;1;1;0;-9.536183096;-1.32559946;14.18;1.831591759
|
||||
1;0;1;1;1;1;-9.536183096;-1.32559946;14.18;1.6
|
||||
1;0;1;1;p;0;-13.1061831;-7.45559946;17.36;0.209001612
|
||||
1;0;1;1;F1;0;-16.4461831;-5.29559946;19.74;0
|
||||
1;0;1;1;F2;0;-19.3861831;-4.69559946;15.13;0
|
||||
1;0;1;1;F3;0;-17.9561831;-9.74559946;9.28;0
|
||||
1;0;1;1;F4;0;-12.4661831;-9.52559946;9.65;0
|
||||
1;0;1;1;F5;0;-9.036183096;-10.46559946;14.91;0
|
||||
1;0;1;1;1;1;-8.866183096;-2.10559946;17.43;1.79548726
|
||||
1;0;1;1;p;0;-0.036183096;-2.75559946;16.99;0.197620639
|
||||
1;0;1;1;F1;0;3.793816904;-6.32559946;19.18;0
|
||||
1;0;1;1;F2;0;8.063816904;-6.85559946;12.78;0
|
||||
1;0;1;1;F3;0;4.783816904;-3.05559946;7.46;0
|
||||
1;0;1;1;F4;0;1.803816904;2.51440054;11.08;0
|
||||
1;0;1;1;F5;0;-2.006183096;2.10440054;14.61;0
|
||||
1;0;1;1;1;2;-10.3961831;-0.70559946;20.72;1.73464309
|
||||
1;0;1;1;p;0;-10.6261831;6.38440054;22.73;0.178493207
|
||||
1;0;1;1;F1;0;-16.9961831;6.94440054;24.68;0
|
||||
1;0;1;1;F2;0;-17.7261831;11.04440054;19.13;0
|
||||
1;0;1;1;F3;0;-14.7761831;13.98440054;18.43;0
|
||||
1;0;1;1;F4;0;-6.986183096;9.97440054;16.78;0
|
||||
1;0;1;1;F5;0;-4.156183096;5.90440054;20.97;0
|
||||
1;0;1;1;1;3;-9.446183096;-2.07559946;23.91;1.680008518
|
||||
1;0;1;1;p;0;-2.686183096;-1.64559946;28.66;0.193514664
|
||||
1;0;1;1;F1;0;-5.886183096;-4.99559946;30.93;0
|
||||
1;0;1;1;F2;0;-1.026183096;-8.81559946;30.73;0
|
||||
1;0;1;1;F3;0;6.063816904;-6.86559946;26.08;0
|
||||
1;0;1;1;F4;0;4.593816904;-1.04559946;24.53;0
|
||||
1;0;1;1;F5;0;-0.676183096;5.09440054;25.89;0
|
||||
1;0;1;1;1;4;-11.3361831;-1.19559946;29.13;1.636977784
|
||||
1;0;1;1;p;0;-16.3861831;-0.70559946;38.02;0.209833705
|
||||
1;0;1;1;F1;0;-13.4261831;-6.98559946;38.56;0
|
||||
1;0;1;1;F2;0;-23.5561831;-8.10559946;37.7;0
|
||||
1;0;1;1;F3;0;-27.3361831;-2.37559946;37.73;0
|
||||
1;0;1;1;F4;0;-23.2761831;5.89440054;34.16;0
|
||||
1;0;1;1;F5;0;-15.0561831;5.99440054;34.59;0
|
||||
1;0;1;1;1;5;-7.916183096;-3.73559946;35.55;1.635438112
|
||||
1;0;1;1;p;0;3.163816904;-2.72559946;38.81;0.217461669
|
||||
1;0;1;1;F1;0;3.123816904;-9.23559946;44.24;0
|
||||
1;0;1;1;F2;0;12.7438169;-7.37559946;42.16;0
|
||||
1;0;1;1;F3;0;14.1738169;-3.28559946;34.85;0
|
||||
1;0;1;1;F4;0;7.273816904;2.76440054;30.31;0
|
||||
1;0;1;1;F5;0;3.833816904;4.13440054;36.02;0
|
||||
1;0;1;1;1;6;-9.486183096;-2.13559946;44.69;1.603907774
|
||||
1;0;1;1;1;7;-6.776183096;-5.78559946;52.72;1.585608101
|
||||
1;0;1;1;p;0;6.333816904;-7.78559946;57.67;0.208406918
|
||||
1;0;1;1;F1;0;8.983816904;-13.56559946;65.52;0
|
||||
1;0;1;1;F2;0;15.3838169;-16.52559946;59.77;0
|
||||
1;0;1;1;F3;0;20.0638169;-7.36559946;51.54;0
|
||||
1;0;1;1;F4;0;14.8738169;-1.28559946;51.2;0
|
||||
1;0;1;1;F5;0;7.583816904;1.57440054;56.1;0
|
||||
1;0;1;1;1;8;-8.446183096;-1.79559946;59.15;1.568905803
|
||||
1;0;1;1;p;0;1.653816904;6.97440054;61.07;0.240708417
|
||||
1;0;1;1;F1;0;8.723816904;10.42440054;63.25;0
|
||||
1;0;1;1;F2;0;7.643816904;17.60440054;59.83;0
|
||||
1;0;1;1;F3;0;5.523816904;10.54440054;51.37;0
|
||||
1;0;1;1;F4;0;8.113816904;8.08440054;51.26;0
|
||||
1;0;1;1;F5;0;4.703816904;0.68440054;54.78;0
|
||||
1;0;1;1;1;9;-7.496183096;-4.89559946;69.46;1.520511743
|
||||
1;0;1;1;p;0;4.013816904;-9.02559946;75.41;0.173493123
|
||||
1;0;1;1;F1;0;6.433816904;-15.15559946;79.58;0
|
||||
1;0;1;1;F2;0;8.003816904;-19.92559946;70.73;0
|
||||
1;0;1;1;F3;0;16.1238169;-13.48559946;71.47;0
|
||||
1;0;1;1;F4;0;14.4738169;-8.72559946;71;0
|
||||
1;0;1;1;F5;0;9.493816904;-3.12559946;71.55;0
|
||||
1;0;1;1;1;10;-8.406183096;-0.08559946;77.81;1.468780376
|
||||
1;0;1;1;p;0;-13.0761831;6.99440054;85.82;0.215624823
|
||||
1;0;1;1;F1;0;-12.6661831;15.68440054;84.8;0
|
||||
1;0;1;1;F2;0;-19.9361831;15.05440054;81.16;0
|
||||
1;0;1;1;F3;0;-25.0261831;11.33440054;81.27;0
|
||||
1;0;1;1;F4;0;-24.1461831;4.57440054;82.67;0
|
||||
1;0;1;1;F5;0;-17.0261831;-0.42559946;85.92;0
|
||||
1;0;1;1;1;11;-3.836183096;-3.62559946;83.53;1.425168568
|
||||
1;0;1;1;p;0;4.453816904;-5.87559946;92.09;0.180726096
|
||||
1;0;1;1;F1;0;9.723816904;-13.03559946;94.63;0
|
||||
1;0;1;1;F2;0;16.0738169;-11.65559946;91.1;0
|
||||
1;0;1;1;F3;0;15.4138169;-10.04559946;84.01;0
|
||||
1;0;1;1;F4;0;11.6438169;0.30440054;86.02;0
|
||||
1;0;1;1;F5;0;9.413816904;1.31440054;90.4;0
|
||||
1;0;1;1;1;12;-5.726183096;-3.78559946;94.95;1.420065465
|
||||
1;0;1;1;p;0;2.233816904;1.11440054;97.72;0.219485204
|
||||
1;0;1;1;F1;0;3.423816904;8.58440054;97.66;0
|
||||
1;0;1;1;F2;0;8.803816904;10.84440054;94.88;0
|
||||
1;0;1;1;F3;0;8.853816904;3.87440054;89.84;0
|
||||
1;0;1;1;F4;0;8.903816904;0.69440054;89.83;0
|
||||
1;0;1;1;F5;0;6.893816904;-3.22559946;93.18;0
|
||||
1;0;1;1;1;13;-2.556183096;-6.59559946;101.91;1.403556316
|
||||
1;0;1;1;p;0;6.643816904;-8.72559946;106.64;0.194865889
|
||||
1;0;1;1;F1;0;8.303816904;-15.23559946;108.93;0
|
||||
1;0;1;1;F2;0;14.3238169;-15.89559946;104.57;0
|
||||
1;0;1;1;F3;0;14.6238169;-13.84559946;99;0
|
||||
1;0;1;1;F4;0;11.8138169;-2.68559946;102.94;0
|
||||
1;0;1;1;F5;0;5.943816904;-3.03559946;108.99;0
|
||||
1;0;1;1;1;14;-6.536183096;-3.71559946;111.18;1.393791926
|
||||
1;0;1;1;p;0;2.093816904;-0.03559946;115.55;0.16605945
|
||||
1;0;1;1;F1;0;4.073816904;7.64440054;120.68;0
|
||||
1;0;1;1;F2;0;6.563816904;10.38440054;114.31;0
|
||||
1;0;1;1;F3;0;11.0738169;3.91440054;115.31;0
|
||||
1;0;1;1;F4;0;11.1438169;1.01440054;117.25;0
|
||||
1;0;1;1;F5;0;7.933816904;-3.48559946;114.37;0
|
||||
1;0;1;1;1;15;-5.756183096;-8.10559946;117.95;1.352865756
|
||||
1;0;1;1;p;0;5.493816904;-11.98559946;121.07;0.179512051
|
||||
1;0;1;1;F1;0;8.183816904;-19.17559946;123.43;0
|
||||
1;0;1;1;F2;0;13.0038169;-21.00559946;115.98;0
|
||||
1;0;1;1;F3;0;9.903816904;-14.77559946;109.93;0
|
||||
1;0;1;1;F4;0;10.6138169;-6.23559946;114.05;0
|
||||
1;0;1;1;F5;0;9.213816904;-5.58559946;120.34;0
|
||||
1;0;1;1;1;16;-7.496183096;-5.32559946;127.67;1.336730249
|
||||
1;0;1;1;p;0;-7.876183096;3.66440054;134.62;0.203908026
|
||||
1;0;1;1;F1;0;-17.6761831;5.08440054;138.38;0
|
||||
1;0;1;1;F2;0;-20.7961831;10.24440054;133.69;0
|
||||
1;0;1;1;F3;0;-14.2161831;9.37440054;125.67;0
|
||||
1;0;1;1;F4;0;-5.896183096;11.52440054;127.29;0
|
||||
1;0;1;1;F5;0;-3.666183096;9.38440054;131.94;0
|
||||
1;0;1;1;1;17;-1.826183096;-8.91559946;133.71;1.29017495
|
||||
1;0;1;1;p;0;10.1438169;-8.14559946;139.21;0.232624324
|
||||
1;0;1;1;F1;0;15.6738169;-1.66559946;140.88;0
|
||||
1;0;1;1;F2;0;14.3538169;0.64440054;135.26;0
|
||||
1;0;1;1;F3;0;17.2638169;-6.77559946;129.57;0
|
||||
1;0;1;1;F4;0;18.1538169;-17.37559946;135.21;0
|
||||
1;0;1;1;F5;0;14.7238169;-16.84559946;141.41;0
|
||||
1;0;1;1;1;18;-5.016183096;-9.58559946;147.46;1.248837876
|
||||
1;0;1;1;p;0;-5.576183096;-13.45559946;156.62;0.225569276
|
||||
1;0;1;1;F1;0;-4.526183096;-7.89559946;156.91;0
|
||||
1;0;1;1;F2;0;-10.2061831;-9.98559946;155.64;0
|
||||
1;0;1;1;F3;0;-13.2961831;-14.78559946;158.05;0
|
||||
1;0;1;1;F4;0;-14.2661831;-22.00559946;159.13;0
|
||||
1;0;1;1;F5;0;-6.496183096;-23.48559946;159.53;0
|
||||
1;0;1;1;1;19;-0.886183096;-11.70559946;155.26;1.211473224
|
||||
1;0;1;1;1;20;-5.946183096;-15.56559946;162.31;1.174686103
|
||||
1;0;1;1;p;0;-13.3061831;-15.57559946;170.12;0.216812196
|
||||
1;0;1;1;F1;0;-19.0361831;-12.42559946;175.07;0
|
||||
1;0;1;1;F2;0;-21.7761831;-9.19559946;170.17;0
|
||||
1;0;1;1;F3;0;-24.0361831;-17.55559946;162.34;0
|
||||
1;0;1;1;F4;0;-18.3761831;-26.65559946;163.93;0
|
||||
1;0;1;1;F5;0;-15.6561831;-28.05559946;168.37;0
|
|
47
hydroshoot/example/misc/sim.py
Normal file
|
@ -0,0 +1,47 @@
|
|||
from pathlib import Path
|
||||
from os import getcwd
|
||||
|
||||
from openalea.mtg import traversal
|
||||
from openalea.plantgl.all import Scene
|
||||
|
||||
from hydroshoot import architecture, display, model
|
||||
|
||||
# =============================================================================
|
||||
# Construct the plant mock-up
|
||||
# =============================================================================
|
||||
|
||||
|
||||
if __name__ == '__main__':
|
||||
g = architecture.vine_mtg(Path(__file__).parent / 'HSdanugue$5132.csv')
|
||||
|
||||
# Local Coordinates Correction
|
||||
for v in traversal.iter_mtg2(g, g.root):
|
||||
n = g.node(g.Trunk(v, Scale=1)[0])
|
||||
theta = 180 if int(n.index()) < 200 else -90 if int(n.index()) < 300 else 0
|
||||
architecture.vine_orientation(g, v, theta, local_rotation=True)
|
||||
|
||||
# Scene rotation
|
||||
for v in traversal.iter_mtg2(g, g.root):
|
||||
architecture.vine_orientation(g, v, 90., local_rotation=False)
|
||||
|
||||
for v in traversal.iter_mtg2(g, g.root):
|
||||
architecture.vine_phyto_modular(g, v)
|
||||
architecture.vine_mtg_properties(g, v)
|
||||
architecture.vine_mtg_geometry(g, v)
|
||||
architecture.vine_transform(g, v)
|
||||
|
||||
# Display of the plant mock-up (result in 'fig_01_plant_mock_up.png')
|
||||
scene = display.visu(g, def_elmnt_color_dict=True, scene=Scene(), view_result=True)
|
||||
|
||||
# =============================================================================
|
||||
# Run HydroShoot
|
||||
# =============================================================================
|
||||
|
||||
model.run(g, str(getcwd()) + '/', scene, psi_soil=-0.5, gdd_since_budbreak=1000.)
|
||||
|
||||
|
||||
|
||||
|
||||
from pandas import read_csv
|
||||
df = read_csv(r'C:\Users\albashar\Documents\dvp\grapesoil\grape_soil\example\data\benoit\data_meteo_with_low_WS.csv',
|
||||
sep=';', decimal='.')
|
123
hydroshoot/example/modularity/ws/sim_1/digit.input
Normal file
|
@ -0,0 +1,123 @@
|
|||
Plant_Nb;Tronc;Elmnt;Sar;Rameau;Row;X;Y;Z
|
||||
8;BASE;0;0;0;0;0;0;0
|
||||
8;0;1;0;0;0;0;0;5
|
||||
8;0;2;0;0;0;0;0;10
|
||||
8;0;3;0;0;0;0;0;15
|
||||
8;0;4;0;0;0;0;0;20
|
||||
8;0;5;0;0;0;0;0;25
|
||||
8;0;6;0;0;0;0;0;30
|
||||
8;0;7;0;0;0;0;0;35
|
||||
8;0;8;0;0;0;0;0;40
|
||||
8;0;9;0;0;0;0;0;45
|
||||
8;1;1;0;0;0;4;2;49
|
||||
8;1;1.a;0;0;0;6;5;50
|
||||
8;1;1.a;1;0;0;8;6;52
|
||||
8;1;1.a;1;1;0;8.41;6.2;53.19
|
||||
8;1;1.a;1;1;1;7.42;7.6;55.05
|
||||
8;1;1.a;1;1;2;4.81;8.73;61.1
|
||||
8;1;1.a;1;1;3;1.11;8.87;70.62
|
||||
8;1;1.a;1;1;4;-3.4;9.31;82.33
|
||||
8;1;1.a;1;1;5;-9.59;5.34;94.08
|
||||
8;1;1.a;1;1;6;-19.56;7.1;107.54
|
||||
8;1;1.a;1;1;7;-31.79;7.71;120.16
|
||||
8;1;1.a;1;1;8;-41.64;9.88;130.68
|
||||
8;1;1.a;1;2;0;10.07;7.2;53.27
|
||||
8;1;1.a;1;2;1;10.72;8.11;54.82
|
||||
8;1;1.a;1;2;2;12.45;10.24;58.19
|
||||
8;1;1.a;1;2;3;14.67;9.83;63.16
|
||||
8;1;1.a;1;2;4;18.68;10.23;71.06
|
||||
8;1;1.a;1;2;5;20.41;7.6;81.12
|
||||
8;1;1.a;1;2;6;24.62;6.08;89.86
|
||||
8;1;1.a;1;2;7;26.36;6.67;99.55
|
||||
8;1;1.a;1;2;8;27.95;12.68;111.04
|
||||
8;1;1.a;1;2;9;26.26;18.97;117.65
|
||||
8;1;1.a;1;2;10;25.95;26.82;122.83
|
||||
8;1;1.a;2;0;0;10;4;54
|
||||
8;1;1.a;2;1;0;10.64;4.32;54.52
|
||||
8;1;1.a;2;1;1;11.56;1.67;56.73
|
||||
8;1;1.a;2;1;2;11.22;-2.05;62.4
|
||||
8;1;1.a;2;1;3;11.61;-3.84;71.11
|
||||
8;1;1.a;2;1;4;11.71;-1.8;83.07
|
||||
8;1;1.a;2;1;5;14.28;4.49;96.38
|
||||
8;1;1.a;2;1;6;13.57;4.88;108.18
|
||||
8;1;1.a;2;1;7;15.55;0.48;123.92
|
||||
8;2;1;0;0;0;1;2;49
|
||||
8;2;1.a;0;0;0;1.1;3;50
|
||||
8;2;1.a;1;0;0;1.2;3.8;50.5
|
||||
8;2;1.a;1;1;0;1.29;3.9;50.86
|
||||
8;2;1.a;1;1;1;1.64;5.19;51.5
|
||||
8;2;1.a;1;1;2;2.4;8.52;55.62
|
||||
8;2;1.a;1;1;3;5.57;11.78;62.85
|
||||
8;2;1.a;1;1;4;12.32;13.92;73.82
|
||||
8;2;1.a;1;1;5;18.46;12.2;82.8
|
||||
8;2;1.a;1;1;6;22.11;10.6;89.62
|
||||
8;2;1.a;1;1;7;26.93;3.4;95.42
|
||||
8;2;1.a;1;1;8;31.28;-2.13;99.8
|
||||
8;2;1.a;1;1;9;35.61;-8.04;102.67
|
||||
8;2;1.a;1;1;10;40.84;-15.38;106.71
|
||||
8;2;1.a;1;2;0;1.42;1.92;52.03
|
||||
8;2;1.a;1;2;1;0.93;0.86;53.42
|
||||
8;2;1.a;1;2;2;1.14;-0.09;58.02
|
||||
8;2;1.a;1;2;3;2.4;-1.23;64.43
|
||||
8;2;1.a;1;2;4;4.91;-0.77;72.53
|
||||
8;2;1.a;1;2;5;10.36;0.85;82.74
|
||||
8;2;1.a;1;2;6;13.55;2.52;91.17
|
||||
8;2;1.a;1;2;7;18.58;2.97;100.06
|
||||
8;2;1.a;1;2;8;23.01;2.3;112.8
|
||||
8;2;1.a;1;2;9;26.89;1.14;120.6
|
||||
8;2;1.b;0;0;0;1.43;0;51
|
||||
8;2;1.b;1;0;0;1.44;0.05;51.1
|
||||
8;2;1.b;1;1;0;1.45;0.09;51.12
|
||||
8;2;1.b;1;1;1;1.2;-0.05;51.71
|
||||
8;2;1.b;1;1;2;-0.96;-1.12;56.13
|
||||
8;2;1.b;1;1;3;-4.99;-4.12;65.35
|
||||
8;2;1.b;1;1;4;-7.27;-3.64;79.68
|
||||
8;2;1.b;1;1;5;-6.02;0.34;90.43
|
||||
8;2;1.b;1;1;6;1.81;4.48;97.34
|
||||
8;2;1.b;1;1;7;12.38;3.8;103.99
|
||||
8;2;1.b;1;1;8;20.76;0.75;107.55
|
||||
8;2;1.b;1;1;9;25.75;-4.11;110.52
|
||||
8;2;2;0;0;0;-10;3.5;55
|
||||
8;2;2.a;0;0;0;-11;3.8;55
|
||||
8;2;2.a;1;0;0;-12;4;56
|
||||
8;2;2.a;1;1;0;-12.71;4.01;56.81
|
||||
8;2;2.a;1;2;0;-12.72;6.24;55.56
|
||||
8;2;2.a;1;2;1;-12.47;6.84;55.83
|
||||
8;2;2.a;1;2;2;-11.67;9.06;57.38
|
||||
8;2;2.a;1;2;3;-11.02;11.72;61.48
|
||||
8;2;2.a;1;2;4;-9.75;12.17;67.31
|
||||
8;2;2.a;1;2;5;-9.43;10.83;75.81
|
||||
8;2;2.a;1;2;6;-6.44;6.43;87.13
|
||||
8;2;2.a;1;2;7;-6.27;6.43;87.24
|
||||
8;2;2.a;1;2;8;-0.52;5.56;95.39
|
||||
8;2;2.a;1;2;9;5.08;5.72;103.16
|
||||
8;2;2.a;1;2;10;14.45;10.9;109.95
|
||||
8;2;2.a;1;2;11;20.55;14.27;115.06
|
||||
8;2;2.a;1;2;12;27.62;19.03;119.15
|
||||
8;2;2.a;1;2;13;33.66;20.31;128.17
|
||||
8;2;2.b;0;0;0;-11;4.2;53
|
||||
8;2;2.b;1;0;0;-12;4.3;54
|
||||
8;2;3;0;0;0;-13;1;52
|
||||
8;2;3.a;0;0;0;-14;1.4;53
|
||||
8;2;3.a;1;0;0;-14.2;1.42;53.01
|
||||
8;2;3.a;1;1M;0;-14.5;1.46;53.06
|
||||
8;2;3.a;1;1M;1;-15.06;1.67;52.89
|
||||
8;2;3.a;1;1M;2;-17.62;2.85;54.07
|
||||
8;2;3.a;1;1M;3;-21.45;4.78;61.73
|
||||
8;2;3.a;1;1M;4;-23.42;5.37;72.15
|
||||
8;2;3.a;1;1M;5;-24.31;3.66;88.31
|
||||
8;2;3.a;1;1M;6;-26.05;4.82;106.56
|
||||
8;2;3.a;1;1M;7;-32.94;5.75;118.25
|
||||
8;2;3.a;1;1M;8;-39.95;8.39;126.33
|
||||
8;2;3.a;1;3;0;-12.69;-1.02;52.08
|
||||
8;2;3.a;1;3;1;-14.2;-0.78;52.25
|
||||
8;2;3.a;1;3;2;-20.72;-2.23;53.55
|
||||
8;2;3.a;1;3;3;-27.49;-2.94;56.65
|
||||
8;2;3.a;1;3;4;-36.07;-4.89;61.05
|
||||
8;2;3.a;1;3;5;-41.12;-5.23;69.88
|
||||
8;2;3.a;1;3;6;-42.22;-8.11;82.63
|
||||
8;2;3.a;1;3;7;-37.93;-7.57;96.29
|
||||
8;2;3.a;1;3;8;-33;-7.67;108.67
|
||||
8;2;3.a;1;3;9;-24.07;-4.13;119.04
|
||||
8;2;3.a;1;3;10;-20.9;-2.33;128.29
|
||||
8;2;3.a;1;3;11;-18.5;0.01;136.76
|
5138
hydroshoot/example/modularity/ws/sim_1/meteo.input
Normal file
175
hydroshoot/example/modularity/ws/sim_1/params.json
Normal file
|
@ -0,0 +1,175 @@
|
|||
{
|
||||
"simulation": {
|
||||
"sdate": "2009-07-29 00:00:00",
|
||||
"edate": "2009-08-01 23:00:00",
|
||||
"latitude": 43.61,
|
||||
"longitude": 3.87,
|
||||
"elevation": 44.0,
|
||||
"tzone": "Europe/Paris",
|
||||
"output_index": "",
|
||||
"unit_scene_length": "cm",
|
||||
"hydraulic_structure": false,
|
||||
"negligible_shoot_resistance": true,
|
||||
"energy_budget": true
|
||||
},
|
||||
"planting": {
|
||||
"spacing_between_rows": 3.6,
|
||||
"spacing_on_row": 1,
|
||||
"row_angle_with_south": 140.0
|
||||
},
|
||||
"phenology": {
|
||||
"emdate": "2009-04-01 00:00:00",
|
||||
"t_base": 10.0
|
||||
},
|
||||
"mtg_api": {
|
||||
"collar_label": "inT",
|
||||
"leaf_lbl_prefix": "L",
|
||||
"stem_lbl_prefix": [
|
||||
"in",
|
||||
"Pet",
|
||||
"cx"
|
||||
]
|
||||
},
|
||||
"numerical_resolution": {
|
||||
"max_iter": 100,
|
||||
"psi_step": 1.0,
|
||||
"psi_error_threshold": 0.05,
|
||||
"t_step": 1.0,
|
||||
"t_error_threshold": 0.02
|
||||
},
|
||||
"irradiance": {
|
||||
"E_type": "Rg_Watt/m2",
|
||||
"E_type2": "Eabs",
|
||||
"opt_prop": {
|
||||
"SW": {
|
||||
"leaf": [
|
||||
0.06,
|
||||
0.07
|
||||
],
|
||||
"stem": [
|
||||
0.13
|
||||
],
|
||||
"other": [
|
||||
0.06,
|
||||
0.07
|
||||
]
|
||||
},
|
||||
"LW": {
|
||||
"leaf": [
|
||||
0.04,
|
||||
0.07
|
||||
],
|
||||
"stem": [
|
||||
0.13
|
||||
],
|
||||
"other": [
|
||||
0.06,
|
||||
0.07
|
||||
]
|
||||
}
|
||||
},
|
||||
"turtle_format": "soc",
|
||||
"turtle_sectors": "46",
|
||||
"icosphere_level": null
|
||||
},
|
||||
"energy": {
|
||||
"solo": true,
|
||||
"t_cloud": 2.0,
|
||||
"t_sky": -20.0
|
||||
},
|
||||
"hydraulic": {
|
||||
"psi_min": -3.0,
|
||||
"Kx_dict": {
|
||||
"a": 1.6,
|
||||
"b": 2.0,
|
||||
"min_kmax": 0.000111
|
||||
},
|
||||
"par_K_vul": {
|
||||
"model": "misson",
|
||||
"fifty_cent": -0.76,
|
||||
"sig_slope": 1.0
|
||||
}
|
||||
},
|
||||
"exchange": {
|
||||
"rbt": 0.6667,
|
||||
"Na_dict": {
|
||||
"aN": -0.0008,
|
||||
"bN": 3.3,
|
||||
"aM": 6.471,
|
||||
"bM": 56.635
|
||||
},
|
||||
"par_gs": {
|
||||
"model": "misson",
|
||||
"g0": 0.02,
|
||||
"m0": 7.3,
|
||||
"psi0": -0.65,
|
||||
"D0": 5.0,
|
||||
"n": 4.0
|
||||
},
|
||||
"par_photo": {
|
||||
"alpha": 0.24,
|
||||
"Kc25": 404.9,
|
||||
"Ko25": 278.4,
|
||||
"Tx25": 42.75,
|
||||
"ds": 0.635,
|
||||
"dHd": 200.0,
|
||||
"RespT_Kc": {
|
||||
"c": 38.05,
|
||||
"deltaHa": 79.43
|
||||
},
|
||||
"RespT_Ko": {
|
||||
"c": 20.30,
|
||||
"deltaHa": 36.38
|
||||
},
|
||||
"RespT_Vcm": {
|
||||
"c": 26.35,
|
||||
"deltaHa": 65.33
|
||||
},
|
||||
"RespT_Jm": {
|
||||
"c": 17.57,
|
||||
"deltaHa": 43.54
|
||||
},
|
||||
"RespT_TPU": {
|
||||
"c": 21.46,
|
||||
"deltaHa": 53.1
|
||||
},
|
||||
"RespT_Rd": {
|
||||
"c": 18.72,
|
||||
"deltaHa": 46.39
|
||||
},
|
||||
"RespT_Tx": {
|
||||
"c": 19.02,
|
||||
"deltaHa": 37.83
|
||||
}
|
||||
},
|
||||
"par_photo_N": {
|
||||
"Vcm25_N": [
|
||||
34.02,
|
||||
-3.13
|
||||
],
|
||||
"Jm25_N": [
|
||||
78.27,
|
||||
-17.3
|
||||
],
|
||||
"Rd_N": [
|
||||
0.42,
|
||||
-0.01
|
||||
],
|
||||
"TPU25_N": [
|
||||
6.24,
|
||||
-1.92
|
||||
]
|
||||
}
|
||||
},
|
||||
"soil": {
|
||||
"soil_class": "Sandy_Loam",
|
||||
"soil_dimensions": {
|
||||
"width": 3.6,
|
||||
"length": 1.0,
|
||||
"depth": 1.2
|
||||
},
|
||||
"rhyzo_coeff": 0.25
|
||||
}
|
||||
}
|
||||
|
||||
|
14
hydroshoot/example/modularity/ws/sim_1/psi_soil.input
Normal file
|
@ -0,0 +1,14 @@
|
|||
time;psi
|
||||
2009-07-27;-0.09
|
||||
2009-07-28;-0.38
|
||||
2009-07-29;-0.19
|
||||
2009-07-30;-0.30
|
||||
2009-07-31;-0.37
|
||||
2009-08-01;-0.50
|
||||
2009-08-03;-0.32
|
||||
2009-08-05;-0.39
|
||||
2009-08-06;-0.47
|
||||
2009-08-07;-0.40
|
||||
2009-08-09;-0.55
|
||||
2009-08-10;-0.34
|
||||
2009-08-14;-0.83
|
41
hydroshoot/example/modularity/ws/sim_1/sim.py
Normal file
|
@ -0,0 +1,41 @@
|
|||
from pathlib import Path
|
||||
|
||||
from openalea.mtg import traversal
|
||||
from openalea.plantgl.all import Scene
|
||||
|
||||
from hydroshoot import architecture, display, model
|
||||
|
||||
if __name__ == '__main__':
|
||||
path_project = Path(__file__).parent
|
||||
|
||||
# =============================================================================
|
||||
# Construct the plant mock-up
|
||||
# =============================================================================
|
||||
|
||||
g = architecture.vine_mtg(path_project / 'digit.input')
|
||||
|
||||
for v in traversal.iter_mtg2(g, g.root):
|
||||
architecture.vine_phyto_modular(g, v)
|
||||
architecture.vine_axeII(g, v, pruning_type='avg_field_model', N_max=6,
|
||||
insert_angle=90, N_max_order=6)
|
||||
architecture.vine_petiole(g, v, pet_ins=90., pet_ins_cv=0.,
|
||||
phyllo_angle=180.)
|
||||
architecture.vine_leaf(g, v, leaf_inc=-45., leaf_inc_cv=100.,
|
||||
lim_max=12.5, lim_min=5., order_lim_max=6,
|
||||
max_order=55, rand_rot_angle=90.,
|
||||
cordon_vector=None)
|
||||
architecture.vine_mtg_properties(g, v)
|
||||
architecture.vine_mtg_geometry(g, v)
|
||||
architecture.vine_transform(g, v)
|
||||
|
||||
scene = display.visu(g, def_elmnt_color_dict=True, scene=Scene(), view_result=True)
|
||||
|
||||
# =============================================================================
|
||||
# Run HydroShoot
|
||||
# =============================================================================
|
||||
|
||||
model.run(
|
||||
g=g,
|
||||
wd=path_project,
|
||||
path_weather=path_project / 'meteo.input',
|
||||
scene=scene)
|
123
hydroshoot/example/modularity/ws/sim_2/digit.input
Normal file
|
@ -0,0 +1,123 @@
|
|||
Plant_Nb;Tronc;Elmnt;Sar;Rameau;Row;X;Y;Z
|
||||
8;BASE;0;0;0;0;0;0;0
|
||||
8;0;1;0;0;0;0;0;5
|
||||
8;0;2;0;0;0;0;0;10
|
||||
8;0;3;0;0;0;0;0;15
|
||||
8;0;4;0;0;0;0;0;20
|
||||
8;0;5;0;0;0;0;0;25
|
||||
8;0;6;0;0;0;0;0;30
|
||||
8;0;7;0;0;0;0;0;35
|
||||
8;0;8;0;0;0;0;0;40
|
||||
8;0;9;0;0;0;0;0;45
|
||||
8;1;1;0;0;0;4;2;49
|
||||
8;1;1.a;0;0;0;6;5;50
|
||||
8;1;1.a;1;0;0;8;6;52
|
||||
8;1;1.a;1;1;0;8.41;6.2;53.19
|
||||
8;1;1.a;1;1;1;7.42;7.6;55.05
|
||||
8;1;1.a;1;1;2;4.81;8.73;61.1
|
||||
8;1;1.a;1;1;3;1.11;8.87;70.62
|
||||
8;1;1.a;1;1;4;-3.4;9.31;82.33
|
||||
8;1;1.a;1;1;5;-9.59;5.34;94.08
|
||||
8;1;1.a;1;1;6;-19.56;7.1;107.54
|
||||
8;1;1.a;1;1;7;-31.79;7.71;120.16
|
||||
8;1;1.a;1;1;8;-41.64;9.88;130.68
|
||||
8;1;1.a;1;2;0;10.07;7.2;53.27
|
||||
8;1;1.a;1;2;1;10.72;8.11;54.82
|
||||
8;1;1.a;1;2;2;12.45;10.24;58.19
|
||||
8;1;1.a;1;2;3;14.67;9.83;63.16
|
||||
8;1;1.a;1;2;4;18.68;10.23;71.06
|
||||
8;1;1.a;1;2;5;20.41;7.6;81.12
|
||||
8;1;1.a;1;2;6;24.62;6.08;89.86
|
||||
8;1;1.a;1;2;7;26.36;6.67;99.55
|
||||
8;1;1.a;1;2;8;27.95;12.68;111.04
|
||||
8;1;1.a;1;2;9;26.26;18.97;117.65
|
||||
8;1;1.a;1;2;10;25.95;26.82;122.83
|
||||
8;1;1.a;2;0;0;10;4;54
|
||||
8;1;1.a;2;1;0;10.64;4.32;54.52
|
||||
8;1;1.a;2;1;1;11.56;1.67;56.73
|
||||
8;1;1.a;2;1;2;11.22;-2.05;62.4
|
||||
8;1;1.a;2;1;3;11.61;-3.84;71.11
|
||||
8;1;1.a;2;1;4;11.71;-1.8;83.07
|
||||
8;1;1.a;2;1;5;14.28;4.49;96.38
|
||||
8;1;1.a;2;1;6;13.57;4.88;108.18
|
||||
8;1;1.a;2;1;7;15.55;0.48;123.92
|
||||
8;2;1;0;0;0;1;2;49
|
||||
8;2;1.a;0;0;0;1.1;3;50
|
||||
8;2;1.a;1;0;0;1.2;3.8;50.5
|
||||
8;2;1.a;1;1;0;1.29;3.9;50.86
|
||||
8;2;1.a;1;1;1;1.64;5.19;51.5
|
||||
8;2;1.a;1;1;2;2.4;8.52;55.62
|
||||
8;2;1.a;1;1;3;5.57;11.78;62.85
|
||||
8;2;1.a;1;1;4;12.32;13.92;73.82
|
||||
8;2;1.a;1;1;5;18.46;12.2;82.8
|
||||
8;2;1.a;1;1;6;22.11;10.6;89.62
|
||||
8;2;1.a;1;1;7;26.93;3.4;95.42
|
||||
8;2;1.a;1;1;8;31.28;-2.13;99.8
|
||||
8;2;1.a;1;1;9;35.61;-8.04;102.67
|
||||
8;2;1.a;1;1;10;40.84;-15.38;106.71
|
||||
8;2;1.a;1;2;0;1.42;1.92;52.03
|
||||
8;2;1.a;1;2;1;0.93;0.86;53.42
|
||||
8;2;1.a;1;2;2;1.14;-0.09;58.02
|
||||
8;2;1.a;1;2;3;2.4;-1.23;64.43
|
||||
8;2;1.a;1;2;4;4.91;-0.77;72.53
|
||||
8;2;1.a;1;2;5;10.36;0.85;82.74
|
||||
8;2;1.a;1;2;6;13.55;2.52;91.17
|
||||
8;2;1.a;1;2;7;18.58;2.97;100.06
|
||||
8;2;1.a;1;2;8;23.01;2.3;112.8
|
||||
8;2;1.a;1;2;9;26.89;1.14;120.6
|
||||
8;2;1.b;0;0;0;1.43;0;51
|
||||
8;2;1.b;1;0;0;1.44;0.05;51.1
|
||||
8;2;1.b;1;1;0;1.45;0.09;51.12
|
||||
8;2;1.b;1;1;1;1.2;-0.05;51.71
|
||||
8;2;1.b;1;1;2;-0.96;-1.12;56.13
|
||||
8;2;1.b;1;1;3;-4.99;-4.12;65.35
|
||||
8;2;1.b;1;1;4;-7.27;-3.64;79.68
|
||||
8;2;1.b;1;1;5;-6.02;0.34;90.43
|
||||
8;2;1.b;1;1;6;1.81;4.48;97.34
|
||||
8;2;1.b;1;1;7;12.38;3.8;103.99
|
||||
8;2;1.b;1;1;8;20.76;0.75;107.55
|
||||
8;2;1.b;1;1;9;25.75;-4.11;110.52
|
||||
8;2;2;0;0;0;-10;3.5;55
|
||||
8;2;2.a;0;0;0;-11;3.8;55
|
||||
8;2;2.a;1;0;0;-12;4;56
|
||||
8;2;2.a;1;1;0;-12.71;4.01;56.81
|
||||
8;2;2.a;1;2;0;-12.72;6.24;55.56
|
||||
8;2;2.a;1;2;1;-12.47;6.84;55.83
|
||||
8;2;2.a;1;2;2;-11.67;9.06;57.38
|
||||
8;2;2.a;1;2;3;-11.02;11.72;61.48
|
||||
8;2;2.a;1;2;4;-9.75;12.17;67.31
|
||||
8;2;2.a;1;2;5;-9.43;10.83;75.81
|
||||
8;2;2.a;1;2;6;-6.44;6.43;87.13
|
||||
8;2;2.a;1;2;7;-6.27;6.43;87.24
|
||||
8;2;2.a;1;2;8;-0.52;5.56;95.39
|
||||
8;2;2.a;1;2;9;5.08;5.72;103.16
|
||||
8;2;2.a;1;2;10;14.45;10.9;109.95
|
||||
8;2;2.a;1;2;11;20.55;14.27;115.06
|
||||
8;2;2.a;1;2;12;27.62;19.03;119.15
|
||||
8;2;2.a;1;2;13;33.66;20.31;128.17
|
||||
8;2;2.b;0;0;0;-11;4.2;53
|
||||
8;2;2.b;1;0;0;-12;4.3;54
|
||||
8;2;3;0;0;0;-13;1;52
|
||||
8;2;3.a;0;0;0;-14;1.4;53
|
||||
8;2;3.a;1;0;0;-14.2;1.42;53.01
|
||||
8;2;3.a;1;1M;0;-14.5;1.46;53.06
|
||||
8;2;3.a;1;1M;1;-15.06;1.67;52.89
|
||||
8;2;3.a;1;1M;2;-17.62;2.85;54.07
|
||||
8;2;3.a;1;1M;3;-21.45;4.78;61.73
|
||||
8;2;3.a;1;1M;4;-23.42;5.37;72.15
|
||||
8;2;3.a;1;1M;5;-24.31;3.66;88.31
|
||||
8;2;3.a;1;1M;6;-26.05;4.82;106.56
|
||||
8;2;3.a;1;1M;7;-32.94;5.75;118.25
|
||||
8;2;3.a;1;1M;8;-39.95;8.39;126.33
|
||||
8;2;3.a;1;3;0;-12.69;-1.02;52.08
|
||||
8;2;3.a;1;3;1;-14.2;-0.78;52.25
|
||||
8;2;3.a;1;3;2;-20.72;-2.23;53.55
|
||||
8;2;3.a;1;3;3;-27.49;-2.94;56.65
|
||||
8;2;3.a;1;3;4;-36.07;-4.89;61.05
|
||||
8;2;3.a;1;3;5;-41.12;-5.23;69.88
|
||||
8;2;3.a;1;3;6;-42.22;-8.11;82.63
|
||||
8;2;3.a;1;3;7;-37.93;-7.57;96.29
|
||||
8;2;3.a;1;3;8;-33;-7.67;108.67
|
||||
8;2;3.a;1;3;9;-24.07;-4.13;119.04
|
||||
8;2;3.a;1;3;10;-20.9;-2.33;128.29
|
||||
8;2;3.a;1;3;11;-18.5;0.01;136.76
|