[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

13.13 Function Tables Block--Function Tables


Purpose: All function tables are given with this block in a user-selected order. Each table has a unique identifying number, so order is not important. Some or all tables can be stored in one or more files, and the table information from these files, can be obtained during simulation. A negative TYPE value for TYPEs 2, 3, 4, 6, 7, 8, 9, 11, 13, 14, 15, or 20-25 suppresses echoing of the table values. Only the header information will be output by FEQ in this case.

Heading: One line of user-selected information. The suggested string is FUNCTION TABLES; only the first eight characters of the heading are read and must be FUNCTION if the Function Tables Block is moved ahead of the Branch Description Block.

LINE 1 (one for each function table or reference to a table of auxiliary files)

Variable: TABLE, FNAME

Format: 7X, I5, A64

Example: TABLE#=00029

Explanation:

TABLE is the identification number of the function table. If TABLE= - 1, then input of function tables is terminated. If TABLE= -n where n is an integer > 1, function-table input is continued from a file specified by Fortran unit number n (see appendix 3). The maximum function table number allowed in FEQ is specified in the parameter MFTNUM in the INCLUDE file ARSIZE.PRM (appendix 3). This number may be increased as necessary and FEQ recompiled.

FNAME is the name of the file to be read in FEQ. If FNAME is nonblank and TABLE= -n, a file (called an auxiliary file) will be opened with the name given by the contents of FNAME (most microcomputers) to continue input of the function tables. On IBM mainframes, the name given by FNAME will be the ddname for the DD statement defining the data set. If the FNAME is blank, an implicit open will be done on an IBM mainframe if the proper DD statement defining the unit number given by n is present. In some microcomputer systems, the user will be prompted for the file name, whereas program execution will be aborted on other microcomputer systems.

Each specified file in this option is opened, read, and then closed so that the function tables can be divided into many groups for convenience in development and adjustment. The relation between the files depends on how each of the auxiliary files is ended. If the last line of the file is a negative table number other than - 1, then the current auxiliary file is closed, the file specified in this last line is opened, and function tables are read from this new auxiliary file. The number of separate files that can be used is unlimited because each file points to the next file. The last file in the sequence is terminated with TABLE= - 1.

If the auxiliary file ends without a negative table number, then the auxiliary file is closed and the next table number is read from the input file. Thus, one or more auxiliary files can be given in sequence in the input file to complete the input of the function tables. This technique is preferred because all the auxiliary file names appear in one place. The first method is inconvenient in that the next auxiliary file name appears at the end of the current auxiliary file, and this requires that all of the auxiliary files be scanned in order to establish the files being used. To avoid confusion and to simplify programming, only table numbers describing additional auxiliary files or with the - 1 terminator can appear after an auxiliary file has been given. This means that function-table input from the input file must be completed before auxiliary files are referenced to provide the remainder of the function tables.

LINE 2

Variable: TYPE

Format: 5X, I5

Example: TYPE=00002

Explanation:TYPE is the type of function table. The type defines the format and role of the table. A summary of the table types used in FEQ is given in section 11 and table 6.

If TYPE=2 (Single function linear):

LINE 3 (one for each table of type 2 in sequence with Lines 4 and 5)

Variable: REFLEV, FAC3

Format: 5X, F10.0, 5X, F10.0

Example: REFL= 0.0 FAC= 43560.0

Explanation:

REFLEV is the reference level read by FEQ but not now used.

FAC3 is a multiplier on the function values in the table. If the FAC3 entry is omitted, then the multiplier defaults to 1.0.

LINE 4 (one for each table of type 2 in sequence with Lines 3 and 5)

Variable: HEAD

Format: A80

Explanation:This is a user-selected heading for subsequent information.

LINE 5 (one for each argument value for each table of type 2 in sequence with Lines 3 and 4)

Variables: ARG, F(1)

Format: 2F10.0

Explanation:

ARG is the argument value for the tabulated function. F(1) is the value of the function at the given argument value.

The table is terminated by an argument value less than the argument value on the previous line. Negative values can be used for an argument. Intermediate function values are determined by linear interpolation.

If TYPE=3 (Dual function: linear and integrated linear):

LINE 3 (one for each table of type 3 in sequence with Lines 4 and 5)

Variable: REFLEV, FAC4

Format: 5X, F10.0, 5X, F10.0

Example: REFL=0.0 FAC= 43560.0

Explanation:

REFLEV is the reference level read in FEQ but not now used.

FAC4 is a multiplier on the function values in the table. If the FAC4 entry is omitted, the multiplier defaults to 1.0.

LINE 4 (one for each table of type 3 in sequence with Lines 3 and 5)

Variable: HEAD

Format: A80

Explanation:This is a user-selected heading for subsequent information.

LINE 5 (one for each argument value for each table of type 3 in sequence with Lines 3 and 4)

Variables: ARG, F(1), F(2)

Format: 3F10.0

Explanation:

ARG is the argument value for the functions tabulated.

F(1) is the value of the first function at the given argument value.

F(2) is the value of the second function at the given argument value. F(2) is the derivative of the function tabulated in F(1).

For a table of type 3, F(1) and F(2) must be related with the trapezoidal rule with F(1) being given by F(2). The table is terminated if the argument value given is smaller than the argument value on the previous line.

If TYPE=4 (Dual function: cubic Hermite):

Same as for TYPE=3 except that F(2) is given by the derivative of a piecewise cubic Hermite polynomial describing F(1).

If TYPE=6 (Two dimensional):

LINE 3 (repeated as needed to represent the range of flows for the table of type 6, paired with Line 4 and in sequence with Lines 5 and 6)

Variable: HEAD

Format: A80

Example: HEADUP FREEDROP

Explanation:This is the heading for the part of the table detailed by Line 4.

LINE 4 (repeated as needed to represent the range of flows for the table of type 6, paired with Line 3 and in sequence with Lines 5 and 6).

Variable: HU, FDROP

Format: 2F10.0

Explanation:

HU is the value of upstream head. A value of HU < 0 terminates input to this part of the table.

FDROP is the corresponding drop in water-surface elevation required from the upstream node to the downstream node for the maximum physically possible flow. The maximum possible flow is called the free flow, and the drop in elevation is called the free drop.

The values of upstream head and free drop should be entered in ascending order of upstream head.

LINE 5 (repeated as needed to represent the range of flows for the table of type 6, paired with Line 6 and in sequence with Lines 3 and 4)

Variables: HEAD

Format: A80

Example: PROPORTION OF FREE DROP AND FLOW FOR CONSTANT UPSTREAM HEAD

Explanation:This is the heading for the part of the table detailed in Line 6.

LINE 6 (repeated as needed to represent the range of flows for the table of type 6, in sequence with Lines 3, 4, and 5)

Variable: P, Q

Format: 2F10.0

Explanation:

P is the proportion of free drop.

Q is the corresponding flow for constant upstream head.

Values must be specified for each of the upstream heads in the first part of the table specified on Line 4. The first line for each upstream head must be P =0 and Q =0. Subsequent lines for each upstream head must give P and Q in ascending order of P until the final value with

P =1.0 and Q =maximum physically possible flow for the given upstream head. Thus, each upstream head in the first part of the table has a minimum of two lines in the second part of the table. The sets of lines for the upstream heads appear in the same order as the upstream heads. Each of the sets must end with a value of P =1.0.

The control structure is between an approach section and a departure section, as shown for a sluice gate in figure 44. The length of channel between the approach section and the entrance to the control structure is called the approach reach, and the length of channel between the exit of the control structure and the departure section is called the departure reach. The approach and departure sections will be input to FEQ. Thus, the 2-D table represents the relation among the water-surface elevations at these sections and the flow through the control structure. The lengths of these reaches must be selected with consideration of possible flow directions. If the flow through the control structure is unidirectional, then the approach section should be beyond the drawdown local to the structure. In the case of culvert or bridge openings, the approach reach should be at least as long as the total opening width. The length of the departure reach should be such that the velocity distribution in the channel is almost fully developed. One approach for selecting a length is to use the rate of expansion of a free jet in the range of 1:4 to 1:5, where this is the ratio of opening width to jet width. This is the rate of expansion on one side of the jet, so the expansion in width is really about 1:2 to 1:2.5. With this rate of expansion and the width of the structure opening, the length of the departure reach required such that the jet will completely fill the departure section can be computed. It is assumed that the velocity distribution in the departure section will be virtually the same as the velocity distribution in that section if the control structure were not present.

The method suggested above often results in departure-reach lengths much longer than the approach-reach length. Furthermore, bidirectional flow through the control structure results in approach and departure reaches functioning conversely as the flow reverses direction. It is not practical to vary the length of the corresponding branch lengths with changes in direction of flow. To simulate bidirectional flow, it is assumed that the 2-D table can represent losses in the departure reach greater than those resulting from the normal frictional resistance if the structure were not present. Thus, the departure reach can be compressed to the same length as the approach reach, and only local losses resulting from the structure are of concern. The frictional losses are then approximated in the branch, which now extends into the area of disturbed flow downstream of the structure. In this process, the local losses resulting from the expansion of the flow are assumed to be much larger than those resulting from boundary friction, as is most often the case.

A 2-D table represents all possible flows for a range of water-surface elevations in the approach and departure sections. It is convenient to define an upstream head (in the approach section) and a downstream head (in the departure section) where upstream and downstream denote the actual flow direction and not just the nominal location of a node. The flow is always from approach section to control-structure entrance to control-structure exit to departure section. The upstream and downstream head are referenced to the same datum, and equality of upstream and downstream head results in zero flow.

If TYPE=7, 8, or 9 (Alternative time argument for table types 2, 3, or 4):

These three table types include a time argument that differs from the argument given in table types 2, 3, and 4. The time argument is given in the form of year, month, day, and hour. Line 3 is exactly the same as for types 2, 3, and 4 but Lines 4 and 5 differ.

LINE 4

Variable: HEAD

Format: A80

Example: YEAR MN DY HOUR F(1) F(2)

Explanation:This is a user-selected heading for subsequent information.

LINE 5 (repeated as needed to input the entire time series of input data)

Variables: YR, MN, DY, HR, F(1), [F(2)]

Format: I4, 1X, I2, 1X, I2, 3F10.0

Explanation:

YR is the year for which the function values apply. All four digits of the year must be given.

MN is the month (1-12) for which the function values apply.

DY is the day of the month (1-31) for which the function values apply.

HR is the hour of the day, including any fractional hour for which the function values apply.

F(1) is the value of the first function at the given time argument.

F(2) is the value of the second function at the given time argument, if required (table types 8 and 9).

The values for year, month, and day need be given only for the first argument in the table and whenever they change. Blank fields for these three values are replaced with the most recent nonblank values; that is, the values of year, month, and day propagate into blank fields. The hour of the day must be given for each entry because this value will always differ. The year, month, and day must be valid calendar dates (an error message is issued if they are not). Further, the year must be 1859 or later. An error message is issued if the year falls outside the valid range. The end of input for a table with the year, month, and day arguments is indicated by a specified year, month, day that is earlier in time than the value on the preceding line.

If TYPE=11 (Dual-function wind speed and direction):

LINE 3

Variable: REFLEV, FAC

Format: 5X, F10.0, 5X, F10.0

Example: REFL= 0.0 FAC= 1.0

Explanation:

REFLEV is the reference level read in FEQ but not now used.

FAC is a multiplier on the wind-speed values in the table but not the direction. Thus, FAC can be used to adjust measured wind speeds to the correct units and measurement elevation.

LINE 4

Variable: HEAD

Format: A80

Example: YEAR MN DY HOUR SPEED AZIMUTH

Explanation:This is a user-selected heading for subsequent information.

LINE 5 (repeated as needed to input the entire time series of input data).

Variables: YR, MN, DY, HR, F(1), F(2)

Format: I4, 1X, I2, 1X, I2, 3F10.0

Explanation:

YR is the year for which the wind values apply. All four digits must be in the year given.

MN is the month (1-12) for which the wind values apply.

DY is the day of the month (1-31) for which the wind values apply.

HR is the hour of the day, including any fractional hour, for which the wind values apply.

F(1) is the speed of the wind at the given time argument.

F(2) is azimuth of the wind direction, measured clockwise from north in degrees. This value corresponds to the tradition of wind direction being that from which the wind is coming. For example, an east wind has an azimuth of 90 degrees.

The values for year, month, and day need be given only for the first argument in the table and whenever they change. Blank fields for these three values are replaced with the most recent nonblank values; that is, the values of year, month, and day propagate into blank fields. The hour of the day must be given for each entry because this value should always differ. The year, month, and day must be valid calendar dates (an error message is issued if they are not). Further, the year must be 1859 or later. An error message is issued if the year falls outside the valid range. The end of input for a table with the year, month, and day arguments is indicated by specifying a year, month, day that is earlier in time than the value on the preceding line.

If TYPE=13 (Two dimensional):

Type 13 tables contain the same information as type 6 tables except that the proportions of free drop must be the same for all upstream heads. Tables of this type are computed in FEQUTL (Franz and Melching, 1997) by applying the same values of proportion of free drop for each upstream head. Therefore, the preferred output table type is type 13 because it is more compact in output, more easily read by a user, and takes less space in FEQ storage. A small part of a large table of type 13 follows:

         TABLE#= 300
         TYPE= -13
         LABEL=A-CRK1
         NHUP= 7
         NPFE= 10
            HUP 1000-4 1500-4 2000-4 4000-4 6000-4 8000-4 1000-3
          FDROP 2482-4 2687-4 2916-4 3787-4 4598-4 5293-4 5958-4
            PFD Flows for HUP and Proportion of FDROP
         1000-5 3582-5 9038-5 1674-4 8882-4 2471-3 5298-3 9747-3
         4000-5 6462-5 1701-4 3182-4 1706-3 4757-3 1023-2 1884-2
         9000-5 8740-5 2332-4 4452-4 2428-3 6796-3 1469-2 2712-2
         1600-4 9930-5 2809-4 5423-4 3014-3 8480-3 1849-2 3416-2
         2500-4 1054-4 3080-4 6080-4 3447-3 9758-3 2150-2 3982-2
         3600-4 1054-4 3211-4 6459-4 3734-3 1063-2 2399-2 4325-2
         4900-4 1054-4 3275-4 6722-4 3925-3 1120-2 2519-2 4674-2
         6400-4 1054-4 3275-4 6722-4 3925-3 1155-2 2600-2 4837-2
         8100-4 1054-4 3275-4 6722-4 3999-3 1170-2 2635-2 4914-2
         1000-3 1054-4 3275-4 6722-4 4005-3 1174-2 2643-2 4934-2
      

NHUP is the number of upstream heads in the table, and NPFD is the number of partial free drops tabulated in the table. The values following HUP are the upstream heads in compressed floating-point form. The first four digits of the number give the value to be multiplied by the power of 10 given by the last two characters of the number. The first character of the last two characters is always a plus or a minus sign. Thus, the first upstream head value given in the example table on the line starting with HUP is 0.1 and the last upstream head given is 1.0. The next line lists the drop to free flow for the upstream head immediately above it. The last drop to free flow in the table is 0.5958. The column headed by PFD lists the proportion of free drop (partial free drop). A partial free drop of zero is absent because the flow at zero partial free drop is zero. The numbers under each of the upstream-head and free-drop pairs are the flow for the partial free drop at the left of the line. Thus, the flow from the table for an upstream head of 0.6 and a partial free drop of 0.25 is 9.758. For this same upstream head the flow at free drop (partial free drop of 1.00) is 11.74.

If TYPE=14 (Two dimensional):

Tables of type 14 tabulate the upstream head for a structure as a function of the downstream head and the flow rate. An example of part of such a table follows:

         TABLE#= 960
         TYPE= -14
         LABEL=CONTRACTION INTO LEFT GAP
         NHDN= 9
         NPFQ= 20
          QFREE 4177-1 5076-1 5928-1 6999-1 8404-1 1015+0 1216+0 1444+0 1702+0
            HDN 9000-3 9200-3 9400-3 9600-3 9800-3 1000-2 1020-2 1040-2 1060-2
            PFQ Ups heads for HDN and Proportion of QFREE
         6746-5 9023-3 9225-3 9425-3 9626-3 9827-3 1003-2 1023-2 1043-2 1064-2
         1259-4 9078-3 9284-3 9485-3 9686-3 9890-3 1010-2 1030-2 1051-2 1072-2
         1813-4 9152-3 9363-3 9566-3 9769-3 9977-3 1019-2 1040-2 1062-2 1084-2
         2349-4 9239-3 9456-3 9662-3 9867-3 1008-2 1030-2 1052-2 1075-2 1097-2
         2872-4 9332-3 9557-3 9766-3 9974-3 1019-2 1042-2 1065-2 1089-2 1113-2
         3384-4 9430-3 9663-3 9875-3 1009-2 1031-2 1055-2 1079-2 1104-2 1129-2
         3887-4 9530-3 9770-3 9986-3 1020-2 1044-2 1068-2 1094-2 1119-2 1145-2
         4384-4 9630-3 9879-3 1010-2 1032-2 1056-2 1082-2 1108-2 1135-2 1162-2
         4874-4 9731-3 9989-3 1021-2 1044-2 1069-2 1095-2 1123-2 1150-2 1179-2
         5359-4 9832-3 1010-2 1033-2 1056-2 1081-2 1109-2 1137-2 1166-2 1195-2
         5839-4 9933-3 1021-2 1044-2 1068-2 1094-2 1122-2 1152-2 1182-2 1212-2
         6314-4 1003-2 1032-2 1055-2 1079-2 1106-2 1136-2 1166-2 1198-2 1229-2
         6786-4 1013-2 1042-2 1067-2 1091-2 1119-2 1150-2 1181-2 1213-2 1246-2
         7254-4 1023-2 1053-2 1078-2 1103-2 1131-2 1163-2 1195-2 1229-2 1262-2
         7719-4 1033-2 1064-2 1089-2 1114-2 1144-2 1176-2 1210-2 1244-2 1279-2
         8181-4 1043-2 1075-2 1100-2 1126-2 1156-2 1190-2 1224-2 1260-2 1295-2
         8639-4 1053-2 1086-2 1111-2 1138-2 1168-2 1203-2 1238-2 1275-2 1312-2
         9095-4 1063-2 1096-2 1122-2 1149-2 1181-2 1216-2 1253-2 1290-2 1328-2
         9549-4 1073-2 1107-2 1133-2 1161-2 1193-2 1229-2 1267-2 1305-2 1344-2
         1000-3 1083-2 1118-2 1145-2 1172-2 1205-2 1243-2 1281-2 1321-2 1361-2
      

NHDN is the number of downstream heads, and NPFQ is the number of partial free flows tabulated. The values in this table are in compressed floating-point form. The first four digits of the number give the value to be multiplied by the power of 10 given by the last two characters of the number. The first character of the last two characters is always a plus or a minus sign. The numbers in the line following QFREE are the flow rate required to yield free flow at the downstream head given immediately below in the line beginning with HDN. For a given downstream head, a flow greater than the QFREE value indicates free-flow conditions; thus, the relation between flow and upstream head must be applied as the internal boundary condition. The upstream head for each of the values of QFREE appears in the last line of the table at a partial free flow (PFQ of 1.00). For example, at a downstream head of 9.6, the upstream head at free flow is 11.72 and the free flow is 699.9. As an example, assume that the table is accessed by use of a downstream head of 9.60 and a flow of 840.4. Free-flow conditions would be simulated because the value of the flow argument, 840.4, is larger than the flow at the free-flow limit for a downstream head of 9.6. The upstream head sequence at free flow and the free flow would be used to determine the upstream head for the given flow. In this special case, the tabulated upstream head is 12.05. Keeping the downstream head at 9.60 and assuming that the flow argument is 236.85 results in a partial free flow of 0.3384. For these flow and downstream-head values, the upstream head is 10.09.

If TYPE=15 (Table of table numbers):

Tables of type 15 are 1-D with a single argument and four function values used to develop a 3-D table from a series of 2-D tables. The single argument is the vertical extent of the rectangular gate opening. The first function value is the table number of a 2-D table listing the flows for a range of upstream and downstream heads for a gate setting held constant at the value given for the argument. The three additional function values listed in the table for each gate opening describe boundaries between flow conditions. H1FWULR is the ratio between the upstream head at section 1 (the approach section) at the upper limit of free-weir flow and the gate opening. H4FWULR is the ratio between the head at section 4 (departure section) at the upper limit of free-weir flow and the gate opening. H4SWSOMDR is the ratio between (1) the head at section 4 at the boundary between submerged-weir flow and submerged-orifice flow when the head at section 1 is midway between a head equal to the gate opening and a head equal to the upper limit of free-weir flow and (2) the gate opening. Complete details on the interpolation method are given in the FEQUTL documentation report (Franz and Melching, 1997).

LINE 3

Variables: REFLEV, LABEL

Format: 5X, F10.0, 1X, A50

Example: REFL= 0.0 LABEL= Tainter gates at Lock and Dam 21.

Explanation:

REFLEV is a currently unused reference level.

LABEL is an identifying label for the table. This label is appended to the gate opening and is used to compute the 2-D tables applied in the tables of type 15.

LINE 4

Variable: HEAD

Format: A80

Example: OPENING TAB#H1FWULRH4FWULR H4SWSOMDR

Explanation:The heading shown is the one generated in the UFGATE command in FEQUTL (Franz and Melching, 1997).

LINE 5 (repeated as necessary to input all the arguments needed to describe gate operation)

Variables: ARG, TAB2D, F(1), F(2), F(3)

Format: F10.0, I5, 3F10.0

Explanation:

ARG is the argument for the function tabulated. This is the vertical gate opening.

TAB2D is the table number for the 2-D table of type 13 that represents the flows through the gate for a range of upstream and downstream heads with the gate setting fixed at the argument value. The gate openings are all positive. A gate opening of zero must not appear in the table. Guidelines for selecting the gate-opening sequence are given in the discussion of the UFGATE command in Franz and Melching (1997).

F(1:3) is the three values defining boundaries between flow regions computed in the UFGATE command. These values were described previously.

The table is terminated by an argument value less than the argument value on the preceding line.

If TYPE=20 (Cross-sectional hydraulic characteristics):

LINE 3

Variable: STAT

Format: 8X, F10.0

Example: STATION=1.456

Explanation:STAT is the station of the cross section, read and used if the "tab" or "TAB" option is invoked in the Branch Description Tables Block (section 13.2). Otherwise, the value is ignored.

LINE 4

Variables: ELEV, CUTOFF, EXT, FAC5

Format: 10X, F12.0, 7X, F10.0, 5X, F10.0, 5X, F5.0

Explanation:

ELEV is the elevation of the minimum point in the cross section represented, read and used if the "tab" or "TAB " option is invoked in the Branch Description Tables Block (section 13.2). Otherwise, the value is ignored.

CUTOFF is the elevation below which information in the cross-section table is input but discarded.

EXT is the maximum extent of extrapolation allowed from the last two entries in the table. If EXT < 0, then the top width is held constant at the maximum tabulated value during the extrapolation. If EXT > 0, then the top width is extrapolated linearly.

FAC5 is the value used to adjust all values of conveyance in the table. FAC5 is a divisor on the conveyance (not the square root of conveyance). If the cross section is not subdivided and Manning's n is constant, then FAC5 is a multiplier on Manning's n. If FAC5 is not given, then the default is 1.0.

LINE 5

Variable: HEAD

Format: A80

Explanation:These are user-selected headings for subsequent information. Tables of TYPE=20 are computed in FEQUTL (Franz and Melching, 1997), which also produces the headings.

LINE 6 (repeated as necessary to input data for all depth values needed to represent the cross section)

Variables: Y, T, A, KH, BETA

Format: 2F10.0, 2F13.0, F10.0

Explanation:

Y specifies the values of water-surface height used in the tabulation of the hydraulic characteristics. Water-surface height is defined relative to the point of minimum elevation in the cross section. A negative value of water-surface height terminates the table.

T is the top width of the water surface at water-surface height Y.

A is the area of the cross section at water-surface height Y.

KH is the square root of the conveyance of the cross section at water-surface height Y.

BETA is the momentum-flux correction factor for flow in the cross section at water-surface height Y.

If TYPE=21-25 (Cross-sectional hydraulic characteristics):

These additional table types for cross-sectional hydraulic characteristics follow a format similar to that for TYPE=20 with the addition of more cross-sectional hydraulic characteristics. The hydraulic characteristics added for each table and the methods used for interpolating in the tables are given in section 11.1.5. The detailed format for the tables can be determined by computing tables of the appropriate type by use of the utility program, FEQUTL (Franz and Melching, 1997), or the examples obtained by electronic retrieval from the World Wide Web (WWW) at http://water.usgs.gov/software/feq.html or by anonymous File Transfer Protocol (FTP) from water.usgs.gov in the pub/software/surface_water/feq/ directory.


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