The Project menu opens one dialog per section that is not a map object. The menu item and the window it opens:
| Menu item | Window |
|---|---|
| Title/Notes… | Title / Notes |
| Options… | Simulation Options |
| Rain Gages… | Rain Gages |
| Curves… | Curves |
| Time Series → Edit… | Time Series |
| Patterns… | Time Patterns |
| Controls… | Control Rules |
| Pollutants… | Pollutants |
| Land Uses… | Land Uses |
| LID Controls…, LID Usage…, Aquifers…, Groundwater…, Snow Packs… | chapter 21 |
| Buildup / Washoff…, Land Use Coverages…, Initial Loadings…, Treatment… | chapter 21 |
| Unit Hydrographs…, RDII Inflow… | chapter 21 |
Every OK or Apply is one command and one undo step; Cancel or closing the window discards the draft. The same dialogs open from the Project browser's Edit… button and by double-clicking an entry there.
The [TITLE] section as free text. Lines beginning with
; and blank lines are not part of the title as the engine
reads it (it skips them), so the browser's count is of data lines
only.
[OPTIONS] grouped the way the EPA GUI groups them, then
[REPORT], six tabs:
| Tab | Keys |
|---|---|
| General | FLOW_UNITS (CFS, GPM, MGD, CMS, LPS, MLD),
INFILTRATION (HORTON, MODIFIED_HORTON, GREEN_AMPT,
MODIFIED_GREEN_AMPT, CURVE_NUMBER), FLOW_ROUTING (STEADY,
KINWAVE, DYNWAVE), LINK_OFFSETS (DEPTH, ELEVATION),
FORCE_MAIN_EQUATION, MIN_SLOPE,
ALLOW_PONDING, SKIP_STEADY_STATE,
IGNORE_RAINFALL, IGNORE_SNOWMELT,
IGNORE_GROUNDWATER, IGNORE_RDII,
IGNORE_ROUTING, IGNORE_QUALITY |
| Dates | START_DATE, START_TIME,
REPORT_START_DATE, REPORT_START_TIME,
END_DATE, END_TIME, SWEEP_START,
SWEEP_END, DRY_DAYS |
| Time Steps | REPORT_STEP, WET_STEP,
DRY_STEP, ROUTING_STEP,
RULE_STEP |
| Dynamic Wave | LENGTHENING_STEP, VARIABLE_STEP,
MINIMUM_STEP, INERTIAL_DAMPING (NONE, PARTIAL,
FULL), NORMAL_FLOW_LIMITED (SLOPE, FROUDE, BOTH),
SURCHARGE_METHOD (EXTRAN, SLOT), MIN_SURFAREA,
MAX_TRIALS, HEAD_TOLERANCE,
SYS_FLOW_TOL, LAT_FLOW_TOL,
THREADS |
| Reporting | the [REPORT] section: INPUT (YES makes the
engine print its own summary of the model's inputs in the report file,
which the Model Report then carries), CONTINUITY,
FLOWSTATS, CONTROLS, AVERAGES,
and SUBCATCHMENTS / NODES / LINKS
(ALL, NONE or a list of names: what the results file holds; with no line
at all it holds none of that kind). A list the file spreads over several
lines, as the EPA interface writes long ones, shows here as one list. An
edited list replaces all of those lines. The map's right-click
Results File submenu edits the same lists from a
selection (§3.6) |
| Files | the [FILES] section as text
(USE/SAVE
RAINFALL/RUNOFF/HOTSTART/RDII/INFLOWS/OUTFLOWS
lines) |
A key the file does not have is written when you set it; a key it has
keeps its spelling and its place, including the blank-line grouping the
GUI writes. Every value is written as text; the engine's own rules for
each (UM §3.4 and Appendix D [OPTIONS]) decide what is
valid.
Three of these change how AquaSWMM itself reads the file:
FLOW_UNITS decides the unit labels everywhere, and
whether the storm-sewer design tool will accept the model (it refuses
metric models);LINK_OFFSETS decides whether a link's
InOffset/OutOffset are depths above the node
invert or absolute elevations, for the profile and the design
mapping;INFILTRATION decides the column layout of
[INFILTRATION] rows (a row may also end with its own method
keyword, which wins).The unit-switch wizard. Changing
FLOW_UNITS changes only a keyword: the engine reads every
number in the file as if it were already in the new system. So when you
OK a change of FLOW_UNITS, the Flow units changed
window opens and says so
(FLOW_UNITS is now CMS (was CFS).). A change within one
system (CFS to GPM) affects only flow-valued fields; a change of system
(US customary to SI) affects lengths, areas, depths, rates and
coefficients as well. The wizard lists each group of values the engine
does not convert, with how many rows it would touch:
Node elevations and depths · Conduit geometry · Weirs, orifices, outlets · Storage units · Pump start/stop depths · Subcatchment area, width, storage · Infiltration parameters · Rain gage time series · External inflows · Dry-weather flows · Evaporation · Curves (by type).
Tick what to convert and click Convert ticked: one
undo step, using 1 ft = 0.3048 m, 1 acre = 0.40468564 ha, 1 in = 25.4
mm, 1 cfs = 0.028316847 m³/s = 448.83117 gpm = 0.64631689 mgd. Manning's
n is the same in both systems; orifice discharge coefficients are
dimensionless; weir coefficients are not (3.33 ft^0.5/s against 1.84
m^0.5/s) and are in the Weirs, orifices, outlets group.
Copy report puts the list on the clipboard;
Revert puts FLOW_UNITS back and changes
nothing else. §16.7 is the
checklist behind the groups.
The offsets note. On the General tab, next to
LINK_OFFSETS, a note explains that DEPTH means each link
offset is a height above its node's invert and ELEVATION means an
absolute elevation, and that the keyword alone changes what every offset
means. Changing it offers Convert existing offsets with the node
inverts (same undo step): every
InOffset/OutOffset is rewritten with its
node's invert (conduits from the from-node and to-node; orifices, weirs
and outlets from their inlet node) so the pipes stay where they are.
Leave it unticked only if the numbers in the file are already in the new
convention.
The list of [RAINGAGES] on the left; + adds
one (Add a rain gage), − deletes the chosen one.
The fields are the row's columns: Format (INTENSITY,
VOLUME, CUMULATIVE), Interval, SCF,
Source (TIMESERIES with a series picker, or FILE with a
file name, station id and rain units).
A new gage has no map position: SWMM reads the gage's row and the subcatchments that name it, never where its symbol sits. Place on Map closes the dialog and puts the chosen gage (or moves it) wherever you click next, as one undo step; Escape cancels. A placed gage draws, selects and drags like any other symbol.
[CURVES]. + adds a curve (Add a
curve), − deletes. Choose the Type:
STORAGE, SHAPE, DIVERSION, TIDAL, PUMP1–PUMP5, RATING, CONTROL, WEIR.
The points are a draft table with Add row, plotted
beside it; Apply writes the whole curve back as one
undo step, keeping its rows in their place in the file;
Revert discards the draft; Close
closes. The type is written on the first row only, as the engine
expects.
A STORAGE curve is depth above the storage node's invert against surface area. For a STORAGE curve the dialog has an Enter as elevation section:
[STORAGE] Elevation is the datum: by default the node whose
TABULAR shape names this curve, else a node of the same name, else the
first storage node.depth = elevation − invert in the draft. An elevation below
the invert is refused with a message (a storage curve has no negative
depths), as are points not in increasing order. Fill from
curve shows the draft's depths as elevations on the node's
current invert.old − new,
so the curve's elevations stay where they were. If the new invert is
above a point of the curve (a negative depth) the shift is refused;
re-enter the curve by elevation. Lowering the invert leaves the curve
starting above depth 0; add a point at depth 0 if you know the area
there.Nothing is stored beside the curve: the depths are the model and the elevations are worked out from the node's invert when you ask. Both tools change only the draft; Apply writes the curve as one undo step.
Project → Time Series is a submenu: Edit…, Import…, Export to File….
Edit… — [TIMESERIES]. +
adds a series (Add a time series), − deletes. Rows
are time value or date time value; edit them
in the draft table (Add row) or paste a block into
Paste rows and click Replace with pasted or
Append pasted. From an external file
turns the series into a FILE reference the engine reads at
run time (UM §11.5 for the file format). Apply writes
the series back; Revert; Close. The
plot under the table draws the draft. Times are the engine's
hours:minutes (or days:hours:minutes past 24 h); a series without dates
is relative to the simulation start.
Import… — the Import Time Series window.
Load file… or paste a delimited table: a date column, a
time column (or a combined date time cell), and one value
column per series, so a hundred radar cells import as a hundred series
in one go. Detected without options: comma, tab, semicolon or space
delimiters; an optional header row; dates M/D/YYYY,
MM/DD/YYYY, YYYY-MM-DD, YYYYMMDD,
D.M.YYYY; times H:MM or HH:MM:SS;
a table with no date column is a relative series. A NOAA GHCN-Daily
station csv (STATION, DATE, PRCP in tenths of a millimetre)
is recognised and imported as a daily VOLUME series. Names
longer than SWMM's limit are cut and suffixed, and the preview says so.
Tick Also add a rain gage per series (and place
on the map) to get [RAINGAGES] rows whose format
and interval match; click Import. One undo step.
Export to File… — the Export Time Series to
File window: choose a series, Save As… writes it
as SWMM's external time-series file (date time value lines
with ; comments), and, when asked, replaces its rows in the
.inp with a FILE reference. For series too
long to keep in the model.
[PATTERNS]. + adds (Add a
pattern), − deletes. Kind is MONTHLY
(12 factors), DAILY (7), HOURLY (24) or WEEKEND (24); the table has that
many cells. Apply, Revert,
Close as for curves.
The [CONTROLS] section as text, with OK
and Cancel. The rule syntax is the engine's (UM §3.3
and Appendix C); AquaSWMM does not parse it, except that a rename
patches the object name after NODE, LINK,
PUMP, ORIFICE, WEIR,
OUTLET, CONDUIT or GAGE. Each
IF needs its own RULE name line; a second
IF inside a rule is the usual cause of the engine's
clause invalid or out of sequence error (chapter 16).
[POLLUTANTS] and [LANDUSES] as grids with
OK and Cancel. The related
[BUILDUP] and [WASHOFF] rows are edited per
land use in Project → Buildup / Washoff… (§21.7),
[COVERAGES] and [LOADINGS] per subcatchment
(§21.8, §21.9) and [TREATMENT] per node (§21.10).
Builds a hyetograph and writes it as a [TIMESERIES] plus
a [RAINGAGES] row in one undo step. The
Distribution choices, each with its source printed on
the dialog:
| Distribution | Inputs | Source |
|---|---|---|
| NRCS (SCS) 24-hour Type I / IA / II / III | 24-hour depth, time step | NRCS TR-20 tabular distributions; NEH 630 Ch. 4 (2019) §630.0403, fig. 4-36 |
| NRCS NOAA Atlas 14 regional 24-hour (A–D) | region, 24-hour depth, time step | NEH 630 Ch. 4 §630.0408, fig. 4-72 ratios, nested (no WinTR-20 smoothing) |
| Alternating block from an IDF curve | a, b, c, duration, time
step |
Chow, Maidment & Mays, Applied Hydrology §14.4 |
| Alternating block from a NOAA Atlas 14 PFDS row | the PFDS csv (fetched from NOAA or pasted), return period, duration, time step | depths from the PFDS csv; same method |
| Chicago (Keifer–Chu) from an IDF curve | a, b, c, peak position
r, duration, time step |
Keifer & Chu (1957) |
| Uniform | depth, duration, time step | constant intensity |
The plot shows the hyetograph and its cumulative curve; the table lists each interval; the line under them totals the depth and names the peak. Name the Series and the Gage, choose the Series format (INTENSITY or VOLUME), and optionally Assign to every subcatchment (or to the selected ones) and Place the gage symbol on the map. Add to Model writes it all. Depths are in the model's rain unit — inches for a CFS/GPM/MGD model, millimetres otherwise — and nothing is converted. §15.7 has the equations.
With Alternating block from a NOAA Atlas 14 PFDS row, the dialog can ask NOAA for the table instead of you pasting it:
<model>.crs sidecar, File → Model CRS…).
From Model fills them again. With no model CRS the
button is disabled — its tooltip says why — and you type the point. The
line under the fields shows the point used and where it came from.hdsc.nws.noaa.gov/cgi-bin/new/fe_text.csv) for
precipitation depths, partial-duration
series (PFDS labels them "Time series type: Partial duration";
not annual maxima), in inches — millimetres for a CMS/LPS/MLD model. The
answer goes into the PFDS field unchanged and is read like a pasted
table: only the estimates block, not the upper and lower 90 %
confidence-bound tables that follow it. PFDS gives millimetres as whole
numbers, so short durations in a metric table are coarser than the inch
table. The request runs in the background; the dialog stays usable.Error 3.0: Selected location is not within a project area;
the dialog reports exactly that and fills nothing — paste depths from
another source.%LOCALAPPDATA%\AquaSWMM\cache\pfds\ on
Windows), named by the point rounded to 4 decimals and the unit, with
its retrieval date, so the dialog works offline the next time: opening
it on the same point loads the cached table, and Fetch uses it without
the network. Refetch asks NOAA again.[TIMESERIES] row naming the volume and
version as the csv states them (e.g. "NOAA Atlas 14 Volume 2 Version 3
(Ohio River Basin)"), the series and data type, the unit, the point, the
retrieval date and the return-period column used. Edit the table by hand
and no source line is written, since it is no longer NOAA's table.Fetching needs a licence or trial, like Download DEM. The PFDS data are a U.S. Government work in the public domain.
The NRCS NOAA Atlas 14 regional distribution's region (A–D) stays your choice. NEH 630 Ch. 4 draws the regions as a map, not as a table of states, counties or coordinates, so AquaSWMM does not infer a region from the location: doing so would mean digitising region boundaries the handbook does not publish as data.
Project → Observed Rainfall (MRMS)… writes the rain
that fell, hour by hour, as a dated [TIMESERIES] and a
[RAINGAGES] row in one undo step, for running a model
against a real event.
The rain is NOAA's Multi-Radar Multi-Sensor precipitation, MultiSensor QPE 1H Pass 2: radar corrected by rain gauges, on 1 km cells, over the contiguous United States, from 14 Oct 2020. Each hour is published about an hour after it ends.
YYYY-MM-DD HH:00, at most 7 days apart.START_DATE, START_TIME, the report start and
END_DATE, END_TIME to the period fetched, so
the run covers the event without a visit to Options.Timing. An MRMS file stamped HH:00 holds the hour ending at HH:00 UTC. SWMM applies a series value to the interval starting at its time. Each row is therefore written at the start of its hour, in the local standard time typed, and the series comment says so.
What is missing is said, not hidden. A negative value in the data means no coverage or bad data; such an hour is counted and written as no rain, never taken as zero silently. An hour Pass 2 does not have (not out yet, or a gap in the archive) is taken from Pass 1, NOAA's earlier gauge-corrected run with fewer gauges; those hours are counted in the dialog, the status line and the series comment.
Depths are written in the model's rain unit: inches for a CFS/GPM/MGD model, millimetres otherwise. Fetching needs a licence or trial and the internet.
The geometric length of every conduit from the map against its stored
Length, with a factor from [MAP] Units, and
one batch that writes the ticked ones. Described in §3.10. Nothing runs on its own: drawing
writes a length once and nothing touches it again until you ask.
Width for every subcatchment by one of three rules,
previewed beside the stored width, and one batch (one undo step) that
writes the ticked ones:
| Method | Width |
|---|---|
| Area ÷ flow length | A / L |
| K × flow length | K · L |
| K × √Area | K · √A |
A is the stored Area in ft² (acres ×
43,560) or m² (hectares × 10,000). L is measured on the
map, times the same map-units factor as Compute Conduit Lengths: from
the outlet node to the farthest corner of the outline, or the outline's
longest corner-to-corner span where the outlet is a subcatchment or has
no coordinates. The Flow length column says which.
L is a straight line to the outlet, so it includes any
gutter, channel or pipe travel. True sheet flow is usually shorter
(rarely more than about 500 ft), so A / L from this tool
tends to give a narrower width and a slower response than a sheet-flow
length would. Treat the result as a starting value to calibrate, as §16.8 describes. With a selection of
subcatchments, only they are ticked (Selected subcatchments
only, on by itself when there is a selection).
An area-weighted SCS curve number for every subcatchment from the
land cover and soils downloaded with File → Download Land Cover
(NLCD 2021)… and File → Download Soils
(SSURGO)… (§19.13, §19.14), previewed
beside the stored CurveNum, and one batch (one undo step)
that writes the ticked ones. The curve numbers are those of TR-55 (USDA
Soil Conservation Service, Urban Hydrology for Small
Watersheds, Technical Release 55, 2nd ed., June 1986), Tables 2-2a
to 2-2d, for antecedent runoff condition II.
How the composite is made. Each outline is sampled on a regular grid: the land-cover cell (30 m), or finer for a small subcatchment so that it gets at least 100 samples (and no more than 250,000). Each sample takes the NLCD class under it and the SSURGO polygon it falls in; its CN is the TR-55 value for that class's cover row and that polygon's group. The composite is the mean over the samples where both are known, which is the area-weighted CN of that part of the subcatchment.
Area with data is that part as a percentage. The rest — a map unit with no hydrologic group (Urban land, water), an area SSURGO has not surveyed, or ground outside the downloaded extent — is left out, not estimated. A composite over 60 % of the area is a composite of that 60 %: look at the column before applying, and treat a low figure as a site that needs its soils from somewhere else (a geotechnical report, the soil survey text, a judgement for fill).
No soil group. SSURGO gives no hydrologic group to Urban land and similar map units, and there are gaps with no soil polygon at all. In a built-up area that can be most of a subcatchment: in a test near uptown Charlotte, 82 % of one outline was Urban land. No soil group chooses what happens there: leave out (the default) computes the CN over the rest of the outline only, and the % data column says how much that is; treat as A–D assumes that group there (C or D is usual for disturbed urban soil, but it is an assumption, and it is yours). A known group is never overridden. A subcatchment with under 50 % of its area covered is shown but not ticked by itself.
Dual groups (A/D, B/D, C/D). NRCS gives the first letter for the soil drained and the second (D) for it undrained (NEH Part 630, chapter 7). Undrained (D), the default, uses D, the conservative choice without evidence of drainage. Drained (A, B or C) uses the first letter; use it only for a site known to be drained.
NLCD class → TR-55 cover. NLCD classes are not TR-55 cover types, so each class is assigned one TR-55 row. The assignment is a judgement; it is shown under NLCD class → TR-55 cover, each row can be changed there (any of the 36 rows of Tables 2-2a to 2-2d, or the one wetland row marked not TR-55, with its A–D values beside it), and TR-55 defaults restores these:
| NLCD class | TR-55 row (table) | A | B | C | D | Why |
|---|---|---|---|---|---|---|
| 11 Open Water | Impervious areas (2-2a) | 98 | 98 | 98 | 98 | TR-55 has no water row; a water surface sheds all rain |
| 12 Perennial Ice/Snow | Impervious areas (2-2a) | 98 | 98 | 98 | 98 | As water |
| 21 Developed, Open Space | Open space, fair condition (2-2a) | 49 | 69 | 79 | 84 | Mostly lawn, under 20 % impervious |
| 22 Developed, Low Intensity | Residential 1/4 acre, 38 % impervious (2-2a) | 61 | 75 | 83 | 87 | 20–49 % impervious |
| 23 Developed, Medium Intensity | Residential 1/8 acre or less, 65 % impervious (2-2a) | 77 | 85 | 90 | 92 | 50–79 % impervious |
| 24 Developed, High Intensity | Commercial and business, 85 % impervious (2-2a) | 89 | 92 | 94 | 95 | 80–100 % impervious |
| 31 Barren Land | Newly graded areas (2-2a) | 77 | 86 | 91 | 94 | Bare, no vegetation |
| 41, 42, 43 Forest | Woods, fair condition (2-2c) | 36 | 60 | 73 | 79 | Condition unknown: fair |
| 52 Shrub/Scrub | Brush, fair condition (2-2c) | 35 | 56 | 70 | 77 | In the arid West, Desert shrub (2-2d) fits better |
| 71 Grassland/Herbaceous | Pasture, grassland, or range, fair (2-2c) | 49 | 69 | 79 | 84 | |
| 81 Pasture/Hay | Pasture, grassland, or range, fair (2-2c) | 49 | 69 | 79 | 84 | |
| 82 Cultivated Crops | Row crops, straight row, good (2-2b) | 67 | 78 | 85 | 89 | Practice unknown: straight row |
| 90 Woody Wetlands | Wetland, saturated ground (not TR-55) | 87 | 94 | 97 | 98 | TR-55 has no wetland row. These are the values the HydroCN plugin uses for saturated ground; Woods, fair (2-2c) is the TR-55 row nearest in cover if the wetland drains |
| 95 Emergent Herbaceous Wetlands | Wetland, saturated ground (not TR-55) | 87 | 94 | 97 | 98 | As 90; Pasture, fair (2-2c) is the nearest TR-55 row |
"Fair" is used where NLCD says nothing about condition. Change it where the site is known.
Writing. The CN is written to
[INFILTRATION] CurveNum, to one decimal. That
column exists only under
[OPTIONS] INFILTRATION CURVE_NUMBER. Under another method
the dialog says so, ticks nothing, and offers Switch to
CURVE_NUMBER: one undo step that sets the option and rewrites
every [INFILTRATION] row as
CurveNum Conductivity DryTime (a curve-number row keeps its
CN; others start at 80, conductivity 0.5 and the old
DryTime where the method had one, else 7), adding a row for
any subcatchment without one. Undo puts the old method and rows back. A
row that names its own method (a trailing keyword) other than
CURVE_NUMBER is shown as another method and is not written.
% Impervious (off by default). Also set %
Impervious from NLCD developed classes writes
PctImperv too: the area-weighted midpoint of each class's
impervious range in MRLC's class definitions — 21: 10, 22: 35, 23: 65,
24: 90, every other class 0 — over the part of the outline with a
land-cover class (soils are not needed for it). SWMM applies the curve
number to the pervious part of a subcatchment only, while the TR-55 rows
for 22–24 are composites that already include TR-55's assumed impervious
share. With % Impervious set this way, press Developed as open
space (21–24 to Open space, fair) so the impervious area is not
counted twice.
With a selection of subcatchments, only they are ticked. Rows whose composite differs from the stored value (or has none) are ticked.
Each subcatchment to the rain gage nearest its area centroid, which puts it in the Thiessen polygon its centroid falls in. The centroid is the outline's area centroid, not the average of its corners (a detailed edge would drag that toward itself). Gages without map coordinates take no part. Rows whose nearest gage differs from the current one are ticked; one batch writes them.
This tool assigns one gage to each subcatchment. It does not blend gages by inverse distance: for that, build a weighted series and a gage for it.
[DWF] FLOW rows for junctions from a population and a
per-capita rate, previewed, and one batch (one undo step) that writes
them.
[TAGS] tag, or those with no tag.The baseline written is the average flow,
population × rate, converted to
FLOW_UNITS:
| FLOW_UNITS | Baseline from P × q per day |
|---|---|
| CFS | gallons × 231/1728 ft³ ÷ 86,400 s |
| GPM | gallons ÷ 1,440 min |
| MGD | gallons ÷ 10⁶ |
| CMS | litres ÷ 1,000 ÷ 86,400 s |
| LPS | litres ÷ 86,400 s |
| MLD | litres ÷ 10⁶ |
For example 1,000 people at 100 gal/cap/day is 0.15472 cfs, 69.444 gpm or 0.1 MGD. Baselines are written to five significant figures.
No peaking factor is applied. Peaks come from time patterns, which SWMM multiplies the baseline by: choose an existing Hourly pattern and Daily pattern, or tick Add a generic example diurnal pattern named and give it a name, to add a new HOURLY pattern of 24 multipliers averaging 1.0 (low overnight, 1.5 at 09:00 and 19:00) and use it. That pattern is a generic shape for trying a model; it is not from any agency or measured record, and its first row carries a comment saying so. Replace it with a pattern from local flow monitoring.
The preview lists each junction's current DWF FLOW row(s) and whether the new row adds or replaces. A junction's existing FLOW rows are replaced: the first is rewritten in place (keeping its comment) and any further FLOW rows for it are removed. DWF rows for pollutants are not touched.
View → Backdrop → Load Image…, Georeference…, Show, Remove; and View
→ Map Dimensions…. They edit [BACKDROP] and
[MAP]. Described in §3.9.
[LID_CONTROLS], [LID_USAGE],
[AQUIFERS], [GROUNDWATER], [GWF],
[SNOWPACKS] (with [TEMPERATURE] and
[ADJUSTMENTS]), [BUILDUP],
[WASHOFF], [COVERAGES],
[LOADINGS], [TREATMENT],
[HYDROGRAPHS] and [RDII] each have a dialog on
the Project menu's second group, and the per-object ones open from the
subcatchment and node property sheets. Chapter 21 describes every
field.
[EVAPORATION], [TRANSECTS],
[STREETS], [INLETS], [REPORT],
[PROFILES], [EVENTS]. All are kept byte for
byte and listed in the Project browser where they have a node; edit them
in a text editor. The engine reads them; AquaSWMM's validator does not
check their contents.