hspfbintoolbox

Reads Hydrological Simulation Program - FORTRAN binary output files.


Keywords
hspf, binary, hydrologic, simulation, model
License
BSD-3-Clause
Install
pip install hspfbintoolbox==9.0.3

Documentation

https://travis-ci.org/timcera/hspfbintoolbox.svg?branch=master https://coveralls.io/repos/timcera/hspfbintoolbox/badge.png?branch=master Latest release hspfbintoolbox license

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)