swmm-water-quality

Solid

Complete SWMM engine coverage: pollutant buildup/washoff simulation support and load reporting. Validate water-quality config JSON, build INPs with WQ sections, and extract pollutant load summaries from completed runs.

AI & Automation 21 stars 9 forks Updated 3 days ago MIT

Install

View on GitHub

Quality Score: 78/100

Stars 20%
45
Recency 20%
100
Frontmatter 20%
70
Documentation 15%
100
Issue Health 10%
50
License 10%
100
Description 5%
100

Skill Content

# SWMM Water Quality Skill ## Purpose Complete SWMM engine coverage for pollutant buildup/washoff simulation and load reporting. This skill provides: 1. `validate_wq_config.py` — validate a WQ config JSON before passing it to the builder. 2. `extract_wq_loads.py` — extract WQ load summaries from a SWMM RPT. The water-quality sections (`[POLLUTANTS]`, `[LANDUSES]`, `[COVERAGES]`, `[BUILDUP]`, `[WASHOFF]`, `[LOADINGS]`) are emitted by `skills/swmm-builder/scripts/build_swmm_inp.py` via the `--water-quality-json` flag (see also `build_inp` tool's `water_quality_json` argument). ## Agent tool: `read_wq_loads` Read pollutant load summaries from a completed run's .rpt file. Returns `wq_present=false` for non-WQ runs. ``` read_wq_loads(rpt_path="runs/my_run/model.rpt") ``` Returns a structured JSON with: - `wq_present` (bool) - `pollutants` — sorted list of pollutant names - `runoff_quality_continuity` — mass-balance rows (metric + per-pollutant kg) - `quality_routing_continuity` — routing mass-balance rows - `subcatchment_washoff` — per-subcatchment loads (kg per pollutant) - `link_loads` — per-link transport loads (kg per pollutant) - `outfall_loads` — per-outfall flow stats + pollutant loads ## WQ config JSON schema Top-level keys (all required when the key is present; empty arrays are valid): ```json { "pollutants": [...], "landuses": [...], "coverages": [...], "buildup": [...], "washoff": [...], "loadings": [] } ``` ### `pollutants` entries | Fiel...

Details

Author
Zhonghao1995
Repository
Zhonghao1995/agentic-swmm-workflow
Created
5 months ago
Last Updated
3 days ago
Language
Python
License
MIT

Similar Skills

Semantically similar based on skill content — not just same category

AI & Automation Solid

swmm-design-review

Score a completed SWMM run against a configurable YAML rulebook of design checks — GB50014-style standards for real catchments, or the reference-free physical-plausibility rulebook for synthesized networks. Reads the run's existing manifest.json / model.rpt / model.inp and never re-runs SWMM. Use it post-run for compliance or plausibility review; continuity gating stays with postflight.

21 Updated 3 days ago
Zhonghao1995
AI & Automation Solid

swmm-calibration

Calibration and validation scaffold for EPA SWMM. Use when an agent needs to (1) compare simulated vs observed flow, (2) evaluate candidate parameter sets, (3) rank explicit candidates by an objective, (4) run a bounded random / LHS / adaptive search for the best-fitting parameters, (5) run a publication-grade SCE-UA calibration with KGE as the primary objective and (r, alpha, beta) decomposition reported, or (6) run a DREAM-ZS Bayesian calibration producing a posterior over parameters with Gelman-Rubin convergence checks. Dedicated sensitivity-analysis methods (OAT, Morris, Sobol') now live on the `swmm-uncertainty` skill.

21 Updated 3 days ago
Zhonghao1995
Data & Documents Solid

swmm-network

Build, validate, and route SWMM pipe-network models for urban drainage from raw municipal shapefiles or structured GIS/CAD exports. Use when handling junctions, conduits, outfalls, xsections, network field-mapping configs, or wiring subcatchments to upstream nodes. Requires real pipe data as SHP / GeoJSON / CSV — native CAD (DXF/DWG) is not parsed and must first be exported to one of these. For data-scarce areas where only a bbox is available and no pipe inventory exists, use `swmm-anywhere` instead.

21 Updated 3 days ago
Zhonghao1995