hydromodpy.simulation.planning.planner#

Translate declarative simulation config into an executable simulation plan.

The planner is the boundary between “what the user requested” and “what the runner can execute”. The input SimulationConfig stays declarative, but it is now intentionally constrained:

  • at most one flow process,

  • at most one transport process,

  • one process can still list several solvers.

This module normalizes that into a flat ordered list of ProcessRun objects with explicit backward dependencies and a deterministic order. The planner deliberately does not reorder anything: the user-declared order is kept, and it simply validates that every required dependency is already provided by an earlier run.

Classes

SimulationPlanner()

Validate simulation config and emit concrete runnable units.