Skip to content

Add hydraulic design-verification extension - #578

Open
thom1505 wants to merge 22 commits into
USEPA:mainfrom
thom1505:feature/design-verification-upstream-review
Open

Add hydraulic design-verification extension#578
thom1505 wants to merge 22 commits into
USEPA:mainfrom
thom1505:feature/design-verification-upstream-review

Conversation

@thom1505

Copy link
Copy Markdown

Summary

This pull request introduces a hydraulic design-verification extension for WNTR.

The extension provides a structured workflow for applying proposed pipe-diameter designs and hydraulic operating scenarios to independent copies of a WNTR water network model and verifying their hydraulic feasibility.

Main capabilities

  • Applies proposed pipe-diameter changes without modifying the original network model.
  • Configures hydraulic operating scenarios for verification.
  • Runs independent WNTR hydraulic simulations.
  • Evaluates minimum junction pressure.
  • Evaluates maximum absolute pipe velocity.
  • Calculates pressure and velocity compliance percentages.
  • Identifies critical nodes, pipes and simulation times.
  • Produces an overall hydraulic feasibility result.
  • Records audit information describing the design and scenario changes applied.
  • Supports verification of pump-related hydraulic conditions where applicable.

Testing

Automated tests were developed to assess:

  • pressure and velocity constraint calculations;
  • pipe-design application;
  • hydraulic-scenario configuration;
  • preservation of the original network model;
  • hydraulic verification outputs;
  • feasibility decisions;
  • audit and diagnostic information; and
  • pump-related verification behaviour.

The relevant tests passed locally before submission.

Purpose

The contribution is intended to support transparent and reproducible verification of proposed water-distribution-network designs while retaining the WNTR hydraulic simulator as the independent verification layer.

Notes for reviewers

This pull request is submitted for technical review and feedback. I would welcome recommendations regarding API design, naming, documentation, testing coverage and alignment with WNTR contribution standards.

@thom1505

Copy link
Copy Markdown
Author

Hello, the GitHub Actions workflows for this pull request are currently awaiting maintainer approval. The extension test suite has been run locally on Python 3.12.13, with all 40 tests passing, including the additional pump-curve, incomplete-data, and reverse-flow regression tests. Could a maintainer please approve and run the workflows when convenient? Thank you.

@thom1505

Copy link
Copy Markdown
Author

I have pushed additional commits addressing pressure-exponent configuration, pump-curve edge cases, invalid pump-status observations, and pump diagnostics in batch summaries. The complete local extension test suite currently passes 49 tests. The GitHub workflows are showing “completed with no jobs” and may require maintainer approval before they can run.

@thom1505

Copy link
Copy Markdown
Author

Additional validation has now been completed locally. The hydraulic design-verification extension passes 53 extension tests, including a direct EPANET 2.2 integration test. The broader WNTR quick-test suite also completed with 466 tests passing, 6 skipped, and no failures. The documentation HTML build completed successfully, the files changed by this pull request contain no suspicious Unicode characters, and the

@thom1505

Copy link
Copy Markdown
Author

I have continued strengthening the extension with additional fail-safe validation, regression testing and documentation updates. The extension test suite passes locally. I noticed that the GitHub Actions workflows are awaiting maintainer approval because the pull request originates from a fork. When convenient, I would appreciate approval of the workflow runs so that the upstream checks can execute.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant