Skip to main content

Unified CLI for reproducible and auditable Agentic SWMM workflows.

Project description

Agentic SWMM Workflow

Agentic SWMM logo with agentic robot, stormwater system, and SWMM wordmark

Demo Live — aiswmm.com/demo CI status PyPI version Codecov coverage Docker reproducible environment MIT license Built by Zhonghao PyPI downloads (total)

Pre-1.0 · stable v0.7.4 · pip install aiswmm==0.7.4 · CHANGELOG

🚧 In active development: a UI that will become the primary interface, replacing CLI-first UX.

Agentic SWMM for reproducible stormwater modeling
aiswmm runtime + Skills + MCP + SWMM + verification-first workflow + Obsidian-compatible audit · also compatible with Codex, OpenClaw, and Hermes Agent.

A five-minute, one-command Agentic SWMM workflow that is auditable, memory-informed, and agent-ready.

Try our Live Demo at aiswmm.com

Great news: Our paper has been officially published in AI for Engineering, an MDPI journal, on June 9, 2026. Paper

Project Overview

Agentic SWMM is an open-source, verification-first framework for reproducible and extensible stormwater modelling, starting with EPA SWMM. It connects QGIS-based preprocessing, SWMManywhere-based synthetic model generation, deterministic SWMM execution, QA checks, provenance tracking, calibration support, documentation, and modelling memory, while keeping human modellers in control.

The goal is not to replace SWMM or the modeller, but to build an agentic modelling layer that makes stormwater-modelling workflows easier to reproduce, audit, extend, remember, and trust. Agentic SWMM comes with aiswmm as its built-in runtime. Users can describe a modelling goal in natural language, while model execution remains deterministic, inspectable, and artifact-based. The repository's MCP servers and Skills can also be used with other agent runtimes, including Codex, Claude, OpenClaw, and Hermes.

This is not a simple chat-to-SWMM wrapper. The aiswmm runtime can help coordinate the workflow, but model files, SWMM runs, QA checks, plots, provenance records, audit notes, and modelling memory remain visible as reusable artifacts. Modelling memory can summarize repeated problems and propose Skill refinements, but accepted changes still require human review and benchmark verification.

Authors: Zhonghao Zhang & Caterina Valeo
License: MIT

Introduction video Preprint on EarthArXiv Zenodo DOI latest release v0.7.4

Why this project exists

Stormwater modelling is rarely one command. A typical SWMM project can involve GIS preprocessing, rainfall formatting, parameter assignment, network assembly, INP construction, model execution, QA checks, plots, calibration, uncertainty analysis, and reporting.

Agentic SWMM provides a middle path: natural-language orchestration with deterministic SWMM execution, explicit provenance, project memory, and verification-first modelling.

What makes it different

  • Quick onboarding: start from one-line macOS/Linux or Windows installers, with Docker and Python package paths documented separately.
  • Agent-guided, SWMM-grounded: agents can coordinate tasks, while model execution stays deterministic, inspectable, and CLI-runnable.
  • Modular skill layer: GIS, climate, building, running, plotting, calibration, uncertainty, audit, and orchestration are separated into reusable modules with MCP interfaces where available.
  • Verification-first provenance: build, run, audit, and comparison stages emit traceable artifacts before outputs are treated as evidence.
  • Supervised skill evolution: audited runs can surface recurring workflow patterns and propose updates to existing skills or new skills, while staying coupled to the current skill-driven framework.

Meet your agent in about five minutes

macOS and Linux:

curl -fsSL https://aiswmm.com/install.sh | bash

Windows PowerShell:

irm https://aiswmm.com/install.ps1 | iex

Reproducible run (pinned Docker image, v0.7.4) — no local install:

docker run --rm -v "$PWD/runs:/app/runs" ghcr.io/zhonghao1995/agentic-swmm-workflow:v0.7.4 acceptance

After installation, launch the runtime with aiswmm.

One-line installers run a remote script — review it first if you want to see what executes. The installer can set up your OpenAI API key, or you can configure one later via your shell; see API key configuration. Never paste API keys into the aiswmm conversation.

Three ways in — one-line installer, Docker, or pip — compared side by side (what you get, prerequisites, reproducibility, when to pick each): choosing an install path.

Workflow

Agentic SWMM modeling memory and controlled skill evolution loop

The workflow has three connected layers: execution, modeling memory, and controlled skill evolution. Natural-language requests can trigger reproducible SWMM actions; audited artifacts update human-readable and machine-readable memory; repeated patterns can produce skill-refinement proposals that still require human review and benchmark verification.

What a run can produce

  • generated or supplied SWMM input files such as model.inp
  • SWMM report and binary outputs such as .rpt and .out
  • manifests, command traces, QA summaries, and parsed peak-flow metrics
  • rainfall-runoff figures, calibration summaries, and fuzzy uncertainty summaries
  • audit records: experiment_provenance.json, comparison.json, and experiment_note.md
  • Obsidian-ready modelling notes and modelling-memory summaries

Agentic SWMM live demo — Greenwich Peninsula: synthesised network on a map, agent chat, artifacts (model.inp, model.rpt, subcatchments.geojson, graph.parquet, network_map.png), and a deterministic audit record

▶ Try the live demo — Greenwich Peninsula: SWMManywhere synthesis → swmm5 run → audit → render, end to end in the browser.

Validation snapshot

The repository includes runnable benchmarks and research previews with different evidence boundaries. The README keeps only the index; figures, commands, and boundary notes live in Validation evidence.

Path What it shows Evidence boundary
Information-loss-guided subcatchment partition QGIS-to-Agentic SWMM preprocessing using entropy and fuzzy-similarity concepts from Zhang & Valeo's Journal of Hydrology paper GIS preprocessing concept, not a calibrated SWMM performance claim
Raw GeoPackage-to-INP benchmark Public TUFLOW GeoPackage layers converted into SWMM-ready artifacts, QA, and audit Structured raw GIS path, not arbitrary CAD/GIS recognition
Prepared-input SWMM benchmark External 40-subcatchment Tecnopolo model execution, plotting, and direct swmm5 comparison Prepared INP validation path
Prior Monte Carlo uncertainty smoke Tecnopolo HORTON parameter perturbation and hydrograph envelope preview Prior uncertainty smoke, not calibration
Optional INP-derived raw adapter benchmark Raw-like inputs extracted from a public SWMM fixture and rebuilt through the modular path Adapter handoff check, not greenfield watershed generation
Cross-environment byte-identical reproducibility A natural-language prompt (Run the Tecnopolo (Rome 1994) demo) drives the aiswmm chain (LLM agent → MCP → swmm-runner skill) to the same byte-identical model.out as bare swmm5, across macOS and Docker. v0.7.1 re-verification: the minimum natural-language prompt length for this chain is now 11 words, and the model.out SHA256 remains identical across the v0.7.0 → v0.7.1 minor revision. SWMM execution-layer reproducibility, not agentic workflow reproducibility
LLM-driven dispatch + data-scarce urban modeling (SWMManywhere) A single natural-language sentence referring only to a WGS84 bounding box drives the end-to-end SWMManywhere → SWMM → audit → network-map workflow on two independent regions (Greenwich Peninsula and NYC Midtown, ~1 km² each) — no shapefile, no DEM file, no step-by-step tool instructions. Synthesis is the work of SWMManywhere (Imperial College London, BSD-3-Clause). Agent-side plumbing for data-scarce baseline modeling; not a calibrated or validated network. Calibration is next-milestone scope.
Cross-session memory autonomous activation An 11-word user prompt drove a complete Tecnopolo run on 2026-05-28 during which the LLM autonomously queried recall_session_history and recovered two prior Tecnopolo sessions from 12 days earlier — the first user-observable activation of the memory layer on a real production run. Memory layer fires correctly and shapes planner decisions; staleness weighting and negative-precedent handling are next-milestone scope.

Examples: TUFLOW and Tecnopolo.

Audit and research memory

The audit layer consolidates artifacts, QA checks, and metric provenance into an Obsidian-compatible experiment note. This example catches a recorded peak-flow value that does not match the value re-parsed from the SWMM report source section.

Experiment audit comparison showing a peak-flow provenance mismatch

The downstream modelling-memory layer can summarize audited run histories into recurring failure patterns, assumptions, missing evidence, QA issues, lessons learned, and controlled proposals for updating existing skills or creating new skills. Because skills drive the workflow, these proposals stay coupled to the current Agentic SWMM framework and still require human review and benchmark verification before acceptance.

More details: Experiment audit framework and Modeling memory and skill evolution.

Learn more about the ecosystem

Agentic SWMM is the SWMM engine within a larger effort toward a trustworthy, auditable, fully automated urban-hydrology modelling platform: a top-level agentic runtime orchestrating engine-specific automation on top of a shared data-to-model front end.

Project Role in the ecosystem Status
agentic-hydrology-platform Orchestration layer — top-level agentic runtime that governs data, model selection, runs, and audit across the engine branches LSTM catchment-modelling pipeline live; cross-engine (SWMM / MIKE+) orchestration in progress
SWMMCanada Data & model-building layer — ingests and cleans GIS / open data and synthesises reliable model files; the shared front end for the engines. Agentic SWMM consumes it as an upstream INP source via fetch_swmm_from_canada (real municipal pipes for 7 Canadian cities) SWMM today; extending to MIKE+ and InfoWorks ICM
Agentic SWMM (this repository) SWMM engine — verification-first EPA SWMM automation (Skills + MCP + deterministic runs + audit) Stable v0.7.4
Agentic-MIKE-Plus MIKE+ engine — headless DHI MIKE+ automation (Skills + MCP), built on the Agentic SWMM design and the same method paper Active development

Codex / Claude / OpenClaw / Hermes ready

Beyond its own aiswmm runtime, the Agentic SWMM workflow can be driven by external agent runtimes — Codex, Claude Code, OpenClaw, or Hermes. For an agent-orchestrated run, preload the agent/memory/ package and point the runtime at the top-level entry skill skills/swmm-end-to-end/SKILL.md, which decides which workflow path to take, which QA gates must pass, and when to stop rather than invent missing inputs.

Install the skills into any skills-aware runtime (Claude Code, Codex, OpenCode, …) with one command:

npx skills add Zhonghao1995/agentic-swmm-workflow

The skills carry the workflow and evidence contracts; pair them with the project install for the executable toolchain (aiswmm CLI, SWMM solver, MCP servers).

More details: Codex runtime path · OpenClaw execution path · Skill installation · MCP runtime integration.

Documentation map

Where collaborators can help

Contributions are welcome in additional SWMM case studies, stronger calibration and validation workflows, DEM / land-use / soil / drainage-asset workflows, new MCP tools, QA testing, tutorials, and interoperability with GIS, ML, and hydrologic toolchains.

Contact:

Citation

GitHub citation metadata is provided in CITATION.cff.

APA repository

Zhang, Z., & Valeo, C. (2026). agentic-swmm-workflow [Computer software]. GitHub. https://github.com/Zhonghao1995/agentic-swmm-workflow

APA manuscript / preprint

Zhang, Z., & Valeo, C. (2026). Agentic Modelling Pipeline: Reproducible Rapid Stormwater Modelling Management System with OpenClaw. https://doi.org/10.31223/X5F47G

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

aiswmm-0.7.4.tar.gz (1.6 MB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

aiswmm-0.7.4-py3-none-any.whl (1.2 MB view details)

Uploaded Python 3

File details

Details for the file aiswmm-0.7.4.tar.gz.

File metadata

  • Download URL: aiswmm-0.7.4.tar.gz
  • Upload date:
  • Size: 1.6 MB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.12

File hashes

Hashes for aiswmm-0.7.4.tar.gz
Algorithm Hash digest
SHA256 8cb3f47185eae16694cadcccab206875035951ce8260873dd52ab95819548efe
MD5 99e0b28fee177d928d7aa7cf54f6fb93
BLAKE2b-256 818e1a00502d700a436115715a123ae15c265c1ecda19e93e2e8c14659f347bd

See more details on using hashes here.

Provenance

The following attestation bundles were made for aiswmm-0.7.4.tar.gz:

Publisher: publish-pypi.yml on Zhonghao1995/agentic-swmm-workflow

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file aiswmm-0.7.4-py3-none-any.whl.

File metadata

  • Download URL: aiswmm-0.7.4-py3-none-any.whl
  • Upload date:
  • Size: 1.2 MB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.12

File hashes

Hashes for aiswmm-0.7.4-py3-none-any.whl
Algorithm Hash digest
SHA256 28061061497be753585a8a2a09494ce797c20466daf578df8a6a436155daafd2
MD5 f6cdc3b39e7c05a4ae097a63f5c98370
BLAKE2b-256 e9cb695a635f6f795b671887796fa643fcade42eaff06ec62b78cc5f7d3b405f

See more details on using hashes here.

Provenance

The following attestation bundles were made for aiswmm-0.7.4-py3-none-any.whl:

Publisher: publish-pypi.yml on Zhonghao1995/agentic-swmm-workflow

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page