Model-level varying timesteps are now available experimentally for MTG simulations
through mapping-declared multi-rate execution and mapping-level ModelSpec transforms
such as TimeStepModel, InputBindings, OutputRouting, and ScopeModel.
Current remaining gaps for this area are:
- no sub-step execution below the meteo base step duration;
- no dedicated event scheduler for irregular/non-fixed calendar execution;
- no threaded/distributed multi-rate MTG execution path yet (multi-rate MTG runs are currently sequential).
A technical draft for scoped multi-rate execution is available here:
A goal for PlantSimEngine down the line is to be able to simulate complex scenes with data comprising several plants, possibly of different species, for agroforestry purposes.
Its current state doesn't enable practical declaration of several plant species, or multiple plants relying on similar subsets of models with partially different models or parameters.
- Implement a trait or a prepass that checks whether weather data is needed, and if so, if it is properly provided to a simulation
- Better dependency graph visualization and information printing
- A reworked and more consistent mapping API, and multiscale dependency declaration
- Improved user errors
- More examples
- Better dependency graph traversal functions
- Ensure cyclic dependency checking and PreviousTimestep is active for ModelLists pathway
- Better tracking of memory usage and type stability
- Working CI/Downstream tests
- state machine checker, validating output invariants
- graph fuzzing for improved corner-case testing
- API enabling iterative builds and validation of ModelMapping
- Build step for the models, i.e. a function that would write a ModelMapping into a Julia script for validation, improved readability and (maybe) performance (no need to traverse the dependency graph anymore).
- Improved parallelisation
- Reintroduce multi-object parallelisation in single-scale
- Examples/solutions for floating-point accumulation errors
- More examples for fitting/type conversion/error propagation
- MTG couple of new features #106
- Other minor bugs
- Unrolling the run! function
- Reproducing another FSPM?
- Diffusion model example?
The full list of issues can be found here