Data-oriented, plugin-extensible next-generation computational engine for EPA SWMM—reentrant design, Structure of Arrays core, and a domain-split C API. The same trusted physics, evolved for modern workflows.
Born from a coalition of academic leaders, engineering pioneers, and the open-source community, the SWMM2D project moves the industry’s core simulation stack from a federal legacy artifact into a dynamic, professional standard.
SWMM2D represents the most significant evolutionary leap in hydraulic modeling since the release of EPA SWMM 5. Stewarded by the American Society of Civil Engineers (ASCE) and the Environmental & Water Resources Institute (EWRI), SWMM2D is not just a rewrite—it is a re-imagining of critical infrastructure software.
We are moving beyond the limitations of single-threaded government code to build a high-performance, community-governed utility that secures the digital supply chain for the next thirty years of urban resilience.
By rebuilding the engine in modern C++20 with a data-oriented layout and reentrant API design, we have eliminated global state and opened the door to multiple independent simulations in one process. Performance and clarity go hand in hand.
.inp with extension options and new sections
/* Reentrant design: global state removed; simulation state lives behind an opaque SWMM_Engine handle. Full symbols in: swmm2d_engine.h — swmm2d.engine #include <swmm2d_engine.h> /* Model build, step loop, plugins, hot start — see domain headers */
The same trusted physics you have relied on for decades, now powered by an engine built for the era of cloud computing and digital twins.
New engine in C++20 with Structure of Arrays data layout for cache efficiency; legacy EPA SWMM 5.x solver preserved under src/legacy/.
Multiple independent simulations in one process—no hidden global state. Built for embedding, servers, and parallel workflows.
ArchitectureComprehensive C headers by domain replace the monolithic legacy interface—clear lifecycle, model build, hydraulics, quality, and more.
APIA plugin architecture allowing researchers to add new water quality and green infrastructure algorithms without destabilizing the core solver.
ExtensibleRun massive, city-wide ensemble models in the cloud. Purpose-built containers for climate resilience planning at any scale.
CloudIngest live sensor data and adjust control logic on the fly. Power the nervous system of smart cities with continuous optimization.
IntelligencePriorities are organized by theme, not strict release targets, because scientific software timelines depend on validation rigor and community bandwidth. A core theme is advection-dispersion transport from overland to pipe and groundwater domains, with release assignments updated as work matures through experimental branches. Read the full roadmap.
The current explicit solver for 1D flow routing imposes Courant-limited time steps in steep or rapidly varying flows. An implicit (or semi-implicit) full Saint-Venant formulation is planned to improve stability across subcritical, supercritical, and mixed-regime conditions while preserving compatibility with current input formats.
Focuses on advection-dispersion transport: 1D ADE in pipes, 2D or quasi-2D ADE overland, and ADE coupling into groundwater. A unified multispecies reaction framework then applies across all ADE-enabled domains once transport pathways are in place.
The public roadmap prioritizes new sediment and thermal modeling capabilities, including erosion/deposition workflows, routing in channels and pipes, and coupled heat transport from catchment to receiving waters.
Status tracking remains public and release-updated, and users directly influence priorities through GitHub discussions, proposal feedback, and issue-level input that is reviewed during roadmap updates.
We are moving beyond the limitations of single-threaded government code to build a high-performance, community-governed utility that secures the digital supply chain for the next thirty years of urban resilience.
The platform centers on a domain-split C API and plugin interfaces so engineers can embed the solver cleanly—whether from Python, .NET, or cloud services—and integrate with data science, real-time control, and design automation.
It is the same trusted physics you have relied on for decades, now powered by an engine built for the era of cloud computing and digital twins. With community governance through ASCE-EWRI, SWMM2D ensures that the future of hydraulic modeling is transparent, peer-reviewed, and driven by the engineers who depend on it.
We envision a future where SWMM2D powers the nervous system of smart cities—continuously optimizing flood defenses and water quality with the speed and reliability that only a thread-safe, professional open-source standard can provide.
SWMM2D contributions follow an open governance model with explicit review requirements, CI gates, and documentation standards to protect scientific reproducibility.
Start from `dev`, open or reference an issue, add tests with your change, and submit a PR with documented rationale. Bugfix and feature branch naming conventions are defined in the contributing guide.
Read Contribution GuideEvery PR requires Technical Manager, AI copilot, and community approvals. CI must pass build, tests, regression checks, static analysis, and documentation generation before merge.
Read Contribution GuidePriorities are maintained in the roadmap and shaped by community discussions. Major formulation changes follow a structured proposal, feedback, and validation process.
Explore Roadmap DetailsRead the generated API documentation online, track active development on GitHub, and join the community shaping the next generation of SWMM.
Quick answers about SWMM2D, official documentation, roadmap status, and contributor workflow.
SWMM2D is a community-driven, open-source continuation of the EPA Storm Water Management Model (SWMM). Version 6 is a major modernization of the computational engine: data-oriented design, a reentrant SWMM_Engine API, plugin-based I/O, and a domain-split C API. The legacy SWMM 5.x solver remains available under src/legacy/.
Generated documentation (overview, headers, and API reference) is published here: swmm2d.engine.
Active development is tracked on GitHub.
Use the full-page readers: Roadmap and Contributing Guide. Both pages load content directly from the markdown source files so updates appear automatically on refresh.
The project preserves backward-compatible .inp input while extending it with new options and sections. Hydraulic and process improvements are being integrated in a way that aims to remain compatible with existing workflows; always check release notes and verification guidance for your use case.
The community works with organizations including ASCE’s Environmental and Water Resources Institute (EWRI) toward long-term sustainability of the SWMM codebase. This site highlights ASCE-EWRI stewardship alongside open-source contributors.