Document ID: EPA-HQ-OW-2004-0032-0894
Agency: epa
Document Type: Supporting & Related Material
Title: 
Posted Date: 2005-08-18T04:00Z

000100
IDENTIFICATION
DIVISION.
OPTB
000200
PROGRAM­
ID.
OPTB
000300
OPTB.
OPTB
000400
AUTHOR.
OPTB
000500
MARINA
JANET
ALVAREZ
(
MODIFIED
BY
STEVE
RUBIN).
OPTB
000600
DATE­
COMPILED.
OPTB
000700
ENVIRONMENT
DIVISION.
OPTB
000800
CONFIGURATION
SECTION.
OPTB
000900*
SOURCE­
COMPUTER.
IBM­
3090
WITH
DEBUGGING
MODE.
OPTB
001000
INPUT­
OUTPUT
SECTION.
OPTB
001100
FILE­
CONTROL.
OPTB
001200
SELECT
SAS­
FILE
ASSIGN
TO
UT­
S­
SASB.
OPTB
001300
SELECT
PCS­
FILE
ASSIGN
TO
UT­
S­
PCS.
OPTB
001400
SELECT
PCS­
GRP­
EST­
FILE
ASSIGN
TO
UT­
S­
PGRPEST.
OPTB
001500
SELECT
LIMITS­
FILE
ASSIGN
TO
UT­
S­
PARM.
OPTB
001600
SELECT
SIC­
FILE
ASSIGN
TO
UT­
S­
SIC.
OPTB
001700
SELECT
BASIN­
FILE
ASSIGN
TO
UT­
S­
BASIN.
OPTB
001800
SELECT
STBC­
FILE
ASSIGN
TO
UT­
S­
FT60F001.
OPTB
001900
SELECT
PARM­
GROUP­
FILE
ASSIGN
TO
UT­
S­
PARMGRP.
OPTB
002000
SELECT
DATE­
FILE
ASSIGN
TO
UT­
S­
DATES.
OPTB
002100
SELECT
REPORT­
FILE
ASSIGN
TO
UT­
S­
REPORTB.
OPTB
002200
SELECT
GRAPH­
FILE
ASSIGN
TO
UT­
S­
GRAPH.
OPTB
002300
SELECT
CODE­
FILE
ASSIGN
TO
UT­
S­
CODE.
OPTB
002400
SELECT
SORT­
FILE
ASSIGN
TO
UT­
S­
SORTWK01.
OPTB
002500
SELECT
SORT­
PRINT­
FILE
ASSIGN
TO
UT­
S­
SORTWK02.
OPTB
002600
SELECT
SORT­
PARM­
FILE
ASSIGN
TO
UT­
S­
SORTWK03.
OPTB
002700
SELECT
TITLE­
FILE
ASSIGN
TO
UT­
S­
TITLES.
OPTB
002800*************************************************************
OPTB
002900*
THIS
PROGRAM
IS
A
SUBPROGRAM
TO
PCS.
MAIN.
AN
EFFLUENT
*
OPTB
003000*
DISCHARGE
REPORT
OF
QUANITITY
DATA
WILL
BE
PRODUCED
FROM
*
OPTB
003100*
IT.
THE
USER
MAY
REQUEST
ONE
REPORT
FROM
A
CHOICE
OF
*
OPTB
003200*
SEVENTEEN
FROM
THE
FOLLOWING
LIST:
*
OPTB
003300*
1.
HYDROLOGICAL
LISTING
BY
FACILITY
*
OPTB
003400*
2.
HYDROLOGICAL
LISTING
BY
OUTFALL
*
OPTB
003500*
3.
HYDROLOGICAL
LISTING
BY
BASIN
*
OPTB
003600*
4.
HYDROLOGICAL
LISTING
BY
STATE
*
OPTB
003700*
5.
HYDROLOGICAL
LISTING
BY
COUNTY
*
OPTB
003800*
6.
HYDROLOGICAL
LISTING
BY
CITY
*
OPTB
003900*
7.
GEOGRAPHICAL
LISTING
BY
FACILITY
*
OPTB
004000*
8.
GEOGRAPHICAL
LISTING
BY
OUTFALL
*
OPTB
004100*
9.
GEOGRAPHICAL
LISTING
BY
STATE
*
OPTB
004200*
10.
GEOGRAPHICAL
LISTING
BY
COUNTY
*
OPTB
004300*
11.
GEOGRAPHICAL
LISTING
BY
CITY
*
OPTB
004400*
12.
LISTING
FOR
ENTIRE
REPORT
*
OPTB
004500*
13.
WORST
CASE
REPORT
*
OPTB
004600*
14.
FACILITY
LOCATION
REPORT
*
OPTB
004700*
15.
SIC2
REPORT
*
OPTB
004800*
16.
PARAMETER
REPORT
*
OPTB
004900*
17.
SAS
DATA
*
OPTB
005000*
*
OPTB
005100*
THE
USER
MAY
ADD
A
USER
DEFINED
HEADING
THROUGH
A
20
*
OPTB
005200*
CARD
TO
GIVE
MORE
MEANING
TO
THE
REPORT.
(
NOTE:
FOR
MORE
*
OPTB
005300*
DETAILS
ON
THIS
CONSULT
THE
PCS
EFFLUENT
DATA
STATISTICS
*
OPTB
005400*
USER'S
GUIDE).
OPTB
005500*
FOR
EACH
INDIVIDUAL
REPORT,
A
UNIQUE
SORT
OF
THE
PCS­
*
OPTB
005600*
FILE
MUST
BE
PERFORMED
BEFORE
ANY
DATA
IS
PROCESSED.
*
OPTB
005700*
EACH
SORT
WILL
MAINTAIN
THE
DATA
IN
THE
PROPER
ORDER
FOR
*
OPTB
005800*
THE
LISTING
AND
FOR
THE
NECESSARY
CONTROL
BREAKS.
*
OPTB
005900*************************************************************
OPTB
006000
DATA
DIVISION.
OPTB
006100
FILE
SECTION.
OPTB
006200
FD
TITLE­
FILE
OPTB
006300
BLOCK
CONTAINS
0
CHARACTERS
OPTB
006400*
RECORD
CONTAINS
74
CHARACTERS
OPTB
006500
LABEL
RECORDS
ARE
STANDARD.
OPTB
006600*
OPTB
006700
01
TITLE­
RECORD.
OPTB
006800
05
FILLER
PIC
X(
74).
OPTB
006900
OPTB
007000
FD
PCS­
FILE
OPTB
007100
BLOCK
CONTAINS
0
CHARACTERS
OPTB
007200*
RECORD
CONTAINS
597
CHARACTERS
OPTB
007300
LABEL
RECORDS
ARE
STANDARD.
OPTB
007400*
OPTB
007500
01
PCS­
RECORD.
OPTB
007600
05
FACILITY­
INFO.
OPTB
007700
10
NPID
PIC
X(
9).
OPTB
007800
10
STATE
PIC
XX.
OPTB
007900
10
IACC
PIC
X.
OPTB
008000
10
NAME
PIC
X(
30).
OPTB
008100
10
MADI
PIC
X.
OPTB
008200
10
SIC2
PIC
X(
4).
OPTB
008300
10
CYNM
PIC
X(
20).
OPTB
008400
10
CNTN
PIC
X(
20).
OPTB
008500
10
TYPO
PIC
XXX.
OPTB
008600
10
SUBR
PIC
XX.
OPTB
008700
10
CNTY
PIC
XXX.
OPTB
008800
10
FFID
PIC
X(
12).
OPTB
008900
10
CSDN
PIC
X(
12).
OPTB
009000
10
BAS.
OPTB
009100
15
BAS4
PIC
X(
4).
OPTB
009200
15
RSEG
PIC
XX.
OPTB
009300
10
FHBC
PIC
X(
8).
OPTB
009400
10
FSEG
PIC
X(
4).
OPTB
009500
10
CITY
PIC
X(
5).
OPTB
009600*
10
RWAT
PIC
X(
28).
OPTB
009700
10
RWAT.
OPTB
009800
15
RWAT­
GW
PIC
X(
2).
OPTB
009900
15
PIC
X(
26).
OPTB
010000
10
FILLER
PIC
X(
7).
OPTB
010100
10
FLAT.
OPTB
010200
15
FLAT­
NUM
PIC
9(
7).
OPTB
010300
15
FLAT­
DIRECTION
PIC
X.
OPTB
010400
10
FLON.
OPTB
010500
15
FLON­
NUM
PIC
9(
8).
OPTB
010600
15
FLON­
DIRECTION
PIC
X.
OPTB
010700
10
FLLC
PIC
X.
OPTB
010800
10
ATNY
PIC
XXX.
OPTB
010900
10
ENGI
PIC
XXX.
OPTB
011000
05
PIPE­
INFO.
OPTB
011100
10
DSDG.
OPTB
011200
15
DSCH
PIC
X(
3).
OPTB
011300
15
FILLER
PIC
X.
OPTB
011400
10
NRPU
PIC
XXX.
OPTB
011500
10
PLAT.
OPTB
011600
15
PLAT­
NUM
PIC
X(
7).
OPTB
011700
15
PLAT­
DIRECTION
PIC
X.
OPTB
011800
10
PLON.
OPTB
011900
15
PLON­
NUM
PIC
X(
8).
OPTB
012000
15
PLON­
DIRECTION
PIC
X.
OPTB
012100
10
PLLC
PIC
X.
OPTB
012200
10
PLRD
PIC
X.
OPTB
012300*
10
PIPE
PIC
X(
30).
OPTB
012400
10
LNTP
PIC
X.
OPTB
012500
05
PCS­
PARM­
INFO.
OPTB
012600
10
PARM
PIC
X(
5).
OPTB
012700
88
FLOW­
PARAMETER
VALUE
'
00056'
'
00058'
'
50050'
OPTB
012800
'
74060'
'
74076'
'
FLOW'.
OPTB
012900
88
CHLORINE
VALUE
'
00183'
'
00208'
'
00370'
OPTB
013000
'
50058'
'
50059'
'
50060'
OPTB
013100
'
50064'
'
50066'
'
81400'
OPTB
013200
'
82605'
'
85790'.
OPTB
013300
10
MLOC
PIC
X.
OPTB
013400
10
SEAN
PIC
X.
OPTB
013500
10
GRP­
LQSC.
OPTB
013600
15
MODN
PIC
X.
OPTB
013700
15
LIPQ
PIC
X.
OPTB
013800
10
ALLS
PIC
X(
12).
OPTB
013900
10
LCMX
PIC
+.
999999E+
99.
OPTB
014000
10
LCAV
PIC
+.
999999E+
99.
OPTB
014100
10
LCMN
PIC
+.
999999E+
99.
OPTB
014200
10
LQMX
PIC
+.
999999E+
99.
OPTB
014300
10
LQAV
PIC
+.
999999E+
99.
OPTB
014400
10
FILLER
PIC
X(
8).
OPTB
014500
10
LCSC
PIC
99.
OPTB
014600
10
LCSC­
REDEFINED
REDEFINES
LCSC
PIC
XX.
OPTB
014700
10
FILLER
PIC
X(
16).
OPTB
014800
10
LQSC
PIC
99.
OPTB
014900
10
LQSC­
REDEFINED
REDEFINES
LQSC
PIC
XX.
OPTB
015000
10
ELSD
PIC
X(
6).
OPTB
015100
10
ELED
PIC
X(
6).
OPTB
015200
10
STAT
PIC
X(
5).
OPTB
015300
10
FRAN
PIC
X(
5).
OPTB
015400
10
SAMP
PIC
XX.
OPTB
015500
10
COLS
PIC
XXX.
OPTB
015600
10
STBA
PIC
X.
OPTB
015700
10
CONP
PIC
X.
OPTB
015800
10
DMR1
PIC
X.
OPTB
015900
10
DMR2
PIC
X(
6).
OPTB
016000
10
DMR3
PIC
X(
6).
OPTB
016100
05
PCS­
DMR­
INFO.
OPTB
016200
10
MVDT.
OPTB
016300
15
M­
YRMNTH.
OPTB
016400
20
M­
YEAR
PIC
99.
OPTB
016500
20
M­
MONTH
PIC
99.
OPTB
016600
15
FILLER
PIC
XX.
OPTB
016700
10
MVDT­
INFO.
OPTB
016800
15
MVIO
PIC
XXX.
OPTB
016900
15
NODI
PIC
X.
OPTB
017000
88
NO­
DATA
VALUE
'
D'
'
E'
'
F'
'
G'
'
H'
'
K'
'
5'
'
8'.
OPTB
017100
15
DMRL
PIC
X.
OPTB
017200
15
MQAV
PIC
+.
99999999E+
99.
OPTB
017300
15
MQMX
PIC
+.
99999999E+
99.
OPTB
017400
15
MCMN
PIC
+.
99999999E+
99.
OPTB
017500
15
MCAV
PIC
+.
99999999E+
99.
OPTB
017600
15
MCMX
PIC
+.
99999999E+
99.
OPTB
017700
15
LMQAV
PIC
X.
OPTB
017800
15
LMQMX
PIC
X.
OPTB
017900
15
LMCMN
PIC
X.
OPTB
018000
15
LMCAV
PIC
X.
OPTB
018100
15
LMCMX
PIC
X.
OPTB
018200
15
PIC
X(
39).
OPTB
018300
15
RUNT
PIC
XX.
OPTB
018400
15
RCUN
PIC
XX.
OPTB
018500
15
RSAM
PIC
XX.
OPTB
018600
10
LOAD­
INFO
REDEFINES
MVDT­
INFO.
OPTB
018700
15
LOAD­
YEAR
PIC
XX.
OPTB
018800
15
LOAD­
COUNT
PIC
99.
OPTB
018900
15
LOAD­
EST­
SYMBOL
PIC
X.
OPTB
019000
15
LOAD­
AMOUNT
PIC
+.
99999999E+
99.
OPTB
019100
10
FLOW­
INFO.
OPTB
019200
15
F­
PRAM
PIC
X(
5).
OPTB
019300
15
F­
MLOC
PIC
X.
OPTB
019400
15
F­
STAT
PIC
X(
5).
OPTB
019500
15
F­
LQUC
PIC
XX.
OPTB
019600
15
F­
LQSC
PIC
XX.
OPTB
019700
15
F­
LCUC
PIC
XX.
OPTB
019800
15
F­
LCSC
PIC
XX.
OPTB
019900
15
F­
MQAV
PIC
+.
99999999E+
99.
OPTB
020000
15
F­
MQMX
PIC
+.
99999999E+
99.
OPTB
020100
15
F­
MCMN
PIC
+.
99999999E+
99.
OPTB
020200
15
F­
MCAV
PIC
+.
99999999E+
99.
OPTB
020300
15
F­
MCMX
PIC
+.
99999999E+
99.
OPTB
020400
15
F­
RUNT
PIC
XX.
OPTB
020500
15
F­
RCUN
PIC
XX.
OPTB
020600*
OPTB
020700
FD
PCS­
GRP­
EST­
FILE
OPTB
020800
BLOCK
CONTAINS
0
RECORDS.
OPTB
020900*
RECORD
CONTAINS
597
CHARACTERS.
OPTB
021000*
OPTB
021100
01
PCS­
GRP­
EST­
RECORD
PIC
X(
603).
OPTB
021200*
OPTB
021300
SD
SORT­
FILE
OPTB
021400
BLOCK
CONTAINS
0
RECORDS.
OPTB
021500*
RECORD
CONTAINS
597
CHARACTERS.
OPTB
021600*
OPTB
021700
01
SORT­
RECORD.
OPTB
021800
05
S­
FACILITY­
INFO.
OPTB
021900
10
S­
NPID
PIC
X(
9).
OPTB
022000
10
S­
STATE
PIC
XX.
OPTB
022100
10
FILLER
PIC
X(
32).
OPTB
022200
10
S­
SIC2
PIC
X(
4).
OPTB
022300
10
FILLER
PIC
X(
45).
OPTB
022400
10
S­
CNTY
PIC
XXX.
OPTB
022500
10
FILLER
PIC
X(
24).
OPTB
022600
10
S­
BAS
PIC
X(
6).
OPTB
022700
10
S­
FHBC
PIC
X(
8).
OPTB
022800
10
FILLER
PIC
X(
4).
OPTB
022900
10
S­
CITY
PIC
X(
5).
OPTB
023000
10
FILLER
PIC
X(
59).
OPTB
023100
05
S­
PIPE­
INFO.
OPTB
023200
10
S­
DSCH
PIC
X(
3).
OPTB
023300
10
FILLER
PIC
X(
24).
OPTB
023400
05
S­
PARM­
INFO.
OPTB
023500
10
S­
PARM
PIC
X(
5).
OPTB
023600
10
S­
MLOC
PIC
X.
OPTB
023700
10
FILLER
PIC
X(
145).
OPTB
023800
05
S­
MVDT
PIC
X(
6).
OPTB
023900
05
S­
YEAR­
INFO
PIC
X(
218).
OPTB
024000*
OPTB
024100
FD
LIMITS­
FILE
OPTB
024200
BLOCK
CONTAINS
0
RECORDS
OPTB
024300*
RECORD
CONTAINS
80
CHARACTERS
OPTB
024400
LABEL
RECORDS
ARE
STANDARD.
OPTB
024500
01
LIMITS­
RECORD.
OPTB
024600
05
PARM­
CODE
PIC
X(
5).
OPTB
024700
05
FILLER
PIC
X(
5).
OPTB
024800
05
PARM­
DESC
PIC
X(
20).
OPTB
024900
05
FILLER
PIC
X(
50).
OPTB
025000*
OPTB
025100
FD
SIC­
FILE
OPTB
025200
BLOCK
CONTAINS
0
RECORDS
OPTB
025300*
RECORD
CONTAINS
80
CHARACTERS
OPTB
025400
LABEL
RECORDS
ARE
STANDARD.
OPTB
025500
01
SIC­
RECORD.
OPTB
025600
05
SIC­
CODE
PIC
X(
4).
OPTB
025700
05
FILLER
PIC
X(
6).
OPTB
025800
05
SIC­
DESC
PIC
X(
30).
OPTB
025900
05
FILLER
PIC
X(
40).
OPTB
026000*
OPTB
026100
FD
BASIN­
FILE
OPTB
026200
BLOCK
CONTAINS
0
RECORDS
OPTB
026300*
RECORD
CONTAINS
80
CHARACTERS
OPTB
026400
LABEL
RECORDS
ARE
STANDARD.
OPTB
026500
01
BASIN­
RECORD.
OPTB
026600
05
BASIN­
CODE
PIC
X(
8).
OPTB
026700*
10
BASIN­
2
PIC
XX.
OPTB
026800*
10
BASIN­
4
PIC
XX.
OPTB
026900
05
FILLER
PIC
X(
2).
OPTB
027000
05
BASIN­
DESC
PIC
X(
20).
OPTB
027100
05
FILLER
PIC
X(
50).
OPTB
027200*
OPTB
027300
FD
STBC­
FILE
OPTB
027400
BLOCK
CONTAINS
0
RECORDS
OPTB
027500*
RECORD
CONTAINS
80
CHARACTERS
OPTB
027600
LABEL
RECORDS
ARE
STANDARD.
OPTB
027700
01
STBC­
RECORD.
OPTB
027800
05
STBC­
CODE
PIC
XX.
OPTB
027900
05
STBC­
VALUES
PIC
X(
5).
OPTB
028000
05
FILLER
PIC
X(
73).
OPTB
028100*
OPTB
028200
FD
PARM­
GROUP­
FILE
OPTB
028300
BLOCK
CONTAINS
0
RECORDS
OPTB
028400*
RECORD
CONTAINS
80
CHARACTERS
OPTB
028500
LABEL
RECORDS
ARE
STANDARD.
OPTB
028600
01
PARM­
GROUP­
RECORD
PIC
X(
80).
OPTB
028700*
OPTB
028800
FD
SAS­
FILE
OPTB
028900
BLOCK
CONTAINS
0
RECORDS
OPTB
029000*
RECORD
CONTAINS
154
CHARACTERS
OPTB
029100
LABEL
RECORD
ARE
STANDARD.
OPTB
029200
01
SAS­
RECORD
PIC
X(
154).
OPTB
029300*
OPTB
029400
FD
DATE­
FILE
OPTB
029500
BLOCK
CONTAINS
0
RECORDS
OPTB
029600*
RECORD
CONTAINS
80
CHARACTERS
OPTB
029700
LABEL
RECORDS
ARE
STANDARD.
OPTB
029800
01
DATE­
RECORD
PIC
X(
80).
OPTB
029900*
OPTB
030000
FD
GRAPH­
FILE
OPTB
030100
BLOCK
CONTAINS
0
RECORDS
OPTB
030200*
RECORD
CONTAINS
63
CHARACTERS
OPTB
030300
LABEL
RECORDS
ARE
STANDARD.
OPTB
030400
01
BGRAPH­
RECORD
PIC
X(
63).
OPTB
030500*
OPTB
030600
FD
CODE­
FILE
OPTB
030700
BLOCK
CONTAINS
0
RECORDS
OPTB
030800*
RECORD
CONTAINS
5
CHARACTERS
OPTB
030900
LABEL
RECORDS
ARE
STANDARD.
OPTB
031000
01
CODE­
RECORD
PIC
X(
5).
OPTB
031100*
OPTB
031200
FD
REPORT­
FILE
OPTB
031300
BLOCK
CONTAINS
0
RECORDS
OPTB
031400*
RECORD
CONTAINS
133
CHARACTERS
OPTB
031500
LABEL
RECORDS
ARE
OMITTED.
OPTB
031600
01
REPORT­
RECORD
PIC
X(
133).
OPTB
031700*
OPTB
031800
SD
SORT­
PRINT­
FILE.
OPTB
031900
01
SORT­
PRINT­
RECORD.
OPTB
032000
05
SORT­
PRINT­
LINE
PIC
X(
133).
OPTB
032100
05
SORT­
PRINT­
KEY.
OPTB
032200
10
SORT­
PRINT­
NPID
PIC
X(
9).
OPTB
032300
10
SORT­
PRINT­
STATE
PIC
X(
9).
OPTB
032400
10
SORT­
PRINT­
PARM
PIC
X(
5).
OPTB
032500
10
SORT­
PRINT­
TOTAL
PIC
+.
99999999E+
99.
OPTB
032600
10
FILLER
REDEFINES
SORT­
PRINT­
TOTAL.
OPTB
032700
15
SORT­
PRINT­
TOTAL­
1
PIC
X(
10).
OPTB
032800
15
FILLER
PIC
X.
OPTB
032900
15
SORT­
PRINT­
SIGN
PIC
X.
OPTB
033000
15
SORT­
PRINT­
TOTAL­
2
PIC
XX.
OPTB
033100
10
SORT­
PRINT­
YEAR
PIC
99.
OPTB
033200
10
SORT­
PRINT­
LINE­
NO
PIC
99.
OPTB
033300*
OPTB
033400
SD
SORT­
PARM­
FILE.
OPTB
033500
01
SORT­
PARM­
RECORD.
OPTB
033600
05
SORT­
PARM­
KEY
PIC
X(
7).
OPTB
033700
05
PIC
X(
1890).
OPTB
033800
WORKING­
STORAGE
SECTION.
OPTB
033900*
OPTB
034000
01
SWITCHES.
OPTB
034100
05
PCS­
EOF
PIC
XXX
VALUE
SPACES.
OPTB
034200
88
END­
PCS
VALUE
'
YES'.
OPTB
034300
88
MORE­
PCS
VALUE
'
NO'.
OPTB
034400*
OPTB
034500
05
FIRST­
INIT­
SW
PIC
XXX
VALUE
'
YES'.
OPTB
034600
88
FIRST­
INITIALIZATION
VALUE
'
YES'.
OPTB
034700*
OPTB
034800
05
EOF­
SW
PIC
XXX
VALUE
'
NO'.
OPTB
034900
88
END­
OF­
FILE
VALUE
'
YES'.
OPTB
035000
88
MORE­
RECORDS
VALUE
'
NO'.
OPTB
035100*
OPTB
035200
05
JOB­
EOF
PIC
XXX
VALUE
SPACES.
OPTB
035300
88
JOB­
FINISHED
VALUE
'
YES'.
OPTB
035400
88
JOB­
NOT­
FINISHED
VALUE
'
NO'.
OPTB
035500*
OPTB
035600
05
WORST­
REPORT­
SW
PIC
XXX
VALUE
'
NO'.
OPTB
035700
88
WORST­
REPORT
VALUE
'
YES'.
OPTB
035800
88
NOT­
WORST­
REPORT
VALUE
'
NO'.
OPTB
035900*
OPTB
036000
05
MNEMONIC­
SW
PIC
XXX
VALUE
SPACES.
OPTB
036100
88
MNEMONIC­
FOUND
VALUE
'
YES'.
OPTB
036200
88
MNEMONIC­
MISSING
VALUE
'
NO'.
OPTB
036300*
OPTB
036400
05
FIELD­
WANTED­
SW
PIC
X
VALUE
SPACES.
OPTB
036500
88
MQAV­
WANTED
VALUE
'
1'.
OPTB
036600
88
MQMX­
WANTED
VALUE
'
2'.
OPTB
036700
88
MCMN­
WANTED
VALUE
'
3'.
OPTB
036800
88
MCAV­
WANTED
VALUE
'
4'.
OPTB
036900
88
MCMX­
WANTED
VALUE
'
5'.
OPTB
037000*
OPTB
037100
05
SIC­
SW
PIC
XXX
VALUE
SPACES.
OPTB
037200
88
SIC­
FOUND
VALUE
'
YES'.
OPTB
037300
88
SIC­
NOT­
FOUND
VALUE
'
NO'.
OPTB
037400*
OPTB
037500
05
BASIN­
SW
PIC
XXX
VALUE
SPACES.
OPTB
037600
88
BASIN­
FOUND
VALUE
'
YES'.
OPTB
037700
88
BASIN­
NOT­
FOUND
VALUE
'
NO'.
OPTB
037800*
OPTB
037900
05
BAS2­
SW
PIC
XXX
VALUE
SPACES.
OPTB
038000
88
BAS2­
FOUND
VALUE
'
YES'.
OPTB
038100
88
BAS2­
NOT­
FOUND
VALUE
'
NO'.
OPTB
038200*
OPTB
038300
05
SEARCH­
SW
PIC
XXX
VALUE
SPACES.
OPTB
038400
88
DO­
SEARCH
VALUE
'
YES'.
OPTB
038500
88
NO­
SEARCH
VALUE
'
NO'.
OPTB
038600*
OPTB
038700
05
RANGE
PIC
9
VALUE
0.
OPTB
038800
88
PERIOD­
TOTAL
VALUE
0.
OPTB
038900
88
ANNUAL­
TOTALS
VALUE
1.
OPTB
039000*
OPTB
039100
05
PAGE­
BREAK­
SW
PIC
X
VALUE
SPACES.
OPTB
039200
88
FACILITY­
BREAK
VALUE
'
1'.
OPTB
039300
88
OUTFALL­
BREAK
VALUE
'
2'.
OPTB
039400
88
STATE­
BREAK
VALUE
'
3'.
OPTB
039500
88
COUNTY­
BREAK
VALUE
'
4'.
OPTB
039600
88
CITY­
BREAK
VALUE
'
5'.
OPTB
039700
88
BASIN­
BREAK
VALUE
'
6'.
OPTB
039800
88
REPORT­
BREAK
VALUE
'
7'.
OPTB
039900
88
SIC2­
BREAK
VALUE
'
8'.
OPTB
040000*
88
SAS­
BREAK
VALUE
'
9'.
OPTB
040100*
OPTB
040200
05
PAGE­
OUTFALL­
SW
PIC
X
VALUE
'
N'.
OPTB
040300
88
PAGE­
OUTFALL
VALUE
'
Y'.
OPTB
040400*
OPTB
040500
01
PERIOD­
BREAKDOWN.
OPTB
040600
05
YYMM1.
OPTB
040700
10
YY1
PIC
99.
OPTB
040800
10
MM1
PIC
99.
OPTB
040900
05
DD1
PIC
XX.
OPTB
041000
05
DASH
PIC
X.
OPTB
041100
05
YY2
PIC
99.
OPTB
041200
05
MM2
PIC
99.
OPTB
041300
05
DD2
PIC
XX.
OPTB
041400
05
FILLER
PIC
X(
67).
OPTB
041500*
OPTB
041600
01
YEAR­
INDICATOR
PIC
99
VALUE
0.
OPTB
041700*
OPTB
041800
01
YEAR­
HIGH
PIC
99
VALUE
0.
OPTB
041900*
OPTB
042000
01
M­
YYMM.
OPTB
042100
05
M­
YY
PIC
99.
OPTB
042200
05
M­
MM
PIC
99.
OPTB
042300*
OPTB
042400
01
DATE­
IN.
OPTB
042500
05
YEAR­
IN
PIC
XX.
OPTB
042600
05
MONTH­
IN
PIC
XX.
OPTB
042700
05
DAY­
IN
PIC
XX.
OPTB
042800*
OPTB
042900
01
COUNTS.
OPTB
043000
05
PAGE­
CTR
PIC
9(
4)
VALUE
0.
OPTB
043100
05
LINES­
USED
PIC
99
VALUE
0.
OPTB
043200
05
RECORD­
COUNT
PIC
9(
5)
VALUE
0.
OPTB
043300
05
COUNT­
1
PIC
S9
VALUE
+
0.
OPTB
043400
05
COUNT­
2
PIC
S9
VALUE
+
0.
OPTB
043500
05
COUNT­
3
PIC
S9
VALUE
+
0.
OPTB
043600
05
COUNT­
4
PIC
S9
VALUE
+
0.
OPTB
043700
05
COUNT­
5
PIC
S9
VALUE
+
0.
OPTB
043800*
OPTB
043900
01
WS­
HOLD­
AREA.
OPTB
044000
05
HOLD­
REPORT
PIC
XX.
OPTB
044100
88
SAS
VALUE
'
17'.
OPTB
044200
05
HOLD­
CONC
PIC
+.
99999999E+
99.
OPTB
044300
05
HOLD­
FLOW
PIC
+.
99999999E+
99.
OPTB
044400
05
HOLD­
LOAD
PIC
+.
99999999E+
99.
OPTB
044500
05
HOLD­
QUAN
PIC
+.
99999999E+
99.
OPTB
044600
05
HOLD­
COUNT
PIC
999
VALUE
0.
OPTB
044700
05
HOLD­
TCOUNT
PIC
999
VALUE
12.
OPTB
044800
05
HOLD­
MEASUREMENT
PIC
+.
99999999E+
99.
OPTB
044900
05
HOLD­
MULTIPLIER
PIC
S9.
OPTB
045000
05
HOLD­
SIGN
PIC
X.
OPTB
045100
05
HOLD­
MLOC
PIC
X.
OPTB
045200
05
HOLD­
DSCH
PIC
X(
3).
OPTB
045300
05
HOLD­
PIPE
PIC
X(
30).
OPTB
045400
05
HOLD­
PLAT
PIC
X(
8).
OPTB
045500
05
HOLD­
PLON
PIC
X(
9).
OPTB
045600
05
HOLD­
F­
UNIT1
PIC
X(
2).
OPTB
045700
05
HOLD­
F­
UNIT2
PIC
X(
3).
OPTB
045800
05
HOLD­
F­
U­
S
PIC
9.
OPTB
045900
05
HOLD­
YEAR­
INDEX
INDEX.
OPTB
046000
05
HOLD­
MONTH­
INDEX
INDEX.
OPTB
046100
05
HOLD­
PARM­
INDEX
INDEX.
OPTB
046200
05
PREV­
FIELDS.
OPTB
046300
10
PREV­
NPID
PIC
X(
9).
OPTB
046400
10
PREV­
STATE
PIC
XX.
OPTB
046500
10
PREV­
CNTY
PIC
X(
3).
OPTB
046600
10
PREV­
CITY
PIC
X(
5).
OPTB
046700
10
PREV­
YEAR
PIC
XX.
OPTB
046800
10
PREV­
YRMNTH
PIC
X(
4).
OPTB
046900
10
PREV­
PARM
PIC
X(
5).
OPTB
047000
10
PREV­
FHBC
PIC
X(
8).
OPTB
047100
10
PREV­
SIC2
PIC
X(
4).
OPTB
047200
10
PREV­
DSCH
PIC
X(
3).
OPTB
047300
10
PREV­
MVDT
PIC
X(
6).
OPTB
047400
05
CONTROL­
PARM
PIC
X(
5).
OPTB
047500
05
BAS4­
HOLD.
OPTB
047600
10
BAS2
PIC
XX.
OPTB
047700
10
BAS2­
REST
PIC
XX.
OPTB
047800*
OPTB
047900
01
OPTBSORT
PIC
X(
8)
VALUE
'
OPTBSORT'.
OPTB
048000*
OPTB
048100
01
WS­
YEAR
PIC
99.
OPTB
048200*
OPTB
048300
01
WS­
NRPU
PIC
9(
3).
OPTB
048400*
OPTB
048500
01
WS­
TCOUNT
PIC
9(
3).
OPTB
048600*
OPTB
048700
01
WS­
MEASUREMENT
PIC
+.
99999999E+
99.
OPTB
048800*
OPTB
048900
01
WS­
PRINT­
SYMBOL
PIC
X.
OPTB
049000*
OPTB
049100
01
WS­
STATE­
CNTY­
CODE.
OPTB
049200
05
WS­
STATE
PIC
XX.
OPTB
049300
05
WS­
CNTY
PIC
XXX.
OPTB
049400*
OPTB
049500
01
C­
F­
UNITS.
OPTB
049600
05
C­
UNIT
PIC
XX.
OPTB
049700
05
F­
UNIT
PIC
XX.
OPTB
049800*
OPTB
049900
01
C­
F­
FACTOR
PIC
+.
99999999E+
99.
OPTB
050000*
01
CONC­
LABEL
PIC
X(
4).
OPTB
050100*******************************************************
OPTB
050200
01
WS­
SAS­
RECORD.
OPTB
050300
05
SAS­
RWAT
PIC
X(
28).
OPTB
050400
05
SAS­
NAME
PIC
X(
30).
OPTB
050500
05
SAS­
NPID
PIC
X(
9).
OPTB
050600
05
SAS­
PRAM
PIC
X(
5).
OPTB
050700
05
SAS­
PRAM­
DESC
PIC
X(
20).
OPTB
050800
05
SAS­
CONC
PIC
+.
99999999E+
99.
OPTB
050900
05
SAS­
FLOW
PIC
+.
99999999E+
99.
OPTB
051000
05
SAS­
LOAD
PIC
+.
99999999E+
99.
OPTB
051100
05
SAS­
C­
F­
FACT
PIC
+.
99999999E+
99.
OPTB
051200
05
SAS­
MVDT
PIC
X(
6).
OPTB
051300***************
GRAPH
DATA
RECORD
LAYOUT
*************
OPTB
051400
01
WS­
BGRAPH­
RECORD.
OPTB
051500
05
BG­
NPID
PIC
X(
9).
OPTB
051600
05
BG­
LAT
PIC
X(
8).
OPTB
051700
05
BG­
LONG
PIC
X(
9).
OPTB
051800
05
BG­
DSCH
PIC
X(
3).
OPTB
051900
05
BG­
MLOC
PIC
X.
OPTB
052000
05
PARAMETER­
DATA.
OPTB
052100
10
BG­
PARM
PIC
X(
5).
OPTB
052200
10
BG­
YEAR
PIC
XX.
OPTB
052300
10
BG­
TOTAL
PIC
+.
99999999E+
99.
OPTB
052400
05
BG­
PERIOD.
OPTB
052500
10
BG­
YEAR1
PIC
XX.
OPTB
052600
10
BG­
MONTH1
PIC
XX.
OPTB
052700
10
BG­
DASH
PIC
X.
OPTB
052800
10
BG­
YEAR2
PIC
XX.
OPTB
052900
10
BG­
MONTH2
PIC
XX.
OPTB
053000
05
BG­
CNTY
PIC
X(
3).
OPTB
053100
01
WS­
TOTAL­
RECORD
REDEFINES
WS­
BGRAPH­
RECORD.
OPTB
053200
05
TL­
STATE
PIC
XX.
OPTB
053300
05
TL­
CNTY
PIC
X(
4).
OPTB
053400
05
TL­
CITY
PIC
X(
5).
OPTB
053500
05
TL­
FHBC
PIC
X(
8).
OPTB
053600
05
TL­
SIC2
PIC
X(
4).
OPTB
053700*****************
REPORT
HEADINGS
*********************
OPTB
053800
01
OPTIONAL­
HEADING.
OPTB
053900
05
FILLER
OCCURS
74
TIMES.
OPTB
054000
10
CHAR
PIC
X.
OPTB
054100
05
FILLER
PIC
X(
6)
VALUE
SPACES.
OPTB
054200*
OPTB
054300
01
OPTIONAL­
HEADING­
PRINT.
OPTB
054400
05
FILLER
PIC
X
VALUE
SPACE.
OPTB
054500
05
FILLER
OCCURS
132
TIMES.
OPTB
054600
10
CHARS
PIC
X.
OPTB
054700*
OPTB
054800
01
PCS­
HEADING.
OPTB
054900
05
FILLER
PIC
X.
OPTB
055000
05
FILLER
PIC
X(
54)
VALUE
SPACES.
OPTB
055100
05
FILLER
PIC
X(
7)
VALUE
'
PERMIT'.
OPTB
055200
05
FILLER
PIC
X(
11)
VALUE
'
COMPLIANCE'.
OPTB
055300
05
FILLER
PIC
X(
6)
VALUE
'
SYSTEM'.
OPTB
055400
05
FILLER
PIC
X(
22)
VALUE
SPACES.
OPTB
055500
05
FILLER
PIC
X(
10)
VALUE
'
RUN
DATE:'.
OPTB
055600
05
DATE­
OUT.
OPTB
055700
07
MONTH­
OUT
PIC
XX.
OPTB
055800
07
FILLER
PIC
X
VALUE
'/'.
OPTB
055900
07
DAY­
OUT
PIC
XX.
OPTB
056000
07
FILLER
PIC
X
VALUE
'/'.
OPTB
056100
07
YEAR­
OUT
PIC
XX.
OPTB
056200
05
FILLER
PIC
X(
4)
VALUE
SPACES.
OPTB
056300
05
FILLER
PIC
X(
5)
VALUE
'
PAGE:'.
OPTB
056400
05
FILLER
PIC
X
VALUE
SPACES.
OPTB
056500
05
PAGE­
NO
PIC
ZZZ9.
OPTB
056600*
OPTB
056700
01
REPORT­
HEADING.
OPTB
056800
05
FILLER
PIC
X.
OPTB
056900
05
FILLER
PIC
X(
47)
VALUE
SPACES.
OPTB
057000
05
FILLER
PIC
X(
38)
OPTB
057100
VALUE
'
EFFLUENT
DISCHARGE
MASS
LOADING
REPORT'.
OPTB
057200
05
FILLER
PIC
X(
47)
VALUE
SPACES.
OPTB
057300*
OPTB
057400
01
REPORT­
EXCD­
HEADING.
OPTB
057500
05
FILLER
PIC
X.
OPTB
057600
05
FILLER
PIC
X(
41)
VALUE
SPACES.
OPTB
057700
05
FILLER
PIC
X(
49)
OPTB
057800
VALUE
'
EFFLUENT
DISCHARGE
MASS
LOADING
EXCEEDENCE
REPORT'.
OPTB
057900
05
FILLER
PIC
X(
42)
VALUE
SPACES.
OPTB
058000*
OPTB
058100
01
REPORT­
UNDER­
HEADING.
OPTB
058200
05
FILLER
PIC
X.
OPTB
058300
05
FILLER
PIC
X(
41)
VALUE
SPACES.
OPTB
058400
05
FILLER
PIC
X(
50)
OPTB
058500
VALUE
'
EFFLUENT
DISCHARGE
MASS
LOADING
BELOW
LIMIT
REPORT'.
OPTB
058600
05
FILLER
PIC
X(
41)
VALUE
SPACES.
OPTB
058700*
OPTB
058800
01
REPORT­
EXCD­
UNDER­
HEADING.
OPTB
058900
05
FILLER
PIC
X.
OPTB
059000
05
FILLER
PIC
X(
34)
VALUE
SPACES.
OPTB
059100
05
FILLER
PIC
X(
47)
OPTB
059200
VALUE
'
EFFLUENT
DISCHARGE
MASS
LOADING
EXCEEDENCE
AND'.
OPTB
059300
05
FILLER
PIC
X(
18)
OPTB
059400
VALUE
'
BELOW
LIMIT
REPORT'.
OPTB
059500
05
FILLER
PIC
X(
33)
VALUE
SPACES.
OPTB
059600*
OPTB
059700
01
REPORT­
ALLOW­
HEADING.
OPTB
059800
05
FILLER
PIC
X.
OPTB
059900
05
FILLER
PIC
X(
42)
VALUE
SPACES.
OPTB
060000
05
FILLER
PIC
X(
48)
OPTB
060100
VALUE
'
ALLOWABLE
EFFLUENT
DISCHARGE
MASS
LOADING
REPORT'.
OPTB
060200
05
FILLER
PIC
X(
42)
VALUE
SPACES.
OPTB
060300*
OPTB
060400
01
HYDRO­
BASIN­
HEADING.
OPTB
060500
05
FILLER
PIC
X.
OPTB
060600
05
FILLER
PIC
X(
51)
VALUE
SPACES.
OPTB
060700
05
FILLER
PIC
X(
29)
OPTB
060800
VALUE
'
HYDROLOGICAL
LISTING
BY
BASIN'.
OPTB
060900
05
FILLER
PIC
X(
52)
VALUE
SPACES.
OPTB
061000*
OPTB
061100
01
HYDRO­
STATE­
HEADING.
OPTB
061200
05
FILLER
PIC
X.
OPTB
061300
05
FILLER
PIC
X(
51)
VALUE
SPACES.
OPTB
061400
05
FILLER
PIC
X(
29)
OPTB
061500
VALUE
'
HYDROLOGICAL
LISTING
BY
STATE'.
OPTB
061600
05
FILLER
PIC
X(
52)
VALUE
SPACES.
OPTB
061700*
OPTB
061800
01
HYDRO­
COUNTY­
HEADING.
OPTB
061900
05
FILLER
PIC
X.
OPTB
062000
05
FILLER
PIC
X(
51)
VALUE
SPACES.
OPTB
062100
05
FILLER
PIC
X(
30)
OPTB
062200
VALUE
'
HYDROLOGICAL
LISTING
BY
COUNTY'.
OPTB
062300
05
FILLER
PIC
X(
51)
VALUE
SPACES.
OPTB
062400*
OPTB
062500
01
HYDRO­
CITY­
HEADING.
OPTB
062600
05
FILLER
PIC
X.
OPTB
062700
05
FILLER
PIC
X(
52)
VALUE
SPACES.
OPTB
062800
05
FILLER
PIC
X(
28)
OPTB
062900
VALUE
'
HYDROLOGICAL
LISTING
BY
CITY'.
OPTB
063000
05
FILLER
PIC
X(
52)
VALUE
SPACES.
OPTB
063100*
OPTB
063200
01
HYDRO­
FACILITY­
HEADING.
OPTB
063300
05
FILLER
PIC
X.
OPTB
063400
05
FILLER
PIC
X(
50)
VALUE
SPACES.
OPTB
063500
05
FILLER
PIC
X(
32)
OPTB
063600
VALUE
'
HYDROLOGICAL
LISTING
BY
FACILITY'.
OPTB
063700
05
FILLER
PIC
X(
50)
VALUE
SPACES.
OPTB
063800*
OPTB
063900
01
HYDRO­
OUTFALL­
HEADING.
OPTB
064000
05
FILLER
PIC
X.
OPTB
064100
05
FILLER
PIC
X(
50)
VALUE
SPACES.
OPTB
064200
05
FILLER
PIC
X(
31)
OPTB
064300
VALUE
'
HYDROLOGICAL
LISTING
BY
OUTFALL'.
OPTB
064400
05
FILLER
PIC
X(
51)
VALUE
SPACES.
OPTB
064500*
OPTB
064600
01
GEO­
STATE­
HEADING.
OPTB
064700
05
FILLER
PIC
X.
OPTB
064800
05
FILLER
PIC
X(
51)
VALUE
SPACES.
OPTB
064900
05
FILLER
PIC
X(
29)
OPTB
065000
VALUE
'
GEOGRAPHICAL
LISTING
BY
STATE'.
OPTB
065100
05
FILLER
PIC
X(
52)
VALUE
SPACES.
OPTB
065200*
OPTB
065300
01
GEO­
COUNTY­
HEADING.
OPTB
065400
05
FILLER
PIC
X.
OPTB
065500
05
FILLER
PIC
X(
51)
VALUE
SPACES.
OPTB
065600
05
FILLER
PIC
X(
30)
OPTB
065700
VALUE
'
GEOGRAPHICAL
LISTING
BY
COUNTY'.
OPTB
065800
05
FILLER
PIC
X(
51)
VALUE
SPACES.
OPTB
065900*
OPTB
066000
01
GEO­
CITY­
HEADING.
OPTB
066100
05
FILLER
PIC
X.
OPTB
066200
05
FILLER
PIC
X(
52)
VALUE
SPACES.
OPTB
066300
05
FILLER
PIC
X(
28)
OPTB
066400
VALUE
'
GEOGRAPHICAL
LISTING
BY
CITY'.
OPTB
066500
05
FILLER
PIC
X(
52)
VALUE
SPACES.
OPTB
066600*
OPTB
066700
01
GEO­
FACILITY­
HEADING.
OPTB
066800
05
FILLER
PIC
X.
OPTB
066900
05
FILLER
PIC
X(
50)
VALUE
SPACES.
OPTB
067000
05
FILLER
PIC
X(
32)
OPTB
067100
VALUE
'
GEOGRAPHICAL
LISTING
BY
FACILITY'.
OPTB
067200
05
FILLER
PIC
X(
50)
VALUE
SPACES.
OPTB
067300*
OPTB
067400
01
GEO­
OUTFALL­
HEADING.
OPTB
067500
05
FILLER
PIC
X.
OPTB
067600
05
FILLER
PIC
X(
50)
VALUE
SPACES.
OPTB
067700
05
FILLER
PIC
X(
31)
OPTB
067800
VALUE
'
GEOGRAPHICAL
LISTING
BY
OUTFALL'.
OPTB
067900
05
FILLER
PIC
X(
51)
VALUE
SPACES.
OPTB
068000*
OPTB
068100
01
SIC2­
REPORT­
HEADING.
OPTB
068200
05
FILLER
PIC
X.
OPTB
068300
05
FILLER
PIC
X(
43)
VALUE
SPACES.
OPTB
068400
05
FILLER
PIC
X(
45)
OPTB
068500
VALUE
'
LISTING
BY
STANDARD
INDUSTRIAL
CLASSIFICATION'.
OPTB
068600
05
FILLER
PIC
X(
44)
VALUE
SPACES.
OPTB
068700*
OPTB
068800
01
PARM­
REPORT­
HEADING.
OPTB
068900
05
FILLER
PIC
X.
OPTB
069000
05
FILLER
PIC
X(
50)
VALUE
SPACES.
OPTB
069100
05
FILLER
PIC
X(
32)
OPTB
069200
VALUE
'
LISTING
BY
STORET
PARAMETER
CODE'.
OPTB
069300
05
FILLER
PIC
X(
50)
VALUE
SPACES.
OPTB
069400*
OPTB
069500
01
WORST­
CASE­
HEADING.
OPTB
069600
05
FILLER
PIC
X.
OPTB
069700
05
FILLER
PIC
X(
56)
VALUE
SPACES.
OPTB
069800
05
H­
WORST­
COUNT
PIC
Z9.
OPTB
069900
05
FILLER
PIC
X(
18)
OPTB
070000
VALUE
'
WORST
DISCHARGERS'.
OPTB
070100
05
FILLER
PIC
X(
56)
VALUE
SPACES.
OPTB
070200*
OPTB
070300
01
WORST­
CASE­
HEADING­
1.
OPTB
070400
05
FILLER
PIC
X.
OPTB
070500
05
FILLER
PIC
X(
57)
VALUE
SPACES.
OPTB
070600
05
FILLER
PIC
X(
18)
OPTB
070700
VALUE
'
WORST
DISCHARGER'.
OPTB
070800
05
FILLER
PIC
X(
57)
VALUE
SPACES.
OPTB
070900*
OPTB
071000
01
ENTIRE­
REPORT­
HEADING.
OPTB
071100
05
FILLER
PIC
X.
OPTB
071200
05
FILLER
PIC
X(
53)
VALUE
SPACES.
OPTB
071300
05
FILLER
PIC
X(
25)
OPTB
071400
VALUE
'
LISTING
FOR
ENTIRE
REPORT'.
OPTB
071500
05
FILLER
PIC
X(
54)
VALUE
SPACES.
OPTB
071600*
OPTB
071700
01
FAC­
LOC­
REPORT­
HEADING.
OPTB
071800
05
FILLER
PIC
X.
OPTB
071900
05
FILLER
PIC
X(
55)
VALUE
SPACES.
OPTB
072000
05
FILLER
PIC
X(
23)
OPTB
072100
VALUE
'
FACILITY
MAPPING
REPORT'.
OPTB
072200
05
FILLER
PIC
X(
54)
VALUE
SPACES.
OPTB
072300*
OPTB
072400
01
BEG­
DATE­
HEADING.
OPTB
072500
05
FILLER
PIC
X.
OPTB
072600
05
FILLER
PIC
X(
8)
VALUE
'
BEG
DATE'.
OPTB
072700
05
BASIN­
HEADING
PIC
X(
124)
VALUE
SPACES.
OPTB
072800
05
FILLER
REDEFINES
BASIN­
HEADING.
OPTB
072900
10
FILLER
PIC
X(
9).
OPTB
073000
10
B­
STATE
PIC
X(
5).
OPTB
073100
10
FILLER
PIC
X(
7).
OPTB
073200
10
B­
COUNTY
PIC
X(
6).
OPTB
073300
10
FILLER
PIC
X(
16).
OPTB
073400
10
B­
CITY
PIC
X(
4).
OPTB
073500
10
FILLER
PIC
X(
77).
OPTB
073600
05
SIC2­
HEADING
REDEFINES
BASIN­
HEADING.
OPTB
073700
10
FILLER
PIC
X(
9).
OPTB
073800
10
B­
SIC2
PIC
X(
4).
OPTB
073900
10
FILLER
PIC
X(
3).
OPTB
074000
10
B­
SIC2­
DESC
PIC
X(
16).
OPTB
074100
10
FILLER
PIC
X(
92).
OPTB
074200*
OPTB
074300
01
BEG­
DATE­
HEADING­
2.
OPTB
074400
05
FILLER
PIC
X.
OPTB
074500
05
FILLER
PIC
X(
8)
VALUE
'
BEG
DATE'.
OPTB
074600
05
FILLER
PIC
X
VALUE
SPACES.
OPTB
074700
05
FILLER
PIC
X(
13)
VALUE
'
FACILITY
NAME'.
OPTB
074800
05
FILLER
PIC
X(
18)
VALUE
SPACES.
OPTB
074900
05
FILLER
PIC
X(
8)
VALUE
'
NPDES
ID'.
OPTB
075000
05
FILLER
PIC
XX
VALUE
SPACES.
OPTB
075100
05
FILLER
PIC
X(
9)
VALUE
'
MAJOR
IND'.
OPTB
075200
05
FILLER
PIC
X(
2)
VALUE
SPACES.
OPTB
075300
05
FILLER
PIC
X(
4)
VALUE
'
SIC2'.
OPTB
075400
05
FILLER
PIC
XXX
VALUE
SPACES.
OPTB
075500
05
FILLER
PIC
X(
9)
VALUE
'
SIC2
DESC'.
OPTB
075600
05
FILLER
PIC
X(
23)
VALUE
SPACES.
OPTB
075700
05
FILLER
PIC
X(
6)
VALUE
'
COUNTY'.
OPTB
075800
05
FILLER
PIC
X(
11)
VALUE
SPACES.
OPTB
075900
05
FILLER
PIC
X(
4)
VALUE
'
CITY'.
OPTB
076000
05
FILLER
PIC
X(
11)
VALUE
SPACES.
OPTB
076100
01
FL­
BEG­
DATE­
HEADING­
2
REDEFINES
BEG­
DATE­
HEADING­
2.
OPTB
076200
05
FILLER
PIC
X(
8).
OPTB
076300
05
FL­
BEG­
DATE­
HEADING.
OPTB
076400
10
FL­
CHAR­
CONTROL­
BD
PIC
X.
OPTB
076500
10
FILLER
PIC
X(
124).
OPTB
076600*
OPTB
076700
01
END­
DATE­
HEADING.
OPTB
076800
05
FILLER
PIC
X.
OPTB
076900
05
FILLER
PIC
X(
8)
VALUE
'
END
DATE'.
OPTB
077000
05
FILLER
PIC
X(
124)
VALUE
SPACES.
OPTB
077100*
OPTB
077200
01
END­
DATE­
HEADING­
2.
OPTB
077300
05
FILLER
PIC
X.
OPTB
077400
05
FILLER
PIC
X(
8)
VALUE
'
END
DATE'.
OPTB
077500
05
FILLER
PIC
X
VALUE
SPACES.
OPTB
077600
05
FILLER
PIC
X(
5)
VALUE
'
BASIN'.
OPTB
077700
05
FILLER
PIC
X(
5)
VALUE
SPACES.
OPTB
077800
05
FILLER
PIC
X(
10)
VALUE
'
BASIN
DESC'.
OPTB
077900
05
FILLER
PIC
X(
34)
VALUE
SPACES.
OPTB
078000
05
FILLER
PIC
X(
18)
OPTB
078100
VALUE
'
RECEIVING
WATERWAY'.
OPTB
078200
05
FILLER
PIC
X(
21)
VALUE
SPACES.
OPTB
078300
05
FILLER
PIC
X(
8)
VALUE
'
LATITUDE'.
OPTB
078400
05
FILLER
PIC
X(
9)
VALUE
SPACES.
OPTB
078500
05
FILLER
PIC
X(
9)
VALUE
'
LONGITUDE'.
OPTB
078600
05
FILLER
PIC
X(
6)
VALUE
SPACES.
OPTB
078700
01
FL­
END­
DATE­
HEADING­
2
REDEFINES
END­
DATE­
HEADING­
2.
OPTB
078800
05
FILLER
PIC
X(
8).
OPTB
078900
05
FL­
END­
DATE­
HEADING.
OPTB
079000
10
FL­
CHAR­
CONTROL­
ED
PIC
X.
OPTB
079100
10
FILLER
PIC
X(
124).
OPTB
079200*
OPTB
079300
01
END­
DATE­
HEADING­
3.
OPTB
079400
05
FILLER
PIC
X.
OPTB
079500
05
FILLER
PIC
X(
8)
VALUE
'
END
DATE'.
OPTB
079600
05
FILLER
PIC
X
VALUE
SPACES.
OPTB
079700
05
FILLER
PIC
X(
5)
VALUE
'
BASIN'.
OPTB
079800
05
FILLER
PIC
X(
5)
VALUE
SPACES.
OPTB
079900
05
FILLER
PIC
X(
10)
VALUE
'
BASIN
DESC'.
OPTB
080000
05
FILLER
PIC
X(
105)
VALUE
SPACES.
OPTB
080100*
OPTB
080200
01
STAR­
HEADING.
OPTB
080300
05
FILLER
PIC
X
VALUE
SPACES.
OPTB
080400
05
FILLER
PIC
X(
132)
VALUE
ALL
'*'.
OPTB
080500*
OPTB
080600
01
SHORT­
STAR­
HEADING.
OPTB
080700
05
FILLER
PIC
X
VALUE
SPACES.
OPTB
080800
05
FILLER
PIC
X(
10)
VALUE
SPACES.
OPTB
080900
05
FILLER
PIC
X(
122)
VALUE
ALL
'*'.
OPTB
081000*********
BEGINNING
DATE
HEADING
PRINTLINE
***********
OPTB
081100
01
PRINTLINE­
1.
OPTB
081200
05
FILLER
PIC
X
VALUE
SPACES.
OPTB
081300
05
BEG­
DATE.
OPTB
081400
10
BEG­
MONTH
PIC
XX.
OPTB
081500
10
FILLER
PIC
X
VALUE
'/'.
OPTB
081600
10
BEG­
DAY
PIC
XX.
OPTB
081700
10
FILLER
PIC
X
VALUE
'/'.
OPTB
081800
10
BEG­
YEAR
PIC
XX.
OPTB
081900
05
PRINT­
1
PIC
X(
124)
VALUE
SPACES.
OPTB
082000
05
FILLER
REDEFINES
PRINT­
1.
OPTB
082100
10
FILLER
PIC
X.
OPTB
082200
10
FAC­
NAME
PIC
X(
30).
OPTB
082300
10
FILLER
PIC
X.
OPTB
082400
10
FAC­
NPID
PIC
X(
9).
OPTB
082500
10
FILLER
PIC
X.
OPTB
082600
10
FAC­
MADI
PIC
X(
5).
OPTB
082700
10
FILLER
PIC
X(
6).
OPTB
082800
10
FAC­
SIC2
PIC
X(
4).
OPTB
082900
10
FILLER
PIC
X(
3).
OPTB
083000
10
FAC­
SIC2­
DESC
PIC
X(
30).
OPTB
083100
10
FILLER
PIC
XX.
OPTB
083200
10
FAC­
CNTN
PIC
X(
15).
OPTB
083300
10
FILLER
PIC
XX.
OPTB
083400
10
FAC­
CITY
PIC
X(
15).
OPTB
083500
05
FILLER
REDEFINES
PRINT­
1.
OPTB
083600
10
FILLER
PIC
X(
9).
OPTB
083700
10
P­
STATE
PIC
XX.
OPTB
083800
10
FILLER
PIC
X(
10).
OPTB
083900
10
P­
CNTN
PIC
X(
20).
OPTB
084000
10
FILLER
PIC
XX.
OPTB
084100
10
P­
CITY
PIC
X(
20).
OPTB
084200
10
FILLER
PIC
X(
61).
OPTB
084300
05
FILLER
REDEFINES
PRINT­
1.
OPTB
084400
10
FILLER
PIC
X(
9).
OPTB
084500
10
P­
SIC2
PIC
X(
4).
OPTB
084600
10
FILLER
PIC
X(
3).
OPTB
084700
10
P­
SIC2­
DESC
PIC
X(
30).
OPTB
084800
10
FILLER
PIC
X(
78).
OPTB
084900
01
FL­
PRINTLINE­
1
REDEFINES
PRINTLINE­
1.
OPTB
085000
05
FILLER
PIC
X(
8).
OPTB
085100
05
FL­
PRINT­
1.
OPTB
085200
10
FL­
CHAR­
CONTROL­
1
PIC
X.
OPTB
085300
10
FILLER
PIC
X(
124).
OPTB
085400**********
ENDING
DATE
HEADING
PRINTLINE
*************
OPTB
085500
01
PRINTLINE­
2.
OPTB
085600
05
FILLER
PIC
X
VALUE
SPACES.
OPTB
085700
05
END­
DATE.
OPTB
085800
10
END­
MONTH
PIC
XX.
OPTB
085900
10
FILLER
PIC
X
VALUE
'/'.
OPTB
086000
10
END­
DAY
PIC
XX.
OPTB
086100
10
FILLER
PIC
X
VALUE
'/'.
OPTB
086200
10
END­
YEAR
PIC
XX.
OPTB
086300
05
PRINT­
2
PIC
X(
124)
VALUE
SPACES.
OPTB
086400
05
FILLER
REDEFINES
PRINT­
2.
OPTB
086500
10
FILLER
PIC
X.
OPTB
086600
10
P­
BASIN­
CODE
PIC
X(
8).
OPTB
086700
10
FILLER
PIC
XX.
OPTB
086800
10
P­
BASIN­
DESC
PIC
X(
20).
OPTB
086900
10
FILLER
PIC
X(
24).
OPTB
087000
10
P­
RWAT
PIC
X(
28).
OPTB
087100
10
FILLER
PIC
X(
11).
OPTB
087200
10
P­
FLAT
PIC
X(
8).
OPTB
087300
10
FILLER
PIC
X(
9).
OPTB
087400
10
P­
FLON
PIC
X(
9).
OPTB
087500
01
FL­
PRINTLINE­
2
REDEFINES
PRINTLINE­
2.
OPTB
087600
05
FILLER
PIC
X(
8).
OPTB
087700
05
FL­
PRINT­
2.
OPTB
087800
10
FL­
CHAR­
CONTROL­
2
PIC
X.
OPTB
087900
10
FILLER
PIC
X(
124).
OPTB
088000******************
PRINTLINES
***********************
OPTB
088100
01
MNEMONIC­
LINE.
OPTB
088200
05
FILLER
PIC
X
VALUE
SPACES.
OPTB
088300
05
MNEM­
OUTFALL.
OPTB
088400
10
M­
OUTFALL
PIC
X(
7).
OPTB
088500
10
FILLER
PIC
X(
14)
VALUE
SPACES.
OPTB
088600
05
FILLER
REDEFINES
MNEM­
OUTFALL.
OPTB
088700
10
M­
BLANKS
PIC
X.
OPTB
088800
10
M­
DSCH
PIC
X(
3).
OPTB
088900
10
M­
MORE­
BLANKS
PIC
X.
OPTB
089000
10
M­
PIPE­
DESC
PIC
X(
16).
OPTB
089100
05
FILLER
REDEFINES
MNEM­
OUTFALL.
OPTB
089200
10
M­
PLAT
PIC
X(
8).
OPTB
089300
10
M­
CHAR
PIC
X.
OPTB
089400
10
M­
PLON
PIC
X(
9).
OPTB
089500
05
FILLER
PIC
X
VALUE
SPACE.
OPTB
089600
05
M­
PRINTS
OCCURS
5
TIMES.
OPTB
089700
10
MNEM­
CODE.
OPTB
089800
15
M­
CODE
PIC
X(
5).
OPTB
089900
15
M­
BLANK
PIC
X.
OPTB
090000
15
M­
TYPE
PIC
X(
8).
OPTB
090100
15
M­
6­
BLANKS
PIC
X(
6).
OPTB
090200
10
FILLER
REDEFINES
MNEM­
CODE.
OPTB
090300
15
M­
MNEM
PIC
X(
20).
OPTB
090400
10
FILLER
REDEFINES
MNEM­
CODE.
OPTB
090500
15
M­
UNIT­
DESC
PIC
X(
11).
OPTB
090600
15
M­
UNIT­
BLANKS
PIC
X(
9).
OPTB
090700
10
MNEM­
BLANKS
PIC
XX.
OPTB
090800*
OPTB
090900
01
FINAL­
PRINT.
OPTB
091000
05
FILLER
PIC
X
VALUE
SPACES.
OPTB
091100
05
FILLER
PIC
X(
15)
VALUE
SPACES.
OPTB
091200
05
P­
YEAR.
OPTB
091300
10
PRINT­
CENTURY
PIC
XXX.
OPTB
091400
10
PRINT­
YEAR
PIC
XX.
OPTB
091500
05
PR­
TOTAL
REDEFINES
P­
YEAR
OPTB
091600
PIC
X(
5).
OPTB
091700
05
FILLER
PIC
XX
VALUE
SPACES.
OPTB
091800
05
P­
TOTALS
OCCURS
5
TIMES.
OPTB
091900
10
PRINT­
SYMBOL
PIC
X.
OPTB
092000
10
PRINT­
TOTAL
PIC
­­­­,­­­,­­
9.99BB.
OPTB
092100*
10
PRINT­
TOTAL
PIC
ZZZ,
ZZZ,
ZZ9.99BBB.
OPTB
092200
10
GT­
TOTAL
REDEFINES
PRINT­
TOTAL.
OPTB
092300
15
FILLER
PIC
X(
3).
OPTB
092400
15
G­
TOTAL
PIC
­.
99999999E+
99.
OPTB
092500
10
LT­
TOTAL
REDEFINES
PRINT­
TOTAL.
OPTB
092600
15
FILLER
PIC
X(
10).
OPTB
092700
15
L­
TOTAL
PIC
­
9.9999.
OPTB
092800
10
PRINT­
BLANKS
PIC
X(
4).
OPTB
092900*
OPTB
093000
01
TOTAL­
LINE.
OPTB
093100
05
FILLER
PIC
X
VALUE
SPACES.
OPTB
093200
05
FILLER
PIC
X(
15)
VALUE
SPACES.
OPTB
093300
05
TOTAL­
NAME
PIC
X(
5)
VALUE
'
TOTAL'.
OPTB
093400
05
FILLER
PIC
XX
VALUE
SPACES.
OPTB
093500
05
TL­
TOTALS
OCCURS
5
TIMES.
OPTB
093600
10
TL­
SYMBOL
PIC
X.
OPTB
093700
10
TL­
TOTAL
PIC
­­­­,­­­,­­
9.99BB.
OPTB
093800*
10
TL­
TOTAL
PIC
ZZZ,
ZZZ,
ZZ9.99BBB.
OPTB
093900
10
TL­
GT­
TOTAL
REDEFINES
TL­
TOTAL.
OPTB
094000
15
FILLER
PIC
X(
3).
OPTB
094100
15
TL­
G­
TOTAL
PIC
­.
99999999E+
99.
OPTB
094200
10
TL­
LT­
TOTAL
REDEFINES
TL­
TOTAL.
OPTB
094300
15
FILLER
PIC
X(
10).
OPTB
094400
15
TL­
L­
TOTAL
PIC
­
9.9999.
OPTB
094500
10
TOT­
BLANKS
PIC
X(
4).
OPTB
094600*
OPTB
094700
01
S­
PRINT­
RECORD.
OPTB
094800
05
S­
PRINT­
LINE
PIC
X(
133).
OPTB
094900
05
S­
PRINT­
KEY.
OPTB
095000
10
S­
PRINT­
NPID
PIC
X(
9).
OPTB
095100
10
S­
PRINT­
STATE
PIC
X(
9).
OPTB
095200
10
S­
PRINT­
PARM
PIC
X(
5).
OPTB
095300
10
S­
PRINT­
TOTAL
PIC
+.
99999999E+
99.
OPTB
095400
10
FILLER
REDEFINES
S­
PRINT­
TOTAL.
OPTB
095500
15
S­
PRINT­
TOTAL­
1
PIC
X(
10).
OPTB
095600
15
S­
PRINT­
TOTAL­
2
PIC
X(
4).
OPTB
095700
10
S­
PRINT­
YEAR
PIC
XX.
OPTB
095800
10
S­
PRINT­
LINE­
NO
PIC
99
VALUE
0.
OPTB
095900*********************
TABLES
************************
OPTB
096000
01
PARM­
DESC­
TABLE.
OPTB
096100
05
PARM­
DESC­
INFO
OCCURS
4000
TIMES
OPTB
096200
ASCENDING
KEY
IS
IN­
PARM­
CODE
OPTB
096300
INDEXED
BY
LIMITS­
INDEX.
OPTB
096400
10
IN­
PARM­
CODE
PIC
X(
5).
OPTB
096500
10
IN­
PARM­
DESC
PIC
X(
20).
OPTB
096600**
**
**
OPTB
096700
01
PARM­
GROUP­
TABLE.
OPTB
096800
05
PARM­
GROUP­
INFO
OCCURS
1500
TIMES
OPTB
096900
ASCENDING
KEY
IS
PARM­
GROUP­
CODE
OPTB
097000
INDEXED
BY
GROUP­
INDEX.
OPTB
097100
10
PARM­
GROUP­
CODE
PIC
X(
5).
OPTB
097200
10
PARM­
GROUP­
NUM
PIC
X(
5).
OPTB
097300
10
PARM­
GROUP­
HEIR
PIC
9.
OPTB
097400*
OPTB
097500
01
SIC­
TABLE.
OPTB
097600
05
SIC­
INFO
OCCURS
1200
TIMES
OPTB
097700
ASCENDING
KEY
IS
SIC2­
CODE
OPTB
097800
INDEXED
BY
SIC­
INDEX.
OPTB
097900
10
SIC2­
CODE
PIC
X(
4).
OPTB
098000
10
SIC2­
DESC
PIC
X(
30).
OPTB
098100*
OPTB
098200
01
BASIN­
TABLE.
OPTB
098300
05
BASIN­
INFO
OCCURS
2500
TIMES
OPTB
098400
ASCENDING
KEY
IS
IN­
FHBC
OPTB
098500
INDEXED
BY
BASIN­
INDEX.
OPTB
098600
10
IN­
FHBC
PIC
X(
8).
OPTB
098700
10
IN­
FHBC­
DESC
PIC
X(
20).
OPTB
098800*
OPTB
098900*
01
BAS2­
TABLE
REDEFINES
BASIN­
TABLE.
OPTB
099000*
05
BAS2­
INFO
OCCURS
500
TIMES
OPTB
099100*
ASCENDING
KEY
IS
IN­
BAS2
OPTB
099200*
INDEXED
BY
BAS2­
INDEX.
OPTB
099300*
10
IN­
BAS2
PIC
XX.
OPTB
099400*
10
IN­
BAS2­
REST
PIC
XX.
OPTB
099500*
10
IN­
BAS2­
DESC
PIC
X(
20).
OPTB
099600*
OPTB
099700
01
STBC­
TABLE.
OPTB
099800
05
STBC­
INFO
OCCURS
200
TIMES
OPTB
099900
ASCENDING
KEY
IS
T­
STBC
OPTB
100000
INDEXED
BY
STBC­
INDEX.
OPTB
100100
10
T­
STBC
PIC
XX.
OPTB
100200
10
T­
STBC­
VALUES
PIC
X(
5).
OPTB
100300*
OPTB
100400
01
PARM­
TABLE.
OPTB
100500
05
PARM­
SUB
PIC
S999
COMP
SYNC
VALUE
+
0.
OPTB
100600
05
PARM­
INFO
OCCURS
500
TIMES
OPTB
100700
INDEXED
BY
PARM­
INDEX.
OPTB
100800
10
PARM­
NUM­
MLOC.
OPTB
100900
15
PARM­
NUM.
OPTB
101000
20
PARM­
NUM­
X
PIC
X.
OPTB
101100
20
PIC
X(
4).
OPTB
101200
15
PARM­
MLOC
PIC
X.
OPTB
101300
10
PARM­
HEIR
PIC
X.
OPTB
101400
10
PARM­
LQSC
PIC
XX.
OPTB
101500
10
PARM­
EST­
SYMBOL
PIC
X.
OPTB
101600
10
TOTAL
PIC
+.
99999999E+
99.
OPTB
101700
10
TCOUNT
PIC
999.
OPTB
101800
10
PCOUNT
PIC
99.
OPTB
101900*
10
MFACTOR
PIC
99.
OPTB
102000
10
YEAR­
INFO
OCCURS
10
TIMES
OPTB
102100
INDEXED
BY
YEAR­
INDEX.
OPTB
102200
15
TB­
YEAR
PIC
XX.
OPTB
102300
15
TB­
COUNT
PIC
99.
OPTB
102400
15
EST­
SYMBOL
PIC
X.
OPTB
102500
15
MEASUREMENT
PIC
+.
99999999E+
99.
OPTB
102600
15
TABLE­
MONTHS
OCCURS
12
TIMES
OPTB
102700
INDEXED
BY
MONTH­
INDEX.
OPTB
102800
20
MONTH­
LOAD
PIC
+.
99999999E+
99.
OPTB
102900*
OPTB
103000
01
CODE­
TABLE.
OPTB
103100
05
STATE­
CNTY­
CODE­
TBL
OCCURS
3500
TIMES
OPTB
103200
INDEXED
BY
CODE­
INDEX.
OPTB
103300
10
STATE­
CNTY­
CODE
PIC
X(
5).
OPTB
103400*
OPTB
103500
01
CONC­
FLOW­
CONVERSION­
FACTORS.
OPTB
103600
05
FILLER
PIC
X(
18)
VALUE
'
1903+.
37850000E+
01'.
OPTB
103700
05
FILLER
PIC
X(
18)
VALUE
'
1907+.
37850000E­
05'.
OPTB
103800
05
FILLER
PIC
X(
18)
VALUE
'
1916+.
10000000E­
02'.
OPTB
103900
05
FILLER
PIC
X(
18)
VALUE
'
1978+.
54504000E­
02'.
OPTB
104000
05
FILLER
PIC
X(
18)
VALUE
'
2003+.
37850000E+
01'.
OPTB
104100
05
FILLER
PIC
X(
18)
VALUE
'
2007+.
37850000E­
05'.
OPTB
104200
05
FILLER
PIC
X(
18)
VALUE
'
2016+.
10000000E­
02'.
OPTB
104300
05
FILLER
PIC
X(
18)
VALUE
'
2078+.
54504000E­
02'.
OPTB
104400
05
FILLER
PIC
X(
18)
VALUE
'
2103+.
37850000E­
02'.
OPTB
104500
05
FILLER
PIC
X(
18)
VALUE
'
2107+.
37850000E­
08'.
OPTB
104600
05
FILLER
PIC
X(
18)
VALUE
'
2116+.
10000000E­
05'.
OPTB
104700
05
FILLER
PIC
X(
18)
VALUE
'
2178+.
54504000E­
05'.
OPTB
104800
05
FILLER
PIC
X(
18)
VALUE
'
2203+.
37850000E­
05'.
OPTB
104900
05
FILLER
PIC
X(
18)
VALUE
'
2207+.
37850000E­
11'.
OPTB
105000
05
FILLER
PIC
X(
18)
VALUE
'
2216+.
10000000E­
08'.
OPTB
105100
05
FILLER
PIC
X(
18)
VALUE
'
2278+.
54504000E­
08'.
OPTB
105200
05
FILLER
PIC
X(
18)
VALUE
'
2803+.
37850000E­
02'.
OPTB
105300
05
FILLER
PIC
X(
18)
VALUE
'
2807+.
37850000E­
08'.
OPTB
105400
05
FILLER
PIC
X(
18)
VALUE
'
2816+.
10000000E­
05'.
OPTB
105500
05
FILLER
PIC
X(
18)
VALUE
'
2878+.
54504000E­
05'.
OPTB
105600
05
FILLER
PIC
X(
18)
VALUE
'
3203+.
37850000E+
04'.
OPTB
105700
05
FILLER
PIC
X(
18)
VALUE
'
3207+.
37850000E­
02'.
OPTB
105800
05
FILLER
PIC
X(
18)
VALUE
'
3216+.
10000000E+
01'.
OPTB
105900
05
FILLER
PIC
X(
18)
VALUE
'
3278+.
54504000E+
01'.
OPTB
106000
05
FILLER
PIC
X(
18)
VALUE
'
3603+.
37850000E+
04'.
OPTB
106100
05
FILLER
PIC
X(
18)
VALUE
'
3607+.
37850000E­
02'.
OPTB
106200
05
FILLER
PIC
X(
18)
VALUE
'
3616+.
10000000E+
01'.
OPTB
106300
05
FILLER
PIC
X(
18)
VALUE
'
3678+.
54504000E+
01'.
OPTB
106400
05
FILLER
PIC
X(
18)
VALUE
'
3703+.
37850000E+
07'.
OPTB
106500
05
FILLER
PIC
X(
18)
VALUE
'
3707+.
37850000E+
01'.
OPTB
106600
05
FILLER
PIC
X(
18)
VALUE
'
3716+.
10000000E+
04'.
OPTB
106700
05
FILLER
PIC
X(
18)
VALUE
'
3778+.
54504000E+
04'.
OPTB
106800
05
FILLER
PIC
X(
18)
VALUE
'
6403+.
37850000E+
07'.
OPTB
106900
05
FILLER
PIC
X(
18)
VALUE
'
6407+.
37850000E+
01'.
OPTB
107000
05
FILLER
PIC
X(
18)
VALUE
'
6416+.
10000000E+
04'.
OPTB
107100
05
FILLER
PIC
X(
18)
VALUE
'
6478+.
54504000E+
04'.
OPTB
107200*
OPTB
107300
01
CONC­
FLOW­
CONVERSION­
TABLE
REDEFINES
OPTB
107400
CONC­
FLOW­
CONVERSION­
FACTORS.
OPTB
107500
05
CF­
CONVERSION­
TABLE
OCCURS
36
TIMES
INDEXED
BY
CF­
INDEX.
OPTB
107600
07
CF­
UNITS
PIC
X(
4).
OPTB
107700
07
CF­
FACTOR
PIC
+.
99999999E+
99.
OPTB
107800*
OPTB
107900
01
LINKSTAT.
OPTB
108000
05
FILL1
OCCURS
5
TIMES
PIC
X.
OPTB
108100******************
SUBSCRIPTS
***********************
OPTB
108200
01
WS­
SUBSCRIPTS.
OPTB
108300
05
SUB
PIC
S99
COMP
SYNC
VALUE
+
0.
OPTB
108400
05
CALL­
SUB
PIC
S9
COMP
SYNC
VALUE
+
0.
OPTB
108500
05
YEAR­
SUB
PIC
S99
COMP
SYNC
VALUE
+
0.
OPTB
108600*
05
PARM­
SUB
PIC
S999
COMP
SYNC
VALUE
+
0.
OPTB
108700
05
PARM­
DEX
PIC
S999
COMP
SYNC
VALUE
+
0.
OPTB
108800
05
MONTH­
DEX
PIC
99.
OPTB
108900
05
PARM­
START
PIC
S999
COMP
SYNC
VALUE
+
0.
OPTB
109000
05
PARM­
TEST
PIC
S999
COMP
SYNC
VALUE
+
0.
OPTB
109100
05
PRINT­
SUB
PIC
S99
COMP
SYNC
VALUE
+
0.
OPTB
109200
05
HEAD­
SUB
PIC
S999
COMP
SYNC
VALUE
+
0.
OPTB
109300*
OPTB
109400
01
WS­
INDEX
INDEX.
OPTB
109500*
OPTB
109600
01
FILLER1
PIC
S9(
4).
OPTB
109700*
OPTB
109800*
LINKAGE
SECTION.
OPTB
109900
01
REPORT­
TYPE.
OPTB
110000
05
FORMAT­
WANTED
PIC
XX.
OPTB
110100
88
HYDROL­
FACILITY
VALUE
'
01'.
OPTB
110200
88
HYDROL­
OUTFALL
VALUE
'
02'.
OPTB
110300
88
HYDROL­
BASIN
VALUE
'
03'.
OPTB
110400
88
HYDROL­
STATE
VALUE
'
04'.
OPTB
110500
88
HYDROL­
COUNTY
VALUE
'
05'.
OPTB
110600
88
HYDROL­
CITY
VALUE
'
06'.
OPTB
110700
88
GEOL­
FACILITY
VALUE
'
07'.
OPTB
110800
88
GEOL­
OUTFALL
VALUE
'
08'.
OPTB
110900
88
GEOL­
STATE
VALUE
'
09'.
OPTB
111000
88
GEOL­
COUNTY
VALUE
'
10'.
OPTB
111100
88
GEOL­
CITY
VALUE
'
11'.
OPTB
111200
88
ENTIRE­
REPORT
VALUE
'
12'.
OPTB
111300
88
WORST­
CASE
VALUE
'
13'.
OPTB
111400
88
FACILITY­
LOCATION
VALUE
'
14'.
OPTB
111500
88
SIC2­
REPORT
VALUE
'
15'.
OPTB
111600
88
PARM­
REPORT
VALUE
'
16'.
OPTB
111700
88
SAS­
DATA
VALUE
'
17'.
OPTB
111800
88
GRAPH­
ONLY
VALUE
'
18'.
OPTB
111900
88
GRAPH­
REPORT
VALUE
'
01'
'
02'
'
07'
'
08'
OPTB
112000
'
13'
'
14'
'
18'.
OPTB
112100
05
ANNUAL­
PERIOD­
RPT
PIC
X.
OPTB
112200
05
NON­
DETECT­
SWITCH
PIC
X.
OPTB
112300
88
ND­
LIMIT
VALUE
'
'
'
0'.
OPTB
112400
88
ND­
ZERO
VALUE
'
1'.
OPTB
112500
88
ND­
ESTIMATE
VALUE
'
2'.
OPTB
112600
05
ESTIMATE­
SWITCH
PIC
X.
OPTB
112700
88
ESTIMATE­
OFF
VALUE
'
'
'
0'.
OPTB
112800
88
ESTIMATE­
ON
VALUE
'
1'.
OPTB
112900
05
ZERO­
COUNT­
SWITCH
PIC
X.
OPTB
113000
88
ZERO­
COUNT
VALUE
'
1'.
OPTB
113100
88
ZERO­
NOCOUNT
VALUE
'
'
'
0'.
OPTB
113200
05
GROUP­
SWITCH
PIC
X.
OPTB
113300
88
GROUP­
OFF
VALUE
'
'
'
0'
'
2'.
OPTB
113400
88
GROUP­
ON
VALUE
'
1'.
OPTB
113500
88
GROUPING
VALUE
'
2'.
OPTB
113600
88
GROUPING­
ON
VALUE
'
3'.
OPTB
113700
05
LIMIT­
EXCD­
SWITCH
PIC
X.
OPTB
113800
88
LIMIT­
EXCD­
OFF
VALUE
'
'
'
0'.
OPTB
113900
88
LIMIT­
EXCD­
ON
VALUE
'
1'
'
3'.
OPTB
114000
88
LIMIT­
UNDER­
ON
VALUE
'
2'.
OPTB
114100
88
LIMIT­
EXCD­
UNDER­
ON
VALUE
'
3'.
OPTB
114200
88
LIMIT­
ALLOW­
ON
VALUE
'
4'.
OPTB
114300
88
LIMIT­
EXCD
VALUE
'
1'
'
2'
'
3'.
OPTB
114400
05
INSUFFICIENT­
SWITCH
PIC
X.
OPTB
114500
88
INSUFFICIENT­
OFF
VALUE
'
'
'
0'.
OPTB
114600
88
INSUFFICIENT­
ON
VALUE
'
1'.
OPTB
114700
05
AVG­
MAX­
SWITCH
PIC
X.
OPTB
114800
88
AVG­
MAX­
OFF
VALUE
'
'
'
0'.
OPTB
114900
88
AVG­
ONLY
VALUE
'
1'.
OPTB
115000
88
AVG­
MAX­
EST
VALUE
'
2'.
OPTB
115100
05
GRAPH­
SWITCH
PIC
X.
OPTB
115200
88
GRAPH­
OFF
VALUE
'
'
'
0'.
OPTB
115300
88
GRAPH­
ON
VALUE
'
1'.
OPTB
115400*
OPTB
115500*
01
WORST­
COUNT
PIC
99
COMP.
OPTB
115600
01
WORST­
COUNT
PIC
99.
OPTB
115700*
OPTB
115800*
01
EX­
LOAD
PIC
X(
6).
OPTB
115900*
OPTB
116000*
PROCEDURE
DIVISION
USING
REPORT­
TYPE
WORST­
COUNT.
OPTB
116100
PROCEDURE
DIVISION.
OPTB
116200*
OPTB
116300*
DECLARATIVES.
OPTB
116400*
DEBUG
SECTION.
OPTB
116500*
USE
FOR
DEBUGGING
ON
470­
ADD­
NUMBERS.
OPTB
116600*
USE
FOR
DEBUGGING
ON
200­
DATA­
PROCESSING
OPTB
116700*
600­
PRINT­
REPORT
OPTB
116800*
610­
PRINT­
PARAGRAPH
OPTB
116900*
620­
PRINT­
NUMBERS
OPTB
117000*
750­
PRINT­
REPORT­
INFO.
OPTB
117100*
DEBUG­
DISPLAY.
OPTB
117200*
DISPLAY
DEBUG­
NAME.
OPTB
117300*
DEBUG­
EXIT.
OPTB
117400*
EXIT.
OPTB
117500*
END
DECLARATIVES.
OPTB
117600*
OPTB
117700
MAIN­
ROUTINE
SECTION.
OPTB
117800
PERFORM
100­
INITIALIZATION.
OPTB
117900
IF
GROUP­
ON
OR
ESTIMATE­
ON
OPTB
118000
OPEN
OUTPUT
PCS­
GRP­
EST­
FILE
OPTB
118100
PERFORM
200­
SORT­
PROCESSING
OPTB
118200
CLOSE
PCS­
GRP­
EST­
FILE
OPTB
118300
SORT
SORT­
FILE
ASCENDING
KEY
S­
FACILITY­
INFO
OPTB
118400
USING
PCS­
GRP­
EST­
FILE
OPTB
118500
GIVING
PCS­
FILE
OPTB
118600
MOVE
'
2'
TO
GROUP­
SWITCH
OPTB
118700
MOVE
'
0'
TO
ESTIMATE­
SWITCH
OPTB
118800
MOVE
HOLD­
REPORT
TO
FORMAT­
WANTED
OPTB
118900
GO
TO
MAIN­
ROUTINE
OPTB
119000
ELSE
OPTB
119100
IF
WORST­
CASE
OPTB
119200
SORT
SORT­
PRINT­
FILE
OPTB
119300
ON
ASCENDING
KEY
SORT­
PRINT­
PARM
OPTB
119400
SORT­
PRINT­
YEAR
OPTB
119500
SORT­
PRINT­
SIGN
OPTB
119600
ON
DESCENDING
KEY
SORT­
PRINT­
TOTAL­
2
OPTB
119700
SORT­
PRINT­
TOTAL­
1
OPTB
119800
ON
ASCENDING
KEY
SORT­
PRINT­
NPID
OPTB
119900
SORT­
PRINT­
LINE­
NO
OPTB
120000
INPUT
PROCEDURE
IS
200­
SORT­
PROCESSING
OPTB
120100
OUTPUT
PROCEDURE
IS
2000­
PRINT­
REPORT
OPTB
120200
ELSE
OPTB
120300
IF
FACILITY­
LOCATION
OPTB
120400
WRITE
BGRAPH­
RECORD
FROM
WS­
BGRAPH­
RECORD
OPTB
120500
PERFORM
205­
FL­
DATA­
PROCESSING
OPTB
120600
UNTIL
JOB­
FINISHED
OPTB
120700
ELSE
OPTB
120800
PERFORM
200­
DATA­
PROCESSING
OPTB
120900
UNTIL
JOB­
FINISHED.
OPTB
121000
SET
WS­
INDEX
TO
CODE­
INDEX.
OPTB
121100
SET
CODE­
INDEX
TO
1.
OPTB
121200
IF
GRAPH­
REPORT
AND
GRAPH­
ON
OPTB
121300
OPEN
OUTPUT
CODE­
FILE
OPTB
121400
PERFORM
1000­
WRITE­
CODES
OPTB
121500
VARYING
CODE­
INDEX
FROM
1
BY
1
OPTB
121600
UNTIL
CODE­
INDEX
GREATER
WS­
INDEX.
OPTB
121700
PERFORM
1000­
END­
DATA.
OPTB
121800
STOP
RUN.
OPTB
121900*
GOBACK.
OPTB
122000*************************************************************
OPTB
122100*
THIS
MODULE
OPENS
ALL
FILES
EXCEPT
FOR
THE
PCS
FILE.
*
OPTB
122200*
THREE
TABLES
ARE
LOADED
WHICH
WILL
BE
SEARCHED
FOR
*
OPTB
122300*
DESCRIPTIONS
OF
THE
PARAMETERS
CHOSEN,
SIC2
CODES,
AND
*
OPTB
122400*
FHBC
CODES
RESPECTIVELY.
TWO
TEMPORARY
DATASETS
ARE
THEN
*
OPTB
122500*
ACCEPTED
THROUGH
A
SYSIN
CARD.
&&
SWITCH
CONTAINS
A
SET
*
OPTB
122600*
OF
SWITCHES
AND
&&
DATE
CONTAINS
THE
REPORTING
PERIOD.
*
OPTB
122700*
&&
SWITCH
IS
THEN
CHECKED
TO
DETERMINE
IF
THE
USER
WANTS
*
OPTB
122800*
DATA
CALCULATED
AND
TOTALED
FOR
THE
ENTIRE
PERIOD
OR
*
OPTB
122900*
INDIVIDUAL
YEARLY
TOTALS
FOR
AS
MANY
AS
TEN
YEARS
AND
A
*
OPTB
123000*
GRAND
TOTAL
OF
THOSE
YEARS.
IF
TOTALS
ARE
DESIRED
FOR
*
OPTB
123100*
THE
ENTIRE
PERIOD
THEN
0
IS
MOVED
TO
A
SWITCH
CALLED
RANGE*
OPTB
123200*
OTHERWISE,
TOTALS
ARE
FOR
EACH
YEAR
AND
RANGE
IS
SET
TO
1.*
OPTB
123300*
TOTALS
ARE
ACCUMULATED
FOR
EACH
PARAMETER
SELECTED,
*
OPTB
123400*
WHERE
THERE
MAY
BE
UP
TO
A
MAXIMUM
OF
FIVE
PARAMETERS.
THE*
OPTB
123500*
TWO
700
MODULES
PRINT
THE
FIRST
5
HEADINGS.
THE
PCS
FILE
*
OPTB
123600*
IS
THEN
SORTED
BY
MEANS
OF
THE
SORT
COMMAND,
ONE
OF
TWELVE*
OPTB
123700*
DIFFERENT
WAYS
ACCORDING
TO
THE
TYPE
OF
LISTING
DESIRED.
*
OPTB
123800*
SINCE
THE
SORT
COMMAND
OPENS
AND
CLOSES
THE
FILE,
IT
MUST
*
OPTB
123900*
BE
REOPENED
FOR
PROCESSING.
ALL
THE
FIELDS
WHICH
MAY
CAUSE*
OPTB
124000*
A
CONTROL
BREAK
ARE
MOVED
TO
PREVIOUS
KEYS
IN
WORKING
*
OPTB
124100*
STORAGE.
MODULE
740
THEN
PRINTS
TWO
LINES
OF
INFORMATION
*
OPTB
124200*
WHICH
CORRESPOND
TO
THE
LAST
TWO
HEADINGS
PRINTED.
THESE
*
OPTB
124300*
TWO
LINES
CONTAIN
INFORMATION
SUCH
AS
THE
BEGINNING
AND
*
OPTB
124400*
ENDING
DATES
FOR
THE
REPORTING
PERIOD
AND
OTHER
PERTINENT
*
OPTB
124500*
INFORMATION
IN
ACCORDANCE
WITH
THE
TYPE
OF
LISTING.
FOR
*
OPTB
124600*
EXAMPLE,
IF
THE
REPORT
IS
A
HYDROLOGICAL
LISTING
BY
FACIL­*
OPTB
124700*
ITY,
THEN
THE
NPDES
NAME
AND
ID
WOULD
BE
INCLUDED
AS
WELL
*
OPTB
124800*
AS
THE
BASIN
CODE,
RECEIVING
WATERWAY,
LATITUDE
AND
LONG­
*
OPTB
124900*
ITUDE,
ETC...
MODULE
640
CLEARS
OUT
PARM­
TABLE
PRIOR
TO
*
OPTB
125000*
PROCESSING
DATA.
PARM­
TABLE
IS
USED
TO
RETAIN
THE
MVDT
*
OPTB
125100*
YEAR(
S),
THE
PARAMETER
CODE(
S)
AND
TO
ACCUMULATE
TOTALS
*
OPTB
125200*
FOR
EACH
PARAMETER
UNTIL
THERE
IS
A
CONTROL
BREAK.
*
OPTB
125300*************************************************************
OPTB
125400
100­
INITIALIZATION.
OPTB
125500
IF
FIRST­
INITIALIZATION
OPTB
125600
MOVE
'
NO'
TO
FIRST­
INIT­
SW.
OPTB
125700
ACCEPT
REPORT­
TYPE
OPTB
125800
ACCEPT
WORST­
COUNT.
OPTB
125900
IF
GROUP­
ON
OR
ESTIMATE­
ON
OPTB
126000
MOVE
FORMAT­
WANTED
TO
HOLD­
REPORT
OPTB
126100
MOVE
'
08'
TO
FORMAT­
WANTED
OPTB
126200
ELSE
OPTB
126300
IF
FACILITY­
LOCATION
OPTB
126400
MOVE
'
0'
TO
GROUP­
SWITCH.
OPTB
126500
MOVE
SPACES
TO
HOLD­
F­
UNIT1.
OPTB
126600
MOVE
SPACES
TO
HOLD­
F­
UNIT2.
OPTB
126700
MOVE
0
TO
HOLD­
F­
U­
S.
OPTB
126800
MOVE
'
NO'
TO
PCS­
EOF
EOF­
SW
WORST­
REPORT­
SW.
OPTB
126900
IF
WORST­
CASE
OPTB
127000
MOVE
'
1'
TO
PAGE­
BREAK­
SW
OPTB
127100
MOVE
'
YES'
TO
WORST­
REPORT­
SW
OPTB
127200
ELSE
OPTB
127300
IF
HYDROL­
BASIN
OPTB
127400
MOVE
'
6'
TO
PAGE­
BREAK­
SW
OPTB
127500
ELSE
OPTB
127600
IF
HYDROL­
STATE
OR
GEOL­
STATE
OPTB
127700
MOVE
'
3'
TO
PAGE­
BREAK­
SW
OPTB
127800
ELSE
OPTB
127900
IF
HYDROL­
COUNTY
OR
GEOL­
COUNTY
OPTB
128000
MOVE
'
4'
TO
PAGE­
BREAK­
SW
OPTB
128100
ELSE
OPTB
128200
IF
HYDROL­
CITY
OR
GEOL­
CITY
OPTB
128300
MOVE
'
5'
TO
PAGE­
BREAK­
SW
OPTB
128400
ELSE
OPTB
128500
IF
HYDROL­
FACILITY
OR
GEOL­
FACILITY
OR
FACILITY­
LOCATION
OPTB
128600
OR
GRAPH­
ONLY
OPTB
128700
MOVE
'
1'
TO
PAGE­
BREAK­
SW
OPTB
128800
ELSE
OPTB
128900
IF
HYDROL­
OUTFALL
OR
GEOL­
OUTFALL
OPTB
129000
MOVE
'
2'
TO
PAGE­
BREAK­
SW
OPTB
129100
ELSE
OPTB
129200
IF
SIC2­
REPORT
OPTB
129300
MOVE
'
8'
TO
PAGE­
BREAK­
SW
OPTB
129400
ELSE
OPTB
129500
IF
ENTIRE­
REPORT
OR
PARM­
REPORT
OR
SAS­
DATA
OPTB
129600
MOVE
'
7'
TO
PAGE­
BREAK­
SW
OPTB
129700*
ELSE
OPTB
129800*
IF
SAS­
DATA
OPTB
129900*
MOVE
'
9'
TO
PAGE­
BREAK­
SW
OPTB
130000
ELSE
OPTB
130100
DISPLAY
'***
ERROR
IN
CALL
***'
OPTB
130200
DISPLAY
'
INVALID
ARGUMENT
PASSED
=
'
FORMAT­
WANTED.
OPTB
130300
IF
NOT
GROUPING
OPTB
130400
OPEN
INPUT
LIMITS­
FILE
OPTB
130500
SIC­
FILE
OPTB
130600
BASIN­
FILE
OPTB
130700
STBC­
FILE
OPTB
130800
DATE­
FILE
OPTB
130900
TITLE­
FILE
OPTB
131000
PARM­
GROUP­
FILE
OPTB
131100
OUTPUT
SAS­
FILE
REPORT­
FILE
GRAPH­
FILE
OPTB
131200*
OUTPUT
SAS­
FILE
REPORT­
FILE.
OPTB
131300
MOVE
HIGH­
VALUES
TO
STBC­
TABLE
SIC­
TABLE
BASIN­
TABLE
OPTB
131400
PARM­
DESC­
TABLE
PARM­
GROUP­
TABLE.
OPTB
131500
MOVE
SPACES
TO
JOB­
EOF
MNEMONIC­
SW
FIELD­
WANTED­
SW
OPTB
131600
SIC­
SW
BASIN­
SW
BAS2­
SW
SEARCH­
SW.
OPTB
131700*
PAGE­
BREAK­
SW.
OPTB
131800
MOVE
0
TO
RANGE
YEAR­
INDICATOR
HOLD­
COUNT
PAGE­
CTR
OPTB
131900
LINES­
USED
RECORD­
COUNT
COUNT­
1
OPTB
132000
COUNT­
2
COUNT­
3
COUNT­
4
COUNT­
5
OPTB
132100
S­
PRINT­
LINE­
NO
WS­
SUBSCRIPTS.
OPTB
132200
IF
ANNUAL­
PERIOD­
RPT
EQUAL
1
OPTB
132300
MOVE
1
TO
RANGE.
OPTB
132400
MOVE
WORST­
COUNT
TO
H­
WORST­
COUNT.
OPTB
132500
IF
NOT
GROUPING
OPTB
132600
PERFORM
150­
READ­
LIMITS­
INFO
OPTB
132700
PERFORM
130­
LOAD­
PARM­
DESC­
TABLE
OPTB
132800
VARYING
LIMITS­
INDEX
FROM
1
BY
1
OPTB
132900
UNTIL
LIMITS­
INDEX
GREATER
4000
OPTB
133000
PERFORM
160­
READ­
SIC­
INFO
OPTB
133100
PERFORM
135­
LOAD­
SIC­
TABLE
OPTB
133200
VARYING
SIC­
INDEX
FROM
1
BY
1
OPTB
133300
UNTIL
SIC­
INDEX
GREATER
1200
OPTB
133400
PERFORM
180­
READ­
BASIN­
INFO
OPTB
133500
PERFORM
140­
LOAD­
BASIN­
TABLE
OPTB
133600
VARYING
BASIN­
INDEX
FROM
1
BY
1
OPTB
133700
UNTIL
BASIN­
INDEX
GREATER
2500
OPTB
133800
PERFORM
190­
READ­
STBC­
INFO
OPTB
133900
PERFORM
145­
LOAD­
STBC­
TABLE
OPTB
134000
VARYING
STBC­
INDEX
FROM
1
BY
1
OPTB
134100
UNTIL
STBC­
INDEX
GREATER
200
OPTB
134200
PERFORM
195­
READ­
PARM­
GROUP­
INFO
OPTB
134300
PERFORM
147­
LOAD­
PARM­
GROUP­
TABLE
OPTB
134400
VARYING
GROUP­
INDEX
FROM
1
BY
1
OPTB
134500
UNTIL
GROUP­
INDEX
GREATER
1500
OPTB
134600
ACCEPT
DATE­
IN
FROM
DATE
OPTB
134700
MOVE
YEAR­
IN
TO
YEAR­
OUT
OPTB
134800
MOVE
MONTH­
IN
TO
MONTH­
OUT
OPTB
134900
MOVE
DAY­
IN
TO
DAY­
OUT
OPTB
135000
READ
TITLE­
FILE
INTO
OPTIONAL­
HEADING
OPTB
135100
PERFORM
770­
CREATE­
OPTIONAL­
HEADING
OPTB
135200
PERFORM
170­
READ­
DATE­
FILE.
OPTB
135300
IF
GROUPING­
ON
OPTB
135400
MOVE
'
2'
TO
GROUP­
SWITCH.
OPTB
135500
IF
GROUP­
OFF
AND
ESTIMATE­
OFF
OPTB
135600
PERFORM
210­
DETERMINE­
SORT
OPTB
135700
ELSE
OPTB
135800
PERFORM
275­
GEO­
OUTFALL­
SORT
OPTB
135900
MOVE
'
YES'
TO
SEARCH­
SW.
OPTB
136000
MOVE
SPACES
TO
WS­
BGRAPH­
RECORD.
OPTB
136100
MOVE
ZEROS
TO
BG­
TOTAL.
OPTB
136200
OPEN
INPUT
PCS­
FILE.
OPTB
136300
PERFORM
500­
READ­
PCS­
INFO.
OPTB
136400
MOVE
NPID
TO
PREV­
NPID.
OPTB
136500
MOVE
STATE
TO
PREV­
STATE.
OPTB
136600
MOVE
CNTY
TO
PREV­
CNTY.
OPTB
136700
MOVE
CITY
TO
PREV­
CITY.
OPTB
136800
MOVE
M­
YEAR
TO
PREV­
YEAR
BG­
YEAR.
OPTB
136900
MOVE
SPACES
TO
PREV­
YRMNTH.
OPTB
137000
MOVE
MVDT
TO
PREV­
MVDT.
OPTB
137100
MOVE
DSCH
TO
PREV­
DSCH.
OPTB
137200
MOVE
MLOC
TO
HOLD­
MLOC.
OPTB
137300
MOVE
PARM
TO
PREV­
PARM
BG­
PARM.
OPTB
137400
MOVE
FHBC
TO
PREV­
FHBC.
OPTB
137500
MOVE
SIC2
TO
PREV­
SIC2.
OPTB
137600
IF
GROUP­
OFF
AND
ESTIMATE­
OFF
OPTB
137700
IF
HYDROL­
BASIN
OR
HYDROL­
CITY
OR
HYDROL­
COUNTY
OR
OPTB
137800
HYDROL­
STATE
OPTB
137900
MOVE
FHBC
TO
TL­
FHBC
OPTB
138000
ELSE
OPTB
138100
IF
HYDROL­
STATE
OR
GEOL­
STATE
OPTB
138200
MOVE
STATE
TO
TL­
STATE
OPTB
138300
ELSE
OPTB
138400
IF
HYDROL­
COUNTY
OR
GEOL­
COUNTY
OPTB
138500
MOVE
CNTY
TO
TL­
CNTY
OPTB
138600
MOVE
STATE
TO
TL­
STATE
OPTB
138700
ELSE
OPTB
138800
IF
HYDROL­
CITY
OR
GEOL­
CITY
OPTB
138900
MOVE
CITY
TO
TL­
CITY
OPTB
139000
MOVE
CNTY
TO
TL­
CNTY
OPTB
139100
MOVE
STATE
TO
TL­
STATE
OPTB
139200
ELSE
OPTB
139300
IF
SIC2­
REPORT
OPTB
139400
MOVE
SIC2
TO
TL­
SIC2
OPTB
139500
END­
IF
OPTB
139600
END­
IF
OPTB
139700
END­
IF
OPTB
139800
END­
IF
OPTB
139900
END­
IF
OPTB
140000
IF
NOT­
WORST­
REPORT
AND
NOT
(
SAS­
DATA
OR
GRAPH­
ONLY)
OPTB
140100
MOVE
ZEROS
TO
LINES­
USED
OPTB
140200
PERFORM
700­
PRINT­
TOP­
HEADINGS
OPTB
140300
PERFORM
700­
PRINT­
HEADINGS
OPTB
140400
PERFORM
740­
PRINT­
REPORT­
INFO
OPTB
140500
END­
IF
OPTB
140600
MOVE
SPACES
TO
CODE­
TABLE
OPTB
140700
IF
(
FACILITY­
BREAK
OR
OUTFALL­
BREAK)
AND
GRAPH­
ON
OPTB
140800
MOVE
STATE
TO
WS­
STATE
OPTB
140900
MOVE
CNTY
TO
WS­
CNTY
OPTB
141000
SET
CODE­
INDEX
TO
1
OPTB
141100
MOVE
WS­
STATE­
CNTY­
CODE
TO
OPTB
141200
STATE­
CNTY­
CODE
(
CODE­
INDEX)
OPTB
141300
END­
IF
OPTB
141400*
IF
GRAPH­
REPORT
OPTB
141500
MOVE
SPACES
TO
BGRAPH­
RECORD
OPTB
141600
PERFORM
580­
BGRAPH­
TEST.
OPTB
141700
MOVE
'
NO'
TO
JOB­
EOF.
OPTB
141800
MOVE
SPACES
TO
FINAL­
PRINT
OPTB
141900
TOTAL­
LINE
OPTB
142000
MNEMONIC­
LINE.
OPTB
142100
PERFORM
640­
BLANK­
OUT­
PARAMETERS
OPTB
142200
VARYING
PARM­
INDEX
FROM
1
BY
1
OPTB
142300
UNTIL
PARM­
INDEX
GREATER
500.
OPTB
142400
OPTB
142500*
OPTB
142600
130­
LOAD­
PARM­
DESC­
TABLE.
OPTB
142700
MOVE
PARM­
CODE
TO
IN­
PARM­
CODE(
LIMITS­
INDEX).
OPTB
142800
MOVE
PARM­
DESC
TO
IN­
PARM­
DESC(
LIMITS­
INDEX).
OPTB
142900
PERFORM
150­
READ­
LIMITS­
INFO.
OPTB
143000*
OPTB
143100
135­
LOAD­
SIC­
TABLE.
OPTB
143200
MOVE
SIC­
CODE
TO
SIC2­
CODE(
SIC­
INDEX).
OPTB
143300
MOVE
SIC­
DESC
TO
SIC2­
DESC(
SIC­
INDEX).
OPTB
143400
PERFORM
160­
READ­
SIC­
INFO.
OPTB
143500*
OPTB
143600
140­
LOAD­
BASIN­
TABLE.
OPTB
143700
MOVE
BASIN­
CODE
TO
IN­
FHBC(
BASIN­
INDEX).
OPTB
143800
MOVE
BASIN­
DESC
TO
IN­
FHBC­
DESC(
BASIN­
INDEX).
OPTB
143900
PERFORM
180­
READ­
BASIN­
INFO.
OPTB
144000*
OPTB
144100
145­
LOAD­
STBC­
TABLE.
OPTB
144200
MOVE
STBC­
CODE
TO
T­
STBC(
STBC­
INDEX).
OPTB
144300
MOVE
STBC­
VALUES
TO
T­
STBC­
VALUES(
STBC­
INDEX).
OPTB
144400
PERFORM
190­
READ­
STBC­
INFO.
OPTB
144500*
OPTB
144600
147­
LOAD­
PARM­
GROUP­
TABLE.
OPTB
144700
MOVE
PARM­
GROUP­
RECORD
TO
PARM­
GROUP­
INFO(
GROUP­
INDEX).
OPTB
144800
PERFORM
195­
READ­
PARM­
GROUP­
INFO.
OPTB
144900*
OPTB
145000
150­
READ­
LIMITS­
INFO.
OPTB
145100
READ
LIMITS­
FILE
AT
END
OPTB
145200
SET
LIMITS­
INDEX
TO
4000.
OPTB
145300*
OPTB
145400
160­
READ­
SIC­
INFO.
OPTB
145500
READ
SIC­
FILE
AT
END
OPTB
145600
SET
SIC­
INDEX
TO
1200.
OPTB
145700*
OPTB
145800
170­
READ­
DATE­
FILE.
OPTB
145900
READ
DATE­
FILE
INTO
PERIOD­
BREAKDOWN.
OPTB
146000
IF
PERIOD­
TOTAL
OPTB
146100
COMPUTE
HOLD­
TCOUNT
=
((
YY2
­
YY1)
+
1)
*
12
OPTB
146200
IF
MM1
NOT
=
1
OPTB
146300
COMPUTE
HOLD­
TCOUNT
=
HOLD­
TCOUNT
­
(
MM1
­
1)
OPTB
146400
END­
IF
OPTB
146500
IF
MM2
NOT
=
12
OPTB
146600
COMPUTE
HOLD­
TCOUNT
=
HOLD­
TCOUNT
­
(
12
­
MM2)
OPTB
146700
END­
IF
OPTB
146800
ELSE
OPTB
146900
MOVE
12
TO
HOLD­
TCOUNT.
OPTB
147000*
OPTB
147100
180­
READ­
BASIN­
INFO.
OPTB
147200
READ
BASIN­
FILE
AT
END
OPTB
147300
SET
BASIN­
INDEX
TO
2500.
OPTB
147400
OPTB
147500
190­
READ­
STBC­
INFO.
OPTB
147600
READ
STBC­
FILE
AT
END
OPTB
147700
SET
STBC­
INDEX
TO
200.
OPTB
147800
OPTB
147900
195­
READ­
PARM­
GROUP­
INFO.
OPTB
148000
READ
PARM­
GROUP­
FILE
AT
END
OPTB
148100
SET
GROUP­
INDEX
TO
1500.
OPTB
148200
OPTB
148300
200­
SORT­
PROCESSING
SECTION.
OPTB
148400
PERFORM
200­
DATA­
PROCESSING
OPTB
148500
UNTIL
JOB­
FINISHED.
OPTB
148600
GO
TO
200­
EXIT.
OPTB
148700
OPTB
148800*************************************************************
OPTB
148900*
THIS
MODULE
INITIALIZES
PARM­
INDEX
AND
YEAR­
INDEX
*
OPTB
149000*
WHICH
ARE
THE
POINTERS
USED
IN
PARM­
TABLE
TO
ACCUMULATE
*
OPTB
149100*
TOTALS.
MODULE
300
IS
THEN
PERFORMED
UNTIL
IT
IS
TIME
*
OPTB
149200*
FOR
A
CONTROL
BREAK,
AND
CONTROL
BREAK
FIELDS
ARE
MOVED
TO*
OPTB
149300*
THEIR
PREVIOUS
KEYS.
ALL
OF
THE
INFORMATION
AND
TOTALS
*
OPTB
149400*
WHICH
HAVE
BEEN
ACCUMULATED
IN
PARM­
TABLE
ARE
THEN
PRINTED*
OPTB
149500*
IN
MODULE
600­
PRINT­
REPORT.
ONCE
THIS
IS
DONE,
MODULE
*
OPTB
149600*
590
CHECKS
THE
LINE
COUNTER
AND
PRINTS
THE
APPROPRIATE
*
OPTB
149700*
CONTROL
BREAK
HEADINGS
BEFORE
CONTINUING
TO
PROCESS
ANY
*
OPTB
149800*
MORE
RECORDS.
PARM­
TABLE
IS
THEN
CLEARED
OUT
BEFORE
ANY
*
OPTB
149900*
FURTHER
PROCESSING
IS
PERFORMED.
WHEN
200
DATA
PROCESSING*
OPTB
150000*
HITS
THE
EOF,
'
YES'
WILL
BE
MOVED
TO
THE
SWITCH
JOB­
EOF
TO*
OPTB
150100*
TERMINATE
DATA
PROCESSING
AND
TRIGGER
THE
CLOSURE
OF
ALL
*
OPTB
150200*
FILES,
ONLY
AFTER
THE
LAST
REPORT
HAS
BEEN
PRINTED.
*
OPTB
150300*
CONTROL
IS
THEN
RETURNED
TO
PCS.
MAIN.
*
OPTB
150400*************************************************************
OPTB
150500
200­
DATA­
PROCESSING.
OPTB
150600D
DISPLAY
'
200­
DATA­
PROCESSING'.
OPTB
150700
SET
PARM­
INDEX
TO
1.
OPTB
150800
MOVE
ZEROS
TO
YEAR­
INDICATOR
YEAR­
SUB
YEAR­
HIGH.
OPTB
150900
SUBTRACT
YY1
FROM
M­
YEAR
OPTB
151000
GIVING
YEAR­
INDICATOR.
OPTB
151100
ADD
1
TO
YEAR­
INDICATOR.
OPTB
151200
IF
YEAR­
INDICATOR
>
YEAR­
HIGH
OPTB
151300
MOVE
YEAR­
INDICATOR
TO
YEAR­
HIGH.
OPTB
151400
SET
YEAR­
INDEX
TO
YEAR­
INDICATOR.
OPTB
151500
MOVE
M­
YEAR
TO
PREV­
YEAR
TB­
YEAR(
PARM­
INDEX,
YEAR­
INDEX)
OPTB
151600
BG­
YEAR
OPTB
151700
MOVE
PARM
TO
PARM­
NUM(
PARM­
INDEX)
PREV­
PARM
OPTB
151800
BG­
PARM.
OPTB
151900
MOVE
MLOC
TO
PARM­
MLOC(
PARM­
INDEX)
OPTB
152000
IF
GROUPING
OPTB
152100
MOVE
GRP­
LQSC
TO
PARM­
LQSC(
PARM­
INDEX)
OPTB
152200
ELSE
OPTB
152300
MOVE
LQSC
TO
PARM­
LQSC(
PARM­
INDEX).
OPTB
152400
MOVE
SPACES
TO
PREV­
YRMNTH.
OPTB
152500
OPTB
152600
IF
WORST­
REPORT
OPTB
152700
MOVE
NPID
TO
S­
PRINT­
NPID
OPTB
152800
MOVE
STATE
TO
S­
PRINT­
STATE
OPTB
152900
MOVE
MLOC
TO
HOLD­
MLOC
OPTB
153000
PERFORM
745­
CREATE­
REPORT­
INFO
OPTB
153100
PERFORM
300­
PARM­
ROUTINE
THRU
305­
PARM­
ROUTINE
UNTIL
OPTB
153200*
M­
YEAR
NOT
EQUAL
PREV­
YEAR
OR
OPTB
153300
NPID
NOT
EQUAL
PREV­
NPID
OPTB
153400
MOVE
NPID
TO
PREV­
NPID
OPTB
153500
MOVE
M­
YEAR
TO
PREV­
YEAR
OPTB
153600
MOVE
SPACES
TO
PREV­
YRMNTH
OPTB
153700
PERFORM
580­
BGRAPH­
TEST
OPTB
153800
ELSE
OPTB
153900
IF
FACILITY­
BREAK
OPTB
154000
MOVE
MLOC
TO
HOLD­
MLOC
OPTB
154100
PERFORM
300­
PARM­
ROUTINE
THRU
305­
PARM­
ROUTINE
UNTIL
OPTB
154200
NPID
NOT
EQUAL
PREV­
NPID
OPTB
154300
MOVE
NPID
TO
PREV­
NPID
OPTB
154400
PERFORM
580­
BGRAPH­
TEST
OPTB
154500
ELSE
OPTB
154600
IF
OUTFALL­
BREAK
OR
GROUP­
ON
OR
ESTIMATE­
ON
OPTB
154700
MOVE
MLOC
TO
HOLD­
MLOC
OPTB
154800
MOVE
DSCH
TO
HOLD­
DSCH
OPTB
154900*
MOVE
PIPE
TO
HOLD­
PIPE
OPTB
155000
MOVE
PLAT
TO
HOLD­
PLAT
OPTB
155100
MOVE
PLON
TO
HOLD­
PLON
OPTB
155200
IF
GROUP­
ON
OR
ESTIMATE­
ON
OPTB
155300
MOVE
SPACES
TO
SORT­
RECORD
OPTB
155400
MOVE
FACILITY­
INFO
TO
S­
FACILITY­
INFO
OPTB
155500
MOVE
PIPE­
INFO
TO
S­
PIPE­
INFO
OPTB
155600
END­
IF
OPTB
155700
PERFORM
300­
PARM­
ROUTINE
THRU
305­
PARM­
ROUTINE
UNTIL
OPTB
155800
DSCH
NOT
EQUAL
PREV­
DSCH
OR
OPTB
155900
NPID
NOT
EQUAL
PREV­
NPID
OPTB
156000
PERFORM
580­
BGRAPH­
TEST
OPTB
156100
ELSE
OPTB
156200
IF
BASIN­
BREAK
OPTB
156300
PERFORM
300­
PARM­
ROUTINE
THRU
305­
PARM­
ROUTINE
UNTIL
OPTB
156400
FHBC
NOT
EQUAL
PREV­
FHBC
OPTB
156500
MOVE
FHBC
TO
PREV­
FHBC
TL­
FHBC
OPTB
156600
PERFORM
580­
BGRAPH­
TEST
OPTB
156700
ELSE
OPTB
156800
IF
STATE­
BREAK
AND
HYDROL­
STATE
OPTB
156900
PERFORM
300­
PARM­
ROUTINE
THRU
305­
PARM­
ROUTINE
UNTIL
OPTB
157000
STATE
NOT
EQUAL
PREV­
STATE
OR
OPTB
157100
FHBC
NOT
EQUAL
PREV­
FHBC
OPTB
157200
MOVE
STATE
TO
PREV­
STATE
TL­
STATE
OPTB
157300
MOVE
FHBC
TO
PREV­
FHBC
TL­
FHBC
OPTB
157400
PERFORM
580­
BGRAPH­
TEST
OPTB
157500
ELSE
OPTB
157600
IF
STATE­
BREAK
OPTB
157700
PERFORM
300­
PARM­
ROUTINE
THRU
305­
PARM­
ROUTINE
UNTIL
OPTB
157800
STATE
NOT
EQUAL
PREV­
STATE
OPTB
157900
MOVE
STATE
TO
PREV­
STATE
TL­
STATE
OPTB
158000
PERFORM
580­
BGRAPH­
TEST
OPTB
158100
ELSE
OPTB
158200
IF
COUNTY­
BREAK
AND
HYDROL­
COUNTY
OPTB
158300
PERFORM
300­
PARM­
ROUTINE
THRU
305­
PARM­
ROUTINE
UNTIL
OPTB
158400
CNTY
NOT
EQUAL
PREV­
CNTY
OR
OPTB
158500
STATE
NOT
EQUAL
PREV­
STATE
OR
OPTB
158600
FHBC
NOT
EQUAL
PREV­
FHBC
OPTB
158700
MOVE
CNTY
TO
PREV­
CNTY
TL­
CNTY
OPTB
158800
MOVE
STATE
TO
PREV­
STATE
TL­
STATE
OPTB
158900
MOVE
FHBC
TO
PREV­
FHBC
TL­
FHBC
OPTB
159000
PERFORM
580­
BGRAPH­
TEST
OPTB
159100
ELSE
OPTB
159200
IF
COUNTY­
BREAK
OPTB
159300
PERFORM
300­
PARM­
ROUTINE
THRU
305­
PARM­
ROUTINE
UNTIL
OPTB
159400
CNTY
NOT
EQUAL
PREV­
CNTY
OR
OPTB
159500
STATE
NOT
EQUAL
PREV­
STATE
OPTB
159600
MOVE
CNTY
TO
PREV­
CNTY
TL­
CNTY
OPTB
159700
MOVE
STATE
TO
PREV­
STATE
TL­
STATE
OPTB
159800
PERFORM
580­
BGRAPH­
TEST
OPTB
159900
ELSE
OPTB
160000
IF
CITY­
BREAK
AND
HYDROL­
CITY
OPTB
160100
PERFORM
300­
PARM­
ROUTINE
THRU
305­
PARM­
ROUTINE
UNTIL
OPTB
160200
CITY
NOT
EQUAL
PREV­
CITY
OR
OPTB
160300
CNTY
NOT
EQUAL
PREV­
CNTY
OR
OPTB
160400
STATE
NOT
EQUAL
PREV­
STATE
OR
OPTB
160500
FHBC
NOT
EQUAL
PREV­
FHBC
OPTB
160600
MOVE
CITY
TO
PREV­
CITY
TL­
CITY
OPTB
160700
MOVE
CNTY
TO
PREV­
CNTY
TL­
CNTY
OPTB
160800
MOVE
STATE
TO
PREV­
STATE
TL­
STATE
OPTB
160900
MOVE
FHBC
TO
PREV­
FHBC
TL­
FHBC
OPTB
161000
PERFORM
580­
BGRAPH­
TEST
OPTB
161100
ELSE
OPTB
161200
IF
CITY­
BREAK
OPTB
161300
PERFORM
300­
PARM­
ROUTINE
THRU
305­
PARM­
ROUTINE
UNTIL
OPTB
161400
CITY
NOT
EQUAL
PREV­
CITY
OR
OPTB
161500
CNTY
NOT
EQUAL
PREV­
CNTY
OR
OPTB
161600
STATE
NOT
EQUAL
PREV­
STATE
OPTB
161700
MOVE
CITY
TO
PREV­
CITY
TL­
CITY
OPTB
161800
MOVE
CNTY
TO
PREV­
CNTY
TL­
CNTY
OPTB
161900
MOVE
STATE
TO
PREV­
STATE
TL­
STATE
OPTB
162000
PERFORM
580­
BGRAPH­
TEST
OPTB
162100
ELSE
OPTB
162200
IF
SIC2­
BREAK
OPTB
162300
PERFORM
300­
PARM­
ROUTINE
THRU
305­
PARM­
ROUTINE
UNTIL
OPTB
162400
SIC2
NOT
EQUAL
PREV­
SIC2
OPTB
162500
MOVE
SIC2
TO
PREV­
SIC2
TL­
SIC2
OPTB
162600
PERFORM
580­
BGRAPH­
TEST
OPTB
162700
ELSE
OPTB
162800*
IF
REPORT­
BREAK
OR
SAS­
BREAK
OPTB
162900
IF
REPORT­
BREAK
OPTB
163000
PERFORM
300­
PARM­
ROUTINE
THRU
305­
PARM­
ROUTINE
UNTIL
OPTB
163100
END­
PCS.
OPTB
163200
IF
PARM­
INDEX
<
500
OPTB
163300
SET
PARM­
SUB
TO
PARM­
INDEX
OPTB
163400*
SET
YEAR­
SUB
TO
YEAR­
INDEX
OPTB
163500
MOVE
YEAR­
HIGH
TO
YEAR­
SUB
OPTB
163600
ELSE
OPTB
163700
MOVE
500
TO
PARM­
SUB
OPTB
163800
MOVE
YEAR­
HIGH
TO
YEAR­
SUB.
OPTB
163900
IF
GROUP­
ON
OPTB
164000
PERFORM
900­
GROUP­
ROUTINE
OPTB
164100
ELSE
OPTB
164200
IF
ESTIMATE­
ON
OPTB
164300
PERFORM
990­
RELEASE­
PARM­
INFO
VARYING
PARM­
INDEX
OPTB
164400
FROM
1
BY
1
UNTIL
PARM­
INDEX
>
PARM­
SUB
AFTER
OPTB
164500
YEAR­
INDEX
FROM
1
BY
1
UNTIL
YEAR­
INDEX
>
YEAR­
SUB
OPTB
164600
ELSE
OPTB
164700
IF
NOT
(
SAS­
DATA
OR
GRAPH­
ONLY)
OPTB
164800
SET
PARM­
INDEX
TO
1
OPTB
164900
PERFORM
600­
PRINT­
REPORT
UNTIL
PARM­
INDEX
>
PARM­
SUB.
OPTB
165000
IF
MORE­
PCS
OPTB
165100
IF
GROUP­
OFF
AND
ESTIMATE­
OFF
OPTB
165200
PERFORM
590­
CONTROL­
BREAK
OPTB
165300
ELSE
OPTB
165400
MOVE
NPID
TO
PREV­
NPID
OPTB
165500
MOVE
DSCH
TO
PREV­
DSCH
OPTB
165600
END­
IF
OPTB
165700
PERFORM
640­
BLANK­
OUT­
PARAMETERS
OPTB
165800
VARYING
PARM­
INDEX
FROM
1
BY
1
OPTB
165900
UNTIL
PARM­
INDEX
GREATER
500
OPTB
166000
MOVE
ZEROS
TO
BG­
TOTAL
OPTB
166100
ELSE
OPTB
166200
MOVE
'
YES'
TO
JOB­
EOF
OPTB
166300
IF
GROUP­
ON
OR
ESTIMATE­
ON
OPTB
166400
CLOSE
PCS­
FILE.
OPTB
166500*
OPTB
166600
205­
FL­
DATA­
PROCESSING.
OPTB
166700D
DISPLAY
'
205­
FL­
DATA­
PROCESSING'.
OPTB
166800
IF
PREV­
NPID
NOT
=
NPID
OPTB
166900
MOVE
NPID
TO
PREV­
NPID
OPTB
167000
PERFORM
580­
BGRAPH­
TEST
OPTB
167100
WRITE
BGRAPH­
RECORD
FROM
WS­
BGRAPH­
RECORD
OPTB
167200
PERFORM
590­
CONTROL­
BREAK.
OPTB
167300
MOVE
STATE
TO
WS­
STATE.
OPTB
167400
MOVE
CNTY
TO
WS­
CNTY.
OPTB
167500
IF
WS­
STATE­
CNTY­
CODE
NOT
=
STATE­
CNTY­
CODE
(
CODE­
INDEX)
OPTB
167600
SET
CODE­
INDEX
UP
BY
1
OPTB
167700
MOVE
WS­
STATE­
CNTY­
CODE
TO
STATE­
CNTY­
CODE
(
CODE­
INDEX).
OPTB
167800
PERFORM
500­
READ­
PCS­
INFO.
OPTB
167900
IF
END­
PCS
OPTB
168000
MOVE
'
YES'
TO
JOB­
EOF.
OPTB
168100*************************************************************
OPTB
168200*
THIS
MODULE
SORTS
THE
PCS
FILE
AND
SETS
A
SEARCH
SWITCH
ON*
OPTB
168300*
TO
DETERMINE
IF
A
SEARCH
SHOULD
BE
MADE
FOR
THE
FHBC
*
OPTB
168400*
CODES
FURTHER
ON
IN
THE
PROGRAM
FOR
SPECIFIC
REPORTS.
*
OPTB
168500*************************************************************
OPTB
168600
210­
DETERMINE­
SORT.
OPTB
168700
IF
HYDROL­
FACILITY
OPTB
168800
PERFORM
230­
HYDRO­
FACILITY­
SORT
OPTB
168900
MOVE
'
YES'
TO
SEARCH­
SW
OPTB
169000
ELSE
OPTB
169100
IF
HYDROL­
OUTFALL
OPTB
169200
PERFORM
235­
HYDRO­
OUTFALL­
SORT
OPTB
169300
MOVE
'
YES'
TO
SEARCH­
SW
OPTB
169400
ELSE
OPTB
169500
IF
HYDROL­
BASIN
OPTB
169600
PERFORM
240­
HYDRO­
BASIN­
SORT
OPTB
169700
MOVE
'
YES'
TO
SEARCH­
SW
OPTB
169800
ELSE
OPTB
169900
IF
HYDROL­
STATE
OPTB
170000
PERFORM
245­
HYDRO­
STATE­
SORT
OPTB
170100
MOVE
'
YES'
TO
SEARCH­
SW
OPTB
170200
ELSE
OPTB
170300
IF
HYDROL­
COUNTY
OPTB
170400
PERFORM
250­
HYDRO­
COUNTY­
SORT
OPTB
170500
MOVE
'
YES'
TO
SEARCH­
SW
OPTB
170600
ELSE
OPTB
170700
IF
HYDROL­
CITY
OPTB
170800
PERFORM
255­
HYDRO­
CITY­
SORT
OPTB
170900
MOVE
'
YES'
TO
SEARCH­
SW
OPTB
171000
ELSE
OPTB
171100
IF
GEOL­
FACILITY
OR
WORST­
CASE
OR
FACILITY­
LOCATION
OPTB
171200
OR
GRAPH­
ONLY
OPTB
171300
PERFORM
270­
GEO­
FACILITY­
SORT
OPTB
171400
MOVE
'
YES'
TO
SEARCH­
SW
OPTB
171500
ELSE
OPTB
171600
IF
GEOL­
OUTFALL
OPTB
171700
PERFORM
275­
GEO­
OUTFALL­
SORT
OPTB
171800
MOVE
'
YES'
TO
SEARCH­
SW
OPTB
171900
ELSE
OPTB
172000
IF
GEOL­
STATE
OPTB
172100
PERFORM
280­
GEO­
STATE­
SORT
OPTB
172200
MOVE
'
NO'
TO
SEARCH­
SW
OPTB
172300
ELSE
OPTB
172400
IF
GEOL­
COUNTY
OPTB
172500
PERFORM
285­
GEO­
COUNTY­
SORT
OPTB
172600
MOVE
'
NO'
TO
SEARCH­
SW
OPTB
172700
ELSE
OPTB
172800
IF
GEOL­
CITY
OPTB
172900
PERFORM
290­
GEO­
CITY­
SORT
OPTB
173000
MOVE
'
NO'
TO
SEARCH­
SW
OPTB
173100
ELSE
OPTB
173200
IF
SIC2­
REPORT
OPTB
173300
PERFORM
293­
SIC2­
SORT
OPTB
173400
MOVE
'
NO'
TO
SEARCH­
SW
OPTB
173500
ELSE
OPTB
173600
IF
PARM­
REPORT
OPTB
173700
PERFORM
294­
PARM­
SORT
OPTB
173800
MOVE
'
NO'
TO
SEARCH­
SW
OPTB
173900
ELSE
OPTB
174000
IF
ENTIRE­
REPORT
OR
SAS­
DATA
OPTB
174100
PERFORM
295­
ENTIRE­
REPORT­
SORT
OPTB
174200
MOVE
'
NO'
TO
SEARCH­
SW
OPTB
174300
ELSE
OPTB
174400
DISPLAY
'*
ERROR
IN
CALL
­
INCORRECT
ARGUMENT
PASSED*'
OPTB
174500
MOVE
'
YES'
TO
JOB­
EOF.
OPTB
174600*
OPTB
174700
230­
HYDRO­
FACILITY­
SORT.
OPTB
174800
SORT
SORT­
FILE
ASCENDING
KEY
S­
FHBC
OPTB
174900
S­
STATE
OPTB
175000
S­
CNTY
OPTB
175100
S­
CITY
OPTB
175200
S­
NPID
OPTB
175300
S­
PARM
OPTB
175400
S­
MVDT
OPTB
175500
DESCENDING
KEY
S­
MLOC
OPTB
175600
ASCENDING
KEY
S­
DSCH
OPTB
175700
USING
PCS­
FILE
OPTB
175800
GIVING
PCS­
FILE.
OPTB
175900*
OPTB
176000
235­
HYDRO­
OUTFALL­
SORT.
OPTB
176100
SORT
SORT­
FILE
ASCENDING
KEY
S­
FHBC
OPTB
176200
S­
STATE
OPTB
176300
S­
CNTY
OPTB
176400
S­
CITY
OPTB
176500
S­
NPID
OPTB
176600
S­
DSCH
OPTB
176700
S­
PARM
OPTB
176800
DESCENDING
KEY
S­
MLOC
OPTB
176900
ASCENDING
KEY
S­
MVDT
OPTB
177000
USING
PCS­
FILE
OPTB
177100
GIVING
PCS­
FILE.
OPTB
177200*
OPTB
177300
240­
HYDRO­
BASIN­
SORT.
OPTB
177400
SORT
SORT­
FILE
ASCENDING
KEY
S­
FHBC
OPTB
177500
S­
PARM
OPTB
177600
S­
MVDT
OPTB
177700
S­
NPID
OPTB
177800
DESCENDING
KEY
S­
MLOC
OPTB
177900
ASCENDING
KEY
S­
DSCH
OPTB
178000
USING
PCS­
FILE
OPTB
178100
GIVING
PCS­
FILE.
OPTB
178200*
OPTB
178300
245­
HYDRO­
STATE­
SORT.
OPTB
178400
SORT
SORT­
FILE
ASCENDING
KEY
S­
FHBC
OPTB
178500
S­
STATE
OPTB
178600
S­
PARM
OPTB
178700
S­
MVDT
OPTB
178800
S­
NPID
OPTB
178900
DESCENDING
KEY
S­
MLOC
OPTB
179000
ASCENDING
KEY
S­
DSCH
OPTB
179100
USING
PCS­
FILE
OPTB
179200
GIVING
PCS­
FILE.
OPTB
179300*
OPTB
179400
250­
HYDRO­
COUNTY­
SORT.
OPTB
179500
SORT
SORT­
FILE
ASCENDING
KEY
S­
FHBC
OPTB
179600
S­
STATE
OPTB
179700
S­
CNTY
OPTB
179800
S­
PARM
OPTB
179900
S­
MVDT
OPTB
180000
S­
NPID
OPTB
180100
DESCENDING
KEY
S­
MLOC
OPTB
180200
ASCENDING
KEY
S­
DSCH
OPTB
180300
USING
PCS­
FILE
OPTB
180400
GIVING
PCS­
FILE.
OPTB
180500*
OPTB
180600
255­
HYDRO­
CITY­
SORT.
OPTB
180700
SORT
SORT­
FILE
ASCENDING
KEY
S­
FHBC
OPTB
180800
S­
STATE
OPTB
180900
S­
CNTY
OPTB
181000
S­
CITY
OPTB
181100
S­
PARM
OPTB
181200
S­
MVDT
OPTB
181300
S­
NPID
OPTB
181400
DESCENDING
KEY
S­
MLOC
OPTB
181500
ASCENDING
KEY
S­
DSCH
OPTB
181600
USING
PCS­
FILE
OPTB
181700
GIVING
PCS­
FILE.
OPTB
181800*
OPTB
181900
270­
GEO­
FACILITY­
SORT.
OPTB
182000
SORT
SORT­
FILE
ASCENDING
KEY
S­
STATE
OPTB
182100
S­
CNTY
OPTB
182200
S­
CITY
OPTB
182300
S­
NPID
OPTB
182400
S­
PARM
OPTB
182500
S­
MVDT
OPTB
182600
DESCENDING
KEY
S­
MLOC
OPTB
182700
ASCENDING
KEY
S­
DSCH
OPTB
182800
USING
PCS­
FILE
OPTB
182900
GIVING
PCS­
FILE.
OPTB
183000*
OPTB
183100
275­
GEO­
OUTFALL­
SORT.
OPTB
183200
SORT
SORT­
FILE
ASCENDING
KEY
S­
STATE
OPTB
183300
S­
CNTY
OPTB
183400
S­
CITY
OPTB
183500
S­
NPID
OPTB
183600
S­
DSCH
OPTB
183700
S­
PARM
OPTB
183800
DESCENDING
KEY
S­
MLOC
OPTB
183900
ASCENDING
KEY
S­
MVDT
OPTB
184000
USING
PCS­
FILE
OPTB
184100
GIVING
PCS­
FILE.
OPTB
184200*
OPTB
184300
280­
GEO­
STATE­
SORT.
OPTB
184400
SORT
SORT­
FILE
ASCENDING
KEY
S­
STATE
OPTB
184500
S­
PARM
OPTB
184600
S­
MVDT
OPTB
184700
S­
NPID
OPTB
184800
DESCENDING
KEY
S­
MLOC
OPTB
184900
ASCENDING
KEY
S­
DSCH
OPTB
185000
USING
PCS­
FILE
OPTB
185100
GIVING
PCS­
FILE.
OPTB
185200*
OPTB
185300
285­
GEO­
COUNTY­
SORT.
OPTB
185400
SORT
SORT­
FILE
ASCENDING
KEY
S­
STATE
OPTB
185500
S­
CNTY
OPTB
185600
S­
PARM
OPTB
185700
S­
MVDT
OPTB
185800
S­
NPID
OPTB
185900
DESCENDING
KEY
S­
MLOC
OPTB
186000
ASCENDING
KEY
S­
DSCH
OPTB
186100
USING
PCS­
FILE
OPTB
186200
GIVING
PCS­
FILE.
OPTB
186300*
OPTB
186400
290­
GEO­
CITY­
SORT.
OPTB
186500
SORT
SORT­
FILE
ASCENDING
KEY
S­
STATE
OPTB
186600
S­
CNTY
OPTB
186700
S­
CITY
OPTB
186800
S­
PARM
OPTB
186900
S­
MVDT
OPTB
187000
S­
NPID
OPTB
187100
DESCENDING
KEY
S­
MLOC
OPTB
187200
ASCENDING
KEY
S­
DSCH
OPTB
187300
USING
PCS­
FILE
OPTB
187400
GIVING
PCS­
FILE.
OPTB
187500*
OPTB
187600
293­
SIC2­
SORT.
OPTB
187700
SORT
SORT­
FILE
ASCENDING
KEY
S­
SIC2
OPTB
187800
S­
PARM
OPTB
187900
S­
MVDT
OPTB
188000
S­
NPID
OPTB
188100
DESCENDING
KEY
S­
MLOC
OPTB
188200
ASCENDING
KEY
S­
DSCH
OPTB
188300
USING
PCS­
FILE
OPTB
188400
GIVING
PCS­
FILE.
OPTB
188500*
OPTB
188600
294­
PARM­
SORT.
OPTB
188700
SORT
SORT­
FILE
ASCENDING
KEY
S­
PARM
OPTB
188800
S­
MVDT
OPTB
188900
S­
NPID
OPTB
189000
DESCENDING
KEY
S­
MLOC
OPTB
189100
ASCENDING
KEY
S­
DSCH
OPTB
189200
USING
PCS­
FILE
OPTB
189300
GIVING
PCS­
FILE.
OPTB
189400*
OPTB
189500
295­
ENTIRE­
REPORT­
SORT.
OPTB
189600
SORT
SORT­
FILE
ASCENDING
KEY
S­
PARM
OPTB
189700
S­
MVDT
OPTB
189800
S­
NPID
OPTB
189900
DESCENDING
KEY
S­
MLOC
OPTB
190000
ASCENDING
KEY
S­
DSCH
OPTB
190100
USING
PCS­
FILE
OPTB
190200
GIVING
PCS­
FILE.
OPTB
190300*************************************************************
OPTB
190400*
THERE
ARE
TWO
MONITORING
LOCATIONS
(
MLOC(
S))
WHICH
ARE*
OPTB
190500*
BEING
PROCESSED
IN
THIS
PROGRAM,
1
AND
2.
THE
PCS­
FILE
IS*
OPTB
190600*
SORTED
WITH
MLOC
IN
DESCENDING
ORDER
FOR
ALL
SORTS
IN
*
OPTB
190700*
ORDER
TO
GROUP
2'
S
AND
1'
S
WITH
IDENTICAL
MVDT'S.
ALL
2'
S*
OPTB
190800*
GET
PROCESSED
REGARDLESS.
IF
BOTH
THE
1
AND
THE
2
EXIST
*
OPTB
190900*
FOR
THE
SAME
CONTROL
BREAK
ONLY
THE
2
IS
PROCESSED,
AND
IF*
OPTB
191000*
ONLY
THE
1
EXISTS
THEN
IT
ALONE
IS
PROCESSED.
MODULE
*
OPTB
191100*
450
SEARCHES
THE
STBC
TABLE
USING
THE
STATISTICAL
BASE
*
OPTB
191200*
CODE
TO
FIND
THE
APPROPRIATE
ARRAY
OF
SWITCHES
NEEDED
TO
*
OPTB
191300*
DETERMINE
THE
FIELDS
USED
IN
THE
CALCULATIONS.
THE
ARRAY
*
OPTB
191400*
CONSISTS
OF
5
SWITCHES
WHICH
MAY
BE
ON
OR
OFF,
EACH
ONE
*
OPTB
191500*
REPRESENTS
ONE
FIELD.
THEY
ARE
USED
FOR
THE
FOLLOW­
*
OPTB
191600*
ING
FIELDS:
MQAV,
MQMX,
MCMN,
MCAV,
AND
MCMX.
ONLY
THE
*
OPTB
191700*
FIRST
TWO
SWITCHES
ARE
CHECKED
SINCE
REPORTING
HERE
IS
*
OPTB
191800*
ONLY
CONCERNED
WITH
QUANTITY
AND
NOT
CONCENTRATION
DATA.
*
OPTB
191900*
MODULE
410
COMPUTES
THE
CALCULATIONS
FOR
THE
TWO
QUANTITY
*
OPTB
192000*
FIELDS
BY
MULTIPLYING
EITHER
MQAV
OR
MQMX
(
WHICHEVER
ONE
*
OPTB
192100*
IS
CHOSEN)
BY
THE
FIELD
NRPU
AND
THEN
BY
30
TO
OBTAIN
THE
*
OPTB
192200*
AVERAGE
MONTHLY
EFFLUENT
DISCHARGE
AMOUNT.
THIS
VALUE
IS
*
OPTB
192300*
THEN
PLACED
IN
A
HOLD
AREA.
MODULE
470
TAKE
THIS
FIELD
*
OPTB
192400*
NAMED
HOLD­
MEASUREMENT
AND
ADDS
IT
TO
PARM­
TABLE
IN
ORDER
*
OPTB
192500*
TO
ACCUMULATE
TOTALS.
(
SEE
MODULE
470
DOCUMENTATION
FOR
*
OPTB
192600*
FURTHER
DETAILS
).
THE
SAME
DATA
WHICH
IS
PLACED
INTO
*
OPTB
192700*
PARM­
TABLE
IS
BUILT
INTO
A
GRAPH
RECORD
FOR
FACILITY
AND
*
OPTB
192800*
OUTFALL
REPORTS
ONLY.
THIS
DATA
IS
WRITTEN
TO
GRAPH­
FILE
*
OPTB
192900*
AS
A
PLOT
FILE
FOR
THE
OPTION
B
GRAPH
PROGRAM.
THIS
CON­
*
OPTB
193000*
CLUDES
THE
PROCESSING
FOR
A
RECORD,
THE
NEXT
RECORD
IS
*
OPTB
193100*
THEN
READ.
*
OPTB
193200*************************************************************
OPTB
193300
300­
PARM­
ROUTINE.
OPTB
193400
IF
PARM
EQUAL
PREV­
PARM
AND
MVDT
EQUAL
PREV­
MVDT
OPTB
193500
AND
NPID
EQUAL
PREV­
NPID
AND
DSCH
EQUAL
PREV­
DSCH
OPTB
193600
AND
MLOC
NOT
EQUAL
HOLD­
MLOC
AND
NOT
OUTFALL­
BREAK
OPTB
193700
GO
TO
305­
PARM­
ROUTINE.
OPTB
193800
MOVE
MVDT
TO
PREV­
MVDT.
OPTB
193900
IF
FACILITY­
BREAK
OR
OUTFALL­
BREAK
OPTB
194000
MOVE
STATE
TO
WS­
STATE
OPTB
194100
MOVE
CNTY
TO
WS­
CNTY.
OPTB
194200*
PERFORM
450­
SEARCH­
STBC.
OPTB
194300
IF
NOT
GROUPING
OPTB
194400
MOVE
STAT
TO
LINKSTAT
OPTB
194500
IF
NOT
SAS­
DATA
OPTB
194600
MOVE
SPACES
TO
FIELD­
WANTED­
SW
OPTB
194700
PERFORM
460­
DETERMINE­
FIELD
OPTB
194800
VARYING
CALL­
SUB
OPTB
194900
FROM
1
BY
1
OPTB
195000
UNTIL
CALL­
SUB
GREATER
5
OPTB
195100
PERFORM
405­
QUANTITY­
ROUTINE
OPTB
195200
END­
IF
OPTB
195300
IF
SAS­
DATA
OR
(
GROUP­
ON
AND
SAS)
OPTB
195400
IF
NOT
FLOW­
PARAMETER
OPTB
195500
PERFORM
440­
DET­
DATA­
FIELD
OPTB
195600
END­
IF
OPTB
195700
END­
IF
OPTB
195800
ELSE
OPTB
195900
PERFORM
490­
LOAD­
PARM­
INFO.
OPTB
196000
IF
PERIOD­
TOTAL
OPTB
196100
MOVE
SPACES
TO
BG­
YEAR
S­
PRINT­
YEAR.
OPTB
196200
305­
PARM­
ROUTINE.
OPTB
196300
MOVE
NPID
TO
PREV­
NPID.
OPTB
196400
MOVE
DSCH
TO
PREV­
DSCH.
OPTB
196500
MOVE
PARM
TO
PREV­
PARM.
OPTB
196600
MOVE
MLOC
TO
HOLD­
MLOC.
OPTB
196700
IF
PARM­
INDEX
NOT
>
500
OPTB
196800
PERFORM
500­
READ­
PCS­
INFO.
OPTB
196900
IF
PERIOD­
TOTAL
OPTB
197000
MOVE
PREV­
YEAR
TO
M­
YEAR.
OPTB
197100
IF
NOT
SAS­
DATA
AND
GROUP­
OFF
AND
ESTIMATE­
OFF
OPTB
197200
IF
((
FACILITY­
BREAK
AND
((
NPID
NOT
=
PREV­
NPID)
OR
OPTB
197300
(
M­
YEAR
NOT
=
PREV­
YEAR)
OR
(
PARM
NOT
=
PREV­
PARM)))
OROPTB
197400
(
OUTFALL­
BREAK
AND
((
NPID
NOT
=
PREV­
NPID)
OR
OPTB
197500
(
M­
YEAR
NOT
=
PREV­
YEAR)
OR
(
PARM
NOT
=
PREV­
PARM)
OR
OPTB
197600
(
DSCH
NOT
=
PREV­
DSCH)
OR
(
MLOC
NOT
=
HOLD­
MLOC)))
OR
OPTB
197700
(
CITY­
BREAK
AND
((
CITY
NOT
=
PREV­
CITY)
OR
OPTB
197800
(
CNTY
NOT
=
PREV­
CNTY)
OR
(
STATE
NOT
=
PREV­
STATE)
OR
OPTB
197900
(
M­
YEAR
NOT
=
PREV­
YEAR)
OR
(
PARM
NOT
=
PREV­
PARM)))
OROPTB
198000
(
COUNTY­
BREAK
AND
((
CNTY
NOT
=
PREV­
CNTY)
OR
OPTB
198100
(
STATE
NOT
=
PREV­
STATE)
OR
OPTB
198200
(
M­
YEAR
NOT
=
PREV­
YEAR)
OR
(
PARM
NOT
=
PREV­
PARM)))
OROPTB
198300
(
STATE­
BREAK
AND
((
STATE
NOT
=
PREV­
STATE)
OR
OPTB
198400
(
M­
YEAR
NOT
=
PREV­
YEAR)
OR
(
PARM
NOT
=
PREV­
PARM)))
OROPTB
198500
(
BASIN­
BREAK
AND
((
FHBC
NOT
=
PREV­
FHBC)
OR
OPTB
198600
(
M­
YEAR
NOT
=
PREV­
YEAR)
OR
(
PARM
NOT
=
PREV­
PARM)))
OROPTB
198700
(
SIC2­
BREAK
AND
((
SIC2
NOT
=
PREV­
SIC2)
OR
OPTB
198800
(
M­
YEAR
NOT
=
PREV­
YEAR)
OR
(
PARM
NOT
=
PREV­
PARM)))
OROPTB
198900
(
REPORT­
BREAK
AND
((
M­
YEAR
NOT
=
PREV­
YEAR)
OR
OPTB
199000
(
PARM
NOT
=
PREV­
PARM))))
OPTB
199100*
IF
ESTIMATE­
ON
AND
(
BG­
TOTAL
>
0)
AND
OPTB
199200*
TB­
COUNT(
PARM­
INDEX,
YEAR­
INDEX)
<
HOLD­
TCOUNT
/
MFOPTB
199300*­
ACTOR(
PARM­
INDEX)
OPTB
199400*
COMPUTE
BG­
TOTAL
=
BG­
TOTAL
*
HOLD­
TCOUNT
/
(
TB­
COUNT(
OPTB
199500*­
PARM­
INDEX,
YEAR­
INDEX)
*
MFACTOR(
PARM­
INDEX))
OPTB
199600*
END­
IF
OPTB
199700
IF
BG­
TOTAL
>
0
AND
<
+.
1E­
10
OPTB
199800
IF
INSUFFICIENT­
OFF
OPTB
199900
MOVE
ZERO
TO
BG­
TOTAL
OPTB
200000
ELSE
OPTB
200100
IF
BG­
TOTAL
>=
+.
1E­
30
OPTB
200200
MOVE
ZERO
TO
BG­
TOTAL
OPTB
200300
END­
IF
OPTB
200400
END­
IF
OPTB
200500
END­
IF
OPTB
200600
MOVE
WS­
BGRAPH­
RECORD
TO
BGRAPH­
RECORD
OPTB
200700
WRITE
BGRAPH­
RECORD
OPTB
200800
MOVE
ZEROS
TO
BG­
TOTAL
OPTB
200900
IF
OUTFALL­
BREAK
OPTB
201000
MOVE
MLOC
TO
BG­
MLOC
OPTB
201100
END­
IF
OPTB
201200
IF
((
FACILITY­
BREAK
AND
WS­
STATE­
CNTY­
CODE
NOT
EQUAL
OPTB
201300
STATE­
CNTY­
CODE(
CODE­
INDEX))
OR
OPTB
201400
(
OUTFALL­
BREAK
AND
WS­
STATE­
CNTY­
CODE
NOT
EQUAL
OPTB
201500
STATE­
CNTY­
CODE(
CODE­
INDEX)))
AND
GRAPH­
ON
OPTB
201600
IF
HYDROL­
FACILITY
OR
HYDROL­
OUTFALL
OPTB
201700
SET
WS­
INDEX
TO
CODE­
INDEX
OPTB
201800
SET
CODE­
INDEX
TO
1
OPTB
201900
SEARCH
STATE­
CNTY­
CODE­
TBL
OPTB
202000
AT
END
SET
CODE­
INDEX
TO
WS­
INDEX
OPTB
202100
SET
CODE­
INDEX
UP
BY
1
OPTB
202200
MOVE
WS­
STATE­
CNTY­
CODE
TO
OPTB
202300
STATE­
CNTY­
CODE(
CODE­
INDEX)
OPTB
202400
WHEN
WS­
STATE­
CNTY­
CODE
=
OPTB
202500
STATE­
CNTY­
CODE(
CODE­
INDEX)
OPTB
202600
SET
CODE­
INDEX
TO
WS­
INDEX
OPTB
202700
ELSE
OPTB
202800
SET
CODE­
INDEX
UP
BY
1
OPTB
202900
MOVE
WS­
STATE­
CNTY­
CODE
TO
OPTB
203000
STATE­
CNTY­
CODE(
CODE­
INDEX).
OPTB
203100*************************************************************
OPTB
203200*
MODULE
310
DOES
A
BINARY
SEARCH
OF
PARM­
DESC­
TABLE
TO
*
OPTB
203300*
OBTAIN
THE
PARAMETER
DESCRIPTION
FOR
EACH
PARAMETER
USED.
*
OPTB
203400*************************************************************
OPTB
203500
310­
SEARCH­
PARM­
DESC­
TABLE.
OPTB
203600
SEARCH
ALL
PARM­
DESC­
INFO
OPTB
203700
AT
END
MOVE
'
NO'
TO
MNEMONIC­
SW
OPTB
203800*
DISPLAY
'**
ERROR
DESCRIPTION
NOT
FOUND
FOR
PARAMETER**'
OPTB
203900*
DISPLAY
'
PARM
CODE
=
'
CONTROL­
PARM
OPTB
204000*
DISPLAY
'
RECORD
COUNT
=
'
RECORD­
COUNT
OPTB
204100*
DISPLAY
'
NPID
=
'
NPID
OPTB
204200
MOVE
'
DES
MISSING'
TO
M­
MNEM(
PRINT­
SUB)
OPTB
204300
WHEN
IN­
PARM­
CODE(
LIMITS­
INDEX)
EQUAL
CONTROL­
PARM
OPTB
204400
MOVE
'
YES'
TO
MNEMONIC­
SW
OPTB
204500
MOVE
IN­
PARM­
DESC(
LIMITS­
INDEX)
TO
OPTB
204600
M­
MNEM(
PRINT­
SUB).
OPTB
204700***************************************************************
OPTB
204800*
MODULE
320
DOES
A
BINARY
SEARCH
OF
BASIN­
TABLE
FOR
THE
*
OPTB
204900*
DESCRIPTIONS
OF
FHBC
(
RIVER
BASIN)
CODES.
*
OPTB
205000***************************************************************
OPTB
205100
320­
SEARCH­
BASIN­
DESC­
TABLE.
OPTB
205200
SEARCH
ALL
BASIN­
INFO
OPTB
205300*
AT
END
MOVE
'
NO'
TO
BASIN­
SW
OPTB
205400
AT
END
MOVE
'
BASIN
CODE
MISSING'
TO
P­
BASIN­
DESC
OPTB
205500
WHEN
IN­
FHBC(
BASIN­
INDEX)
EQUAL
FHBC
OPTB
205600
MOVE
'
YES'
TO
BASIN­
SW
OPTB
205700
MOVE
IN­
FHBC­
DESC(
BASIN­
INDEX)
TO
P­
BASIN­
DESC.
OPTB
205800***************************************************************
OPTB
205900*
MODULE
325
DOES
A
BINARY
SEARCH
OF
THE
FIRST
TWO
BYTES
OF
*
OPTB
206000*
THE
BAS4
CODES
IN
THE
BASIN­
TABLE
FOR
THE
DESCRIPTIONS
OF
*
OPTB
206100*
BAS4
CODES
IN
SPECIAL
CASES
WHERE
BAS4
CODES
ARE
TWO
BYTES
*
OPTB
206200*
LONG.
*
OPTB
206300***************************************************************
OPTB
206400*
325­
SEARCH­
BASIN­
DESC­
TABLE.
OPTB
206500*
SEARCH
ALL
BAS2­
INFO
OPTB
206600*
AT
END
MOVE
'
NO'
TO
BAS2­
SW
OPTB
206700*
MOVE
'
BASIN
CODE
MISSING'
TO
P­
BASIN­
DESC
OPTB
206800**
DISPLAY
'**
ERROR
­
BASIN
CODE
NOT
FOUND**'
OPTB
206900**
DISPLAY
'
BASIN
CODE
=
'
BAS2
OPTB
207000**
DISPLAY
'
RECORD
COUNT
=
'
RECORD­
COUNT
OPTB
207100**
DISPLAY
'
NPID
=
'
NPID
OPTB
207200*
WHEN
IN­
BAS2(
BAS2­
INDEX)
EQUAL
BAS2
OPTB
207300*
MOVE
'
YES'
TO
BAS2­
SW
OPTB
207400*
MOVE
IN­
BAS2­
DESC(
BAS2­
INDEX)
TO
P­
BASIN­
DESC.
OPTB
207500*************************************************************
OPTB
207600*
MODULE
330
DOES
A
BINARY
SEARCH
OF
SIC­
TABLE
FOR
THE
*
OPTB
207700*
DESCRIPTIONS
OF
SIC2
CODES.
*
OPTB
207800*************************************************************
OPTB
207900
330­
SEARCH­
SIC­
DESC.
OPTB
208000
SEARCH
ALL
SIC­
INFO
OPTB
208100
AT
END
MOVE
'
NO'
TO
SIC­
SW
OPTB
208200
MOVE
'
SIC2
CODE
MISSING'
TO
FAC­
SIC2­
DESC
OPTB
208300*
DISPLAY
'**
ERROR
IN
SEARCH
FOR
SIC2
CODE**'
OPTB
208400*
DISPLAY
'
SIC2
CODE
=
'
SIC2
OPTB
208500*
DISPLAY
'
RECORD­
COUNT
=
'
RECORD­
COUNT
OPTB
208600*
DISPLAY
'
NPID
=
'
NPID
OPTB
208700
WHEN
SIC2­
CODE(
SIC­
INDEX)
EQUAL
SIC2
OPTB
208800
MOVE
'
YES'
TO
SIC­
SW
OPTB
208900
MOVE
SIC2­
DESC(
SIC­
INDEX)
TO
FAC­
SIC2­
DESC.
OPTB
209000*
OPTB
209100
405­
QUANTITY­
ROUTINE.
OPTB
209200
IF
NODI
NOT
=
SPACE
OPTB
209300
MOVE
+.
1E­
30
TO
MQAV
MQMX
MCMN
MCAV
MCMX
OPTB
209400
ELSE
OPTB
209500
IF
NOT
ND­
LIMIT
OPTB
209600
PERFORM
410­
NON­
DETECT­
RTN
OPTB
209700
END­
IF
OPTB
209800
IF
LIMIT­
EXCD­
ON
OPTB
209900*
IF
MQAV
>
ZEROS
AND
LQAV
>
ZEROS
OPTB
210000*
SUBTRACT
LQAV
FROM
MQAV
OPTB
210100*
ELSE
OPTB
210200*
MOVE
0
TO
MQAV
OPTB
210300*
END­
IF
OPTB
210400*
IF
MQMX
>
ZEROS
AND
LQMX
>
ZEROS
OPTB
210500*
SUBTRACT
LQMX
FROM
MQMX
OPTB
210600*
ELSE
OPTB
210700*
MOVE
0
TO
MQMX
OPTB
210800*
END­
IF
OPTB
210900*
IF
MCMN
>
ZEROS
AND
LCMN
>
ZEROS
OPTB
211000*
SUBTRACT
LCMN
FROM
MCMN
OPTB
211100*
ELSE
OPTB
211200*
MOVE
0
TO
MCMN
OPTB
211300*
END­
IF
OPTB
211400*
IF
MCAV
>
ZEROS
AND
LCAV
>
ZEROS
OPTB
211500*
SUBTRACT
LCAV
FROM
MCAV
OPTB
211600*
ELSE
OPTB
211700*
MOVE
0
TO
MCAV
OPTB
211800*
END­
IF
OPTB
211900*
IF
MCMX
>
ZEROS
AND
LCMX
>
ZEROS
OPTB
212000*
SUBTRACT
LCMX
FROM
MCMX
OPTB
212100*
ELSE
OPTB
212200*
MOVE
0
TO
MCMX.
OPTB
212300
IF
LQAV
>
ZEROS
OPTB
212400
IF
MQAV
>
+.
1E­
30
OPTB
212500
IF
FILL1(
1)
=
'
4'
OPTB
212600
SUBTRACT
MQAV
FROM
LQAV
GIVING
MQAV
OPTB
212700
ELSE
OPTB
212800
SUBTRACT
LQAV
FROM
MQAV
OPTB
212900
END­
IF
OPTB
213000*
SUBTRACT
LQAV
FROM
MQAV
OPTB
213100
IF
MQAV
<=
0
OPTB
213200
IF
MQAV
<
0
AND
LIMIT­
EXCD­
UNDER­
ON
OPTB
213300
MULTIPLY
MQAV
BY
­
1
GIVING
MQAV
OPTB
213400
MOVE
'­'
TO
LMQAV
OPTB
213500
ELSE
OPTB
213600
MOVE
+.
1E­
30
TO
MQAV
OPTB
213700
END­
IF
OPTB
213800
END­
IF
OPTB
213900
ELSE
OPTB
214000
MOVE
+.
1E­
30
TO
MQAV
OPTB
214100
END­
IF
OPTB
214200
ELSE
OPTB
214300
MOVE
0
TO
MQAV
OPTB
214400
END­
IF
OPTB
214500
IF
LQMX
>
ZEROS
OPTB
214600
IF
MQMX
>
+.
1E­
30
OPTB
214700
IF
FILL1(
2)
=
'
4'
OPTB
214800
SUBTRACT
MQMX
FROM
LQMX
GIVING
MQMX
OPTB
214900
ELSE
OPTB
215000
SUBTRACT
LQMX
FROM
MQMX
OPTB
215100
END­
IF
OPTB
215200*
SUBTRACT
LQMX
FROM
MQMX
OPTB
215300
IF
MQMX
<=
0
OPTB
215400
IF
MQMX
<
0
AND
LIMIT­
EXCD­
UNDER­
ON
OPTB
215500
MULTIPLY
MQMX
BY
­
1
GIVING
MQMX
OPTB
215600
MOVE
'­'
TO
LMQMX
OPTB
215700
ELSE
OPTB
215800
MOVE
+.
1E­
30
TO
MQMX
OPTB
215900
END­
IF
OPTB
216000
END­
IF
OPTB
216100
ELSE
OPTB
216200
MOVE
+.
1E­
30
TO
MQMX
OPTB
216300
END­
IF
OPTB
216400
ELSE
OPTB
216500
MOVE
0
TO
MQMX
OPTB
216600
END­
IF
OPTB
216700
IF
LCMN
>
ZEROS
OPTB
216800
IF
MCMN
>
+.
1E­
30
OPTB
216900
IF
FILL1(
3)
=
'
4'
OPTB
217000
SUBTRACT
MCMN
FROM
LCMN
GIVING
MCMN
OPTB
217100
ELSE
OPTB
217200
SUBTRACT
LCMN
FROM
MCMN
OPTB
217300
END­
IF
OPTB
217400
IF
MCMN
<=
0
OPTB
217500
IF
MCMN
<
0
AND
LIMIT­
EXCD­
UNDER­
ON
OPTB
217600
MULTIPLY
MCMN
BY
­
1
GIVING
MCMN
OPTB
217700
MOVE
'­'
TO
LMCMN
OPTB
217800
ELSE
OPTB
217900
MOVE
+.
1E­
30
TO
MCMN
OPTB
218000
END­
IF
OPTB
218100
END­
IF
OPTB
218200
ELSE
OPTB
218300
MOVE
+.
1E­
30
TO
MCMN
OPTB
218400
END­
IF
OPTB
218500
ELSE
OPTB
218600
MOVE
0
TO
MCMN
OPTB
218700
END­
IF
OPTB
218800
IF
LCAV
>
ZEROS
OPTB
218900
IF
MCAV
>
+.
1E­
30
OPTB
219000
IF
FILL1(
4)
=
'
4'
OPTB
219100
SUBTRACT
MCAV
FROM
LCAV
GIVING
MCAV
OPTB
219200
ELSE
OPTB
219300
SUBTRACT
LCAV
FROM
MCAV
OPTB
219400
END­
IF
OPTB
219500*
SUBTRACT
LCAV
FROM
MCAV
OPTB
219600
IF
MCAV
<=
0
OPTB
219700
IF
MCAV
<
0
AND
LIMIT­
EXCD­
UNDER­
ON
OPTB
219800
MULTIPLY
MCAV
BY
­
1
GIVING
MCAV
OPTB
219900
MOVE
'­'
TO
LMCAV
OPTB
220000
ELSE
OPTB
220100
MOVE
+.
1E­
30
TO
MCAV
OPTB
220200
END­
IF
OPTB
220300
END­
IF
OPTB
220400
ELSE
OPTB
220500
MOVE
+.
1E­
30
TO
MCAV
OPTB
220600
END­
IF
OPTB
220700
ELSE
OPTB
220800
MOVE
0
TO
MCAV
OPTB
220900
END­
IF
OPTB
221000
IF
LCMX
>
ZEROS
OPTB
221100
IF
MCMX
>
+.
1E­
30
OPTB
221200
IF
FILL1(
5)
=
'
4'
OPTB
221300
SUBTRACT
MCMX
FROM
LCMX
GIVING
MCMX
OPTB
221400
ELSE
OPTB
221500
SUBTRACT
LCMX
FROM
MCMX
OPTB
221600
END­
IF
OPTB
221700*
SUBTRACT
LCMX
FROM
MCMX
OPTB
221800
IF
MCMX
<=
0
OPTB
221900
IF
MCMX
<
0
AND
LIMIT­
EXCD­
UNDER­
ON
OPTB
222000
MULTIPLY
MCMX
BY
­
1
GIVING
MCMX
OPTB
222100
MOVE
'­'
TO
LMCMX
OPTB
222200
ELSE
OPTB
222300
MOVE
+.
1E­
30
TO
MCMX
OPTB
222400
END­
IF
OPTB
222500
END­
IF
OPTB
222600
ELSE
OPTB
222700
MOVE
+.
1E­
30
TO
MCMX
OPTB
222800
END­
IF
OPTB
222900
ELSE
OPTB
223000
MOVE
0
TO
MCMX
OPTB
223100
END­
IF
OPTB
223200
ELSE
OPTB
223300
IF
LIMIT­
UNDER­
ON
OPTB
223400*
IF
MQAV
>
ZEROS
AND
LQAV
>
ZEROS
OPTB
223500*
SUBTRACT
MQAV
FROM
LQAV
GIVING
MQAV
OPTB
223600*
ELSE
OPTB
223700*
MOVE
0
TO
MQAV
OPTB
223800*
END­
IF
OPTB
223900*
IF
MQMX
>
ZEROS
AND
LQMX
>
ZEROS
OPTB
224000*
SUBTRACT
MQMX
FROM
LQMX
GIVING
MQMX
OPTB
224100*
ELSE
OPTB
224200*
MOVE
0
TO
MQMX
OPTB
224300*
END­
IF
OPTB
224400*
IF
MCMN
>
ZEROS
AND
LCMN
>
ZEROS
OPTB
224500*
SUBTRACT
MCMN
FROM
LCMN
GIVING
MCMN
OPTB
224600*
ELSE
OPTB
224700*
MOVE
0
TO
MCMN
OPTB
224800*
END­
IF
OPTB
224900*
IF
MCAV
>
ZEROS
AND
LCAV
>
ZEROS
OPTB
225000*
SUBTRACT
MCAV
FROM
LCAV
GIVING
MCAV
OPTB
225100*
ELSE
OPTB
225200*
MOVE
0
TO
MCAV
OPTB
225300*
END­
IF
OPTB
225400*
IF
MCMX
>
ZEROS
AND
LCMX
>
ZEROS
OPTB
225500*
SUBTRACT
MCMX
FROM
LCMX
GIVING
MCMX
OPTB
225600*
ELSE
OPTB
225700*
MOVE
0
TO
MCMX.
OPTB
225800
IF
LQAV
>
ZEROS
OPTB
225900
IF
MQAV
>
+.
1E­
30
OPTB
226000
IF
FILL1(
1)
=
'
4'
OPTB
226100
SUBTRACT
LQAV
FROM
MQAV
OPTB
226200
ELSE
OPTB
226300
SUBTRACT
MQAV
FROM
LQAV
GIVING
MQAV
OPTB
226400
END­
IF
OPTB
226500*
SUBTRACT
MQAV
FROM
LQAV
GIVING
MQAV
OPTB
226600
IF
MQAV
<=
0
OPTB
226700
MOVE
+.
1E­
30
TO
MQAV
OPTB
226800
END­
IF
OPTB
226900
ELSE
OPTB
227000
MOVE
+.
1E­
30
TO
MQAV
OPTB
227100
END­
IF
OPTB
227200
ELSE
OPTB
227300
MOVE
0
TO
MQAV
OPTB
227400
END­
IF
OPTB
227500
IF
LQMX
>
ZEROS
OPTB
227600
IF
MQMX
>
+.
1E­
30
OPTB
227700
IF
FILL1(
2)
=
'
4'
OPTB
227800
SUBTRACT
LQMX
FROM
MQMX
OPTB
227900
ELSE
OPTB
228000
SUBTRACT
MQMX
FROM
LQMX
GIVING
MQMX
OPTB
228100
END­
IF
OPTB
228200*
SUBTRACT
MQMX
FROM
LQMX
GIVING
MQMX
OPTB
228300
IF
MQMX
<=
0
OPTB
228400
MOVE
+.
1E­
30
TO
MQMX
OPTB
228500
END­
IF
OPTB
228600
ELSE
OPTB
228700
MOVE
+.
1E­
30
TO
MQMX
OPTB
228800
END­
IF
OPTB
228900
ELSE
OPTB
229000
MOVE
0
TO
MQMX
OPTB
229100
END­
IF
OPTB
229200
IF
LCMN
>
ZEROS
OPTB
229300
IF
MCMN
>
+.
1E­
30
OPTB
229400
IF
FILL1(
3)
=
'
4'
OPTB
229500
SUBTRACT
LCMN
FROM
MCMN
OPTB
229600
ELSE
OPTB
229700
SUBTRACT
MCMN
FROM
LCMN
GIVING
MCMN
OPTB
229800
END­
IF
OPTB
229900
IF
MCMN
<=
0
OPTB
230000
MOVE
+.
1E­
30
TO
MCMN
OPTB
230100
END­
IF
OPTB
230200
ELSE
OPTB
230300
MOVE
+.
1E­
30
TO
MCMN
OPTB
230400
END­
IF
OPTB
230500
ELSE
OPTB
230600
MOVE
0
TO
MCMN
OPTB
230700
END­
IF
OPTB
230800
IF
LCAV
>
ZEROS
OPTB
230900
IF
MCAV
>
+.
1E­
30
OPTB
231000
IF
FILL1(
4)
=
'
4'
OPTB
231100
SUBTRACT
LCAV
FROM
MCAV
OPTB
231200
ELSE
OPTB
231300
SUBTRACT
MCAV
FROM
LCAV
GIVING
MCAV
OPTB
231400
END­
IF
OPTB
231500*
SUBTRACT
MCAV
FROM
LCAV
GIVING
MCAV
OPTB
231600
IF
MCAV
<=
0
OPTB
231700
MOVE
+.
1E­
30
TO
MCAV
OPTB
231800
END­
IF
OPTB
231900
ELSE
OPTB
232000
MOVE
+.
1E­
30
TO
MCAV
OPTB
232100
END­
IF
OPTB
232200
ELSE
OPTB
232300
MOVE
0
TO
MCAV
OPTB
232400
END­
IF
OPTB
232500
IF
LCMX
>
ZEROS
OPTB
232600
IF
MCMX
>
+.
1E­
30
OPTB
232700
IF
FILL1(
5)
=
'
4'
OPTB
232800
SUBTRACT
LCMX
FROM
MCMX
OPTB
232900
ELSE
OPTB
233000
SUBTRACT
MCMX
FROM
LCMX
GIVING
MCMX
OPTB
233100
END­
IF
OPTB
233200*
SUBTRACT
MCMX
FROM
LCMX
GIVING
MCMX
OPTB
233300
IF
MCMX
<=
0
OPTB
233400
MOVE
+.
1E­
30
TO
MCMX
OPTB
233500
END­
IF
OPTB
233600
ELSE
OPTB
233700
MOVE
+.
1E­
30
TO
MCMX
OPTB
233800
END­
IF
OPTB
233900
ELSE
OPTB
234000
MOVE
0
TO
MCMX.
OPTB
234100
IF
LIMIT­
ALLOW­
ON
OPTB
234200
MOVE
LQAV
TO
MQAV
OPTB
234300
MOVE
LQMX
TO
MQMX
OPTB
234400
MOVE
LCMN
TO
MCMN
OPTB
234500
MOVE
LCAV
TO
MCAV
OPTB
234600
MOVE
LCMX
TO
MCMX.
OPTB
234700
MOVE
SPACE
TO
HOLD­
SIGN.
OPTB
234800
IF
(
LIMIT­
EXCD­
ON
OR
LIMIT­
UNDER­
ON)
AND
OPTB
234900
(
MQAV
=
0
AND
MQMX
=
0
AND
MCMN
=
0
OPTB
235000
AND
MCAV
=
0
AND
MCMX
=
0)
OPTB
235100
COMPUTE
HOLD­
MEASUREMENT
=
0
OPTB
235200
ELSE
OPTB
235300
IF
WS­
NRPU
=
0
OR
SPACES
OPTB
235400
DISPLAY
'**
INVALID
NRPU
('
WS­
NRPU
')
FOR
'
MVDT
OPTB
235500
'
(
NPID:
'
NPID
'
DSCH:
'
DSCH
'
PRAM:
'
PARM
OPTB
235600
'
MLOC:
'
MLOC
')
**'
OPTB
235700
MOVE
1
TO
WS­
NRPU
OPTB
235800
MOVE
0
TO
HOLD­
MEASUREMENT
OPTB
235900
IF
INSUFFICIENT­
ON
OPTB
236000
MOVE
+.
1E­
50
TO
HOLD­
MEASUREMENT
OPTB
236100
END­
IF
OPTB
236200
ELSE
OPTB
236300
IF
MQAV­
WANTED
OPTB
236400
IF
MQAV
>
ZEROS
OPTB
236500
MOVE
LMQAV
TO
HOLD­
SIGN
OPTB
236600
COMPUTE
HOLD­
MEASUREMENT
=
MQAV
*
WS­
NRPU
*
30
OPTB
236700
IF
FILL1(
1)
=
'
2'
OPTB
236800
COMPUTE
HOLD­
MEASUREMENT
=
MQAV
OPTB
236900
END­
IF
OPTB
237000
ELSE
OPTB
237100
IF
F­
PRAM
NOT
=
SPACES
OPTB
237200
PERFORM
415­
DETERMINE­
FIELD
OPTB
237300
IF
HOLD­
MEASUREMENT
>=
+.
1E­
30
AND
NOT
FLOW­
PARAMETEROPTB
237400
PERFORM
420­
CALC­
QUANT
OPTB
237500
ELSE
OPTB
237600*
NEXT
SENTENCE
OPTB
237700
DISPLAY
'**
NO
CORRESPONDING
MEASUREMENT
DATA
FOR
'
OPTB
237800
MVDT
'
(
NPID:
'
NPID
'
DSCH:
'
DSCH
'
PRAM:
'
OPTB
237900
PARM
'
MLOC:
'
MLOC
')
**'
OPTB
238000
IF
MQMX
>
ZEROS
AND
MQMX­
WANTED
OPTB
238100
MOVE
LMQMX
TO
HOLD­
SIGN
OPTB
238200
COMPUTE
HOLD­
MEASUREMENT
=
MQMX
*
WS­
NRPU
*
30
OPTB
238300
IF
FILL1(
2)
=
'
2'
OPTB
238400
COMPUTE
HOLD­
MEASUREMENT
=
MQMX
OPTB
238500
END­
IF
OPTB
238600
ELSE
OPTB
238700
IF
MQMX
>
ZEROS
AND
NOT
AVG­
ONLY
OPTB
238800
MOVE
LMQMX
TO
HOLD­
SIGN
OPTB
238900
COMPUTE
HOLD­
MEASUREMENT
=
MQMX
*
WS­
NRPU
*
30
OPTB
239000
IF
FILL1(
2)
=
'
2'
OPTB
239100
COMPUTE
HOLD­
MEASUREMENT
=
MQMX
OPTB
239200
ELSE
OPTB
239300
IF
CHLORINE
AND
LIMIT­
EXCD
OPTB
239400
AND
FILL1(
2)
=
'
3'
OPTB
239500
COMPUTE
HOLD­
MEASUREMENT
=
MQMX
*
WS­
NRPUOPTB
239600
ELSE
OPTB
239700
IF
FILL1(
2)
=
'
3'
AND
AVG­
MAX­
EST
OPTB
239800
DIVIDE
1.5
INTO
HOLD­
MEASUREMENT
OPTB
239900
END­
IF
OPTB
240000
END­
IF
OPTB
240100
END­
IF
OPTB
240200
ELSE
OPTB
240300
MOVE
0
TO
HOLD­
MEASUREMENT
OPTB
240400
IF
(
ZERO­
COUNT
AND
MQAV
=
0)
OR
INSUFFICIENT­
ONOPTB
240500
MOVE
+.
1E­
50
TO
HOLD­
MEASUREMENT
OPTB
240600
END­
IF
OPTB
240700
END­
IF
OPTB
240800
END­
IF
OPTB
240900
END­
IF
OPTB
241000
ELSE
OPTB
241100
DISPLAY
'**
NO
CORRESPONDING
FLOW
DATA
FOR
'
MVDT
OPTB
241200
'
(
NPID:
'
NPID
'
DSCH:
'
DSCH
'
PRAM:
'
PARM
OPTB
241300
'
MLOC:
'
MLOC
')
**'
OPTB
241400
IF
MQMX
>
ZEROS
AND
MQMX­
WANTED
OPTB
241500
MOVE
LMQMX
TO
HOLD­
SIGN
OPTB
241600
COMPUTE
HOLD­
MEASUREMENT
=
MQMX
*
WS­
NRPU
*
30
OPTB
241700
IF
FILL1(
2)
=
'
2'
OPTB
241800
COMPUTE
HOLD­
MEASUREMENT
=
MQMX
OPTB
241900
END­
IF
OPTB
242000
ELSE
OPTB
242100
IF
MQMX
>
ZEROS
AND
NOT
AVG­
ONLY
OPTB
242200
MOVE
LMQMX
TO
HOLD­
SIGN
OPTB
242300
COMPUTE
HOLD­
MEASUREMENT
=
MQMX
*
WS­
NRPU
*
30
OPTB
242400
IF
FILL1(
2)
=
'
2'
OPTB
242500
COMPUTE
HOLD­
MEASUREMENT
=
MQMX
OPTB
242600
ELSE
OPTB
242700
IF
CHLORINE
AND
LIMIT­
EXCD
AND
FILL1(
2)
=
'
3'
OPTB
242800
COMPUTE
HOLD­
MEASUREMENT
=
MQMX
*
WS­
NRPU
OPTB
242900
ELSE
OPTB
243000
IF
FILL1(
2)
=
'
3'
AND
AVG­
MAX­
EST
OPTB
243100
DIVIDE
1.5
INTO
HOLD­
MEASUREMENT
OPTB
243200
END­
IF
OPTB
243300
END­
IF
OPTB
243400
END­
IF
OPTB
243500
ELSE
OPTB
243600
MOVE
0
TO
HOLD­
MEASUREMENT
OPTB
243700
IF
(
ZERO­
COUNT
AND
MQAV
=
0)
OR
INSUFFICIENT­
ON
OPTB
243800
MOVE
+.
1E­
50
TO
HOLD­
MEASUREMENT
OPTB
243900
END­
IF
OPTB
244000
END­
IF
OPTB
244100
END­
IF
OPTB
244200
END­
IF
OPTB
244300
END­
IF
OPTB
244400
ELSE
OPTB
244500
IF
MQMX­
WANTED
OPTB
244600
IF
MQMX
>
ZEROS
OPTB
244700
MOVE
LMQMX
TO
HOLD­
SIGN
OPTB
244800
COMPUTE
HOLD­
MEASUREMENT
=
MQMX
*
WS­
NRPU
*
30
OPTB
244900
IF
FILL1(
2)
=
'
2'
OPTB
245000
COMPUTE
HOLD­
MEASUREMENT
=
MQMX
OPTB
245100
END­
IF
OPTB
245200
ELSE
OPTB
245300
IF
F­
PRAM
NOT
=
SPACES
OPTB
245400
PERFORM
415­
DETERMINE­
FIELD
OPTB
245500
IF
HOLD­
MEASUREMENT
>=
+.
1E­
30
AND
NOT
FLOW­
PARAMETEROPTB
245600
PERFORM
420­
CALC­
QUANT
OPTB
245700
ELSE
OPTB
245800*
NEXT
SENTENCE
OPTB
245900
DISPLAY
'**
NO
CORRESPONDING
MEASUREMENT
DATA
FOR
'
OPTB
246000
MVDT
'
(
NPID:
'
NPID
'
DSCH:
'
DSCH
'
PRAM:
'
OPTB
246100
PARM
'
MLOC:
'
MLOC
')
**'
OPTB
246200*
IF
MQAV
>
ZEROS
OPTB
246300*
MOVE
LMQAV
TO
HOLD­
SIGN
OPTB
246400*
COMPUTE
HOLD­
MEASUREMENT
=
MQAV
*
WS­
NRPU
*
30
OPTB
246500
IF
MQAV
>
ZEROS
AND
NOT
AVG­
ONLY
OPTB
246600
MOVE
LMQAV
TO
HOLD­
SIGN
OPTB
246700
COMPUTE
HOLD­
MEASUREMENT
=
MQAV
*
WS­
NRPU
*
30
OPTB
246800
ELSE
OPTB
246900
MOVE
0
TO
HOLD­
MEASUREMENT
OPTB
247000
IF
(
ZERO­
COUNT
AND
MQMX
=
0)
OR
INSUFFICIENT­
ONOPTB
247100
MOVE
+.
1E­
50
TO
HOLD­
MEASUREMENT
OPTB
247200
END­
IF
OPTB
247300
END­
IF
OPTB
247400
END­
IF
OPTB
247500
ELSE
OPTB
247600
DISPLAY
'**
NO
CORRESPONDING
FLOW
DATA
FOR
'
MVDT
OPTB
247700
'
(
NPID:
'
NPID
'
DSCH:
'
DSCH
'
PRAM:
'
PARM
OPTB
247800
'
MLOC:
'
MLOC
')
**'
OPTB
247900
IF
MQAV
>
ZEROS
AND
NOT
AVG­
ONLY
OPTB
248000
MOVE
LMQAV
TO
HOLD­
SIGN
OPTB
248100
COMPUTE
HOLD­
MEASUREMENT
=
MQAV
*
WS­
NRPU
*
30
OPTB
248200
ELSE
OPTB
248300
MOVE
0
TO
HOLD­
MEASUREMENT
OPTB
248400
IF
(
ZERO­
COUNT
AND
MQMX
=
0)
OR
INSUFFICIENT­
ON
OPTB
248500
MOVE
+.
1E­
50
TO
HOLD­
MEASUREMENT
OPTB
248600
END­
IF
OPTB
248700
END­
IF
OPTB
248800
END­
IF
OPTB
248900
ELSE
OPTB
249000
IF
MCMN­
WANTED
OR
MCAV­
WANTED
OR
MCMX­
WANTED
OPTB
249100
IF
F­
PRAM
NOT
=
SPACES
OPTB
249200
PERFORM
415­
DETERMINE­
FIELD
OPTB
249300
IF
HOLD­
MEASUREMENT
>=
+.
1E­
30
AND
NOT
FLOW­
PARAMETER
OPTB
249400
PERFORM
420­
CALC­
QUANT
OPTB
249500
END­
IF
OPTB
249600
ELSE
OPTB
249700
DISPLAY
'**
NO
CORRESPONDING
FLOW
DATA
FOR
'
MVDT
OPTB
249800
'
(
NPID:
'
NPID
'
DSCH:
'
DSCH
'
PRAM:
'
PARM
OPTB
249900
'
MLOC:
'
MLOC
')
**'
OPTB
250000
IF
AVG­
ONLY
OPTB
250100
MOVE
0
TO
HOLD­
MEASUREMENT
OPTB
250200
IF
(
ZERO­
COUNT
AND
((
MCAV
=
0)
OR
(
MCMX
=
0)
OPTB
250300
OR
(
MCMN
=
0)))
OR
INSUFFICIENT­
ON
OPTB
250400
MOVE
+.
1E­
50
TO
HOLD­
MEASUREMENT
OPTB
250500
END­
IF
OPTB
250600
ELSE
OPTB
250700
IF
MQAV
>
ZEROS
OPTB
250800
MOVE
LMQAV
TO
HOLD­
SIGN
OPTB
250900
COMPUTE
HOLD­
MEASUREMENT
=
MQAV
*
WS­
NRPU
*
30
OPTB
251000
ELSE
OPTB
251100
IF
MQMX
>
ZEROS
OPTB
251200
MOVE
LMQMX
TO
HOLD­
SIGN
OPTB
251300
COMPUTE
HOLD­
MEASUREMENT
=
MQMX
*
WS­
NRPU
*
30
OPTB
251400
IF
CHLORINE
AND
LIMIT­
EXCD
OPTB
251500
COMPUTE
HOLD­
MEASUREMENT
=
MQAV
*
WS­
NRPU
OPTB
251600
ELSE
OPTB
251700
IF
AVG­
MAX­
EST
OPTB
251800
DIVIDE
1.5
INTO
HOLD­
MEASUREMENT
OPTB
251900
END­
IF
OPTB
252000
END­
IF
OPTB
252100
ELSE
OPTB
252200
MOVE
0
TO
HOLD­
MEASUREMENT
OPTB
252300
IF
(
ZERO­
COUNT
AND
((
MQAV
=
0)
OR
(
MQMX
=
0)))
OROPTB
252400
INSUFFICIENT­
ON
OPTB
252500
MOVE
+.
1E­
50
TO
HOLD­
MEASUREMENT
OPTB
252600
END­
IF
OPTB
252700
END­
IF
OPTB
252800
END­
IF
OPTB
252900
END­
IF
OPTB
253000
ELSE
OPTB
253100*
MOVE
0
TO
HOLD­
MEASUREMENT
OPTB
253200
DISPLAY
'**
STATISTICAL
BASE
CODE
'
STAT
OPTB
253300
'
INVALID
FOR
THIS
OPTION
(
NPID:
'
NPID
OPTB
253400
'
DSCH:
'
DSCH
'
PRAM:
'
PARM
'
MLOC:
'
MLOC
')
**'
OPTB
253500
IF
AVG­
ONLY
OPTB
253600
MOVE
0
TO
HOLD­
MEASUREMENT
OPTB
253700
IF
(
ZERO­
COUNT
AND
((
MQAV
=
0)
OR
(
MQMX
=
0)))
OR
OPTB
253800
INSUFFICIENT­
ON
OPTB
253900
MOVE
+.
1E­
50
TO
HOLD­
MEASUREMENT
OPTB
254000
END­
IF
OPTB
254100
ELSE
OPTB
254200
IF
MQAV
>
ZEROS
OPTB
254300
MOVE
LMQAV
TO
HOLD­
SIGN
OPTB
254400
COMPUTE
HOLD­
MEASUREMENT
=
MQAV
*
WS­
NRPU
*
30
OPTB
254500
IF
FILL1(
1)
=
'
3'
OPTB
254600
IF
CHLORINE
AND
LIMIT­
EXCD
OPTB
254700
COMPUTE
HOLD­
MEASUREMENT
=
MQAV
*
WS­
NRPU
OPTB
254800
ELSE
OPTB
254900
IF
AVG­
MAX­
EST
OPTB
255000
DIVIDE
1.5
INTO
HOLD­
MEASUREMENT
OPTB
255100
END­
IF
OPTB
255200
END­
IF
OPTB
255300
END­
IF
OPTB
255400
ELSE
OPTB
255500
IF
MQMX
>
ZEROS
OPTB
255600
MOVE
LMQMX
TO
HOLD­
SIGN
OPTB
255700
COMPUTE
HOLD­
MEASUREMENT
=
MQMX
*
WS­
NRPU
*
30
OPTB
255800
IF
FILL1(
2)
=
'
3'
OPTB
255900
IF
CHLORINE
AND
LIMIT­
EXCD
OPTB
256000
COMPUTE
HOLD­
MEASUREMENT
=
MQMX
*
WS­
NRPU
OPTB
256100
ELSE
OPTB
256200
IF
AVG­
MAX­
EST
OPTB
256300
DIVIDE
1.5
INTO
HOLD­
MEASUREMENT
OPTB
256400
END­
IF
OPTB
256500
END­
IF
OPTB
256600
END­
IF
OPTB
256700
ELSE
OPTB
256800
IF
F­
PRAM
NOT
=
SPACES
OPTB
256900
PERFORM
415­
DETERMINE­
FIELD
OPTB
257000
IF
HOLD­
MEASUREMENT
>=
+.
1E­
30
AND
OPTB
257100
NOT
FLOW­
PARAMETER
OPTB
257200
PERFORM
420­
CALC­
QUANT
OPTB
257300
END­
IF
OPTB
257400*
ELSE
OPTB
257500*
NEXT
SENTENCE
OPTB
257600
ELSE
OPTB
257700
MOVE
0
TO
HOLD­
MEASUREMENT
OPTB
257800*
IF
ZERO­
COUNT
OR
((
MCAV
=
0)
OR
(
MCMX
=
0)
OPTB
257900
IF
(
ZERO­
COUNT
AND
((
MCAV
=
0)
OR
(
MCMX
=
0)
OPTB
258000
OR
(
MCMN
=
0)))
OR
INSUFFICIENT­
ON
OPTB
258100
MOVE
+.
1E­
50
TO
HOLD­
MEASUREMENT
OPTB
258200
END­
IF
OPTB
258300
DISPLAY
'**
NO
CORRESPONDING
FLOW
DATA
FOR
'
MVDT
OPTB
258400
'
(
NPID:
'
NPID
'
DSCH:
'
DSCH
'
PRAM:
'
PARM
OPTB
258500
'
MLOC:
'
MLOC
')
**'.
OPTB
258600
IF
FLOW­
PARAMETER
OPTB
258700
PERFORM
430­
CHECK­
FLOW.
OPTB
258800
PERFORM
470­
ADD­
NUMBERS.
OPTB
258900*
OPTB
259000
410­
NON­
DETECT­
RTN.
OPTB
259100
IF
ND­
ZERO
OPTB
259200
IF
LMQAV
=
'<'
OPTB
259300
MOVE
+.
1E­
30
TO
MQAV
OPTB
259400
END­
IF
OPTB
259500
IF
LMQMX
=
'<'
OPTB
259600
MOVE
+.
1E­
30
TO
MQMX
OPTB
259700
END­
IF
OPTB
259800
IF
LMCMN
=
'<'
OPTB
259900
MOVE
+.
1E­
30
TO
MCMN
OPTB
260000
END­
IF
OPTB
260100
IF
LMCAV
=
'<'
OPTB
260200
MOVE
+.
1E­
30
TO
MCAV
OPTB
260300
END­
IF
OPTB
260400
IF
LMCMX
=
'<'
OPTB
260500
MOVE
+.
1E­
30
TO
MCMX
OPTB
260600
END­
IF
OPTB
260700
ELSE
OPTB
260800
IF
ND­
ESTIMATE
OPTB
260900
IF
LMQAV
=
'<'
OPTB
261000
DIVIDE
MQAV
BY
2
GIVING
MQAV
OPTB
261100
END­
IF
OPTB
261200
IF
LMQMX
=
'<'
OPTB
261300
DIVIDE
MQMX
BY
2
GIVING
MQMX
OPTB
261400
END­
IF
OPTB
261500
IF
LMCMN
=
'<'
OPTB
261600
DIVIDE
MCMN
BY
2
GIVING
MCMN
OPTB
261700
END­
IF
OPTB
261800
IF
LMCAV
=
'<'
OPTB
261900
DIVIDE
MCAV
BY
2
GIVING
MCAV
OPTB
262000
END­
IF
OPTB
262100
IF
LMCMX
=
'<'
OPTB
262200
DIVIDE
MCMX
BY
2
GIVING
MCMX
OPTB
262300
END­
IF.
OPTB
262400*
OPTB
262500
415­
DETERMINE­
FIELD.
OPTB
262600
IF
FILL1(
3)
=
'
1'
OR
'
2'
OPTB
262700
IF
MCMN
>
0
OPTB
262800
MOVE
LMCMN
TO
HOLD­
SIGN
OPTB
262900
COMPUTE
HOLD­
MEASUREMENT
=
MCMN
*
WS­
NRPU
*
30
OPTB
263000
IF
FLOW­
PARAMETER
AND
FILL1(
3)
=
'
2'
OPTB
263100
COMPUTE
HOLD­
MEASUREMENT
=
MCMN
OPTB
263200
END­
IF
OPTB
263300
ELSE
OPTB
263400
IF
MCAV
>
0
OPTB
263500
IF
MCAV­
WANTED
OPTB
263600
MOVE
LMCAV
TO
HOLD­
SIGN
OPTB
263700
COMPUTE
HOLD­
MEASUREMENT
=
MCAV
*
WS­
NRPU
*
30
OPTB
263800
IF
FLOW­
PARAMETER
AND
FILL1(
4)
=
'
2'
OPTB
263900
COMPUTE
HOLD­
MEASUREMENT
=
MCAV
OPTB
264000
END­
IF
OPTB
264100
ELSE
OPTB
264200
IF
NOT
AVG­
ONLY
OPTB
264300
MOVE
LMCAV
TO
HOLD­
SIGN
OPTB
264400
COMPUTE
HOLD­
MEASUREMENT
=
MCAV
*
WS­
NRPU
*
30
OPTB
264500
IF
FILL1(
4)
=
'
3'
OPTB
264600
IF
CHLORINE
AND
LIMIT­
EXCD
OPTB
264700
COMPUTE
HOLD­
MEASUREMENT
=
MCAV
*
WS­
NRPU
OPTB
264800
ELSE
OPTB
264900
IF
AVG­
MAX­
EST
OPTB
265000
DIVIDE
1.5
INTO
HOLD­
MEASUREMENT
OPTB
265100
END­
IF
OPTB
265200
END­
IF
OPTB
265300
END­
IF
OPTB
265400
END­
IF
OPTB
265500
END­
IF
OPTB
265600
ELSE
OPTB
265700
IF
MCMX
>
0
OPTB
265800
IF
MCMX­
WANTED
OPTB
265900
MOVE
LMCMX
TO
HOLD­
SIGN
OPTB
266000
COMPUTE
HOLD­
MEASUREMENT
=
MCMX
*
WS­
NRPU
*
30
OPTB
266100
IF
FLOW­
PARAMETER
AND
FILL1(
5)
=
'
2'
OPTB
266200
COMPUTE
HOLD­
MEASUREMENT
=
MCMX
OPTB
266300
END­
IF
OPTB
266400
ELSE
OPTB
266500
IF
NOT
AVG­
ONLY
OPTB
266600
MOVE
LMCMX
TO
HOLD­
SIGN
OPTB
266700
COMPUTE
HOLD­
MEASUREMENT
=
MCMX
*
WS­
NRPU
*
30
OPTB
266800
IF
FILL1(
5)
=
'
3'
OPTB
266900
IF
CHLORINE
AND
LIMIT­
EXCD
OPTB
267000
COMPUTE
HOLD­
MEASUREMENT
=
MCMX
*
WS­
NRPU
OPTB
267100
ELSE
OPTB
267200
IF
AVG­
MAX­
EST
OPTB
267300
DIVIDE
1.5
INTO
HOLD­
MEASUREMENT
OPTB
267400
END­
IF
OPTB
267500
END­
IF
OPTB
267600
END­
IF
OPTB
267700
END­
IF
OPTB
267800
END­
IF
OPTB
267900
ELSE
OPTB
268000
MOVE
0
TO
HOLD­
MEASUREMENT
OPTB
268100
IF
(
ZERO­
COUNT
AND
MCMN
=
0)
OR
INSUFFICIENT­
ON
OPTB
268200
MOVE
+.
1E­
50
TO
HOLD­
MEASUREMENT
OPTB
268300
END­
IF
OPTB
268400
END­
IF
OPTB
268500
END­
IF
OPTB
268600
END­
IF
OPTB
268700
ELSE
OPTB
268800
IF
FILL1(
4)
=
'
1'
OR
'
2'
OPTB
268900
IF
MCAV
>
0
OPTB
269000
MOVE
LMCAV
TO
HOLD­
SIGN
OPTB
269100
COMPUTE
HOLD­
MEASUREMENT
=
MCAV
*
WS­
NRPU
*
30
OPTB
269200
IF
FLOW­
PARAMETER
AND
FILL1(
4)
=
'
2'
OPTB
269300
COMPUTE
HOLD­
MEASUREMENT
=
MCAV
OPTB
269400
END­
IF
OPTB
269500
ELSE
OPTB
269600
IF
MCMX
>
0
OPTB
269700
IF
MCMX­
WANTED
OPTB
269800
MOVE
LMCMX
TO
HOLD­
SIGN
OPTB
269900
COMPUTE
HOLD­
MEASUREMENT
=
MCMX
*
WS­
NRPU
*
30
OPTB
270000
IF
FLOW­
PARAMETER
AND
FILL1(
5)
=
'
2'
OPTB
270100
COMPUTE
HOLD­
MEASUREMENT
=
MCMX
OPTB
270200
END­
IF
OPTB
270300
ELSE
OPTB
270400
IF
NOT
AVG­
ONLY
OPTB
270500
MOVE
LMCMX
TO
HOLD­
SIGN
OPTB
270600
COMPUTE
HOLD­
MEASUREMENT
=
MCMX
*
WS­
NRPU
*
30
OPTB
270700
IF
FILL1(
5)
=
'
3'
OPTB
270800
IF
CHLORINE
AND
LIMIT­
EXCD
OPTB
270900
COMPUTE
HOLD­
MEASUREMENT
=
MCMX
*
WS­
NRPU
OPTB
271000
ELSE
OPTB
271100
IF
AVG­
MAX­
EST
OPTB
271200
DIVIDE
1.5
INTO
HOLD­
MEASUREMENT
OPTB
271300
END­
IF
OPTB
271400
END­
IF
OPTB
271500
END­
IF
OPTB
271600
END­
IF
OPTB
271700
END­
IF
OPTB
271800
ELSE
OPTB
271900
IF
MCMN
>
0
AND
NOT
AVG­
ONLY
OPTB
272000
MOVE
LMCMN
TO
HOLD­
SIGN
OPTB
272100
COMPUTE
HOLD­
MEASUREMENT
=
MCMN
*
WS­
NRPU
*
30
OPTB
272200
ELSE
OPTB
272300
MOVE
0
TO
HOLD­
MEASUREMENT
OPTB
272400
IF
(
ZERO­
COUNT
AND
MCAV
=
0)
OR
INSUFFICIENT­
ON
OPTB
272500
MOVE
+.
1E­
50
TO
HOLD­
MEASUREMENT
OPTB
272600
END­
IF
OPTB
272700
END­
IF
OPTB
272800
END­
IF
OPTB
272900
END­
IF
OPTB
273000
ELSE
OPTB
273100
IF
FILL1(
5)
=
'
1'
OR
'
2'
OPTB
273200
IF
MCMX
>
0
OPTB
273300
MOVE
LMCMX
TO
HOLD­
SIGN
OPTB
273400
COMPUTE
HOLD­
MEASUREMENT
=
MCMX
*
WS­
NRPU
*
30
OPTB
273500
IF
FLOW­
PARAMETER
AND
FILL1(
5)
=
'
2'
OPTB
273600
COMPUTE
HOLD­
MEASUREMENT
=
MCMX
OPTB
273700
END­
IF
OPTB
273800
ELSE
OPTB
273900
IF
MCAV
>
0
AND
NOT
AVG­
ONLY
OPTB
274000
MOVE
LMCAV
TO
HOLD­
SIGN
OPTB
274100
COMPUTE
HOLD­
MEASUREMENT
=
MCAV
*
WS­
NRPU
*
30
OPTB
274200
ELSE
OPTB
274300
IF
MCMN
>
0
AND
NOT
AVG­
ONLY
OPTB
274400
MOVE
LMCMN
TO
HOLD­
SIGN
OPTB
274500
COMPUTE
HOLD­
MEASUREMENT
=
MCMN
*
WS­
NRPU
*
30
OPTB
274600
ELSE
OPTB
274700
MOVE
0
TO
HOLD­
MEASUREMENT
OPTB
274800
IF
(
ZERO­
COUNT
AND
MCMX
=
0)
OR
INSUFFICIENT­
ON
OPTB
274900
MOVE
+.
1E­
50
TO
HOLD­
MEASUREMENT
OPTB
275000
END­
IF
OPTB
275100
END­
IF
OPTB
275200
END­
IF
OPTB
275300
END­
IF
OPTB
275400
ELSE
OPTB
275500
IF
AVG­
ONLY
OPTB
275600
MOVE
0
TO
HOLD­
MEASUREMENT
OPTB
275700
IF
(
ZERO­
COUNT
AND
((
MCMN
=
0)
OR
(
MCAV
=
0)
OPTB
275800
OR
(
MCMX
=
0)))
OR
INSUFFICIENT­
ON
OPTB
275900
MOVE
+.
1E­
50
TO
HOLD­
MEASUREMENT
OPTB
276000
END­
IF
OPTB
276100
ELSE
OPTB
276200
IF
MCAV
>
0
OPTB
276300
MOVE
LMCAV
TO
HOLD­
SIGN
OPTB
276400
COMPUTE
HOLD­
MEASUREMENT
=
MCAV
*
WS­
NRPU
*
30
OPTB
276500
IF
FILL1(
4)
=
'
3'
OPTB
276600
IF
CHLORINE
AND
LIMIT­
EXCD
OPTB
276700
COMPUTE
HOLD­
MEASUREMENT
=
MCAV
*
WS­
NRPU
OPTB
276800
ELSE
OPTB
276900
IF
AVG­
MAX­
EST
OPTB
277000
DIVIDE
1.5
INTO
HOLD­
MEASUREMENT
OPTB
277100
END­
IF
OPTB
277200
END­
IF
OPTB
277300
END­
IF
OPTB
277400
ELSE
OPTB
277500
IF
MCMX
>
0
OPTB
277600
MOVE
LMCMX
TO
HOLD­
SIGN
OPTB
277700
COMPUTE
HOLD­
MEASUREMENT
=
MCMX
*
WS­
NRPU
*
30
OPTB
277800
IF
FILL1(
5)
=
'
3'
OPTB
277900
IF
CHLORINE
AND
LIMIT­
EXCD
OPTB
278000
COMPUTE
HOLD­
MEASUREMENT
=
MCMX
*
WS­
NRPU
OPTB
278100
ELSE
OPTB
278200
IF
AVG­
MAX­
EST
OPTB
278300
DIVIDE
1.5
INTO
HOLD­
MEASUREMENT
OPTB
278400
END­
IF
OPTB
278500
END­
IF
OPTB
278600
END­
IF
OPTB
278700
ELSE
OPTB
278800
IF
MCMN
>
0
OPTB
278900
MOVE
LMCMN
TO
HOLD­
SIGN
OPTB
279000
COMPUTE
HOLD­
MEASUREMENT
=
MCMN
*
WS­
NRPU
*
30
OPTB
279100
IF
FILL1(
3)
=
'
3'
OPTB
279200
IF
CHLORINE
AND
LIMIT­
EXCD
OPTB
279300
COMPUTE
HOLD­
MEASUREMENT
=
MCMN
*
WS­
NRPU
OPTB
279400
ELSE
OPTB
279500
IF
AVG­
MAX­
EST
OPTB
279600
DIVIDE
1.5
INTO
HOLD­
MEASUREMENT
OPTB
279700
END­
IF
OPTB
279800
END­
IF
OPTB
279900
END­
IF
OPTB
280000
ELSE
OPTB
280100
MOVE
0
TO
HOLD­
MEASUREMENT
OPTB
280200
IF
(
ZERO­
COUNT
AND
((
MCMN
=
0)
OR
(
MCAV
=
0)
OPTB
280300
OR
(
MCMX
=
0)))
OR
INSUFFICIENT­
ON
OPTB
280400
MOVE
+.
1E­
50
TO
HOLD­
MEASUREMENT.
OPTB
280500*
OPTB
280600
420­
CALC­
QUANT.
OPTB
280700
MOVE
F­
STAT
TO
LINKSTAT.
OPTB
280800*
PERFORM
450­
SEARCH­
STBC.
OPTB
280900*
MOVE
SPACES
TO
FIELD­
WANTED­
SW
OPTB
281000*
PERFORM
460­
DETERMINE­
FIELD
OPTB
281100*
VARYING
CALL­
SUB
OPTB
281200*
FROM
1
BY
1
OPTB
281300*
UNTIL
CALL­
SUB
GREATER
5.
OPTB
281400
MOVE
LCSC
TO
C­
UNIT.
OPTB
281500*
IF
((
MQAV­
WANTED
OR
MQMX­
WANTED)
AND
F­
LQSC
NOT
=
SPACES)
OPTB
281600*
OR
(
F­
LCSC
=
SPACES)
OPTB
281700
IF
F­
LQSC
NOT
=
SPACES
OPTB
281800
MOVE
F­
LQSC
TO
F­
UNIT
OPTB
281900
ELSE
OPTB
282000
MOVE
F­
LCSC
TO
F­
UNIT.
OPTB
282100
SET
CF­
INDEX
TO
1.
OPTB
282200
SEARCH
CF­
CONVERSION­
TABLE
OPTB
282300
AT
END
MOVE
0
TO
C­
F­
FACTOR
OPTB
282400
WHEN
CF­
UNITS(
CF­
INDEX)
=
C­
F­
UNITS
OPTB
282500
MOVE
CF­
FACTOR(
CF­
INDEX)
TO
C­
F­
FACTOR.
OPTB
282600
IF
NOT
FLOW­
PARAMETER
OPTB
282700
IF
(
FILL1(
1)
EQUAL
'
1'
OR
'
2')
AND
F­
MQAV
>
0
OPTB
282800
MOVE
F­
MQAV
TO
HOLD­
FLOW
OPTB
282900
IF
FILL1(
1)
EQUAL
'
2'
OPTB
283000
COMPUTE
HOLD­
FLOW
=
HOLD­
FLOW
/
30
OPTB
283100
END­
IF
OPTB
283200
ELSE
OPTB
283300
IF
(
FILL1(
2)
EQUAL
'
1'
OR
'
2')
AND
F­
MQMX
>
0
OPTB
283400
MOVE
F­
MQMX
TO
HOLD­
FLOW
OPTB
283500
IF
FILL1(
2)
EQUAL
'
2'
OPTB
283600
COMPUTE
HOLD­
FLOW
=
HOLD­
FLOW
/
30
OPTB
283700
END­
IF
OPTB
283800
ELSE
OPTB
283900
IF
(
FILL1(
3)
EQUAL
'
1'
OR
'
2')
AND
F­
MCMN
>
0
OPTB
284000
MOVE
F­
MCMN
TO
HOLD­
FLOW
OPTB
284100
IF
FILL1(
3)
EQUAL
'
2'
OPTB
284200
COMPUTE
HOLD­
FLOW
=
HOLD­
FLOW
/
30
OPTB
284300
END­
IF
OPTB
284400
ELSE
OPTB
284500
IF
(
FILL1(
4)
EQUAL
'
1'
OR
'
2')
AND
F­
MCAV
>
0
OPTB
284600
MOVE
F­
MCAV
TO
HOLD­
FLOW
OPTB
284700
IF
FILL1(
4)
EQUAL
'
2'
OPTB
284800
COMPUTE
HOLD­
FLOW
=
HOLD­
FLOW
/
30
OPTB
284900
END­
IF
OPTB
285000
ELSE
OPTB
285100
IF
(
FILL1(
5)
EQUAL
'
1'
OR
'
2')
AND
F­
MCMX
>
0
OPTB
285200
MOVE
F­
MCMX
TO
HOLD­
FLOW
OPTB
285300
IF
FILL1(
5)
EQUAL
'
2'
OPTB
285400
COMPUTE
HOLD­
FLOW
=
HOLD­
FLOW
/
30
OPTB
285500
END­
IF
OPTB
285600
ELSE
OPTB
285700
IF
FILL1(
1)
=
'
0'
AND
FILL1(
2)
=
'
0'
AND
FILL1(
3)
=
'
0'
OPTB
285800
AND
FILL1(
4)
=
'
0'
AND
FILL1(
5)
=
'
0'
OPTB
285900
DISPLAY
'**
FLOW
STATISTICAL
BASE
CODE
'
F­
STAT
OPTB
286000
'
INVALID
FOR
THIS
OPTION
(
NPID:
'
NPID
'
DSCH:
'
OPTB
286100
DSCH
'
PRAM:
'
PARM
'
MLOC:
'
MLOC
')
**'
OPTB
286200
END­
IF
OPTB
286300
IF
F­
MQAV
>
0
OPTB
286400
MOVE
F­
MQAV
TO
HOLD­
FLOW
OPTB
286500
ELSE
OPTB
286600
IF
F­
MQMX
>
0
OPTB
286700
MOVE
F­
MQMX
TO
HOLD­
FLOW
OPTB
286800
ELSE
OPTB
286900
IF
F­
MCAV
>
0
OPTB
287000
MOVE
F­
MCAV
TO
HOLD­
FLOW
OPTB
287100
ELSE
OPTB
287200
IF
F­
MCMX
>
0
OPTB
287300
MOVE
F­
MCMX
TO
HOLD­
FLOW
OPTB
287400
ELSE
OPTB
287500
IF
F­
MCMN
>
0
OPTB
287600
MOVE
F­
MCMN
TO
HOLD­
FLOW
OPTB
287700
ELSE
OPTB
287800
IF
INSUFFICIENT­
ON
OPTB
287900
MOVE
+.
1E­
50
TO
HOLD­
FLOW
OPTB
288000
ELSE
OPTB
288100
MOVE
0
TO
HOLD­
FLOW
OPTB
288200
END­
IF
OPTB
288300
END­
IF
OPTB
288400
END­
IF
OPTB
288500
END­
IF
OPTB
288600
END­
IF
OPTB
288700
END­
IF
OPTB
288800
END­
IF
OPTB
288900
END­
IF
OPTB
289000
END­
IF
OPTB
289100
END­
IF
OPTB
289200
END­
IF
OPTB
289300
IF
F­
PRAM
=
'
50050'
AND
HOLD­
FLOW
>
1300
OPTB
289400
DISPLAY
'**
PROBABLE
FLOW
ERROR
(
NPID:
'
NPID
OPTB
289500
'
DSCH:
'
DSCH
'
PRAM:
'
PARM
'
MLOC:
'
MLOC
OPTB
289600
'
FLOW:
'
HOLD­
FLOW
')
**'
OPTB
289700
COMPUTE
HOLD­
FLOW
=
HOLD­
FLOW
/
1000000
OPTB
289800
END­
IF
OPTB
289900
COMPUTE
HOLD­
MEASUREMENT
=
OPTB
290000
HOLD­
MEASUREMENT
*
C­
F­
FACTOR
*
HOLD­
FLOW.
OPTB
290100*
OPTB
290200
430­
CHECK­
FLOW.
OPTB
290300
IF
(
PARM
=
'
50050'
OR
'
FLOW')
OPTB
290400
AND
HOLD­
MEASUREMENT
>
39000
*
WS­
NRPU
OPTB
290500
COMPUTE
HOLD­
MEASUREMENT
=
HOLD­
MEASUREMENT
/
1000000
OPTB
290600
COMPUTE
HOLD­
FLOW
=
HOLD­
MEASUREMENT
/
(
WS­
NRPU
*
30)
OPTB
290700
DISPLAY
'**
PROBABLE
FLOW
ERROR
(
NPID:
'
NPID
OPTB
290800
'
DSCH:
'
DSCH
'
PRAM:
'
PARM
'
MLOC:
'
MLOC
OPTB
290900
'
FLOW:
'
HOLD­
FLOW
')
**'.
OPTB
291000*
OPTB
291100
440­
DET­
DATA­
FIELD.
OPTB
291200
IF
NOT
ND­
LIMIT
OPTB
291300
PERFORM
410­
NON­
DETECT­
RTN.
OPTB
291400
MOVE
0
TO
HOLD­
LOAD.
OPTB
291500
MOVE
0
TO
HOLD­
CONC.
OPTB
291600
MOVE
0
TO
HOLD­
FLOW.
OPTB
291700*
OPTB
291800
IF
(
FILL1(
1)
=
'
1'
OR
'
2')
AND
MQAV
>
0
OPTB
291900
MOVE
MQAV
TO
HOLD­
LOAD
OPTB
292000
IF
FILL1(
1)
=
'
2'
OPTB
292100
COMPUTE
HOLD­
LOAD
=
HOLD­
LOAD
/
30
OPTB
292200
END­
IF
OPTB
292300
ELSE
OPTB
292400
IF
(
FILL1(
2)
=
'
1'
OR
'
2')
AND
MQMX
>
0
OPTB
292500
MOVE
MQMX
TO
HOLD­
LOAD
OPTB
292600
IF
FILL1(
2)
=
'
2'
OPTB
292700
COMPUTE
HOLD­
LOAD
=
HOLD­
LOAD
/
30
OPTB
292800
END­
IF
OPTB
292900
ELSE
OPTB
293000
IF
MQAV
>
0
OPTB
293100
MOVE
MQAV
TO
HOLD­
LOAD
OPTB
293200
ELSE
OPTB
293300
IF
MQMX
>
0
OPTB
293400
MOVE
MQMX
TO
HOLD­
LOAD.
OPTB
293500*
OPTB
293600
IF
FILL1(
3)
EQUAL
'
1'
OPTB
293700
IF
MCMN
>
0
OPTB
293800
MOVE
MCMN
TO
HOLD­
CONC
OPTB
293900
ELSE
OPTB
294000
IF
MCAV
>
0
OPTB
294100
MOVE
MCAV
TO
HOLD­
CONC
OPTB
294200
ELSE
OPTB
294300
IF
MCMX
>
0
OPTB
294400
MOVE
MCMX
TO
HOLD­
CONC
OPTB
294500
ELSE
OPTB
294600
MOVE
0
TO
HOLD­
CONC
OPTB
294700
ELSE
OPTB
294800
IF
FILL1(
4)
EQUAL
'
1'
OPTB
294900
IF
MCAV
>
0
OPTB
295000
MOVE
MCAV
TO
HOLD­
CONC
OPTB
295100
ELSE
OPTB
295200
IF
MCMX
>
0
OPTB
295300
MOVE
MCMX
TO
HOLD­
CONC
OPTB
295400
ELSE
OPTB
295500
IF
MCMN
>
0
OPTB
295600
MOVE
MCMN
TO
HOLD­
CONC
OPTB
295700
ELSE
OPTB
295800
MOVE
0
TO
HOLD­
CONC
OPTB
295900
ELSE
OPTB
296000
IF
FILL1(
5)
EQUAL
'
1'
OPTB
296100
IF
MCMX
>
0
OPTB
296200
MOVE
MCMX
TO
HOLD­
CONC
OPTB
296300
ELSE
OPTB
296400
IF
MCAV
>
0
OPTB
296500
MOVE
MCAV
TO
HOLD­
CONC
OPTB
296600
ELSE
OPTB
296700
IF
MCMN
>
0
OPTB
296800
MOVE
MCMN
TO
HOLD­
CONC
OPTB
296900
ELSE
OPTB
297000
MOVE
0
TO
HOLD­
CONC
OPTB
297100
ELSE
OPTB
297200
IF
MCAV
>
0
OPTB
297300
MOVE
MCAV
TO
HOLD­
CONC
OPTB
297400
ELSE
OPTB
297500
IF
MCMX
>
0
OPTB
297600
MOVE
MCMX
TO
HOLD­
CONC
OPTB
297700
ELSE
OPTB
297800
IF
MCMN
>
0
OPTB
297900
MOVE
MCMN
TO
HOLD­
CONC
OPTB
298000
ELSE
OPTB
298100
MOVE
0
TO
HOLD­
CONC.
OPTB
298200*
OPTB
298300
MOVE
F­
STAT
TO
LINKSTAT.
OPTB
298400*
PERFORM
450­
SEARCH­
STBC.
OPTB
298500*
OPTB
298600
IF
(
FILL1(
1)
EQUAL
'
1'
OR
'
2')
AND
F­
MQAV
>
0
OPTB
298700
MOVE
F­
MQAV
TO
HOLD­
FLOW
OPTB
298800
IF
FILL1(
1)
EQUAL
'
2'
OPTB
298900
COMPUTE
HOLD­
FLOW
=
HOLD­
FLOW
/
30
OPTB
299000
END­
IF
OPTB
299100
ELSE
OPTB
299200
IF
(
FILL1(
2)
EQUAL
'
1'
OR
'
2')
AND
F­
MQMX
>
0
OPTB
299300
MOVE
F­
MQMX
TO
HOLD­
FLOW
OPTB
299400
IF
FILL1(
2)
EQUAL
'
2'
OPTB
299500
COMPUTE
HOLD­
FLOW
=
HOLD­
FLOW
/
30
OPTB
299600
END­
IF
OPTB
299700
ELSE
OPTB
299800
IF
(
FILL1(
3)
EQUAL
'
1'
OR
'
2')
AND
F­
MCMN
>
0
OPTB
299900
MOVE
F­
MCMN
TO
HOLD­
FLOW
OPTB
300000
IF
FILL1(
3)
EQUAL
'
2'
OPTB
300100
COMPUTE
HOLD­
FLOW
=
HOLD­
FLOW
/
30
OPTB
300200
END­
IF
OPTB
300300
ELSE
OPTB
300400
IF
(
FILL1(
4)
EQUAL
'
1'
OR
'
2')
AND
F­
MCAV
>
0
OPTB
300500
MOVE
F­
MCAV
TO
HOLD­
FLOW
OPTB
300600
IF
FILL1(
4)
EQUAL
'
2'
OPTB
300700
COMPUTE
HOLD­
FLOW
=
HOLD­
FLOW
/
30
OPTB
300800
END­
IF
OPTB
300900
ELSE
OPTB
301000
IF
(
FILL1(
5)
EQUAL
'
1'
OR
'
2')
AND
F­
MCMX
>
0
OPTB
301100
MOVE
F­
MCMX
TO
HOLD­
FLOW
OPTB
301200
IF
FILL1(
5)
EQUAL
'
2'
OPTB
301300
COMPUTE
HOLD­
FLOW
=
HOLD­
FLOW
/
30
OPTB
301400
END­
IF
OPTB
301500
ELSE
OPTB
301600
IF
F­
MQAV
>
0
OPTB
301700
MOVE
F­
MQAV
TO
HOLD­
FLOW
OPTB
301800
ELSE
OPTB
301900
IF
F­
MQMX
>
0
OPTB
302000
MOVE
F­
MQMX
TO
HOLD­
FLOW
OPTB
302100
ELSE
OPTB
302200
IF
F­
MCAV
>
0
OPTB
302300
MOVE
F­
MCAV
TO
HOLD­
FLOW
OPTB
302400
ELSE
OPTB
302500
IF
F­
MCMX
>
0
OPTB
302600
MOVE
F­
MCMX
TO
HOLD­
FLOW
OPTB
302700
ELSE
OPTB
302800
IF
F­
MCMN
>
0
OPTB
302900
MOVE
F­
MCMN
TO
HOLD­
FLOW
OPTB
303000
ELSE
OPTB
303100
MOVE
0
TO
HOLD­
FLOW.
OPTB
303200*
OPTB
303300
MOVE
LCSC
TO
C­
UNIT.
OPTB
303400*
IF
(
FILL1(
1)
EQUAL
'
1'
OR
FILL1(
2)
EQUAL
'
1')
OR
OPTB
303500*
F­
LCSC
=
SPACES
OPTB
303600
IF
F­
LQSC
NOT
=
SPACES
OPTB
303700
MOVE
F­
LQSC
TO
F­
UNIT
OPTB
303800
ELSE
OPTB
303900
MOVE
F­
LCSC
TO
F­
UNIT.
OPTB
304000
SET
CF­
INDEX
TO
1.
OPTB
304100
SEARCH
CF­
CONVERSION­
TABLE
OPTB
304200
AT
END
MOVE
0
TO
C­
F­
FACTOR
OPTB
304300
WHEN
CF­
UNITS(
CF­
INDEX)
=
C­
F­
UNITS
OPTB
304400
MOVE
CF­
FACTOR(
CF­
INDEX)
TO
C­
F­
FACTOR.
OPTB
304500*
OPTB
304600*
CONVERT
THE
C­
F­
FACTOR
AND
FLOW
INTO
STANDARD
UNIT
(
MGD).
OPTB
304700*
OPTB
304800
IF
F­
UNIT
EQUAL
'
07'
OPTB
304900
COMPUTE
C­
F­
FACTOR
=
C­
F­
FACTOR
*
+.
10000000E+
07
OPTB
305000
COMPUTE
HOLD­
FLOW
=
HOLD­
FLOW
*
+.
10000000E­
05
OPTB
305100
ELSE
OPTB
305200
IF
F­
UNIT
EQUAL
'
16'
OPTB
305300
COMPUTE
C­
F­
FACTOR
=
C­
F­
FACTOR
*
+.
37850000E+
04
OPTB
305400
COMPUTE
HOLD­
FLOW
=
HOLD­
FLOW
*
+.
26420000E­
03
OPTB
305500
ELSE
OPTB
305600
IF
F­
UNIT
EQUAL
'
78'
OPTB
305700
COMPUTE
C­
F­
FACTOR
=
C­
F­
FACTOR
*
+.
69444444E+
03
OPTB
305800
COMPUTE
HOLD­
FLOW
=
HOLD­
FLOW
*
+.
14400000E­
02.
OPTB
305900*
OPTB
306000*
CONVERT
THE
C­
F­
FACTOR
AND
CONC
INTO
STANDARD
UNIT
(
MG/
L).
OPTB
306100*
OPTB
306200
IF
C­
UNIT
EQUAL
'
21'
OPTB
306300
COMPUTE
C­
F­
FACTOR
=
C­
F­
FACTOR
*
+.
10000000E+
04
OPTB
306400
COMPUTE
HOLD­
CONC
=
HOLD­
CONC
*
+.
10000000E­
02
OPTB
306500*
MOVE
'
PPB'
TO
CONC­
LABEL
OPTB
306600
ELSE
OPTB
306700
IF
C­
UNIT
EQUAL
'
22'
OPTB
306800
COMPUTE
C­
F­
FACTOR
=
C­
F­
FACTOR
*
+.
10000000E+
07
OPTB
306900
COMPUTE
HOLD­
CONC
=
HOLD­
CONC
*
+.
10000000E­
05
OPTB
307000*
MOVE
'
PPT'
TO
CONC­
LABEL
OPTB
307100
ELSE
OPTB
307200
IF
C­
UNIT
EQUAL
'
28'
OPTB
307300
COMPUTE
C­
F­
FACTOR
=
C­
F­
FACTOR
*
+.
10000000E+
04
OPTB
307400
COMPUTE
HOLD­
CONC
=
HOLD­
CONC
*
+.
10000000E­
02
OPTB
307500*
MOVE
'
UG/
L'
TO
CONC­
LABEL
OPTB
307600
ELSE
OPTB
307700
IF
C­
UNIT
EQUAL
'
32'
OPTB
307800
COMPUTE
C­
F­
FACTOR
=
C­
F­
FACTOR
*
+.
10000000E­
02
OPTB
307900
COMPUTE
HOLD­
CONC
=
HOLD­
CONC
*
+.
10000000E+
04
OPTB
308000*
MOVE
'
PPTH'
TO
CONC­
LABEL
OPTB
308100
ELSE
OPTB
308200
IF
C­
UNIT
EQUAL
'
36'
OPTB
308300
COMPUTE
C­
F­
FACTOR
=
C­
F­
FACTOR
*
+.
10000000E­
02
OPTB
308400
COMPUTE
HOLD­
CONC
=
HOLD­
CONC
*
+.
10000000E+
04
OPTB
308500*
MOVE
'
G/
L'
TO
CONC­
LABEL
OPTB
308600
ELSE
OPTB
308700
IF
C­
UNIT
EQUAL
'
37'
OPTB
308800
COMPUTE
C­
F­
FACTOR
=
C­
F­
FACTOR
*
+.
10000000E­
05
OPTB
308900
COMPUTE
HOLD­
CONC
=
HOLD­
CONC
*
+.
10000000E+
07
OPTB
309000*
MOVE
'
KG/
L'
TO
CONC­
LABEL
OPTB
309100
ELSE
OPTB
309200
IF
C­
UNIT
EQUAL
'
64'
OPTB
309300
COMPUTE
C­
F­
FACTOR
=
C­
F­
FACTOR
*
+.
10000000E­
05
OPTB
309400
COMPUTE
HOLD­
CONC
=
HOLD­
CONC
*
+.
10000000E+
07.
OPTB
309500*
MOVE
'
G/
ML'
TO
CONC­
LABEL.
OPTB
309600*
OPTB
309700
IF
HOLD­
LOAD
EQUAL
0
AND
HOLD­
CONC
>
0
OPTB
309800
COMPUTE
HOLD­
LOAD
=
HOLD­
CONC
*
HOLD­
FLOW
*
C­
F­
FACTOR.
OPTB
309900*
OPTB
310000
IF
HOLD­
LOAD
>
0
AND
HOLD­
CONC
EQUAL
0
AND
HOLD­
FLOW
>
0
AND
OPTB
310100
C­
F­
FACTOR
NOT
EQUAL
0
OPTB
310200
COMPUTE
HOLD­
CONC
=
HOLD­
LOAD
/
(
HOLD­
FLOW
*
C­
F­
FACTOR).
OPTB
310300*
OPTB
310400
IF
HOLD­
LOAD
>
0
AND
HOLD­
FLOW
EQUAL
0
AND
HOLD­
CONC
>
0
OPTB
310500
COMPUTE
HOLD­
FLOW
=
HOLD­
LOAD
/
(
HOLD­
CONC
*
3.785).
OPTB
310600*
OPTB
310700
PERFORM
3000­
PRODUCE­
OUT.
OPTB
310800*
OPTB
310900
450­
SEARCH­
STBC.
OPTB
311000
SEARCH
ALL
STBC­
INFO
OPTB
311100
AT
END
MOVE
'
00000'
TO
LINKSTAT
OPTB
311200
WHEN
T­
STBC(
STBC­
INDEX)
EQUAL
STAT
OPTB
311300
MOVE
T­
STBC­
VALUES(
STBC­
INDEX)
TO
LINKSTAT.
OPTB
311400*
OPTB
311500
460­
DETERMINE­
FIELD.
OPTB
311600
IF
FILL1(
CALL­
SUB)
EQUAL
'
1'
OR
'
2'
OPTB
311700
MOVE
CALL­
SUB
TO
FIELD­
WANTED­
SW
OPTB
311800
MOVE
5
TO
CALL­
SUB.
OPTB
311900***************************************************************
OPTB
312000*
MODULE
470
ADDS
THE
FIELD
HOLD­
MEASUREMENT
TO
TWO
FIELDS*
OPTB
312100*
IN
PARM­
TABLE,
MEASUREMENT
AND
TOTAL.
MEASUREMENT
IS
USED
*
OPTB
312200*
TO
ACCUMULATE
TOTALS
FOR
EACH
YEAR
AND
TOTAL
IS
A
GRAND
*
OPTB
312300*
TOTAL
FOR
THE
REPORTING
PERIOD
FOR
EACH
PARAMETER.
*
OPTB
312400*
WHEN
THE
YEAR
CHANGES
BUT
THE
PARAMETER
STAYS
THE
SAME,
*
OPTB
312500*
THE
YEAR­
INDEX
IS
SET
UP
BY
1
AND
THE
YEAR
IS
STORED
INTO
*
OPTB
312600*
PARM­
TABLE
AND
MOVED
TO
A
PREVIOUS
KEY
FIELD.
IF
THE
*
OPTB
312700*
PARAMETER
CHANGES,
PARM­
INDEX
IS
SET
UP
BY
1
AND
YEAR­
INDEX
*
OPTB
312800*
IS
REINITIALIZED
TO
1.
SIMILARLY,
THE
PARAMETER
CODE
AND
*
OPTB
312900*
THE
YEAR
ARE
STORED
IN
PARM­
TABLE
AND
BOTH
ARE
MOVED
TO
PRE­*
OPTB
313000*
VIOUS
KEYS.
*
OPTB
313100***************************************************************
OPTB
313200
470­
ADD­
NUMBERS.
OPTB
313300
IF
PARM
=
'
00058'
OPTB
313400
COMPUTE
HOLD­
MEASUREMENT
=
HOLD­
MEASUREMENT
*
1440.
OPTB
313500*
IF
HOLD­
MEASUREMENT
<
+.
1E­
03
OPTB
313600*
MOVE
0
TO
HOLD­
MEASUREMENT.
OPTB
313700
SUBTRACT
YY1
FROM
M­
YEAR
OPTB
313800
GIVING
YEAR­
INDICATOR.
OPTB
313900
ADD
1
TO
YEAR­
INDICATOR.
OPTB
314000
IF
YEAR­
INDICATOR
>
YEAR­
HIGH
OPTB
314100
MOVE
YEAR­
INDICATOR
TO
YEAR­
HIGH.
OPTB
314200
SET
YEAR­
INDEX
TO
YEAR­
INDICATOR.
OPTB
314300
IF
YEAR­
SUB
<
YEAR­
INDICATOR
OPTB
314400
MOVE
YEAR­
INDICATOR
TO
YEAR­
SUB.
OPTB
314500
IF
(
PARM
EQUAL
PREV­
PARM)
AND
(
NOT
OUTFALL­
BREAK
OPTB
314600
OR
(
OUTFALL­
BREAK
AND
MLOC
=
HOLD­
MLOC))
OPTB
314700
IF
M­
YEAR
EQUAL
PREV­
YEAR
OPTB
314800
SET
MONTH­
INDEX
TO
M­
MONTH
OPTB
314900D
DISPLAY
'
1
'
'
PARM:
'
PARM
'
M­
YRMNTH:
'
M­
YRMNTH
OPTB
315000D
'
PREV­
YRMNTH:
'
PREV­
YRMNTH
OPTB
315100
IF
HOLD­
MEASUREMENT
>
0
OPTB
315200
IF
WS­
NRPU
=
1
OPTB
315300
IF
M­
YRMNTH
NOT
EQUAL
PREV­
YRMNTH
OPTB
315400
ADD
1
TO
TB­
COUNT(
PARM­
INDEX,
YEAR­
INDEX)
OPTB
315500
TCOUNT(
PARM­
INDEX)
WS­
TCOUNT
OPTB
315600
END­
IF
OPTB
315700*
IF
HOLD­
MEASUREMENT
>
+.
1E­
10
OPTB
315800
IF
HOLD­
SIGN
=
'­'
OPTB
315900
MULTIPLY
HOLD­
MEASUREMENT
BY
­
1
GIVING
OPTB
316000
HOLD­
MEASUREMENT
OPTB
316100
END­
IF
OPTB
316200
ADD
HOLD­
MEASUREMENT
TO
OPTB
316300
MEASUREMENT(
PARM­
INDEX,
YEAR­
INDEX)
OPTB
316400
MONTH­
LOAD(
PARM­
INDEX,
YEAR­
INDEX,
MONTH­
INDEX)
OPTB
316500
TOTAL(
PARM­
INDEX)
BG­
TOTAL
OPTB
316600*
END­
IF
OPTB
316700
ELSE
OPTB
316800
PERFORM
475­
ADJUST­
NRPU
OPTB
316900
END­
IF
OPTB
317000
MOVE
M­
YRMNTH
TO
PREV­
YRMNTH
OPTB
317100
ELSE
OPTB
317200
MOVE
SPACES
TO
PREV­
YRMNTH
OPTB
317300
END­
IF
OPTB
317400*
IF
WS­
NRPU
<
MFACTOR(
PARM­
INDEX)
OPTB
317500*
MOVE
WS­
NRPU
TO
MFACTOR(
PARM­
INDEX)
OPTB
317600*
END­
IF
OPTB
317700
ELSE
OPTB
317800
MOVE
M­
YEAR
TO
TB­
YEAR(
PARM­
INDEX,
YEAR­
INDEX)
PREV­
YEAR
OPTB
317900
BG­
YEAR
OPTB
318000
MOVE
SPACES
TO
PREV­
YRMNTH
OPTB
318100*
MOVE
WS­
NRPU
TO
MFACTOR(
PARM­
INDEX)
OPTB
318200D
DISPLAY
'
2
'
'
PARM:
'
PARM
'
M­
YRMNTH:
'
M­
YRMNTH
OPTB
318300D
'
PREV­
YRMNTH:
'
PREV­
YRMNTH
OPTB
318400
SET
MONTH­
INDEX
TO
M­
MONTH
OPTB
318500
IF
HOLD­
MEASUREMENT
>
0
OPTB
318600
IF
WS­
NRPU
=
1
OPTB
318700
ADD
1
TO
TB­
COUNT(
PARM­
INDEX,
YEAR­
INDEX)
OPTB
318800
TCOUNT(
PARM­
INDEX)
WS­
TCOUNT
OPTB
318900*
IF
HOLD­
MEASUREMENT
>
+.
1E­
10
OPTB
319000
IF
HOLD­
SIGN
=
'­'
OPTB
319100
MULTIPLY
HOLD­
MEASUREMENT
BY
­
1
GIVING
OPTB
319200
HOLD­
MEASUREMENT
OPTB
319300
END­
IF
OPTB
319400
ADD
HOLD­
MEASUREMENT
TO
OPTB
319500
MEASUREMENT(
PARM­
INDEX,
YEAR­
INDEX)
OPTB
319600
MONTH­
LOAD(
PARM­
INDEX,
YEAR­
INDEX,
MONTH­
INDEX)
OPTB
319700
TOTAL(
PARM­
INDEX)
BG­
TOTAL
OPTB
319800*
END­
IF
OPTB
319900
ELSE
OPTB
320000
PERFORM
475­
ADJUST­
NRPU
OPTB
320100
END­
IF
OPTB
320200
MOVE
M­
YRMNTH
TO
PREV­
YRMNTH
OPTB
320300
END­
IF
OPTB
320400*
IF
WS­
NRPU
<
MFACTOR(
PARM­
INDEX)
OPTB
320500*
MOVE
WS­
NRPU
TO
MFACTOR(
PARM­
INDEX)
OPTB
320600*
END­
IF
OPTB
320700
ELSE
OPTB
320800
SET
PARM­
INDEX
UP
BY
1
OPTB
320900
IF
PARM­
INDEX
>
500
OPTB
321000
PERFORM
480­
READ­
ROUTINE
OPTB
321100
ELSE
OPTB
321200
MOVE
PARM
TO
PARM­
NUM(
PARM­
INDEX)
PREV­
PARM
OPTB
321300
BG­
PARM
OPTB
321400
MOVE
MLOC
TO
PARM­
MLOC(
PARM­
INDEX)
OPTB
321500
MOVE
LQSC
TO
PARM­
LQSC(
PARM­
INDEX)
OPTB
321600
IF
OUTFALL­
BREAK
OPTB
321700
MOVE
MLOC
TO
HOLD­
MLOC
OPTB
321800
END­
IF
OPTB
321900
MOVE
M­
YEAR
TO
TB­
YEAR(
PARM­
INDEX,
YEAR­
INDEX)
OPTB
322000
PREV­
YEAR
BG­
YEAR
OPTB
322100
MOVE
SPACES
TO
PREV­
YRMNTH
OPTB
322200*
MOVE
WS­
NRPU
TO
MFACTOR(
PARM­
INDEX)
OPTB
322300D
DISPLAY
'
3
'
'
PARM:
'
PARM
'
M­
YRMNTH:
'
M­
YRMNTH
OPTB
322400D
'
PREV­
YRMNTH:
'
PREV­
YRMNTH
OPTB
322500
SET
MONTH­
INDEX
TO
M­
MONTH
OPTB
322600
IF
HOLD­
MEASUREMENT
>
0
OPTB
322700
IF
WS­
NRPU
=
1
OPTB
322800
ADD
1
TO
TB­
COUNT(
PARM­
INDEX,
YEAR­
INDEX)
OPTB
322900
TCOUNT(
PARM­
INDEX)
WS­
TCOUNT
OPTB
323000*
IF
HOLD­
MEASUREMENT
>
+.
1E­
10
OPTB
323100
IF
HOLD­
SIGN
=
'­'
OPTB
323200
MULTIPLY
HOLD­
MEASUREMENT
BY
­
1
GIVING
OPTB
323300
HOLD­
MEASUREMENT
OPTB
323400
END­
IF
OPTB
323500
ADD
HOLD­
MEASUREMENT
TO
OPTB
323600
MEASUREMENT(
PARM­
INDEX,
YEAR­
INDEX)
OPTB
323700
MONTH­
LOAD(
PARM­
INDEX,
YEAR­
INDEX,
MONTH­
INDEX)
OPTB
323800
TOTAL(
PARM­
INDEX)
BG­
TOTAL
OPTB
323900*
END­
IF
OPTB
324000
ELSE
OPTB
324100
PERFORM
475­
ADJUST­
NRPU
OPTB
324200
END­
IF
OPTB
324300
MOVE
M­
YRMNTH
TO
PREV­
YRMNTH
OPTB
324400
END­
IF.
OPTB
324500*
OPTB
324600
475­
ADJUST­
NRPU.
OPTB
324700
IF
HOLD­
SIGN
=
'­'
OPTB
324800
MULTIPLY
HOLD­
MEASUREMENT
BY
­
1
GIVING
HOLD­
MEASUREMENT.
OPTB
324900
COMPUTE
HOLD­
MEASUREMENT
=
HOLD­
MEASUREMENT
/
WS­
NRPU.
OPTB
325000
SET
HOLD­
YEAR­
INDEX
TO
YEAR­
INDEX.
OPTB
325100
SET
HOLD­
MONTH­
INDEX
TO
MONTH­
INDEX.
OPTB
325200
SET
M­
MM
TO
MONTH­
INDEX.
OPTB
325300
SET
M­
YY
TO
YEAR­
INDEX.
OPTB
325400
PERFORM
478­
ADD­
MONTH­
DATA
WS­
NRPU
TIMES.
OPTB
325500
SET
YEAR­
INDEX
TO
HOLD­
YEAR­
INDEX.
OPTB
325600
SET
MONTH­
INDEX
TO
HOLD­
MONTH­
INDEX.
OPTB
325700*
OPTB
325800
478­
ADD­
MONTH­
DATA.
OPTB
325900
COMPUTE
M­
YY
=
M­
YY
+
(
YY1
­
1).
OPTB
326000
IF
M­
MM
<
1
OPTB
326100
ADD
12
TO
M­
MM
OPTB
326200
IF
ANNUAL­
TOTALS
OPTB
326300
SUBTRACT
1
FROM
M­
YY.
OPTB
326400
IF
YYMM1
<=
M­
YYMM
OR
PERIOD­
TOTAL
OPTB
326500
COMPUTE
M­
YY
=
(
M­
YY
­
YY1)
+
1
OPTB
326600
SET
YEAR­
INDEX
TO
M­
YY
OPTB
326700
SET
MONTH­
INDEX
TO
M­
MM
OPTB
326800
SUBTRACT
1
FROM
M­
MM
OPTB
326900*
IF
HOLD­
MEASUREMENT
>
+.
1E­
10
OPTB
327000
ADD
HOLD­
MEASUREMENT
TO
OPTB
327100
MEASUREMENT(
PARM­
INDEX,
YEAR­
INDEX)
OPTB
327200
MONTH­
LOAD(
PARM­
INDEX,
YEAR­
INDEX,
MONTH­
INDEX)
OPTB
327300
TOTAL(
PARM­
INDEX)
BG­
TOTAL
OPTB
327400
IF
M­
YRMNTH
NOT
EQUAL
PREV­
YRMNTH
OPTB
327500
ADD
1
TO
TB­
COUNT(
PARM­
INDEX,
YEAR­
INDEX)
OPTB
327600
TCOUNT(
PARM­
INDEX)
WS­
TCOUNT.
OPTB
327700*
OPTB
327800
480­
READ­
ROUTINE.
OPTB
327900
IF
FACILITY­
BREAK
OR
WORST­
REPORT
OPTB
328000
PERFORM
500­
READ­
PCS­
INFO
UNTIL
OPTB
328100
NPID
NOT
EQUAL
PREV­
NPID
OPTB
328200
ELSE
OPTB
328300
IF
OUTFALL­
BREAK
OPTB
328400
PERFORM
500­
READ­
PCS­
INFO
UNTIL
OPTB
328500
DSCH
NOT
EQUAL
PREV­
DSCH
OR
OPTB
328600
NPID
NOT
EQUAL
PREV­
NPID
OPTB
328700
ELSE
OPTB
328800
IF
BASIN­
BREAK
OPTB
328900
PERFORM
500­
READ­
PCS­
INFO
UNTIL
OPTB
329000
FHBC
NOT
EQUAL
PREV­
FHBC
OPTB
329100
ELSE
OPTB
329200
IF
STATE­
BREAK
AND
HYDROL­
STATE
OPTB
329300
PERFORM
500­
READ­
PCS­
INFO
UNTIL
OPTB
329400
STATE
NOT
EQUAL
PREV­
STATE
OR
OPTB
329500
FHBC
NOT
EQUAL
PREV­
FHBC
OPTB
329600
ELSE
OPTB
329700
IF
STATE­
BREAK
OPTB
329800
PERFORM
500­
READ­
PCS­
INFO
UNTIL
OPTB
329900
STATE
NOT
EQUAL
PREV­
STATE
OPTB
330000
ELSE
OPTB
330100
IF
COUNTY­
BREAK
AND
HYDROL­
COUNTY
OPTB
330200
PERFORM
500­
READ­
PCS­
INFO
UNTIL
OPTB
330300
CNTY
NOT
EQUAL
PREV­
CNTY
OR
OPTB
330400
FHBC
NOT
EQUAL
PREV­
FHBC
OPTB
330500
ELSE
OPTB
330600
IF
COUNTY­
BREAK
OPTB
330700
PERFORM
500­
READ­
PCS­
INFO
UNTIL
OPTB
330800
CNTY
NOT
EQUAL
PREV­
CNTY
OPTB
330900
ELSE
OPTB
331000
IF
CITY­
BREAK
AND
HYDROL­
CITY
OPTB
331100
PERFORM
500­
READ­
PCS­
INFO
UNTIL
OPTB
331200
CITY
NOT
EQUAL
PREV­
CITY
OR
OPTB
331300
FHBC
NOT
EQUAL
PREV­
FHBC
OPTB
331400
ELSE
OPTB
331500
IF
CITY­
BREAK
OPTB
331600
PERFORM
500­
READ­
PCS­
INFO
UNTIL
OPTB
331700
CITY
NOT
EQUAL
PREV­
CITY
OPTB
331800
ELSE
OPTB
331900
IF
SIC2­
BREAK
OPTB
332000
PERFORM
500­
READ­
PCS­
INFO
UNTIL
OPTB
332100
SIC2
NOT
EQUAL
PREV­
SIC2
OPTB
332200
ELSE
OPTB
332300
IF
REPORT­
BREAK
OPTB
332400
PERFORM
500­
READ­
PCS­
INFO
UNTIL
OPTB
332500
END­
PCS.
OPTB
332600*
OPTB
332700
490­
LOAD­
PARM­
INFO.
OPTB
332800
SUBTRACT
YY1
FROM
M­
YEAR
OPTB
332900
GIVING
YEAR­
INDICATOR.
OPTB
333000
ADD
1
TO
YEAR­
INDICATOR.
OPTB
333100
IF
YEAR­
INDICATOR
>
YEAR­
HIGH
OPTB
333200
MOVE
YEAR­
INDICATOR
TO
YEAR­
HIGH.
OPTB
333300
SET
YEAR­
INDEX
TO
YEAR­
INDICATOR.
OPTB
333400
IF
YEAR­
SUB
<
YEAR­
INDICATOR
OPTB
333500
MOVE
YEAR­
INDICATOR
TO
YEAR­
SUB.
OPTB
333600
IF
(
PARM
EQUAL
PREV­
PARM)
AND
(
NOT
OUTFALL­
BREAK
OPTB
333700
OR
(
OUTFALL­
BREAK
AND
MLOC
=
HOLD­
MLOC))
OPTB
333800
IF
M­
YEAR
NOT
=
PREV­
YEAR
OPTB
333900
MOVE
M­
YEAR
TO
TB­
YEAR(
PARM­
INDEX,
YEAR­
INDEX)
PREV­
YEAR
OPTB
334000
BG­
YEAR
OPTB
334100
END­
IF
OPTB
334200*
ADD
LOAD­
AMOUNT
TO
OPTB
334300*
MEASUREMENT(
PARM­
INDEX,
YEAR­
INDEX)
OPTB
334400*
TOTAL(
PARM­
INDEX)
BG­
TOTAL
OPTB
334500*
ELSE
OPTB
334600*
ADD
LOAD­
AMOUNT
TO
OPTB
334700*
MEASUREMENT(
PARM­
INDEX,
YEAR­
INDEX)
OPTB
334800*
TOTAL(
PARM­
INDEX)
BG­
TOTAL
OPTB
334900
ELSE
OPTB
335000
SET
PARM­
INDEX
UP
BY
1
OPTB
335100
MOVE
PARM
TO
PARM­
NUM(
PARM­
INDEX)
PREV­
PARM
OPTB
335200
BG­
PARM
OPTB
335300
MOVE
MLOC
TO
PARM­
MLOC(
PARM­
INDEX)
OPTB
335400
MOVE
GRP­
LQSC
TO
PARM­
LQSC(
PARM­
INDEX)
OPTB
335500
MOVE
M­
YEAR
TO
TB­
YEAR(
PARM­
INDEX,
YEAR­
INDEX)
OPTB
335600
PREV­
YEAR
BG­
YEAR
OPTB
335700*
ADD
LOAD­
AMOUNT
TO
OPTB
335800*
MEASUREMENT(
PARM­
INDEX,
YEAR­
INDEX)
OPTB
335900*
TOTAL(
PARM­
INDEX)
BG­
TOTAL
OPTB
336000
IF
OUTFALL­
BREAK
OPTB
336100
MOVE
MLOC
TO
HOLD­
MLOC.
OPTB
336200
ADD
LOAD­
AMOUNT
TO
OPTB
336300
MEASUREMENT(
PARM­
INDEX,
YEAR­
INDEX)
OPTB
336400
TOTAL(
PARM­
INDEX)
BG­
TOTAL
OPTB
336500
MOVE
LOAD­
EST­
SYMBOL
TO
EST­
SYMBOL(
PARM­
INDEX,
YEAR­
INDEX).
OPTB
336600
IF
LOAD­
EST­
SYMBOL
=
'
E'
OPTB
336700
MOVE
LOAD­
EST­
SYMBOL
TO
PARM­
EST­
SYMBOL(
PARM­
INDEX).
OPTB
336800*
OPTB
336900
500­
READ­
PCS­
INFO.
OPTB
337000
READ
PCS­
FILE
AT
END
OPTB
337100
MOVE
HIGH­
VALUES
TO
PREV­
FIELDS
OPTB
337200*
MOVE
HIGH­
VALUES
TO
PCS­
RECORD
OPTB
337300
MOVE
'
YES'
TO
PCS­
EOF.
OPTB
337400
IF
END­
PCS
AND
RECORD­
COUNT
=
0
OPTB
337500
MOVE
'
********************'
TO
REPORT­
RECORD
OPTB
337600
PERFORM
720­
WRITE­
SINGLE­
SPACED
OPTB
337700
MOVE
'
*
NO
DATA
SELECTED
*'
TO
REPORT­
RECORD
OPTB
337800
PERFORM
720­
WRITE­
SINGLE­
SPACED
OPTB
337900
MOVE
'
********************'
TO
REPORT­
RECORD
OPTB
338000
PERFORM
720­
WRITE­
SINGLE­
SPACED
OPTB
338100
MOVE
'
NO'
TO
WORST­
REPORT­
SW
OPTB
338200
PERFORM
1000­
END­
DATA
OPTB
338300
GOBACK.
OPTB
338400
ADD
1
TO
RECORD­
COUNT.
OPTB
338500
IF
NOT
GROUPING
OPTB
338600
IF
MORE­
PCS
AND
NOT
FACILITY­
LOCATION
OPTB
338700
IF
STATE
=
'
NY'
AND
RWAT­
GW
=
'
GW'
OPTB
338800
GO
TO
500­
READ­
PCS­
INFO
OPTB
338900
END­
IF
OPTB
339000
IF
M­
YEAR
<
YY1
OPTB
339100
GO
TO
500­
READ­
PCS­
INFO
OPTB
339200
END­
IF
OPTB
339300
IF
M­
YEAR
>
YY2
OPTB
339400
GO
TO
500­
READ­
PCS­
INFO
OPTB
339500
END­
IF
OPTB
339600
IF
MVIO
<
'
E00'
OR
NO­
DATA
OPTB
339700*
(
NODI
=
'
C'
OR
'
I'
OR
'
J'
OR
'
2'
OR
'
4')
OPTB
339800
GO
TO
500­
READ­
PCS­
INFO
OPTB
339900
END­
IF
OPTB
340000*
IF
(
LQSC
NOT
=
'
01'
AND
'
03'
AND
'
07'
AND
'
16'
AND
'
78')
OPTB
340100*
AND
(
LCSC
NOT
=
'
03'
AND
'
07'
AND
'
16'
AND
'
19'
AND
OPTB
340200*
'
20'
AND
'
21'
AND
'
22'
AND
'
28'
AND
'
32'
AND
OPTB
340300*
'
36'
AND
'
37'
AND
'
64'
AND
'
78')
OPTB
340400
IF
(
LQSC
NOT
=
'
01'
AND
'
03'
AND
'
07'
AND
'
16'
AND
'
26'
OPTB
340500
AND
'
78')
AND
(
LCSC
NOT
=
'
19'
AND
'
20'
AND
'
28'
OPTB
340600
AND
'
3L')
OPTB
340700
GO
TO
500­
READ­
PCS­
INFO
OPTB
340800
END­
IF
OPTB
340900
IF
LQSC
=
'
26'
OPTB
341000
MOVE
'
01'
TO
LQSC
OPTB
341100
IF
MQAV
>
0
OPTB
341200
DIVIDE
MQAV
BY
2.205
GIVING
MQAV
OPTB
341300
END­
IF
OPTB
341400
IF
MQMX
>
0
OPTB
341500
DIVIDE
MQMX
BY
2.205
GIVING
MQMX
OPTB
341600
END­
IF
OPTB
341700
END­
IF
OPTB
341800
IF
LCSC
=
'
3L'
OPTB
341900
MOVE
'
28'
TO
LCSC
OPTB
342000
IF
MCMN
>
0
OPTB
342100
DIVIDE
MCMN
BY
1000
GIVING
MCMN
OPTB
342200
END­
IF
OPTB
342300
IF
MCAV
>
0
OPTB
342400
DIVIDE
MCAV
BY
1000
GIVING
MCAV
OPTB
342500
END­
IF
OPTB
342600
IF
MCMX
>
0
OPTB
342700
DIVIDE
MCMX
BY
1000
GIVING
MCMX
OPTB
342800
END­
IF
OPTB
342900
END­
IF
OPTB
343000
IF
PARM
=
'
00056'
OPTB
343100
MOVE
'
50050'
TO
PARM
OPTB
343200
MOVE
'
03'
TO
LQSC
LCSC
OPTB
343300
IF
MQAV
>
0
OPTB
343400
DIVIDE
MQAV
BY
+.
1E+
07
GIVING
MQAV
OPTB
343500
END­
IF
OPTB
343600
IF
MQMX
>
0
OPTB
343700
DIVIDE
MQMX
BY
+.
1E+
07
GIVING
MQMX
OPTB
343800
END­
IF
OPTB
343900
IF
MCMN
>
0
OPTB
344000
DIVIDE
MCMN
BY
+.
1E+
07
GIVING
MCMN
OPTB
344100
END­
IF
OPTB
344200
IF
MCAV
>
0
OPTB
344300
DIVIDE
MCAV
BY
+.
1E+
07
GIVING
MCAV
OPTB
344400
END­
IF
OPTB
344500
IF
MCMX
>
0
OPTB
344600
DIVIDE
MCMX
BY
+.
1E+
07
GIVING
MCMX
OPTB
344700
END­
IF
OPTB
344800
END­
IF
OPTB
344900
IF
PARM
=
'
00058'
OPTB
345000
MOVE
'
50050'
TO
PARM
OPTB
345100
MOVE
'
03'
TO
LQSC
LCSC
OPTB
345200
IF
MQAV
>
0
OPTB
345300
MULTIPLY
MQAV
BY
+.
144E­
02
GIVING
MQAV
OPTB
345400
END­
IF
OPTB
345500
IF
MQMX
>
0
OPTB
345600
MULTIPLY
MQMX
BY
+.
144E­
02
GIVING
MQMX
OPTB
345700
END­
IF
OPTB
345800
IF
MCMN
>
0
OPTB
345900
MULTIPLY
MCMN
BY
+.
144E­
02
GIVING
MCMN
OPTB
346000
END­
IF
OPTB
346100
IF
MCAV
>
0
OPTB
346200
MULTIPLY
MCAV
BY
+.
144E­
02
GIVING
MCAV
OPTB
346300
END­
IF
OPTB
346400
IF
MCMX
>
0
OPTB
346500
MULTIPLY
MCMX
BY
+.
144E­
02
GIVING
MCMX
OPTB
346600
END­
IF
OPTB
346700
END­
IF
OPTB
346800
IF
PARM
=
'
74060'
OPTB
346900
MOVE
'
50050'
TO
PARM
OPTB
347000
MOVE
'
03'
TO
LQSC
LCSC
OPTB
347100
IF
MQAV
>
0
OPTB
347200
MULTIPLY
MQAV
BY
+.
2642E­
03
GIVING
MQAV
OPTB
347300
END­
IF
OPTB
347400
IF
MQMX
>
0
OPTB
347500
MULTIPLY
MQMX
BY
+.
2642E­
03
GIVING
MQMX
OPTB
347600
END­
IF
OPTB
347700
IF
MCMN
>
0
OPTB
347800
MULTIPLY
MCMN
BY
+.
2642E­
03
GIVING
MCMN
OPTB
347900
END­
IF
OPTB
348000
IF
MCAV
>
0
OPTB
348100
MULTIPLY
MCAV
BY
+.
2642E­
03
GIVING
MCAV
OPTB
348200
END­
IF
OPTB
348300
IF
MCMX
>
0
OPTB
348400
MULTIPLY
MCMX
BY
+.
2642E­
03
GIVING
MCMX
OPTB
348500
END­
IF
OPTB
348600
END­
IF
OPTB
348700
IF
PARM
=
'
74076'
OPTB
348800
MOVE
'
50050'
TO
PARM
OPTB
348900
MOVE
'
03'
TO
LQSC
LCSC
OPTB
349000
END­
IF
OPTB
349100
IF
LCSC
=
'
20'
OPTB
349200
MOVE
'
19'
TO
LCSC
OPTB
349300
END­
IF
OPTB
349400
IF
LQSC­
REDEFINED
NOT
NUMERIC
OPTB
349500
AND
LCSC­
REDEFINED
NOT
NUMERIC
OPTB
349600
GO
TO
500­
READ­
PCS­
INFO
OPTB
349700
END­
IF
OPTB
349800
IF
(
MLOC
=
'
A'
OR
'
B'
OR
'#')
OPTB
349900
MOVE
'
1'
TO
MLOC
OPTB
350000
END­
IF
OPTB
350100*
IF
((
MLOC
=
'
P'
OR
'
W')
AND
(
STATE
NOT
=
'
IN'))
OPTB
350200*
MOVE
'
1'
TO
MLOC
OPTB
350300*
END­
IF
OPTB
350400
IF
(
MLOC
=
'
V'
AND
STATE
=
'
NY'
AND
LIMIT­
EXCD­
OFF)
OPTB
350500
MOVE
'
1'
TO
MLOC
OPTB
350600
END­
IF
OPTB
350700
IF
(
MLOC
=
'
E'
AND
STATE
=
'
NC')
OPTB
350800
MOVE
'
1'
TO
MLOC
OPTB
350900
END­
IF
OPTB
351000
IF
(
MLOC
=
'
S'
AND
STATE
=
'
MN')
OPTB
351100
MOVE
'
1'
TO
MLOC
OPTB
351200
END­
IF
OPTB
351300
IF
(
MLOC
=
'
1'
OR
'
2')
OR
OPTB
351400
(
MLOC
=
'
G'
AND
((
FLOW­
PARAMETER
AND
STATE
=
'
WI')
OPTB
351500
OR
OUTFALL­
BREAK))
OPTB
351600
NEXT
SENTENCE
OPTB
351700
ELSE
OPTB
351800
GO
TO
500­
READ­
PCS­
INFO.
OPTB
351900
IF
NRPU
NOT
NUMERIC
OPTB
352000
UNSTRING
NRPU
DELIMITED
BY
SPACE
INTO
WS­
NRPU
OPTB
352100
ELSE
OPTB
352200
MOVE
NRPU
TO
WS­
NRPU.
OPTB
352300*
OPTB
352400***************************************************************
OPTB
352500*
580
BUILDS
THE
GRAPH
RECORD
FOR
FACILITY
AND
OUTFALL
*
OPTB
352600*
REPORTS.
THE
LATITUDE
AND
LONGITUDE
ARE
INSPECTED
AT
THE
*
OPTB
352700*
FACILITY
LEVEL.
IF
THEY
ARE
MISSING
WHEN
DEALING
WITH
*
OPTB
352800*
FACILITY
REPORTS
THEN
THE
RECORD
IS
THROWN
OUT.
IF
THE
PIPE*
OPTB
352900*
LEVEL
LATITUDE
AND
LONGITUDE
ARE
MISSING
FOR
OUTFALL
REPORTS*
OPTB
353000*
THEN
IT
IS
SUBSTITUTED
WITH
THE
FACILITY
LEVEL
DATA.
*
OPTB
353100*
WHEN
THE
PIPE
AND
THE
FACILITY
LEVEL
ARE
BOTH
MISSING
THEN
*
OPTB
353200*
THE
RECORD
IS
DISREGARDED.
*
OPTB
353300*
THE
PERIOD
REPORTED
IS
INCLUDED
FOR
REPORTS
WHERE
TOTALS
*
OPTB
353400*
ARE
DESIRED
FOR
THE
ENTIRE
PERIOD
INSTEAD
OF
ON
AN
ANNUAL
*
OPTB
353500*
BASIS.
*
OPTB
353600***************************************************************
OPTB
353700
580­
BGRAPH­
TEST.
OPTB
353800
IF
GRAPH­
REPORT
OPTB
353900
MOVE
CNTY
TO
BG­
CNTY
OPTB
354000
MOVE
SPACES
TO
BG­
LAT
BG­
LONG
BG­
DSCH
BG­
MLOC
OPTB
354100
MOVE
ZEROS
TO
COUNT­
2
COUNT­
3
COUNT­
4
COUNT­
5
OPTB
354200
IF
FACILITY­
BREAK
AND
MORE­
PCS
OPTB
354300
INSPECT
FLAT
TALLYING
COUNT­
4
OPTB
354400
FOR
ALL
'
'
OPTB
354500
INSPECT
FLON
TALLYING
COUNT­
5
OPTB
354600
FOR
ALL
'
'
OPTB
354700
ELSE
OPTB
354800
IF
OUTFALL­
BREAK
AND
MORE­
PCS
OPTB
354900
INSPECT
PLAT
TALLYING
COUNT­
2
OPTB
355000
FOR
ALL
'
'
OPTB
355100
INSPECT
PLON
TALLYING
COUNT­
3
OPTB
355200
FOR
ALL
'
'
OPTB
355300
INSPECT
FLAT
TALLYING
COUNT­
4
OPTB
355400
FOR
ALL
'
'
OPTB
355500
INSPECT
FLON
TALLYING
COUNT­
5
OPTB
355600
FOR
ALL
'
'
OPTB
355700
END­
IF
OPTB
355800
END­
IF
OPTB
355900
IF
OUTFALL­
BREAK
AND
MORE­
PCS
OPTB
356000
MOVE
DSCH
TO
BG­
DSCH
OPTB
356100
MOVE
MLOC
TO
BG­
MLOC
OPTB
356200
END­
IF
OPTB
356300
IF
OUTFALL­
BREAK
AND
MORE­
PCS
AND
OPTB
356400
COUNT­
2
LESS
1
AND
OPTB
356500
COUNT­
3
LESS
1
OPTB
356600
MOVE
NPID
TO
BG­
NPID
OPTB
356700
MOVE
PLAT
TO
BG­
LAT
OPTB
356800
MOVE
PLON
TO
BG­
LONG
OPTB
356900
ELSE
OPTB
357000
IF
COUNT­
4
LESS
1
AND
OPTB
357100
COUNT­
5
LESS
1
OPTB
357200
MOVE
NPID
TO
BG­
NPID
OPTB
357300
MOVE
FLAT
TO
BG­
LAT
OPTB
357400
MOVE
FLON
TO
BG­
LONG
OPTB
357500
ELSE
OPTB
357600
MOVE
NPID
TO
BG­
NPID
OPTB
357700
MOVE
ZEROS
TO
BG­
LAT
BG­
LONG.
OPTB
357800
IF
PERIOD­
TOTAL
OPTB
357900
MOVE
YY1
TO
BG­
YEAR1
OPTB
358000
MOVE
MM1
TO
BG­
MONTH1
OPTB
358100
MOVE
DASH
TO
BG­
DASH
OPTB
358200
MOVE
YY2
TO
BG­
YEAR2
OPTB
358300
MOVE
MM2
TO
BG­
MONTH2.
OPTB
358400*
OPTB
358500
590­
CONTROL­
BREAK.
OPTB
358600
IF
NOT­
WORST­
REPORT
AND
NOT
(
SAS­
DATA
OR
GRAPH­
ONLY)
OPTB
358700
IF
NOT
OUTFALL­
BREAK
OPTB
358800
IF
LINES­
USED
NOT
GREATER
50
OPTB
358900
PERFORM
740­
PRINT­
REPORT­
INFO
OPTB
359000
ELSE
OPTB
359100
MOVE
ZEROS
TO
LINES­
USED
OPTB
359200
PERFORM
700­
PRINT­
TOP­
HEADINGS
OPTB
359300
PERFORM
700­
PRINT­
HEADINGS
OPTB
359400
PERFORM
740­
PRINT­
REPORT­
INFO
OPTB
359500
ELSE
OPTB
359600
IF
LINES­
USED
NOT
GREATER
50
OPTB
359700
AND
PREV­
NPID
EQUAL
NPID
OPTB
359800
AND
PREV­
DSCH
NOT
EQUAL
DSCH
OPTB
359900
MOVE
DSCH
TO
PREV­
DSCH
OPTB
360000
ELSE
OPTB
360100
IF
LINES­
USED
NOT
GREATER
50
OPTB
360200
AND
PREV­
NPID
NOT
EQUAL
NPID
OPTB
360300
PERFORM
740­
PRINT­
REPORT­
INFO
OPTB
360400
MOVE
NPID
TO
PREV­
NPID
OPTB
360500
MOVE
DSCH
TO
PREV­
DSCH
OPTB
360600
ELSE
OPTB
360700
IF
LINES­
USED
GREATER
50
OPTB
360800
MOVE
ZEROS
TO
LINES­
USED
OPTB
360900
PERFORM
700­
PRINT­
TOP­
HEADINGS
OPTB
361000
PERFORM
700­
PRINT­
HEADINGS
OPTB
361100
PERFORM
740­
PRINT­
REPORT­
INFO
OPTB
361200
MOVE
NPID
TO
PREV­
NPID
OPTB
361300
MOVE
DSCH
TO
PREV­
DSCH.
OPTB
361400
OPTB
361500*************************************************************
OPTB
361600*
PARM­
SUB
AND
YEAR­
SUB
ARE
BOTH
SET
TO
PARM­
INDEX
AND
*
OPTB
361700*
YEAR­
INDEX
RESPECTIVELY.
THESE
SUBSCRIPTS
ARE
USED
TO
*
OPTB
361800*
CONTROL
THE
PRINTING
OF
THE
REPORT.
OPTB
361900*
MODULE
660
PRINTS
THREE
LINES
OF
HEADINGS
FOR
EACH
*
OPTB
362000*
PARAMETER
CONTAINING
THE
PARAMETER
CODE,
ITS
DESCRIPTION,
*
OPTB
362100*
WHETHER
OR
NOT
THE
DATA
IS
OF
GROSS
OR
NET
VALUE,
AND
THE
*
OPTB
362200*
UNIT
DESCRIPTION.
PARM­
INDEX
MUST
BE
RESET
TO
1
BEFORE
*
OPTB
362300*
MODULE
610
IS
PERFORMED
BECAUSE
IT
WAS
VARIED
IN
MODULE
*
OPTB
362400*
660
IN
ORDER
TO
PRINT
THE
PARAMETER
HEADINGS.
*
OPTB
362500*
MODULE
610
BUILDS
EACH
LINE
"
DOWN",
WORKING
ON
ONE
YEAR*
OPTB
362600*
AT
A
TIME
AS
MODULE
620
CONTINUES
TO
BUILD
EACH
LINE
*
OPTB
362700*
ACROSS,
MOVING
ALL
DATA
FROM
PARM­
TABLE
TO
THE
PRINT
LINE
*
OPTB
362800*
FOR
ALL
PARAMETERS.
AFTER
EACH
LINE
IS
PRINTED,
THE
LINE
*
OPTB
362900*
COUNTER
IS
CHECKED
IN
MODULE
610
TO
ENSURE
THERE
IS
ENOUGH*
OPTB
363000*
ROOM
TO
CONTINUE
PRINTING
ON
THE
SAME
PAGE.
IF
THE
MAX­
*
OPTB
363100*
IMUM
LINES
ARE
PRINTED,
A
PAGE
BREAK
IS
PERFORMED
AND
NEW
*
OPTB
363200*
HEADINGS
ARE
PRINTED
USING
THE
INFORMATION
PRINTED
PRE­
*
OPTB
363300*
VIOUSLY
FOR
THE
SAME
CONTROL
BREAK
(
MODULE
750
PRINTS
THE
*
OPTB
363400*
TWO
LINES
OF
INFORMATION
BUILT
UP
IN
WORKING
STORAGE
IN
*
OPTB
363500*
MODULE
740).
AFTER
ALL
THE
DETAIL
LINES
HAVE
BEEN
CON­
*
OPTB
363600*
STRUCTED
AND
PRINTED
THE
LINE
COUNTER
IS
ONCE
AGAIN
*
OPTB
363700*
CHECKED
IN
MODULE
600
TO
MAKE
SURE
THERE
IS
ENOUGH
ROOM
TO*
OPTB
363800*
PRINT
THE
GRAND
TOTAL
LINE
FOR
REPORTS
WHERE
DATA
WAS
*
OPTB
363900*
CALCULATED
FOR
ALL
YEARS.
HOWEVER,
IF
THIS
WAS
NOT
THE
*
OPTB
364000*
CASE
AND
TOTALS
WERE
REQUESTED
ONLY
FOR
THE
REPORTING
PER­*
OPTB
364100*
IOD
THEN
ONLY
ONE
TOTAL
LINE
WILL
BE
PRINTED
IN
MODULE
*
OPTB
364200*
610
AFTER
THE
PRINT
LINE
HAS
BEEN
CONSTRUCTED.
ALL
YEARS
*
OPTB
364300*
AND
CORRESPONDING
TOTALS
ARE
PRINTED
UNDER
THEIR
PARAMETER*
OPTB
364400*
HEADINGS.
*
OPTB
364500*
(
NOTE:
THERE
MAY
BE
UP
TO
FIVE
PARAMETERS
MAXIMUM
AND
UP
*
OPTB
364600*
TO
TEN
YEARS
OF
DATA
PER
PARAMETER......)
*
OPTB
364700*************************************************************
OPTB
364800
600­
PRINT­
REPORT.
OPTB
364900D
DISPLAY
'
600­
PRINT­
REPORT'.
OPTB
365000
SET
PARM­
START
TO
PARM­
INDEX.
OPTB
365100
SET
PARM­
TEST
TO
PARM­
INDEX.
OPTB
365200
IF
NOT­
WORST­
REPORT
AND
NOT
(
SAS­
DATA
OR
GRAPH­
ONLY)
OPTB
365300
ADD
4
TO
PARM­
TEST
OPTB
365400
PERFORM
660­
PRINT­
PARM­
LINES
OPTB
365500
VARYING
SUB
FROM
1
BY
1
OPTB
365600
UNTIL
SUB
GREATER
3.
OPTB
365700
IF
NOT
(
SAS­
DATA
OR
GRAPH­
ONLY)
OPTB
365800
MOVE
SPACES
TO
TOTAL­
LINE.
OPTB
365900
PERFORM
610­
PRINT­
PARAGRAPH
OPTB
366000
VARYING
YEAR­
INDEX
FROM
1
BY
1
OPTB
366100
UNTIL
YEAR­
INDEX
GREATER
YEAR­
SUB.
OPTB
366200
IF
NOT­
WORST­
REPORT
AND
NOT
(
SAS­
DATA
OR
GRAPH­
ONLY)
OPTB
366300
IF
ANNUAL­
TOTALS
OPTB
366400
MOVE
SHORT­
STAR­
HEADING
TO
REPORT­
RECORD
OPTB
366500
PERFORM
720­
WRITE­
SINGLE­
SPACED
OPTB
366600
MOVE
'
TOTAL'
TO
TOTAL­
NAME
OPTB
366700
MOVE
TOTAL­
LINE
TO
REPORT­
RECORD
OPTB
366800
PERFORM
730­
WRITE­
DOUBLE­
SPACED.
OPTB
366900
IF
LINES­
USED
GREATER
55
AND
PARM­
INDEX
NOT
>
PARM­
SUB
AND
OPTB
367000
NOT
(
SAS­
DATA
OR
GRAPH­
ONLY)
OPTB
367100
MOVE
ZEROS
TO
LINES­
USED
OPTB
367200
MOVE
'
Y'
TO
PAGE­
OUTFALL­
SW
OPTB
367300
PERFORM
700­
PRINT­
TOP­
HEADINGS
OPTB
367400
PERFORM
700­
PRINT­
HEADINGS
OPTB
367500
PERFORM
750­
PRINT­
REPORT­
INFO.
OPTB
367600*
OPTB
367700
610­
PRINT­
PARAGRAPH.
OPTB
367800
MOVE
SPACES
TO
FINAL­
PRINT.
OPTB
367900*
MOVE
SPACES
TO
TOTAL­
LINE.
OPTB
368000
MOVE
1
TO
PRINT­
SUB.
OPTB
368100
PERFORM
620­
PRINT­
NUMBERS
OPTB
368200
VARYING
PARM­
INDEX
FROM
PARM­
START
BY
1
OPTB
368300
UNTIL
PARM­
INDEX
GREATER
PARM­
SUB
OR
PARM­
TEST.
OPTB
368400
IF
WORST­
REPORT
AND
PRINT­
YEAR
NOT
=
SPACES
OPTB
368500
MOVE
0
TO
LINES­
USED
S­
PRINT­
LINE­
NO
OPTB
368600
PERFORM
750­
PRINT­
REPORT­
INFO
OPTB
368700
PERFORM
660­
PRINT­
PARM­
LINES
OPTB
368800
VARYING
SUB
FROM
1
BY
1
OPTB
368900
UNTIL
SUB
GREATER
3.
OPTB
369000*
IF
PERIOD­
TOTAL
AND
NOT­
WORST­
REPORT
OPTB
369100*
MOVE
SHORT­
STAR­
HEADING
TO
REPORT­
RECORD
OPTB
369200*
PERFORM
720­
WRITE­
SINGLE­
SPACED.
OPTB
369300
OPTB
369400
IF
PRINT­
YEAR
NOT
EQUAL
SPACES
OPTB
369500
MOVE
FINAL­
PRINT
TO
REPORT­
RECORD
S­
PRINT­
LINE
OPTB
369600
PERFORM
730­
WRITE­
DOUBLE­
SPACED.
OPTB
369700
IF
LINES­
USED
GREATER
55
AND
YEAR­
INDEX
<
YEAR­
SUB
OPTB
369800
MOVE
ZEROS
TO
LINES­
USED
OPTB
369900
MOVE
'
Y'
TO
PAGE­
OUTFALL­
SW
OPTB
370000
PERFORM
700­
PRINT­
TOP­
HEADINGS
OPTB
370100
PERFORM
700­
PRINT­
HEADINGS
OPTB
370200
PERFORM
750­
PRINT­
REPORT­
INFO
OPTB
370300
PERFORM
660­
PRINT­
PARM­
LINES
OPTB
370400
VARYING
SUB
FROM
1
BY
1
OPTB
370500
UNTIL
SUB
GREATER
3
OPTB
370600
SET
PARM­
INDEX
TO
PARM­
START.
OPTB
370700*
OPTB
370800
620­
PRINT­
NUMBERS.
OPTB
370900
IF
ANNUAL­
TOTALS
AND
TB­
YEAR(
PARM­
INDEX,
YEAR­
INDEX)
OPTB
371000
NOT
EQUAL
SPACES
OPTB
371100
MOVE
TB­
YEAR(
PARM­
INDEX,
YEAR­
INDEX)
TO
PRINT­
YEAR
OPTB
371200
S­
PRINT­
YEAR
OPTB
371300
IF
PRINT­
YEAR
<
'
70'
OPTB
371400
MOVE
'
20'
TO
PRINT­
CENTURY
OPTB
371500
ELSE
OPTB
371600
MOVE
'
19'
TO
PRINT­
CENTURY
OPTB
371700
END­
IF
OPTB
371800
PERFORM
630­
PRINT­
ANNUAL­
TEST
OPTB
371900
MOVE
SPACES
TO
TOT­
BLANKS(
PRINT­
SUB)
OPTB
372000
ELSE
OPTB
372100
IF
PERIOD­
TOTAL
OPTB
372200
MOVE
SPACES
TO
S­
PRINT­
YEAR
OPTB
372300
SET
YEAR­
INDEX
TO
YEAR­
SUB
OPTB
372400
MOVE
'
TOTAL'
TO
PR­
TOTAL
OPTB
372500
PERFORM
635­
PRINT­
PERIOD­
TEST
OPTB
372600
ELSE
OPTB
372700*
MOVE
'
'
TO
PRINT­
SYMBOL(
PRINT­
SUB)
TL­
SYMBOL(
PRINT­
SUB)
OPTB
372800
MOVE
0
TO
PRINT­
TOTAL(
PRINT­
SUB)
OPTB
372900
MOVE
TOTAL(
PARM­
INDEX)
TO
TL­
TOTAL(
PRINT­
SUB).
OPTB
373000
ADD
1
TO
PRINT­
SUB.
OPTB
373100*
OPTB
373200
630­
PRINT­
ANNUAL­
TEST.
OPTB
373300
MOVE
PARM­
NUM(
PARM­
INDEX)
TO
S­
PRINT­
PARM.
OPTB
373400*
MOVE
'
'
TO
WS­
PRINT­
SYMBOL.
OPTB
373500*
IF
ESTIMATE­
ON
OPTB
373600*
IF
(
MEASUREMENT(
PARM­
INDEX,
YEAR­
INDEX)
>
0)
AND
OPTB
373700*
TB­
COUNT(
PARM­
INDEX,
YEAR­
INDEX)
<
12
/
MFACTOR(
PARM­
INOPTB
373800*­
DEX)
OPTB
373900*
MOVE
MEASUREMENT(
PARM­
INDEX,
YEAR­
INDEX)
TO
WS­
MEASUREMENTOPTB
374000*
COMPUTE
MEASUREMENT(
PARM­
INDEX,
YEAR­
INDEX)
=
OPTB
374100*
MEASUREMENT(
PARM­
INDEX,
YEAR­
INDEX)
*
12
/
(
TB­
COUNT(
PAOPTB
374200*­
RM­
INDEX,
YEAR­
INDEX)
*
MFACTOR(
PARM­
INDEX))
OPTB
374300*
COMPUTE
TOTAL(
PARM­
INDEX)
=
TOTAL(
PARM­
INDEX)
+
OPTB
374400*
(
MEASUREMENT(
PARM­
INDEX,
YEAR­
INDEX)
­
WS­
MEASUREMENT)
OPTB
374500*
MOVE
'
E'
TO
WS­
PRINT­
SYMBOL.
OPTB
374600
MOVE
EST­
SYMBOL(
PARM­
INDEX,
YEAR­
INDEX)
TO
WS­
PRINT­
SYMBOL.
OPTB
374700
MOVE
MEASUREMENT(
PARM­
INDEX,
YEAR­
INDEX)
TO
S­
PRINT­
TOTAL.
OPTB
374800D
DISPLAY
'
NPID:
'
S­
PRINT­
NPID
OPTB
374900D
'
PARM:
'
S­
PRINT­
PARM
'
YEAR:
'
S­
PRINT­
YEAR
OPTB
375000D
'
TB­
COUNT:
'
TB­
COUNT(
PARM­
INDEX,
YEAR­
INDEX)
OPTB
375100D
'
BEFORE
MEASUREMENT:
'
WS­
MEASUREMENT
OPTB
375200D
'
AFTER
MEASUREMENT:
'
S­
PRINT­
TOTAL.
OPTB
375300
MOVE
WS­
PRINT­
SYMBOL
TO
PRINT­
SYMBOL(
PRINT­
SUB).
OPTB
375400
IF
TL­
SYMBOL(
PRINT­
SUB)
=
'
'
OPTB
375500
MOVE
WS­
PRINT­
SYMBOL
TO
TL­
SYMBOL(
PRINT­
SUB).
OPTB
375600
IF
MEASUREMENT(
PARM­
INDEX,
YEAR­
INDEX)
<
0
OPTB
375700
MULTIPLY
MEASUREMENT(
PARM­
INDEX,
YEAR­
INDEX)
BY
­
1
OPTB
375800
GIVING
MEASUREMENT(
PARM­
INDEX,
YEAR­
INDEX)
OPTB
375900
MOVE
­
1
TO
HOLD­
MULTIPLIER
OPTB
376000
ELSE
OPTB
376100
MOVE
+
1
TO
HOLD­
MULTIPLIER.
OPTB
376200
IF
MEASUREMENT(
PARM­
INDEX,
YEAR­
INDEX)
<
+.
1E­
10
OPTB
376300
MOVE
ZERO
TO
MEASUREMENT(
PARM­
INDEX,
YEAR­
INDEX).
OPTB
376400
IF
MEASUREMENT(
PARM­
INDEX,
YEAR­
INDEX)
>
+.
99999999E+
09
OPTB
376500
OR
<
+
0.0001
AND
NOT
=
ZERO
OPTB
376600
COMPUTE
G­
TOTAL(
PRINT­
SUB)
=
HOLD­
MULTIPLIER
*
OPTB
376700
MEASUREMENT(
PARM­
INDEX,
YEAR­
INDEX)
OPTB
376800*
MOVE
MEASUREMENT(
PARM­
INDEX,
YEAR­
INDEX)
TO
OPTB
376900*
G­
TOTAL(
PRINT­
SUB)
OPTB
377000*
MOVE
'>'
TO
PRINT­
SYMBOL(
PRINT­
SUB)
OPTB
377100*
MOVE
99999999999.99
TO
PRINT­
TOTAL(
PRINT­
SUB)
OPTB
377200
ELSE
OPTB
377300
IF
MEASUREMENT(
PARM­
INDEX,
YEAR­
INDEX)
<
+.
01
OPTB
377400
AND
NOT
<
+
0.0001
OPTB
377500
COMPUTE
L­
TOTAL(
PRINT­
SUB)
=
HOLD­
MULTIPLIER
*
OPTB
377600
MEASUREMENT(
PARM­
INDEX,
YEAR­
INDEX)
OPTB
377700*
MOVE
MEASUREMENT(
PARM­
INDEX,
YEAR­
INDEX)
TO
OPTB
377800*
L­
TOTAL(
PRINT­
SUB)
OPTB
377900
ELSE
OPTB
378000*
MOVE
'
'
TO
PRINT­
SYMBOL(
PRINT­
SUB)
OPTB
378100
COMPUTE
PRINT­
TOTAL(
PRINT­
SUB)
=
HOLD­
MULTIPLIER
*
OPTB
378200
MEASUREMENT(
PARM­
INDEX,
YEAR­
INDEX).
OPTB
378300*
MOVE
MEASUREMENT(
PARM­
INDEX,
YEAR­
INDEX)
TO
OPTB
378400*
PRINT­
TOTAL(
PRINT­
SUB).
OPTB
378500
MOVE
PARM­
EST­
SYMBOL(
PARM­
INDEX)
TO
TL­
SYMBOL(
PRINT­
SUB).
OPTB
378600
IF
TOTAL(
PARM­
INDEX)
<
0
OPTB
378700
MULTIPLY
TOTAL(
PARM­
INDEX)
BY
­
1
GIVING
TOTAL(
PARM­
INDEX)
OPTB
378800
MOVE
­
1
TO
HOLD­
MULTIPLIER
OPTB
378900
ELSE
OPTB
379000
MOVE
+
1
TO
HOLD­
MULTIPLIER.
OPTB
379100
IF
TOTAL(
PARM­
INDEX)
<
+.
1E­
10
OPTB
379200
MOVE
ZERO
TO
TOTAL(
PARM­
INDEX).
OPTB
379300
IF
TOTAL(
PARM­
INDEX)
>
+.
99999999E+
09
OR
<
+
0.0001
OPTB
379400
AND
NOT
=
ZERO
OPTB
379500
COMPUTE
TL­
G­
TOTAL(
PRINT­
SUB)
=
HOLD­
MULTIPLIER
*
OPTB
379600
TOTAL(
PARM­
INDEX)
OPTB
379700*
MOVE
TOTAL(
PARM­
INDEX)
TO
TL­
G­
TOTAL(
PRINT­
SUB)
OPTB
379800*
MOVE
'>'
TO
TL­
SYMBOL(
PRINT­
SUB)
OPTB
379900*
MOVE
99999999999.99
TO
TL­
TOTAL(
PRINT­
SUB)
OPTB
380000
ELSE
OPTB
380100
IF
TOTAL(
PARM­
INDEX)
<
+.
01
AND
NOT
<
+
0.0001
OPTB
380200
COMPUTE
TL­
L­
TOTAL(
PRINT­
SUB)
=
HOLD­
MULTIPLIER
*
OPTB
380300
TOTAL(
PARM­
INDEX)
OPTB
380400*
MOVE
TOTAL(
PARM­
INDEX)
TO
TL­
L­
TOTAL(
PRINT­
SUB)
OPTB
380500
ELSE
OPTB
380600*
MOVE
'
'
TO
TL­
SYMBOL(
PRINT­
SUB)
OPTB
380700
COMPUTE
TL­
TOTAL(
PRINT­
SUB)
=
HOLD­
MULTIPLIER
*
OPTB
380800
TOTAL(
PARM­
INDEX).
OPTB
380900*
MOVE
TOTAL(
PARM­
INDEX)
TO
OPTB
381000*
TL­
TOTAL(
PRINT­
SUB).
OPTB
381100*
OPTB
381200
635­
PRINT­
PERIOD­
TEST.
OPTB
381300
MOVE
PARM­
NUM(
PARM­
INDEX)
TO
S­
PRINT­
PARM.
OPTB
381400D
DISPLAY
'
PARM:
'
S­
PRINT­
PARM
'
YEAR:
'
S­
PRINT­
YEAR
OPTB
381500D
'
TCOUNT:
'
TCOUNT(
PARM­
INDEX)
'
'
HOLD­
TCOUNT
OPTB
381600D
'
BEFORE
TOTAL:
'
TOTAL(
PARM­
INDEX).
OPTB
381700*
MOVE
'
'
TO
WS­
PRINT­
SYMBOL.
OPTB
381800*
IF
ESTIMATE­
ON
OPTB
381900*
IF
(
TOTAL(
PARM­
INDEX)
>
0)
AND
OPTB
382000*
TCOUNT(
PARM­
INDEX)
<
HOLD­
TCOUNT
/
MFACTOR(
PARM­
INDEX)
OPTB
382100*
COMPUTE
TOTAL(
PARM­
INDEX)
=
OPTB
382200*
TOTAL(
PARM­
INDEX)
*
HOLD­
TCOUNT
/
(
TCOUNT(
PARM­
INDEX)
*
OPTB
382300*­
MFACTOR(
PARM­
INDEX))
OPTB
382400*
D
DISPLAY
'
AFTER
TOTAL:
'
TOTAL(
PARM­
INDEX)
OPTB
382500*
MOVE
'
E'
TO
WS­
PRINT­
SYMBOL.
OPTB
382600
MOVE
PARM­
EST­
SYMBOL(
PARM­
INDEX)
TO
WS­
PRINT­
SYMBOL.
OPTB
382700
MOVE
TOTAL(
PARM­
INDEX)
TO
S­
PRINT­
TOTAL.
OPTB
382800
MOVE
WS­
PRINT­
SYMBOL
TO
PRINT­
SYMBOL(
PRINT­
SUB).
OPTB
382900
IF
TOTAL(
PARM­
INDEX)
<
0
OPTB
383000
MULTIPLY
TOTAL(
PARM­
INDEX)
BY
­
1
GIVING
TOTAL(
PARM­
INDEX)
OPTB
383100
MOVE
­
1
TO
HOLD­
MULTIPLIER
OPTB
383200
ELSE
OPTB
383300
MOVE
+
1
TO
HOLD­
MULTIPLIER.
OPTB
383400
IF
TOTAL(
PARM­
INDEX)
<
+.
1E­
10
OPTB
383500
MOVE
ZERO
TO
TOTAL(
PARM­
INDEX).
OPTB
383600
IF
TOTAL(
PARM­
INDEX)
>
+.
99999999E+
09
OR
<
+
0.0001
OPTB
383700
AND
NOT
=
ZERO
OPTB
383800
COMPUTE
G­
TOTAL(
PRINT­
SUB)
=
HOLD­
MULTIPLIER
*
OPTB
383900
TOTAL(
PARM­
INDEX)
OPTB
384000*
MOVE
TOTAL(
PARM­
INDEX)
TO
G­
TOTAL(
PRINT­
SUB)
OPTB
384100*
MOVE
'>'
TO
PRINT­
SYMBOL(
PRINT­
SUB)
OPTB
384200*
MOVE
99999999999.99
TO
PRINT­
TOTAL(
PRINT­
SUB)
OPTB
384300
ELSE
OPTB
384400
IF
TOTAL(
PARM­
INDEX)
<
+.
01
AND
NOT
<
+
0.0001
OPTB
384500
COMPUTE
L­
TOTAL(
PRINT­
SUB)
=
HOLD­
MULTIPLIER
*
OPTB
384600
TOTAL(
PARM­
INDEX)
OPTB
384700*
MOVE
TOTAL(
PARM­
INDEX)
TO
L­
TOTAL(
PRINT­
SUB)
OPTB
384800
ELSE
OPTB
384900*
MOVE
'
'
TO
PRINT­
SYMBOL(
PRINT­
SUB)
OPTB
385000
COMPUTE
PRINT­
TOTAL(
PRINT­
SUB)
=
HOLD­
MULTIPLIER
*
OPTB
385100
TOTAL(
PARM­
INDEX).
OPTB
385200*
MOVE
TOTAL(
PARM­
INDEX)
TO
OPTB
385300*
PRINT­
TOTAL(
PRINT­
SUB).
OPTB
385400*
OPTB
385500
640­
BLANK­
OUT­
PARAMETERS.
OPTB
385600
MOVE
SPACES
TO
PARM­
NUM(
PARM­
INDEX)
PARM­
MLOC(
PARM­
INDEX)
OPTB
385700
PARM­
LQSC(
PARM­
INDEX).
OPTB
385800
MOVE
ZEROS
TO
TOTAL(
PARM­
INDEX)
TCOUNT(
PARM­
INDEX)
OPTB
385900
MOVE
1
TO
PCOUNT(
PARM­
INDEX).
OPTB
386000*
MOVE
99
TO
MFACTOR(
PARM­
INDEX).
OPTB
386100
SUBTRACT
1
FROM
YY1
GIVING
WS­
YEAR.
OPTB
386200
PERFORM
645­
BLANK­
OUT­
YEARS
OPTB
386300
VARYING
YEAR­
INDEX
FROM
1
BY
1
OPTB
386400
UNTIL
YEAR­
INDEX
GREATER
10.
OPTB
386500*
OPTB
386600
645­
BLANK­
OUT­
YEARS.
OPTB
386700
ADD
1
TO
WS­
YEAR.
OPTB
386800
MOVE
WS­
YEAR
TO
TB­
YEAR(
PARM­
INDEX,
YEAR­
INDEX).
OPTB
386900
MOVE
ZEROS
TO
MEASUREMENT(
PARM­
INDEX,
YEAR­
INDEX)
OPTB
387000
TB­
COUNT(
PARM­
INDEX,
YEAR­
INDEX).
OPTB
387100
PERFORM
650­
BLANK­
OUT­
MONTHS
OPTB
387200
VARYING
MONTH­
INDEX
FROM
1
BY
1
OPTB
387300
UNTIL
MONTH­
INDEX
GREATER
12.
OPTB
387400*
OPTB
387500
650­
BLANK­
OUT­
MONTHS.
OPTB
387600
MOVE
ZEROS
TO
OPTB
387700
MONTH­
LOAD(
PARM­
INDEX,
YEAR­
INDEX,
MONTH­
INDEX).
OPTB
387800*
OPTB
387900
660­
PRINT­
PARM­
LINES.
OPTB
388000
MOVE
SPACES
TO
MNEMONIC­
LINE.
OPTB
388100
MOVE
1
TO
PRINT­
SUB.
OPTB
388200
SET
PARM­
INDEX
TO
PARM­
START.
OPTB
388300
IF
SUB
=
1
OPTB
388400
IF
OUTFALL­
BREAK
AND
(
PARM­
INDEX
=
1
OR
PAGE­
OUTFALL)
OPTB
388500
MOVE
'
OUTFALL'
TO
M­
OUTFALL
OPTB
388600
ELSE
OPTB
388700
MOVE
SPACES
TO
M­
OUTFALL
OPTB
388800
ELSE
OPTB
388900
IF
SUB
=
2
OPTB
389000
IF
OUTFALL­
BREAK
AND
(
PARM­
INDEX
=
1
OR
PAGE­
OUTFALL)
OPTB
389100
MOVE
HOLD­
DSCH
TO
M­
DSCH
OPTB
389200*
MOVE
HOLD­
PIPE
TO
M­
PIPE­
DESC
OPTB
389300
ELSE
OPTB
389400
MOVE
SPACES
TO
M­
DSCH
M­
PIPE­
DESC
OPTB
389500
ELSE
OPTB
389600
IF
OUTFALL­
BREAK
AND
(
PARM­
INDEX
=
1
OR
PAGE­
OUTFALL)
OPTB
389700
MOVE
'
N'
TO
PAGE­
OUTFALL­
SW
OPTB
389800
MOVE
ZERO
TO
COUNT­
1
OPTB
389900
INSPECT
HOLD­
PLON
TALLYING
COUNT­
1
OPTB
390000
FOR
ALL
'
'
OPTB
390100
PERFORM
690­
COUNT­
TEST.
OPTB
390200
PERFORM
680­
PRINT­
LINES
OPTB
390300
VARYING
PARM­
INDEX
FROM
PARM­
START
BY
1
OPTB
390400
UNTIL
PARM­
INDEX
GREATER
PARM­
SUB
OR
PARM­
TEST.
OPTB
390500
MOVE
MNEMONIC­
LINE
TO
REPORT­
RECORD
S­
PRINT­
LINE.
OPTB
390600
IF
SUB
=
1
OPTB
390700
PERFORM
730­
WRITE­
DOUBLE­
SPACED
OPTB
390800
ELSE
OPTB
390900
PERFORM
720­
WRITE­
SINGLE­
SPACED.
OPTB
391000*
OPTB
391100
680­
PRINT­
LINES.
OPTB
391200
IF
SUB
=
1
OPTB
391300
MOVE
SPACES
TO
MNEM­
CODE(
PRINT­
SUB)
OPTB
391400
IF
GROUPING
AND
PARM­
NUM­
X(
PARM­
INDEX)
NOT
NUMERIC
OPTB
391500
MOVE
'*****'
TO
M­
CODE(
PRINT­
SUB)
OPTB
391600
ELSE
OPTB
391700
MOVE
PARM­
NUM(
PARM­
INDEX)
TO
M­
CODE(
PRINT­
SUB)
OPTB
391800
END­
IF
OPTB
391900
IF
OUTFALL­
BREAK
OPTB
392000
PERFORM
685­
DETERMINE­
MONLOC­
TYPE
OPTB
392100
END­
IF
OPTB
392200
ELSE
OPTB
392300
IF
SUB
=
2
OPTB
392400
MOVE
PARM­
NUM(
PARM­
INDEX)
TO
CONTROL­
PARM
OPTB
392500
MOVE
SPACES
TO
MNEMONIC­
SW
OPTB
392600
PERFORM
310­
SEARCH­
PARM­
DESC­
TABLE
OPTB
392700
ELSE
OPTB
392800
IF
SUB
=
3
OPTB
392900
PERFORM
683­
UNIT­
TEST
OPTB
393000
MOVE
SPACES
TO
M­
UNIT­
BLANKS(
PRINT­
SUB).
OPTB
393100
ADD
1
TO
PRINT­
SUB.
OPTB
393200*
OPTB
393300
683­
UNIT­
TEST.
OPTB
393400
IF
(
PARM­
NUM(
PARM­
INDEX)
=
'
50050'
OR
'
74076'
OR
'
FLOW')
OR
OPTB
393500
PARM­
LQSC(
PARM­
INDEX)
=
'
03'
OPTB
393600
MOVE
'
MILLION
GALLONS'
TO
M­
UNIT­
DESC(
PRINT­
SUB)
OPTB
393700
ELSE
OPTB
393800
IF
(
PARM­
NUM(
PARM­
INDEX)
=
'
00056'
OR
'
00058')
OR
OPTB
393900
(
PARM­
LQSC(
PARM­
INDEX)
=
'
07'
OR
'
78')
OPTB
394000
MOVE
'
GALLONS'
TO
M­
UNIT­
DESC(
PRINT­
SUB)
OPTB
394100
ELSE
OPTB
394200
IF
PARM­
NUM(
PARM­
INDEX)
=
'
74060'
OR
OPTB
394300
PARM­
LQSC(
PARM­
INDEX)
=
'
16'
OPTB
394400
MOVE
'
CUBIC
METERS'
TO
M­
UNIT­
DESC(
PRINT­
SUB)
OPTB
394500
ELSE
OPTB
394600
MOVE
'
KILOGRAMS'
TO
M­
UNIT­
DESC(
PRINT­
SUB).
OPTB
394700*
OPTB
394800
685­
DETERMINE­
MONLOC­
TYPE.
OPTB
394900
IF
PARM­
MLOC(
PARM­
INDEX)
EQUAL
'
G'
OPTB
395000
MOVE
'
INFLUENT'
TO
M­
TYPE(
PRINT­
SUB)
OPTB
395100
ELSE
OPTB
395200
IF
PARM­
MLOC(
PARM­
INDEX)
EQUAL
'
2'
OPTB
395300
MOVE
'
NET'
TO
M­
TYPE(
PRINT­
SUB)
OPTB
395400
ELSE
OPTB
395500
IF
PARM­
MLOC(
PARM­
INDEX)
EQUAL
'
1'
OPTB
395600
MOVE
'
GROSS'
TO
M­
TYPE(
PRINT­
SUB)
OPTB
395700
ELSE
OPTB
395800
DISPLAY
'
ERROR
IN
MLOC
­
NOT
1
OR
2
OR
G'
OPTB
395900
MOVE
'
YES'
TO
JOB­
EOF.
OPTB
396000*
OPTB
396100
690­
COUNT­
TEST.
OPTB
396200
IF
COUNT­
1
NOT
LESS
1
OPTB
396300
MOVE
SPACES
TO
M­
PLAT
M­
PLON
M­
CHAR
OPTB
396400
ELSE
OPTB
396500
MOVE
HOLD­
PLAT
TO
M­
PLAT
OPTB
396600
MOVE
'/'
TO
M­
CHAR
OPTB
396700
MOVE
HOLD­
PLON
TO
M­
PLON.
OPTB
396800*
OPTB
396900
700­
PRINT­
TOP­
HEADINGS.
OPTB
397000
MOVE
SPACES
TO
REPORT­
RECORD.
OPTB
397100
ADD
1
TO
PAGE­
CTR.
OPTB
397200
MOVE
PAGE­
CTR
TO
PAGE­
NO.
OPTB
397300
MOVE
PCS­
HEADING
TO
REPORT­
RECORD.
OPTB
397400
IF
NOT
(
SAS­
DATA
OR
GRAPH­
ONLY)
OPTB
397500
PERFORM
710­
WRITE­
AT­
TOP.
OPTB
397600
IF
FACILITY­
LOCATION
OPTB
397700
MOVE
FAC­
LOC­
REPORT­
HEADING
TO
REPORT­
RECORD
OPTB
397800
ELSE
OPTB
397900
IF
LIMIT­
EXCD­
OFF
OPTB
398000
MOVE
REPORT­
HEADING
TO
REPORT­
RECORD
OPTB
398100
ELSE
OPTB
398200
IF
LIMIT­
EXCD­
ON
OPTB
398300
IF
LIMIT­
EXCD­
UNDER­
ON
OPTB
398400
MOVE
REPORT­
EXCD­
UNDER­
HEADING
TO
REPORT­
RECORD
OPTB
398500
ELSE
OPTB
398600
MOVE
REPORT­
EXCD­
HEADING
TO
REPORT­
RECORD
OPTB
398700
END­
IF
OPTB
398800
ELSE
OPTB
398900
IF
LIMIT­
UNDER­
ON
OPTB
399000
MOVE
REPORT­
UNDER­
HEADING
TO
REPORT­
RECORD
OPTB
399100
ELSE
OPTB
399200
MOVE
REPORT­
ALLOW­
HEADING
TO
REPORT­
RECORD.
OPTB
399300
IF
NOT
(
SAS­
DATA
OR
GRAPH­
ONLY)
OPTB
399400
PERFORM
730­
WRITE­
DOUBLE­
SPACED.
OPTB
399500
IF
HYDROL­
BASIN
OPTB
399600
MOVE
HYDRO­
BASIN­
HEADING
TO
REPORT­
RECORD
OPTB
399700
PERFORM
730­
WRITE­
DOUBLE­
SPACED
OPTB
399800
ELSE
OPTB
399900
IF
HYDROL­
STATE
OPTB
400000
MOVE
HYDRO­
STATE­
HEADING
TO
REPORT­
RECORD
OPTB
400100
PERFORM
730­
WRITE­
DOUBLE­
SPACED
OPTB
400200
ELSE
OPTB
400300
IF
HYDROL­
COUNTY
OPTB
400400
MOVE
HYDRO­
COUNTY­
HEADING
TO
REPORT­
RECORD
OPTB
400500
PERFORM
730­
WRITE­
DOUBLE­
SPACED
OPTB
400600
ELSE
OPTB
400700
IF
HYDROL­
CITY
OPTB
400800
MOVE
HYDRO­
CITY­
HEADING
TO
REPORT­
RECORD
OPTB
400900
PERFORM
730­
WRITE­
DOUBLE­
SPACED
OPTB
401000
ELSE
OPTB
401100
IF
GEOL­
STATE
OPTB
401200
MOVE
GEO­
STATE­
HEADING
TO
REPORT­
RECORD
OPTB
401300
PERFORM
730­
WRITE­
DOUBLE­
SPACED
OPTB
401400
ELSE
OPTB
401500
IF
GEOL­
COUNTY
OPTB
401600
MOVE
GEO­
COUNTY­
HEADING
TO
REPORT­
RECORD
OPTB
401700
PERFORM
730­
WRITE­
DOUBLE­
SPACED
OPTB
401800
ELSE
OPTB
401900
IF
GEOL­
CITY
OPTB
402000
MOVE
GEO­
CITY­
HEADING
TO
REPORT­
RECORD
OPTB
402100
PERFORM
730­
WRITE­
DOUBLE­
SPACED
OPTB
402200
ELSE
OPTB
402300
IF
HYDROL­
FACILITY
OPTB
402400
MOVE
HYDRO­
FACILITY­
HEADING
TO
REPORT­
RECORD
OPTB
402500
PERFORM
730­
WRITE­
DOUBLE­
SPACED
OPTB
402600
ELSE
OPTB
402700
IF
GEOL­
FACILITY
OPTB
402800
MOVE
GEO­
FACILITY­
HEADING
TO
REPORT­
RECORD
OPTB
402900
PERFORM
730­
WRITE­
DOUBLE­
SPACED
OPTB
403000
ELSE
OPTB
403100
IF
HYDROL­
OUTFALL
OPTB
403200
MOVE
HYDRO­
OUTFALL­
HEADING
TO
REPORT­
RECORD
OPTB
403300
PERFORM
730­
WRITE­
DOUBLE­
SPACED
OPTB
403400
ELSE
OPTB
403500
IF
GEOL­
OUTFALL
OPTB
403600
MOVE
GEO­
OUTFALL­
HEADING
TO
REPORT­
RECORD
OPTB
403700
PERFORM
730­
WRITE­
DOUBLE­
SPACED
OPTB
403800
ELSE
OPTB
403900
IF
WORST­
CASE
AND
WORST­
COUNT
=
1
OPTB
404000
MOVE
WORST­
CASE­
HEADING­
1
TO
REPORT­
RECORD
OPTB
404100
PERFORM
730­
WRITE­
DOUBLE­
SPACED
OPTB
404200
ELSE
OPTB
404300
IF
WORST­
CASE
OPTB
404400
MOVE
WORST­
CASE­
HEADING
TO
REPORT­
RECORD
OPTB
404500
PERFORM
730­
WRITE­
DOUBLE­
SPACED
OPTB
404600
ELSE
OPTB
404700
IF
SIC2­
REPORT
OPTB
404800
MOVE
SIC2­
REPORT­
HEADING
TO
REPORT­
RECORD
OPTB
404900
PERFORM
730­
WRITE­
DOUBLE­
SPACED
OPTB
405000
ELSE
OPTB
405100
IF
PARM­
REPORT
OPTB
405200
MOVE
PARM­
REPORT­
HEADING
TO
REPORT­
RECORD
OPTB
405300
PERFORM
730­
WRITE­
DOUBLE­
SPACED
OPTB
405400
ELSE
OPTB
405500
IF
ENTIRE­
REPORT
OPTB
405600
MOVE
ENTIRE­
REPORT­
HEADING
TO
REPORT­
RECORD
OPTB
405700
PERFORM
730­
WRITE­
DOUBLE­
SPACED.
OPTB
405800
IF
OPTIONAL­
HEADING­
PRINT
NOT
=
SPACES
AND
OPTB
405900
NOT
(
SAS­
DATA
OR
GRAPH­
ONLY)
OPTB
406000
MOVE
OPTIONAL­
HEADING­
PRINT
TO
REPORT­
RECORD
OPTB
406100
PERFORM
730­
WRITE­
DOUBLE­
SPACED.
OPTB
406200*
OPTB
406300
700­
PRINT­
HEADINGS.
OPTB
406400
MOVE
SPACES
TO
REPORT­
RECORD
BASIN­
HEADING.
OPTB
406500
IF
HYDROL­
BASIN
OPTB
406600
MOVE
BEG­
DATE­
HEADING
TO
REPORT­
RECORD
OPTB
406700
PERFORM
730­
WRITE­
DOUBLE­
SPACED
OPTB
406800
MOVE
END­
DATE­
HEADING­
3
TO
REPORT­
RECORD
OPTB
406900
PERFORM
720­
WRITE­
SINGLE­
SPACED
OPTB
407000*
MOVE
'
6'
TO
PAGE­
BREAK­
SW
OPTB
407100
ELSE
OPTB
407200
IF
HYDROL­
STATE
OPTB
407300
MOVE
'
STATE'
TO
B­
STATE
OPTB
407400
MOVE
BEG­
DATE­
HEADING
TO
REPORT­
RECORD
OPTB
407500
PERFORM
730­
WRITE­
DOUBLE­
SPACED
OPTB
407600
MOVE
END­
DATE­
HEADING­
3
TO
REPORT­
RECORD
OPTB
407700
PERFORM
720­
WRITE­
SINGLE­
SPACED
OPTB
407800*
MOVE
'
3'
TO
PAGE­
BREAK­
SW
OPTB
407900
ELSE
OPTB
408000
IF
HYDROL­
COUNTY
OPTB
408100
MOVE
'
COUNTY'
TO
B­
COUNTY
OPTB
408200
MOVE
'
STATE'
TO
B­
STATE
OPTB
408300
MOVE
BEG­
DATE­
HEADING
TO
REPORT­
RECORD
OPTB
408400
PERFORM
730­
WRITE­
DOUBLE­
SPACED
OPTB
408500
MOVE
END­
DATE­
HEADING­
3
TO
REPORT­
RECORD
OPTB
408600
PERFORM
720­
WRITE­
SINGLE­
SPACED
OPTB
408700*
MOVE
'
4'
TO
PAGE­
BREAK­
SW
OPTB
408800
ELSE
OPTB
408900
IF
HYDROL­
CITY
OPTB
409000
MOVE
'
CITY'
TO
B­
CITY
OPTB
409100
MOVE
'
COUNTY'
TO
B­
COUNTY
OPTB
409200
MOVE
'
STATE'
TO
B­
STATE
OPTB
409300
MOVE
BEG­
DATE­
HEADING
TO
REPORT­
RECORD
OPTB
409400
PERFORM
730­
WRITE­
DOUBLE­
SPACED
OPTB
409500
MOVE
END­
DATE­
HEADING­
3
TO
REPORT­
RECORD
OPTB
409600
PERFORM
720­
WRITE­
SINGLE­
SPACED
OPTB
409700*
MOVE
'
5'
TO
PAGE­
BREAK­
SW
OPTB
409800
ELSE
OPTB
409900
IF
GEOL­
STATE
OPTB
410000
MOVE
'
STATE'
TO
B­
STATE
OPTB
410100
MOVE
BEG­
DATE­
HEADING
TO
REPORT­
RECORD
OPTB
410200
PERFORM
730­
WRITE­
DOUBLE­
SPACED
OPTB
410300
MOVE
END­
DATE­
HEADING
TO
REPORT­
RECORD
OPTB
410400
PERFORM
720­
WRITE­
SINGLE­
SPACED
OPTB
410500*
MOVE
'
3'
TO
PAGE­
BREAK­
SW
OPTB
410600
ELSE
OPTB
410700
IF
GEOL­
COUNTY
OPTB
410800
MOVE
'
COUNTY'
TO
B­
COUNTY
OPTB
410900
MOVE
'
STATE'
TO
B­
STATE
OPTB
411000
MOVE
BEG­
DATE­
HEADING
TO
REPORT­
RECORD
OPTB
411100
PERFORM
730­
WRITE­
DOUBLE­
SPACED
OPTB
411200
MOVE
END­
DATE­
HEADING
TO
REPORT­
RECORD
OPTB
411300
PERFORM
720­
WRITE­
SINGLE­
SPACED
OPTB
411400*
MOVE
'
4'
TO
PAGE­
BREAK­
SW
OPTB
411500
ELSE
OPTB
411600
IF
GEOL­
CITY
OPTB
411700
MOVE
'
COUNTY'
TO
B­
COUNTY
OPTB
411800
MOVE
'
CITY'
TO
B­
CITY
OPTB
411900
MOVE
'
STATE'
TO
B­
STATE
OPTB
412000
MOVE
BEG­
DATE­
HEADING
TO
REPORT­
RECORD
OPTB
412100
PERFORM
730­
WRITE­
DOUBLE­
SPACED
OPTB
412200
MOVE
END­
DATE­
HEADING
TO
REPORT­
RECORD
OPTB
412300
PERFORM
720­
WRITE­
SINGLE­
SPACED
OPTB
412400*
MOVE
'
5'
TO
PAGE­
BREAK­
SW
OPTB
412500
ELSE
OPTB
412600
IF
HYDROL­
FACILITY
OPTB
412700
MOVE
BEG­
DATE­
HEADING­
2
TO
REPORT­
RECORD
OPTB
412800
PERFORM
730­
WRITE­
DOUBLE­
SPACED
OPTB
412900
MOVE
END­
DATE­
HEADING­
2
TO
REPORT­
RECORD
OPTB
413000
PERFORM
720­
WRITE­
SINGLE­
SPACED
OPTB
413100*
MOVE
'
1'
TO
PAGE­
BREAK­
SW
OPTB
413200
ELSE
OPTB
413300
IF
GEOL­
FACILITY
OR
WORST­
CASE
OPTB
413400
MOVE
BEG­
DATE­
HEADING­
2
TO
REPORT­
RECORD
OPTB
413500
PERFORM
730­
WRITE­
DOUBLE­
SPACED
OPTB
413600
MOVE
END­
DATE­
HEADING­
2
TO
REPORT­
RECORD
OPTB
413700
PERFORM
720­
WRITE­
SINGLE­
SPACED
OPTB
413800*
MOVE
'
1'
TO
PAGE­
BREAK­
SW
OPTB
413900
ELSE
OPTB
414000
IF
FACILITY­
LOCATION
OPTB
414100
MOVE
SPACES
TO
FL­
CHAR­
CONTROL­
BD
FL­
CHAR­
CONTROL­
ED
OPTB
414200
MOVE
FL­
BEG­
DATE­
HEADING
TO
REPORT­
RECORD
OPTB
414300
PERFORM
730­
WRITE­
DOUBLE­
SPACED
OPTB
414400
MOVE
FL­
END­
DATE­
HEADING
TO
REPORT­
RECORD
OPTB
414500
PERFORM
720­
WRITE­
SINGLE­
SPACED
OPTB
414600*
MOVE
'
1'
TO
PAGE­
BREAK­
SW
OPTB
414700
ELSE
OPTB
414800
IF
HYDROL­
OUTFALL
OPTB
414900
MOVE
BEG­
DATE­
HEADING­
2
TO
REPORT­
RECORD
OPTB
415000
PERFORM
730­
WRITE­
DOUBLE­
SPACED
OPTB
415100
MOVE
END­
DATE­
HEADING­
2
TO
REPORT­
RECORD
OPTB
415200
PERFORM
720­
WRITE­
SINGLE­
SPACED
OPTB
415300*
MOVE
'
2'
TO
PAGE­
BREAK­
SW
OPTB
415400
ELSE
OPTB
415500
IF
GEOL­
OUTFALL
OPTB
415600
MOVE
BEG­
DATE­
HEADING­
2
TO
REPORT­
RECORD
OPTB
415700
PERFORM
730­
WRITE­
DOUBLE­
SPACED
OPTB
415800
MOVE
END­
DATE­
HEADING­
2
TO
REPORT­
RECORD
OPTB
415900
PERFORM
720­
WRITE­
SINGLE­
SPACED
OPTB
416000*
MOVE
'
2'
TO
PAGE­
BREAK­
SW
OPTB
416100
ELSE
OPTB
416200
IF
SIC2­
REPORT
OPTB
416300
MOVE
'
SIC2'
TO
B­
SIC2
OPTB
416400
MOVE
'
SIC2
DESCRIPTION'
TO
B­
SIC2­
DESC
OPTB
416500
MOVE
BEG­
DATE­
HEADING
TO
REPORT­
RECORD
OPTB
416600
PERFORM
730­
WRITE­
DOUBLE­
SPACED
OPTB
416700
MOVE
END­
DATE­
HEADING
TO
REPORT­
RECORD
OPTB
416800
PERFORM
720­
WRITE­
SINGLE­
SPACED
OPTB
416900*
MOVE
'
8'
TO
PAGE­
BREAK­
SW
OPTB
417000
ELSE
OPTB
417100
IF
ENTIRE­
REPORT
OR
PARM­
REPORT
OPTB
417200
MOVE
BEG­
DATE­
HEADING
TO
REPORT­
RECORD
OPTB
417300
PERFORM
730­
WRITE­
DOUBLE­
SPACED
OPTB
417400
MOVE
END­
DATE­
HEADING
TO
REPORT­
RECORD
OPTB
417500
PERFORM
720­
WRITE­
SINGLE­
SPACED
OPTB
417600*
MOVE
'
7'
TO
PAGE­
BREAK­
SW
OPTB
417700
ELSE
OPTB
417800
DISPLAY
'***
ERROR
IN
CALL
***'
OPTB
417900
DISPLAY
'
INVALID
ARGUMENT
PASSED
=
'
FORMAT­
WANTED
OPTB
418000
MOVE
'
YES'
TO
JOB­
EOF.
OPTB
418100*
OPTB
418200
710­
WRITE­
AT­
TOP.
OPTB
418300
WRITE
REPORT­
RECORD
OPTB
418400
AFTER
ADVANCING
PAGE.
OPTB
418500
ADD
1
TO
LINES­
USED.
OPTB
418600*
OPTB
418700
720­
WRITE­
SINGLE­
SPACED.
OPTB
418800
ADD
1
TO
LINES­
USED.
OPTB
418900
IF
WORST­
REPORT
OPTB
419000
MOVE
LINES­
USED
TO
S­
PRINT­
LINE­
NO
OPTB
419100
RELEASE
SORT­
PRINT­
RECORD
FROM
S­
PRINT­
RECORD
OPTB
419200
ELSE
OPTB
419300
WRITE
REPORT­
RECORD
OPTB
419400
AFTER
ADVANCING
1
LINE.
OPTB
419500*
OPTB
419600
730­
WRITE­
DOUBLE­
SPACED.
OPTB
419700
IF
WORST­
REPORT
OPTB
419800
ADD
1
TO
S­
PRINT­
LINE­
NO
OPTB
419900
MOVE
S­
PRINT­
RECORD
TO
SORT­
PRINT­
RECORD
OPTB
420000
MOVE
SPACES
TO
SORT­
PRINT­
LINE
OPTB
420100
RELEASE
SORT­
PRINT­
RECORD
OPTB
420200
ADD
1
TO
S­
PRINT­
LINE­
NO
OPTB
420300
RELEASE
SORT­
PRINT­
RECORD
FROM
S­
PRINT­
RECORD
OPTB
420400
ELSE
OPTB
420500
WRITE
REPORT­
RECORD
OPTB
420600
AFTER
ADVANCING
2
LINES.
OPTB
420700
ADD
2
TO
LINES­
USED.
OPTB
420800*
OPTB
420900
740­
PRINT­
REPORT­
INFO.
OPTB
421000
MOVE
STAR­
HEADING
TO
REPORT­
RECORD.
OPTB
421100
PERFORM
730­
WRITE­
DOUBLE­
SPACED.
OPTB
421200
MOVE
SPACES
TO
BEG­
YEAR
BEG­
MONTH
BEG­
DAY.
OPTB
421300
MOVE
SPACES
TO
END­
YEAR
END­
MONTH
END­
DAY.
OPTB
421400
MOVE
SPACES
TO
PRINT­
1
PRINT­
2
REPORT­
RECORD.
OPTB
421500
MOVE
YY1
TO
BEG­
YEAR.
OPTB
421600
MOVE
MM1
TO
BEG­
MONTH.
OPTB
421700
MOVE
DD1
TO
BEG­
DAY.
OPTB
421800
MOVE
YY2
TO
END­
YEAR.
OPTB
421900
MOVE
MM2
TO
END­
MONTH.
OPTB
422000
MOVE
DD2
TO
END­
DAY.
OPTB
422100
IF
FACILITY­
BREAK
OR
OUTFALL­
BREAK
OPTB
422200
MOVE
NAME
TO
FAC­
NAME
OPTB
422300
MOVE
NPID
TO
FAC­
NPID
OPTB
422400
MOVE
SIC2
TO
FAC­
SIC2
OPTB
422500
MOVE
CYNM
TO
FAC­
CITY
OPTB
422600
MOVE
CNTN
TO
FAC­
CNTN
OPTB
422700
MOVE
SPACES
TO
SIC­
SW
OPTB
422800
PERFORM
330­
SEARCH­
SIC­
DESC
OPTB
422900
PERFORM
750­
MADI­
TEST
OPTB
423000
PERFORM
760­
HYDRO­
TEST
OPTB
423100
ELSE
OPTB
423200
IF
BASIN­
BREAK
OPTB
423300
MOVE
PRINTLINE­
1
TO
REPORT­
RECORD
OPTB
423400
PERFORM
730­
WRITE­
DOUBLE­
SPACED
OPTB
423500
PERFORM
760­
HYDRO­
TEST
OPTB
423600
ELSE
OPTB
423700
IF
STATE­
BREAK
OPTB
423800
MOVE
STATE
TO
P­
STATE
OPTB
423900
MOVE
PRINTLINE­
1
TO
REPORT­
RECORD
OPTB
424000
PERFORM
730­
WRITE­
DOUBLE­
SPACED
OPTB
424100
PERFORM
760­
HYDRO­
TEST
OPTB
424200
ELSE
OPTB
424300
IF
COUNTY­
BREAK
OPTB
424400
MOVE
STATE
TO
P­
STATE
OPTB
424500
MOVE
CNTN
TO
P­
CNTN
OPTB
424600
MOVE
PRINTLINE­
1
TO
REPORT­
RECORD
OPTB
424700
PERFORM
730­
WRITE­
DOUBLE­
SPACED
OPTB
424800
PERFORM
760­
HYDRO­
TEST
OPTB
424900
ELSE
OPTB
425000
IF
CITY­
BREAK
OPTB
425100
MOVE
STATE
TO
P­
STATE
OPTB
425200
MOVE
CNTN
TO
P­
CNTN
OPTB
425300
MOVE
CYNM
TO
P­
CITY
OPTB
425400
MOVE
PRINTLINE­
1
TO
REPORT­
RECORD
OPTB
425500
PERFORM
730­
WRITE­
DOUBLE­
SPACED
OPTB
425600
PERFORM
760­
HYDRO­
TEST
OPTB
425700
ELSE
OPTB
425800
IF
SIC2­
BREAK
OPTB
425900
MOVE
SIC2
TO
P­
SIC2
OPTB
426000
MOVE
SPACES
TO
SIC­
SW
OPTB
426100
PERFORM
330­
SEARCH­
SIC­
DESC
OPTB
426200
MOVE
FAC­
SIC2­
DESC
TO
P­
SIC2­
DESC
OPTB
426300
MOVE
SPACES
TO
FAC­
SIC2­
DESC
OPTB
426400
MOVE
PRINTLINE­
1
TO
REPORT­
RECORD
OPTB
426500
PERFORM
730­
WRITE­
DOUBLE­
SPACED
OPTB
426600
MOVE
PRINTLINE­
2
TO
REPORT­
RECORD
OPTB
426700
ELSE
OPTB
426800
IF
REPORT­
BREAK
OPTB
426900
MOVE
PRINTLINE­
1
TO
REPORT­
RECORD
OPTB
427000
PERFORM
730­
WRITE­
DOUBLE­
SPACED
OPTB
427100
MOVE
PRINTLINE­
2
TO
REPORT­
RECORD.
OPTB
427200
PERFORM
720­
WRITE­
SINGLE­
SPACED.
OPTB
427300*
OPTB
427400
745­
CREATE­
REPORT­
INFO.
OPTB
427500
MOVE
SPACES
TO
BEG­
YEAR
BEG­
MONTH
BEG­
DAY.
OPTB
427600
MOVE
SPACES
TO
END­
YEAR
END­
MONTH
END­
DAY.
OPTB
427700
MOVE
SPACES
TO
PRINT­
1
PRINT­
2
REPORT­
RECORD.
OPTB
427800
MOVE
YY1
TO
BEG­
YEAR.
OPTB
427900
MOVE
MM1
TO
BEG­
MONTH.
OPTB
428000
MOVE
DD1
TO
BEG­
DAY.
OPTB
428100
MOVE
YY2
TO
END­
YEAR.
OPTB
428200
MOVE
MM2
TO
END­
MONTH.
OPTB
428300
MOVE
DD2
TO
END­
DAY.
OPTB
428400
MOVE
NAME
TO
FAC­
NAME.
OPTB
428500
MOVE
NPID
TO
FAC­
NPID.
OPTB
428600
MOVE
SIC2
TO
FAC­
SIC2.
OPTB
428700
MOVE
CYNM
TO
FAC­
CITY.
OPTB
428800
MOVE
CNTN
TO
FAC­
CNTN.
OPTB
428900
MOVE
SPACES
TO
SIC­
SW.
OPTB
429000
PERFORM
330­
SEARCH­
SIC­
DESC.
OPTB
429100
IF
MADI
EQUAL
'
M'
OPTB
429200
MOVE
'
MAJOR'
TO
FAC­
MADI
OPTB
429300
ELSE
OPTB
429400
MOVE
'
MINOR'
TO
FAC­
MADI.
OPTB
429500
IF
DO­
SEARCH
OPTB
429600
MOVE
FHBC
TO
P­
BASIN­
CODE
OPTB
429700
MOVE
SPACES
TO
BASIN­
SW
OPTB
429800
PERFORM
320­
SEARCH­
BASIN­
DESC­
TABLE.
OPTB
429900*
IF
BASIN­
NOT­
FOUND
OPTB
430000*
MOVE
BAS4
TO
BAS4­
HOLD
OPTB
430100*
MOVE
SPACES
TO
BAS2­
SW
OPTB
430200*
PERFORM
325­
SEARCH­
BASIN­
DESC­
TABLE.
OPTB
430300
MOVE
RWAT
TO
P­
RWAT
OPTB
430400
MOVE
FLAT
TO
P­
FLAT
OPTB
430500
MOVE
FLON
TO
P­
FLON.
OPTB
430600*
OPTB
430700
750­
PRINT­
REPORT­
INFO.
OPTB
430800
MOVE
STAR­
HEADING
TO
REPORT­
RECORD
S­
PRINT­
LINE.
OPTB
430900
IF
WORST­
REPORT
OPTB
431000
PERFORM
720­
WRITE­
SINGLE­
SPACED
OPTB
431100
ELSE
OPTB
431200
PERFORM
730­
WRITE­
DOUBLE­
SPACED.
OPTB
431300
MOVE
PRINTLINE­
1
TO
REPORT­
RECORD
S­
PRINT­
LINE.
OPTB
431400
PERFORM
730­
WRITE­
DOUBLE­
SPACED.
OPTB
431500
MOVE
PRINTLINE­
2
TO
REPORT­
RECORD
S­
PRINT­
LINE.
OPTB
431600
PERFORM
720­
WRITE­
SINGLE­
SPACED.
OPTB
431700*
OPTB
431800
750­
MADI­
TEST.
OPTB
431900
IF
MADI
EQUAL
'
M'
OPTB
432000
MOVE
'
MAJOR'
TO
FAC­
MADI
OPTB
432100
ELSE
OPTB
432200
MOVE
'
MINOR'
TO
FAC­
MADI.
OPTB
432300
IF
FACILITY­
LOCATION
OPTB
432400
MOVE
SPACES
TO
FL­
CHAR­
CONTROL­
1
OPTB
432500
MOVE
FL­
PRINT­
1
TO
REPORT­
RECORD
OPTB
432600
PERFORM
730­
WRITE­
DOUBLE­
SPACED
OPTB
432700
ELSE
OPTB
432800
MOVE
PRINTLINE­
1
TO
REPORT­
RECORD
OPTB
432900
PERFORM
730­
WRITE­
DOUBLE­
SPACED.
OPTB
433000*
OPTB
433100
760­
HYDRO­
TEST.
OPTB
433200
IF
DO­
SEARCH
OPTB
433300
MOVE
FHBC
TO
P­
BASIN­
CODE
OPTB
433400
MOVE
SPACES
TO
BASIN­
SW
OPTB
433500
PERFORM
320­
SEARCH­
BASIN­
DESC­
TABLE.
OPTB
433600*
IF
BASIN­
NOT­
FOUND
OPTB
433700*
MOVE
BAS4
TO
BAS4­
HOLD
OPTB
433800*
MOVE
SPACES
TO
BAS2­
SW
OPTB
433900*
PERFORM
325­
SEARCH­
BASIN­
DESC­
TABLE.
OPTB
434000
IF
FACILITY­
BREAK
OR
OUTFALL­
BREAK
OPTB
434100
MOVE
RWAT
TO
P­
RWAT
OPTB
434200
MOVE
FLAT
TO
P­
FLAT
OPTB
434300
MOVE
FLON
TO
P­
FLON.
OPTB
434400
IF
FACILITY­
LOCATION
OPTB
434500
MOVE
SPACES
TO
FL­
CHAR­
CONTROL­
2
OPTB
434600
MOVE
FL­
PRINT­
2
TO
REPORT­
RECORD
OPTB
434700
ELSE
OPTB
434800
MOVE
PRINTLINE­
2
TO
REPORT­
RECORD.
OPTB
434900*
OPTB
435000
770­
CREATE­
OPTIONAL­
HEADING.
OPTB
435100
MOVE
74
TO
HEAD­
SUB.
OPTB
435200
PERFORM
780­
DETERMINE­
LENGTH
OPTB
435300
UNTIL
CHAR(
HEAD­
SUB)
NOT
EQUAL
SPACE.
OPTB
435400
IF
HEAD­
SUB
<
74
OPTB
435500
MOVE
SPACE
TO
CHAR(
HEAD­
SUB)
OPTB
435600
SUBTRACT
1
FROM
HEAD­
SUB.
OPTB
435700
MOVE
HEAD­
SUB
TO
HOLD­
COUNT.
OPTB
435800
MOVE
SPACES
TO
OPTIONAL­
HEADING­
PRINT.
OPTB
435900
IF
HOLD­
COUNT
GREATER
0
OPTB
436000
SUBTRACT
HOLD­
COUNT
FROM
132
OPTB
436100
GIVING
HOLD­
COUNT
OPTB
436200
DIVIDE
HOLD­
COUNT
BY
2
OPTB
436300
GIVING
HOLD­
COUNT
ROUNDED
OPTB
436400
MOVE
1
TO
HEAD­
SUB
OPTB
436500
PERFORM
800­
CENTER­
OPTION­
HEADING
OPTB
436600
VARYING
HEAD­
SUB
FROM
1
BY
1
OPTB
436700
UNTIL
HEAD­
SUB
GREATER
HOLD­
COUNT
OPTB
436800
ADD
1
TO
HOLD­
COUNT
OPTB
436900
MOVE
1
TO
HEAD­
SUB
OPTB
437000
PERFORM
850­
MOVE­
OPTION­
HEADING
OPTB
437100
VARYING
HEAD­
SUB
FROM
1
BY
1
OPTB
437200
UNTIL
HEAD­
SUB
GREATER
74.
OPTB
437300*
OPTB
437400
780­
DETERMINE­
LENGTH.
OPTB
437500
SUBTRACT
1
FROM
HEAD­
SUB.
OPTB
437600*
OPTB
437700
800­
CENTER­
OPTION­
HEADING.
OPTB
437800
MOVE
SPACE
TO
CHARS(
HEAD­
SUB).
OPTB
437900*
OPTB
438000
850­
MOVE­
OPTION­
HEADING.
OPTB
438100
MOVE
CHAR(
HEAD­
SUB)
TO
CHARS(
HOLD­
COUNT).
OPTB
438200
ADD
1
TO
HOLD­
COUNT.
OPTB
438300*
OPTB
438400
1000­
WRITE­
CODES.
OPTB
438500
MOVE
SPACES
TO
CODE­
RECORD.
OPTB
438600
MOVE
STATE­
CNTY­
CODE(
CODE­
INDEX)
TO
OPTB
438700
CODE­
RECORD.
OPTB
438800
WRITE
CODE­
RECORD.
OPTB
438900*
OPTB
439000
1000­
END­
DATA.
OPTB
439100
CLOSE
PCS­
FILE
LIMITS­
FILE
OPTB
439200
SIC­
FILE
BASIN­
FILE
OPTB
439300
DATE­
FILE
TITLE­
FILE
OPTB
439400
SAS­
FILE
STBC­
FILE
OPTB
439500*
REPORT­
FILE.
OPTB
439600
PARM­
GROUP­
FILE
OPTB
439700
REPORT­
FILE
GRAPH­
FILE.
OPTB
439800
IF
GRAPH­
REPORT
AND
GRAPH­
ON
OPTB
439900*
CLOSE
GRAPH­
FILE
CODE­
FILE.
OPTB
440000
CLOSE
CODE­
FILE.
OPTB
440100
200­
EXIT.
OPTB
440200
EXIT.
OPTB
440300*
OPTB
440400
900­
ROUTINE
SECTION.
OPTB
440500
900­
GROUP­
ROUTINE.
OPTB
440600D
DISPLAY
'
900­
GROUP­
ROUTINE'.
OPTB
440700
PERFORM
910­
SEARCH­
ROUTINE
VARYING
PARM­
INDEX
FROM
1
BY
1
OPTB
440800
UNTIL
PARM­
INDEX
>
PARM­
SUB.
OPTB
440900
PERFORM
920­
SORT­
PARMS.
OPTB
441000
PERFORM
930­
CALC­
GROUP­
LOAD
VARYING
PARM­
INDEX
FROM
1
BY
1
OPTB
441100
UNTIL
PARM­
INDEX
>
PARM­
SUB.
OPTB
441200
PERFORM
990­
RELEASE­
PARM­
INFO
VARYING
PARM­
INDEX
FROM
1
BY
1
OPTB
441300
UNTIL
PARM­
INDEX
>
PARM­
SUB
AFTER
YEAR­
INDEX
OPTB
441400
FROM
1
BY
1
UNTIL
YEAR­
INDEX
>
YEAR­
SUB.
OPTB
441500
910­
SEARCH­
ROUTINE.
OPTB
441600D
DISPLAY
'
910­
SEARCH­
ROUTINE'.
OPTB
441700
SEARCH
ALL
PARM­
GROUP­
INFO
OPTB
441800
WHEN
PARM­
GROUP­
CODE(
GROUP­
INDEX)
=
PARM­
NUM(
PARM­
INDEX)
OPTB
441900
MOVE
PARM­
GROUP­
NUM(
GROUP­
INDEX)
TO
PARM­
NUM(
PARM­
INDEX)
OPTB
442000
MOVE
PARM­
GROUP­
HEIR(
GROUP­
INDEX)
TO
PARM­
HEIR(
PARM­
INDEX).
OPTB
442100
920­
SORT­
PARMS.
OPTB
442200D
DISPLAY
'
920­
SORT­
PARMS'.
OPTB
442300
CALL
OPTBSORT
USING
PARM­
TABLE.
OPTB
442400
CANCEL
OPTBSORT.
OPTB
442500*
SORT
SORT­
PARM­
FILE
ON
ASCENDING
KEY
SORT­
PARM­
KEY
OPTB
442600*
INPUT
PROCEDURE
IS
4000­
SORT­
INPUT­
PROC
OPTB
442700*
OUTPUT
PROCEDURE
IS
5000­
SORT­
OUTPUT­
PROC.
OPTB
442800
930­
CALC­
GROUP­
LOAD.
OPTB
442900D
DISPLAY
'
930­
CALC­
GROUP­
LOAD'.
OPTB
443000
IF
PARM­
NUM­
MLOC(
PARM­
INDEX)
=
PARM­
NUM­
MLOC(
PARM­
INDEX
+
1)
OPTB
443100
MOVE
0
TO
TOTAL(
PARM­
INDEX)
OPTB
443200*
MOVE
0
TO
TOTAL(
PARM­
INDEX)
TCOUNT(
PARM­
INDEX)
OPTB
443300
IF
PARM­
HEIR(
PARM­
INDEX)
=
PARM­
HEIR(
PARM­
INDEX
+
1)
OPTB
443400
PERFORM
940­
COMBINE­
LOADS
VARYING
YEAR­
INDEX
FROM
1
OPTB
443500
BY
1
UNTIL
YEAR­
INDEX
>
10
OPTB
443600
ADD
PCOUNT(
PARM­
INDEX
+
1)
TO
PCOUNT(
PARM­
INDEX)
OPTB
443700
ELSE
OPTB
443800
PERFORM
960­
COMPARE­
LOADS
VARYING
YEAR­
INDEX
FROM
1
OPTB
443900
BY
1
UNTIL
YEAR­
INDEX
>
10
OPTB
444000
END­
IF
OPTB
444100
SET
HOLD­
PARM­
INDEX
TO
PARM­
INDEX
OPTB
444200
SET
PARM­
START
TO
PARM­
INDEX
OPTB
444300
ADD
1
TO
PARM­
START
OPTB
444400
PERFORM
980­
ADJUST­
TABLE
VARYING
PARM­
INDEX
FROM
OPTB
444500
PARM­
START
BY
1
UNTIL
PARM­
INDEX
>
PARM­
SUB
OPTB
444600
SUBTRACT
1
FROM
PARM­
SUB
OPTB
444700
SET
PARM­
INDEX
TO
HOLD­
PARM­
INDEX
OPTB
444800
SET
PARM­
INDEX
DOWN
BY
1.
OPTB
444900
940­
COMBINE­
LOADS.
OPTB
445000D
DISPLAY
'
940­
COMBINE­
LOADS'.
OPTB
445100
IF
MEASUREMENT(
PARM­
INDEX,
YEAR­
INDEX)
=
0
OPTB
445200
ADD
HOLD­
TCOUNT
TO
TB­
COUNT(
PARM­
INDEX,
YEAR­
INDEX)
OPTB
445300
ELSE
OPTB
445400
MOVE
0
TO
MEASUREMENT(
PARM­
INDEX,
YEAR­
INDEX)
OPTB
445500*
TB­
COUNT(
PARM­
INDEX,
YEAR­
INDEX).
OPTB
445600
ADD
TB­
COUNT(
PARM­
INDEX
+
1,
YEAR­
INDEX)
TO
OPTB
445700
TB­
COUNT(
PARM­
INDEX,
YEAR­
INDEX).
OPTB
445800
PERFORM
950­
ADD­
LOADS
VARYING
MONTH­
INDEX
FROM
1
OPTB
445900
BY
1
UNTIL
MONTH­
INDEX
>
12.
OPTB
446000
950­
ADD­
LOADS.
OPTB
446100D
DISPLAY
'
950­
ADD­
LOADS'.
OPTB
446200
ADD
MONTH­
LOAD(
PARM­
INDEX
+
1,
YEAR­
INDEX,
MONTH­
INDEX)
TO
OPTB
446300
MONTH­
LOAD(
PARM­
INDEX,
YEAR­
INDEX,
MONTH­
INDEX).
OPTB
446400
ADD
MONTH­
LOAD(
PARM­
INDEX,
YEAR­
INDEX,
MONTH­
INDEX)
TO
OPTB
446500
MEASUREMENT(
PARM­
INDEX,
YEAR­
INDEX)
TOTAL(
PARM­
INDEX).
OPTB
446600*
IF
MONTH­
LOAD(
PARM­
INDEX,
YEAR­
INDEX,
MONTH­
INDEX)
>
0
OPTB
446700*
ADD
1
TO
TB­
COUNT(
PARM­
INDEX,
YEAR­
INDEX)
OPTB
446800*
TCOUNT(
PARM­
INDEX).
OPTB
446900
960­
COMPARE­
LOADS.
OPTB
447000D
DISPLAY
'
960­
COMPARE­
LOADS'.
OPTB
447100
MOVE
0
TO
MEASUREMENT(
PARM­
INDEX,
YEAR­
INDEX)
OPTB
447200
TB­
COUNT(
PARM­
INDEX,
YEAR­
INDEX).
OPTB
447300
PERFORM
970­
REPLACE­
LOADS
VARYING
MONTH­
INDEX
FROM
1
OPTB
447400
BY
1
UNTIL
MONTH­
INDEX
>
12.
OPTB
447500
970­
REPLACE­
LOADS.
OPTB
447600D
DISPLAY
'
970­
REPLACE­
LOADS'.
OPTB
447700
IF
MONTH­
LOAD(
PARM­
INDEX,
YEAR­
INDEX,
MONTH­
INDEX)
<=
0
OPTB
447800
MOVE
MONTH­
LOAD(
PARM­
INDEX
+
1,
YEAR­
INDEX,
MONTH­
INDEX)
OPTB
447900
TO
MONTH­
LOAD(
PARM­
INDEX,
YEAR­
INDEX,
MONTH­
INDEX).
OPTB
448000
ADD
MONTH­
LOAD(
PARM­
INDEX,
YEAR­
INDEX,
MONTH­
INDEX)
TO
OPTB
448100
MEASUREMENT(
PARM­
INDEX,
YEAR­
INDEX)
TOTAL(
PARM­
INDEX).
OPTB
448200
IF
MONTH­
LOAD(
PARM­
INDEX,
YEAR­
INDEX,
MONTH­
INDEX)
>
0
OPTB
448300
ADD
1
TO
TB­
COUNT(
PARM­
INDEX,
YEAR­
INDEX)
OPTB
448400
TCOUNT(
PARM­
INDEX).
OPTB
448500
980­
ADJUST­
TABLE.
OPTB
448600D
DISPLAY
'
980­
ADJUST­
TABLE'.
OPTB
448700
MOVE
PARM­
INFO(
PARM­
INDEX
+
1)
TO
PARM­
INFO(
PARM­
INDEX).
OPTB
448800
990­
RELEASE­
PARM­
INFO.
OPTB
448900D
DISPLAY
'
990­
RELEASE­
PARM­
INFO'.
OPTB
449000*
DISPLAY
'
MEASUREMENT:
'
MEASUREMENT(
PARM­
INDEX,
YEAR­
INDEX)
OPTB
449100*
'
TB­
COUNT:
'
TB­
COUNT(
PARM­
INDEX,
YEAR­
INDEX)
OPTB
449200*
'
HOLD­
TCOUNT:
'
HOLD­
TCOUNT
OPTB
449300*
'
PCOUNT:
'
PCOUNT(
PARM­
INDEX).
OPTB
449400
IF
ESTIMATE­
ON
OPTB
449500
IF
(
MEASUREMENT(
PARM­
INDEX,
YEAR­
INDEX)
>
0)
AND
OPTB
449600
TB­
COUNT(
PARM­
INDEX,
YEAR­
INDEX)
<
(
HOLD­
TCOUNT
*
PCOUNT(
POPTB
449700­
ARM­
INDEX))
OPTB
449800
MOVE
MEASUREMENT(
PARM­
INDEX,
YEAR­
INDEX)
TO
WS­
MEASUREMENTOPTB
449900
COMPUTE
MEASUREMENT(
PARM­
INDEX,
YEAR­
INDEX)
=
OPTB
450000
MEASUREMENT(
PARM­
INDEX,
YEAR­
INDEX)
*
HOLD­
TCOUNT
*
PCOOPTB
450100­
UNT(
PARM­
INDEX)
/
TB­
COUNT(
PARM­
INDEX,
YEAR­
INDEX)
OPTB
450200
COMPUTE
TOTAL(
PARM­
INDEX)
=
TOTAL(
PARM­
INDEX)
+
OPTB
450300
(
MEASUREMENT(
PARM­
INDEX,
YEAR­
INDEX)
­
WS­
MEASUREMENT)
OPTB
450400
MOVE
'
E'
TO
EST­
SYMBOL(
PARM­
INDEX,
YEAR­
INDEX).
OPTB
450500*
DISPLAY
'
MEASUREMENT:
'
MEASUREMENT(
PARM­
INDEX,
YEAR­
INDEX).
OPTB
450600*
MOVE
SPACES
TO
SORT­
RECORD.
OPTB
450700*
MOVE
FACILITY­
INFO
TO
S­
FACILITY­
INFO.
OPTB
450800*
MOVE
PIPE­
INFO
TO
S­
PIPE­
INFO.
OPTB
450900
MOVE
YEAR­
INFO(
PARM­
INDEX,
YEAR­
INDEX)
TO
OPTB
451000
YEAR­
INFO(
PARM­
INDEX,
1).
OPTB
451100
MOVE
PARM­
INFO(
PARM­
INDEX)
TO
S­
PARM­
INFO.
OPTB
451200
MOVE
TB­
YEAR(
PARM­
INDEX,
YEAR­
INDEX)
TO
S­
MVDT.
OPTB
451300
MOVE
YEAR­
INFO(
PARM­
INDEX,
YEAR­
INDEX)
TO
S­
YEAR­
INFO.
OPTB
451400*
RELEASE
SORT­
RECORD.
OPTB
451500
WRITE
PCS­
GRP­
EST­
RECORD
FROM
SORT­
RECORD.
OPTB
451600
2000­
PRINT­
REPORT
SECTION.
OPTB
451700*
OPTB
451800
2000­
MAIN­
ROUTINE.
OPTB
451900
PERFORM
2100­
INIT­
DATA.
OPTB
452000
PERFORM
2200­
PROCESS­
DATA
OPTB
452100
UNTIL
END­
OF­
FILE.
OPTB
452200
GO
TO
2000­
EXIT.
OPTB
452300*
OPTB
452400
2100­
INIT­
DATA.
OPTB
452500
MOVE
'
NO'
TO
WORST­
REPORT­
SW.
OPTB
452600
MOVE
SPACES
TO
PREV­
NPID
PREV­
STATE
PREV­
PARM.
OPTB
452700
MOVE
0
TO
RECORD­
COUNT.
OPTB
452800
MOVE
0
TO
LINES­
USED.
OPTB
452900
PERFORM
2110­
RETURN­
SORT­
FILE.
OPTB
453000*
OPTB
453100
2110­
RETURN­
SORT­
FILE.
OPTB
453200
RETURN
SORT­
PRINT­
FILE
OPTB
453300
AT
END
MOVE
'
YES'
TO
EOF­
SW.
OPTB
453400
IF
MORE­
RECORDS
AND
SORT­
PRINT­
TOTAL
=
0
OPTB
453500
GO
TO
2110­
RETURN­
SORT­
FILE.
OPTB
453600
IF
SORT­
PRINT­
NPID
NOT
=
PREV­
NPID
OPTB
453700
MOVE
SORT­
PRINT­
NPID
TO
PREV­
NPID
OPTB
453800
ADD
1
TO
RECORD­
COUNT.
OPTB
453900*
OPTB
454000
2200­
PROCESS­
DATA.
OPTB
454100
IF
RECORD­
COUNT
>
WORST­
COUNT
OPTB
454200
PERFORM
2110­
RETURN­
SORT­
FILE
OPTB
454300
UNTIL
SORT­
PRINT­
PARM
NOT
=
PREV­
PARM
OPTB
454400
OR
SORT­
PRINT­
YEAR
NOT
=
PREV­
YEAR
OPTB
454500
OR
END­
OF­
FILE
OPTB
454600
MOVE
1
TO
RECORD­
COUNT.
OPTB
454700
IF
MORE­
RECORDS
OPTB
454800
PERFORM
2210­
PRINT­
REPORT
OPTB
454900
PERFORM
2110­
RETURN­
SORT­
FILE.
OPTB
455000*
OPTB
455100
2210­
PRINT­
REPORT.
OPTB
455200
IF
LINES­
USED
GREATER
59
OR
OPTB
455300
(
OPTIONAL­
HEADING­
PRINT
NOT
=
SPACES
AND
LINES­
USED
>
57)
OPTB
455400
MOVE
ZEROS
TO
LINES­
USED
OPTB
455500*
MOVE
SORT­
PRINT­
YEAR
TO
PREV­
YEAR
OPTB
455600
PERFORM
700­
PRINT­
TOP­
HEADINGS
OPTB
455700
PERFORM
700­
PRINT­
HEADINGS
OPTB
455800
ELSE
OPTB
455900
IF
SORT­
PRINT­
PARM
NOT
=
PREV­
PARM
OPTB
456000
MOVE
ZEROS
TO
LINES­
USED
OPTB
456100
MOVE
1
TO
RECORD­
COUNT
OPTB
456200
MOVE
SORT­
PRINT­
YEAR
TO
PREV­
YEAR
OPTB
456300
MOVE
SORT­
PRINT­
PARM
TO
PREV­
PARM
OPTB
456400
PERFORM
700­
PRINT­
TOP­
HEADINGS
OPTB
456500
PERFORM
700­
PRINT­
HEADINGS
OPTB
456600
ELSE
OPTB
456700
IF
SORT­
PRINT­
YEAR
NOT
=
PREV­
YEAR
OPTB
456800
MOVE
ZEROS
TO
LINES­
USED
OPTB
456900
MOVE
1
TO
RECORD­
COUNT
OPTB
457000
MOVE
SORT­
PRINT­
YEAR
TO
PREV­
YEAR
OPTB
457100
PERFORM
700­
PRINT­
TOP­
HEADINGS
OPTB
457200
PERFORM
700­
PRINT­
HEADINGS.
OPTB
457300
MOVE
SORT­
PRINT­
LINE
TO
REPORT­
RECORD.
OPTB
457400
PERFORM
720­
WRITE­
SINGLE­
SPACED.
OPTB
457500*
OPTB
457600
2000­
EXIT.
OPTB
457700
EXIT.
OPTB
457800*
OPTB
457900
3000­
PRODUCE­
OUT
SECTION.
OPTB
458000
PERFORM
3100­
PROD­
OUT.
OPTB
458100
MOVE
WS­
SAS­
RECORD
TO
SAS­
RECORD.
OPTB
458200
WRITE
SAS­
RECORD.
OPTB
458300*
OPTB
458400
3100­
PROD­
OUT.
OPTB
458500
SEARCH
ALL
PARM­
DESC­
INFO
OPTB
458600
AT
END
MOVE
'
DES
MISSING'
TO
SAS­
PRAM­
DESC
OPTB
458700
WHEN
IN­
PARM­
CODE(
LIMITS­
INDEX)
EQUAL
PARM
OPTB
458800
MOVE
IN­
PARM­
DESC(
LIMITS­
INDEX)
TO
SAS­
PRAM­
DESC.
OPTB
458900
MOVE
RWAT
TO
SAS­
RWAT.
OPTB
459000
MOVE
NAME
TO
SAS­
NAME.
OPTB
459100
MOVE
NPID
TO
SAS­
NPID.
OPTB
459200
MOVE
PARM
TO
SAS­
PRAM.
OPTB
459300
MOVE
HOLD­
CONC
TO
SAS­
CONC.
OPTB
459400
MOVE
HOLD­
FLOW
TO
SAS­
FLOW.
OPTB
459500
MOVE
HOLD­
LOAD
TO
SAS­
LOAD.
OPTB
459600
MOVE
C­
F­
FACTOR
TO
SAS­
C­
F­
FACT.
OPTB
459700
MOVE
MVDT
TO
SAS­
MVDT.
OPTB
459800*
OPTB
459900
4000­
SORT­
INPUT­
PROC
SECTION.
OPTB
460000
PERFORM
4100­
RELEASE­
RECORD
VARYING
PARM­
INDEX
FROM
1
BY
1
OPTB
460100
UNTIL
PARM­
INDEX
>
PARM­
SUB.
OPTB
460200
GO
TO
4000­
EXIT.
OPTB
460300
4100­
RELEASE­
RECORD.
OPTB
460400
RELEASE
SORT­
PARM­
RECORD
FROM
PARM­
INFO(
PARM­
INDEX).
OPTB
460500
4000­
EXIT.
OPTB
460600
EXIT.
OPTB
460700*
OPTB
460800
5000­
SORT­
OUTPUT­
PROC
SECTION.
OPTB
460900
PERFORM
5100­
RETURN­
SORT­
FILE
VARYING
PARM­
INDEX
FROM
1
BY
1
OPTB
461000
UNTIL
PARM­
INDEX
>
PARM­
SUB.
OPTB
461100
GO
TO
5000­
EXIT.
OPTB
461200
5100­
RETURN­
SORT­
FILE.
OPTB
461300
RETURN
SORT­
PARM­
FILE
INTO
PARM­
INFO(
PARM­
INDEX)
OPTB
461400
AT
END
SET
PARM­
INDEX
TO
PARM­
SUB.
OPTB
461500
5000­
EXIT.
OPTB
461600
EXIT.
OPTB
461700***************************************************
OPTB