swmm-water-qualitylisted
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