Simulation Sandbox for the development and evaluation of stormwater control algorithms
Project description
Open-Storm's Benchmarking Library Smarter Stormwater Networks
Overview
This repo has been developed in an effort to systematize quantitative analysis of stormwater control algorithms. It is a natural extension of the the Open-Storm mission to open up and ease access into the technical world of smart stormwater systems. Our initial efforts allowed us to develop open source and free tools for anyone to be able to deploy flood sensors, measure green infrastructure, or even control storm or sewer systems. Now we have developed a tool to be able to test the performance of algorithms used to coordinate these different sensing and control technologies that have been deployed throughout urban water systems.
For reference on this Benchmarking
we refer the reader to our manuscript describing the motivation behind the Benchmarking
effort and details on the specifics behind this corresponding repo. In general, this repo provides three components:
- A library of
scenarios
that are built to allow for systematic quantitative evaluation of stormwater control algorithms, - A stormwater hydraulic simulator named
pyswmm_lite
and forked heavily from OWA's SWMM and pyswmm, and - An
environment
script that links thepyswmm_lite
simulator to thescenarios
, and can be edited/updated by users who might want to interface thescenarios
with other stormwater simulator software (theenvironment
script is included inpyswmm-lite
).
Installation
To use the scenarios we have developed with our default stormwater simulator, two installations must occur: (i) an installation of pyswmm_lite
and (ii) the corresponding Benchmarking
library. Additionally, both of these also require python3
and numpy
.
Before installation, we encourage users to consider setting up their Python environments using the virtualenv
/venv
packages for beetter control and organization of various Python packages and libraries. Details on these packages can be viewed here and here, with an additional tool called virtualenvwrapper
available here.
The Easy Installation instructions below attempts to install both pyswmm_lite
, the Benchmarking
library, and the corresponding dependencies (if not yet installed) altogether, but if you run into any errors or would like demarcated installation instructions, follow the additional instructions presented in the Alternative Installation section.
Easy Installation
The easiest way to install the Benchmarking
library and its dependencies is to run the following:
pip3 install git+https://github.com/kLabUM/Benchmarking
In case you encounter trouble in installing pyswmm_lite
, then you can use the following set of commands instead:
git clone https://github.com/kLabUM/pyswmm_lite.git
cd pyswmm_lite
pip3 install .
Alternative Installation
An alternative method to install the library is the following:
- Clone/download the zip file of the
Benchmarking
repository from https://github.com/kLabUM/Benchmarking.git - Move the downloaded
Benchmarking
to your desired directory - Open your python client (Anaconda or generic python) from within the
Benchmarking
folder and runpip3 install .
Repeat the same method for pyswmm_lite
if needed.
NOTE : You could also you pip
instead of pip3
Raise an issue, if you run into any issues installing or working with the library.
TODO : The beta (uva's) references tides and hurricane Matthew... If we wanted to be thorough, we should change those.
Project details
Release history Release notifications | RSS feed
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 pystorms-0.1.1.tar.gz
.
File metadata
- Download URL: pystorms-0.1.1.tar.gz
- Upload date:
- Size: 20.7 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/2.0.0 pkginfo/1.5.0.1 requests/2.21.0 setuptools/41.6.0 requests-toolbelt/0.9.1 tqdm/4.38.0 CPython/3.7.4
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 903a6736e722c3f17233265e18793f9481357e1b1c1a86a7dd40bb9c283d5b7b |
|
MD5 | 8fc372ced9cf2eb33ba9c85376823fd8 |
|
BLAKE2b-256 | 85c74a027d3e409a982ef99d328755f11d3cdba4760721b4bc340aa9bd393ac1 |
File details
Details for the file pystorms-0.1.1-py3-none-any.whl
.
File metadata
- Download URL: pystorms-0.1.1-py3-none-any.whl
- Upload date:
- Size: 31.9 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/2.0.0 pkginfo/1.5.0.1 requests/2.21.0 setuptools/41.6.0 requests-toolbelt/0.9.1 tqdm/4.38.0 CPython/3.7.4
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 1f931299e09cf3b5d5b0906a4da5f3b61a1fd37810dd23dc0f97e2b41a348d82 |
|
MD5 | 30512aa0851514cdc3ccb299ece977a7 |
|
BLAKE2b-256 | 6d5b366e73e465c9a26cfb9cd9d25d08785556fa6f9c1f6170802783bb4b7505 |