A SWMM subcatchment makes its runoff with a nonlinear reservoir: rain on the surface, infiltration off it, and Manning's equation across a width. Many design standards ask for something else — an NRCS unit hydrograph, a Clark or Snyder hydrograph, the Modified Rational method — and PCSWMM calls the subcatchments that use one Alternative Runoff Method (ARM) subcatchments. AquaSWMM offers the same idea.
Select the subcatchment. Its property sheet ends with a Runoff Method block, which reads Runoff Method: SWMM5 until you change it. Pick an Alternative Runoff Method from its Method list. Picking SWMM5 (nonlinear reservoir) turns the subcatchment back, and the ARM data goes with it.
A converted subcatchment starts from values the model already implies:
| Starts from | Value |
|---|---|
| Curve number | The composite CN of its [INFILTRATION] row when the
model uses CURVE_NUMBER infiltration: the pervious CN
area-weighted with 98 for %Imperv. Otherwise 75. |
| Runoff coefficient C (Modified Rational) | 0.30 pervious and 0.95 impervious, weighted by
%Imperv |
| Tc | 10 minutes, entered |
| Method-specific | Cp 0.6 (Snyder), R 0.25 h (Clark), n = 3 (Nash) |
Switching between ARM methods keeps the Tc, the Tc inputs and the CN or C, and drops the parameters the new method does not use.
On the map an ARM subcatchment's outline is dashed and its centroid dot is violet. The sheet shows what the method makes of it under the parameters: the Tc and each term that makes it up, the rainfall and runoff depths, and the peak with when it comes. The ARM Hydrographs… button opens the window of §24.7 on this subcatchment.
| Method | Losses | Parameters | Source |
|---|---|---|---|
| SCS dimensionless UH | CN | Curve number; peak rate factor (blank = 484) | NRCS NEH 630 Ch 16, table 16-1 |
| SCS triangular UH | CN | Curve number; peak rate factor (blank = 484) | NEH 630 Ch 16, Appendix 16A |
| Delmarva UH | CN | Curve number | Maryland Stormwater Design Manual, App. D.14, table D.14.2 |
| Snyder UH | CN | Curve number; standard lag tp (h, blank = 0.6·Tc); peaking coefficient Cp | HEC-HMS Technical Reference Manual (CPD-74B) |
| Clark UH | CN | Curve number; storage coefficient R (h) | HEC-HMS Technical Reference Manual |
| Nash UH | CN | Curve number; reservoirs n; reservoir constant K (h, blank = 0.6·Tc/n) | Nash (1957) |
| Modified Rational | C | Runoff coefficient C; storm duration (min, blank = Tc); Intensity from the gage or an IDF table; Storm starts at (h, IDF tables only) | — |
Every method but Snyder needs a Tc (§24.4). Snyder uses one only to default its lag.
Curve number. Every unit hydrograph method takes its losses from the NRCS curve number equation (NEH 630 Ch 10, eq. 10-9):
S = 1000/CN − 10 (in), Ia = λ·S,
Q = (P − Ia)² / (P − Ia + S) for P > Ia, else 0
Runoff coefficient. The Modified Rational method takes its losses as C.
The Tc method list:
| Tc method | Inputs | Equation |
|---|---|---|
| Entered | Tc (min) | — |
| TR-55 segments | A worksheet of sheet, shallow concentrated and channel segments | TR-55 (1986) ch. 3 |
| NRCS lag equation | Flow length ℓ, average watershed slope Y (%) and the CN | NEH 630 Ch 15, eq. 15-4a: L = ℓ^0.8 (S + 1)^0.7 / (1900·Y^0.5) h, Tc = L/0.6 |
| Kerby-Kirpich | Overland length and slope, Kerby N; channel length and slope | TxDOT Hydraulic Design Manual eqs 4-14, 4-15 |
TR-55 segments. Each segment is sheet flow (length, slope, Manning's n, 2-yr 24-hr rainfall), shallow concentrated flow (length, slope, paved or not), or channel flow (length, slope, n, hydraulic radius). Add segment appends one, and each segment has its own remove button. The segment times are the ones the storm-sewer Tc calculator uses: sheet flow 0.007(nL)^0.8/(P2^0.5 S^0.4) h, shallow flow V = 16.13√S unpaved or 20.33√S paved, and channel flow by Manning.
NRCS lag equation.
Kerby-Kirpich.
Time grid. Hydrographs are computed on a grid of the ARM time step (1 minute unless ARM Options says otherwise), starting at the simulation start.
Rainfall. Rainfall comes from the subcatchment's rain gage the way SWMM reads it:
START_DATE and
START_TIME.Unit hydrographs. Each unit hydrograph is built for a block of excess one time step (Δt) long. It is then scaled so it holds exactly one inch over the area: Σu·Δt = 645.33·A (cfs·h, with A in mi²). Finally it is convolved with the excess, each block's response starting where the block starts. That is the convolution NEH 630 example 16-1 uses.
Modified Rational.
Project → ARM Options… opens the ARM Options window for the settings every ARM subcatchment shares.
Results → ARM Hydrographs… opens the ARM Hydrographs window:
The window works from the model as it is now, so hydrographs can be read before any SWMM run. Subcatchments whose hydrograph cannot be made are listed under the table with the reason.
The results Chart plots nodes and links. An ARM subcatchment's runoff is in this window and, after a run, in its outlet node's lateral inflow.
EPA's engine knows nothing of ARM, so what it is given is the model with the ARM part replaced by what it means:
The ARM sections are removed. The engine refuses any section it does not know.
ARM subcatchments rain from a dry gage. A rain
gage named ARM_DRY, on a series of zeros, replaces their
own, so the nonlinear reservoir adds nothing. Their rows in the report's
runoff summary are zero (step 5 fills in the
.out).
Hydrographs enter at the outlet nodes. Each
outlet node gets an external FLOW inflow, a time series
ARM_<node>, that is the sum of the ARM hydrographs
draining to it.
FLOW inflow, it is folded in:
that series, scaled by its Sfactor, plus the ARM flow over its Mfactor.
The baseline and pattern are kept.The run reads a scratch copy. It runs under
%TEMP%\AquaSWMM\run\, and the Run Status window says
why.
The results file gets the ARM subcatchments.
After a run ends cleanly, each ARM subcatchment's record in the
.out is written at every reporting period:
So the Chart, the results tables, the map's colours and the EPA GUI
show them as the method made them. The Model Report adds an ARM
Subcatchment Runoff table after the engine's summary tables. It
gives each ARM subcatchment's method, CN or C, rain (the gage's depth
over the run), losses, runoff depth, and peak runoff with its time. The
engine's own runoff summary still lists these subcatchments at zero.
Rainfall in the .out follows the engine's convention: at a
block's edge it is the next block's rate. The other variables
(evaporation, snow, groundwater, washoff) stay as the engine wrote them.
So do the system totals, where ARM runoff is external inflow at the
outlet nodes, as in the .rpt. While the run is going, the
live view shows the ARM subcatchments at zero. Their values arrive when
it ends. A run that is stopped is not patched.
The model you edit is untouched by any of this; it happens in the copy the engine reads. Scenarios, calibration runs and coupled 1D-2D runs go through the same step.
Limits of the replacement.
The ARM data is part of the model in the editor. Undo, rename, delete and copy/paste carry it with its subcatchment. On disk it is kept apart, because EPA SWMM and other editors refuse sections they do not know:
Save writes the .inp without ARM
sections, and writes them to a sidecar beside it: model.inp
→ model.aqarm. When no subcatchment uses ARM, and no option
or table is set, the sidecar is removed.
Open reads model.aqarm back when it
is there.
Not .arm: PCSWMM writes its own binary ARM
hydrographs to model.arm (with model.arm.rpt
and model.arm.txt) beside the same .inp.
AquaSWMM never reads, writes or removes that file. A
model.arm that AquaSWMM itself wrote, in the text form
below, is still read; the next Save moves it to
model.aqarm.
The sidecar is plain text in .inp syntax:
[ARM]
;;Subcatchment Method Parameters
S1 SCS CN=78 TC=12.5 PRF=484
S2 CLARK CN=70 TC=TR55 R=0.8
S2 SEGMENT SHEET L=100 S=0.02 N=0.24 P2=3.6
S2 SEGMENT SHALLOW L=600 S=0.015 PAVED=NO
S3 RATIONAL C=0.65 TC=10 IDF=10-yr
[ARM_OPTIONS]
IA_RATIO 0.2
TIMESTEP 1
[ARM_IDF]
10-yr 5 7.2
10-yr 60 2.4The keys are the method's parameters: CN,
C, PRF, TP, CP,
R, N, K, D,
IDF, START, and TC.
TC is a number of minutes or TR55,
LAG (with LEN, Y) or
KERBY (with LO, SO,
NK, LC, SC).
Opening the model elsewhere: the
.inp alone opens and runs in EPA SWMM or any other editor,
with the ARM subcatchments running as the SWMM5 subcatchments they also
are. That is a different answer, so send the .aqarm with
the model.
PCSWMM keeps ARM subcatchments outside the .inp. They
sit in its project database, model.db, table
ARM_Subcatchments, and it feeds their flows to the engine
through a routing interface file named in the .inp:
[FILES] USE INFLOWS "model.arm.txt". Opened here, such a
model has none of those subcatchments.
model.db
holding ARM subcatchments, and none of its own yet, shows Import
PCSWMM ARM with how many there are. Not now
closes it. Project → Import PCSWMM ARM… offers it again
at any time.0.2 S;USE INFLOWS … .arm.txt line, since the ARM
rows now make those flows and would otherwise enter them twice.SCS method, which is the NRCS lag
equation (TC=LAG, LEN and Y from
its flow length and slope; the Tc comes out the same), or entered by
hand..inp and
the .aqarm beside them.On a 20,249-subcatchment PCSWMM model the import takes under a second, and the hydrographs and peaks agree with PCSWMM's ARM report as in §24.11.
ARM findings join the model check, in section [ARM], and
select their subcatchment when clicked. A run is refused while any is an
error.
The computations are tested against published worked examples, and the tests run with every build:
| Test | Source | Result |
|---|---|---|
| Runoff depths | NEH 630 Ch 10 examples 10-1 to 10-4 (P 4.3 in with CN 55, 74 and 88; P 5.1 in with CN 69, 73 and 75) | Every depth within 0.005 in |
| Gamma shape against peak rate factor | NEH 630 table 16-5 (m 0.26 to 5) | Within 1 of each tabulated factor |
| Flood hydrograph | NEH 630 example 16-1: 4.6 mi², Tc 2.3 h, CN 85, Δt 0.3 h, table 16-3 rainfall | Unit hydrograph within 3 % of the figure's ordinates; peak 2,356 cfs at 6.3 h within 2 %, first 30 ordinates within 3 % of the peak |
| Watershed lag | NEH 630 Ch 15, Mawney Brook (ℓ 3,865 ft, CN 63, Y 4.79 %) | Tc 1.14 h |
| Kerby-Kirpich | TxDOT Hydraulic Design Manual figure 4-7 | 24.65 + 31.90 min, in ft and in m |
| Clark | HEC-1 User's Manual, subbasin EAST10 (0.66 mi², Δt 15 min, Tc 1.81 h, R 0.55 h) | All 16 printed ordinates within 1.5 cfs |
| Snyder | The same subbasin from Tp 1.30 h, Cp 0.80 | Clark Tc and R near HEC-1's 1.81 and 0.55 h; peak within 4 % |
| End to end | The installed EPA engine on a model with SCS and Clark subcatchments | The outlet node's lateral inflow matches the ARM hydrographs plus
its own inflow every minute. In the .out, the ARM
subcatchments' runoff is the hydrograph, which integrates to the ARM
volume within 2%. Their rainfall is the gage's, and their losses lie
between 0 and the rainfall |
The end-to-end test runs wherever an EPA engine is installed. The build servers have none, so it is skipped there.
Against PCSWMM. A one-off comparison used a PCSWMM 7.7 1D-2D model with 20,249 ARM subcatchments. All were SCS dimensionless UH (PRF 484) under a 24-hour Type II storm at a 15-second step, most with Tc from the NRCS lag equation. The subcatchments were rebuilt in AquaSWMM and compared with PCSWMM's ARM report:
Planned, in no particular order: