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 1from 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 function | Status | ids input | force input | Dependency rules | Output | Conditions |
|---|
m.remove.hydrology.rain_gage(ids, force=False) | Implemented | one str ID or list[str] | bool, default False | subcatchment.rain_gage | removal summary dict | Requires format, interval, and source_type; time_series is checked when used. |
m.remove.hydrology.subcatchment(ids, force=False) | Implemented | one str ID or list[str] | bool, default False | subcatchment.outlet | removal summary dict | Requires explicit centroid x/y; outlet may be a node or another subcatchment. |
m.remove.hydrology.aquifer(ids, force=False) | Reserved; raises NotImplementedYetError | one str ID or list[str] | bool, default False | No explicit dependency rules | removal summary dict | Use the listed required inputs; unsupported reserved endpoints raise a clear error. |
m.remove.hydrology.snow_pack(ids, force=False) | Reserved; raises NotImplementedYetError | one str ID or list[str] | bool, default False | No explicit dependency rules | removal summary dict | Use the listed required inputs; unsupported reserved endpoints raise a clear error. |
m.remove.hydrology.unit_hydrograph(ids, force=False) | Reserved; raises NotImplementedYetError | one str ID or list[str] | bool, default False | No explicit dependency rules | removal summary dict | Use the listed required inputs; unsupported reserved endpoints raise a clear error. |
m.remove.hydrology.lid_control(ids, force=False) | Reserved; raises NotImplementedYetError | one str ID or list[str] | bool, default False | No explicit dependency rules | removal summary dict | Use the listed required inputs; unsupported reserved endpoints raise a clear error. |
m.remove.hydrology.rain_gage()
| Input | Required | Type | Default | Conditions / validation |
|---|
ids | Yes | one str ID or list[str] | None | Every ID must already exist. |
force | No | bool | False | Without 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()
| Input | Required | Type | Default | Conditions / validation |
|---|
ids | Yes | one str ID or list[str] | None | Every ID must already exist. |
force | No | bool | False | Without 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()
| Input | Required | Type | Default | Conditions / validation |
|---|
ids | Yes | one str ID or list[str] | None | Every ID must already exist. |
force | No | bool | False | Without 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()
| Input | Required | Type | Default | Conditions / validation |
|---|
ids | Yes | one str ID or list[str] | None | Every ID must already exist. |
force | No | bool | False | Without 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()
| Input | Required | Type | Default | Conditions / validation |
|---|
ids | Yes | one str ID or list[str] | None | Every ID must already exist. |
force | No | bool | False | Without 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()
| Input | Required | Type | Default | Conditions / validation |
|---|
ids | Yes | one str ID or list[str] | None | Every ID must already exist. |
force | No | bool | False | Without 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 function | Status | ids input | force input | Dependency rules | Output | Conditions |
|---|
m.remove.node.junction(ids, force=False) | Implemented | one str ID or list[str] | bool, default False | link.from_node, link.to_node, subcatchment.outlet | removal summary dict | Requires explicit map x/y coordinates. |
m.remove.node.outfall(ids, force=False) | Implemented | one str ID or list[str] | bool, default False | link.from_node, link.to_node, subcatchment.outlet | removal summary dict | Requires explicit map x/y; stage input depends on outfall type. |
m.remove.node.divider(ids, force=False) | Reserved; raises NotImplementedYetError | one str ID or list[str] | bool, default False | No explicit dependency rules | removal summary dict | Use the listed required inputs; unsupported reserved endpoints raise a clear error. |
m.remove.node.storage_unit(ids, force=False) | Reserved; raises NotImplementedYetError | one str ID or list[str] | bool, default False | No explicit dependency rules | removal summary dict | Use the listed required inputs; unsupported reserved endpoints raise a clear error. |
m.remove.node.junction()
| Input | Required | Type | Default | Conditions / validation |
|---|
ids | Yes | one str ID or list[str] | None | Every ID must already exist. |
force | No | bool | False | Without 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()
| Input | Required | Type | Default | Conditions / validation |
|---|
ids | Yes | one str ID or list[str] | None | Every ID must already exist. |
force | No | bool | False | Without 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()
| Input | Required | Type | Default | Conditions / validation |
|---|
ids | Yes | one str ID or list[str] | None | Every ID must already exist. |
force | No | bool | False | Without 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()
| Input | Required | Type | Default | Conditions / validation |
|---|
ids | Yes | one str ID or list[str] | None | Every ID must already exist. |
force | No | bool | False | Without 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 function | Status | ids input | force input | Dependency rules | Output | Conditions |
|---|
m.remove.link.conduit(ids, force=False) | Implemented | one str ID or list[str] | bool, default False | controls | removal summary dict | Requires existing endpoint nodes; length can be computed from their coordinates. |
m.remove.link.pump(ids, force=False) | Reserved; raises NotImplementedYetError | one str ID or list[str] | bool, default False | No explicit dependency rules | removal summary dict | Use the listed required inputs; unsupported reserved endpoints raise a clear error. |
m.remove.link.orifice(ids, force=False) | Reserved; raises NotImplementedYetError | one str ID or list[str] | bool, default False | No explicit dependency rules | removal summary dict | Use the listed required inputs; unsupported reserved endpoints raise a clear error. |
m.remove.link.weir(ids, force=False) | Reserved; raises NotImplementedYetError | one str ID or list[str] | bool, default False | No explicit dependency rules | removal summary dict | Use the listed required inputs; unsupported reserved endpoints raise a clear error. |
m.remove.link.outlet(ids, force=False) | Reserved; raises NotImplementedYetError | one str ID or list[str] | bool, default False | No explicit dependency rules | removal summary dict | Use the listed required inputs; unsupported reserved endpoints raise a clear error. |
m.remove.link.conduit()
| Input | Required | Type | Default | Conditions / validation |
|---|
ids | Yes | one str ID or list[str] | None | Every ID must already exist. |
force | No | bool | False | Without 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()
| Input | Required | Type | Default | Conditions / validation |
|---|
ids | Yes | one str ID or list[str] | None | Every ID must already exist. |
force | No | bool | False | Without 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()
| Input | Required | Type | Default | Conditions / validation |
|---|
ids | Yes | one str ID or list[str] | None | Every ID must already exist. |
force | No | bool | False | Without 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()
| Input | Required | Type | Default | Conditions / validation |
|---|
ids | Yes | one str ID or list[str] | None | Every ID must already exist. |
force | No | bool | False | Without 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()
| Input | Required | Type | Default | Conditions / validation |
|---|
ids | Yes | one str ID or list[str] | None | Every ID must already exist. |
force | No | bool | False | Without 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 function | Status | ids input | force input | Dependency rules | Output | Conditions |
|---|
m.remove.hydraulic.street(ids, force=False) | Reserved; raises NotImplementedYetError | one str ID or list[str] | bool, default False | No explicit dependency rules | removal summary dict | Use the listed required inputs; unsupported reserved endpoints raise a clear error. |
m.remove.hydraulic.inlet(ids, force=False) | Reserved; raises NotImplementedYetError | one str ID or list[str] | bool, default False | No explicit dependency rules | removal summary dict | Use the listed required inputs; unsupported reserved endpoints raise a clear error. |
m.remove.hydraulic.transect(ids, force=False) | Reserved; raises NotImplementedYetError | one str ID or list[str] | bool, default False | No explicit dependency rules | removal summary dict | Use the listed required inputs; unsupported reserved endpoints raise a clear error. |
m.remove.hydraulic.control(ids, force=False) | Reserved; raises NotImplementedYetError | one str ID or list[str] | bool, default False | No explicit dependency rules | removal summary dict | Use the listed required inputs; unsupported reserved endpoints raise a clear error. |
m.remove.hydraulic.street()
| Input | Required | Type | Default | Conditions / validation |
|---|
ids | Yes | one str ID or list[str] | None | Every ID must already exist. |
force | No | bool | False | Without 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()
| Input | Required | Type | Default | Conditions / validation |
|---|
ids | Yes | one str ID or list[str] | None | Every ID must already exist. |
force | No | bool | False | Without 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()
| Input | Required | Type | Default | Conditions / validation |
|---|
ids | Yes | one str ID or list[str] | None | Every ID must already exist. |
force | No | bool | False | Without 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()
| Input | Required | Type | Default | Conditions / validation |
|---|
ids | Yes | one str ID or list[str] | None | Every ID must already exist. |
force | No | bool | False | Without 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 function | Status | ids input | force input | Dependency rules | Output | Conditions |
|---|
m.remove.quality.pollutant(ids, force=False) | Reserved; raises NotImplementedYetError | one str ID or list[str] | bool, default False | No explicit dependency rules | removal summary dict | Use the listed required inputs; unsupported reserved endpoints raise a clear error. |
m.remove.quality.land_use(ids, force=False) | Reserved; raises NotImplementedYetError | one str ID or list[str] | bool, default False | No explicit dependency rules | removal summary dict | Use the listed required inputs; unsupported reserved endpoints raise a clear error. |
m.remove.quality.pollutant()
| Input | Required | Type | Default | Conditions / validation |
|---|
ids | Yes | one str ID or list[str] | None | Every ID must already exist. |
force | No | bool | False | Without 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()
| Input | Required | Type | Default | Conditions / validation |
|---|
ids | Yes | one str ID or list[str] | None | Every ID must already exist. |
force | No | bool | False | Without 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 function | Status | ids input | force input | Dependency rules | Output | Conditions |
|---|
m.remove.curve.control(ids, force=False) | Implemented | one str ID or list[str] | bool, default False | No explicit dependency rules | removal summary dict | Use the listed required inputs; unsupported reserved endpoints raise a clear error. |
m.remove.curve.diversion(ids, force=False) | Implemented | one str ID or list[str] | bool, default False | No explicit dependency rules | removal summary dict | Use the listed required inputs; unsupported reserved endpoints raise a clear error. |
m.remove.curve.pump(ids, force=False) | Implemented | one str ID or list[str] | bool, default False | No explicit dependency rules | removal summary dict | Use the listed required inputs; unsupported reserved endpoints raise a clear error. |
m.remove.curve.rating(ids, force=False) | Implemented | one str ID or list[str] | bool, default False | No explicit dependency rules | removal summary dict | Use the listed required inputs; unsupported reserved endpoints raise a clear error. |
m.remove.curve.shape(ids, force=False) | Implemented | one str ID or list[str] | bool, default False | No explicit dependency rules | removal summary dict | Use the listed required inputs; unsupported reserved endpoints raise a clear error. |
m.remove.curve.storage(ids, force=False) | Implemented | one str ID or list[str] | bool, default False | No explicit dependency rules | removal summary dict | Use the listed required inputs; unsupported reserved endpoints raise a clear error. |
m.remove.curve.tidal(ids, force=False) | Implemented | one str ID or list[str] | bool, default False | No explicit dependency rules | removal summary dict | Use the listed required inputs; unsupported reserved endpoints raise a clear error. |
m.remove.curve.weir(ids, force=False) | Implemented | one str ID or list[str] | bool, default False | No explicit dependency rules | removal summary dict | Use the listed required inputs; unsupported reserved endpoints raise a clear error. |
m.remove.curve.generic(ids, force=False) | Implemented | one str ID or list[str] | bool, default False | No explicit dependency rules | removal summary dict | Requires explicit curve type plus x/y points. |
m.remove.curve.control()
| Input | Required | Type | Default | Conditions / validation |
|---|
ids | Yes | one str ID or list[str] | None | Every ID must already exist. |
force | No | bool | False | Without 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()
| Input | Required | Type | Default | Conditions / validation |
|---|
ids | Yes | one str ID or list[str] | None | Every ID must already exist. |
force | No | bool | False | Without 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()
| Input | Required | Type | Default | Conditions / validation |
|---|
ids | Yes | one str ID or list[str] | None | Every ID must already exist. |
force | No | bool | False | Without 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()
| Input | Required | Type | Default | Conditions / validation |
|---|
ids | Yes | one str ID or list[str] | None | Every ID must already exist. |
force | No | bool | False | Without 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()
| Input | Required | Type | Default | Conditions / validation |
|---|
ids | Yes | one str ID or list[str] | None | Every ID must already exist. |
force | No | bool | False | Without 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()
| Input | Required | Type | Default | Conditions / validation |
|---|
ids | Yes | one str ID or list[str] | None | Every ID must already exist. |
force | No | bool | False | Without 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()
| Input | Required | Type | Default | Conditions / validation |
|---|
ids | Yes | one str ID or list[str] | None | Every ID must already exist. |
force | No | bool | False | Without 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()
| Input | Required | Type | Default | Conditions / validation |
|---|
ids | Yes | one str ID or list[str] | None | Every ID must already exist. |
force | No | bool | False | Without 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()
| Input | Required | Type | Default | Conditions / validation |
|---|
ids | Yes | one str ID or list[str] | None | Every ID must already exist. |
force | No | bool | False | Without 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 function | Status | ids input | force input | Dependency rules | Output | Conditions |
|---|
m.remove.time.time_series(ids, force=False) | Implemented | one str ID or list[str] | bool, default False | No explicit dependency rules | removal summary dict | Accepts inline time/value data or filename-based series metadata. |
m.remove.time.time_pattern(ids, force=False) | Implemented | one str ID or list[str] | bool, default False | No explicit dependency rules | removal summary dict | Pattern type must be MONTHLY, DAILY, HOURLY, or WEEKEND. |
m.remove.time.time_series()
| Input | Required | Type | Default | Conditions / validation |
|---|
ids | Yes | one str ID or list[str] | None | Every ID must already exist. |
force | No | bool | False | Without 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()
| Input | Required | Type | Default | Conditions / validation |
|---|
ids | Yes | one str ID or list[str] | None | Every ID must already exist. |
force | No | bool | False | Without 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')