A curated list of open technology projects to sustain a stable climate, energy supply, biodiversity and natural resources.

PyCrop2ML

A free, open-source library for defining and sharing CropML models used to represent the various biological processes involved in crop models.
https://github.com/agriculturalmodelexchangeinitiative/pycrop2ml

Category: Consumption
Sub Category: Agriculture and Nutrition

Keywords

crop-model program-transformation source-to-source transpiler

Keywords from Contributors

crop soil

Last synced: about 20 hours ago
JSON representation

Repository metadata

CropML Python library

README.rst

          =========
Pycrop2ml
=========
..  image:: https://readthedocs.org/projects/pycrop2ml/badge/?version=latest
    :target: http://pycrop2ml.readthedocs.io/en/latest/
    :alt: Documentation Status
 
..  image:: https://github.com/AgriculturalModelExchangeInitiative/PyCrop2ML/actions/workflows/codeql-analysis.yml/badge.svg
    :alt: CodeQL Status
    :target: https://github.com/AgriculturalModelExchangeInitiative/PyCrop2ML/actions/workflows/codeql-analysis.yml

.. image:: https://anaconda.org/amei/pycropml/badges/platforms.svg   
    :target: https://anaconda.org/amei/pycropml

.. image:: https://anaconda.org/amei/pycropml/badges/version.svg
    :target: https://anaconda.org/amei/pycropml

.. {# pkglts, doc

.. #}

A Python library to generate components from Crop2ML declarative language.

For more information, refer to `the documentation`__.

.. __: http://pycrop2ml.readthedocs.io/en/latest/



Installation
============

Using conda
~~~~~~~~~~~

    conda install -c amei -c openalea3 -c conda-forge pycropml
    
Usage
=====

From Platforms to Crop2ML
~~~~~~~~~~~~~~~~~~~~~~~~~

    cyml -c name_of_the_component_repository absolute_path_of_the_output source_language_or_platform

From Crop2ML to Platforms
~~~~~~~~~~~~~~~~~~~~~~~~~

    cyml -p name_of_the_Crop2ML_package target_language_or_platform

        

Citation (CITATION.cff)

# This CITATION.cff file was generated with cffinit.
# Visit https://bit.ly/cffinit to generate yours today!

cff-version: 1.2.0
title: >-
  PyCrop2ML : Python library to exchange and reuse crop
  model compponents between languages and platforms 
message: >-
  If you use this software, please cite it using the
  metadata from this file.
type: software
authors:
  - given-names: Cyrille Ahmed
    family-names: Midingoyi
    affiliation: CIRAD
    email: [email protected]
  - given-names: Christophe
    family-names: Pradal
    email: [email protected]
    affiliation: CIRAD
    orcid: 'https://orcid.org/0000-0002-2555-761X'
  - given-names: 'Andreas '
    family-names: Enders
    affiliation: >-
      Institute of Crop Science and Resource Conservation
      (INRES), University of Bonn, Bonn, Germany,
  - given-names: Davide
    family-names: Fumagalli
    affiliation: Institute for Environment and Sustainability
  - given-names: Patrice
    family-names: Lecharpentier
    affiliation: INRAE
  - given-names: 'Hélène '
    family-names: Raynal
    affiliation: INRAE
  - given-names: 'Marcello '
    family-names: Donatelli
    affiliation: CREAA
  - given-names: Ioannis N.
    family-names: Athanasiadis
    affiliation: 'Wageningen University, Wageningen, The Netherlands'
  - given-names: 'Cheryl '
    family-names: Porter
    affiliation: >-
      Agricultural & Biological Engineering, University of
      Florida, Gainesville, USA
  - given-names: 'Gerrit '
    family-names: Hoogenboom
    affiliation: >-
      Agricultural & Biological Engineering, University of
      Florida, Gainesville, USA
  - given-names: 'Fabio '
    family-names: Oliveira
    affiliation: >-
      Agricultural & Biological Engineering, University of
      Florida, Gainesville, USA
  - given-names: 'Dean '
    family-names: Holzworth
    affiliation: 'CSIRO Agriculture and Food, Toowoomba, Australia'
  - given-names: Pierre
    family-names: Martre
    affiliation: INRAE
    email: [email protected]
repository-code: >-
  https://github.com/AgriculturalModelExchangeInitiative/PyCrop2ML
url: 'https://crop2ml.org'
abstract: >-
  The increasing impact of climate change and variability on
  food security and agriculture, and the need for
  agroecological transition require improving the
  performance of crop simulation models and to model new
  biophysical processes to tackle new challenges. Recently,
  the Agricultural Models Exchange Initiative (AMEI)
  proposed Crop2ML, an open-source modeling framework for
  exchanging and reusing crop model components between
  modeling platforms. This framework provides a unified
  description of model components at a high level of
  abstraction based on shared concepts, lifting constraints
  of modeling platforms through an automatic system that
  transforms high-level models into platform-compliant
  components. This paper presents an approach based on
  reverse engineering to automatically extract and transform
  meta-information and algorithms of existing crop model
  processes into a platform-independent model component. A
  search algorithm using Crop2ML concepts, and a many-to-one
  transformation system was adopted as the main reverse
  engineering techniques to produce high-level models. The
  system consists in parsing the codebase of model
  components from different high-level languages (Python, R,
  Java, C++, C#, and Fortran) using the ANother Tool for
  Language Recognition (ANTLR) parser generator and
  processing the generated syntax trees to produce the
  various model implementations. It is implemented and
  evaluated on three crop model components: an energy
  balance model provided by BioMA platform and two soil
  temperature models provided by SIMPLACE and DSSAT
  platforms. We demonstrated the extensibility of our
  approach with the STICS, OpenAlea, and SiriusQuality
  modeling platforms. CyMLTx is a significant contribution
  towards the interoperability of crop modeling platforms
  and the reuse of crop model components beyond programming
  languages. It will thus contribute to foster model
  intercomparison and improvement activities. 
keywords:
  - Crop2ML
  - AMEI
  - Crop Model
  - DSSAT
  - SimPlace
  - STICS
  - APSIM
  - OpenAlea
  - BioMA
  - RECORD
license: CECILL-C

Owner metadata


GitHub Events

Total
Last Year

Committers metadata

Last synced: 6 days ago

Total Commits: 603
Total Committers: 11
Avg Commits per committer: 54.818
Development Distribution Score (DDS): 0.297

Commits in past year: 59
Committers in past year: 4
Avg Commits per committer in past year: 14.75
Development Distribution Score (DDS) in past year: 0.424

Name Email Commits
cyrillemidingoyi a****i@y****r 424
pradal c****l@i****r 145
Michael Berg-Mohnicke m****g@z****e 14
Cyrille Ahmed MIDINGOYI m****y@S****N 8
lorenefifame l****e@g****m 3
Nicolas Brichet n****t@i****r 3
Cyril c****l@l****n 2
Teiki RAIHAUTI r****i@s****n 1
Nicolas Brichet n****t@i****r 1
MIDINGOYI M****I@l****n 1
Cyrille Ahmed MIDINGOYI m****y@s****n 1

Committer domains:


Issue and Pull Request metadata

Last synced: 2 days ago

Total issues: 36
Total pull requests: 120
Average time to close issues: almost 2 years
Average time to close pull requests: 19 days
Total issue authors: 6
Total pull request authors: 5
Average comments per issue: 0.89
Average comments per pull request: 0.13
Merged pull request: 115
Bot issues: 0
Bot pull requests: 1

Past year issues: 9
Past year pull requests: 37
Past year average time to close issues: about 8 hours
Past year average time to close pull requests: 1 day
Past year issue authors: 4
Past year pull request authors: 4
Past year average comments per issue: 0.56
Past year average comments per pull request: 0.08
Past year merged pull request: 36
Past year bot issues: 0
Past year bot pull requests: 0

More stats: https://issues.ecosyste.ms/repositories/lookup?url=https://github.com/agriculturalmodelexchangeinitiative/pycrop2ml

Top Issue Authors

  • pradal (19)
  • orianebro (9)
  • cyrillemidingoyi (4)
  • plecharpent (2)
  • hol353 (1)
  • PierrickRoyer (1)

Top Pull Request Authors

  • cyrillemidingoyi (92)
  • pradal (20)
  • bergm (6)
  • dependabot[bot] (1)
  • TeikiRaihauti (1)

Top Issue Labels

  • enhancement (3)

Top Pull Request Labels

  • dependencies (1)

Dependencies

requirements.txt pypi
  • Cython *
  • IPython *
  • antlr4-python3-runtime *
  • graphviz *
  • nbformat *
  • nbsphinx *
  • networkx *
  • numpy *
  • path.py *
  • pydot *
  • pytest *
  • pytest-mock *
  • pyyaml *
  • six *
  • sphinx *
  • unyt *
.github/workflows/codeql-analysis.yml actions
  • actions/checkout v3 composite
  • github/codeql-action/analyze v2 composite
  • github/codeql-action/autobuild v2 composite
  • github/codeql-action/init v2 composite
.github/workflows/conda-package-build.yml actions
  • actions/checkout v3 composite
  • haya14busa/action-cond v1 composite
  • openalea/action-build-publish-anaconda v0.1.4 composite
Dockerfile docker
  • continuumio/conda-ci-linux-64-python3.7 latest build
setup.py pypi

Score: 6.135564891081739