← ClaudeAtlas

swmm-water-qualitylisted

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.
Zhonghao1995/agentic-swmm-workflow · ★ 11 · AI & Automation · score 72
Install: claude install-skill Zhonghao1995/agentic-swmm-workflow
# 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