pipedream
🚰 Interactive hydrodynamic solver for pipe and channel networks
Science Score: 59.0%
This score indicates how likely this project is to be science-related based on various indicators:
-
â—‹CITATION.cff file
-
✓codemeta.json file
Found codemeta.json file -
✓.zenodo.json file
Found .zenodo.json file -
✓DOI references
Found 1 DOI reference(s) in README -
✓Academic publication links
Links to: sciencedirect.com -
✓Committers with academic emails
3 of 5 committers (60.0%) from academic institutions -
â—‹Institutional organization owner
-
â—‹JOSS paper metadata
-
â—‹Scientific vocabulary similarity
Low similarity (13.7%) to scientific vocabulary
Repository
🚰 Interactive hydrodynamic solver for pipe and channel networks
Basic Info
- Host: GitHub
- Owner: mdbartos
- License: gpl-3.0
- Language: Python
- Default Branch: master
- Homepage: https://mdbartos.github.io/pipedream
- Size: 22.5 MB
Statistics
- Stars: 85
- Watchers: 5
- Forks: 18
- Open Issues: 36
- Releases: 2
Metadata Files
README.md
pipedream 🚰 ðŸ’
An interactive hydrodynamic solver for sewer/stormwater networks.
About
Pipedream is a physically-based sewer/stormwater model designed for real-time applications. The pipedream toolkit consists of four major components:
- A hydraulic solver based on the 1D Saint-Venant equations.
- An infiltration solver based on the Green-Ampt formulation.
- A water quality solver based on the 1D advection-reaction-diffusion equation (experimental).
- An interactive simulation manager that facilitates real-time data assimilation and control.
Example use-cases for pipedream include: - Real-time detection and forecasting of urban flooding. - Implementation of real-time control strategies for combined sewer overflows. - Stormwater asset management and detection of maintenance emergencies. - Data-driven water quality assessment.
Documentation
Installation
Use pip to install pipedream-solver via pypi:
shell
$ pip install pipedream-solver
Currently, only Python 3 is supported.
Dependencies
The following dependencies are required to install and use the pipedream toolkit:
- numpy (>= 1.18)
- pandas (>= 0.25)
- scipy (>= 1.5)
- numba (>= 0.40)
- matplotlib (>= 3.0)
Listed version numbers have been tested and are known to work (this does not necessarily preclude older versions).
A Minimal Example

Import modules and load data
```python
Import modules
import pandas as pd from pipedreamsolver.hydraulics import SuperLink from pipedreamsolver.simulation import Simulation
Specify data path
inputpath = './data/sixpipes'
Get model components
superjunctions = pd.readcsv(f'{inputpath}/superjunctions.csv') superlinks = pd.readcsv(f'{inputpath}/superlinks.csv') junctions = pd.readcsv(f'{inputpath}/junctions.csv') links = pd.readcsv(f'{inputpath}/links.csv')
Read input data
Qin = pd.readcsv(f'{inputpath}/flowinput.csv', indexcol=0) Hbc = pd.readcsv(f'{inputpath}/boundarystage.csv', indexcol=0) ```
Run superlink
```python
Instantiate superlink model
superlink = SuperLink(superlinks, superjunctions, links, junctions)
Set constant timestep (in seconds)
dt = 30
Create simulation context manager
with Simulation(superlink, Qin=Qin, Hbc=Hbc) as simulation: # While simulation time has not expired... while simulation.t <= simulation.tend: # Step model forward in time simulation.step(dt=dt, numiter=1) # Record internal depth and flow states simulation.recordstate() # Print progress bar simulation.printprogress() ```
[==================================================] 100.0% [0.82 s]
Plot results
See plotting code here.

Acknowledgments
Hydraulic solver based on the SUPERLINK scheme proposed by Zhong Ji (1998).
Ji, Z. (1998). General Hydrodynamic Model for Sewer/Channel Network Systems.
Journal of Hydraulic Engineering, 124(3), 307–315.
doi: 10.1061/(asce)0733-9429(1998)124:3(307)
Owner
- Name: Matt Bartos
- Login: mdbartos
- Kind: user
- Location: Austin, TX
- Company: @future-water, @ESIPFed
- Website: future-water.github.io
- Repositories: 33
- Profile: https://github.com/mdbartos
Assistant Professor of Civil Engineering at UT Austin
GitHub Events
Total
- Watch event: 10
- Push event: 11
- Fork event: 1
Last Year
- Watch event: 10
- Push event: 11
- Fork event: 1
Committers
Last synced: 6 months ago
Top Committers
| Name | Commits | |
|---|---|---|
| Matt Bartos | m****s@u****u | 253 |
| Matt Bartos | m****s@u****u | 58 |
| Jeil Oh | 8****h@u****m | 37 |
| minsky97 | 9****7@u****m | 37 |
| mgkim | m****m@u****u | 9 |
Committer Domains (Top 20 + Academic)
Issues and Pull Requests
Last synced: 6 months ago
All Time
- Total issues: 46
- Total pull requests: 26
- Average time to close issues: 7 months
- Average time to close pull requests: 2 months
- Total issue authors: 6
- Total pull request authors: 4
- Average comments per issue: 0.35
- Average comments per pull request: 0.42
- Merged pull requests: 22
- Bot issues: 0
- Bot pull requests: 0
Past Year
- Issues: 0
- Pull requests: 0
- Average time to close issues: N/A
- Average time to close pull requests: N/A
- Issue authors: 0
- Pull request authors: 0
- Average comments per issue: 0
- Average comments per pull request: 0
- Merged pull requests: 0
- Bot issues: 0
- Bot pull requests: 0
Top Authors
Issue Authors
- mdbartos (41)
- Stickman984 (1)
- michaeltryby (1)
- meghnathomas (1)
- schoeller (1)
- tianyongsen (1)
Pull Request Authors
- mdbartos (21)
- meghnathomas (3)
- minsky97 (3)
- jeiloh (2)
Top Labels
Issue Labels
Pull Request Labels
Packages
- Total packages: 1
-
Total downloads:
- pypi 20 last-month
- Total dependent packages: 0
- Total dependent repositories: 1
- Total versions: 5
- Total maintainers: 1
pypi.org: pipedream-solver
🚰 Interactive hydrodynamic solver for pipe and channel networks
- Homepage: https://mdbartos.github.io/pipedream
- Documentation: https://pipedream-solver.readthedocs.io/
- License: gpl-3.0
-
Latest release: 0.2.2
published over 2 years ago
Rankings
Maintainers (1)
Dependencies
- matplotlib *
- numba *
- numpy *
- pandas *
- scipy *
- actions/checkout v3 composite
- actions/setup-python v3 composite
- pypa/gh-action-pypi-publish 27b31702a0e7fc50959f5ad993c78deac1bdfc29 composite