Crop2ML & CyML : un méta-langage et un traducteur de modèles de cultures inter-plateformes de simulation, au service de la communauté internationale

Dans un contexte de changement climatique et de sécurité alimentaire, accélérer le partage et la réutilisation d’outils et résultats de recherche sur les plantes cultivées est un enjeu central. La communauté internationale des modélisateurs des cultures, qui utilise plusieurs langages informatiques et plateformes de simulation, rencontrait un frein à lever : comment recourir à un composant de modèle de croissance de culture écrit dans un langage donné pour une plateforme de simulation de cultures donnée, sans avoir à le réécrire dans un autre langage pour l’utiliser sur une autre plateforme ? Après la définition d’un métalangage commun à la communauté, Crop2ML, un traducteur numérique, CyML, vient répondre à leur attente ; ce langage de programmation évite de multiples conversions et facilite le partage. Les modèles CyML produits à partir des composants sources sont traduits vers différents langages et utilisés sur les plateformes cibles grâce à des transpondeurs.  Son application web, disponible courant 2020, permettra aux non-informaticiens de comprendre les modèles partagés et de les réutiliser. Ce traducteur a été développé par Cyrille Midingoyi, doctorant #DigitAg-INRAE à l’UMR LEPSE de Montpellier. Pierre Martre, son encadrant, nous explique le combo métalangage Crop2ML + langage/transcompilateur CyML et leur intérêt. Les résultats de l’équipe ont été présentés lors du colloque international iCROPM2020 soutenu par #DigitAg, qui s’est tenu à Montpellier en février dernier.

Les modèles de simulation des cultures basés sur les processus sont des outils répandus pour analyser et prévoir la réponse des systèmes de productions agricoles aux facteurs climatiques, agronomiques et génétiques. Ces modèles sont souvent développés sur des plateformes de simulation de cultures pour assurer leur développement et coupler différents modèles de cultures avec un modèle de sol et un programmateur d’événements de gestion des cultures. Ainsi, un modèle de fonctionnement de culture traduira la dynamique de l’évolution des cultures sous différentes conditions abiotiques du milieu (température, eau et rayonnement), pour différents sols et climats. Cependant, ces modèles sont écrits dans différents langages de programmation, sur différentes plateformes qui utilisent différents formalismes, et même lorsque des approches modulaires et des techniques de réutilisation sont proposées par les plateformes, il y a peu d’échanges de composants d’un modèle de culture entre elles malgré leurs intérêts.

L’initiative d’échange de modèles agricoles (AMEI) et son métalangage Crop2ML

L’Initiative internationale d’échange de modèles de culture (AMEI) est née du besoin de faciliter les comparaisons entre modèles de cultures et les échanges de composants de modèles et l’ambition de mettre en place un outil partagé par l’ensemble de la communauté. Dès 2015 les responsables des principales plateformes leaders du domaine se sont réunis, l’adhésion de tous était indispensable à la réussite du projet. L’initiative AMEI « Agricultural Model Exchange Initiative » issue de leurs échanges regroupe des équipes françaises d’INRAE et du Cirad, membres de #DigitAg (UMR LESPE, MIAT et AGAP), associées à des chercheurs allemands (Université de Bonn), italiens (CREA Bologna), américains (University of Florida), australiens (CSIRO), du JRC de la Commission européenne (Ispra, Italy), et des néerlandais de Wageningen University & Research (WUR), plus spécialisés sur les données et les ontologies.

« Les modèles, génériques ou spécialisés par culture, sont de plus en plus développés sous forme de composants, qui modélisent la surface foliaire, la photosynthèse, la production de biomasse, la croissance racinaire, etc.  A ce jour, il n’existait pas de système d’échange de composants de modèles entre plateformes de modélisation. C’était un problème car il fallait connaître la plateforme sur laquelle le composant avait été développé pour pouvoir l’extraire et le re-coder pour soi.  Avec cet outil open source, on pourra soit écrire un modèle en partant de zéro, soit éditer, visualiser et modifier les modèles existants, et exporter un modèle codé en Crop2ML (mélange de CyML et de XML) vers une plateforme donnée » explique Pierre Martre.

La communauté européenne Crop Modelling (CropM) et internationale (AgMIP) ont beaucoup pratiqué l’inter-comparaison de modèles de cultures. Pour les améliorer elles disposaient d’un état des lieux de leurs forces et faiblesses, mais elles ont constaté qu’il était difficile de les améliorer. Parce qu’ils ne sont pas toujours bien documentés, et parce que, si on veut tester si le formalisme d’un modèle, une hypothèse de fonctionnement de la plante, marche dans un autre modèle, cela devient difficile, il faut recoder, etc.

Nous en sommes arrivés à l’idée de la nécessité de développer un formalisme unique, ou plutôt de partager un formalisme à partir duquel on puisse traduire toutes les importations/exportations de chaque modèle les uns vers les autres, un système qui interconnecte les modèles entre eux pour les rendre intelligibles pour des analyses, mais aussi pour les documenter de manière standardisée, connaître les hypothèses faites par les modèles, savoir de manière détaillée comment sont modélisés les processus à l’intérieur des modèles, pouvoir alimenter d’autres modèles, pouvoir publier nos modèles via des dépôts sur le web, les rechercher et les trouver.

C’est dans ce cadre qu’a été développé le métalangage Crop2ML. Financer la thèse de Cyrille Midingoyi a accéléré le développement du traducteur CyML et motive la communauté de modélisation des cultures.

La description et l’assemblage des composants du modèle de culture sont indépendants du formalisme des plateformes de simulation et l’échange de composants entre plateforme de simulation est facilité.  Ce métalangage propose un cadre centralisé d’échange et de réutilisation de modèles. Leur réutilisation est prise en compte dès leur conception (méta-information, spécification explicite des entrées/sorties du modèle) et non au moment de leur mise en œuvre.

A ce jour, nous avons défini un format pour exprimer un modèle sur toutes les plateformes de modélisation, avec toutes les informations suffisantes pour ensuite le traduire grâce à CyML selon la plateforme de modélisation considérée et son langage de programmation propre.

On définit les variables en entrée du modèle (par exemple, température, concentration de CO2 dans l’air, date et quantité d’apport d’intrants..), puis l’ensemble des algorithmes et des paramètres associés aux équations et on réalise des tests pour valider le modèle.  Si on prend l’exemple du phénotypage haut-débit des plantes, on a souvent besoin de ré-écrire les modèles selon les variables entrée/sortie mesurées sur le terrain, et cela peut prendre beaucoup de temps, donc le gain est appréciable.

De XML et Cython au langage CyML et à son traducteur

Les métadonnées du modèle sont décrites dans un langage déclaratif (XML), et nous avons décidé d’exprimer toutes les équations en Cython (du Python avec des types de variables du C). A partir de là, nous avons défini un langage, le CyML, sous-ensemble du Cython. Après avoir développé l’ensemble de ce langage, Cyrille a développé un traducteur (transcompileur), pour traduire de façon automatique le CyML dans tous les langages de programmation utilisés sur les différentes plateformes. Concrètement, on représente un modèle en XML, les équations en CyML et on traduit le CyML vers les langages de programmation des plateformes de simulation (C++, R, Python, etc.).

La structuration est terminée et nous avons des traducteurs qui fonctionnent de manière automatique sur plusieurs plateformes. Nous sommes en phase de consolidation, et d’inclusion de nouveaux modèles. Après OpenAlea, Cyrille a démarré l’inclusion de la plateforme RECORD et du modèle Stics. Nous travaillons aussi pour celles du JRC européen, BioMA, et les plateformes allemande SIMPLACE , australienne (APSIM) et américaine (DSSAT).

Une application web pour ouvrir les modèles et faciliter leur compréhension par les non-informaticiens

L’étape suivante pour Crop2ML / CyML, est le développement en cours de son application web par Vincent Armant (soutien informatique #DigitAg). Avec elle, les non-informaticiens pourront comprendre le contenu des modèles partagés et les réutiliser. Un démonstrateur sera disponible courant 2020.

Un prototype d’interface et un logiciel (PyCrop2ML) ont déjà  été développés par Cyrille avec l’aide d’un étudiant (stage également financé par #DIgitAg). L’outil va maintenant se doter d’une interface web pour faciliter son utilisation par des biologistes, sans compétence nécessaire en programmation pour l’utiliser. Cela ouvrira ces modèles assez complexes, les rendra plus accessibles, chacun pourra comprendre comment ils fonctionnent. Il est important de comprendre les sorties des modèles, de ne pas les utiliser comme des « boites noires ».

Ensuite, le mode d’intégration d’un composant de modèle trouvé dans un modèle de culture dépendra des plateformes. Pour certaines, c’est semi-automatique, pour d’autres, cela peut être totalement automatisé, on n’aura plus du tout besoin de programmation. Cela dépendra aussi de l’investissement de chaque plateforme à développer les interfaces nécessaires.

Au-delà de la communauté de recherche, l’outil présente un intérêt pour les sociétés de service. Elles pourraient trouver dans les bibliothèques de modèles ceux qui leur manquent pour leurs propres applications. Le développement et le transfert en seraient accélérés.

Les ontologies en perspective

La suite ? S’appuyer sur les ontologies, faire le lien avec les données pour beaucoup mieux les documenter. A ce jour, nous nous sommes focalisés sur le fonctionnement du système, mais celui-ci prévoit de faire appel à des ontologies, à la fois pour les unités et  les variables, mais aussi pour vérifier la cohérence des modèles. indique Pierre Martre.

Si on prend le cas du phénotypage, quand on estime la surface foliaire par exemple, à partir d’images Sentinel 2 ou d’un drone, ou de mesures destructives sur des plantes, on n’utilise pas la même méthode de mesure de la variable, donc on n’a pas tout à fait le même résultat de mesure car on ne mesure pas tout à fait la même chose… et il important de savoir ce qu’on mesure exactement. Autre cas, une hauteur de plante : est-ce qu’on obtient la mesure de plante étendue en l’étirant ou non, pour une céréale, est-ce qu’on mesure à partir du bas de l’épi ou du haut du couvert, etc. Les ontologies nous aiderons à connaître tout cela et à faire les liens entre les variables.

A terme, il devrait aussi y avoir une forte connexion  avec une autre thèse encadrée par Llorenç Cabrera-Bosquet (INRAE LESPE) et Pascal Neveu (INRAE MISTEA) pour développer des ontologies basées sur des équations et des modèles (José Felipe Vargas Rojas : « Combiner le web sémantique et la modélisation pour organiser des données phénotypiques acquises à différentes échelles d’organisation des plantes ». Avec Llorenç, nous travaillons aussi  sur les aspects liens données-modèles. Il a développé des ontologies avec le CGIAR à Montpellier et une équipe de l’Université de Floride.

Et nous faisons de nouveau appel à tout modélisateur qui souhaite contribuer à l’AMEI et au cadre Crop2ML : joignons nos efforts pour développer la prochaine génération de méthodes et d’outils pour la modélisation des cultures !

DANS LE DÉTAIL

Crop2ML est basé sur une architecture déclarative de représentation de modèles modulaires avec un langage de modélisation intermédiaire pour décrire les processus biophysiques et leur transformation en plates-formes existantes.

Crop2ML : (a) d’une transformation combinatoire de modèle à modèle (en haut) à un cadre centralisé de l’échange et la réutilisation de modèles (en bas). (b) Méta-spécifications Crop2ML pour les modèles unitaires (à gauche) et leur composition (à droite). +, un ou plusieurs éléments ; *, zéro ou plusieurs éléments ; ?, zéro ou un élément. (Cyrille Midingoyi, 2020)

Dans Crop2ML, les modèles unitaires et leur composition dans des composants exécutables sont représentés par des concepts bien définis, qui séparent la description d’un modèle et de ses algorithmes. Ces éléments structurés et leurs attributs constituent la grammaire du langage déclaratif et permettent de vérifier si un modèle est conforme à Crop2ML. Les composants des modèles sont représentés par un graphe de modèles pour gérer la complexité et relier les sorties d’un modèle aux entrées d’un autre. Ces concepts et les attributs associés ont été élaborés en collaboration, dans l’optique de l’échange et de la réutilisation des modèles. Étant donné que les algorithmes des modèles sont codés sur différentes plateformes avec différents langages de programmation, il faut un méta-niveau d’abstraction de ces langues qui permet une traduction entièrement automatique vers les langues cibles et fournir des méta-spécifications minimales pour coder les algorithmes. Pour cela,nous avons conçu et mis en œuvre CyML, un système de langage intégré en Cython (Midingoyi et al., 2020). Le CyML est basé sur les règles minimales et suffisantes pour exprimer les algorithmes des modèles proches des expressions mathématiques et sans tenir compte des artefacts des plateformes de simulation.

Le traducteur CyML a été testé avec 2 composants de processus biophysiques de modèles de croissance de la plateforme BioMA pour leur réutilisation sur les plateformes OpenAlea, Stics, RECORD, etc.

Worklfow du transcompileur CyML (Cyrille Midingoyi, 2020)

Un modèle biophysique de fonctionnement de culture traduit la dynamique de l’évolution du  végétal sous différentes conditions abiotiques du milieu (température, eau et rayonnement), et pour différents sols et climats. CyML a été testé avec 2 composants autonomes de l’outil BioMA (Biophysical Model Applications : un bilan d’énergie des cultures et un modèle de phénologie du blé. Encodés en CyML, ces 2 composants ont été converti en langages cibles (Python, Java, R, C++, C#, Fortran), pour les rendre reproductibles quelle que soit leur plateforme de mise en œuvre. Ils ont aussi été exportés vers plusieurs plateformes de simulation (OpenAlea, RECORD, SIMPLACE, DSSAT…) pour les réutiliser par le biais du flux de travail de transpondeurs.

Basé sur le langage Cython, CyML code des modèles dynamiques (en temps discret) pour les mettre en œuvre dans des langages procéduraux (Fortran), orienté objet (Java, C#, C++) et fonctionnels ou de script (R, Python). Un composant de modèle peut être représenté par un ensemble de fonctions (modèles unitaires) avec des entrées/sorties. Chaque fonction implémentée en CyML peut-être automatiquement traduite dans différentes langues à l’aide d’un transcompilateur. L’application web développée pour transposer un modèle CyML dans un langage cible permet de tester interactivement le modèle produit. L’utilisateur peut éditer et exécuter le modèle obtenu, modifier ses valeurs d’entrée et visualiser les résultats générés à l’aide de widgets web interactifs.

En savoir plus

Contacts : pierre.martre [AT] inrae.fr – cyrille.midingoyi [AT] inrae.fr [page doctorant]

Références  les articles correspondants à ces communications sont à paraître

Thèses en cours :

Sur l’initiative AMEI « Agricultural Model Exchange Initiative »

  • GitHub Crop2ML / PyCrop2ML : https://github.com/AgriculturalModelExchangeInitiative
  • Martre Pierre, Donatelli Marcello, Pradal Christophe, Enders Andreas, Ahmed Midingoyi Cyrille, Athanasiadis Ioannis, Fumagalli Davide, Holzworth Dean, Hoogenboom Gerrit, Porter Cheryl, Raynal Hélène, Rizzoli Andrea E., Thorburn P.. 2018. The Agricultural Model Exchange Initiative. In : Abstracts of the 7th AgMIP Global Workshop. IICA. San José : IICA, Résumé, 17-18. AgMIP Global Workshop. 7, San José, Costa Rica, 24 Avril 2018/26 Avril 2018.

 

La communauté iCROP.M

Les modélisateurs des cultures jouent un rôle important dans l’enjeu de la sécurité alimentaire. A travers des leviers comme l’agriculture numérique et l’agroécologie, pour modéliser des systèmes complexes comme pour analyser de l’impact du changement climatique. Il s’agit d’étudier l’adaptation des plantes cultivées à leur environnement (ressource en eau, nutriments, température…) et leur adaptation à des systèmes de culture. Les modèles permettent d’explorer des scenarios climatiques, qui ne pourraient pas être explorés par expérimentation.

La communauté iCROPM est issue du volet CropM (Crop Modelling) du hub européen MACSUR (Modelling European Agriculture with Climate Change for Food Security – ajouter le lien https://www.macsur.eu/)), projet financé par la FACCE-JPI (Joint Programming Initiative for Agriculture, Climate Change, and Food Security – ajouter le lien https://faccejpi.net ). Ce pôle de connaissances a fédéré les chercheurs-modélisateursde 70 instituts dans les domaines de l’élevage, de la culture et de l’économie, pour décrire comment la variabilité et le changement climatiques affecteront les systèmes agricoles régionaux et la production alimentaire eu Europe. La première conférence iCROPM (International Crop Modelling) s’est tenue à la fin de ce programme, à Berlin en 2016.

En février 2020, son second colloque international a rassemblé à Montpellier une communauté en pleine croissance (400 participants de 50 pays), plus jeune… et plus égalitaire, autour des défis :

  • de l’agriculture : le changement climatique, la perte de biodiversité, la sécurité alimentaire, la dégradation des ressources, la numérisation ;
  • de la modélisation des cultures :
    1/ les données massives « big data » (utilisation de méthodes de données à grande échelle et lien avec les modèles de culture/ nouvelles méthodes de production, d’analyse et d’utilisation des données, y compris la fusion de données avec des modèles de cultures) ;
    2/ les innovations en matière de modélisation (la calibration des modèles : protocoles normalisés partagés / les liens avec d’autres modèles et communautés (généticiens, économistes…) / de nombreuses voies différentes pour les modèles de culture ont besoin d’un nouveau départ et d’innovation,
    3/ la crédibilité des études (l’assurance qualité des modèles et des utilisateurs de modèles ? / la nécessité de former les modélisateurs de cultures),
    4/ les objectifs des modèles ( la résolution des problèmes / l’adoption et l’impact et la documentation de l’impact),
    5/ les questions communautaires (formation d’une nouvelle génération de modélisateurs ;  place des femmes dans la communauté scientifique).

En savoir plus :

  • Site du colloque : https://www.icropm2020.org/
  • Voir aussi : L’échelle de la ferme et la modélisation de l’exploitation agricole n’a pas été traitée dans iCROPM. Elle est étudiée par  « Farming System Design », une autre communauté scientifique informelle. Leur prochain colloque sera co-organisé en 2021 par le CIHEAM Montpellier (https://fsd7.sciencesconf.org/)