A Python package for estimating environmental flow requirements using hydrological methods.
Project description
eflowpy
eflowpy is a Python package for estimating environmental flow requirements using hydrological methods based on streamflow time series data. It provides a consistent and extensible interface for calculating commonly used flow-based environmental indicators.
Features
- Calculate environmental flow recommendations using:
- Tennant Method
- Flow Duration Curve (FDC)
- GEFC (Generalized Environmental Flow Criteria)
- 7Q10 Method
- Tessman Method
- Built-in plotting support:
- Time series plots
- Flow threshold overlays
Installation
To install eflowpy from PyPI:
pip install eflowpy
How to Use
Quick Start Example
import pandas as pd
from eflowpy.hydrological.tennant import Tennant
from eflowpy.utils.data_reader import read_streamflow_data
# Load streamflow time series from file
flow_series = read_streamflow_data("gauge_12013059_daily.csv", folder="path/to/your/data")
# Run Tennant method
tennant = Tennant(flow_series)
tennant.print_summary()
result = tennant.calculate()
print(result)
# Plot bar chart and streamflow overlay
tennant.plot()
tennant.plot_with_levels()
Method Applicability
The table below shows which environmental flow methods in eflowpy can be applied to daily or monthly streamflow datasets:
| Method | Daily Data | Monthly Data | Notes |
|---|---|---|---|
| Tennant | ✅ Yes | ✅ Yes | Uses mean flow → works for both temporal scales |
| FDC | ✅ Yes | ✅ Yes | Based on sorting values by exceedance probability |
| GEFC | ✅ Yes | ✅ Yes | Relies on mean flow thresholds (30%, 60%, 100%) |
| 7Q10 | ✅ Yes | ❌ No | Requires 7-day rolling min, so daily data is mandatory |
| Tessman | ✅ Yes | ✅ Yes | Designed for monthly flow but also works with daily (via resampling) |
License
This project is licensed under the MIT License.
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
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file eflowpy-1.0.1.tar.gz.
File metadata
- Download URL: eflowpy-1.0.1.tar.gz
- Upload date:
- Size: 9.4 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.1.0 CPython/3.11.11
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
ff673a8365f84dfabbb0fbeaa3d51236f716164d1f7fdc1e8b3b61fd30faadcd
|
|
| MD5 |
a8c948d3919d25f63a110f1bbf558938
|
|
| BLAKE2b-256 |
8cc1459df6fb9bb38ced4d8a8db8265c57784574430477346b281576b57d542a
|
File details
Details for the file eflowpy-1.0.1-py3-none-any.whl.
File metadata
- Download URL: eflowpy-1.0.1-py3-none-any.whl
- Upload date:
- Size: 12.1 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.1.0 CPython/3.11.11
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
42852139bf377ffb5cb6ece25d1124980549f9917bf121d10abfaa238f1c67d8
|
|
| MD5 |
25fd5235c735ca4f99d203b8b529314f
|
|
| BLAKE2b-256 |
51070132a7d65a621ec70824d2a0accb099e025765f140e341b137fc2992f5af
|