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
- pandas - on Windows this is part scientific Python distributions like Python(x,y), Anaconda, or Enthought.
- mando - command line parser
Installation
Should be as easy as running pip install hydrotoolbox
at any command line. Not sure on Windows whether this will bring in pandas, but as mentioned above, if you start with scientific Python distribution then you shouldn't have a problem.
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')