r/EPA
Unitea Slates
Envii oninenial Pi o".eciior
t'iv! onmentdl Research
Lahcit atiir-^
Alheru GA ?OP1 3
Reseaicl; and Development
User's Manual for
EXPLORE-I:
A River Basin Water
Quality Model
(Hydraulic Module Only)
-------
EPA 600/3-82-054
May 1982
USER'S MANUAL FOR EXPLORE-I:
A RIVER BASIN WATER QUALITY
MODEL (HYDRAULIC MODULE ONLY)
by
Y. Onishi
Battelle
Pacific Northwest Laboratories
Richland, Washington 99352
Contract No. 68-03-2613
Project Officer
Robert B. Ambrose
Technology Development and Applications Branch
Environmental Research Laboratory
Athens, Georgia 30613
ENVIRONMENTAL RESEARCH LABORATORY
OFFICE OF RESEARCH AND DEVELOPMENT
U.S. ENVIRONMENTAL PROTECTION AGENCY
ATHENS, GEORGIA 30613
-------
NOTICE
Mention of trade names or commercial products does not
consititute endorsement or recommendation for use.
-------
FOREWORD
As environmental controls become more costly to implement
and the penalties of judgment errors become more severe, environ-
mental quality management requires more efficient management tools
based on greater knowledge of the environmental phenomena to be
managed. As part of this Laboratory's research on the occurrence,
movement, transformation, impact and control of environmental
contaminants, the Technology Development and Applications Branch
develops management and engineering tools to help pollution
control officials achieve water quality goals through watershed
management.
Many toxic contaminants are persistent and undergo complex
interactions in the environment. As an aid to environmental
decision-makers, the Chemical Migration and Risk Assessment
methodology was developed to predict the occurrence and duration
of pesticide concentrations in surface waters receiving runoff
from agricultural lands and to assess potential acute and chronic
damages to aquatic biota.
David W. Duttweiler
Director
Environmental Research Laboratory
Athens, Georgia
111
-------
ABSTRACT
EXPLORE-I is a computer program that simulates the dynamic
hydraulic and water quality characteristics of a river basin. It
can be used to study the effects of various flow conditions,
waste discharge and treatment schemes on the water quality
conditions of lakes, reservoirs, rivers, and estuaries. This
user's manual provides input instructions for the hydraulic
module of the EXPLORE-I code. Basic programming requirements of
the code are also included.
Companion reports to this document are Methodology for Over-
land and Instream Migration and Risk Assessment of Pesticides,
Mathematical Model SERATRA for Sediment-Contaminant Transport in
Rivers and Its Application to Pesticide Transport in Four Mile
and Wolf Creeks in Iowa, User's Manual for the Instream Sediment-
Contaminant Transport Model SERATRA, and Frequency Analysis of
Pesticide Concentrations for Risk Assessment (FRANCO Model).
This report was submitted in partial fulfillment of Contract
No. 68-03-2613 by Battelle Pacific Northwest Laboratories under
the sponsorship of the U.S. Environmental Protection Agency.
This report covers the period April 1978 to January 1980, and
work was completed as of January 1980.
IV
-------
CONTENTS
ABSTRACT •••••••••• 1V
FIGURES .......... vi
TABLES .......... vii
INTRODUCTION ........ 1
GENERAL DESCRIPTION OF EXPLORE-I .... 2
EXPLORE-I River Basin Codes .... 2
HYDRAULIC CODE ........ 6
Hydraulic Data Input Information ... 8
Controlled Nodes and Upstream Boundary
Conditions ....... 13
Hydraulic Input Data Deck Preparation . . 16
PROGRAMMING INFORMATION ...... 26
Hydraulic Input Program (IMAINT) Description . 37
Hydraulic Calculations Program (HMAINT)
Description ....... 37
REFERENCES. ......... 55
APPENDIX A. ......... 56
v
-------
FIGURES
1 Overview of the BNW EXPLORE-I river basin codes . 4
2 Relationship of time base in hydraulic and
quality codes ........ 5
3 A sample river basin. ...... 9
4 Worksheet for gathering input data to describe the
problem's junction points. ..... 10
5 Worksheet for gathering input data to describe the
problem's channels ....... 12
6 Sample data deck construction for executing the
BNW EXPLORE-I hydraulic input code . . . . 25
7 Sample data deck construction for executing the
BNW EXPLORE-I hydraulic calculation code. . . 29
8 Layout of example system . . . . . . 30
9 Listing of sample input data deck for hydraulic
code . . . . . . . . . . 31
10 Relationship of the hydraulic input, calculation
and output codes . . . . . . . 35
11 Flow chart of subroutine INK . . . . . 46
12 Flow chart of TIDE ....... 48
13 Flow chart of subroutine PICTUR . . . . 49
14 Flow chart of subroutine HYDCAL .... 50
15 Flow diagram of subroutine GENFUN .... 52
16 Flow diagram of subroutine HYDPLT .... 54
VI
-------
TABLES
A Tabulation of Values of the Manning Friction
Coefficient for Various Types of River Channels . 13
Data Card Format for EXPLORE-I Hydraulic Input
Code .......... 17
Control Cards for Requesting Punch, Print and
Plot Output From Hydraulic Calculation Code . . 27
Variable Definition for Hydraulic Code ... 38
vn
-------
USER'S MANUAL
INTRODUCTION
The Battelle-Northwest (BNW) water quality model, EXPLORE-I
(Baca et al., 1973a,b), is a computer program which simulates
the dynamic hydraulic and water quality characteristics in a
river basin. It can be used to study the effects of various
flow conditions, waste discharge and/or treatment schemes on
the water quality levels in the river basin.
EXPLORE-I is capable of simulating a number of hydraulic regimes
in either a dynamic or steady state mode. These are:
• streams and rivers,
• shallow lakes,
• estuaries or tidally influenced rivers, and
• thermally stratified reservoirs.
In addition, the behavior of the following water quality parameters
can be studied:
• Carbonaceous Biochemical Oxygen Demand (BOD)
• Nitrogenous BOD
• Benthic BOD
• Total Organic Carbon (TOC)
• Refractory Organic Carbon
• Sedimentary Phosphorus
• Soluble Phosphorus
• Organic Phosphorus
• Ammonia Nitrogen
• Nitrite Nitrogen
-------
• Nitrate Nitrogen
• Organic Nitrogen
• Toxic Compounds
• Phytoplankton
• Zooplankton
• Dissolved Oxygen
This user's manual is intended to provide the information
necessary for application of the hydraulic module of EXPLORE-I
to a river basin. A summary description of the hydraulic
model used is provided to assist in understanding the code and
selecting the necessary input values. Programming details of
the code are also included.
GENERAL DESCRIPTION OF EXPLORE-I
The EXPLORE-I computer model consists of four computer program
modules:
• hydraulic code for river and estuarine flow,
• quality code for river and estuary systems,
• hydro-thermal code for thermally stratified reservoirs, and
• quality code for thermally stratified reservoirs.
The hydraulic and hydro-thermal codes must be run first to provide
flow and/or temperature patterns which are input information for
the quality codes. The river basin codes are not coupled to the
deep reservoir models, so quality profiles in impoundments must
be analyzed separately.
EXPLORE-I River Basin Codes
As explained above, the EXPLORE-I river basin model consists of
a hydraulic code and a quality code. The hydraulic code, which
is executed first, produces a magnetic tape which contains all
the necessary geometric and hydraulic data used by the quality
code. This separation of hydraulic and quality calculations
allows the user to set up and calibrate the hydraulic model while
gathering data for the quality model.
Each of these codes has two parts, an input program and a calcula-
tion program. The results of the input programs are stored on mag-
netic tape for use by the calculational code. The input codes
-------
check the input data deck for consistency and calculate all time
varying functions needed by the calculational codes. This
allows the user to check his input before executing the calcula-
tional portion of the code. A diagram of the river basin code
is shown in Figure 1.
The hydraulic and quality codes are set up to operate for a
specified number of cycles; each calculation begins with a spe-
cific cycle and ends with a specific cycle. These are normally
referred to as tidal cycles. However, the user can specify a
cycle different from the tidal cycle (for example, a daily cycle)
if no tidal influence occurs in the river basin being modeled.
The quality code will accept two types of hydraulic input:
(1) time varying hydraulic data which in general is not
cyclic in nature; and
(2) steady or cyclic varying flows.
If the user wanted to observe the effects of increased flow from
an upstream source or from time varying additions and withdrawals
of water from the system, option (1) would be used since these
actions are not cyclic in nature. If only constant or cyclic
flows (such as tidally influenced flows) were of interest, option
(2) would be used. With option (2) the quality code will use the
hydraulic data for one cycle again and again as it calculates the
quality parameter concentrations for a number of cycles.
Since it is difficult to input all the initial velocities, depths,
and flows exactly, both options allow the hydraulic code to cal-
culate for a specified number of cycles before writing out the
results of the calculations or starting to add time varying in-
puts. The time variables used in the hydraulic and quality codes
are discussed below.
The relationship between the time bases used in the hydraulic and
quality codes is most simply illustrated by time lines, as shown
in Figure 2. The variables in this figure are defined as:
• Hydraulic code time variables
NQSWRT = the number of the tidal cycle where printout and
writing of time varying hydraulic data begin.
NQSWRT refers to a segment of time rather than
to a specific point in time; it is the number of
the tidal cycle at which the system establishes
the proper initial conditions.
NTCYC = the number of the last tidal cycle for which the
hydraulic calculations will be performed. NTCYC
also refers to a time segment rather than to a
specific point in time.
-------
(^HYDRAULIC
INPUT DATA
CARD DECK
EXECUTE THE BNW EXPIORE-1
HYDRAULIC INPUT CODt
(1)
\
r
LISTING
OF HYDRAULIC
INPUT
/TtMPORARY
/ STORAGE
TAPE FOR
y HYDRAULIC
\INPUT
PUNCH
PRINT OUT
PLOT CONTROL
CARDS
EXECUTE THE BNW EXPLORE-1
HYDRAULIC CALCULATION CODE
I
OUTPUT PLOTS
AND CALCULATIONS
REQUESTED
PERMANENT
STORAGE
TAPE FOR THE
HYDRAULIC
OUTPUT
PUNCH
RESTART
DATA DECK
WHEN REQUESTED
f" QUALITY
INPUT DATA
CARD DECK
i
r
EXECUTE THE BNWEXPLORE-1
QUALITY INPUT CODE
13)
LISTING OF THE
QUALITY INPUT
V ^n^"
PUNCH. PRINT
AND PLOT
CONTROL CARDS
TEMPORARY
STORAGE
TAPE FOR THE
QUALITY
INPUT
EXECUTE THE BNW EXPLORE-1
QUALITY CALCULATION CODE
(4)
LI STING OF THE
QUALITY
CALCULATION
RESULTS WHICH
HAVE BEEN
REQUESTED
PERMANENT
STORAGE
TAPE FOR THE
QUALITY
OUTPUT
PUNCH RESTART
DATA DECK WHEN
REQUESTED
Figure 1. Overview of the BNW EXPLORE-I river basin codes,
-------
A. Time line
Tidal Cycles with PERIOD = 25 hrs.
TIDAL
CYCLE 1
TIDAL
CYCLE 2
TIDAL
CYCLE 3
TIDAL
CYCLE 4
TIDAL
CYCLE 5
TIDAL .
CYCLE 6
25
50 75
Time, Hrs.
100
125
150
B. Time line showing NQSWRT, NTCYC, NTQCYC and zero time for the
hydraulic time varying data and for the quality time varying data
(For example let NQSWRT = 3, NTCYC = 6, NTQCYC = 6, PERIOD = 25)
>Time = 0 for time varying hydraulic input.
Hydraulic code was run for these TC.*
HYDRAULIC \
CODE | TC = 1 | TC = 2
QUALITY 0
CODE
w
TC
=3 | TC = 4
Quality code
| TC= 5
was run
| TC = 6 |
for these tic
A.
cycles
Time = 0 for time varying quality data.
C. Time line showing NQSWRT, NTCYC, NTQCYC and zero time point for 'steady
state or cyclic hydraulic data
(For example let NQSWRT = 2, NTCYC = 2, NTQCYC = 6, PERIOD = 25)
Hydraulic
tidal cycle
The hydraulic data used
here by the quality code is
HYDRAULIC
CODE
QUALITY
CODE (
TC = 1*
>
TC = 2
^ — • —
TC = 3
~*^ fe
TC = 4 TC = 5 TC = 6
•^ — — • —
Quality cycles
simulated
•Time = 0 for time varying quality input.
*TC = Tidal cycle
Figure 2. Relationship of time base in hydraulic
and quality codes.
-------
PERIOD = period of one tidal cycle in hours.
• Quality code time variable
NTQCYC = the number of the last tidal cycle for which the
quality model will be run. The quality model
will be run for the tidal cycle number starting
with NQSWRT and ending with NTQCYC.
For the purposes of diurnal calculations the quality code assumes
that the start of the time varying data is midnight.
HYDRAULIC CODE
The hydraulic submodel used by EXPLORE-I (Baca et al., 1973a)
was originally developed for the receiving water block of the
Storm Water Management Model (SWMM) by Water Resource Engineers
(WRE). Because the SWMM hydraulic model has been previously
applied successfully to various problems, Water Resources Engi-
neer (1966), Callaway et al. (1969), Metcalf and Eddy (1971),
it was chosen for this study. An extensive discussion of the
theory appears in Callaway et al. (1969) and Baca et al. (1973a)
and will not be given here.
The hydraulic code used by EXPLORE-I solves two-dimensional
problems with one-dimensional equations by requiring the two-
dimensional system to be described by a set of interconnected
"channels" and "junctions" which represent the actual physical
system. The equations of motion and continuity for a one-
dimensional hydraulic system consist of two simultaneous
equations referred to as the Saint Venant equations. These
equations can be written in terms of the discharge, rather than
velocity, as the primary kinetic variable. For flow through a
channel of rectangular cross section, these equations are:
and
,9h 8q _ /-> o\
dt 3x
where
g = gravitational acceleration
h = water depth
u = vertically averaged velocity
b = channel width
q = discharge
6
-------
So = bottom slope
Sf = friction slope due to bed shear stress
Sw = friction slope due to wind stress
t,x = time and space coordinates, respectively.
The code uses a modified set of one-dimensional Saint Venant
equations to model the two-dimensional flow in an estuary or
river basin by superimposing on the estuary or river basin a
grid of junctions and channels. Only one-dimensional flow is
then allowed in the channels connecting the junctions. Each
junction in the system is a water and potential energy storage
element which is characterized by its (1) surface area, (2) water
surface elevation, (3) bottom elevation, and (4) the actual (X,Y)
coordinates of the junction points. The water storage of the
basin or estuary is represented by this series of junctions.
Flow between these junctions is through rectangular channels
which connect the junctions. A channel is described by its
(1) length, (2) width, (3) Manning coefficient, (4) average
bottom elevation at the midpoint, and (5) the junction numbers
which lie at its end points.
Thw two Saint Venant equations are not solved simultaneously for
this system. Instead, the one-dimensional equation of motion,
Equation 1, is solved for each of the channels in the system on
the basis of the present values of the junction heads. Velocity
and flow in each of the channels are thus determined. Next, the
modified equation of continuity, Equation 3:
3h. k
where
ASJ = surface area associated with the junction j
Qi = flow of a channel i connectivy to the junction j
Q^m = water importation rate to the junction j
(source term)
Q?x = water exportation rate from the junction j
-1 (sink term)
Qev = evaporation rate
is solved for each of the junctions on the basis of the predicted
flows in each of the channels. This process is repeated for the
duration of the simulated time period.
-------
Hydraulic Data Input Information
An example of the nodalization of a river basin is shown in
Figure 3. The selection of junctions and channel locations and
the necessary data for each is discussed below.
Junction Data. The selection of junction points and the distances
between them are determined by a size of a time step desired for
running the hydraulic model. For a large problem a time step
greater than 100 seconds would generally be used. For most estu-
aries and large rivers (say, flows greater than a few thousand cfs) ,
the maximum time step, At, which can be used for a given channel
length, L, is determined approximately from
At
~ /gR
where
R = the hydraulic radius (R = average water depth)
of the channel
L = length
g = gravitational constant
Figure 3 shows the initial nodalization of a sample river basin.
After running the model, the user might wish to add new junctions,
change the locations of junctions, or remove junctions to improve
the simulation results.
Figure 4 is a worksheet which can be used to gather the data
necessary to describe the junctions. As indicated on the work-
sheet, and described in succeeding paragraphs, hydraulic data are
required for :
1) the average water surface elevation for the junction point,
2) the water surface area associated with the junction point,
3) any significant inflows to the junction point from small
streams, tributaries or other sources,
4) any significant outflows from the junction point,
5) the average elevation of the bottom of the river or
estuary for the junction point, and
6) the cartesian coordinates of the junction point (necessary
only if the effect of wind stress on channel flow is being
-------
NOTE THAT CHANNEL LENGTH
IS THE DISTANCE IN RtVER
FEET BET WEEN JUNCTIONS
NOT THE STRAIGHT LINE
DISTANCE
SCALE
(MILES)
JUNCTION POINT N
CHANNEL N
CHANNEL MIDPOINT
SURFACE AREA
ASSOCIATED WITH
VA JUNCTION N
CENTROIDS
OCEAN
Figure 3. A sample river basin,
-------
03
1
•H
r"
|S ~
E
•H
'j3
in
in
,!,
.i;
in ~
i'
ij5
M
in ~
M
i
iM
in
00
i
ifi
_j in J
O -H
0 (l
IO
I
•rn
,*\
•r
«r LU
S ui
!Z i¥
0 0
P*
Z "!/*•
!H5 *—•
-3 i*
>H CD CO
T) VJ
C s
CO 4J CU v_/
J2 O i-i
O PQ W
^. ^
S o
0 CU
r-< CO
4J CO
3 e
O N-^
^^
> 0
o cu
i-H CO
a m
M 0
cu >— - ~
M-l CU
3 O cr
W CD
^^^
T) ^^ ""
cO 6
cu ^*^
EC
^t
CU CU
T) XI
o S
"Z
4-> CU
3 0
a 3
M O
l-i CU
CU i-t
> -H
~
-
~
-
~
_
-
~
_
~
-
~
-
~
—
-
-
_
-
-
-
-
n
-
~
~
~
~
"^
-
-
~
"
.
~
— ,
.
-
~
-
~
__
-
—
~~
"
..
"
-_ i
"
"
-
,
"
—
_
i
-
—
_
"
"
™
-
~-
~
—
_
-
~
~
_
-
~
_
1
-
-
~
_
CO
-p
£5
•H
Qi
C
0
-P
U
Pi
•n
CA
»
g
0)
X!
O
a
X!
•H
S-l
u
-------
calculated).
The water surface elevations need only be a reasonable guess,
as the code will predict the correct head after the simulation
has run a day or two. The initial head can be determined from
the elevation (taken from topographic maps), by adding the known
water depth at the junction point to the known elevation of the
river or estuary bottom, or from other sources (e.g., Corps of
Engineers records/ if available).
The surface area of a junction is bounded by the lines which
connect the centroids of adjacent areas. Figure 3 illustrates
the method of determining the surface area of a junction for
almost any kind of junction point. The surface area can be
obtained by planimetering topographic or navigation maps.
Junctions with tributary inflows which are not modeled should
be accounted for by a representative surface area.
Inflow rates for tributaries or streams which are not modeled
but contribute a significant amount of water into the junction
should be specified. Outflow rates for unmodeled outflows
should also be specified.
The average elevation of the river or estuary bottom for the
junction point can be determined from
• physical measurements;
• navigation charts or topographic maps which give sounding
contours for the river or estuary (any good method of
averaging this data can be used to determine the average
junction point's bottom elevation; see Callaway et al.
(1969) for one method; and
• data (such as from the U. S. Corps of Engineers) avail-
able on average water depth versus river mile (the area
under this curve can be integrated and divided by the
channel length to determine the average water depth
for the junction).
The cartesian coordinate system used to define the (X,Y) values
must be a right-hand coordinate system, i.e., the positive Y
axis must point north.
Channel Data. Figure 5 is a worksheet which can be used to
gather the data necessary to describe the channels. As indicated
by the channel worksheet and described below, hydraulic data must
be gathered for:
1) channel length,
11
-------
,f\
E
LU
ij: tt
i- i-
ij. I J |
°a:
LU •>-••
Z IX
Z UJ
O &]
in
I1--
i
'J3
in
i
in
in ~
in
i
'£!
M-
in ~
i
M
in
M
1
'-D
Ij'l
z
r>
o
o ,
in
•H
^
•H
•H
1
in
i
r-l
^""
tfl 4.) O
•i-l -H Ol
4J O CO
d r-l 0
M £~
60 4-1
d c
••-( 0)
(3 -i-l
C o
2 4^
4-1
0)
O
O
^^
(1) Q
as a)
0) -H JJ
> (A ft
4-1
o
CO
d -o --I
odd)
•H W g
4— t (13
O ^t W)
d a) ,d
3 > U
^ O
O
4-1
ta
^-i
(U t-i
d 0)
d JZ
ca g
u z
1
~
~
~
1
*
~
~
"•
_
—
~
~
~
_
~
"
_
—
n
~
^
— (
~
~
~"
~
~i
"
,
"1
i
_
-i
_
—
_
^
""
~
~
~
~
_
_
^
-
_
_
_
~
—
_
•
i — \
Q)
C
£
£
U
CO
"g
Q)
H
0
5-1
d)
tr~]
-P
(U
,_|
rn
u
CD
Ti
o
-p
(0
flj
Ti
4J
r^
C
-H
H1
•H
ni
J±
5
fd
tT1
t_ .
o
-p
OJ
Q)
rC
CO
X
i
t
in
d)
LJ
M
tr>
•H
Cn
12
-------
2) channel width,
3) average elevation of the channel bottom,
4) Manning coefficient for the channel, and
5) initial velocity in the channel.
The length of a channel is simply the distance in river meters
between the two junction points which lie at either end of the
channel (see Figure 3).
The channel width is the average surface width of a river or trib-
utary channel or the distance between centroids of adjacent areas
for an estuary channel (see Figure 3).
The average elevation of the channel bottom can be estimated as
the average of the bottom elevations of the junctions at the ends
of the channel.
If actual measurements are not available, the Manning friction
coefficient for the channel can be estimated from Table 1 below.
Table 1. A Tabulation of Representative Values of the Manning
Friction Coefficient for Various Types of River
Channels (Henderson 1966)
Natural River Channels
Clean and straight 0.025-0.030
Winding, with pools and shoals 0.033-0.040
Very weedy, winding, and overgrown 0.075-0.150
The initial velocity must be supplied only for channels where a
stability problem might exist. Flow and velocity in the channels
are positive when the flow in the channel is from a low junction
number to a high junction number. In an estuary or large river
where the channels are more likely to be stable, 0 can be input
for the initial velocity.
Controlled Nodes and Upstream Boundary Conditions
The solution of the hydraulic problem requires two driving
functions:
• a time varying function to control the head or outflow
for the downstream end point junctions (controlled
nodes), and
13
-------
• an upstream constant or time varying flow input for the
upstream end point functions.
For the sample river system in Figure 3, constant or time vary-
ing inflows would be specified for upstream junctions 14 and 16
and a stage versus time history would be supplied for the down-
stream controlled node 1.
Constant inflows to upstream end point junctions are simply
specified as inflows on the junction data sheets (see Figure 4).
Time varying upstream inputs are handled as indicated below.
Controlled Nodes. Controlled nodes, which are required at
every downstream boundary in the river system, specify the
boundary conditions. When simulating an entire river basin it
is likely that points of discontinuity such as dams, waterfalls
and locks will occur in the hydraulic system. These are not
downstream end points but they must be controlled as if they
were. The original structure of the SWMM code would have
required simulation of each portion of the river basin lying
between two discontinuities as a separate problem. The modified
code used here nodalizes the entire river basin to include these
discontinuities and locates a controlled junction at each point
where flow or head is to be specified. An associated controlled
channel must connect this controlled junction with the next
downstream junction.
Use of the controlled nodes and channels must conform to the
following rules:
• Controlled junctions must be numbered first; for instance,
if there are N controlled junctions in the system they
must be numbered as junctions 1 through N.
• Each controlled junction (except a tidally influenced
one) must have only downstream flow.
• Each controlled junction must have only one controlled
channel connecting it downstream to another junction
(or seaward, with no junction, in the case of a tidally
influenced junction). The controlled channel must be
assigned the same number as the controlled junction
with which it is associated.
• No two controlled nodes can be directly connected by a
channel.
Except for these restrictions, numbering of nodes and channels
can be carried out in any order.
Six types of controlled nodes are allowed. They are:
14
-------
1) a weir type, in which the flow over the weir and out of
the controlled node is determined by the formula
Q = A1(H-A2)A3 (5)
where
3
Q = flow, m /sec
H = water surface elevation upstream of weir, m
A, = weir coefficient
A? = elevation of weir, m
A^ = weir exponent
2) a tidally controlled node at which the stage versus time
history is specified;
3) a Q versus H dam, where outflow is controlled as a
function of the dam upstream water surface elevations
[the user inputs an array of (H,Q) points which are fit
by polynomial regression to form a function to predict
Q for any value of H];
4) a dam at which head and outflow are both known functions
of time [the user supplies an array of (t,Q) points and
an array of (t,H) points; these arrays are fit by poly-
nomial regression and two time functions are formed, one
to predict Q as a function of time and one to predict H
as a function of time];
5) a dam at which head is a known function of time [the out-
flow from the dam is determined via a mass balance; an
array of (t,H) points is supplied by the user and a poly-
nomial function is fit to these data points]; and
6) a dam at which outflow is a known function of time and
head must be determined from a mass balance [an array of
(t,Q) points is supplied and a polynomial fit of the data
is performed].
Time Varying Inflows or Upstream Hyraulic Inputs from Discharge
Hydrographs. The user can specify time varying inflows to any
junction in the system by indicating the number of time varying
inputs and an array of junction numbers where these inputs are
to be added. In addition, the user must supply an array of
(Q,t) points for each input where Q is the discharge and t is
time. These arrays are then fit via polynomial regression
and functions are formed so that the inflow or outflow can be
15
-------
predicted for any time.
Evaporation and Wind Stress. If in the river basin being simu-
lated evaporation or wind can significantly affect flow patterns
or water quality, the gross effects of these factors can be
accounted for. The user can supply an evaporation rate in
(inches/month) and the average wind speed and direction for the
entire basin.
Tributary Channels. The original SWMM hydraulic code was modi-
fied to allow the marking of "small tributary channels" which
became necessary at every junction between a large river and a
small tributary (Baca et al., 1973a,b). The original code cal-
culates the hydraulic radius of a channel by averaging the char-
acteristics of the nodes at the ends of the channel. In a
single river or an embayment all of the channels have similar
characteristics and this is a valid estimation. However, at the
junction between a large river and a small side tributary the
characteristics of the small tributary channel are grossly over-
estimated by averaging the properties of the nodes at the chan-
nel ends. The properties of the channel are most like those of
the first upstream node in the tributary (except when backflow
to the tributary is allowed). The changes in the hydraulic code
allow the user to mark the small tributary channels and asso-
ciate with each of these channels the characteristics of the
first upstream node in the small tributary. The revised code
then simply calculates the channel properties for the small
tributary channel on the basis of the properties of the marked
upstream node. If there is backflow to the tributary, channel
properties are calculated in the normal manner.
Hydraulic Input Data Deck Preparation
After the river-estuary system has been nodalized as described
above and the data sheets for the junctions and channels have
been prepared, the input data deck is prepared. As mentioned
above and in the following section, the hydraulic code consists
of two separate executable programs, an input code (IMAINT and
associated subroutines) and a calculation code (HMAINT and asso-
ciated subroutines). Table 2 and Figure 6 indicate the input
data format and the relative order of the input card deck
required for running IMAINT, the input code. Modifications in
Table 2 from the 1973 version of EXPLORE-I include a change from
English to metric units for all variables, a maximum value for
the number of data points used in defining the time varying
function (see data group H9) , and an additional variable,
HYDEND, in the hydrograph input requirements (see data group
H10). Input variables in metric units are converted to English
units within the program. An additional input modification
noted in the text includes the requirement of assigning the same
number to a controlled node and to its associated controlled
channel.
16
-------
cu
rr-4
'U
0
U
4J
3
CU
c
H
u
•rH
H
d
tO
rH
T3
s^
K^l
ffi
H
1
w
DM
o
h5
CL
HH
X
w
rH
O
H |
d Format
rH
rd
U
to
•p
frt
to
Q
CN
Q)
rH
ft
10
EH
4-)
rH 0>
3 3
(0 rH
4H tO
s>
0)
!§
I2
G
o
•H
Descript
m
rH
Q
U
-p
01
p
fa
Qi
V-i O
(0 >d
O 0
§ §
-"^ O
<; LO rf n
3 rH ffi |
P, j p \.£:
3 rH M rj_
rH1 CN
^ ^
g I
rH rH
0 0
<4H HH
CD (U
rH rH
4J -P
•H -H
EH EH
O O
V£> >-D
1 1
rH rH
"3! "21
^ $
rH rH
§
Q) (DO)
6 G G
G C G
y 8 r
1 § g
s a s
8
5 y
^ rHg
0 g CL,
& ^c
>i Q ^ f4
(b rH (X-H
"ia o (!)
>1 -p (1)
rH O 0} rH
(0 ,Q
TJ t3 >i flj -H
>H -H ns S in
(D -P Ti H -H
D -P >
4-) .- ) -H
-<3 3 ^ i^'0
H H ^ -^^
co) \ rg q
ox; SH p fl)
o -P £ G1 P>
QJ
u m TJ M-I IM
•H o (D o O qj
3 rH Oj rH -g
K S cn 2 h-i ~-^
-
LO
0 rH
LO rH |
1 1 rH
rH l£> rH
O
•
LO
LO fa
M n
3 17
1
El
Q
T3
>.; *--^
tn o'
;^B
5-3
tn
i (l)
Q) rH
E Xj
*
•t-t -rH
r^TJ
2^
"1?
^ 0)
<4H
0^
bif
.§1
o
CN
|
vo
rH
><
LO
CD 0) Q
G S G
G c G
PJ Q a
g 2 H
P P Q
tq S S:
O
f^l
8
r<
r-1
in
tn
0)
&
2 ^
-P
G a)
O w
^ ?
I" 8 -8
•5 w ,9
"> u
$ S ^
n3 ^ S
^ 1? -2
r: -H -p
-H1 8 8
-P rH rH
2 5 ^
M si IS
O LO O
ro ro ^
1 1 1
^£> rH V£)
CN CO CO
0
•
LO
fa
ft
G
8
^
rH 0)
-H 3
*fr
3^
&i
^^
0
rH
rC5 rH
O -H
-P t^
•§8.
ftss
a>
M >i
(U -P
•i^
G -P
I>i T5
Jo c
tj ro
rH 4J
rrt W
TJ rd
-H -P
EH 01
LO
•=r
i
rH
•^r
LO
H
•^r
-S
lu
»
1
£
•H
£
U)
|
-n
MH
0
rH
3
O
LO
1
IX)
^r
1
1
tn
C
Q
•H
-P
U
•n
'd
i
>>O
LO
-------
0)
c
0
o
CO
rH
•E
MH
9
1
0)
S -P fi
83
n
-rj
-------
-p
li CD ' G'
$ 3 i!
M -P U)
s a J
-P -P M
rr H
(0 ,C y
PQ ,c -M ro
S m ^
K IH O XJ
^1 O T-l
H Jj
QJ J-j 0} 4-J
rO CD rO
rH 1 13
rH O
CD flj -H Q)
0) ^ O -P
1— I O I'D -H
O
1/1 rH
I I
H
CN
s
•H
•P f— |
1, § ^7
1 " ^
S| GO
§ O -H
" *Cl *H 4^
O »5 -PL)
LW g > §
"^ ^^ QJ *n
M , — |
R5 yj M d) m
'p Q/ i o
y rQ cu
,g C LH SH
-P -H Q S 0)
0* 1 "u a! *§
1^ 1 1 I
in
m CN
IT) rH |
1 1 VD
rH V£> rH
0 O
O O
in rH rH
H fe fo
m
ffi
19
§
c
rH
pLj
r^
s
a
u
0)
w
n
g
'
G
0
• H
P
0
C
3
•n
(1)
rC
+J
0
+J
3
G
•H
Se
0
rH
4H
4J
G
IT)
P
M
G
0
CJ
in
co
1
vo
CN
O
0
a
§
a
CN
fj_|
Qi
(1
r^
1
^^
O
W
\
ro
S
c
O
•H
4J
O
c
3
•n
CD
-P
M-J
o
p
3
O
u
O
rH
M-l
-p
d
p
M
8
tn
^j*
i
ro
o
o
§
G
FH
Q
I]
^
I
£
•H
C
0
•H
-P
fl5
j>
CD
rH
CD
g
0
P
P
C
0
P
U
C
3
in
in
I
rr
0
o
El
G
m
rH
•Q
ui
1
rH
O
O
cu
>
rtf
CD
0
1
in
X
in
CT-.
(Tl
(Tl
CT\
CTi
•H
LO
-------
-p
'd 8
MH To
S>
0)
rH
•Q 91
(O E
•rH (D
13 a
>
s
£
-H
b
CO
s
1
5
rH
8
c
•rH 4J
C S
o g
3 S
CN
(U
H T3 8^
(Tj 3 H
EH CJ (3
S i
a a
3
3T
g
o
o
vo
II
A i
^ §
0) X 0)
d c
^ S c
,O *•" ea
iW • ,C
Tj O
Q< ffl
? -P MH
O (0 O
§> "3 -0
E C
S-j CO
Tj dJ
O D r-j fi
g m o
m .5 42
•H a] I* 4J
6 -S B *
rH Pi
-U 0) rH O
ffj C 0) -H
Op 2 g w
pt ra 2 O
-3 J
in m
rH m
i i
rH VO
rH (N
O
o
1 — 1
CM
in
CD QJ
Q o
p
E
H 9
g
g
o
JJ
Q
^
rH
o;
C
c
(0
u
g 0
c
H 0
Q) -H
C 4J
g 5
,c a)
0 rH
Q)
O 0)
d
A «J
T) 0)
•rH ^
m m
^r in
i i
ro ^
20
CO
rH
O 0
6 d
pr.
U rf
rH
0)
fH
5
U
0)
r|
J-)
^_j
0 —
4H U
-P cn
(U j3
o
•H >,
tl i I I
MH -H
0) U
O 0
O H
Q)
W >
tn H
•rl -H
C -P
C -H
g H
in in
i i
vo vo
in vo
g
g
CTi
CTi
O^
CTi
5
d
§
*.
rH
C
c
(0
f7
O
(Jl
•p
G
4J
S
m
rH
in
H
00
W
-------
ITS
m
•8
I2
rH
8
fi
1
o
0)
CN
21
nJ
en
S3
CM
rH rH
00
C
0
•H
-P
•P it!
C >
Q) 0)
•H iH -P
0 CU C
•H 0)
M-l -P C
MH to 0
0)
-------
CD
I
VD
S
ft
CD
C
•H
4->
O
O
CN
£ 3
o
22
-------
QJ
C
•H
4J
O
U
CM
23
i
0)
SH
CJ
TS
"3
CD
4J tn
-9
c« O
T! 03
(3 -H
W
4H
<4H
o
M
C ^
-H ||
n >i
X O
4-1
Q)
a
0!
Q
-P
U)
g
(O
'd
ro
O Q)
x
w
>
CO
0)
U
w
W
0)
d
rH
(C
>
0
3
in
II
CD
w
4J
0)
tn
cu
>
in
CD
-P
w
5
MH
O
u)
0>
i
w
u
-------
(0 r-1
M-l flj
0)
73
CO
C
•H
-P
C
O
U
CM
K
fi
CO
"""* flj
I a
M-l
-P 'D rH CQ
0) M-l 72 O
J5$8J
•P -P CO .
E -H
M-l -•«
W CO CO
73 0)
s
O •
MH jS
O »3 -P.
0)
H
0)
O M-l M
•H O •
-P y MH o
3 ffl -P
"5
-P -P
Tj 0
C -
CO
CO
O
Q
PS
rt3
CJ
W
o
CO
I
73
CO
CO g
3 3 4J
g'H
4-1 -rH MH
c c
•rH -H 0
O g 4-1
a
a^o
m c
o
co tr> 4-i
rC C
4J -rH TD
> CO
>1--H CO
X! cn 3
73 CO
CO i-J X3
•O CO
u Cn O
(0 0) 4->
VD
I
CN
C
3
rH
O
o
u
CO
o
fO
i-H
(0 > 3
T3 -rH
cn Co
MH X!
O
u O
CO 4J
i-i O1
CO CO rH
cn4-> to
CO C -rH
4-> M g
c o
M C
CO rH
i-i XI O
co g ex
X! 3
g C MH
3^0
c
-" II VH
CO
II Z t3
M i-l
s s o
Q) C rH
iJ M (0
CO -H
tl !M O
CU C
W X! >i
D O
VJ C CX
0) >--
X! MH
g II O
3
C X u
< CO
CO S 73
•rH )_|
-C - 0
E-< -—
E g
(D 3
• i-i g
(0 Cn-rH
-POX
(0 i-i (fl
73 CXg
X! CO 73
CO fO CO
QJ rH fO
73 (0 II i-i
i-i ^ (0
fO >H (X
cn cu co
co g - co
i-l 'rH *—v
CO -P CO «.
(0 U
co
CO
CO
•H 4J
CO
i-l -rH >)
0) rH X! C
X! -rH
g (C 'T3
3 — CO CO
C 4-> CO
II fO -P
CO i-i 03
-H X (0 -J
x: cx
E-i ^ CO S
E co O
05 rH
.U *.MH
rtj CT> CO
MH g
o g
o\
Oro
g
O i-l M-l g
l-i 3 O g
cx o o
.C -P O
CO CO
_C C -H >H
4-1 -rH rH XJ
C
O
ft
o
24
-------
H
I
w
o
X
w
s
ffl
0)
tn
•H
4-1
O
Q)
o
C
O
•H
4-»
O
3
S-l
4-)
cn
C
0)
O
CJ O
U 4-)
(U 3
c
(C -H
4-1
(0 U
T3 -H
rH
0) ^i
i—I <$
pi j_|
£ 'TIS
(U
tn
•H
fe
25
-------
Table 3 and Figure 7 provide input specifications for the
additional cards required for running and receiving output
from the calculation code. No output is printed or plotted
while the hydraulic code is running. As the program is run, a
scratch file of the time history of the flows, velocities,
heads, inflow, outflow, and volumes for all the junctions and
channels is written to tape. These values are output once, as
average values, for each quality time step. This scratch file
begins with tidal day NQSWRT and is written through tidal day
NTCYC. Since a hydraulic model of a river basin can produce
voluminous output, the code has been set up to allow selection
of junctions and channels in user-grouped and labeled sets of
20 or less for print and/or lineprinter plot output. Any
particular or conti uous set of 7 or less simulated tidal days
starting with tidal day NQSWRT can be specified. Limiting the
output to groups of 20 or fewer junctions and channels will
prevent production of unwanted volumes of printout. However,
since at times the user may want printout for more than 20
junctions and channels, as many groups of 20 or less as are
needed may be requested. An advantage of this method is that
the output can be ordered into reaches or tributaries.
Data card group PI allows the user to request the punching of
a restart hydraulic deck. The restart deck includes the H group
of data cards, with revised values for the initial water surface
elevations of the junctions and for the initial channel
velocities.
Figures 8 and 9 provide an example application of the hydraulic
component of EXPLORE-I to Four Mile and Wolf Creeks in Iowa.
For this case, EXPLORE-I was run by a UNIVAC 1100 computer.
Figure 8 is a stick diagram of the physical layout oE the sys-
tem. Figure 9 is an annotated listing of the input data used
in this application and described in Tables 2 and 3. As can be
seen from Figures 8 and 9, junction 1 and associated channel 1
are the downstream controls, with the control being a dam with
a constant head of 1.0 m (option 5). Junctions 2 and 26 have
constant inflows; a hydrograph input exists at junction 14.
The simulation runs for 2 days (NTCYC = 2). Printed output will
be obtainable for each hour of the two days output values and
plots for all 57 junctions and channels. The accuracy of the
input data for the initial channel velocities indicates that the
listed input is the result of a restart deck.
PROGRAMMING INFORMATION
This section describes the two separate executable programs -
the input code and the calculation code - which constitute the
hydraulic module of EXPLORE-I. Figure 10 shows the relationship
of these programs, which must be executed in sequence. A
26
-------
iJ m
3 S
SH
*£{ £
S>
3 5
1 -88
s M!
0 |
-p
o
rH
04
•O
C
1
O K
I -
M
+> e m
GO 2
O *-i E
r ) iu 9
u w ^
8
•
m
CU
i — i
XI
rt
^ .p
c
g
it
o u
m
C
8
1
Q
•H ^
til
I-P
S -p
(0
.\
speated for each group of 20 or :
be printed and/or plotted.
Descriptive title for the grouj
channel data to be printed and/
\tf
»a
0)
9 n
(a rH
00 C
C^ C o
fo 00
' -6 rH
(N
PJ 'd
to i
81
3 2
&-H
T"} ^3
tj c" ^t
tj -n o
oa
O]
a.
0) 0)
G G
O O
G G
cl rf
H — H
J
s_.
t>l
Q «
^H, 1 §
"> v| q g
^ '" r
h a»s,
tP H
•H v i a
-------
-p
i*
s^
s
•Si
•3!
1
"IT
_j_;
a
•r~
li
a
c
g
•H
8
T?
0>
r-(
r->
C
•H -P
-P P?
" VI
o 5
O fa
•
ro
H a-
•s "§ p
^ ,"< ,y
EH O CJ
S G
o §
G G
rH OJ ro CM
§ 111 . . .1
1
3
•H
M '"'
ao
(N
•£ vl
u ^_-
-H
•i*a
•g aj
M co
O j "nj^
B'C!
G CO
(D CO
rG
-------
oe
<
\
o
Q£
<
O
§
oo
CU
(/>
o.
8
oe
o
I it
o
a
o
a:
o
o
O£.
o
Of.
o
z
cc
o
z
o
o
o
H
I
W
«
O
i-q
Cu
X
w
4J
tn
C
•H
•P
3
O
0)
X
cu
S-l
o
o
-H •
-P 0)
u
-------
3E
O
_j
LL.
Z O i— C^J f>i
z c\j ro ^- LO vD p""- CO CTt C3 ^~ cvj ro ^
t—
t/i
"Z.
o
0
1
1
1
I
<: o
i— i
on LL.
30
-------
3
£
g
Oi
W
K
3
a
(X
<<
u
z,
o
t-t
&
u
-p t-i
3 O
a o
u >-i
o
O
o
u
FILE OP SCRflTCH TflPE
X
o
i3T
&
O
O U't
'E iJZ
O
O
iD H-
I-H
•H
•j» j__
in i— i
_ Z
:?5
iK Z
a
(3£ *~*
u m
i/i in
•z.
0
LU UJ
a. IK
i— P
o
LULU
1— IB
LU _J
iK _l
I-H
iK 3
O
LU
LU O
5 '-j
o >
i—
|V I-H
LU _]
o;
O LU
LU t-
1-1 a:
u. o
i—
Z 1-
LU D
z a.
;X t
It O
U)
CL 0
a: _i
^t
O (X
1— IK
Ci
OJ y-
X
h-
I-H LU
Z X
_) 1—
Z "^
a
I-H
LTl
•X
11:
IK LU
Ixj I —
O Z
!X 1-1
LU IK
ii: Q_
O LU
Ct Z
'X 1-1
O _J
LU LU
X X
V- H-
Ij'l U-|
in w
i- i-
r-H I-H
zz
ZD r)
y
iX
IK
0
O
CL
1—
~~~i
CL
Z
I-H
LU
X
1—
LU
1
I-H
£L
O
o
LU
C.
O
O
H-
0-
O
iX
LU
x
u_
a
o
LU
ct;
CE
'X
a:
IK
o
cooooooooooo
oooooooooooo
oooooooooooo
oooooaoooooo
o
U-l
u
0-
I-H
LU
X
t-
LU
H"
n
o
LU
X
LU
s: INJ
LJ
1— •
i/; o
>-
to
£ SS^ff^oS?'?*^^
LJJ GOVi4riir\tr>oo\o^^C^cro
o *-< o^fNi^r^c7^r\ju^r~Of\j»r^
— J Q. ^ rsj
»— « Uj (\i
(rm{M*intf\rHiMC*^
fc
ts
or--
oo-
O
-------
P
Pi
<
U
J
K
£
!a
<:
ffi
u
o to d
O CO ITl
o o o
O -d •»
o o o
o o o
•a- r- r-
o o o
ooo
o eo i-*
O>OO
ooooooooooooooooooooooooooooooooocoooocoooocc ooo
ooooooooooooooooooooooooooooooooooooooooooo oo ooo
.................................................. r-oocvi
tf\ O rj
• • •
o r- r-
(f-
OOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOO CO OOO
OOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOO CO OOO
....... ................. .................. .. ..... ooo
ir» o r- f*-
• • •
Tn>'^u^^oir>'^or^roo*r^^ f-^^(\j^rO(^r^u^t^»rnrHr^mo^irr\ico^Oor>JCOir\rHr^o^^^Ocvtt C
Ocsjro
CD
32
-------
I
OO OOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOO OOO OOOOOOOOOO
oooooooooooooooooooooooooooooooooooooooooooooooooooooo
ooooooooooooo ooooo ooooooooooooooooooooooo ooooooooooooo
oooooooooooooooooo ooooooooooooooooooooooo ooooooooooooo
OO OOOOOOOOOOO OOOOO OOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOO
oooooooc. oooooooooo ooooooooooooooooooooooo ooooooooooooo
OOOOOOOC'OOOOOOOOOOCOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOO
oooooooooooooooooooooooooooooooooooooooooooooooooooooo
O O O O O O O O O O O O O O O O O O O O O O *H r~< •-* <—* r-4 «—1 ^H t-4 rH rH ^l r-4 ^* ft rH ^-l ^H r-4 ^H r—t ^H t-H ^^ rH t—4 r-t .-H r-H r-H «—* ^H r-t
OOCOOOCOCO«DCDCDajCDOOflO€OCOCX)OOCDCXJeDOOCOOO
-------
o
c
t!
t
OK
oo
O4
I
fNl
cu
o
-P
(0
0)
a*
Q)
sO
It
X
<
r
•>
O vO
•J* II
f-o z
_l •-•
U- 2T
z •
*— o
Q II
uj z:
Irt r-4
r-tt o
lOuj cc
zt- <
O< U
\J^f.
rOQ
rrtO
7««8i»9.flOi»lli»12»»13«»14»»15«tl6»tl7«tl8«»
28, 20, 78 6, 16. Oil, 1.306, 1 .084 , 1 . 01 3 , . 948 , . 886,
6 34, t *> 93 ..5 V»»0. »HYDEND=6fl400.
<**»#*»***»#*»»**»»**»««*****•*»***#»**»***«******-*****»#
•> rv • *
•• . •* *
•O f- (C *
*> IM r*~ ifc
• • <£> *
.T —I • *
*• -3 *• *
•* O IT *
•3" • 0V *
•• -i r- *
co •• » ^
*• *C vO *
IM • f*- *
» co » *
-. • » *
i-< v£> O *
* n"i rv #
» - w *
*
O
tH
UJ
iL^
O
,^'l
o
1 — t
1-
_l
C.'
_J
ir
ij
_i
iil
^
j-
r. "j-
uj:
fli UJ
l" 3:
!"• r -
ft'.
t fe
Ui CJ
1— UJ
U. £>
d
U i1
_J -"
cr: L,.
y
uj >r
X Li£
i-- i—
a;
Lu O
-l U.
»"H
O-
o
O
r"Q
?.<
y
c^>
?H
^J.j ^^
-^ o
3 !N
fX,-W
E S
0 0
Cj Co
'I'.
r^
LT.
'T'
'L
a.
jT
\--
a-
i
o
j
01
o
LU
h~
UJ
H-
_^
0
UJ
y.
UJ
y
?H
«
o
Q) \--i
-P Q
3 ?^
fX-W
E S
Q 0
Cj O
o o
fM (M
a o
f-4 <-H
00 00
t-l r-1
r*- r^
f-4 f-H
00 CO
l^
1C
UJ
cc i~- r~
u
U-
_J vC vO
O
3t
D r^- in in
Z
«t
^ •* -3-
UJ
UJ
Ct
U m ro
UJ f-l O O
_l /
UJ
UJ
or
u
LU
_J
t_i
r
a:
0
L'_
0 O
r- i^
oo ci
>o -c
t*i m
in in
m m
-a- .3-
ci m
r^ m
rn m
IM IM
(^i m
f-H f-4
fi m
O 0
m m
0" o
IM IM
00 00
CM IM
r- r-
rv IM
xC vO
IM IM
r- m in
CVJ M
•* -3-
IM IM
CO *;
UJ
LL,
ce
u
UJ '
_i
£
a:
o
O
u.
r-- t--
m in
vC >O
in in
in in
in in
vO
J- -3-
in iTi ir
•* •* ?2
u..
-3- J- U-
-1 3- o
o
on co ?
J-
Id
0)
f— t
P
C
-H
1 1
•P
C
O
o
•s.— '
•
iTi
QJ
S-i
.-3
tn
•H
p-l
34
BE
ffi
-------
r
EXECUTIVE PROGRAM
"IMAINT"
MAKE UNIT ASSIGNMENTS
AND "CALL INH" THE MA IN
INPUT SUBROUTINE
CARD READER
(UNIT 5)
HYDRAULIC
INPUT CARDS
MAIN HYDRAULIC INPUT SUBROUTINE
"INH"
READ IN INPUT DATA DECK AND INTERPRET
CARDS AND CALL THE REGRESSION
SUBROUTINE AND TIDAL COEFFICIENT
SUBROUTINE AS REQUIRED PRODUCE/
LJNEPRINTER OUTPUT AND OUTPUT TAPE
SUBROUTINE "REGRES"
READ IN NAMELIST
CARDS SCRATCHFILE
1 AND PERFORM
REGRESSION ANALYSIS
SUBROUTINE'TIDCF"
READ IN NAMELIST
CARDS FROM SCRATCH
Fl LEI AND FIT THE
USER SIIPPIIEDTIDF DATA
FUNCTION"REGR"
PERFORM AN N th
ORDER POLYNOMAL
REGRESSION
SUBROUTINE "P1CTUR"
PROGRAM TO MAKE
LINEPRINTER PLOTS
OF THE REG RES SI ON
BITS
BNW EXPLORE-1
HYDRAULIC INPUT CODE
LINE PRINTER
(UNIT 6)
Figure 10,
Relationship of the hydraulic input, calculation
and output codes.
35
-------
EXECUTIVE PROGRAM
"HMAINT"
MAKE T<\PE AND UNIT ASSIGN-
MENTS AND "CALL HYDCAL" TO
DO THE CALCULATIONS AND THEN
J\LLHYDPLT"TODOTHE
PRINTING
MAIN HYDRAULIC CALCULATION SUBROUTINE
"HYDCAL"
READ IN THE NECESSARY INPUT DATA FROM
UNIT 2 AND THEN PREPARE IT AS AN OUTPUT
FILE FOR THE HYDRAULIC DATA TO BE SAVED
FOR THE QUALITY PROGRAM. PREPARE THE
SCRATCH FILE ON UNIT I FOR USE BY SUB-
ROUTINE "PLOT". DO THE ENTIRE SET OF
HYDRAULIC CALCULATIONS CALLING "OENFUN"
AS NEED TO GENERATE THE TIME VARYING
DATA. PUNCH RESTART DECK WHEN
REQUESTED.
SUBROUTINE
"GEN FUN"
GENERATES ALL TIME
VARYING DATA FOR
CONTROLLED NODES
AND FLOW HYDROGRAPH
INPUT
ERROR
CARD READER^
(UNIT 5)
PUNCH-PRINT-
PLOT DATA DECK
MESS-
AGES
LINEPRINTER
(UNIT6)
SUBROUTINE "HYDPLT"
THIS SUBROUTINE PRODUCES
THE PRINT AND PLOT INFORMATION
REQUESTED BY THE USER
SUBROUTINE
"FIND"
THIS SUBROUTINE
SORTS SCRATCH FILE 1
FOR THE DESIRED DATA
BNW EXPLORE-1
HYDRAULIC CALCULATION
AND OUTPUT CODE
L_.
SUBROUTINE
"PICTO"
SAME AS PICTUR
ESSENTIALLY
I
Figure 10. (continued).
36
-------
listing of the two codes may be found in Appendix A. The vari-
ables used in the hydraulic program and their definitions are
given in Table 4.
Hydraulic Input Program (IMAINT) Description
The executive program is MAIN (formerly IMAINT). This program
serves only to make I/O device assignments and to call the main
input subroutine INK. Subroutine INK reads in the input data
necessary for the hydraulic calculations. INH calls subroutine
TIDE (formerly TIDCF) when a fit of the stage versus time data
is required and subroutine REGRES when it is necessary to fit
time varying data on controlled nodes or flow hydrographs.
Figure 11 shows a flow chart for subroutine INH.
Subroutine REGRES is a standard polynomial regression program
taken from Reference 6. This program reads in an array of
M ordered data points and does a user-specified set of Nth
order polynomial regressions (1< N < 9). In each case print
and plot data indicating the quality of the fit are produced.
REGRES calls on functions REGR and SIMUL for the regressions
and on subroutine PICTUR for the line-printer plots. Details
of this subroutine can be found in Reference 6.
Subroutine TIDE calculates the coefficients of the tidal func-
tion H(t) = Al + A2*SIN(t) + A3*SIN(2t) + A4*SIN(3t) +
A5*COS(t) + A6*COS(2t) + A7*COS(3t) from input values of H and T
by a least squares procedure. Figure 12 is a flow chart of
TIDE.
Subroutine PICTUR prepares a lineprinter plot of a set of N
data points. Figure 13 shows a flow chart of PICTUR. This
subroutine uses subroutine SORT and functions SORDER and Q to
sort the plot points according to descending values of Y.
Hydraulic Calculations Program (HMAINT) Description
Executive Program MAIN (formerly HMAINT) serves only to make I/O
device assignments and to call the calculation subroutine HYDCAL
and the print-plot program HYDPLT.
Subroutine HYDCAL, the hydraulic calculation program, receives
its input data from tape unit 2 and carries out the hydraulic
computations. HYDCAL calls subroutine GENFUN as required to
generate all time varying input functions and to solve the
weir formula. Figure 14 shows a flow diagram of HYDCAL.
Subroutine GENFUN, a flow diagram of which is shown in Figure 15,
is used to solve the weir formula and to generate the functional
values of all input variables which were fit via polynomial
regression.
37
-------
Variable
Name
Table 4. Variable Definition for Hydraulic Code
Location Description
A(500)
AK(600)
ALPHA(30)
ALEN
ARRAY(33)
AREA
AS(500)
AT(600)
A(3,20,10)
ATEMP(IO)
ASTERK
ATOT
ASTER
Al
A2
A3
A4
A5
A6
A7
C
C
Channel cross-section area at
start of time-step (HYDCAL,INH)
Modified friction factor
(HYDCAL,INH)
Title for printing (HYDCAL,INH)
Channel length (INH)
Dummy array used in printing
(HYDCAL,INH)
Computed nodal area to find
initial nodal volume (HYDCAL)
Node surface area (HYDCAL,INH)
Channel cross-section at midpoint
of time-step (HYDCAL,INH)
Array used to store the regression
coefficients and wier, constants
(HYDCAL,INH)
Variable to pass the regression
constants (INH)
Variable containing asterisk
(HYDCAL,INH)
Total surface area of receiving
water (INH)
Variable containing asterisk
Coefficients of the expression
H(WT) = A + A2*COS(WT) + A3*COS(?WT)
+ A4*COS(3WT) + A5*SIN(WT)
+ A6*SIN(2WT) + A7*SIN(3WT)
+ A8*SIN(4WT)
for tidal input
38
-------
Table 4. (continued)
Variable
Name
B(600)
BLANK
COEF
DEL
(DELH )
(DELHHJ
DELMAX
DELTA
DELT
DELTH
DELTQ
DELT2
fDELVll
<|DELV2f
DEP(SOO)
DEPTH
DIFF
DT
DVOL
EVAP
EWIND(600)
Location Description
C Channel width (HYDCAL,INH)
Variable containing blank (INK)
Manning's coefficient for
channel (INK)
Temporary variable
Increment of head of a junction
for a time-step (HYDCAL)
Maximum difference between the
calculated and stage input
Maximum allowable difference
between the calculated and input
tidal stage
C Time-step increment (HYDCAL,INK)
Temporary variable (HYDCAL)
C Length of quality time-step
(usually an hour); (HYDCAL,INH)
1/2 time-step increment (HYDCAL)
Component of velocity change
during a time-step (HYDCAL)
C Depth of water of a junction at
zero datum (HYDCAL,INK)
Computed depth of node at a
junction for initial volume
(HYDCAL)
Difference between the calculated
and input tidal stage
Junction depth (INK)
Volume change in a time-step
(HYDCAL)
C Evaporation rate for whole
system converted from ft/mo
(HYDCAL,INH)
C Drag force due to wind (HYDCAL,INH)
39
-------
Table 4. (continued)
Variable
Name
Location
FJ1
FJ3
H(500)
HAVE(500)
HBAR(SOO)
HEAD
HN(500)
HOUR
HYDRAD(600'
HT(500)
I'DELT
IDECK
I
II
IHJN
IL
UK
IJN
I FLAG
IPERID
IPOINT(500,6)
IQINT
IT
C
C
Description
Internal variable
Internal variable
Head at junction at beginning
of time-step (HYDCAL,INH)
Junction average head during a
daily cycle (HYDCAL)
Junction average head during a
quality cycle (HYDCAL)
Distance water surface is from
datum plane (INH)
Junction head at end of bime-
step (HYDCAL)
Time-hours
Hydraulic radius (INH)
Junction head at end of 1/2
time-step (HYDCAL)
Length of hydraulic cycle
(integration step) (.INH)
Switch variable to request
restart deck be punched (HYDCAL)
Index numbers
(HYDCAL,INH)
Variable to indicate small
tributary channel (INH)
Length of tidal cycle (INH)
Pointer array containing node
to node connections (HYDCAL,INH)
Length of quality cycle (INH)
Iteration counter
40
-------
Table 4. (continued)
Variable
Name
ITRIB(50,2)
Location
J
JGW(20)
JSW(20)
K
KO
LEN(600)
M
MAX IT
N
NC
NCHAN(500,6)
NCLOS(600)
NDRY
NEXIT
NH
NHH
NHCYC
NI
NINT
C
C
C
C
Description
Array containing the channel
numbers of the small tributary
channels and also the associaced
junction numbers (HYDCAL,INH)
Index variable (HYDCAL,INH)
Array indicating the type of
controlled node I is (HYDCAL,INH)
Array of junction numbers which have
time varying flow input. (HYDCAL,INH)
Index variable (HYDCAL,INH)
Switch to cause generation of a full
tide from HHW, LLW, HLW, LHW
Channel length (HYDCAL,INH)
Index variable (HYDCAL,INH)
Maximum number of iterations in
tidal curve fit, usually 5U
Index variable (HYDCAL,INH)
Number of channels (HYDCAL,INH)
Channels associated with nodes
(HYDCAL,INH)
If equal to 1 channel dry, otherwise
no effect (INH,HYDCAL)
Number of dry junctions (HYDCAL)
Set equal to 1 when error condition
exists (HYDCAL,INH)
Node at channel end (HYUCAL)
Hydraulic cycle counter (HYDCAL)
Number cf tine-steps per quality
cycle (HYDCAL,INH)
Number of tidal input values
Number of hydraulic c_ c.les per tidal
cycle (1'NrO
41
-------
Table 4. (continued)
Variable
Name
NJGW
NJ
NJ2
NJGW1
NJSW
NJUNC(600,2;
NL
NQ
NQCYC
NQSWRT
NT
NTCYC
NTEMP(6)
NTIMS
NTRIB
NTT
NX
N5
N6
N7
N20
Location
C
C
C
C
Description
Number of controlled nodes
(HYDCAL,INH)
Number of junctions (HYDCAL,INH)
Temporary variables
NJGW+1 (HYDCAL)
Number of junctions with time
varying flow hydrograph input
(HYDCAL,INK)
Nodes at channel ends (HYDCAL,INH)
Node at channel end (HYDCAL)
Quality cycle counter (HYDCAL)
Number of quality cycles per day
(HYDCAL,INH)
Number of daily cycles at which
printing will start (HYDCAL,INH)
Daily cycle number (HYDCAL,INH)
Number of daily cycles to be
simulated (HYDCAL,INH)
Temporary array of channels entering
a node (HYDCAL,INH)
Number of times through drying up
connection (HYDCAL)
Number of small tributary channels
(HYDCAL,INH)
Temporary variables
Temporary variable (HYDCAL)
Card reader of equivalent
(HYDCAL,INH)
Lineprinter (HYDCAL,INH)
(Fake printer) scratch file
or permanent file (INH)
Hydraulic input and output
file (HYDCAL", INH)
42
-------
Table 4. (continued)
Variable
Name
N22
Location
N24
PERIOD
Q(600)
QAVE (600)
QBAR(600)
QF1
QF2
C
C
C
C
C
QIN(500) C
QUINBAR(500) C
QINST(20) C
QUINT C
QJ2
QOU(500) C
QOUBAR(SOO) C
RK600) C
RAD
RES
RNT
SURF
Description
Scratch file (equal to N20 in
HYDCAL)
Scratch file
Period in hours of daily cycle
(HYDCAL,INK,TIDCF)
Channel flow (HYDCAL,INK)
Daily cycle average flow (HYDCAL)
Quality cycle average flow
(HYDCAL)
Temporary storage for junction
inflow (INH)
Temporary storage for junction
outflow (INH)
Inflows to junctions (HYDCAL,INH)
Quality cycle average junction
inflow (HYDCAL)
Array for storing the constant
inflow at junctions with flow
hydrograph input (HYDCAL)
Quality time-step interval
(HYDCAL,INH)
Temporary variable (HYDCAL)
Outflow from junction (HYDCAL,INH)
Quality cycle average junction
outflow (HYDCAL,INH)
Hydraulic radius (HYDCAL,INH)
Channel depth measured from
datum (HYDCAL,INH)
Accumulative difference between
the calculated and input tidal
stage
Temporary hydraulic radius at
1/2 time-step (HYDCAL)
Temporary storage for junction
surface area (HYDCAL)
43
-------
Table 4. (continued]
Variable
Name
SUM
SUMQ
(sxx(io,io))
(SXY(IO) )
TITLE(33)
T
TT(50)
T2
TEMP
TF
TIME
TIM2
TRBDEP(50)
VEL
V(600)
VBAR(600)
VOL(SOO)
VOLUME
Location
C
Description
Computed tidal stage
Total flow leaving junction
(HYDCAL)
Matrix used for least square
tidal fit
Vector used for least square
tidal fit
Title arrary read from cards
Time counter for whole analysis
(HYDCAL)
Time from start of storm of
input for tidal condition and
from hydrograph file
T + 1/2 At (HYDCAL)
Simplifying variable used during
solution of velocities (HYDCAL)
Estimate maximum time-step for
channel (INH)
Time counter for time varying
input
Time + 1/2 At
Small tributary channels mid-
point depth measured from datum
(HYDCAL,INH)
Temporary storage of velocity
(INH)
Channel velocity at start of
time-step (HYDCAL,INH)
Average velocity during quality
cycle (HYDCAL)
Nodal volume (HYDCAL,INH)
Initial nodal volume (HYDCAL)
44
-------
Table 4. (continued)
Variable
Name
Location
Description
VT(600)
V2
W
WDIR
WIDTH
WIND
X(J)
XI
XMK
XX(10)
Y(J)
Yl
C
c
Channel velocity at 1/2 time-
step (HYDCAL)
Velocity during a half hydraulic
time-step (HYDCAL)
Fundamental frequency of daily
tidal variation "(HYDCAL,INH)
Wind direction in degrees from
north (HYDCAL,INK)
Width of channel (INH)
Wind force (HYDCAL,INH)
X coordinate of junctions
(HYDCAL,INH)
Temporary storage x coordinate
(INH)
Blank or asterisk depending on
whether estimated maximum time-
step is satisfied (INH)
Vector used in least square
tidal fit
Y coordinate of junctions
(HYDCAL,INH)
Temporary storage for y
coordinate (INH)
45
-------
READ IN THE USERS
INPUT DATA DECK
FROM THE CARD
READER AND STORE
IT ON SCRATCH FILE
N24 (UNIT 1) AND
MAKEALINEPRINTER
LI STING OF THE CARDS
READ IN CARD GROUP
H5 THE JUNCTION
DATA FROM UN I Tl.
PR INT OUT PAGE
ONE OF THE SUMMARIZED
DATA TO UN IT 2
READ IN THE
NEXT CARD
IMAGE FROM UNIT 1
READ IN
CARD GROUP H7
THE JUNCTION
DATA FROM UN IT 1
READ IN THE
NEXT CARD IMAGE
FROM UNIT 1
WAS
IT A TRIBUTARY
CHANNEL
CALCULATE THE
HYDRAULIC RADIUS
AND CROSS-SECTIONAL
AREA OF THE TRIBUTARY
CHANNEL
PRINT OUT PAGE
TWO OF THE SUMMARIZED
INPUT DATA FOR THE
CHANNELS TO UN IT 2
I
CALCULATE
THE HYDRAULIC
RADIUS AND
CROSS-SECTIONAL AREA
OR THE REGULAR CHANNEL
PR INT OUT PAGE
THREE OF THE
SUMMARIZED INPUT
DATA FOR THE
JUNCTIONS TO
UNIT2
Figure 11. Flow chart of subroutine INK.
46
-------
DETERMINE THE 1
THE 1th CONTROL
FROM THE JGW
READ IN UNDER
CROUP HJ AND
1 1
•YPEOF
LED NODE
ARRAY
CARD
1 RANCH
h-
SET
l--\
—
PRINT THE HEADER
FOR PAGE « THE
CONTROLLED NODE
DATA SUMMARY
TO UNIT 2
. I 1 1
JGWIIIJ
ATI DALLY
INFLUENCED NODE ,
JGWIM±3
QvsH DAM
JGWdlU
QvsT AND HVST
DAM
CALL REGRES
TO MAKE A CRESS ION
FIT OF THE USED
SUPPLIED QvsH DATA
MAKE A BRIEF SUMMARY
LISTING OF THE TIDAi
FUNCTION ON UNIT 2
HvsT DAM
JGW(l) • 6 \
YES
SUMMARIZE
THE POLYNOMIAL
FIT MADE FOR
HYDROGRAPH INPUT I
AND WRITE IT CN UNIT 2
WRITE AN
END OF DATA
SUMMARY
LINE TO UNIT 2
WRITE IN BINARY
AU THE COMMON
DATA REQUIRED
BY THE HYDRAULIC
COOETOUNIT2
WRITE A SUMMARY
TO THE PRINTER UNIT 6
Of THE TRIBUTARY
DEPTHS OF NTRIB 0
READ INPUT FROM
UNIT 2 AND WRITE
SUMMARY TO
LINE PR INTER
1
Figure 11. (continued).
47
-------
READ IN TITLE CARD
SUPPRESS ALL
PRINTING IF
COLUMNS 75-60
CONTAIN ASTERISKS)
NAMELISTREAD IN KO, Nl,
MAXIT AND THE TT ARRAY
OF TIME POINTS AND Y ARRAY
OF STAGE POINTS
EXPAND THE TITLE
FOR STAGE TIME
POINTS INTO A FULL
TIDE BY THE 1/4-
1/10 RULE
ITERATE AT MOST MAXIT TIMES TO
DETERMINE THE COEFFICIENTS OF THE
TIDE FUNCTION H(t)-AHA2 sin (t) +
A3 sin (2t) +A4sin (3t) A5 cost +
A6 cos <2t) +A7 cos (3t) WHICH GIVE
THE BEST FIT OF THE INPUT DATA.
A LEAST SQUARES PROCEDURE
IS UTILIZED
PRINT THE GOODNESS OF FIT
SUMMARY ON THE PR INTER
UNLESS COLUMNS 76-80 OF THE TITLE
TITLE CARD CONTAIN ASTERISKS
Figure 12. Flow chart of TIDE,
48
-------
(^ENTERJ
DETERMINE
XX AND
max
XXmjn VALUES
SORT THE SET OF
(XX, YY, ARKL)
DATA POINTS ACCORDING
TO DESCENDING VALUES
OFYY
DETERMINE THE SIZE OF
THE PLOT IN COLUMNS
AND LINES FROM XX
max
XX . , MAND YY ,
mm max
YY . , MCOL
mm'
PLOT THE DATA
POINTS ON THE
LINE PRINTER
(EXIT)
Figure 13. Flow chart of subroutine PiCTUR.
49
-------
! ,A J±
• t^ a
,*2S
fil
-..u -
,£-:
ill
£*
iSg^go-
IssiilS
a £ - ^ ~ 8 <
ggliSl^
O uj •*" < S ° •£
a 2 z o: O z S
< i~ < O (J < 0
Q
>t
ffi
(U
c
-H
-P
-P
S-l
U
O
cu
Cn
•H
50
-------
QJ
3
C
•H
-P
c
o
u
•^r
rH
0)
Cn
•H
51
-------
D
PM
3
H
O
(1)
C
•H
-p
3
o
n
X!
O
6
Tl
5
O
1—I
PM
LO
•H
0)
Cn
-H
52
-------
Subroutine HYDPLT is used to print out the hydraulic information
calculated by HYDCAL for the user-requested sets of junctions
and channels. Figure 16 is a flow diagram of subroutine HYDPLT.
The plotting program PICTO used by HYDPLT is identical to
PICTUR, except that titles are printed on the plots and a check
insures that the data plotted covers 75% or more of the X axis.
53
-------
1. READ IN THC TITLE CARD AND
TEST FOR EOF.
2. DETERMINE DAYS FOR WHICH
PRINTOUT IS DESIRED.
3. DETERMINE THE NUMBER AND
AND ORDER FOR JUNCTION
DATA PRINT AND PLOTS.
4. DETERMINE THE NUMBER AND
ORDER'FOR CHANNEL DATA
PRINT AND PLOTS.
5. DETERMINE IF PLOTS ARE
REQUESTED.
SEARCH THE
SCRATCH FILE
FOR THE DESIRED
TIME INTERVAL
CALL FIND WHICH
SORTS THE SCRATCH
FILE FOR THE DESIRED
CHANNELAND JUNCTION
INFORMATION AND
PUTS IT IN THE PROPER
ARRAYS
PRINTOUT
JUNCTION DATA
PRINTOUT
CHANNEL DATA
ARE
PLOTS
REQUESTED.
YES
PLOT OUT JUNCTION
HEAD VERSUS TIME CURVES
AND THE CHANNEL FLOW
VERSUS TIME CURVES
Figure 16. Flow diagram of subroutine HYDPLT
54
-------
REFERENCES
1. Baca, R. G., W. W. Waddel, C. R. Cole, A. Brandstetter and
D. B. Cearlock. EXPLORE-I: A River Basin Water Quality
Model. Prepared for the U.S. Environmental Protection
Agency by Battelle, Pacific Northwest Laboratories,
Richland, WA, 1973a.
2. Baca, R. G., W. W. Waddel, C. R. Cole, A. Brandstetter,
and D. B. Cearlock. Appendix B. User's Manual for
EXPLORE-I; A River Basin Water Quality Model, Prepared
for the Environmental Protection Agency, Battelle, Pacific
Northwest Laboratories, Richland, WA, August 1973b.
3. Water Resource Engineers, "A Hydraulic Water Quality Model
of Suisan and San Pablo Bays." Report to EPA, March 1966.
4. Metcalf and Eddy, Inc. "Storm Water Management Model."
Palo Alto, CA, Prepared as EPA Report No. 11024DOC08/71,
August 1971.
5. Callaway, R. J., K. V. Bysam and G. R. Ditsworth. "Mathe-
matical Model of the Columbia River from the Pacific Ocean
to Bonneville Dam." Federal Water Pollution Central Admin-
istration, Pacific Northwest Laboratory, November 1969.
6. Henderson, F. M. Open Channel Flow, Macmillan Company,
1966.
7. Carnahan, B., H. A. Luther, and J. 0. Wilkes. Applied
Numerical Methods. John Wiley and Sons Inc., 1969.
-------
APPENDIX A
LISTING OF THE EXPLORE-I HYDRAULIC CODE
Hydraulic Input Computer Program
IMAINT
Page
GAUSS 57
INK 58
MAIN 72
PICTUR 73
Q 76
REGR 77
REGRES 79
SIMUL 84
SORDER 87
SORT 88
TIDE 90
Hydraulic Calculational Computer Program
HMAINT
FIND 92
GENFUN 93
HYDCAL 96
HYDPLT 112
MAIN 119
PICTO 120
SORDER 124
SORT 125
56
-------
«»»»»»
»ELT,L TMAINT.r,/UJSS
000001
000002
000003
000004
00000=.
00000ft
000007
OOOOOR
000009
000010
oooon
000012
000013
000014
000015
000016
000017
000018
000019
000020
000021
000022
000023
000024
000025
000026
000027
000028
000029
000030
000031
000032
000033
000034
000035
000036
000037
00003B
000039
000040
000041
000042
000043
000
000
000
000
000
000
000
000
000
000
000
000
000
000
oon
000
000
000
000
000
000
000
000
000
000
000
000
000
000
000
000
000
000
000
000
oon
000
oon
000
000
000
000
000
SUBROUTINE GAUSS (ft.X)
TNI1; ROUTINE IS CALLED RY TIDE
DIMENSION A (8,9) »X (8)
L=7
DO 1? K*l ,L
JJ*K
BIGsABSIA (K,K) )
KP1=K»1
SEARCH FOR LARGEST PIVOT ELEMFNT
DO 7 I=KP1,N
AB=ARS(A ( I.K) )
IF(RIG-AR) 6,7,7
6 HIG = AB
JJ=I
7 CONTINUE
DECIDE WHETHER ROW INTERCHANGE IS
IF(JJ-K) P,in,R
INTERCHANGE ROWS
fl 00 9 J=K,M
TEMP=A ( JJ»,J)
A (J,J, J) =A(K,J)
9 A(K,J)=TEMP
CALCULATE ELEMENTS OF NEW MATRIX
10 DO 11 I=KP1,M
QIJOT = A ( I,K) /A (K,K)
no 11 J=KPI.M
11 A ( I, J)=A (I , J)-QUOT»A (K. J)
no 12 ISKPI.N
12 A(I,K)=0.
FIRST STEP IN RACK SURSTI IIJTIOH
X (N)=A (N.M)/A (N,N)
DO 1* NNrl.l.
SUM=n.
I=N-NN
1^1=1*1
Do 13 J=IP] ,M
IT SUM=SUM+A ( I , J) »X ( J)
1* X ( I) = (A (I,M)-SIJM) //V ( I, Tl
CONTINUE
R(" TURN
ENO ELT.
*HDG,P
57
-------
»«»«»» I'jM »»»»««
»ELT,I. TMAINT.INH
oooooi
000002
000003
000004
000005
000006
000007
OOOOOR
000009
000010
000011
000012
000013
000014
000015
00001*
000017
00001R
0 0 0 0 19
000020
000021
000022
000023
000024
000025
000026
000027
00002P
000029
000030
000031
000032
000033
000034
000035
000036
000037
00003B
000039
000040
000041
000042
000043
000044
000045
000046
000047
00004H
000049
000050
000051
000052
000053
000
000
000
ono
ooo
ooo
ooo
ooo
000
000
001
ooo
000
000
ooo
000
ooo
ooo
000
ooo
000
000
000
ono
ooo
000
ooo
000
ooo
ooo
ooo
ooo
000
000
000
000
000
000
ooo
ooo
000
000
000
000
001
ooo
000
000
000
000
100
001
000
c
c
c
c
c
c
c;
c
c
c
c
c
c
c
c
c
c
c
c
c
c
c
SUPROUt INF- 1MH
«»»»«»«««»»«•»» IMPUT PROGRAM FOR FXPLORF-1
0»»0ft«0«»««»«
RATTF.LLE NORfHwFST 11/9//1 ««»««»#«•«*•#
« o»«t»««««» »««t>tt»»e»a»«e»0o0 » »« «»«*»«» <»««*«»*««*«»•**»***«*»«*••**•
THIS ROUTINE IS CALLED RY Ufl[NV (OR iMAlNT)
AMU CALLS TIOE AND REPRES
»»#»«»»«»»» ASSIGN THE COMMON DATA
COMMON /TA^F S/N5»N6tN20«N22»N24
»«»#«•«»•••»#
»<»»»» »»«»•»»»»» CONTROL AND TITl.F. INFORMATION »«•*«»»*»«»•#
COMMON /PTTNTV NJ•NCtNJGW.NfCYC.NQSWRT»NOCYC«OELTO*PERIOD»
1 ALPHA (301 .UF_I'(70) . TPOIHT(70»M .AS (70) »EVA^
tLENd 00) tNJUNC (100«2) . JRWI20)
vnis.NjSW, NHCYC»NT»ICYC»NCYCtW»
1NEXIT* JSW (r-0) . A0(3»20,10)
»»»»»»«»»*«»»« JUNCTION
COMMON/H50/H(70)»VOL(70)«X(70)»Y(7n).
10 IN (70) ? 0()i I (70) tOINST (20)
»«»*»»«B»(HKH»« CHANNEL INFORMATION
••»«•«»•»••##
•«•#»•»««•••#
COMMON/H72/HI100)»»(100)»A(100),AK(100)«0(100)fV(100)t
IFWlNDUdO) .NTF.MP(6) iNCLOSIlOO)
DIMENSION HYDRAO(100)fITRIH(50.2)»TRRDEo(50)
»*» HYDENO TS A SPFCIAL CASE FOR THF EPA PESTICIDE STUDY •»»
COMMON /Nfi-// UK»CHK«XM(?0) .YM(?0) .HYDENO
PFAL LEH
DIMENSION ARRAYO3)tATEMP(lO)
niMENSION A[FNM(100).WIDTHM(IOO),RAOM(100),VEl.M(100)»AM(100),
IHYORAMI 1 CUM
DI«FNSIOM hEAUM(/O)»SURFM(70)tOF1M(70)»OF?M(70)
OIMENSIHN ATIOE(H)
DATA ASTF.PKtBl ANK/4H»»»»,4H
««»«««««»««»»« END »»«»»*•»<
«»«oo»*«»(t«tt»« ZERO ALL THF INPUT DATA VARIABLES
»»«»»«»«»
01 N1 = 0 .
[ULT = i>.
«l I) I P = 0 .
2
3
4
5
7
8
9
10
11
12
1
1?
2(
58
-------
INH
000054
oono5s
000056
000057
000058
000059
000060
000061
00006?
000063
000064
000065
000066
000067
00006R
000069
000070
000071
000072
000073
000074
000075
000076
000077
000078
000079
000080
000081
000082
000083
000084
000085
000086
000087
00008S
000089
000090
000091
000092
000093
000094
000095>
000096
000097
000098
000099
000100
000101
00010?
000103
000104
000105
000106
oooio r
000108
000109
0001 10
000
000
000
000
000
000
000
000
000
000
000
000
000 100
000
000
000
ooo
000 110
000
000 120
000
000 130
000
000 140
000
000
000
000
000
ooo
000
000
000
000
000
000
000 150
000 160
000
000
000
ooo
000
ooo
000
000
000
Of)0
000
000
000 170
nno c
oon c
o n o c
(100 C
n o n c
ono c
NHCYC»0
NT = 0
DKLTO=0.
ICYCsO
NCYC=0
NFXITsO
NJ = 0
MC = 0
NTR 18=0
DO 100 1=1. SO
TRBi»EP(I)=".
ITRIRd.l )=0
ITRIB(1»2)=0
DO 120 L«1.IZ12
no 110 11=1.10
A0(l tit 111*0.
AO(2»L«I I)=0.
AO (3»L» I I) =0.
QINST (L) «0.
JSW(L)sl)
DO 130 I3),IZ13
JOW ( I ) =0
DO 140 I»1.30
ALPHA(I)=HL ANK
DO 160 J=l t 1 25
H(J) =0.
AS ( J) =0.
VOL ( J)=n
X (J) =0.
Y(J) =0.
OCP»»«<>«««»«««««««»«»«» 102
««»«««««»«««* 103
KXXt (tit JQ4
105
59
-------
ooon i
onni i?
0001 n
0001 14
00011S
00011*
0001 17
0001 Ifl
000119
000120
000121
000122
000123
000124
0001?5
00012*.
000127
00012H
000129
000130
000131
000132
0001 33
000134
ft A f\ 1 1C
000 1 3*3
000136
000137
00013«
000130
000140
000141
000142
000143
000144
000145
000146
000147
00014R
000149
000150
000151
000153
000153
000154
000155
000156
000157
000158
0001 59
000160
000161
000162
000163
000164
000165
000166
nnn i t 7
000
000
000
nOO
000
000
000
000
000
000
000
000
000
000
000
000
000
000
000
0 0 0
ooo
000
0 0 0
000
000
000
000
000
000
000
000
000
000
000
000
000
000
000
ooo
000
000
000
000
000
000
000
000
ooo
000
000
000
000
000
ooo
000
ooo
ft n n
180
c
r
r;
c
1«0
r
c
c
c
c
c
c
c
c
c
c
200
c
c
c
c
c
210
c
c
r
N/ = fVO
CONT INIJF
I'FAi) All. HYDRAULIC DATA CARDS flMD ECHO WRITE THEM
PF AO (4-3.740) (ALPHA ( I > » T=l »?0)
WKITF NTCYC.PERIOD.OINT.DELT.EVAP«WINO»WDlRtNOSWRT.N
1JSW,NJGW,NTRIB
EVAPM=EVAP
CONVERT EVAP FROM MM/MONTH TO INCHFS/MONTH
EVAP=.0 J937»EVAP
WINDM=WIND
CONVERT WIND FROM MFTFHS/SFC TO MPH
WIND = 2.36*WIMD
IF (MTHIH.LE.50) GO TO 200
WRITE (6,6=.0> NTRIB
STOP
CONTINUE
IPERID=PERIOn+0. 1
IOINT=OI^T»3600.*0. 1
IDELT=DELT+0. 1
N«CYr= (IPEWID»3f>oo)/lf)TNT
NHCYCsIlilNT/IDELT
NINT= < iPERio«36oo) /IOEI T
MPDEL=(NIMT+50)/100
DELTO=DELT*FLOAT (NHCYC)
tt«»« » o otnnnmtui fM|i »«««»»««««»*»
106
107
10B
109
110
111
112
113
11*
115
116
117
1U
lie
II5
12(
1 9
1 C
12<
\ y
1 r. :
12'
12!
12
12
12
12
13
1
1
1
1
1
1
1
1
1
1 A
i *
1<
r
i.
i
i
i
60
-------
I MM
000168
000169
000170
000171
000172
000173
000174
000175
000176
onoi77
000178
000179
OOOlflO
000181
000182
000183
000184
0001R5
000186
000187
000188
000189
000190
000191
000192
000193
000194
000195
000196
000197
000198
000200
000201
000202
000203
000204
000205
000206
000207
000208
000209
000210
000211
000212
000213
000214
ooo?!1;
000216
000217
000218
000219
000220
000221
000222
000223
000224
ono
000
00.0
000
000
000
ono
noo
ono
noo
noo
ooo
ono
noo
ono
ooo
noo
noo
oon
ooo
ooo
nno
oon
oon
ooo
ooo
noo
noo
ooo
ooo
ooo
rt n n
ono
ono
ooo
000
000
000
noo
ooo
ooo
000
noo
ooo
ooo
ooo
noo
noo
noo
ooo
ooo
ono
ooo
ooo
nno
noo
oon
no"
c
c
c
c
c
c
??0
230
C
C
C
C
240
C
C
C
C
C
c
c
c
c
c
SPECIFY MJGW CONTROLLED NODF TYPFS
READ (Nt>,740) MOW ( I ) t 1=1 .NJGW)
«<*»«» »»»»•»«»«» RFAO IN CARD GROUP H4 »»«»»*««»»»«»
»*«»»»»«« ARE THERE ANY TIDM. FLATS »»#»»#*»»»•»«»•»»»•««•»»*«•»•#
IF (NTPI3.I E.O) GO TO 230
DO ?20 1=1 .NTRIR
«»«»» SPFCIFY THE CHANNEL AND , (UNCTION NUMBERS FOR THF TIDAL FLATS »
READ ITRIB(Iil) »ITRUm»2>
CONTINUE
CONTINUE
tio »»»« »«»»««»« END »»»»•«»»»«•#•
««»»»»»»»«»»«« PRINT OUT PAGE ONE THF CONTROL DAT* ••••»•«••#•#•
WRITE (N7.HOO) ALPHA
WRITF (N7.H10) NTCYC
WRITE (N7.K20) NOCYC
WRI IF (M7,': M) NHCYC
WRITF (H7.H40) DELT
WRITE (N7.710) EVAPM
EVAP=EVAP/(12.»30.»86400.)
WRITE (N7.860) WINDM»WOIR
WRITE (N7.H70) NOSWRT
IF (NTRIH.LE.O) GO TO 240
WRITE »I = 1»NTRIB)
CONTINUE
»»»o«H»«»»fl(HH»» FN|) »»»»«»»«»»»»»
«.»*«««*«**B(nnt READ CARD GROUP H5 ««••»«•»••»»»
»tt#»»«»»»«into» READ IN THE JUNCTION INFORMATION «*«««««««#*•»
NJ = n
00 ?50 1=1 , 175
READ(N5t9PO) JtHfAn«SURF«QFl«')F2tDT
««««»««««««»«« olD WF READ IM A CARD GROUP H6 CARD «»«««*«»««»«•
IF (J.GT.125) GO TO 260
DT=-DT
HEAOMI j) =HF AD
CONVERT HEAD FROM METERS TO FFFT
HEAl>=M.?ri<>HFAn
SURFM ( J) sSURE
CONVERT SURF FROM K"n»»/> TO MII_I IONS OF so FFFT
SUPF = 10.74&o«;()OF
(JF1M ( J) =OF 1
OF2M ( J) =OF?
CONVERT OF1 AMD OF2 FROM CUHIC METERS/SEC To CFS
OF1 =35..<14»iJFJ
OF2 = 35. 3l*»,)F ?
DTM = r>T
CONiVh.RT m FROM MFTFP'i 1O FFFT
OT = 3.8»OT
NJ=NJ+1
IF (vJ.NF.NJ) WRITF (N^.720)
147
1 48
149
150
151
152
»«
153
154
155
156
157
158
159
160
161
162
163
166
168
169
170
171
172
173
174
1 T c
175
176
177
1 T A
1 78
179
180
183
184
18?
185
186
61
-------
IMH
000225
000226
000227
000228
000229
000230
000231
0002J2
000233
000234
000235
000236
000237
000238
000239
000240
000241
000242
000243
000244
000245
000246
000247
000248
000249
000250
000251
00025?
000253
000254
000255
000256
000257
000258
000259
000260
000261
000262
000263
000264
000265
Q00?f,6
000267
OOfl?6H
000269
000270
0002M
000272
000273
000274
000275
000276
000277
000278
000279
000280
000281
000
000
000
000
000
ooo
000
000
000
000
000
000
ooo
000
000
000
000
ooo
000
000
000
000
000
000
000
000
000
000
ooo
000
000
ooo
000
000
000
000
000
ooo
000
ooo
000
000
000
000
000
000
oon
noo
000
000
000
noo
000
ooo
000
000
ono
c
250
260
c
270
2*0
c
c
c
c
c
c
c
c
c
c
c
c
c
c
c
c
c
c
H( J)=Hfc"AO
AS
-------
INH
0002R?
0002R3
0002R4
0002H5
OOQ2K6
0002R7
0002RR
0002R9
000290
000291
00029?
000293
000294
000295
000296
000297
00029R
000299
000300
000301
000302
000303
000304
000305
000306
000307
00030R
000309
000310
000311
000312
000313
000314
000315
000316
000317
00031R
000319
000320
0003?!
0003??
0003?3
000324
000325
0003?6
000327
n n n "3 ^ o
0 0 0 Jc °
000329
000330
000331
00033?
000333
000334
000335
000336
000337
00033R
000
000
000
000
000
000
000
000
000
000
000
000
000
000
000
000
000
000
oon
000
000
000
000
000
000
noo
000
000
000
000
000
000
000
000
noo
000
000
000
000
000
000
000
000
noo
000
noo
n n n
000
noo
noo
noo
noo
non
(ion
noo
000
noo
ooo
?90
300
C
C
C
C
C
C
C
310
C
C
C
C
C
c
C
c
3?_0
330
340
350
C
CONTINUf
GO TO 310
IFLAG=1
I JNafTRIB ( [(.»?)
TKBOEPI IL)=^AO
CONVENTION USED ASSIGNS A NEGATIVE VALUE TO THE JUNCTION BOTTOM
Fl FVATION (DTaDEP). wHFRFAS HEAD (WATER SURFACE ELEVATION)
AM> WATER DEPTH ARF POSITIVE
RlvfR IIF.PTH IS EQUAL TO HEAD MINUS BOTTOM ELEVATION. BUT BECAUSE
PF THE S'lGN CONVENTION FOR THE LATTER (DEP)» THE TWO TERMS
Af'F ADDED
HY[)RAD (N) =H< UN) *OEP(IJN)
CONVERT HYDRAD TO METRIC U'UTS FOR OUTPUT
HYf)PAM(N)s HYDRAD(N)/3.?8
CONTINUE
CROSS-SECTIONAL AREA « DFPTH«WIDTH
A (N)=HYPPAH (N)»«IDTH
AM(N)=A (M) /] 0.744
R(N) =RAD
AK (N)=COEF
V (N)=VEL
STORE THE MUMPERS OF THE JUNCTIONS AT EACH END OF CHANNEL N
IN ARRAY NJUNC(N.I)
NJUNC (N. 1 ) =MINO (NTFHP< 1 ) »NTEMP(2) )
NJIIMC(N.?I ='"AXO (MTEMP(l) .NTEMP (2) )
K = NJUNC (^. 1 )
IF (K.EO.O) GO TO 360
JsNJUNC (M.^)
IF (IFLAG.EO.l) SO TO 320
CONVENTION USED ASSIGNS A NEGATIVE VALUE TO THE RIVER BOTTOM
ELEVATION (RAD). WHEREAS HEAD (WATER SURFACE ELEVATION)
AND WATER DEPTH ARE POSITIVE
HYnRAO(M)=f'AO*(H0
NC=MC-1
WMI TE (Nfi. 730) N«M
MzNCHAN (K« J)
LEN (M) =A|.t fl
ft (MI =« (n> 4-v ini H
R (M) =F
HYl)*'AD (M) =HYI1PAI1 (N)
224
225
226
227
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
OC 1
?Tl
252
253
254
255
256
257
?5R
?59
63
-------
INK
000339
000340
00034]
00034?
000343
000344
000345
000346
000347
000348
000349
000350
000351
000352
000353
00035*
000355
000356
000357
000358
000359
000360
000361
000362
000363
000364
000365
000366
000367
000368
000369
000370
000371
000372
000371
000374
000375
000376
00037?
000378
000379
000380
000381
00038?
000383
000384
000385
000386
000387
000388
000389
000390
000391
000392
000393
000394
000395
noo
nno
od n
onn
non
oon
noo
ono
000
nno
noo
onn
n n o
000
ono
oon
non
000
oon
noo
oon
nno
oon
000
000
000
000
000
noo
000
ono
onn
00(1
000
000
oon
000
000
000
000
000
000
onn
oon
ooo
oon
noi)
noo
onn
oon
000
non
(100
000
noo
non
non
c
36()
370
C
C
C
C
C
C
380
390
400
410
420
430
441)
45(1
C
460
C
C
c
CONVF-'f'T MYORAD TO METRIC UNITS FOR OUTPUT
HYDKAM (M) = HYpRan (N) X3.28
AK ("1) =COFF
VIM) =VFL
CUNT INMf-
CONTINUt-
»««»»«»«»»" » »<; aNjtjMc (N» i >
NCH/iN ITf- (w/.KOO) ALPHA
Wi» I H" ('J t . >4
-------
INH
000396
000397
000398
000399
000400
000401
000402
000403
000404
000405
000406
00040 '
00040R
000409
000410
000411
00041?
000413
000414
000415
000416
000417
000418
000419
000420
000421
00042?
000423
000424
000425
000426
000427
000428
000429
000430
000431
000432
000433
000434
000435
000436
000437
00043P
000439
000440
000441
000442
000443
000444
000445
000446
0004*7
00044H
000449
000450
000451
000452
000
000
000
000
000
000
onn
000
000
oon
ono
on o
ono
ono
noo
000
000
000
000
noo
noo
onn
noo
000
ono
000
000
000
noo
noo
oon
noo
000
000
onn
000
oon
000
onn
000
000
onn
noo
000
ooo
000
000
noo
000
onn
000
onn
noo
000
noo
onn
onn
C
C
470
C
C
C
c
c
c
4«0
C
c
c
r
490
c
c
c
c
c
r.
son
c
c
49V
C
C
c
c
f.
Mfi
C
(,
ATOT*0.
DO 470 J=J , M.I
USE ATOT TO SUM SURFACE AREAS
/\Tor = ATOT + flS ( J)
WHI1F JUNCTION DATA
WRI TE U-7. -JSO) J»HEADM( J) .SURFf-H J) ,QE1M( J) .OF2MI J) * (NCHAN( J.K) tKsl
1 ,IZM
CONTINUE
WRITE TOTAL SURFACE AREA
ATOMsATOT/10.744
WRITE (NT, 9(,0) ATOM
tf4ttttO44't?&tM>tt-&4> C" M f"\ ttttttttftttttttlUJttiJtt
»»«»»»««»«»«»« OUTPUT PAGE FOUR , CONTROL NODE INFORMATION •••*«»*
WHITE 7fl) NJGW
00 580 J=1.NJGW
0() 4«d J I = ! • 1 0
An (?, J, 1 I) =0.
ZERO OUT ARRAY AO
AO(l,,J.II)=0.
WHITE *»» A TIDALLY CONTROLLED MODE «•»*•«»»»«»««
CALL TIDE TO READ DATA AMD GENFRATE REGRESSION COEFFICIENTS TO
SJMULATF. A TIDAL CYCLE
CALL TICF(ftTEMP)
WPI1F COEFFICIENTS
DO 499 1=) .«
ATIDE ( I )=ATEMP ( 1 ) /3.?H
WHITE (N 7.1 ii20) (AT IDF ( I) ,1 = 1 ,H)
GO TO H!-n
»»»«»»»««««»»« |)£M WHICH IS OPFP&TED VIA A 0 VS H POLICY »«««««««»
C«LI RFGPES TO READ DATA A. HI PERFORM REGRESSION
fiLL RE'-RFS («TEMP)
CONVFRT CCFF F ITIENTS SO THftT TMFY CORRESPOMP TO METRIC VALUES
AI=ATE:JIH t j i /3^. n 4
A2 = ATFMP(2)/]l)./l.>rt
311
312
313
316
O 1 Q
JIB
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
33S
341
34?
343
344
345
65
-------
I MM
000453
000454
000455
000456
000457
000458
000459
000460
000461
00046?
000463
000464
000465
000466
000467
000468
000469
000470
000471
00047?
000473
000474
000475
000476
000477
000478
000479
000480
000481
000482
000483
000484
000485
000486
000467
000488
000489
000490
000491
00049?
000493
000494
000495
000496
000497
000498
000499
000500
000501
000502
000503
000504
000505
000506
000507
00050*
000509
non
ooo
ooo
oon
onn
noo
non
oon
ooo
noo
noo
non
noo
ooo
oon
noo
000
000
000
onn
oon
ooo
noo
noo
non
ooo
ooo
ooo
non
ooo
ono
ooo
non
onn
oon
noo
oon
ooo
noo
ooo
noo
oon
ooo
onn
non
0 0 n
non
nnn
non
ono
non
non
oon
nnn
onn
onn
nnn
c
c
c
c
c
c
1
c
c
c
c
5
c
c
c
c
c
c
c
( 3)/T.'8
' (4 »
A5 = ATEMF- If.) # 1.28
A6=ATEMP(f)«10.758
AP=»TEMP(8)»115.ft3
A7=ATEMP(7)«35,314
A9=ATEMP(9)»379.92
A10=ATEHP(10)»1?46.14
POINT THE '1FTPTC EQUIVALENTS OF THE REGRESSION COEFFICIENTS
WRITE (N7.J 0 111) Al«A2»A3»A4tA5.A6,A7»A«tA»AlO
GO TO 560
»»««»»»*»»«»<>» fM) »*»##»»•»»»»»
««»««»«•»««»»« 0AM WHERE THE O VS T AMf) H VS T CURVES ARE KNOWN**
FIND H vs i FUNCTIO'N
CHK=1.
CALL R^GRES TO READ DATA AND PERFORM REGRESSION
CALL REGDF"; (ATEMP)
CHK=0.
CONVERT COEFFICIENTS SO THAT THEY CORRFSPQMD TO METRIC VALUES
Al=ATEMP(])/3.2H
A2=ATEMP(?>/3.?8
A3=ATEMP(3)/3.?«
A43ATEMP(41/3.28
1 (5)/3.PR
347
348
349
350
351
A8=ATEMP(81/3.28
A9=ATEMP(9)/3.28
PRINT THE METRIC EQUIVALENTS OF THE RFGRFSSION COEFFICIENTS
WR I rf ( N7 ,1 ()4n ) Al*A?«A3( ID)/ VS.314
TWI'JT THE ^FTI-fFC FOUIVALENTS OF IHF RFRRESSION COEFFICIENTS
wlvTTf (N7.]liSO) Al»A?»A3fA4.AS,Afi»A7.AR«A9»A10
66
-------
INH
000510
00051 1
00051?
000513
000514
000515
00051ft
000517
000518
000519
000520
000521
00052?
000523
000524
000525
000526
000527
00052«
000529
000530
000531
000532
000533
000534
000535
000536
000537
000538
000539
000540
000541
000542
000543
000544
000545
000546
000547
000548
000549
000550
000551
000552
000553
000554
000555
00055ft
000557
000558
rj rt A C c O
U U u T>!3 V
000560
000561
00056?
000563
000564
000565
000566
000
000
ooo
000
000
000
000
000
000
000
000
000
000
noo
noo
noo
ooo
ooo
ooo
ooo
000
noo
noo
ooo
ooo
ooo
000
000
000
000
000
000
000
000
000
000
000
000
000
000
000
noo
000
000
000
noo
000
noo
noo
n n n
(} (' '/
000
oon
ooo
0 0 0
noo
no"
oon
GO TO 56Q
C
C »«•«•««»»»«»»» RAM WHERE THE H VS T CURVE IS KNOWN
C
C CALl PFGPf-S TO READ DATA ANO PFRFORM REGRESSION
540 CALL HF^RFs (ATFMP)
C
C CONVERT COEFFICIENTS SO THAT THEY CORRESPOND TO METRIC
Al=ATEM(Ml 1/3.28
A?=ATEMP (?) /3.2rt
A3=ATEMf'<3>/3.28
A4 = ATEMf- (41/3.28
A5=ATEMP(5)/3.28
Aft=ATEM^ (61/3.28
A7*ATEM^<7>/3.28
A«=ATEMP(8)/3.?B
A9=ATEM> (9) /3.2B
AlO=ATEMP(10)/3.28
' (41/35,314
A5SA TEMP (5 1/35. 314
A6=ATEMP(6)/35.314
A7=ATEMP(7)/35.314
A8 = ATF.MP(R)/35.314
A9=ATEMP (91/35. 314
A10=ATtMp ( 1 01/35.314
««««*«»»««**•
«•««««»«#**»»
VALUES
C PRINT THE METRIC EOOI VALENTS OF THE REGRESSION COEFFICIENTS
WHITE (N 7. 10 70) Al»A?,A3»A4,A5,A6,A7,Afl.A9fAlO
C *HHH»«««MHH»«IKH> FM[)
C
bftO no s?o 1 = 1 , in
C TRAf^SFFR ((EGRESSION COEFF1CIFNTS TO ARRAY AO
570 AO (1 « J< I I =1TFMP( I )
SHO CONTINUt
C »»»««««»»«<>«»<•«»««««»».•«««»«»»»««»«»«»»»«»»»». «««».,i
C
<•
««««««««««*««
•«•••••»
-------
I'JH
000567
00056B
000569
000570
000571
000572
000573
000574
000575
000576
000577
00057K
000579
000580
000581
000582
000583
000584
000585
000586
000587
000588
000589
000590
000591
000592
000593
000594
000595
000596
000597
000598
000599
n ft n A n n
U u U P IMI
000601
000602
000603
000604
000605
000606
000607
00060&
000609
000610
000611
000612
000613
000614
000615
00061*
000617
00061^
000619
000620
000621
000622
000623
oon
oon
non
oon
nnn
oon
000
non
onn
nno
000
non
nno
onn
non
onn
oon
000
oon
ooo
oon
000
000
oon
000
000
onn
oon
000
oon
000
000
oon
n ft ft
U " ' *
oon
oon
noo
oon
onn
000
onn
ono
000
non
oon
non
000
000
nno
ono
oon
ooo
ooo
oon
onn
non
pno
Wi'ITE (NN10MO) NJSW
DO 600 L = ) »N )Sv*
J=JSW(L>
••JWITE IN7,10'-M>) J
C
CHK=3.
C CALL PMiPFS TO READ DATA AMP PFRFORM REGRESSION
CALL REP"t '- (ATFMP)
CHK=n.
C
C CONVERT COEFFICIENTS SO THAT THF.Y CORRESPOND TO METRIC VALUES
AlaATEMPd >/ 15.314
A?=ATEMP (?) / 15. 314
A3=ATEMP M) 715. 314
A4=ATEMP(4)/?5.314
A5 = ATEMP (5) /.(S.314
Mj=ATtMP (6) / 15. 314
A7=ATtMP (7) / IS. 314
Afl = ATEM(-' (P 1 /3H.314
A9=ATEMP (9) /35.314
A10=ATEMP(10)/35.314
C PRINT THE METRIC EQUIVALENTS OF THE REGRESSION COEFFICIENTS
'••(HI TE (N7« 1 1 00) A)»A2?A3tA4»A5.A6.A7«Afl»A9»AlO
DO S90 1=1.10
C TPAi-'SFFP PEGRESSION COEFFICIENTS TO ARRAY AO
590 AO (3tL»I I=ATF.HP ( I)
600 CONTINUE
610 CONTINUE
C «»««««*«««<>»«« F'K) «»»«««««*«*««
C
C «»«»««*«»«<>»»» PREPARE HYDRODYNAMIC INPUT TAPE •«»*»«•»•*»«*
'VHITF C-.'7»inn) aSTERK
*JPI re (NH firrYC«PERIOD»OINT.DEt.T.WINn»WDIR»NOSWRT.MJSW,NJGW
1 fl^ufM) r 1 f ^ T M ) f f A 0 f 1 1 Ml T •* 1 "i\ Wai 1 H ) * 1 X 1 T71?l f 1 C U ( I 1 ! tt 1
2»I713)»(ftl''HA(I)«IaJ»30) ,NfJCYC«NHCYC.NTtDELTO»ICYC.NCYCtNEXIT.NJ.N
3C. ( (NCHAMI I, II) .IPO I NT ( t« II) t 1I = 1»IZ6) «H(I) «H(I) »H(I) »H(I) tH(I) »AS
4 ( I 1 ,VOL ( I ) »X ( I ) . Y ( I ) »DEP( I) »QIN( I) »OOII( I ) »OIN(I) »OOU( I ) f I = 1 1 NJ) » ( (
5NJUMC
-------
INH
000624
000625
000626
000627
000638
000629
000630
000631
00063?
000633
000634
000635
000636
000637
000638
000639
000640
000641
000642
000641
000644
000645
000646
000647
00064ft
000649
000650
000651
000652
000653
000654
00065^
000656
000657
000658
000659
000660
000661
000662
000663
000664
000665
000666
000667
000668
000669
000670
000671
000672
000673
000674
000675
000676
000677
000678
000679
000680
000
000
000
000
000
nno
000
000
noo
oon
onn
000
noo
000
000
000
ooo
000
000
000
000
000
000
000
000
000
000
000
000
000
000
non
000
000
000
000
000
000
000
000
000
000
000
noo
000
000
non
noo
non
nOO
non
oon
noo
noo
oon
oon
fjon
640
C
C
C
C
C
C
C
650
660
670
680
690
700
710
720
730
740
750
760
770
780
790
600
810
820
630
840
860
870
880
fl90
900
910
920
930
94n
WRITE (N6.1120) ARRAY
GO TO 630
WRITE (N6.1130)
N5=5.
RETURN
»»»»««»»«»»«»» FORMAT STATEMENT 950 MUST BE CHANGED •*«»»*«»««*«•
«»»»«*»«»«»»«» WHENEVER PARAMETER 176 IS CHANGED «»»«•«»«»»«»»
FORMAT (' YOU REQUESTED TOO MANY TIDE FLATS* /»I5t' TO RE EXACT(JO
IB ABORTED) '//)
FORMAT (215)
FORMAT!" THIS PROBLEM HAS'.I5,' TIDE FLAT CHANNEL ( S) .'/« THEY(IT
1) ARE(IS)'/' CHANNEL NO. CHARACTERIST 1C ' /15X, ' JUNCT ION NUMBER
2 '//)
FORMAT (I10»10X,I5)
FORMAT I//.1X. 'THERE ARE', 15.' TIDE FLAT CHANNELS'*/)
EORMATOX, 'CHANNEL' »I3» • IS A TIDE FLAT CHANNEL* WITH NOOE«»I3»' B
IEING THE TIDE FLAT.«.?X,I BOTTOM ELEVATION OF THE CHANNEL is «
2.1PE12.5 )
FORMAT UHO.'THE EVAPORATION RATE IS '.1PE10.3.' (MM/MONTH)')
FORMAT (• THE JUNCTION INFORMATION IS OUT OF ORDER')
FORMAT < 'CHANNELS' ,15. • AND'»I5,' ARE REDUNDANT')
FORMAT (20A4)
FORMAT <2>sx.?OA4)
FORMAT (1H1)
FORMAT (15A4)
FORMAT (15. 3F5. 0. 5X, 1F5. 0.415)
FORMAT (2015)
FORMAT <1H1 .15A4.20X.20HBATTELLE NORTHWEST »/l X , 15A4. 19X » 21 H RICH
ILAND. WASHINGTON./»80X,20H HYDRODYNAMJC MODEL «//)
FORMAT (15HODAYS SIMULATED. I 4 )
FUPMAT (29HOWATER QUALITY CYCLES PFR DAY. 14)
FORMAT (43HOINTFbRATION CYCLES PER WATER QUALITY CYCLE. 14)
FORMAT (30HOLENRTH OF INTEGRATION STEP IS.F6.0.8H SECONDS)
FORMAT (15HOUIIND VELOC I TY »F5 , 0 . ??H M/SEC WIND DIRECTION, F5. 0 . 19H D
1EGREES FROM NORTH)
FORMAT (?6HOWRITE CYCLE STARTS AT THF.I4.11H TIME CYCLE//)
FORMAT
FORMAT (3I5.10X.5F10.0)
FORMAT (45H CHANNEL INPUT INFORMATION OUT OF ORDER )
FORMAT (108H CHANNEL LENGTH WIDTH AREA MANNING VELOCI
1TY HYO RADIUS JUNCTIONS AT ENDS MAX INT/67H NUMBER
2 (M) (Ml (M»»?) COFF. (MPS) >4H JUNCTION INITIAL HF.AO SURFACE AREA INPUT OU
IT^UT CHANNELS FMTF^ING JUNCTION
? /]??H NiiUMpo (f() (St)UARF KM) (CMS) (CMS
1) /
4)
419
420
421
425
426
427
428
429
430
431
433
434
436
437
438
442
443
444
445
446
447
448
449
450
451
452
453
454
455
457
45S
459
461
462
463
464
465
466
467
46B
469
470
471
475
69
-------
« e »IH> ft
0006P1
onn68?
000683
000684
0006H5
000686
0006H 7
000688
0006H9
000690
000691
00060?
000691
000694
00069*1
000696
000697
00069H
000699
000700
000701
00070?
000703
000704
00070S
000706
000707
000700
000709
000710
00071 )
00071?
000713
000714
000715
000716
000717
000718
000719
000720
0007?!
000722
000721
000724
000725
0007?6
000727
000728
000729
000730
000731
00073?
000733
000734
00073S
000736
000737
000
noo
ooo
noo
POO
ooo
non
ooo
noo
noo
000
noo
ooo
ooo
000
000
000
000
ooo
000
000
noo
noo
000
ooo
000
ooo
000
000
000
ooo
000
000
000
000
000
000
000
ooo
000
nno
nno
ooo
000
noo
noo
000
000
oon
000
oon
noo
000
ooo
000
000
non
FORMAT (I '.F 1^.?.-6PF15.?,OP?F10.0.I 10.5 I 6)
FORMAT (F->f>.M
FORMAT I//.I«H THIS PROHLFM HAS . I-S.20H CONTROLLFD NODES
FORMAT t 16HOJUNCTION NHMRtR.lM
FORMAT
10.0)
FORMAT (1H!.?OA4/30H THE INPUT »FIR CONSTANTS ARE /5H Al= .EIO.4,2
1 X.1^
960
970
WflO
990
1000
A?= • (• 1 0.4 .2X.5H A3= .F10.4//)
101(1 FORMAT <1H*./VX,10H IS A WEI°X34H THE CONTROLLING WEIR FORMULA IS
1 •' r>ELH = nrLTXARf-.A» ( INFLOW-Al * ( HF AM-A ?»OELH/2) »»,H3) ' »/»lX. 'WHERE A
?l = '.El?.1-.' .A? = '.F12.S.' .A3 = '.El2.S.X.1X»•AND THE CONSTANT
IS CORRESPOND TO METRIC DATA')
1020 FORMAT *H»«5 + A7»H»*6»A8«
4H»»r*A9«H«»H*A10Y THE FOLLOWING FUNCTION .
A4=
5Aft =
10 HO
1091)
1100
FORMAT
FORMAT
FORMAT
1PH
0«T«a9 /11H WHERE Al= .E10.4.6H, A2= .E10.4.6H. A3= »E10.4»
• FI0.4.6H, A5= .El 0.4. X7X»4HA*= »E10.4»6H» A7= .F10.4.6H.
')./«,6H, A?= ,F10.4,7H. A10= ,F 1 0 .4 . X . \ X • ' AND THE CONSTANTS
OND TO METRIC DATA')
(XX.18H THIS PROBLEM HAS .I =>»21H HYOROGRAPH INPUTS .X)
< 16HO.JUNCT"ION NUMRF.R.TS)
(1H+,2?X»10H IS A HYOKOfiHAPH TMPuT MODE X62H THE HYDROGRA
(IIRVF IS FIT RY THF FOLLOI-'ING FUNCTION X76H Q = Al+A2«T + A3
A4= .E10.4.6H
l= .F10.'t»6H, A?= .F10.4.6H,
«F.in.«,6H,
477
478
479
480
4R1
482
4fl3
486
491
49?
493
49<
49?
49'
49<
49<
50i
50
50
50^
50'
50
"50
SO
51
51
51
SI
51
51
51
51
5?
5?
5J
52
52
52
70
-------
I'JH
00073H
000739
000740
000741
000742
000743
000744
END ELT.
000
000
000
000
000
000
000
4. A5= »Eln.4t/7X«4HA<[« = »F.]n.4,ftH« A7 = »Fln.4,ftHi Afls tE10.4t6Ht A9 526
S= .F.10.4.7H* A>»» . F_ 1 0 . 4, /, 1 X , • AMR THF CONSTANTS CORRESPOND TO MET
ftPIC DATA')
1110 PORMAT (A4) 5?8
11?0 FORMAT (33A4) 5?9
1130 FORMAT (35HlPNr> OF HYOROOYNAMJC INPUT PROGRAM ) 530
WHOR»P »»««»• MAIM »»««*»
71
-------
»»»o»» Mi\JN »o#
'"ELT.L IMAIfJT.MMN
000001
00000?
000003
000004
000005
000006
000007
0 0 0 0 0 ft
000009
000010
00001 1
00001?
000013
000014
000015
000016
000017
00001R
000019
000020
000021
00002?
000023
000024
000025
000026
000027
000020
000029
000030
000031
00003?
000033
000034
00003S
000036
000037
00003R
000039
000040
000041
00004?
000043
000044
000045
000046
000047
00004H
000
000
000
000
000
000
000
000
000
ooo
000
000
000
000
000
000
000
ooo
000
000
000
000
ooo
000
ooo
000
000
ooo
000
ooo
000
000
000
000
ooo
000
000
000
000
000
000
000
000
000
ooo
000
ooo
000
r
c
c
c
c
c
c
c
c
c
c
c
c
c
c
c
c
c
c
c
c
c
c
c
c
c
tt««»«tn»»»»«<»«» MAIN PROGRAM FOR FXP|_ORF-1 INPUT
#«»«»* »»»«<•»«« RftTTELLE NORTHdFST 11/9/71
««««««««««««»
«««««0«»«ff««»
THIS PROOWAM CALLS INN
THIS FXECUTIVE PROGRAM MAKES I/O ASSIGNMENTS AND CALLS
IMF MAIN INPUT SUBROUTINE IMH
»»»*»»« «» o ASSIGN THE COMMON DATA
COMMON /TAPF.S/N5.N6,N?0»N??.M?4
»»»»»»«»»•»#»
#«#*«»#«»#»»«« CONTROL AND TITLE INFORMATION «»»«»»»«»»»#«
COMMON /PTTNT/ NJ»NC.NJGW,NTCYC»NQSWRT.NQCYC.OELTQ.PERIOD,
] ALPHA (Ji') ,OEP(70) »IPOINT(70tf)»AS{70) ,EVAP
COMMON/!)UAL/NCHAN(70»6) »L£N(100) »NJIIMC (100.2) » JI3W{20)
REAL LEU
«»»»»«»«««<>*• ASSIGN THE UNIT NUMBERS AND REWIND «»«•«*»•«•#•«
175=70
176=6
129=100
THE UNIVAC 1100 DOES NOT ALLOW THE USE OF LOGICAL UNIT 1 SINCE IT IS
THF SYS1FM PUNCH FILE.
N?4 = 4
REWIND 1*20
PfcWINO li?4
aa#atteft"0tt*>0t»#
««««»«« o «•<>»« « »
CALL INh
REWIND H?'»
REWIND tJ?0
FNO
HYDRAULIC
««««»»««««»»»
«««««»««»«««»
STOP
FflO
END ELT.
72
-------
»»»«»» PICTUR »»««»#
«ELT,L IMAINT.PICTIIP
000001
000002
000003
000004
000005
000006
000007
OOOOOH
000009
000010
000011
000012
000013
000014
000015
000016
ooooi r
oooom
000019
000020
000021
00002?
000023
000024
000025
000026
000027
00002*
000029
000030
000031
000032
000033
000034
000035
000036
000037
000039
000039
000040
000041
00004?
000043
000044
000045
000046
000047
00004H
000049
000050
000051
00005?
000053
noo
ooo
000
noo
000
ono
000
ono
ooo
noo
ooo
ooo
ooo
ooo
noo
ooo
ooo
ooo
000
noo
ooo
ono
ooo
ooo
ooo
noo
000
noo
000
000
noo
ooo
ooo
ooo
000
ooo
000
ono
non
nno
ooo
ooo
ooo
ooo
noo
noo
ono
000
nnn
noo
ono
ooo
nnn
c
r
c
c
c
c
c
c
c
c
r
c
c
c
c
c
c
c
c
r
c
r
SUBROUTINE PICTUR (NtM.MCOL .X X • Y Y» -\RK , ISYM, CARD1 )
THIS ROUTINE IS CALLED BY RtPRES AND CALLS SORT AND
SORDER
PROGRAMMED BY JE SCHLOSSER 1965 MODIFIED BY CA OSTER 1966
PRESENTS A PICTURE OF DATA OM PRINTED OUTPUT* TWO OPTIONS REING
AVAILABLE
1 MCO| POSITIVE
2 MCOL WGATlVE» IN WHICH CASE XTNCREMENTS ARE
10 Y INCREMENTS AS DETERMINED BY M
DICTIONARY
VARIABIF DEFINITION
N NUMBER OF POINTS TO PLOT (MAXIMUM
M MAXIMUM NUMBER OF LINES
MCOL MAXIMUM NUMBER OF COLUMNS
XX(I) X COORDINATE FOR ITH POINT
YYU) Y COORDINATE FOR ITH POINT
ARM!) MARKER FOR ITH POINT
ISYn(I) PRIORITY DESIGNATOR FOR MARKER USED ON
(LOWER SUBSCRIPT INDICATES HIGHER
TAKEN AS EQUAL
OF 500)
I-TH POINT
PRIORITY)
DIMENSION xx(?),YY(2)»XYM(3»500)tPX(6) » ALE (107) «ARK<2) i
C
C
100
1 in
lILFdOM » ISYM(5) «IXYM(3i500)
DIMENSION TARDI (20)
EQUIVALENCE ULF«ALF) » (BLANK.LANKBA > » (IXYM.XYM)
EXTERNAL SORDER
DATA RLANK/1H /
N=MAXO (HIMO (500tN) »2)
XYM(1.2)=1 .01
XYM(2,2)=1.01
XYMI3.2) =HI AMK
XMIN=1,OE37
XMAX = -1 . OE 37
DO 100 I«l »N
XYM(1, 1 ) =XX ( I )
XYM(?, I ) =YY ( I )
XYM(3, 1 )=ftt;K ( J )
XMIfJ = AMJNl (X'-!IIM,XYM(1,I))
XMAX = AMAX] (XM/\XtXYM(ltII)
CONTINUE
CALL S'M'T ( xYMtN, 3, BORDER)
YMIN=XYM ( ? • N)
YMAX=XYM (?, 1 )
HYL OG = ALOCJ1 0(10. /FLOAT (M)»l.nf 5)
IF ( (YMAX-YMIN) .EU.O.I 60 TO 11(1
DYLOfi = AL 0(U 0 ( (YMAX-YMIM) /FLO A T ( M ) » 1 . OF5 )
CONTTMUfc
<\MPOX = i iiLfi'--A IMT (DYLOG)
1C) 1 ?0 J ='i> ' 1 0
3
4
5
6
7
B
9
10
11
12
13
14
15
16
17
IB
19
20
21
2?
23
24
2ft
27
30
28
29
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
4fl
49
^0
51
5?
73
-------
PICT"1*
000054
000055
000056
000057
000058
000059
000060
000061
000062
000061
00006*
000065
000066
000067
000068
000069
000070
000071
000072
00007"?
OOOOf*
000075
000076
000077
000078
000079
000080
000081
00008?.
000083
000084
000085
000086
000087
oooos8
000089
000090
000091
00009?
000093
00009*
000095
000096
000097
00009H
000099
000100
000101
00010?
OOOIOT
00010*
000105
000106
000107
00010R
000109
000110
noi
000
000
ooo
000
000
ooo
000
000
000
ooo
000
000
000
ooo
ooo
000
000
000
ooo
000
000
000
ooo
000
000
ooo
000
ooo
000
000
000
000
000
ooo
000
000
000
000
000
ooo
ooo
ooo
000
ono
000
000
nno
ooo
000
000
ooo
000
000
non
1)00
(ion
1?0
UO
140
150
160
170
180
190
200
?10
220
230
240
250
?60
270
?HO
?on
300
J10
J?n
FI = I
IF (APf-"'X-'H.O<;lO 130,130,120
CONTINUF
EXftCT*FlMQ.O«»nNT (DYLOG)-M
IF (MCOU ?10.14"«140
[)XLOO=ALnr, I II ( (XMAX-XMIN) /FLOAT (MCOL/2)»1.0F_5)
XAPROX = f-(XUiG-AINT (OXL06)
IF (XAP^OX-.iniO) 150*150,160
GO TO 190
IF (XAPKOX-.6990) 170*170, 1«0
XEXACT=5.0»10.0«« ( INT(nXLOG)-5)
GO TO I'JO
XF.XftCT=10.i!«« ( INT(OXLOO)-*)
CONTINUE
XACT=XEXACT/?.0
60 TO ?10
XACT=EX£CT/?.0
TENX=?O.O*XACT
TENE=10.0»FXACT
MAXYJs(YMAX/TENE) + ( 0 . 5*S t GN ( 0 . S , YMAX ) )
MAXXI=(XMAX/Tf NX) + (0.'5»SIGN(0.5»XMAX))
MINYI={YMIN/T6NE)-{0.5*SIGN(0.5»-YMIM)
YFIHST=TENF«FLOAT
LINFS=10»(MAXYI-MINYI) +1
KQLSs20« (MAXX7-MINXI)
IF (KOLS-^OO) ?30.?30«2?0
WPITE
-------
»»»«««
000111
000112
000113
000114
000115
000116
000117
000118
000119
000120
000121
000122
000123
000124
000125
000126
000127
00012H
000129
000130
000131
000132
000133
000134
000135
000136
000137
00013^
000139
000140
000141
000142
000143
000144
000145
000146
000147
00014R
000149
000150
A ft n i c i
v U v i 5 1
000152
000153
000154
000155
000156
000157
000
000
ooo
000
000
000
000
000
000
000
000
000
000
000
000
noo
000
000
000
000
noo
000
000
ooo
000
noo
000
000
000
000
noo
ooo
000
000
000
000
noo
ooo
ooo
ooo
n n n
U If U
noo
ooo
noo
noo
ooo
ooo
310
340
350
360
370
3BO
390
400
410
420
430
C
C
C
440
450
460
A 7 n
H f U
4flO
490
SOO
S10
IF (XYM(1,J)-PX(6)-ODO) 330*330.370
CONTINUE
KOL = I NT ( (XYMI1 * J) +DEX-PXU) )/XACT) +4
IF ( (KOL.M .107) .OR. (KOL.LT.l) ) 60 TO 370
TXYM3J=IXY»'(3. J)
ILFKOL=ILF (KOL)
IF (ILFKOL.EO.LANKBA) (50 TO 360
ISYMlaO
ISYH2=0
DO 340 HYY = 1.5
IF (ILFKOL.EO.ISYM) IIYY) ) tSYMlsIIYY
IF <1XYM3J.FO.ISYM(IIYYM ISYM2sIIYY
CONTINUE
ISYMMaMlNO ( JSYM1. ISYM2)
IF (ISYhM) 370*370.350
ILF(KOL)=1SYM(ISYMM)
60 TO 370
ALF (KOL) =XYM (3»J)
J = J + 1
GO TO 2^0
CONTINUE
IF (MODI 1-1 .10) .NE.O) 00 TO 390
WRITE (6,4^0) YPLOT.ALF
GO TO 410
IF (MOOU-1.5) .NE.O) 60 TO 400
WRITE (6*5)0) ALF
GO TO 410
WHITE (6*4*10) ALF
CONTINUE
CONTINUE
WRITE (6,47U)
WRITE (6,4fln) PX
CONTINUE
RETURN
FORMAT //////10X*19A4,A?///>
FORMAT (1X.F9.3.2H »»107AltlH»)
FORMAT (11 X.1HI.107A1.1HI)
FORMAT
-------
««»««« IJ
•ELT.L
000001 000 FUNCTIOM 0 (R.C)
00000? 000 C THIS FUNCTION IS CALLED BY HT
000003 000 PIMFNSION W(S)» C(5) 2
000004 000 Q = C(2)-fM?> 3
000005 000 RETURN 4
OOOOOf) 000 END
END ELT.
»H06tP •»«#«• REGP »»»*»«
76
-------
»«»»»»
0ELT.I. IMAINT.RFGR
000001
000002
000003
000004
000005
000006
000007
000008
000009
000010
ooooir
000012
000013
000014
000015
000016
000017
000018
000019
000020
0000?!
00002?
000023
000024
000025
000026
000027
000028
000029
000030
000031
000032
000033
000034
000035
000036
000037
000038
000039
000040
000041
000042
000043
0000*4
000045
000046
000047
000048
000049
000050
000051
000052
OOOOS3
000
000
oon
000
ono
000
oon
onn
000
POO
000
oon
ooo
000
000
000
ono
000
000
000
non
noo
000
000
000
non
oon
oon
POO
ono
oon
non
nnn
oon
oon
000
000
ono
ono
000
onn
non
oon
r>00
oon
non
nno
oon
oon
000
noo
00')
nno
C
C
c.
c
c
c
c
c
c
c
c
c
c
c
c
c
c
c
c
c
inn
1)0
1 ?o
C
C
FUNCTION Re«l» . HOWEVER. IF THE SIMULTANEOUS
FfQUATIor SOLVING POUTINF SIMUL ENCOUNTERS A NEAR-SINGULAR
MATRIX. IMF FUNCTION RETURNS THF VALUE o.o
C MrtTWIX CONTAINING THF. COEFFICIENTS
CYX .c 11 »Y» VECTOR
C.YY. ... ..c (Y.y) VECTOR
OET OFTFRMINANT OF THE COEFFICIENT MATRIX C.
EPS TOLERANCE USED PY THE FUNCTION SIMUL
SIMUL....FUNCTION FOR SOLVING SIMULTANEOUS EQUATIONS
SX.SYX...VFCTOR CONTAINING SUMMATIONS X»»I AND X»«I » Y
SY.SYY...VFCTOR CONTAINING SUMMATIONS Y AND Y»«2
DIMENSION
DATA EPS/
DATA
C(51,51),SX(100).SYX(51)»CYX(5l)«X(100)»Y(100).P.(51)
i .OF-?')/
COMP'ITE SUMS OF POWERS A'lD PRODUCTS
NP1=N+1
sr=o.o
SYY=0.0
DO 100 1=1,N
NPI=M*I
sxmso.o
SX (MPI) =n.(l
SYX '
SX (J) =SA ( J) *DtlH
COEFFICIFNTS C(I.J)
FM=FLOAT(M)
CYY=SYY-SY»SY/FM
1)0 1 '10 1 = ) ,N
CYX(I)=SY*U )-SY<*SX(T)/FM
C(I.MPI)=CVX(i)
i)0 I 3D J=l ,[J
2
3
4
5
6
7
a
9
10
11
1?
13
14
15
16
17
18
19
20
22
23
24
25
26
27
28
29
30
31
32
33
34
3<5
36
37
3B
39
40
41
42
43
44
45
46
47
48
49
50
51
5?
77
-------
#««««» 13 p fl O
onoosA
ooons^
OOOOS6
000057
0000b«
000059
000060
000061
00006?
000063
00006*
000065
000066
000067
000063
000069
000070
000071
00007?
000073
000074
000075
000076
000077
000078
000079
OOOOPO
ooo
non
QOO
000
000
0(10
000
000
000
000
000
ono
000
000
000
ono
000
000
000
000
000
ooo
000
000
000
000
000
MO
c
c.
c
c
140
ISO
c
c
c
160
C(I.J)-S*(JPJ!-S<(T)»^<(.J)/FH
..... C4LI. ON SFMUL TO 50LVF 5 T Mill TANFOUS FOLIATIONS .....
OETrSIMUU (M«CtH,EPS. 1 ,NN)
WPITE (6.160) DEI
IF (DEI. NF . 0.0) 00 TO 140
*EG«=0.0
RETURN
COMPUTE IMTERCFPT A AMD STANDARD DEVIATION S
BOM=SY
TtMP=CYV
DO 150 1=1. N
DiiM=oUM-n ( i ) »sx (I )
Te.MP = TF.Nf-ft( 1 ) »CVX ( I )
fi=DHM/FH
nKN()M=FLO« f (M) -FLOAT (M)-l .0
S = flHS( TEMp/DhMOM)
S=DSOWT (<;>
IF (S.Eft.O.) S=FPS
RF6H=S
RFTIJWN
FORMAT (1JHO DET = «E14.M>
EWD
S3
54
5S
56
57
58
59
60
61
6?
f>3
64
65
66
67
6B
69
70
71
7?
73
74
75
76
77
78
END FIT,
»*»»»» REGRES «««»«•
-------
»ELT,L IMAINT.REGPES
000001
000002
000003
000004
OOOOOS
000006
000007
OOOOOfl
000009
000010
000011
000012
000013
000014
oooois
000016
00001 7
OOOOlfl
000019
000020
000021
000022
000023
000024
00002*;
000026
000027
00002R
000029
000030
000031
000032
000033
000034
000035
000036
000037
00003*
000039
000040
000041
000042
000043
000044
000045
000046
000047
000048
000049
000050
000051
00005?
000053
000
noo
oon
non
000
000
ooo
000
ooo
000
000
000
000
000
000
000
000
000
000
000
ooo
000
000
ooo
000
000
000
000
000
000
000
000
000
000
000
000
000
000
000
000
000
000
000
000
000
noo
000
ono
000
noo
000
000
000
c
c
c
c
c
c
c
c
c
c
r
c
c
c
c
c
c
c
c
c
c
c
c
r
c
r
c
c
c
c
c
c
c
c
c
ir
SUBROUTINE HEGRFS (ATEMP)
THIS HOUTINF IS CALLFD RY INH AND CAU S PICTUR AND REGR
poL^NOMiAi REGRESSION WITH PLOTTING.
THIS MAIN PROGRAM HFAOS THF. HORI70NTAL AND VERTICAL COORDINATES
OF M DATA POINTS INTO THE X AND Y ARRAYS. THE LEAST AND
GREATEST VALUES nF X SHOULD P-E STORED IN X(l) AND X(M) RESPEC-
TIVELY. THE FUNCTION REGR IS USED TO PERFORM SUCCESSIVE NTH-
OROEP REGRESSIONS, FROM N = MIN THROUGH N a MAX. IN EACH
CASE« THE REGRESSION CURVE is PLOTTED AGAINST THE ORIGINAL
DATA POINTS.
A REGRESSION COEFFICIENT (INTERrEPI)
H VECTOR CONTAINING REGRESSION COEFFICIENTS
DELTAX...X-SPACING FOR ?6 POINTS ON THE REGRESSION CURVE
M NUMBER OF DATA POINTS
MAX,MIN..UPPER AND LOWER LIMITS ON ORDER OF REGRESSION
N ORDER, N, OF POLYNOMIAL REGRESSION
REGR FUNCTION FOR PERFORMING NTH ORDER REGRESSION
S STANDARD DEVIATION OF THE POINTS ABOUT THE REGRESSION
LINE. IF SIMUl. ENCOUNTERS A NEAR-SINGULAR MATRIX, S IS
RETURNED ZERO AS A WARNING.
X,Y VECTORS CONTAINING THE X AND Y COORDINATES OF THE DATA
POINTS.
COMMON /TAPES/N5»N6,N7»Nin,N20»N22.N24
»»« HYOEND is A SPECIAL CASE FOR THE EPA PESTICIDE STUDY «•»
COMMON /NEW/ I,JKtCHK,XM<20),YM<20)»HYDEND
DIMENSION ARRAY(SO)
DIMENSION X(100)»Y(100)«B<55),ARK(100)»ISYM(5)•CARD*(20)
DIMENSION ATEMP(ln)
»«« HYDENl) IS A SPECIAL CASE FOR THE EPA PESTICIDE STUDY *«•
NAMELIST /CARDI/ M,MIN«MAX»X»Y,HYDEND
DATA STAR/1H*/
DATA ASTEP/4H»«»*/
DATA CONST/4H CON/
DATA APRAY/lHl,lH?,lH3,lH4»lH5,lH6»lH7»lHrt,lH9»2HlO,2Hll»2H12,;?Hl3
1,?HJ4,2H15,,?H16,;»H17,2H18,;>H19,2H20,?H21,2H2?,;?H23»2H24,2H25,2H26,
?2H27,?H2S,?H?9,?H30.2H31,2H3?»2H33.2H34,?H35,2H36.2H37,2H38,2H39,2
3H40,2H41,?H4?,2H4j,?H44.?H45.2H46,?H47»?H4fl,2H49,2H50/
OATA MMM/100/«NM/55/,III/?5/,JJJ/ino/
CARDI is TITLE CARD FOR PLOTTING
HEAD AND CHFCK COOPntNATES X(l)...X(M), Y(1)...Y(M),
AND LOWEST AMD HIGHEST ORDERS MIN AND "AX
CHK
CHK
IS A DUMMY VARIAHI.E
= 1 PEGRES WAS CALLED TO FIND H FOR 0 VS T AND H VS T
DAM
CHK = t RF.GRES WAS CAILFD TO FIND 0 FOR 0 VS T »ND H VS T DAM
CHK = 3 PFKRFS WAS CA|LEO TO EVAIIIATF HYDROGRAPH NODES
A = 0.0
no ion i = 1.MM
H(I)=0.0
5
6
7
e
9
10
11
12
13
1*
15
16
17
18
19
20
21
22
23
25
27
?9
31
33
34
35
36
38
4?
43
44
4S
79
-------
000054
000055
000056
000057
00005B
000059
000060
000061
00006?
000063
000064
000065
000066
000067
000068
000069
000070
000071
00007?
000073
000074
000075
000076
000077
000078
000079
000080
OOOOfll
00008?
000083
000084
000085
000086
000087
000088
000089
000090
000091
000092
000093
000094
000095
000096
000097
000098
000099
000100
000101
000102
000103
000104
000105
000106
000107
000108
000109
000110
000
000
000
000
noi
001
001
001
noo
oon
000
000
000
ooo
ooo
000
oon
ooo
ooo
000
oon
noo
noo
non
ooo
noo
noo
ooo
oon
noo
ooo
noo
ooo
non
ooo
ooo
ooo
oon
noo
oon
onn
ooo
noo
oon
ooo
oon
ooo
onn
000
000
oon
ooo
oon
ooo
000
000
non
c
c
c
c
c
c
c
c
c
c
c
c
c
c
c
c
c
c
c
c.
c
c
I'EAD INS. 310) CA»D4
WRITE (6,310) CARD4
IF (CAR04(1 ) .NE. CONST) GO TO lln
DECODE (18,220, C«RD4<1> ) A
IF (CHK. EQ. 3.) GO TO 105
GO TO (200,200,101,102,103,104) , UK
Q IS CONSTANT (0 VS H)
STORE MFTRIC VALUE IN AM, CONVERT A TO ENGLISH UNITS
ini AM=A
A=35.314«A
GO TO 20n
STORE MFTRIC VALUE IN AM. CONVERT A TO ENGLISH UNITS
102 AM=A
IF (CHK .EQ. ?.) GO TO 202
H IS CONSTANT (Q VS T AND H VS T)
A=3.?8»A
GO TO 200
o is CONSTANT (Q vs T AND H vs T)
STORE METRIC VALUE IN AM, CONVERT A TO ENGLISH UMTS
202 A=35.314»A
GO TO 2dO
H IS CONSTANT (H VS T)
STORE MFTRIC VALUE IN AM, CONVERT A TO ENGLISH UNITS
in.i A^A
A=3.?8»A
GO TO 200
0 IS CONSTANT (0 VS T)
STORE MFTRIC VALUE IN AM, CONVERT A TO ENGLISH UNITS
104 AM=A
A = 35.U4«A
GO TO 200
HYOROGRAPH INPUT IS CONSTANT
STORE MFTRIC VALUE IN AM, CONVERT A TO ENGLISH UNITS
1(15 AM = A
A=35.31 4»A
GO TO 200
»«»»«THE FOLLOWING ELEMENT MUST RF u£MADE IN THE PROGRAM, SEE APPENDIX
»»«»«<;. 7 IN FOPTRAN( ASCI I ) MANUAL. TO ALLOW A NAMFLIST READ FROM A
»«»»»LOGICAI UNIT OTHER THAN 5 ON THE UNIVAC linn.
-------
000111
000112
000113
000114
0001 IS
000116
000117
OOOllfl
000119
000120
0001?!
000122
000123
000124
000125
000126
000127
000128
000129
000130
000131
000132
000133
000134
000135
00013
-------
*«««»» RFGRES «««««»
000168
000169
000170
000171
000172
000173
000174
000175
00017*
000177
000178
000179
000180
000181
000182
000183
000184
000185
00018ft
000187
000188
000189
000190
000191
000192
000193
000194
000195
000196
000197
000198
000199
000200
000201
000202
000203
000204
000205
000206
000207
000208
000209
000210
000211
000212
000213
000214
000215
000216
000217
OOOP18
000219
000220
000221
000222
000223
000224
000
000
000
000
000
000
ooo
000
000
000
000
000
000
000
000
000
000
000
oon
000
000
000
000
000
000
000
000
000
000
ooo
000
000
000
000
000
000
000
000
000
ooo
000
000
000
000
ooo
000
000
ooo
oon
oon
non
noo
oon
000
000
noo
noo
150
160
c
c
c
170
c
c
c
180
r
c
c
190
200
210
211
21?
c
c
c
c
r
2?"
230
?4n
250
2*n
DO 15n 1=1, M
ARK (I )=STAR
ISYMd )=STAR
DO 190 N=MIN,MAX
IF .EO.ASTEH) GO TO 16n
WRITE (6,250) CARU4
WRITE (6,?80) N
CONTINUE
USE FUNCTION HEGR TO PERFORM NTH-ORHEH REGRESSION
S=REGR(M,X»Y,N»A«S>
IF (S.NE.0,0) SO TO 170
WRITE (6.290) C»RD4
GO TO 19n
CONTINUE
IFICARD4 (19) ,FQ. ASTER) GO TO 190
WRITER, 300) S.AM, ( I,B(I) ,1=1, N)
COMPUTE 26 POINTS LYING ON REGRESSION CURVE
DELTAX= (X (M)-X(l ) )/25.0
MP1=M+1
MP26=M»26
00 180 I=MP1,MP?6
STEPS=FLOAT (II-FLOAT(M)-l.O
X(I)=X(1)+STEPS»OELTAX
Y(1)=A
ARK (I)=ARRAY(M)
00 JftO J=l,N
Y(I)=Y(I)«B(.))«X (I)»«J
ISYM(2)=ARRAY(N)
PLOT REGRESSION CURVE AGAINST ORIGINAL POINTS
CALL PICTUR (M*?6,IIItJJJ»X»Yf ARK* ISYM.CARD4 )
CONTINUE
CONTINUE
ATEMPI1 )=A
DO 210 1=2.10
ATEMP(I)=Bf 1-1)
RETURN
WRITF (6,210) ^^U04
STOP
WHITE C',240) Cft»04
STOP
FORMATS FOR INPUT ANO OUTPUT ST^TFMF^!T<;
FORMAT (6X.F17. ] )
FORMAT (• FHROW IN fJAMFLIST INPUT TO REfiRES »/,20A4)
FORMAT (• ENO OF FTI.F ENCOUNTERED IN REGRES «/.20A4)
FORMAT (1H ,?OA4)
FORMAT M4H POLYNOMIAL REGRFSSION, WITH M a ,i2,i?'H
)PK,5H X(I),HX,5H Y ( I ) // ( ?F 1 3. 2 ) )
OAT* POINTS//
66
67
68
69
71
72
73
74
76
77
78
79
80
81
84
86
87
88
89
90
91
9?
93
94
9<5
96
97
100
101
102
103
104
105
106
107
108
109
110
111
112
114
115
116
121
122
82
-------
»•»•»« RF.GRES »»••«•
000225
00022*i
000227
000229
000229
000230
000231
000232
000233
END ELT.
000 270 FORMAT (SflHO THE LOWEST AND HIGHEST ORDER POLYNOMIALS TO RE TRIED 123
000 1ARE//6X»7H MIN = .M.BX.7H MAX = .13) 124
000 2flO FORMAT (3?H POLYNOMIAL REGRESSION OF ORDER/lHO.SXt7H N a .13) 125
000 290 FORMAT (69HO MATRIX C IS NEAR-SINGULAR. REGRESSION COEFFICIENTS 126
000 1NOT OETtHMINEO/lH ?OA*)
000 300 FORMAT (IHO.SX.'iH S = .F10.6/6X.5H A = .F10.6//(6X.3H B(.12,*H) » 128
000 1.F11.6)) 129
000 310 FORMAT
000
WHDG.P «»«««« SIMUL «*••«#
83
-------
tKKHH>9 StMUl
i*ELT.L IMAINT.SIMUL
000001
00000?
000003
000004
000005
oooooft
000007
ooonof
000009
000010
000011
000012
000013
00001*
oooois
ooooifc
000017
000018
000019
OOOOPO
000021
0000??
0000?3
000024
000025
00002*
000027
00002"
OOOP?9
000030
Q00031
00003?
000033
000034
000035
00003^
000037
0 0 0 0 3JR
000039
000040
000041
000042
000043
000044
000045
00004ft
000047
00004R
00004?
000050
000051
00005?
000053
000
000
oon
000
noo
000
000
000
noo
010
000
000
000
000
noo
000
noo
ooo
oor
one
oon
000
noo
00')
noo
000
9(10
000
nno
000
000
000
ooo
001
noo
000
ooo
000
000
ooo
ooo
0 0 T
nno
000
000
oon
ooo
nnn
nnn
noo
000
non
ooo
c
c
c
c
c
c
c
c
c
c
c
c
c
c
c
c
c
c
c
c
c
c
c
c
c
c
c
c
c
c
c
c
c
c
c
c
c
c
c
c
c
c
c
c
c
c
c
c
c
c
c
c
THIS FUNdl'lN
tN,A.X.EPS«INDIC»NRC)
IS CALLED BY REGR
*HEN I NO 1C IS NEGATIVE* SIMUL COMPUTES THE INVERSE OF THE N BY
N MATRIX A IN PLACE. WHEN INOIC IS 7F.RO* SIMUL COMPUTES THE
n soi. minus xii)...xtN) CORRESPONDING TO THE SET OF LINEAR
EOUAllO'iS WITH AUGMENTED MATRIX OF COEFFICIENTS IN THE N BY
N+I ARI-AY A A>«) IN ADDITION COMPUTES THE INVERSE OF THE
COEFFICIENT MATRIX IN PLACE AS ABOVE. IF INOIC IS POSITIVE*
THF SF.T OF Lt'JEAR EQUATIONS IS SOLVED RUT THE INVERSE IS NOT
COMHDTF-d TH PLACE. THE GA"SS- JORDAN COMPLETE ELIMINATION METHOD
IS E^PLf'YKI) WITH THE MAXIMin PIVOT STRATEGY. ROW AND COLUMN
HIHSCRIPTS OF SUCCESSIVE PIVOT CLEMENTS ARE SAVED IN ORDER IN
THE IROi AMD JCOL ARRAYS PhSPF.CT I VFLY. K IS THE PIVOT COUNTER*
PTVOt THF, ALGEBRAIC VALUE OF THE PIVOT ELFMENTt MAX
THE MIMt.r.R OF COLUMNS IN A AND DETER THE DETERMINANT OF THE
COEFFICIENT MATRIX. THE SOLUTIONS ARE COMPUTEO IN THE NO COLUMN SUBSCRIPTS. RESP.
INDIC. ...COMPUTATIONAL SWITCH
MAX......NUM*FR OF COLUMNS IN A. EITHER N OR N»l
is) ........ MMMHKR OF ROWS IN A
X ........ VPCTOR OF SOLUTIONS
AI JCK. .. . ft TC (K )
INTCH. . . .NUMfl
INTCH.... NUMBER OF PAIRWISF INTERCHANGES REQ'O TO ORDER J-VECTOR
IP1*KM1«NM] .. . I + lt K-l. AND N-l, RESP,
I«OW ..... VPCTOR OF PIVOT ELEMENT ROW SUBSCRIPTS. PtK)
ICOI. ..... VHCTUH OF PIVOT FLFMENT COLUMN SUBSCRIPTS* C(K)
JCOL I . JCOLJ* JCOLK. ,.R ..... THL J VECTOR
JTEMP. . . .TFMPORA^Y VARIARIE USFO I "I ORDERING THE J VECTOR
K ........ CYCLF COUNTER AND PIVOT FI.FMENT SUBSCRIPT
uRC ...... Rd^ A^lD COLUMN HIMFNSIONS OF STORAGF FOR THE A-MATRIX
PIVOT. .. .PI voi FI.EMF.NT
3
4
5
6
7
8
Q
10
11
13
13
14
15
16
17
18
19
20
21
Z2
23
2*
25
26
?7
28
29
30
31
32
3:
34
35
3C
3'
3f
3<
4(
4
4;
4:
4'
4'
41
4
4
4
5
5
5
84
-------
000054
000055
000056
000057
000058
000059
000060
000061
000062
000063
000064
000065
000066
000067
000068
000069
000070
000071
000072
000073
000074
000075
000076
000077
000078
000079
000080
000081
00008?
000083
000084
000085
000086
000087
000088
000089
000090
000091
00009?
000093
000094
000095
000096
000097
000098
000099
000100
000101
000102
000103
000104
000105
000106
000107
000108
000109
000110
000
000
000
noo
ooo
ooo
ono
000
ooo
000
ooo
000
000
ooo
000
000
000
000
ono
ooo
ooo
ooo
000
000
000
ooo
000
000
000
000
000
ooo
000
ooo
000
000
000
000
oon
009
000
000
000
000
000
noo
000
000
noo
000
000
000
noo
oon
noo
oon
000
c
c
c
c
c
c
c
100
c
c
c
110
120
130
c
c
c
c
140
c
c
150
c
c
16P
i rn
OIMfiNSJON I ROW (50) .JCOL (50) t.lOKO(50) tY(50) «A (NRCtNRC) tX(50)
MAX = N
IF (INDIC.KF..O) MAXsN+1
IS M LAWYER THAN 50
IF (N.LE.5") 60 TO 100
wwi IE (6«?l>0)
SIMUL=0.
RtTIIRN
HtGjN FLIMINATION PROCFOURE
DO 170 KzltM
KM1=K-1
SFAPTH FOR THE PIVOT FLFMFNT
PI VOT=0.
00 130 I=1.N
DO 130 J=J.N
SCAM IROH AND JCOL ARRAYS FOP INVALID PIVOT SUBSCRIPTS ...
IF (K.Eti.l) fiO TO 120
DO 110 1SC/SN=1 tKMl
DO 110 JSCAM=l.KMl
IF tl.EU. JROW(1<5CAN}> GO TO 130
IF (J.EW.JCOL(JSCAN) ) GO TO 130
IF (l)AHS(A (ItJ) ) .LF.DABS(PIVOT) ) GO TO 130
PIVOT=A (I t J)
IHOW (K) =1
JCOL (K)=J
CONTINUE
INSUPF THAT SEI ECTED PIVOT IS LARGER THAN EPS
IF (OABSfPI VOT) .GT.EPS) GO TO 140
SIMIJL=(I .
HF TURN
UKOATF THE DFTFWMINANT VA| UE
JCOLK = JCO|_ (K )
r)KTFH = DETFw<>PIVOT
..... NOPMALI7F PIVOT ROW EIFMFNT1: .. ..
DO 150 J=I.MAX
A ( IROWK.J) =A (IROWK, J) /PIVOT
CAWPf OUT FLIMINATION AND OEVFl OP INVER^F
DO 1 7(1 1 = 1 «N
AI JTK = A ( I t JC1I.K)
IF ( I.t'J. JPOUK) PO TO 170
fl ( 1 . JCOLK)=-A1JCK/PI VOI
0(1 160 J=l ,MAX
IF ( J.NF ..JfOLK) A ( I t J) =A ( I t J)-AIJCK*A (tHOWKtJ)
cotu INMF
53
54
55
56
57
5B
59
60
61
62
63
64
6<5
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
«1
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
85
-------
"00111
00011?
000113
000114
0001 15
000116
0001 17
OOOllfl
000119
000120
000121
0001??
000123
000124
000125
00012*.
000127
000128
0001H9
000130
000131
000 U?
000133
000134
000135
0001.36
000137
00013"
000139
000140
000141
000142
000143
000144
000145
000146
000147
00014R
000149
000150
000151
00015?
000153
000154
000155
000156
000157
00015"
000159
000160
000161
00016?
000163
000164
000165
oon
ooo
nno
oon
000
000
000
000
000
000
000
oon
000
000
000
000
000
000
000
000
000
000
000
000
000
000
000
000
000
000
ooo
000
000
000
ooo
000
000
000
000
000
000
ooo
000
ooo
000
000
000
ooo
000
000
ooo
000
000
0 0 °
noo
c
c
180
c
c
190
c
c
c
c
c
200
210
??0
c
230
?40
c
c
c
c
c
c
c
?50
ORPFU '-OLUTION VALUES UF ANY) »MO CREATE joRn ARRAY
(10 180 1 = ] «M
IHOV>I = lWOto ( 1 )
Jci>Li=jtoi (i )
JOBI){ IKO»II) =JCOl I
IF (JNOIC.RF.O) X(JCOLT)=A ( TROWI ,MAX)
ft 0, JUST MfiN OF DETERMINANT
IHTCH=0
NM1=N-1
no 190 i = i.,.iMi
IP1=I+1
DO 190 J = IH.N
IF (JOPD(J) .UF. .JORO(I) ) 00 Tn 190
JTEMP=JORD(J)
JOH!)(J)sJORD(I)
JORIK I)»JTEMP
INTCH=INTCH»I
CONTINUE
IF {INTCM/?»?.NE.INTCH) DETER=-OETER
IF INOIC IS POSITIVE RETURN WITH RESULTS
IE UNt>lC.LF..O> fiO TO 200
SIM!)L=ntTEP
RETURN
IF INOIC IS NEGATIVE OR 2ERO» UNSCRAMBLE THE INVERSE
E1RST HY ROWS .....
no ?ao J»I»N
UO ?10 1=1 «N
IHOWI=I^OW ( I)
JCOLI=JCOL d)
Y(JCOLI)=A ( I«HWt«J)
00 ?2l) 1 = 1 tN
A (I,J)=Y (I )
THEN «Y COLUMNS
DO />4() 1 = 1 .N
HO ?30 J=l »M
IMOwJ=IPQW(J)
JCOLJ=JtOL ( J)
Y(IPOWJ)=A ( I.JCOLJ)
f)0 ?40 J=l .N
A (I,J)=Y (J)
HETtlWN FOR INOIC NEGATIVE OR ZERO
SIMUL=DETEW
ot'TURN
E(lu^•A^ FOR OUTPUT STATEMENT
FORMAT (lOHOig TOO HIR)
EMI)
110
111
112
113
114
115
116
117
lie
119
120
121
122
123
124
125
126
127
129
130
131
132
133
134
135
136
137
13B
139
UO
141
1*2
1*3
144
145
146
147
14fl
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
ENO El T,
86
-------
«««»»»
f'FLT.L JMA INT.SOPOFP
000001
00000?
000003
000004
000005
OOOOOiS
END fLT.
000
noo
000
000
000
000
FUNCTION SOLDER (F IRSTtSECONO)
THIS FUMCriON IS CALLED BY SORT
niMFNSIOM F IRSTO) • SECOND (3)
SOROER=FIPST(?)-SECOND(?)
RETURN
END
nttintoo SORT «ntnt»
-------
»««»»« SOHT
IMAINT.SOPT
000001
000002
oooooi
000004
00000?
000006
000007
000003
000009
000010
00001 1
00001?
000013
000014
oooois
000016
00001 7
00001*
000019
000020
0000?!
000022
000023
000024
000025
000026
000027
00002R
000029
000030
000031
000032
000033
000034
000035
000036
000037-
00003*
000039
000040
000041
00004?
000043
000044
000045
000046
000047
00004fl
000049
000050
000051
000052
000053
000
000
000
000
000
OOP
000
000
000
000
000
000
oon
000
000
ooo
000
ooo
000
ooo
flOO
000
000
000
000
000
noo
noo
oon
oon
000
000
000
000
000
000
oon
noo
oon
000
000
oon
ooo
noo
ono
(too
ooo
ooo
ono
0011
oon
noo
ono
c
c
c
c
c
c
c
c
c
c
t
c
c
c
c
c
c
c
c
c
c
c
c
c
c
c
r
c
r.
c
c
c
c
c
c
c
c
c
c
c
ino
no
SUBROUTINE SORT (M,N, ITEM,Q)
THIS KOHT1NF IS CALLED BY PICTIIR AND CALLS 0 AND SORDER
FROM ACM, DEC. 1964
VOL 7 NUMRER 1?» PACE 701
- TREESORT 3
PROGRAMMED "V JE SCHLOSSER
GENFRAL PURPOSE INTERNAL SORT SUBROUTINE
EXAMPLE OF USE - - -
OIMFNSIOM A(5»1000)
ASSUME - N ITEMS OF 5 WORDS EACH
TO BE SORTED IN ASCENDING
ORDER ON THE SECOND WORD.
N IS LESS THAN OR EQUAL TO 1000
A CONTAINS THE ITEMS TO RE SORTED
FXTKRNAL 0
0 IS A FUNCTION SUBROUTINE WHICH WILL RETURN
A POSITIVE NUMBER IF THE FIRST ITEM (FIRST
ARGUMENT) IS TO SORT AHEAD OF THE SECOND
ITEM (SECOND ARGUMENT). SEE EXAMPLE BELOW.
CAll SORT (A.N,5»Q)
FUNCTION O(H.
DIMENSION H (
-------
SORT
000054
000055
000056
000057
000058
000059
000060
000061
000062
000063
000064
000065
000066
000067
000068
000069
000070
000071
000072
000073
000074
000075
000076
000077
000078
000079
000080
000081
000082
000083
000084
000085
000086
000087
000088
000089
)00090
)00091
J00092
500093
J00094
00095
'00096
000
000
000
000
ooo
000
ooo
000
000
000
000
000
000
000
000
000
000
000
000
000
ooo
000
000
000
000
000
000
000
000
000
000
000
000
000
ooo
000
000
000
000
ooo
000
000
000
120
130
140
150
160
170
IPO
190
200
210
2?0
230
240
25"
260
270
280
290
300
310
320
no 120 KJsl.ITFM
KOPY ( IQJMMUU. IS)
J=2»IS
IF (J.GT.NS) GO TO 180
IF (J.GE.NS) GO TO 150
IF (<)(M(1,J*1) ,M(1,J) ) ) 140.150.150
J=J+1
IF (Q(M(1,J) ,KOPY) ) 160,180,180
1)0 170 10 = 1, ITEM
M(IQ,IS)=M(IQ,J)
IS = J
GO TO 130
no 190 10=1, ITEM
M(IQ,IS)sKOPY(IO)
CONTINUE
NPLUS=N*2
00 310 11=2. N
I=NP|_US-II
IS = 1
NS=I
DO 220 10=1 ,ITEM
KOPY(IO)=M(IQ.I«;)
Js2«JS
IF (J.GT.MS) GO TO 280
IF (J.GE.NS) GO TO 250
IF (0(M(1,J+1) , Mtl.J) ) ) 240,250,250
J=J+1
IF (0(M( I ,J) .KOPY) ) 260.280.280
00 270 10=1, ITEM
M(IO. IS)=M( 10. J)
IS = J
GO TO 230
00 290 10=1, ITEM
M(IQ. IS)=HOPY ( 10)
110 300 1T = 1,ITEM
LAZY=M
-------
«»»»»# TJItF «»»»»«
0FLT.L IMAINT.TIPE
000001
000002
000003
000004
000005
000006
000007
QOOOOR
000009
000010
000011
000012
000013
000014
000015
000016
000017
000018
000019
000020
000021
00002?
000023
000024
000025
000026
000027
000028
000029
000030
000031
000032
000033
000034
000035
000036
000037
000038
000039
000040
000041
000042
000043
000044
000045
000046
000047
000048
000049
000050
000051
000052
000053
000
000
000
000
000
000
000
000
000
ono
000
000
000
000
000
000
000
000
000
000
000
000
000
000
000
000
000
000
000
000
000
000
000
000
000
000
000
ooo
000
000
000
000
oon
000
000
000
000
000
000
000
000
oon
000
c
c
c
c
r
c
c
c
c
c
c
r
c
c
c
c
r
SUBROUTINE: TIDE IFEFTI
THIS ROUTINE IS CALLED BY INH AND CALLS GAUSS
THIS PROGRAM USES GAUSSIAN ELIMINATION TO GENERATE
«N EXPRESSION FOR TIDAL HEIGHT
INPUT CONSISTS OF TCYC, THF LENGTH OF THE TIOAL CYCLE IN HOURS,
AS WFLL AS THE HEIGHT IN METFRS OF THF HIGH HIGH» LOW LOW*
LOW HIGH, AND HIGH LOW TIDES. THE TIMES AT WHICH THESE TIDES
OCCUR ARF INPUT IN DECIMAL FORM AND STORED IN THE ARRAY >T,
WHILE THF HEIGHTS ARE STORED IN THE ARRAY »TIOH»
DIMENSION A(8,9)» T(4), TIDH<4), THFTA(4)t RESULT(fl)tFEET(fl)
DIMENSION TITLEO3) «TT(50) »YY<50)
COMMON /PTINT/ NJ»NC»NJGW,NTCYC»NQSWRT»NQCYC«DELTQ»PERIOD?
1 ALPHA 00 ) ,OEP(70> ,IPOINT(70»6),AS(70)«EVAP
COMMON/NEW/IJK,CHK»XM
EQUIVALENCE (TT(4),T(4))t(TIDH(4),YY<4))
«»««««»»»»»»«» NAMELIST CARD1? FOR INPUT OF DATA ••«*»»••»•»*•
NAMELIS1 /CARD1/ TT.YY
SET N5=l SO THAT INPUT WILL BE FROM SCRATCH FRF
N5=l
Nf> = 6
SET LENGTH OF CYCIE
TCYC=PRRIOD
RFAf) =-SIN(THETAUC) )
A(IP,3)=-?.«SIN(?.*THETA(1C))
A(IP,4)=-3.»SIN(3.»THETA(ID)
A(IB,5)=COS(THFTA(TO)
A(IB,6)=?.«COS(?.*THETA( 1C) )
A (IB, n=3.«COS(?.»THETA ( 1C) )
A(IB,fl)=4.«COS(4.«THFTA(1C))
A ( IB,91=0.0
GO TO in
F0« EQUATIONS USING F(X)
?0 A(IB.1)=0.5
A(IB.?)=CnS(THETA(IH)(
A(IB, 3)=COS(?.»THETA(IB))
A(IB,4)=COS(3,»THhTA( IH) )
A (IH,5) sSIiitTHETA ( IH) )
A(IB, 6)=SIN(?.«THtTfl(IH))
A(IB,7)=SIM(1.»THF_TA(ItU)
90
-------
000054
OOOOSS
000056
OOOOS7
00005R
000059
000060
000061
00006?
000063
000064
000065
000066
000067
00006B
000069
000070
000071
00007?
00007^
000074
000075
000076
000077
OOOOff
000079
OOOOfiO
ooooai
OOOOH?
OOOOB3
000084
0000fl5
000086
OOOOB7
00008R
000089
000090
000091
00009?
000093
000094
000095
000096
000097
000098
000099
000100
000101
00010?
onoioi
000104
000105
00010ft
000
noo
000
000
000
000
000
000
000
000
000
000
000
000
000
000
000
000
000
000
000
000
000
000
000
000
ooo
000
ooo
000
000
oon
000
000
000
000
ooo
000
000
000
000
000
noo
000
000
000
000
noo
000
000
000
000
oon
30
c
c
35
40
C rff
c a
]
50
?91
60?
?9?
603
]
?93
3?0
330
?00
1
400
1
£
3
4
5
f-
500
1
600
601
300
A ( IH.H)=SIU(4.«THETA (I") )
A ( in,9)=TTI "RESULT < 6) *S.IN< 3. »BANGLE) "RESULT! 7) +SIN< 4. "BANGLE)"
3 HtSULT(fl)
AT IMF_=< ANGLE/360. )»TCYC
WRITKlbtftOP) ANGLE, AT IME» VALUE
WRITEI6.601 )
GO TO 2*3
CONTINUE
WRITE (6.60?)
FORMAT(i?X, 'ERROR IN NAMELIST --- NO FUNCTION GENERATED")
(50 TO ?<»3
CONTINUE
WPITE(6,603)
FORMAT (2X»'ENH OF FILE ENCOUNTERED IN READING DATA --- NO FUNCTION G
1ENERATEOM
CONTINUE
RETURN
FORMAT (
FORMAT(2Xt»TIRAL CYCLE LASTS « »F7. 2, 1 X , i HOUOS • t ///. 1 X ,
1« INPUT STAGE TIME PAIRS' »/«6X .' HOUPS • »5X» « METERS' )
FORMAT (1HO» 'COEFFICIENTS FOR AN EQUATION OF FORM i ,6X « 'F ( X) a 0.5»A
11 + A2«COS(THETA) * A3«COS ( ?«THET A) • f / »45X , • » A4«COS (3«THET A) + A
2S*MN(THFTA) * A6»S IN (2»THET A ) ' ,/.*5X , ' + A7«SIN ( 3«THET A) « A**SIN
3(4»THETA) ,' ,//,40X, 'WHERE F(X) HAS UNITS OF METERS. ARE AS FOLLOWS
4»./»5Xt(Al = ' .FM.3./.SX, «A? = ' »F«.3./,SX,»A3 * '«Ffl.3»/.5X,
5'A4 a '»FB.3,/.5X.'A5 = • . Ffi . 3 . / , SX , ' A6 » '»F8.3./»5X»
(4MH1FUMCTION VALl'ES LTSTFn FOR 10 DEGREE INCREMENTS.//.
19X, TiEGMFFS' « 1 3X • ' T IMF (HRS) ' ,SX« 'HFJGHT (METERS) ' )
FORMATflHl )
ENO
END
91
-------
««««»« FTNO »»»»»»
HMMNT.FINO
000001
00000?
000003
000004
000005
000006
000007
000008
000009
000010
000011
END ELT,
ono
ooo
oon
ooo
ooo
ono
ooo
ooo
ooo
ooo
ooo
100
SUBROUTINE FIND(I LAST.NJP.DUM«NJW,HP,NJ)
THIS HCMT1NF IS CALLED BY HYOPl.T
COMMON /TAPES/N<5.Nf>»N?0»N22»M2'V
DIMENSION nuM<6o'i) »NJW (20) .HP (?0i?oo>
READ (N?4) (DUM(I),I=1,NJ)
DO 100 1=1,NJP
MP=NJW(I)
HP (I » ILPST ) =IH!M (NP)
CONTINUE
RFTL'RN
ENO
4
5
6
7
8
9
WHOG.P •#••»« 6ENFUN «»•»»»
92
-------
«»«»»» fiTNFUN #«»»««
»ELT,L HMAINT.GENFUN
000001
000002
000003
000004
000005
000006
000007
ooooon
000009
000010
ooooi i
000012
oooon
000014
000015
oooniis
000017
00001R
000019
000020
000021
000022
000023
000024
000025
000026
000027
00002«
000029
000030
000031
00003?
000033
000034
000035
000036
000037
00003P
000039
000040
000041
000042
000043
000044
000045
000046
000047
00004H
000049
000050
000051
000052
000053
000
000
001)
000
000
000
000
noo
noo
000
000
000
000
000
000
000
000
000
000
000
000
000
000
000
000
000
ooo
000
000
000
000
000
000
ooo
000
000
000
000
000
000
000
000
000
000
000
oon
000
000
noo
000
POO
000
ooo
c
c
c
c
c
c
c
c
c
c
c
c
c
c
c
c
c
c
c
c
c
c
c
100
SUHHOUUNF GENFUU (Z1,Z2.IY«[X.73)
»«»»»»»*»(»»«<»« BATTELLE NORTHWEST 11/9/71
THIS ROUT INF IS CALLED BY HYDCAL
»»«»*«««*»»»»<> ASSIGN THE COMMON DATA
COMMON /T/\PES/N5»N6»N20»N2?»w?'4
«»•»»««»•»«»#
«•««««»»»*»*«
CONTROL AND TITLE INFORMATION «»»»•«»••»«»«
COMMON /PRINT/ NJ»NC»NTCYC.NQCYC»OELTO.PERIOD.ALPHA(30)»
10F.PI70) iNOSWRT
COMMON/lJlJAl./NCHAN(70«6) .AS (70) .LEN(IOO) .NJIJNC tlOO»2)
COMMON/UIN/iJINT»DELT«WIND»W01R»NJSW,NJGW,NHCYC»NT»ICYCtNCYC.W,
INEXIT.JSW(^O),JG«(20)«AO13.?0.10>
»«»»«•««««»««« JUNCTION INFORMATION »»»»»»««»»«••
COMMON/H50/HI70)»HM(70)»HT(70).HBAPI70).HAVE(70)i
1IPOINT(70.M.VOL(70)«X(70)»Y(70)»C)IN(70> »OOU(70) *
20INST(20),OINHAR(70).QOURARI70)
««««*«»*«<»«»«» CHANNEL INFORMATION »*»•»»«•«»•»•
COMMON/B7P/BUOO)«R(100).0(100).OBAR(lOO)t
10AVF. (100),V(100).VT(IOO)fVRAR(lOO).FWINO(lOO),NTEMP(6)»
REAL LEW
IF (IY.FO.?) RO TO 200
»«»»»«»»»««««« CONTROLLED NODE FUNCTIONS DESIRED
IJK=JGW (IX)
RO TO (InO. 120« !'10« 170.140. 140) . UK
»«»««*•««*««•
»««»»*«*»»««<»«
CONTINUE
FORMULA OF.MRED
CON=73/AS(IX)
DHLM=0.
00 110 ICT=lt1?
CM=CON»ln. 7t4
DHM= (Z2M+OHLM)/?.
3
4
6
7
e
9
10
11
16
17
IS
19
23
24
25
?9
30
31
32
33
34
35
36
37
38
39
40
41
42
44
46
H2M=
-------
GFNFIIN
000054
000055
000056
000057
000058
000059
000060
000061
000062
000063
000064
000065
000066
000067
000068
000069
000070
000071
000072
000073
000074
000075
000076
000077
000078
000079
000080
onooai
000082
000083
000084
000085
000086
000087
000088
000089
000090
000091
00009?
000093
000094
000095
000096
000097
000098
000099
000100
000101
000102
000103
000104
000105
000106
000107
000108
000109
000110
noo
oon
ooo
ooo
noo
onn
ooo
ooo
ooo
ooo
ooo
ooo
oon
ooo
ono
ono
ono
noo
noo
ooo
ooo
ooo
ooo
ooo
ooo
000
000
000
ono
noo
000
ooo
000
000
000
000
ooo
000
ono
ooo
ooo
ooo
000
ono
000
oon
noo
ono
oon
noo
oon
noo
ono
noo
non
nno
nno
110
c
c
c
1?0
Z2 = 72M».1.?'<
CONTINUE
RETURN
««««*«»*»««*««
««»*»«»»»»««»«
7? = 0.5»AO ( ) » IX
lAO(l.IX.4)»Cf)S
END »»»»•»»»•»*»«
TIDAL CONTROLLED NODE «#•»»»»«••#••
.1 ) +AO(l»IXt2)»COS(W»zn+AO(l»IX»3)«COS(2.»W»Zl)*
<3.«W»Zl)+AO(l,IX«5)»SIN(W»Zl)+AO(liIX»6)»SIN<2.»W»Z
/?!> +AO (1 •IX.7)«SIN(3»»W*Zl)«AO(l«IXtA)*SIN(4.*W*Zl)
C
C
C
130
C
C
140
150
160
C
C
C
c
17(1
IPO
190
C
C
C
c
200
?in
RETURN
»«»»«»»«»»«»«»
»»»«»»«»»»««*»
TX = Z1
GO TO ISO
»»«»««««*««*•»
«»«»»»»<*»»«»»»
CONTINUE
TX=7l/3bOn.
11 = 1
I2=IX
IRErUR=l
GO TO 220
CONTINUE
z?=zz
RETURN
»»»»»»»»»»»»»»
OtXHUHHHHHHHtttft
CONTINUE
TX=Z3/360n.
11 = 1
I2=IX
IRETUR=?
GO TO 220
CONTINUE
7 = 7Z
11=2
I«ETUR=3
GO TO 2?n
CONTINUE
Z1 = 7Z
RETURN
«»»»»»»»*»«»»»
«o « a»(nn> <»<> « «» «
CONTINUE
TX=71/360n.
11=3
I?=IX
1RF.THR = 4
GO TO 7?0
OOUTINIIF
7.? = 77
PFTllRN
END ««»»«««»«*»««
Q VS H NODF *»»•»••*•«»«
END «»»««»«*»«*««
HVS T AND Q VS T MODES »«»«#«#»•«•»•
EMD «»«««•*»»**•«
THIS is THE H vs T AND a vs T NODE »«•»»*«#•••••
FNI) »«»«««««•»««*
GENERATE THE HYDROGRftPH OUTPUTS ««»••«»•«•»••
53
5*
55
56
57
61
6?
63
64
65
66
67
68
69
70
71
72
73
7*
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
9?
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
94
-------
GFMF'IW
000111
0001 1?
000113
00011*
000115
000116
00011 7
00011*
00011V
000120
0001?!
0001??
000
000
000
000
000
000
000
000
ooo
000
000
ooo
c
c
c
c
?
c
c
END ElT.
«»»«»«*«•»«»»»
•*»•»*****»•*
GENERATE THE FUNCTION •«•»••••*•«••
CONTINUE
ZZaAOm.I?.l)*AO
-------
HYOCAL •««»««
»ELT»l. HMAIMT.HYDCAL
000001
00000?
000003
000004
000005
000006
000007
00000«
000009
000010
OOOOli
000012
00001.1
000014
000015
000016
000017
ooooio
000019
000030
000021
00002?
000023
000024
000025
000026
000027
00002*
000029
000030
000031
000032
000033
000034
000035
000036
000037
00003*
000039
000040
000041
000042
000043
000044
000045
000046
000047
00004fl
000049
000050
000051
000052
000053
000
00 (1
000
000
ooo
000
ooo
000
000
000
oon
OOD
000
ooo
oon
000
000
ooo
ooo
00(1
000
000
000
000
ooo
ooo
ooo
000
000
000
ooo
ooo
ooo
000
ooo
000
000
000
000
000
00 0
000
noo
000
000
000
000
000
000
oon
ono
oon
000
c
c
c
c
c
c
c
c
c
c
c
c
c
c
c
c
c
c
c
c
c
c
100
1) 0
SUfROUT IMF HYDCAL
THIS ROUTINE IS CALLED »V HMAINV (09 HMAlNT)
AND CALLS GENFUN
BATTELLE NORTHWEST 11/9/71
A5SIGN THE COMMON DATA
COMMON /TAPFS/N5»N6»N20*N22»N2*
COMMON/PARAMS/IZ5«IZ6*lZ9»l/n2*IZ13
CONTROL AND TITLE INFORMATION
roMMON /PRIMT/ NJfNCtNTCYCtNQCYC.DELTOfPERIOD.ALPHAMO) .
1DEP(70)tNOSwRT
COMMON/UUAL/NCHAN(70«6)»AS(70)»LEN(100)»NJUNC(100»?.)
COMMON/«IN/<)INT.DELT»HINO»WOIR»NJSW,NJGW»NHCYC»NT»ICYC»NCYC»W»
INFXITtJSW(PO)tJflW(20)»AO(3,20,10)
JUNCTION INFORMATION
COMMON/M50/H(70)»HN(70 I»HT(70)tHBAP(70) .HAVE(70) *
11 POINT ( 70 f M .VOL (70) »X(70) »Y(70) »QIN(70) »OOIJ(70) <.
?(JIMST (20) ,QINRAR(70) »QOUBAR(70)
CHANNEL INFORMATION
COMMON/B7?/B<100)*R(100)«A(100)tAT(1001tAK(100)»0(100)»QBAR(100)t
10AVF(100),VUOO)»VT(100)«VHAR(100).FWIND(IOO).NTFMP(6)t
2NCLOSUOO)
COMMON/NTR/NTRIBtTRBDEP(50) ,ITRIB(50,?)
REAL LEN
REAL LAM
DIMENSION ARHAY(J3)
DIMENSION
DATA A51Ff
-------
HYDC4I.
000054
OOOOSS
000056
00005?
000058
000059
000060
000061
000062
000063
000064
00006S
000066
000067
00006fl
000069
000070
000071
00007?
000073
000074
000075
000076
000077
00007«
000079
000080
OOOOfll
OOOOP?
OOOOR3
0000«4
OOOOB5
000086
000087
OOOOflU
OOOOH9
000090
000091
00009?
000093
000094
000095
000096
000097
00009H
000099
000100
000101
oooioa
000103
000104
00010S
000106
000107
000108
000109
000110
000
000
000
000
000
000
000
000
000
000
000
000
000
000
000
000
000
000
000
000
000
000
000
000
000
000
ono
000
000
000
000
000
000
000
ooo
000
000
000
ooo
000
000
ooo
000
000
000
000
ooo
000
000
000
000
ooo
000
000
000
000
000
c
c
c
c
c
c
c
c
c
c
c
c
c
c
c
c
120
c
c
c
c
130
c
c
c
c
140
c
c
c
c
c
150
c
c
5(1)»I=1»NJ).((NJUNCtN.L)«L*I.2)»LEN(N)»R(N)»R.OAVE(N),V(N).VTrNl»VBAR(N)»FWIND ,W=1 tNC) .PERIOD*
-------
HYOCAL
000111
000112
000113
000114
000115
000116
000117
000118
000119
000120
000121
000122
000123
000124
000125
000126
000127
00012«
000129
000130
000131
000132
000133
000134
000135
000136
000137
00013*
000139
000140
000141
00014?
000143
000144
000145
000146
000147
000148
000149
000150
000151
000152
000153
000154
000155
000156
000157
00015S
000159
000160
000161
00016?
000163
000164
000165
000166
000167
000
000
noo
noo
000
oon
ooo
ooo
noo
ooo
ooo
ooo
ooo
oon
000
non
ooo
noo
ooo
ooo
ooo
ooo
noo
ooo
ooo
oon
ooo
ooo
oon
noo
ooo
oon
oon
noo
noo
noo
ono
ooo
ooo
oon
oon
000
oon
oon
noo
nn-o
oon
ooo
ono
oon
nno
oon
ooo
oon
noo
noo
non
c
c
c
160
C
170
180
C
C
C
241
C
C
C
190
C
C
C
c
c
200
210
C
C
C
2?n
C
C
?30
?4n
C
r.
c
DETERMINED FROM A MASS BALANCE
USE GENFUU TO CALCULATE INITIAL VALUES
CALL GENFUN +. { H ( N|_ ) » H ( NH ) ) /2 .
*»«»««*»» /1RF. THERE ANY TIDAL FLATS •«•*••«*»•#••##»#*••«•«•»•**•»
IF (NTRIO.LE.O) GO TO 220
00 200 I=1«NTRIR
IF (N.EO.ITRIB(I.l) ) GO TO 210
CONTINUE
GO TO 220
I JN=lTRIfl (It?)
IF ('IJN.EO.ND IHJNsNH
IF < IJN.EO.NH) IHJN=NL
RIVER DEPTH IS THE DIFFERENCE BETWEEN HEAD AND BOTTOM
ELEVATION (NOTE THAT PEP IS NEGATIVE)
P (N) =H( UN) +TRHnEP(I)
IF (H(IHJN) .LT.H(IJN) I GO TO 220
COMPUTE AVG RIVER DEPTH (MOTE SIGN CONVENTION)
R(N) = (H( fHJN) +HUJN) ) /?, +TRRDEP ( I )
TONT INUE
AREA = '
-------
HVOCAI »•*»»«
00016R
000169
000170
000171
000172
000173
000174
000175
000176
000177
00017«
000179
OOOlflO
OOOlfll
000182
000183
000104
0001B5
000186
000187
0001HH
0001fl9
000190
000191
000192
000193
000194
00019S
000196
000197
000198
000199
000200
000201
000202
000203
000204
000205
000206
000207
000208
000209
000210
000211
000212
000213
000214
ooo?i=;
000216
000217
000218
000219
)00?20
)0022l
)002?2
)00223
)002?4
noo
noo
000
000
000
000
000
000
000
000
000
000
000
000
000
000
000
000
000
000
000
000
000
000
000
000
000
000
000
000
000
000
ooo
000
000
ooo
ooo
000
000
ooo
000
nno
000
ooo
000
000
oon
ooo
ooo
000
000
noo
noo
000
ono
000
nno
260
c
c
c
c
c
c
c
c
c
c
c
c
c
c
c
c
c
c
c
c
c
c
c
270
280
c
c
c
c
c
c
c
c
c
c
c
c
c
c
(,
00 260 J=ltNJ
VOL(J)=0.
IF (AS(J) .1-0.0.) 60 TO 260
VOL(J)»(H(J)+DEP(J))»AS(J)
CONTINUE
«» » »»»»*»« tnnxt ENH
0«0000«»»«»0» START OF OUTER DO LOOP «••»»•*•»»#•««•»«•»•*•»*•«•••
NT=THE DAILY CYCLE NUMBER
NTCYC'THF. MUMPER OF DAILY CYCLES TO PE SIMULATED
««»«««««»»«#«»«««««»«***«*»««»»»«»«»«*«»*•»«««»«»»«»»«»««»««*•«**•
DO "510 NTel.NTCYC
HOIJWaO.O
00»»»»»«0«x»0» START OF THE 2ND OF THREE NESTED DO LOOPS ••»•*•«•«•
««»tt««*«»««««»«»»*««*«»*tt»*«ff«««»ff«»»««»*«»««»**««*««««*»0««**«***
NQ=THE (HI AI ITY CYCLE NUMBER
NQCYCsTHE MJMRER OF QUALITY CYCLES PER DAILY CYCLE
DO 900 NQ*1,NQCYC
INITIALIZE THE OUTPUT ARRAYS FOR THE SWOUAL ROUTINE
DO 270 Nal.NC
VBAR(N)=0.
(JflAH(N)=0.
00 280 J«1»NJ
HBAPI J)=0.
<»INBAR(J)«n.
OOUHAR (J)*0.
CONTINUE
«««»««««««»»««
*»«***«***••*
»«00«»«00»000 START OF THE THIRD OF THREE NESTED DO LOOPS *••••»*
NHH=THE HYDRAULIC CYCLE COUNTER
NHCYC=THE NUMBER OF HYDRAULIC CYCLES PER QUALITY CYCLE
DO 860 NHHaltNHCYC
TIME IS THf TIMINB VARIABLE THAT RFfilNS AFTFR THE FLOW PATTERNS
HAVF REACHED F.OUILIHRIUM
IF (NT.LT.MQSWRT) C,(l TO 300
137
138
139
150
151
152
153
154
155
156
157
158
159
160
161
16?
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
99
-------
HYDCA!. •««*»»
000??5
000226
000227
0002?fi
000229
000230
000231
000232
000233
000234
000?35
000236
000237
00023*
000239
OOOP40
000241
00024?
000243
000244
000245
000246
000247
000248
000249
000250
0002M
000252
000253
000254
0002*15
000256
000257
000258
000259
000260
000261
000262
000263
000264
000265
000266
000267
000268
000269
000270
000271
000272
000273
000274
000275
000276
00027?
000278
000279
000280
00028)
000
000
000
000
000
000
oon
000
000
000
000
000
000
000
000
000
000
000
000
000
000
000
000
000
000
000
000
000
000
000
000
000
000
000
000
000
000
000
000
,000
000
000
000
ooo
000
000
000
000
ono
ooo
000
000
000
000
000
oon
000
c
c
c
c
c
c
c
290
c
c
c
c
300
310
320
c
c
c
c
330
c
c
c
c
c
c
340
c
c
»»»»•»»«> e »«« HYDpoGPAPH INPUTS *»»»»»»«»»»#»»«»»«»•»«»»»«*»»•»«»»««
IF (NJSW.F.-l.O) GO TO 300
no ;»90 L = l «N isw
J=JSW(L)
+ *» + + USE SUHROUTINE GF.NFUN TO GENERATE FUNCTIONAL VALUES + + + + + »
CALL GENFUN (TIHE»OIN(J)»2»L»TIME)
»»» SPECIAL TASF - EPA PESTICIDE STUDY
THE TEST FOR EQUALITY BETWEEN NON-INTEGERS MAY NOT BE MEANINGFUL.
IF (TIMt .GT.HYDEND.AND.HYDENIi.NE. 0.0) OIN(J) » 0.0
IF(QIN(J).LT.0.0) OIN(J) = 0.0 PEST
203
?04
205
206
207
208
209
OIN( J)=++» OF THE CHANNELS TO SEE IF THEY HAVE DRIED UP» AND» IF THEY
* + + + H/WF» SKIP THE CALCULATIONS. +»*»»«•
IF (NJUNC(Ntl).LE.O) GO TO 380
f + + + PRY CHANNI-L CHECK (DRY IMPLYING THAT DEPTH IS LESS THAN 0.01
»++* MFTEWS OR 0.033 FEFTI »++*»»
IF(R(N).GF.0.001) GO TO 340
VT(N)=0.0
Q(N)=0.0
GO TO 3UO
CONTINUE
NH=NJUNf(N.?)
»»»+ DELFH = DIFFERENCE HETWFEN HEADS «T THE NODES AT EACH END OF THE
t++* CHANNEL (BEGINNING OF TIMFSTFP) ++++++
OtLTH = H (^|H) -H ( NL )
HELT/ = i'EP(ML)-r>FP(NH)
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
238
239
240
241
242
243
100
-------
HYOCAI.
00028?
000283
000284
000285
00028ft
000287
000288
000289
000290
000291
000292
000293
000294
00029S
000296
000297
000298
000299
000300
000301
000302
000303
000304
000305
000306
000307
000308
000309
000310
000311
000312
000313
000314
000315
00031ft
000317
000318
000319
000320
000321
000322
000323
000324
000325
00032ft
000327'
000328
000329
000330
000331
n n n 1 1 ?
U U U J Jr
000333
000334
000335
000336
000337
000338
oon
000
000
000
000
000
000
000
oon
000
000
oon
oon
oon
000
noo
oon
oon
noo
000
000
oon
oon
noo
000
000
000
000
000
000
oon
000
000
000
000
000
000
000
000
000
000
000
000
000
000
000
000
000
noo
000
n n n
U U v
ono
000
noo
noo
000
000
c
c
3^0
c
360
370
C
C
C
C
c
c
c
380
C
c
c
c
c
c
c
DEL
DEL
4 » * + + +
IF
DO
+**«+»
IF
CON
GO
»»»
UN
IF
IF
DEL
IF(
IF(
IF(
IF(
IF(
CON
TEM
TEMi
HCH
DEL
V2=
OEL
V2 = '
OEL'
V2 = '
1»»2
OEL'
VTII
0(N
CON
«»»•
otto
»»«'
0004
00 '
»»»+*«
SUM*
00 '
IF
If
N = M(
DELH»n.6»(H(NH)-HT(NH)+H(NL)-HT(NL))
--' TY=UE.LTH-OtLTZ
ARE THFi?F ANY TRIBUTARY CHANNELS? » + + + + +
(NTRIH.IE.O) 00 TO 370
350 IL=1»MTRIH
IS CHANNEL N A TRIBUTARY CHANNEL? +»*+»+
(N.EG.TTHTR1IL«1)) GO TO 360
riwut
TO 370
»»» IJN=NUMBER OF THE TIDF FIAT NODE «*»»»«••»«»•»«•»»***»«»»«»
IJN=ITRIB(IL»?)
(IJN.FO.NL) IHJN=NH
(IJN.E(J.NH) IHJNsNL
TZ=2.»("KPFLV2
OELV4=-32.1719»(OELTH-DELTZ)/LEN(N)
V2=V2»DELT?«OELV4
B.5»( (l./TEMP*2.»ABS(V2))-SQ&T«l./TEMP<
DELV3=-SIGN(DELV3iV2)
VT(N)=V?*DELV3
,»V2))»«2-4.»V2
0(N)=VT(N)«A(N)
CONTINUE
«»«»««»««««««»
F NO
«»*«»»»«««*»*
«»»»««««««»«» CONTROLLED NOOF CALCULATIONS •*«•••••«»#»»»#••••••»*
nt» FLOW AT 1/4 OFLT AND HFAO AT 1/2 DELT
00 470 J=1.NJGW
FLOW OUT OF NODE (SIIMQ) OUE TO FLOWS
CALCULATED IN ADJACENT CHANNELS +*++*»
00 400 K = l,I7f>
IF (NCHAN(JtK) .F.O.J) GO TO 400
If (NCHAN(J.K).LE.O) GO TO 400
265
266
267
268
269
270
271
272
273
274
275
276
277
101
-------
HYDCAI.
000339
000340
000341
00034?
000343
000344
000345
000346
000347
000348
000349
000350
000351
000352
000353
000354
000355
000356
000357
00035R
000359
000360
000361
000362
000361
000364
000365
000366
000367
000368
000369
000370
000371
000372
000373
000374
000375
000376
000377
000378
000379
000380
000381
000382
000383
000384
000385
000386
000387
00038M
000389
n A n ion
U U v J V v
000391
00039?
000393
000394
000395
noo
000
000
ono
000
000
000
oon
ooo
000
000
000
000
ooo
noo
ooo
oon
ooo
ooo
000
000
000
ooo
000
000
000
000
000
oon
ooo
ooo
ono
oon
ono
ooo
ooo
ooo
ooo
ooo
000
000
ooo
ono
noo
noo
000
000
oon
000
oon
non
n n n
\* \i \'
000
000
noo
nno
noo
390
400
c
c
c
c
c
c
410
C
C
C
c
c
420
C
C
C
C
430
C
C
c
c
c
c
440
C
c
c
c
1
450
C
IF ( J.NE.KJUNC FLHH
GO TO 47n
TIDAL CONTROL STAGE
****** USE SUBROUTINE GENFUN TO GENERATE FUNCTIONAL VALUES ******
CALL GENFUN { T2.HT ( J) t 1 • Jt T2 )
Q(J)=-SUMQf (HT(J)-H(J) )«AS(J)/DELT2
VT (J)sQ,
GO TO 470
0AM IS OPERATED ACCORDING TO A Q VS H OPERATION POLICY
****** USE SUBROUTINE GENFUN TO GENERATE FUNCTIONAL VALUES ******
CALL GENFUN
-------
HYOCAI_
000396
000397
00039B
000399
000400
000401
000402
000403
000404
000405
000406
000407
000408
000409
000410
000411
000412
000413
000414
000415
000416
000417
000418
000419
000420
000421
0004??
0004?3
000424
000425
000426
000427
000428
000429
000430
000431
000432
000.431
000434
000435
000436
000437
000438
000439
000440
000441
000442
000443
000444
000445
000446
000447
000448
000449
000450
000451
000452
000
000
000
000
000
ooo
000
000
000
noo
000
000
000
000
oon
000
000
000
oon
000
oon
ooo
ooo
000
000
000
flOO
000
000
000
000
POO
000
000
000
000
ooo
000
000
000
000
000
000
000
ooo
000
000
noo
000
000
000
000
000
001
000
000
000
c
c
c
c
460
c
c
c
470
c
c
c
c
c
c
c
480
400
c
c
c
c
c
c
c
500
c
510
GO
DAM
OETI
******
CALl
******
SUM(
******
HT (>
VT (.
CON1
«««<
»*•<
»»o<
no «
******
******
SUMC
00 t
IF 1
N=N(
IF i
SUMf
GO 1
SUMl
CON1
If 1
******
SUMr,
******
HT(v
******
IF (
******
******
HT(v.
VOL(
AS(J
no *
NX»lN
IF (
IF (
******
NCLfl
CONT
******
NOPY
CONT
IF (
IF (
no 5
IF <
TO 470
OflM WHOSE OUTFLOW IS A KNOW FUNCTION OF TIME AND WHOSE HEAD IS
DETERMINED FROM A MASS BALAMCE
»»»+* USE SUBROUTINE GENFUN TO GENERATE FUNCTIONAL VALUES ******
CALL GENFUN (TIM?»Q(J)•1«JtTIM?)
++++» NET FLOW *****
SUMQ=SUMO+o
***** CHANGE HFAD TO ACCOMODATF NET FLOW »*++»»
HT(J)=H(J)-OELT2«SUMQ/AS(J)
0.
UE
««*•*«««»•»**
»*»«««»«**•««
«*«»**•«««»•« REGULAR NODE1; STAGE AT 1/2 DELT
JaNJRWltNJ
***** CALCULATE NET FLOW OUT OF NODE (SUMO) DUE TO FLOWS
CALCULATED IN ADJACENT CHANNELS ******
Kal, 17*
IF (NCHANM.K) .LE.O) GO TO 4<>0
N=NCHAN( J,K)
IF ( J.NF. .NJUNClNi 1) ) 00 TO 480
J (N)
SUMU*SUMO-0 (N)
(AS(J) .LE.O.) GO TO 510
»+* NET FLOW OUT ******
SUMO=SUMQ+OOU(J)-QIN(J)+EVAP»AS(J)
++» CHANGE HEAD TO ACCOMODATE NET FLOW »++«**
HT(v))»H(J)-OELT2«SUMQ/AS(J)
»+» IS HEAt) GREATER THAN BOTTOM ELEVATION (IS THERE WATER PRESENT)?
IF (HT(J)*dEP(J) .GT.O.) GO TO 510
NQDt IS DRYt SO SET HEAD EQUAL TO BOTTOM ELEVATION
(RUT CHANGE SIGN) +++*»+
HT(J)3-DEP(J)
0.
AS(vl)
K = l,IZf-
N(J,K)
(NX. LE.O) GO TO "500
(NX.LE.MJOU) GO TO 5PO
MARK AS A DRV CHANNEL ******
S(NX)=)
INUE
MARK AS A DRY NODE ******
IF (NDRY.FO.O) 00 TO 560
IF (NTIMS.GT.?) 00 TO S60
DO 5SO NaMJGW) ,NC
IF (NJUNC(Mtl ) .LE.O) GO TO 5SO
314
315
316
317
31B
319
320
321
322
323
32*
325
326
32T
328
329
330
331
332
333
334
335
336
337
338
339
34o
341
34?
343
344
345
346
347
348
349
350
351
352
353
354
103
-------
HYOCAL »»»«»»
000*53
000454
000455
000*56
000457
000458
000459
000460
000461
000462
000463
000464
000465
000466
000467
000468
000469
000470
000471
00047?
000473
000474
000475
000476
000477
00047*
000479
000480
000481
OOOAB?
000483
000484
000485
000486
0004R7
000488
000489
000490
000491
00049?
000493
000494
000495
000496
000497
000498
000499
000500
000501
000502
000503
000504
000505
000506
000507
000508
000509
000
000
000
000
000
000
000
000
000
000
000
000
000
000
000
000
000
000
000
noo
000
oon
000
ooo
000
000
000
000
000
oon
000
ooo
000
000
000
000
oon
non
000
onn
ooo
noo
000
ooo
000
onn
non
ooo
ooo
noo
ooo
noo
000
oon
oon
non
oon
5?0
530
540
550
560
C
C
C
C
C ^
C <
r
c
570
580
590
C
C. +
If (NCLOSri) .MF.I ) GO TO 550
CJ (N I = 0 .
V(N)=0.
VT(N)=0.0
00 540 1=1,2
II=NJUNC(N,I>
DO 520 J=1«IZ6
IF .EQ.N) 00 TO 530
CONTINUF
GO TO 540
NCMANUI tJ)e-N
NJUNC(N»I)=-II
CONTINUF
60 TO 330
CON1
«*«*««««*»*»*
COMPUTATION OF CROSSECTIONAL AREA AND FLOW AT 1/2 0
AND VELOCITIES AT THE FULL OELT «»••#««•»••»•
DO 630 NsNJfiWlfNC
IF (NJU*'C(N»1 ) .LE.O) 60 TO 630
NL=NJUNC(N.1)
NHsNJUNC (M.?J
*++» HEAD FICRFMENT * AVG OF THE CHANGE IN HEAD OVER ONE-HALF
* + »* TIMFSTEP AT THE TWO CHANNEL ENDS +++«*+
DELH=O.S*(HT(NH)-H(NH)+HT(NL)-H(NL))
DELTH*HT(NH)-HT(NL)
OELT7 = DF.f> (M|_ ) -DEP (NH)
DELTY=OELTM-OF_LTZ
RNT=R(N>*DFLH
HCHAN=(HT(MH)*HT(ND)/?.
AT(N)eA(M)+B(N)»DELH
«»»»»»»»» /\Rf THERE ANY TIDal FLATS «««««««««»»»«»*«»»«»«»»»»»»»»»
IF (NTPIR.l E.O) GO TO 590
DO 570 Us] ,NTRIB
ooooo» 15 CHANNEL N A TIDE FLAT CHANNEL «»»»««*#»»«»»»««»*«««««•«•
IF (N.EO.ITHIfl(IL»1)) 00 TO 580
CON!INUF
GO TO 5VO
UN=ITRIHUL»?)
IF (IJN.FO.UH) IHJN=NL
IF (UN .FU. ND IHJN = NH
neLT^ = ^.»(nF_P(I JN)-TRRP)EP( IL ) )
IF (IHJN.I_T.UN) l)ELTZ=-DFLW
DFLTYaO.O
DELH*HT( UN)-H (UN)
RNT= (HT (IHJN) *HT (UN) )/2.«TRBDEP( ID
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
379
380
381
382
383
384
385
IF (HT(IJN).GT.HT(IHJN))
IF(HT(IJN).6r.HT(IHJN))
RMT = HT (UN) *TRBDEP( ID
IF (HT (UN) .GT.HT (IHJN) )
AT (N) =B (N) »«f)T
COM INUF
«»«»»*#«*«»»»» nHY CHANNEL CHECK (UNHFR 0.1
+++* IF (HANMFL IS D«Y, SET VFLOCITY AND FLOW
IF (UNT.GT.n.OOl) GO TO 600
V(M)=0.
O (M ) = (I.
r,o ro ^in
FEET)
TO ZERO
»«»«»«««««»*«
»++++*
391
394
396
397
39fl
104
-------
HYDCAl
000510
000511
000512
000513
0005)4
000515
000516
000517
00051H
000519
000520
000521
000522
000523
000524
000525
000526
000527
000528
000529
000530
000531
000532
000533
000534
000535
000536
000537
00053*
000539
000540
000541
000542
000543
000544
000545
000546
000547
000541
000549
000550
000551
000552
000553
300554
300555
300556
300557
30055*
300559
100560
100561
'00562
'00563
'00564
• 00565
'00566
noo
000
000
000
noo
000
noo
000
000
oon
000
000
000
000
000
000
000
000
000
000
oon
000
000
000
000
000
000
000
oon
oon
000
000
000
000
000
noo
000
000
oon
flOO
000
noo
000
000
000
000
000
000
000
000
000
oon
non
noo
noo
000
000
600
c
c
c
c
c
c
c
c +
c *
610
c
c «•
620
C
630
C
C
C
C
c
c «
c *
640
650
C
C »
CON11NUE
TF.MPaAK (N) /(RNT»» 1.3333)
399
DELV1=*»?))
OELV33-SIGH GO TO fi?0
OBAH»»« CHECK FOR EXCFSSIVE VELOCITIES «••««•••»•••«
RAN=R(N)/3.2*
VAN=V(N)X3.2R
IF (ABS(VAN) .LT. 10.0) GO TO 630
WRITE(N6,1110) NT»NO»NHH»RAN.VAN»N
CONTINUE
««»«««««»»«»»« fMn »«•»•*«*»«*»•
»«««««»«»«<»»« CONTROLLED NODE CALCULATIONS AT FULL TIME STEP *#•••
00 740 J=1.NJGW
++++ CALCULATE NET FLOW OUT OF NODE (SIIMQ) DUE TO FLOWS
+»*+ CALCULATED IN ADJACENT CHANNELS +++*++
SUM(J=0.
DO 650 K=1,I76
IF (NCHAN(.NK).FO.J) GO TO 6^0
IF (NCHAN(J.K).LE.O) GO TO 650
N=NCHAN(J.K)
IF (J.NE.NJUNC(Ntl)) 60 TO 640
RO TO b50
SUMQ=SUMQ-0(N)
CONTINUE
FL'1»/ flilT ** + * + *
(J)-UIN(J)*FVAP»AS(J)
408
409
410
411
41?
413
414
415
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
105
-------
"HYOCAI. •»»«««
000567
000568
000569
000570
000571
000573
000573
000574
000575
000576
000577
000578
000579
000580
000581
000582
000583
000584
000585
000586
000587
000588
000589
000590
000591
000593
000591
000594
000595
000506
000597
000598
000599
000600
000601
000603
000603
000604
000605
000606
000607
00060P
000609
000610
00061 1
00061?
000613
000614
00061";
000616
000617
000618
000619
000620
0006?!
0006??
000623
000
000
000
000
000
000
000
ooo
ooo
000
000
ooo
ooo
000
000
000
000
000
000
000
000
000
000
ooo
000
000
000
000
000
000
000
000
000
000
000
000
000
000
ooo
000
000
000
noo
000
000
000
ooo
000
000
000
000
1)00
000
000
000
oon
000
c
c
c
c
660
c
c
c
670
c
c
c
c
680
c
c
c
c
690
c
c
c
c
c
c
700
c
c
c
c
c
no
f
r
* + + WHAT TYPE OF" CONTROLLED MODE? ******
GO TO (660>6HO»690«700»710«7?0) « I, IK
WEIR RELATIONSHIP
****** USE RENFIJN TO CALCULATE FUNCTIONAL VALUES ******
CALL GENFUN /DELT-SUMQ
If (O(J).LT.O.) (J(J)«0.
V(J)sO.
»**«+» CHANGE HFAD TO ACCOMMODATE NET FLOW ******
HN(J)=H(J) +OELHH
*+*+++ CALCULATE VOLUME CHANGE ******
DVOL*(HN{J)-H( J) >«AS< J)
****** NEW VOLUMF ******
VOL (J)=VOL ( J) *DVOL
GO TO 730
TIDAL CONTROL STAGE
****** USE OENFUN TO CALCULATE FUNCTIONAL VALUES ******
CALL GENFUN < T ,HN ( J) • 1 • J» T )
Q(J)=-SUMO- (HN(J)-H(J) )»AS( J)/OELT
V(J)*0.
GO TO 670
0AM OPEHATEP ACCORDING TO A Q VS H OPERATING POLICY
+++*++ USE GFMFUN TO CALCULATE FUNCTIONAL VALUES *++»*+
CALL GENFUN (HT ( J) tOJ?» 1 »Jt T IME )
NET Fl Ort OUT ******
SUMQ=SUMO»QIJ)
+*»++* CHAMGF HEAD TO ACCOMMODATE NET FLOW **++++
HN ( J) =H ( J) -DEL T«SUMO/AS ( J)
V(J)=0.
RO TO 670
DAM WHOSE HEAD AND OUTFLOW APE KMOHN FUNCTIONS OF TIME
++*»»+ USF GENFUN TO CALCULATE FUNCTIONAL VALUES ++++++
CALL GENFUN (HN(J) »OJ2t 1 t J» T IMF )
0(J) = (U(J) *OJ?) //>.
V ( J)=0.
GO TO 670
[JAM WHOSE UFA!) IS A KNOWN FIJMCTION OF TIME AND WHOSE OUTFLOW
IS DETFKMlnFn F«OM A MASS RAI /1NCF
** + + USE GF'IFUM T" CALCULATE FUNCTIONAL VAL'IFS + + « + + +
CAM fiKNFUM (T IMEtHN(J) t ItJ.T IMF )
0 (,))=- SUMO- (HM ( J)-H(J) )«AS ( J) XOELT
IF (G(J).IT.O.) 0(J)=0.
V (J) =0.
fio ro t>?o
I)A" WHOSF DIITFLOtl IS A KNOWN HJNCTIOM OF TlnK AND '-IHOSF HEAD IS
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
46?
46J
464
466
467
46f
46
-------
»»«»»« HYHCAI *»«»»»
000624
00062^
000626
000627
000628
000629
000630
000631
000632
000633
000634
000635
000636
000637
000638
000639
000640
000641
000642
000643
000644
000645
000646
000647
000648
000649
000650
000651
000652
000653
000654
000655
000656
000657
000658
000659
000660
000661
000662
000663
000664
000665
000666
000667
000668
000669
000670
000671
000672
000673
000674
000675
000676
000677
000678
000679
000680
non
ooo
ono
ooo
noo
noo
ooo
noo
oon
noo
ooo
nno
noo
nuo
ooo
ooo
ooo
ooo
00ft
noo
ooo
ooo
ooo
ono
ooo
000
ono
ooo
ono
000
ooo
ooo
ooo
000
000
000
000
000
000
000
000
000
000
noo
noo
000
000
0 0 ft
ono
noo
ono
ono
nno
noo
ono
ooo
nnn
c
c
c
7^0
r
c
c
c
c
730
c
c
740
c
c
c
c
c
c
c
750
760
C
C
C
770
C
C
C
780
79n
COMPUTE!; FM)M A MASS BALANCE
+»»»** USE RF^FM'J TO CALCULATE FUNCTIONAL VALUES
CALL fiFUFUN (TIME*OJ2*1 fv/»TIM£)
(J< J)ss (»fto«tnnn>« FNO
CONTINUE
«*«»«*»«»»»««» £Nn
««»»«*•*•«»»»*»•»««»•»»»•»•»•«»••«»»«»«•••*•»
«««««»#«»»»»»« COMPUTATION OF NODAL <:TAfiE AND
DO 770 JsMJGWltNJ
****** CALCULATE NET FLOW OUT OF NODE (SUMO) DUE
****** CALCULATED IN ADJACENT CHANNELS »** +
SUMQsO.
HN(J)=-OFP(J)
IF (ASKI) .I.F.O.) GO TO 770
DO 760 Ksl,IZ6
IF (NCHANI J»K) .LE.O) 00 TO 760
N=NCHAN(J,K)
IF (J.Nt.N,IUNC(Nil) ) 00 TO 750
SIIMQ=SUMQ*iO (N)
GO TO 760
SUMOaSI)MQ-O(N)
CONTINUE
****** NET FLOW OUT ******
Sl)M(|sSIJMiJ + oOU( J) -QIN(J)*EVAP*AS(J)
****** CHAMGF. HEAD 8ASED ON CALCULATED NET FLOW
HM ( J) =H ( J) -1>ELT«SUMQ/AS ( J)
HT(J)=0.5«(HN(J) *H(J) )
VOL ( J) =V>L < J) -DELT»SUMQ
CONTINUE
««»»«»«»«»»»«« SUM NODAL VOLUMES AND FLOWS
IF CNT.l T.NWSWRT) GO TO 790
1)0 780 v)=l .HJ
HhAP ( J) =HPAR ( J) *HN( J)
OINHAH(J)=OINHAR( J) *OIN(J)
OOIIRAR ( J) =OOUHAR ( J) *QOU ( J)
COHTI'lUf
CuNTINUt
******
*
CONTROL NODES ••»«•»•
*«««««•*««««*
««««»«•»**•**
«•»«»«»««»«»«»«»•*«»*
VOLUME AT FULL DELT
TO FLOWS
**
******
«««#«««««*«»»
471
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
50?
503
504
505
507
508
509
510
511
513
513
514
515
107
-------
»*«»«» HYDCAL •*»«««
000681
00068?
000683
000684
000685
000686
000687
000688
n fi ft AUQ
U U \J Oo "
000690
000691
n n n £ ri 3
0 0 Oo9i*
000693
000694
000695
000696
000697
000698
000699
000700
000701
00070?
000703
000704
000705
000706
000707
000708
000709
n n n 7 1 n
\l U U f 1 U
000711
00071?
000713
00071*
00071^
000716
000717
000718
000719
000720
000721
0007??
0 0 07?3
0007?4
000725
000726
n n n 7 *3 i
U u U fcf
000728
000729
000730
000731
n ft n T *a 3
UU U r jc
000733
000734
000735
000736
000737
oon
000
000
oon
000
000
000
000
n n n
'Ml U
000
000
000
000
000
oon
000
000
oon
000
000
000
000
000
000
1)00
noo
000
000
nno
n A n
U " "
000
ooo
noo
000
000
000
non
noo
noo
oon
oon
000
nOO
nno
ono
oon
n n n
\i U f '
noo
ooo
000
ooo
n n n
U U «'
oon
oon
ooo
non
noo
c
c
c
c
c *
c
800
eio
c *
830
C *
840
C
C
C
850
C
C
c
c
86P
C
c
c
c
c *
c »
8«0
»»» o » »» » no » « P;NO «#»»»««»«•«»«
«!»»»»»»«»««»«» CALCULATE THE HYDRAULIC RADIUS AND CHANNEL CROSSECT
« »«»•»»««»««<>*« AREA AT THE FULL DELT ••»«•««»•••••
DO 840 NrNJGWl.NC
IF (NJUNC(N»1) .EQ.O) RO TO 840
ML = IARS (NJIINC (N.I))
NH=IABS(NJUNC(N,?) )
..... PAI f'lll ATC" L^CAD T^ir*DfkJC*MT AC TLJC* Al/C~DAPC* f\C TLJET fUtiMf^f
***** LALviM.riL MFAU JNCKtMtNT Ab THr AvtRAbc. Or IHE CHANGE
***** IN HFAO AT EACH END OF THE CHANNEL OVER ONE-HALF TIMESTEP +»
OELH = 0.b» (HN(NH) -H(NH) +HN ( Ml. ) -M ( NL ) )
n^otf^fftf^tt ARE THERE ANY TIOAL FLATS *»*(HHHHK*»«» SHIFT THE NODAL ARRAYS «»»»*«»»*•••#
no HSO j=i("g,j
H(J)=HN( J)
a««a««*««««o»« END »««o»oo«»«»»»
/FLOAT (NHCYO
***** OAVE = DAILY CYCLE AVERAGE FLOW +++»»*
QAVF (N) =OAVF ( N ) *QB AR ( N) /FLOA T (NQCYD
CON! INUF.
00 tt90 J=) ,NJ
516
517
518
519
520
521
522
523
524
5?5
526
527
528
529
53.0
531
53?
535
536
540
541
54?
543
544
545
546
54T
548
5*9
550
551
552
553
CCA
55*
555
556
557
558
559
563
564
565
•^66
567
108
-------
OOOiUKt
00073R
000739
000740
000741
000742
000743
000744
000745
000746
000747
00074«
000749
000750
000751
000752
000753
00075*
000755
000756
000757
00075R
000759
000760
000761
000762
000763
000764
000765
000766
000767
000768
000769
000770
000771
000772
000773
000774
000775
000776
000777
00077H
000779
000780
000781
000782
000783
00078*
000785
000786
000787
0007fl8
000789
000790
000791
00079?
000793
000794
PCM »«»»«»
000
000
000
000
000
000
000
000
000
ooo
000
000
ooo
000
000
000
000
000
ooo
000
000
000
000
000
000
ooo
000
000
ooo
000
000
000
000
000
000
ooo
000
ooo
000
000
000
000
000
000
ooo
000
000
000
000
000
000
000
OOT
OOP
ooo
000
000
c
c
c
c
c
c
890
c
c
c
c
c
c
c
c
c
c
c
c
900
c
c
c
c
910
c
c
c
****** QUALITY CYCLE AVERAGE Fl OW INTO THE NOPE ******
OINHARt J)=«IK'BAR< J) /FLOAT (NHCYC)
****** DUALITY CYCLE AVERAGE FLOW OUT OF THE NODE *++
HOIMAR ( J) =(JOUHAR ( J) /FLOAT (NHCYC )
****** AVERAGE HEAD AT THE NODE DURING A DUALITY CYCLE
HBAk ( J)=HRAH ( J) /FLO AT-(NHCYC )
****** EVALUATE THE MAGNITUDE AND SIGN OF THE NFT FLO" »
IF (OINBAR(J) .EQ.O.) GO TO P90
IF (QOUUAR ( J) .EQ.O. ) GO TO K90
QINRAR(J)=OINRAR ( JJ-QOUBAR U>
QOUNAtt < J)=0.
IF (QINHAR(J) .OT.0.1 GO TO 09(1
QOURAR ( J)=- JINRAR ( J)
OINHAR(0)='I.
CONTINUE
»»***»»»»*«*«» FND
«»•««»**»»«»»« WRITE OUT THE HYDRAULIC INFORMATION
»»»»»»»»««»»«« FOH USE BY THE SWQUAL PROGRAM
WRITE (N2?) NT»NO» (HRAR(J) »VOL(J) »OINBAR(J) .OOUBAR(J)
1R(N) ,VBAR(M) ,Mrl,NC)
» e txt »» F)Y THE PRINTING AND PLOT PROGRAM
WRITE (N?4) NT»NO
WRITE (N?4) (HBAR(J) »J=1»NJ)
WRITE (N?4) (VOL(J) »J=1»NJ)
WRITE (N?4) (OINBAR(J) »Jsl,NJ)
WRITE
-------
««««»« HYDCAL
000795
000796
000797
000798
000799
000800
000801
00080?
000803
000804
000805
000806
000807
000808
000809
000810
000811
00081?
000813
000814
000815
000816
000817
000818
000819
000820
000821
000fl?2
0008?3
000824
000825
000826
000827
000828
000829
000830
000831
000832
000833
000834
000835
000836
000837
000838
000839
000840
000841
000842
000843
000844
000845
0008*6
000847
000848
000849
000850
000851
000
000
000
000
000
000
000
000
000
000
000
00"
000
000
000
000
000
000
000
00"
000
000
000
000
000
ooo
000
000
000
000
000
000
000
ooo
000
ooo
000
000
000
000
000
000
000
ooo
000
000
000
000
000
ooo
ooo
000
000
000
000
000
000
920
930
940
950
960
970
980
9"0
1000
1010
C
c
C
c
c
IK (NJSw.l K.O) flO TO 920
PUNCH 10SO. ( JSW =-OEH(J)
HAM=H(J) /3.?«
AS (J)sABS(AS(J) )
A5M=AS ( J) /10.744
OIM=01N< Jl/35.314
UOM=OOU< JJ/35.314
PAM=-DEP(J)/3.28
PUNCH 1070, J»HAM» ASMiQlM.QOMf 9AM» X ( J) t Y ( J)
CONTINUE
PUNCH 1080
no 1000 N=1,NC
IK (NTR1H.LE.OJ GO TO 980
no 960 !L=ltNTRlR
IF (ITRIR(ILfl) .EQ.N) 00 TO 970
CONTINUf
RO TO 980
IJN=ITHIP
RAD = 0.5«(-f)f P(IJN)-TRBOEPdL) )
GO TO 9«0
NHaNJUNC (N. 1 )
617
618
619
620
631
622
623
624
625
626
627
629
630
631
632
633
634
635
636
IF (NH.EQ.O) NHaNU
IF (NL.EQ.O) NL=NH
RAD=0.5« (-OEO(NL)-DEP(NH) )
CONTINUF
AK (N)=ABS(AK(N) )
R(N)=A6S (R(N) )
NJIINC(N»l)aIABS(NJUNC(Nf 1) )
NJUNC (N, ?) =IflHS (NJUNC (N»?) )
LEN(N)=ARS(LFN(N) )
RAO=RSAV(N)
AK (M) =SOHT (AK (N) *2. 208196/32. 1739)
LAM=LEN1N) /3.?8
WAMsB (N) /3.?M
WAM=RAD/3.?B
VAM=V(N) /3.?H
PUNCH 1090, M, NJUNC (N, 1 ) , NJUNC (N»2) «L AM, WAM»RAM. AK JN) , VAM
CONTINUE
PUNCH 1080
CONTINUE
WUITF
-------
«»»•»»•»
000«S3
000854
00085S
0008S7
0008S8
0008^9
000860
0008M
00086?
00086T
000864
OOOB65
oon
oon
ooo
ooo
oon
nnn
oon
ono
ooo
00 I)
ooo
ooo
ooo
ooo
ooo
c
c
in?n
1030
1040
10SM
1070
6S8
1040
1100
11 in
FORMAT (TC0
FORMAT UH^.
FORMAT
FORMAT (
FORMAT (
FORMAT (
FORMATCO V OVF.R 10 MPS» TIDAL CYCLF',14,' OUAL CYCLE»«M»'
1 CYCLE' • I*« ' DEPTH'»E10.4t • V«tE10.4«* CHANNEL•iIS)
FORMAT <3PH()COMPLETION OF THF HYDRAULIC PROGRAM }
END
PFST
PFST
HYDRO
661 -
662
663
664
r
666
r
66fl
670
671
EMI) R
PHDG.P
HYIjPLT *»*o»»
111
-------
««««»* HYDPLT «*##«»
WELT.L MMAINT.HYDPLT
oooooi
00000?
00000?
000004
000005
00000ft
000007
000008
000009
000010
00001 1
00001?
000013
000014
000015
000016
000017
000018
000019
0000?0
0000?)
0000??
0000?3
0000?4
onoo?s
0000?6
0000?7
oooo?«
0000?9
000030
000031
00003?
000033
000034
000035
000036
000037
0000-38
00003^
000040
000041
00004?
000043
000044
000045
000046
000047
000048
000049
000050
000051
00005?
000053
000
000
000
000
000
000
noo
000
ono
000
000
000
ono
ono
noo
000
noo
noo
noo
nno
noo
000
noo
000
000
000
000
000
onn
noo
000
noo
000
000
noo
noo
noo
noo
oon
nno
onn
oon
oon
non
nno
noo
000
non
noo
oon
noo
oon
OOn
C
c
C
c
c
c
c
c
c
c
c
c
c
c
c
c
100
110
1?0
SURWOUTINF HYPPLT
THIS ROUTINE is CALLED BY HMAJNV IOR HMA!NTI
AMU CALLS FIND AND PICTO
«»»««««»»««»«« HYDRAULIC PROGRAM PRINTING
»»»»»»«##«»»»* A'lD PLOTTING PROGRAM
»«»««« RATTELLE NORTHWEST 11/9/71
«»««»««»««»**
»«»««»»«»««*«
«»«»»»»*»»«»»» ASSIGN THE COMMON DATA
COMMON /TAPF_S/NStN6»N?0»N??»M?4
COMMON/PAPAMS/IZ5|IZ6»IZ9,
»»««»««»••»•#
;»»« CONTROL AND TITLE INFORMATION »•»**«»•»*»»•
COMMON /PBINT/ NJtNCtNTCYC»NOCYC»OFLTO»PERIOD.ALPHA(30) «
10EP (70) ,NO^WRT
COMMON/NT/MT^.NQPtniJMjeOO) «HP (?0.200) .VOLP (20.200) »TIM£P(?00) I
1QINP0»200) .OOIIP(20.?00) .'3P(?0«?nO)fVP(20.200)»XX(400) »YY{400) *
?ARK (400) »XYM (3»500)
PIMFNSION 1CHI6) .SPACE (6) »NJW(?0) »NCWf20) .ISYM(5)
DIMENSION CARD1 (66)
DIMENSION PUNTTT (20)
DATA STAR/IH»/,PFRIO/IH./»VF;E/IHV/.QUU/IHO/
DATA (SPACF ( I) , 1 = 1 ,6)/6»lH /
DATA BLANK/IN /
««•»«*««•*«**
»«»»«»»»«»»**
1
1
l;
i
l
2
2
2
2
2
2
2
THE USER WHICH INFORMATION
HF WISHES TO PRINT AND PLOT
CONTINUF
READ (NS.450»FNO=110) RUNT IT
GO TO 120
RETURN
CONTINUF
READ (N?>,5ln) IOAY1»IDAYL.NJP
IF (IOAYl.lF.0) IDAYlal
IF (IDAYl.l r.MOS«RT) IDAY1=NOSWR,
IF (IOAYL.GT.NTCYC) IDAYL=NTCYC
IF ( (IDAYL-IOAY1 ) .GT.6) IDAYL. = IDAY1 »6
IF (IDAY1 .fiT.IDAYL) IDAYL=TD/VY]
IF (NJP.GT.?n) WRITE (N6.50n)
NJRrMINO (?(1»NJP)
READ (N5.5?n) (NJW( I) ,1 = 1,NJP)
RF.AH (N5.530) NCP
IF (MCP.GT.20) WWITF (M6.54n>
NCP=MINH(Po.Mrp)
(NCW(I),1=1,MCP)
NPLOTS
(RUNT IT(KITF).KITF = l.?n)
/VLPHA
!')AYI . IHAYL «NJP. (Nji*1 ( T ), 1 = 1 .NJP)
•in IT F (ri6.5>,n) MCP« (MfW ( T ) » 1 = 1 «NCP)
pfsn !(»
WRITE (*»4K'I)
(H6.S50)
112
-------
000054
000055
000056
000057
000058
000059
000060
000061
00006?
000061
000064
000065
000066
000067
000068
000069
000070
000071
00007?
000073
000074
000075
000076
000077
000073
000079
OOOOPO
000081
000082
000083
000084
OOOOP5
000086
000087
00008*
000089
000090.
000091
00009?
000093
000094
000095
000096
000097
000098
000099
000100
000101
oooioa
000103
000104
000105
000106
000107
000108
000109
OOOJ.1'1
nin
non
noo
000
000
noo
000
000
000
000
000
000
000
000
000
000
000
000
000
000
000
000
noo
noo
noo
000
000
000
non
noo
000
000
000
noo
noo
noo
noo
noo
000
000
000
oon
000
noo
000
000
noo
000
noo
non
nnn
nnn
noo
nnn
oon
onn
non
IF (NPLOTS.FO.O) WRITF <6»49n)
C «»«»»«»«»«««»« FND ••»•»»•»»»•»•
C
C
C
READ (N24)
READ
READ (N34)
GO TO 130
140 CONTINUE
DO 160 MO=TOAYl»IDAYl
00 150 NQC = 1«M
CALL FIND ( ILAST»NCP»DUM»NCW.VP,NC>
IF { (ND.EQ.IDAYL) .AND. JNOC.EO.NQCYC » 60 TO 170
READ (N34) NTP.NQP
150 CONTINUE
IF (ND.EO. IDAYL) 00 TO 170
160 CONTINUE
C »»»»»»»»»«#«»» END *»#«•»••••#••
r
C
C «««»*««««ec««« WHITE OUT THF JUNCTION DATA TO PRINTER •«*•«•#•«•*«
170 CONTINUE
IWHOLE=NJP/3
IP«WT=NJP-IWHOLE»3
IF OWMOLF.E'J.O) GO TO 210
DO ?00 I = ]i!'VHOlE
IL=(I-1)«3
rfPITE (6f470) (RUNTIT(KITE) .KITEel.PO)
WRITE (6.4KO) ALpHA
DO 180 IK=1.3
180 ICH(IK) =NJ«/ ( IL*IK)
WRITE (r46,'i70) (SPACE (L ) • ICH (L ) »L = 1 « 3)
WRITE .TDL
HC ( I 1 «L ) =H^ ([],!.) X3.?8
VOLP (I1«L) =VOLP( 1 1.1 ) /35.'U4
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
7B
79
80
fll
8?
83
84
85
86
87
flfl
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
113
-------
«««»«« HYDPl.T »»»»»•
000111
onoiiH
000113
000114
000115
000116
000117
000118
000119
000120
000121
000132
000123
000134
00013=1
000126
000127
00012"
000129
000130
000131
00013?
000131
000134
000135
000136
000137
00013H
000139
000140
000141
000142
000143
000144
000145
000146
000147
00014H
000149
000150
000151
00015?
000153
000154
000155
000156
000157
00015H
000159
000160
000161
00016?
000163
000164
00016^
000166
000167
000
000
000
000
000
000
000
000
ooo
000
000
000
000
000
000
000
000
000
ooo
000
000
000
000
000
ooo
000
000
000
000
noo
noo
000
000
noo
nno
000
noo
000
000
000
000
noo
ooo
000
000
000
000
noo
000
nno
oon
noo
nno
nno
noo
noo
non
iftft
189
190
200
210
??0
?30
231
23?
?.40
?4)
QINP(IltL)=tLMO»lDL>
DO 169 Il=ILl»tL3
DO 1R9 L=TO,IDL
HPUl,L)«Hf(Il»U*3.2B
YOLP(Il»L)=VOLP(IltL)»35,314
QINPUltl )=<)INt>.tnL
HP (1 1.1. )=HP(I1 tl.)/3.?8
VOUH(Il«L)=VOLP(TltL)/35.314
i)lMP(IliL)='HNPUl .D/35.314
QfiUP (I 1 »L) =001 IP (1 1 .L) /35.314
WRITE tTOL)
HO ?4? 11=TL1.ILL
DO
HP
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
129
132
114
-------
nonius
OOOlf.9
000170
000171
000172
000173
000174
000175
000176
000177
000170
000179
oooieo
000181
0001*2
0001R3
OOOlfU
000185
000186
000187
000189
000189
000190
000191
000192
000193
000194
00019S
00019*.
000197
000198
000199
000200
000201
000202
000203
000204
000205
000206
000207
000208
000209
000210
000211
000212
000213
000214
00021S
000216
000217
000218
000219
000220
000221
00022?
000223
000224
000
000
000
000
000
000
000
000
000
000
000
000
000
000
000
000
000
000
000
000
000
000
000
nOO
000
000
000
000
000
000
000
000
000
000
000
000
ooo
000
000
000
oon
000
000
ooo
000
000
000
000
000
noo
onn
000
oon
noo
ooo
noo
onn
242
250
260
c
c
c
c
270
278
?79
280
290
300
310
•»lfl
VOLP(I1»L)«VOLP(M ,L>«35.314
OlNP(Il»L)aQINP(Il,L)»35.314
OOUPU1»L)*QOUP(I1.L>«35.314
CONTINUE
CONTINUE
»»«»»»»«»»»»»»
135
****«*«•«««»»
»»««»»»«•«»«»» WHITE OUT THE CHANNEL DATA TO THE PRINTER ••»«••««»
IWHOLE=NCP/6
IPART=NCP-IWHOLE«6
IF (IWHOLE.EO.O) GO TO 300
DO 290 Isl.IWHOLE .
WRITE (6,470) (RUNTIT (K ITE ) f K 1 TE»1 ,20)
WRITE <6,4PO) ALPHA
IL«=(I-1>«6
DO 270 IK=1,6
ICH(1K)=NCW(IL+IK)
WRITE » ICH (L) »L»1 ,6)
WRITE (N6.650) (SPACE »L«1 .6)
WRITE *VP/3.28
WRITE(N6,600) IDAY
WRITE(N6,670) (TIMEP(L) , (QP ( II ,L) » VP ( 1 1 »L> » II'
DO 279 I1=IL1,IL3
DO ?79 L«IO»IDL
OP (II »L)»OP(n»L)*35.3)4
VP(IlfL)*VP(Il.D«3.2ft
CONTINUE
CONTINUE
IF (IPAHT.LE.O) GO TO 3RO
ILL=IWHOLE«6*IPART
IL1=I«HOLE«6+1
DO 310 I=IL1,ILI
J=I-tLl*I
ICH(J)=NCW(I)
WRITF (6,470) (PUNTTTIKITF) ,KITF3l.?n)
(6,4flO) ALPHA
(Nft, X3.?8
IDAY
115
-------
HYDPLT #*«»«»
000225
000226
000227
00022*
000229
000230
000231
000232
000233
000234
000235
000236
000237
000230
000239
000240
000241
000242
000243
000244
000245
000246
000247
00024B
000249
000250
000251
000252
000253
000254
000255
000256
000257
00025H
000259
000260
000261
000262
000263
000264
000265
000266
000267
000?6«
000269
000270
000271
000272
000273
000274
000275
000276
000277
00027B
000279
0002RO
000231
000
oon
noo
000
oon
noo
noo
000
oon
oon
noo
000
noo
ooo
000
oon
000
000
000
000
ono
000
oon
000
noo
noo
nnn
noo
000
000
000
non
000
000
000
000
000
000
000
noo
ooo
000
000
ono
ooo
ooo
ooo
oon
ooo
noo
ooo
ooo
noo
000
ooo
nni
non
320
330
34n
350
360
368
369
370
3RD
C
C
C
C
C
C
C
390
C
C
C
C
C
C
C
400
GO TO (320.330.340.350.360), IPART
CONTINUF
WRITE (TIMFP(L) » (OP < H .1 > « VP ( 1 1 ,L > . 1 1 = IL1 » ILL ) »L«ID» IDL)
GO TO 360
CONTINIIf
'•/KITE (Nf.,f,40) (TIMEP(L) , (OP( 11,1.) .VP(Il.L) .IlsRl» ILL) *L«ID»IDL)
GO TO 36H
CONTINUF
WRITE(N*-,7no) (TIMEP(L) » (OP (ILL) tVP(Il.L) tll'tLl* tl.L) «L«IO»IDL)
00 TO 36R
CONTINUE
WRITE (N6.710) (TIMEP(L) » (QP ( 11 »L ) . VP ( 1 1 »L) , I l*lLl » 'ILL ) *L»ID, IDL )
GO TO 36fl
CONTINUE
WRITE (N6.7PO) ( T IMFP (L > , ( OP ( t 1 .L ) , VP ( T 1 .L) . 1 1 = ILl . ILL) *L»ID. IDL)
CONTINUE
DO 369 11=11 1.ILL
00 369 L=IP. IDL
QP ( 11 .L) =»OP ( 11 ,L> *35.314
VP(Il,L)=VP(Il,L>«n.2fl
CONTINUE
CONTINUE
»»»»#»**»«»»»* FNH »»«*»»»»»»«»»
«»«»««««««««»« CALCULATE THE NUMBER OF POINTS TO HE PLOTTED «»•«»»
| IF (NPLOTS.EQ.O) GO TO 100
NPOINT= (IDML-IOAY141 ) »NQCYC
»»«»»•#»•»««»* ENQ »«««»««««««•*
»»»»»««*««»»»« <;FT UP THE SYMHOL PPIORITIES EOR PICTUR «*»»»»«*«««
DO 390 1=1.4
ISYMI I)=STAR
ISYM(5) =HLANK
»»»»«»«»«»o»»» ENID «•»«»•»#••*»*
»#»»»«»*»»»»»» SET UP THE OUTER 00 LOOP FOR THE JUNCTION PLOTS ••*
DO 410 J=1.MJP
«««»»»«tnto»«»» SET UP THE APPRAYS AMD ALPHA NECESSARY *»•»**»»»»**
«
-------
OB a otto HYDPLT »»««»«
000282
YY(IJI)=YY <
000283
000284
000285
000286
000287
0002P8
000289
000290
000291
0002.9?
000293
000294
000295
000296
000?97
00029H
000299
000300
000301
000302
000303
000304
000305
500306
500307
50030«
500309
500310
500311
500312
100313
100314
'00315
100316
00317
100318
00319
00320
00321
003??
00323
00324
00325
00326
00327
00328
00329
00330
00331
0033?
00333
00334
50335
00336
50337
50338
000
000
000
000
000
ooo
000
000
000
000
000
ooo
ooo
000
ooo
000
000
000
000
000
000
000
000
000
000
ooo
000
000
oon
oo'o
000
000
ooo
000
000
ooo
000
ooo
000
000
000
000
noo
000
000
000
000
000
ooo
ooo
000
noo
000
000
000
0(50
c
c
410
c
c
c
c
c
r.
c
c
4?0
c
c
c
c
430
435
c
c
c
440
c
c
c
c
c
c
c
450
460
470
48(1
««•»»»»«»»»»»« FNO
ENCODE C^T. 7 *0,CA«D1 ) IJtINC
ENCODE (45.740.CAR01 (34) ) IJUMO
CALL PICTP (NPOIN,?5.50»ISYM,C/VPD1»RUNTIT)
CONT INUF.
»» »«.«»»«»*«»»« F.NO
«»«««»«««««««» SET UP THE SYHHOL PRIORITIES
ISYM(1)=STAP
»»»«»««»»«»«*» FND
«»»!o
t.MCODE (S3.7=10.CARD15 ICHN
ENCODE (47. ?60tCAR01 (34) ) ICHN
CAU. PICTO (NPOIN. 25.50. ISYM.CARDltRUNTlT)
CONTINUE
#« ##*nnnn* END
GO TO 100
»0»«»»»«»
-------
«*»««» HYO°lT «»»»»»
000339
000340
000341
000342
000343
000344
00034S
000346
000347
00034H
000340
000350
0003S1
00035?
000353
000354
000355
000356
000357
00035"
000359
000360
000361
000362
000363
000364
000365
000366
000367
000368
000369
000370
000371
000372
000373
000374
000375
000376
000377
000178
000379
000380
000381
00038?
000383
000384
000385
ono
000
oon
000
000
ooo
ono
noo
ooo
000
000
ooo
000
ooo
oon
ooo
ooo
000
oon
ooo
000
ooo
000
000
000
000
000
000
000
oon
noo
ooo
ooo
ooo
ono
ooo
non
ooo
oon
noo
ooo
ono
oon
noo
ooo
noo
non
eon
510
52n
530
540
550
560
570
580
590
600
610
6?0
610
640
650
66P
670
680
6^0
700
71(1
7?0
730
740
750
760
FOPMAT (• YOIJ CANNOT MONITOR MORE THAN ?0 MOOES AT ONE TIME '/)
FORMAT <*I1
FORMAT III!')
FOPHA1 (• YOU CANNOT MONITOR MQPF. THAN 20 CHANNELS AT ONE TIME '/)
FORMAT (IHf'.ifOR WHAT SPAN OF HAYS DO YOU WISH LINEPRINTER AND PLO
IT INFORMATION'/* I WISH TO LOOK AT THE DATA STARTING WITH DAY'»I5»
?.• AMD ENDING WITH DAY'»I5«//' HOW MANY NODAL POINTS DO YOU WISH TO
i MONITOR'/* t WISH TO MONITOR »»i5»» NODES'//* FOR WHICH NODES DO
4 YOU WISH LlNfPPJNTER AND PLOT INFORMATION'/' I WISH TO MONITOR TH
4E FOLLOV IN'- 'JOOFS '/20I5»/?ni5)
FORMAT (//.' HOW MANY CHANNELS DO YOU WISH TO MONITOR •/• i WISH T
10 MONITOR '»I5»« CHANNELS •//' FOP WHICH CHANNELS DO YOU WISH LINE
ZPRINTEW AMO PLOT INFORMATION •/' i OFSIPC PLOT AMD LINEPRINTEP INF
FORMATION FOP THE FOLLOWING CHANNELS '/20I5/20I5)
FORMAT (??X, Al t ' JUNCTION* » I4,Al »?7X, 'JUNCTION' «I4»Al»27X» 'JUNCTION*
t«I4,/)
F()PMAT(6X. Al . 'TIME' t*X« 'HEAD' t6*» 'VOLUME' »4X« • INFLOW' »3X. 'OUTFLOW*
*.Al«3X,'HFAO'»6X. 'VOLUME' »4X. » INFLOW' .3X« 'OUTFLOW «A1» 3X» 'HEAD*»6X
*« 'VOLUMF ' .4X, • INFLOW' »3X» 'OUTFLOW' )
FORMAT (^X.^l «' (DAYS) (M) (M#»3) (CMSI tCMS)'»Al»'
* X,Al, • (DAYS) (CMS) (M/SEC) ' » Al , ' (CMS) (M/SEC)'»
1A1,' (CMS) (M/SEC) '.Al, ' (CMS) (M/SEC) «,A1,» (CMS)
2IM/SFC) ' ,Al . ' (CMS) (M/SEC)')
FORMAT .3,?X«2F9.3)
FORMAT (Fl ?.4,?E9.3,2X,2E9.3,?X,2E9.3,?X»2F9.3,2X»2E9,3)
FORMAT (» PLOT OF THE HEAD VERSUS TIME CURVE FOR JUNCTION ',14)
FORMAT!' (HF.AD IS IN METERS flNn THE TIME IS IN DAYS) •)
FORMAT (» PLOT OF THE FLOW VERSUS TIME CURVE FOR CHANNEL '• 14, « «)
FOPMATC FLOW IN (THOUSANDS OF CMS) AND TIME IN (DAYS)')
F'-iO
284
28f
2Bf
287
28F
28«
29(
29
29J
29!
30
30
31
31
31
31
31
31
31
32
32
32
32
EMI) ELT.
118
-------
MAIN
000001
000002
00000?
000004
000005
00000ft
000007
OOOOOfl
00000°
ooooio
00001 1
000012
000013
00001*
000015
000016
000017
ooooia
000019
000020
000021
000022
000023
000024
000025
000026
000027
000028
000029
000030
000031
000032
000033
000034
nor>
000
noo
000
000
000
000
noo
000
ooo
000
000
100
000
000
000
ooo
ooo
000
ooo
000
000
ooo
000
000
000
ooo
000
000
000
000
ooo
000
000
c
c
c
c
c
c
c
c
c
c
c
c
c
c
c
END ELT.
MMN HKOG'^" TO COORDINATE THE CALCULATION AND PLOTTING PROGRAM
THIS PhOC-KAM CALLS HYDC4L AMD HYDPlT
SCRATCH Ut"[TS ARE SCRATCH TAPf-'S
THIS MFCUTIVE PROGRAM MAKES i/o ASSIGNMENTS AND CALLS THE
CALCULATION SUBROUTINE HYDCAL AND THE PRINT-PLOT
HYOPLT
COMMON /TAPES/N5«N*»N20fN??;>tM24
COMMON/PARAMS/IZ5.IZ6»I?9.I712«I713
IZ1?=30
1711=20
REWIND
REWIND
REWIND
CALL HYdCAl
CALL HYI'PLT
STOP
END
6
7
B
10
1?
13
14
15
17
18
19
20
21
22
l8HDtt,P «««««« PtCTO ««*»»«
119
-------
PICTO »»»»»»
WELT.L HMAINT.PICTO
ooooni
ooooo?
000001
000004
ooooo^
000006
000007
OOOOOH
000009
000010
0000] 1
00001?
000013
000014
000015
000016
000017
ooooi«
000019
000020
000021
000022
00002.3
000024
000025
00002*
000027
00002"
000029
000030
000031
00003?
000033
000034
000035
000036
00003?
00003"
000039
000040
000041
000042
000043
000044
000045
000046
000047
00004R
000049
000050
000051
00005?
000053
ono
000
000
000
000
000
000
000
ono
000
000
000
000
000
ono
000
ono
000
000
onn
ooo
oon
000
000
000
ooo
oon
ooo
nno
ooo
ooo
ooo
ooo
oon
noo
noo
non
ooo
noo
noo
ooo
oon
ooo
ooo
ooo
ooo
ooo
oon
nno
noo
nno
non
non
c
c
c
c
c
c
c
c
c
c
c
c
c
c
c
c
c
c
c
c
c
c
c
c
c
c
c
c
c
c
c
SUHROUTINF PICTO (N.M.MCOL•ISYM.CARD1»RUNT I T)
THTS POHTTNE IS CALLED BY HYOPLT AND CALLS SORT
PROGRAMMFD HY JE SCHLOSSER 1965 MODIFIED BY CA OSTER 196ft
PRESENTS A PICTURE OF DATA ON PRINTED OUTPUT. TWO OPTIONS REIN6
AVAILAFU F
1 HC«L POSITIVE
? t-'COl NFGATIVEt IN WHICH CASF XINCREMENTS ARE TAKEN AS EQUAL
TO Y INCREMENTS AS DETERMINED RY M
DICTIONARY
V4RI ARI £
N
M
MC.OL
XXU)
YY(1)
ARK (!)
ISYMJI )
PF.F INIITION
NUMBER OF POINTS TO PLOT
MAXIMUM NUMBER or LIMES
MAXIMUM NUMRER OF COLUMNS
(MAXIMUM OF SOO)
X COORDINATE FOR ITH POINT
Y COORDINATE FOP ITH POINT
MARKER FOR ITH POINT
PRIORITY DESIGNATOR FOR MARKF.R USED ON I-TH POINT
(LOWER SUBSCRIPT INDICATES HIGHER PRIORITY)
»««»»»«»»««»«« RATTELLF NORTHWEST 11/9/71 «»»»««»*••»»«
«««»«»««««»»«««»»IHHH>«««HHHHK>««««««««»*«*»«*«»»»««« »»»*<>«•««««««#*«
«»»»»«»»»»»««» ASSIGN THE COMMON DATA
COMMON /TA(JES/N5»N6,N20»N22»M?4
CO"MON/PAOfiMS/I7S,I76»IZ9.I712,IZ13
»»»»»«»<»»»»»*» CONTROL AND TITLE INFORMATION »«»»*«»*»»»#«
COMMON /PBINt/ NJ.NC.NTCYC.NOCYT.Dr L.TO,PERIOD,ALPHAMO) «
1 DFP (70 ) .IJQ^WRT
COMMON/NT/NTP.NOP,DIIM(600) »HP(20,200) .VOLP(20,200) .TIMER(200)t
101NP(20«200).OOUP(20»?00)»OP(?0.20n),VP(20,200),XX(*00),YY(400)»
: (40(1) ,XYM(3»'
FQHIVALfNCF ( IX
DIMENSION PX i^.) .ALFIIOTJ ,ILF< 107) fts
DIMENSION C/V401 (66)
DIMENSION R(INTIT(20)
FOtllVALf-NCF (ILF«ALF) « (BLANK. LANK PA)
EXTERNAL
OATA
KILL*')
< YM (3,?) =«l
X'->IM=1 .'IF 3 7
2
3
4
5
6
7
n
9
10
11
12
13
14
15
16
17
IB
19
20
21
22
23
24
25
26
27
2B
29
30
31
32
37
38
39
41
42
46
43
44
45
47
40
4Q
50
51
5?
120
-------
««««»•
OOOOS4
OOOOS5
OOOOSfi
000057
00005H
000059
OOOOf-0
000061
000062
000063
000064
000065
OOOOf-6
000067
000068
000069
000070
000071
00007?
000073
000074
000075
000076
000077
00007R
000079
OOOOflO
oooom
OOOOP2
0000«3
OOOOP4
OOOOR5
OOOOH6
000087
OOOOflfl
OOOOP9
000090
000091
000092
000093
000094
000095
000096
000097
00009R
000099
000100
000101
00010?
000101
000104
00010*1
000106
000107
00010H
000109
000110
000
non
000
noo
ono
ono
ooo
000
oon
000
000
000
ono
000
000
000
000
000
ooo
000
000
000
ooo
000
000
000
000
000
000
000
000
oon
000
ooo
000
000
ooo
001
000
000
000
001
000
000
000
000
ooo
000
000
000
000
ooo
000
000
000
000
000
100
110
120
no
140
150
160
170
IflO
190
?00
210
2?0
?30
240
?5o
?60
XMAXx-l .OF -T7
no loo 1 = 1. 'i
XYM(1,I)=>MI>
XYM<2« 1>=YY ( I )
XYM(3. I)=A'-'K (!)
XMINsAMINl XLOG-AlNT (OXLOG)
IF (XAPKOX-,3010) 150»150»160
XEXACT=?.0»10.0»«(INT (nXLOG)-S)
GO TO 190
IF (XAPPOX-.6990) 170»170,180
GO TO 1^0
XEXACT=ln.O»» (INT (OXLOG)-A)
CONTIMUE
XACT=XEXACT/3.0
GO TO Zln
XACT=EXACT/2.0
.5+SIGN ( 0 .5» YMAX » )
.5+SIGN(O.S»XMAX) }
F. = 10.0«FXACT
MAXYI=(YMAX/TENE)+ ( 0.
MAXXI=(XMAX/TFNX) +(0
MINYIs(YMIH/TENE>-(0.5*SIGN(0.5.-YMIN) )
MI NX I =(XMirj/TFNX)-( 0.5 + SIGN (O.S»-XMIN) )
YFI»ST=TFNF»FLOAT (MAXYI)
XFIRST=TFNX«FLOAT(MINXI)
KOLS=?n»(MAXXI-MINXI)
IF (KOL^-^'lO) ?30.?30»??0
WRITF C-.530) KOLS
IF (LINKS-401) 250.2SO.?40
WPITF (6,-Si.O)
RFTIIMN
CONTINUF
KILL=KILL+1
IF (KILI .OT.SnO) GO TO 360
IF (KOLS. OF .7M GO TO ?60
GO TO Un
LFAF= (K0| S*99) /100
IF (I.EAf .1 F.I ) GC TO ?70
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
7»
79
80
fll
8?
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
121
-------
p T n o »»»»«••>
00011 1
00011?
0001 1 3
000114
000115
0001 16
000117
0001 IS
000119
000120
0001?!
0001??
000123
000124
0001?5
0001?*
000127
0001?fl
0001?9
000130
000131
ooon?
000133
000134
000135
00013*
000137
00013"
000139
000140
000141
00014?
000143
000144
000145
000146
000147
00014R
000149
000150
000151
00015?
000153
0001S4
00015^
000156
000157
000150
000159
0001*0
0001*1
0001*2
000163
000164
000165
00016*
000167
noa
000
noo
ooo
000
noo
noo
oon
npo
000
ooo
000
ooo
ooo
000
000
000
oon
oon
000
ooo
000
000
000
000
noo
000
000
000
000
ooo
000
000
000
000
000
ooo
000
ooo
000
000
oon
nOO
(i no
noo
000
000
000
nno
oon
nnn
000
ooo
000
noo
oon
noo
?70
2HO
?90
300
310
320
330
340
350
360
370
3«0
390
400
410
40
430
440
/»50
GO TO 1 10
DO 4^0 1=1-1 FAF
PXin^.oTi'iJXoFi ,,AT (L-l) *TENX»FLOAT ( T.-1) *XF IRST
(P'INTIT(KITF) »MTE = 1.20)
AI.PHA
( ISTAT)»ISTAT = 1.66)
WHITE'
UMITF
.510)
OFL = FXACT/'->.')
110
111
112
113
114
115
116
117
118
119
120
121
122
123
440 1=1-LIMES
|TIPST-FXACT»FLOAT(I-I )
00 ?<)0 J* 1-1.1 07
AI.F UKL> =HI AMK
IT (J-t!) 3\0.310.400
IF (XrM(l.J)-PX(I)) 390.3?0.3?0
126
127
330.330.400
400.340.340
IF (XYM(?,J)-(YPLOT + nEL) )
IF (XYM(?, J)-(YPLOT-DELI)
COMTINUf-
IF (XYM(1,.I)-('X (6)-DOO) 350.350.390
CONTINUE
KOL = INT( (XYH(1 .J) +OEX-PXU) I/XACT) *4
IF ( (KOL.RT.IO?).OR.(KOL.LT.lI) GO TO
IXYM3J=lXY-< (3. J)
ILFKOL = ILF (K0|. )
IF (ILFKOl .EO.LANKBA) SO TO
ISYM1=0
ISYMlaflYY
ISYMPallYY
390
HO 360 IIYYal.S
IF (ILFKOL.EQ.ISYMdlYYn
IF (IXYM3J.FQ. ISYM(HYY) )
CONTINUE
ISYMM=MJMO(ISYM1.ISYM2)
IF (ISYMM) J90,3^0.370
ILF (K')L>»ISYM( ISYMM)
GO TO 3°0
AI.F (KOL) =XYH(3.J)
J=J*1
GO TO 300
CON T I Ml It
IF (MOtXI-l.10).NE.O) GO TO 410
"IPITF. (6.440) YPLOT.4LF
GO TO 430
IF (MOD(1-1.5).NK.O) GO TO 4?0
WPI TF
no TO
*/nt TR;
C.OMT
COMTIMUK
WTTF (t.sio)
WPITF. (6,5?0)
CdMTTNUt
AI F
PX
129
130
131
13?
133
134
135
136
137
138
139
140
1*1
142
1*3
144
145
146
147
14B
149
150
151
15?
153
154
155
156
157
153
160
161
162
163
164
165
166
122
-------
»«»««»
PITTO
00016P
000169
000170
000171
00017?
000173
000174
000175
00017ft
000177
000178
000179
000180
OOOlfll
0001*2
000183
000184
000185
OOOlfll
000187
END ELT.
noo
ooo
ooo
ooo
000
000
000
000
000
000
000
ooo
noo
ooo
000
000
000
000
900
noo
c
c
c
460
470
480
490
500
510
5?0
530
540
550
FORMAT (IH0.1SA4.20X.20HBATTELLE NORTHWEST
RAND. WASHINGTON./.fllX,20HEXPLORE-l CORE
?C MODEL ./)
FORMAT (1H1»25X,?OA4)
./1X,15A4.19X.?1H RICH
./81X,20HHYPRODYNAMI
FORMAT
FORMAT
FORMAT
FORMAT
FORMAT
FORMAT
1COLUMNS
<1HH.14X»1H». 5(?OH •
)
(48HOONLY THE FIRST 500
WILL BE PRINTED.)
COLUMNS OF A PLOT REQUIRING 13»25H
FORMAT*IX,'THERE
FORMAT (11X.IH*,
END
IS A LIMIT OF 400 LINES')
167
168
169
170
171
172
173
174
176
177
17R
179
IflO
1B1
194
PHDfi.P «»««»«
»»»»»*
123
-------
SOPDER »»»»«»
000001 000 FUNCTION Sf),?DER (F IRST . SECOND )
00000? OOP C THIS FUNCTION TS CALLED RY
000003 OOn DIMENSION F I PST{3) •SECOND(1) 2
000004 oon SOROER=EIP^T(?)-SECOND (?) 3
00000^ 000 RETURN 4
ooooo* noo END
END El.T.
!»HI)G.P *«»#*» SORT «»•»•»
124
-------
««««»« S'iPT »»»»»»
HMAINT.SORT
000001
000002
000003
000004
000005
000006
000007
OOOOOP
000009
ooooio
000011
000012
000013
000014
000015
000016
000017
OOOOlfl
000019
000020
000021
00002?
000023
000024
000025
0000?6
000027
00002«
000029
000030
000031
000032
000033
000034
000035
000036
000037
000039
000039
000040
000041
000042
000043
000044
00004S
000046
000047
00004*
000049
000050
OOOOSl
00005?
OOOOST
non
000
(100
000
noo
000
noo
oro
non
000
noo
noo
onn
000
000
non
000
noo
000
000
000
non
000
000
000
000
oon
000
non
000
000
000
onn
000
000
000
000
000
000
onn
000
noo
000
000
000
non
noo
ono
000
noo
oon
nno
noo
c
c
c
c
c
c
c
c
c
c
c
c
c
c
c
c
c
c
c
c
c
c
c
c
c
c
c
c
c
c
c
c
c
c
c
c
c
c
c
c
100
1 in
SUBROUTINE SORT (M»N«ITEM,OI
THIS ROUTIMF. IS CALLED BY PICTUR AND CftLl S Q AND SORDER
ALGORITHM ?45 - TREESORT 3
PROGRAMME!! PY J£ SCHLOSSER
FROM ACM» OEC. 1964
VOL 7 NUMBER 12. PAGE 701
GENIAL PURPOSE INTERNAL SORT SUBROUTINE
EXAMPLE OF USE - - -
MAIM PROGRAM
M5. 1000)
ASSUME - M ITEMS OF 5 WORDS EACH
TO BE SORTED IN ASCENDING
ORDER ON THE SECOND WORD.
N IS LESS THAN OR EQUAL TO 1000
A CONTAINS THE ITEMS TO RE SORTED
EXTFRNAl 0
Q IS A FUNCTION SUBROUTINE WHICH WILL RETURN
A POSITIVE NUMBER IF THE FIRST ITEM (FIRST
ARGUMENT) IS TO SORT AHEAD OF THE SECOND
ITEM (SECOND ARGUMENT). SEE EXAMPLE BELOW.
CALL SOPT
RETURN
END
WRITE A FUNCTION SUBROUTINE SUCH AS THIS,
IT SHOULD RETURN A POSITIVE RESULT IF
THE FIRST ARGUMENT SHOULD SORT AHEAD
OF THE SECOND ARGUMENT. THIS ROUTINE
PRODUCES AN ASCENDING SORT ON THE SECOND
WORD OF THE ITEMS.
NOTE - - THE MAXIMUM MUMBER OF WORDS PER ITEM is LIMITED
HY THE DIMENSION OF KOPY. THIS LIMIT is PRESENTLY 100.
APPROXIMATE SPEED IS ?50 ITEMS PER SECOND.
INTEGER 0
DIMENSION KOPY (100)
DIMENSION MHTFM.N)
IF (N-l) 3>M).320.100
K=N/2»1
L=M/?-l
IF (LI 210.?10,110
CONTINUE
no ?no 11 = ] .1.
t=K-II
JS=I
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
la
19
20
21
22
?3
24
25
26
27
29
29
30
31
3?
33
34
35
36
37
3<5
39
40
41
42
43
44
45
46
47
48
49
50
51
52
125
-------
SORT »•»»»»
000054
000055
000056
000057
000058
000059
000060
000061
000062
000063
000064
000065
000066
000067
000068
000069
000070
000071
000072
000073
000074
000075
000076
000077
000078
000079
000080
000081
000082
000083
000084
000085
000086
000087
00008H
000089
000090
000091
000092
000093
000094
000095
000096
000
000
000
000
OO1)
000
ooo
ooo
000
ooo
000
000
000
000
ooo
000
000
ooo
000
000
ooo
000
000
000
000
000
000
000
ooo
ooo
000
000
000
000
ooo
ooo
000
000
000
000
ooo
000
ooo
120
130
140
150
160
170
180
IPO
200
21 0
2?0
210
240
250
?60
270
280
290
300
310
320
00 120 10=1»ITEM
KOPY(10)sM(IQ. IS)
J*2»IS
IF (J.QT.NS) GO TO 180
IF (J.OF.M^) GO TO 150
IF (Q(M(1..)*1) »M(1,J) ) I 140.150.150
J=J + l
IF (0(M(1 t J) .KOPY) > 160*180.180
00 170 10=1. ITEM
M(IO,IS)*M(IQ.J)
I^ = J
GO TO 130
no 190 IO=I»ITEM
M(IO»1S)=K')PY( 10)
CONTINUE
NPLUS=N+?
no 310 n=;>. N
I=NPLUS~t T
IS=1
NS=I
no 220 1 0*1* ITEM
KOPYUO)=>'
J=2«IS
IF (J.OT.NS) GO TO 280
IF (J.GE.NS) GO TO 250
TF (Q(M(1 ,J+1 ) »M(1«J1 ) ) 240.250*250
J=J»1
'IF (Q(M( J ,J) .KOPYJ ) 260*280*280
00 270 IfJ = l.ITEM
M(IO*lS)sM< 10. J)
IS = J
GO TO 230
no ?9o 10=1. ITEM
M(IU,IS)=KOPY(IO)
00 300 IT=1.ITEM
U4ZY=M(1T,1 )
M(IT.1)=M(IT.I )
M ( I T » I ) =l.«/Y
CONTINUE
CONTINUE
CONTINUE
RETURN
F.Nn
END ELT.
53
54
55
56
57
5fl
59
60
61
62
63
64
65
66
67
6$
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
126
» U.S. GOVERNMENT PRINTING OFFICE. 1982 -559-092/0527
------- |