StormSewer computes peak discharge and hydraulic grade lines for storm drain networks using public-domain methods. The program reads Hydraflow .stm files, LandXML, and DXF, then reports results in a PDF with pipe schedules and a profile. It runs on desktop systems and in a browser without installation.
The analysis covers the Rational method, Manning partial-flow capacity for several conduit shapes, and a standard-step backwater pass with junction losses. Inlet interception follows HEC-22, and auto-sizing selects the smallest pipe that passes velocity and depth criteria. The output can be exported as HTML, CSV, LandXML, or DXF.
A validation document explains every number in a sample report by hand calculation. The same network was run through Hydraflow Storm Sewers and compared line by line. The developer is a water resources engineer who maintains the code as a Rust crate and a Python package.
| Imports Hydraflow STM with per-line inverts and IDF curves | Regression tests verify values match original Hydraflow reports |
| LandXML parser infers outfall from flow-receiving structure | Preserves Civil 3D naming and selects Manning's n by material |
| Rational method accumulates dendritic drainage areas downstream | Reports peak discharge at every junction and outfall |
| Exact geometric formulas for circular, box, elliptical, arch conduits | Auditable normal and critical depth without table lookups |
| Kirpich, TR-55, FAA time of concentration methods | Inlet time applied at owning inlet matching HEC-22 behavior |
| Standard-step gradually-varied-flow profile with flow-regime classification | Handles surcharge, adverse slope, and junction losses |
| HEC-22 access-hole loss with deflection and benching type | Loss coefficient applied during backwater pass per structure |
| Grate, curb, combination, sag inlet interception per HEC-22 | Bypass flow carried to next inlet at own time |
| Smallest catalog diameter meeting velocity and depth criteria | Iterates pipe catalog until passing size found |
| Three-parameter IDF curves with NOAA Atlas 14 auto-fitting | Published precipitation frequency data loads directly |
| DXF underlay with nested blocks and POLYLINE expansion | 51 MB site plan loads in 0.2 seconds |
| PDF report with schedules, scaled schematic, and profile | HGL and EGL lines with stated vertical exaggeration |
| HTML and CSV export of full network analysis | Browser or spreadsheet inspection without desktop application |
| LandXML export reproduces Civil 3D shape byte-for-byte | Round-trip matches original report exactly |
| DXF network export with per-pipe inverts in XDATA | Preserves drops through structures across programs |
| CLI analyzes STM, XML, DXF identically to desktop | Prints inlet schedule for scripting and batch processing |
| WebAssembly engine build runs without graphics driver | Same analysis engine and report output in browser |
| Rust crate and Python package for programmatic workflows | Custom tool integration via published engine bindings |
| Starting HGL seeds backwater pass as tailwater elevation | Parameters panel respects imported elevations without clamping |
| Optional per-pipe invert_up and invert_dn overrides | Preserves real pipe slope entering elevated manhole |
| Outfall rim read from import for freeboard calculation | Missing rim no longer yields negative freeboard |
| Installers for Windows, macOS, Linux with D3D12 fallback | Launches on remote desktop, Citrix VDI, and VMs |
| VALIDATION.md verifies every report number by hand | Side-by-side Hydraflow comparison with explained differences |
| End-to-end tests cover engine, exports, round-trips, CLI | Real Civil 3D project files through every channel |
| Command-line file opening skips tutorial for direct load | Foundation for future double-click file association |
| Version strings read from build metadata, not literals | Test fails on hardcoded version preventing stale shipping |
| Help and About links open real checkout page | Replaces dead links to non-existent account |