12. Storm-sewer design panel

Analyze on the toolbar (F6), beside Run, and Tools → Storm Sewer Design run AquaSWMM's own storm-sewer engine — Rational method, Manning, standard-step HGL, HEC-22 inlets, catalog sizing, design review — on the open SWMM model, and can write the sizes it recommends back into [XSECTIONS] as one undo step. It is the same engine the storm-sewer workspace and the aquaswmm-cli use; the equations are in chapter 15 and the hand checks in VALIDATION.md.

The menu:

Item Does
Design Panel… opens the panel
Analyze maps the model and runs the analysis, as the toolbar button does. F6
Auto-size… analyses and opens the sizing preview
Design Review analyses and opens the Findings tab
Design Report (HTML)… writes the design report for the mapped network as HTML
Design Report (PDF)… the same report as PDF

12.1 The design basis

The engine needs what a SWMM model does not have: an IDF curve, a return period, a minimum time of concentration, loss coefficients, design codes and HEC-22 inlet geometry. The top of the panel holds them, in five sections:

Live recompute re-runs the analysis after every edit to the model or the basis; without it the panel says model or basis edited since — re-run Analyze.

Where it is kept

None of this has a place in an .inp, so it is kept beside it: model.inp gets model.design.json, the way EPA's own GUI keeps an .ini next to the model. The sidecar holds the basis, the codes, the inlet defaults, and per-node design values — a runoff coefficient, an inlet time, an area, inlet dimensions, a bypass target, a structure diameter — where they differ from what the model would give (see §12.2). It is written when the model is saved, and a moment after any design edit to a model that already has a path; it is read when the model is opened. A model that has never been analysed or designed gets no sidecar, so an EPA model you only simulate stays one file. Renaming a node carries its design values with it, through undo and redo.

A model converted from a storm-sewer file (File → Open… on a .ssproj, .stm, LandXML or DXF network, §13.1) takes that file's basis and exactly the per-node values it needs to analyse as the storm-sewer file did: Analyze on the converted model gives the same flows, capacities and HGLs, pipe by pipe (the test suite checks this on every example network, U.S. and metric). A model opened without a sidecar keeps the basis in use this session, with no per-node values.

12.2 The mapping

Everything the panel computes depends on how a SWMM model becomes a storm-sewer network. The rules, and what each one assumes:

Units. FLOW_UNITS CFS, GPM or MGD mean feet, acres and in/hr, which is what the engine computes in, and pass through untouched. CMS, LPS and MLD mean metres, hectares and mm/hr, and are converted at the boundary: every elevation, length, offset, cross-section dimension, subcatchment area and inlet dimension becomes engine units on the way in, and everything the design writes back becomes metres on the way out.

Results are reported in the model's own units. Every column in the design tables and every column in the report carries its unit in the heading, so a screenshot is unambiguous on its own, and the Rational method's conversion factor is quoted as 1/360 for a metric model rather than 1.008. A recommended pipe size snaps to the standard metric RCP series — 300, 375, 450, 525, 600, 675, 750, 900, 1050, 1200, 1350, 1500, 1800 mm — not to inches, so the number that lands in [XSECTIONS] is a size a supplier stocks.

Manning's n is not converted. SWMM and the engine both take the tabulated value and apply the 1.486 factor internally for U.S. units, so the same n is correct in either system.

Two things are worth knowing. The design basis — the IDF curve, return period, minimum Tc, junction K, minimum slope and the tailwater box — is read in the storm-sewer workspace's units, not the model's, because that is where it comes from; its labels say which. And the model's [MAP] Units setting governs map coordinates independently of FLOW_UNITS; a mismatch there changes only the plan's display scale, never a result, because coordinates feed bend-loss angles and an angle does not care about scale.

Nodes. [JUNCTIONS] become junctions, or inlets once a subcatchment or an [INLET_USAGE] row drains to them; [OUTFALLS] become outfalls; [STORAGE] and [DIVIDERS] become junctions with a note, because the engine routes peaks and does not store or divert. Invert is Elevation; rim is Elevation + MaxDepth, or the highest connecting crown when MaxDepth is zero — the same rule the profile uses.

Conduits. CIRCULAR, FORCE_MAIN and FILLED_CIRCULAR map to circular pipes by diameter; RECT_CLOSED to a box (Geom1 rise × Geom2 span); HORIZ_ELLIPSE and VERT_ELLIPSE to elliptical (rise × span); ARCH to arch. Every other shape — trapezoidal channels, custom, irregular, street — and every pump, orifice, weir and outlet is listed on the Skipped tab with the reason, never dropped silently. Length and Manning's n come from [CONDUITS]; pipe end inverts are the node invert plus the offset, honouring LINK_OFFSETS. A conduit with no [XSECTIONS] row is skipped.

Subcatchments. Each folds into the node it drains to, through other subcatchments when Outlet names one: its area in acres; a runoff coefficient from %Imperv by the straight line

C = 0.20 + 0.75 · (%Imperv / 100)

(0.20 fully pervious, 0.95 fully impervious — the usual Rational-table band for lawns and pavement), area-weighted when several drain to one node; and an inlet time by Kirpich over the overland flow length Area / Width at %Slope, the largest kept when several drain to one node, floored at Min Tc. The SWMM Area is authoritative; polygons are not re-measured. A subcatchment whose outlet chain never reaches a node is skipped with outlet "…" does not reach a node.

Inlets. [INLET_USAGE] rows mark their node as an inlet and carry the [INLETS] grate length and width (or curb length) and ON_SAG placement into the per-inlet HEC-22 overrides; a STREET cross-section on the conduit supplies the cross slope. Inlet count and clogging are noted, not carried.

Tailwater. A FIXED outfall's stage becomes the tailwater; other outfall types keep the basis's value.

Hydrology (IDF, return period, Min Tc, junction K, min slope) comes from the basis, since a SWMM model has none of it.

Design values. A node's design values in the sidecar (§12.1) replace what the rules above derive: its type (inlet or junction), area, C, inlet time, inlet dimensions, bypass target and structure diameter. Anything a node has no value for follows the model, so editing a subcatchment's %Imperv changes C unless that node's C was set by hand.

The Notes tab prints these assumptions as they applied to the open model.

12.3 The tabs

Click an id in any tab to select it on the map.

12.4 Auto-size

Auto-size… opens the Auto-size preview window: N conduit(s) change in [XSECTIONS]; one undo step. and a table of conduit, shape, design Q, before, after, note. Only recommendations with a solution and a size different from the current one are listed. Apply — Auto-size N conduits writes them:

Ctrl+Z reverts the whole batch. The sizing rule is in §15.5.

12.5 Design review

The Findings tab checks the analysed network against the review criteria (defaults in brackets):

These are the storm-sewer workspace's criteria; the SWMM design panel uses their defaults.

12.6 The design report and exports

File → Design Reports holds everything that leaves the app from the design, and analyses first when the last run is out of date:

Item Writes
Design Report (PDF / Print)… the submittal report — basis, pipe, structure and inlet schedules, plan schematic, profile with HGL, review findings, cost — after a dialog that picks the sections and fills the title block; export a PDF or send it to the printer
Design Report (HTML)… the same schedules as one HTML page, plus a Mapping from the SWMM model section with the mapping notes and the Not analysed list
Custom Report (MyReport) a table of your own columns: start from Municipal Summary, Hydraflow Pipe Table or Cost Report, change the columns with Edit Columns…, write it with Export Custom CSV… or Export Custom HTML…, keep the layout with Save Template (.srpt)… and bring it back with Load Template (.srpt)…
Export Design Network (DXF)… the analysed network as a DXF: structures, pipes, labels
Export Design Network (LandXML)… the analysed network as a LandXML pipe network for Civil 3D

Open report after export opens each report in the default viewer. The panel's Report HTML… and Report PDF / Print… buttons and Tools → Storm Sewer Design → Design Report (HTML/PDF) are the same reports. Values are in the model's units. The reports are about the mapped network; the Not analysed list belongs beside them in any submittal.

12.7 On the map, the profile and the sheet

Analyze colours the map by the design: conduits blue within the design codes' percent full, amber above 85 %, red when full or surcharged, and nodes red when the design HGL is above the rim. The map header says colours: design % full (Analyze). Run hands the map back to the simulation's colours; View → Design Results on Map switches between them. The profile draws the design HGL and EGL (§11.6), and a node's or conduit's property sheet carries its design values and results (§5.5).

12.8 Read this before you submit

The Rational pass and the SWMM run answer different questions. The Rational pass gives a peak flow for sizing under one intensity chosen by the pipe's own Tc; the SWMM run gives a hydrograph routed through storage, surcharge and backwater under a hyetograph. They will not agree on peaks, and the disagreement is informative (§16.13). Use the design panel to size and to check cover, velocity and freeboard; use the SWMM run to see what the sized system does.