hydromodpy.solver.base.registry#
Single (process_type, solver_name) → adapter class registry.
This module is the canonical merge of the historical registries that used to
live in solver/compatibility (class-based) and simulation/adapters
(instance-based). It now serves both consumers:
Adapter authors register their class here (or via the
hydromodpy.solverentry-points group, seeload_plugins()).The simulation runner asks for an instance through
get_solver_adapter(), which instantiates the registered class on demand. This matches the lifecycle intent ofSolverAdapter(one adapter = one run) while preserving the lightweight semantics of a static catalog.
The module also tracks output extractors keyed on the same
(process_type, solver_name) pair. Extractors parse raw solver outputs
into the SimulationCatalog after a run completes.
Built-in adapters and extractors shipped in-tree are declared as dotted
paths and imported lazily on first lookup. That keeps
hydromodpy.simulation free of eager imports of hydromodpy.solver
concrete backends at package-load time.
Functions
|
Return the declared runtime capabilities for one adapter pair. |
|
Return the adapter class registered for the given pair. |
|
Return the extractor class for |
|
Return a freshly-instantiated extractor, or |
|
Return a freshly-instantiated adapter for |
|
Return |
|
Return |
|
Return the set of process types declared by any registered adapter. |
|
Return all |
|
Return all known pairs, sorted for stable output. |
|
Discover and register extractors declared via the |
|
Discover and register adapters declared via the |
|
Yield all known pairs whose process type matches. |
|
Register an adapter class for a |
|
Register an extractor class for a |
|
Return the earlier capability requirements declared by one adapter. |
|
Remove an adapter entry (primarily for tests). |
|
Remove an extractor entry (primarily for tests). |