pipedream

🚰 Interactive hydrodynamic solver for pipe and channel networks

https://github.com/mdbartos/pipedream

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
Last synced: 6 months ago · JSON representation

Repository

🚰 Interactive hydrodynamic solver for pipe and channel networks

Basic Info
Statistics
  • Stars: 85
  • Watchers: 5
  • Forks: 18
  • Open Issues: 36
  • Releases: 2
Created almost 7 years ago · Last pushed 7 months ago
Metadata Files
Readme License

README.md

pipedream 🚰 💭

Build Status Coverage Status Python 3.7 Docs Paper

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:

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.

Superlink Example

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

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

All Time
  • Total Commits: 394
  • Total Committers: 5
  • Avg Commits per committer: 78.8
  • Development Distribution Score (DDS): 0.358
Past Year
  • Commits: 0
  • Committers: 0
  • Avg Commits per committer: 0.0
  • Development Distribution Score (DDS): 0.0
Top Committers
Name Email 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

  • Versions: 5
  • Dependent Packages: 0
  • Dependent Repositories: 1
  • Downloads: 20 Last month
Rankings
Dependent packages count: 7.3%
Stargazers count: 8.9%
Forks count: 9.4%
Average: 16.0%
Dependent repos count: 22.1%
Downloads: 32.4%
Maintainers (1)
Last synced: 6 months ago

Dependencies

setup.py pypi
  • matplotlib *
  • numba *
  • numpy *
  • pandas *
  • scipy *
.github/workflows/python-publish.yml actions
  • actions/checkout v3 composite
  • actions/setup-python v3 composite
  • pypa/gh-action-pypi-publish 27b31702a0e7fc50959f5ad993c78deac1bdfc29 composite
requirements.txt pypi