^osr,
\m
i
UNITED STATES ENVIRONMENTAL PROTECTION AGENCY
^ / REGION II
"tPBOltC 26 FEDERAL PLAZA
NEW YORK. NEW YORK 10007
The Computation and Graphical Display of the NSF
Water Quality Index from the STORET Data Base
Using the Integrated Plotting Package
PROGRAM DOCUMENTATION AND USERS GUIDE
2nd Edition
George A. Nossa
Chief, Environmental Systems Section
Timothy K. McDermott
Programmer, Environmental Systems Section
Data Systems Branch
Management Division
U.S. Environmental Protection Agency
New York, N.Y.
June 1978
-------
TABLE OF CONTENTS
Abstract 1
Introduction 2
Plot/Print NSF-WQI time profile for storet stations
Program description 6
Program flowchart 7
Program input description 8
Sample input 10
Sample output 12
Source listing 23
Plot/Print NSF-WQI parameter data
Program description 31
Program flowchart 32
Program input description 33
Sample input 34
Sample output 36
Source listing 43
Seasonal NSF-WQI Plots for Multiple Storet Stations
Program description 50
Program flowchart 51
Program input description 52
Sample input . 55
Sample output 57
Source listing 64
Plot/Print NSF-WQI time profile and NSF-WQI parameter data
Program description 73
Program flowchart 74
Program input description 75
Sample input 78
Sample output 80
Source listing 87
Source Decks at WCC 96
Program Execution from Load Modules 96
Interactive Processing with Tektronics Terminal 97
Application to the Raritan River Basin 98
Acknowledgements 106
References 107
Appendix A
Digitized Unit Qua!igrams used by program 108
-------
ABSTRACT
The NSF - Water Quality Index is a numerical expression which reflects the
composite influence of nine physical, chemical and bacteriological parameters
to water quality U). It was developed and has been widely field tested by
the National Sanitation Foundation as a means for reporting the current
status and trends of water quality.
To address this need of analyzing and reporting trends in water quality a
set of three computer programs have been developed to present this data in
both report and graphical forms. The source of the data is a file created
from the STORET data base by a standard retrieval. The graphical output is
generated by the Integrated Plotting Package (2,3).
This report documents the logic and operation of the programs and presents
the data from the Raritan River Basin as a test application.
-------
INTRODUCTION
One of the most effective and meaningful ways in communicating information
on water quality to top management and the general public is with a water
quality index.
The "PDI" index which was developed by the MITRE Corporation^*) (Prevalence -
Duration - Intensity Index), allows for a water body to be described in terms
of the prevalence, duration and intensity of its water pollution. This index
was based on how much water quality deviates from water quality standards,
which vary on location depending on its intended use.
Other proposed indices are oriented towards a particular water use or are
constructed for specific areas. Only the National Sanitation Foundation
Water Quality Index can be consistently applied to any area and can be
quantitatively compared in reporting overall quality trends.
The cummulative form of the NSF - WQI may be written as:
WQI(c) = ^ Wi qi 01
where
WQI(c) = the cummulative Water Quality Index, a number between
0 and 100
qi = the quality of the ith parameter, a number between
0 and 100, (read from unit qualigram curves - see
appendix A)
w-j = the unit weight of the ith parameter, a number between
0 and 0.17
n =9, the number of parameters
In the WQI(c) expression above the nine parameters are:
- dissolved oxygen (DO), as percent saturation
- fecal coliform density (FC), no./100 ml
- pH
- nitrates (NO3K mg/1 NO3-N
- phosphates (PO4), mg/1 PO4-P
- 5 day biochemical oxygen demand (BOD5), mg/1
-------
- temperature, °C departure from equilibrium
- total solids, mg/1
- turbidity, JTU (Jackson turbidity units)
This additive model was adequate when all parameters are within a reasonable
range, but it lacked sensitivity in forcing the effect of a single low value
or poor quality on the overall water quality. As a result, a multiplicative
form of the NSF - WQI was developed as:
WQI(M) = the multiplicative water quality index, a
number between 0 and 100 (theoretical),
qi = the quality of the ith parameter, a number
between 0 and-]00,
w.,- = the unit weight of the ith parameter, a
number between 0 and 0.17
n
(2)
i=T
where
n =
the number of parameters.
-------
-4-
The computer programs:
Four distinct programs will be described:
a) The reporting and graphical display of the cummulative or
multiplicative NSF - WQI for the retrieved STORET stations, as
a function of time.
b) The reporting and graphical display of the parameters used to
compute the NSF - WQI, by plotting five parameters to a frame as
a function of time.
c) The graphical display of the NSF - WQI for the specified time
intervals versus STORET station numbers or station mile points.
d) The reporting and graphical display of the parameters used to
compute the NSF - WQI, and the cummulative or multiplicative
NSf - WQT by plotting five parameters to a frame as a function
of time.
The graphical output is generated by calling subroutines of the Integrated
Plotting Package. This procedure creates a neutral text of instructions,
which are subsequently processed as line printer plots, or as calcomp
plots or by using the Time Sharing Option at wcc> the plot can be created
interactively on the 4014 Tektronics terminal.
-------
FIGURE 1
SYSTEM FLOWCHART OF NSF-WQI GRAPHICS FROM STORET DATA BASE
-5-
-------
PROGRAM A: PLOT/PRINT NSF - WQI TIME PROFILE FOR STORET STATIONS
This program reads input from a STORET "More = 3" retrieval and computes multi-
plicative or cummulative water quality indices and outputs these on a report
format. The user can also direct the program to produce printer or calcomp
plots, by modifying Job Control statements. The program has been written in a
general form so that it may be applied with very minor modifications anywhere
in the United States.
The program begins by setting monthly equilibrium temperatures for the given
areata), then reads control options specified by the user and the digitized
unit qualigrams. Then the first station in the storet retrieval is processed.
If all the nine parameters used in the index are not present, the data for this
date/time record is bypassed. Observations with all-parameters present are
first edited so that extraneous values (if present) are eliminated. The the
saturation level of oxygen is computed using temperature and chloride concentra
tion, from this value the dissolved oxygen concentration as % saturation is
arrived. Next, the deviation from equilibrium temperature is computed.
If the unit quality of a parameter falls in between two defined values, a
linear interpolation is performed to compute the unit quality for the parameter
Once all nine unit qualities are known.a cummulative or multiplicative index
is computed. Then the sample date is digitized to a fraction of the year.
These two values; the index and the digitized date are then saved in a vector
for plotting. The program then goes to the next date/time observation and
performs these same operations. Once the last record for this station is pro-
cessed, the program breaks control and calls Integrated Plotting routines.
These routines create a so-called "neutral-text" on a mass storage file and
returns to process the next station as outlined above.
Once all the stations have been processed, a plot post-processor is Invoked
which will produce a printer-plot, a calcomp plot or if interactively, a
Tektronics CRT display.
-------
PLOT/PRINT NSF-WQI TIME PROFILE FOR STORET STATIONS - PROGRAM FLOWCHART
rwiTiUciitf
wir I4MTJ
7
?Nin'*Ui«
nvna'a or
vmj
#*«» u*»<'r
AMUH4M
7
Imntutf
MimiuvH
Ci/«iTr» v4u>r
Ft* r**u
p Am*~rre\
7
S«in«ki«#
Maxrriii*
n«uMit
f»*Ane*rC*-t
1
r
tomrvrr
04 CMO
w&?
1
r
»i4imr
U**IC MtT
TO MACTIOM
Y*A*
T
/e«fcu
»nr/«t
iMnwr
-------
PROGRAM A: PLOT/PRINT NSF-WQI TIME PROFILE FOR STORET STATIONS
PROGRAM INPUT
(1) TO UPDATE PROGRAM WITH EQUILIBRIUM TEMPERATURES:
If necessary, change source statement number 53to the applicable equilibrium
temperatures. Reference no. £ has tables listing these values applicable to
most locations in the United States.
(2) TO MODIFY DIGITIZED UNIT QUALIGRAMS FOR PARAMETERS:
The data shown on page 10 is for linear approximations to the mean curve of
the unit qualigrams for each of the nine parameters as shown on Appendix A.
This data is provided with the program. If the user desires to improve
these values, first modify source statement number 32 to the new number
values to be read for each parameter, then read these values as follows:
CARD
COLUMN VARIABLE FORMAT DESCRIPTION
1 - 10 TABLE (1,1,1) F10.0
11 - 20 TABLE (2,1,1) F10.0
1st value of x-scale for 1st parameter
2nd value of x-scale for 1st parameter
71 - 80
TABLE (8,1,1) F10.0
8th value of x-scale for 1st parameter
The card above is repeated until all x-scale values for the 1st parameter
unit qualigrams have been read.
The y-values (unit qualities) for the corresponding x-values read above are
now entered:
CARD
COLUMN VARIABLE FORMAT
1 - 10 TABLE (1,2,1) F10.0
11 - 20 TABLE.(2,2,1) F10.0
• • •
DESCRIPTION
corresponding 1st value of y-scale for
1st parameter
corresponding 2nd value of y-scale for
1st parameter
• • • •
71 - 80 TABLE (8,2,1) F10.0 8th value of y-scale for 1st parameter
This card above is repeated (if necessary) until all corresponding y values
for the x-values read in previously have been entered.
-------
-9-
Next the x-values and the associated unit quality for the 2,3...9 parameters are
entered in an identical manner. For the last parameter this input would be:
CARD
COLUMN
1 T 10
11-20
VARIABLE
TABLE (1,1,9)
TABLE (2,1,9)
FORMAT DESCRIPTION
F10.0 1st value of x-scale for 9th parameter
F10.0 2nd value of x-scale for 9th parameter
71 - 80 TABLE (8,1,9)
F10.0
8th value of x-scale for 9th parameter
As previously, the above card is repeated if necessary.
Next the y-values for the corresponding x-values are entered:
CARD
COLUMN
» 1 - 10
11-20
VARIABLE
TABLE (1,2,9)
TABLE (2,2,9)
FORMAT DESCRIPTION
F10.0 corresponding 1st value of y-scale for
9th parameter
F10.0 corresponding 2nd value of y-scale for
9th parameter
71 - 80 TABLE (8,2,9)
F10.0
corresponding 8th value of y-scale of
9th parameter
Again, as in the first parameter, the above card is repeated if it was necessary
in inputting the x-scale for this parameter.
3) PROGRAM OPTIONS CARD
CARD
COLUMN
VARIABLE
FORMAT
DESCRIPTION
1 - 2
OPTION (1)
12
OPTION (1) =
OPTION (1) >
3 - 4
OPTION (2)
12
OPTION (2) =
OPTION (2 >
5-6
OPTION (3)
12
OPTION (3) >
MULTI-STATION WQI PROGRAM
(SEE FORTRAN FILE 25) IN JCL
STATEMENTS
-------
-10-
4) STORET "MORE = 3" RETRIEVAL
This retrieval must precede this program, and is referenced in the
JCL statements as "fortran file (20)", see sample deck set up in the
following section.
SAMPLE INPUT
1) Deck setup for program execution from source statements:
//EPAIIXaa- JOB (AAAA)
//" EJCYCTfc PPRCGP , REG ION- 130K ~
//* THIS PROCEDURE WILL INVOKE THE PRINTER POST-PROCESSOR
//FORT.SYSIN DD *
SOURCE PROGRAM GOES HERE
• • •
//GO .FT20F001 OD UNIT-3330-1,VOL-SER-DDDDDD,DISP-(OLD.KEEP),
// LABEL-(,,,IN),DSN-CN.EPAIII.AAAA.(FILE NAME FROM STORET RETRIEVAL)
//CO.FT25F0O1 DD UNIT-3330-1,VOL-SER-DDDDDD,DISP-(NEW,KEEP),
// DCB-(RECFM-FB.LRECL-99.BLKSIZE-12969).SPACE-(TRK,(5,1),RLSE),
// DSNAME-CN.EPAIII.AAAA.(TIME FILE NAME GOES HERE)
//GO.FT08F001 DD «
0.0
20.0
30.0
40.0
50.0
60.0
78.0
80.0
100.0
120.0
140.0
3.0
12.0
20.0
30.0
44.0
60.0
75.0
86 .0
luO.O
£9.0
73.0
1.0
2.0
5.0
10.0
20.0
50.0
100.0
300.0
500.0
1000.0
2000.0
5000.0
10000.0
20000.0
100000.0
100.0
88.0
77.0
68.0
58.0
47.0
40.0
30.0
26.0
21.0
18.0
12.0
9.0
7.0
5.0
2.0
3.0
3.3
4.0
4.5
5.0
5.5
6.0
6.4
7.0
7.2
7.4
7.8
8.0
8.5
9.0
10.0
10.5
11.0
12.0
2.0
4.0
7.0
10.0
16.0
. 27.0
42.0
62.0
80.0
91.0
93.0
94.0
90.0
87.0
80.0
45.0
18.0
10.0
6.0
3.0
0.0
5.
10.
15.
20.
25.
30.
100.
53.
31.
18.
11.
7.
5.
0.0
5.0
10.
20.
30.
40.
50.
60.
70.
80.
90.
100.
100.
66.
49.
32.
23.
17.
12.
7.
4.
2.0
1.2
1.1
0.0
.5
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
100.
60.
41.
25.
18.
12.
10.
8.
7.
6.
5.
4.
0.0
1.25
2.5
5.0
6.25
7.5
8.9
10.0
12.3
15.0
17.5
20.0
52.0
71.0
81.0
93.0
86.0
76.0
50.0
40.0
26.0
18.0
12.0
9.0
0.0
10.
20.
30.
40.
50.
60.
70.
80.
90.
100.
100.
77.
62.
52.
44.
38.
32.
28.
24.
20.
17.
0.0
50.
100.
150.
200.
250.
300.
350.
400.
450.
500.
80.
86.
84.
81.
74.
68.
61.
54.
47.
39.
33.
000101
/*
-------
-11-
2) Execution of program from load module:
//EPAIIIaa JOB(AAAA)
/"/SI EXEC PGM-TIMEWQI ,RfiGION-1 30K
//STEPLIB DD DSN-CN.EPACAN.R2TW.WQ1.LOADL1B, DIS P-SHR
//PT02F001 DD DSN-&IPPTAPE,UNIT-SYSDA,SPACE-(CYL,(2,2),RLSE),
// DCB-(RECFH-VBS,LRECL-516,BLKSIZE-3156),DISP-(NEW,PASS.DELETE)
//FT06F001 DD SYSOUT-A
//FT20F001 DD UNIT-3330,VOL-SER-TSOOOI,DISP-(OLD,KEEP),
// DSNAME-CN.EPAIII.AAAA.(FILE NAME PROM STORET RETRIEVAL FOLLOWS)
//FT25F001 DD UNIT-3330, VOL-SER-TSOOOl ,DISP-(NEW,KEEP)
// DCB-(RECFM-FB.LRECL-99.BLKSIZE-12969),SPACE-(TRK,(5,1),RLSE),
// DSNAME-CN.EPAIII.AAAA.(TIME FILE NAME COES HERE)
//FT08F00I DD *
0.0
20.0
30.0
40.0
50.0
60.0
78.0
80.0
100.0
120.0
140.0
3.0
12.0
20.0
30.0
44.0
60.0
75.0
86.0
100.0
89.0
73.0
1.0
2.0
5.0
10.0
20.0
50.0
100.0
300.0
500.0
1000.0
2000.0
5000.0
10000.0
20000.0
100000.0
100.0
88.0
77.0
68.0
58.0
47.0
40.0
30.0
26.0
21.0
18.0
12.0
9.0
7.0
5.0
2.0
3.0
3.3
4.0
4.5
5.0
5.5
6.0
6.4
7.0
7.2
7.4
7.8
8.0
8.5
9.0
10.0
10.5
11.0
12.0
2.0
4.0
7.0
10.0
16.0
27.0
42.0
62.0
80.0
91.0
93.0
94.0
90.0
87.0
80.0
45.0
18.0
10.0
6.0
3.0
0.0
5.
10.
15.
20.
25.
30.
100.
53.
31.
18.
11.
7.
5.
0.0
5.0
10.
20.
30.
40.
50.
60.
70.
80.
90.
100.
100.
66.
49.
32.
23.
17.
12.
7.
4.
2.0
1.2
1.1
0.0
.5
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
100.
60.
41.
25.
18.
12.
10.
8.
7.
6.
5.
4.
0.0
1.25
2.5
5.0
6. 25
7.5
8.9
10.0
12.5
15.0
17.5
20.0
52.0
71.0
81.0
93.0
86.0
76.0
50.0
40.0
26.0
18.0
12.0
9.0
0.0
10.
20.
30.
40.
50.
60.
70.
80.
90.
100.
100.
77.
62.
52.
44.
38.
32.
28.
24.
20.
17.
0.0
50.
100.
150.
200.
250.
300.
350.
400.
450.
500.
80.
86.
84.
81.
74.
68.
61.
54.
47.
39.
33.
010101
/*
//PLOT EXEC PGM-IPPPRCGPtCOND-(8,LE),REGION"13OK
//STEPLIB DD DSN-CN.EPAZAF.SSSS.IPP.LOAD,DISP-SHR
//FT01F001 DD DDNAME-SYSIN
//FT02F001 DD DSN-&IPPTAPE,DISP-(OLD,DELETE,DELETE)
//FT06F001 DD SYSOUT-A
//FT15F001 DD SYSOUT-A
/*
WHERE:
AAAA IS THE USER'S ACCOUNT NUMBER
III IS THE USER'S INITIALS
TTTTTT IS THE MAGNETIC TAPE NUMBER
-------
PROGRAM A: PLOT/PRINT NSF - WQI TIME PROFILE
FOR STORET STATIONS
SAMPLE OUTPUT
-------
STATION 340028
340028 170
40 55 16.0 074 50 27.0 2
PEQUEST RIVER
34 NEW JERSEY
NORTH ATLANTIC 020392
DELAWARE RIVER
21NJDEP1 2111204
0000 FEET DEPTH CLASS 00
CUMM
' DATE
DIG. YR.
TIME
WQI
8/22/66
0.641
64.
10/31/66
0.833
73.
6/21/67
0.471
73.
9/26/67
0.737
71.
11/20/67
0.888
71.
1/23/68
0.063
74.
4/16/68
0.292
72.
8/20/68
0.637
73.
12/ 2/68
0.921
73.
3/11/69
0. 192
76.
5/27/69
0.403
1100
75.
12/17/69
0.962
1038
75.
3/ 5/70
0.175
1045
76.
5/ 4/70
0.340
69.
11/16/70
0.877
1015
66 .
2/ 9/71
0.110
1045
69.
5/11/71
0.359
1030
70.
9/ 8/71
0.688
1100
75.
12/ 7/71
0.934
1040
72.
3/ 9/72
0. 189
1045
77.
6/14/72
0.454
1230
74.
10/18/72
0.798
74.
3/ 6/73
0.178
74.
5/16/73
0.373
72.
10/ 1/73
0.751
77.
12/11/73
0.945
70.
f
-------
STATION 341004'
341004 4
40 04 52.0 074 09 07.0 2
METEDECONK RIVER N. "BRANCH
34 NEW JERSEY
TTORTHEAST
NEW JERSEY COASTAL
21NJDEP1 2111204
0000 FEET DEPTH CLASS 00
MULT
DATE
DIG. YR.
TIME
WQ I
11/22/66
0.893
77.
2/28/67
0.162
83.
9/13/67
0.701
62.
11/ 1/67
0.836
66.
6/ 4/68
0.426
59.
8/ 1/6Q
0.585
1310
49.
10/22/68
0.809
59.
1/22/70
0.060
77.
3/16/70
0.205
1300
67.
3/29/fl
0.241
1245
77.
1/19/72
0.052
1310
78.
1/19/72
0.05Z
78.
4/10/72
0.276
1245
72.
4/10/72
0.276
72.
12/12/72
0.948
79.
2/20/7i
0.140
83.
5/ 7/73
0.348
71.
9/24/73
0.732
60.
12/ 5/73
0.929
64.
1/14/74
0.038
74.
I
-------
PRINTER POSTPROCESSOR OF IPP
- COMMENTS AND ERROR MESSAGES -
VERSION 01 MAY 74
FRAME NUMBER 1 STARTING WITH RECORD NUMBER
1
FRAME NUMBER 1 PROCESSED WITH 0 ERRORS DETECTED
SUMMARY
RECORDS 67
FRAMES 1
ERRORS 0
END OF POSTPROCESSOR RUN FOR IPP
t
V1
-------
—
PANEL I FRAME 6
- ;
100.00 4
C
u
M
M
90.00 ~
N
~
S
F
H
80.00 ~
. T . • .
~ ' .
A
T
.T. T'.. T
70.00 ~ •. •T' TT
e
R
•. .T. T* T
~ T T . • • T.••'•T .•
0
u~
A
....T' ••
60.00 ~ •. ...,T«•••
•T" . »
+ T i
L
I
" T
Y
50.00 ~
I
40.00 +
N
0
E~
X
~
30.00 +
20.00 +
~
10.00 4
~
66.00 67.00 68.00 69.00 70.00 71.00 72.00 73.00 . 74.00 75.00
TIME (YEARS)
srokEr3inrn Off-NOT-34J045 ffnXSTDNnflVER 1 " T~;
-------
T
100.00 ~
c
u
M
M
~
^0.00" +
60.00 +
W
A
T
T..
+ . T • . •«.T
T
Ml
T •«. T..T.««T
«. . T• *
•T.T
• T •
.T • • .
70.00 T
T • T ¦
E
R
Q
u
A
TT 7f~
T .
.-.-ft
60.00
+
50.00 +
1 AO.00 »
N
0
~E "" ~'
X _
30.00"~
"20.00 ~
~
10.00 ~
~
0~ ~ + ~ ~ ~
67.00 68.00 69.00 70.00 71.00 72.00 73.00 74.00 75.00
TIME (YEARS)
STORET STATION NO. 343051 STONY BROOK
-------
* »
CALCOMP POSTPROCESSOR OF IPP
- COMMENTS AND ERROR MESSAGES -
.... — . ,
t
VERSION 01 MAY 74 •
FRAME NUMBER 1 STARTING WITH RECORD NUMBER
1
FRAME NUMBER I PROCESSED WITH 0 ERRORS DETECTED
SUMMARY
RECORDS 77
FRAMES 1
ERRORS 0
END OF POSTPROCESSOR RUN FOR IPP
i
l
-------
00
00
00
00
00
00
00
00
CO
0
56
67.00 63 -00 69.00 70-00 71 -00 72.00 73-00 74.00 75-
TI ME (YCGRS)
GTORET STATION NO- 343014
RfiRITfiN RIVER (R14J
-------
GO
00
00
00
GO
00
00
00
00
00
0
66
i i 1— 1 1 * ¦ ¦ ——¦ ^
67.00 68-00 69-00 70-00 71.00 72.00 73-00 74.00 75-00 1
TIME (YESRS )
-------
90.00 -
80.00 -
x 70.00 -
UJ
o
= 30.00 -
20.00 -
10.00 -
0 1 , 1 "—
68.00 69.00 70.00 71.00
TI
STORET STATION NO. 341007
i 1 1—
72-00 73-00 74.00
(YEARS J
TOMS RIVER RIDGEWflY BRRNCH
-------
80 .00
70.00
60.00
50.00
40.00
30 .00
20.00
10.00
0
A.
G8-00 69.00 70-00
STORET STATION NO
y*
j i i i i
71-00 72-00 73-00 74-00 75-00
TIME (YEARS)
341008
WADING RIVER W. BRANCH
-------
-23-
c
c
c
c
c
c
c
c
c
c
c
c
c
c
c
c
c
t
c
c
c
c
c
c
c
PROGRAM A - SOURCE LISTING
4c*****************************************************************
******************************************************************
GENERALIZED NSF WATER QUALITY INDEX PROGRAM
*** USER SPECIFIES CUMMULATIVE OR MULTIPLICATIVE INDEX ***
*** OPTIONNAL GRAPHS ON PRINTER OR DIGITAL PLOTTER ***
4c4c 4c4^ 4c 4c 4c4c4c4c 4c 4c4c4c 4c 4c4c4c4c 4c 4:4c 4c 4c4c4c4c4c4c4c 4c 4c 4c4c4c4c 4c 4c****** ******************** 4c
4c*****************************************************************
INTEGER OPT I ON(3)
DIMENSION PLDATA(30),SYMBOL(14),XXVAL<100 ) ,YYVAL<100),SCL(5)
DIMENSION TOP(12),TABLE(20,2,9),MAXX(9),WEIGHT(9),QMAX(9)
DIMENSION AGENCY(2),DESCRP(30),EQTEMP(12),PARAM{10),SMALL(9),
1QUAL(9),STAT(4),DAYS(12),HSTAT(4)
DIMENSION BUFX(500),BUFY(500)
4c * * 4c # * * * Jjc 4c 4c * 4c $ * £ 4c 4c * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * 4c * * 4c ~ * 4(4c $ * 4c 4c 4C
THE NEXT STATEMENT HAS THE UNIT WEIGHT FACTORS FOR EACH PARAMETER
4c 4c 4c 4c 4c 4c 4c 4c 4c 4c 4c 4c 4c 4c 4i 4c 4c 4c 4c 4; 4c 4c£ 4c 4c 4c 4c 4c 4t 4c 4c 4c 4c 4c 4c 4c 4c 4:4c 4c 4c £4c 4c 4c 4c£ 4c 4c 4c 4c 4c 4c 4c 4c 4c 4c 4c 4c£4c 4c 4c 4c 4c 4c
DATA WEIGHT/.17,.15,.12,.10,.10,.10,.10,.08,.08/
4c 4c 4c **************4c*** *************** ********* ********** ***********
THIS NEXT DATA STATEMENT HAS THE MAXIMUM NO. OF POINTS IN EACH
UNIT QUALIGRAM — FOR PROGRAM CONTROL
4c 4c 4c 4c 4c 4c 4c 4c * 4c * 4c 4c # 4c 4c * * * * * * * * * ** * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
DATA MAXX/11,15,20,7,12,12,12,11,11/
DATA DAYS/31.,28.,31.,30.,31.,30.,31.,31.,30.,31.,30.,31./
DATA SKPTIM/'2500'/,SPACE/' •/
DATA SMALL/0.,1.,2.,0.,0.,0.,-10.,0.0,0.0/
DATA SYMBOL/'Q*,,0,i'T',,+,,,X,,,D'»,A',,M»,,Z'»,Y'f,B,,'*,»,H,»,I
1 •/
4c4c4c4c4!4C* * 4C4c4c ***** 4c4c4c*4c 4c4c4c4c4c4c4c 4= 4c4c4c4c4c 4c4c4c4c4c*******4c4c4c*4c4= *** *4c* 4c4c4c*4c4c*4c
THE NEXT DATA STATEMENT IS THE UNIT QUALITY, ASSIGNED TO A
PARAMETER EXCEEDING THE RANGES IN THE QUALIGRAMS
******************************************************************
DATA QMAX/50.,2.,0.0,2.,1.,2.,5.,5.,20./
****4c *************************************************************
THESE NEXT VALUES ARE MONTHLY EQUILIBRIUM TEMPERATURES FOR THE
STATE OF NEW JERSEY REF 'EFFECT OF GEOGRAPHICAL LOCATION ON
COOLING POND REQUIREMENT AND PERFORMANCE 16130 FDQ 03/71
*******************************4c** ************** ******* ***********
DATA EQTEMP/33.,37.,45.,57.,69.,78.,83.,81.,73.,60.,46. ,38./
TWQIOOO
TWQI001
TWQI002
TWQI003
TWQI004
TWQI005
TWQI006
TWQI007
TWQI008
TWQI009
TWQI010
TWQI011
TWQI012
TWQI013
TWQI014
TWQI015
TWQI016
TWQI017
TWQI018
TWQI019
TWQI020
TWQI021
TWQI022*
TWQI023
TWQI024
TWQI025
TWQI026
TWQI027
TWQI028
TWQI029
TWQI030
TWQI031
TWQI032
TWQI033
TWQ1034
TWQI035
TWQI036
TWQI037
TWQI038
TWQI039
TWQI040
TWQI041
TWQI042
TWQI043
TWQI044
TWQI045
TWQI046
TWQI047
TWQI048
TWQI049
TWQI050
TWQI051
TWQI052
TWQI053
0
-------
-2k-
PROGRAM A - SOURCE LISTING
M=8 TWQI054
C ************************** ********************* ******************* TWQI055
C TWQI056
C REAO INDIVIDUAL PARAMETER QUALIGRAMS TWQI057
C TWQI058
£ ********* ** ****************************** *********** ************** TWQI 059
DO 150 1=1,9 TWQI060
MAX=MAXX(I) TWQI061
C TWQI062
C FIRST — THE X-SCALE IS READ INTO TABLE(J,1,I) TWQI063
C TWQI064
READ(M»151)(TABLE(J,l,I),J=l,MAX) TWQI065
151 FORMAT(8F10.0) TWQI066
C TWQI067
C NOW READ IN THE ASSOCIATED Y VALUE FOR THE X*S ABOVE TWQI068
C TWQI069
READ!M»151)(TABLE(J,2,I),J=1,MAX) TWQI070
150 CONTINUE TWQI071
ISEQ=0 TWQI072
C TWQI073
C •ISEQ1 IS USED TO IDENTIFY STORET STATIONS BY A UNIQUE SEQUENTIAL TWQI074
C NUMBER ... USED IF PLOTTING SEASONAL WQI BY MILE PTS. OR STAT. NO. TWQI075
C TWQI076
KK=0 TWQI077
XXMAX=0.0 TWQI078
YYMAX=0.0 TWQI079
C TWQI080
C ****************************************************************** TWQ1081
C TWQI082
C READ PROGRAM OPTIONS ... TWQI083
C TWQI084
C OPT I ON(1)=01 FOR CUMM. INDEX =1,F0R MULTIPLICATIVE INDEX TWQI085
C OPT I ON(2)=0» FOR NO PLOT, ... =1,F0R WQI PLOT TWQI086
C OPT I ON(3) = 1» TO CREATE FILE USED IN PLOTTING WQI BY STATIONS TWQI087
C IF STATION PLOTTING WILL NOT FOLLOW — LEAVE 0PTI0N(3) BLANK TWQI088
C TWQI089
C ****************************************************************** TWQI090
READ(M,101)0PTI0N TWQI091
101 FORMAT(312) TWQI092
C ****************************************************************** twqJ093
C TWQI094
C CONVERT MONTHLY EQUILIBRIUM TEMPERATURES TO DEGREES CENTIGRADE TWQI095
C TWQI096
C ****************************************************************** TWQI097
DO 1 1=1,12 TWQI098
EQTEMP(I)=(EQTEMP(I)-32.)*.55556 TWQI099
1 CONTINUE TWQI100
£ ****************************************************************** TWQI101
C TWQI102
C **READ DELIMITER RECORD - VERIFY BEGINNING OF DATA RECORDS** TWQI103
C TWQI104
C ****************************************************************** TWQI105
12 READ(20,111,END=400) I DUMMY TWQI106
111 FORMAT(25X,I 2) TWQI107
1
-------
-25-
PROGRAM A - SOURCE LISTING
IF (I DUMMY•EQ.99) GOTO 22 TWQI108
GOTO 12 TWQI109
232 IF(OPTION(2).LE.0)GO TO 432 TWQI110
C TWOI111
C GRAPH OF WATER QUALITY INDEX FOR STATION WILL BE DONE IF DESIRED TWQI112
C TWQI113
C ****************************************************************** TWQI114
C TWQI115
C »~» COMMANDS BELOW USE THE INTEGRATED PLOTTING PACKAGE *** TWQI116
C TWQI117
£ *$£**£$**$******************************************************** TWQI118
G TWQI119
C SET INITIAL VALUES ON SPECIFICATIONS ARRAY TWQI120
CALL SSPECS(PLDATA) TWQI121
C TWQI122
C SET PLOTTING SYMBOL DESIRED TWQI123
C TWQI124
PLDAT A(16)=SYMB0L(3) TWQI125
C TWQI126
C RESET SIZE OF AXES (INCHES) Y ONLY TWQI127
C TWQI128
PLDAT A(8)=7.0 TWQI129
C TWQI130
C MOVE X-AXIS 2 INCHES AWAY FROM ORIGIN TWQI131
C TWQI132
PLDAT A(2)=2•0 TWQI133
C TWQI134
C ENTER NUMBER OF DATA POINTS TO PLOT TWQI135
C TWQI136
PLDATA(13)=MM-1 TWQI137
C TWQI138
C CLEAR WORK AREA TWQI139
C TWQI140
DO 15 K=1f 5 TWQI141
15 SCL(K)=0.0 TWQI142
C TWQI143
C SET RANGE OF VALUES ON X-AXIS, NO. DIVISIONS=NO. YEARS ANALYZED TWQI144
C TWQI145
KK=XXMAX+1 TWQI146
PLDAT A(3)=KK TWQI147
KK2=XXVAL(1) TWQI148
PLDAT A(4)=KK2 TWQI149
PLDATA(9)=KK-KK2 TWQI150
C TWQI151
C SET RANGE OF VALUES ON Y-AXIS TWQI152
C TWQI153
PLDAT A(5) = 100• TWQI154
PLDATA(6)=0.0 TWQI155
C TWQI156
C CHANGE DEFAULT VALUE OF DIVISIONS FOR Y-AXIS TWQI157
C TWQI158
PLDATA(IO) = 10. TWQI159
C TWQI160
C DRAW ANNOTATION NUMBERS AT THE BOTTOM SCALE MARKS TWQI161
2
-------
-26-
PROGRAM A - SOURCE LISTING
C TWQII62
CALL NODLIB(PLDATA) TWQII63
C TWQI164
C DRAW ANNOTATION NUMBER AT THE LEFT SCALE MARKS TWQI165
C TWQI166
CALL NODLILlPLDATA) TWQI167
C TWQI168
C DRAW X-Y AXES ... DOUBLE NO. OF TICK MARKS IN Y-AXIS TWQI169
C TWQI170
PLDATA(10)=20.0 TWQI171
CALL AXLILI(PLDATA) TWQI172
C TWQI173
CC CLEAR ZONES VARIABLES — SINCE UPDATED BY ABOVE SUBROUTINE TWQI174
C TWQI175
CALL ZZONES(PLDATA) TWQI176
C TWQI177
C PLOT SYMBOL AT DATA POINT LOCATIONS TWQI178
C TWQI179
CALL PSLILI(XXVAL»YYVAL»PLDATA) TWQI180
C TWQI181
C NOW CONNECT DATA POINTS WITH PARABOLAS TO FIT THE DATA ... TWQI182
C TWQI183
C TWQI184
CALL PFLILI(XXVAL »YYVAL »BUFX,BUFY»PLDATA) TWQI185
C TWQI186
C TWQI187
C NOW LABEL THE AXES TWQI 188
C CHANGE DEFAULT SPACING OF TITLES TO THE AXES TWQI189
C TWQI190
PLDAT A(24)=.30 TWQI191
PLDATA(26)=.75 TWQI192
CALL TITLEBC+ TIME (YEARS)~', PLDATA) TWQI193
IF(OPT ION(1).EQ.0 JCALL TITLEL(•+CUMM NSF WATER QUALITY INDEX+•> TWQI194
1PLDATA) TWQI195
IF(0PTI0N(1).NE.0)CALL TITLEL(•+MULT NSF WATER QUALITY INDEX+1, TWQI196
1PLDATA) TWQI197
C TWQI198
C PRINT GRAPH DESCRIPTION AT LOWER, RIGHT HAND SIDE OF GRAPH TWQI199
C TWQI200
PLDAT A(22)=3.0 TWQI201
PLDATA(23)=1.0 TWQI202
CALL GTITLE('+STORET STATION NO. + •,PLDATA) TWQI203
PLDAT A(22)=4.6 TWQI204
CALL GTITLEtTOP,PLDATA) TWQI205
C TWQI206
C ADVANCE GRAPH PAPER FOR NEXT STATION TWQI207
C TWQI208
CALL NXTFRMt PLDATA) TWQI209
432 STAT(1)=SPACE TWQI210
22 READ(20,30,END=330) AGENCY,STAT,DESCRP TWQI211
30 FORMAT(2A4 »4A4,IX,30A4) TWQI212
MM=1 TWQI213
WRITE(6i40) STAT,DESCRP TWQI214
40 FORMAT('1STATI ON S4A4,/,' «,30A4) TWQI215
3
-------
-27-
c
c
c
c
c
c
c
c
c
c
PROGRAM A - SOURCE LISTING
00 60 1 = I»8
READ(20,30,END=310) AGENCY,STAT,DESCRP
WRITE(6,50) DESCRP
50 FORMAT(' •,30A4)
IF(I.EQ.2)GO TO 61
GO TO 60
61 T0P(1)=SYMB0L(4)
TOP{2)=STAT(1)
TOP(3)=STAT(2)
TOP(4)=SPACE
T0P(5)=DESCRP(17)
T0P(6)=DESCRP(18)
TOP(7)=DESCRP(19)
TOP(8)=DESCRP(20)
T0P(9)=DESCRP(21)
TOP(10)=DESCRP(22)
T0P(11)=DESCRP{23)
TOPI12)=SYMB0L(4)
******************************************************************
ADVANCE •ISEQ* FOR NEXT STATION ...
******************************************************************
ISEQ=ISEQ+1
60 CONTINUE
IF(OPTION(1).EQ.O)WRITE(6,51)
IF(OPTION(1).NE.0)WRITE(6,52)
51 F0RMAT(//,31X,•CUMM*)
52 F0RMAT(//,31X,'MULT*)
WRITE(6,70)
70 FORMAT(• DATE DIG. YR. TIME WQIM
80 CONTINUE
DO 90 1=1,9
QUAL(I)=0.0
90 CONTINUE
******************************************************************
READ STATION PARAMETRIC DATA
******************************************************************
100 READ(20,110,END=310) AGENCY,STAT,IYR,IMON,I DAY,TIME,PARAM
110 F0RMAT(2A4,3A4,A3,2X,3I2,A4,10A4)
IF (IYR.EQ.99) GOTO 232
DO 120 1=1,9
******************************************************************
TEST FOR DUMMY VALUE IF NO SAMPLE WAS TAKEN
******************************************************************
IF ((PARAM(I).LT.1E-15).AND.(PARAM(I).GT.O.)) GOTO 100
IF (PARAM(I).GE.O.) GOTO 120
WRITE(6,115) I,PARAM(I)
115 FORMAT ( • «**WARNING - PARAMETER Nil,1 IS NEGATIVE, NF3.1
It* IS SUBSTITUTED***')
C
C
C
C
C
TWQI216
TWQI217
TWQI218
TWQI219
TWQI220
TWQI221
TWQI222
TWQI223
TWQI224
TWQI225
TWQI226
TWQI227
TWQI228
TWQI229
TWQI230
TWQI231
TWQI232
TWQI233
TWQI234
TWQI235
TWQI236
TWQI237
TWQI238
TWQI239
TWQI240
TWQI241
TWQI242
TWQI243
TWQI244
TWQI245
TWQI246
TWQI247
TWQI248
TWQI249
TWQI250
TWQI251
TWQI252
TWQI253
TWQI254
TWQI255
TWQI256
TWQI257
TWQI258
TWQI259
TWQI260
TWQI261
TWQI262
TWQI263
TWQI264
TWQI265
TWQI266
TWQI267
TWQI268
TWQI269
4
-------
-28-
c
c
c
c
c
156
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
PROGRAM A - SOURCE LISTING
120 CONTINUE
IF (TIME.EQ.SKPTIM) TIME=SPACE
******************************************************************
TEST PARAMETERS FOR MINIMUM POSSIBLE VALUES — IF LESS ADJUST
******************************************************************
DO 156 1=1,9
IF (PARAMU).LT.SMALLtI)) PARAM(I)=SMALL(I)
CONTINUE
IF(EQTEMP(IMON)-PARAM(7).LT.-5)PARAM(7)=-5«0
******************************************************************
COMPUTE SATURATION LEVEL OF OXYGEN AT STATION —USING TEMPERATURE
AND CHLORIDE CONCENTRATION
******************************************************************
DOSAT=(1.000009*PARAM(10)J*<14.652-.41022*PARAM(7)
1+.007991*PARAM(7)**2 000077774*PARAM<7)**3)
******************************************************************
COMPUTE OXYGEN CONCENTRATION AS PERCENT SATURATION
******************************************************************
PARAM(1)=PARAM(1)/DOSAT*100.
******************************************************************
COMPUTE DEVIATION FROM EQUILIBRIUM TEMPERATURE
******************************************************************
PARAM(7)=EQTEMP(IMON)-PARAM(7)
******************************************************************
ADD CONSTANT OF 'S* TO TEMPERATURE VALUES — NOTE - THIS IS DONE
TO ELIMINATE NEGATIVE TEMPERATURES IN UNIT QUALIGRAM
X-SCALE OF TEMPERATURE QUALIGRAM HAS ALSO BEEN CHANGED ACCORDINGLY
******************************************************************
PARAM(7)=PARAM(7)+5•
******************************************************************
SEARCH FOR QUALITY VALUE — LINEARLY INTERPOLATE IF NECESSARY
******************************************************************
DO 285 IPARAM=1,9
MAX=MAXX(IPARAM)
DO 157 ISCAN=1«MAX
IF(PARAM(IPARAM).GT.TABLE
-------
-29-
c
c
c
c
c
c
c
c
c
- 158
285
C
C
C
C
C
290
275
276
C
C
c
c
c
278
670
675
300
C
C
C
C
PROGRAM A - SOURCE LISTING
SET QUALITY OF PARAMETER FOR VALUE ABOVE DEFINED MAXIMUM
*** * ** *** * ** **** * ** **** * **** * ** * * ** ****** * ********* 4c *****
QUAL(IPARAM)=QMAX{IPARAM)
GO TO 285
******************************************************************
PARAMETER IS BETWEEN TWO VALUES — LINEARLY INTERPOLATE FOR UNIT
QUALITY BY USING THE HIGH VALUE AND SUBTRACTING THE DIFFERENCE
******************************************************************
XDIF=TABLE(I SCAN,I,IPARAM)-PARAM(IPARAM)
XDELTA=TABLE(I SCAN,1,IPARAM)-TABLE(I SCAN-1,1,1PARAM)
SLOPE=(TABLE(I SCAN,2,IPARAM)-TABLE(ISCAN-1,2,IPARAM))/XDELTA
QUAL(IPARAM)=TABLE(ISCAN,2»IPARAM)-(SLOPE*XDIF)
CONTINUE
WQIA=0•
******************************************************************
TEST OPTION OF MULTIPLICATIVE OR ADDITIVE INDEX
******************************************************************
IF{0PTI0N(1).GT.O)GO TO 275
DO 290 1=1,9
WQIA=WQIA+QUAL(I)*WEIGHT(I)
CONTINUE
GO TO 278
WQIA=1•0
DO 276 1=1,9
WQIA=WQIA*QUAL(I)**WEIGHT(I)
CONTINUE
******************************************************************
DIGITIZE SAMPLE DATE TO FRACTION OF YEAR
******************************************************************
SUM=0.
IF (IMON.EQ.l) GOTO 675
INDEX=IMON-1
DO 670 1=1,INDEX
SUM=SUM+DAYS(I)
CONTINUE
CONTINUE
SUM=SUM+1 DAY
IF ((MOD(IYR,4).EQ.0).AND.(IMON.GT•2)) SUM=SUM+1
T0TDAY=365
IF
-------
-JP-
c
c
c
c
c
c
c
e
c
c
c
c
c
c
c
PROGRAM A - SOURCE LISTING
******************************************************************
191 XXVAL(MM)=IYR+FRAC
YYVAL(MM)=WQIA
******************************************************************
SAVE HIGHEST VALUE OF Y-VALUES FOR SCALING PLOT
******************************************************************
IF(YYVAL(MM).GT.YYMAX)YYMAX=YYVAL(MM)
******************************************************************
SAVE HIGHEST OF YEARS FOR SCALING PLOT
******************************************************************
IF(XXVAL(MM).GT.XXMAX)XXMAX=XXVAL(MM)
******************************************************************
SAVE RECORD ON DISK FILE IF PLOTTING WQI BY STATION
******************************************************************
IF(OPT I ON(3).GT.O)WRITE(25,91)IYR,IMON,IDAY.OPTION(1),STAT,ISEQ
1, XXVAL(MM),YYVAL(MM),TOP
F0RMAT(3I2»I2»4A4tI3»2F12.4t12A4)
MM=MM+I
GO TO 100
CONTINUE
WRITE(6» 320) STAT
FORMAT(//t' ABNORMAL
STOP
WRITE(6,112)
91
192
310
320
400
112
330
C
C
c
c
c
c
c
c
c
£
/*
FILE END WHILE READING STATION *,4A4)
333
FORMAT(10X,•BEGINNING OF DATA RECORDS NOT CONFIRMED1)
IF(0PTI0N(2).LE.0)G0 TO 333
******************************************************************
PLOTTING IS FINISH — NOW CLOSE THE NEUTRAL TEXT
******************************************************************
CALL PPPEND(PLDATA)
IF(OPTION(3).GT.O)END FILE 25
******************************************************************
IF NOT PLOTTING SET HI COND CODE TO BYPASS PLOT POST-PROCESSOR
******************************************************************
IF(0PTI0N(2).LE.0) STOP 40
CALL EXIT
END
TWQI378
TWQI379
TWQI380
TWQI381
TWQI382
TWQI383
TWQI384
TWQI385
TWQI386
TWQI387
TWQI388
TWQI389
TWQI390
TWQI391
TWQI392
TWQI393
TWQI394
TWQI395
TWQI396
TWQI397
TWQI398
TWQI399
TWQI400
TWQI401
TWQI402
TWQI403
TWQI404
TWQI405
TWQI406
TWQI407
TWQI408
TWQI409
TWQI410
TWQI411
TWQI412
TWQI413
TWQI414
TWQI415
TWQI416
TWQI417
TWQI418
TWQI419
TWQI420
TWQI421
TWQI422
TWQI423
TWQI424
TWQI425
7
-------
PROGRAM B: PLOT/PRINT NSF - WQI PARAMETER DATA
This program works quite similar to program A; but instead of computing the WQI,
the data for the index is saved in a nine element two dimensional array. The
plotting for all the data is done in two frames, by Dlacing five parameters on
each frame. As presently written each frame is 5 ^ x 11 inches and due to the
high resolution required, it can only be satisfactorily produced on the calcomp
plotter. The scale factors for all parameters are set at specified values for
ease in comparisons. In applying this program to the State of New Jersey we
found two extremes in total dissolved solids concentrations and .therefore two
sets of scales are used for this parameter.
-------
PLOT/PRINT NSF-WQI PARAMETER DATA - PROGRAM FLOWCHART
-32-
( ST"*T )
XMITI/Ulil
miximvm tlfirn
"lK< fO«
v4i»rr n<
jeau»4
fQvitJAiwM
rCH^rMnnirj
n>4 WMnsV
(RMO
limrjou
*** Autren
0tm
Arse*
V»Lvffs TO
HiuimvMt t't
our •* n>aiau
Ctm
BltjM
orttru tw^r-rrr.
AS % tm**Tt'ou
f««Lk.
' X*"tan*T*»1
0 rr/iw t
. liifiiairitfu
C**ipur6
°fV*lTIOAU
*
7
inu
Srmnoij «nw«
««¦>
«•* Kor
k4«ruM/«
r
OfciVi'tff
Ourf to
PULTTO*/
cm yMft
r
Mtr
Aer
*b«* 1
®ogrr
Tf ml en
ffero<
fp
*9S
fxtHwe
' xf
foTT- tocARx]
-------
-33-
PROGRAM B - PLOT/PRINT NSF-WQI PARAMETER DATA
PROGRAM INPUT
1) PROGRAM OPTIONS
CARD
COLUMN
1 - 2
3 - 4
VARIABLE
IPRNT
I PLOT
FORMAT
12
12
2) Y-AXIS PARAMETER LABEL (IF IPLOT > 0)
VARIABLE FORMAT
CARD
COLUMN
1 - 20 PTITLE (1,1-5) 5A4
1 - 20 PTITLE (2,1-5) 5A4
DESCRIPTION
Set > 0, to produce report of WQI
Parameter Data
Set > 0, to plot 5 parameters/frame of
above data
DESCRIPTION
y-axis label for first parameter in
character balanced notation (see
sample input in next section or
reference 2)
y-axis label for 2nd parameter
1 - 20
PTITLE (9,1-5) 5A4
y-axis label for 9th parameter
note: The titles above must be in the same sequence as the parameters were
specified on the STORET retrieval.
3) STORET "MORE = 3" RETRIEVAL
This retrieval must have preceded as a separate step or as a separate job
altogether. In this program it will be referred as input file (20). See
deck setup following this section for details.
-------
SAMPLE INPUT
1) EXECUTION OF PROGRAM FROM SOURCE STATEMENTS:
//EPAIIIaa JOB(AAAA)
//S2 EXEC IPP1136G,REGION-130K,PRINT=A
//* THIS PROCEDURE WILL INVOKE THE CALCOMP POST PROCESSOR
//FORT.SYS IN DD *
SOURCE PROGR
AM GOES HERE
//GO.FT20F001 DD UNIT-3330-1,VOL-SER-DDDDDD,DISP=(OLD,KEEP),
// LABEL=(,,,IN),DSN=CN.EPAIII.AAAA.(FILE NAME FROM STORET RETRIEVAL)
//GO.FT08F001 DD *
0101
/D.O. PERCENT SAT/
+FECAL COLI MPN/ML+
/ PH /
+ BOD5 MG/L +
+ N03 MG/L +
+ P04 MG/L +
/EQUIL TEMP DELTA /
/ TURBIDITY JTU /
+ TOT SOLIDS MG/L+
/*
//PLOT.PLOTTAPE DD UNIT = 2400,DSN»PL.EPAIII.AAAA .>LOTNAME,
// DISP»(NEW,CATLG,DELETE),LABEL-RETPD-60,VOL-SER=
//PLOT.SYS IN DD DUMMY
/*
I
I
-------
EXECUTION OF PROGRAM FROM LOAD MODULE:
//EPAIIIaa JOB(AAAA)
//SI EXE C PGM-FIVE PARM,R EG10N» 13 0K
//STEPLIB DD DSN-CN.EPAGAN.R2TW.WQI.LOADLIB,DISP=SHR
//FT02F001 DD DSN-&IPPTAPE,UNIT-SYSDA,SPACE=(CYL,(2,2),RLSE),
// DCB-(RECFM=VBS,LRECL-516, BLKS IZE-3 15 6) , DI SP-» (N EW , PASS , DELETE)
//FT06F001 DD SYSOUT-A
//FT20F001 DD UNIT»3330-1,VOL=SER=DDDDDD,DISP-(OLD,KEEP),
// DSNAME-CN.EPAIII.AAAA.(FILE NAME FROM STORET RETRIEVAL FOLLOWS)
//FT08F001 DD *
0101
/D.O. PERCENT SAT/
+FECAL COLI MPN/ML+
/ PH /
+ BOD5 MG/L +
+ NO 3 MG,/L +
+ P04 MG/L +
/EQUIL TEMP DELTA /
/ TURBIDITY JTU /
+ TOT SOLIDS MG/L+
/*
//PLOT EXEC PGM=CCMP 1136,COND»(8,LE),REGION = l3OK
//STEPLIB DD DSN«CNSSSS.ZAF.IPP.LOAD 1,DISP™SHR
//FT01F001 DD DDNAME=SYSIN
//FT02F001 DD DSN-&IPPTAPE,DISP=(OLD,DELETE,DELETE)
//FT06F001 DD SYSOUT-A
//FT15F001 DD SYSOUT-A
//* USE THE NEXT FOUR STATEMENTS WITH CALCOMP POSTPROCESSOR ONLY.
//FT03F001 DD DDNAME-PLOTTAPE
//PLOT.PLOTTAPE DD UNIT-2400,DSN-PL.EPAIII.AAAA.PLOTNAME,
// LABEL-RETPD-60,DIS P-(NEW,CATLG,DELETE),VOL=SER»
//PLOT.SYS IN DD DUMMY
/*
-------
PROGRAM B: PLOT/PRINT NSF - WQI PARAMETER DATA
SAMPLE OUTPUT
-------
I
4
5
6
7
B
9
10
11
12
s
x
. H
ra
o
z
¦c
in
>
0 0 (SATI F.C. HPN PH B005
55.6480 9180.0000 7.2000 4.0000
96.8442 16090.0000 6.9000 5.0000
_82.7172_24000.0000 7.4000 5.0000
71.2497 2400.0000 7.4000 7.0000
67.9343 24000.0000 7.2000 7.0000
76.463I240000.0000 7.2000 10.0003
59.0895240000.0000 7.2000 __ 11.0000
76.8997 91800.0000 7.4000 10.0000
94.3315_22100.0000 6.9000 _ _ 4.0000
87.4771 24000.0000 7.4000' 2.0000
75.9977 1720.0000 7.2000 lJ°-0000
84.2123 2300.0000 7.3000 11.0000
91.7934 _ . 50.0000 8.0000 4.0000
79.1900 16000.0000 7.3000 "" 4.0000
8J .3075 540.0000 7.5000 _ 3.0000
84.9141 2400.0000 6.9000 4.0000
93^3444 2400.0000 J. 1000 4.0000
83.2651 5.0000 7.1000 '*5.0000
83.1594 2.0000 6.8000 _ 2.0000
45.7884 34.0000 7.3000 3.0000
82.?552__ 540.0000 7.4000 _ 4.0000
343016 87 _
40 33 34.0 074 31 41.0 2
RARI TAN RIVER
34035 NEW JERSEY
NORTHEAST 013391
LOWER HUDSON N.V. METROPOLITAN AREA
21NJ0EP1 04001004
0000 FEET DEPTH CLASS 00
N03
P04
TEMP DELTA TURB
TOT SOLIDS
CL
0.6000
0.5000
-2.7443
20.5000
798.0000
0.0000
1.4400
0.5000
-0.4444
8.6000
344.0000
0.0000
0.5400
0.3000
5.5557
12.4000
356.0000
0.0000
0.5100
1.1000
4.7780
8.6000
446.0000
0.0000
1.0000
1.3000
3.5557
22.0000
655.0000
0.0000
3.0000
2.0000
0.7776
125.0000
408.0000
0.0000
1.0000
1.0000
4.5557
36.0000
533.0000
0.0000
1.0000
0.0
-0.6666
43.0000
445.0000
0.0000
2.0000
4.0000
0.2778
25.0000
291.0000
0.0000
1.0000
0.0
1.8890
16.0000
246.0000
0.0000
2.0000
1.0000
-1.4443
10.0000
854.0000
0.0000
5.0000
1.0000
1.7778
30.0000
426.0000
0.0000
3.0000
1.0000
2.8890
16.0000
354.0000
0.0000
6.0000
1.3000
3.2224
9.0000
460.0000
0.0000
3.0000
0.3800
2.7778
9.0000
306.0000
0.0000
4.0000
0.5000
1.7778
130.0000
270.0000
0.0000
2.0000
1.0000
7.5557
88.0000
218.0000
0.0000
2.0000
0.5600
0.5556
17.0000
262.0000 •
0.0000
1.0000
0.7000
0.2223
65.0000
210.0000
0.0000
1.2000
1.5000
21.0779
8.0000
616.0000
0.0000
1.8000
1.0000
1.3334
16.0000
210.0000
0.0000
-------
il A I I UN 4<*3U1 f
/TYP A /A MB NT/STREAM
343017 88 - .
40 29 50.0 074 26 18.0 2
RAR1 TAN RIVER
-------
- 31 -
-------
- -
-------
-iil-
Tt«£ :
-------
— <+2. -
-------
-43-
PROGRAM B SOURCE LISTING
(J ******************************************************************
Q *******************************************************************
c
C THIS PROGRAM PLOTS AND/OR PRINTS THE RAW DATA USED TO COMPUTE
C THE WQI AT STORET STATIONS, FOR THE RETRIEVED TIME INTERVAL
C
C *** THIS VERSION PLOTS UP TO FIVE PARAMETERS PER FRAME ***
C
Q *******************************************************************
Q ******************************************************************
c
DIMENSION PLDATA(30).SYMBOL (14),XXVAL (100),SCL (5),YYVAL (100)
DIMENSION TOP( 12 ) ,HIGHY(9),PTITLE (9,5),YTITLE (5),VAL (9,100)
DIMENSION AGENCY (2).DESCRP(30),EQTEMP(12),PARAM(10),SMALL(9),
1STAT(4).DAYS (12)
DATA DAYS/31 .,28 .,31.,30.,31.,30.,31.,31.,30.,31.,30.,31./
DATA SMALL/0.,1.,2.,0.,0.,0.,-10.,0.0,0.0/
DATA HIGHY/150., 5000., 11 .,30.,20.,20.,20., 100 . ,50000 . /
DATA SKPTIM/'2500'/,SPACE/' '/
DATA SYMBOL/'Q','0','T','X','D','A','M','Z','Y','B','*','H','I'/
Q *******************************************************************
c
C THESE VALUES ARE MONTHLY EQUILIBRIUM TEMPERATURES FOR THE
C STATE OF NEW JERSEY REF: 'EFFECT OF GEOGRAPHICAL LOCATION ON
C COOLING POND REQUIREMENT AND PERFORMANCE 16130 FDQ 03/71
C
C ******************************************************************
DATA EQTEMP/33.,37.,45.,57.,69.,78.,83.,81.,73.,60.,46.,38./
M=8
C
READ(M,1)IPRNT,IPLOT
1 FORMAT (212)
0 ******************************************************************
C
C READ Y-AXIS PARAMETER LABEL TO ARRAY IF PLOTING
C
C ***********
IF(IPLOT.GT
4 FORMAT (5A4)
KK= 0
XXMAX=0.0
YYMAX= 0.0
C ***********
C
C **READ DELIMITER RECORD - VERIFY BEGINNING OF DATA RECORDS**
C
Q ******************************************************************
12 READ(20,111,END=400) IDUMMY
111 FORMAT (25X,12)
IF (IDUMMY.EQ.99) GOTO 22
GOTO 12
C
*******************************************************
.0)READ(M,4)((PTITLE(L,JX),JX-1,5),L-1,9)
*******************************************************
-------
-44-
Q ******************************************************************
C *** COMMANDS BELOW USE THE INTEGRATED PLOTTING PACKAGE ***
C
C ******************************************************************
232 IF(IPLOT#LE.O)GO TO 100
HINIT«= 1 0 • 75
LN-1
C ****
C
C THIS
- C
Q * * * *
CALL
C
C SET
C
CALL
HI 7 =
HI 8°
C
C ENTER NUMBER OF DATA POINTS TO PLOT
C
PLDATA(13)=MM-I
C
C MOVE Y-AXIS 1.5 INCHES AWAY FROM THE FRAME ORIGIN
C
PLDATA(1)=1.5
C
C RESET SIZE OF AXES (INCHES)
C
PLDATA( 7 ) = 6 .0
PLDATA(8) = 1.5
DO 2 L=1 , 9
C
C SET PLOTTING SYMBOL DESIRED
C
PLDATA(16)= SYMBOL(L)
C
C SET LETTER SIZE OF LABELS TO HALF DEFAULT (.05)
C
PLDATA ( 17 ) =»H1 7
PLDATA(18)=H18
C
* C MOVE X-AXIS 8.75 INCHES AWAY FROM ORIGIN- USING 2.0 INCHES FOR
C EACH GRAPH FOR A TOTAL FRAME SIZE OF 8-1/2 X 11 INCHES
C
PLDATA(2)=HINIT-(LN*2«0)
C
C CLEAR WORK AREA
C
DO 15 K°1t 5
15 SCL (K)°0.0
C
C SET RANGE OF VALUES ON X-AXIS ** NO. DIVISIONS=NO.YEARS ANALYZED
C
**************************************************************
NEXT CALL IS REQUIRED FOR PLOTS LARGER THAN 10.5 INCHES...
**************************************************************
CMLBF('PLOT IS 8-1/2 X 11 IN ')
INITIAL VALUES ON SPECIFICATIONS ARRAY
SSPECS (PLDATA)
PLDATA(17)/2.
PLDATA(18)/2.
-------
-45-
KK°XXMAX+1
PLDATA(3)°KK
KK2 = XXVAL (1)
PLDATA(4)=KK2
PLDATA(9)=KK-KK2
SET RANGE OF VALUES ON Y-AXIS
PLDATA(5)=HIGHY(L)
TEST SOLIDS AMOUNT AT STATION — RESET Y-SCALE IF NECESSARY
IF(L.EQ.9.AND.VAL(9,1).LT.1000)PLDATA(5)=2000.
PLDATA(6)°0 .0
FOR TEMPERATURE CHANGE — Y-SCALE MUST ACCOMODATE NEGATIVE VALUES
IF(L.EQ.7)PLDATA(6)=-5.0
SET NO. OF DECIMALS ON Y-AXIS DEPENDING ON PARAMETER ...
PLDATA(28) = 2 .0
IF(L.EQ.2.0R.L.EQ.8.0R.L.EQ.9)PLDATA(28)=0•0
CHANGE DEFAULT VALUE OF DIVISIONS FOR Y-AXIS
PLDATA(10) » 10.
CLEAR ZONES — UPDATED BY TITLES ON PREVIOUS GRAPH
CALL ZZONES (PLDATA)
DRAW X-Y AXES
CALL AXLILI(PLDATA)
DRAW ANNOTATION NUMBERS AT THE BOTTOM SCALE MARKS
CALL NODLIB(PLDATA)
DRAW ANNOTATION NUMBER AT THE LEFT SCALE MARKS
CALL NODLIL (PLDATA)
CLEAR ZONES VARIABLES — SINCE UPDATED BY ABOVE SUBROUTINE
CALL ZZONES (PLDATA)
PLOT SYMBOL AT DATA POINT LOCATIONS
KK-MM-1
DO 6 K° 1 ,KK
YYVAL(K)=VAL(L,K)
CONTINUE
CALL PSLILI (XXVAL,YYVAL.PLDATA)
-------
-46-
NOW CONNECT DATA POINTS WITH DASHED LINE
CALL DLLILI(XXVAL,YYVAL,PLDATA )
CHANGE DEFAULT SPACING OF TITLES TO THE AXES
PLDAT A ( 24 ) «= . 1 5
PLDATA(26)=.45
******************************************************************
NOW LABEL THE AXES
******************************************************************
CALL TITLEB('+ TIME (YEARS)+',PLDATA)
MOVE APPROPIATE Y-AXES LABEL TO VECTOR FOR PLOTTING
DO 8 JX=1,5
YTITLE (JX )=»PTITLE (L, JX)
CONTINUE
CALL TITLEL (YTITLE,PLDATA)
IF(L.NE.5)GO TO 24
RESTORE TEXT LETTER SIZE FOR STATION DESCRIPTION LABEL
PLDATA(17)=H17*2.
PLDATA(18)=H18*2.0
PRINT GRAPH DESCRIPTION AT UPPER, RIGHT HAND SIDE OF GRAPH
PLDATA(22)-1.75
PLDATA(23)=10.50
CALL GTITLE('+STORET STATION NOPLDATA)
PLDATA (22)"»3.65
CALL GTITLE(TOP.PLDATA)
******************************************************************
ADVANCE GRAPH PAPER FOR NEXT FOUR PARAMETERS ...
******************************************************************
CALL NXTFRM(PLDATA )
LN - 0
LN=LN + 1
CONTINUE
RESTORE TEXT LETTER SIZE FOR STATION DESCRIPTION LABEL
PLDATA(17)=H17*2.
PLDATA(18)°H18*2.0
PRINT GRAPH DESCRIPTION AT UPPER, RIGHT HAND SIDE OF GRAPH
PLDATA(22)=1.75
P LDATA(23) = 10.50
-------
-47-
CALL GTITLE C + STORET STATION NO . + ',PLDATA)
PLDATA(22)=3.65
CALL GTITLE (TOP,PLDATA)
C
C ADVANCE GRAPH PAPER FOR NEXT STATION
C
CALL NXTFRM(PLDATA)
432 STAT(1)=SPACE
22 READ(20,30,END=330) AGENCY,STAT,DESCRP
30 FORMAT(2A4,4A4,IX,30A4)
MM«= 1
IF(IPRNT.GT.O) WRITE(6,40) STAT,DESCRP
40 FORMAT('1STATI0N ',4A4,/,' '.30A4)
DO 60 1=1,8
READ(20,30,END=310) AGENCY,STAT,DESCRP
IF(IPRNT.GT.0) WRITE(6,50) DESCRP
50 FORMAT(' ',30A4)
IF(I.EQ.2.AND.IPLOT.GT.O)GO TO 61
GO TO 60
61 TOP (1) = SYMB0L(4)
TOP(2J-STAT (1)
TOP(3)=STAT (2)
TOP(4) = SPACE
TOP(5)=DESCRP(17)
TOP(6)=DESCRP (18)
TOP(7)=DESCRP (19)
TOP(8)=DESCRP (20)
TOP(9)=DESCRP (21 )
TOP(10)"DESCRP (22)
TOP(11)=DESCRP(23)
TOP(12)=SYMBOL (4)
60 CONTINUE
C PRINT HEADINGS IF PRINTING RAW DATA ...
IF(IPRNT.GT.O)WRITE (6,5)
5 FORMAT( 5X, ' DATE ',2X,'TIME',3X,'D 0 (SAT ) ',3X,'F.C. MPN',
16X,'PH',9X,'B0D5',7X,'N03',8X,'P04',6X,'TEMP DELTA',3X,'TURB',
2 3X,'TOT SOLIDS',5X,'CL')
C
C READ STATION PARAMETRIC DATA
C
C ******************************************************************
100 READ (20,110,END=310) AGENCY,STAT,IYR,IMON,IDAY,TIME,PARAM
110 FORMAT (2A4,3A4,A3,2X,3I2,A4,10A4)
IF (IYR.EQ.99) GOTO 232
DO 120 1-1,9
C ******************************************************************
C
C TEST FOR DUMMY VALUE IF NO SAMPLE WAS TAKEN
C
Q ******************************************************************
IF ((PARAM(I).LT.1E-15).AND.(PARAM(I).GT.O.)) GOTO 100
IF (PARAM(I).GE.O.) GOTO 120
WRITE(6,115) I,PARAM(I)
115 FORMAT(' ***WARNING - PARAMETER ',11,' IS NEGATIVE, ',F3.1
-------
-48-
1,' IS SUBSTITUTED***')
120 CONTINUE
IF (TIME.EQ.SKPTIM) TIME=SPACE
C ******************************************************************
C
C TEST PARAMETERS FOR MINIMUM POSSIBLE VALUES -- IF LESS ADJUST
C
C ******************************************************************
DO 156 1=1,9
IF (PARAM(I).LT«SMALL (I )) PARAM(I) = SMALL(1)
156 CONTINUE
0 ******************************************************************
C
C COMPUTE SATURATION LEVEL OF OXYGEN AT STATION --USING TEMPERATURE
C AND CHLORIDE CONCENTRATION
C
C ******************************************************************
DOSAT=(1 .-.000009*PARAM(10))*(14.65 2-.41022 *PARAM(7)
1+.007991*PARAM{7)**2 - .00007 7 774*PARAM(7)**3)
C ******************************************************************
C
C COMPUTE OXYGEN CONCENTRATION AS PERCENT SATURATION
C
C ******************************************************************
PARAM(1)=PARAM(1)/DOSAT*100.
C ******************************************************************
C
C COMPUTE DEVIATION FROM EQUILIBRIUM TEMPERATURE
C
c ******************************************************************
PARAM(7)=(EQTEMP(IMON)-32.}*.55556 - PARAM(7)
C ******************************************************************
C
C TEST*OPTION TO PRINT RAW DATA ...
C
c ******************************************************************
IF(IPRNT.GT.Q)WRITE (6,3)IMON,IDAY,IYR,TIME,(PARAM(I),1=1,10)
3 FORMAT (5X.I2,,12,,12,3X,A4,10F11.4)
C ******************************************************************
c
C DIGITIZE SAMPLE DATE TO FRACTION OF YEAR
C
C ******************************************************************
278 SUM"0•
IF (IMON.EQ.l) GOTO 675
INDEX=IMON-1
DO 670 1=1,INDEX
SUM-SUM+DAYS (I )
670 CONTINUE
675 CONTINUE
SUM= SUM+IDAY
IF ((MOD(IYR,4).EQ.0).AND.(IMON.GT.2)) SUM=SUM+1
TOTDAY=365
IF (MOD (IYR,4>.EQ.O) T0TDAY=366
FRAC= SUM/TOTDAY-
-------
-49-
191 XXVAL(MM)=IYR+FRAC
DO 9 JX =1,9
VAL(J X,MM)=PARAM(J X)
9 CONTINUE
C SAVE HIGHEST OF YEARS FOR SCALING PLOT
IF (XXVAL (MM) . GT . XXMAX ) XXMAX= XXVAL (MM.)
MM=MM+1
192 CO TO 100
310 CONTINUE
WRITE(6,320) STAT
320 FORMAT(//,' ABNORMAL FILE END WHILE READ IMG STATION ',4A4 )
STOP
400 WRITE(6,112)
112 FORMAT(10X,'BECINNING OF DATA RECORDS NOT CONFIRMED')
C
C IF NOT PLOTTING SET HI COND CODE TO BYPASS PLOT POST-PROCESSOR
C
330 IF(IPLOT.LE.0)STOP 40
c
c PLOTTING IS FINISH — NOW CLOSE THE NEUTRAL TEXT
C
C ***ftft***ft*ftftft**ft*ftft*ftftftftftftftft**ft**ftft**ftftft**ftftftft£ft&ftftftftftftftft*ftftftftft*ft*
CALL PPPEND(PLDATA)
333 STOP
END
-------
-50-
PROGRAM C: SEASONAL NSF - WQI PLOTS FOR MULTIPLE STORET STATIONS
This program will plot water quality indices selectively by specified time
periods. The user can specify up to fifty time'periods in creating one curve
and a maximum of five curves can be plotted on a frame for up to one hundred
STORET stations. The graph can be sealed in the x-direction by station number
sequence or by station mile point.
The water quality data input to this program is a mass storage file called
"WQI Time File" and created by program A. (See system flowchart on figure 1)
The program first reads control variables, such as the total number of curves
to be plotted and the number of dates to be read for each curve, then using
these the WQI Time File is read and compared to the specified time periods,
those records within these periods are saved in a plotting vector with their
corresponding station number or mile point.
Once all records in the WQI Time File are read the program calls Integrated
Plotting Routines to draw these points in the graph and to-' enter the plotting
symbol in the graph legend. During the first curve processing the axes are
drawn and labelled, including the station name which is printed in the x-axis
with the text rotated -90°.
For each of the remaining curves, the WQI Time File is re-read and the appro-
priate records selected. At the end of file the plotting routines are called
to draw the symbol and the curve, and to enter the symbol in the graph legend.
The text written in this legend is read in the program by data cards, another
input by means of data cards is the station mile points (if this option is
chosen).
The user can also specify a minimum number of data points, such that this
criteria must be met before plotting takes place. Another option is the
plotting of the arithmetic mean of a number of points in a station, for a par-
ticular-. curve rather than the actual data; this option generally yields
a smoother curve and is used in the data presented.
-------
( STOP )
-------
-52-
PROGRAM C - SEASONAL NSF-WQI MULTI-STATION PLOTS
PROGRAM INPUT
1) STATION CONTROL OPTION
CARD
COLUMN VARIABLE FORMAT DESCRIPTION
1 - 2 ICNTL 12 ICNTL = 0, for plots by station sequence
ICNTL > 0, for plotting by station mile
points
3-4 IAVER 12 IAVER > 0, to average the WQI values at
each station for a particular curve
IAVER = 0, actual data will be plotted
2) STORET RETRIEVAL MILE POINTS (ICNTL > 0)
CARD
COLUMN
VARIABLE
FORMAT
DESCRIPTION
1 - 4
STNO (1)
14
sequence number for first station (usually
0001)
11-20
X (1)
F10.0
mile point location of first station
21 - 24
STNO (2)
14
sequence number for second station
31 - 40
•
X (2)
•
F10.0
•
mile point location of 2nd station
•
•
61 - 64
•
STNO (4)
•
14*
•
•
sequence number for 4th station
71 - 80
X (4)
F10.0
mile point location of 4th station
NOTE: The sequence number above refers to the actual sequential order of the
stations in the graph. This number is used as an index to store the mile
points read and to match the data to a similar sequence number in the input
mass - storage WQI time file. These sequence numbers do not have to follow
any particular order.
The above card is repeated as necessary until all mile points have been read
in. A blank field will terminate this type of input.
3) TIME INTERVALS FOR GRAPHICAL DISPLAY
CARD
COLUMNS VARIABLE FORMAT
1 - 2 NTOTAL 12
4-5 MINPTS 12
6-10 INVAL (1) 15
DESCRIPTION
total number of curves to be plotted
minimum number of data points desired by
user, (if criteria is not met, plotting
for particular curve will not occur)
number of date cards to be read for plot
of first curve
-------
-53-
CARD
COLUMN
11 - 15
VARIABLE FORMAT DESCRIPTION
INVAL (2) 15 number of data cards to be read for second
curve
26 - 30
INVAL (5)
15
number of date cards to be read for 5th
curve
NOTE: A maximum of five curves can be plotted, any one curve can specify a
maximum of fifty time intervals (dates)
4) DESCRIPTION FOR GRAPH LEGEND
The text entered here will be written next to the symbol being plotted under
the graph legend.
CARD
COLUMN
1-48
VARIABLE
FORMAT
LEGEND (1,1-12) 12A4
DESCRIPTION
text describing the first curve
The card above is repeated if necessary to enter the description of 1NTOTAL1
number of curves.
5) DATE CARDS FOR EACH CURVE
VARIABLE
CARD
COLUMN
FORMAT
1 - 6 IBEGIN (1,1-3) 312
11 - 16 IEND (1,1-3) 312
DESCRIPTION
beginning date (as MONTH-DAY-YEAR) of
time period
ending date (as MMDDYY) of time period
In order for the logic of the program to work properly, the change of the year
within a season would be written on two separate statements, so that the ending
date is a higher numerical value than the beginning date, eg: WINTER 1975 would
be entered as:
12345678901234567890
111575 123175, followed by:
010176 023076
The card above is repeated if necessary for the other time intervals, until
the number of intervals specified on variable INVAL (1) for the first curve
have been met, followed by the date cards for the second curve specified on
variable INVAL (2) ... and repeated for the number of curves desired.
-------
-5*-
6) NSF-WQI TIME FILE (CREATED IN PROGRAM
RECORD
POSITIONS
VARIABLE
FORMAT
1 - 6
I DATE
16
7-8
IOPTN
12
9 - 24
STAT (1-4)
4A4
25 - 27
ISEQ
13
28 - 39
XXVAL
F12.4
40 - 51
WQI
F12.4
52 - 99
TOP (1-12)
12A4
1)
DESCRIPTION
sample date
IOPTN = 0, CUMM WQI
IOPTN > 1, MULT WQI
STORET primary station number
station sequence number, used to label
plots by station number or for matching
mile points entered previously
date + year digitized - this value is
presently not used by this program
NSF-WQI for given date
station description
-------
SAMPLE DECK SETUP FOR PROGRAM EXECUTION FROM SOURCE STATEMENTS:
//EPAIIIaa JOB(AAAA)
//S2 EXEC IPP1136G,REGION-130k,PRINT=A
//* THIS PROCEDURE WILL INVOKE THE CALCOMP POST PROCESSOR
//FORT.SYS IN DD *
SOURCE PROGR
AM GOES HERE
//GO.FT25F001 DD UNIT'
// LABEL13 ( , , (IN) , DSN"
//GO.FT08F001 DD *
0101
3 330-1,VOL-SER=DDDDDD,DISP=(OLD,KEEP),
CN,EPAIII.AAAA.(TIME FILE NAME GOES HERE)
0001
0005
0009
0013
03 01 2
* - SUMMER
* « SUMMER
* » SUMMER
060168
060169
060170
060171
060172
060173
060174
060175
/*
//PLOT.PLOTTAPE
// LABEL-RETPD
//PLOT.SYSIN DD
/*
2.4 0002 13.5 0003 20.9
27.3 0006 32.6 0007 38.6
55.4 0010 58.3 0011 64.2
77.3 0014 80.7
3 3
1968 AND 1969*
1970-1972*
FROM 1973 - PRESENT*
093068
093069
093170
093171
093172
093173
093174
093175
DD UNIT-2400,DSN-PL.EPAIII.AAAA.PLOTNAME,
=60,DISP-(NEW,CATLG,DELETE),VOL=SER=
DUMMY
0004
0008
0012
24. 9
42.4
71.1
I
Ol
i
-------
SAMPLE DECK SETUP FOR PROGRAM EXECUTION FROM LOAD MODULE:
//EPAIIIaa JOB(AAAA)
//SI EXEC PGM-SEASONAL,REGION-l30K
//STEPLIB DD DS N"CN.EPAGAN.R2TW.WQI.LOADLIB, DIS P = SHR
//FT02F001 DD DSN=&IPPTAPE,UNIT-SYSDA,SPACE-(CYL,(2,2),RLSE),
// DCB»(RECFM>»VBS, LRECL = 5 16, BLKSIZE=31 56) ,DISP= (NEW, PASS, DELETE)
//FT06F001 DD SYSOUT-A
//FT25F001 DD UNIT-3330-1,VOL=SER=DDDDDD,DISP=(OLD,KEEP),
// DCB-(RECFM-FB,LRECL-99,BLKSIZE-1296 9),SPACE™(TRK»(5,1),RLSE) ,
// DSNAME=CN.EPAIII.AAAA.(TIME FILE NAME GOES HERE)
//FT08F001 DD *
0101
0001
2.4
0002
13.5
0003
20. 9
0004
0005
27.3
0006
32.6
0007
38. 6
0008
0009
55.4
0010
58.3
0011
64.2
001 2
0013 77.3 0014 80.7
03 01 2 3 3
* « SUMMER 1968 AND 1969*
* - SUMMER 1970-1972*
* « SUMMER FROM 1973 - PRESENT*
060168 093068
060169 093069
060170 093170
060171 093171
060172 093172
060173 093173
060174 093174
060175 093175
/*
//PLOT EXEC PGM»IPP1136G,COND-(8,LE).REGION-130K
//STEPLIB DD DSN-CN.EPAZAF.SSSS.IPP.LOAD 1,DISP-SHR
//FT03F001 DD DDNAME=PLOTTAPE
//PLOT.PLOTTAPE DD UNIT»2400,DSN«PL.EPAIII.AAAA.PLOTNAME,
// LABEL=RETPD = 60,DISP»(NEW,CATLG,DELETE),VOL = SER~
//PLOT.SYS IN DD DUMMY
/*
COPYLIB for on-line billing file available - see NEWS BL060.
-------
-57-
PROGRAM C: SEASONAL NSF - WQI PLOTS FOR MULTIPLE
STORET STATIONS
SAMPLE OUTPUT
-------
TOTAL MO. OF
INTERVAL
SETS
= 3
INPUT CONTROL PARAMETERS
*** CURVE NO.
1 ***
NO. OF TIME
INTERVALS
FOR
THIS
SET= 2
FROM
TO
6/ 1/68
6/ 1/69
9/30/68
9/30/69
PLOTTING
FOR CURVE
NO.
1 -
- PROCESSED
SUCCESSFULLY WITH 21 POINTS
*** CURVE NO.
2 ***
NO. OF TIME
INTERVALS
FOR
THIS
SET= 3
FROM
6/ 1/70
TO
9/31/70
6/ 1/71
6/ 1/72
9/31/71
9/31/72
PLOTTING
FOR CURVE
NO.
2 -
- PROCESSED
SUCCESSFULLY WITH 35 POINTS
*** CURVE NO.
3 ***
NO. OF TIME
INTERVALS
FOR
THIS
5ET= 3
FROM
6/ 1/73
TO
9/31/73
6/ 1/74
6/ 1/75
9/31/74
9/31/75
PLOTTING FOR CURVE NO. 3 ~ PROCESSED SUCCESSFULLY WITH 18 POINTS
-------
CALCOMP POSTPROCESSOR OF IPP - COMMENTS AND ERROR MESSAGES - VERSION 01 MAY 74
FRAME NUMBER I
STARTING WITH RECORD NUMBER 1
FRAME NUMBER I
PROCESSED WITH 0 ERRORS DETECTED
SUMMARY
RECORDS
84
FRAMES
1
ERRORS
0
END OF POSTPROCESSOR RUN FOR IPP
^8
-------
Cl!MM M5F
WRTER QUfiLITY INDEX
r.\t jWa&7i:!j
rumen:'-:
/irj ^NCi6TK«i
/:« ."NCisnry
-t1 l "Nuoti;-;
flu ."NtlSTi;«
VLCu'd JhtUC
VuCja jwa:
VLCjU M{Gj.C
i/O&j-s
s^e>e
s:ot.n
^sPEs-e
^•oe>e
R^e-e
."wCjU JhUaC
VCEi-t
-------
INPUT CONTROL PARAMETERS
TOTAL NO. OF INTERVAL SETS = 3
#** CURVE MO. 1 ***
NO. OF TIME INTERVALS FOR THIS SET= 8
FROM
TO
11/ 1/66
12/31/66
1/ 1/67
2/30/67
11/ 1/67
12/31/67
1/ 1/68
2/30/68
11/ 1/68
12/31/68
1/ 1/69
2/30/69
11/ 1/69
12/31/69
1/ 1/70
2/30/70
PLOTTING
FOR CURVE NO. 1 — PROCESSED SUCCESSFULLY WITH 34 POINTS
*#* CURVE NQ. 2 ***
NO.
OF TIME
INTERVALS FOR THIS SET=
6
FROM
TO
11/
/70
12/31/70
1/
/71
2/30/71
""
11/
/ll
12/31/71
1/
/72
2/30/72
11/
111
12/31/72
1/
/73
2/30/73
PLOTTING- FOR CURVE NO. 2 ~ PROCESSED SUCCESSFULLY WITH 36 POINTS
*** CURVE NO.
3 ***
NO. OF TIME
INTERVALS FOR THIS SET=
6
FROM
TO
11/ 1/73
1/ 1/74
12/31/73
2/30/74
11/ 1/74
1/ 1/75
12/31/74
2/30/75
11/ 1/75
1/ 1/76
12/31/75
2/30/76
PLOTTING FOR CURVE NO. 3 — PROCESSED SUCCESSFULLY WITH 17 POINTS
-------
C A L C 0 M P POSTPROCESSOR OFIPP - COMMENTS AND ERROR MESSAGES - VERSION 01 MAY 74
FRAME NUMBER 1
STARTING WITH RECORD NUMBER 1
FRAME NUMBER 1
PROCESSED WITH 0 ERRORS DETECTED
SUMMARY
RECORDS
67
FRAMES
ERRORS
1
0
END OF POSTPROCESSOR RUN FOR IPP
-------
-------
-6b-
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
PROGRAM c - SOURCE LISTING
******************************************************************
******************************************************************
** THIS PROGRAM WILL SELECT STATIONS ACCORDING TO TIME PERIODS AND
PLOT THE NSF-WQI OR THE RAW DATA USING OS I IPP PLOTTING PACKAGE ~*
** USER MAY SPECIFY UP TO 5 TIME INTERVALS ~
FOR UP TO IOO STORET STATIONS **
THE GRAPHS CAN BE BY MILE POINT OR BY STATION NUMBERS
FILE INPUT IS CREATED BY THE STATION WQI PLOT PROGRAM ..
(TIME PLOT) ~ THIS FILE IS BY STATION/DATE SEQUENCE
******************************************************************
******************************************************************
******************************************************************
INTEGER STATNO(100),INVAL(5),SNAMES(100,12),TOP(12),STNO(4)
DIMENSION XI4),DIST(100),IBEGIN(50,4),I END(50,4),GIVEN(5),
1SYMB0L(14),STAT(4),YP0INT(800),XP0INT(800),PLDATA(30),LEGEND(5,12)
DIMENSION BUFX(500),BUFY(500),XAVER(100),YAVER(100)
DATA SYMBOL/'Q',,0,,,T,,,+,,,X,,,D',,A,,,M,,,Z,,,Y,,'B,,,«".,H,,,I
1 •/
IL = 1
M=8
******************************************************************
READ STATION CONTROL OPTION — MILE POINT OR STATION ID SEQUENCE
READ ALSO OPTION TO AVERAGE VALUES AT A STATION FOR A PARTICULAR
CURVE (I AVER .GT. 1 ) ....
NOTE -- ICNTL = 0 FOR PLOTS BY SEQUENCE OF STATION
ICNTL = 1 FOR PLOTTING STATION MILE POINTS
******************************************************************
READ(M,21)ICNTL,IAVER
21 FORMAT(212)
IF(ICNTL.LE.O)GO TO 5
4 READ(M,20)(STNO(K),X(K) , K=l,4)
20 F0RMAT(4(I4,6X,F10.0))
DO 3 J=1,4
******************************************************************
NOTE ... BLANK FIELD WILL INTERRUPT INPUT ...
******************************************************************
IF{STNO(J).EQ.O)GO TO 5
STATNO(IL)=STNO(J)
******************************************************************
MILE POINT IS SAVED USING STAT. NO. AS INDEX ...
SWQI004
SWQI005
SWQI006
SWQI007
SWQI008
SWQI009
SWQI010
SWQI011
SWQI0L2
SWQI013
SWQI014
SWQI015
SWQI016
SWQI017
SWQI018
SWQI019
SWQI020
SWQI021
SWQI022
SWQI023
SWQI024
SWQI025
SWQI026
SWQI027
SWQI028
SWQI029
SWQI030
SWQI031
SWQI032
SWQI033
SWQI034
SWQI035
SWQI036
SWQI037
SWQI038
SWQI039
SWQI040
SWQI041
SWQI042
SWQI043
SWQI044
SWQI045
SWQI046
SWQI047
SWQI048
SWQI049
SWQI050
SWQI051
SWQI052
SWQI053
SWQI054
SWQI055
SWQI056
SWQI057
0
-------
-0>
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
PROGRAM C - SOURCE LISTING
4c $ 4c * 4c * 4c 4c * 4c * * * 4c * * * 4c * 4c 4c $ 4c * £ 4c * 4c * * $ * * « « * $ 4c * $ * * * * 4c * * * * * * 4t 4c 4=
VARIABLE IL WILL CONTAIN ACTUAL NO. OF MILE PTS.FOR STATIONS READ
5 I L = I L — 1
4c 4c 4c 4c 4c 4c 4c 4c 4c 4c 4e 4c 4c 4c 4c 4c 414c 4c 4c 4:4c 4c 4c 4c 4c 4c 4c 4c 4c 4:4c 4c 4c 4c 4c ^ 4c 4c 4c 4:4c 4c 4c 4c 4c 4c 4c 4c 4c 4c 4c ^ 4i 4i ^ * 4> * 4= * * 4> 4"{c 4c
READ TIME INTERVALS (MMDDYY) DESIRED FOR PLOTTING ...
4c 4c 4c 4c 4c 4c 4c 4c 4c 4c * * « 4c 4c 4c 4c 4c 4c 4c 4c 4c 4c * 4c * 4c 4c 4c 4c 4c 4c 4c * * 4c * 4c 4c 4c 4c 4c 4c 4c 4c 4c 4c 4c 4c 4c 4c 4c 4c 4:4c * * * 4c 4c4c 4c 4c 4c 4c 4c
READ(M,26)NT0TAL,MINPTS,(INVAL 4c 4c 4c 4c 4c 4c 4c 4c 4c 4c 4c 4c 4c 4i 4c 4c 4c 4c 4c ~ 4c 4c 4c 4c 4c * 4c 4> # £ # 4c 4c 4c 4c 4c 4c 4c 4t * 4c 4c 4c 4c 4c 4c 4c 4c 4c 4c 4c * 4c * * $ * £ 4c 4c $ 4c 4c
TO PRODUCE ONE CURVE ...
NOTE ... INVAL(I)= NO. OF DATES TO BE READ AT EACH INTERVAL
NTOTAL= TOTAL NUMBER OF CURVES TO BE PLOTTED
4c 4c 4c 4c 4c 4c 4c 4c 4:4c 4c 4c 4( 4c 4c 4c 4c 4c 4c 4:4c ^ ^ 4c 4c 4c 4C 4< 4C 4c 4c 4c 4c 4c 4C 4c 4:4c 4c 4c # 4c 4c 4c 4c 4c 4c 4c 4c 4c 4c 4c 4c 4c 4 4c 4c 4c 4c ^ 4c 4c 4c 4c 4c 4c 4< 4i
READ TEXT FOR LEGEND IN CHARACTER BALANCED NOTATION ...
4c 414c 4c 4c 4c 4c 4c 4c 4c 4> 4c 4c 4c 4c 4c 4c 4c 4c 4c 4c 4c 4c 4c 4c 4c 4c 4c 4c 4c 4c 4c 4c 4c # 4c 4c 4c 4c 4c 4c 4c 4c 4c 4c 4i 4c 4c 4c 4c 4:4c 4c 4c 4c 4c 4c 4< 4c 4c 4c 4c 4c 4c 4c 4c
II READ(M,2)((LEGENDt J,K),K=1,12)»J = 1« NTOTAL)
2 FORMAT(12A4)
DO 99 KL=1,NTOTAL
I NDEX = 1
ICNT=0
I0LD=0
LAST=INVAL(KL)
DO 6 J=I,LAST
READ(M,22)((IBEGINtJ,K),K=1,3),(I END(J,K),K = I,3))
22 F0RMAT(3I2,4X,3I2)
SWQI058
SWQI059
SWQI060
SWQI061
SWQI062
SWQI063
SWQI064
SWQI065
SWQI066
SWQI067
SWQI068
SWQI069
SWQI070
SWQI071
SWQI072
SWQI073
SWQI074
SWQI075
SWQI076
SWQI077
SWQI078
SWQI079
SWQI080
SWQI081
SWQI082
SWQI083
SWQI084
SWQI085
SWQI086
SWQI087
SWQI088
SWQI089
SWQI090
SWQI091
SWQI092
SWQI093
SWQI094
SWQI095
SWQI096
SWQI097
SWQI098
SWQI099
SWQI100
SWQI101
SWQI102
SWQI103
SWQI104
SWQI105
SWQI106
SWQI107
SWQI108
SWQI109
SWQI110
SWQI111
1
-------
-66-
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
PROGRAM C - SOURCE LISTING
6 CONTINUE
WRITE INPUT PARAMETERS
* # * * 4c 4c * 4c 4c 4c 4t * * * * * if 4c 4c * * * * 4c * 4c 4c * « $ 4c * 4c * * * * * * * 4c * 4c 4c 4c 4c * 4c 4c * * 4c * * 4c 4c * * 4c * * * * * * *
WRITE(6»33)KL»INVAL(KL)
33
24
25
FORMAT (//»5X, •*** CURVE NO. **#,,//,5X,
l'NO. OF TIME INTERVALS FOR THIS SET= ¦,I3t//,5X,•FROM*,10X,•TO•)
WRITE(6,24) ((IBEGIN(J»K),K=1,3)»(IEND(J,K),K=1,3),J=l,LAST)
FORMAT(2(5X,I2,,/',I2,,/',I2))
READ(25,25)IOATE,IOPTN,STAT»ISEQ,XXVAL,WQI,TOP
FORMAT(I6,I2,4A4,I3,2F12.4,12A4)
4c 4c 4c 4c 4c 4c 4c 4c 4c 4c 4c 4c 4:4c 4c 4c 4c 4c 4c 4c 4c 4c 4^ 4c 4c 4c 4c 4t 4c 4c 4c 4c 4c 4c 4c 4c 4c 4c 4c 4c 4c 4c 4c 4c 4c 4c 4c 4c 4c 4^ 4c 4c 4c 4c 4c 4t 4c 4c 4c 4:4c 4c 4< 4c
SAVE FIRST STATION NUMBER — NEEDED FOR PLOT CONTROL
4c * 4c 4c 4c 4c 4c 4c 4c 4c 4c 4c 4c * * * 4c 4c # 4= 4= * 4c 4c * 4" * * * 4= * * * * * * * 4c * * * 4c 4c 4c 4c * * * * * ~ * * * * * * * * * * * 4" * * *
I Sl = ISEQ
GO TO 1
4c 4i 4c 4c 4c 4c 4< 4c 4c 4s 4c * 4c 4c 4c 4c 4c 4c 4c * * * 4c 4c 4c 4< 4c 4c 4c 4= 4c 4c * 4c 4c 4c 4c 4c 4c 4c * * 4c 4c 4c 4c 4c * * * * 4c 4c 4= ~ 4c * * 4c 4c 4c 4c 4c 4c 4c 4?
READ STATION RECORD
IF LAST RECORD GO TO PLOT ROUTINE
4c 4c 4c 4c 4c 4c 4c 4c 4c 4c 4c 4c 4c 4c 4c 4c 4c 4c 4c 4c 4c 4c 4c 4c 4> 4c 4> 4c 4t 4c 4c 4c 4c 4c 4c 4c 4c 4c 4> 4c 4c 4c 4c 4c 4c 4c 4c 4c 4c 4c 4c 4c 4c 4c 4> 4c 4c 4c 4c 4c 4c 4c 4c A 4c 4:4< 4c 4c 4c 4c 4c 4c 4c 4c 4c 4c 4c 4c 4c 4c 4c 4c 4c« 4c 4c 4c 4c 4c 4c 4c 4c 4c« 4c 4c 4c 4c 4c 4c 4c 4c 4c 4c 4c 4c 4c 4c 4c 4c 4c 4c 4:4= 4c 4c
SAVE STATION DESCRIPTION TO LABEL THE X-AXIS
4c 4c 4c 4c 4c 4c 4c 4c 4c 4c 4c 4c # 4c« 4c 4c 4c 4c 4c 4c 4c 4c 4c 4c 4c 4c 4c 4c 4c 4c 4c 4c 4c 4c 4c 4c 4c 4c 4c 4c 4c 4c 4c 4c 4c 4c 4c 4 4c 4c 4c 4c 4c 4:4c 4c 4> 4c 4c 4c 4c 4c 4c 4c 4c
DO 29 J=l,12
SNAMEStISEQ,J)=TOP(J)
29 CONTINUE
4c 4c 4c 4c 4c 4c 4c 4c 4c 4c 4c 4c 4c 4c 4c 4c 4c 4c 4c 4c 4c 4c 4c 4c 4c 4c 4c 4c 4c 4c 4c 4c 4c 4c 4c 4c 4c 4c 4c 4c 4c 4c 4c 4c 4c 4c 4c 4> 4c 4c 4c 4c 4c 4c 4c 4c 4c 4c 4c 4c 4c 4c 4c 4c 4i 4c
COUNT NUMBER OF STATIONS READ ... FOR TEST VS. NO. OF MILE PTS. RE
4c 4c 4c 4c 4c 4c 4c 4c 4c 4c 4c 4c 4c 4c 4c 4c 4c 4c 4c 4c 4c 4c 4c 4c 4c 4c 4c 4c 4c 4c 4c 4c 4c 4c 4c 4c 4c 4c 4c 4c 4c 4c 4c 4c 4c 4c 4c 4c ^ 4c 4c 4c 4c 4c 4c 4c 4c 4c 4c 4c 4c 4c 4c 4c 4c
ICNT=ICNT+1
IOLD=ISEQ
19 DO 10 J=1,LAST
4c 4c 4c 4c 4c 4c 4c 4c 4c 4c 4c 4c 4c 4c 4c 4c 4c 4c 4c 4c 4c 4c 4c 4c 4c 4c 4c 4= 4t 4c 4c 4c 4c 4c 4c 4c 4c 4c 4c 4c 4c 4c 4c 4c 4c 4c 4c 4c 4c 4c 4:4c 4c 4c 4c 4c 4c 4c 4c 4c 4c 4c 4c 4c 4c 4c
SET BEGINNING DAY TO 1
LAST DAY TO 31 IF BLANK
4c 4c 4c * 4c 4c 4c 4c 4c 4c 4c * 4c 4c 4c 4c 4c 4c 4c 4c 4c 4c 4c 4c 4c 4c 4c 4c 4c 4c 4c 4c * 4c 4c 4c 4c 4c 4c 4c 4c * 4c 4c 4c 4c *** 4c 4 4c 4c 4c 4c 4c * 4c 4c 4c 4c 4c 4c 4c * 4c
IF 4c 4c 4c 4c 4c 4c 4c 4c 4c 4c 4c 4c« 4c 4c 4c 4c 4c 4c 4c 4c 4c 4c
MERGE BEGINNING AND ENDING DATES TO ONE FIELD ... ALSO ..
CHANGE DATE AS MMDDYY TO YYMMDD ...
SWQI112
SWQI113
SWQI114
SWQI115
SWQI116
SWQI117
SWQI118
SWQI119
SWQI120
SWQI121
SWQI122
SWQI123
SWQI124
SWQI125
SWQI126
SWQI127
SWQI128
SWQI129
SWQI130
SWQI131
SWQI132
SWQI133
SWQI134
SWQI135
SWQI136
SWQI137
SWQI138
SWQI139
SWQI140
SWQI141
SWQI142
SWQI143
SWQI144
SWQI145
SWQI146
SWQI147
SWQI148
SWQI149
SWQI150
SWQI151
SWQI152
SWQI153
SWQI154
SWQI155
SWQI156
SWQI157
SWQI158
SWQI159
SWQI160
SWQI161
SWQI162
SWQI163
SWQI164
SWQI165
2
-------
-67-
c
c
c
c
c
t
c
c
c
c
c
c
c
c
c
c
c
c
c
c
c
c
c
PROGRAM C - SOURCE LISTING
******************************************************************
IBEGIN(Jt4)=IBEGIN(J,3)*10000+1 BEG IN(J,1)*100+IBEGIN(J,2)
IEND{J »4) = IEND(J,3)*10000 +1 END(J»1)*100+1 END(J »2)
10 CONTINUE
******************************************************************
SELECT THE DATA TO BE PLOTTED USING THE TIME INTERVALS ...
******************************************************************
DO 9 J=I»LAST
IF(IDATE.GE.IBEGIN(J,4).AND.I DATE.LE.I END
-------
-68-
PROGRAM C - SOURCE LISTING
C NEW STATION ... AVERAGE VALUES FOR PREVIOUS STAT.... SWQI220
C SWQI221
C 4444444*********************************************************** SWQI222
YAVER(INDEX2)=SUM/FLOAT(INUM) SWQI223
XAVER(INDEX2)=XPOINT(J) SWQ1224
INDEX2=INDEX2+1 SWQI225
SUM=0.0 SWQI226
INUM=0 SWQI227
12 CONTINUE SWQI228
c ***4444 44*******************44*4444******************************* SWQI 229
C SWQI230
C *** COMMANDS BELOW USE THE INTEGRATED PLOTTING PACKAGE *** SWQI231
C SWQI232
C ****************************************************************** SWQI233
C SWQI234
C TEST IF NO. OF DATA POINTS MEET THE MINIMUM REQUIRED NUMBER SWQI235
C SWQI236
17 IF(INDEX-1.GE.MINPTS)G0 TO 7 SWQI237
WRITE(6,34)INDEX,MINVAL,KL SWQI238
34 F0RMAT(///,5X,•** NOTE .**•,5X»13,• DATA POINTS DO NOT MEET THE', SWQI239
I* MINIMUM ',13,' POINTS — PLOTTING OF CURVE' » I 3, • WILL BE BYPASSE SWQI240
2D') SWQI241
GO TO 92 SWQI242
c *****************************************************44*********44 SWQI243
C SWQI244
C INITIAL SET-UP IS DONE DURING FIRST CURVE PROCESSING SWQI245
C SWQI246
C 44444444********************************************************** SWQI247
7 IF(KL.GT.I)GO TO 45 SWQI248
C SWQI249
C SET FRAME FOR 36 INCH PLOTTER ... SWQI250
C SWQI251
CALL CMLBF<'PLEASE RUN ON 1136 PLOTTER') SWQI252
C SWQI253
C SET INITIAL VALUES ON SPECIFICATIONS ARRAY SWQI254
C SWQI255
CALL SSPECS(PLDATA) SWQ1256
C SWQI257
C RESET SIZE OF AXES
-------
-<5?-
PROGRAM C - SOURCE LISTING
IF11CNT L.GT.0)GO TO 35 SWQI274
PLDATA(3»=IS1+ICNT-1 SWQI275
PLDATA(4}=IS1 SWQI276
PLDATA(9)=1CNT-1 SWQI277
C SWQI278
C ANNOTATIONS WILL HAVE NO DECIMALS SWQI279
C SWQI280
PLDATA(28>=0.0 SWQI281
GO TO 36 SHQI282
C SWQ ] 283
C SWQI264
C CHOOSE SCALE NUMBERS FOR MILE POINTS ... SWQI285
C SWQI286
C **#**************#****************$#~*»******~*********~********** SWQI287
35 G[VEN(1)=DISTUL» SWQI288
GIVEN(2}=DIST11) SWQ1289
GIVENI3)=IL - I SWQI290
CALL FABLIXIGIVEN»PLOATA] SWQI291
C SWQI292
C ALLOW ONE DECIMAL IN MILE POINTS SWQ1293
C SWQI294
PLDATAI28)=1.0 SWQI295
£ id*************************#*************************************** SWQI 296
c SWQI297
C SET RANGE OF VALUES ON Y-AXIS SWQI298
C SWQI299
C ********************#********************** **********$*****4****** SHQ1300
36 PLDATAt 51 = 100. SWQI301
PLDAT A161=0.0 SWQI302
C CHANGE DEFAULT VALUE OF DIVISIONS FOR V-AXIS SWQI304
C SWQI307
C DRAW ANNOTATION NUMBERS AT THE BOTTOM SCALE MARKS SWQI308
C SWQI309
CALL NODLIfl t PLDATAJ 5WQI310
C SHQI311
C DRAW AMNOT AT ION NUMBER AT THE LEFT SCALE MARKS SWQ13L2
C SWQI313
CALL NODLILfPLDAT AI SWQI314
£ ****************************************************************** SWQI 315
c SWQI316
C DRAW X-Y AXES - WITH TWICE AS MANY TICKS AS ANNOTATIONS IN Y-AXI SWQI317
C SWQI318
C *******$******************************************************$*** SWQI 319
PLDATA(10)=PL0ATA110I*2.0 SWQI320
CALL AXLILItPLDATA) SWQI321
C SWQI322
CC CLEAR Z.ONES VARIABLES — SINCE UPOATED BY ABOVE SUBROUTINE SWQI323
C SWQI324
CALL IZONESIPLDATA) SWQI325
£ ********************************$********************************* SWQI 326
C SWQI327
C WRITE LEGEND IDENTIFICATION ... SWQI328
C SWQI329
C ***********$***********$****************************************** SWQ 1330
5
-------
-70-
PROGRAM C - SOURCE LISTING
PLDAT A(22)=5.0 SHQI331
PLDATA(23)=12.0 SWQI332
CALL GTITLE(•/*** LEGEND ***/«,PLDATA) SWQI333
C SWQI334
C SET PLOTTING SYMBOL DESIRED SWQI335
C SWQI336
45 PLDATAt16)=SYMBOL(KL) SWQI337
IF(IAVER.GT.0)GO TO 14 SWQI338
C SWQI339
C ENTER NUMBER OF DATA POINTS TO PLOT SWQI340
C SWQI341
PLDATA(13)=INDEX-1 SWQI342
C PLOT SYMBOL AT DATA POINT LOCATIONS SWQI343
CALL PSLILI(XPOINT,YPOINT,PLDATA) SWQI344
0 ****************************************************************** SWQI345
C SWQI346
C NOW CONNECT DATA POINTS WITH PARABOLAS TO FIT THE DATA ... SWQI347
C SWQI348
£ ****************************************************************** SWQI349
CALL PFLILI(XPOINT,YPOINT,BUFX,BUFY,PLDATA) SWQI350
GO TO 15 SWQI35I
C SWQI352
C ENTER NUMBER OF DATA POINTS TO PLOT SWQI353
C SWQI354
14 PLDATA(13)=INDEX2-1 SWQI355
C SWQI356
C PLOT SYMBOL AT DATA POINT LOCATIONS SWQI357
C SWQI358
CALL PSLILI(XAVER?YAVER»PLDATA) SWQI359
C ****************************************************************** SWQI360
C SWQI361
C NOW CONNECT DATA POINTS WITH PARABOLAS TO FIT THE DATA ... SWQI362
C SWQI363
C ****************************************************************** SWQI364
CALL PFLILI(XAVER,YAVER,BUFX,BUFY,PLDATA) SWQI365
C ****************************************************************** SHQ1366
C SWQI367
C WRITE TEXT IN GRAPH LEGEND FOR THIS CURVE ... SWQI368
C SWQI369
C ****************************************************************** SWQI370
15 DO 48 J=l,12 SWQI371
TOP(J)=LEGEND(KL,J) SWQI372
48 CONTINUE SWQI373
G SWQI374
C REDUCE SIZE OF TEXT BY HALF ... SWQI375
C SWQI376
PLDATA(17)=PLDATA(17)/2.0 SWQI377
PLDATA(18)=PLDATA(18J/2.0 SWQI378
C SWQI379
C SET INITIAL POSITION OF LEGEND TEXT SWQI380
C SWQI381
PLDAT A(22) = 5.0 SWQI382
PLDATA(23)=11.8 - (.2«(KL-1)) SWQI383
C SWQI384
6
-------
-K-
PROGRAM C - SOURCE LISTING
WRITE LEGEND TWICE SO ITS LEGIBLE ...
DO 47 LL=1»2
CALL SYMKEY{TOP» PLDATA)
CONTINUE
RESTORE SIZE OF TEXT ...
PLDATA(17)=PLDATA(17)*2.0
PLDATA(18)=PLDATA(18)*2.0
******************************************************************
LABELLING OF GRAPH — ONLY ON PROCESSING OF FIRST CURVE ...
******************************************************************
IF(KL.GT.I)GO TO 91
CHANGE DEFAULT SPACING OF TITLES TO THE AXES
PLDATA(24)=.20
PLOAT A(26) = .60
IF(ICNTL.GT.OJGO TO 37
CALL TITLEBC+ STATION NUMBER+ • ,PLDATA)
GO TO 38
CALL TITLEBP+ STATION MILE POINT*1 fPLDATA)
IF(IOPTN.EQ.O)CALL TITLEL(•+CUMM NSF WATER QUALITY INDEX*•,PLDATA)
IF(IOPTN.NE.O)CALL TITLELt'+MULT NSF WATER QUALITY INDEX*•,PLDATA)
PRINT GRAPH DESCRIPTION AT X-AXIS ROTATING TEXT 270 DEGREES
PLDATA(20)=-90.0
REDUCE SIZE OF LETTERS BY HALF ...
PLDATA(17)=PLDATA(17)/2.
PLDATA(18)=PLDATA(18)/2.
SET DISTANCE FROM FRAME ORIGIN FOR STAT. DESCRIPTION
PLDATA(23)=4.8
******************************************************************
COMPUTE INCREMENT BETWEEN STATIONS IN X-AXIS
THEN USE THIS
INCREMENT TO PLOT STATION NAME AT MILE PT. OR STATION NO. ...
******************************************************************
IF(ICNTL.LE.O)FACTOR=XSCALE/(ICNT- 1)
IF(ICNTL.GT.O)FACTOR=XSCALE/(PLDATA(3)-PLDATA{4))
DO 40 J = 1»ICNT
IF(ICNTL.LE.O) GO TO 41
PLDATA(22)=FACTOR*DIST(J)+PLDATA(1)-FACTOR*PLDAT A(4)
GO TO 42
PLDATA(22)=FACT0R*(ISl+
-------
-72-
c
c
c
c
c
c
c
c
c
c
c
c
c
c
c
c
/*
PROGRAM C - SOURCE LISTING
TOP(JJ)=SNAMESlJ,JJ)
44 CONTINUE
CALL GTITLE(TOPtPLDATA)
40 CONTINUE
RESTORE SIZE OF TEXT ...
PLDATA(17)=PLDATA(17)*2.
PLDATA(18) = PLDAT A(18)*2.
RESTORE ANGLE OF TEXT TO HORIZONTAL POSITION ...
PLDATA(20)=0.0
RE-INITIALIZE STATION FILE, CLEAR DATA ARRAYS ...
# *#4= 4=*«$4< «*4< $ 4s =^4= 4t$4t 4=$*$* *4" 4>4>$*$4< 4^ 4c*4"fr«4'$****#£
91 INDEX=IN0EX-1
WRITE(6,46)KL,INDEX
46 F0RMAT(/,9X,'PLOTTING FOR CURVE NO.SIBi* ~ PROCESSED SUCCESSFULL
1Y WITH',14,¦ POINTS*)
92 REWIND 25
DO 39 J=l,INDEX
XPOINT(J)=0.0
YPOINT{J)=0 .0
39 CONTINUE
99 CONTINUE
CLOSE NEUTRAL TEXT ...
4< ~ * * * $ $ 4t * * * * * * ~ 4c $ $ £ * 4c $ 4c $ * # $ 4c 4c« $ * $ 4c $ $ $ & 4c 4c $ *
-------
-73-
PROGRAM D: PLOT/PRINT NSF-WQI TIME PROFILE AND NSF-WQI PARAMETER DATA
This program is a combination of programs A and B. The report is similar
to the report from program B. The only change is the addition of the Cummulative
or Multiplicative WQI on the right side of the report.
The plot is similar to the plot in program B. The program plots the first
five parameters on the first frame. It then plots the next four parameters and
the Cunmulative or Multiplicative WQI (as computed in program A) on the next
frame. As presently written, each frame is $5 x 11 inches and due to the high
resolution required, it can only be satisfactorily produced on the calcomp
plotter.
-------
WlTiftU&E.
wecteb v*ua.
Pptt. 6.ACH
EAtLAyarita-
PLOT/PRINT NSF-WQI PARAMETER DATA AND INDEX
PROGRAM FLOWCHART
JD
noAJ
KfiTltl
k
-74-
SfT
MAkim.owi
V-SCALE. VALOj:
f&ft. Sc/»Ue&ATW5.
lAJiTlAv-liE.
VOHeeA. OP
/AU>ES FOR.
EACH UWIT
OVAUfi^AM
STOP)
ffcEAD
HrRAHi
fat TlOAl 5
„ 10 y-flxii
p/itAiHttEe
LA&Ej. TO ,
IEPDVO*
CTftitVAL j
JTrtTKWU
itSCAl PTi«
/B.6COfcD5
ST«ft.E
STATIom-MO
AMD ft.lv/Ce.-
UAmL Fo#.
Plot cASEUwtf-
/tolilTE
/STATioW
/&*SCfci?Ti
/UUofcOS
¥
COM.PUTfc.~~
0«S£OWED
0XY6-Ea>
At S> SATUgATtou
CX5M.POTE.
bEVlATioO
HLOfr*.
TEM.PCfcATUft£
SEARCH OK.
CA»».PoTt
0»tT QoAUT/
F-Ofv. fJ»OR
PA»Ak6TEA<
S0M.PUT&
HUCnfUCATWS
o«,
CUKAUkMlV£
U>QX
coft.tr e
bhTt,TH\«,/
AnA*ETUf
fatib W(fx
REP0AT
DI6«Tite
SiDKPLE. MT£
TO ftt^CTfO*:
OF VEAfc.
sroft.e
PAILAMtTEft W
Pu>T v-EcToe
FOB- xpp
RtUTlOtS
-------
-75-
PROGRAM D: PLOT/PRINT NSF-WQI TIME PROFILE AND NSF-WQI PARAMETER DATA
PROGRAM INPUT
1) TO UPDATE PROGRAM WITH EQUILIBRIUM TEMPERATURES:
If necessary, change source statement number 3I_ to the applicable
equilibrium temperatures. Reference number 5 has tables listing
these values applicable to most locations in the United States.
2) PROGRAM OPTIONS CARD:
CARD
COLUMN
1-2
3-4
5-6
VARIABLE
IPRNT
I PLOT
OPTION
FORMAT
12
12
12
DESCRIPTION
Set 0, to produce report of
WQI parameter data and index.
Set. 0, to plot 5 parameters/
frame of above data.
Set 0, for Mult. WQI
Set 0, for Cumin. WQI
3) TO MODIFY DIGITIZED UNIT QUALIGRAMS FOR PARAMETERS:
The data shown on page t_s 1S f°r linear approximations to the mean
curve of the input qualigrams for each of the nine parameters as
shown on appendix A. This data is provided with the program. If the
user desires to improve these values, first modify source statement
number to the new number values to be read for each parameter,
then read these values as follows:
CARD
COLUMN
1-10
11-20
VARIABLE
TABLE (1,1,1)
TABLE (2,1,1)
FORMAT DESCRIPTION
F10.0 First value of x-scale
for 1st parameter.
F10.0 Second value of x-scale
for 1st parameter.
71-80
TABLE (8,1,1)
F10.0 Eighth value of x-scale
for 1st parameter.
The card above is repeated until all x-scale values for the 1st
parameter unit qualigrams have been read.
-------
-76-
The y-values (unit qualities) for the corresponding x-values read above
are now entered:
CARD
COLUMN
1-10
11-20
VARIABLE
TABLE (1,2,1)
TABLE (2,2,1)
FORMAT DESCRIPTION
F10.0 Corresponding 1st value of
y-scale for 1st parameter.
F10.0 Corresponding 2nd value of
y-scale for 1st parameter.
71-80 TABLE (8,2,1) F10.0 Corresponding 8th value of
y-scale for 1st parameter.
The card above is repeated until all corresponding y-values for the
x-values read in previously have been entered.
Next the x-values and the associated y-values (unit quality) for the 2,3,
...9 parameters are entered in an identical manner. For the last para-
meter this input would be:
CARD
COLUMN
1-10
11-20
VARIABLE
TABLE (1,1,9)
TABLE (2,1,9)
FORMAT DESCRIPTION
F10.0 First value of x-scale
for the 9th parameter.
F10.0 Second value of x-scale
for the 9th parameter.
71-80 TABLE (8,1,9) F10.0 Eighth value of x-scale
for the 9th parameter.
As previously, the above card is repeated if necessary.
Next the y-values for the corresponding x-values are entered:
-------
-77-
CARD
COLUMN
1-10
11-20
VARIABLE
TABLE (1,2,9)
TABLE (2,2,9)
FORMAT DESCRIPTION
F10.0 Corresponding 1st value of
y-scale for 9th parameter.
F10.0 Corresponding 2nd value of
y-scale for 9th parameter.
71-80
TABLE (8,2,9)
F10.0 Corresponding 8th value of
y-scale for 9th parameter.
Again, as in the first parameter, the above card is repested if it was
necessary in inputting the x-scale for this parameter.
4) Y-AXIS PARAMETER LABEL (if IPLOT 0)
CARD
COLUMN
1-20
1-20
VARIABLE
PTITLE (1,1-5)
PTITLE (2,1-5)
FORMAT
5A4
5A4
DESCRIPTION
Y-axis label for first para-
meter in character balanced
notation (see sample input
in next section or reference 2)
Y-axis label for second
parameter.
1-20
PTITLE (2,1-5)
5A4
Y-axis label for ninth
parameter.
NOTE: The titles above must be in the same sequence as the parameters
were specified on the storet retrieval.
5) STORET "MORE = 3" RETRIEVAL
This retrieval must have preceded as a seperate step or a seperate job
altogether. In this program it will be referred to as input file (20).
See deck setup following this section for details.
-------
-78-
SAMPLE INPUT
1) Deck setup for execution of program from source listing:
//EPAIIIaa JOB(AAAA)
/7S2""eXEC IPP1136C,RECION-130K,PRINT-A
//* THIS PROCEDURE WILL INVOKE THE CALCOMP POST PROCESSOR
//FORT.SYSIN DD *
SOURCE PROCR
AM GOES HERE
//CO.FT20F001 DD UNIT-3330-l,VOL-SER
// LABEL-(,,,IN).DSN-CN.EPAIII.AAAA.
//GO.FT08F001
010101
-DDDDDD,DISP«(OLD,KEEP),
(FILE NAME FROM STORET RETRIEVAL)
DD *
0.0
20.0
30.0
o
•
o
50.0
60.0
78.0
80.0
100.0
120.0
140.0
3.0
12.0
20.0
30.0
44.0
60.0
75.0
86.0
100.0
89.0
73.0
1.0
2.0
5.0
10.0
20.0
50.0
100.0
300.0
500.0
1000.0
2000.0
5000.0
10000.0
20000.0
100000.0
100.0
88.0
77.0
68.0
58.0
47.0
40.0
30.0
26.0
21.0
18.0
12.0
9.0
7.0
5.0
2.0
3.0
3.3
4.0
4.5
5.0
5.5
6.0
6.4
7.0
7.2
7.4
7.8
8.0
8.5
9.0
10.0
10.5
11.0
12.0
2.0
4.0
7.0
10.0
16.0
27.0
42.0
62.0
80.0
91.0
93.0
94.0
90.0
87.0
80.0
45.0
18.0
10.0
6.0
3.0
0.0
5.
10.
15.
20.
25.
30.
100.
53.
31.
18.
11.
7.
5.
0.0
5.0
10.
20.
30.
40.
50.
60.
70.
80.
90.
100.
100.
66.
49.
32.
23.
17.
12.
7.
4.
2.0
1.2
1.1
0.0
.5
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
100.
60.
41.
25.
18.
12.
10.
8.
7.
6.
5.
4.
0.0
1.25
2.5
5.0
6.25
7.5
8.9
10.0
12. 5
15.0
17.5
20.0
52. 0
71.0
81.0
93.0
86.0
76.0
50.0
40.0
26.0
18.0
12.0
9.0
0.0
10..
20.
30.
40.
50.
60.
70.
80.
90.
100.
100.
77.
62.
52.
44.
38.
32.
28.
24.
20.
17.
0.0
50.
100.
150.
200.
250.
300.
350.
400.
450.
500.
80.
86.
84.
81.
74.
68.
61.
54.
47.
39.
33.
/D.O.
PERCENT SAT/
+FECAL COLI MPN/ML*
/ PH /
+ BODS MG/L +
+ N03 MC/L +
+ P04 MG/L +
/EQUIL TEMP DELTA /
/ TURBIDITY JTD /
+ TOT SOLIDS MG/L+
/*
//PLOT.PLOTTAPE DD CNIT-2400,DSN-PL.EPAIII.AAAA.PLOTNAME,
// DISP-(NEW,CATLC,DELETE),LABEL-RETPD-60,VOL-SER-
//PLOT.SYSIN DD DUMMY
/*
-------
-79-
2) Deck setup for program execution from load module:
//EPAIIIaa JOB(AAAA)
7/S1 EXEC PCM-WQIPARMtRECiON-l~30K
//STEPLIB DD DS N-CN.EPAGAN.R2TW. WQI. LOADLIB,DISP-SHR
//FT02F001 OD DSN-&IPPTAPE,UNIT-SYSDA,SPACE-(CYL,(2,2),RLSE),
// DCB-(RECFMrVBS,LRECL-516.BLKSIZE-3156),DISP-(SEW,PASS.DELETE)
//FT06F0O1 DD SYSOUT-A
//FT2OF001 DD UNIT-3330-1,VOL-SER-DDDDDD.DISP-(OLD,KEEP) ,
// DSNAME-CN.EPAIII.AAAA.(FILE NAME FROM STORET RETRIEVAL FOLLOWS)
//FT08F001 DD *
010101
0.0
20.0
30.0
o
•
o
50.0
60.0
78.0
80.0
100.0
120.0
140.0
3.0
12.0
20.0
30.0
44.0
60.0
75.0
O
•
00
100.0
89.0
73.0
1.0
2.0
5.0
10.0
20.0
50.0
100.0
300.0
500. 0
1000.0
2000.0
5000.0
10000.0
20000.0
100000.0
100.0
88.0
77.0
68.0
58.0
47.0
40.0
30.0
26.0
21.0
18.0
12.0
9.0
7.0
5.0
2.0
3.0
3.3
4.0
4.5
5.0
5.5
6.0
6.4
7.0
7.2
7.4
7.8
8.0
8.5
9.0
10.0
10.5
11.0
12.0
2.0
4.0
7.0
10.0
16.0
27.0
42.0
62.0
80.0
91.0
93.0
94.0
90.0
87.0
80.0
45.0
18.0
10.0
6.0
3.0
0.0
5.
10.
15.
20.
25.
30.
100.
53.
31.
•18.
11.
7.
5.
0.0
5.0
10.
20.
30.
40.
50.
60.
70.
80.
90.
100.
100.
66.
49.
32.
23.
17.
12.
7.
4.
2.0
1.2
1.1
O
•
o
. .5
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
100.
60.
41.
25.
18.
12.
10.
8.
7.
6.
5.
4.
0.0
1.25
2.5
5.0
6.25
7.5
8.9
10.0
12.5
1S.0
17.5
20.0
52.0
71.0
81.0
93.0
86.0
76.0
50.0
O
•
O
26.0
18.0
12.0
9.0
0.0
10.
20.
30.
40.
50.
60.
70.
80.
90.
100.
100.
77.
62.
52.
44.
38.
32.
28.
24.
20.
17.
0.0
50.
100.
150.
200.
250.
300.
350.
400.
450.
500.
80.
86.
84.
81.
74.
68.
61.
54.
47.
39.
33.
/D.O.
PERCENT SAT/
+FECAL COLI MPN/ML+
/ PH /
+ BODS HG/L +
+ N03 MC/L +
+ P04 MC/L +
,/EQUZL TEMP DELTA /
/ TURBIDITY JTD /
+ TOT SOLIDS MG/L+
/*
//PLOT EXEC PGH-CCMP1136,COHD-(8,LE).REGION-130K
//STEPLIB DD DSN-CNSSSS.ZAF.IPP.LOAD1,DISP-SHR
//FT01F001 DD DDNAME-SYSIN
//FT02F001 3D DSN-6IPPTAPE,DISP-(OLD,DELETE,DELETE)
//FT06F001 DD SYSOUT-A
//FT15F001 DD SYSOUT-A
//* USE THE NEXT FOUR STATEMENTS WITH CALCOMP POSTPROCESSOR ONLY.
//FT03F001 DD DDNAME-PLOTTAPE
//PLOT.PLOTTAPE DD UNIT-2400,DSN-PL.EPAIII.AAAAiPLOTNAME,
// LABEL-RETPD-60.DISP-(NEW,CATLG,DELETE).VOL-SER-
//PLOT•SYS IN DD DUMMY
/*
-------
-80-
PROGRAM D: Plot/Print NSF-WQI Time Profile and Parameter Data
SAMPLE OUTPUT
-------
STATION 343017
/TYPA/AMBNT/STREAM
OATE
TIME
DO (SAT)
F.C. MPN
PH
10/10/66
62.4780
330.
7.30
1/17/67
95.6182
16090.
7.90
5/24/67
91.6987
9180.
7.40
9/11/67
70.5822
16090.
7.30
10/23/67
64.3165
24000.
7.30
3/ 5/68
HI.4680
24000.
7.20
2/ A/69
84.2123
24000.
7.30
5/14/69
126.5480
24000.
7.40
12/ 3/69
74.8414
2300.
7.40
10/ 7/70
65.1528
490.
7.40
4/26/71
91.7934
50.
7.90
8/17/71
152.0962
170.
7.70
11/11/71
81.0493
130.
7.60
2/14/72
84.9141
2400.
6. 90
3/27/73
89.6095
2.
6.90
9/27/73
47.8543
240.
7.30
12/13/73
85.1193
1600.
7.40
2
1
o"
9
e
7
6
5
4
«
343017 QB
hO 29 50.0 074 26 18.0.2
RARITAN .IIVER (R17>
34C23 NEW JERSEY
NCrtThEAST 013391
LOhER HUDSON N. Y. HETROPOL IT AN .AREA.
21NJU^P1
0000 FEET DEPTH CLASS 00
B0D5
-------
STATION 343024 ;
343024 95
4QJ2D-55.0 074 17 28.0 2
RArt IT AN RIVER
34023 NEW JERSEY
NORTHEAST 013391
LOWER HUDSON N.Y. METROPOLITAN AREA
/TYPA/AMBNT/STREAM 21NJUEP1
QOQO FEET DEPTH CLASS 00
DATE TIME D 0 ISAT1 F.C. HPN PH Q0U5 N03 _ P04 _TEMP OELTA TURB TOT SOLIDS CL W0A1
1/10/67 60.7805 9180. 6.50 3.0 2.0800 0.9000 2.5556 43.0 21255.0 0. 45.
5/10/67 74.5253 16090. &.2Q 3,0. 1. 5200 0. 3000 14.5557 40.0 864_1._Q 0. 40.
9/12/67 65.1528 5420. 6.80 2.0 1.6600 0.0 8.7780 26.0 16200.0 0. 50.
10/24/67 40.9287 2400. 7.60 L..03QG 0.9000 6.5557 20.0 24730.0 0. 47.
1/21/71 0945 70.9801 500. 6.70 4.0 5.0000 l.COOO 5.5556 30.0 18980.0 0. 52.
7/20/71 52.9542 2400^ 7.70 3.0 2.0000 0.5600 10.3336 22.0 24220.0 0. 46.
2/ 9/72 1040 72.3451 540. 7.40 3.0 1.5000 0.2400 7.7778 16.0 14206.0 0. 59.
B/31/72 68_s_722.4 L600« 7.10 4.0 4.0000 0.2400 12.2224 26.0 20878.0 0. 48.
12/ 5/72 64.1078 920. 7.20 2.0 I.0000 0.2200 3.3334 6.0 13340.0 0. 60.
2/ 6/73 93.3945 920. 6.80 2?_0 1. 0000 0.0200 4.7778 36.0 10640.0 0. 62.
4/25/73 100.0118 540. 8.10 1.0 1.0000 0.3000 5.8890 8.0 21830.0 0. 65.
7/26/73 60.0000 540. 7.80 2.0 _ 1.5000 0.8000 1 1.3336 9.0 28910.0 0. 51.
10/31/73 62.1056 2400. 6.50 1.0 1.0000 1.0000 16.5557 37.0 4726.0 0. 46.
1/29/74 68.0168 540. 6.90 2.0 __ 1.0000 ___ 0.5000 0.5556 7.0 21290.0 0. 57.
5/15/74 79.3342 330. 7.50 2.0 I.0000 0.5000 4.4557 16.0 528.0 0. 62.
-------
-S3 -
STORET' STATION NO. 343014
RftRITflN RIVER tR14 J
;i.w
II.OJ
u.ao
it^o -
S1.03
4.1Q
I.M
3 '
MUU
../V. ^
®7.M «.« 9t.«r 70,0J 71.43 7-f.Jff _ TS.M
Tin 1 vcj»i
74.M 75.03
«vi3 p
ti.sa *
16.03 -
Ii-60 -
ja.jj -
T.bO -
V.iU -
i.u -
J •
-tJ*2 •
¦ ¦
1: .2-J «.»
n.« '
II* JTOKJl
73. 34-JJ 71.03
IU
u
ts
"ia
so
5*1
u
10
M
10
d
A
V'
. =-v
:«a
i«a
i«3
ia»
J«C3
•tec
IftMU
U.39
*c.t;
7a
SC.CJ
UcJ3
«..»
tt.37
aa.03
IJ.J3
ta n
Tint (TORSI
*—^ y—h
„v% /v
5^.33
«~« 79.33 7J.43
Tin trcffisi
1*«dO 73.Q3 74.40 lS
-------
STORET STATION
NO.
343014
RflRITflN RIVER (R14)
3 1
55.03
-a n
.gi fl-—R 3,
¦i
7S.03
*7.03
€1.30 ?d.as 71.03
rirt :^>
47.03 63.CJ U.Ofl 70.33 7t«03 1*.03 79.03 74.03
TIKI (VCflftJl
-------
-85-
-------
GTORET GTRTIrJN NC
34 302-1
WITRN RIVER
-------
-87-
PROGRAM D - SOURCE LISTING
C ******************************************************************
Q *******************************************************************
C
C THIS PROGRAM PLOTS AND/OR PRINTS THE RAW DATA USED TO COMPUTE
C THE WQI AT STORET STATIONS AND THE CUMMULATIVE OR MULTIPLICATIVE
C WQI, FOR THE RETRIEVED TIME INTERVAL
C
C *** THIS VERSION PLOTS UP TO FIVE PARAMETERS PER FRAME ***
C
Q *******************************************************************
(J ******************************************************************
c
INTEGER OPTION
DIMENSION PLDATA(30),SYMBOL(14),XXVAL(100),SCL(5),YYVAL(100)
DIMENSION TOP(12),HIGHY(10),PTITLE(9,5),YTITLE(5),VAL(10,100)
DIMENSION AGENCY(2),DESCRP(30),EQTEMP(12),PARAM(10),SMALL(9),
ISTAT(4), DAYS(12)
DIMENSION TABLE(20,2,9),MAXX(9),WEIGHT(9),QMAX(9),QUAL(9)
DATA DAYS/31.,28.,31.,30.,31.,30.,31.,31.,30.,31.,30.,31./
DATA SMALL/0.,1.,2.,0.,0.,0.,-10.,0.0,0.0/
DATA HIGHY/150., 5000., 1 1.,30.,20.,20.,20., 100.,50000.,100./
DATA SKPTIM/'2500'/, S'PACE / ' '/
DATA SYMBOL/'Q','0','T','X','D','A','M','Z','Y','B','*','H','I'/
Q *******************************************************************
C
C THESE VALUES ARE MONTHLY EQUILIBRIUM TEMPERATURES FOR THE
C STATE OF NEW JERSEY REF: 'EFFECT OF GEOGRAPHICAL LOCATION ON
C COOLING POND REQUIREMENT AND PERFORMANCE 16130 FDQ 03/71
C
Q ******************************************************************
DATA EQTEMP/33.,37.,45.,57.,69.,78.,83.,81.,73.,60.,46.,38./
Q *******************************************************************
c
C THE NEXT STATEMENT HAS THE UNIT WEIGHT FACTORS FOR EACH PARAMETER
C
DATA WEIGHT/.17,.15,.12,.10,.10,.10,.10,.08,.08/
C *******************************************************************
C
C THIS NEXT STATEMENT HAS THE MAXIMUM NUMBER OF POINTS IN EACH
C UNIT QUALIGRAM — FOR PROGRAM CONTROL
C
C *******************************************************************
DATA MAXX/ll,15,20,7,12,12,12,11,11/
Q *******************************************************************
C
C THE NEXT DATA STATEMENT IS THE UNIT QUALITY, ASSIGNED TO A
C PARAMETER EXCEEDING THE RANGES IN THE QUALIGRAMS
C
Q *******************************************************************
DATA QMAX/50.,2.,0.,2.,1.,2.,5.,5.,20./
M-8
-------
-88-
C
READ(M,I)IPRNT,IPLOT,OPTION
1 FORMAT(312)
c
C READ INDIVIDUAL PARAMETER QUALIGRAMS
C
Q *******************************************************************
DO 150 1=1,9
MAX=MAXX(I)
C
C FIRST — THE X-SCALE IS READ INTO TABLE(J,1,I)
C
READ(M,151)(TABLE(J,1,1),JB1,MAX)
151 FO RMAT(8F10.0)
C
C NOW READ IN THE ASSOCIATED Y VALUE FOR THE X'S ABOVE
C
READ(M,151)(TABLE(J,2,I),J=1,MAX)
150 CONTINUE
Q ******************************************************************
c
C READ Y-AXIS PARAMETER LABEL TO ARRAY IF PLOTING
C
Q ******************************************************************
IF(IPLOT.GT.O)READ(M,4)((PTITLE(L,JX),JX=1,5),L=1,9)
A FORMAT(5A4)
KK=0
XXMAX=0.0
YYMAX= 0.0
Q *******************************************************************
c
C CONVERT MONTHLY EQILIBRIUM TEMPERATURES TO DEGREES CENTIGRADE
C
Q *******************************************************************
DO 7 1=1,12
EQTEMP(I) = (EQT EMP(I)-32.)*.55556
7 CONTINUE
Q ******************************************************************
C
C **READ DELIMITER RECORD - VERIFY BEGINNING OF DATA RECORDS**
C
12 READ(20,111,END=400) IDUMMY
111 FORMAT(25X,I2)
IF (IDUMMY.EQ.99) GOTO 22
GOTO 12
C
C AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
C *** COMMANDS BELOW USE THE INTEGRATED PLOTTING PACKAGE ***
C
C ******************************************************************
232 IF(IPLOT.LE.O)GO TO 100
HINIT=10.75
-------
-89-
LN= 1
Q AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
c
C THIS NEXT CALL IS REQUIRED FOR PLOTS LARGER THAN 10.5 INCHES...
C
Q AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
CALL CMLBF('PLOT IS 8-1/2X11 IN.
C
C SET INITIAL VALUES ON SPECIFICATIONS ARRAY
C
CALL SSPECS(PLDATA)
H17=PLDATA(17)/2.
H18ePLDATA(18)/2.
C
C ENTER NUMBER OF DATA POINTS TO PLOT
C
PLDATA(13)=MM-1
C
C MOVE Y-AXIS 1.5 INCHES AWAY FROM THE FRAME ORIGIN
C
PLDATA(1)=1.5
C
C RESET SIZE OF AXES (INCHES)
C
PLDATA(7)=6.0
PLDATA(8)=1.5
DO 2 L-1,10
C
C SET PLOTTING SYMBOL DESIRED
C
PLDATA(16)°SYMBOL(L)
C
C SET LETTER SIZE OF LABELS TO HALF DEFAULT (.05)
C
PLDATA(17)=H17
PLDATA( 18) «=H18
C
C MOVE X-AXIS 8.75
C EACH GRAPH FOR A
C
PLDATA(2)=HINIT-
C
C CLEAR WORK AREA
C
DO 15 K=1,5
15 SCL(K)=0.0
C
C SET RANGE OF VALUES ON X-AXIS ** NO. DIVISIONS=NO.YEARS ANALYZED
C
KK=XXMAX+1
PLDATA(3)=KK
KK2=XXVAL(1)
PLDATA(4)=KK2
PLDATA( 9) =>KK-KK2
INCHES AWAY FROM ORIGIN - USING 2.0 INCHES FOR
TOTAL FRAME SIZE OF 8-1/2 X 11 INCHES
(LN* 2.0)
-------
-90-
C
C SET RANGE OF VALUES ON Y-AXIS
C
PLDATA(5)=HIGHY(L)
C
C TEST SOLIDS AMOUNT AT STATION — RESET Y-SCALE IF NECESSARY
C
IF(L.EQ.9.AND.VAL(9,1).LT.1000)PLDATA(5)=2000.
PLDATA(6)=0.0
C
C FOR TEMPERATURE CHANGE — Y-SCALE MUST ACCOMODATE NEGATIVE VALUES
C
IF(L.EQ.7)PLDATA(6)=-5.0
C
C SET NO. OF DECIMALS ON Y-AXIS DEPENDING ON PARAMETER ...
C
PLDATA(28)=2.0
IF(L.EQ.2.0R.L.EQ.8.0R.L.EQ.9)PLDATA(28)«0.0
C
C CHANGE DEFAULT VALUE OF DIVISIONS FOR Y-AXIS
C
PLDATA(10) = 10.
C
C CLEAR ZONES — UPDATED BY TITLES ON PREVIOUS GRAPH
C
CALL Z ZONES(PLDATA)
C
C DRAW X-Y AXES
C
CALL AXLILI(PLDATA)
C
C DRAW ANNOTATION NUMBERS AT THE BOTTOM SCALE MARKS
C
CALL NODLIB(PLDATA)
C
C DRAW ANNOTATION NUMBER AT THE LEFT SCALE MARKS
C
CALL NODLIL(PLDATA)
C
C CLEAR ZONES VARIABLES — SINCE UPDATED BY ABOVE SUBROUTINE
C
CALL ZZONES(PLDATA)
C
C PLOT SYMBOL AT DATA POINT LOCATIONS
C
KK=MM-1
DO 6 K=1,KK
YYVAL(K)=VAL(L,K)
6 CONTINUE
CALL PSLILI(XXVAL,YYVAL,PLDATA)
C
C NOW CONNECT DATA POINTS WITH DASHED LINE
C
CALL DLLILI(XXVAL,YYVAL,PLDATA)
-------
-91-
C
C CHANGE DEFAULT SPACING OF TITLES TO THE AXES
C
PLDATA(24)=.15
PLDATA(26)=.45
Q ******************************************************************
c
C NOW LABEL THE AXES
C
CALL TITLEB('+ TIME (YEARS)+',PLDATA)
C
C MOVE APPROPIATE Y-AXES LABEL TO VECTOR FOR PLOTTING
C
IF (L.EQ.10) GO TO 2
DO 8 JX=1,5
YTITLE(JX)=PTITLE(L,JX)
8 CONTINUE
CALL TITLEL(YTITLE,PLDATA)
IF(L.NE.5)GO TO 24
C
C RESTORE TEXT LETTER SIZE FOR STATION DESCRIPTION LABEL
C
PLDAT A(17)=H17*2.
PLDATA(18)=H18*2.0
C
C PRINT GRAPH DESCRIPTION AT UPPER, RIGHT HAND SIDE OF GRAPH
C
PLDATA(2 2 ) s 1.75
PLDATA(2 3)=10.5
CALL GTITLE('+STORET STATION NO.+',PLDATA)
PLDATA ( 22)=»3.65
CALL GTITLE(TOP,PLDATA)
Q ******************************************************************
c
C ADVANCE GRAPH PAPER FOR NEXT FOUR PARAMETERS ...
C
C ******************************************************************
CALL NXTFRM(PLDATA)
LN = 0
24 LN>=LN + 1
2 CONTINUE
IF(OPTION.EQ.0)CALL TITLEL('+CUMM NSF WATER QUALITY INDEX+',
1PLDATA)
IF(OPTION.NE.0)CALL TITLEL('+MULT NSF WATER QUALITY INDEX+',
1PLDATA)
C
C RESTORE TEXT LETTER SIZE FOR STATION DESCRIPTION LABEL
C
PLDATA(17)=H17*2.
PLDATA(18)=H18*2.0
C
C PRINT GRAPH DESCRIPTION AT UPPER, RIGHT HAND SIDE OF GRAPH
C
-------
-92-
PLDATA(22)=1.75
PLDATA(23)=10.5
CALL GTITLE('+STORET STATION NO.,PLDATA)
PLDATA(22)=3.65
CALL GTITLE(TOP,PLDATA)
C
C ADVANCE GRAPH PAPER FOR NEXT STATION
C
CALL NXTFRM(PLDATA)
432 STAT(1)=SPACE
22 READ(20,30,END=330) AGENCY,STAT.DESCRP
30 FORMAT(2A4,4A4,IX,30A4)
MM= 1
IF(IPRNT.GT.O) WRITE(6,40) STAT,DESCRP
40 FORMAT('1STATION ',4A4,/,' ',30A4)
DO 60 1=1,8
READ(20,30.END-310) AGENCY,STAT,DESCRP
IF(IPRNT.GT.O) WRITE(6,50) DESCRP
50 FORMAT(' ',30A4)
IF(I.EQ.2.AND.IPLOT.GT.O)GO TO 61
GO TO 60
61 T0P(1)=SYMB0L(4)
TOP(2)=STAT(1)
TOP(3)=STAT(2)
TOP(4)-SPACE
TOP(5)=DESCRP(17)
TOP(6)=DESCRP(18)
TOP(7)=DESCRP(19)
TOP(8)=DESCRP(20)
TOP(9)=DESCRP(21)
T0P(10)=DESCRP(22)
TOP(ll)"DESCRP(23)
TOP(12)aSYMBOL(4)
60 CONTINUE
C PRINT HEADINGS IF PRINTING RAW DATA ...
IF(IPRNT.GT.0)WRITE(6,5)
5 FORMAT( 5X,' DATE ',3X,'TIME',3X,'D 0 (SAT)',3X,'F.C. MPN*,
17X,'PH',9X,'BOD5',7X,'N03',8X,'P04',3X,'TEMP DELTA',3X,'TURB',
22X,'TOT SOLIDS',3X,'CL',3X,'WQAI')
DO 90 1=1,9
QUAL(I)=0.0
90 CONTINUE
Q * * A * A hjt AAAAAAAAAAAAAAA*AAAAAAAAAAA*AAAAAA*AAAAAA*A*AAAA*AA***A***A
C
C READ STATION PARAMETRIC DATA
C
100 READ(20,110,END«310) AGENCY,STAT,IYR,IMON,IDAY,TIME,PARAM
110 FORMAT(2A4,3A4,A3,2X,3I2,A4,10A4)
IF (IYR.EQ.99) GOTO 232
DO 120 1=1,9
C
C TEST FOR DUMMY VALUE IF NO SAMPLE WAS TAKEN
-------
-93-
C
IF ((PARAM(I).LT.1E-15).AND.(PARAM(I).GT.O.)) GOTO 100
IF (PARAM(I).GE.0.) GOTO 120
WRITE(6,115) I,PARAM(I)
115 FORMAT(' ***WARNING - PARAMETER ',11,' IS NEGATIVE, ',F3.1
1,' IS SUBSTITUTED***')
120 CONTINUE
IF (TIME.EQ.SKPTIM) TIME-SPACE
C ******************************************************************
C
C TEST PARAMETERS FOR MINIMUM POSSIBLE VALUES — IF LESS ADJUST
C
0 ******************************************************************
DO 156 1=1,9
IF (PARAM(I).LT.SMALL(I)) PARAM(I)°SMALL(I)
156 CONTINUE
Q ******************************************************************
c
C COMPUTE SATURATION LEVEL OF OXYGEN AT STATION —USING TEMPERATURE
C AND CHLORIDE CONCENTRATION
C
Q ******************************************************************
DOSAT=(1.-.000009*PARAM(10))*(14.652-.A1022*PARAM(7)
1+.007991*PARAM(7)**2 -.000077774*PARAM(7)**3)
C ******************************************************************
C
C COMPUTE OXYGEN CONCENTRATION AS PERCENT SATURATION
C
Q ******************************************************************
PARAM(1)=PARAM(1)/DOSAT*100.
q ******************************************************************
C
C COMPUTE DEVIATION FROM EQUILIBRIUM TEMPERATURE
C
Q ******************************************************************
PARAM(7)=EQTEMP(IMON) - PARAM(7)
Q ******************************************************************
C
C ADD CONSTANT OF '5' TO TEMPERATURE VALUES -- NOTE - THIS IS DONE
C TO ELIMINATE NEGATIVE TEMPERATURES IN UNIT QUALIGRAM
C X-SCALE OF TEMPERATURE QUALIGRAM HAS ALSO BEEN CHANGED ACCORDINGLY
C
C ******************************************************************
PARAM(7)=PARAM(7)+5.
IF(PARAM(7).L T.0)P ARAM(7)= 0
0 ******************************************************************
C
C SEARCH FOR QUALITY VALUE — LINEARLY INTERPOLATE IF NECESSARY
C
DO 285 IPARAM=1,9
MAX=MAXX(IPARAM)
DO 157 ISCAN=1,MAX
-------
-94-
IF(PARAH(IPARAM).GT.TABLE(ISCAN,1,1PARAM))CO TO 157
IF(PARAM(IPARAH).LT.TABLE(ISCAN,1,1PARAM))GO TO 158
QUAL(IPARAH)=TABLE(ISCAN,2,IPARAM)
GO TO 285
157 CONTINUE
c
C SET QUALITY OF PARAMETER FOR VALUE ABOVE DEFINED MAXIMUM
C
Q ******************************************************************
QUAL(IPARAM)=QMAX(IPARAM)
GO TO 285
C ******************************************************************
c
c PARAMETER IS BETWEEN TWO VALUES — LINEARLY INTERPOLATE FOR UNIT
C QUALITY BY USING THE HIGH VALUE AND SUBTRACTING THE DIFFERENCE
C
C ******************************************************************
158 XDIF=TABLE(ISCAN,1,IPARAM)-PARAM(IPARAM)
XDELTA«=TABLE(ISCAN, 1, IPARAM)-TABLE (ISCAN-1,1 .IPARAM)
SLOPE=(TABLE(ISCAN,2,IPARAM)-TABLE(ISCAN-1,2,IPARAM))/XDELTA
QUAL(IPARAM)=TABLE(IS CAN,2,1PARAM)-(SLOPE*XDIF)
285 CONTINUE
WQIA=0.
C ******************************************************************
C
C TEST OPTION. OF MULTIPLICATIVE OR ADDITIVE INDEX
C
Q ******************************************************************
IF(OPTIOH.GT.O)GO TO 275
DO 290 1-1,9
WQIA=WQIA+QUAL(I)*WEIGHT(I)
290 CONTINUE
GO TO 278
2 75 WQ I A= 1.0
DO 276 1-1,9
WQIA=WQIA*QUAL(I)**WEIGHT(I)
276 CONTINUE
C ******************************************************************
C
C TEST OPTION TO PRINT RAW DATA ...
C
C ******************************************************************
2 78 IF(IPRNT.GT.O)WRITE(6,3)IMON,IDAY,IYR,TIME,(PARAM(I),1=1,10),WQIA
3 FORMAT(5X,I2,'/',I2,'/',I2,3X,A4,F11.4,F11.0,F11.2,F12.1,2F11.4,
1F10.4,2F9.1,F8.0,F7.Q)
PARAM(10)°WQIA
C ******************************************************************
C
C DIGITIZE SAMPLE DATE TO FRACTION OF YEAR
C
C ******************************************************************
SUM=0.
IF (IMON.EQ.l) GOTO 6 75
-------
-95-
IND EX=IMON-1
DO 670 1=1,INDEX
S UM=SUM+DAY S(I)
670 CONTINUE
675 CONTINUE
SUM=SUM+IDAY
IF ((MOD(IYR,4).EQ.0).AND.(IMON.GT.2)) SUM-SUM+1
TOTDAY= 365
IF (MOD(IYR,A).EQ.0) TOTDAY-366
FRAC=SUM/TOTDAY
191 XXVAL(MM)=IYR+FRAC
DO 9 JX-1,10
VAL(JX,MM)=PARAM(JX)
9 CONTINUE
C SAVE HIGHEST OF YEARS FOR SCALING PLOT
IF (XXVAL (MM) . GT . XXMAX) XXMAX=»XXVAL (MM)
MM=MM+1
192 GO TO 100
310 CONTINUE
WRITE(6,320) STAT
320 FORMAT( / / , ' ABNORMAL FILE END WHILE READING STATION ',4A4)
STOP
400 WRITE(6,112)
112 F0RMAT(10X,'BEGINNING OF DATA RECORDS NOT CONFIRMED')
C ******************************************************************
c
c IF NOT PLOTTING SET HI COND CODE TO BYPASS PLOT POST-PROCESSOR
C
Q ******************************************************************
330 IF(IPLOT.LE.0)STOP 40
C ******************************************************************
C
C PLOTTING IS FINISH — NOW CLOSE THE NEUTRAL TEXT
C
C ******************************************************************
CALL PPPEND(PLDATA)
333 STOP
END
-------
-96-
SOURCE DECKS AT OSI
For the convenience of potential users, the source language statements
for these four programs have been stored at the WCC computer facility as
Alpha Data sets:
DATASET NAME DESCRIPTION
CL.SLIB.EPAGAN(TIMEWQI) PROGRAM A
CL.SLIB.EPAGAN(FIVEPARM) PROGRAM B
CL.SLIB.EPAGAN(SEASONAL) PROGRAM C
CL.SLIB.EPAGAN(WQIPARM) PROGRAM D
Source decks may also be obtained from the EPA Region II Data Systems
Branch office.
PROGRAM EXECUTION FROM LOAD MODULES
To save expenses in compilation and link-editing, these programs also
exist as core-image modules on a partitioned data set at WCC as follows:
DATASET NAME DESCRIPTION
CN.EPAGAN.R2TW.WQI.LOADLIB(TIMEWQI) PROGRAM A
CN.EPAGAN.R2TW.WQI.LOADLIB(FIVEPARM) PROGRAM B
CN.EPAGAN.R2Tl-f.WQI. LOADLIB(SEASONAL) PROGRAM C
CN.EPAGAN.R2TW.WQI.LOADLIB(WQIPARM) PROGRAM D
The JCL procedure for the execution of these data sets with the
proper plot post-processor is shown in the sample input sections.
-------
_97-
INTERACTIVE PROCESSING WITH TEKTRONICS TERMINAL
These programs presently have limited interactive application under the Time
Sharing Option at the WCC facility. The programs execute successfully, but
because the plotting text is hardware generated by the Tektronics terminal
and not drawn by the software, the resulting plots are unsatisfactory.
These problems will hopefully be resolved once Calcomp preview procedures for
the Tektronics terminal are implemented and at the WCC facility.
-------
-98-
Application to the Raritan River Basin
The Raritan River Basin is the largest intra-state surface watershed in
New Jersey. The mainstream section which is approximately 30 miles long extends
from the River's mouth at Raritan Bay to the confluence of the north, and south
branches. Figure 2 is a map of the area showing the Raritan River Basin and
its major tributaries. The six digit numbers in this'figure are the STORET
primary station numbers.
As a test application, the water quality parameters required were retrieved
from the STORET system for these stations in the Raritan River South Branch and
the mainstream. Programs A and C were processed using this data.
The water quality index profiles for winter and summer conditions for three
separate time intervals:
1) 1968 - 1969
2) 1970 - 1972
3) 1973 - Present
are shown in the next four pages. The graphs by station number begtn at the origin
of the South Branch (the downstream end of Budd Lake) and ends at the Raritan
Bay. The graphs by station mile point are in reverse order, they start at the
mouth of the Raritan River and travel upstream to the origin of the South Branch.
As expected, the index is overall higher during the winter season. Trends of the
index as one goes up or down the Raritan Basin, as well as any changes during
the defined time intervals can be easily assessed from these pages.
-------
STATE OF NEW JERSEY"
74°
75°
Montague
lainesvllh
Glenwoo<
laytoj
Wawayanaa
Susse:
V.ernon,
.Hamburg!
o- Mtn
Ajraenwoodf Xs
/ / Lake If
ABeartorrMtn1
WMilfortfO "0
Branchville
Hambur]
'allpack^
Qenter ]
Franklin
ansque
, Uppfro
Macopin
Stockholm
Ogdensburi
-S'ty 1
N^Xfoundjand
Newton
S p a r t a\Qp-Jr'S pa rta
*/£j,7 Mtnv
C'JUka /
¦Qaklai
Green
sPond
Idwicl
rtlero cf
Riverdalel
Stort'fctejns,
ndland Park'
AndON
Greendell.
Marksboro
N Haleddn
Yj/Lake
pOLake Hopatcong oHib£/nia
MtArilntffon dMLWope/ /
HaiVjesburg<
Hiledon^
)/ Li
mtatji LakeF 1~ £
(Jersey
City k ^3 ^,1- ±. QttleF a IIs5
Q BPaterson
Wharton,
^envil 1
iadow-S'
iuccasunna
Flanders
imtBrOpk
ackettstownj
Uuttzville
^306:
lunt Freedom
y W&Jppany,
Florfhalm S?/[ ¦
$ ParKoJ?y
Belvidere'
^/Beatyestown
LongValley
OxfordO
;townV
Chester
O Mendham
MiddleValley,
lison
Washingl
Chatham'
3^010
Berna^dsviJjj
Basking I
Ha/npton
Glen
VGardner,
Pottersville
Asbury
swa)tsville
"Tar H/l
Liberty
Corner
3H^05fe^dw,c5
igh Bridge ^-v
- Lebanon (
[Bedmihster
llooms-
^bury
Scotch Plain;
luckemin
PatTenburg
J Jtland
rClinton
N Plainfield**<3
Little Yorko
'lamfieli
Whiti
kMartinsvilJ
town1
Pliinfield
Middlesex
Lower
,Quakertown
nd Bn?ok
Metucbei
Three
^Bridges
F/enchto vn J
O Japiistown
EMillstone
We^BmnswiclS]*^
pTen'5'
leshanic Sta
3H30fe;
Reaville
Sandy Hook
Bay \
^nsburg fc
Atlanti
ps^O^Highlan
telle Mead
.asvrence Harbor
lUnrati Bea<
Stockton
Rocky
\\Hill i
Majawan
Highland?
Spotswoodj
(ddletown
MonmtJuth
^-roy>Jnc
I'Morganville
Kingston!
oFair
Haver
jLambertvilli
1 '7,)
'amesburi
L <»•)
) ««oo(
Pennington pg.
0-IHJDEPl
-------
-too-
TOTAL NO. OF
INTERVAL
SETS
= . 3
INPUT CONTROL PARAMETERS
*3* CURVE NO.
1
NO. OF TIME
INTERVALS
FOR
THIS
S ET= 2
FROM
TO
6/ 1/68
6/ 1/69
9/30/68
9/30/69
PLOTTING
FOR CURVE
NG.
I —
PROCESSED
SUCCESSFULLY WITH 19 POINTS
*** CURVE NO.
2 ***
NO. OF TIME
INTERVALS
FOR
THIS
S£T= 3
FROM
6/ 1/70
TO
9/31/70
6/ 1/71
6/ 1/72
9/31/71
9/31/72
•
PLOTTING
FOR CURVE
NO.
2 —
¦ PROCESSED
SUCCESSFULLY WITH bo POINTS
*** CURVE MO.
3 ***
NO. OF TIME
INTERVALS
FOR
THIS
SET= 3
FROM
6/ 1/73
TO
9/31/73
6/ 1/74
6/ 1/75
9/31/74
9/31/75
plotting FOR CURVE NG. 3 — PROCESSED SUCCESSFULLY WITH 15 POINTS
-------
"=101 -
INPUT CONTROL PARAMETERS
TOTAL NO. OF INTERVAL SETS = 3
**# CURVE NO.
1
NO. OF TIME
INTERVALS
FOR
THIS SET= 8
FROM
TO
11/ 1/66
1/ 1/67
12/31/66
2/30/67
11/ 1/67
1/ 1/68
12/31/67
2/30/68
11/ 1/68
1/ 1/69
12/31/69
2/30/69
11/ 1/69
1/ 1/70
12/31/69
2/30/70
\
PLOTTING
FOR CURVE
NO.
1 — PROCESSED SUCCESSFULLY WITH 58 POINTS
CURVE NO. 2 ***
NO. OF TIME
INTERVALS FOR THIS SET=
6
FROM
TO
11/ 1/70
12/31/70
1/ 1/71
2/30/71
11/ 1/71
12/31/71
1/ 1/72
2/30/72
11/ 1/72
12/31/72
1/ 1/73
2/30/73
PLOTTING FOR CURVE NO. 2 — PROCESSED SUCCESSFULLY WITH 62 POINTS
*** CURVE WO. 3 ***
NO. OF TIME
INTERVALS FOR THIS SET=
6
FROM
TO
11/ 1/73
12/31/73
1/ 1/74
2/30/74
11/ 1/7^
12/31/74
1/ 1/75
2/30/75
11/ 1/75
12/31/75
1/ 1/76
2/30/76
PLOTTING FOR CURVE NO. 3 — PROCESSEO SUCCESSFULLY WITH 19 POINTS
-------
*. L C G L N ID *¦ '¦*
c i 6«H"*Er lu&r cc :is"i
0= S-1MP I u i J -1J 7 J
A ; G^H*Er IJ7S - prtGl HT
100
90
o
2:
«.c
r>
AO
20
] 0
0
<3 9 10
STRTION NUMBL'R
17
-------
LECL'NC >•<>*
c. NiNur lass 19 :
G> £ MfMTtf liTU-l J7J
4. . HINTLr H?3 T3 p**tbt'lT
-------
100 -0
90-0
Lf: CCMO ** *
El SuMPEr IQSP e
-------
wwy. LECLNG *¦**
(U >. WIMTL" ilrtfi Tfl tuS)
c, = Mirmr u?u-n7e
¦*¦ . NfWTLT ta?$ T? tr.Etcn
100 .0
90 .0
OG-O
X
u
fj
5 70-C
^ fiC -0
*x
o
Q, '?0 -o
K
-------
-106-
ACKNOWLEDGEMENTS
Thanks must be extended to Robert Hi eke of Systems Architects Inc. for his
assistance in the implementation of these programs. Thanks also to Barbara
Sue Clark and George Lackowitz of EPA for their assistance in verifying
results and refining the qualigram data. The typing was very professionally
done by Ms. MaryAnn LaBarbera.
-------
-107-
REFERENCES
(1) McClelland, N.I., Water Quality Index Application in the Kansas River
Basin, USEPA, Region VII, Kansas City, Missouri. Report No. EPA-907/9-
74-001 February 1974
(2) Ashbrook, J.D. and Sande, S., A User's Guide to the Integrated Plotting
Package, National Institutes of Health, D.H.E.W., Bethesda, Maryland
March 1975
(3) User's Manual for EPA Scientific Applications Software, MIDSD, Washington,
D.C. July 1975
(4) Greeley, R.S., Johnson, A. et al, Water Quality Indices MITRE Corporation,
Washington, D.C. 1972
(5) Effect of Geographical Location on Cooling Pond Requirements and Performance,
pp. 146-234, USEPA, Water Quality Office, Washington, D.C. Report No.
16130FDQ03/71, March 1971
-------
-108-
Appendix A
DIGITIZED UNIT QUALIGRAMS USED BY COMPUTER PROGRAMS
-------
WATER QUALITY INDEX
DISSOLVED OXYGEN
ARITHMETIC MEAN 802 CONFIDENCE LIMITS
DISSOLVED OXYGEN - % SATURATION
E'i-^uro A-1
-------
WATER QUALITY INDEX
FECAL COLIFORMS
ARITHMETIC MEAN
80% CONFIDENCE LIMITS
ICQ
90
SO
70
50
50
4G
30
20
10
0
10°
i \
V
\
I
1
\
N
\
I
\
\
\
\
\
\
%
•
\
\
1
\
\
V
\
\
\
\
\
\
\
I
\
\
*
S
\
\
\
s
'n
¦
\
\
\
*
N
\v
\
\
10J
10'
1G3
1C"
10-
FECAL COLI FORMS» AVERAGE NUMBER OF ORGANISMS PER 100 ML
Figure A-2
w = 0.15
I 1—r—H-rttH
SI
KEY FOR LOG SCALE
INTERPOLATION
NOTE :
FOR F . C . >1u(5)/130.ML
-------
100
90
80
70
60
50
40
30
20
10
0
WATER QUALITY INDEX
pH
ARITHMETIC MEAN 30Z CONFIDENCE LIMITS
/
/
"s
\
\
\
/
t
\
\
\
l
I
J /
/ /
\
\
i
\
*
i
i
i
/ /
t
I
\ 1
i
j
i
i
r
i
i
(
* tt
t H
\ \
i |
i
i
t
/
i
*
i
r
1 \
\ 1
|
i
i
\
\
/
i
1
i
I
i
1
i
I
l
\
y
\
%
\
/
t
/
j
i
i
f
I
i
1
>
\
\
/
t
/
i
l
«
\
i
\
\
V
X
/
/ -
. _
J
\
t
V
3 4 5 6 7 8 9 • 10 11 12
PH, UNITS
Figure A-3
-------
w
A
T
E
R
Q
U
. A
L
I
T
Y
ARITHMETIC i'.EAN
WATER QUALITY INDEX
eod5
20% CONFIDENCE LIMITS
100
90
8G
70
60
50
40
30
20
10
0
5 10 15 20 25 30
bod5, mg/l
Figure A-4
1"X
1
\ [
\
\
\
\
i a
A
1 H
\
>
- 1 \
I *
\ \
\ 1
V"
*•
V
V
\ \
\
I
\
\
\
I
t
\
\
V
\
\
——t—
i
1
\
\
\
1
i
%
\
\
s
N
\
>
\
w = 0,10
NOTE:
FOR
qi = 2'
FOR BOD- >30,
r\)
\
-------
WATER QUALITY INDEX
NITRATES
ARITHMETIC MEAN
4 .CONFIDENCE LIMITS
I \
N.
N.
1
7
/
/
~
1
\
\
\
t
i\
\
\
\
s\
\
t
1
\
V
\
t
\
t
\
\
\
V
1
i
\
\
>
'""1"
i
i
i
\
V
V.
i
\
\
V
1
10 20 30 40 50 60 70 80 90 100
NITRATES, MG/L
Figure A-5 .
w = 0.10
NOTE:
FOR NITRATES >100 MG/L
q± - 1.
CO
I
-------
WATER QUALITY INDEX
TOTAL PHOSPHATES
Ar"-:iHMETIC MEAN 80% CONFIDENCE LIMITS
i r
<
%
1 \
1 "
\
\
\
1
\
X
j\
/
y'
x
I \
\
N
X
1
V
X
%
V
1
i
v
V
X
\ j
i
i
t
\
•s
V
V.
X
—$—.
i
t
i
N.
i
i
h.._„
v/ = 0.10
NOTE:
FOR TOTAL PHOSPHATES
>10 mg/l, ^ = 2,
4 ^ 5
7 8 9 10
TOTAL PHOSPHATES, MG/L
Figure .A-6
-------
100
90
80
70
60
50
40
30
20
10
0
WATER QUALITY INDEX
TEMPERATURE
ARITHMETIC MEAN 80% CONFIDENCE LIMITS
s
\
/i
f t
\
i
\
i
i
/
A\
I V
p
1
«
\
\
—T
t
i
i
f
r
\
i
\
\
t
¦ " i
i
\
i
\
\
X
V
i
/
i
\
X.
/
1
f
i
\
i
J
t
»
\
i
i
!
\
v
:
-o-
10
15
w = 0.10
NOTE :
FOR TEMPERATURE DEVIATION
>15°c, sL = 5.
DEGREES CENTIGRADE DEPARTURE FROM EQUILIBRIUM TEMPERATURE (0)
Figure A-7
-------
w
A
T
E
R
Q
U
A
L
I
T
Y
ARITHMETIC MEAN
WATER QUALITY INDEX
TUR3IDITY
80% CONFIDENCE LIMITS
90
80
70
50
50
40
30
20
10
0
l\
— —
l\
1
I \
* s
I A
i
\
\
i
\
X
V
\
\
i
\
\
\
V
\
t
k
\
\
>
\
\
\
X.
s.
w = 0.08
NOTE :
FOR TURBIDITY >100 JTU
qA - 5.
10 20 30 40 50 60 70 80 90 100
TURBIDITY/ UNITS
Figure A-S
-------
WATER QUALITY INDEX
TOTAL SOLIDS
ARITHMETIC MEAN 80Z CONFIDENCE LIMITS
100
90
80'
70
60
50
40
30
20
10
0
\
>
i
\
\
\
\
i
i
/
\
\
\
\
i
i
i
\
/
i
i
V
\
\
\
f
X.
%
\
V
V
X
s
k
w = 0,08
NOTE :
FOR TOTAL SOLIDS
>500 i-jg/l, q± = 20.
50 100 150 200 250 300 350 400 450 500
TOTAL SOLIDS, MG/L
Finn r-#-» -
------- |