| Name | Modified | Size | Downloads / Week |
|---|---|---|---|
| Parent folder | |||
| AquaSWMM-0.11.0-setup.exe | 2026-09-23 | 22.7 MB | |
| aquaswmm-cli-linux-x64.tar.gz | 2026-09-23 | 498.5 kB | |
| aquaswmm-cli-macos.tar.gz | 2026-09-23 | 858.0 kB | |
| aquaswmm-cli-windows-x64.zip | 2026-09-23 | 413.5 kB | |
| AquaSWMM-linux-x64.tar.gz | 2026-09-23 | 11.6 MB | |
| AquaSWMM-macos-universal.zip | 2026-09-23 | 16.2 MB | |
| aquaswmm-web.zip | 2026-09-23 | 66.6 kB | |
| AquaSWMM-windows-x64.zip | 2026-09-23 | 41.2 MB | |
| AquaSWMM-x86_64.AppImage | 2026-09-23 | 24.4 MB | |
| README.md | 2026-09-23 | 11.7 kB | |
| v0.11.0 source code.tar.gz | 2026-09-23 | 3.8 MB | |
| v0.11.0 source code.zip | 2026-09-23 | 4.1 MB | |
| Totals: 12 Items | 125.9 MB | 6 | |
AquaSWMM v0.11.0
The name on the window has been AquaSWMM since 0.10; this release moves everything behind it. The data folder, the environment variables, the executable, the packages and the Python module are all AquaSWMM now, and each one moved behind the thing that makes that safe for an existing install. Nothing in the engine's hydraulics changed; what the app checks and reports about a run did (below).
The manual is at https://mf4633.github.io/stormsewer/manual/.
Changed
%APPDATA%\AquaSWMM(macOS~/Library/Application Support/AquaSWMM, Linux~/.config/aquaswmm). The first run copies a 0.10 install's folder across -- preferences, the recent-file lists, unsaved-work recovery, and the saved window geometry, which lives in the same folder on Windows and macOS. A copy, not a move: going back to 0.10 still works.AQUASWMM_*environment variables. EverySTORMSEWER_*name is still read, so a login script written for an older release keeps working. Where both are set, theAQUASWMM_one wins.AquaSWMM.exe, andAquaSWMM-…release assets. The installer keeps its identity, so an existing install upgrades in place rather than appearing twice in Apps & Features. A portable folder with an olderstormsewer-swmm-bridge32.exebeside the new executable still gets its live 1D-2D coupling: both names are looked for.- Crates and the Python module:
aquaswmm,aquaswmm-swmm,aquaswmm-cli, andimport aquaswmm. None had been published under the old names, so nothing is stranded. -
Scratch runs go under
%TEMP%\AquaSWMM\run\and Compare Runs history under%TEMP%\AquaSWMM\runs\. -
The Model Report carries every input. A new Inputs section lists every data section of the model -- rain gages, subcatchments, subareas, infiltration, nodes, links, cross sections, quality, inflows, curves, time series, patterns, map geometry -- one table per section, every row, under the column names the property sheet uses; a section with several layouts (FREE and FIXED outfalls, the LID layers) is split into tables that say which is which. The Options block now lists every
[OPTIONS]key the model sets, not only the ones that decide the answer, and[REPORT]beside it. The tables are held to EPA SWMM's own input summary: the engine's report withINPUT YESis kept as a fixture and a test checks that both name the same objects with the same values. - Simulation Options → Reporting. A sixth tab writes
[REPORT]:INPUT(YES makes the engine print its own summary of the model, which then appears among the Model Report's summary tables),CONTINUITY,FLOWSTATS,CONTROLS,AVERAGES, and which subcatchments, nodes and links go to the results file. - A report suite in the UI tests. Fifty-five cases each type one value into a surface the editor offers -- the property sheet, its sub-sheets, the Rain Gages, Curves, Time Series, Patterns, Pollutants, Land Uses, Buildup/Washoff, Coverages, Loadings, Treatment, LID, Aquifers, Groundwater, Snow Packs, Unit Hydrographs and RDII, Map Extent and Backdrop dialogs, the Attribute Table (streets, inlets, inlet usage and transects among them), Simulation Options with its Files tab, the Title and Control Rules text, and a map label -- and follow it to the report's blocks, the saved HTML, the saved PDF and the Model Report window, scrolled until it can be seen. Every section the report lists must have a case or a written reason; the reasons are down to evaporation (no dialog writes it), profiles, and the four geometry sections that dragging writes.
- Streets and inlets have named columns.
[STREETS]and[INLETS]rows are shown under the SWMM 5.2 manual's names (crown width, curb height, cross slope, grate type and so on; one layout per inlet type) in the property sheet, the Attribute Table and the report, instead of numbered fields. - Froude numbers. The engine uses them but never writes them out. Each
link's Froude number at its peak flow, and the largest at any time, are
worked out from the results file and the cross section: a Link Froude
Numbers (derived) table in Tables, an FR @ PEAK column in the SWMM
Peaks schedule, and
aquaswmm-swmm froude. - Compare against PCSWMM or the EPA GUI.
aquaswmm-swmm compare a.out b.outtabulates the peak differences between two results files, split into 1D nodes, 2D cells, Connect2D nodes and coupling links for a PCSWMM 1D-2D model. Compare Runs has Add results from file… for the same job in the app. - Right-click → Results File → Include / Leave Out puts the selection
into or out of
[REPORT]NODES,LINKSandSUBCATCHMENTS, which decide whose results the engine writes -- the way to keep the results file of a large model small. - Large models are quick. On a PCSWMM 1D-2D model of 12,650 junctions and 36,724 conduits: opening 2.6 s → 0.4 s, a map frame with the Attribute Table open 223 s → 0.1 s (the table builds only the rows on screen), and selection stays instant with everything selected.
- The Run Status window lists every node whose flow balance is off by 5 % or more, read from the whole Node Inflow Summary rather than the engine's top five.
Fixed
- A run that blew up counted as a success. A continuity error of
nanorinfmeans the solution diverged; the results file beside it holds numbers like outfall peaks of a million cfs. The run is now marked not valid in red, and the status bar, Model Report, scenarios, calibration and the command line (NOT VALID, non-zero exit) all treat it as failed. - Offsets in the wrong convention are one clear error. A model whose
conduit offsets are elevations under
LINK_OFFSETS DEPTH(or depths underELEVATION) gets a single finding on[OPTIONS]saying which, not a warning per pipe end. - Deleting an object broke the next run when
[REPORT]named it: the engine stops with ERROR 209 on a list naming a missing object, and links deleted along with their node were caught the same way. Delete and Rename now carry the lists along. - Options → Reporting edited only the first line of a long list. The
EPA GUI writes a long
NODESlist over several lines; changing or clearing it here left the others in force. Lists are read whole and written back whole, split well under the engine's line limit. - The validator now flags a
[REPORT]list naming something missing (ERROR 209), a model whose lists leave the results file empty (the run "succeeds" and the map is blank), and any line of 1,024 characters or more (ERROR 201). - The results map kept the last run's colours after re-running a saved model, because the new results land at the same path.
-
Ctrl + rubber-band now toggles each object it covers instead of only adding, and Shift + rubber-band no longer selects an object twice.
-
The Attribute Table could not edit a section without a schema. Its numbered columns (
#1,#2, …) were refused on commit, so a transect or any other unnamed row could be looked at but not changed. - The engine's input summary was dropped. With
[REPORT] INPUT YESthe engine prints one table per object type, headings first with no rule above them; the report parser only knew the rule-first shape of the output tables and read those titles with no rows. It reads both now, and tells%Slope Rain Gage(two columns one space apart) fromdays hr:min(one) by the rows beneath and the headings above. - The PDF footer and the HTML disclaimer of every report still said StormSewer.
Found by a new headless audit that opens all 39 editor windows and drives every drag gesture, written so that the four windows v0.10.0 shipped unusable could not have passed it:
- The map status bar cut the tool hint off mid-word, and pushed the status message after it off the bar entirely. Status first; the hint last, ending in an ellipsis when the bar is narrow, with the full text on hover.
- Buildup / Washoff's help text had to be scrolled sideways to read. Both paragraphs sat inside the table's scroll area, where nothing wraps. They now sit below it and wrap.
- Rain Gages cut off its footer note; Land Uses cut off the land-use names in its own name column. Both windows were narrower than their content.
- The DEM path placeholder in 2D Setup was longer than the field.
- The About window had a run of two dozen spaces in the middle of a sentence.
--helplisted nine of the thirteen--dialognames.
Unchanged
- The DXF extended-data application names (
STORMSEWER_STRUCT,STORMSEWER_PIPE,STORMSEWER_CATCHMENT) are stamped into every drawing the app has ever exported and stay as they are. - The repository and the manual stay at github.com/mf4633/stormsewer.
StormSewer v0.10.1
Fixes for four windows in the SWMM editor that shipped unusable in v0.10.0, found by photographing every one of them. Nothing in the hydraulics changed. If you are on 0.10.0, the toolbar fix alone is worth the upgrade: the button that returns to the storm-sewer workspace was not drawn at all.
The manual is at https://mf4633.github.io/stormsewer/manual/.
Fixed
- The editor toolbar dropped controls off its own row. Seventeen labelled
tools,
RunandExtentsleave about 112 px of a 1400 px window, and the snap toggles and workspace switch wanted about 405 px. Nothing wrapped or clipped, so they overlapped: Storm Sewer was never painted and SWMM was clipped by the window edge. The switch moves to the right end of the menu bar, and the snap toggles to View — which already had them, as Snap to Objects and Snap to Grid. Grid spacing moves there with them, under Snap to Grid. (File → Storm Sewer Design Workspace always worked.) - Calibration could not reach its own settings. The window's scrolling body was capped at a height larger than the window ever got, so it never overflowed, never scrolled, and everything below Compose a parameter — the whole Objective and budget section — was unreachable. The body now sizes to the window, and the run buttons sit below it where they cannot scroll away.
- Run 2D drew an empty frame over a lone Close button before a run. It now says what it is waiting for.
- Compare drew nothing below its A/B selectors until two runs existed. It now says so.
- The Calibration Report's export buttons were live with no report, so Save Markdown, Save HTML and Export series CSV would each have written an empty file. They are disabled until a report exists.
Changed
StormSewer --screenshotgained--editorand--dialog NAME, which open the editor workspace and one of fourteen dialogs. This is how the above were found, and the images are reproducible.
Unchanged
- The storm-sewer engine's hydraulics, including Manning's K of 1.486. Sealed sheets produced with v0.9.8 and v0.10.0 reproduce here.
- Results are in U.S. customary units only. SI is still input-only; do not report StormSewer results in SI.
- Everything in the v0.10.0 notes' Not in this release still stands: 2D results are checked against benchmarks and the engine's own totals, not yet against a real project; no mesh refinement around structures, no buildings except as the DEM shows them, no evaporation on the 2D surface, no volume cap on bank-line exchange; scenario batch runs go one at a time.
Full Changelog: https://github.com/mf4633/stormsewer/compare/v0.10.1...v0.11.0