Skip to main content

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

rcg-0.0.11.tar.gz (21.1 kB view details)

Uploaded Source

Built Distribution

rcg-0.0.11-py3-none-any.whl (26.1 kB view details)

Uploaded Python 3

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

Hashes for rcg-0.0.11.tar.gz
Algorithm Hash digest
SHA256 6b9eda273abca2f6b3d0555467d42c878d5b609b44af090717872a4624604044
MD5 2d77606d2af3a028a0aff5af21f089b9
BLAKE2b-256 199543c2e5407e55eb6202defc3fae948b6756297305a5364d1cdea1f624b78a

See more details on using hashes here.

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

Hashes for rcg-0.0.11-py3-none-any.whl
Algorithm Hash digest
SHA256 1be0696f3a5bda1cc56566b7c1c5f3e8982b9f3280e62888ed4ff68cd09ed759
MD5 93b0c55cb630d5b7d8ddf3b8b2810cd4
BLAKE2b-256 802dad3c1dcfce02478a9bf9cd0d124df6e44b7d1e5101f4064aaa370918b2dc

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page