swmmx Documentation

FAQ

What is EPA SWMM?

EPA SWMM is the Storm Water Management Model used to simulate hydrology, hydraulics, water quality, and drainage network behavior.

Is swmmx a replacement for SWMM?

No. swmmx is a Python toolkit around EPA SWMM models and engines.

Does swmmx include the SWMM engine?

It bundles Windows 64-bit and Linux 64-bit native engines and supports custom engine paths.

Does macOS have a bundled engine?

Yes. The package now includes a native macOS engine alongside the Windows and Linux engines. Use custom_dll_path only when you want to run a custom SWMM engine build.

Why are GIS dependencies optional?

GeoPandas and Shapely are substantial dependencies. swmmx loads them only when GIS import/export is used.

Why use m.import_csv instead of m.import?

import is a Python keyword, so it cannot be used as an attribute-style API name.

Can I create a model from scratch?

Yes. Use swmm(new="SI") or swmm(new="US"), then add objects with m.add.*.

Can I edit an existing .inp file without losing comments?

swmmx preserves comments, unknown sections, and section order where possible.

Can I run simulations step by step?

Yes. Use m.runs() to iterate over simulation steps.

Can I use results in plots?

Yes, after m.run() or a completed m.runs(). Result-driven plots require non-stale results.

Can I import GIS data?

Yes, with optional geopandas and shapely installed.

Can exported CSV files be imported again?

Yes. Exported CSV tables are designed to round-trip where supported.

Is swmmx suitable for engineering design?

It can support engineering workflows, but domain knowledge, validation, and independent checks are required.

What does beta/development notice mean?

The project is actively tested and maintained, but bugs may remain. Use current releases and verify critical outputs.