Skip to main content

EFlowCalc: A Calculator of Streamflow Characteristics in Python

Project description

PyPI Version DOI License: GPL v3 GitHub Actions Test Workflow Status

eflowcalc is an open-source calculator of ecological streamflow characteristics in Python. It is licensed under GNU GPL-3.0. The package currently gives the Python scientific community access to 159 ecologically relevant streamflow characteristics inventoried by Olden and Poff (2003). 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.

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

Hallouin, T. (XXXX). EFlowCalc: Ecological Streamflow Characteristics Calculator (Version X.X.X). Zenodo. https://doi.org/10.5281/zenodo.2566757

Brief overview of the API

from datetime import datetime, timedelta
import numpy as np
import eflowcalc as efc

datetimes = [datetime(2010, 1, 1) + timedelta(days=d) for d in range(3652)]
streamflows = np.random.uniform(3, 50, 3652)
drainage_area = 120.7

ma41 = efc.calculator(efc.ma41, datetimes, streamflows, drainage_area)

ma41, dh4, ra7 = efc.calculator((efc.ma41, efc.dh4, efc.ra7),
                                datetimes, streamflows, drainage_area)

Streamflow characteristics available

The streamflow characteristics currently available in eflowcalc are as follows:

  • Magnitude of flow events
    • Average flow events: ma1, ma2, ma3, ma4, ma5, ma6, ma7, ma8, ma9, ma10, ma11, ma12, ma13, ma14, ma15, ma16, ma17, ma18, ma19, ma20, ma21, ma22, ma23, ma24, ma25, ma26, ma27, ma28, ma29, ma30, ma31, ma32, ma33, ma34, ma35, ma36, ma37, ma38, ma39, ma40, ma41, ma42, ma43, ma44, ma45

    • Low flow events: ml1, ml2, ml3, ml4, ml5, ml6, ml7, ml8, ml9, ml10, ml11, ml12, ml13, ml14, ml15, ml16, ml17, ml18, ml19, ml20, ml21, ml22

    • High flow events: mh1, mh2, mh3, mh4, mh5, mh6, mh7, mh8, mh9, mh10, mh11, mh12, mh13, mh14, mh15, mh16, mh17, mh18, mh19, mh20, mh21, mh22, mh23

  • Frequency of flow events
    • Low flow events: fl1, fl2, fl3

    • High flow events: fh1, fh2, fh3, fh4, fh5, fh6, fh7, fh8, fh9, fh10

  • Duration of flow events
    • Low flow events: dl1, dl2, dl3, dl4, dl5, dl6, dl7, dl8, dl9, dl10, dl11, dl12, dl13, dl14, dl15, dl16, dl17, dl18, dl19, dl20

    • High flow events: dh1, dh2, dh3, dh4, dh5, dh6, dh7, dh8, dh9, dh10, dh11, dh12, dh13, dh14, dh15, dh16, dh17, dh18, dh19, dh20, dh21

  • Timing of flow events
    • Average flow events: ta1, ta2

    • Low flow events: tl1, tl2

    • High flow events: th1, th2

  • Rate of change in flow events
    • Average flow events: ra1, ra2, ra3, ra4, ra5, ra6, ra7, ra8, ra9

Acknowledgement

Early versions of this tool were 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.

Source Distribution

eflowcalc-0.1.0.tar.gz (33.4 kB view details)

Uploaded Source

Built Distribution

eflowcalc-0.1.0-py3-none-any.whl (37.9 kB view details)

Uploaded Python 3

File details

Details for the file eflowcalc-0.1.0.tar.gz.

File metadata

  • Download URL: eflowcalc-0.1.0.tar.gz
  • Upload date:
  • Size: 33.4 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.4.1 importlib_metadata/4.0.1 pkginfo/1.6.1 requests/2.23.0 requests-toolbelt/0.9.1 tqdm/4.54.1 CPython/3.7.7

File hashes

Hashes for eflowcalc-0.1.0.tar.gz
Algorithm Hash digest
SHA256 37f3d69f2b583117cb07ada57c2229ed32d2138b342cad1f2fb90e5e2857916d
MD5 771fa28c5d2f598e258592588ca4159d
BLAKE2b-256 aeb5f41d25624115a7476a4a53eca0a4ab1355e0d77139909bbab90fa442e2a6

See more details on using hashes here.

File details

Details for the file eflowcalc-0.1.0-py3-none-any.whl.

File metadata

  • Download URL: eflowcalc-0.1.0-py3-none-any.whl
  • Upload date:
  • Size: 37.9 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.4.1 importlib_metadata/4.0.1 pkginfo/1.6.1 requests/2.23.0 requests-toolbelt/0.9.1 tqdm/4.54.1 CPython/3.7.7

File hashes

Hashes for eflowcalc-0.1.0-py3-none-any.whl
Algorithm Hash digest
SHA256 aa6ec2d0b91ba39bb18dc957fa2e23f7cc01de323395aba1fce530869c160bcb
MD5 b2e6086f5bdf43e8b6549c7bf54a6979
BLAKE2b-256 0658aefca93d827eb3e16189428e5f9fc664f5ba8e3542b802aca58eee45c941

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page