run_verification_batch#

module wntr.extensions.design_verification.batch

run_verification_batch(wn, scenarios, *, designs=None, simulators=('WNTRSimulator',), minimum_pressure_m=15.0, maximum_velocity_mps=2.5, required_compliance_pct=100.0, pressure_tolerance_m=0.0, velocity_tolerance_mps=0.0, continue_on_error=True, retain_hydraulic_results=False)[source]#

Run every requested design-scenario-simulator combination.

Parameters:
  • wn (WaterNetworkModel) – Original WNTR water-distribution network.

  • scenarios (Sequence[HydraulicScenario]) – Hydraulic scenarios containing WNTR time and hydraulic options.

  • designs (Sequence[PipeDesign | None] or None, optional) – Pipe-diameter designs to assess. Use None for the unchanged baseline network. When omitted, only the baseline is assessed.

  • simulators (Sequence[str] or str, optional) – WNTRSimulator or EpanetSimulator, or a sequence containing those names.

  • minimum_pressure_m (float, optional) – Minimum acceptable junction pressure.

  • maximum_velocity_mps (float, optional) – Maximum acceptable absolute pipe velocity.

  • required_compliance_pct (float, optional) – Required pressure and velocity compliance percentage.

  • pressure_tolerance_m (float, optional) – Numerical tolerance below the minimum pressure limit.

  • velocity_tolerance_mps (float, optional) – Numerical tolerance above the maximum velocity limit.

  • continue_on_error (bool, optional) – Record an experiment failure and continue when True.

  • retain_hydraulic_results (bool, optional) – Retain raw hydraulic result objects in returned records.

Returns:

  • summary (pd.DataFrame) – One row per requested experiment.

  • records (dict) – Detailed records keyed by experiment ID.

Return type:

tuple[DataFrame, dict[str, dict[str, Any]]]