File → Import and File → Export move a network between the SWMM model
and AquaSWMM's own project format, and write the network out as tables
or GeoJSON. All of the mapping lives in one place
(swmm/src/design.rs) and its assumptions are stated
here.
Makes a new SWMM model from a storm-sewer project —
the nodes, conduits, catchments, and a design storm from the project's
IDF curve. One undo step (import project) over a blank
model, so Ctrl+Z empties it again.
What is written:
FLOW_UNITS CFS. Values are written in U.S. customary units
whatever the project's unit system.[JUNCTIONS] and
[OUTFALLS] with the project's inverts and rims
(MaxDepth = rim − invert), and
[COORDINATES].[CONDUITS] with length, n
and offsets from the project's per-pipe inverts;
[XSECTIONS] with the project's shape (circular, box,
elliptical, arch).%Imperv by the
inverse of the C line (%Imperv = 100 · (C − 0.20) / 0.75,
clamped 0–100), width = area / flow length, and [POLYGONS];
a node's own local area becomes a polygon-less subcatchment
<node>_DA with width √area and 2 % slope, since the
project holds no slope for it.[TIMESERIES] built by the alternating-block
method from the project's design-return-period IDF curve —
5-minute blocks over 2 hours by default. The IDF curve is what the
project has, it is valid over that duration range, and the alternating-
block storm reproduces the curve's intensity at every duration up to the
storm length (§15.7).File → Open… does the same for a
.ssproj or .ssn, and for the network formats
File → Import lists beside it — Hydraflow / Civil 3D Storm
Sewers (.stm)…, LandXML Pipe Network (.xml)…
and DXF Network (.dxf)…: Hydraflow / Civil 3D
.stm, LandXML .xml and a DXF network exported
by AquaSWMM (a DXF that is not a network becomes the underlay instead).
Dropping one of these files on the window, or passing it on the command
line, does the same. The file's IDF, return period, losses and tailwater
become the design basis for Analyze (§12.1); the new model has no path, so
Save asks where to write the .inp and the source file is
never overwritten. Over unsaved edits it asks first, as Open does for an
.inp.
A project's background image becomes the model's backdrop, placed where the plan had it, and its DXF underlay stays the underlay.
File → Import → NOAA Atlas 14 IDF (.csv)… and Paste NOAA Atlas 14 Data… fit IDF curves from a NOAA PFDS precipitation-frequency table into the design basis (§12.1); they change no model object.
The status bar reports the import with the first of the mapping's
notes; the full list of assumptions is the one in §12.2 and §15.7. The
older .ssn text network imports the same way.
The reverse: the open SWMM model becomes a storm-sewer project, by
the mapping in §12.2 —
circular/box/elliptical/arch conduits, junctions and outfalls,
subcatchments folded into C·A and inlet times. Objects that do not map
are listed in the status bar
(… 3 object(s) not exported: …) and the count is in the
message. The hydrology (IDF, return period, Min Tc, K) comes from the
storm-sewer workspace's current project, which is the template for the
mapping; the design panel's own basis is not used here. Metric models
are refused.
Two files, <name>-nodes.csv and
<name>-links.csv:
Name,Kind,X,Y,Invert,MaxDepth,Type
Name,Kind,From,To,Length,Roughness,InOffset,OutOffset,Shape,Geom1,Geom2,Vertices
Kind is Junction / Outfall / Divider / Storage or
Conduit / Pump / Orifice / Weir / Outlet; Type is the
outfall or divider type; Vertices is the count of
the link's interior vertices (the coordinates themselves are in the
GeoJSON). Length, roughness and offsets are filled for conduits only.
Cells with commas or quotes are quoted.
One FeatureCollection: a Point per node and
rain gage, a LineString per link (through its vertices), a
Polygon per subcatchment. Properties carry
name, kind, and the object's row columns.
Coordinates are the model's own map units; no CRS is assumed or written,
and the file says so in a top-level note. Assign the CRS in
your GIS when you load it.
[BACKDROP]; Georeference… can write the world file back (§3.9). File → Load PNG Background… and
DXF Underlay… are drawing aids that import nothing.[TIMESERIES] (and
gages); Export to File… writes a series as SWMM's external file (§8.5).File → Merge Model… adds another .inp to the open model:
a neighbouring catchment someone else built, a detail model of one
street, the pieces of a model split up for review. It is one undo step,
and a window says what was done (Copy puts that account
on the clipboard).
J1 becomes J250
when J1–J249 are taken), and everything in the
merged model that named it follows. A name the merged model uses but
does not define — a conduit that ends at an outfall only this model has
— is left pointing at this model's object, which is how a sub-model is
hooked onto a trunk.FLOW_UNITS and LINK_OFFSETS before
anything is copied, with the same converters as the Options dialog (§16.6, §16.7), so an SI model's inverts
arrive in feet and its elevation offsets as depths. A rain series in
millimetres becomes inches, which also means it no longer matches this
model's copy and is renamed rather than shared.[INFILTRATION] row is read by its model's
method, and no converter exists between them. Change one model's method
first.OPTIONS ROUTING_STEP: the other model's 0:00:05, kept 0:00:15),
climate and file settings, and any section the merge does not
handle.[REPORT]
NODES, LINKS or SUBCATCHMENTS
names objects (not ALL), the merged ones are added to it,
so they have results after the next run.The same merge runs from the command line:
aquaswmm-swmm merge model.inp other.inp -o merged.inp (§9.7). A model merged into itself
runs to the same results as alone for every original object, which is
how the merge is tested.
.stm: converts straight to a
SWMM model (§13.1)..out and
.rpt are read, never written or converted. CSV of results
is per view (chapter 10).