This is a collection of programs that I have developed or worked on.


Calculations, transformations, statistics, and plots for time-series. Used with the other toolboxes below (tsgettoolbox, wdmtoolbox, hspfbintoolbox, swmmtoolbox).

Development: Latest release PyPI downloads count tstoolbox license


Command line and Python library to collect meteorologic and hydrologic data from web services.

Development: Latest release PyPI downloads count tsgettoolbox license


Templating engine to develop input model data sets. Especially useful for parametric or Monte Carlo simulations.

Documentation:pyslice Latest release PyPI downloads count pyslice license


Calculation of astronomical ephemeris for the Sun, Moon, and Planets. Used by Tidal Analysis Program - Python.

Development: Latest release PyPI downloads count astronomia license

HSPF: wdmtoolbox

Create, read, and write Watershed Data Management (WDM) files.

Development: Latest release PyPI downloads count wdmtoolbox license

HSPF: hspfbintoolbox

Read the Hydrological Simulation Program - FORTRAN (HSPF) binary files.

Development: Latest release PyPI downloads count hspfbintoolbox license

SWMM: swmmtoolbox

Read the Storm Water Management Model (SWMM) version 5 binary files.

Development: Latest release PyPI downloads count swmmtoolbox license


TSPROC is a Time Series PROCessor that uses a configuration file to describe the tasks the data scientest or modeler wants to accomplish. TSPROC was initially developed by John Doherty as part of the ‘Surface Water Utilities’ to support the use of his Parameter ESTimation (PEST) suite of optimization programs. Even though there are important components in TSPROC that are only used with PEST, TSPROC has general utility outside the PEST environment. I am involved in the ‘next-generation’ TSPROC development headed up by Steve Westenbroek of the Wisconsin USGS.

Main site:



Tidal Analysis Program in Python. Takes a time-series of water level observations and finds the pure sine wave tidal constituents that would sum to the observations. TAPPy can then take the calculated constituents and make predictions of tidal heights in the future.

I have been planning a rewrite of TAPPy, but that will probably take a while. In the meantime, there are new tidal analysis tools written using Python which might be better/easier to use than TAPPy. Check out in no particular order;

With things always moving, if the OSU work can get you what you need, why do tidal analysis at all?

Main site: