forked from pyswmm/Stormwater-Management-Model
-
Notifications
You must be signed in to change notification settings - Fork 0
Overview
Reese Walton edited this page May 2, 2022
·
1 revision
The SWMM v6 API is primarily based on the SQLite3 API. Below is a comparison of the primary objects and routines used by each library and their conceptual purpose.
Purpose | SQLite3 | SWMM6 |
---|---|---|
Handle for database/project | sqlite3* | swmm6_prj* |
Open a database/project | sqlite3_open() | swmm6_open() |
Handle for query/simulation step | sqlite3_stmt* | swmm6_sim* |
Get next result from query/sim | sqlite3_step() | swmm6_step() |
Goal is to build a simulation from an external file or datasource; either a SWMM5 input file (.inp), the new default SQLite database format (.swmm), or any another format that can describe the variables needed to perform a simulation.
SWMM6 will have a SQLite3 virtual table implementation to read SWMM5 input files and use them natively as if from a database, but the new SQLite database will be the default.
Input/Output will be responsible for the following tasks:
- Defining a Generator type (flow, pollutant, etc.)
- Define an Area type (subcatchment, LID, etc.)
- Define a Node/Link type (junction, storage, outfall, divider, etc.)
- Define an external object type (Rain gauge, external flow source, table format, etc.)
- Define a Router (kynwave, dynwave, treatment, etc.)
- Iterating through datasource to create objects of the defined type