hydromodpy.simulation.planning.plan#
Immutable runtime objects describing a resolved simulation plan.
This module is the small contract shared by the planner and the runner. The user-facing TOML remains declarative and compact, while these dataclasses store the expanded execution schedule the runtime can consume directly.
The main design choice is to keep these objects frozen and explicit:
one
ProcessRunrepresents exactly one process/solver pair,dependencies are stored as concrete upstream run ids,
the
SimulationPlanpreserves the execution order chosen by the planner.
That makes the schedule easy to inspect in tests, logs, and debugging sessions without re-reading or re-interpreting the original configuration file.
RunContext and RunExecutionResult live here so that both the runner
and the adapters share a single import source without circular dependencies.
Classes
|
One concrete execution unit produced by the planner. |
|
Resolved runtime context passed to one solver adapter. |
|
Payload returned by a solver adapter after one run completes. |
|
Resolved execution schedule ready for runtime orchestration. |