swmmx Documentation

Complete Remove Reference

Rendered from 14_all_remove_functions.ipynb.

swmmx: all remove functions

This notebook is a categorized reference for every public remove endpoint in swmmx.

Remove pattern:

m.remove.<category>.<element_type>(ids, force=False)
  • ids can be one string ID or a list of string IDs.
  • By default, referenced objects are protected from unsafe removal.
  • force=True only performs conservative cascades that are implemented safely; otherwise a clear error is raised.
  • Successful removals return a summary dictionary and invalidate stale results.
Code cell 1
from swmmx import swmm

m = swmm(new='SI')
# Use a scratch model or clone before experimenting with removals.

Common remove patterns

m.remove.link.conduit('C1')
m.remove.node.junction(['J1', 'J2'])
m.remove.node.junction('J1', force=True)

Hydrology

hydrology

Remove functionStatusids inputforce inputDependency rulesOutputConditions
m.remove.hydrology.rain_gage(ids, force=False)Implementedone str ID or list[str]bool, default Falsesubcatchment.rain_gageremoval summary dictRequires format, interval, and source_type; time_series is checked when used.
m.remove.hydrology.subcatchment(ids, force=False)Implementedone str ID or list[str]bool, default Falsesubcatchment.outletremoval summary dictRequires explicit centroid x/y; outlet may be a node or another subcatchment.
m.remove.hydrology.aquifer(ids, force=False)Reserved; raises NotImplementedYetErrorone str ID or list[str]bool, default FalseNo explicit dependency rulesremoval summary dictUse the listed required inputs; unsupported reserved endpoints raise a clear error.
m.remove.hydrology.snow_pack(ids, force=False)Reserved; raises NotImplementedYetErrorone str ID or list[str]bool, default FalseNo explicit dependency rulesremoval summary dictUse the listed required inputs; unsupported reserved endpoints raise a clear error.
m.remove.hydrology.unit_hydrograph(ids, force=False)Reserved; raises NotImplementedYetErrorone str ID or list[str]bool, default FalseNo explicit dependency rulesremoval summary dictUse the listed required inputs; unsupported reserved endpoints raise a clear error.
m.remove.hydrology.lid_control(ids, force=False)Reserved; raises NotImplementedYetErrorone str ID or list[str]bool, default FalseNo explicit dependency rulesremoval summary dictUse the listed required inputs; unsupported reserved endpoints raise a clear error.
m.remove.hydrology.rain_gage()
InputRequiredTypeDefaultConditions / validation
idsYesone str ID or list[str]NoneEvery ID must already exist.
forceNoboolFalseWithout force, dependencies block removal. With force, only conservative safe cascades run.
  • Dependency rules: subcatchment.rain_gage
  • Return value: {'removed': [...], 'warnings': [...], 'dependencies_removed': [...]}
  • Implementation status: Implemented
  • Example: m.remove.hydrology.rain_gage('ID')
m.remove.hydrology.subcatchment()
InputRequiredTypeDefaultConditions / validation
idsYesone str ID or list[str]NoneEvery ID must already exist.
forceNoboolFalseWithout force, dependencies block removal. With force, only conservative safe cascades run.
  • Dependency rules: subcatchment.outlet
  • Return value: {'removed': [...], 'warnings': [...], 'dependencies_removed': [...]}
  • Implementation status: Implemented
  • Example: m.remove.hydrology.subcatchment('ID')
m.remove.hydrology.aquifer()
InputRequiredTypeDefaultConditions / validation
idsYesone str ID or list[str]NoneEvery ID must already exist.
forceNoboolFalseWithout force, dependencies block removal. With force, only conservative safe cascades run.
  • Dependency rules: No explicit dependency rules
  • Return value: {'removed': [...], 'warnings': [...], 'dependencies_removed': [...]}
  • Implementation status: Reserved; raises NotImplementedYetError
  • Example: m.remove.hydrology.aquifer('ID')
m.remove.hydrology.snow_pack()
InputRequiredTypeDefaultConditions / validation
idsYesone str ID or list[str]NoneEvery ID must already exist.
forceNoboolFalseWithout force, dependencies block removal. With force, only conservative safe cascades run.
  • Dependency rules: No explicit dependency rules
  • Return value: {'removed': [...], 'warnings': [...], 'dependencies_removed': [...]}
  • Implementation status: Reserved; raises NotImplementedYetError
  • Example: m.remove.hydrology.snow_pack('ID')
m.remove.hydrology.unit_hydrograph()
InputRequiredTypeDefaultConditions / validation
idsYesone str ID or list[str]NoneEvery ID must already exist.
forceNoboolFalseWithout force, dependencies block removal. With force, only conservative safe cascades run.
  • Dependency rules: No explicit dependency rules
  • Return value: {'removed': [...], 'warnings': [...], 'dependencies_removed': [...]}
  • Implementation status: Reserved; raises NotImplementedYetError
  • Example: m.remove.hydrology.unit_hydrograph('ID')
m.remove.hydrology.lid_control()
InputRequiredTypeDefaultConditions / validation
idsYesone str ID or list[str]NoneEvery ID must already exist.
forceNoboolFalseWithout force, dependencies block removal. With force, only conservative safe cascades run.
  • Dependency rules: No explicit dependency rules
  • Return value: {'removed': [...], 'warnings': [...], 'dependencies_removed': [...]}
  • Implementation status: Reserved; raises NotImplementedYetError
  • Example: m.remove.hydrology.lid_control('ID')

Nodes

node

Remove functionStatusids inputforce inputDependency rulesOutputConditions
m.remove.node.junction(ids, force=False)Implementedone str ID or list[str]bool, default Falselink.from_node, link.to_node, subcatchment.outletremoval summary dictRequires explicit map x/y coordinates.
m.remove.node.outfall(ids, force=False)Implementedone str ID or list[str]bool, default Falselink.from_node, link.to_node, subcatchment.outletremoval summary dictRequires explicit map x/y; stage input depends on outfall type.
m.remove.node.divider(ids, force=False)Reserved; raises NotImplementedYetErrorone str ID or list[str]bool, default FalseNo explicit dependency rulesremoval summary dictUse the listed required inputs; unsupported reserved endpoints raise a clear error.
m.remove.node.storage_unit(ids, force=False)Reserved; raises NotImplementedYetErrorone str ID or list[str]bool, default FalseNo explicit dependency rulesremoval summary dictUse the listed required inputs; unsupported reserved endpoints raise a clear error.
m.remove.node.junction()
InputRequiredTypeDefaultConditions / validation
idsYesone str ID or list[str]NoneEvery ID must already exist.
forceNoboolFalseWithout force, dependencies block removal. With force, only conservative safe cascades run.
  • Dependency rules: link.from_node, link.to_node, subcatchment.outlet
  • Return value: {'removed': [...], 'warnings': [...], 'dependencies_removed': [...]}
  • Implementation status: Implemented
  • Example: m.remove.node.junction('ID')
m.remove.node.outfall()
InputRequiredTypeDefaultConditions / validation
idsYesone str ID or list[str]NoneEvery ID must already exist.
forceNoboolFalseWithout force, dependencies block removal. With force, only conservative safe cascades run.
  • Dependency rules: link.from_node, link.to_node, subcatchment.outlet
  • Return value: {'removed': [...], 'warnings': [...], 'dependencies_removed': [...]}
  • Implementation status: Implemented
  • Example: m.remove.node.outfall('ID')
m.remove.node.divider()
InputRequiredTypeDefaultConditions / validation
idsYesone str ID or list[str]NoneEvery ID must already exist.
forceNoboolFalseWithout force, dependencies block removal. With force, only conservative safe cascades run.
  • Dependency rules: No explicit dependency rules
  • Return value: {'removed': [...], 'warnings': [...], 'dependencies_removed': [...]}
  • Implementation status: Reserved; raises NotImplementedYetError
  • Example: m.remove.node.divider('ID')
m.remove.node.storage_unit()
InputRequiredTypeDefaultConditions / validation
idsYesone str ID or list[str]NoneEvery ID must already exist.
forceNoboolFalseWithout force, dependencies block removal. With force, only conservative safe cascades run.
  • Dependency rules: No explicit dependency rules
  • Return value: {'removed': [...], 'warnings': [...], 'dependencies_removed': [...]}
  • Implementation status: Reserved; raises NotImplementedYetError
  • Example: m.remove.node.storage_unit('ID')

Links

link

Remove functionStatusids inputforce inputDependency rulesOutputConditions
m.remove.link.conduit(ids, force=False)Implementedone str ID or list[str]bool, default Falsecontrolsremoval summary dictRequires existing endpoint nodes; length can be computed from their coordinates.
m.remove.link.pump(ids, force=False)Reserved; raises NotImplementedYetErrorone str ID or list[str]bool, default FalseNo explicit dependency rulesremoval summary dictUse the listed required inputs; unsupported reserved endpoints raise a clear error.
m.remove.link.orifice(ids, force=False)Reserved; raises NotImplementedYetErrorone str ID or list[str]bool, default FalseNo explicit dependency rulesremoval summary dictUse the listed required inputs; unsupported reserved endpoints raise a clear error.
m.remove.link.weir(ids, force=False)Reserved; raises NotImplementedYetErrorone str ID or list[str]bool, default FalseNo explicit dependency rulesremoval summary dictUse the listed required inputs; unsupported reserved endpoints raise a clear error.
m.remove.link.outlet(ids, force=False)Reserved; raises NotImplementedYetErrorone str ID or list[str]bool, default FalseNo explicit dependency rulesremoval summary dictUse the listed required inputs; unsupported reserved endpoints raise a clear error.
m.remove.link.conduit()
InputRequiredTypeDefaultConditions / validation
idsYesone str ID or list[str]NoneEvery ID must already exist.
forceNoboolFalseWithout force, dependencies block removal. With force, only conservative safe cascades run.
  • Dependency rules: controls
  • Return value: {'removed': [...], 'warnings': [...], 'dependencies_removed': [...]}
  • Implementation status: Implemented
  • Example: m.remove.link.conduit('ID')
m.remove.link.pump()
InputRequiredTypeDefaultConditions / validation
idsYesone str ID or list[str]NoneEvery ID must already exist.
forceNoboolFalseWithout force, dependencies block removal. With force, only conservative safe cascades run.
  • Dependency rules: No explicit dependency rules
  • Return value: {'removed': [...], 'warnings': [...], 'dependencies_removed': [...]}
  • Implementation status: Reserved; raises NotImplementedYetError
  • Example: m.remove.link.pump('ID')
m.remove.link.orifice()
InputRequiredTypeDefaultConditions / validation
idsYesone str ID or list[str]NoneEvery ID must already exist.
forceNoboolFalseWithout force, dependencies block removal. With force, only conservative safe cascades run.
  • Dependency rules: No explicit dependency rules
  • Return value: {'removed': [...], 'warnings': [...], 'dependencies_removed': [...]}
  • Implementation status: Reserved; raises NotImplementedYetError
  • Example: m.remove.link.orifice('ID')
m.remove.link.weir()
InputRequiredTypeDefaultConditions / validation
idsYesone str ID or list[str]NoneEvery ID must already exist.
forceNoboolFalseWithout force, dependencies block removal. With force, only conservative safe cascades run.
  • Dependency rules: No explicit dependency rules
  • Return value: {'removed': [...], 'warnings': [...], 'dependencies_removed': [...]}
  • Implementation status: Reserved; raises NotImplementedYetError
  • Example: m.remove.link.weir('ID')
m.remove.link.outlet()
InputRequiredTypeDefaultConditions / validation
idsYesone str ID or list[str]NoneEvery ID must already exist.
forceNoboolFalseWithout force, dependencies block removal. With force, only conservative safe cascades run.
  • Dependency rules: No explicit dependency rules
  • Return value: {'removed': [...], 'warnings': [...], 'dependencies_removed': [...]}
  • Implementation status: Reserved; raises NotImplementedYetError
  • Example: m.remove.link.outlet('ID')

Hydraulics

hydraulic

Remove functionStatusids inputforce inputDependency rulesOutputConditions
m.remove.hydraulic.street(ids, force=False)Reserved; raises NotImplementedYetErrorone str ID or list[str]bool, default FalseNo explicit dependency rulesremoval summary dictUse the listed required inputs; unsupported reserved endpoints raise a clear error.
m.remove.hydraulic.inlet(ids, force=False)Reserved; raises NotImplementedYetErrorone str ID or list[str]bool, default FalseNo explicit dependency rulesremoval summary dictUse the listed required inputs; unsupported reserved endpoints raise a clear error.
m.remove.hydraulic.transect(ids, force=False)Reserved; raises NotImplementedYetErrorone str ID or list[str]bool, default FalseNo explicit dependency rulesremoval summary dictUse the listed required inputs; unsupported reserved endpoints raise a clear error.
m.remove.hydraulic.control(ids, force=False)Reserved; raises NotImplementedYetErrorone str ID or list[str]bool, default FalseNo explicit dependency rulesremoval summary dictUse the listed required inputs; unsupported reserved endpoints raise a clear error.
m.remove.hydraulic.street()
InputRequiredTypeDefaultConditions / validation
idsYesone str ID or list[str]NoneEvery ID must already exist.
forceNoboolFalseWithout force, dependencies block removal. With force, only conservative safe cascades run.
  • Dependency rules: No explicit dependency rules
  • Return value: {'removed': [...], 'warnings': [...], 'dependencies_removed': [...]}
  • Implementation status: Reserved; raises NotImplementedYetError
  • Example: m.remove.hydraulic.street('ID')
m.remove.hydraulic.inlet()
InputRequiredTypeDefaultConditions / validation
idsYesone str ID or list[str]NoneEvery ID must already exist.
forceNoboolFalseWithout force, dependencies block removal. With force, only conservative safe cascades run.
  • Dependency rules: No explicit dependency rules
  • Return value: {'removed': [...], 'warnings': [...], 'dependencies_removed': [...]}
  • Implementation status: Reserved; raises NotImplementedYetError
  • Example: m.remove.hydraulic.inlet('ID')
m.remove.hydraulic.transect()
InputRequiredTypeDefaultConditions / validation
idsYesone str ID or list[str]NoneEvery ID must already exist.
forceNoboolFalseWithout force, dependencies block removal. With force, only conservative safe cascades run.
  • Dependency rules: No explicit dependency rules
  • Return value: {'removed': [...], 'warnings': [...], 'dependencies_removed': [...]}
  • Implementation status: Reserved; raises NotImplementedYetError
  • Example: m.remove.hydraulic.transect('ID')
m.remove.hydraulic.control()
InputRequiredTypeDefaultConditions / validation
idsYesone str ID or list[str]NoneEvery ID must already exist.
forceNoboolFalseWithout force, dependencies block removal. With force, only conservative safe cascades run.
  • Dependency rules: No explicit dependency rules
  • Return value: {'removed': [...], 'warnings': [...], 'dependencies_removed': [...]}
  • Implementation status: Reserved; raises NotImplementedYetError
  • Example: m.remove.hydraulic.control('ID')

Water quality

quality

Remove functionStatusids inputforce inputDependency rulesOutputConditions
m.remove.quality.pollutant(ids, force=False)Reserved; raises NotImplementedYetErrorone str ID or list[str]bool, default FalseNo explicit dependency rulesremoval summary dictUse the listed required inputs; unsupported reserved endpoints raise a clear error.
m.remove.quality.land_use(ids, force=False)Reserved; raises NotImplementedYetErrorone str ID or list[str]bool, default FalseNo explicit dependency rulesremoval summary dictUse the listed required inputs; unsupported reserved endpoints raise a clear error.
m.remove.quality.pollutant()
InputRequiredTypeDefaultConditions / validation
idsYesone str ID or list[str]NoneEvery ID must already exist.
forceNoboolFalseWithout force, dependencies block removal. With force, only conservative safe cascades run.
  • Dependency rules: No explicit dependency rules
  • Return value: {'removed': [...], 'warnings': [...], 'dependencies_removed': [...]}
  • Implementation status: Reserved; raises NotImplementedYetError
  • Example: m.remove.quality.pollutant('ID')
m.remove.quality.land_use()
InputRequiredTypeDefaultConditions / validation
idsYesone str ID or list[str]NoneEvery ID must already exist.
forceNoboolFalseWithout force, dependencies block removal. With force, only conservative safe cascades run.
  • Dependency rules: No explicit dependency rules
  • Return value: {'removed': [...], 'warnings': [...], 'dependencies_removed': [...]}
  • Implementation status: Reserved; raises NotImplementedYetError
  • Example: m.remove.quality.land_use('ID')

Curves

curve

Remove functionStatusids inputforce inputDependency rulesOutputConditions
m.remove.curve.control(ids, force=False)Implementedone str ID or list[str]bool, default FalseNo explicit dependency rulesremoval summary dictUse the listed required inputs; unsupported reserved endpoints raise a clear error.
m.remove.curve.diversion(ids, force=False)Implementedone str ID or list[str]bool, default FalseNo explicit dependency rulesremoval summary dictUse the listed required inputs; unsupported reserved endpoints raise a clear error.
m.remove.curve.pump(ids, force=False)Implementedone str ID or list[str]bool, default FalseNo explicit dependency rulesremoval summary dictUse the listed required inputs; unsupported reserved endpoints raise a clear error.
m.remove.curve.rating(ids, force=False)Implementedone str ID or list[str]bool, default FalseNo explicit dependency rulesremoval summary dictUse the listed required inputs; unsupported reserved endpoints raise a clear error.
m.remove.curve.shape(ids, force=False)Implementedone str ID or list[str]bool, default FalseNo explicit dependency rulesremoval summary dictUse the listed required inputs; unsupported reserved endpoints raise a clear error.
m.remove.curve.storage(ids, force=False)Implementedone str ID or list[str]bool, default FalseNo explicit dependency rulesremoval summary dictUse the listed required inputs; unsupported reserved endpoints raise a clear error.
m.remove.curve.tidal(ids, force=False)Implementedone str ID or list[str]bool, default FalseNo explicit dependency rulesremoval summary dictUse the listed required inputs; unsupported reserved endpoints raise a clear error.
m.remove.curve.weir(ids, force=False)Implementedone str ID or list[str]bool, default FalseNo explicit dependency rulesremoval summary dictUse the listed required inputs; unsupported reserved endpoints raise a clear error.
m.remove.curve.generic(ids, force=False)Implementedone str ID or list[str]bool, default FalseNo explicit dependency rulesremoval summary dictRequires explicit curve type plus x/y points.
m.remove.curve.control()
InputRequiredTypeDefaultConditions / validation
idsYesone str ID or list[str]NoneEvery ID must already exist.
forceNoboolFalseWithout force, dependencies block removal. With force, only conservative safe cascades run.
  • Dependency rules: No explicit dependency rules
  • Return value: {'removed': [...], 'warnings': [...], 'dependencies_removed': [...]}
  • Implementation status: Implemented
  • Example: m.remove.curve.control('ID')
m.remove.curve.diversion()
InputRequiredTypeDefaultConditions / validation
idsYesone str ID or list[str]NoneEvery ID must already exist.
forceNoboolFalseWithout force, dependencies block removal. With force, only conservative safe cascades run.
  • Dependency rules: No explicit dependency rules
  • Return value: {'removed': [...], 'warnings': [...], 'dependencies_removed': [...]}
  • Implementation status: Implemented
  • Example: m.remove.curve.diversion('ID')
m.remove.curve.pump()
InputRequiredTypeDefaultConditions / validation
idsYesone str ID or list[str]NoneEvery ID must already exist.
forceNoboolFalseWithout force, dependencies block removal. With force, only conservative safe cascades run.
  • Dependency rules: No explicit dependency rules
  • Return value: {'removed': [...], 'warnings': [...], 'dependencies_removed': [...]}
  • Implementation status: Implemented
  • Example: m.remove.curve.pump('ID')
m.remove.curve.rating()
InputRequiredTypeDefaultConditions / validation
idsYesone str ID or list[str]NoneEvery ID must already exist.
forceNoboolFalseWithout force, dependencies block removal. With force, only conservative safe cascades run.
  • Dependency rules: No explicit dependency rules
  • Return value: {'removed': [...], 'warnings': [...], 'dependencies_removed': [...]}
  • Implementation status: Implemented
  • Example: m.remove.curve.rating('ID')
m.remove.curve.shape()
InputRequiredTypeDefaultConditions / validation
idsYesone str ID or list[str]NoneEvery ID must already exist.
forceNoboolFalseWithout force, dependencies block removal. With force, only conservative safe cascades run.
  • Dependency rules: No explicit dependency rules
  • Return value: {'removed': [...], 'warnings': [...], 'dependencies_removed': [...]}
  • Implementation status: Implemented
  • Example: m.remove.curve.shape('ID')
m.remove.curve.storage()
InputRequiredTypeDefaultConditions / validation
idsYesone str ID or list[str]NoneEvery ID must already exist.
forceNoboolFalseWithout force, dependencies block removal. With force, only conservative safe cascades run.
  • Dependency rules: No explicit dependency rules
  • Return value: {'removed': [...], 'warnings': [...], 'dependencies_removed': [...]}
  • Implementation status: Implemented
  • Example: m.remove.curve.storage('ID')
m.remove.curve.tidal()
InputRequiredTypeDefaultConditions / validation
idsYesone str ID or list[str]NoneEvery ID must already exist.
forceNoboolFalseWithout force, dependencies block removal. With force, only conservative safe cascades run.
  • Dependency rules: No explicit dependency rules
  • Return value: {'removed': [...], 'warnings': [...], 'dependencies_removed': [...]}
  • Implementation status: Implemented
  • Example: m.remove.curve.tidal('ID')
m.remove.curve.weir()
InputRequiredTypeDefaultConditions / validation
idsYesone str ID or list[str]NoneEvery ID must already exist.
forceNoboolFalseWithout force, dependencies block removal. With force, only conservative safe cascades run.
  • Dependency rules: No explicit dependency rules
  • Return value: {'removed': [...], 'warnings': [...], 'dependencies_removed': [...]}
  • Implementation status: Implemented
  • Example: m.remove.curve.weir('ID')
m.remove.curve.generic()
InputRequiredTypeDefaultConditions / validation
idsYesone str ID or list[str]NoneEvery ID must already exist.
forceNoboolFalseWithout force, dependencies block removal. With force, only conservative safe cascades run.
  • Dependency rules: No explicit dependency rules
  • Return value: {'removed': [...], 'warnings': [...], 'dependencies_removed': [...]}
  • Implementation status: Implemented
  • Example: m.remove.curve.generic('ID')

Time data

time

Remove functionStatusids inputforce inputDependency rulesOutputConditions
m.remove.time.time_series(ids, force=False)Implementedone str ID or list[str]bool, default FalseNo explicit dependency rulesremoval summary dictAccepts inline time/value data or filename-based series metadata.
m.remove.time.time_pattern(ids, force=False)Implementedone str ID or list[str]bool, default FalseNo explicit dependency rulesremoval summary dictPattern type must be MONTHLY, DAILY, HOURLY, or WEEKEND.
m.remove.time.time_series()
InputRequiredTypeDefaultConditions / validation
idsYesone str ID or list[str]NoneEvery ID must already exist.
forceNoboolFalseWithout force, dependencies block removal. With force, only conservative safe cascades run.
  • Dependency rules: No explicit dependency rules
  • Return value: {'removed': [...], 'warnings': [...], 'dependencies_removed': [...]}
  • Implementation status: Implemented
  • Example: m.remove.time.time_series('ID')
m.remove.time.time_pattern()
InputRequiredTypeDefaultConditions / validation
idsYesone str ID or list[str]NoneEvery ID must already exist.
forceNoboolFalseWithout force, dependencies block removal. With force, only conservative safe cascades run.
  • Dependency rules: No explicit dependency rules
  • Return value: {'removed': [...], 'warnings': [...], 'dependencies_removed': [...]}
  • Implementation status: Implemented
  • Example: m.remove.time.time_pattern('ID')