This is a web site for users of the FEQ/FEQUTL unsteady-flow modeling system. Its purpose, in a broad sense, is to support users of the FEQ/FEQUTL software as well as other related software. This site is under development and not all parts will be completed at the same time. Parts under construction are noted.

Please note that the software is provided as is with no warranty of any kind. You as the user are totally responsible for any consequences that flow from applications of the software made available here. This is not a tutorial site and you are expected to have experience with FEQ/FEQUTL to use this site. That may change in the future as more introductory material is added but that will take quite some time.

Some of the utilities have had only limited use so should be considered alpha software. All application software in engineering should be considered to be beta software, that is, an engineer should always be looking for anomalies, strange results, and possible problems. That is what you are paid to do! The blind unthinking use of any tool, be it software, slide rule, or calculator, is unprofessional. Software can be especially seductive-the neat presentation of results, with color perhaps, can lull the user into the belief that the results have a basis that is as strong as their presentation. This is rarely true. All models are approximations to reality. What we want is an approximation that is adequate to the purpose at hand and constructing that requires experience, and good judgement. The software here has been used on many projects and has provided insights to many a thoughtful user. Please use it with appropriate care.

This is a site for access to the latest versions of the software. For access to software that is on the approved FEMA list and thus may not contain the most recent changes see the USGS FEQ website. Updates are made to this site at periodic intervals.

Note: 5 June 2006: New versions of FEQ and FEQUTL have been uploaded. Updated utilities for PTSF's and DTSF"s have also been added. Access to the source will be provided via version-control software. See below on how to get that software and how to use it to download the source files.

Through the generous work of William (Bill) Rice at Hanson Professional Services Inc. in Springfield, Illinois, we can now make PDF files of the documentation for FEQ and FEQUTL available. This documentation mimics the printed versions and includes the figures. I provided the PDF files without the figures and in distinct parts. Bill combined everything and scanned and included the figures as well, to produce the resulting files. Many thanks to you, Bill!


Download Executable Files

Get files now!

The later versions of FEQ have been changed so that no unformatted sequential files are written. The code has been modified so that unformatted files are written with direct-access statements. Consequently, FEQ also reads these files using direct-access statements. This has some consequences, some are unpleasant and others are pleasant. First the unpleasant consequences, which should only exist in the near term:

1. If you are currently running a model that uses tributary area or uses what are called connection files to pass flow information from one model to another, then you must convert all diffuse runoff files and all connection files, before you can use the version of FEQ on this web site. The change took place at version 10.20. Therefore any model being run with a version earlier than this will need to have these files converted. If you are running a model that uses neither tributary area nor connection files, then there are not changes required.

2. Utility programs have been written to do this conversion. See the example update.

The pleasant consequences, which should exist from now on, are:

1. Unformatted files can be transferred between compilers. I have tested this with LF90, LF95, and g95 on Microsoft Windows (MSW) and LF95 and g95 on Linux.

2. Unformatted files can be transferred between operating systems. This has been tested using the compilers in 1. Thus it is possible to transfer such files from a model running under Linux to a model running under MSW. I do not have other compilers or operating systems so I do not know how widely this feature is supported.

3. You should start using the executables compiled using LF95 as soon as you have your files converted. The LF90 compiler is quite old and has had minimal support for some years now. Any time now, MSW, may not longer permit it to be run or may fail to run executables compiled with it. Furthermore, LF95 produces slightly faster code and better runtime error detection, so there is no need to continue running with LF90.

I have stopped providing multiple versions to support different prefetch options. The savings in runtime is too small to justify the extra problems caused by supporting multiple exectuables. If you must have the fastest options available, you will need to get a copy of the source code as outlined below, and compile your own exectuable.

I continue to support both the single- and double-precision linear system solution options because one client currently has models large enough to require the double-precision linear system solution option. I use the double-precision version for all my models, large or small. Most models run rapidly enough that the runtime penalty is not a problem.

The designation in parentheses following FEQ denotes single precision (sp) or double precision (dp). You should probably use the single precision executables if your models have less than about 450 branches and the length of the network matrix is less than 80,000 elements. If either limit is exceeded you might want to do some comparisons using the double precision version of FEQ. Roundoff and truncation errors start to have an influence on the solution when the models get large enough. The double precision version has been used on models with more than 2000 branches and a length of about 300,000 elements for the network matrix.

Support for HEC DSS has been added under LF95 on MS Windows. However, I do not currently have access to the required source files to make HEC DSS work under Linux.

Executables for the latest versions:

Executables for MS 95, 98, ME, NT, W2K, and XP

FEQ is version 10.35 dated 28 March 2006. FEQUTL is version 5.67 dated 25 October 2005. Note that these have all been compiled to run on Pentium Pro and later CPU chips and their equivalents. These executables will not work well or perhaps not at all on Pentium CPU's.

FEQ(sp,npf) for LF95

FEQ(dp,npf) for LF95


Statically linked executables for Linux. Tested under Debian Sarge 3.1

FEQ is version 10.35 dated 28 March 2006. FEQUTL is version 5.67 dated 25 October 2005. Note that these have all been compiled to run on Pentium Pro and later CPU chips and their equivalents. These executables will not work well or perhaps not at all on Pentium CPU's.

FEQ(sp,npf) for LF95

FEQ(dp,npf) for LF95


Each file contains the executable plus the latest fixlist file that outlines the latest changes. Go to the end of fixlist to find the latest changes. Input documentation with some examples is usually given.


Download Documentation Files


Note that the PDF file is for version 10.32. No changes to user input took place between 10.32 and 10.35.




Download miscellaneous utilities

The following utilities have proved useful and have various levels of documentation. Example inputs are included to give a pattern to follow in using them.

Utilities: ptsfutl

This utility consists of four programs: dumpptsf, makeptsf, updateptsf, and dumpptsf_new. The first two read and produce PTSF's in the old style sequential unformatted form. The last of the four, dumpptsf_new, reads one or more new style direct unformatted DTSF's and creates an ASCII file. The third, updateptsf, reads the old style PTSF and creates a new style PTSF.

There is less need for dumpptsf and makeptsf now that the direct-access unformatted style files are being used. Please note that dumpptsf and makeptsf expect to read and also create the files in the old style. Use updateptsf to complete the conversion to the new style.

To transfer files written in the old style of sequential unformatted from one compiler/platform to another, we need to do the following:

ptsfutl with LF95 on MS OS's

ptsfutl with LF90 on MS OS's

ptsfutl with LF95 on Linux

Utility: tsfutl

This utility works with diffuse time-series files (DTSF's). These are used to store unit-area runoff intensities for a variety of land uses and rain-gages to enable computation of runoff in FEQ. A hydrologic simulation model, such as HSPF, creates the data on which the DTSF is based. HSPF can create both DTSF's and PTSF's directly for use in FEQ. The layout of these unformatted files is given in the FEQ documentation. This release of tsfutl has been modified to support the new style for unformatted files. Therefore, it will do an update from the old style to the new style but no other operations on the old style are supported. You must make the change to the new style to use commands other than the update command. As far as I know (2 June 2006), HSPF has not been modified to create the new style DTSF. Consequently, tsfutl will need to be run on the old style DTSF from HSPF to create a new style file for FEQ versions on or after 10.20. The tsfutl utility can do the following:

tsfutl with LF95 on MS OS's

tsfutl with LF90 on MS OS's

tsfutl with LF95 on Linux

Utility: convertinput

Convertinput consists of two conversion programs: convertfeq and convertutl. They are designed to convert input to FEQ and FEQUTL respectively from versions before 9.5 to versions after 9.5. They are able to make nearly all conversions. However, there maybe some label fields in the inputs that are outside their columns that did not cause problems but that will cause problems in the conversion. These can usually be fixed manually.

Each of these utilities is invoked as FEQ is, that is, with the utility command name followed by two file-name arguments. The first file-name argument gives the old version's input file and the second file-name argument gives the name for the new version.

I have not used these programs recently because all of my work is with the current version. However, they should find most of the changes needed so long as the old input has included the standard block names. If you have played loose with the rules, and in some cases FEQ and FEQUTL let you get by with it, you may have additional problems in converting to versions 9.5 and later. I urge you to move as rapidly as possible to the current versions. It gets more difficult to provide help on old versions and the new versions often have bug corrections as well as enhancements that make them easier to use or provide new support for constructing models.

convertinput with LF95 on MS OS's

convertinput with LF95 on Linux


Download modified WSPRO

I have made corrections and some extensions to WSPRO to make it easier to use with FEQ. I found a number of bugs and have been able to improve its ability to compute lower flows in bridges.

Executables for MS 95, 98, ME, NT, W2K, and maybe XP


Statically linked executables for Linux.

WSPRO for Linux

PDF documentation from FHWA

WSPRO documentation


Download source files

I have changed how FEQ/FEQUTL source is being handled. It is now under revision-control software called Subversion. This software is also being used to control revision of a large unsteady-flow model that involves several hundred files and is being used/modified by three different groups at the same time. A support/development group for FEQ/FEQUTL is being formed and that group will use Subversion to help keep changes in order. A GUI system using Subversion is available for free download from I have some experience with the version for NT4/Win2k/XP. If you are still on Win98/Me I can't help-I never used those OS's and have no experience with them. You should also download the PDF version of the Subversion book from here. If you want to use a command-line version of Subversion under Microsoft Windows that can be got from the downloads link at the main Subversion site.

I urge everyone to consider using Subversion for software development, report writing, and model development and use. It takes a bit of learning but it can help you manage any text-based project in which more than one or only one person is working. Setting up a Subversion server is not all that much different than setting up a web server. I have done both on Linux and it has paid off well. Currently I am doing all my development work on FEQ/FEQUTL under Linux. Since the code is under Subversion I commit my changes made under Linux to the server, also running under Linux. I then go to my Windows machine, running on Vmware on Linux, and do an update of the directories there. All of the files are updated and the end-of-line characters are correct for MS Windows. No problems at all. I just need to recompile-I make no manual changes at all to the files. If I do make changes under MS Windows, I can commit to the repository from there and they will be available to me under Linux.

Here is an outline of the process to follow to get the source onto your system. This is written assuming that you are using MS Windows. If you are using Linux, just get the package for the command-line version of Subversion that is appropriate to your distribution. You can then use the svn command with the export subcommand do what is outlined here. Under Linux the compile scripts are under gnulnx instead msw. Both sub-directory names are there all the time. Just ignore the one you don't need!


Recent bugs and fixes

Here is the current list of known bugs. Work arounds for the bugs may be given. If only a small change in source is required that will be included as well so that users with source and the proper compilers can make the correction themselves and recompile. Otherwise a corrected executable will be available if the bug has been corrected. Some bugs are difficult to find, especially if I am unable to duplicate the problem on my own machine. One bug in the not too distant past took several years of elapsed time to find because it occurred rarely and I was not able to duplicate it on my own machine until near the end of the search period. Most bugs are not that elusive but some are. Thus do not expect rapid fixes for all bugs.


Technical articles

The following links are to other pages on this site or for download of PDF format files. Most of the technical papers will be in PDF form because I can create that form most easily. All of my technical writing is done using Tex and my current software is able to produce PDF output files that support mathematical equations. In time I may find ways to conveniently create HTML files as well.

A technical article created using Mathcad discusses estimation of flood frequency at Ferndale, Deming, and Everson Main Street in the Nooksack River, Whatcom County, Washington. Find the article here. Recent floods will provide additional data to refine the preliminary results shown in this paper.


The Soap Box!

According to one dictionary a soapbox is an improvised platform used by a self-appointed, spontaneous, or informal orator. Perhaps the metaphor does not quite fit because this is only a figurative platform and there is no audio. In any case, this section will contain my opinions on a range of subjects, hopefully related in some way to unsteady open-channel flow. However, there is no absolute requirement for that. Also this is not the only place that my opinions will appear. They in some sense are scattered throughout this site as well as the software. However, here topics may appear that are more philosophical as well as perhaps a bit more polemical.


Linux and O/S issues

I have been using Linux for part of my computing with varying frequency since 1998. Currently all of my e-mail and web work is under Linux. I also have all of my Microsoft-based work done in a virtual machine running under Linux. My goal is to eventually do as much as possible under Linux and only use Microsoft to the extent needed to support users. I may also, over time, offload the MS related work to another party so that I essentially have only Linux in house. If you are curious as to why I am doing this or if you are interested in experimenting with Linux yourself, take one or more of the following links and see what might be in store for you.

Why Linux?


Wish list

The following is a wish list of features in FEQ, FEQUTL, and other software in no particular order. If you have items of interest send them to me as well. If you are interested in seeing one of the items move forward and can either write the software yourself or have some form of monetary support for someone else let me know.


The Hall of Fame!!

The following gives a list of significant models using FEQ/FEQUTL. The criteria for getting on the list include:

Models ranked by component count or matrix size.

  1. Model of the lower Nooksack River, Whatcom County, Washington including overflow corridor into British Columbia. Branches: 2204, Exterior nodes: 8336, Dummy Branches and LPR's:1969. This model is under development and will grow somewhat greater in component count.

  2. Model of the lower Nooksack River, Whatcom County, Washington excluding the overflow corridor into British Columbia. The overflow corridor has a control point that is essentially independent of tailwater so that a simpler model for the main river system can be run on its own. Branches: 1501, Exterior nodes: 5534, Dummy branches and LPR's: 1266, Network-matrix-element count: 326,905, and miles of flowpath: 104.7.

  3. Model of the overflow corridor from the Nooksack River starting at Main Street in Everson and ending at the Southern British Columbia Railroad fill in British Columbia. Branches: 698, Exterior nodes: 2802, Dummy branches and LPR's: 703, Network-matrix-element count:250,086, and miles of flowpath: 45.4

  4. The Glen Redevelopment Project - former site of the Glenview Naval Air Station, Glenview, IL. The model includes all of the constructed in-place mainstem infrastructure resulting from the base closure. The watershed drains an area of 3,130 acres within the Village of Glenview. The purpose of the model was to determine the capacities of the existing detention and conveyance systems constructed to serve the site today. Number of branches= 296 Number of dummy branches and LPRs= 430 Number of elements in network matrix= 491,925 Flowpath length= 34 miles of storm sewers, open channels and streets. Submitted by: Justin Bartels, MWH Americas, Inc.

Models ranked by length of flow path.

  1. Model of the middle Mississippi River from Keokuk, Iowa to Thebes, Ohio. Included the lower Missouri, Illinois, Meramec, Des Moines,and Kaskaskia rivers for an aggregate flow path length of 631 miles. It also included six locks and dams operated dynamically by FEQ as the flood wave(s) passed through the system. An interesting aspect of this model was that some cross sections were wider than many of the streams modeled with FEQ were long! Also the flood waves were large enough that daily mean streamflow captured all the information needed. The maximum time step was 21,600 seconds. Branches: 25, Exterior nodes: 82.


Input/output examples

Selected example input and output files will be given here. They will probably be downloadable text files in an archive. I will be limited in the size of file to include, however, pure text files can often compress to about 30 percent of their raw size.


You can contact me at if you have questions or problems with this site. I can offer no assurance that I will be able to solve them because I am just learning how to set up, support, and run a web site.

For those who might be interested. I am running this site Dell Optiplex GX100 using a Celeron CPU. These units were cheap, about $60 each before upgrading memory and hard drive. They are quiet and with two of them running, one the web server, the other a stand-alone firewall, the power use is around 100 watts!

The web site is run using Libranet 3.0.0. I have used this distribution of Linux for several years but about one-year ago, its founder succumbed to cancer. Consequently, the distribution will not be supported in the future. My desktops are now using Debian Sarge 3.1 and the server will be converted to that as well when the need arises. Debian is not for beginners but it will be around for a long time.

The web server is Apache 2.0. Apache is the dominant web server in the world, having about twice the installed base as products from the other source. The web site is operated through a firewall from Smoothwall Ltd. which supplies a quite usable simple solution--all for free download. Documentation is available but then you are on your own! It is in use at many thousands of sites world wide and provides a good level of security against incursions from the Internet.

When you access this site you will only have a downlink bandwidth of about 320 kilobits/second. We will see how well the site will be able to respond to demands on it. As of 2 June 2006, we seem to be doing OK.

Thanks to Wade Moore for doing some fine tuning on the logo. It looks much better now!

Here is the site for the Apache web server software. Creating a web site on a server in your office is a bit of a challenge the first time. However, a bit of "dogged persistence" will bring you through. Also you have to have a static IP address and have an Internet Service Provider (ISP) that allows you to set up a server. So far I have one, but various special interests will probably kill that option in the future as they get their way with Congress:( Give them enough time and they will essentially destroy the Internet and make it another means to force us into some external imposed mold.)