LibHydro: A Library of HEC Subroutines

by Masatsugu Takamatsu and Tim Whiteaker

Center for Research in Water Resources
The University of Texas at Austin


Table of Contents


 

Introduction to LibHydro

 

LibHydro is a library of  subroutines that perform calculations commonly used in hydrologic engineering.  These subroutines are identical to those used in the U.S. Army Corps of Engineering Hydrologic Engineering Center's “HEC” series (e.g. HEC-HMS and HEC-RAS) and have been implemented throughout the world for the past 40 years.  In 1995, the Hydrological Engineering Center isolated several of FORTRAN subroutines that perform particular hydrological procedures in the HEC-1 simulation model and later these were packaged into a Dynamic Link Library (DLL) file called “libHydro.dll”.  Packaging the subroutines in a DLL file allows the HEC subroutines to be used in custom programs.   LibHydro is not a supported system of the HEC and if there are questions about it, please direct them to CRWR.
 

 

What is a Dynamic Link Library?

 

A Dynamic Link Library, or DLL, file is a library of functions or subroutines that can be called from a executable file (.exe).  A DLL can be called by a program written in FORTRAN, C, C++, Visual Basic, or any other COM-compliant language.  For example, a DLL file written in FORTRAN can be called from an EXCEL macro to perform a hydrologic calculation.  Likewise, ArcMap, ArcCatalog, or Access can also call functions or subroutines stored in a DLL file. 

 

 

What hydrologic functions are available in LibHydro?

 

Lib Hydro subroutines are classified into 6 groups: Precipitation, Loss Rates, Unit Hydrographs, Base Flow, Routing Methods, and Utility.  Follow the links below to learn more about each subroutine and to test the subroutine using EXCEL.

 

Category

Subroutine Name

Subtitle

LossRates

LossGreenAmpt

Losses Using Green and Ampt Infiltration Formula

 

LossInitialConstant

Initial Loss and Constant Loss Rate

 

LossSCSCurveNumber

SCS Curve Number

Unit Hydrograph

UnitgraphClark

Clark Unit Hydrograph

 

UnitgraphSnyder

Snyder Unit Hydrograph

 

UnitgraphSCS

SCS Dimensionless Unit Hydrograph

 

KWaveRunoffTransform

Kinematic Wave Runoff Transform

Baseflow

BaseflowHEC1

Base Flow using HEC1 Method

RoutingMethods

RouteMuskingum

Muskingum Routing

 

RoutePulsChannel

Modified Puls Channel Routing

Utilities

EarthDistance

Distance Between Two Points on Earth

Note:  Kinematic Wave Runoff and Route Puls Channel functions have not been called yet by Visual Basic because of unsolved errors.  For updates visit http://civilu.ce.utexas.edu/stu/takamam/lh_home.htm.
 

 

Hydrologic Modeling with Model Builder and LibHydro

Arc Hydro is designed to bring the world of GIS and Hydrologic Modeling closer together.  Presented on this CD is an ArcGIS 9.0 custom toolbox that reads information from Arc Hydro Watershed and TimeSeries data, and runs hydrologic simulation processes using HEC's library of HEC-1 subroutines, known as libHydro.  For more information about the ArcGIS 9.0 custom toolbox, please see the document "Hydrologic Simulation with Arc Hydro, libHydro, and Model Builder" included on this CD.

Supporting Material

Contact Information

Masatsugu (Takkan) Takamatsu

Graduate Research Assistant

Center for Research in Water Resources

Department of Civil Engineering, University of Texas at Austin

(512) 471-0073

takamatsu@mail.utexas.edu

 

Tim Whiteaker

Graduate Research Assistant

Center for Research in Water Resources

Department of Civil Engineering, University of Texas at Austin

(512) 471-0073

tlw9539@hotmail.com

 


These materials may be used for study, research, and education, but please credit the authors and the Center for Research in Water Resources, The University of Texas at Austin. All commercial rights reserved. Copyright 2003 Center for Research in Water Resources.