Install
openclaw skills install swmm-runnerRun EPA SWMM (swmm5) simulations reproducibly and extract key metrics from the report file. Use when an agent needs to (1) run a .inp via swmm5 CLI, (2) generate a run directory with rpt/out + manifest, (3) extract peak flow/time for a node/outfall, (4) parse SWMM continuity (Runoff Quantity / Flow Routing) errors from .rpt, or (5) compare two .rpt files (e.g. GUI vs CLI) for equivalence.
openclaw skills install swmm-runnerPart of Agentic SWMM — install the project first for the executable toolchain (aiswmm CLI, SWMM solver, MCP servers).
swmm5 binary.inp/, rpt/, out/, stdout, stderr, manifest.json..rpt:
Use after a SWMM model is fully assembled (typically by swmm-builder.build_inp) and you need to actually execute it and read back the metrics. Also use to compare two .rpt files for regression / GUI parity.
Do not use this skill to assemble the .inp itself (that's swmm-builder) or to plot the results (that's swmm-plot).
mcp/swmm-runner/server.js exposes four tools.
swmm_run — run swmm5 against an .inp and write rpt + out + stdout + stderr + manifest.json into a run directory.
inp (path), runDir (path), node (optional), rptName (optional), outName (optional).node is omitted, the server auto-detects the first entry from the .inp [OUTFALLS] section so the manifest's peak metric targets a real outfall name (no more silent "O1" default).metrics.peak, metrics.continuity.swmm_peak — parse peak flow and time-of-peak for a specific node from a SWMM .rpt. The node argument is required (no default; the previous misleading "O1" default has been removed).
rpt (path), node (required).swmm_continuity — parse the Runoff Quantity and Flow Routing continuity tables from a SWMM .rpt.
rpt (path).Continuity Error (%) for both blocks plus all the volume rows (precipitation, evaporation, infiltration, runoff, etc.).swmm_compare — compare continuity-error percentages between two .rpt files (e.g. GUI vs CLI parity check).
rpt, rpt2.swmm-builder.build_inp → model.inp
swmm-runner.swmm_run → model.rpt + manifest.json (with peak + continuity)
swmm-runner.swmm_continuity → structured continuity tables
swmm-runner.swmm_peak → peak at a specific node (e.g. for downstream plotting)
↓
hand off to swmm-plot or swmm-experiment-audit
.rpt for continuity and peak metrics; do not re-implement physics.FLOW_UNITS CMS).swmm_peak rounds to .rpt's 3-decimal display precision. Tiny basins (< ~3 ha) routinely produce peaks of order 1e-4 m³/s that show up as 0.000 in the .rpt summary; the .out time-series file has the real precision but is not yet consulted (BACKLOG.md M3).swmm_continuity and swmm_peak return structured dicts but do not yet support an outputPath to write them as standalone JSON artifacts; the orchestrator currently captures them via the raw MCP response (BACKLOG.md F10).