Nodes
Read current node values through a Live View tied to the current project
generation. Edit stable declarations through node.settings, using individual
properties or the atomic settings.update(**changes) operation.
StorageSettings, OutfallSettings, and DividerSettings inherit common node
settings. You can update common and subtype fields together, and the whole
update succeeds or fails as one operation. Junctions use NodeSettings
directly.
from swmmrs import Simulation
from swmmrs.objects import Outfall
with Simulation("model.inp", "model.rpt") as simulation:
node = simulation.nodes["OUT-1"]
if isinstance(node, Outfall):
# Common and outfall-specific declarations form one atomic update.
node.settings.update(
invert_elevation=102.5,
surcharge_depth=1.0,
has_flap_gate=True,
)
StorageShape, StorageExfiltration, OutfallBoundary, and DividerRule are
frozen caller values. Their related curves and time series are Live Views, as
are Outfall.settings.route_to_subcatchment and
Divider.settings.diverted_link; public object
indexes are not accepted. Storage shapes expose SWMM's canonical stored
coefficients, which makes reads and writes round-trip without attempting to
reconstruct geometry discarded by the parser.
from swmmrs import Simulation
from swmmrs.objects import (
Divider,
DividerRule,
Outfall,
OutfallBoundary,
StorageNode,
StorageShape,
)
with Simulation("model.inp", "model.rpt") as simulation:
storage = simulation.nodes["STORAGE-1"]
if isinstance(storage, StorageNode):
storage.settings.shape = StorageShape("cylindrical", (6.5, 0.0, 0.0))
outfall = simulation.nodes["OUT-1"]
if isinstance(outfall, Outfall):
outfall.settings.update(
boundary=OutfallBoundary(
"timeseries",
reference=simulation.time_series["OUTFALL-STAGE"],
),
route_to_subcatchment=simulation.subcatchments["S-1"],
)
divider = simulation.nodes["DIV-1"]
if isinstance(divider, Divider):
divider.settings.update(
rule=DividerRule("tabular", curve=simulation.curves["DIVERSION"]),
diverted_link=simulation.links["C-2"],
)
The settings keep your complete requested declaration. Reads return the
requested invert elevation, full depth, surcharge, ponding, and initial-depth
values even while configuration is dirty or after a failed start().
The solver prepares the consequences separately: link crowns and slopes,
storage volume and exfiltration geometry, outfall buffers, and divider flow
limits. A successful start() installs those changes together. Runtime
hydraulics, routed loads, and forcing retain their separate state.
from swmmrs import ConfigurationError, Simulation
with Simulation("model.inp", "model.rpt") as simulation:
node = simulation.nodes["J-1"]
# This relationally invalid candidate is retained for repair at start().
node.settings.update(full_depth=4.5, initial_depth=6.0)
assert node.settings.initial_depth == 6.0 # Requested value is visible now.
try:
simulation.start() # Rebuild and validate dependent geometry atomically.
except ConfigurationError as error:
for diagnostic in error.diagnostics:
print(diagnostic.property_path, diagnostic.message)
node.settings.initial_depth = 0.25
simulation.start() # Retry without reopening the project.
Node identity, external inflow, fixed-stage runtime override, current quality,
results, snapshots, and statistics remain top-level runtime capabilities and
are not accepted by node.settings.update().
from swmmrs import Simulation
from swmmrs.objects import Outfall
with Simulation("model.inp", "model.rpt") as simulation:
node = simulation.nodes["J-1"]
node.external_inflow = 0.25
outfall = simulation.nodes["OUT-1"]
if isinstance(outfall, Outfall):
outfall.fixed_stage = 101.5 # Runtime override, not a settings edit.
simulation.start()
while simulation.step() is not None:
print(node.id, node.depth, node.total_inflow)
hydraulics = simulation.nodes.snapshot(["J-1", "OUT-1"])
statistics = simulation.nodes.statistics()
pollut_quality, inflow concentration, and reactor concentration are immutable
current-result mappings. override_pollutant_concentrations({...}) atomically
queues nonnegative concentrations for the next quality-routing step only.
external_pollutant_mass_flux is instead a persistent live mutable mapping:
item assignment and update() are sparse atomic mutations, deletion resets one
configured pollutant to zero, and clear() resets all configured pollutants.
Whole-property assignment is unsupported.
from swmmrs import Simulation
with Simulation("model.inp", "model.rpt") as simulation:
node = simulation.nodes["J-1"]
flux = node.external_pollutant_mass_flux
flux["TSS"] = 2.5
flux.update({"Lead": 0.10})
del flux["Lead"] # Reset just Lead to zero.
simulation.start()
node.override_pollutant_concentrations({"TSS": 100.0})
simulation.step() # The override is consumed by this quality-routing step.
print(dict(node.pollut_quality))
flux.clear() # Atomically reset every configured pollutant to zero.
Typed, generation-bound views over configured SWMM project objects.
All view instances retain the simulation and project generation that created them. They validate that identity before accessing native state, so retained views cannot silently address a subsequently reopened project.
| CLASS | DESCRIPTION |
|---|---|
NodeCollection |
Provide node lookup and aligned hydraulic, quality, and statistics snapshots. |
Node |
Expose node identity, forcing, hydraulics, quality, and statistics. |
NodeSettings |
Expose stable common-node settings through one atomic owner. |
Junction |
Expose a generation-bound junction node. |
Divider |
Expose a generation-bound flow-divider node. |
DividerSettings |
Expose stable flow-divider settings and rule replacement. |
DividerRule |
Store one mutually exclusive divider rule in project units. |
Outfall |
Expose a generation-bound outfall node and its runtime capabilities. |
OutfallSettings |
Expose stable outfall settings and boundary replacement. |
OutfallBoundary |
Store one mutually exclusive outfall boundary declaration. |
StorageNode |
Expose a generation-bound storage node and its runtime capabilities. |
StorageSettings |
Expose stable storage-node settings and declarations. |
StorageExfiltration |
Store one storage Green-Ampt or seepage declaration in project units. |
StorageShape |
Store one round-trippable canonical storage surface declaration. |
NodeCollection
flowchart TD
swmmrs.objects.NodeCollection[NodeCollection]
swmmrs.objects._collections._Collection[_Collection]
swmmrs.objects._collections._Collection --> swmmrs.objects.NodeCollection
click swmmrs.objects.NodeCollection href "" "swmmrs.objects.NodeCollection"
click swmmrs.objects._collections._Collection href "" "swmmrs.objects._collections._Collection"
Provide node lookup and aligned hydraulic, quality, and statistics snapshots.
| METHOD | DESCRIPTION |
|---|---|
__contains__ |
Return whether a case-insensitive object ID is configured. |
__getitem__ |
Return a node view by case-insensitive configured ID. |
__iter__ |
Return an iterator over object IDs in configured project order. |
__len__ |
Return the number of configured objects in this collection. |
by_index |
Return a node view by its zero-based configured position. |
quality_snapshot |
Copy current node quality in canonical or requested order. |
snapshot |
Copy current node hydraulics in canonical or requested order. |
statistics |
Copy cumulative node statistics in canonical or requested order. |
__contains__
__getitem__
Return a node view by case-insensitive configured ID.
__iter__
Return an iterator over object IDs in configured project order.
quality_snapshot
Copy current node quality in canonical or requested order.
snapshot
Copy current node hydraulics in canonical or requested order.
Node
flowchart TD
swmmrs.objects.Node[Node]
swmmrs.objects._base._LiveView[_LiveView]
swmmrs.objects._base._LiveView --> swmmrs.objects.Node
click swmmrs.objects.Node href "" "swmmrs.objects.Node"
click swmmrs.objects._base._LiveView href "" "swmmrs.objects._base._LiveView"
Expose node identity, forcing, hydraulics, quality, and statistics.
Notes
The concrete view is Junction, Outfall, StorageNode, or Divider
according to the configured node kind.
| METHOD | DESCRIPTION |
|---|---|
override_pollutant_concentrations |
Atomically override concentrations for the next quality step. Lifecycle: |
| ATTRIBUTE | DESCRIPTION |
|---|---|
depth |
Return current node depth in configured project length units.
TYPE:
|
external_inflow |
Additive external inflow. Setter lifecycle:
TYPE:
|
external_pollutant_mass_flux |
Return canonical persistent mass fluxes as a live mutable mapping.
TYPE:
|
flooding |
Return current node flooding in configured project flow units.
TYPE:
|
head |
Return current node head in configured project length units.
TYPE:
|
inflow_pollutant_concentration |
Return current inflow concentrations by canonical pollutant ID. |
kind |
Return the configured node subtype.
TYPE:
|
lateral_inflow |
Return current total lateral inflow in configured project flow units.
TYPE:
|
losses |
Return current node losses in configured project flow units.
TYPE:
|
pollut_quality |
Return immutable current concentrations by canonical pollutant ID. |
reactor_pollutant_concentration |
Return current reactor concentrations by canonical pollutant ID. |
settings |
Return stable common-node settings.
TYPE:
|
statistics |
Return immutable cumulative common-node statistics.
TYPE:
|
total_inflow |
Return current total node inflow in configured project flow units.
TYPE:
|
total_inflow_volume |
Return cumulative node inflow in configured project volume units.
TYPE:
|
total_outflow |
Return current total node outflow in configured project flow units.
TYPE:
|
volume |
Return current node volume in configured project volume units.
TYPE:
|
external_inflow
property
writable
external_inflow: float
Additive external inflow. Setter lifecycle: OPEN, RUNNING, ENDED.
external_pollutant_mass_flux
property
external_pollutant_mass_flux: MutableMapping[str, float]
Return canonical persistent mass fluxes as a live mutable mapping.
Item assignment and update() are atomic sparse mutations. Deletion resets
one configured pollutant to zero; clear() atomically resets every pollutant.
Mutation lifecycle: OPEN, RUNNING, ENDED.
inflow_pollutant_concentration
property
Return current inflow concentrations by canonical pollutant ID.
lateral_inflow
property
lateral_inflow: float
Return current total lateral inflow in configured project flow units.
pollut_quality
property
Return immutable current concentrations by canonical pollutant ID.
reactor_pollutant_concentration
property
Return current reactor concentrations by canonical pollutant ID.
total_inflow
property
total_inflow: float
Return current total node inflow in configured project flow units.
total_inflow_volume
property
total_inflow_volume: float
Return cumulative node inflow in configured project volume units.
total_outflow
property
total_outflow: float
Return current total node outflow in configured project flow units.
NodeSettings
Expose stable common-node settings through one atomic owner.
| METHOD | DESCRIPTION |
|---|---|
update |
Atomically update supplied stable node settings in project units. |
| ATTRIBUTE | DESCRIPTION |
|---|---|
full_depth |
Return node full depth in configured project length units.
TYPE:
|
included_in_report |
Return whether detailed output includes this node.
TYPE:
|
initial_depth |
Return node initial depth in configured project length units.
TYPE:
|
invert_elevation |
Return node invert elevation in configured project length units.
TYPE:
|
ponded_area |
Return node ponded area in configured project area units.
TYPE:
|
surcharge_depth |
Return node surcharge depth in configured project length units.
TYPE:
|
tag |
Return the metadata tag.
TYPE:
|
full_depth
property
writable
full_depth: float
Return node full depth in configured project length units.
included_in_report
property
writable
included_in_report: bool
Return whether detailed output includes this node.
initial_depth
property
writable
initial_depth: float
Return node initial depth in configured project length units.
invert_elevation
property
writable
invert_elevation: float
Return node invert elevation in configured project length units.
ponded_area
property
writable
ponded_area: float
Return node ponded area in configured project area units.
surcharge_depth
property
writable
surcharge_depth: float
Return node surcharge depth in configured project length units.
update
update(**changes: object) -> None
Atomically update supplied stable node settings in project units.
Junction
flowchart TD
swmmrs.objects.Junction[Junction]
swmmrs.objects._nodes.Node[Node]
swmmrs.objects._base._LiveView[_LiveView]
swmmrs.objects._nodes.Node --> swmmrs.objects.Junction
swmmrs.objects._base._LiveView --> swmmrs.objects._nodes.Node
click swmmrs.objects.Junction href "" "swmmrs.objects.Junction"
click swmmrs.objects._nodes.Node href "" "swmmrs.objects._nodes.Node"
click swmmrs.objects._base._LiveView href "" "swmmrs.objects._base._LiveView"
Expose a generation-bound junction node.
| METHOD | DESCRIPTION |
|---|---|
override_pollutant_concentrations |
Atomically override concentrations for the next quality step. Lifecycle: |
| ATTRIBUTE | DESCRIPTION |
|---|---|
depth |
Return current node depth in configured project length units.
TYPE:
|
external_inflow |
Additive external inflow. Setter lifecycle:
TYPE:
|
external_pollutant_mass_flux |
Return canonical persistent mass fluxes as a live mutable mapping.
TYPE:
|
flooding |
Return current node flooding in configured project flow units.
TYPE:
|
head |
Return current node head in configured project length units.
TYPE:
|
inflow_pollutant_concentration |
Return current inflow concentrations by canonical pollutant ID. |
kind |
Return the configured node subtype.
TYPE:
|
lateral_inflow |
Return current total lateral inflow in configured project flow units.
TYPE:
|
losses |
Return current node losses in configured project flow units.
TYPE:
|
pollut_quality |
Return immutable current concentrations by canonical pollutant ID. |
reactor_pollutant_concentration |
Return current reactor concentrations by canonical pollutant ID. |
settings |
Return stable common-node settings.
TYPE:
|
statistics |
Return immutable cumulative common-node statistics.
TYPE:
|
total_inflow |
Return current total node inflow in configured project flow units.
TYPE:
|
total_inflow_volume |
Return cumulative node inflow in configured project volume units.
TYPE:
|
total_outflow |
Return current total node outflow in configured project flow units.
TYPE:
|
volume |
Return current node volume in configured project volume units.
TYPE:
|
external_inflow
property
writable
external_inflow: float
Additive external inflow. Setter lifecycle: OPEN, RUNNING, ENDED.
external_pollutant_mass_flux
property
external_pollutant_mass_flux: MutableMapping[str, float]
Return canonical persistent mass fluxes as a live mutable mapping.
Item assignment and update() are atomic sparse mutations. Deletion resets
one configured pollutant to zero; clear() atomically resets every pollutant.
Mutation lifecycle: OPEN, RUNNING, ENDED.
inflow_pollutant_concentration
property
Return current inflow concentrations by canonical pollutant ID.
lateral_inflow
property
lateral_inflow: float
Return current total lateral inflow in configured project flow units.
pollut_quality
property
Return immutable current concentrations by canonical pollutant ID.
reactor_pollutant_concentration
property
Return current reactor concentrations by canonical pollutant ID.
total_inflow
property
total_inflow: float
Return current total node inflow in configured project flow units.
total_inflow_volume
property
total_inflow_volume: float
Return cumulative node inflow in configured project volume units.
total_outflow
property
total_outflow: float
Return current total node outflow in configured project flow units.
Divider
flowchart TD
swmmrs.objects.Divider[Divider]
swmmrs.objects._nodes.Node[Node]
swmmrs.objects._base._LiveView[_LiveView]
swmmrs.objects._nodes.Node --> swmmrs.objects.Divider
swmmrs.objects._base._LiveView --> swmmrs.objects._nodes.Node
click swmmrs.objects.Divider href "" "swmmrs.objects.Divider"
click swmmrs.objects._nodes.Node href "" "swmmrs.objects._nodes.Node"
click swmmrs.objects._base._LiveView href "" "swmmrs.objects._base._LiveView"
Expose a generation-bound flow-divider node.
| METHOD | DESCRIPTION |
|---|---|
override_pollutant_concentrations |
Atomically override concentrations for the next quality step. Lifecycle: |
| ATTRIBUTE | DESCRIPTION |
|---|---|
depth |
Return current node depth in configured project length units.
TYPE:
|
external_inflow |
Additive external inflow. Setter lifecycle:
TYPE:
|
external_pollutant_mass_flux |
Return canonical persistent mass fluxes as a live mutable mapping.
TYPE:
|
flooding |
Return current node flooding in configured project flow units.
TYPE:
|
head |
Return current node head in configured project length units.
TYPE:
|
inflow_pollutant_concentration |
Return current inflow concentrations by canonical pollutant ID. |
kind |
Return the configured node subtype.
TYPE:
|
lateral_inflow |
Return current total lateral inflow in configured project flow units.
TYPE:
|
losses |
Return current node losses in configured project flow units.
TYPE:
|
pollut_quality |
Return immutable current concentrations by canonical pollutant ID. |
reactor_pollutant_concentration |
Return current reactor concentrations by canonical pollutant ID. |
settings |
Return stable divider settings.
TYPE:
|
statistics |
Return immutable cumulative common-node statistics.
TYPE:
|
total_inflow |
Return current total node inflow in configured project flow units.
TYPE:
|
total_inflow_volume |
Return cumulative node inflow in configured project volume units.
TYPE:
|
total_outflow |
Return current total node outflow in configured project flow units.
TYPE:
|
volume |
Return current node volume in configured project volume units.
TYPE:
|
external_inflow
property
writable
external_inflow: float
Additive external inflow. Setter lifecycle: OPEN, RUNNING, ENDED.
external_pollutant_mass_flux
property
external_pollutant_mass_flux: MutableMapping[str, float]
Return canonical persistent mass fluxes as a live mutable mapping.
Item assignment and update() are atomic sparse mutations. Deletion resets
one configured pollutant to zero; clear() atomically resets every pollutant.
Mutation lifecycle: OPEN, RUNNING, ENDED.
inflow_pollutant_concentration
property
Return current inflow concentrations by canonical pollutant ID.
lateral_inflow
property
lateral_inflow: float
Return current total lateral inflow in configured project flow units.
pollut_quality
property
Return immutable current concentrations by canonical pollutant ID.
reactor_pollutant_concentration
property
Return current reactor concentrations by canonical pollutant ID.
total_inflow
property
total_inflow: float
Return current total node inflow in configured project flow units.
total_inflow_volume
property
total_inflow_volume: float
Return cumulative node inflow in configured project volume units.
total_outflow
property
total_outflow: float
Return current total node outflow in configured project flow units.
DividerSettings
flowchart TD
swmmrs.objects.DividerSettings[DividerSettings]
swmmrs.objects._nodes.NodeSettings[NodeSettings]
swmmrs.objects._nodes.NodeSettings --> swmmrs.objects.DividerSettings
click swmmrs.objects.DividerSettings href "" "swmmrs.objects.DividerSettings"
click swmmrs.objects._nodes.NodeSettings href "" "swmmrs.objects._nodes.NodeSettings"
Expose stable flow-divider settings and rule replacement.
| METHOD | DESCRIPTION |
|---|---|
update |
Atomically update supplied stable node settings in project units. |
| ATTRIBUTE | DESCRIPTION |
|---|---|
diverted_link |
Return the optional diverted-link relationship.
TYPE:
|
full_depth |
Return node full depth in configured project length units.
TYPE:
|
included_in_report |
Return whether detailed output includes this node.
TYPE:
|
initial_depth |
Return node initial depth in configured project length units.
TYPE:
|
invert_elevation |
Return node invert elevation in configured project length units.
TYPE:
|
ponded_area |
Return node ponded area in configured project area units.
TYPE:
|
rule |
Return the stable divider rule in project units.
TYPE:
|
surcharge_depth |
Return node surcharge depth in configured project length units.
TYPE:
|
tag |
Return the metadata tag.
TYPE:
|
diverted_link
property
writable
diverted_link: Link | None
Return the optional diverted-link relationship.
full_depth
property
writable
full_depth: float
Return node full depth in configured project length units.
included_in_report
property
writable
included_in_report: bool
Return whether detailed output includes this node.
initial_depth
property
writable
initial_depth: float
Return node initial depth in configured project length units.
invert_elevation
property
writable
invert_elevation: float
Return node invert elevation in configured project length units.
ponded_area
property
writable
ponded_area: float
Return node ponded area in configured project area units.
surcharge_depth
property
writable
surcharge_depth: float
Return node surcharge depth in configured project length units.
update
update(**changes: object) -> None
Atomically update supplied stable node settings in project units.
DividerRule
Store one mutually exclusive divider rule in project units.
Outfall
flowchart TD
swmmrs.objects.Outfall[Outfall]
swmmrs.objects._nodes.Node[Node]
swmmrs.objects._base._LiveView[_LiveView]
swmmrs.objects._nodes.Node --> swmmrs.objects.Outfall
swmmrs.objects._base._LiveView --> swmmrs.objects._nodes.Node
click swmmrs.objects.Outfall href "" "swmmrs.objects.Outfall"
click swmmrs.objects._nodes.Node href "" "swmmrs.objects._nodes.Node"
click swmmrs.objects._base._LiveView href "" "swmmrs.objects._base._LiveView"
Expose a generation-bound outfall node and its runtime capabilities.
| METHOD | DESCRIPTION |
|---|---|
override_pollutant_concentrations |
Atomically override concentrations for the next quality step. Lifecycle: |
| ATTRIBUTE | DESCRIPTION |
|---|---|
depth |
Return current node depth in configured project length units.
TYPE:
|
external_inflow |
Additive external inflow. Setter lifecycle:
TYPE:
|
external_pollutant_mass_flux |
Return canonical persistent mass fluxes as a live mutable mapping.
TYPE:
|
fixed_stage |
Current fixed-stage override without replacing the stable boundary declaration.
TYPE:
|
flooding |
Return current node flooding in configured project flow units.
TYPE:
|
head |
Return current node head in configured project length units.
TYPE:
|
inflow_pollutant_concentration |
Return current inflow concentrations by canonical pollutant ID. |
kind |
Return the configured node subtype.
TYPE:
|
lateral_inflow |
Return current total lateral inflow in configured project flow units.
TYPE:
|
losses |
Return current node losses in configured project flow units.
TYPE:
|
outfall_statistics |
Return immutable cumulative outfall statistics.
TYPE:
|
pollut_quality |
Return immutable current concentrations by canonical pollutant ID. |
reactor_pollutant_concentration |
Return current reactor concentrations by canonical pollutant ID. |
settings |
Return stable outfall settings.
TYPE:
|
statistics |
Return immutable cumulative common-node statistics.
TYPE:
|
total_inflow |
Return current total node inflow in configured project flow units.
TYPE:
|
total_inflow_volume |
Return cumulative node inflow in configured project volume units.
TYPE:
|
total_outflow |
Return current total node outflow in configured project flow units.
TYPE:
|
volume |
Return current node volume in configured project volume units.
TYPE:
|
external_inflow
property
writable
external_inflow: float
Additive external inflow. Setter lifecycle: OPEN, RUNNING, ENDED.
external_pollutant_mass_flux
property
external_pollutant_mass_flux: MutableMapping[str, float]
Return canonical persistent mass fluxes as a live mutable mapping.
Item assignment and update() are atomic sparse mutations. Deletion resets
one configured pollutant to zero; clear() atomically resets every pollutant.
Mutation lifecycle: OPEN, RUNNING, ENDED.
fixed_stage
property
writable
fixed_stage: float | None
Current fixed-stage override without replacing the stable boundary declaration.
inflow_pollutant_concentration
property
Return current inflow concentrations by canonical pollutant ID.
lateral_inflow
property
lateral_inflow: float
Return current total lateral inflow in configured project flow units.
outfall_statistics
property
Return immutable cumulative outfall statistics.
pollut_quality
property
Return immutable current concentrations by canonical pollutant ID.
reactor_pollutant_concentration
property
Return current reactor concentrations by canonical pollutant ID.
total_inflow
property
total_inflow: float
Return current total node inflow in configured project flow units.
total_inflow_volume
property
total_inflow_volume: float
Return cumulative node inflow in configured project volume units.
total_outflow
property
total_outflow: float
Return current total node outflow in configured project flow units.
OutfallSettings
flowchart TD
swmmrs.objects.OutfallSettings[OutfallSettings]
swmmrs.objects._nodes.NodeSettings[NodeSettings]
swmmrs.objects._nodes.NodeSettings --> swmmrs.objects.OutfallSettings
click swmmrs.objects.OutfallSettings href "" "swmmrs.objects.OutfallSettings"
click swmmrs.objects._nodes.NodeSettings href "" "swmmrs.objects._nodes.NodeSettings"
Expose stable outfall settings and boundary replacement.
| METHOD | DESCRIPTION |
|---|---|
update |
Atomically update supplied stable node settings in project units. |
| ATTRIBUTE | DESCRIPTION |
|---|---|
boundary |
Return the stable boundary declaration in project units.
TYPE:
|
full_depth |
Return node full depth in configured project length units.
TYPE:
|
has_flap_gate |
Return whether the outfall has a flap gate.
TYPE:
|
included_in_report |
Return whether detailed output includes this node.
TYPE:
|
initial_depth |
Return node initial depth in configured project length units.
TYPE:
|
invert_elevation |
Return node invert elevation in configured project length units.
TYPE:
|
ponded_area |
Return node ponded area in configured project area units.
TYPE:
|
route_to_subcatchment |
Return the optional receiving subcatchment relationship.
TYPE:
|
surcharge_depth |
Return node surcharge depth in configured project length units.
TYPE:
|
tag |
Return the metadata tag.
TYPE:
|
boundary
property
writable
boundary: OutfallBoundary
Return the stable boundary declaration in project units.
full_depth
property
writable
full_depth: float
Return node full depth in configured project length units.
included_in_report
property
writable
included_in_report: bool
Return whether detailed output includes this node.
initial_depth
property
writable
initial_depth: float
Return node initial depth in configured project length units.
invert_elevation
property
writable
invert_elevation: float
Return node invert elevation in configured project length units.
ponded_area
property
writable
ponded_area: float
Return node ponded area in configured project area units.
route_to_subcatchment
property
writable
route_to_subcatchment: Subcatchment | None
Return the optional receiving subcatchment relationship.
surcharge_depth
property
writable
surcharge_depth: float
Return node surcharge depth in configured project length units.
update
update(**changes: object) -> None
Atomically update supplied stable node settings in project units.
OutfallBoundary
Store one mutually exclusive outfall boundary declaration.
StorageNode
flowchart TD
swmmrs.objects.StorageNode[StorageNode]
swmmrs.objects._nodes.Node[Node]
swmmrs.objects._base._LiveView[_LiveView]
swmmrs.objects._nodes.Node --> swmmrs.objects.StorageNode
swmmrs.objects._base._LiveView --> swmmrs.objects._nodes.Node
click swmmrs.objects.StorageNode href "" "swmmrs.objects.StorageNode"
click swmmrs.objects._nodes.Node href "" "swmmrs.objects._nodes.Node"
click swmmrs.objects._base._LiveView href "" "swmmrs.objects._base._LiveView"
Expose a generation-bound storage node and its runtime capabilities.
| METHOD | DESCRIPTION |
|---|---|
override_pollutant_concentrations |
Atomically override concentrations for the next quality step. Lifecycle: |
| ATTRIBUTE | DESCRIPTION |
|---|---|
depth |
Return current node depth in configured project length units.
TYPE:
|
external_inflow |
Additive external inflow. Setter lifecycle:
TYPE:
|
external_pollutant_mass_flux |
Return canonical persistent mass fluxes as a live mutable mapping.
TYPE:
|
flooding |
Return current node flooding in configured project flow units.
TYPE:
|
head |
Return current node head in configured project length units.
TYPE:
|
hydraulic_retention_time |
Return current storage hydraulic retention time.
TYPE:
|
inflow_pollutant_concentration |
Return current inflow concentrations by canonical pollutant ID. |
kind |
Return the configured node subtype.
TYPE:
|
lateral_inflow |
Return current total lateral inflow in configured project flow units.
TYPE:
|
losses |
Return current node losses in configured project flow units.
TYPE:
|
pollut_quality |
Return immutable current concentrations by canonical pollutant ID. |
reactor_pollutant_concentration |
Return current reactor concentrations by canonical pollutant ID. |
settings |
Return stable storage-node settings.
TYPE:
|
statistics |
Return immutable cumulative common-node statistics.
TYPE:
|
storage_statistics |
Return immutable cumulative storage statistics.
TYPE:
|
total_inflow |
Return current total node inflow in configured project flow units.
TYPE:
|
total_inflow_volume |
Return cumulative node inflow in configured project volume units.
TYPE:
|
total_outflow |
Return current total node outflow in configured project flow units.
TYPE:
|
volume |
Return current node volume in configured project volume units.
TYPE:
|
external_inflow
property
writable
external_inflow: float
Additive external inflow. Setter lifecycle: OPEN, RUNNING, ENDED.
external_pollutant_mass_flux
property
external_pollutant_mass_flux: MutableMapping[str, float]
Return canonical persistent mass fluxes as a live mutable mapping.
Item assignment and update() are atomic sparse mutations. Deletion resets
one configured pollutant to zero; clear() atomically resets every pollutant.
Mutation lifecycle: OPEN, RUNNING, ENDED.
hydraulic_retention_time
property
hydraulic_retention_time: timedelta
Return current storage hydraulic retention time.
inflow_pollutant_concentration
property
Return current inflow concentrations by canonical pollutant ID.
lateral_inflow
property
lateral_inflow: float
Return current total lateral inflow in configured project flow units.
pollut_quality
property
Return immutable current concentrations by canonical pollutant ID.
reactor_pollutant_concentration
property
Return current reactor concentrations by canonical pollutant ID.
storage_statistics
property
Return immutable cumulative storage statistics.
total_inflow
property
total_inflow: float
Return current total node inflow in configured project flow units.
total_inflow_volume
property
total_inflow_volume: float
Return cumulative node inflow in configured project volume units.
total_outflow
property
total_outflow: float
Return current total node outflow in configured project flow units.
StorageSettings
flowchart TD
swmmrs.objects.StorageSettings[StorageSettings]
swmmrs.objects._nodes.NodeSettings[NodeSettings]
swmmrs.objects._nodes.NodeSettings --> swmmrs.objects.StorageSettings
click swmmrs.objects.StorageSettings href "" "swmmrs.objects.StorageSettings"
click swmmrs.objects._nodes.NodeSettings href "" "swmmrs.objects._nodes.NodeSettings"
Expose stable storage-node settings and declarations.
| METHOD | DESCRIPTION |
|---|---|
update |
Atomically update supplied stable node settings in project units. |
| ATTRIBUTE | DESCRIPTION |
|---|---|
evaporation_fraction |
Return the realized evaporation fraction.
TYPE:
|
exfiltration |
Return the optional storage exfiltration declaration.
TYPE:
|
full_depth |
Return node full depth in configured project length units.
TYPE:
|
included_in_report |
Return whether detailed output includes this node.
TYPE:
|
initial_depth |
Return node initial depth in configured project length units.
TYPE:
|
invert_elevation |
Return node invert elevation in configured project length units.
TYPE:
|
ponded_area |
Return node ponded area in configured project area units.
TYPE:
|
shape |
Return the canonical storage surface declaration.
TYPE:
|
surcharge_depth |
Return node surcharge depth in configured project length units.
TYPE:
|
tag |
Return the metadata tag.
TYPE:
|
evaporation_fraction
property
writable
evaporation_fraction: float
Return the realized evaporation fraction.
exfiltration
property
writable
exfiltration: StorageExfiltration | None
Return the optional storage exfiltration declaration.
full_depth
property
writable
full_depth: float
Return node full depth in configured project length units.
included_in_report
property
writable
included_in_report: bool
Return whether detailed output includes this node.
initial_depth
property
writable
initial_depth: float
Return node initial depth in configured project length units.
invert_elevation
property
writable
invert_elevation: float
Return node invert elevation in configured project length units.
ponded_area
property
writable
ponded_area: float
Return node ponded area in configured project area units.
surcharge_depth
property
writable
surcharge_depth: float
Return node surcharge depth in configured project length units.
update
update(**changes: object) -> None
Atomically update supplied stable node settings in project units.
StorageExfiltration
Store one storage Green-Ampt or seepage declaration in project units.
StorageShape
Store one round-trippable canonical storage surface declaration.
coefficients are SWMM's stored C-compatible a0, a1, and a2 values
in configured project units. Tabular shapes use zero coefficients and a
Curve Live View.