[Next Section] [Previous Section] [Table of Contents]

Full Equations (FEQ) Model for the Solution of the Full, Dynamic Equations of Motion for One-Dimensional Unsteady Flow in Open Channels and Through Control Structures

U.S. GEOLOGICAL SURVEY WATER-RESOURCES INVESTIGATIONS REPORT 96-4240

Diffuse Time-Series File


The structure of the DTSF is designed to enable FEQ to simulate many disjoint runoff events stored in a single file. In most applications, the major runoff events in each water year are selected and the unit-area runoff intensities for each of these events are computed with a rainfall-runoff model. Furthermore, more than one rain gage and (or) land use in the watershed normally is simulated. Therefore, the structure of the DTSF must allow for the storage of multiple disjoint events, each containing runoff time series for each of one or more rain gages or land uses.

In the structure of the DTSF, the following assumptions are made:

  1. The runoff intensities are average values over a time step.
  2. The time step at any given time is the same for all rain gages and land uses simulated in the watershed.
  3. The number of rain gages and land uses is a constant across runoff events.
The DTSF must always contain at least two time series, each containing the sequence of unit-area runoff intensities for one land use and one rain gage. If only one time series is needed, the second time series must be stored with values of zero runoff. The runoff intensities are in terms of velocity so that multiplication by the tributary area will yield a flow rate. For inch-pound units, the velocity is in feet per second; and for metric units, in meters per second.

File Header Records

A DTSF contains three file-header records that describe various aspects of the file. Each of these records is of the same fixed length as all subsequent records in the file. The record length is (7 + Nts) four-byte words or (28 + 4 Nts) characters, where Nts is the number of time series being stored. Let N ( i ) denote the i th four-byte word in a record of the DTSF. The first record in the file contains
N(1), the year in which the DTSF was prepared,
N(2), the month in which the DTSF was prepared,
N(3), the day in which the DTSF was prepared,
N(4), the time of day (as an integer) when the DTSF was prepared,
N(5), the number of header records in the file (= Nts + 3),
N(6), the number of time series (= Nts), and
N(7), the flag for DTSF versions (must always be 1).
The remaining words of the first record should all be set to zero. Items N(1) through N(4) are designed to help the user keep track of all DTSF's used in modeling. The second file-header record contains the following data for the record from which the events were extracted:
N(1), the starting year,
N(2), the starting month,
N(3), the starting day,
N(4), the ending year,
N(5), the ending month, and
N (6), the ending day.
The remaining words of the second record should be set to zero.

The third file-header record contains any alphanumeric description of the DTSF. It must have (28 + 4Nts) characters with the space (blank) being counted as a character. This record is written to the output file to document the DTSF used in a model.

Time-Series Descriptions

The three file-header records are followed by Nts records, each with an alphanumeric description of the time series. Each of these records must have a length of (28 + 4N ts) characters to match the length of the file-header records. The time-series descriptions are written to the output file to document the time series used in the unsteady-flow model.

Data Records for a Runoff Event

The data records for each runoff event follow after the (3 + N ts) header record. An event is defined as a consecutive sequence of time intervals extracted from a longer time series. The beginning time and ending time of the event must be specified before simulation of the flows resulting from the runoff intensities begins. All events in the DTSF must be in chronological order. Each data record contains the following data:

JTIME is a double-precision (two four-byte words) floating-point value giving the modified Julian time for the end of the time interval defining the average runoff values being stored. This is the elapsed time in days from the start of November 17, 1858. The modified Julian time at the start of January 1, 1993, is 48988.0. The modified Julian time at 6 a.m. on the same day is 48988.25.

DYFRAC is a double-precision (two four-byte words) floating-point value giving the fraction of the day for the date given in JTIME.

YEAR is an integer (one four-byte word) giving the year at the end of the time interval.

MONTH is an integer (one four-byte word) giving the month at the end of the time interval.

DAY is an integer (one four-byte word) giving the day at the end of the time interval.

RUNOFF (1 : Nts) is a single-precision (one four-byte word) floating-point runoff values for each of the time series for the time interval ending at JTIME. The order of the time series is the same as the order of the tributary areas in the Tributary Area Block (section 13.3) in FEQ. A logical order is to give the land uses for each gage in a standard sequence. It is recommended that the time-series description records be in the same order.

The first record of each event is different in terms of the time specification. All other records in the event give the time at the end of the time interval defining the average runoff. The modified Julian time for the first record is the time at the start of the first time interval of the event. All but the first two runoff values in the first record are set to zero. The first two runoff values are used to store the modified Julian time of the end of the event. This is done by use of the EQUIVALENCE statement in Fortran to overlay a double-precision floating-point value onto two single-precision floating-point values. (This is the source of the requirement that there be at least two time series in the DTSF.) This ending time is extracted in simulation, and the two runoff values are set to zero to match the other values when the first record of each event is encountered. The end of the DTSF is marked by writing a data record in which all the fields are set to zero.

The structure of the DTSF is specific to computer systems with commensurable sizes for integers, single-precision floating-point numbers, and double-precision floating-point numbers. Most computer systems developed in the United States follow the pattern assumed by the DTSF. However, some systems have a different word size for integers and single-precision floating-point numbers. Furthermore, some systems have a double-precision floating-point value that does not take twice the space of a single-precision value. When the storage sizes are not commensurable as assumed above, a new version of the DTSF will be required.

File Header Records
Time-Series Descriptions
Data Records for a Runoff Event

[Next Section] [Previous] [Table of Contents]