Command-line runner
runswmmrs executes one SWMM input file through the complete native Rust lifecycle and writes a text report and binary output file.
Warning
The solver is pre-release. Compare critical results against a trusted EPA SWMM baseline before relying on it.
Solver source access
The native solver source is private. Access starts with a conversation about contributing; read the governance and contribution model.
Install
See the installation guide for additional installation options.
Run a model
The three paths are required and positional:
- EPA SWMM input file
- text report destination
- binary output destination
The runner opens and validates the input, starts routing with saved results, advances to completion, ends the run, writes the detailed report, and closes all files.
Help and version
The version command reports the embedded SWMM engine version rather than the Cargo package or GitHub release version.
Exit behavior
| Exit code | Meaning |
|---|---|
0 |
Simulation completed, or help/version output completed. |
1 |
Arguments were invalid or a solver lifecycle operation failed. |
Solver failures are written to standard error as error: <diagnostic>. The runner preserves the first lifecycle error when cleanup also fails.
Output ownership
Use distinct output paths for concurrent or repeated jobs. A successful run writes the detailed .rpt report and retained .out binary artifact requested on the command line.
The CLI produces but does not query the completed .out file. Use the Python OutputReader for validated post-run extraction, or use the Python bindings to collect Live Views, snapshots, and statistics while routing.