/hydrotoolbox

Command line script and Python package to work with hydrologic datasets,

Primary LanguagePythonBSD 3-Clause "New" or "Revised" LicenseBSD-3-Clause

Tests Test Coverage Latest release BSD-3 clause license hydrotoolbox downloads PyPI - Python Version

hydrotoolbox - Quick Guide

The hydrotoolbox is a Python script for hydrologic calculations and analysis or by function calls within Python. Uses pandas (http://pandas.pydata.org/) or numpy (http://numpy.scipy.org) for any heavy lifting.

Requirements

  • python 3.7 or higher

Installation

pip

pip install hydrotoolbox

conda

conda install -c conda-forge hydrotoolbox

Usage - Command Line

Just run 'hydrotoolbox --help' to get a list of subcommands:

usage: hydrotoolbox [-h] [-v] {baseflow_sep,recession,about} ...

positional arguments:
  {baseflow_sep,recession,about}
    baseflow_sep        baseflow_sep subcommand
    recession           Recession coefficient.
    about               Display version number and system information.

optional arguments:
  -h, --help            show this help message and exit
  -v, --version         show program's version number and exit

The default for all of the subcommands is to accept data from stdin (typically a pipe). If a subcommand accepts an input file for an argument, you can use "--input_ts=input_file_name.csv", or to explicitly specify from stdin (the default) "--input_ts='-'".

For the subcommands that output data it is printed to the screen and you can then redirect to a file.

Usage - API

You can use all of the command line subcommands as functions. The function signature is identical to the command line subcommands. The return is always a PANDAS DataFrame. Input can be a CSV or TAB separated file, or a PANDAS DataFrame and is supplied to the function via the 'input_ts' keyword.

Simply import hydrotoolbox:

from hydrotoolbox import hydrotoolbox

# Then you could call the functions
ntsd = hydrotoolbox.baseflow_sep(method='broughton', input_ts='tests/test_fill_01.csv')