Metadata-Version: 2.1
Name: hspfbintoolbox
Version: 7.0.1
Summary: Reads Hydrological Simulation Program - FORTRAN binary output files.
Home-page: http://timcera.bitbucket.io/hspfbintoolbox/docs/index.html
Author: Tim Cera, P.E.
Author-email: tim@cerazone.net
License: BSD
Keywords: hspf binary hydrologic simulation model
Classifier: Development Status :: 5 - Production/Stable
Classifier: Intended Audience :: Science/Research
Classifier: Intended Audience :: End Users/Desktop
Classifier: Intended Audience :: Developers
Classifier: Environment :: Console
Classifier: License :: OSI Approved :: BSD License
Classifier: Natural Language :: English
Classifier: Operating System :: OS Independent
Classifier: Programming Language :: Python :: 3.7
Classifier: Programming Language :: Python :: 3.8
Classifier: Programming Language :: Python :: 3.9
Classifier: Topic :: Scientific/Engineering :: Information Analysis
Classifier: Topic :: Scientific/Engineering
Classifier: Topic :: Software Development :: Libraries :: Python Modules
Requires-Python: >=3.7.1
Provides-Extra: dev
License-File: LICENSE.txt
License-File: AUTHORS.rst

.. image:: https://github.com/timcera/hspfbintoolbox/actions/workflows/python-package.yml/badge.svg
    :target: https://github.com/timcera/hspfbintoolbox/actions/workflows/python-package.yml
    :height: 20

.. image:: https://coveralls.io/repos/timcera/hspfbintoolbox/badge.png?branch=master
    :target: https://coveralls.io/r/timcera/hspfbintoolbox?branch=master
    :height: 20

.. image:: https://img.shields.io/pypi/v/hspfbintoolbox.svg
    :alt: Latest release
    :target: https://pypi.python.org/pypi/hspfbintoolbox

.. image:: http://img.shields.io/badge/license-BSD-lightgrey.svg
    :alt: BSD-3 clause license
    :target: https://pypi.python.org/pypi/hspfbintoolbox/

.. image:: http://img.shields.io/pypi/dd/hspfbintoolbox.svg
    :alt: hspfbintoolbox downloads
    :target: https://pypi.python.org/pypi/hspfbintoolbox/

Documentation for hspfbintoolbox
================================
The ``hspfbintoolbox`` is a Python script and library of functions to read
Hydrological Simulation Program Fortran (HSPF) binary files and print to
screen.  The time series can then be redirected to file, or piped to other
command line programs like ``tstoolbox``.

Requirements
------------

* pandas - on Windows this is part of the Python(x,y), Enthought, or
  Anaconda distributions

* mando - command line parser

* tstoolbox - utilities to process time-series

Installation
------------
Should be as easy as running ``pip install hspfbintoolbox`` or ``easy_install
hspfbintoolbox`` at any command line.  Not sure on Windows whether this will
bring in pandas but as mentioned above, if you start with Python(x,y) then
you won't have a problem.

Usage - Command Line
--------------------
Just run 'hspfbintoolbox' to get a list of subcommands:

 catalog
          Prints out a catalog of data sets in the binary file.

 dump
          Prints out ALL data from a HSPF binary output file.

 extract
          Prints out data to the screen from a HSPF binary output file.

 time_series
          DEPRECATED: Use 'extract' instead.

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 "--infile=filename", or to explicitly specify from stdin use
"--infile='-'" .

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 hspfbintoolbox::

    import hspfbintoolbox

    # Then you could call the functions
    ntsd = hspfbintoolbox.dump('tests/test.hbn')

    # Once you have a PANDAS DataFrame you can use that as input.
    ntsd = tstoolbox.aggregate(statistic='mean', agg_interval='daily', input_ts=ntsd)
