Metadata-Version: 2.1
Name: hydroeval
Version: 0.1.0
Summary: HydroEval: An Evaluator for Streamflow Time Series In Python
Home-page: UNKNOWN
Author: Thibault Hallouin
Author-email: thibault.hallouin@ucdconnect.ie
License: GPLv3
Download-URL: https://pypi.python.org/pypi/hydroeval
Project-URL: Bug Tracker, https://github.com/thibhlln/hydroeval/issues
Project-URL: Source Code, https://github.com/thibhlln/hydroeval
Project-URL: Documentation, https://thibhlln.github.io/hydroeval
Description: An evaluator for streamflow time series in Python
        -------------------------------------------------
        
        .. image:: https://img.shields.io/pypi/v/hydroeval?color=blue
           :target: https://pypi.python.org/pypi/hydroeval
           :alt: PyPI Version
        .. image:: https://zenodo.org/badge/145855846.svg
           :target: https://zenodo.org/badge/latestdoi/145855846
           :alt: DOI
        .. image:: https://img.shields.io/badge/License-GPL%20v3-blue.svg
           :target: https://www.gnu.org/licenses/gpl-3.0
           :alt: License: GPL v3
        .. image:: https://img.shields.io/github/workflow/status/ThibHlln/hydroeval/Tests?label=tests
           :target: https://github.com/ThibHlln/hydroeval/actions/workflows/tests.yml
           :alt: GitHub Actions Test Workflow Status
        
        `hydroeval` is an open-source `evaluator` of goodness of fit between
        simulated and observed streamflow time series in Python. It is licensed
        under GNU GPL-3.0. The package provides a bundle of the most commonly
        used objective functions in hydrological science. The package is designed
        to calculate all objective functions in a vectorised manner (using
        `numpy <https://github.com/numpy/numpy>`_, and therefore C code
        in the background) which makes for very efficient computation of the
        objective functions.
        
        If you are using `hydroeval`, please consider citing the software as
        follows (click on the link to get the DOI of a specific version):
        
        .. pull-quote::
        
           *Hallouin, T. (XXXX). HydroEval: Streamflow Simulations Evaluator (Version X.X.X). Zenodo.* `<https://doi.org/10.5281/zenodo.2591217>`_
        
        .. rubric:: Brief overview of the API
        
        .. code-block:: python
        
           import hydroeval as he
        
           simulations = [5.3, 4.2, 5.7, 2.3]
           evaluations = [4.7, 4.3, 5.5, 2.7]
        
           nse = he.evaluator(he.nse, simulations, evaluations)
        
           kge, r, alpha, beta = he.evaluator(he.kge, simulations, evaluations)
        
        
        .. rubric:: Objective functions available
        
        The objective functions currently available in `hydroeval` to evaluate the fit
        between observed and simulated streamflow time series are as follows:
        
        * `Nash-Sutcliffe Efficiency <https://doi.org/10.1016/0022-1694(70)90255-6>`_ (`nse`)
        * `Original Kling-Gupta Efficiency <https://doi.org/10.1016/j.jhydrol.2009.08.003>`_ (`kge`) and its three components (r, α, β)
        * `Modified Kling-Gupta Efficiency <https://doi.org/10.1016/j.jhydrol.2012.01.011>`_ (`kgeprime`) and its three components (r, γ, β)
        * `Non-Parametric Kling-Gupta Efficiency <https://doi.org/10.1080/02626667.2018.1552002>`_ (`kgenp`) and its three components (r, α, β)
        * Root Mean Square Error (`rmse`)
        * Mean Absolute Relative Error (`mare`)
        * Percent Bias (`pbias`)
        
        Moreover, some objective functions can be calculated in a bounded version following
        `Mathevet et al. (2006) <https://iahs.info/uploads/dms/13614.21--211-219-41-MATHEVET.pdf>`_:
        
        * Bounded Nash-Sutcliffe Efficiency (`nse_c2m`)
        * Bounded Original Kling-Gupta Efficiency (`kge_c2m`)
        * Bounded Modified Kling-Gupta Efficiency (`kgeprime_c2m`)
        * Bounded Non-Parametric Kling-Gupta Efficiency (`kgenp_c2m`)
        
        Finally, the `evaluator` can take an optional argument *transform*.
        This argument allows to apply a transformation on both the observed and the
        simulated streamflow time series prior the calculation of the objective function.
        The possible transformations are as follows:
        
        * Inverted flows (using `transform='inv'`)
        * Square Root-transformed flows (using `transform='sqrt'`)
        * Natural Logarithm-transformed flows (using `transform='log'`)
        
        .. rubric:: Acknowledgement
        
        Early versions of this tool were developed with the financial support of
        Ireland's Environmental Protection Agency (Grant Number 2014-W-LS-5).
        
Platform: UNKNOWN
Classifier: Development Status :: 4 - Beta
Classifier: Natural Language :: English
Classifier: Intended Audience :: Science/Research
Classifier: Intended Audience :: Developers
Classifier: Topic :: Scientific/Engineering :: Hydrology
Classifier: Operating System :: MacOS
Classifier: Operating System :: Microsoft :: Windows
Classifier: Operating System :: POSIX :: Linux
Classifier: License :: OSI Approved :: GNU General Public License v3 (GPLv3)
Classifier: Programming Language :: Python :: 3.7
Classifier: Programming Language :: Python :: 3.8
Classifier: Programming Language :: Python :: 3.9
Classifier: Programming Language :: Python :: Implementation :: CPython
Description-Content-Type: text/x-rst
