StormSewer


StormSewer — Free Download. Drainage design

StormSewer is a desktop program for gravity storm-drain design and analysis. Draw the network on a scaled aerial or import it from a Civil 3D Storm Sewers .stm file, LandXML or DXF, then run the Rational method, Manning capacity for circular, box, elliptical and arch conduits, and a standard-step HGL/EGL backwater pass with junction losses and tailwater. HEC-22 inlet interception carries bypass from one inlet to the next. Auto-sizing meets velocity and percent-full criteria, and a NOAA Atlas 14 import fits your own IDF coefficients. Reports come out as a submittal PDF with a title block on every page, ruled pipe, structure and inlet schedules, a scaled plan, and a profile with real elevation and station axes. HTML, CSV, LandXML and DXF export as well. The methods are public domain, so the implementation is meant to be readable: every number in the report is worked by hand in the project’s VALIDATION.md.

★★★★★
5.0(1 ratings)
File size: 21.6 MB
The latest version of StormSewer is: 0.10.1
Operating system: Windows, Mac OS, Linux
Languages: English
Price: $0.00 USD (Open Source (GPL-3.0))
  • Civil 3D .stm import. Reads both the standalone Hydraflow Storm Sewers format and the "Storm Sewers for AutoCAD Civil 3D" variant. Carries pipes, structures, per-line inverts, drainage areas, runoff coefficients, inlet times, grate sizes, IDF curves, starting HGL, and junction loss coefficients. Regression tests run real project files from live civil engineering work to verify that every imported value matches the original Hydraflow report.
  • LandXML pipe network import. Handles Civil 3D pipe network exports that store rims and sumps as attributes, one invert per connected pipe, pipe lengths, pipe flow catchment data, and a null structure for the outfall. Infers the outfall from the structure that only receives flow, keeps Civil 3D naming such as "AI-1" and "P5", and selects Manning's n from the pipe material.
  • Rational method peak-flow accumulation. Computes Q = C·i·A down a dendritic pipe network. Accumulates drainage areas from upstream branches, applies the rainfall intensity at the system time of concentration, and reports the peak discharge at every junction and outfall.
  • Manning open-channel hydraulics. Calculates normal depth, critical depth, full-flow capacity, maximum capacity, and velocity for circular, box, elliptical, and arch conduits. Uses exact geometric formulas without table lookups, which keeps the results auditable against hand calculations.
  • Time of concentration. Supports Kirpich, NRCS TR-55 sheet flow, and FAA methods. Travel time is accumulated pipe by pipe, and the inlet time is applied at the inlet that owns it rather than at the system's accumulated time, which matches HEC-22 and Hydraflow behavior.
  • HGL backwater profile. Runs a true standard-step gradually-varied-flow profile with flow-regime classification including subcritical, critical, supercritical, and pressurized states. Applies junction losses in the form H = K·V²/2g, seeds the profile with the tailwater elevation, and handles surcharge and adverse-slope conditions.
  • HEC-22 structure losses. Computes access-hole energy loss using relative size, deflection angle, plunging flow, and benching type as an opt-in project setting. The loss coefficient is applied at each structure during the backwater pass and shown in the report schedule.
  • HEC-22 inlet interception. Calculates grate, curb-opening, combination, and sag inlet interception using Izzard gutter spread, frontal and side-flow efficiency, and weir or orifice equations for sag conditions. Bypass flow is carried from one inlet to the next downstream inlet as a separate pass at the inlet's own time.
  • Standard-pipe sizing. Selects the smallest catalog diameter that meets velocity and percent-full criteria in the same style as Hydraflow design checks. Users set the allowable velocity range and maximum depth ratio, and the program iterates through the pipe catalog until a passing size is found.
  • Rainfall IDF curves. Works with three-parameter IDF curves across multiple return periods and applies a frequency factor Cf. Includes NOAA Atlas 14 import with automatic a/b/c coefficient fitting, so users can load published precipitation frequency data directly into a project.
  • DXF underlay import. Reads DXF drawings to use as a scaled site plan underlay. Handles nested block definitions, INSERT expansion, old-style POLYLINE and VERTEX runs, open polylines, ARCs, and paper-space title blocks. A 51 MB site plan loads in 0.2 seconds.
  • Submittal PDF report. Generates a PDF with a title block on every page, ruled pipe, structure, and inlet schedules, a scaled plan schematic, and a profile with real elevation and station axes, HGL and EGL lines, and a stated vertical exaggeration. Users pick the sections and the destination in the Report Options dialog.
  • HTML and CSV export. Produces plain HTML and comma-separated value files of the full network analysis. These formats let users inspect results in a browser or spreadsheet without needing the desktop application.
  • LandXML export. Writes a Civil 3D-style LandXML file with per-pipe inverts, pipe network type information, and structure geometry. The output matches the shape of Civil 3D's own export, so a round-trip reproduces the same report byte for byte.
  • DXF network export. Exports the network geometry as DXF with per-pipe inverts carried in XDATA. This keeps drops through structures intact when the network is moved between programs.
  • Command-line interface. stormsewer-cli reads .ssproj, .ssn, Hydraflow .stm, LandXML .xml, or StormSewer .dxf files, analyzes them exactly as the desktop app does, and prints the inlet schedule to standard output. Useful for scripting and batch processing.
  • Browser build of the engine. The computational core is compiled to WebAssembly and can run in a browser without a graphics driver or installation. This build carries the same analysis engine and report text output as the desktop version.
  • Rust crate and Python package. The engine is published as a Rust crate and a Python package for scripting. Users can drive the analysis programmatically, build custom workflows, and integrate StormSewer results into other tools.
  • Tailwater and starting HGL control. The starting HGL becomes the tailwater seed for the backwater pass, and the Parameters panel respects imported elevations instead of clamping them. Users can tick the tailwater box to start at the outfall invert or enter a known downstream water surface elevation.
  • Per-pipe inverts. Pipes carry optional invert_up and invert_dn values that override the structure invert. This keeps a pipe entering a manhole above the outlet invert at its real slope instead of being re-sloped to the structure, and the values are used by the engine, the profile, and both importers.
  • Outfall rim and freeboard check. The outfall structure rim elevation is read from the imported file, and the program calculates freeboard at every structure. An outfall with no rim no longer reads as hundreds of feet of negative freeboard.
  • Support for Windows, macOS, and Linux. Installers are provided for all three desktop platforms. Startup tries Direct3D 12 with a software adapter fallback before OpenGL, so the application launches on remote desktop, Citrix VDI, virtual machines, and machines without an OpenGL driver.
  • Validation documentation. VALIDATION.md works every number in the report by hand and runs the same network side by side through Hydraflow Storm Sewers. Every difference is explained, including a full section on a real Civil 3D network compared against Hydraflow Storm Sewers v2026.00.
  • End-to-end reference tests. tests/e2e_reference.rs runs two real Civil 3D project files through every input and output channel: the engine, the inlet pass, text, HTML, PDF, project round-trips, LandXML round-trips, DXF round-trips, and the CLI. The GUI runs the same checks on real frames.
  • File association groundwork. Opening a file from the command line with StormSewer loads a .ssproj, .stm, .xml, or .dxf and skips the tutorial. This provides the foundation for double-click file association in future releases.
  • Version tracking from the build. The window title, the document title, and the About dialog read the released version from the build metadata. A test fails on any new hardcoded literal, preventing stale version strings from shipping.
  • Support links. The Help menu item and the About dialog button open the real checkout page for the project. This replaces dead links that previously pointed to a non-existent account, so users can reach the developer directly.

StormSewer was created by a practicing water resources engineer and first released in 2024 under the GPL-3.0 license. Development began as a side-by-side comparison project against Hydraflow Storm Sewers, with every difference in computed results documented rather than hidden. The codebase is written in Rust, which keeps the desktop application, the browser build, the command-line tool, and the Python bindings all sharing the same engine. The project follows a test-driven approach: each bug fix from real Civil 3D files is backed by a regression test on a checked-in file, and the end-to-end reference suite runs on every commit. Version 0.9.3 addressed launch failures on machines without OpenGL drivers, fixed support links, and made the version string dynamic. Version 0.9.4 added full Civil 3D format support, per-pipe inverts, a command-line interface, and a documented comparison against Hydraflow Storm Sewers v2026.00. The application remains in active maintenance, with installer builds for Windows, macOS, and Linux generated for each release.