Swmm Runner
/install swmm-runner
SWMM Runner (CLI-first)
Part of Agentic SWMM — install the project first for the executable toolchain (aiswmm CLI, SWMM solver, MCP servers).
What this skill provides
- Deterministic execution wrapper around the
swmm5binary. - A standard run directory layout:
inp/,rpt/,out/,stdout,stderr,manifest.json. - Metric extraction read directly from SWMM's own
.rpt:- peak flow + time-of-peak for any junction or outfall;
- Runoff Quantity and Flow Routing continuity tables + continuity error %;
- cross-run comparison (e.g. GUI vs CLI) on continuity error.
When to use this skill
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 tools
mcp/swmm-runner/server.js exposes four tools.
-
swmm_run— runswmm5against an .inp and write rpt + out + stdout + stderr + manifest.json into a run directory.- Args:
inp(path),runDir(path),node(optional),rptName(optional),outName(optional). - When
nodeis 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). - Output: a manifest with inp_sha256, swmm5 version, file paths,
metrics.peak,metrics.continuity.
- Args:
-
swmm_peak— parse peak flow and time-of-peak for a specific node from a SWMM .rpt. Thenodeargument is required (no default; the previous misleading "O1" default has been removed).- Args:
rpt(path),node(required). - Falls back from "Node Inflow Summary" to "Outfall Loading Summary" when no timed inflow entry exists for the node.
- Args:
-
swmm_continuity— parse the Runoff Quantity and Flow Routing continuity tables from a SWMM .rpt.- Args:
rpt(path). - Returns a structured dict with
Continuity Error (%)for both blocks plus all the volume rows (precipitation, evaporation, infiltration, runoff, etc.).
- Args:
-
swmm_compare— compare continuity-error percentages between two .rpt files (e.g. GUI vs CLI parity check).- Args:
rpt,rpt2.
- Args:
Recommended orchestration
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
Conventions
- Read SWMM's own
.rptfor continuity and peak metrics; do not re-implement physics. - Keep units explicit in the .inp; SI preferred (
FLOW_UNITS CMS). - The .rpt's "Node Inflow Summary" is the authoritative peak source for both junctions and outfalls. If a node has only outfall flow (rare), the parser falls back to "Outfall Loading Summary".
Known limitations
swmm_peakrounds to .rpt's 3-decimal display precision. Tiny basins (\x3C ~3 ha) routinely produce peaks of order 1e-4 m³/s that show up as0.000in the .rpt summary; the .out time-series file has the real precision but is not yet consulted (BACKLOG.md M3).swmm_continuityandswmm_peakreturn structured dicts but do not yet support anoutputPathto write them as standalone JSON artifacts; the orchestrator currently captures them via the raw MCP response (BACKLOG.md F10).
- Make sure OpenClaw is installed (local or Docker)
- Run the install command in chat:
/install swmm-runner - After installation, invoke the skill by name or use
/swmm-runner - Provide required inputs per the skill's parameter spec and get structured output
What is Swmm Runner?
Run 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) gene... It is an AI Agent Skill for Claude Code / OpenClaw, with 47 downloads so far.
How do I install Swmm Runner?
Run "/install swmm-runner" in the OpenClaw or Claude Code chat to install it in one step — no extra setup required.
Is Swmm Runner free?
Yes, Swmm Runner is completely free, licensed under MIT-0. You can download, install and use it at no cost.
Which platforms does Swmm Runner support?
Swmm Runner is cross-platform and runs anywhere OpenClaw / Claude Code is available (cross-platform).
Who created Swmm Runner?
It is built and maintained by Zhonghao Zhang (@zhonghao1995); the current version is v0.7.3.