More than fifty years of SWMM, organized six ways. Pick the question you have. Each topic page gives you posts to read, apps to try, an example to work through and the code behind it.
The order runs from where SWMM came from, through the inside of SWMM5, to ICM, to SWMM6, and ends with how to compare all of them with AI.
1. SWMM History: SWMM1 to SWMM6
The engines from 1971 to now, rebuilt and running in your browser.
Start with History of SWMM 1, 2, 3, 4, 5 to the Year 2015. Try SWMM 1 Engine.
2. Inside SWMM5
How EPA SWMM 5.2.4 computes runoff, routing and everything between, one app at a time.
Start with Hydraulic Jump, Froude Number and #INSIDE_SWMM5. Try Inside SWMM.
3. SWMM5 and ICM InfoWorks
The same network in two engines, with the Ruby scripts and apps that compare them.
Start with Getting Started with Ruby Scripting for InfoWorks. Try ICMT Explorer for SWMM.
4. ICM InfoWorks and SWMM6
Where OpenSWMM 6 meets ICM, and where they part ways.
Start with How the Control Section Lab Works. Try SWMM and ICM Control Section Lab.
5. Inside SWMM6
OpenSWMM 6 from the source code up: new solvers, 2D, plugins and the GUI.
Start with The Road to SWMM6. Try SWMM6 UX Explorer.
6. Comparing Models with AI
How to use AI to run, check and compare engines without fooling yourself.
Start with The Vibe Coding Paradox. Try Agreement Is the Null.
Older topic pages
These six pages stay up so existing links keep working. Their material now sits inside the six topics above.
- Hydraulics: now part of Inside SWMM5 and Inside SWMM6.
- Hydrology & RDII: now part of Inside SWMM5.
- Engine Comparisons: now part of Comparing Models with AI and the two ICM topics.
- Network Generators: now the source of worked examples across the topics.
- File Formats: now part of SWMM5 and ICM InfoWorks, with older formats under SWMM History.
- Teaching: now the Start here section of every topic.
Every edition of my LinkedIn newsletter ends with the same six links. Subscribe to the newsletter.
Use of AI: Claude (Anthropic) drafted this page in November 2026. It picked the entries from my swmm5.org posts, Netlify apps and GitHub repositories and wrote the one-line descriptions. I chose the six topics and the layout.