Supporting documentation for:
Methods for Calculating Flow from Observed or Simulated Hydraulic Head Data
David D. Bosch and Frank M. Davis
For Additional Information Contact:
Dr. David Bosch
PO Box 946
Tifton, GA 31793
ph: 229-386-3899 fax: 229-386-7294
Supplemental information is contained in:
Bosch, D.D. and F.M. Davis. 1997. Methods for calculating flow from observed or simulated hydraulic head data. Advances in Engineering Software.
This file is intended to serve as a technical guide for running the FLOWNET program. Please respond with comments on application and use of the program to the above address.
flownet.zip, a zip archive of the FLOWNET program and sample data files, is available for download.
This document describes the necessary input and interpretation of the output for the program FLOWNET. FLOWNET is a simple computer program developed to calculate hydraulic and topographic gradients for two-dimensional surfaces. Flow rates are calculated for saturated and unsaturated conditions based upon application of Darcy's law and the exponential hydraulic conductivity equation. The FLOWNET program can be applied to evaluate flow in saturated and unsaturated porous media based upon observed pressure head data. In addition, the program can be used to evaluate slope direction and magnitude from topographic elevation data. The central difference and Horn methods of determining gradients were incorporated into the program. Heterogeneity and anisotropy can be incorporated into the analysis by inputting variable saturated hydraulic conductivity (Ksat) and alpha, coefficients in the exponential hydraulic conductivity function.
Two-dimensional problems in either the vertical or horizontal plane can be analyzed. In the vertical plane, the method can be applied to examine saturated-unsaturated flow where observed pressure head data are available. For these cases, the distribution of Ksat and alpha must be known as well as the angle of anisotropy. For problems in the horizontal plane, water table gradients, saturated flow rates, and land slope gradients can be calculated. For land slope analysis, input the land elevation in place of the pressure head and set Ksat values equal to 1.0.
The program was developed in standard FORTRAN 77 programming language and the executable code runs on a personal computer. Currently, the program is limited to a 1000 by 1000 grid. However, this can be increased or decreased as needed. The gradient calculation methods and the calculation of unsaturated hydraulic conductivity were included as subroutines and can be replaced or modified as desired by the user.
A computer program was written to determine hydraulic head gradients and flow vectors within a two-dimensional system. The program assumes the pressure head is known at each node in a regularly spaced grid. The program was written to accept data in grid file format from the software package SURFER. (Golden Software, Inc., P.O. Box 281, Golden, CO 80402. Trade names and company names are included for the benefit of the reader and do not imply any endorsement or preferential treatment of the products listed by USDA). However, it could easily be modified to accept output formats from different contouring packages. (Further references to interpolation and contouring packages will assume the SURFER package is being used). Matric pressure, water table elevation, or ground surface elevation data should first be collected and spatially referenced. A spatially referenced regular grid of the data should then be generated using the SURFER interpolation routine. The grid file should be generated in ASCII format for input into the FLOWNET program.
Once compiled, FLOWNET can be run interactively or in batch mode. To execute the program and run interactively type FLOWNET from within the FLOWNET directory. The program will request the following information:
The program can also be executed in batch mode where all the user responses are supplied in a single input file. To execute the program in batch mode, type FLOWNET , where "filename" is the name of the file which contains all of the responses to the interactive execution. The "<" in the command is necessary for proper execution.
flownet < flowin
Each response must go on a separate line. An example of an input file for the batch mode is:
v :exponetial function or van Genuchten method? e/v
v :orientation, h=horizontal, v=vertical
h :computation method c=central difference, h=horn
0 :angle of anisotropy, beta
2 :alpha-x 1=constant 2=filename
alphax.in :alpha x file
2 :alpha-y 1=constant 2=filename
alphay.in :alpha y file
2 :ksat-x 1=constant 2=filename
satkx.in :ksat x file
2 :ksat-y 1=constant 2=filename
satky.in :ksat y file
2 :van Genuchten n-x 1=constant 2=filename
nx.in :van Genuchten n x file
2 :van Genuchten n-y 1=constant 2=filename
ny.in :van Genuchten n y file
flownet.grd :Hp input file, gridded format
flownet.out :output file name
FILE FORMAT FOR THE GRIDDED PRESSURE HEAD AND VARIABLE ALPHA, KSAT, AND VAN GENUCHTEN N FILES
The input pressure head file and the input alpha and ksat files, if alpha and ksat are spatially variable, must be in SURFER ASCII grid file format. This format is:
line 1: id The code letters DSAA which identify the file as an ASCII grid file
line 2: nx ny nx (integer) is the number of grid lines along the x axis (columns)
ny (integer) is the number of grid lines along the x axis (columns)
line 3: xlo xhi xlo is the minimum x value of the grid
xhi is the maximum x value of the grid
line 4: ylo yhi ylo is the minimum y value of the grid
yhi is the maximum y value of the grid
line 5: zlo zhi zlo is the minimum z value of the grid, parameter being gridded
zhi is the maximum z value of the grid
line 6-?: These are the rows of z values of the grid, organized in row order.
Each row has a constant y coordinate. The grid row 1 corresponds
to ylo and the last grid row corresponds to yhi. Within each row
the z values are arranged from xlo to xhi.
An example of a gridded pressure head file is:
4 3 3 2 2
3 2 2 1 1
2 1 1 -6e-036 -1.485e-035
1 -6e-036 -2.3e-035 -5 -10
-5.34167e-036 -5 -10 -15 -20
The following data in column format is currently printed to the output file:
column 1: node x coordinate
column 2: node y coordinate
column 3: nodal pressure head, Hp
column 4: nodal hydraulic head, H
column 5: nodal gradient in the x direction
column 6: nodal gradient in the y direction
column 7: nodal flow rate in the x direction
column 8: nodal flow rate in the y direction 0
column 9: nodal flow vector magnitude |
column 10: nodal flow vector direction, 0 in positive y direction (up) 90 ---+--- 270
This flow vector data can be used in the SURFER program to provide data for the posting routine. By overlaying the flow vectors on the hydraulic head contours the flow paths within the analyzed system can be visualized.