Skip to main content

EFlowCalc: An Efficient Calculator of Ecological Streamflow Characteristics in Python

Project description

License: GPL v3 PyPI Version DOI

EFlowCalc - An efficient calculator of ecological streamflow characteristics in Python

EFlowCalc is an open-source calculator of ecological streamflow characteristics in Python. It is licensed under GNU GPL-3.0 (see licence file provided). EFlowCalc currently gives access to 159 ecologically relevant streamflow characteristics inventoried by Olden and Poff (2003). More characteristics are gradually added to EFlowCalc. A key strength of EFlowCalc is the vectorisation of all calculations (using numpy, and therefore C code in the background) which makes for very efficient computation of the streamflow characteristics.

How to Install

EFlowCalc is available on PyPI, so you can simply use pip and the name of the package:

python -m pip install eflowcalc

You can also use pip and a link to the GitHub repository directly:

python -m pip install git+

Alternatively, you can download the source code (i.e. the GitHub repository) and, from the downloaded directory itself, run the command:

python install

How to Use

A tutorial in the form of a Jupyter notebook is available to get started with the usage of EFlowCalc's API. The input file required for the tutorial is provided in the examples/ folder.

How to Cite

If you are using EFlowCalc, please consider citing the software as follows (click on the link to get the DOI of a specific version):

Streamflow Characteristics Available

The streamflow characteristics currently available in EFlowCalc are as follows:

  • Magnitude of flow events
    • Average flow events: MA1 to MA45
    • Low flow events: ML1 to ML22
    • High flow events: MH1 to MH23
  • Frequency of flow events
    • Low flow events: FL1 to FL3
    • High flow events: FH1 to FH10
  • Duration of flow events
    • Low flow events: DL1 to DL20
    • High flow events: DH1 to DH21
  • Timing of flow events
    • Average flow events: TA1 and TA2
    • Low flow events: TL1 and TL2
    • High flow events: TH1 and TH2
  • Rate of change in flow events
    • Average flow events: RA1 to RA9

These streamflow characteristics are amongst the 171 hydrological indices inventoried by Olden and Poff (2003). The computations implemented in EFlowCalc are partially inspired by the work of Henriksen et al. (2006), however EFlowCalc is neither endorsed by these authors nor by the U.S. Geological Survey.


EFlowCalc requires the Python packages numpy and pandas to be installed on the Python interpreter where eflowcalc is installed.

Version History


This tool was developed with the financial support of Ireland's Environmental Protection Agency (Grant Number 2014-W-LS-5).

Project details

Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Files for eflowcalc, version 0.0.3
Filename, size File type Python version Upload date Hashes
Filename, size eflowcalc-0.0.3-py2-none-any.whl (32.1 kB) File type Wheel Python version py2 Upload date Hashes View
Filename, size eflowcalc-0.0.3-py3-none-any.whl (32.1 kB) File type Wheel Python version py3 Upload date Hashes View
Filename, size eflowcalc-0.0.3.tar.gz (15.2 kB) File type Source Python version None Upload date Hashes View

Supported by

Pingdom Pingdom Monitoring Google Google Object Storage and Download Analytics Sentry Sentry Error logging AWS AWS Cloud computing DataDog DataDog Monitoring Fastly Fastly CDN DigiCert DigiCert EV certificate StatusPage StatusPage Status page