Rapid catchment generator - is a tool for rapid prototyping of a hydraulic model catchments that can be read and edited with SWMM.
Project description
Rapid catchment generator
Tool for rapid prototyping of a hydraulic model that can be read and edited with SWMM. The generator was created using feature analysis and surface runoff research from the literature. Fuzzy logic controller rules were developed using parameterized categories of soil, slope, and permeability. The catchment configuration procedure was simplified by mapping typical storage and Manning's coefficients. The use of fuzzy logic rules allows the system to be modified to adjust the categories to certain situations. The use of membership functions allows us to increase computation accuracy and customize the tool to diverse applications. Following alteration of the catchment in the SWMM GUI allows for accurate portrayal of the real condition of the catchment.
Requirements
- Python 3
Usage
Create a virtual environment:
python3 -m venv venv
Download and install the required dependencies:
python3 pip install -r requirements
To run the script, use the following command:
python3 rcg.runner file path
where file path
is the path to the SWMM model file.
Enter data into the terminal according to the instructions it displays.
The file is automatically saved in the same directory.
About
For the construction of the catchment generator, the type of land use was divided according to Table 1,
the land cover according to Table 2.
The categories were determined on the basis of the data presented by (Dołęga, Rogala, 1973), given below in Table 3.
Table 1. Land use categories
Number | Land Use |
---|---|
1 | marshes and lowlands |
2 | flats and plateaus |
3 | flats and plateaus in combination with hills |
4 | hills with gentle slopes |
5 | steeper hills and foothills |
6 | hills and outcrops of mountain ranges |
7 | higher hills |
8 | mountains |
9 | highest mountains |
Table 2. Land cover categories
Number | Land cover |
---|---|
1 | medium conditions |
2 | permeable areas |
3 | permeable terrain on plains |
4 | hilly |
5 | mountains |
6 | bare rocky slopes |
7 | urban |
8 | suburban |
9 | rural |
10 | forests |
11 | meadows |
12 | arable |
13 | marshes |
Table 3. Runoff coefficients o according to Iszkowski
Number | Topographic terrain definition | Drainage coefficient ϕ |
---|---|---|
1 | marshes and lowlands | 0.20 |
2 | flats and plateaus | 0.25 |
3 | flats and plateaus in combination with hills | 0.30 |
4 | hills with gentle slopes | 0.35 |
5 | steeper hills and foothills | 0.40 |
6 | hills and outcrops of mountain ranges | 0.45 |
7 | higher hills | 0.50 |
8 | mountains | 0.55 |
9 | highest mountains | 0.60-0.70 |
Table 4 shows what and how feature values are generated.
Table 4. SWMM catchment data.
Parameter name | Explanation |
---|---|
Name | Catchment names (ID) are generated by adding a number. |
Raingage | When "raingage exists in the uploaded file, it will be assigned to the catchment area being built. If it does not exist, it will be added to the file along with the "timeseries" and assigned to the catchment area being generated. |
Outlet | If there are receivers in the transferred file, the program will automatically assign it to the catchment area, if there are none, the name of the generated catchment area will be assigned. |
Area | A parameter passed by the user. |
Percent Imperv | Parameter calculated as described above and assigned to the catchment area. |
Width | The generated catchment areas are square in shape therefore the length of the side of the catchment area is assigned. |
Percent Slope | Parameter calculated as described above and assigned to the catchment area. |
N-Imperv | The value taken based on the linguistic variables passed to the fuzzy logic controller which were previously mapped with Manning coefficients. |
N-Perv | The value taken based on the linguistic variables passed to the fuzzy logic controller which were previously mapped with Manning coefficients. |
Dstore-Imperv | The value taken based on the linguistic variables passed to the fuzzy logic controller which were previously mapped with typical storage values. |
Dstore-Perv | The value taken based on the linguistic variables passed to the fuzzy logic controller which were previously mapped with typical storage values. |
Percent Zero Imperv | The value taken based on the linguistic variables passed to the fuzzy logic controller which were previously mapped with typical storage values. |
RouteTo | Odpływ z obszarów imperv i perv spływa bezpośrednio do wylotu |
Coordinate | Square-shaped catchments are generated, located so that one side is the edge of the contact. |
Project details
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
File details
Details for the file rcg-0.0.11.tar.gz
.
File metadata
- Download URL: rcg-0.0.11.tar.gz
- Upload date:
- Size: 21.1 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/4.0.2 CPython/3.10.2
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 6b9eda273abca2f6b3d0555467d42c878d5b609b44af090717872a4624604044 |
|
MD5 | 2d77606d2af3a028a0aff5af21f089b9 |
|
BLAKE2b-256 | 199543c2e5407e55eb6202defc3fae948b6756297305a5364d1cdea1f624b78a |
File details
Details for the file rcg-0.0.11-py3-none-any.whl
.
File metadata
- Download URL: rcg-0.0.11-py3-none-any.whl
- Upload date:
- Size: 26.1 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/4.0.2 CPython/3.9.16
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 1be0696f3a5bda1cc56566b7c1c5f3e8982b9f3280e62888ed4ff68cd09ed759 |
|
MD5 | 93b0c55cb630d5b7d8ddf3b8b2810cd4 |
|
BLAKE2b-256 | 802dad3c1dcfce02478a9bf9cd0d124df6e44b7d1e5101f4064aaa370918b2dc |