PlantSimEngine
Overview
PlantSimEngine
defines a framework for declaring processes and implementing associated models for their simulation. The package focuses on key aspects of simulation and modelling:
- easy definition of new processes, which can really be any process such as light interception, photosynthesis, growth, soil water transfer...
- easy, interactive prototyping of models, with constraints to help users avoid errors, but sensible defaults to avoid over-complicating the model writing process
- no hassle, the package manages automatically input and output variables, time-steps, objects, model coupling, and model switching
- (very) fast computing, think of 100th of nanoseconds for the full energy balance of a leaf (see PlantBiophysics.jl that uses PlantSimEngine)
- easily scalable, with methods for computing over objects, time-steps and even Multi-Scale Tree Graphs
- composable: use Unitful to propagate units, use MonteCarloMeasurements.jl to propagate measurement error
Installation
To install the package, enter the Julia package manager mode by pressing ]
in the REPL, and execute the following command:
add PlantSimEngine
To use the package, execute this command from the Julia REPL:
using PlantSimEngine
Make it yours
The package is developed so anyone can easily implement plant/crop models, use it freely and as you want, we have an MIT license.
If you develop such tools and it is not on the list yet, please make a PR or contact me so we can add it! 😃
Projects that use PlantSimEngine
Take a look at these projects that use PlantSimEngine: