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.
- python 3.7 or higher
pip install hydrotoolbox
conda install -c conda-forge hydrotoolbox
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.
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')