PlantSimEngine: A Simulation Engine For The Soil-Plant-Atmosphere System - INRAE - Institut national de recherche pour l’agriculture, l’alimentation et l’environnement
Article Dans Une Revue Journal of Open Source Software Année : 2023

PlantSimEngine: A Simulation Engine For The Soil-Plant-Atmosphere System

Résumé

PlantSimEngine provides a high-level interface for model generation for the simulation and modelling of plants, soil and atmosphere, with a focus on ease of use and computational efficiency. It is designed to help researchers and practitioners prototype, implement and evaluate plant or crop models at any scale, without the hassle of technical computer science details. The package defines a framework for declaring processes and implementing associated models for their simulation, with key features including but not limited to: Easy definition of new processes, such as light interception, photosynthesis, growth, soil water transfer, etc… • Fast, interactive prototyping of models, with constraints to help users avoid errors, but sensible defaults to avoid over-complicating the model writing process • Automatically manage input and output variables, time-steps, objects, coupling of models with a dependency graph • Switch between models without changing any code, with a simple syntax to define the model to use for a given process • Reduce the degrees of freedom by fixing variables, passing measurements, or using a simpler model for a given process • Fast computation, with 100th of nanoseconds for one model, two coupled models (see this benchmark script), or the full energy balance of a leaf using PlantBiophysics.jl (Vezy & Treillou, 2023), a package that uses PlantSimEngine • Out of the box sequential, parallel (multi-threaded) or distributed (multi-process) computations over objects, time-steps and independent processes (thanks to Floops.jl) • Easily scalable, with methods for computing over objects, time-steps and even Multi-Scale Tree Graphs (Vezy, 2023) • Composable, allowing the use of any types as inputs such as Unitful to propagate units, or MonteCarloMeasurements.jl (Carlson, 2020) to propagate measurement error

Mots clés

Fichier principal
Vignette du fichier
Vezy_joss_2023.pdf (203.67 Ko) Télécharger le fichier
Origine Fichiers produits par l'(les) auteur(s)
Licence

Dates et versions

hal-04166660 , version 1 (20-07-2023)

Licence

Identifiants

Citer

Rémi Vezy. PlantSimEngine: A Simulation Engine For The Soil-Plant-Atmosphere System. Journal of Open Source Software, 2023, 8, ⟨10.21105/joss.05371⟩. ⟨hal-04166660⟩
25 Consultations
35 Téléchargements

Altmetric

Partager

More