hydromodpy.solver.base.protocol#

Single SolverAdapter Protocol.

Every concrete backend (MODFLOW-NWT, MODFLOW 6, Boussinesq, third-party plugin) implements this same contract so the simulation runner stays solver-agnostic. Adapters conform structurally: there is no base class to inherit from, just four method signatures plus three ClassVar attributes that identify the supported pair and its dependencies.

Classes

RunResult(converged[, output_dir, ...])

Generic outcome dataclass for plugin authors that need richer payloads than RunExecutionResult.

SolverAdapter(*args, **kwargs)

One adapter binds one (process_type, solver_name) pair.