Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Addition of stormwater and wastewater capabilities in WNTR #437

Open
wants to merge 76 commits into
base: main
Choose a base branch
from
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
76 commits
Select commit Hold shift + click to select a range
90a9122
prototype storm water module in WNTR
kaklise Jul 21, 2023
2a4cb85
simple examples and benchmark model
kaklise Jul 21, 2023
2b30956
stormwater updates
kaklise Aug 5, 2023
9f297ba
Added outline for storm water documentation
kaklise Sep 19, 2023
f320df0
Merge branch 'main' of https://github.com/USEPA/WNTR into swmm
kaklise Sep 19, 2023
fc85408
updated sim and network attributes
kaklise Oct 16, 2023
4e13a04
corrected rst for stormwater
kaklise Oct 16, 2023
7e621f0
stormwater updates
kaklise Oct 17, 2023
5cb7597
bug fix
kaklise Oct 18, 2023
9854c8e
minor updates
kaklise Oct 23, 2023
7ff1308
added ability to weight and modify direction in the graph
kaklise Oct 26, 2023
f586507
added upstream and downstream metrics
kaklise Oct 26, 2023
4522843
concatenated link and nodes into read only databases and updated Node…
kaklise Oct 26, 2023
b0131e3
removed duplicate code
kaklise Oct 28, 2023
21f3e31
added directed network plot
kaklise Oct 28, 2023
2153987
Merge branch 'main' of https://github.com/USEPA/WNTR into swmm
kaklise Dec 20, 2023
2af371c
stormwater updates, docs and tests
kaklise Jan 16, 2024
a44f1a1
added stormwater tests
kaklise Jan 16, 2024
a974561
Updated GIS to build from dataframes, added more tests
kaklise Jan 17, 2024
a7fb551
Add pump outage, updated graphics, additional tests
kaklise Jan 19, 2024
bf5bea1
removed apidoc files
kaklise Jan 23, 2024
1810d87
clean up examples
kaklise Jan 23, 2024
6b2aa2c
cleaned up network sections, generated from swmmio
kaklise Jan 26, 2024
dc8f267
controls stored in a pd.Series
kaklise Jan 26, 2024
3ae748d
updated docs
kaklise Jan 26, 2024
959833b
minor updates
kaklise Jan 26, 2024
56af2f8
swntr doc updates
kaklise Feb 4, 2024
c351cb1
swntr doc updates
kaklise Feb 4, 2024
f693b74
updated title to fit on one line
kaklise Feb 5, 2024
1369349
SWMM files after export from SWMM
kaklise Feb 15, 2024
4088182
s-wntr doc updates
kaklise Feb 15, 2024
ed1ecc5
updated valid sections
kaklise Feb 15, 2024
cafc1a4
swntr doc update
kaklise Feb 15, 2024
19224b3
updates for swmmio, added additional metrics, cleanup
kaklise Mar 6, 2024
ffccf5b
cleaned up imports and skip tests
kaklise Mar 6, 2024
4c3b3fa
added additional methods to network, updated docs, return summary wit…
kaklise Mar 9, 2024
039859f
updated swntr docs
kaklise Mar 12, 2024
9acb7f7
added tests
kaklise Mar 14, 2024
c23f44f
Added cross section and missing sections to StormWaterNetworkModel
kaklise Mar 26, 2024
12b80f5
Added response time and other path metrics
kaklise Mar 26, 2024
fd4f05e
updated shortest path metrics
kaklise Apr 8, 2024
4161d31
changed input to path metrics, list of nodes
kaklise Apr 8, 2024
5163124
updated metrics
kaklise Apr 9, 2024
b7dc064
updated metrics
kaklise Apr 9, 2024
92dfde9
refactored to_graph to not use swmmio
kaklise Apr 10, 2024
522e6fb
time to capacity update, changed to connected
kaklise Apr 11, 2024
48ea472
documentation and model updates
kaklise Apr 13, 2024
f58ca90
doc update
kaklise Apr 13, 2024
e23dff5
fixed spacing
kaklise Apr 13, 2024
147689f
updated test
kaklise Apr 13, 2024
a3ddebb
Merge branch 'swntr' of https://github.com/kaklise/WNTR into swntr
kaklise May 6, 2024
04b5a88
install latest swmmio
kaklise May 7, 2024
34f9aea
removed pip install of swmmio
kaklise May 7, 2024
6eac257
install swmmio from clone
kaklise May 7, 2024
01767c6
use pyswmm simulator
kaklise May 7, 2024
1bf3c3a
Fixed paths and removed subprocess calling swmmio
kaklise May 7, 2024
aeddb0b
cleanup
kaklise May 7, 2024
2421730
Added subcatchment plotting options
kaklise May 8, 2024
d8414c2
check for empty dataframe before concat to avoid future warning
kaklise May 8, 2024
f5c382e
merge
kaklise May 8, 2024
e80fc00
Merge branch 'main' of https://github.com/USEPA/WNTR into swntr
kaklise Jul 17, 2024
9d97c8a
Merge branch 'main' of https://github.com/USEPA/WNTR into swntr
kaklise Jul 18, 2024
881aca3
Added tests and cleanup
kaklise Jul 18, 2024
9f57f1e
Updated stormwater.metrics tests and apidocs
kaklise Jul 19, 2024
66ae4b8
added ability to convert patterns to ts, anonymize coordinates, store…
kaklise Jul 19, 2024
136d486
swntr doc updates
kaklise Jul 19, 2024
4d0de71
Added add_datetime_indexed_patterns and tests
kaklise Jul 22, 2024
3ef3ff6
added swmmio as an optional requirement
kaklise Jul 22, 2024
a882083
removed duplicate INP files
kaklise Jul 22, 2024
3ebdfd5
minor update
kaklise Jul 22, 2024
56df3a5
minor updates
kaklise Jul 23, 2024
7b971c8
Updated pandas display options for gis docs
kaklise Jul 24, 2024
26ecf95
added api docs to graphics
kaklise Jul 24, 2024
c640914
minor update
kaklise Jul 24, 2024
84d5888
Added ability to anonymize coordinates using graphviz (using networkx)
kaklise Aug 26, 2024
d1d0f2d
Merge branch 'main' of https://github.com/USEPA/WNTR into swntr
kaklise Oct 1, 2024
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 2 additions & 0 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -15,6 +15,8 @@ docker/
*.html
*.pickle
*.xlsx
*.out
*.rpt

temp*

Expand Down
6 changes: 5 additions & 1 deletion documentation/attention.rst
Original file line number Diff line number Diff line change
@@ -1,4 +1,8 @@
.. attention::
Version 1.2.0 is now available.
See `release notes <https://usepa.github.io/WNTR/whatsnew.html>`_
for more information.
for more information.

.. attention::
WNTR now includes capabilities to model stormwater and wastewater systems.
See :ref:`stormwater` for more information.
Binary file added documentation/figures/Site-Post.jpg
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added documentation/figures/timeseries_plot.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
2 changes: 2 additions & 0 deletions documentation/gis.rst
Original file line number Diff line number Diff line change
Expand Up @@ -10,6 +10,8 @@
>>> import pandas as pd
>>> pd.options.display.expand_frame_repr = False
>>> pd.options.display.precision = 3
>>> pd.options.display.max_colwidth = 50
>>> pd.options.display.max_columns = 10
>>> try:
... import geopandas as gpd
... except ModuleNotFoundError:
Expand Down
2 changes: 2 additions & 0 deletions documentation/index.rst
Original file line number Diff line number Diff line change
Expand Up @@ -30,8 +30,10 @@ Key Features in WNTR
:hidden:

userguide
installation
wntr-api
users
S-WNTR <stormwater>

.. include:: citing_wntr.rst

Expand Down
1 change: 1 addition & 0 deletions documentation/index_latex.rst
Original file line number Diff line number Diff line change
Expand Up @@ -32,6 +32,7 @@ WNTR documentation
graphics
gis
advancedsim
stormwater
license
users
developers
Expand Down
4 changes: 3 additions & 1 deletion documentation/installation.rst
Original file line number Diff line number Diff line change
Expand Up @@ -276,8 +276,10 @@ The following Python packages are optional:
https://rtree.readthedocs.io/
* openpyxl :cite:p:`gacl18`: used to read/write to Microsoft® Excel® spreadsheets,
https://openpyxl.readthedocs.io
* pyswmm :cite:p:`pyswmm`: used to run SWMM hydraulic simulations, https://github.com/pyswmm/pyswmm
* swmmio :cite:p:`swmmio`: used to access and modify SWMM INP files, https://github.com/pyswmm/swmmio

All of these packages **except geopandas** are included in the Anaconda Python distribution.
All of these packages **except geopandas, pyswmm, and swmmio** are included in the Anaconda Python distribution.
To install optional dependencies, run::

pip install -r requirements.txt
Expand Down
19 changes: 12 additions & 7 deletions documentation/overview.rst
Original file line number Diff line number Diff line change
Expand Up @@ -2,17 +2,17 @@

\setcounter{secnumdepth}{1}
\clearpage

.. _wntr_overview:

Overview
========

.. raw:: latex

\pagenumbering{arabic}
\setcounter{page}{1}


.. _wntr_overview:

Overview
========

Drinking water systems face multiple challenges, including aging infrastructure,
water quality concerns, uncertainty in supply and demand, natural disasters,
environmental emergencies, and cyber and terrorist attacks.
Expand Down Expand Up @@ -49,7 +49,12 @@ and the associated analysis results. Information on EPANET can be found at https
**WNTR is compatible with EPANET 2.00.12** :cite:p:`ross00` **and EPANET 2.2** :cite:p:`rwts20`. In addition, users should have
experience using Python, including the installation of additional Python packages. General information on Python can be found at https://www.python.org/.


.. note::
In addition to resilience analysis for drinking water systems, WNTR now includes
functionality to simulate and analyze resilience of stormwater and wastewater systems.
This builds on **EPA's Storm Water Management Model (SWMM)** :cite:p:`ross22`.
See :ref:`stormwater` for more information.

WNTR can be installed through the United States Environmental Protection Agency (US EPA)
GitHub organization at https://github.com/USEPA/WNTR. An integrated development environment
(IDE), like Spyder, is recommended for users and developers.
Expand Down
51 changes: 51 additions & 0 deletions documentation/references.bib
Original file line number Diff line number Diff line change
Expand Up @@ -166,6 +166,38 @@ @article{lwfz17
year = "2017"
}

@article{niemi2019automated,
title={Automated urban rainfall--runoff model generation with detailed land cover and flow routing},
author={Niemi, Tero J and Kokkonen, Teemu and Sillanp{\"a}{\"a}, Nora and Set{\"a}l{\"a}, Heikki and Koivusalo, Harri},
journal={Journal of Hydrologic Engineering},
volume={24},
number={5},
pages={04019011},
year={2019},
publisher={American Society of Civil Engineers},
doi = "10.1061/(ASCE)HE.1943-5584.0001784",
}

@misc{pcswmm,
author = "Computational Hydraulics International (CHI)",
howpublished = "Software",
title = "PCSWMM",
url = "https://www.pcswmm.com/",
urldate = "2024-01-16",
year = "2024"
}

@article{pyswmm,
author = "McDonnell, Bryant E and Ratliff, Katherine and Tryby, Michael E. and Jia Xin Wu, Jennifer and Mullapudi, Abhiram",
doi = "10.21105/joss.02292",
journal = "Journal of Open Source Software",
number = "5",
pages = "2292",
title = "PySWMM: The Python Interface to Stormwater Management Model (SWMM)",
volume = "52",
year = "2020"
}

@book{mcki13,
author = "McKinney, Wes",
publisher = "O'Reilly Media, Inc.",
Expand Down Expand Up @@ -211,6 +243,16 @@ @techreport{ross00
pagetotal = "200"
}

@techreport{ross22,
author = "Rossman, L. A. and Simon, Michelle",
address = "Cincinnati, OH",
institution = "U.S. Environmental Protection Agency",
number = "EPA/600/R--22/030",
title = "Storm Water Management Model User's Manual Version 5.2",
year = "2022",
pagetotal = "423"
}

@misc{rtree,
author = "Toblerity",
howpublished = "Software",
Expand Down Expand Up @@ -250,6 +292,15 @@ @misc{sphc16
optcomment = "modified from below preferred citation, per Plotly"
}

@misc{swmmio,
author = "Erispaha, Adam and swmmio developers",
howpublished = "Software",
title = "swmmio",
url = "https://github.com/pyswmm/swmmio",
urldate = "2024-01-24",
year = "2024"
}

@article{todi00,
author = "Todini, Ezio",
doi = "10.1016/S1462-0758(00)00049-2",
Expand Down
Loading
Loading