EPA-450/3-74-045-a
FEBRUARY 1975
COMPREHENSIVE DATA
HANDLING SYSTEM,
EMISSIONS
INVENTORY/PERMITS
AND
REGISTRATION SUBSYSTEM
(E1S/P&R) PROGRAM
DOCUMENTATION
AND USERS GUIDE
U.S. ENVIRONMENTAL PROTECTION AGENCY
Offioe of Air and Waste Management
Office of Air Quality Planning and Standards
Research Triangle Park, North Carolina 27711
-------
EPA-450/3-74-045-a
COMPREHENSIVE DATA
HANDLING SYSTEM,
EMISSIONS
INVENTORY/PERMITS
AND
REGISTRATION SUBSYSTEM
(EIS/P&R) PROGRAM
DOCUMENTATION
AND USERS GUIDE
by
The IBM Corporation
Federal Systems Division
18100 Frederick Pike
Gaithersburg , Maryland 20760
Contract No. 68'-02-0638
EPA Project Officer: Lloyd Hedgepeth
Prepared for
ENVIRONMENTAL PROTECTION AGENCY
Office of Air and Waste Management
Office of Air Quality Planning and Standards
Research Triangle Park, N. C. 27711
February 1975
-------
This report is issued by the Environmental Protection Agency to report
technical data of interest to a limited number of readers. Copies are
available free of charge to Federal employees, current contractors
and grantees, and nonprofit organizations - as supplies permit - from
the Air Pollution Technical Information Center, Environmental Protection
Agency, Research Triangle Park, North Carolina 27711; or, for a
fee, from the National Technical Information Service, 5285 Port Royal
Road, Springfield, Virginia 22161.
This report was furnished to the Environmental Protection Agency
by The IBM Corporation, Gaithersburg , Maryland 20760, in fulfillment
of Contract No. 68-02-0638. The contents of this report are reproduced
herein as received from The; IBM Corporation. The opinions, findings,
and conclusions expressed are those of the author and not necessarily
those of the Environmental Protection Agency. Mention of company
or product names is not to be considered as an endorsement by the
Environmental Protection Agency.
Publication No. EPA-450/3-74-045-a
11
-------
TABLE OF CONTENTS
Page
Preface 1
1.0 Introduction 4
2.0 Emission Inventory/Permits and Registration Subsystems Overview .. 6
2.1 Organization 7
2.2 Communication and Data Formats 12
2.2.1 Master File 12
2.2.2 Transaction Records 22
3.0 File Maintenance and Retrieval 53
3.1 File Maintenance 54
3.1.1 Organization 64
3.1.2 Communication and Data Formats 67
3.1.3 Routines 70
3.1.4 Diagnostic Messages 74
3.2 Retrieval 78
3.2.1 Retrieval Language Processor 79
3.2.1.1 Organization 84
3.2.1.2 Communication and Data Formats 86
3.2.1.3 Routines 89
3.2.1.4 Diagnostic Messages 101
3.2.2 Retriever 104
3.2.2.1 Organization 112
3.2.2.2 Communication and Data Formats 115
3.2.2.3 Routines 118
3.2.2.4 Diagnostic Messages 119
4.0 Output Programs 120
4.1 File List Output 121
4.1.1 Organization 129
4.1.2 Communication and Data Formats 131
4.1.3 Routines 132
4.1.4 Diagnostic Messages 133
iii
-------
Page
4.2 Summary Report Output 134
4.2.1 Organization 152
4.2.2 Communication and Data Formats 155
4.2.3 Routines 157
4.2.4 Diagnostic Messages 158
4.3 NEDS Point Source Output 159
4.3.1 Organization 164
4.3.2 Communication and Data Formats 167
4.3.3 Routines 168
4.3.4 Diagnostic Messages 169
4.4 NEDS Area Source Output 170
4.4.1 Organization 174
4.4.2 Communication and Data Formats 176
4.4.3 Routines 178
4.4.4 Diagnostic Messages
4.5 NEDS Area Source Report
4.5.1 Organization 185
4.5.2 Communication and Data Formats 187
4.5.3 Routines I88
4.5.4 Diagnostic Messages 189
5.0 Conversion Programs ^1
5.1 NEDS Point Source to EIS/P&R 192
5.1.1 Organization 193
5.1.2 Communication and Data Formats 195
5.1.3 Routines 196
5.1.4 Diagnostic Messages 197
5.2 NEDS Area Source to EIS/P&R 198
5.2.1 ' Organization 207
210
5.2.2 Communication and Data Formats
213
5.2.3 Routines
214
5.2.4 Diagnostic Messages
215
6.0 Emission Factors Programs
iv
-------
Page
6.1 Emission Factors Table Generator 216
6.1.1 Organization 218
6.1.2 Communication and Data Formats 220
6.1.3 Routines 221
6.1.4 Diagnostic Messages 223
6.2 Emission Factors Transaction Generator 225
6.2.1 Organization 230
6.2.2 Communication and Data Formats 233
6.2.3 Routines 235
6.2.4 Diagnostic Messages 238
6.3 Emission Factors Insert 240
6.3.1 Organization 242
6.3.2 Communication and Data Formats 244
6.3.3 Routines 245
6.3.4 Diagnostic Messages 246
7.0 Sort Related Programs 247
7.1 Transaction Sorter 248
7.1.1 Organization 249
7.1.2 Communication and Data Formats 251
7.1.3 Routines 252
7.1.4 Diagnostic Messages 253
7.2 Master File Sort 254
7.2.1 Master File Sorter Generator 255
7.2.1.1 Organization 26°
7.2.1.2 Communication and Data Formats 263
7.2.1.3 Routines 264
7.2.1.4 Diagnostic Messages 265
7.2.2 Master File Sorter 267
7.2.2.1 Organization 27°
7.2.2.2 Communication and Data Formats
7.2.2.3 Routines
7.2.2.4 Diagnostic Messages
-------
Page
Appendix A: Catalogued Procedures 276
Appendix B: Sample Run 368
Appendix C: Program Modifications 387
Appendix D: System Conversion for Tape 406
Appendix E: Glossary of Terms ^08
vi
-------
FIGURES
Page
2.1 EIS/P&R System Flow 9
2.2.1-1 EIS/P&R Master Record Structure 14
2.2.1-2 EIS/P&R Master Record Format 15
2.2.2-1 EIS/P&R Transaction Cards 23
3.1.1 FXFILMNT Organization 66
3.2.1.1 LXLNGPRC Organization 85
3.2.1.4-1 Retrieval Control Cards 92
3.2.1.4-2 Retrieval Language Specifications 94
3.2.1.4-3 Valid Retrieval Data Names 96
3.2.2.1 Retriever Organization 114
4.1 File List Examples 122
4.1.1 PXFILPRT Organization 130
4.2-1 Permanent Summary Report Generation 139
4.2-2 Permanent Summary Report Execution 140
4.2-3 Temporary Summary Report Generation and Execution 141
4.2-3.1 Sample Job Stream I*2
4.2-4 Summary Report Example 143
4.2.1 BXSUMARY Organization 154
4.3-1 NEDS Point Source Output - Data Flow and Deck 161
4.3-2 NEDS Point Source Output Example 162
4.3.1 NXNEDSCV Organization 166
4.4-1 NEDS Area Source Output - Data Flow and Deck 171
4.4-2 NEDS Area Source Output Example 172
4.4.1 AXASNEDS Organization 175
4.5-1 NEDS Area Source Report - Data Flow and Deck 182
4.5-2 NEDS Area Source Report Example 183
4.5.1 HXANREPT Organization 186
5.1.1 CXNEDSCV Organization 194
5.2-1 Area Source Categories 201
5.2-2 EIS/P&R Area Source Records 203
5.2.1 DXNEDSAS Organization 209
vii
-------
FIGURES (Continued)
Page
6.1.1 TXTBLGEN Organization 219
6.2 Summary of Modes of Operation and Actions 229
6.2.1 EXTRNGEN Organization 232
6.3.1 KXEMFINS Organization 243
7.1.1 IXTRNSRT Organization 250
7.2 Valid Sort Requests 257
7.2.1.1 JXSRTGEN Organization 262
7.2.2.1 Master File Sorter Organization 272
A-l PNRANCNV - Data Flow 278
A-2 PNRBREPT - Data Flow 283
A-3 PNRCNVRT - Data Flow 290
A-4 PNRDCONV - Data Flow 295
A-5 PNREFUPD - Data Flow 300
A-6 PNRFUPDT - Data Flow 307
A-7 PNRHREPT - Data Flow 313
A-8 PNRISORT - Data Flow 318
A-9 PNRKEFIN - Data Flow 323
A-10 PNRNCONV - Data Flow 328
A-ll PNRPREPT - Data Flow 333
A-12 PNRRETVR - Data Flow 339
A-13 PNRSORTR - Data Flow 348
A-14 PNRTBGEN - Data Flow 357
A-15 Sample EIS/P&R Job Stream 364
A-16 Sample Detail List 366
A-17 Sample Summary Report 367
B-l Sample Run 1 371
B-l .1 Sample Job Stream 372
B-2 Sample Run 2 373
B-2.1 Sample Job Stream 374
B-3 Sample Run 3 375
viii
-------
FIGURES (Continued)
Page
B-3.1 Sample Job Stream 376
B-4 Sample Run 4 377
B-4. 1 Sample Job Stream 378
B-5 Sample Run 5 379
B-5.1 Sample Job Stream 380
B-6 Sample Run 6 381
B-6.1 Sample Job Stream 382
B-7 Segment 0 Input Forms 383
B-8 Segment 1 Input Forms 384
B-9 Segment 2 Input Forms 385
B-10 Segment 3 Input Forms 386
Ix
-------
PREFACE
The Comprehensive Data Handling System (CDHS) is a data handling system
concept intended to aid State and local air pollution control agencies
in performing their daily operations and to ease their job of meeting
Environmental Protection Agency (EPA) reporting requirements.
The CDHS is actually comprised of four separate subsystems which may be
operated independently of each other. These subsystems are:
o The Emissions Inventory Subsystem (EIS)
o The Emissions Inventory/Permits and Registration Subsystem (EIS/P&R)
o The Air Quality Data Handling Subsystem - II (AQDHS-II)
o The Enforcement Management Subsystem (EMS).
The CDHS subsystems are provided to State and local air pollution control
agencies at no charge. Each agency installs the subsystems on a computer
to which it has access; and the agency can then build and maintain its
own data bases. The computer programs which comprise each subsystem will
be maintained by EPA.
Any modifications or extensions will be accomplished by EPA and supplied
to each user as required.
The following air pollution control agency functions can be supported
through use of the CDHS subsystem:
Air Quality Inventory
Emission Inventory
Enforcement Activities
Emergency Actions
Planning
-------
Local Emissions Summary Reports
Permits and Registration Activities
Inspections and Surveillance Scheduling/Tracking
Legal Actions Scheduling/Tracking
Permit Application Scheduling/Tracking
Compliance Schedule Tracking
Personnel Scheduling
Local Enforcement Summary Reports
Federal Air Quality Reports
Federal Emissions Reports
Federal Compliance Reports
The EIS/P&R is an extension of the EIS which encompasses all capabilities
of the EIS and, in addition, was designed to give the user the capability
of maintaining and retrieving any data from permit or registration activi-
ties. The nature of the Permits and Registration portion of EIS/P&R gives
the user the capability of maintaining many other types of data. EIS/P&R
will perform all functions formerly performed by EIS. In addition, EIS/P&R
will perform the following new functions:
o Allow Retrieval from the Machine Process Segment (Segment 2)
o Maintain, Process and Report Permits and Registration Data
o Allow Retrieval from the Permits and Registration Segment (Segment 3).
Improvements were made to the basic EIS Subsystem in developing the EIS/P&R
subsystem. The following improvements were added to EIS/P&R:
o A Separate Transaction Sorter
o A Separate Master File Sorter
o Improved Retrieval Capabilities
-------
o A Retrieval Answer File Always in Master File Format
o Changes to the NEDS Point Source Output and NEDS Area Source Output
programs to allow ADD, CHANGE, and DELETE Capabilities
o Changes to the File Maintenance, File Print, and Transaction Generator
Programs to Accommodate the Permits and Registration Data.
EIS/P&R is shown as a disk system in this manual. It is depicted as such
because most users will be installing it as a disk system, but the system
can easily be installed (or converted to) a tape system. The necessary
information is illustrated in Appendix D.
-------
1.0 INTRODUCTION
This document is aimed at two different audiences. Its primary target is
the person who will be using the Emission Inventory/Permits and Registra-
tion Subsystem (EIS/P&R) of the Comprehensive Data Handling System (CDHS).
By referring to the general program writeups, input card formats, and cata-
logued procedures, the EIS/P&R user should be able to use the system without
reference to detailed program documentation. However, sufficient detailed
documentation is provided for the programmer responsible for the maintenance
of EIS/P&R. This documentation takes the form of flow diagrams, organization,
data formats, and subroutines for each program in EIS/P&R, as well as several
appendixes. With these goals in mind, the documentation is organized as
follows:
o Section 2.0 - Contains an overview of the EIS/P&R system, a brief
functional description of each component program comprising the
system, and a detailed discussion of the system Master File and
the general transaction cards required to build the Master File.
o Section 3.0 through 7.0 - Contain detailed functional descriptions of
each program in EIS/P&R, along with complete instructions on the use
of all functions. Following these are descriptions of the program
logic, organization, data formats, and subroutines for each program.
The sections are organized as follows:
Section 3.0 - File Maintenance and Retrieval
Section 4.0 - Output Programs
Section 5.0 - Data Conversion Programs
Section 6.0 - Emission Factors Table Programs
Section 7.0 - Sort Related Programs
In general, each program in the EIS/P&R system is organized in the top-
down manner in which higher level programming modules execute one or more
lower level modules to perform specific functional tasks. These lower
-------
level modules may, in turn, execute still lower level modules to perform
other specific tasks. Each module has one entry and one exit only. Thus,
each program basically consists of a hierarchical structure of programming
modules.
In addition, each program in the E1S/F&R system is programmed using struc-
tured programming techniques. These techniques include using only three
basic types of programming construction blocks (IF/ELSE, DO, and PROCESS)
and preclude the use of explicit branches. These techniques, along with
the top-down organization, make for programs which are extremely readable
with straightforward logic and no branching to confuse the program flow.
Because of the advanced manner in which the EIS/P&R system was developed,
it became obvious that the standard method of program documentation, in-
struction by instruction and field by field, would not provide that level
of information about the programs that IBM deemed necessary for valid under-
standing. Therefore, IBM has documented the EIS/P&R programs by first des-
cribing their hierarchical top-down structure and then giving detailed
descriptions of each main module within the structure. Thus, the serious
EIS/P&R user can find his way directly into virtually any subroutine of a
given program where he will then find the programming details in the struc-
tured code.
In addition, descriptions of all the important data areas and hierarchical
flowcharts of each program, as well as all the crucial high-level modules
within each program, have been provided.
-------
2.0 EMISSION INVENTORY/PERMITS AND REGISTRATION SUBSYSTEMS (EIS/P&R) OVERVIEW
When dealing with atmospheric pollution, it is necessary to amass, catalog,
sort, evaluate, and perform calculations upon large volumes of data. The
EIS/P&R Subsystems of the CDHS provide a systematic method for collecting
this data in a data base that will provide a central source for the infor-
mation needed to help control air pollution. If the system is to be helpful,
it must maintain the data base, keeping the information current, and provide
a means for access to the information, presenting it in a usable form.
The EIS/P&R Subsystems provide the ability to create and maintain and to
retrieve and print data from the data base. The creation and maintenance
is accomplished with the File Maintenance program. This program allows the
user to keep his data base information current and useful. Access to the
data base information is provided by the Retrieval program set. These pro-
grams provide the means of extracting desired information from the data base.
The output print programs are then used to convert the extracted information
to a form readable by the user. These three functions form the basic system.
In addition to the basic system, several preprocessor and postprocessor
programs are provided which perform functions necessary to make this sys-
tem compatible with existing systems. Other programs provide services
which help make the maintenance process automatic. All system programs are
described in detail in the following sections.
The format of each segment type on the Master File is illustrated in
reference Figure 2.2.1-2. Each field illustrated relates directly to a
field on one of the input transaction cards.
-------
2.1 ORGANIZATION
The EIS/P&R Subsystems of CDHS are organized around two main programs, File
Maintenance and Retrieval. There are 13 other programs in the system that
perform service functions. The EIS/P&R transaction cards serve as the in-
terface between the File Maintenance program and those programs which feed
it. The Master File serves as the interface for the rest of the programs.
The EIS/P&R components are:
o File Maintenance - This program is used to create and maintain
the Master File.
o Retrieval Language Processor - This program generates the Retrieval
program.
o Retrieval - This program is used to extract information from the
Master File and to write this information to an Answer File (always
in Master File format).
o File List - This program provides a detailed listing of the Master
File.
o Summary Report Output - This program will produce a listing of
emission totals for user-specified control breaks.
o NEDS Point Source Output - This program converts the Master File
to NEDS Point Source card formats.
o NEDS Area Source Output - This program converts the Master File
area records to NEDS Area Source card formats.
o NEDS Area Source Report - This program prints a formatted listing
of NEDS Area Source cards.
o NEDS Point Source Conversion - This program converts NEDS Point
Source cards to EIS/P&R transaction cards.
o NEDS Area Source Conversion - This program converts NEDS Area
Source cards to EIS/P&R transaction cards.
o Emission Factor Table Generator - This program is used to generate
the emission factors table.
-------
o Emission Factor Insertion - This program inserts the emission
factors into the 23 card EIS/P&R transactions.
o Emission Factor Transaction Generator - This program generates
transaction cards to update emission factors in the Master File.
o Master File Sorter Generator - This program generates the Master
File Sorter program.
o Master File Sorter - This program is used to produce an Answer
File (always in Master File format) sorted to user specifications.
o Transaction Sorter - This program is used to sort the file main-
tenance transactions into proper order for use by the File Main-
tenance program.
Figure 2.1 illustrates some possible flows of the EIS/P&R system.
-------
[NEDS Point
Source
V
CXNEDSCV -
NED?: to E1S
TXTBLCEN -
EF Table
Build
Emission
Factors
Table
| NEDS Area
Source
1
1
t
DXNEDSAS -
NEDS to EIS
t
W
^
i /Keypunch EIS/P&R\
1 Input Load 1
\ Sheet /
l r
(ns/f&s.
Transactions
1 (unsortcxl)
4
"*
. V
[EIS/P&R
Transactions
1 (imsorted)
1
r
IXTRNSRT -
Transac t ion
Sorter
-, \
r
('Sorted
EIS/PiR
Transactions
1
r
^ KXEMFINS -
Emission Fac-
tor Insertior
IXTRNSRT -
Transaction
Sorter
i '
f EIS/P&R.
Tran;5actions
| (aorced)
y ^
"5ra
^fEIS/P&R . FXFILMNT - ^ Master
Transactions File File
' ' Maintenance
^-J'
New
Master
File
EIS/P&R System Flow
Figure 2.1
-------
Any
Master
File
4. ..
*
Master File
Sorter
Program
4
JXSRTCEN -
Master File
Sorter
Centra tor
(Sort
Cards
Retrieval
Control
Cards
^.
LXLNGPRC -
Language
t
Retrieval
Program
1
r
AXASNEDS -
EIS/Ff.R to
NEDS Convert
(Area)
-
,
NEDS Area
Source Cards
Detail List
of Master
File
EJS/P&R System Flow
Figure 2.1 (continued).
10
-------
'Update
Control
Cards
t
>
r
FXTRHCFN -
Emission
Factors
Update
I Updated
F.1S/P6.R
Transactions
FXFILMOT -
File
Maintenance
EIS/P&R System Flow
Figure 2.1 (continued}
11
-------
2.2
COMMUNICATION AND DATA FORMATS
2.2.1 MASTER FILE
The EIS/P&R Master File is a 3-level hierarchical file with four dif-
ferent segment types. The highest, or master record level segment, is
called the plant segment.
PLANT
MACHINE PROCESS
AND/OR PERMITS
AND REGISTRATION
There is no limit to the number of master records allowed on an EIS/P&R
Master File. Subordinate to each master record (plant segment) may be up
to 99 point source segments, each describing a different source of pollution
(air stack) within the plant described by the plant segment. Subordinate to
each point source segment are 1 to 6 machine process segments, each describing
a different polluting process or machine feeding into the given point source,
and/or 1 to 99 permits and registration segments, each made up of 1 to 999
lines of comment available for 102 characters of comments. Figure 2.2.1-1
illustrates the hierarchical structure of an EIS/P&R Master Record.
12
-------
The permits and registration concept gives a new flexibility to the sub-
system; that is, the ability to maintain any type of data the user deems
necessary. The permit and registration segments are subordinate to each
point source. There are 1 to 99 segments per point source. One or more
of these segments could be reserved to be devoted entirely to a machine
process also subordinate to the same point source. This decision should
be made at implementation time.
EPA recommends that the user reserve the first segment of the 99 segments
subordinate to each point source for future expansion. For instance, EPA
is considering adding P7 cards to NEDS, and this information could be
stored in the reserved segment.
The format of each segment type on the Master File is illustrated in
Figure 2.2.1-2. Each field illustrated relates directly to a field on
one of the input transaction cards.
13
-------
PLANT SEGMENT
POINT SOURCE
MACHINE
1
PROCESS 1
MACHINE
PERMITS
PROCESS 6
& REGISTRATION 1 (LINE 1)
PERMITS
& REGISTRATION 1 (LINE 999)
PERMITS
& REGISTRATION 99 (LINE 1)
PERMITS
POINT SOURCE
& REGISTRATION 99 (LINE 999)
2
POINT SOURCE
99
PLANT SEGMENT
Type 0 Segment
Type 1 Segment
Type 2 Segment
Type 3 Segment
Type 1 Segment
Type 1 Segment
Type 0 Segment
o unlimited plant segments (type 0)
o up to 99 point source segments (type 1) subordinate to each
plant segment
o up to 6 machine process segments (type 2) subordinate to each
point source
o up to 99 permits and registration segments (type 3) composed
of up to 999 lines each
EIS/P&R Master Record Structure
Figure 2.2.1-1
-------
Fixed (Plant) Segment (Segment 0)
Position
Format
Symbol
1 -
3 -
7 -
10 -
14 -
19 -
22 -
25 -
27 -
39 -
43 -
46 -
61 -
71 -
81 -
129 -
133 -
139 -
2
6
9
13
18
21
24
26
38
42
44
45
60
70
80
128
132
138
186
XX
xxxx
XXX
XXXX
xxxxx
XXX
XXX
XX
x-x
xxxx
XX
A
A-A
x-x
x-x
x-x
xxxx
XXXXX. X
x-x
Numeric
Numeric
Numeric
Numeric
* Numeric
* Numeric
* Alphanumeric
* Alphanumeric
* Alphanumeric
Numeric
Numeric
Alphabetic
Alphabetic
* Alphanumeric
* Alphanumeric
Alphanumeric
* Numeric
* Numeric
* Alphanumeric
Description
State Code
County Code
AQCR Number
Plant ID
Date of Segment
Segment ID
User Control Region
Local Control
User Plant ID
City
UTM Zone
Ownership
Contact
Telephone
Principal Product
Name and Address
Number of Employees
Property Area
Mailing Address
EIS/P&R Master Record Format
Figure 2.2.1-2
15
-------
Point Source Segment
(Segment 1)
Position
Format
Symbol
1 -
3 -
7 -
10 -
14 -
20 -
22 -
24 -
27 -
31 -
33 -
37 -
42 -
48 -
55 -
63 -
68 -
73 -
76 -
80 -
83 -
87 -
94 -
99 -
103 -
108 -
2
6
9
13
18
19
21
23
26
30
32
36
41
47
54
62
67
72
75
79
82
86
93
98
102
106
107
111
XX
xxxx
XXX
xxxx
xxxxx
X
XX
XX
XXX
xxxx
XX
XXX. X
xxxx.x
x-x
x-x
x-x
xxxxx
xxxxx
XX. X
xxxx
XX. X
xxxx
x-x
xxxxx
xxxx
xxxx
X
xxxx
Numeric
Numeric
Numeric
Numeric
* Numeric
* Numeric
Numeric
Numeric
* Alphanumeric
Numeric
Numeric
Numeric
Numeric
* Numeric
* Numeric
Numeric
Numeric
Numeric
Numeric
Numeric
Numeric
Numeric
Numeric
* Numeric
Numeric
Numeric
Numeric
Numeric
Description
State Code
County Code
AQCR Number
Plant ID
Date of Segment
Segment ID
Segment ID Sequence
Point ID (NEDS)
Point ID (User)
SIC Code
IPP Code
UTM Horizontal Coordinates
UTM Vertical Coordinates
Latitude
Longitude
Throughput
Normal Operating
Boiler Design Capacity
Space Heat
Stack Height
Stack Diameter
Stack Temperature
Exhaust Flow Rate
Velocity
Plume-Height
Points with Common Stack
Compliance Status
Compliance Schedule
EIS/P&R Master Record Format
Figure 2.2.1-2 (Continued)
16
-------
112 -
119 -
131 -
133 -
138 -
145 -
148 -
151 -
154 -
161 -
168 -
117
118
130
132
137
144
147
150
153
160
167
174
175
176
177
x-x
X
x-x
XX
xxxxx
xxxxx.xx
XXX
XXX
XX. X
x-x
x-x
x-x
X
X
X
Numeric
Numeric
Numeric
Numeric
* Numeric
* Numeric
Numeric
Numeric
Numeric
Numeric
* Numeric
Numeric
* Numeric
Numeric
* Numeric
Compliance Update
ECAP
Control Regulations
o
Number of Pollutants
Pollutant ID
Control Equipment Cost
Primary Control Fquipment
Secondary Control Equipment
Estimated Control Efficiency
Emissions Estimate
Emissions Measured
Allowable Emissions
Emission Units
Estimation Method
Test Method
Note: Positions 133 - 177 may be repeated up to 15 times to allow
for 16 pollutants from a single source. The Number of
Pollutants field determines the number of repetitions.
EIS/P&R Master Record Format
Figure 2.2.1-2 (Continued)
17
-------
Machine Process Segment
(Segment 2)
Position
Format
Symbol
1 -
3 -
7 -
10 -
14 -
20 -
22 -
24 -
32 -
38 -
45 -
52 -
55 -
58 -
65 -
91 -
93 -
98 -
2
6
9
13
18
19
21
23
31
36
37
44
51
54
57
62
63
64
89
90
92
97
106
107
108
XX
xxxx
XXX
xxxx
xxxxx
X
XX
XX
x-x
xxxxx
X
x-x
XXXX. XXX
x.xx
XX. X
xxxxx
X
A
x-x
X
XX
xxxxx
xxxxxx.xxx
A
X
Numeric
Numeric
Numeric
Numeric
* Numeric
* Numeric
Numeric
* Numeric
Numeric
* Numeric
* Numeric
Numeric
Numeric
Numeric
Numeric
Numeric
Numeric
Alphabetic
Alphanumeric
* Alphabetic
* Numeric
* Numeric
* Numeric
* Alphabetic
* Numeric
Description
State Code
County Code
AQCR Number
Plant ID
Date of Segment
Segment ID
Segment 1 ID
Segment 2 ID
SCC Code
BEC Code
Fuel Units
Fuel, Process, Solid Waste
Maximum Design
Sulfur Content
Ash Content
Heat Content
Confidentiality of Data
Source Code
Source Description
Emission Factor Source
f
Number of Emission Factors^
Pollutant ID
Emission Factor
Ash/Sulfur Code
Emission Factor Units
Note: Positions 93 - 108 may be repeated up to 15 times to allow
for 16 emission factors per process. The number of
Emission Factors field determines the number of repetitions.
EIS/P&R Master Record Format
Figure 2.2.1-2 (Continued)
18
-------
Permits and Registration Segment
(Segment 3)
Position
Format
1 -
3 -
7 -
10 -
14 -
20 -
22 -
24 -
27 -
2
6
9
13
18
19
21
23
26
128
XX
xxxx
XXX
xxxx
xxxxx
X
XX
XX
XXX
x-x
Symbol
Numeric
Numeric
Numeric
Numeric
* Numeric
* Numeric
Numeric
* Numeric
* Numeric
* Alphanumeric
Description
State Code
County Code
AQCR Number
Plant ID
Date of Segment'
Segment ID
Segment 1 ID
Segment 3 ID
Line Number
Comment
Not part of NEDS point source file.
Only year portion of date obtained from NEDS point source
file. Remainder of field filled with zeroes.
Determined by File Maintenance program.
EIS/P&R Master Record Format
Figure 2.2.1-2 (Continued)
19
-------
PROPORTIONAL RECORD LAY'OUT FORM
PERMITS AND REGISTRATION
Type 3f Records
Date
t
EIS/P&R Master Record Format
Figure 2.2.1-2 (continued)
20
RECORD NAME AND REMARKS : ,
FIXED (PLANT) SEGMENT 0-
100
STATE -CODE
, - J
COUNT*
CODE
L_
! i i
,
;
10
1
0
n
0
h z
Z 0
o.-,
ITT
3
J
0 Z
0
_i.
'
POINT SOURCE SEGMENT 1
100
a
0
o
h
h
V *~
is
CCUNT\
CODE
h
»c.
PL*
! i!
j MACHINE PROCESS SEGMENT 2
O
o
K
1-
vfl
COUNTV
CODE
EMISSION
100 F*<=TOR ,
AQCF
n ;
< j
PL
I
NT
0
DATE
1 4
COMPL - J;
UPDATE .
a
h !
Z '
Ul
in
-L.L
3
. a
3
a
it | ie j |»'
5§
°!
z
PROPER
-
TV
CITV
U
z
-d
3
«».
0
.tNG
SIC
coot:
H -
--
1 1
--i
i-:
s"
«
"
--
_I_
"-
t
0
I
D .
5 -
.
--
I
,__
' K
X <
s!i
If
> ~
M
-----
i U> .
CONTRO
L
COST .
> J
!!
e a
N,
-
1:
«T
ADDRESS
>
S^
w 0
<
h
z
3-
J
FUEL, PRO-
WASTE
-
u *"
hu
ioi:e
^j Ot
»A».»UM
H'
TH'PO
M ISS
ESTIM
Z
M
* o
I ;
.1 ,-, , . ,. ..L .:.. .i, J
PRODUCT
'JUAU
ONS
ATE
HEA
T
EMI
MEA
T
C
Oh..' . , - .
* » ' B r-
NORMAL BOILER SPACI STACK u) ? STACK EXAUST VELOCITY * 3
3PERAT- DESIGN MEAT HEIGH1 - TEMP. FLOW RATE j ^
no0
ALLOW- z Z 2
ABLE n 5 h
SU'REO EMISS10MS * 5£
< u <
2 5 ' in LJ J| POLLU- h
kQ *» TANT J
u J z u
-------
PROPORTIONAL RECORD LAYOUT FORM
PERMITS AND REGISTRATION.
N>
Dote
ge !_ of J_
w
M
H- ~"»
00 *"^
C C1
» g
to P
co
NJ rt
to yo
(D
/-^ o
o n
3 PL
H* *4
3 0
(D 0
rt
RECORD NAME AND REMARKS
SEGMENT 3
100
i
I
»
is
coo
,
6
E
C
a
o
ID
«MEN
T
t
.
,
-
a
0
4, ..;, .,.. .I -I -U i ..L
" ' '.','!
2 ^2 s ! ;
!-. It. , , , .,.',' : C^""T , . 1. , ..'... ,,..,!.., . = ,..,
' ' : i i
; ' i '
, : ,.,.. i , . , i , ' . , , , i , , , , !
i ..,-,,:
i .:.' i '
i ' i |
1 ' ' :
: . 1 | 1 . 1 1 , 1 - . . 1 1 , ' . ! : L . ; : : . : .' , : ... i 1 !,,'.-,,'.!.!'., , ; , t 1 1 , ,
i ' :
.!... '...'. . .'-.', . , ',.,,,, :
.. .. .i* .. H. -: -I -i -1 J '- -.- --!
-------
2.2.2 TRANSACTION RECORDS
The Master File is constructed from the information contained on the
EIS/P&R input transaction cards. There are four classes (or types) of
cards: a zero card, a one card, a two card and a three card. The zero
card contains general identification for the plant or source; the one
card contains information relative to specific emission points within a
source; the two card contains fuel and process information; the three
card contains permits and registration information. The following para-
graphs explain the contents of each field on the transaction cards.
Figure 2.2.2-1 illustrates the format of the cards. The same formats
are used to enter both point source data and area source data. However,
the meanings of some fields will be changed when area source data is to
be entered.
22
-------
Card Columns 1-18 of all Cards (Key)
cc
Format
1 -
3 -
7 -
10 -
14 -
Card 01
CC
19 -
22 -
24 -
36 -
40 -
43 -
58 -
68 -
78 -
2
6
9
13
18
- Plant
21
23
35
39
41
42
57
67
77
79
80
XX
xxxx
XXX
xxxx
xxxxx
Identification
Format
XXX
XX
x-x
xxxx
XX
A
A-A
x-x
x-x
XX
X
Symbol
Numeric Code
Numeric Code
Numeric Code
Numeric Code
Numeric
Description
State Code
County Code
AQCR Code
Plant ID
Date of Record
Symbol
Alphanumeric Code
Alphanumeric Code
Alphanumeric Code
Numeric Code
Numeric Code
Alphabetic Code
Alphabetic
Alphanumeric
Alphanumeric
Numeric
Alphabetic Code
Description
Control Region
Local Control
Plant ID
City
UTM ZONE
Ownership
Contact
Telephone
Principal Product
Card Number
Transaction Code
EIS/P&R TRANSACTION CARDS
Figure 2.2.2-1
23
-------
Card 02 - Plant Identification
CC
Format
19 -
67 -
71 -
78 -
66
70
76
77
79
80
x-x
x-x
xxxxx.x
N/A
XX
X
Symbol
Alphanumeric
Numeric
Numeric
N/A
Numeric
Alphabetic Code
Description
Name and Address
Number of Employees
Property Area
Not Used
Card Number
Transaction Code
Card 03 - Plant Identification
CC
Format
Symbol
Description
19
67
78
66
77
79
80
x-x
N/A
xx
X
Alphanumeric
N/A
Numeric
Alphabetic Code
Mailing Address
Not Used
Card Number
Transaction Code
EIS/P&R TRANSACTION CARDS
Figure 2.2.2-1 (Continued)
-------
Card 11 - Point Source Parameters
cc
19 -
21 -
23 -
26 -
30 -
32 -
36 -
41 -
47 -
54 -
62 -
67 -
72 -
75 -
78 -
20
22
25
29
31
35
40
46
53
61
66
71
74
77
79
80
Format
XX
XX
XXX
xxxx
XX
XXX. X
xxxx.x
x-x
x-x
x-x
xxxxx
xxxxx
XX. X
N/A
XX
X
Symbol
Numeric
Numeric
Alphanumeric
Numeric
Numeric
Numeric
Numeric
Numeric
Numeric
Numeric
Numeric
Numeric
Numeric
N/A
Numeric
Alphabetic Code
Description
Segment ID
Point ID (NEDS)
Point ID (Local)
SIC Code
IPP Code
UTM Horizontal Coordinates
UTM Vertical Coordinates
Latitude
Longitude
% Annual Throughput
Normal Operating
Boiler Design Capacity
Space Heat %
Not Used
Card Number
Transaction Code
EIS/P&R TRANSACTION CARDS
Figure 2.2.2-1 (Continued)
25
-------
Card 12 - Point Source Parameters
cc
19 -
21 -
25 -
28 -
32 -
39 -
44 -
48 -
53 -
57 -
64 -
76 -
78 -
20
24
27
31
38
43
47
51
52
56
62
63
75
77
79
80
Format
XX
xxxx
XX. X
xxxx
x-x
xxxxx
xxxx
xxxx
X
xxxx
xxxxxx
X
x-x
N/A
XX
X
Symbol
Numeric
Numeric
Numeric
Numeric
Numeric
Numeric
Numeric
Numeric
Numeric
Numeric
Numeric
Numeric
Numeric
N/A
Numeric
Alphabetic Code
Description
Segment ID
Stack Height
Stack Equivalent Diameter
Stack Temperature
Exhaust Flow Rate
Velocity
Plume Height
Points with Common Stack
Compliance Status
Compliance Schedule
Compliance Update
ECAP
Control Regulations
Not Used
Card Number
Transaction Code
EIS/P&R TRANSACTION CARDS
Figure 2.2.2-1 (Continued)
26
-------
Card 13 - Point Source Parameters
cc
19 -
21 -
26 -
33 -
36 -
39 -
42 -
49 -
56 -
66 -
78 -
20
25
32
35
38
41
48
55
62
63
64
65
77
79
80
Format
XX
xxxxx
xxxxxx.xx
XXX
XXX
XX. X
xxxxxxxx
xxxxxxxx
xxxxxxxx
X
X
X
N/A
XX
X
Symbol
Numeric
Numeric
Numeric
Numeric
Numeric
Numeric
Numeric
Numeric
Numeric
Numeric
Numeric
Numeric
N/A
Numeric
Alphabetic
Description
Segment ID
Pollutant ID
Control Equipment Cost
Primary Control Equipment
Secondary Control Equipment
Estimated Control Efficiency
Emissions Estimate
Measured Emissions
Allowable Emissions
Emission Unit
Estimation Method
Teat Method
Not Used
Card Number
Transaction Code
EIS/P&R TRANSACTION CARDS
Figure 2.2.2-1 (Continued)
27
-------
Card 21 - Fuel, Process Parameters
CC
Format
Symbol
Description
19
21
23
31
37
44
51
54
57
62
78
20
22
30
35
36
43
50
53
56
61
77
79
80
xx
XX
x-x
xxxxx
X
xxxxxxx
XXXXX.XXX
x.xx
XX. X
xxxxx
N/A
XX
X
Numeric
Numeric
Numeric Code
Numeric Code
Numeric Code
Numeric
Numeric
Numeric
Numeric
Numeric
N/A
Numeric
Alphabetic Code
Segment 1 ID
Segment 2 ID
SCC Code
EEC Code
Fuel Units
Fuel, Process, Solid Waste
Maximum Design
Sulfur Content
Ash Content
Heat Content
Not Used
Card Number
Transaction Code
EIS/P&R TRANSACTION CARDS
Figure 2.2.2-1 (Continued)
28
-------
Card 22 - Fuel, Process Parameters
CC
Format
19 -
21 -
25 -
51 -
78 -
20
22
23
24
49
50
77
79
80
XX
XX
X
X
x-x
X
N/A
XX
X
Symbol
Numeric
Numeric
Numeric
Alphabetic
Alphanumeric
Alphabetic
N/A
Numeric
Alphabetic Code
Description
Segment 1 ID
Segment 2 ID
Confidentiality of Data
Source Code
Source Description
Emission Factor Source
Not Used
Card Number
Transaction Code
EIS/P&R TRANSACTION CARDS
Figure 2.2.2-1 (Continued)
29
-------
Card 23 - Fuel, Process Parameters
CC
Format
Symbol
Description
19 - 20 xx
21 - 22 xx
23-27 xxxxx
28 - 36 xxxxxxx.xxx
37 x
38 x
39 - 54 N/A
55 - 70 N/A
71 - 77 N/A
78 - 79 xx
80 x
Numeric
Numeric
Numeric
Numeric
Alphabetic Code
Numeric
N/A
N/A
N/A
Numeric
Alphabetic Code
Segment 1 ID
Segment 2 ID
Pollutant ID Code
Emission Factor
Ash/Sulfur Code
Emission Factor Units
Repeat CC 23 - 38
Repeat CC 23 - 38
Not Used
Card Number
Transaction Code
EIS/P&R TRANSACTION CARDS
Figure 2.2.2-1 (Continued)
30
-------
Card 30 - Permits and Registration Parameters
CC
Format
19 -
21 -
23 -
27 -
78 -
20
22
25
26
77
79
80
XX
XX
XXX
X
x-x
XX
X
Symbol
Numeric
Numeric
Numeric
Alphabetic
Alphanumeric
Numeric
Alphabetic
Description
Segment 1 ID
Segment 3 ID
Line Number
Comment Flag
Comment
Card Number
Transaction Code
EIS/P&R TRANSACTION CARDS
Figure 2.2.2-1 (Continued)
31
-------
Card Columns 1-18 of all cards;
1. State Code: State identification number as defined by the
SAROAD air quality numbering system. These are listed in
SAROAD Station Coding Manual for Aerometric Sampling Networks,
Publication No. APTD-0907 of the Environmental Protection
Agency.
2. County Code: Codes to be used are listed in the SAROAD Station
Coding Manual for Aerometric Sampling Networks, Publication
No. APTD-0907 of the Environmental Protection Agency.
3. AQCR Number: Number for Air Quality Control Region in which
the Plant is located. These are listed in Appendix A of Guide
for Compiling a. Comprehensive Emission Inventory, APTD-1135.
4. Plant ID: This field identifies each source in a county. The
numbering system is sequential, starting with the number one
and continuing until all facilities containing point sources
that are located in a given county are assigned a number. The
plant ID is identical to the NEDS ID for a plant.
5. Date of Record: The Julian date for the data recorded on the
card. The format for this field is YYDDD.
32
-------
Card 01
1. Control Region: A user-defined field to identify state or
county specified control areas.
2. Local Control: A user-defined field to identify plants that are
physically located in one control region, but whose control is
under the Jurisdiction of another control region. For example,
a plant physically located in a county agency's geographical
boundary but which is actually controlled by the city agency.
3. Plant ID: A user-defined field to be used if the local identi-
fication conventions differ from NEDS. However, the NEDS Plant
ID must be coded.
4. City: The 4-digit SARDAD code number corresponding to the city
in which the source is located. There are a few cities in the
United States that are not considered to be inside any county
but are considered independent entities. In such cases, enter
the city code in both the City and County Code fields.
5. UTH Zone: The zone number must be known in order to locate the
point source via the HTM coordinate system; this number is found
on all USGS maps showing UTM coordinates. Although most states
are within a single UTM zone, a few states and counties are in
two UTM zones. For this reason, a UTM zone number is required
for each record.
6. Ownership: A single alphabetic character ownership code.
The code should be selected from the following list:
Symbol Ownership
P Private
L Local Government
33
-------
Symbol Ownership
S State Government
F Federal Government
U Utility
7. Contact: The last name of the person responsible for pollution
control activity at the source. If the responsible individual
is not identifiable, then record a descriptive and appropriate
title.
8. Telephone: The area code and telephone number of the person to
be contacted should be entered in this field.
9. Principal Product: A brief description of the principal product
produced by this plant.
10. Card Number: 01.
11. Transaction Code: The transaction codes are:
A - Add
C - Change
D - Delete.
34
-------
Card 02
1. Name and Address: Provide a descriptive name for the facility
and a usable mailing address. Use common abbreviations as much
as possible. The address should include a street number, city,
and zip code. The zip code should appear in the last five posi-
tions of the field. When an EIS/P&R field (such as establish-
ment name and address) is longer than the corresponding NEDS
field, truncation will occur upon submission to NEDS. The user
should be careful to code accordingly.
2. Number of Employees: Record the number of persons actually
working at this location.
3. Property Area: The area, to the nearest tenth acre, of the land
occupied by the facility.
4. Card Number: 02.
5. Transaction Code: The transaction codes are:
A - Add
C - Change
D - Delete.
35
-------
o Card 03
1. Mailing Address: The address of the person to contact if it is
different than the establishment name and address.
2. Card Number: 03.
3. Transaction Code: The transaction codes are:
A - Add
C - Change
D - Delete.
36
-------
Card 11
1. Segment ID: Each point source set (11, 12, and a 13 card)
creates a point source segment in the Master File. Each
point source segment under the same facility segment must
have a unique segment ID number. This number must also be
used to reference a particular segment when making a change
or deleting a segment. When going from NEDS to EIS/P&R the
segment ID is generated automatically.
2. Point ID (NEDS): This is a sequential number designated for
each pollutant discharge point within the facility. This
number must be coded.
3. Point ID (Local): This field is for a user-defined point
source identification when the NEDS Point ID differs from that
which has been used historically by an agency.
A. SIC Code: This information is necessary to use the source
data for modeling air quality. Enter the appropriate
Standard Industrial Classification code.
5. IPP Code: This column should be completed with the standard
process code.
6. UTM Horizontal and Vertical Coordinates: The UTM coordinate
system is another means of identifying the location of the
point source. Coordinates are obtained from US Geological Survey
maps or their equivalent with scales less than 1:62,500. All
spaces in these columns must be filled in with numbers and zeros.
Accuracy to 0.1 kilometer accuracy is desired.
37
-------
7. Latitude and Longitude: This is an alternate means of identi-
fying the location of the point source. Coordinates may be ob-
tained from USGS maps or their equivalent.
8. % Annual Throughput: The annual production, consumption, through-
put, or other valid numbers representing the operating of the
source should be divided proportionally into the four 3-month
categories listed below. The weighted portion of production oc-
curing in each category is reported as a percentage of total an-
nual throughput. The field is divided into four equal subfields
cf two numbers each. The first two positions are for December
through February. The next two are for March through May. The
next two are for June through August. The last two are for Sep-
tember through November.
9. Normal Operating: The hours per day, days per week, and weeks per
year during which the source operates under normal and usual con-
ditions should be entered here.
10. Boiler Design Capacity: A boiler will be defined as consisting of
a burner, firebox, heat exchanger, and a means of creating and di-
recting a flow of gases through the unit. The boiler design capac-
ity, which is defined as the boiler input capacity before heat
transfer, will be entered here. Otherwise, a zero should be entered
to depict nonapplicability. Units are in millions of BTU per hour
based on maximum capacity or design of the boiler.
11. Space Heat %: An estimate of the percent of total fuel used
for space heating at the plant should be entered here. If no
fuel is used for space heating, enter zeros in this field.
38
-------
12. Card Number: 11.
13. Transaction Code: The transaction codes are:
A - Add
C - Change
D - Delete.
39
-------
Card 12
1. Segment ID: Enter the same number as in the Segment ID of the
11 card.
2. Stack Height: If the exact location of the discharge of pollu-
tants is well defined, there will be a stack or some other en-
closed, constrained, or physically-bounded area where pollutants
are emitted. In such instances, the stack height is the vertical
distance between the point of emission and ground level. If no
stack can be identified or there is a changing locus of emissions
within the facility, then complete only the Plume-Height field and
leave the rest of the stack data blank.
3. Stack Equivalent Diameter: The stack diameter is the inside dia-
meter of a round gas exit at the point of emission; for non-round
exits, it is an equivalent diameter calculated from the cross-
sectional area at point of discharge. Using a measured or estimated
cross-sectional area, the equivalent diameter (De) is calculated as
follows:
De - 1.128 vT
where A is in square feet.
4. Stack Temperature: The temperature of the exhaust stream at the
stack exit should be reported in degrees Fahrenheit under normal
operating conditions. If measured temperatures are not available,
an estimate to the nearest 50°F should be made.
5. Exhaust Flow Rates: This number should be specified by recording
the design or maximum exhaust-gas volume unless actual measurements
are available. Units are actual cubic feet per minute and represent
the total volume of exhaust gas released at the operating temperature
of the stack (assume gas pressure is the same as normal atmospheric
pressure).
40
-------
6. Velocity: This number should be specified by recording the design
or maximum exhaust-gas velocity unless actual measurements are
available. Units are feet per minute.
7. Flume-Height: This field is to be filled in if the previous fields
on stack height data are all blank. The plume-height is a gross
estimate and is used only when the source has no definable stack.
8. Points with Common Stack: Columns 48 and 49 contain the NEDS Point ID
of the first point source discharging through the stack. Columns
50 and 51 contain the NEDS Point ID of the last point source dis-
charging through the stack. All point numbers between these two
discharge through this stack. The points which discharge through a
common stack must be sequentially numbered and all these points must
exist. For a complete definition of common stack see EPA publication
APTD-1135, Guide for Compiling A Comprehensive Emission Inventory,
for March 1973.
9. Compliance Status: One of the following codes must be selected to
record the present status of the source under existing legal require-
ments :
Code
1 Source is in compliance with the most stringent air
pollution control requirements.
2 Source is not in compliance with existing legislation,
and no variance has been given.
3 Source is not in compliance with existing legislation,
but a variance has been given.
4 Compliance status is unknown.
10. Compliance Schedule: If the compliance status code is 2 or 3,
enter the year and month by which this source must be in compliance.
41
-------
11. Compliance Update: The day, month, and year of the most recent
change in compliance status for the source must be entered in this
field. Leave the field blank if compliance status has been reported
as unknown (code 4). If the source is in compliance with existing
air pollution control legislation, then record the time that such
legislation was enacted.
12. ECAP: Certain point sources are required to submit to government
agencies an Emergency Control Action Program (ECAP) that specifies
a detailed plan for immediately reducing emissions whenever air
pollution in an area is considered an emergency condition. The
following list shall be used to denote whether or not an ECAP has
been submitted to an appropriate government agency. Leave blank if
status is known.
0 ECAP is not required
1 ECAP is required but has not been submitted
2 ECAP has been submitted.
13 Control Regulations: This field is used to identify air pollution
control regulations that are in effect and apply to the source.
14. Card Number: 12.
15. Transaction Code: The transaction codes are:
A - Add
C - Change
D - Delete.
42
-------
Card 13
1. Segment ID: Enter the same number as in Segment ID of the 11 card.
2. Pollutant ID: This field is a 5-digit code that represents the
pollutants whose emissions are being measured. Source is SAROAD
Parameter Coding Manual. EPA Publication No. APTD-0633.
3. Control Equipment Cost: Enter the annual cost of maintenance and
operation of pollution control equipment.
4. Primary Control Equipment: This field should be completed with the
Control Equipment Identification Code. Only control devices that
reduce the uncontrolled emission normally associated with the
specific source process should be reported.
5. Secondary Control Equipment: If there is an additional control
device installed for this pollutant, enter the Control Equipment
Identification Code in this field.
6. Estimated Control Efficiency: The overall collection efficiencies
in weight percent of all control equipment at the point source should
be entered. Assume that the pollutant load entering the control
equipment is the normal, uncontrolled quantity for that specific
process.
7. Emissions Estimate: The annual, controlled emissions from the
point source, in tons per year, should be entered here. These
calculations should include the effect of pollutant removal by
installed control equipment.
43
-------
8. Measured Emissions: The annual, controlled emissions from the
point source, in tons per year, as actually measured by test
equipment should be entered here. These measurements can be
compared against the estimates to check the validity of the
emission factors.
9. Allowable Emissions: Entered here should be the maximum emissions,
in tons per year, that the source is legally allowed to discharge
into the atmosphere.
10. Emission Units: This field is for future expansion of the system.
It will eventually allow the user to specify units for the emissions
in other than NEDS units. It is currently ignored by the system.
11. Estimation Method: The following code list must be used to specify
the method used to ascertain the estimated emissions:
Code Description of Method
0 Not applicable (if emissions are negligible)
1 Stack-test results or other emission measurement
2 Material balance using engineering knowledge and
expertise of process
3 Emission calculated using emission factors
4 Guess
5 Emissions calculated using a special emission
factor differing from that in the SCO testing
6 New construction, not yet operational
7 Facility closed, operations ceased.
If code 3 is used, the File Maintenance program will calculate the
estimated emissions if all the factors are present.
44
-------
12. Test Method: A user-defined code to Indicate the method used to
ascertain the measured emissions.
13. Card Number: 13.
14. Transaction Code: The transaction codes are:
A - Add
C - Change
D - Delete.
45
-------
Card 21
1. Segment 1 ID: Enter the same number as in the Segment ID of the
11 card for the point source to which this segment belongs.
2. Segment 2 ID: Each Machine-Process set (21, 22, 23) creates a
Machine-Process (NEDS SCC) segment in the Master File. Each
Machine-Process segment under the same point source segment must
have a unique Segment 2 ID number. This number must also be used
to reference a particular segment when making a change or deleting
a segment.
3. SCC Code: The Source Classification Code process description
that most nearly describes the process should be entered by its
8-digit numerical code. If the most appropriate SCC description
appears to be significantly different from the actual process,
enter nothing in this field, but enter NEW SCC NEEDED in the
Source Description field of the 22 card.
A. BEC Code: Enter the Basic Equipment Classification Code that
describes the equipment or process for this source. The last
two digits are used to sequentially number units at the same
source.
5. Fuel Units: This field is for future expansion of the system. It
will eventually allow the user to specify units for the fuel-process
field in other than NEDS units. It is currently ignored by the system.
6. Fuel, Process, Solid Waste: The annual figures will be reported in
this field using the units associated with the SCC code for this
process.
46
-------
7. Maximum Design: The maximum hourly design rate of the most impor-
tant process equipment, or the upper operating limit that generally
would not be exceeded in normal practice, should be entered here.
Units are expressed in those corresponding to the SCO for the process.
8. Sulfur and Ash Content: Entries are to be made in these columns
for all combustion processes. If the process does not burn fuel,
leave the field blank.
9. Heat Content: This field is to be completed only when the process
involves combustion. Units are millions of BTU per SCC.
10. Card Number: 21.
11. Transaction Code: The transaction codes are:
A - Add
C - Change
D - Delete.
47
-------
Card 22
1. Segment 1 ID: Enter the same number as on the Segment 1 ID
of the 21 card.
2. Segment 2 ID: Enter the same number as on the Segment 2 ID
of the 21 card.
3. Confidentiality of Data: Process information occasionally is
collected by a government agency under a guarantee that the data
will be treated in a confidential manner and will not be released
to the public. This column indicates whether or not any data for
this source are officially considered confidential. A one (1)
indicates confidential classification, a two (2) no classification
and a blank indicates an unknown status.
4. Source Code: This is needed for NEDS reporting. Enter the following
codes for the process category: B - Boiler, P - Process, C - Other
Combustion unit.
5. Source Description: Enter a brief description of the source or
comments as needed.
6. Emission Factor Source: If this field contains a T, the Emission
Factors insertion program when used will insert the appropriate
Emission Factors into the EIS/P&R 23 transaction from a table of
SCC codes.
7. Card Number: 22.
8. Transaction Code: The transaction codes are:
A - Add
C - Change
D - Delete.
48
-------
Card 23
1. Segment 1 ID: Enter the same number as in the Segment 1 ID of
the 21 card.
2. Segment 2 ID: Enter the same number as in the Segment 2 ID of
the 21 card.
3. Pollutant ID Code: This field is a 5-digit code that represents
the pollutant whose emissions are being measured. Source is SAROAD
Parameter Coding Manual, EPA Publication No. APTD-0633.
4. Emission Factor: The emission factor is a statistical average of
the rate at which a pollutant is released to the atmosphere as a
result of some activity, such as combustion or industrial production,
divided by the level of that activity. The emission factors for each
SCC may be found in the EPA publication Compilation of Mr Pollutant
Emission Factors, Publication No. AP-42.
5. Ash/Sulfur Code: This code indicates whether or not the Ash or
Sulfur percentage is to be used in the calculation of the estimated
emissions. The codes are: A - Ash, S - Sulfur, or blank - neither
applies.
6. Emission Factor Units: This field is for future expansion. Eventually
it will indicate the units in which the emission factors are expressed.
The emission factors are now treated as standard NEDS units.
Reference OAP Publication No. AP-42.
7. Card Number: 23.
8. Transaction Code: The transaction codes are:
A - Add
C - Change
D - Delete.
49
-------
Note: Card columns 23 to 38 may be repeated two more times on the same
23 card. This allows the storing of up to three sets of emission
factors information on each card.
50
-------
Card 30
1. Segment 1 ID: Enter the same number as in the Segment ID of the
11 card for the point source to which this segment belongs. Each
point source may have 1-99 segments (F&R) subordinates to it.
Each P&R segment may have 1-999 lines of data.
2. Segment 3 ID: Each Permits and Registration set of 1 to 999 lines
(each line may have a left and a right card) (30, 30 30) creates
a Permits and Registration segment in the Master File. Each Permit
and Registration segment (1 to 999 lines) under the same point source
segment must have a unique Segment 3 ID. This number in combination
with line number (described below) must also be used to reference a
particular segment when making a change, deleting a segment, or
deleting a line of a segment.
3. Line Number: Each Permits and Registration line (30(L), 30(R))
creates a Permits and Registration line in the Master File. Each
Permits and Registration line under the same point source and seg-
ment 3 ID must have a unique line number. This must also be used
to reference a particular line when making a change, deleting a
segment (enter 000 in line-number), or deleting a particular line
of a segment.
4. Comment Flag: Enter an "L" for the left 51 characters of a line
or an "R" for the right 51 characters of a line. Each permits and
registration line card (30) creates or changes a particular part of
a line. If in using a 30 add card only one side of the line is
entered, the other part will be blanked if it is a new line or
left as is if the line already existed. Therefore, the user can
add only to an unused portion of an existing line or a new line.
51
-------
5. Comment: Enter any alphanumeric data to make up a portion of a
permits and registration line.
6. Card Number: 30.
7. Transaction Code: The transaction codes are:
A - Add
C - Change
D - Delete.
52
-------
3.0 FILE MAINTENANCE AND RETRIEVAL
There are two major EIS/P&R programs for building, maintaining, and re-
trieving data from the EIS/P&R Master File. These are the File Maintenance
program and the Retrieval program. The Retrieval program actually consists
of two separate programs which work together to process a query to comple-
tion, the Retrieval Language Processor program and the Retriever program.
53
-------
3.1 FILE MAINTENANCE
The File Maintenance program performs two basic functions, the creation of
a new Master File and the modification of an existing system Master File.
The system Master File consists of four segment types. These segment types
are the plant segment (type 0), the point source segment (type 1), the ma-
chine process segment (type 2), and the permits and registration segment
(type 3). The program can operate in any of three modes to support the two
basic functions. These modes are ADD, CHANGE, and DELETE. Every trans-
action card input to the File Maintenance program must be either an ADD,
CHANGE or DELETE card, identified by an A, C, or D in column 80.
ADD codes are used to create a new system Master File, and to add new records
to an existing file. ADD cards are always entered in logical groupings, ex-
cept in the case of adding a single type 3 segment line. Thus a type 0 seg-
ment must be added as a complete entity of one 01 card, one 02 card, and one
03 card. Similarly, a type I/type 2/type 3 segment combination must be added
subordinate to an already existing type 0 segment as a complete entity of one
11 card, one 12 card, one or more 13 cards; multiple occurrences of the set
of one 21 card, one 22 card, and one or more 23 cards; and, optionally fol-
lowing the twos sets, one or more 30 cards. A type 2 segment cannot be ad-
ded by itself. That is the 21, 22, 23 cards must be added only in conjunc-
tion with, at least, the 11, 12, 13 cards, and, possibly, 30 cards. If a
particular type 1 segment already exists in the file, a type 1 delete trans-
action must precede the type I/type 2/type 3 combination ADD transactions.
Up to six type 2 and up to 99 type 3 segments, the latter consisting of up to
999 lines each, can exist subordinate to one type 1 segment. The exception to
combination additions are single type 3 segment lines, 30 cards. Single type 3
segment lines may be added one by one to an already existing type 1 segment.
CHANGE and DELETE cards are used to modify an existing system Master File.
Any data field specified as non-blank on a CHANGE card will replace the
54
-------
corresponding field in the designated file record. CHANGE cards use the
same format as ADD cards except that all data fields other than the fields
being changed are left blank by the user. Thus any field on any card can
be changed except the record key, segment 1, 2 or 3 IDs, segment 3 line
number, and pollutant ID. DELETE cards can be used to delete an entire
logical record (type 0 segment and all subordinate type 1, 2, and 3 seg-
ments) , a type 1 segment (with all subordinate type 2 and 3 segments), a
single type 2 segment, a single type 3 segment, or a single type 3 segment
line.
All transaction cards entered into the File Maintenance program must be
sorted in Master File sequence and by action type (DELETE, ADD, CHANGE)
either by the user or by the Transaction Sorter program, as the Master
File is passed only once per run for fast performance.
The file maintenance program performs as follows. The old system Master
File is read in its entirety once from beginning to end. All input trans-
action cards are passed against the file in the order they are read. Ac-
cording to the action called for on the card, records are added to the file,
changed on the file, or deleted from the file. The result of the File
Maintenance program is a new system Master File, modified according to the
transaction cards. In the case of file creation, there is of course, no
old Master File. Thus, all the ADD transaction cards are used to create
new records and add them to the new Master File.
ADD Cards
Records are created or added to the Master File using the following combi-
nations of ADD cards. Only those fields with the name filled in are re-
quired. All other fields may be blanks. At least the three cards shown in
the type 0, 1, and 2 segments are required to create each of these segments.
The type 3 segment may be created with the one card shown.
55
-------
To add a plant segment (type 0 segment):
(KEY | DATE
01 i AI
| KEY
02 JA|
I KEY
1 03 j A|
1 13 14 18
78 79 80
To add a point source segment (type 1 segment) which is allowed to
have subordinate to it up to six machine process segments (type 2
segments) and up to 99 sets of 999 lines of permits and registration
segments (type 3 segments):
KEY | DATE | ID
I
1 13 14 18 19 20 21
25
111
| KEY
| KEY
1 ID
1 ID
|
| POLL.
1
ID i
(12 | A|
1 13 | A |
78 79 80
up to 16 cards
KEY | DATE | ID
ID2
1 13 14 18 19 20 21 22 23
27
121 | A(
KEY |
KEY |
1 ID
1 ID
1 ID2 |
1 ID2 |
POLL.
ID
| 22
| 23
i M
1 Al
78 79 80
up to 6 sets
with up to 16
23 cards per
set
I KEY | DATE ! ID I ID3 | LINE NBR | COMMENT FLAGJ | 30 I A|
1 13 14 18 19 20 21 22 23
25 26
78 79 80
up to 99 sets
with 999 lines
per set (each
line may have
an 'L' and an
'R')
Up to 16 unique pollutant IDs are allowed. Thus, multiple type 13A
and 23A cards are allowed. One, two, or three pollutant IDs can be
present on any type 23A card. Since up to six (there must be at least
one) machine process segments can be subordinate to any point source
56
-------
segment, there can be up to six sets of the 21A/22A/multiple 23A type
cards following the last 13A card for each point source segment. Also
since up to 99 (there may be none) permits and registration segments
can be subordinate to any point source segment, there can be up to 99
sets (with 999 lines, each possibly having an *L' and an *R') of 30A
type cards following the last 23A card for the point source segment.
o To add a permits and registration segment line (type 3) or permits and
registration (type 3) segment.
IKEY j DATE | ID i IDS | LINE NBR. | COMMENT FLAG| | 30 | A|
1 13 14 18 19 20 21 22 23 25 26 78 79 80
Up to 99 permits and registration segments may be added to an existing
point source segment. Each segment may have up to 999 lines, each
composed of a left, 'L', and a right, 'R', side of the comment. There-
fore, to add a completely filled line, both an 'L' 30A card and an 'R'
30A card must be entered (this giving 999 x 2 cards possible for each
segment). Lines may be inserted or parts of lines may be added. If
only one side of a line is entered, the other part will be blanked ex-
cept when the line already existed with alphanumeric data present in
that part of the line. The half which is blanked because only one half
of the line is entered orginally, may be entered later by an ADD to the
blank half or a CHANGE to the blank half line (see CHANGE Cards).
o To add a machine process segment (type 2) to an existing point source
(see special case following explanation of DELETE Cards).
CHANGE Cards
Any record on an existing Master File can be changed through the use of a
CHANGE card. Depending on the segment type being changed, certain fields on
57
-------
the card are required to be filled in. Other than these required fields, any
other fields on the card which are non-blank will replace the corresponding
field of the indicated record on the Master File. The only exception to this
is the type 3 segment comment field which may validly be changed to blanks.
To change a field in a Master File record, only the single transaction card
which contains that field need be used. For example, assume that the field
called COMPLIANCE-STATUS is to be changed. This field is part of the point
source segment and is included in the type 12 transaction card. Thus, only
a type 12 CHANGE card is required. The types 11 and 13 cards are unnecessary.
The following is the format for each type of change card with the required
fields filled in by name.
o Type 01 change card
I KEY | DATE! | 01 | c|
1 13 14 18 78 79 80
o Type 02 change card:
| KEY | DATE | | 02 | G|
1 13 14 18 78 79 80
o Type 03 change card:
I KEY \ DATE | I 03 | G|
1 13 14 18 78 79 80
o Type 11 change card:
| KEY | DATE | ID | I 11 I CJ
1 13 14 18 19 20 78 79 80
58
-------
o Type 12 change card:
| KEY | DATE | ID | (12 | CJ
1 13 14 18 19 20 78 79 80
o Type 13 change card:
\ KEY | DATE | ID | POLL. ID | | 13 | CJ
1 13 14 18 19 20 21 25 78 79 80
o Type 21 change card:
j KEY [ DATE | ID | ID2 | | 21 | C|
1 13 14 18 19 20 21 22 78 79 80
o Type 22 change card:
| KEY | DATE t ID I ID2 I I 22 | C|
1 13 14 18 19 20 21 22 78 79 80
o Type 23 change card:
| KEY [DATE IIP I ID2 I POLL. ID I I 23 I c|
1 13 14 18 19 20 21 22 23 27 78 79 80
o Type 30 change card:
I KEY | DATE I ID I ID3 I LINE NBR | COMMENT FLAGJ COMMENT j 30 j CJ
1 13 14 18 19 20 21 22 23 25 26 27 77 78 79 80
59
-------
DELETE Cards
Each of the four segments (or segment combinations) and the separate lines
of segment type 3 can be deleted from an existing Master File. The following
cards, with required fields filled in, illustrate how to delete these choices.
o Delete an entire logical record of plant (type 0) segment and all sub-
ordinate point source (type 1), machine process (type 2), and permits
and registration (type 3) segments:
KEY | | 01 | Dj
1 13 78 79 80
o Delete a point source (type 1) segment, and all subordinate machine
process (type 2) and permits and registration (type 3) segments:
I KEY | | ID | I 11 I D|
1 13 19 20 78 79 80
o Delete a machine process (type 2) segment:
I KEY I | ID | ID2 | | 21 | D|
1 13 19 20 21 22 78 79 80
o Delete a permits and registration (type 3) segment:
| KEY | |ID | ID3 | OOP | | 30 ) D|
1 13 19 20 21 22 23 25 78 79 80
The number field (cc 23-25) must be zero to delete an entire segment.
60
-------
Delete a permits and registration (type 3) segment line:
( KEY | I ID I ID3 | LINE NBR I | 30 | DJ
1 13 19 20 21 22 23 25 78 79 80
The line number field (cc 23-25) must be non-zero to delete a specific
line of a type 3 segment. This will delete the entire line (both left
and right halves of the comment).
In general, the KEY, IDs, card number, line number (if any), and transaction
code are required for all types of transactions. In addition, the POLL. ID
and DATE are required for adding or changing information in the master file.
Special Case
o To add a machine process segment (type 2) to an existing point source
segment (type 1):
KEY |
1 13
KEY | DATE
KEY |
| KEY [
1 13 14 18
KEY | DATE
KEY |
KEY |
1 13 14 18
| ID |
19 20
1 ID |
| ID |
19 20
1 ID i
1 ID |
1 ID |
19 20
POLL. ID |
21 25
ID2 1
ID2 1
ID2 | POLL. ID 1
21 22 23 27
111 1
112 |
113 1
78 79
1 21 |
1 22 |
I 23 1
78 79
I 1]
78
A|
A |
80
A|
A j
80
L j D 1
79 80
up t<
up t(
with
23 cs
61
-------
) KEY 1 DATE j ID j ID3 j LINE NBR | COMMENT FLAG] 1 30 | A | up to 99 sets
1 13 14 18 19 20 21 22 23 25 26 78 79 80 with 9" lines
per set (each
line may have an
'L' and an 'R')
A machine process segment (type 2) may not be added individually to a Master
File. It may only be added in combination with a point source segment (type 1)
and possibly permits and registration segments (type 3). If a point source
already exists, that point source, along with its existing type 2 and type 3
records, must be deleted first. This is accomplished by using the point source
(type 1) DELETE which deletes all corresponding type 2 and type 3 records.
Then the point source segment (type 1) and any already existing machine process
segments (type 2) and permits and registration segments (type 3) must be read-
ded to the file along with the new machine process segment (type 2).
To avoid all the manual coding as shown above, a procedure is recommended to
alleviate this. The procedure follows:
1. Retrieve entire record of the facility to be changed (see sub-
section 3.2).
2. Execute the Emission Factors Transaction Generator to create the
necessary delete card and recreation of the entire record (see
subsection 6.2).
3. Execute the IBM utility IEBGENER to add the new machine process
transactions to those generated in step 2 above.
4. Execute the Transaction Sorter which will merge the new machine
process transactions with those created by the Transaction
Generator (see subsection 7.1).
62
-------
5. Execute File Maintenance which will DELETE the existing records
and ADD the new record along with the old records to the new
Master File.
63
-------
3.1.1 ORGANIZATION
The following are the main modules of the File Maintenance program.
o MAIN-LOOP
This routine is performed by ROOT-SEGMENT until all transactions
have been processed. READ-TRANS is called to read each transac-
tion card. Then, depending on the type of card read, ADD-RECORD,
CHANGE-RECORD, or DELETE-RECORD will be performed unless an invalid
transaction card was read. This is processed as an error and the
next transaction is read.
o ADD-RECORD
This routine, performed by MAIN-LOOP, processes the adding of a
record to the system Master File. Depending on the card identi-
fication of the ADD card, a routine will be performed which will
add a root (plant) segment to the file, add a point source and all
related machine process records to the file, add a set of permits
and registration line records to an existing point source in the
file, or process an invalid transaction card.
o COPY-MASTER
This routine, called by ROOT-SEGMENT, completes copying of the old
system Master File (if any) to the new, after all input transactions
have been processed.
o CHANGE-RECORD
This routine, performed by MAIN-LOOP, processes the changing of a
record on the system Master File. This routine performs lower level
64
-------
subroutines to edit the CHANGE transaction card, locate and read in-
to core the record to be changed, perform all changes to the record,
and write the updated record back out on the new Master File.
O DELETE-RECORD
This routine, performed by MAIN-LOOP, processes the deletion of a
record from the system Master File. This routine performs lower
level routines to edit the DELETE transaction card, locate the re-
cord to be deleted, and delete the record from the new Master File.
Figure 3.1.1 illustrates the organization of FXFILMNT.
65
-------
ADD-POINT
FXFILMNT Organization
Figure 3.1.1
66
-------
3.1.2 COMMUNICATION AND DATA FORMATS
The following COBOL WORKING-STORAGE section fields are the major control
and data areas Internal to the File Maintenance program.
o ERR-1 through ERR-27 - The number of each of the 27 file maintenance
error messages, corresponding to the messages themselves In ERROR-MSGS.
(See subsection 3.1.4 for actual error messages).
o ERR-CODE - Contains the number of the error message to be printed
whenever an error is detected.
o LINE-MAX - Number of lines to print per page of file maintenance
output listing. Currently set to 52.
o MAX-CARD-1 - Maximum number of type 13 transaction cards allowed.
Currently set to 16.
o MAX-CARD-2 - Maximum number of type 23 transaction cards allowed.
Currently set to 16.
o MAX-SET-2 - Maximum number of type two segments subordinate to a
single type one segment. Currently set to six.
o CONTROL-SWITCHES - These are the program switches to control in-
ternal logic. The main switches are:
ADD-123-SW - Determines whether the add transaction for the
type 3 segment being processed is being added singly or in
combination with type I/type 2 segments. Turned on when
adding type I/type 2 segments.
67
-------
EOF-SW - Controls the top-level looping of the MAIN-LOOP
routine. Turned on at transaction file end.
KEAD-SW - Determines whether or not the next transaction
card should be read (in MAIN-LOOP), depending on whether
or not the current card has yet to be processed.
REJECT-3-SW - Controls the rejection of all corresponding
30A transactions following an error in a combination type
I/type 2/type 3 ADD. Turned on when an error in adding
type I/type 2 transactions has occurred.
ERROR-MSGS - The 27 messages used to describe any detected errors.
These messages are referenced by setting the field ERR-CODE to one
of the values contained in ERR-1 through ERR-27.
OLD-CONTROL - Contains the record KEY, date, and segment 1 and seg-
ment 2 or 3 ID fields of the current old Master File record residing
in the core.
SAVE-ALL-SET-2 - Contains all the type 2 segments (up to 6) subor-
dinate to the type 1 segment in SAVE-POINT during CHANGE and DELETE
logic.
SAVE-POINT - Contains the type 1 segment related to the type 2 seg-
ments stored in SAVE-ALL-SET-2 during CHANGE and DELETE logic.
SAVE-CARD - Contains the first two cards of any three card set (01,
02, 03; 11, 12, 13; 21, 22, 23) during the building of that set during
ADD processing or contains the first 30 card encountered for the build
of a permits and registration (type 3) line.
68
-------
The WORKING-STORAGE fields MAX-CARD-1 and MAX-CARD-2 indicate the maximum
number of pollutants each record in the Master File will now handle. To
increase or decrease the number, change the "OCCURS 1 TO 16 TIMES" clause
for the repeating portion of the MSTR-POINT-SOURCE record and the MSTR-
MACHINE-PROCESS record. MAX-CARD-1 and MAX-CARD-2 must be changed to the
same number as the 16 is changed to. All programs using the Master File must
be changed and recompiled to incorporate the change. For further details on
these changes, see Appendix C.
The WORKING-STORAGE field MAX-SET-2 determines the maximum number of type
two segments that can be held in core at any given time. If this number is
changed, the "SAVE-SET-2 OCCURS 6 TIMES" must be changed also. Whenever
any of these MAX fields are increased, the amount of core storage must be
increased when the programs are to be run. For further details on these
changes, see Appendix C.
69
-------
3.1.3 ROUTINES
The following are internal subroutines of the File Maintenance program.
o ADD-ROOT
This routine, performed by ADD-RECORD, will add a root segment (plant
segment, type 0) record to an EIS/P&R Master File. The required 01,
02, and 03 type transaction cards are read and edited, and routine
LOCATE-SETO is performed to read the old Master File (if any) and de-
termine where on the file the new root segment should be added. The
segment is then built from the three input cards and added to the new
Master File.
o ADD-POINT
This routine, performed by ADD-RECORD, will add a point source seg-
ment (type 1) and all subordinate machine process segments (type 2)
to an EIS/P&R Master File. The 11, 12, multiple 13, and all occur-
rences of the 21, 22, and multiple 23 type transaction cards are read
and edited. Subroutine ADD-SET1 is performed to locate the place in
the old Master File (if any) where the new segments are to be added,
the CALCULATIONS subroutine is performed to calculate the estimated
emissions, a flag is set for PROCESS-REGIST indicating that the lo-
cation has been found for any subordinate permits and registration
records (type 3) that correspond to this point source, and the new
type I/type 2 segments are added to the Master File.
70
-------
PROCESS-REGIST
This routine, performed by ADD-RECORD, will control the adding of new
permits and registration (type 3) records. The location for this ad-
dition has either already been found by ADD-SET1 if these 30A cards
are in combination with 11, 12, 13, 21, 22, and 23 type transaction
cards or is found by POSITION-TO-3 for a type 3 record being added to
an existing point source. If an error in adding a type I/type 2/type
3 set is found, REJECT-ALL-3 is called to reject remaining 30A trans-
actions related to the combination ADD. If no error occurs and this
is a type I/type 2/type 3 add, ADD-SET3 is called to add these new
permits and registration records or if this is a single permits and
registration line addition to an existing point source, ADD-REGIST is
called to add this line record.
CHANGES
This routine, performed by CHANGE-RECORD, actually performs the changes
as defined by the CHANGE transaction card, to the old Master File. The
record to which the changes are to be made is read into core. Except in
the case of the 30C transaction where COMMENT being blank will cause
the blanking of that portion of COMMENTS in the appropriate permits
and registration record, the change card is scanned for non-blank fields.
Each such field is used to replace the corresponding field in the record.
After all the change fields on the card are updated to the record, the
update record is written into the new Master File.
DELETES
This routine, performed by DELETE-RECORD, actually performs the deletion
of the logical segment type or the specific line record (in the case of
a non-zero line number in the 30D card for a permits and registration
71
-------
record) as specified on the DELETE transaction card. If segment type
0 (plant segment) is to be deleted, all physical records with the spec-
ified key will be deleted from the file. If segment type 1 (point
source segment) is to be deleted, all physical records with the spec-
ified key and the specified set one ID will be deleted from the file.
If segment type 2 (machine process segment) is to be deleted, the one
physical record with the specified key, set one ID, and set two ID will
be deleted from the file. If segment type 3 (permits and registration
segment) is to be deleted, indicated by 000 in the LINE-NUMBER field,
the entire set of physical (1 to 999) records with the specified key,
specified set one ID and specified set three ID will be deleted from
the file. If a line of a segment type 3 (permits and registration seg-
ment) is to be deleted, the one physical record with the specified key,
specified set one ID, specified set three ID and specified line-number
will be deleted from the file.
ADD-REGIST
This routine, performed by PROCESS-REGIST, adds a permits and registra-
tion (type 3) record corresponding to an existing point source (type 1)
record to an EIS/P&R Master File. Routine BUILD-REGIST or ADD-TO-PREV-
LINE is called to edit the transaction and build the line in core.
ADD-SET3
This routine, performed by PROCESS-REGIST, adds the permits and regis-
tration (type 3) segments subordinate to a newly created point source
(from the type I/type 2/type 3 ADD being processed) to an EIS/P&R
Master File. Subroutine BUILD-REGIST is called to edit the transaction
and build the line in core.
72
-------
CALCULATIONS
This routine is performed whenever a type 1 segment is added to the
Master File or changed, or whenever any type 2 segment is changed or
deleted. The subroutine calculates the estimated emissions for each
pollutant ID in the type 1 and type 2 segments. Basically, the com-
putation is performed in three parts. First in subroutine PRELIMINARY
COMPUTATION, the fuel process rate is multiplied by the emission fac-
tor. Next, in subroutine ASH-SULFUR-ADJUSTMENT, the product of the
previous multiplication is multiplied by whichever (if any) content
is specified, ash or sulfur. Last, in subroutine FINAL-COMPUTATION,
the adjusted product is multiplied by the control efficiency factor,
reduced by the emission reduction amount and divided by pounds per ton.
A £te£cf oveA^iou) dusung any cULUhmztic. opvuvUon wilt fui&ult. in a
73
-------
3.1.A DIAGNOSTIC MESSAGES
The following are the diagnostic messages that may be generated during
file maintenance.
Message: Set incomplete - this card ignored.
Meaning: If in adding a type 1/2/3 set a required card is missing or
rejected in the set, each card thereafter of this set will be
rejected with this accompanying message.
Action: Correct error and resubmit transactions.
Message: Invalid transaction type - card rejected.
Meaning: Transaction code is other than A, C, or D.
Action: Correct error and resubmit transaction.
Message: Numeric edit failure - card rejected.
Meaning: An alphabetic character is contained in a numeric field.
Action: Correct error and resubmit transaction(s).
Message: Duplicate set 0 already on file - set rejected.
Meaning: If a 0 segment having the same key already exists, a duplicate
set will not be accepted.
Action: Correct error and resubmit transaction.
Message: Too many type 13 cards - card rejected.
Meaning: A maximum of 16 type 13 cards is allowed.
Action: Correct error and resubmit transaction(s).
Message: Too many type 23 cards - card rejected.
Meaning: A maximum of 16 type 23 cards is allowed per set. (Six sets of
type 2 segments are permitted however)
Action: Correct error and resubmit transactions.
74
-------
Message: No set 0 found for previous set 1 - set rejected.
Meaning: A 0 set must either exist in the file or precede a 1 set in the
input stream. Sorting the cards should put them in proper se-
quence if a 0 set is included.
Action: Correct error and resubmit transactions.
Message: Duplicate set 1 already on file - set rejected.
Meaning: Same as for duplicate set 0.
Action: Correct error and resubmit transactions.
Message: Too many set 2 under one set 1 - set rejected.
Meaning: Only permitted six sets of type 2 segments under each type 1 set.
Action: Correct error and resubmit transactions.
Message: Invalid segment/card number - card rejected.
Meaning: Segment or card number is in error.
Action: Correct error and resubmit transactions.
Message: No matching key on master file - card rejected.
Meaning: There is no key in the file to match the key on the transaction
card.
Action: Correct error and resubmit transactions.
Message: Can only delete 01, 11, 21 or 30 set - card rejected.
Meaning: It is not possible to delete an individual 02, 03, 12, 13, 22,
or 23 card. The entire set must be deleted.
Action: Correct error and resubmit transactions.
Message: Set 0 incomplete - set rejected.
Meaning: One or more cards is missing from the set 0 segment.
Action: Correct error and resubmit transactions.
75
-------
Message: Sets 1/2/3 incomplete - entire set rejected.
Meaning: One or more cards missing from the 1, 2 or 3 segments.
Action: Correct error and resubmit transactions.
Message: Set 0 rejected.
Meaning: This message will appear in combination with one of the other
specific error messages for set 0.
Action: Correct error and resubmit transactions.
Message: Set 1 and all subordinate sets rejected.
Meaning: This message will appear in combination with one of the other
specific error messages for set 1.
Action: Correct error and resubmit transactions.
Message: Overflow during calculations for pollutant XXXXX.
Meaning: The number of digits in the result of a calculation exceed the
amount of space available. This results in digits being dropped,
giving an erroneous answer. The estimated emissions will be set
to zero.
Action: Correct error and resubmit transactions.
Message: Estimates will be incorrect.
Meaning: This message follows the one above.
Action: Correct error and resubmit transactions.
Message: Transaction card out of order - card rejected.
Meaning: Transaction cards must be in DELETE, ADD, CHANGE sequence in
input stream.
Action: Correct error and resubmit transactions.
Message: Set-ID invalid - card rejected.
Meaning: An error exists in the set-ID.
Action: Correct error and resubmit transactions.
76
-------
Message: Line number zero for ADD or CHANGE - card rejected.
Meaning: Line number zero (for set 3) is only used to DELETE the entire
segment.
Action: Correct error and resubmit transaction.
Message: Comment-flag invalid - card rejected.
Meaning: Only an "L" or an "R", indicating left or right side of line,
is a valid comment flag.
Action: Correct error and resubmit transaction.
Message: No set 0 found for this 3 add-card rejected.
Meaning: No plant segment (type 0) was found for the set 3 card.
Action: Correct error and resubmit transaction.
Message: No set 1 found for this 3 add - card rejected.
Meaning: Same as above except point source segment (type 1) is missing.
Action: Correct error and resubmit transaction.
Message: Line number invalid - card rejected.
Meaning: Line number (set 3) contains an error.
Action: Correct error and resubmit transaction.
Message: Too many 3 adds with dupe ID info - card rejected.
Meaning: An attempt has been made to add the same half line more than
once in the same run.
Action: Correct error and resubmit transaction.
Message: Comment already present - card rejected.
Meaning: If the half of the line is already present, with other than
blanks it must be either changed or deleted to put other in-
formation in the same half of line.
Action: Correct error and resubmit transaction.
77
-------
3.2 RETRIEVAL
The ability to retrieve data from the EIS/P&R Master File is provided
by the Retrieval Language Processor program and the Retrieval program.
78
-------
3.2.1 RETRIEVAL LANGUAGE PROCESSOR
The Retrieval Language Processor program generates the actual Retrieval
program based on English-like requests entered by the user. These re-
trieval requests are edited and, if no severe errors are found, the
Retrieval program is compiled and executed to extract any data meeting
the user's specification. Those records in the Master File which have
qualified are placed in a separate Answer File for processing. The
records in the Answer File are in the same order and have the same for-
mats as the records in the Master File. The Answer File, therefore, may
be used by any program which accepts the Master File for processing.
Care should be used, however, as the Answer File is a subset of the
Master File. Any changes made to the Answer File will not be necessarily
reflected in the Master File. In other words, performing an update on
an Answer File will not update the Master File.
Every .retrieval request contains two control cards in addition to the
retrieval specification. The $$END card signals the end of the request.
The $$SELECT card signals the beginning of the request and the type of
request. There are three different types of request: EIS/P&R retrieval
language specifications, inline COBOL language specifications, and copied
COBOL language specifications. An example of these control cards, along
with retrieval specifications follows:
$$SELECT USER
QUALIFY-RECORDS.
IF ESTABLISHMENT IS EQUAL TO ' ' OR
MAILING-ADDRESS IS EQUAL TO ' ' OR
(COMMENT-L IS NOT EQUAL TO ' ' AND
LINE-NO '001')
MOVE TRUE TO QUALIFICATION-ACHIEVED-SW.
QUALIFY-RECORDS-END.
EXIT.
79
-------
$$END
SET-QUALIFICATION-LEVEL SECTION.
SET-QUAL-LEVEL.
MOVE REQUIRE-3-QUAL TO QUALIFICATION-REQUIRED.
SET-QUAL-LEVEL-END.
EXIT.
Refer to Figure 3.2.1.4-1 for the formats of the $$SELECT and $$END cards.
Retrieval specifications written in the EIS/P&R retrieval language are
entered immediately following the $$SELECT card, expressing one relation-
ship per card. For example, A=B expresses a relationship where A is the
subject name, = is the relational operator, and B is the object name.
Multiple relationships may be expressed by connecting single relationships
with a Boolean operator. For example, A=B AND C=D OR E=F expresses three
relationships, A=B, C=D, E=F, connected by the Boolean operators AND and
OR. The Boolean operator AND signifies that both relationships connected
by the AND have to be true for the entire statement to be true. OR indi-
cates that if either relationship is true, the statement is true. Refer
to the truth tables below.
X.
T
F
T
T
T
F
T
F
^k
T
F
T
T
F
F
T
F
X OR Y
X AND Y
An example of retrieval specifications using Boolean logic follows
COUNTY
COUNTY
POLLUTANT-ID
'2280'
'3120'
'42401'
OR
AND
80
-------
This will retrieve two cases of records. The first case will be all records
with COUNTY = '2280' and POLLUTANT-ID equal to anything. The second case
will be those records with both COUNTY = '3120' and POLLUTANT-ID = '42401'.
Refer to Figure 3.2.1.4-2 for the exact format of the EIS/P&R retrieval
language specifications.
The subject name field and the object name field may each contain either a
valid data name (see Figure 3.2.1.4-3) or a literal enclosed in apostrophes.
An invalid data name or missing apostrophes will cause the retrieval to
abort. Parentheses may be used for grouping with the following exceptions:
the first occurrence of a repeating name from the segment 1 record and the
first occurrence of any name from the segment 2 record must not be enclosed
in parentheses. After a segment 2 name has been specified, parentheses may
be used freely around any other segment 2 names. The similar case is true for
names from the repeating portion of the segment 1 record; once one has been
specified unenclosed by parentheses, parentheses may then be used freely.
Two further restrictions are applied to repeating names: a repeating name
may be preceded by a left parenthesis but may not be followed by a right
parenthesis. Also, a repeating name from the segment 1 record may not be
specified at any time after a name from the segment 2 record has been spec-
ified. This restriction applies only to repeating names. Names from the
fixed portion of the segment 1 record may be specified after names from the
segment 2 record.
An example of the use of parentheses follows:
(COUNTY =» '2280' OR
COUNTY - '3120') AND
POLLUTANT-ID = '42401'
81
-------
This specification will result in all records being retrieved with COUNTY
being '2280' OR '3120', but in both cases POLLUTANT-ID must also be '42401'
Note the difference between this example and the above example for Boolean
logic.
An example of incorrect uses of parentheses follows:
COUNTY = '2280' OR
(COUNTY - '3120' AND
'42401' = POLLUTANT-ID)
This example shows two rule restrictions. The first violation is that the
first occurrence of a repeating name must not be in parentheses. The
second violation is that a repeating name may not be followed by a right
parentheses. To achieve the desired result, the parentheses should be
removed and POLLUTANT-ID should be on the left side of "»". See the
Boolean logic example above.
The negation field must contain the negation character, 'N', or blank.
Any other character will result in a warning message. The program will
then assume that negation was intended and continue processing.
An invalid relational or Boolean operator will cause the retrieval to
abort.
The Boolean operator field may contain blanks or the words AND or OR.
Blanks in this field signal the end of the retrieval specification and
terminal editing. The program then expects that the next card will be
the $$END card. The words AND or OR indicate that another relationship
follows and that editing is to continue.
82
-------
Inline COBOL language specifications are entered immediately following the
$$SELECT card. These cards are punched according to COBOL rules for syntax
and punctuation. Any user-defined paragraph or section name should begin
with the prefix, USER-, to avoid conflict with other names in the program.
Any valid PROCEDURE DIVISION statements, with the exception of DECLARATIVES,
may be entered. Since the Retrieval Language Processor program does not
examine the statements, any errors could result in COBOL diagnostics or un-
predictable results.
Copied COBOL language specifications have the same attributes as inline
COBOL specifications. However, they are stored externally and are copied
in at the time the Retrieval program is compiled.
The name of the load module is LXLNGPRC.
83
-------
3.2.1.1 ORGANIZATION
The following are the main modules in the Retrieval Language Processor
program.
o MAIN-LOOP
This routine has a conditional branch which branches
to GENERATE-COBOL, COPY-COBOL, OR COPY-MEMBER depending
on the option entered on the $$SELECT card.
o GENERATE-COBOL
This routine processes EIS/P&R retrieval language specifi-
cations and, after editing, generates the proper COBOL
code to perform the retrieval.
o COPY-COBOL
Inline COBOL language specifications are copied into
the Retrieval program skeleton by this routine.
o COPY-MEMBER
Code to copy an external COBOL member into the Retrieval
program skeleton is generated by this routine.
Figure 3.2.1.1 shows the organization of LXLNGPRC.
84
-------
LXLNGPRC Organization
Figure 3.2.1.1
85
-------
3.2.1.2 COMMUNICATION AND DATA FORMATS
The following defines the usage of certain COBOL WORKING-STORAGE names:
o BOOLEAN-SW - May contain '0' (NO-PRECEDING-BOOLEAN), '!'
(LAST-BOOLEAN-WAS-OR), or '2' (LAST-BOOLEAN-WAS-AND)
depending on the contents of the Boolean operator
field of the last control card processed.
o CHECK-REPEATING-NAME-SW - May contain TRUE or FALSE.
If true, a search is performed to determine whether
or not the current data name identifies a field in
the repeating portion of the segment 1 record.
o CHECK-SEG-2-SW - May contain TRUE or FALSE. If
true, a search is performed to determine whether or
not the current data name identifies a field in the
segment 2 record.
o COMPARAND-FOUND-SW - May contain TRUE or FALSE. If
true, the comparand (object name) has been validated.
o CONTINUATION-PENDING-SW - May contain TRUE or FALSE.
If true, Boolean checks are made and/or an output
record is written.
o DATA-NAME-FOUND-SW - May contain TRUE or FALSE. If
true, the data name (subject name) has been validated.
o END-CARD-FOUND-SW - May contain TRUE or FALSE. IF
true, either the $$END card has been found or an
end-of-file has occurred on the Control Card File.
86
-------
END-OF-FILE-SW - May contain TRUE or FALSE. If
true, a data set end-of-file has been detected
or signaled.
ERROR-FOUND-SW - May contain TRUE or FALSE. If
true, an error has been found during editing.
IF-WRITTEN-SW - May contain TRUE or FALSE. If
true, the IF clause has been written to the Retrieval
program skeleton.
PARENS-BALANCED-SW - May contain TRUE or FALSE.
If true, the number of left parentheses are equal
to the number of right parentheses.
PREVIOUS-SEGMENT-2-SW - May contain TRUE or FALSE.
If true, a segment 2 data name has been encountered.
QUALIFICATION-REQUIRED - May contain 'I1
(QUAL-0-REQUIRED), '2f (QUAL-1-REQUIRED), '3'
(QUAL-2-REQUIRED), or 'A1 (QUAL-3-REQUIRED).
Identifies the lowest logical level of record which
must be present in order for a complete qualification
to be performed.
REPEATING-NAME-SW - May contain TRUE or FALSE. If
true, the current data name (subject or object name)
is a repeating data name.
SEGMENT-2-SW - May contain TRUE or FALSE. If true,
the current data name (subject or object name) names
a field in the segment 2 record.
87
-------
TEST-NAME-FOUND-SW - May contain TRUE or FALSE. If
true, the current data name (subject or object name)
has been successfully matched against the list of
valid retrieval names.
88
-------
3.2.1.3 ROUTINES
The following are major routines of the EIS/P&R Retrieval Language
Processor program:
o CHECK-COMPARAND - This routine first performs
STRIP-PARENS-C which removes the left and right
parentheses from the comparand (object name) and
replaces them with blanks. Next SEARCH-TABLE
is performed which tests the validity of the name.
If the object name was not found in the valid
names table, an error message is printed.
o CHECK-DATA-NAME - Similar in function to CHECK-COMPARAND.
However, the subject name, rather than the object
is examined.
o EDIT-NON-REPEATING-DATA - This routine handles the
generation of the Retrieval program up to the
point at which a repeating or segment 2 data name is
encountered. At that point, another routine is
invoked. If a repeating or segment 2 data name is
not encountered in the control card stream, this
routine retains control until end-of-file on the
control card stream.
o EDIT-REPEATING-DATA - This routine handles the gener-
ation of the Retrieval program from the point at which
a repeating data name is encountered to the point at
which a segment 2 data name is encountered in the control
stream. If a segment 2 name is not encountered, this
89
-------
routine retains control until end-of-file.
EDIT-SEGMENT-2 - This routine handles the
generation of the Retrieval program from the
point at which a segment 2 data name is encoun-
tered in the control card stream until end-of-file.
GEN-ELSE - This routine is invoked whenever an OR
Boolean operator unenclosed by parentheses is
encountered in the control card stream. It generates
an ELSE clause in the Retrieval program.
GEN-PERFORM-1 - This routine is invoked upon the
first occurrence of a repeating data name in the
control card stream. It generates a PERFORM clause
in the Retrieval program to perform the qualifi-
cation of the repeating data.
GEN-PERFORM-2 - This routine is invoked upon the
first occurrence of a segment 2 data name. It
generates a PERFORM clause in the Retrieval program
to perform the qualification of the segment 2 data.
PROCESS-CONTINUATION - This routine is invoked
whenever a continuation is pending (i.e. a
Boolean operator has been encountered). It tests
for balanced parentheses, and a segment 2 or
repeating data name and, based on the results of
these tests, generates the correct code in the
Retrieval program.
90
-------
READ-ROUTINE - This routine reads a control
card and prints it.
SEARCH-FOR-SEG-2-OR-REPEAT - Once a data name
has been found in the valid names table, this
routine is invoked to determine whether or not
it is a repeating or segment 2 data name.
WRITE-READ-ROUTINE
This routine writes a record and then performs
READ-ROUTINE. It is used for copying inline
COBOL language specifications into the
Retrieval program.
91
-------
Retrieval Control Cards
Columns
1-8
9
10 - 13
14 - 15
16 - 23
24 - 80
Format
A - A
AAAA
X - X
Symbol
Alphabetic
Alphabetic
Alphanumeric
Description
Card Type
Unused
User Id
Unused
Member Name
Unused
Retrieval Control Cards
Figure 3.2.1.4-1
92
-------
3.2.1.4-1 DESCRIPTION OF RETRIEVAL CONTROL CARD FIELDS
Card Type: Identifies the card as either a $$SELECT card or a $$END
card. The keyword must be left-justified within the field.
User ID: If the keyword USER is entered in this field, it indicates
that the retrieval request is in COBOL, rather than in EIS/P&R
retrieval language. The keyword, USER, is valid only on the
$$SELECT card.
Member Name: Specifies the name of the member in an external source
library containing the COBOL retrieval request. This is COBOL
code which is valid only in conjunction with the USER option. If
blank, indicates that the COBOL code is inline, rather than on a
library.
93
-------
Retrieval Language Specifications
Columns
1 -
37 -
69 -
72 -
31
32
33
34
35
36
67
68
71
80
Format
X - X
X - X
AAA
Symbol
Alphanumeric
Alphabetic
Special Character
Alphanumeric
Alphabetic
Description
Subject Name
Unused
Negation Flag
Unused
Relational Operator
Unused
Object Name
Unused
Boolean Operator
Unused
Retrieval Language Specifications
Figure 3.2.1.4-2
94
-------
3.2.1.4-2 DESCRIPTION OF RETRIEVAL LANGUAGE SPECIFICATIONS
Subject Name: The name of a field in the EIS/P&R Master File record
whose content is to be tested or a literal (enclosed in
apostrophes) to be compared against the value specified by the
object name.
Negation Flag: When non-blank, indicates the Boolean NOT condition.
Valid codes are N and space.
Relational Operator: Indicates the relationship to be tested between
the subject name and the object name. Valid codes are:
» equal
> greater than
< less than
Object Name: The name of a field in the EIS/P&R Master File record
whose content is to be tested or a literal (enclosed in
apostrophes) to be compared against the value specified by
the subject name.
Boolean Operator: Connects a relationship or group of relationships
to another relationship or group of relationships. Valid values
are AND and OR. AND indicates that both relationships or groups
must be true in order for the entire relationship to be true. OR
indicates that if either relationship or group is true, the
entire relationship is true.
95
-------
Valid Data Names for Retrieval (Plant Data)
The following list of names from the fixed segment may be referenced
in either the EIS/P&R retrieval specification language or in COBOL
language specifications.
AQCR RECORD-0-DAY
CITY RECORD-0-YEAR
CONTACT SEG-O-ID
COUNTY SEG-0-SET-ID
DATE-OF-0-RECORD SEGMENT-0-ID
LOCAL-CONTROL STATE
NUMBER-OF-EMPLOYEES TELEPHONE
OWNER USER-CONTROL-REGION
PLANT-ID USER-PLANT-ID
PRINCIPLE-PRODUCT UTM-ZONE
PROPERTY-AREA
The following two names from the fixed segment may be referenced in
a retrieval specification in the COBOL language only.
ESTABLISHMENT
MAILING-ADDRESS
Valid Retrieval Data Names
Figure 3.2.1.4-3
96
-------
Valid Data Names for Retrieval (Point and Stack Data)
The following list of names from the point source segment may be
referenced in either the EIS/P&R retrieval specification language or
in COBOL language specifications.
ANNUAL-THRUPUT
BOILER-DESIGN-CAPACITY
COMPLIANCE-SCHEDULE
COMPLIANCE-STATUS
COMPLIANCE-STATUS-UPDATE
CONTROL-REGULATIONS
DATE-OF-1-RECORD
DAY-WEEK
DEC-FEB
DIAMETER
ECAP
FLOW-RATE
HEIGHT
HORIZONTAL
HOURS-DAY
IPP
JUN-AUG
LATITUDE
LATITUDE-DEGREE
LATITUDE-MINUTE
LATITUDE-SECOND
LONGITUDE
LONGITUDE-DEGREE
LONGITUDE-MINUTE
LONGITUDE-SECOND
MAR-MAY
NBR-OF-POLLUTANTS
NEDS-POINT-ID
NORMAL-OPERATING
PLUME
POINT-ID
POINTS-PER-STACK
RECORD-1-DAY
RECORD-1-YEAR
REG-1
REG-2
REG-3
SCHEDULE-MONTH
SCHEDULE-YEAR
SEG-l-ID
SEG-1-SET-l-ID
SEGMENT-1-ID
SEP-NOV
SIC
SPACE-HEAT
STACK-DATA
STATUS-DAY
STATUS-MONTH
STATUS-YEAR
TEMPERATURE
USER-POINT-ID
UTM-COORDINATES
VELOCITY
VERTICAL
WEEK-YEAR
Valid Retrieval Data Names
Figure 3.2.1.4-3 (continued)
97
-------
Valid Data Names for Retrieval (Repeating Data)
The following list of names from the repeating portion of the point
source segment may be referenced in either the EIS/P&R retrieval
specification language or in COBOL language specifications.
ALLOWABLE ESTIMATION-METHOD
CNTL-EQUIP-COST MEASURED
CONTROL-EQUIPMENT POLLUTANT-ID
EMISSION-UNITS PRIMARY-CNTL
EMISSIONS SECONDARY-CNTL
EST-CONTROL-EFF TEST-METHOD
ESTIMATES
Valid Retrieval Data Names
Figure 3.2.1.4-3 (continued)
98
-------
Valid Data Names for Retrieval (Machine-Process Data)
The following list of names from the machine process segment may be
referenced in either the EIS/P&R retrieval specification language or
in COBOL language specifications.
ASH-CONTENT
BEC
BEC-ID
BEC-NUMBER
CONFIDENTIALITY
DATE-OF-2-RECORD
EMISSION-FACTOR-SOURCE
FUEL-PROCESS-RATE
FUEL-UNITS
HEAT-CONTENT
MAX-DESIGN-RATE
NUMBER-OF-EF
RECORD-2-YEAR
RECORD-2-DAY
SCC
SCC-I
SCC-II
SCC-III
SCC-IV
SEG-2-ID
SEG-2-SET-1-ID
SEG-2-SET-2-ID
SEGMENT-2-ID
SOURCE-CODE
SOURCE-DESCRIPTION
SULFUR-CONTENT
Valid Retrieval Data Names
Figure 3.2.1.4-3 (continued)
99
-------
Valid Data Names for Retrieval (P&R Data)
The following list of names from the permits and registration segment
may be referenced in either the EIS/P&R retrieval specification
language or in COBOL language specifications.
DATE-OF-3-RECORD SEG-3-ID
LINE-HUMBER SEG-3-SET-1-ID
RECORD-3-DAY SEG-3-SET-3-ID
RECORD-3-YEAR SEGMENT-3-ID
The following three names from the permits and registration segment
may be referenced in a retrieval specification in the COBOL language
only.
COMMENT-L COMMENTS
COMMENT-R
Valid Retrieval Data Names
Figure 3.2.1.4-3 (continued)
100
-------
3.2.1.4 DIAGNOSTIC MESSAGES
The following are the diagnostic messages that may be generated during the
retrieval language processor phase of retrieval.
Message: Premature end of file on control card - Assuming $$END card.
Meaning: No $$END card is found by end of file.
Action: No action required.
Message: First control card not $$SELECT - Assumed present.
Meaning: $$SELECT card is missing.
Action: No action required.
Message: No control cards in input stream - run aborted.
Meaning: No $$ control cards or retrieval requests are found.
Action: Correct error and resubmit transaction.
Message: Invalid negation character - NOT condition will be assumed.
Meaning: Only an "N" or "blank" is considered a valid entry.
Action: Correct error and resubmit transaction.
Message: Invalid Boolean operator - run aborted.
Meaning: Only "AND", "OR" or blanks are valid Boolean operators.
Action: Correct error and resubmit transaction.
Message: Unexpected input - card ignored - scanning for $$END card.
Meaning: A card has been encountered without a Boolean operator
and cards other than $$END follow.
Action: Check retrieval requests for corrections.
101
-------
Message: Unmatched Boolean operator - run aborted.
Meaning: The last half of the Boolean statement is missing. When
AND or OR is used, it must be followed by a new subject.
Action: Correct error and resubmit transaction.
Message: Data name invalid - run aborted.
Meaning: An incorrect field name is used or single quotation marks
are missing. Only those field names given in the list in
Figure 3.2.1.4-3 or a literal enclosed in apostrophes are
valid.
Action: Correct error and resubmit transaction.
Message: Unbalanced parentheses at first occurrence of repeating
seg-1 name - aborted.
Message: Unbalanced parentheses at first occurrence of seg-2 name -
run aborted.
Meaning: Parentheses may be used for grouping with the following
exceptions:
o The first occurrence of a repeating name (see 13
card and Figure 3.2.1.4-3) from the segment 1 record.
Once a segment 1 repeating name has been used without
parentheses, parentheses may be used freely.
o The first occurrence of any name from a segment 2
record must not be enclosed in parentheses. After
any segment 2 name is specified without parentheses,
parentheses may be used freely.
Action: Correct error and resubmit transaction.
Message: Repeating segment 1 name specified after segment 2 name -
run aborted.
Message: Repeating name may not precede right paren.
102
-------
Meaning: Two further restrictions are applied to repeating names:
o A segment 1 repeating name may not be specified at
any time after a segment 2 name has been specified.
This applies only to repeating names. Names from
the fixed portion of segment 1 record may be
specified after segment 2 names.
o A repeating name may be preceded by a left parentheses
but may not be followed by a right parentheses.
Action: Correct error and resubmit transaction.
103
-------
3.2.2 RETRIEVAL
The EIS/P&R Retrieval program reads a Master File and, based on user
specifications edited by the Retrieval Language Processor program, selects
those segments which qualify for inclusion in an Answer File. The Answer
File has the same structure and format as the Master File (see Subsection
2.2.1) and the various segments appear in the same order.
For retrieval purposes, a logical record may consist of a fixed segment
(type 0 record), point source segments (type 1 records), machine process
segments (type 2 records), and permits and registration segments (type
3 records). The fields in the repeating portion of the machine process
(type 2) segment (23 card) and the comment fields of the permits and
registration (type 3) segment cannot be used as retrieval fields in the
retrieval language specifications. If the user writes his own COBOL,
the comments fields may be used. The repeating portions of the machine
process can never be used as retrieval fields, because without other in-
formation they are meaningless.
The contents of the Answer File produced by the Retrieval program will
depend upon which segment or segments contain the qualification fields.
The following will help illustrate this.
a. Retrieval fields from the fixed segment (type 0).
A logical record will be generated for each selected
type 0. Any type 1 records accompanying the type 0
record in the Master File will also accompany it in
the Answer File as will any accompanying type 2
records. Type 3 records will not accompany the type
0.
104
-------
b. Retrieval fields from the point source segment (type 1).
A logical record will be generated for each type 0
containing a qualifying type 1 record or records. All
type 1 records which qualify will accompany the type 0
record to which they are subordinate. Those type 1
records which do not meet the qualification specifica-
tion will not be included. All type 2 records sub-
ordinate to a qualifying type 1 record will also be
included in the logical record. Type 3 records will
not be included.
c. Retrieval fields from the fixed portion of the machine
process segment (type 2).
A logical record will be generated for each type 0 con-
taining a qualifying type 2 record or records. If any
record within the machine process segment qualifies,
the entire segment is included in the Answer File. The
type 1 record to which the qualifying machine process
segment is subordinate will also be included. Type 1
records without subordinate qualifying type 2 records
will not be included in the Answer File. Type 3 records
will not be included.
d. Retrieval fields from the permits and registration
segment (type 3).
A logical record will be generated for each type 0
containing a qualifying type 3 record. The type 1
record to which the qualifying type 3 record is sub-
ordinate will also be included as will the type 2
record(s) subordinate to that type 1, assuming there
are type 2 records which exist on the file. Type 3
105
-------
records are included in the Answer File only when
they are specifically retrieved, unlike other records
which may be included for logical completeness, even
though not specifically selected. However, if a
field from the type 3 record is mentioned in a
retrieval specification referencing other segments,
type 3 records which do not meet the retrieval speci-
fication may be included. For example, the following
retrieval specification:
$$SELECT
SCO = '91920603' OR
LINE-NUMBER - '095'
$$END
will select line number 95 from any permits and
registration segment and any machine process segment
containing SCC 91920603. Any permits and registra-
tion segment on the same logical level (subordinate
to the same type 1) as the qualifying type 2's will
be included in its entirety, even though it may fail
the line number test. Therefore, it is suggested
that any retrievals from the permits and registration
segment not be combined with retrievals from other
segments.
The original Emissions Inventory Subsystem (EIS) was extended to include
a permits and registration (P&R) segment so that the EIS user would be
able to store, maintain, and retrieve detailed engineering data which is
acquired from permit or registration applications. Since permit and regis-
tration forms vary significantly from agency to agency, the P&R extension
to EIS was developed to allow free form input. This will allow each user
106
-------
to store his P&R data in a form most suitable for his individual use. In
fact, since the P&R extension allows free form input, the user can literally
use this file segment for storing other types of data and information such
as that pertaining to legal activities, surveillance activities, detailed
inspection check points and procedures for a plant, an emission point, or
a machine process.
In order to do this, it is necessary that the user organize the P&R file
structure to accommodate his operation prior to putting data or information
into it.
In organizing the P&R segment of your file, recall that each emission point
of each plant or facility in your file has from 1 to 99 P&R segments sub-
ordinate to it. In turn, each of these 1 to 99 segments has the capability
of storing 1 to 999 lines of data or comment. Each of 999 lines can contain
102 characters of comment or data.
You are requested to leave the first P&R segment for each emission point
in your file free for future EIS/P&R expansion. This should allow the
accommodation of future NEDS modifications such as the addition of a P7
card without having to redesign the EIS file structure. It is imperative
that the first P&R segment of each emission point be reserved for this pur-
pose. You might also consider reserving the second segment of each emission,
point to accommodate any Regional Office unique requirements.
After reserving these first two segments for each emission point, there are
97 segments of 1 to 999 lines remaining subordinate to each emission point.
You may choose to designate each P&R segment 3 as being reserved for detailed
and general information regarding the plant or facilities. Each segment 4
may be reserved for storing permit application data for its emission point.
107
-------
Each segment 5 may contain surveillance reports for its emission point.
Each segment 6 may be reserved for a detailed history of all legal
activities regarding its emission point. Each segment 7 might contain
a detailed inspector's guide for its emission point which would contain
information such as:
a. Source name and address (office and plant if different)
b. Emission point identification (descriptive as well as
alphanumeric)
c. Primary contact at plant
d. Primary contact at emission point if different
e. Name of plant owner, president, manager, etc.
f. Process description
g. Important process facts
h. Raw materials used
i. Products produced
j. Emission point operating cycle if different from plant
operating cycle
k. List and description of equipment (process, control, and
auxiliary)
108
-------
1. Emission point monitoring information including normal
reading ranges for instruments, meters, gages, and
continuous monitoring devices.
Each segment 8 might contain a history of past source test results for its
emission point. P&R segments 9, 10, 11, 12, and 13 (subordinate to each
emission point) might be used to store data for a machine process similar
to that for the emission point in segments 4, 5, 6 7, and 8. The segments
14 through 19 could be used for another machine process which might be
subordinate to the emission point. This could then be continued to accommo-
date all machine processes which are subordinate to an emissions point.
The preceding discussion is only one example of how the user could organize
his P&R file. There are undoubtedly many other approaches which would work
equally well. Regardless of the approach chosen, please remember to reserve
the first two P&R segments which are subordinate to each emission point for
future EIS/P&R expansions to accommodate any NEDS changes or unique Regional
Office requirements.
There are many possible combinations of retrievals which involve the P&R
segments. Some of the types and examples of retrievals which you may want
to make are:
a. Retrieval of a group of lines from a single segment sub-
ordinate to a point source.
1. Example:
COUNTY = '1280' AND
SEG-3-SET-1-ID = '01' AND
SEG-3-SET-3-ID = '01' AND
LINE-NUMBER > '008' AND
LINE-NUMBER < '020'
109
-------
2. Explantion:
This will retrieve lines 9 through 19 of P&R segment
01 of each plant in COUNTY 1280.
b. Retrieval of a group of lines from a single segment sub-
ordinate to a point source, but which the user has reserved
to apply to a given SCC through the organization mentioned
above.
1. Example:
COUNTY = '1280' AND
PLANT-ID - '0025' AND
SEG-3-SET-1-ID = '05' AND
SEG-3-SET-3-ID > '08' AND
SEG-3-SET-3-ID < '14' AND
LINE-NUMBER < '026'
2. Explanation:
This will retrieve the first 25 lines of P&R segments
09 through 13 subordinate to point source 05 of PLANT
0025 in COUNTY 1280.
c. Retrieval of an entire P&R segment subordinate to a point
source.
1. Example:
COUNTY » '1280' AND
PLANT-ID = '0025' AND
SEG-3-SET-1-ID = '02' AND
SEG-3-SET-3-ID = '04'
110
-------
2. Explantion:
This will retrieve all lines of P&R segment 04
subordinate to PLANT 0025 in COUNTY 1280.
d. Retrieval of all P&R segments for a desired plant.
1. Example:
COUNTY = '1280' AND
PLANT-ID '0025' AND
SEG-3-ID - '3'
2. Explanation:
This will retrieve all lines from all P&R segments
subordinate to PLANT '0025' of COUNTY 1280.
Ill
-------
3.2.2.1 ORGANIZATION
The following are the main modules of the Retrieval program:
o MAIN-LOOP
This routine is performed by ROOT-SEGMENT until an
end-of-file is detected on the input EIS/P&R Master
File. First, BUFFER-PRIMING is performed to build
the logical record in core prior to performing the
qualification on the record. Next, the QUALIFICATION
section is performed which determines whether the logical
record meets the qualification specified by the user.
If the logical record meets the specification,
WRITE-ROUTINE is invoked to write the logical record
to the Answer File.
o BUFFER-PRIMING
This routine reads segments from the Master File and
builds a logical record in core. This record is made
as complete as the data in the Master File will allow.
Information is added to the logical record until a
control break is detected. A control break occurs
for one of the following reasons:
a. End-of-file on Master File
b. Segment 3 record
c. Hierarchical level lower than that expected
(expecting a type 2, received a type 1, etc.)
BUFFER-PRIMING will set switches to communicate to the
112
-------
QUALIFICATION section which segments are present in the
logical record.
o QUALIFICATION
This section performs the tests necessary to determine
whether the logical record meets the qualification
specifications. It is generated by the Retrieval
Language Processor program from retrieval language
specifications or from COBOL language specifications.
If the specification is entered by the user in COBOL,
any paragraph names should start with the prefix
USER- to prevent conflicts with other paragraphs in
the program. Also, it is the user's responsibility
to provide the following code in his COBOL specifica-
tion:
SET-QUALIFICATION-LEVEL SECTION.
SET-QUAL-LEVEL.
MOVE REQUIRE-n-QUAL to QUALIFICATION-REQUIRED.
SET-QUAL-LEVEL-END.
EXIT.
where n is the number of the lowest hierarchical level
required to complete the qualification. This code must
appear at the end of the COBOL specification. However,
prior to the above code in the user's COBOL, the user
must also MOVE TRUE TO QUALIFICATION-ACHIEVED-SW when
the record has successfully qualified.
o WRITE-ROUTINE
This routine determines which segments of the logical
record should be written to the Answer File. It is not
invoked unless the logical record has passed qualification.
Figure 3.2.2.1 illustrates the organization of the Retrieval program.
113
-------
1
r
BUFFER-
PRIMING
1
r
QUALIFICATION
1
k'R UK-ROUTINE
RETRIEVER Organization
Figure 3.2.2.1
114
-------
3.2.2.2 COMMUNICATION AND DATA FORMATS
The following COBOL WORKING-STORAGE section fields are the major control
and data areas internal to the Retrieval program.
o END-OF-FILE-SW - May contain TRUE or FALSE. If true,
an end-of-file has been detected on the EIS/P&R Master
File.
o QUALIFICATION-ACHIEVED-SW - May contain TRUE or FALSE.
If true, the logical record has passed qualification.
o QUALIFICATION-ATTEMPTED-SW - May contain TRUE or FALSE.
If false, qualification has not yet been attempted on
the current logical record.
o QUALIFICATION-REQUIRED - May contain one of the following
values:
REQUIRE-0-QUAL
REQUIRE-1-QUAL
REQUIRE-2-QUAL
REQUIRE-3-QUAL
which defines the lowest hierarchical level in the logical
record required for qualification.
o READ-SUPPRESSED-SW - May contain TRUE or FALSE. If true,
a new record will not be read from the Master File until
the switch is set to FALSE.
o RECORD-IN-CORE - May contain one of the following values:
RECORD-0-IN-CORE
RECORD-1-IN-CORE
115
-------
RECORD-2-IN-CORE
RECORD-3-IN-CORE
which indicate the lowest hierarchical level contained in
the current logical record. The value in this field must
be greater than or equal to the value of QUALIFICATION-
REQUIRED in order for qualification to be attempted.
o RECORD-0-WRITTEN-SW - May contain TRUE or FALSE. If true,
the 0 segment from the current logical record has been
written to the Answer File.
o RECORD-1-WRITTEN-SW - May contain TRUE or FALSE. If true,
the 1 segment from the current logical record has been
written to the Answer File.
o RECORD-2-WRITTEN-SW - May contain TRUE or FALSE. If true,
the 2 segment from the current logical record has been
written to the Answer File.
o MSTR-REC-0 - Contains the 0 segment of the current logical
record.
o MSTR-REC-1 - Contains the 1 segment of the current logical
record.
o MSTR-REC-2 - Contains each record in the 2 segment for
qualification purposes. The entire segment is stored
elsewhere and moved into this area a record at a time.
o MSTR-REC-3 - Contains a record from a 3 segment for
qualification purposes. Each segment is read into core
a record at a time.
116
-------
SAVE-ALL-SET2 - Contains the 2 segment of the
current logical record.
117
-------
3.2.2.3 ROUTINES
The following are internal subordinates of the Retrieval program.
3 READ-ROUTINE
This routine reads the next physical record from the
EIS/P&R Master File.
3 SEGMENT-2
This routine saves each record making up a 2 segment in
SAVE-ALL-SET2.
D WRITE-SET-2
This routine writes each record making up a 2 segment
from SAVE-ALL-SET2 to the Answer File.
o WRITE-SET-3
This routine controls the writing of 3 segment records to
the Answer File.
118
-------
3.2.2.4 DIAGNOSTIC MESSAGES
The following are the diagnostic messages that may be generated during
the execution of the retriever.
Message: Master File contains no records.
Meaning: The Master File input to the retriever is not good or
is a null file.
Action: Check Master File and input a valid Master File.
Message: Answer File contains no records.
Meaning: The retriever has found no records on the Master File
which qualified for retrieval.
Action: Check for a valid Master File or check the retrieval
specifications for validity if retrieval was expected.
Message: Unknown record type found record ignored.
Meaning: A record type other than 0, 1, 2, 3 was found.
Action: Check for error on Master File as indicated by
accompanying message.
Message: KEY = XXXXXXXXXXXXX DATE = XXXXX, SEG-ID = XXX.
Meaning: This message in conjunction with above message will give
information to identify bad record.
Action: Use information to locate record.
119
-------
4.0 OUTPUT PROGRAMS
There are five output programs in the EIS/P&R system, each producing
a different form of output. These five are the File List, Summary
Report, NEDS Point Source, NEDS Area Source, and NEDS Area Source
Report output programs.
120
-------
4.1 FILE LIST
This program produces a detail listing of the EIS/P&R Master File. The
Master File Is listed with one point source record and its corresponding
machine process records per page. Following each point source page, the
corresponding permits and registration records are listed with one set
of records per page. If a single plant has more than one point source
or more than one set of permits and registration records, the plant/loca-
tion information is repeated for each point source page and each permits
and registration set page. If area source data is in the same file as
point source, the point source data should be selected by the use of the
EIS/P&R retrieval capability (USER-PLANT-ID N - 'AREA SOURCE').
This program can also be used to print a detail listing of all of the re-
trieval answer files. It will list the area source records, but the file
headings will be meaningless.
Figure 4.1 illustrates selected page examples from File Maintenance Run
6 of the EIS/P&R Test package.
121
-------
STATE COUNTY AQCR PLANT 1C PAGE
19 1280 067 0010
DAlE S2G3EN1 CONTROL LCCAL " - PRINCIPAL
YEAS DAY ID EEGICN COKT20L PLANT ID CITY UTK ZONE CWNE3 CONTACT TELEPHONE PRODUCT
-12 COO OOC 1380 15 F B.Z. LIGHT T
KOM3ER OF JBOPE3TY
ESTABLISH.'IENT NAME AND ADCKESS ZIP EMPLOYEES AREA HAILING ADDRESS ZIP
IOHA GAS AND LIGHT CO. 00000.0
to
N5
File List Examples
File Maintenance Test 6 of EIS/P&R Test Package
Figure 4.1
-------
STATE
rCUHTY A^CR PIANT ID
1280 067 0025
DATE
YEAH DAY
72 CCC
SiGflEN"
ID
000
CONTROL
REGION
LOCAL
CONTROL
ESTABLISHMENT HASE AND ADDRESS
WATT tC'aES CO.
PLANT ID
ZIP
CITY UTH ZONK OWNER CONTACT
OU80 15 F D.B. DUCK P
TELEPHONE
PAGE
PRINCIPAL
PEODUCT
NUMBER OF
EMPLOYEES
PROPERTY
AREA
00000.0
HAILING ADDRESS
ZIP
DATE SEUHEUT POINT ID UTfl C008DINATES LATITUDE
YiiAH DAY. ID I!ECS. USES SIC IE? HORIZONTAL VERTICAL DEC HIN SEC
73 051 101 01 0000 00 000.0 0000.0
LONGITUDE
DEC MIN SEC
ANNUAL THHUPDT
DEC KAR JUN SEP
24 22 28 26
NORMAL OPERATING
HR/D D/WK VK/YR
24 7 50
ro
BOILEK SPACE S T A C K
CAPACITY HEAT HEIGHT CIAK TEfl? FLOW
DATA
RATE VELOCITY PLUKE FNTS COMP
C201G 00.0 03C6 11.8 03C5 0649675
tiUSJER OF POLLUTANT CONTROL
POLLUTANTS ID CCST
05 42101
43101
42602
42401
11101
CO NT
PRI
050
060
060
060
010
HOL EQUIP
SEC
000
000
000
000
000
0000
EST.1 CNTL
Ef FICIENCY
00.0
00.0
00.0
00.0
93.0
E M
ESTLKATS
COOOOOO
0000000
OCOOOOO
0565679
0006733
COMP SCHED COMP STATUS CONTROL REGULATION
YEAK MONTI! YEAR MONTH DAY ECAP REG 1 REG 2 REG 3
00
I S S I
MEASURE
001010
00 00 00 00
O N S
D ALLOWABLE UNITS
0000000
0000000
1 00 CO 000
0000000
0000007
ESTIMATE
M£THOD
0
0
0
3
3
T5ST
METHOD
DATE SEGMSI-'T SCC EEC
YEAct DAY ID I II III IV NBH ID
73 Oo4 2 01 05 2 02 CC2 CO
FDEL -
UNITS PROCESS
0437300
MAX DESIGN
KATE
SOURCE DESCRIPTION
E F
SOURCE
A
NUMBER OF POLLUTANT EMISSION
SULFUR ASH HEAT
CONTENT CONTENT CONTENT CONF SOURCE
3.00 09.1 00020 2 B
'ASH / FACTOR
E8SH FCTR ID FACTOR SULFUR UNITS
05 42101 000550.000 U 0
43101 000450.000 U C
426C2 000350.000 U 0
42401 000250.000 A- U
11101 000150.000 A U
File List Examples
File Maintenance Test 6 of EIS/P&R TEST Package
Figure 4.1 (continued)
-------
STATE COUNTY AC.CH PLANT IE
19 1280 067 0025
PAGE
SEG JE
J 0
DAT
YE. A a
74
74
74
74
74
7 '4
74
7i4
74
7U
74
74
7u
74
74
7u
74
74
I-. 7U
N> 74
*" 7.
74
7u
74
74
74
74
74
74
74
74
74
74
74
74
74
74
74
74
74
74
74
74
74
74
NT ID
1 C 1
r
BAY
2CC
2CC
2CG
20 C
2CC
^ ;- ^
2 CO
20C
2:0
20 C
2c:
200
t. G -
2CC
20 C
2CC
200
:oo
2 CC
-) r. r-
£ *. \-
2CC
200
/GO
2;-C
20C
20C
20 C
20C
20C
2CC
20 G
20C
20C
200
2 CO
£ w 0
2CO
2:0
200
2GC
200
.200
2CC
200
LINE
NUH3ER
001
C02
003
004
005
00ft
CO 7
003
009
010
0 1 1
0 12
013
G 14
015
016
C17
C13
019
020
C21
022
023
024
025
C26
027
02ti
C29
030
031
032
033
G34
035
036
037
038
039
040
CU 1
042
043
044
045
COMMENT
ENVIRONMENTAL PROTECTION
AGENCY
(40 CFR, PART 6C)
STANDARDS OF PERFORMANCE FOR SEW
STATIONARY SOURCES
PROPOSED STANDARDS FOR SEVEN SOURCE
CATEGORIES
SAY a, 1973.
PURSUANT TC SECTION 111 OF THE CLEAN AIR ACT, T!!E.\ DHIN ISTHATC3 PROPOSES HEREIN STANDARDS Or
PERFORMANCE FOR NEK AND MODIFIED SCUPCES WITHIN SEVEN CATEGORIES OF STATIONARY SOURCES: ASPHALT
CONCRETE PLANTS, PETROLEUM HEFINEKIES, STORAGE VESSELS FOR PETROLEUM LIQUIDS, SECONDARY LEAD SHELTERS,
SECONDARY iRASS AND ERCNZS INGOT PRODUCTION PLANTS, AND SEWAGE TREATMENT PLANTS. THE ADMINISTRATOR
ALSO PROPOSES AMENDMENTS TO THE GENERAL PROVISIONS OF 40 CFR, PART 6G, PUBLISHED OK DEC£"3E:< 23, 1971
(2'j ?R 24J76) , AMD 1C TiiE APPENDIX, ''TEST ,M c-TliCLS, TO THIS PART. IN A SEPARATE PUBLICATION, OM
MA'i 2, 1973 (3d FR 1082C), THE AuMIN 1ST r! ATC-h PROPOSED AMENDMENTS TO THE GENERAL PROVISIONS TO
FhESCRIEE PROCEDURES FOR DEALING WITH EMISSIONS WHICH EXCEED STANDARDS DURING 3TARTOPS, SHUTDOWNS, OR
MALFUNCTIONS. THE GENERAL PROVISIONS APPLY TC ALL STANDARDS OF PERFORMANCE FG3 NEW OK MODIFIED
SOURCES, BOTH THOSE STANDARDS PROMULGATED TO DATE (35 FR 24d76) AMD THOSE TO BE PROMULGATED IN THE
F U T U P. E .
AS PrESCEIbED 2Y SECTION 111, THIS PROPOSAL OF STANDARDS ViAS PRECEDED BY TiiE ADMINISTRATOR'S
DETERMINATION THAT THESE SEVEN CATEGORIES OF SOURCES CONTRIBUTE SIGNIFICANTLY TC AIR POLLUTION HHICH
CAUSES CD CONTRIBUTES TO THE ENEANGERMENT Or PUBLIC HEALTH OH WELFARE AKD BY HIS PUBLICATION OF A LIST
OF THESE CATEGORIES CF SCUi-CES IN THIS ISSUE OF THE FEDERAL REGISTER.
T:it PROPOSED STANDARDS APPLY TO A SELECTED SOURCE OK SOURCES WITHIN EACH CATEGORY AND TO SELECTED
AIR POLLUTANTS. FOF. EXAMPLE, THE STAND-A Ri: PERTINENT TO IRON AND STEEL PLANTS APPLIES TO THE EMISSION
Or PAuTICuLATE MATTEL FPCM EASIC OXYGEN PPOCESS Fil TiN ^C E5.
TH; JA:J:S FOK THE PROPOSED STANDARDS INCLUDE THE RESULTS OF ^OUHCE TESTS CONDUCTED BY THE
::C::;-.E:.!.\L.
ENCY AND LOCAL AGENCIES, DATA DERIVED F?.O:I AVAILABLE TECHNICAL LITERATURE,
INFORMATION GATlitTiSC DURING VISITS TO .POLLUTION CONTROL AGENCIES AND PLANTS IN THE UNITED STATES AND
ASc.CAL, ANC COMMENTS AND SUGGESTIONS SOLICITED FRCS EXPERTS. IN EACH CASE, THE PROPOSED STANDARD
REFLECTS IriE DEG.R 2S-GF- EKKI 3S 1C i, HHITATION ACIEVAE-LE THKCUGh TilE APPLICATION OF THE BEST SYSTEM OF
EtiKISSICN DEDUCTION WHICH TAKING INTO ACCOUNT THE COST OF ACHIEVING SUCH REDUCTION, THE ADMINISTRATOR
HAS DETERMINED HAS BEEN ADEQUATELY DEMONSTRATED, j ACKGivOUN D INFORMATION KKICH PRESENTS TilE FACTORS
CCNSID.'.FED IN AliRIVING AT THE PROPOSED STANDARDS INCLUDING COSTS AND SUMMARIES OF TEST DATA, IS
AVAILABLE FREE CF CHARGE F30;1 EI1ISS1UN STANDARDS AND ENGINEERING DIVISION, ENVIRONMENTAL PROTECTION
AGENCY, HtSEArlCK TrflANGLE PARK, r.'.C. 27711, ATTENTION: HR. DON R. GOODWIN. IT IS EM PHAS I2ED. T H AT THE
COSTS ARE CONSIDERED REASONABLE FOH NEW AND SUBSTANTIALLY CODIFIED SOURCES AND THAT IT IS NOT IMPLIED
THAI THE SAME COSTS APPLY 1C THE RETROFITTING C? EXISTING SOURCES. RETROFITTING EXISTING SOURCES TO
ACHIEVE THE FROPCSED EMISSION LIMITATIONS KOULC IN SOME CASES COST MUCH MORE.
IHE ENVIRONMENTAL PROTECTION AGENCY HAS ADOPTED A POLICY OF EXPRESSING STANDARDS IN THE METRIC
RATHER THAN ENGLISH SYSTEM. ALTHOUGH TECHNICAL TERM IN TEST METHODS 10 AND 11 ARE EXPRESSED IN METRIC
UNITS, MANY C? THOSE IN TEST EETHCDS 1 THROUGH 9 A5E EXPRESSED IN ENGLISH UNITS. TEST RESULTS DERIVED
THROUGH CALCULATIONS IN TEST METHODS 1 THROUGH 9 MUST BE CONVERTED TO METRIC UNITS TO AGREE KITH THE
FOR;-! OF THE £RC?CSED STANDARDS.
OF SPECIAL INTEREST AKfc THE REGULATIONS CONCERNING HYDROCARBON EMISSIONS FROM STORAGE VESSELS FOR
File List Examples
File Maintenance Test 6 of EIS/P&R Test Package
Figure 4.1 (continued)
-------
5IATE CCUiNTY A^CK FLAM ID
19 1230 067 C025
PAGE
SEGMENT 1C
3 01 01
LJATE LINE
YEAH SAY' SUK3ER
74 200 046
74 2GC C47
74 200 043
74 2CC 049
74 20C 050
74 2CO 051
74 2CC 052
. coaasNT
PETKOLSUn LIQUIDS (SU3PT. K) , AND THE ALLOWABLE LEVEL OF PAKTICULATE EMISSIONS FROM ASPHALT BATCH
PLANTS (SUEPT. I).
AS EXPLAINED IN TECHNICAL REPORT 9,. EMISSIONS OF HYDROCARBONS FROH STORAGE VESSELS FOR PETROLEUM
LIQUIDS AKE SIGNIFICANT. MCST 01 THE HYEBCCA330N EMISSIONS ASE RELEASED DUHING STORAGE AND DURING TASK
FILLING. SATES CJ EMISSIONS ARE DEPENDENT ON A VARIETY OF FACTORS SUCH AS THE PHYSICAL PHOPEF.TISS OF
THE LIQUID 3EI.NG STORED, CLIMATIC AND METEOROLOGICAL CONDITIONS, AND THE SIZE, TYPE, COLOE, AND
CONDITION CF THE TANK.
NJ
U1
File List Examples
File Maintenance Test 6 of EIS/P&R Test Package
Figure 4.1 (continued)
-------
STATE CCUNTY AJCK PLANT ID
IS 12dC 067 0060
PAGE
DATE
YEA3 OAY
72 COO
SEGMENT
ID
000
CCNTHOL
hEGICN
LCCAL
CONTROL
PLANT ID
CITY UTH ZONE OWNER CONTACT
1260 15 F E.E.ELECTRIC
.TELEPHONE
PRINCIPAL
PRODUCT
ESliSLISHKSKT NAi-'.c f,SD ADDhESS
SHOCKING EC»E? CO.
ZIP
NUMBER OF
EMPLOYEES
PROPERTY
AP.EA
OCOGO.O
HAILING ADDRESS
DATE SEGMENT POINT ID UTH C003DINATES LATITUDE LONGITUDE ANNEAL THHUPUT
YEAR DAY ID NEDS USEK SIC IPP KCHIZCNTAL VERTICAL DEC !IIN SEC DEG MIN SEC DEC MAR JUN SEP
72 OOC 101 01 CCOO 00 000.0 0000.0 00 22 55 23
Sir. SPACE
CAPACITY HEAT
OC572 00.C
STACK DATA
HEIGHT DIAK ISM? FLC« RATE VELOCITY PLUMS PNTS
012d 07.6 C320 C1830CO 0000
CCKP SCHED
CCKP YEAR KO:;TH
00 00
COMF STATUS
YEAR MONTH DAY
CO CO 00
ZIP
NORMAL OPERATING
HR/D D/«K WK/YR
24 7 45
CONTROL REGULATION
ECAP REG 1 REG 2 REG 3
NUiluiR OF
POLLUTANTS
05
POLLUTANT CCt-TnOL CONTROL EQ.UIP ESTM CNTL
ESISSIONS
ID
42602
42^01
11 1C 1
43101
CCS
tai SEC
060 . 000
060 COO
COD COO
060 000
C60 OOC
EFFICIENCY ESTIHAT2 MEASURED ALLOWABLE UNITS
00.
00.
65.
00.0
OOOCCOO
CC22694
0003971
0000020
0000000
0000000
0000000
0000000
ocooooo
A ~" ^ ° T /"* ">
U u « u 0 - j
ESTIMATE TEST
METHOD
0
3
3
0
0
DATE SEGMENT SCC EEC
YEAS DAY IS I II III IV NBE 1C
72 COO 2 01 05 2 02 C02 01
FUEL -
UNITS PROCESS
0069320
MAX DESIGN SULFUR ASH -HEAT
RATE CONTENT CONTENT CONTENT CONF SOURCE
3. 15 10.5 00023 2 B
SOU.iCE DESCRIPTION
NUMBER OF POLLUTANT EMISSION
ASH / FACTOR
SOURCE ESSN FCTR ID FACTOR SULFUR ON ITS
A 05 42401 000200.000 S U
11101 OCC100.000 S U
42101 COC5CO.COO S U
43101 0004 CO.OOC S U
42602 0003CO.OOO S U
DATE SEGMENT SCC SEC
YEAH DAY ID I II III IV NEC ID
72 OOC 2 01 1C 2 C2 C06 01
SOU3CE DESCRIPTION
E F
SOURCE
A
FUEL -
UNITS PROCESS
C001354
MAX DESIGN
HATE
NUKBEfi OF POLLUTANT EMISSION
SULrUK ASH HEAT
CONTENT CONTENT CONTENT CONF SOURCE
6.34 00.0 00999 2 B
ASH / FACTOR
EM3N FCTH ID FACTOR SULFUR UNITS
05 11101 OCC100.000 S U
421C1 OOC500.COO S U
43101 0004CO.COC S U
42602 0003CO.OOO S U
424C1 000200.COO £ U
File List Examples
File Maintenance Test 6 of EIS/P&R Test Package
Figure 4.1 (continued)
-------
STATE COUNTY AgC?. PLANT ID
19 1280 067 0060
PAGE
10
NJ
DATE
YEAS DAY
72 000
SEGMENT
IL;
COO
CCNTBCL
BEGICN
LOCAL
COMTSOL
ESTABLISHMENT NAME AND ADDRESS
SHOCKING r G X E S C C.
PLANT ID
ZIP
CITY UTM ZONE CHNEH CONTACT
1260 15 F E.E.ELECTRIC
TELEPHONE
PRINCIPAL
PRODUCT
NUMBER OF
EMPLOYEES
PROPERTY
AREA
00000.0
BAILING ADDRESS
ZIP
DATE SSGKENT POINT ID 'UTM COORDINATES LATITUDE LONGITUDE ANNUAL THRUPUT NORMAL OPERATING
YEA3 DAY ID NtDS USER SIC IPP HCKIZCNTAL VERTICAL DEC MIN SEC DEC BIN SEC DEC KAR JUK SEP HR/D D/WK WK/YH
74 200 110 01 0000 00 OCO.O 0000.0 24 22 28 26 24 7 50
EOILES SPACE
CAPACI-IY dEAT
02010 00. C
STACK DATA
HEIGHT DIAK TEHF FLOW RATE VELOCITY PLUMS "PUTS
C30fa 11.8 03C5 0649675 0000
CORP SCHED
CCMP YEAR MONTI!
00 00.
COMP STATUS
YEAR MONTH DAY
00 00 00
CONTROL REGULATION
ECAP REG 1 REG 2 REG 3
NUSdEh OF POLLUTANT CCKTHOL CCHTEOL EQUIP ESTfl CNTL
POLLUTANTS ID CCST
05 U2401
426.C2
43101
42101
11101
EiJISSIONS
ESTIMATE TEST
E.i
-------
STATE COUNTY ACCE PLANT ID PAGE 11
19 12dO 067 0060
3
3 10 01
DATE LINE COHHEST
2 EM DaY NUKbEiJ
74 2CC 001 STANDARD FCF SULFUR DIOXIDE
74 2Cfl C02 PfiBAGRAPH TC 3£ INSERTED
N>
00
File List Examples
File Maintenance Test 6 of EIS/P&R Test Package
Figure 4.1 (continued)
-------
4.1.1 ORGANIZATION
The following are the main modules of the File List program:
o MAIN-LOOP
This routine is performed by the ROOT-SEGMENT until the end of file
on the Master File is reached. This routine determines the record
type and performs the appropriate subroutine to print that record
type.
o STAT-PRINT
This routine formats and prints the record counts for each type of
record printed.
Figure 4.1.1 illustrates the organization of PXFILPRT.
129
-------
PXFILPRT Organization
Figure 4.1.1
130
-------
4.1.2 COMMUNICATION AND DATA FORMATS
The following COBOL WORKING-STORAGE fields are the major control flags
internal to File List.
o ZERO-PRINT-SWITCH - Used by the MAIN-LOOP subroutine to determine
if a zero record has been printed for the current one record (ZERO-
PRINT-SWITCH « 1) or if the zero record has yet to be printed
(ZERO-PRINT-SWITCH -0).
o EOF-SWITCH - Used by the ROOT-SEGMENT to determine if any of the
subroutines have read the last record on the Master File (EOF-
SWITCH = 1).
131
-------
A.1.3 ROUTINES
The following are Internal subroutines of the File Print program.
o ZERO-DETAIL-BUILD
Formats the Information from the plant segment.
o ZERO-PRINT-RTN
Outputs the Information from the plant segment.
o ONES-PRINT-RTN
Formats and outputs the information from the point source segment.
o TWOS-PRINTS-RTN
Formats and outputs the information from the machine process
segment.
o THREES-PRINT-RTN
Formats and outputs the information from the permits and regis-
tration segment.
132
-------
4.1.4 DIAGNOSTIC MESSAGES
There are no diagnostics generated by this program.
133
-------
4.2 SUMMARY REPORT
The EIS/P&R Summary capability is intended to be a tool for Air Pollution
Control Agencies. It is used with the EIS/P&R Master File Sorter capa-
bility; i.e., the Master File Sorter program will select data and sort it
in order to produce the summary.
The following data values are summed:
1 - Source Count - This is a sum of sources emitting a pollutant.
2 - Estimated Emissions - This is a sum of estimated emissions.
3 - Actual Emissions - This is a sum of actual (measured) emissions.
4 - Allowable Emissions - This is a sum of allowable (standard) emis-
sions.
5 - Control Equipment Cost - This is a sum of the cost for the con-
trol equipment.
A grand total will be provided only for Control Equipment Cost. A number
(any combination of any five data fields in the point and stack data) of
summaries can be produced. There can be from one to five levels of totals.
These are specified by supplying simple MOVE statements.
Example:
MOVE AQCR TO BREAK-ONE
The field to be summed is moved into a system control field. There are
five such control fields, each corresponding to the five levels of totals.
The control fields are:
BREAK-ONE Lowest level of total
BREAK-TWO Next higher level
BREAK-THREE Next higher level
BREAK-FOUR Next higher level
BREAK-FIVE Highest level of total
134
-------
The data must be sorted to correspond to the Summary being produced.
This is accomplished by executing the EIS/P&R Master File Sorter capa-
bility to produce the Summary input data. Note that because emissions
are by pollutant, one of the sorts must be pollutant identification to
produce a meaningful summary.*
o Example:
To produce a summary of emissions by SIC within a county, the fol-
lowing sort and summary statements must be provided by the user.
Master File Sorter
$$SORT
SIC A
COUNTY A
POLLUTANT-ID A
$$END
(Major to Minor)
Summary
MOVE MSTR-POLLUTION-ID (EM-SET-INDEX) TO BREAK-ONE.
MOVE MSTR-COUNTY TO BREAK-TWO.
MOVE MSTR-SIC TO BREAK-THREE.
o Example 2:
To produce a summary of emissions by PLANT within SIC within CITY
within COUNTY, the following sort and summary statements must be
provided.
* The only meaningful summary totals are those at the POLLUTION-ID level.
If all of the data items are for the same pollutant, then all totals
are meaningful. If two or more pollutants have been selected, only the
totals up to the level for POLLUTION-ID are meaningful. For example,
if POLLUTION-ID were at BREAK-THREE level, BREAK-ONE, BREAK-TWO, and
BREAK-THREE level sums would be meaningful, but BREAK-FOUR and BREAK-
FIVE sums would not be meaningful.
135
-------
Master File Sorter
$$SORT
COUNTY
CITY
SIC
PLANT
POLLUTANT-ID
$$END
A
A
A
A
A
Summary
MOVE MSTR-POLLUTION-ID (EM-SET-INDEX) to BREAK-ONE.
MOVE MSTR-PLANT TO BREAK-TWO.
MOVE MSTR-SIC TO BREAK-THREE.
MOVE MSTR-CITY TO BREAK-FOUR.
MOVE MSTR-COUNTY TO BREAK-FIVE.
The summary report can be personalized, i.e., certain page header and
column header information can be provided by the user. This information
is provided on control cards. The information can be changed each time
the summary is executed.
Control cards for providing information to the summary report are de-
scribed below.
Card 1
Cols
1-3
6-37
38-69
71-78
Content
OP1
Line 1 of Report Title
Line 2 of Report Title
Date
Default
EMISSIONS INVENTORY SYSTEM
STANDARD SUMMARY OUTPUT
136
-------
Card 2
Cols
1-3
6-37
38-69
Content
OP 2
From Organization
To Organization
Default
AIR POLLUTION CONTROL AGENCY
INFORMATION
Card 3
Cols
1-3
6-13
14-21
22-29
30-37
38-45
46-53
54-61
62-69
. Content
OP3
Part 1 of Column 1 Header
Part 2 of Column 1 Header
Part 1 of Column 2 Header
Part 2 of Column 2 Header
Part 1 of Column 3 Header
Part 2 of Column 3 Header
Part 1 of Column 4 Header
Part 2 of Column 4 Header
Default
BREAK
FIVE
BREAK
FOUR
BREAK
THREE
BREAK
TWO
Card 4
Cols
1-3
6-13
14-21
Content Default
OP4
Part 1 of Column 5 Header BREAK
Part 2 of Column 5 Header ONE
The summary Report Control Cards are used to "personalize" this report.
The report header defaults as follows:
AIR POLLUTANT EMISSIONS SUMMARY
EMISSIONS INVENTORY SYSTEM FROM AIR POLLUTION CONTROL AGENCY
STANDARD SUMMARY OUTPUT TO INFORMATION
BREAK BREAK BREAK BREAK BREAK
FIVE FOUR THREE TWO ONE
137
-------
The summary statements (MOVE) are actually compiled into a program and
executed. It is this program which reads the control cards (if any)
and produces the summary report.
A summary program can be temporary (for adhoc reports) or permanent (for
standard reports); i.e., the program can be compiled, used, and deleted
from the system or it can be compiled and stored on a library to be used
over and over again. These options are illustrated by Figures 4.2-1
through 4.2-3.
Figure 4.2-4 illustrates an example of a Summary Report and its corres-
ponding specifications. This example is taken from AD HOC Run 1 of the
EIS/P&R Test Package.
138
-------
Data Flow
Source
Library
(Rase
Summary
Deck
LINKEDIT
JCL
Move
Statements
COBOL JCL
(including member name for
Load Library)
PERMANENT SUMMARY REPORT GENERATION
Figure 4.2-1
139
-------
Data Flow
Master
File
Sort Control
Cnrds
EIS/P&R
Master File
Sorter1
Package
1
1
Answer
File
Summary
Control
1 Cards
V
BXSUMARY
Program
>
Summary
Report
Deck
Summary Con-
trol Cards
BXSUMARY JC1.
['Master File
I Sorter JC!.
Sort Control
Cards
JXSRTCEN JCL
PERMANENT SUMMARY REPORT EXECUTION
Figure 4.2-2
140
-------
Data Flow
Deck
Summary Control Cards
TBXSUHARY JCL
'Link EH it JCL
I Mnvp
( COBOL JCL
fSorter JCL
'Sort Control |
Cards
JXSRTGEN
JCL
TEMPORARY SUMMARY REPORT GENERATION AND EXECUTION
Figure 4.2-3
141
-------
//STEP1 EXEC PNRSORTR
//COMPILE.INPUT DD *
$$SORT
STATE A
COUNTY A
AQCR A
PLANT-ID A
POLLUTANT-ID A
$$END
//STEP2 EXEC PNRBREPT,
// MSTRFIL=STSORTAA
//COMPILE.INPUT DD *
MOVE MSTR-POLLUTION-ID (EM-SET-INDEX) TO BREAK-ONE.
MOVE MSTR-PLANT-ID TO BREAK-TWO.
MOVE MSTR-AQCR TO BREAK-THREE.
MOVE MSTR-COUNTY TO BREAK-FOUR.
MOVE MSTR-STATE TO BREAK-FIVE.
//SUMMARY.INPUT DD *
OP1 CDHS EIS/P&R SUBSYSTEM DETAILED SUMMARY REPORT 01/03/75
OP2 DOCUMENTATION EXAMPLE POTENTIAL EIS/P&R USERS
OP 3 STATE COUNTY AQCR PLANT
OP4 POLL-ID.
TEMPORARY SUMMARY REPORT GENERATION AND EXECUTION
SAMPLE JOB STREAM
Figure 4.2-3.1
-------
iSSOF.T
S7AI2 A
CCC:;TY A
AVC3 A
FLANT-ID A
rOLLuIANI-ID A
S S - :< 3
OJ
Summary Report Example
AD HOC Test 1 of EIS/P&R Test Package
(SORT Specifications)
Figure 4.2-4
-------
POLLUTANT-ID = POLLUTANT-ID
Summary Report Example
AD HOC Test 1 of EIS/P&R Test Package
(Retrieval Request)
Figure 4.2-4 (continued)
-------
MJV7 ,«STR-°OLL'JT!C.N -!D llrM S ?T-INDEX ). .TO BREAK-ONC.
M.1VF MSTP-PH'IT-tO TO RPC4K-TWO.
_
'MV; MST^-COUNT'Y "to B=54K-=oup"
MTV: M5Ta-STAT= TT BP.FAK-FIVE.
Ul
I
Report-- Exampie
AD HOC Test 1 of EIS/P&R Test Package
(Summary Specifications]
- -Figure 4 r2--4 -.f
-------
OFT Eis/FSF. INSI/.LLATIC:; TEAM AC HOC DSHCHSTKATION 03/09/73
c?2
o?3 STATE CCU:;TJL AQCH PLANT
Summary Report Example
AD HOC Test 1 of. EIS/P&R Test Package
(Report Headers)
Figure 4.2-4 (continued)
-------
AIB POLLUTANT EMISSIONS SUMMARY
03/09/7
EIS/PSR INSTALLATION TEAH
AD HOC DIMCNST6ATICN
FP.CH AIR POLLUTION COSTHOL AGENCY
FOH INFORKATION
STATE
CCUNTY ACCR
PLANT
0025
0060
9999
067
POLL-ID.
11101
42101
42401
42602
13101
11101
U2101
42UC1
<*2602
U3101
11101
1*2101
42401
U2602
431C1
11101
#
*
*
*
*
**
*
*
*
*
*
**
*
*
*
*
*
**
**<
*
NUMBER
SOURCES
1
1
1
1
1
5
3
3
3
3
3
15
14
14
11*
It*
14
70
90
2
ESTIMATES ACTUAL ALLOWABLE CONTROL
EMISSIONS EMISSIONS EMISSIONS EQUIPMENT COST
1,1*92
0
149,190
0
0
150,682
3,971
0
22,694
9
1
26,675
983,31*9
360,156
1 ,880,369
147,105
149,521
3,520,500
3,697,857
1,890
0
0
0
10, 101
0
10,101
0
0
0
0
0
0
0
0
0
0
0
0
10,101
d
7
0
0
0
0
7
0
300
20,000
50,000
400,000
470,300
0
0
0
0
0
0
470,307
0
$.00
$.00
$.00
$.00
S.OO
$.00
$.00
$.00
$.00
$.00
$.00
$.00
$.00
$.00
$.00
$.00
$.00
$.00
$.00
$.00
Summary Report Example
AD HOC Test 1 of EIS/P&R Test Package
Figure 4.2-4 (continued)
PAGE
-------
AIR POLLUTANT EMISSIONS SUMMARY
03/09/7
tlS/PGH INSTALLATION TEAM
AD ilOC DtlHCNSTBATICN
STATE
CCUI.Ti
FLA NT
0050
oo
9999
089
123C
0025
FROM AIR POLLUTION CONT30L AGENCY
F03 INFORMATION
POLL-ID.
421C1
42401
42602
43101
11101
42101
42401
42602
43101
11101
42101
42401
42602
43101
11101
NUKB ER
SOURCES
* . 2
* . 2
« 2
* 2
** 10
* 13 .
* 13
* 13
* 13
* 13
** 65
*** 75
**** 165
* 1
* 1
* 1
* 1
* 1
** 5
* 2
ESTI1ATES
EMISSIONS
0
18,904
C
0
20,794
1 ,428,983
172,874
1,076,954
2,753,636
137,240
5,569,692
5,590,486
9, 288,343
262
43,613
17,447
26, 171
34,894
122, 392
732
ACTUAL
EMISSIONS
0
0
0
0
0
0
0
0
0
0
0
0
10,101
0
0
0
0
0
0
o.-
ALLOWABLE CONTROL
EMISSIONS EQUIPMENT
0
0
0
0
0
0
0
0
0
0
0
0
470,307
0
0
0
0
0
0
0
COST
$.00
$.00
$.00
$.00
$.00
$.00
$.00
$.00
$.00
$.00
$.00
$.00
$.00
$.00
$.00
$.00
$.00
$.00
$.00
$.00
Summary Report Example
AD HOC Test 1 of EIS/P&R Test Package
Figure 4.2-4 (continued)
PAGE
-------
Ala POLLUTANT EMISSIONS SUHMA3Y
03/09/7
tIS/FSH INSTALLATION TEAM
AC HOC DEKCS5T&ATICN
FROM AIE POLL0TION CONTROL AGEKCY
FOE INFORHATIOS
STATE
COUiNTY
AQCR
PLANT
0075
*>
VO
0125
089
2230
0275
POLL-ID. NUMBER ESTIMATES ACTUAL ALLOWABLE CONTROL
SOURCES EMISSIONS EMISSIONS EKISSIONS EQUIPMENT COST
42101 *
42401 *
42602 *
43101 *
**
11101 *
42101 *
42401 *
42602 *
43101 *
* *
*,*
* * * *
11101 *
42101 *
42401 *
42602 *
43101 *
.**
11101 *
2
2
2
2
10
1
1
1
1
1
5
20 '
20
1
1
1
1
1
5
1
3,660
34
52
69
4,547
928
0
9,277
0
0
10,205
137, 144
137,144
0
0
0
0
0
0
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
b
0
0
0
0
0
0
0
0
0
0
0
0
0
. 0
0
0
0
0 .
0
0
$.00
$.00
$.00
$.00
$.00
$.00
$.00
' $.OC
$.30
$.00
$.00
$.00
$.00
$.00
$.00
$.00
$.00
$.00
$.00
$.00
Summary Report Example
AD HOC Test 1 of EIS/P&R Test Package
Figure 4.2-4 (continued)
PAGE
-------
POLLUTANT EMISSIONS SUMMARY
03/C9/7
ZIS/PSS 1NSTAI.LATIC:; TEAM
AD HOC DEMONSTRATION
FROM AIR POLLUTION COUTROL AGEKC?
FOa INFORMATION
STATE
CO'JMY
AQCB
PLANT
1401
1600
9999
092
POLL-ID.
42401
42602
43101
11101
42101
42401
42602
43101
11101
42101
42401
42602 '
43101
11101
42101
42401
NUK3I3 ESTIMATES ' ACTUAL ALLOWABLE CONTfiOL
SOUiiCHS EMISSIONS EMISSIONS EMISSIONS EQUIPMENT COST
* 1
* " 1
* 1
** n
* 3
* 3
* 3
* 3
* 3
** 15
* 8
* 6
* 8
* 8
* ' 8
** 40
*«* 64
* 7
* 7
* 7
0
0
0
8
1,428
5,839
2,356
67,025
4,711
8 1 ,. 4 1 0
54,054
143,909
90,538
15,89C
51,522
355,913
437,331
68,890
3,396
164,908
0
0
0
0
0
0
0
0
0
. 0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
250
0
0
37,500
0
37,750
0
0
0
0
0
0
37,750
0
0
0
S.OO
s.oo
$.00
$.00
s.oo
s.oo
$.00
s.oo
' S.OO
$.00
$.00
$.00
$.00
s.oo
3.00
s.oo
$.00
s.oo
s.oo
$.00
Summary Report Example
AD HOC Test 1 of EIS/P&R Test Package
Figure 4.2-4 (continued)
PAGE
-------
AIK POLLUTANT EMISSIONS SUMMARY
EIS/ES3 INSTALLATION ISAM
AD HCC DHHCNSIDAIICH
03/09/7
FROM AIR POLLUTION CONTROL AGENCY
FOa INFOHMATION
STATE
COUNTY AQCS
ELAN1
9999
105
312C
19
POLL-ID.
42602
a 3 101
NU;1BE3
SOURCE?
* 7
* 7
** 35
*** 35
**** 99
***** 28U'
ESTIMATES ACTUAL ALLOWABLE COSTEOL
EMISSIONS EMISSIONS EMISSIONS EQ'JIPKENT COST
7,797
0
244,991
244,991
632,322
10, 107,809
0
0
0
0
0
10,101
0
0
0
0
37,750
508,057
S.OO
$.00
S.OO
$.00
$.00
$.00
TOTAL
Ul
Summary Report Example
AD HOC Test 1 of EIS/P&R Test Package
Figure 4.2-4 (continued)
$.00
PAGE
-------
4.2.1 ORGANIZATION
The report summary capability consists of the following routines:
o ROOT-SEGMENT - This is the highest level routine. It opens and
closes data sets, initiates and terminates the COBOL Report Writer,
and controls processing of the summary report.
o CTL-READ-INIT - This is a second level routine which controls the
reading and initialization of the summary header control cards.
o CTL-CARD-LOOP - This is a third level routine which reads control
cards and controls processing of the control cards.
o ; CTL-CARD-OP1 - This is a fourth level routine which processes the
"OP1" control card.
o CTL-CARD-OP2 - This is a fourth level routine which processes the
"OP2" control card.
o CTL-CARD-OP3 - This is a fourth level routine which processes the
"OP3" control card.
o CTL-CARD-OP4 - This is a fourth level routine which processes the
"OP4" control card.
o GEN-SUM-REPORT - This is a second level routine which controls
reading of the EIS/P&R file data and preparation of that data.
It also "drives" the portion of the Report Writer which generates
the summary.
o READ-ZERO-ONE-REC - This is a third level routine which reads an
EIS/P&R file record and moves it to working storage.
152
-------
o FIELD-INIT - This is a third level routine which ensures that all
accumulated values are numeric.
o SET-BREAK-VALUES - This is a third level routine which sets the
user-specified break control values.
Figure 4.2.1 illustrates the organization of BXSUMARY.
153
-------
1
r
CNTL-READ-
IN1T
1
r
EIS-SUMMARY
X
r
GEN-SUM-
REPORT
1
r
Tprminafp
EIS-SUMMARY
BXSUMARY Organization
Figure 4.2.1
154
-------
4.2.2 COMMUNICATION AND DATA FORMATS
The following COBOL WORKING-STORAGE section fields are the major control
and data areas internal to the Summary Report program:
o EISFILE - This is an input data set and contains the sorted Answer
File.
o SUMCARDS - This is an input data set and contains the summary header
control cards.
o CARDLOG - This is an output data set for logging the summary header
control cards.
o SUMFILE - This is an output data set for the summary report.
The summary program uses the following data/communication areas:
o OLD-CONTROL - This array resides in the file section and defines the
EIS/F&R record key.
o OLD-MASTO - This array resides in the file section and defines the
EIS/P&R zero segment.
o OLD-MAST1 - This array resides in the file section and defines the
EIS/P&R one segment.
o OLD-MAST2 - This array resides in the file section and defines the
EIS/P&R two segment.
o BREAK-ONE - Lowest level control value in working storage.
BREAK-TWO - Second lowest level control value in working storage.
BREAK-THREE - Third lowest level control value in working storage.
155
-------
BREAK-FOUR - Fourth lowest level control value In working storage.
BREAK-FIVE - Highest level control value in working storage.
o CTL-CRD-ONE - This array resides in working storage and describes
control card one.
o CTL-CRD-TWO - This array resides in working storage and describes
control card two.
o CTL-CRD-THREE - This array resides in working storage and describes
control card three.
o CTL-CRD-FOUR - This array resides in working storage and describes
control card four.
o EMT-SET-INDEX - This data name must be used as a subscript when
referring to any data item in the repeating portion of the record.
For example, if Primary Control Equipment is to be the second
control break, the statement would be written - MOVE MSTR-PRIMARY
(EM-SET-INDEX) TO BREAK-TWO.
o MSTR-FIXED-SEGMENT - This array resides in working storage and
describes the EIS/P&R zero record.
o MSTR-POINT-SOURCE - This array resides in working storage and
describes the EIS/P&R one record.
o SUM-BUCKETS - This array resides in working storage. It defines
temporary storage for values being accumulated.
156
-------
A.2.3 ROUTINES
COBOL Report Writer
The COBOL Report Writer section has seven control fields. These
are in order of level (high to low):
1 - Final
2 - Control-Separate
3 - Break-Five
A - Break-Four
5 - Break-Three
6 - Break-Two
7 - Break-One
It has a page heading and a page footing. There is a detail line, without
output, to trigger the summary accumulation. There is a heading control
on CONTROL-SEPARATE which can be used to create a separation line (should
only be used when all five breaks are specified). There are control foot-
ings for each break.
157
-------
4.2.4 DIAGNOSTIC MESSAGES
There are no diagnostics generated by this program.
158
-------
4.3 NEDS POINT SOURCE OUTPUT
The NEDS Point Source Output program converts the records on an EIS/P&R
file to NEDS format point source records. Each EIS/P&R record is con-
verted as follows: the type 0 record produces a PI record; the type 1
record produces P2, P3, P4 and P5 records; each type 2 record produces a
P6 record; and each type 3 record is ignored. If a single plant (type 0
record) has more than one point source (type 1 record), the PI record is
repeated for each new type 1 record. If area source data is in the same
file as point source data, the point source data should be selected onto
a separate file by use of the EIS/P&R retrieval capability (USER-PLANT-
ID N - 'AREA SOURCE').
The type of P cards to be produced are determined by an input control card
specifying add, change or delete. Therefore, a control card with 'A' in
card column 1 will cause AP cards to be produced. A 'C' in card column 1
will cause CP cards to be produced, and a 'D1 in card column 1 will cause
DP cards to be produced. Default (no control card) will be 'C1.
EPA requires a NEDS Report semiannually. It is not currently possible to
automatically prepare a complete NEDS Report using EIS/P&R. By using cer-
tain features of the system however, manual intervention can be kept to a
minimum. The following procedure is recommended to assist state and local
agencies in preparation of reports to EPA.
1. As new facilities are added to the Master File, save the EIS/P&R
transaction cards. When time comes to prepare the NEDS submlttal
for new sources, these ADD cards may be used to create a "tem-
porary" file for conversion to NEDS format. This eliminates
maintaining a list of new sources and retrieving them from the
Master File. To avoid retrieving these facilities in a later
step, the user must use the data of the last NEDS report or an
159
-------
earlier date for the segment dates. NEDS only requires the
year of record and is not interested in the complete date.
2. Maintain a manual list by plant and point ID of changes to
"Points with Common Stack" field and of facilities having
a change of SCC number. For these facilities it is necessary
to manually create a NEDS DELETE card to go with the ADD cards
generated by the EIS/P&R to NEDS conversion program.
3. Retrieve all facilities that have changed since last NEDS sub-
mittal.
4. Retrieve from the Answer File created in Step 3 the facilities
with changes to PWCS or changes to SCC codes. These records
then should be processed by the NEDS Point Source Output pro-
gram using an ADD control card. The required NEDS ADD cards
are selected from the output and matched with delete cards
manually created in Step 2 for the NEDS submittal.
5. The remaining records on the Answer File created in Step 3 are
then retrieved and converted to CHANGE cards using a "C" con-
trol card. These cards form the remainder of the NEDS submit-
tal.
The data flow and run deck setup are illustrated in Figure A.3-1.
Figure 4.3-2 illustrates an example of the output from the NEDS Point
Source Output program along with the retrieval request generating the
Answer File prior to the output. The example is taken from AD HOC Run 3
of the EIS/P&R Test package.
160
-------
Data Flow
Deck
Control Card
NEDS Point Source JCL
Retrieval JCL
(optional)
NEDS POINT SOURCE OUTPUT - DATA FLOW AND DECK
Figure 4.3-1
161
-------
$-sSEL£CT
ISE^-PLANT-IC N = 'AREA SCLPCE' ANC
(ATE-CF-O-PICCSC > '"(2CC11 . CS
[ATE-CF-1-SrCnPS > "73CQ11
11 E N C
NEDS Point Source Output Example
AD HOC Run 3 of EIS/P&R Test Package
(.Retrieval Request)
Figure 4.3-2
-------
EIS 7C NECS FOTiNT SCUTCH CCNVEsSICN ^FCGSAM PiGE
iPC MSSI'JC tR INVJLIT - n-.'.NCF CFT!"" fiSSiJ.-cC
cc25:AT ;i5?3XAT: F'-W-F rc. c.i. C'.ICK FF CFI
1912.-'1067Ji-25':i7j.:CCCOCtCr.CC'.'CClo:0£112C3CSC£'t«675CCCO C F2
191ZTCC67CC25C1730201CClCCCC06rjr.CC£CCrcC6:cCOCtCCC058CCCCCOQCGCOCO C P3
1912«:C67,"C25ei7324222c2£2475lCJC67eflC5££6^ccccrcCCCCC''CCCOOGQC0330GC'CGO CF4
19123CC67CC250173CCOOCC7CCCCOCCOCCCCCCOCOOCCCCCCfCOO CCCCCCOCOO CP5
]123CC67CC250n3202CC2CCC4«.73CO 2GCC91CCC2C 62 CF6
1912SCC6-/-r.£C12601572£H~CKK,G <>OkcP CC. ' E. £. TL ECT RICF CP1
1912PCCc7CC6-:0173C:CCCCCC':CC:)CCOJ12SC7£C32CC183CCCCGOC CF2
lci220C67CC':CC17:.CC572CC9rCC06COCCC«CCOCC6CCCCC6CCOC65Cr:cOOOCOOOCO CP3
1912 eC C6 7 CC c 0017 30072 55 222474 5COO?9', 1002? c C,4CCC C C CCCC CCCC CCOCCCCC33CGCCCC CF4
IS12SCC67CC6CC173:CC:CCCCCCCOOCKOC03cDrOOCCCCCCCCCC CCCCCOOOOO TP5
1912e':Ct7CC6CC172202:Cl2ClCC(:9320 :-l!!C5CCC23 E2 CF6
lrl?3?Ct70CtCCl722020C6C 10C01354 *34CCCCC909 B2 CF6
1912K.Ct7:C6C12e01572ShCCKTr.G F3K'-F CC. E.E. ELSCTRICF CP1
l°12.-,:Cf 77C60'C?73::CCCCC rCCCCOC C001C4C5CC65CCC96C270COC CF2
1912SCCfc7CC60:27j "O I 2 S Co C '-C CvK f .1C : C £C CC CC6CC CC CfcC CCCC CCOC CCOOCOOOOO . CP3
19123CCi7CC6CC27?.:iCC554 1?47j4CCCCCCCCCCCCCCCCCCCC9CCCCCC 1000COOOOCCCCCOO CP4
i.:c:-'):JCur.ecccoocccccccccoccc ccccccoooo CPS
lc!28CCe7CCtCC27.?5:iCC5CKCC0013 -CC7CCCCC14C 62 CF6
lci2otC6.7CCfc002725ClCC6Circ:j044 CC C CCOOO<:-5«; 62 CP6
19128;CC5CC5CC64iJl573^rT5r?CL IS, U.S.*. LCI0, LAKE 'F CP1
19li3CCe5CC£CC17?CCCCCCCC"CCOOnoOieC130C313ClS9Cn80000 CP2
K'i2ec.cf:.scc5;ci72J053eC.:£C':rj6c:)c:c^(;cccc6i:ctccfccccscc>:ccocf GJOOCO CP3
lS12CCCi-'9CC5CC172 12422 11C? 4.74 2COOC3 C3 CO C3C3 1C COCCOCCOCCO C CCOOCOCC330COOQO CP4
iri28CC'-:SCC50Cl72CCC 0 C C C C C C C'.y CCoCC C CCCC CCC C C C C CCCCGC CCCCCCOCOO C.F5
1^12ecCc<;CC5CC17220irC2-jrJCElCe6 C291C20CC21 62 CP6
]<;i2nCC9c,:C50C17:2Cl 7C6C UrClG30 £34rOCCC9<;5 P2 CFfc
19123JC89JC5CC64015731';Tc--c(;L ISt C. S . A. 10IS LANE F CP1
1912 dC C3S''1C5CC2 72 :CCCC CCCC CTOC CO G 18C 1 6CC344 C 1 93CCCOOOC CF2
19 1?«CCP£.CC5CC 272:0531 CC t" C C J6 COCOC t CO OOC6CCCCC6C COC3CCUCCC JCCCOOOO CF3
l?i2SCC.Hc.:c;cr?72i23'.31222>i73 7C-1C1^£7CO 15 £ 13 L C C C C CCCC C CGC C COi. - 000033 CCO 000 CF4
]12C CCCO FCLNCFY t-CNFST JON CP1
1922 .-?CCr;9CC75i.l 73332 1 Cl C CC CCOi' OJC046C £012 6CC C 7634 10000 CF2
1922«r.C59CC75C173:uOOOC6CCCC06COCCC£OCCCC6CCCCC6CCC:OCCOCCCiOOCCOOCO CP3
lc22£CC3SCC75C17j25252e25CE55CCTC0715CCCCCCCCCCCCCCCCCCCCC00035743;o03COO CF4
19228JCS9CC75C173:nOOCCCCCCCOOCDC'OOCCCCCCCCCCOOCOCrC CCCCCCOOCC CPS
19228CCS9CC7501723ClCO'Cv:CCC142S'i429
-------
4.3.1 ORGANIZATION
The following are the main modules of the NEDS Point Source output
program.
o MAIN-LOOP
This routine is performed by ROOT-SEGMENT until an end of file is
detected on the EIS/P&R File. It determines the record type and
invokes the appropriate conversion routine. If the record type is
invalid, a diagnostic message is printed and processing continues
with the next EIS/P&R record.
o ZERO-RECORD-CONVERSION
This routine initializes all NEDS records to blanks and saves the
key portion of the type 0 EIS/P&R record. It then converts the
EIS/P&R record to a NEDS PI and outputs it. The type of PI record
is determined by the control card processed by PGM-INIT.
o ONES-RECORD-CONVERSION
If the NEDS PI record has yet to be written (i.e., this is not the
first type 1 EIS/P&R record with this key), this routine will write
the previously created NEDS PI record and then proceed to convert
the EIS/P&R type 1 record. A routine named EXTRACT-POLLUTANT-DATA
is invoked to extract variable length pollutant data from the type
1 record. After the NEDS P2, P3, P4, and P5 records are built, they
are output. The type of P2, P3, PA, and P5 records is determined by
the input control card.
164
-------
TWOS-RECOKD-CONVERSION
This routine converts the EIS/P&R type 2 record to a NEDS P6 record
and outputs it. The type of P6 record is determined by the input
control card.
Figure 4.3.1 illustrates the organization of NXNEDSCV.
165
-------
MAIN-LOOP
1
r
2ERO-RECOKD-
CONVIJKSION
^
r
ONKS-RECORD-
CONVERSION
1
r
TWOS-RKCORD-
CONVKRSION
^
r
READ- MAST
EXTRACT-POI.L-
DATA
NXNEDSCV Organization
Figure 4.3.1
166
-------
,4.3.2 COMMUNICATION AND DATA FORMATS
The following COBOL WORKING-STORAGE fields are the major control flags
Internal to NEDS Point Source Output program.
o NEDS-01-WRITTEN-SW - Used by the ONES-RECORD-CONVERSION routine
to determine if the NEDS PI record has been written (NEDS-01-
WRITTEN-SW - 1) or if it has to be written (NEDS-01-WRITTEN-
SW - 0).
o END-OF-FILE-SW - Used by the ROOT-SEGMENT to determine when all
records from the EIS/P&R File have been written (END-OF-FILE-
SW - 1) .
167
-------
4.3.3 ROUTINES
There are no major subroutines in this program.
168
-------
4.3.4 DIAGNOSTIC MESSAGES
The following are the diagnostic messages that nay be generated by the
NEDS Point Source Output program.
Message: Unknown record type on master file.
Meaning: System is unable to identify record type.
Action: No action required.
Message: Control card missing or invalid - change option assumed.
Meaning: The NEDS records are generated as either ADDS, CHANGES or
DELETED. If the control card is missing, or does not have an
"A", "C" or "D" in the first column, a CHANGE is assumed.
Action: Correct error and resubmit transaction.
169
-------
4.4 NEDS AREA SOURCE OUTPUT
This program produces NEDS area source output from EIS/P&R area source
data. The program expects input to be area source data. Therefore,
if area source data is in the same file as point source data, it must
be selected onto a separate file by use of the EIS/P&R retrieval capa-
bility (USER-PLANT-ID = 'AREA SOURCE1).
There is one control card which allows the user to specify whether the
NEDS "action" code will be "A" (add), "D" (delete) or "C" (change).
The action code is in column 1. The default (no control card) will be
NEDS area source records are generated by creating a set of records from
a logical EIS/P&R record. This is done by accumulating the estimated
emissions and moving the values from the EIS/P&R record to the NEDS
record. When all values have been set in the NEDS records, the entire
set is output.
The data flow and deck setup are illustrated in Figure 4.4-1.
Figure 4.4-2 illustrates an example of the output from the NEDS Area
Source Output program along with the retrieval request generating the
Answer File prior to the output. The example is taken from Retrieval
Run 1 of the EIS/P&R Test package.
170
-------
Data Flow
Deck
Control Card
AXASNEDS JCL
Retrieval
JCL
NEDS AREA SOURCE OUTPUT - DATA FLOW AND DECK
Figure 4.4-1
171
-------
SSSELcCT OOC00130
OS23-PLAMT-ID - 'AREA SOURCE' ' 00000200
. ' 00000300
NJ
NEDS Area Source Output Example
Retrieval Run 1 of EIS/P&R Test Package
(Retrieval Request)
Figure 4.4-2
-------
N2DS AREA S005CE LOG
CCSTfaOL CufiD BISSIIiG OR INVALID - CHANGE CPTIGN ASSUMED
19128C0677309633138041 471C1495036024444 1111044044012302001OC97503900235500050CA1
131260067235003475C421COCC390875C0509675C123400985C2150000980569DC0252350 CA2
191260067234500321504325C09dOOCOO975012100023450021550OG975295C005C0085012502CA3
191280067^3501 23505U325DC757500CC25000500 12350321 CO000975000050321 5000098750 CA4
1912SCG6730CGC5GOC1GOG2250CC35000015750500219502253001300123000545C190 CAS
19l2cJ0067 = rtODUCEB DY THE CCriS EMISSION INVENTORY SUBSYSTEM. CA6
1912800097314290107707536013720172944441 14^0440449850 79500 67800 CAT
1912800K9 67675 8650 C99750CC9050565C4560032100 3450 CA2
1S126C069 500502350 00-^950 543210065400 56750 23D52CA3
191260069 0050054300 5675 7C750 234500 CA4
191280069 C965C 010900250 1500 CAS
191280C69ESOUUCED BY ThE CDHS EMISSION INVESTOrti SUBSYSTEM. CA6
19312C092730C541CC9C5C15SOC515C1439444444 044044 76500 CA1
1931200921230:3215056750 012350023450 54325 CA2
1931iOOS223i.5005435C 32100' 12342CA3
19312GC92 a5o7C 34500 CA4
19312C092 05430 . CAS
193120092P30DUCED BY THE CEHS EMISSION INVENTORY SOBSYSTEB. CA6
193120 fC573C068;»0164-jCO 7BOC00000034 4433 12350 63050 CAT
1931201G5 25750G125C3450 765045675 56750 CA2
193120105 123500 12300 21002CA3
19312C105 ' 00540C234500 CA4
19312C105 '' 2100 CAS
193120105°aODUCii) BY THE CDHS EBISSION INVSSTOHY SUBSYSTEM. Cft6
NEDS Area Source Output Example
Retrieval Run 1 of EIS/P&R Test Package
Figure 4.4-2 (continued)
-------
4.4.1 ORGANIZATION
The program consists of the following routines:
o ROOT-SEGMENT - This is the highest level routine. It opens and
closes files and controls processing until all EIS/P&R data has
been processed.
o GEN-NEDS-AS-RECS - This is a second level routine. It reads
the EIS/F&R records and controls processing until a logical record
has been processed. It then causes the NEDS records which have
been generated as a result of this processing to be output.
o EIS-FILE-EOF - This is a third level routine. It is executed when
an end of file on the EIS/P&R file has been encountered. It
determines whether NEDS records need to be output and causes them
to be output where required.
o OUTPUT-NEDS-AREA-SOURCE - This is a third level routine. It
converts the accumulated emissions to hundreds of tons. These
emissions are moved to the NEDS Al card. All NEDS cards are then
logged on the printer and written on the output data set.
o PROCESS-0-REC - This is a third level routine. It initializes
the NEDS record areas and the emissions accumulators.
o PROCESS-1-REC - This is a third level routine. This routine
causes emissions to be accumulated for all pollutants.
o ACCUM-EMISSIGNS - This is a fourth level routine. It causes
emissions to be accumulated in the appropriate pollutant
accumulator.
o PROCESS-2-REC - This is a third level routine. It controls
execution of the routines which set the fuel/pollution source values.
Figure 4.4.1 illustrates the organization of AXASNEDS.
174
-------
PROCESS-0-REC
OUTPUT-NEDS-
AREA-SOURCE
AXASNEDS Organization
Figure 4.4.1
175
-------
4.4.2 COMMUNICATION AND DATA FORMATS
The following COBOL WORKING-STORAGE section fields are the major control
and data areas internal to the NEDS Area Source Output program:
o EISFILE - This is the input data file. It may be a Master File or
an Answer File, provided that it contains only area source data
records.
o NEDASFIL - This is the output file for the NEDS format area source
records.
o NEDASLOG - This is the printer log for the NEDS format area source
records.
6 MSTR-FIXED-SEGMENT - This data array resides in the file section
and describes the format of the EIS/P&R master fixed (record 0)
segment.
o MSTR-POINT-SEGMENT - This data array resides in the file section
and describes the format of the EIS/P&R master point (record 1)
segment.
o MSTR-MACHINE-PROCESS - This data array resides in the file section
and describes the format of the EIS/P&R master machine (record 2)
segment.
o CARD-STORAGE-AREA - This data array resides in the working storage
section and describes the format of NEDS area source records A1-A5.
o AA6-CARD-OUTPUT - This data array resides in the working storage
section and describes the format of NEDS area source record A6.
176
-------
o WORK-SCC - This data array resides in the working storage section
and describes the format of the SCC.
o POLL-ID-TABLE - This data array resides in the working storage
section and defines the area source pollutant codes.
o AS-FUEL-CODES - This data array resides in the working storage
section and defines the fuel/pollution source codes.
o SUL-ASH-CODES - This data array resides in the working storage
section and defines the sulfur/ash codes.
177
-------
4.4.3 ROUTINES
The following are internal routines of the NEDS Area Source Output program.
o RES-FUEL - This subroutine sets the Residential Fuel values.
o COMM-AND-INST-FUEL - This subroutine sets the Commercial and Insti-
tutional Fuel values.
o INDUST-FUEL - This subroutine sets the Industrial Fuel values.
o ON-SITE-INCIN - This subroutine sets the On-Site Incineration Pol-
lutant values.
o OPEN-BURN - This subroutine sets the Open Burning Pollutant values.
o GAS-FUEL - This subroutine sets the Gasoline Fuel values.
o DIES-FUEL - This subroutine sets the Diesel Fuel values.
o AIR - This subroutine sets the Aircraft Pollutant values.
o VES - This subroutine sets the Vessels Pollutant values.
o EVAPOR - This subroutine sets the Evaporation Pollutant values.
o MEAS-VEH-MILE - This subroutine sets the Measured Vehicle Mile Pol-
lutant values.
o MISC-DUST - This subroutine sets the Miscellaneous Dust Pollutant
values.
178
-------
MISC-BURN - This subroutine sets the Miscellaneous Burning Pollutant
values.
179
-------
4.4.4 DIAGNOSTIC MESSAGES
The following are the diagnostic messages that may be generated by the
NEDS Area Source Output program.
Message: Control card missing or invalid - change option assumed.
Meaning: If a control card of A,C, or D is not input to the NEDS Area
Source Output program, the program defaults to generate change
cards.
Action: If C was not the option wanted, correct the control card and
resubmit.
180
-------
4.5 NEDS AREA SOURCE REPORT
The NEDS Area Source Report program produces a formatted listing from
NEDS area source records. One complete set of NEDS area source records
(Al through A6) will be listed per page. If errors exist in the NEDS
records, the results will be unpredictable.
The data flow and run deck setup are illustrated in Figure 4.5-1.
Figure 4.5-2 illustrates a page of the NEDS Area Source Report along
with the retrieval request generating the Answer File prior to output.
The example is taken from Retrieval Run 1 of the EIS/F&R Test package.
181
-------
Data Flow
Deck
HXANRHI'T ,JCL
NEDS AREA SOURCE REPORT - DATA FLOW AND DECK
Figure 4.5-1
182
-------
SS5ELZCT 00000100
OS25-PLAST-ID = AREA SOURCE1 " 00000200
5SEND 00000300
00
OJ
NEDS Area Source Report Example
Retrieval Run 1 of EIS/P&R-Test Package
(Retrieval Request)
Figure 4.5-2
-------
STATE COUNTY AQCH
19 1230 067
PAGE
YEAH
OF
BECCiJD
73
EHISSION ESTIKATES
PAST S02 NOX HO CO
09633 18804 1471 01495 03602
SULFUR CONTENT
DIST RESID
ANTH BITUH OIL OIL
:E;-;CI;,L
LTO CYC LTG CYC LTO CYC
23.50
12350
54325
VESSELS
DIESEL F.ESID
OIL OIL GASOLINE
0075 75CO C0250 0050
EVAPORATION
SOLVENT - GASOLINE
PURCHASED MARKETED
012350
32100
VEHICLE
HEASUHED
LIMITED
ACCESS BURAL SUBURBAN
HILES
DHBAN
000975 000050 321500 0098750
DIHT DIHT ROCK
O^DS STRIPS CCIJSTSUCTIOM HANDLING
AVHLi;C LTC CYC ' LAN'D AKEA & SICEING
OOOC050
00100
C2250
00350
FOBEST FIRES
AREA QOANT
0001575 050
SLASH BURNING
ASEA QUANT
021950 225
FSOST CONTROL
ORCHARD DAYS
HEATFES FIRED
0001
30.0
STRUCTURE
FIRES
1230
COAL REFUSE
B A :; ;<
SIZE HUM
005450 190
C 0 A X E N T S
PiOEUCLD 2Y THE CDKS EMISSION INVENIGHY SUBSYSTEM.
NEDS Area Source Report Example
Retrieval Run 1 of EIS/P&R Test Package
Figure 4.5-2 (continued)
-------
4.5.1 ORGANIZATION
The following are the main modules of the NEDS Area Source Report
program.
o MAIN-LOOP
/
This routine is performed by ROOT-SEGMENT until an end of file
is detected on the NEDS file. The NEDS record is edited and,
if no severe errors are found, formatted and listed.
o EDIT-ROUTINE
This routine edits each of the six different types of NEDS
records. A diagnostic message is issued for each error
found. If invalid data on the NEDS cards is encountered, the
record is rejected.
o GENERATE-REPORT
This routine formats and lists all NEDS records passed by the
EDIT-ROUTINE.
Figure A.5.1 illustrates the organization of HXANREPT.
185
-------
MAIN-LOOP
1
r
EUIT-ROUTINE
^
>
CENERATE-
REPORT
1
m
READ-NEDS-
RECORD
HXANREPT Organization
Figure 4.5.1
186
-------
4.5.2 COMMUNICATION AND DATA FORMATS
The following COBOL WORKING-STORAGE fields are the major control flags
Internal to the NEDS Area Source Report program.
o ERROR-FOUND-SW - Used by MAIN-LOOP to determine if EDIT-
ROUTINE has detected any serious errors in the NEDS record
(ERROR-FOUND-SW = 1).
o END-OF-FILE-SW - Used by ROOT-SEGMENT to determine when
all NEDS records have been processed (END-OF-FILE-SW » 1).
187
-------
4.5.3 ROUTINES
There are no major subroutines in this program.
188
-------
4.5.4 DIAGNOSTIC MESSAGES
The following are the diagnostics that may be generated by the NEDS
Area Source Report program.
Message: Invalid NEDS card number - (not 1 through 6).
Meaning: Only NEDS card numbers 1-6 are recognized. Any other character
is invalid.
Action: Correct error and resubmit transaction.
Message: NEDS card number not numeric.
Meaning: A non-numeric character is in the NEDS card number field.
Action: Correct error and resubmit transaction.
Message: Card out of sequence (key not equal AA1 key).
Meaning: A card is not in the group of NEDS 1-6 cards having the same
key.
Action: Correct error and resubmit transaction.
Message: Card is not NEDS Area Source.
Meaning: Card is not in NEDS area source format.
Action: Correct error and resubmit transaction.
Message: Sulfur content contains non-numeric data.
Meaning: This is a numeric field.
Action: Correct error and resubmit transaction.
Message: Ash content contains non-numeric data.
Meaning: This is a numeric field.
Action: Correct error and resubmit transaction.
189
-------
Message: Days fired contains non-numeric data.
Meaning: This is a numeric field.
Action: Correct error and resubmit transaction.
190
-------
5.0 DATA CONVERSION PROGRAMS
There are two conversion programs which convert other types of data
to EIS/P&R format. These are the NEDS Point Source to EIS/P&R and
the NEDS Area Source to EIS/P&R.
191
-------
5.1 NEDS POINT SOURCE TO EIS/P&R
This program converts NEDS point source input to the EIS/P&R transaction
card format. The one (1) card in the NEDS point source input creates
the EIS/P&R zero (0) .record transaction cards. Cards two (2) through
(5) in the NEDS point source input create the EIS/P&R one (1) record
transaction cards. The six (6) card in the NEDS point source input
creates the EIS/P&R two (2) record transaction cards.
All data items in the EIS/P&R transaction records, which have no cor-
responding data items in the NEDS input records, are set to blanks with
the exception of the following:
1. SET-ID (SEGMENT-1-ID) - Set to the same value as the NEDS
POINT-ID.
2. POLLUTANT-ID - 5-digit parameter codes are given to pollutants
reported in NEDS input data. These codes are taken from the
SAROAD Parameter Coding Manual, EPA Publication No. APTD-0633.
3. SEGMENT-2-ID - Initialized to 5 and incremented by 5 for each
AP6 card. (2 digits)
4. EMISSION-FACTOR-SOURCE (EF-SOURCE) - A 1-byte code telling the
Emission Factor program to provide POLLUTANT-IDs. Set to A for
the Emission Factors Insertion program.
All input cards not containing the point source code and point source input
card numbers ranging from one (1) to six (6) are rejected and listed as in-
valid.
192
-------
5.1.1 ORGANIZATION
The following are the main modules of the NEDS Point Source to EIS/P&R
Conversion program:
o MAIN-LOOP
This routine is performed by ROOT-SEGMENT until an end of
file is detected on the NEDS file. This routine determines
the record type and invokes the appropriate conversion
routine. If the record type is Invalid, a diagnostic mes-
sage is printed and processing continues with the next NEDS
record.
o CONVERT-API through CONVERT-AP6
Each type of NEDS record has its own conversion routine. In
general, these routines accumulate the information contained
in the NEDS records until sufficient information is available
to generate the EIS/P&R transaction sets. At that point, the
appropriate transaction generation routines are invoked.
Figure 5.1 illustrates the organization of CXNEDSCV.
193
-------
^
r
CONVERT-API
i
r
CONVERT-AP2
1
r
CONVEKT-AP3
\
r
CONVERT-AP-'t
i
r
COWERT-AP5
1
r
CONVERT-AP6
CXNEDSCV Organization
Figure 5.1.1
194
-------
5.1.2 COMMUNICATION AND DATA FORMATS
The following COBOL WORKING-STORAGE fields are the major control flags
internal to the NEDS Point Source to EIS/P&R Conversion program.
o END-OF-FILE-SW - Used by the ROOT-SEGMENT to determine when
all records from the NEDS file have been written (END-OF-FILE
SW - 1).
o GEN-1-SET-SW - Used primarily by the conversion routines to
determine when sufficient information has been accumulated
to allow the generation of the EIS/P&R transaction sets
(GEN-1-SET-SW - 1).
o CARD-13-WRITTEN-SW - Used by the EIS/P&R transaction set 1
generation routine to determine whether the pollution data
extraction routine has generated any 13 transactions. If
it has not, a dummy 13 transaction is written to the output
file (GEN-13-WRITTEN-SW =0).
195
-------
5.1.3 ROUTINES
The following are major subroutines of the NEDS Point Source to EIS/P&R
Conversion program.
o EXTRACT-POLLUTANT-DATA
This routine extracts any information present relating to
each of the five pollutants contained in NEDS and places it
in EIS/P&R 13 transactions. If no information is present on
any of the pollutants, no 13 transactions are written by
this routine.
o GENERATE-0-SET
This routine generates the EIS/P&R set 1 transactions from
the information contained in the AP2 through APS cards.
o GENERATE-2-SET
This routine generates the EIS/P&R set 2 transactions from
the information contained in the AP6 card.
196
-------
5.1.4 DIAGNOSTIC MESSAGES
The following are the diagnostics that may be generated by the NEDS Point
Source program.
Message: Scanning to next API card.
Meaning: This is , not an error, but a diagnostic message telling what the
computer is doing. It normally follows one of the messages be-
low.
Action: No action necessary.
Message: Invalid NEDS card ID - record rejected.
Meaning: An error exists in the NEDS card ID.
Action: Correct error and resubmit transaction.
Message: Key not equal to key of API card - record rejected.
Meaning: A NEDS card is included having a different ID than the API card
for that set.
Action: Correct error and resubmit transaction.
Message: Card out of sequence - record rejected.
Meaning: Cards must be sorted and be in proper sequence before being
processed. (See subsection 4.2.1 for sort sequence)
Action: Correct error and resubmit transaction.
197
-------
5.2 NEDS AREA SOURCE TO EIS/P&R
This program converts NEDS area source input to the EIS/P&R transaction
card format, which can be processed by the EIS/P&R File Maintenance
program. The first five (5) area source input cards (Al, A2, A3, A4,
A5) are all required to generate the EIS/P&R transaction records. The
A6 input card is read, but not processed by the program.
All data items in the EIS/P&R transaction records which have no corres-
ponding data items in the NEDS input records are set to blanks with the
exception of:
1. USER-PLANT-ID - A literal of 'AREA SOURCE' is placed in this
field.
2. PLANT-ID - PLANT-ID is set to 9999, since the lowest level
addressed is the Area Quality Control Region (AQCR).
3. NUMBER-OF-EMPLOYEES - This field is filled by the value in
the county population field of the three (3) cards in NEDS
area source input.
4. SET-ID - SET-ID is initialized to 01 and incremented sequen-
tially by 1 for each emission category reported on the NEDS
area source input records (e.g., RESIDENTIAL FUEL = 01,
COMMERCIAL AND INSTITUTIONAL FUEL - 02, INDUSTRIAL - 03,
etc.)
5. NEDS-POINT-ID - The NEDS-POINT-ID is set to 99, since the AQCR
is again the smallest area reported on (2 digits).
6. USER-POINT-ID - There are 13 USER-POINT-IDs corresponding to
the 13 major categories reported in NEDS area source input (3
digits).
198
-------
901 - RESIDENTIAL FUEL
902 - COMMERCIAL AND INSTITUTIONAL FUEL
903 - INDUSTRIAL FUEL
904 - ON SITE INCINERATION
905 - OPEN BURNING
906 - GASOLINE FUEL
907 - DIESEL FUEL
908 - AIRCRAFT
909 - VESSELS
910 - EVAPORATION
911 - MEASURED VEHICLE MILES
912 - MISCELLANEOUS DUST
913 - MISCELLANEOUS BURNING
7. SIC - SIC is set to 9999 (A digits).
8. IPP - IPP is set to 99 (2 digits).
9. POLLUTANT-ID - POLLUTANT-ID is given the 5-digit code from
the SAROAD Parameter Coding Manual, EPA Publication No.
APTD-0633 representing the five major pollutants reported.
10. ESTIMATION METHOD - ESTIMATION METHOD is set to '3' indicating
that emissions are to be calculated.
11. SCC - SCC codes are supplied by the program reflecting the
area code, SCC-ID, sulfur indicator, and ash indicator.
12. FUEL PROCESS SOLID WASTE RATE - The value here will be the
value found in each fuel reported under the major emission
categories.
199
-------
An area is divided into 13 categories (a category can be equated to a pol-
lutant source). These categories and the associated fuels or pollutant
sources are identified in Table 5.2-1. This becomes the basis for the Area
Source conversion; i.e., on this basis, EIS/P&R format records are generated
which describe the area and provide information which can be used by EIS/P&R
File Maintenance to calculate estimated emissions by pollutant. The contents
of the EIS/P&R transaction records are described in Table 5.2-2.
200
-------
Category
Residential Fuel
EIS/P&R
(USER-POINT-ID)
901
Commercial and Insti-
tutional Fuel
902
Industrial Fuel
903
to
o
On-Site Incineration
Open Burning
Gasoline Fuel
Diesel Fuel
904
905
906
907
Fuel/Pollutant Source
Anthracite Coal
Bituminous Coal
Distillate Oil
Residual Oil
Natural Gas
Wood
Anthracite Coal
Bituminous Coal
Distillate Oil
Residual Oil
Natural Gas
Wood
Anthracite Coal
Bituminous Coal
Coke
Distillate Oil
Residual Oil
Natural Gas
Wood
Process Gas
Residential
Industrial
Commercial/Institutional
Residential
Industrial
Commercial/Institutional
Light Vehicle
Heavy Vehicle
Off Hiway
Heavy Vehicle
Off Hiway
Rail Locomotive
(AREA) SCC
90100111
90100222
90100330
90100440
90100500
90100600
90200111
90200222
90200330
90200440
90200500
90200600
90300111
90300222
90300700
90300330
90300440
90300500
90300600
90300800
90401100
90401200
90401300
90501100
90501200
90501300
90602100
90602200
90602300
90702200
90702300
90702400
-------
to
Category
Aircraft
Vessels
Evaporation
Measured Vehicle Miles
Miscellaneous Dust
Miscellaneous Burning
EIS/P&R
(USER-POINT-ID)
908
909
910
911
912
913
Fuel/Pollutant Source
Military
Civil
Commercial
Anthracite Coal
Diesel Oil
Residual Oil
Gasoline
Solvent Purchased
Gasoline Marketed
Limited Access Roads
Rural Roads
Suburban Roads
Urban Roads
Dirt Roads Traveled
Dirt Air Strips
Construction Land Area
Rock Handling & Storing
Forest Fires
Slash Burning
Frost Control
Structure Fires
Coal Refuse Burning
(AREA) SCC
90803100
90803200
90803300
90900111
90904230
90900440
90904430
91005100
91005200
91106100
91106200
91106300
91106400
91207100
91207200
91207300
91207400
91308100
91308200
91308300
91308400
91308500
-------
CARD 01:
FIELD
State
County
AQCR
Plant ID
Date of Record
User Plant ID
Own
Action
Card Number
All Other Fields
CONTENTS
NEDS State
NEDS County
NEDS AQCR
9999
NEDS Year of Record-Day 000
AREA SOURCE
NEDS Density
NEDS Action
01
Blanks
CARD 02:
FIELD
State through Date of Record
Number of Employees
Action
Card Number
All Other Fields
CONTENTS
Same as Card 01
NEDS County Population
NEDS Action
02
Blanks
CARD 03:
FIELD
State through Date of Record
Action
Card Number
All Other Fields
CONTENTS
Same as Card 01
NEDS Action
03
Blanks
EIS/P&R AREA SOURCE RECORDS
Table 5.2-2
203
-------
CARD 11:
FIELD
State through Date of Record
Set ID
Point ID - NEDS
Point ID-User
SIC
IPP
Action
Card Number
All Other Fields
CONTENTS
Same as Card 01
Emission Source Count
Internally Generated
99
Category Code
9999
99
NEDS Action
11
Blank
CARD 12
FIELD
State through Set ID
Action
Card Number
All Other Fields
CONTENTS
Same as Card 11
NEDS Action
12
Blanks
CARD 13:
FIELD
State through Set ID
Pollutant ID
Estimate Control Efficiency
Estimation Method
Action
Card Number
All Other Fields
CONTENTS
Same as Card 11
Pollutant ID Cod
Particulates - 11101
S02 - 42401
NOX - 42602
HC - 43101
CO - 42101
000
3
NEDS Action
1
Blanks
EIS/P&R AREA SOURCE RECORDS
Table 5.2-2 (Continued)
204
-------
CARD 21:
FIELD
State through segment 1 ID
Segment 2 ID
SCC
Fuel, Process, Solid Waste
Percent Sulfur
Percent Ash
Heat Content
Action
Card Number
All Other Fields
CONTENTS
Same as Card 11
Internally Generated
Segment Count
NEDS Fuel/Pollution times
Heat Content if not
zero
NEDS Percent Sulfur
NEDS Percent Ash
Zero or NEDS quantity (Forest
fires, slash burning,
frost control and coal
refuse burning)
NEDS Action
21
Blanks
CARD 22:
FIELD
State through Segment 2 ID
Action
Card Number
All Other Fields
CONTENTS
Same as Card 21
NEDS Action
22
Blanks
CARD 23:
FIELD
State through Segment 2 ID
Action
Card Number
All Other Fields
CONTENTS
Same as Card 21
NEDS Action
23
Blanks
EIS/P&R AREA SOURCE RECORDS
Table 5.2-2 (continued)
205
-------
A single set of NEDS area source records can cause many EIS/P&R trans-
action records to be generated. A set of EIS/P&R type one records are
generated for each category having at least one fuel value. This
includes five 13 records; i.e., one for each of the five pollutants.
Then for each set of type one records, a set of type two records is
generated for each fuel value within that category. For this reason
it is recommended that NEDS Area Source data be utilized as the source
for generating the EIS/P&R area source file. Furthermore, it also is
recommended that area source file maintenance be accomplished by coding
the data using the NEDS area source load sheets and have the conversion
program generate the EIS/P&R transactions.
206
-------
5.2.1 ORGANIZATION
The following are the main routines of the NEDS Area Source to EIS/P&R
Conversion program.
o CONVERT-NEDS-AREA-DATA - This routine controls the reading of an
Area Source set of records and the generation of EIS/P&R trans-
actions when a complete set has been read. This routine is per-
formed by ROOT-SEGMENT until the input file has been exhausted.
o READ-A-NEDS-CARD - This routine reads a NEDS Area record, logs
it on the printer, moves the record into working storage, and
sets the appropriate indicator. This routine is performed by
CONVERT-NEDS-AREA-DATA.
o GEN-EIS-TRANS - This routine initializes the output records and
controls processing of the zero, one, and two EIS/F&R records.
This routine is performed by CONVERT-NEDS-AREA-DATA.
o GEN-ZERO-RECS - This routine sets all values for the EIS/P&R 01,
02, and 03 cards. It also causes the records to be output. This
is performed by GEN-EIS-TRANS.
o GEN-ONE-RECS - This routine sets all values for the EIS/P&R 11,
12, and 13 records. Note 13 records are produced for each of the
five pollutants. Each record generated is caused to be written.
This is performed by GEN-EIS-TRANS.
o GEN-TWO-RECS - This routine sets all values for the EIS/P&R 21,
22, and 23 records. Each record generated is caused to be writ-
ten. This is performed by GEN-EIS-TRANS.
207
-------
o WRITE-ROUTINE - This is the lowest level routine. It logs the
EIS/P&R record on the printer and writes it to be processed in
the next File Maintenance step.
Figure 5.2.1 illustrates the organization of DXNEDSAS.
208
-------
GE!I-EIS-TRAN£
1
r
GEN-ZERO-
RECS
1
r
CEN-ONE-
RKCS
1
r
GEN-TWO-
RKCS
DXNEDSAS Organization
Figure 5.2.1
209
-------
5.2.2 COMMUNICATION AND DATA FORMATS
The following defines the usage of certain COBOL WORKING-STORAGE names;
o CARD-STORAGE-AREA - is used for storage of and describes the
format of the NEDS area source records.
o TRANS-NN - is used for storage of and describes the format of
the EIS/P&R records.
o AREA-INDICATORS - is used to designate presence of a NEDS area
source record. There is one indicator per NEDS record (5).
Zero indicates no record present. One indicates a record
present.
o SET-REC-KEY-BUC - is a working area for building a record key.
o PROCESS-TABLE - is a Table of SCCs. There is a one to one
relationship between the entries in this table and the fuel/
pollutant values in the NEDS area source records. The table is
most critical to the conversion program. Though the codes were
generated arbitrarily, they have significance as follows:
SCC Format AAABBBCD
A - Corresponds to the category code (see Table 5.2-1)
B - Fuel/Pollution Source Code as follows:
Code Fuel
001 Anthracite Coal
002 Bituminous Coal
003 Distillate Oil
004 Residual Oil
210
-------
005 Natural Gas
006 Wood
007 Coke
008 Process Gas
Oil Residential
012 Industrial
013 Commercial/Institutional
021 Light Vehicle
022 Heavy Vehicle
023 Off Hiway
024 Rail Locomotive
031 Military
032 Civil
033 Commercial
042 Diesel Oil
044 Gasoline
051 Solvent Purchased
052 Gasoline Marketed
061 Limited Access Roads
062 Rural Roads
063 Suburban Roads
064 Urban Roads
071 Dirt Roads Traveled
072 Dirt Air Strips
073 Construction Land Area
074 Rock Handling & Storing
081 Forest Fires
082 Slash Burning
083 Frost Control
084 Structure Fires
085 . Coal Refuse Burning
211
-------
C - Sulfur Code as follows:
Code Fuel
0 No Sulfur
1 Use % Anthracite Coal
2 Use % Bitumous Coal
3 Use % Distillate Oil
4 Use % Residual Oil
D - Ash Code as follows:
Code Fuel
0 No Ash
1 Use % Anthracite Coal
2 Use % Bitumous Coal
212
-------
5.2.3 ROUTINES
There are no major subroutines in this program.
213
-------
5.2.4 DIAGNOSTIC MESSAGES
There are no diagnostic messages generated by this program.
214
-------
6.0 EMISSION FACTORS TABLE PROGRAMS
There are three programs to facilitate the creation, maintenance and
use of the emissions factors tables. These are the Emissions Factors
Table Generator, Emission Factors Transaction Generator and Emission
Factors Insert programs.
215
-------
6.1 EMISSION FACTORS TABLE GENERATOR
The Emission Factors Table Generator component creates a 2-page (two
physical records) Emission Factors Table from an input data set containing
SCC numbers and emission factor values. The first page of the table, the
SCC index page, contains an entry for each type 1 card in the input data
set. The type 1 card contains the SCC number, the effective date of the
SCC and the ash and/or sulfur percentages associated with this SCC. Two
additional items generated by this component are added to each SCC index
entry. They are the number of emission factor values assigned to the SCC
and an index pointer to their location in the emission factor value page.
The second page of the table, the emission factor value page, contains an
entry for each type 2 card in the input data set. The type 2 card contains
the SCC number to which this emission factor value is assigned, a pollution
identification number, the emission factor value and two code values, the
units of measure code, and the ash/sulfer indicator code.
The generated table has a capacity of 800 SCC numbers and 1200 emission
factor values. There may be up to 16 emission factor values for an individual
SCC.
The emission factors table is generated from card input. There are two
types of cards and they may be arranged in any order convenient to the
user. The table capacity is 800 SCC numbers and 1200 emission factors.
The two card formats are the SCC card format (type 1) and the emission
factor card format (type 2).
o SCC Card Format
There must be one of these cards for each SCC number which is to be
entered into the table. The format is:
216
-------
Cols 1-8 SCC Number
Cols 9-13 Date of SCC Julian Format (YYDDD)
Cols 14-16 Ash Percentage (one assumed decimal place-XX.X)
Cols 17-19 Sulfer Percentage (Two assumed decimal places-
X.XX)
Cols 79 1
SCC I DATE I ASH | SUL | |l |
1 89 13 14 16 17 19 79
Emission Factors Card Format
There may be from 1 to 16 of these cards for each SCC number. The
format is:
Cols 1-8 SCC Number
Cols 9-13 Pollutant Identification Number
Cols 14-22 Emission Factor (three assumed decimal places-
XXXXXX.XXX)
Col 23 Units of Measure Code
Col 24 Ash/Sulfur (contains an A or S)
Col 79 2
I SCC I POLL. ID | EM. FACT. | UNIT I A/S | | 2 |
189 13 14 22 23 24 79
217
-------
6.1.1 ORGANIZATION
The Emission Factors Table Generator component is organized as a control
segment with two subordinate routines. The controlling segment opens
data sets, gives control to the SORT statement which in turn calls the
input procedure and the output procedure, and finally closes the data
sets. Following are the main routines o£ the Emission Factors Table
Generator component.
o READ-EMISSION-FACTORS-CARDS - This is the input procedure of the SORT
statement. The input procedure reads a card from the input data set,
checks the card for correct content and type, and then gives the card
to SORT. This is performed until end of file on the input file.
o BUILD-EMISSION-FACTORS-TABLE - This is the output procedure of the
SORT statement. The output procedure reads a card from the sorted
data set, identifies it as to type, and builds the appropriate table
entry. When the entry is processed, the emission factors table is
written on the output data set. This is performed until end of file
on the sorted data set.
Figure 6.1.1 illustrates the organizations of TXTBLGEN.
218
-------
READ-EMISSION
FACTORS-CARD
TXTBLGEN Organization
Figure 6.1.1
219
-------
6.1.2 COMMUNICATION AND DATA FORMATS
The following defines the usage of certain COBOL WORKING-STORAGE names:
o EOFSW - May contain TRUE or FALSE. If true, a data set end-of-file
has been detected.
o ERRSW - May contain a TRUE or FALSE. If true, an error has been
detected during the read cards routine processing.
o FRDSW - May contain a TRUE or FALSE. If true, the first SCC index
entry is not to be moved until the number of emission factor values
has been determined.
o EMFI-INDEX - Contains a count of type 1 cards read during the read
cards routine and the subscript of the next SCC index entry during
the build table routine.
o EMFT-INDEX - Contains a count of type 2 cards read during the read
cards routine and the subscript of the next EF table entry during
the build table routine.
220
-------
6.1.3 ROUTINES
The following are internal routines of the Emission Factors Table Generator
program.
o PROCESS-EMF-CARDS - This paragraph reads a card from the input data
set, determines the card type, and passes control to paragraph PROCESS-
CARD-INVALID-ERROR, PROCESS-CARD-TYPE1, or PROCESS-CARD-TYPE2.
o PROCESS-CARD-INVALID-TYPE - This paragraph issues an error message
when invalid card is detected.
o PROCESS-CARD-TYPE1 - This paragraph processes the SCC number card.
All fields of the SCC number card are checked for content, and the
card is then released to COBOL sort. This paragraph issues an error
message for Incorrect field content or when the SCC index table
capacity is exceeded.
o PROCESS-CARD-TYPE2 - This paragraph processes the emission factor
value card. All fields of this card are checked for content, and
the card is then released to COBOL sort. This paragraph issues an
error message for incorrect field content or when emission factor
value table capacity is exceeded.
o ERROR-ROUTINE - This paragraph writes an error message on the list/
error data set. An error flag is turned on upon entry to this paragraph.
o BUILD-TABLE-ENTRIES - This paragraph reads a card from the sorted
data set by means of the RETURN statement. The card type is determined
and control is passed to either paragraph BUILD-INDEX-ENTRY or BUILD-
TABLE-ENTRY.
221
-------
o BUILD-INDEX-ENTRY - This paragraph converts the SCC number card field
content to table format and puts the entry into the next available
index entry table position.
o OUTPUT-EMISSIONS-FACTORS-TABLE - This paragraph moves the two table
pages from working storage to an output buffer and then writes the
table pages on the output table data set. Paragraphs OUTPUT-INDEX-
ENTRY and OUTPUT-TABLE-ENTRY are performed to list the contents of
the two table pages.
o OUTPUT-INDEX-ENTRY - This paragraph lists all the entries in the SCC
index table page.
o OUTPUT-TABLE-ENTRY - This paragraph lists all the entries in the
emission factor value table page.
o ERROR-ROUTINE-1 - This paragraph writes an error message on the list/
error data set.
222
-------
6.1.4 DIAGNOSTIC MESSAGE
The following diagnostics are generated by the Emission Factors Table
Generator program.
Message: Invalid type code.
Meaning: Type 1 and 2 are the only valid cards (cc 79).
Action: Correct error and resubmit transaction.
Message: SCC table size exceeded.
Meaning: A maximum of 810 SCC codes is allowed.
Action: Correct error and resubmit transaction.
Message: Pollutant table size exceeded.
Meaning: A maximum of 1500 emission factor values (Pollutant table) are
allowed.
Action: Correct error and resubmit transaction.
Message: Excessive pollutants for SCC.
Meaning: A maximum of 16 emission factor values (pollutant) are allowed
for each SCC.
Action: Correct error and resubmit transaction.
Message: SCC number invalid.
Meaning: SCC number is in error. Contains non-numeric characters.
Action: Correct error and resubmit transaction.
Message: Date invalid.
Meaning: The Julian date (YYDDD) is in error. Contains alphabetic characters.
Action: Correct error and resubmit transaction.
223
-------
Message: Ash percentage invalid.
Meaning: An error exists in the ash content field. (Should contain
numeric only.)
Action: Correct error and resubmit transaction.
Message: Sulfur percentage invalid.
Meaning: An error exists in the sulfur content field. (Should be numeric
only.)
Action: Correct error and resubmit transaction.
Message: Pollutant number invalid.
Meaning: Contains non-numeric characters.
Action: Correct error and resubmit transaction.
Message: Emission factor invalid.
Meaning: Contains non-numeric characters.
Action: Correct error and resubmit transaction.
Message: No pollutants for SCC.
Meaning: Pollutants must be included for each SCC.
Action: Correct error and resubmit transaction.
224
-------
6.2 EMISSION FACTORS TRANSACTION GENERATOR
The Emission Factors Transaction Generator generates transactions to update
the EIS/P&R Master File automatically. To accomplish this task, the inputs
to this program must be an EIS/P&R Master File, an Emission Factors Table,
and an input control card. These must each have certain information in
them to create the transactions for update.
The Emission Factors Table must have a date associated with each SCC in
the table. This date will be used as one factor to determine whether in-
sertion should be attempted.
The control card format is:
I SCC DATE (YYDDD) | JMode
The date on the control card is the second factor used to determine whether
insertion should be attempted. The mode on the control card will tell what
type of insertion will be used if the decision to attempt insertion has been
made. The allowable modes are (A or X), unconditional insertion or (T or N),
selective insertion. If mode is blank, the mode defaults to T.
These dates, one on the control card and one for each SCC in the Emission
Factors Table, and the mode are used in the following way. The program
reads the logical records of an existing data set (the type 1 record and
all type 2 records associated with it) of the EIS/P&R Master File. Each
type 2 record which is associated with the type 1 set will be examined for
a match of SCC of the EIS/P&R Master File type 2 record and the emission
factors table. If there is no SCC match, no further checks are made on
the record and the record remains untouched. If a match of SCC in the
table and the record (type 2) occurs, a further check of the date check is
made. The date of the SCC in the Emission Factors Table is compared to the
225
-------
date on the control card to determine if the date of the SCC in the
Emission Factors Table is equal to or greater than the control card date.
If this date check fails (table SCC date less than control card date), the
record remains untouched. Otherwise, if the date check is true (table SCC
date equal to or greater than control card date), the corresponding values
from the Emission Factors Table will be inserted according to the mode
specified on the control card.
The unconditional mode (A or X) will insert all emission factor values
associated with the SCC match (the values are taken from the table) into the
repetition of the type 2 record. This will overlay the old values from the
EIS/P&R File. The conditional mode (T or N) additionally checks the pollu-
tion identification number in the type 2 record repetitions (in the EIS/P&R
File) for a match with a pollution identification number in the already
matched SCC entry of the table. Insertion in the conditional mode, then,
only takes place if this match of pollution identification number is made.
More detail on the modes follows. In either mode, if any insertion takes
place on the set, the transactions for file update are generated.
Following are further details on each mode. Insertion by any of these
modes will only be attempted if the SCC in the file matches an SCC in the
table and the date check is passed (date in match SCC in table equal to
or greater than the control card date).
Conditional Modes
T Mode: In this mode, the program will perform insertion on all type 2
records which meet the match of SCC, the date criteria, and, also
if EF-SOURCE in the Master File (corresponding to column 50,
Card 22) is T, match of pollutant identification between the type
2 record and the SCC-related entries in the Emission Factors
Table. The program examines the EF-SOURCE field of the type 2
Master File record for a T. If not T, the type 2 record is left
226
-------
untouched; if T, the Emission Factors Table is searched for a
match of pollutant identification with the type 2 record using
the pointer from the matched SCC entry in the table. Each
pollutant identification number in the type 2 record is checked
for a match in the entries pointed to by the matched SCC entry of
the table. If a match of pollutant identification is found, the
emission factor units of measure code, and the A/S (ash-sulfur)
flag are inserted into that repetition of the 23 transaction.
N Mode: In this mode, the program will insert emission factors into all
type 2 records which need the match of SCC, the date criteria,
and match of pollutant identification in the type 2 record and
the SCC-related entries in the Emission Factors Table, without
regard to the value of EF-SOURCE. The operation of the pollutant
identification check for type 2 records is identical to the T
mode except that EF-SOURCE is disregarded.
Unconditional Modes
A Mode: In this mode, insertion takes place unconditionally in all type
2 records with matching SCC codes and which meet the date criteria.
Both the EF-SOURCE check and the pollutant identification number
search of the type 2 record, as defined in the conditional modes,
are disregarded.
X Mode: In this mode, insertion takes place unconditionally in all type
2 records with matching SCC codes and which meet the date criteria.
Additionally, a match of pollutant identification between type 1
and type 2 records is made to ensure that all pollutant identifica-
tion numbers inserted in the type 2 records exist in the type 1
record. If all do not exist in the type 1 record, additional
repetitions will be added to the type 1 record to accommodate
the non-matched from the type 2 record.
227
-------
From a functional viewpoint each mode accomplishes certain tasks. The user
should examine his aims and use the appropriate mode. Examples of some
specific cases follow:
a. Mode A should be used whenever the user desires to unconditionally
update emission factors in the Master File. The user must be aware
that the emission factors associated with an SCC in the Emission
Factor Table will completely replace all emission factors associated
with the same SCC in the Master File. If these are emission factors
which the user wishes to keep in the Master File which are not in the
Emission Factors Table, a selective mode such as T or N should be used.
b. Mode X should be used to modify and add emission factors to sources
in the Master File when the possibility exists that more pollutants
are carried in the type 2 segments than are carried in the type 1
segment. This condition could exist when new pollutants are added
to an SCC in the Emission Factors Table. After insertion in mode
X, every pollutant in the type 2 segments will have a corresponding
entry in the type 1 segment. Mode X can also be used to insert emission
factors for updating a Master File that was created before an Emission
Factors Table was available.
c. Mode T should be used to modify emission factors for selected sources
in the Master File. Sources for which emission factor modifications
are selected should be indicated by "T" in the EF-SOURCE field of the
Master File record. This mode also can be used when some sources in
the Master File contain locally derived emission factors. These would
not be subject to any modifications from the official table. Sources
using locally derived emission factors should contain a blank in EF-
SOURCE in the Master File.
d. Mode N should be used to update emission factors for those pollutants
existing in the source records of the Master File without regard to
the value of EF-SOURCE.
228
-------
TEST PERFORMED
DATE CHECK
SCC MATCH
POLLUTANT-ID MATCH
EF-SOURCE "T"
MODE OF OPERATION
X
N
X
VO
SUMMARY OF
ACTION
TAKEN
Transfer all
factors in Table
to EIS/P&R
transactions
Transfer all
factors to EIS/P&R
transactions and
check for proper
pollutant-ID's in
point segment.
Add missing pollu-
tant-ID 's to type
1 segment.
Transfer factors
for matching pol-
lutant-ID 's from
table to EIS/P&R
transactions if
EF-SOURCE = "T"
Transfer factors for
matching pollutant-
ID 's from Table to
EIS/P&R transactions
Figure 6.2 SUMMARY OF MODES OF OPERATION AND ACTIONS
-------
6.2.1 ORGANIZATION
The Emission Factors Transaction Generator consists of four modules
controlling the main logic and one module which is called to process the
Master File. The Master File processor employs three major routines also.
o READ-DATE-CARD - reads the user-supplied control card and saves the
appropriate information in core. A read error will terminate the
program.
o READ-EMISSION-FACTORS-TABLE - reads the Emission Factors Table into
core and sets some initialization. A read error will terminate the
program.
o PROCESS-DATA-FILE - gets the first record from the Master File and
calls PROCESS-FILE-LOGICAL-RECORD to be performed until end of file.
PROCESS-FILE-LOGICAL-RECORD controls the output of the transactions
if they are to be generated.
o STOP-RUN - closes the data sets and terminates the run.
o PROCESS-FILE-LOGICAL-RECORD - is performed until end of file on the
Master File is reached to control the processing of the Master File.
The GET-LOGICAL-RECORD routine is called to get a logical set of type
1 and type 2 records and to perform the emission factor insertion if
the type 2 record qualifies. When control is returned to PROCESS-
FILE-LOGICAL-RECORD an indicator ADDSW is tested. If on, control
passes to routines to generate and output the transactions (type 1
transactions, type 2 transactions, and possibly, type 3 transactions).
If the indicator is off, the logical record and its corresponding type
3 records are skipped because emission factor insertion did not occur.
230
-------
o GET-LOGICAL-RECORD - controls the reading and processing of a logical
set of type I/type 2 records. It performs LGL-RECORD until a set is
found to identify the record and process any type 2 transactions
using TYPE-2-RECOKD-PROCESSING to attempt insertion.
o OUTPUT-TYPE-1-TRANSACTIONS - builds the output transactions for the
type 1 record (11D, 11A, 12A, 13A [up to 16]), then calls OUTPUT-
TRANSACTION to write each output record.
o OUTPUT-TYPE-2-TRANSACTIONS - builds the output transactions for the
type 2 records (21A, 22A, 23A [up to 16 for each set with up to 6 sets]),
then calls OUTPUT-TRANSACTION to write each output record.
o OUTPUT-TYPE-3-TRANSACTIONS - builds the output transactions for the
type 3 records (30A [up to 99 sets of 999 lines]), then calls OUTPUT-
TRANSACTION to write each output record.
Figure 6.2.1 illustrates the organization of EXTRNGEN.
231
-------
1
'
GET-LOGICAL-
RECORD
1
r
OUTPUT-TYPE1-
TRANSACTIONS
1
r
OUTPUT-TYPE2-
TRANSACTIONS
r
OUTPUT-TYPF.3-
fTRANSACTIONS
EXTRNGEN Organization
Figure 6.2.1
232
-------
6.2.2 COMMUNICATION AND DATA FORMATS
The following defines the usage of certain COBOL WORKING-STORAGE names:
o ADDSW - May contain TRUE or FALSE. If true, emission factors were
inserted into a type 2 record.
o CHGSW - May contain TRUE or FALSE. If true, an entry was added to
the type 1 record repetitions.
o EOFSW - May contain TRUE-FALSE. If true, a. data set end-of-file has
been detected.
o EXCSW - May contain TRUE or FALSE. If true, the number of entries
added to the type 1 record repetitions exceeded the maximum of 16.
o FNDSW - May contain TRUE or FALSE. If true, an SCC number was found
in the Emission Factors Table.
o FRDSW - May contain TRUE or FALSE. If true, the first physical record
read of the get logical record is not to be performed.
o LGLSW - May contain TRUE or FALSE. If true, the logical record may
be processed. .
o LGLCSW - May contain TRUE or FALSE. If true, the logical record
reading process is complete.
o SCCSW - May contain TRUE or FALSE. If true, the SCC number was found
in the Emission Factors Table and the SCC date test passed.
o T1RSW - May contain TRUE or FALSE. If true, the type 1 record repeti-
tion count has been initialized.
233
-------
o T2RSW - May contain a T, N, A, or X. Contains the user-specified
emission factor insertion mode of operation.
o RECORD-EXPECTED - Contains the code of the next physical record that
should be read.
o , RECORD-FOUND - Contains the code of the physical record that was just
read.
o ROUTINE-CODE-VALUES - Contains the sequencing control matrix for the
get file logical record routine. The RECORD-FOUND and RECORD-EXPECTED
codes determine the i.. entry of the matrix. This entry contains the
argument of a GO TO DEPENDING ON statement to pass control to the
various paragraphs of the GET-FILE-LOGICAL-RECORD routine.
o MSTR-FIXED-SEGMENT - Contains the type 0 record.
o MSTR-POINT-SOURCE - Contains the type 1 record.
o MSTR-MACHINE-PROCESS - Contains a single type 2 record.
o MSTR-REGISTRATION - Contains a single type 3 record.
o MASTER-TYPE-2-SAVE - Contains all the type 2 records belonging to this
logical record.
234
-------
6.2.3 ROUTINES
The following are internal routines of the Emission Factors Table Generator.
o GET-RECORD - This paragraph reads a physical record from the data file
and sets a code in RECORD-FOUND indicating the record type.
o LGL-RECORD - This paragraph provides the control logic to read physical
records and assemble them into a logical record. This paragraph per-
forms GET-RECORD and then one of the following six paragraphs to pro-
cess the physical record just read. Paragraph GET-RECORD is not per-
formed upon first entry, since the physical record is already in the
buffer. This record was read by the previous get logical record
request.
o LGL-RECORD-ERROR - This paragraph is entered when a file sequencing
error has been detected. It issues an error message and terminates
the run. (See Subsection 6.2.4)
o LGL-RECORD-TYPEO - This paragraph is entered when a type 0 record has
been read. It moves the record to working storage.
o LGL-RECORD-TYPE1 - This paragraph is entered when a type 1 record has
been read. It moves the record to working storage and sets up for the
type 2 record reading.
o LGL-RECORD-TYPE2 - This paragraph is entered when a type 2 record has
been read. It counts the number of type 2 records read and moves the
record to working storage. Paragraph SCC-SEARCH is performed to deter-
mine if the SCC number is in the Emission Factors Table.
o LGL-RECORD-TYPE3 - This paragraph is entered when the first type 3
record of a logical set has been read. It sets the LGLSW switch to
ON.
235
-------
LGL-RECORD-COMPLETE - This paragraph is entered when the record just
read belongs to the next logical record. The LGLCSW, LGLSW, and FRDSW
are set true.
LGL-RECORD-INCOMPLETE - This paragraph is entered when an end-of-file
has been detected on the data file, and the logical record in working
storage is incomplete. The LGLCSW is set true, and LGLSW is set false.
T2RECORD-PROCESSING - This paragraph is on the control routine for
the type 2 record processing. It examines the user-specified mode
and performs the appropriate paragraphs to accomplish insertion.
SCC-SEARCH - This paragraph does a binary search of the SCC index
entries in the first page of the Emission Factors Table. The SCC
number from the type 2 record is used as the search argument. If
found and the date check passes, the index entry is saved and the
ash and/or sulfur percentage values are inserted into the corresponding
fields of the type 2 record.
POLID-SEARCH-T2RECORD - This paragraph cycles through the pollutant
identification numbers in the repetitions portion of the type 2 record.
This paragraph is used in conjunction with POLID-SEARCH-EMF-TABLE para-
graph to determine if the pollutant identification number in the type
2 record is in the Emission Factors Table.
POLID-SEARCH-EMF-TABLE - This paragraph searches an Emission Factors
Table to determine if a specified pollutant identification number is
in the table.
EMISSION-FACTORS-INSERTION - This paragraph converts an emisssion
factor value entry to the transaction form and inserts it into a
specified repetition of the type 2 record.
236
-------
POLID-INSERTION-T2RECORD - This paragraph replaces all existing emission
factor values in the type 2 record repetitions with the emission factor
values from the Emission Factors Table.
POLID-SEARCH-T1RECORD - This paragraph examines all the pollutant
identification numbers in the type 2 record and determines if a
pollutant identification entry must be created as a new type 1 record
repetition.
OUTPUT-TRANSACTION-ROUTINE - Prints the already formatted record.
237
-------
6.2.4 DIAGNOSTIC MESSAGES
The following are the diagnostic messages that may be generated by the
Emission Factors Transaction Generator program.
Message: File sequencing error.
Meaning: File must be in proper sequence for processing. (See Subsection
7.1 for sort sequence.) This will be in combination with the
two messages below.
Action: Correct error and resubmit transaction.
Message: Key of last record.
Meaning: Provides the key of last record before error was encountered.
Action: Use information along with accompanying information to analyze
problem and correct error.
Message: Key of error record.
Meaning: Provides key of record in error.
Action: Use information along with accompanying information to analyze
problem and correct error.
Message: Read Error Date Card file.
Meaning: An error has occurred while reading the Date Card File or card
is missing.
Action: Correct error and resubmit transaction. Have System Engineer
(SE) check for error in system.
Message: Read Error Emission Factors File.
Meaning: An error has occurred in reading the Emission Factor File.
Action: Correct error and have SE check for error in system.
Message: Emission entries added.
Meaning: Additional Pollutant IDs added to Segment 1.
Action: No action required.
238
-------
Message: Excessive pollutants.
Meaning: A maximum of 16 unique pollutant IDs are permitted with each
point source.
Action: Correct error and resubmit transaction.
239
-------
6.3 EMISSION FACTORS INSERTION
The CDHS Emission Factors Insertion program will search the Emission Factors
Table using the SCC number as an argument and insert one or more of the
associated emission factor values into EIS/P&R file maintenance transactions
prior to their input to file maintenance. These transactions can be user
supplied or obtained from the file.
To perform this function, this program required the EIS/P&R 21, 22, and
one or more 23 transactions. The 21 transaction contains the SCC number
to be used as the search argument. The EF-SOURCE field in the 22 transaction
may contain a blank or the character A or T. If blank, emission factors in-
sertion does not occur. If A or T, the program will operate in the ALL mode
or the TABLE mode respectively. The set of EIS/P&R 21, 22, 23 (one or more)
cards must be together and in that order. Any other transactions (01, 11,
12, 13, 30) will be untouched. The transactions, as noted above, must be
sorted into a required sequence. This can be accomplished by hand or by
the Transaction Sorter program.
Following are further details on each mode:
ALL mode: In this mode, the program will search the Emission Factors Table
using the SCC number in the 21 transaction as a search argument
and insert all the emission factors that are associated with this
SCC number. The ALL mode requires a single 23 transaction to
immediately follow the 22 transaction containing the A in EF-
SOURCE. The 23 transaction must contain the key fields; the
remaining fields are ignored. For each emission factor, a 23
transaction will be constructed by the program from the information
supplied by the user's 23 card and from the Emission Factors Table.
The data inserted into the 23 transaction will be the pollutant
identification number, the emission factor, the emission factor
units of measure code, and the A/S (ash/sulfur) percentage flag.
240
-------
TABLE mode: In this mode, the program will search the Emission Factors
Table using the SCC number in the 21 transaction as a search
argument and insert only those emission factors whose insertion
is requested by a matching pollutant ID in the 23 transaction.
The TABLE Mode requires one or more 23 transactions to immediately
follow the 22 transaction containing the T in EF-SOURCE. Each
23 transaction must contain from one to three pollutant identifi-
cation numbers. The pollutant identification number is used to
search the list of emission factors associated with the SCC number.
If found, the emission factor, the emission factor units of measure
code, and the A/S (ash/sulfur) percentage flag are inserted into
the 23 transaction.
From a functional viewpoint, each mode accomplishes certain tasks. The
user should examine his aims and use the appropriate mode. Examples of
some specific cases follow:
a. Mode A should be used for file creation, the addition of new
sources, or when it is desired that all emission factors for an
SCC be extracted from the table and inserted into the EIS/P&R
transactions provided.
b. Mode T should be used to control the insertion of emission factors
to ensure pollutant IDs in the EIS/P&R transaction determine the
selection of factors from the Emission Factors Table. This mode
is particularly useful when non-standard factors are used for
some SCCs.
c. A blank in EF-SOURCE should be used when emission factors are
locally determined or for situations where manually entered
factors should not be replaced by table entries. (Note that if
this mode is used, then the user should indicate a T in EF-SOURCE
for other SCCs for this point source.)
241
-------
6.3.1 ORGANIZATION
The following are the main modules of the Emission Factors Insertion program.
o MAIN-LOOP - is performed by ROOT-SEGMENT until all input transactions
are processed. READ-ROUTINE is called to read each transaction. If
the card is a type 2 transaction, the proper routine, PROCESS-21-CARD,
PROCESS-22-CARD, or PROCESS-23-CARD, will be performed. If the card
is other than a type 2 transaction, first a check is made by CARD-21-
22-CHECK to determine if any 21 or 22 cards are still in core waiting
to be written and if so they are output; then the current transaction
is output by WRITE-ROUTINE.
o PROCESS-21-CARD - is performed by MAIN-LOOP to move the input trans-
action into core storage for further processing.
o PROCESS-22-CARD - is performed by MAIN-LOOP to move the input trans-
action into core storage. If the EF-SOURCE field in this transaction
contains an A or T, a search by SEARCH-FOR-SCC is performed; and, if
the search is successful, ASH-SULFUR-PC is performed to establish the
ash/sulfur percentage.
o PROCESS-23-CARD - is performed by MAIN-LOOP to process the 23 trans-
action. If the mode is A or T and the SCC was found, insertion will
be attempted by either GENERATE-IN-ALL-MODE or GENERATE-IN-TABLE-MODE.
o CARD-21-22-CHK - is performed to determine if any 21 or 22 cards are
waiting in core to be output and, if so, calls WRITE-ROUTINE to output
either or both of them.
o WRITE-ROUTINE - is performed to output to the newly created Transaction
File.
Figure 6.3.1 illustrates the organization of KXEMFINS.
242
-------
1
PROCESS-21-
CARD
T
r
PROCESS-22-
CARD
1
r
PROCESS-1M-
CAKD
1
r
CARD- 2 1-22-
CHECK
KXEMFINS Organization
Figure 6.3.1
243
-------
6.3.2 COMMUNICATION AND DATA FORMATS
The following COBOL WORKING-STORAGE section fields are the major control
and data areas internal to the Emission Factors Insertion program.
o END-OF-FILE-SW - set to true when the end of file is detected on the
Input Transaction File.
o POLID-FOUND-SW - set to true when the pollutant identification is
i
i found in the associated entry of the Emission Factors Table by
POLID-SEARCH.
o SCC-FOUND-SW - set to true when the SCC is found in the Emission
', Factors Table by SEARCH-FOR-SCC.
o TRANS-21-WRITTEN-SW - set to true when the current 21 record in core
storage has been written.
o TRANS-22-WRITTEN-SW - set to true when the current 22 record in core
storage has been written.
o WORK-TRANS-21 - contains the most recently read 21 transaction record.
o WORK-TRANS-22 - contains the most recently read 22 transaction record.
o WORK-TRANS-23 - contains the most recently read 23 transaction record.
244
-------
6.3.3 ROUTINES
The following are internal subroutines of the Emission Factors Insertion
program.
o BUILD-EMF-TABLES - builds in working storage the Emission Factors
Table to be used for emission factors insertion.
o CHECK-23-CARD - is performed by GENERATE-IN-TABLE-MODE to generate the
information for the pollutant IDs which are found by POLID-SEARCH.
o GENERAT-ALL-23 - is performed by GENERATE-IN-ALL-MODE to produce a
23 transaction for each emission factor associated with the SCC.
o GENERATE-IN-ALL-MODE - is performed by PROCESS-23-CARD to control
the generation of 21, 22, and 23 transactions as described in TABLE-
MODE.
o POLID-SEARCH - is performed by CHECK-23-CARD to find emission factor
values associated with an SCC number in the Emission Factors Table.
o SEARCH-FOR-SCC - is performed by PROCESS-22-CARD to search the SCC
index entries of the Emission Factors Table for a match of SCC with
the input 21 transaction. If found, a found-flag is set and the index
is saved.
245
-------
6.3.4 DIAGNOSTIC MESSAGES
The following are diagnostic messages that may be generated by the Emission
Factors Insertion program:
Message: Error detected reading Emission Factors Table File-run aborted.
Meaning: Error condition exists in EF Table.
Action: Correct errors in table.
Message: SCC number not found in Emission Factors Table-set 2 bypassed.
Meaning: No match found between Transaction File and table.
Action: Enter additional SCCs required.
Message: Invalid segment 2 card (not 21, 22, or 23)-transaction rejected.
Meaning: The segment 2 card is other than 21, 22, or 23.
Action: Correct card number and resubmit.
246
-------
7.0 SORT-RELATED PROGRAMS
There are three sort or sort-related programs. These are the Transaction
Sorter, the Master File Sorter Generator, and the Master File Sorter.
247
-------
7.1 TRANSACTION SORTER
The CDHS Transaction Sorter program will enable the user to automatically
produce an EIS/P&R transaction card file usable (in correct order) by the
EIS/P&R File Maintenance program from an input EIS/P&R transaction card
file which may be in any order.
Since the EIS/P&R File Maintenance program makes only one pass through the
EIS/P&R Master File, the transaction sorter sorts, in ascending order, on
record key, segment-1-ID, segment-3-ID, segment-2-ID, line-number,
segment-number, action-code (D,A,C - specific order), and card-number.
248
-------
7.1.1 ORGANIZATION
The following are the main modules of the Transaction Sorter program.
o PROCESS-INPUT - is the input section for the SORT statement.
o IN-ROOT-SEGMENT - is the paragraph which controls the reading
of each record into core storage and performs IN-MAIN-LOOP
to build each record key and release the record to the SORT
function.
o PROCESS-OUTPUT - is the output section for the SORT statement.
o OUT-ROOT-SEGMENT - is the paragraph which controls the release
of the sorted records and the writing of the sorted records
to the output transaction file performed by OUT-MA.IN-LOOP.
Figure 7.1.1 illustrates the organization of IXTRNSRT.
249
-------
^
r
'ROCESS-OUTPUT
(OUT-ROOT-
SEGMENT)
IXTRNSRT Organization
Figure 7.1.1
250
-------
7.1.2 COMMUNICATION AND DATA FORMATS
The following COBOL WORKING-STORAGE section fields are the major
control and data areas internal to the Transaction Sorter program.
o END-OF-FILE-SW - set to true when the end of file is detected
on the input transaction file or the sorted transaction file.
o ADD-CODE - value is 2 to denote to the sorter its relative
position of importance in the field ACTION-CODE.
o CHANGE-CODE - value is 3 to denote to the sorter its relative
position of Importance in the field ACTION-CODE.
o DELETE-CODE - value is 1 to denote to the sorter its relative
position of importance in the field ACTION-CODE.
251
-------
7.1.3 ROUTINES
The following are internal subroutines of the Transaction Sorter program.
o IN-MAIN-LOOP - is performed until end of file is detected on the
input transaction file to build each sort key and release
each record to the SORT function.
o IN-READ-ROUTINE - reads a record of the input transaction file.
At end-of-file, a switch is set to indicate an end-of-file
condition.
o OUT-MAIN-LOOP - is performed until end of file on the sorted
transaction file is detected to return each sorted record and
write it to the output transaction file.
252
-------
7.1.4 DIAGNOSTIC MESSAGES
The following diagnostic messages may be generated by the Transaction
Sorter.
Message: Invalid action code - (not A,C or D) - transaction rejected.
Action: Correct error and resubmit transaction.
Message: Invalid segment ID - (not 0,1,2 or 3) - transaction rejected.
Action: Correct error and resubmit transaction.
253
-------
7.2 MASTER FILE SORT
The EIS/P&R Master File sort function is performed by two separate
programs, the Master File Sorter Generator and the Master File
Sorter.
The functions of the Master File Sorter Generator/Master File Sorter
are:
a. Editing and processing of sort and control statements.
b. Compilation of the Master File Sorter to produce a COBOL
program for actual sorting.
c. Execution of the COBOL program and construction of the
answer data set containing the sorted records.
254
-------
7.2.1 MASTER FILE SORTER GENERATOR
The Master File Sorter Generator reads a set of control and sort cards,
edits the cards, and if no major errors are found, generates a COBOL
program which, when executed, will perform the specified sort functions.
The working storage section of the Master File Sorter Generator contains
several sets of COBOL skeleton statements. These statements, when com-
pleted, will be inserted into a skeleton Master File Sorter program which
is also input to the Master File Sorter Generator to be completed. The
input sort transactions are read, edited, and saved in WORKING-STORAGE
for use in generating the Master File Sorter program. Then, if no major
error was encountered, the skeleton program is read sequentially; and the
proper statements are inserted into the skeleton program as the program
is being written as an output file. If a major error is encountered, no
program is output.
The CDHS Master File Sorter Generator program requires $$ control state-
ments and sort statements. The statements must be specified in the fol-
lowing sequence:
$$SORT
sort statements
$$END
SORT Control Card
The sort control card indicates the beginning of the sort requests. The
card is optional and contains one fixed format as follows:
Cols 1-6 $$SORT
255
-------
If this card is missing, it will be assumed, and an diagnostic message
will be printed (see subsection 7.2.1.4). Immediately following the
sort control cards are from one to eleven sort specification statements.
The sequence of these cards determine the order of the sort key. The
first field following the $$SORT will be the most important part of the
key, with each field following of lesser importance. Each sort state-
ment consists of two fixed format fields, as follows:
Cols 1 - 40 sort name
Col 41 sort order
The sort name field contains the name of a data file field which is to
be sorted. The total length of all these fields in the Master File con-
sidered as a group must be less than 234 characters.
The sort order field describes the order of sorting the specified field.
This field must contain the letter A for ascending or D for descending
depending on the desired sort order.
END Control Card
The END Control Card indicates the end of statements for the sort. This
card is optional and contains $$END in card columns 1-5. If this card
is missing, it will be assumed, and a diagnostic message will be printed
(see subsection 7.2.1.4).
256
-------
The following list of names from the fixed segment (PLANT) may be referenced
referenced in the sort statements:
AQCR
CITY
CONTACT
COUNTY
DATE-OF-0-RECORD
ESTABLISHMENT
LOCAL-CONTROL
MAILING-ADDRESS
NUMBER-OF-EMPLOYEES
OWNER
PLANT-ID
PRINCIPLE-PRODUCT
PROPERTY-AREA
RECORD-0-YEAR
RECORD-O-DAY
SEG-O-ID
SEG-0-SET-ID
SEGMENT-0-ID
STATE
TELEPHONE
USER-CONTROL-REGION
USER-PLANT-ID
UTM-ZONE
VALID SORT REQUESTS
TABLE 7.2
257
-------
The following list of names from the point source segment may be referenced
in the sort statements:
ALLOWABLE
ANNUAL-THRUPUT
BOILER-DESIGN-CAPACITY
CNTL-EQUIP-COST
COMPLIANCE-SCHEDULE
COMPLIANCE-STATUS
COMPLIANCE-STATUS-UPDATE
CONTROL-EQUIPMENT
CONTROL-REGULATIONS
DATE-OF-1-RECORD
DAY-WEEK
DEC-FEE
DIAMETER
ECAP
EMISSION-UNITS
EMISSIONS
EST-CONTROL-EFF
ESTIMATES
ESTIMATION-METHOD
FLOW-RATE
HEIGHT
HORIZONTAL
HOURS-DAY
IPP
JUN-AUG
LATITUDE
LATITUDE-DEGREE
LATITUDE-MINUTE
LATITUDE-SECOND
LONGITUDE
LONGITUDE-DEGREE
LONGITUDE-MINUTE
LONGITUDE-SECOND
MAR-MAY
MEASURED
NBR-OF-POLLUTANTS
NEDS-POINT-ID
NORMAL-OPERATING
PLUME
POINT-ID
POINTS-PER-STACK
POLLUTANT-ID
PRIMARY-CNTL
RECORD-1-YEAR
RECORD-1-DAY
REG-1
REG-2
REG-3
SCHEDULE-MONTH
SCHEDULE-YEAR
SECONDARY-CNTL
SEG-l-ID
SEG-1-SET-ID
SEGMENT-1-ID
SEP-NOV
SIC
SPACE-HEAT
STACK-DATA
STATUS-DAY
STATUS-MONTH
STATUS-YEAR
TEMPERATURE
TEST-METHOD
USER-POINT-ID
UTM-COORDINATES
VERTICAL
VELOCITY
WEEK-YEAR
VALID SORT REQUESTS
TABLE 7.2 (continued)
258
-------
The following list of names from the machine process segment may be
referenced in the sort statements:
ASH-CONTENT
BEG
BEC-ID
EEC-NUMBER
CONFIDENTIALITY
DATE-OF-2-RECORD
EMISSION-FACTOR-source
FUEL-PROCESS-RATE
FUEL-UNITS
HEAT-CONTENT
MAX-DESIGN-RATE
NUMBER-OF-EF
RECORD-2-YEAR
RECORD-2-DAY
SCC
SCC-I
SCC-II
SCC-III
SCC-IV
SEG-2-ID
SEG-2-SET-1-ID
SEG-2-SET-2-ID
SEGMENT-2-ID
SOURCE CODE
SOURCE DESCRIPTION
SULFUR-CONTENT
VALID SORT REQUESTS
TABLE 7.2 (continued)
259
-------
7.2.1.1 ORGANIZATION
The following are the main modules of the Master File Sorter Generator
program:
o PROCESS-TRANSACTIONS - is performed by ROOT-SEGMENT to control
the reading and editing of the input transaction file. PROCESS-
TRANSACTIONS will output an error message for each error en-
countered in the control cards and the sort statements and set a
flag for any major error occurring to indicate that a Master
File Sorter program should not be generated. It invokes SAVE-
INFO to save in WORKING-STORAGE the transaction for later use.
o MAIN-LOOP - is performed by ROOT-SEGMENT until the end of the
file is encountered on the input skeleton program or until the
major error flag is set. MAIN-LOOP controls the generation of
the Master File Sorter program. It invokes PROCESS-INPUT-PROGRAM
to generate the appropriate COBOL statements and insert them into
the Master File Sorter program skeleton.
o PROCESS-INPUT-PROGRAM - is performed by MAIN-LOOP to process the
Master File Sorter Generator skeleton. The input program file
is read and written out to the output program file until inser-
tion location is found. When the insertion location is found,
the corresponding paragraph is performed to complete the appro-
priate skeleton sentences in WORKING-STORAGE and insert them
into the proper place in the output program file.
o SAVE-INFO - is performed by PROCESS-TRANSACTIONS to process each
sort statement. Each sort statement is checked for an A or D in
260
-------
card column 41 and the data name is checked for validity. If the
name is valid, the transaction is saved in WORKING-STORAGE for
later use in generating the output program.
Figure 7.2.1.1 illustrates the organization of JXSRTGEN.
261
-------
JXSRTGEN Organization
Figure 7.2.1.1
262
-------
7.2.1.2 COMMUNICATION AND DATA FORMATS
The following COBOL WORKING-STORAGE section fields are the major control
and data areas internal to the Master File Sorter Generator program:
o DATA-NAME-FOUND-SW - is set to true when the data name is found
when searching the valid names table.
o END-OF-FILE-SW - is set to true when the end-of-file condition is
found on the input transaction file or the input program file.
o ERR-FOUND-SW - is set to true when an error is found significant
enough to cause problems to the new program being generated. The
errors which could cause this to be set are: no control cards,
invalid data name, no valid sort requests, more than 11 sort
statements, invalid sort sequence, or more than 233 characters
in the fields of file data names, (see subsection 7.2.1.2)
o REPEATING-1-SW - is set to true if a sort field is from the
repeating portion of the point source record.
o SORT-SENTENCES - is a set of skeleton sentences to be completed
by the Master File Sorter Generator program to be inserted into
the output program.
o VALID-NAMES-TABLES - contains all valid field names for the
sort statements.
263
-------
7.2.1.3 ROUTINES
The following are internal subroutines of the Master File Sorter Generator
program:
o MOVE-STOP1-INFO builds parts of the sort definitions and inserts
them into the output program file.
o MOVE-STOP2-3-4-INFO builds parts of the sort definitions and
inserts them into the output program file.
o MOVE-STOPS-INFO builds parts of the procedure division and in-
serts them into the output program file.
o MOVE-STOP6-INFO builds parts of the procedure division and in-
serts them into the output program file.
o MOVE-STOP7-INFO builds parts of the procedure division and in-
serts them into the output program file.
o READ-CONTROL-CARDS reads the control card file and sets END-OF-
FILE-SW when an end-of-file condition is encountered.
o READ-INPUT-PROGRAM reads each record of input program file and
if the record is not an insertion indicator record, it is written
to the output program file.
o SEARCH-TABLE scans the VALID-NAMES-TABLE in WORKING-STORAGE for
a match of name from the input transaction and the table. If
a match is found, the DATA-NAME-FOUND-SW is set to true.
264
-------
7.2.1.4 DIAGNOSTIC MESSAGES
The following diagnostic messages may be generated by the Master File
Sorter Generator.
Message: Premature end of file on control card file - assuming $$END
card.
Meaning: $$END card is missing. System assumes it is present and con-
tinues processing.
Action: No action necessary.
Message: First control card not $$SORT - assumed present.
Meaning: $$SORT card is missing. System assumes it is present and con-
tinues processing.
Action: No action necessary.
Message: Data name invalid - run aborted.
Meaning: Either an invalid data name is used or a valid data name is
misspelled.
Action: Correct error and resubmit transaction.
Message: Only $$END card found in input stream - run aborted.
Meaning: No sort request statements included, or they come after $$END
card.
Action: Correct error and resubmit transaction.
Message: No valid sort requests - run aborted.
Meaning: An error exists in sort request cards.
Action: Correct error and resubmit transaction.
Message: ***Unexpected end of file on input program - run aborted.
Meaning: An error exists on the input skeleton COBOL Sort program.
Action: Obtain programming support from computer center.
265
-------
Message: More than 233 characters in data name total character count -
run aborted.
Meaning: A maximum of 233 characters is permitted in data name total
character count.
Action: Correct error and resubmit transaction.
Message: More than 11 sort request cards - run aborted.
Meaning: A maximum of 11 sort request cards are permitted.
Action: Correct error and resubmit transaction.
Message: Requested sort sequence not valid - run aborted.
Meaning: Only 'A1 for ascending, or 'D1 for descending sort sequences
are allowed. Any other character in this field is valid.
Action: Correct error and resubmit transaction.
Message: No control cards in input stream - run aborted.
Meaning: Neither control nor sort request cards are present.
Action: Correct error and resubmit transaction.
266
-------
7.2.2 MASTER FILE SORTER
The Master File Sorter program produces an Answer File sorted as specified
in the input to the Master File Sorter Generator program. This Answer File
can be used as input to the Retriever, the Summary Report, and the File
List programs. The contents of the Answer File varies depending on what
files are being used for the sort.
For sort purposes, a logical record consists of the fixed segment (type 0
record), point source segments (type 1 record), machine process segments
(type 2 record), and permits and registration segments (type 3 record).
The machine process fields in the repeating portion of the machine process
(type 2) record and all fields of the permits and registration records can-
not be used for sort fields. All type 3 records are ignored by the Master
File Sorter and do not ever appear in the Answer File produced by the Mas-
ter File Sorter.
The Answer Files generated by the sort program will differ, depending on
which type record the sort fields are in. Although the Answer File gen-
erated by the sort program will be in Master File format, the content of
the Answer File will differ depending on the record type in which the sort
fields reside. The following will illustrate these differences.
a) SORT fields from the fixed segment (record type 0).
A logical record will be generated for each sorted type
0 record. Each type 0 record will be accompanied by its
associated type 1 and type 2 records. No new records
are created.
b) Sort fields from the fixed portion of the point source segment
(record type 1).
A logical record will be generated for each sorted type
1 record. Each type 1 record will be accompanied by its
267
-------
associated type 2 records and for each type 1 record, the
proper type 0 record will be created. The new records
created are the type 0 records, since each type 1 record
now physically carries its own type 0 record (as opposed
to the Master File in which a type one record along with
other type one records are under a 0 record).
c) Sort fields from the repeating portion of the point source seg-
ment (record type 1).
A logical record will consist of a new sorted type 1 record
for each repetition in the type 1 record. Each of these
newly created type 1 records will have the original type
1's type 2 records and type 0 record created also. The new
records created are type 1 records because each repetition
now becomes its own Individual type 1 record and type 0 and
2 records because the new type 1 record must physically in-
clude its type 0 and 2 records with each new type 1 record
created from a type 1 repetition.
d) Sort fields are from the fixed portion of the machine process
segment (record type 2).
A logical record will be generated for each sorted type 2
record. For each type 2 record, the proper type 0 and type
1 record will be created. The new records created are the
type 0 and type 1 records, since each type 2 record now
carries its own type 0 and type 1 records.
e) Sort fields are from the repeating portion of the point source
segment (record type 1) and the fixed portion of the machine
process (record type 2).
A logical record will consist of one newly sorted type 1
repetition record (created as its own complete physical type
1 record), one sorted type 2 record (broken from the other
268
-------
type 2 records) and the corresponding type 0 record. For
example, from one logical record in the Master File con-
sisting of a type 0 record, a type 1 record with three
repetitions, and two type 2 records, the sort program will
generate these six logical records:
[ (type 0, type 1 (repeat 1), type 2 (1)),
(type 0, type 1 (repeat 2), type 2 (1)),
(type 0, type 1 (repeat 3), type 2 (1)),
(type 0, type 1 (repeat 1), type 2 (2)),
(type 0, type 1 (repeat 2), type 2 (2)),
(type 0, type 1 (repeat 3), type 2 (2)) ]*
*These 6 logical records will be in a sort order determined
by the sort statements input to the Master File Sorter
Generator Program.
The sort order of all these logical records (as explained in a through e)
in the Answer File will be dependent on the control cards input to the
Master File Sorter Generator program. The sort order will be determined
by the sequence of these cards. The first will be the high subfield of
the sort key (most significant), the next will be the next lower subfield,
...and the last will be the lowest (least significant).
269
-------
7.2.2.1 ORGANIZATION
The following are the main modules of the Master File Sorter program:
o INPUT-PROCEDURE - is the input section for the SORT statement.
o IN-ROOT-SEGMENT - is the paragraph which controls the reading of
each record into core storage and performs IN-MAIN-LOOP to build
each record key and sort record to be released to the SORT func-
tion.
o IN-MAIN-LOOP - is performed by IN-ROOT-SEGMENT until an end of
file is detected on the input Master File. IN-MAIN-LOOP per-
forms IN-BUFFER-PRIMING to read and store in core a Master File
logical record for further dissection into the new sort logical
records and IN-WRITE-2, IN-WRITE-2-REPEAT, IN-WRITE-1-REPEAT,
IN-WRITE-1, or IN-WRITE-0 to build each appropriate logical sort
record with sort key, which has been created from the Master
File logical record and to release each record to the sort func-
tion.
o IN-BUFFER-PRIMING - is performed by IN-MAIN-LOOP until a master
file logical record (1 type 0, 1 type 1, 1-6 type 2 records) has
been brought into WORKING-STORAGE. This will be performed to al-
low the Master File logical record to stay in WORKING-STORAGE
until it has been properly dissected into all its new sorted
logical records.
o IN-WRITE-0, IN-WRITE-1, IN-WRITE-1-REPEAT, IN-WRITE-2, IN-WRITE-
2-REPEAT one of these is performed for each logical Master
File record brought into working storage. Each appropriately
270
-------
dissects a Master File logical record into newly sorted logical
records built with an appropriate sort key. Each then is re-
leased to the sort function. Choice of which paragraph to per-
form is made on certain basic factors (which types of records
are in the Master File logical record and which type records the
fields for sort are in).
o OUTPUT-PROCEDURE - is the output section for the SORT statement.
o OUT-ROOT-SEGMENT - is the paragraph which controls the return of
the now sorted records and performs OUT-MAIN-LOOP to write on
the Answer File each new physical record.
o OUT-MAIN-LOOP - is performed by OUT-ROOT-SEGMENT until end of file
is detected on the sorted file to strip the key from the sorted
record and write it on the Answer File.
Figure 7.2.2.1 illustrates the organization of the Master File Sorter.
271
-------
1
*
IN-
'
IN-.WRITE-0
IN-WRITE-2-
REPEAT
MASTER FILE SORTER Organization
Figure 7.2.2.1
272
-------
7.2.2.2 COMMUNICATION AND DATA FORMATS
The following COBOL WORKING-STORAGE section fields are the major control
and data areas internal to the Master File Sorter program.
o END-OF-FILE-SW - is set to true when the end of file condition
is detected on the Input Master File during the input procedure
or on the Sorted File during the output procedure.
o RECORD-IN-CORE ~ is set to indicate which type of record is the
last record of a Master File logical record. This is set by
IN-BUFFER-PRIMING.
o REPEAT-1-SORT-SW - is set to true when a requested sort field
is in the repeating portion of the type 1 record.
o SORT-REQUIRED - is set to the highest numeric segment of the
sorts requested.
o MSTR-REC-0 - type 0 record of the logical Master File record in
working storage.
o MSTR-REC-1 - type 1 record of the logical Master File record in
working storage.
o MSTR-REC-2 - is the type 2 record of the logical Master File
record in working storage being worked on at present.
o SAVE-ALL-SET2 - is the type 2 records of the logical Master
File record in working storage.
273
-------
7.2.2.3 ROUTINES
The following are Internal subroutines of the Master File Sorter program.
o IN-BUILD-SORT-KEY - is performed to build the appropriate infor-
mation into the sort key of each sort record being released to
the sort function.
o IN-READ-ROUTINE - is performed to read each Input Master File
record and set the end-of-file-SW to true on detection of an
end of file condition.
o IN-SEGMENT-2 - is performed to bring all set 2 records for a
Master File logical record into core.
274
-------
7.2.2.4 DIAGNOSTIC MESSAGES
The following diagnostic messages may be generated by the Master File
Sorter.
Message: Master File contains no records.
Meaning: The Master File input to the sorter is not good or is a null
file.
Action: Input a valid Master File.
Message: Sorted file contains no records.
Meaning: The Master File was not good or null, therby producing a null
sorted file.
Message: Unknown record type found - record ignored.
Meaning: A record type other than 0,1,2,3 was found.
Action: Check for error on Master File as indicated by accompanying
message and correct.
Message: Key = xxxxxxxxxxxxx, DATE = xxxxx, Seg-ID = xxx.
Meaning: This message, in conjunction with the above message will give
information to identify bad record.
Action: Use information to locate record.
275
-------
Appendix A - Cataloged Procedures
Page
PNRANCNV: NEDS Area Source Output 277
PNRBREPT: Summary Report 282
PNRCNVRT: NEDS Point Source to EIS/P&R 289
PNRDCONV: NEDS Area Source to EIS/P&R 294
PNREFUPD: Emission Factors Transaction Generator 299
PNRFUPDT: EIS/P&R File Maintenance 306
PNRHREPT: NEDS Area Source Report 312
PNRISORT: EIS/P&R Transaction Sort 317
PNRKEFIN: Emission Factors Insert 322
PNRNCONV: NEDS Point Source File Output 327
PNRPREPT: EIS/P&R File List Output 332
PNRRETVR: Retrieval 337
PNRSORTR: EIS/P&R Master File Sort 347
PNRTBGEN: Emission Factors Table Generator 356
Use of Cataloged Procedures 362
276
-------
PNRANCNV - NEDS AREA SOURCE OUTPUT
PNRANCNV is executed to output NEDS area source data from EIS/P&R File records.
There are two input files used by the program. The first, defined by PNRINPUT,
contains the control card to indicate whether the transactions generated will
be A, C, or D. The second, defined by PNRMASTR, contains the EIS/P&R File
(either Master or Answer). There are two output files used by the program.
The first, defined by PNRNEDS, contains the NEDS area source records produced
by the program. The second, defined by PNRPRINT, contains diagnostic messages
generated during the output process.
277
-------
PNRANCNV - Data Flow
Figure A-l
278
-------
DDNAME Description
PNRINPUT Control Card
PNRMASTR EIS/P&R Master File to be converted
PNRNEDS Data set to contain NEDS records
PNRPRINT Print file for diagnostic messages.
PNRANCNV - DDNAMES
279
-------
Parameter
Name
Default
Value
Description
PROJECT
'SYS2.PNR' Highest level index of data set names
(e.g., SYS2.PNR.DATA.FTMSTRAA)
PROGRAM
AXASNEDS Program to convert EIS/P&R Area Source File
to NEDS records
MSTRFIL
FTMSTRAA Lowest level index of EIS/P&R File to be
converted
NEDSOUT
SYSOUT class of punched NEDS records
OUT
SYSOUT class of all print files.
PNRANCNV - Substitutable Parameters
280
-------
PNRANCNV
N>
oo
//* PNRANCNV HURLEY RF
//*
//PNRANCNV PROC PROJECT=«SYS2.PNR,
// PROGRAM=AXASNEDS,
// MSTRFIL=FTKSTRAA,
// NEOSCUT=B,
// OUT=A
//*
//CONVERT EXEC PGM=tPROGRAK,
// REGION=24K,
// TIME=(1,0)
//*
//* CCNVERT EIS/PCR AREA SCURCE FILE TO NEDS FORMAT
//*
//STEPLIB 00 DSNAME=CPROJECT..LOAD,
// VOLUKE=(PXIVATEtRETAIN»,
// OISP=(SHR,PASS)
//*
//* INPUT DATA SET - CCNTRCL CARD
//*
//PNRINPUT DC DDNAME=INPUT,
// OCB=BLKSI2E=80
//*
//* INPUT DATA SET - EIS/PfcR MASTER FILE
//*
//PNRHASTR DO DSNAME = CPRCJECT..DATA,GMSTRFIL ,
// VOLUHE=(PRIVATE,RETAIN),
// DISP=tSHR,PASS)
//*
//* OUTPUT DATA SET - NEDS FILE
//*
//PNRNEDS DO SYSOUT=£NEDSCUT
//*
//* OUTPUT DATA SET - DIAGNOSTIC MESSAGES
//*
//PNRPRINT DO SYSOUT=COUT
//*
//* OUTPUT DATA SETS - SYSTEM OPERATION
//*
DO SYSOUT=£OUT
//SYSPRINT
//*
//SYSOUT
//*
//SYSCBOUT
//*
//SYSOTERM
//*
//SYSUDUMP
//*
DO SYSOUT=CCUT
DO SYSOUT=£OUT
DO SYSOUT=COUT
DO SYSOUT=£OUT
WF4 01/31/75 00000100
00000200
OOOG0300
00000400
00000500
00000600
00000700
00000800
00000900
00001000
00001100
00 CO 1200
00001300
00001*00
00001500
00001600
00001700
00001800
00001900
00002000
00002100
COC02200
00002300
00002400
00002500
00002600
00002700
00002800
OCC02900
OOOG3C-OC
00003100
OOC03200
00003300
00003400
00003500
OOOC3600
OOC03700
00 Co 3800
00003900
00004000
00004100
00004200
00004300
00004400
00004500
00004600
00004700
00004800
00004900
-------
PNRBREPT - SUMMARY REPORT
PNRBREPT is executed to produce a summary report of an EIS/P&R File
(either Master or Answer). The procedure consists of three separate
steps.
The first step, the COBOL compiler, compiles the skeleton Summary program
with user-supplied control cards. The input to the COBOL compiler con-
sists of COBOL statements controlling the breaks in the report to be pro-
duced. The output from the COBOL compiler consists of an object module
which is passed to the second step, the linkage editor. The linkage editor
combines the summary program object code with COBOL subroutines and produces
an executable load module of the Summary Report program.
The third step, the Summary Report program, generates the summary EIS/P&R
File. There are two input files used by the Summary program. The first,
defined by PNRINPUT, contains the control cards for the titling of the report.
The second, defined by PNRMASTR, contains the EIS/P&R File to be summarized.
There are two output files used by the Summary program. The first, defined by
PNRPRINT, contains the control card log. The second, defined by PNREPORT,
contains the summary report of the EIS/P&R File.
282
-------
KIS/P6.R
Source
Code
Summary
Control ("nrd
PNRBREPT - Data Flow
Figure A-2
283
-------
DDNAME Description
PNRINPUT Control cards for summary report
PNRMASTR EIS/P&R File to be summarized
PNRPRINT Print file for control card log
PNREPORT Print file for summary report.
PNRBREPT - DDNAMES
284
-------
Parameter
Name
Default
Value
Description
PROJECT
'SYS2.PNR' Highest level index of data set names
(e.g., SYS2.PNR.DATA.FTMSTRAA)
PARAM
'SIZE=94K,
BUF=10K,
NOSEQ,
SUPMAP,
NOSOURCE1
COBOL parameters for compile
TEMP
SYSDA
Unit type to be used for temporary work space
MSTRFIL
FTMSTRAA Lowest level index of EIS/P&R File to be
summarized
MEMBER
BDSUMARY
Name of first member of summary program
M2
M3
MA
M5
M6
BDFILSEC
BDWORK77
BDWORK01
BDRPTSEC
BPSUMARY
Name of second member
Name of third member
Name of fourth member
Name of fifth member
Name of sixth member
OUT
SYSOUT class for all print files,
PNRBREPT - Substitutable Parameters
285
-------
PNRBREPT
Ni
oo
//* PMRBREPT HURLEY RF
//*
//PNRBREPT PROC PROJECT=SYS2 ,PNR«,
// PARAM='SIZE=94K,BUF=IOK,NOSE(),SUPMAP,NOSOURCE',
// TEMP=SYSDA,
// MSTPFIL=FTMSTRAA,
// MEMBER=BDSUMARY,"
// M2=BDFILSEC,
// M3=BOWORK77,
// M4=BDWORK01,
// M5=BDRPTSEC,
// M6=BPSUMARY,
// OUT=A
WF4 01/31/75
//COMPILE EXEC PGM=IKFC8LOO, :
// PARM=«CPARAK',
// REGION=100K,
// TIME=(2,0)
//*
//* CCMPILE EIS/PCR SUMMARY PROGRAM
//*
//*
//* INPUT.DATA SET - SOURCE LIBRARY
//*
//SYSLIB DD DSNAME=CPROJFCT..SOURCE,
// VOLUME=(PRIVATE,RETAIN),
'// DISP=(SHR,PASS)
//*
//* INPUT DATA SET - COBOL SUMMARY PROGRAM SOURCE CODE
//*
DD DSNAME = GPRCJECT..SOURCE! CMEMBER) ,
VGLUKE={PRIVATE,RETAIN),
DISP=(SHR,PASS)
//SYSIN
//*
//*
//*
//*
//*
//*
DD DSNANE=EPRCJECT..SOURCE!CM2> ,
VOLUKE=(PRIVATE,RETAIN),
DISP=(SHR,PASS)
DD DSNAME = tPRCJECT..SOURCE(&M3) ,
VOLUME = ( PRIVATE, RETAIN*),
DISP=(SHR,PASS)
DO DSNAPE = tPRGJECT..SOURCE
-------
PNRBREPT
DD SYSOUT=tOUT
N>
00
//*
//SYSPRINT
//*
//* OUTPUT DATA SET - CDBCL SUMMARY PROGRAM OBJECT CODE
//*
//SYSLIN DD UNIT=CTEMP,
// DISP=(NEW,PASS),
// SPACE=(TRK,(5,2),RLSE),
// DSNAKE=etOBJMOD
//*
//* UTILITY DATA SETS
//*
DD UNIT=£TEMP,
SPACE=(TRK,(50,100))
//SYSUT1
II
//*
//SYSUT2
II
//*
//SYSUT3
II
//*
//SYSUT4
//*
//LKED
DD UNIT=(CTEMP,SEP=SYSUT1),
SPACE=(TRK, (50,100))
DD UNIT=(tTEMP,SEP=(SYSUTl,SYSUT2)),
SPACE=(TRK,(50,100»
DD UNIT=UTEMP,SEP=(SYSUT1,SYSUT2,SYSUT3>),
SPACE=(TRK, (50,100))
EXEC PGM=IEWL,
PARM=«LIST,LET,XREf:l,
REGION=100K,
TIME=(1,0)
//
//*
//* LINK-EDIT SUMMARY PROGRAM
//*
//*
//* INPUT DATA SET - AUTO-CALL LIBRARY
//*
//SYSLIB 00 DSNAfE=GPROJECT..LOAD,
// VOLUNE={PRIVATE,RETAIN),
// DISP=ISHR,PASS)
// DD DSNAME=SYS1.COBLIB,
// VOLUfE=(PRIVATE,RETAIN)',
// OISP=(SHR.PASS)
//*
//* INPUT DATA SET - COBOL SUMMARY PROGRAM OBJECT CODE
//*
//SYSLIN DD DSNAME=ESOBJMOO,
// DISP=(OLD,DELETE)
// DD DDNAME=INPCT,
// DCB=BLKSIZE=80
//*
//* OUTPUT DATA SET - DIAGNOSTIC MESSAGES
//*
//SYSPRINT DD SYSOUT=EOUT
//*
//* OUTPUT DATA SET - C08CL SUMMARY PROGRAM LOAD MODULE
//*
//SYSLMOD DD UNIT=£TEMP,
// OISP=(MOO,PASS),
// SPACE=(TRK,(10,5,1) ),
// DSNAME=£CLCAOMOO(SUMMARY)
OOCC5900
00006COO
00006100
OOC06200
OOC06300
00006400
00006500
00006600
00006700
00006800
00006900
OOCG7000
00007100
00007200
OOOC7300
000074GO
00007500
00007600
OOC07700
00007800
00007900
OC008000
00008100
00008200
00008300
OOOG8400
00008500
00008600
00008700
00008800
00008900
OOC09000
00009100
OOC09200
OOG09300
00 CO 9400
OOC09500
OOCC9600
000097GO
00009800
00009900
0001COOO
00010100
00010200
00010300
00010400
00010500
00010600
00010700
OCC10800
00010900
OOC11000
0001 1100
0001 1200
00011300
00011400
00011500
00011600
-------
FNRBREPT
NJ
oo
oo
//*
//* UTILITY DATA SET
//*
//SYSUT1 OD UNIT=£TEMP,
// SPACE=
-------
PNRCNVRT - NEDS POINT SOURCE TO EIS/P&R
PNRCNVRT is executed to convert NEDS point source records to EIS/P&R
transactions. The input to the conversion program consists of a NEDS
point source file, (this file must be unblocked) defined by PNRNEDS.
There are two output files used by the conversion program. The first,
defined by PNRTRANS, contains the EIS/P&R file maintenance transactions
produced by the conversion program. The second, defined by PNRPRINT,
contains diagnostic messages generated during the conversion process.
289
-------
PNRCNVRT - Data Flow
Figure A-3
290
-------
DDNAME Description
PNRNEDS Data set containing NEDS point source records
PNRTRANS Data set to contain generated EIS/P&R transactions
PNRPRINT Print file for diagnostic messages.
PNRCNVRT - DDNAMES
291
-------
Parameter
Name
Default
Value
Description
PROJECT
'SYS2.PNR' Highest level index of data set names
(e.g., SYS2.PNR.DATA.FTMSTRAA)
PROGRAM
CXNEDSCV Program to convert NEDS point source records
to EIS/P&R transactions
OUT
SYSOUT class of all print files.
PNRCNVRT - Substitutable Parameters
292
-------
FNRCNVRT
N)
\O
U)
//* PNRCNVRT HURLEY RF WF4
//*
//PNRCNVRT PRCC PROJECT= SYS2.PNR ,
// PROGRAM=CXNEDSCV,
// OUT=A
. //*
//CONVERT EXEC PGM= tPROGR AM,
// REGION=20K,
// TIME = U,0)
//*
//* CCNVERT NEDS POINT SOURCE RECORDS TO EIS/PCR TRANSACTIONS
//*
//STEPLIB DD DSNAME=CPKOJECT..LOAD,
// VOLUME=(PRIVATE, RETAIN),
// OISP=(SHR, PASS)
//*
//* INPUT DATA SET - NEDS RECORDS
//*
//PNRNEDS DD DDNAME= INPUT,
// DCB=BLKSIZE=80
//*
//* OUTPUT DATA SET - EIS/PCR TRANSACTIONS
//*
//PNRTRANS DD DDNAME=OUT PUT
//*
//* OUTPUT DATA SET - DIAGNOSTIC MESSAGES
//*
//PNRPRINT OD SYSOUT=COUT
//*
//* OUTPUT DATA SETS - SYSTEM OPERATION
//*
//SYSPRINT OD SYSOUT=CCUT
//*
//SYSOUT DD SYSOUT=tOUT
//SYSOBOUT DD SYSOUT=GOUT
//*
//SYSOTERM DO SYSOUT=COUT
//*
//SYSUDUMP 00 SYSOUT=£OUT
//*
01/31/75 00000100
OOC00200
OOC00300
OOOOO'.OO
OOC00500
00000600
00000700
ocoooooo
00000900
00001000
00001100
00001200
000013OO
00001400
00001500
00001600
000017OO
00001800
00001900
00002000
OOC02100
OOC02200
00002300
00002400
000325GO
00002600
00002700
00002800
00002900
00003000
00003100
000032OO
00003300
000034OO
OOC035OO
000036OO
00003700
00003800
00003900
000040OO
OOOOA1OO
-------
PNRDCONV - NEDS AREA SOURCE TO EIS/P&R
PNRDCONV is executed to convert the NEDS area source records to EIS/P&R
transactions. The input to the conversion program consists of a NEDS
area source file, (the file must be unblocked) defined as PNRNEDS. There
are two output files used by the conversion program. The first, defined
by PNRTRANS, contains the EIS/P&R file maintenance transactions produced
by the conversion program. The second, defined by PNRPRINT, contains the
diagnostic messages generated during the conversion process.
294
-------
PNRDCONV - Data Flow
Figure A-4
295
-------
DDNAME Description
PNRNEDS Data set containing NEDS area source records
PNRTRANS Data set to contain generated EIS/P&R transactions
PNRPRINT Print file for diagnostic messages.
PNRDCONV - DDNAMES
296
-------
Parameter
Name
Default
Value
Description
PROJECT
'SYS2.PNR' Highest level index of data set names
(e.g., SYS2.PNR.DATA.FTMSTRAA)
PROGRAM
DXNEDSAS Program to convert NEDS area source records
to EIS/P&R transactions
NEDSFIL
NEDS
Lowest level index of data set containing
NEDS records
EISOUT
OUT
B
SYSOUT class of punched EIS/P&R transactions
SYSOUT class of all print files.
PNRDCONV - Substitutable Parameters
297
-------
PNRCCCNV
to
VO
oo
//* PNRPCHNV HURLEY RF
//*
//PNROCONV PRCC PRnjECT='SYS2.?NR',
// PROGRAM=OXNEDSAS,
// - - NEDSFIL=NEOS,
// EISPUT=8,
// CUT=A
//*
//CONVERT EXEC PGM=CPRGGRAM,
// REGION=24K,
// TIME=(l,0)
//*
//* .CONVERT NEDS AREA SOURCE FILE TO EIS/P&R FORMAT
//*
//STEPLIB DO DSNA*E = £P<*CJECT..LOAO,
// VOLUME=(PRIVATE,RETAIN),
// OISP=(SHR,PASS)
//*
//* INPUT DATA SET - NEDS AREA SOURCE FILE
//*
//PNRNEDS DO DSNAME=&PRCJECT..DATA.CNEDSFIL,
// VOLUME=(PRIVATE,RETAIN),
// OISP=(SHR,PASS)
//*
//* OUTPUT DATA SET - EIS/P&R TRANSACTIONS
//*
/'/PNRTRANS DO SYSOUT=GE I SCUT
//*
//* OUTPUT DATA SET - DIAGNOSTIC MESSAGES
//«
//PNRPRINT OD SYSOUT=tOUT
//*
//* OUTPUT DATA SETS - SYSTEM OPERATION
//*
//SYSPRINT 00 SYSOUT=£CUT
//*
//SYSQUT DC SYSOUT=&OUT
//*
//SYSDBOUT DO SYSOUT=tOUT
//*
//SYSOTERM DD SYSOUT=COUT
//*
//SYSUDUMP DD SYSOUT=COUT
//*
WF4 01/31/75
00000100
OOODG2CO
00000300
OOGOG4GO
OOC00500
OOCG0600
00000700
OOGG0800
00000900
00001GOG
00001100
00001200
00001300
00001400
OOC01500
00001600
OOC01700
00001800
00001900
00002000
00002100
00002200
00002300
OOCG2400
00002500
00002600
00002700
00002000
00002900
00003000
00003100
0000320C
00OC3300
OOG03AOO
OOC03500
OUC03600
OOC03700
OOOC380G
00003900
00004000
00004100
00004200
00004300
00004400
-------
PNREFUPD - EMISSION FACTORS TRANSACTION GENERATOR
PNREFUPD is executed to update emission factors existing in the EIS/P&R
Master File with new emission factors from the emission factors table.
There are three input files used by the Emission Factors Transaction
Generator program. The first, defined by PNRMASTR, contains the EIS/P&R
file to be updated. The second, defined by PNREFTBL, contains the emission
factors table. The third, defined by PNRINPUT, contains the control card
which determines the emission factors to be updated. There are two output
files used by the program. The first, defined by PNRTRANS, contains the
EIS/P&R file maintenance transactions to update the emission factors in
the Master File. The second, defined by PNRPRINT, contains diagnostic
messages generated during the transaction generation process.
299
-------
CunLroL Card
tus/PiR
Master
File
k.
^
r
EXTRNGKN
Program
4
Emission
Factors
Table
PNREFUPD - Data Flow
Figure A-5
300
-------
DDNAME Description
PNRINPUT Control Card
PNRMASTR EIS/P&R Master File to be updated
PNREFTBL Emission factors table
PNRPRINT Print file for diagnostic messages
PNRTRANS Data set to contain generated EIS/P&R transactions.
PNREFUPD - DDNAMES
301
-------
Parameter
Name
Default
Value
Description
PROJECT
'SYS2.PNR' Highest level index of data set names
(e.g., SYS2.PNR.DATA.FTMSTRAA)
PROGRAM
EXTRNGEN Program to create EIS/P&R transactions
to update emission factors
MSTRFIL
FTMSTRAA Lowest level index of EIS/P&R Master File
to be updated
EFTABLE
EFTABLE
Emission factors table
TRANS
TRANS
Lowest level index of data set to contain
generated EIS/P&R transactions
UNIT
2314
Unit type on which the EIS/P&R transactions
are to reside
SERIAL
RTCC02
Volume serial of volume upon which the
EIS/P&R transactions are to reside
DISP
NEW,PASS,
DELETE
Disposition of EIS/P&R transactions
SPCUNIT
TRK
Units in which space for EIS/P&R trans-
actions are to be allocated
PRIMARY
Number of units to be allocated for EIS/P&R
transactions' primary allocation
PNREFUPD - Substitutable Parameters
302
-------
SECNDRY 1 Number of units to be allocated for EIS/P&R
transactions' secondary -allocation
OUT A SYSOUT class for all print files.
PNREFUPD - Substitutable Parameters
303
-------
PNREFUPD
CO
O
II*
II*
//PNREFUPD
II
II
II
II
II
II
II
II
II
II*
//EFUPDATE
PNREFUPD
PROC PROJECT=«SYS2.PNR1 ,
PROGRAM=EXTRNGEN,
. . MSTRFIL = FTMSTRAA,- - -
EFTABLE=EFTABLE,
TRANS=TRANS,
UNIT=2314,
SERIAL=RTCCG2,
DI SP = «NEW,PASS,DELETE',
SPCUNIT=TRK,
PRIMARY=5,
SECNDRY=1,
OUT = A
EXEC PGM=£PROGRAM,
REGICN=8GK,
TIME=t1,0)
HURLEY RF
WF4
01/31/75
//
//*
//* PRODUCE EIS/PCR TRANSACTIONS TO UPDATE EMISSION FACTORS
//*
//STEPLIB
//
//
//*
//* INPUT DATA SET - CONTROL CARD
I/*-
//PNRINPUT
//
DD
DO
DSNAKE=tPROJECT..LOAD,
VOLUfE=
-------
FNREFUPD
//SYSCUT DO SYSOUT=COUT
//*
//SYSCBOUT DO SYSOUT=tOUT
//*
//SYSDTERM 00 SYSOUT=tOUT
.//*
//SYSUDUMP 00 SYSOUT=GOUT
//*
0000590O
OOC0600O
00006100
OOOP620O
00006300
00006AOO
00006500
00006600
U>
o
-------
PNRFUPDT - EIS/P&R FILE MAINTENANCE
PNRFUPDT is executed to perform file maintenance functions on the EIS/P&R
Master File. There are two input files used by the File Maintenance pro-
gram. The first, defined by PNROLDMS, contains the EIS/P&R Master File to
be updated (if any). The second, defined by PNRTRANS, contains the EIS/P&R
file maintenance transactions. There are two output files used by the File
Maintenance program. The first, defined by PNRMASTR, contains the updated
or created EIS/P&R Master File. The second, defined by PNRPRINT, contains
diagnostic messages generated during the file maintenance process and a
listing of the input file maintenance transactions.
306
-------
| E1S/P4R
Transactions
.k.
.. ,_ . p
FXFILMNT
Program
Old
KIS/P&R
Master
Pile
PNRFUPDT - Data Flow
Figure A-6
307
-------
DDNAME Description
PNRTRANS EIS/P&R transactions to update the Master File
PNROLDMS EIS/P&R Master File to be updated
PNRMASTR NEW EIS/P&R Master File
PNRPRINT Print file for diagnostic messages.
PNRFUPDT - DDNAMES
308
-------
Parameter
Name
Default
Value
Description
PROJECT
'SYS2.PNR' Highest level index of data set names
(e.g., SYS2.PNR.DATA.FTMSTRAA)
PROGRAM
FXFILMNT EIS/P&R file maintenance program
OLDMASTR FTMSTRAA Lowest level index of EIS/P&R Master File
to be updated
NEWMSTR
FTMSTRAB Lowest level index of updated EIS/P&R Master
File
UNIT
2314
Unit type upon which new file is to reside
SERIAL
RTCC02
Volume serial of volume upon which new file
is to reside
DISP
NEW,CATLG, Disposition of new file
DELETE
SPCUNIT
TRK
Units in which space for the new file is to
be allocated
PRIMARY
10
Number of units to be allocated for the
new file's primary allocation
SECNDRY
Number of units to be allocated for the
new file's secondary allocation
OUT
SYSOUT class of all print files.
PNRFUPDT - Substitutable Parameters
309
-------
PNRFUPDT
PNRFUPDT
HURLEY RF
WF4
01/31/75
10
M
O
//PNRFUPOT PRCC PROJECT='SYS2.PNR ' ,
// PROGPAM = FX f- JLMNT,
// OLD^STR=FTMSTRAA,
// UN1T=2314,
// SERIAL=RTCCC2,
// DISP='NEW,CATLG,DELETE1,
// SPCUNIT=TRK,
// PRIMARY=10,
// SECNDRY=5,
// nUT=A
//*
//UPDATE EXEC PGM=£PRGGRAM,
// REGICN=50K,
// TIME=(2,0)
//*
//* MAINTAIN THE EIS/P6R MASTER FILE
//*
//STEPLIB DD DSNAME=EPRCJECT..LOAO,
// VOLUME=(PRIVATt.RETAIN),
// DISP=ISHR,PASS)
//*
//* INPUT DATA SET - TRANSACTION FILE
//*
//PJ^RTRANS DO DDNAMF.= I NPt T ,
// DCB=BLKSIZE=80
//*
//* INPUT DATA SET - OLD PASTER DATA BASE
//*
//PNROLDMS DD DSNAPE=CPRGJECT..DATA.COLDMSTR,
// VOLUNE=(PR IVATE,RETAIN),
// DISP=(SHR,PASS)
//*
//* OUTPUT DATA SET - NEW MASTER DATA BASE
//*
//PNRMASTR CD UNIT=CUNIT,
// VOLUME=(PRIVATE,RETAIN,SER=tSERIAL),
// DISP=CCDISP),
// SPACE=(CSPCUMT,(CPRIMARY,£SECNDRY),RLSE),
// DSNAME = EPRCJECT..DATA.£1NEWMSTR
//*
//* OUTPUT DATA SET - DIAGNOSTIC MESSAGES
//*
//PMRPRINT DD SYSOUT=COUT
//*
//* OUTPUT DATA SETS - SYSTEM OPERATION
//*
//SYSPRINT 00 SYSOUT=eOUT
//*
//SYSOUT DD SYSOUT=COUT
//*
//SYSCBOUT DD SYSOUT=£OUT
//*
//SYSDTERM DD SYSOUT=CCUT
//*
//SYSUDUMP DO SYSOUT=CCUT
00000100
OOC00200
ODOOC300
00000400
00000500
OOOOC600
OOOCC700
OOC00800
OOC00900
OOOC1000
OG001100
OC001200
00001300
OOG01400
00001500
OOOC1600
000017CO
OOCOL800
OCOU1900
00002000
00002100
00002200
OOC02300
00002400
00002500
00002600
OOC02700
00002800
OOG02900
00003000
OOC03100
OGOC-3200
OOCC3300
OGCC3400
00003500
OOCC36CO
OCOC3700
OOCC3800
00003900
00004000
000&4100
OOC04200
OOOC4300
OOCC4400
OGC04500
00004600
OOOC47GO
OOOC480C
OGOG4900
00005000
00005100
OOC05200
OG005300
00005400
00005500
00005600
00005700
00005800
-------
FNRFUPDT
//* 00005900
U)
-------
PNRHREPT - NEDS AREA SOURCE REPORT
PNRHREPT is executed to produce a formatted listing of NEDS area source
records. The input to the program consists of NEDS area source records,
defined by PNRNEDS. There are two output files used by the program. The
first, defined by PNRPRINT, contains diagnostic messages produced during
the reporting process. The second, defined as PNREPORT, contains the for-
matted listing of the NEDS records.
312
-------
PNRHREPT - Data Flow
Figure A-7
313
-------
DDNAME Description
PNRNEDS NEDS area source records to be listed
PNREPORT Print file for Area Source Listing
PNRPRINT Print file for diagnostic messages.
PNRHREPT - DDNAMES
314
-------
Parameter
Name
Default
Value
Description
PROJECT
'SYS2.PNR1 Highest level index of data set names
(e.g., SYS2.PNR.DATA.FTMSTRAA)
PROGRAM
HXANREPT
Program to list NEDS area source records
NEDSFIL
NEDS
Lowest level index of NEDS File to be listed
OUT
SYSOUT class of all print files.
PNRHREPT - Substitutable Parameters
315
-------
PNRHREPT
//* PNRHREPT HURLEY RF
//*
//PNRHREPT PROC PROJECT=SYS2.PNR«,
// PRDGRAM=HXANREPT,
// - - - NEDSFIL=NEOS,
// OUT=A
//*
//REPORT EXEC PGM=CPROGRAN,
// REGION=40K,
// TIME=(1,0)
//*
//* PRODUCE NEDS AREA SOURCE DETAIL REPORT
//*
//STEPLIB DO DSNAME=EPRGJECT..LOAD,
// VOLUME={PRIVATE,RETAIN),
// DISP=ISHR,PASS)
//*
//* INPUT DATA SET - NEDS AREA SOURCE FILE
//*
//PNRNEDS DO DSNAME=£PROJECT..DATA.GNEDSFIL,
// VOLUME=tPRIVATE,RETAIN),
// DISP=
-------
PNRISORT - EIS/P&R TRANSACTION SORT
PNRISORT is executed to sort sets of EIS/P&R file maintenance transaction
records into an order acceptable to the File Maintenance program. The input
to the Transaction Sort program consists of a set of EIS/P&R transactions,
defined by PNRINPUT. There are two output files used by the Transaction
Sort program. The first, defined by PNRTRANS, contains EIS/P&R file main-
tenance transactions sorted by the Sort program. The second, defined by
PNRPRINT, contains diagnostic messages generated during the sort process
and a listing of the sorted transactions.
317
-------
Sorted
EIS/PS.R
Transactions
PNRISORT - Data Flow
Figure A-8
318
-------
DDNAME Description
PNRINPUT EIS/P&R file maintenance transactions to be sorted
PNRTRANS Data set to contain sorted EIS/P&R file maintenance
transactions
PNRPRINT Print file for diagnostic messages.
PNRISORT - DDNAMES
319
-------
Parameter
Name
Default
Value
Description
PROJECT
'SYS2.PNR1 Highest level index of data set names
(e.g., SYS2.PNR.DATA.FTMSTRAA)
PROGRAM
IXTRNSRT Program to sort the EIS/P&R file maintenance
transactions
TEMP
SYSDA
Unit type to be used for temporary work space
SORTSPC
20
Number of units to be allocated for EIS/P&R
transactions' sort space allocation
OUT
SYSOUT class for all print files.
PNRISORT - Substitutable Parameters
320
-------
PNRISORT
OJ
ts>
//* PNRISORT HURLEY RF WF4
//*
//PNRISORT PROC PROJECT=SYS2.PNR',
// PROGRAM=IXTRNSRT,
// TEMP=SYSDA,
// SORTSPC=20,-
// OUT=A
//*
//SORT EXEC PGM=£PRCGRAP,
// REGION=60K,
// TIME=(l,C)
//*
//* SORT FILE MAINTENANCE TRANSACTIONS
//*
//STEPLIB DD DSNAHE=ePROJECT..LOAD,
// VOLUME=
-------
PNRKEFIN - EMISSION FACTORS INSERT
PNRKEFIN is executed to insert emission factors into the EIS/P&R file
maintenance transactions. There are two input files used by the In-
sertion program. The first, defined by PNRINPUT, contains the EIS/P&R
transactions into which the emission factors are to be inserted. The
second, defined by PNREFTBL, contains the emission factors table. There
are two output files used by the Insertion program. The first, defined
by PNRTRANS, contains the EIS/P&R transactions into which the emission
factors have been inserted. The second, defined by PNRPRINT, contains
diagnostic messages generated during the insertion process.
322
-------
EIS/P&R
Transactions
t
W
KXEMFINS
Program
4
i
Emission
Factors
Table
PNRKEFIN - Data Flow
Figure A-9
323
-------
DDNAME Description
PNRINPUT EIS/P&R transactions into which emission factors are
to be inserted
PNREFTBL Emission factors table
PNRTRANS Data set to contain EIS/P&R transactions into which
emission factors have been inserted
PNRPRINT Print file for diagnostic messages.
PNRKEFIN - DDNAMES
324
-------
Parameter
Name
Default
Value
Description
PROJECT
'SYS2.PNR' Highest level index of data set names
(e.g., SYS2.PNR.DATA.FTMSTRAA)
PROGRAM
KXEMFINS Program to insert emission factors into
EIS/P&R transactions
EFTABLE
EFTABLE
Lowest level index of emission factors table
OUT
SYSOUT class of all print files.
PNRKEFIN - Substitutable Parameters
325
-------
FNRKEFIN
U>
//* PNRKEFIN HURLEY RF
//*
//PNRKEFIN PRCC PROJECT=SYS2.PNR,
// PROGRAM=KXEMFINS,
// EFTABLE=EFTABLE,
// OUT = A
//*
//INSERT EXEC PGM=CPROGRAK,
// PEGION=60K,
// TIME=fl,0)
//» '
//* INSERT EMISSION FACTORS INTO FILE MAINTENANCE TRANSACTIONS
//*
//STEPLIB DD DSNAfE=CPROJECT..LOAD,
// VOLUME=(PKIVATE,RETAIN),
// DISP=(SHR,PASSJ
//*
//* INPUT DATA SET - FILE MAINTENANCE TRANSACTIONS
//*
//PNRINPUT DO DDNAHE=INPJUT,
// DCB=BLKSIZ'E = 8C
//*
//* INPUT DATA SET - EMISSION FACTORS TABLE FILE
//*
//PNREFTBL DO DSNAKE=GPROJECT..DATA.SEFTABLE,
// VOLUyE=(PRIVATE,RETAIN),
// ' DISP=(SHR,PASS)
//*
//* OUTPUT DATA SET - FILE MAINTENANCE TRANSACTIONS
//*
//PNRTRANS DD DDNAME = OUTPliT,
// DCB=BLKSIZE=80
//*
//* OUTPUT DATA SET - DIAGNOSTIC MESSAGES
//*
//PNRPRINT DD SYSOUT=GOUT
//*
//* OUTPUT DATA SETS - SYSTEM OPERATION
//*
//SYSPRINT OD SYSOUT=GOUT
//*
//SYSOUT DD SYSOUT=£OUT
//*
//SYSDBOUT DD SYSOUT=£OUT
//*
//SYSDTERM DO SYSOUT=£OUT
//*
//SYSUDUMP 00 SYSOUT=COUT
//*
01/31/75 00000100
OOC00200
OOOC0300
00000400
OOOC0500
00000600
00000700
00000800
OC000900
OC001000
OC001100
OOC01200
00001300
00001400
00001500
00001600
00001700
00001800
00001900
00002000
00002100
00002200
00002300
00002400
00002500
00002600
00002700
00002800
00002900
00003000
00003100
OOC03200
OCG03300
OOOC3400
00003500
00003600
OOCC3700
000038CO
00003900
OOC04000
00004100
00004200
00004300
00004400
00004500
OOC04600
00004700
00004800
00004900
-------
PNRNCONV - NEDS POINT SOURCE FILE OUTPUT
PNRNCONV is executed to produce NEDS point source data from EIS/P&R file
records. There are two input files used by the program. The first, de-
fined by PNRINPUT, contains the control card to indicate whether the
transactions generated will be A, C or D. The second, defined by PNRMASTR,
contains the EIS/P&R File (either Master or Answer). There are two output
files used by the program. The first, defined by PNRNEDS, contains the
NEDS point source records produced by the program. The second, defined
by PNRPRINT, contains diagnostic messages generated during the output
process.
327
-------
Control
Card
NXNE1DSCV
Program
j
EIS/P6R
Tile
PNRNCONV - Data Flow
Figure A-10
328
-------
DDNAME Description
PNRINPUT Control Card
PNRMASTR EIS/P&R Master File
PNRNEDS Data set to contain generated NEDS records
PNRPRINT Print file for diagnostic messages.
PNRNCONV - DDNAMES
329
-------
Parameter
Name
Default
Value
Description
PROJECT
'SYS2.PNR' Highest level index of data set names
(e.g., SYS2.PNR.DATA.FTMSTRAA)
PROGRAM
NXNEDSCV Program to convert EIS/P&R point source
file to NEDS point source records
MSTRFIL
FTMSTRAA Lowest level index of EIS/P&R File to be
converted
NEDSOUT
B
SYSOUT class of punched NEDS records
OUT
SYSOUT class of all print files.
PNRNCONV - Substitutable Parameters
330
-------
PNRNCCNV
to
U>
//* PNRNCONV HURLEY RF
//*
//PNRNCQNV PROC PROJECT= SYS2.PNR' ,
// PROGRAM=NXNEDSCV,
// MSTRFIL=FTMSTRAA,
// NEDSOUT=B,
// OUT=A
//*
//CONVERT EXEC PGM=6PROGRAN,
// REGICN = 20K,.
// TIME=(1,0)
//*
//* CONVERT EIS/PtR POINT SOURCE FILE TO NEDS FORMAT
//*
//STEPLIB DO DSNAME=SPROJECT..LOAO,
// VOLUME=(PRIVATE, RETAIN),
// DISP=(SHR,PASS)
//*
//* INPUT DATA SET - CONTROL CARD
//*
//PNRINPUT DO DDNAME=INPUT,
// DCB=BLKSIZE=80
//*
//* INPUT DATA SET - EIS/PER MASTER FILE
//*
//PNRMASTR 00 DSNAME=£PRO JECT. .DATA. tMSTRFIL,
// . VOLUHEMPRIVATE, RETAIN),
// DISP=(SHR,PASSJ
//*
//*. OUTPUT DATA SET - NEDS FILE
//*
//PNRNEDS DO SYSOUT=ENEOSCUT
//*
//* OUTPUT DATA SET - DIAGNOSTIC MESSAGES
//*
//PNRPRINT DD SYSOUT=£OUT
//*
//* OUTPUT DATA SETS - SYSTEM OPERATION
//*
//SYSPRINT DD SYSOUT=&OUT
//*
//SYSOUT DD SYSOUT=CCUT
//SYSDBOUT DD SYSOUT=£OUT
//SYSOTERM DD SYSOUT=EOUT
//*
//SYSUDUMP DD SYSOUT=COUT
//*
WF4 01/31/75 00000100
00000200
00000300
OOOOOAOO
00000500
00000600
00000700
OOC00800
00000900
OC001UOO
OOC01100
00001200
OOC01300
00001400
OOC01500
00001600
00001700
00001800
00001900
OOC02000
00002100
00002200
00002300
00002400
00002500
00002600
00002700
00002800
00002900
00003000
00003100
OOOG3200
00003300
00003400
OOC03500
OOCG3600
00003700
00003800
00003900
OOC04000
00004100
00004200
00004300
00004400
OOC04500
00004600
OOC04700
00004800
00004900
-------
PNRPREPT - EIS/P&R FILE LIST OUTPUT
PNRPREPT is executed to produce a detailed listing of an EIS/P&R File.
The input to the File List program consists of an EIS/P&R File (either
Master or Answer), defined by PNRMASTR. The output from the File List
program, consisting of a detailed listing of each record in the file,
is defined by PNRPRINT.
332
-------
PNRPREPT - Data Flow
Figure A-ll
333
-------
DDNAME Description
PNRMASTR EIS/P&R File to be listed
PNRPRINT Print file for EIS/P&R File listing.
PNRPREPT - DDNAMES
334
-------
Parameter
Name
Default
Value
Description
PROJECT
PROGRAM
'SYS2.PNR' Highest level index of data set names
(e.g., SYS2.PNR.DATA.FTMSTRAA)
PXFILPRT
Program to format and list the EIS/P&R File
MSTRPIL
FTMSTRAA Lowest level Index of EIS/P&R File
(Master or Answer) to be listed
OUT
SYSOUT class of all print files.
PNRPREPT - Substitutable Parameters
335
-------
FNRPREPT
U)
//* PNRPREPT HURLEY RF
//*
//PNRPREPT PROC PROJECT= SYS2.PNR ,
// PROGRAM=PXFILPRTf
// MSTRFIL=FTMSTRAA,
// OUT=A
//*
//REPORT EXEC PGM=CPROGRAM,
// TIME=(1,0),
// REGION=24K
//*
//* FORMAT EIS/PCR MASTER FILE
//*
//STEPLIB DD DSNAME=&PROJECT..LOAD,
// VOLUME=(PRIVATE, RETAIN),
// DISP=(SHR,PASS)
//* INPUT DATA SET - EIS/P£R MASTER FILE
//*
//PNRMASTR 00 DSNAHE=£PROJECT. .DATA. CM STRFIL >
// VOLUPE=(PRIVATE,RETAIN),
// DISP=«SHR,PASS)
//*
//* OUTPUT DATA SET - FORMATTED LISTING OF EIS/P&R MASTER FILE
//*
//PNRPRINT DD SYSOUT=tOUT
//*
//* OUTPUT DATA SETS - SYSTEM OPERATION
//*
//SYSPRINT DD SYSOUT=COUT
//*
//SYSOUT DD SYSOUT=COUT
//*
//SYSDBC1UT DD SYSOUT=EOUT
//*
//SYSDTERM DD SYSOUT=COUT
//*
//SYSUDUMP DD SYSOUT=EOUT
//*
01/31/75 00000100
00000200
00000300
OOCOO'tOO
00000500
00000600
OOC00700
00000800
OCC00900
00001COO
00001100
00001200
CCC01300
00001400
00001500
00001600
00001700
00001800
OOC01900
00002COO
OOC02100
OOC02200
00002300
OOC02400
000025CO
00002600
00002700
00002800
00002900
00003000
00003100
00003200
00003300
00003400
00003500
OC003600
00003700
000033CO
00003900
-------
PNRRETVR - RETRIEVAL
PNRRETVR is executed to retrieve an Answer File from the EIS/P&R Master
File. The procedure consists of five separate steps.
The first step, the retrieval language processor, generates a COBOL pro-
gram to perform the actual retrieval of the Answer File. There are two
input data sets used by the language processor. The first, defined by
PNRINPGM, contains the skeleton of the COBOL retrieval program to be gen-
erated. The second, defined by PNRINPUT, consists of retrieval query cards
specifying the qualifications of the Answer File to be retrieved. There
are two output data sets used by the language processor. The first, de-
fined by PNRETRVR, contains the COBOL source code produced by the language
processor. The second, defined by PNRPRINT, contains the diagnostic messages
generated during the language processing process.
The second step, the COBOL compiler, compiles the source code produced by
the language processor and produces an object module which is passed to the
third step, the linkage editor. The linkage editor combines the retriever
object code with COBOL subroutines and produces an executable load module of
the Retriever program.
The fourth step, the retriever, processes the EIS/P&R Master File and pro-
duces the Answer File. The input to the retriever consists of the EIS/P&R
Master File defined by PNRMASTR. There are two output files used by the
retriever. The first, defined by PNRANSWR, contains the Answer File pro-
duced by the retriever. The second, defined by PNRPRINT, contains diag-
nostic messages generated during the retrieval process.
The fifth and final step, the delete step, deletes the output retriever load
module, defined by LOADMOD, created by the linkage editor.
337
-------
If the user wished to save the load module created by the third step,
he could override the SYSLMDD DD card with a statement similar to the
following:
//LKED.SYSLMOD DD DSNAME=SYS2.PNR.LOAD(RETRVR01),
// DISP=(MOD,KEEP)
This statement will cause the load module to be named RETRVR01 and to
be saved in the load library named SYS2.PNR.LOAD. If a load module
named RETRVR01 already exists in the library and the user wished to
replace it, he should code the same statement with the following ex-
ception:
// DISP=(OLD,KEEP)
338
-------
Retrieval
Program
Skeleton
EIS/F&R
Master
File
w
w
\
r
Retrieval
PNRRETVR - Data Flow
Figure A-12
339
-------
DDNAME
Description
PNRINPGM
PNRINPUT
PNRETRVR
PNRPRINT
PNRMASTR
PNRANSWR
LOADMOD
COBOL skeleton retriever code
Retrieval query cards
COBOL retrieval program source code
Print file for diagnostic messages
EIS/P&R Master File from which Answer File is to
be retrieved
Answer file retrieved from EIS/P&R Master File
Output retriever load module created by the linkage
editor.
PNRRETVR - DDNAMES
340
-------
Parameter
Name
Default
Value
Description
PROJECT
'SYS2.PNR1 Highest level index of data set names
(e.g., SYS2.PNR.DATA.FTMSTRAA)
PROGRAM
LXLNGPRC
Program to generate retrieval program
PARAM
'SIZE»94K, COBOL parameters for compile
BUF-10K,
NOSEQ.SUPMAP,
NOSOURCE'
TEMP
SYSDA
Unit type for temporary work space
MSTRFIL
FTMSTRAA Lowest level index of EIS/P&R Master File from
which Answer File is to be retrieved
ANSWRFL
RTANSRAA
Lowest level index of EIS/P&R Answer File
UNIT
2314
Unit type upon which Answer File is to reside
SERIAL
RTCC02
Volume serial of volume upon which Answer
File is to reside
DISP
'NEW,PASS, Disposition of Answer File
DELETE1
SPCUNIT
TRK
Units in which space for Answer File is to
be allocated
PNRRETVR - Substitutable Parameters
341
-------
PRIMARY
20
Number of units to be allocated for Answer
File's primary allocation
SECNDRY
10
Number of units to be allocated for Answer
i
File's secondary allocation
MEMBER
RTRETRVR Skeleton input program to the language pro-
cessing program
OUT
SYSOUT class for all print files.
PNRRETVR - Substitutable Parameters
342
-------
KRRETVR
//* PNRRETVR HURLEY RF
//*
//PNRRETVR PROC PROJECT=SYS2.PNR*,
// PROGRAM=LXLNGPRC,
// PARA^='SIZE=94K,BUF=10K,NOSEQ,SUPMAP,NOSOURCE',
// TEMP=SYSDA,
// MSTRFIL=FTMSTRAA,
// ANSWRFL = RT/>NSRAA,
// UNIT=2314,
// SERIAL=RTCCC2,
// DISP='NEW,PASS,DELETE*,
// SPCUNIT=TRK,
// PRIMARY=20,
// SECNDRY=10,
// .MEMBER=RTRETRVR,
// OUT=A
//*
//COMPILE EXEC PGM=£PROGRAM,
// REGION=60K,
// TIME=I1,0)
//*
//* PRODUCE EIS/P£R RETRIEVAL PROGRAM
//*
//STEPLIB DD DSNAPE=£PRCJECT..LOAD,
// VOLUPE=(PKIVATE,RETAIN),
// DISP=(SHR,PASSi
//*.
//*' INPUT DATA SET - RETRIEVAL PROGRAM SKELETON
//*
//PNRINPGM DD DSNAPE=£PRCJECT..TESTltMEMBER),
// VOLUHE=(PRIVATE,RETAIN),
// DISP=(SHR,PASS)
//*
//* INPUT DATA SET - RETRIEVAL SPECIFICATION CARDS
//*
//PNRINPUT DD DONAME=INPUT,
// DCB=BLKSI2E=80
//*
//* OUTPUT DATA SET - RETRIEVAL PROGRAM
//*
//PNRETRVR DD UNIT=tTEMP,
// DISP=INEW,PASS),
// SPACE=
-------
FNRRETVR
u>
//*
//SYSUDUMP DD SYSOUT=COUT
//*
//COBOL EXEC PGH=IKFCBLCC,
// PARM='£PARAf',
// REGICN=100K,
// TIME=«2,0)
//*
//* COMPILE RETRIEVAL PROGRAM
//*
//*
//* INPUT DATA SET - SOURCE LIBRARY
//*
//SYSLIB DD DSNAHE=CPROJECT..SOURCE,
// VOLUKE=(PRIVATE,RETAIN),
// DISP=CSHR,PASS)
//*
//* INPUT DATA SET - COBOL RETRIEVAL PROGRAM SOURCE CODE
//*
//SYSIN DD DSNAME=ttPRCGRAM,
// DISP=IOLD,DELETE)
//*
//* OUTPUT DATA SET - DIAGNOSTIC MESSAGES
//*
//SYSPRINT DD SYSOUT=£OUT
//*
//* OUTPUT DATA SET - COBOL RETRIEVAL PROGRAM OBJECT CODE
//V
//SYSLIN DD UNIT=CTEMP,
// DISP = (NEW,PASS) ,
// SPACE=ITRK,<5,2),RLSE),
// DSNAME=6£OBJHaD
//*
//* UTILITY DATA SETS
//*
//SYSUT1 DD UMIT=£TEMP,
// SPACE=(TRK,<5O,100) )
//*
//SYSUT2
//*
//SYSUT3
//*
//SYSUT4
//*
//LKED
DD UNIT=J£TEMP,SEP=SYSUT1),
SPACE=(TRK,(50,100)» '
DD UNIT=( ETEMP,SEP=(SYSUT1,SYSUT2)) ,
SPACE=(TRK,(50, 100))
DD UNIT={tTEMP,SEP=(SYSUTl,SYSUT2,SYSUT3)),
SPACE=
-------
FNRRETVR
OJ
4N
Ul
// VOLUME=(PRIVATE,RETAIN),
// DISP=(SHR,PASS)
// DD DSNAME=SYS1.COBLIB,
// DISP=(SHR,PASS)
//*
//* INPUT DATA SET - COBOL RETRIEVAL PROGRAM OBJECT CODE
//*
//SYSLIN DD DSNAVE=Gt08JMOD,
// DISP=,
// SPACE=(TRK,(10,5,1)),
// DSNAME = GGLCAC»«ODI,
// REGION=60K,
// TIHE=(1,0)
//*
//* RETRIEVE ANSWER FILE FROM EIS/PtR MASTER FILE
//*
//STEPLI8 DD DSNAME=tPROJECT..LOAD,
// VOLUKE=(PRI VATE,RETAIN),
// DISP=(SHR,PASS)
//*
//« INPUT DATA SET EIS/P6R MASTER FILE
//*
//PNRMASTR 00 DSNAKE=GPRCJECT..DATA.GMSTRFIL,
// VOLU«E=(PRIVATE,RETAIN),
// DISP=(SHR,PASS)
//*
//* OUTPUT DATA SET - ANSWER FILE
//*
//PNRANSWR OD UNIT=GUNIT,
// VOLUME=(PRIVATE,RETAIN,SER=tScRIAL),
// DISP=«COISP),
// SPACE=IGSPCUNIT,UPRIMARY, tSECNDRY ) ,RLSE ) ,
// DSNACE=GPRCJECT..DATA.CANSWRFL
//*
//* OUTPUT DATA SET - DIAGNOSTIC MESSAGES
//*
//PNRPRINT DO SYSOUT=tOUT
//*
//* OUTPUT DATA SETS - SYSTEM OPERATION
00011700
0001180C
00011900
00012000
OOC12100
00012200
00012300
00012400
00012500
00012600
00012700
OC012800
00012900
00013000
00013100
00013200
OOU13300
00013400
00013500
00013600
00013700
OOC13800
00013900
00014000
00014100
00014200
00014300
00014400
00014500
00014600
00014700
00014800
00014900
00015000
00015100
00015200
00015300
00015400
00015500
OOC15600
GGG157GO
00015800
OOC15900
00016000
OOG16100
00016200
000163CO
00016400
00016500
00016600
00016700
00016800
00016900
00017000
00017100
00017200
00017300
00017400
-------
PNRRETVR
//* .
//SYSPRINT DO SYSOUT=CnUT
//*
//SYSOUT 00 SYSnuT=COUT
//*
Y/SYSDBOUT DO SYSOUT=£OUT
//*
//SYSDTERH DD SYSOUT=CGUT
//*
//SYSUDUMP DD SYSOUT=£OUT
//*
//DELETE EXEC PGH=IEFBR1A,
// REGION=AK,
// TIME=(0,5)
//LOAOMQD DD OSNAH.E
// OISP=IOLD,DELETE)
//*
00017500
00017600
00017700
00017800
00017900
00018000
00018100
00018200
00018300
00018400
00018500
00018600
00018700
00018800
OOC16900
00019000
00019100
-------
PNRSORTR - EIS/P&R MASTER FILE SORT
PNRSORTR is executed to sort an EIS/P&R Master File in an order specified
by the user and produce an Answer File consisting of the sorter records.
The procedure consists of five separate steps.
The first step, the Master File Sorter Generator, generates a COBOL program
which will perform the actual sort of the EIS/P&R Master File. There are
two input data sets used by the Master File Sorted Generator. The first,
defined by PNRINPGM, contains the skeleton of the COBOL Master File Sorter
program to be generated. The second, defined by PNRINPUT, consists of con-
trol and sort statements specifying the sort fields and their order for the
Sorted Answer File. There are two output data sets used. The first, de-
fined by PNRSORTR, contains the COBOL source code produced by the Master
File Sorter Generator program. The second, defined by PNRPRINT, contains
the diagnostic messages generated during the generation process.
The second step, the COBOL compiler, compiles the source code produced by
the Master File Sorter Generator and produces an object module which is
passed to the third step, the linkage editor. The linkage editor combines
the Master File sorter object code with COBOL subroutines and produces an
executable load module of the Master File Sorter program.
The fourth step, the Master File Sorter, processes the EIS/P&R Master File
and produces the Sorted Answer File. The input to the Master File Sorter,
defined by PNRINPUT, consists of an EIS/P&R Master File. There are two
output files used by the Master File Sorter. The first, defined by PNRMASTR,
contains the Output Sorted File produced by the Master File Sorter. The
second, defined by PNRPRINT, contains diagnostic messages generated during
the sorter process.
The fifth and final step, the delete step, deletes the output sorter load
module, defined by LOADMOD, created by the linkage editor.
347
-------
Sort Control
Cards
JXSRTGEN
Program
Sort
Program
Skeleton
Sorter
Program
Diagnostic
Messages
COBOL Compile
and Link Edit
Sorter
Load
Module
EIS/P&R
Master
File
^ ^
k
1
Sorter
r
PNRSORTR - Data Flow
Figure A-13
348
-------
DDNAME
Description
PNRINPGM
PNRINPUT (step 1)
PNRSORTR
PNRPRINT
PNRINPUT (step 2)
PNRMASTR
LOADMOD
COBOL skeleton master file sorter code
Control and sort statement cards
COBOL master file sorter program source code
Print file for diagnostic messages
EIS/P&R Master File from which sorted file is to be
generated
Sorted file generated from the EIS/P&R Master File
Output sorter load module created by the linkage editor.
PNRSORTR - DDNAMES
349
-------
Parameter
Name
Default
Value
Description
PROJECT
'SYS2.PNR1 Highest level index of data set names
(e.g., SYS2.PNR.DATA.FTMSTRAA)
PARAM
'SIZE=94K, COBOL parameters for compile
NOSEQ.SUPMAP,
NOSOURCE1
PROGRAM
JXSRTGEN
Program to generate the Master File Sorter
TEMP
SYSDA
Unit type for temporary work space
MSTRFIL
FTMSTRAA Lowest level index of EIS/P&R Master File
from which the sorted file is to be generated
SORTFIL
STSORTAA
Lowest level index of EIS/P&R Sorted File
UNIT
2314
Unit type upon which Sort File is to reside
SERIAL
RTCC02
Volume serial of volume upon which the Sort
File is to reside
DISP
'NEW,PASS,
DELETE
Disposition of Sorted File
SPCUNIT
TRK
Units in which space for the Sorted File is
to be allocated
PRIMARY
20
Number of units to be allocated for the
Sorted File's primary allocation
PNRSORTR - Substitutable Parameters
350
-------
SECNDRY
10
Number of units to be allocated for the
Sorted File's secondary allocation
MEMBER
STMSTSRT Skeleton input program to the Master File
Sorter Generator
SORTSPC
50
Number of units to be allocated for the
sort's work space
OUT
SYSOUT class of all print files.
PNRSORTR - Substitutable Parameters
351
-------
FNRSORTR
K3
//* PNRSCKTR HURLEY RF
//*
//PNRSORTR PROC PRDJECT=SYS2.PNR,
// PROGRAM=JXSPTGEN,
// PARAM=«SIZE=94K,BUF=10K,NOSEQ,SUPMAP,NOSOURCE«,
// TEMP=SYSDA,
// MSTRFIL=FT*STRAA,
// SORTFIL=STSCPTAA,
// UNIT=2314,
// SERIAL=RTCCC2,
// DISP='NEW,PASSTDELETE
-------
"FNRSORTR
Ui
//SYSDTERM DD SYSOUT=GOUT
//*
//SYSUDUMP DD SYSOUT=ECUT
//*
//COBOL EXEC PGM=IKFCBLCO,
// PARM='tPARAM1,
// REGICN=100K,
// TIME=(2,0)
//*
//* COMPILE SCRTER PROGRAM
//*
//*
//* INPUT DATA SET - SOURCE LIBRARY
//*
//SYSLIB DO DSNAHE=CPRCJECT..SOURCE,
// VOLU^E=(PRIVATE,RETAIN),
// DISP=(SHR,PASS)
//*
//* INPUT DATA SET - COBOL SORTER PROGRAM SOURCE CODE
//*
//SYSIN DD DSNAME=CCPRCGRAM,
// DISP = ((UO, DELETE)
//*
//* OUTPUT DATA SET - DIAGNOSTIC MESSAGES
//*
//SYSPRINT DD SYSOUT=£OUT
//*
//« OUTPUT DATA SET - COBCL SCRTER PROGRAM OBJECT CODE
//*
//SYSLIN DD UNIT=£TEMP,
// DISP=(NEH,PASS),
// SPACE=ITRK,(5,2),RLSE),
// DSNAME=eeOBJMOD
//*
//* UTILITY DATA SETS
//*
//SYSUT1 DD UNIT=CTEMP,
// SPACE=
-------
PNRSORTR
Co
Ut
//SYSLIB DD OSNAfE=GPHCJECT..LOAD,
// VOLUKE = (PRIVfiTE,RETAIN ),
// DISP = (SHrc,PASS)
// DD DSNAME=SYS1.COBLIB,
// D!SP=(SHR,PASS)
//*
II* INPUT DATA SET - COBOL SORTER PROGRAM OBJECT CODE
//*
//SYSLIN DD OSNAME=tCOBJ^OO,
// DISP=IOLD,DELETE)
// DD DONAME=INPUT,
// DC8 = BLKSUE = 80
//* OUTPUT DATA SET - DIAGNOSTIC MESSAGES
It*
//SYSPRINT DD SYSOUT=COUT
//*
//* OUTPUT DATA SET - COBOL SORTER PROGRAM LOAD MODULE
//*
//SYSLMOD DD UNIT=CTEMP,
// OISP=(MOD,PASS),
// SPACE=tTRK,(10,5,l)),
// DSNAMe=G£LOADMOD(SORTER)
//*
//* UTILITY DATA SET
//*
//SYSUT1 00 UNIT=&TEMP,
// SPftCE=(TRK, (10,5))
//*
//SORT EXEC PGM=*.LKED.SYSLMCD,
// COND = ( (5,LT,COBOL), 15,LT,LKEOM,
// ' REGION=100K,
// TIME=(1,0)
//*
//* SORT EIS/PSR MASTER FILE
//*
//STEPLIB DD OSNANE=CPROJECT..LOADr
// VOLUHE = l PRIVATE, RETAIN ),
// DISP=(SHR,PASS)
//*
//* INPUT DATA SET - EIS/PGR MASTER FILE
//*
//PNRINPUT OD OSNAKE=CPRCJECT..DATA.£MSTRFIL,
// VOLUKE=IPRIVATE, RETAIN),
// DISP=(SHR,PASS)
//*
II* OUTPUT DATA SET - SCRTEO FILE
//*
//PNRMASTR DD UNIT=£1UNIT ,
// VnLUfE=(PRIVATE,RETAIN,SER=&SERI AL) ,
// DISP=(&DISP),
// SPACE=(eSPCUNIT,(£PRIMARY,6SECNDRY),RLSE),
// DSNAME=CPRCJECT..DATA.£SORTFIL
//*
//* OUTPUT DATA SET - DIAGNOSTIC MESSAGES
//PNRPRINT DD SYSOUT=COUT
//*
0001 1700
00011800
00011900
00012000
0001210C
OOC12200
00012300
00012400
00012500
OOC12600
00012700
00912800
00012900
00013000
00013100
00013200
00013300
00013^.00
00013500
00013600
00013700
00013800
00013900
0001AOOO
03014100
00014200
00014300
00014400
OC014500
00014600
00014700
OOC14800
OOC14900
00015000
00015100
00015200
00015300
00015400
00015500
00015600
00015700
00015300
00015900
00016000
00016100
00016200
00016300
00016400
00016500
OOC16600
00016700
00016BOO
00016900
00017000
OOC17100
00017200
00017300
00017400
-------
PNRSORTR
OJ
Ui
//* SORT/MERGE DATA SETS
//*
//SORTLIB DO DSNAME=SYS1.SORTLIB,
// DtSP=tSHR.PASS)
//*
//SORTWK01 DO UNIT=CTEMP,'
// SPACE=(TRK,£SORTSPCt.CONTIG)
//*
//SORTWK02 DO UN IT=(tTEMP ,SEP = SQRTWK01),
// SPACE=(TRK,eSORTSPC,.CONTIG)
//*
//SORTWK03 DO UNIT=(6TEMP,SEP=(SORTWKO1,SORTWK02)).
// SPACE=(TRK,CSORTSPC,,CONTIG)
//*
//* OUTPUT DATA SETS - SYSTEM OPERATION
//*
//SYSPRINT DO SYSOUT=£OUT
//SYSOUT DO SYSOUT=SCUT
//*
//SYSDBOUT DO SYSOUT=&CUT
//*
//SYSDTERM DO SYSCUT=COUT
//*
//SYSUDUHP DO SYSOUT=tOUT
//*
//DELETE EXEC PGM=IEFBR14,
// TIME=(0,5)
//LOADMOD DO DSNAf"E=CtLCADMOD,
// DISP=COLD,DELETE)
//*
00017500
00017600
00017700
00017800
00017900
00018000
00018100
OOOIS200
00018300
00018400
00018500
00018600
00018700
00018800
00018900
OOC19000
OOG19100
00019200
00019300
00019^00
00019500
OOC19600
OOC19700
00019300
00019900
00020000
00020100
00020200
00020300
OOC20AOO
0002050C
00020600
-------
PNRTBGEN - EMISSION FACTORS TABLE GENERATOR
PNRTBGEN is executed to generate an emission factors table. The input to
the generation program consists of emission factors table transactions,
defined by PNRTRANS. There are two output files used by the Generation
program. The first, defined by PNREFTBL, contains the emission factors
table produced by the program. The second, defined by PNRPRINT, contains
diagnostic messages generated during the emission factors table generation
process.
356
-------
I Emission
Factors Table
Transactions
PNRTBGEN - Data Flow
Figure A-14
357
-------
DDNAME Description
PNRTRANS Emission factors table transactions
PNRPRINT Print file for diagnostic messages
PNREFTBL Data set to contain emission factors table.
PNRTBGEN - DDNAMES
358
-------
Parameter
Name
Default
Value
Description
PROJECT
'SYS2.PNR' Highest level index of data set names
(e.g., SYS2.PNR.DATA.FTMSTRAA)
PROGRAM
TXTBLGEN
Program to generate emission factors table
EFTABLE
EFTABLE
Lowest level index of emission factors table
TEMP
SYSDA
Unit type for temporary work space
UNIT
2314
Unit type upon which the emission factors
table is to reside
SERIAL
RTCC02
Volume serial of volume upon which emission
factors table is to reside
DISP
'NEW.CATLG,
DELETE1
Disposition of emission factors table
SPCUNIT
TRK
Units in which space for the emission factors
table is to be allocated
PRIMARY
Number of units to be allocated for the emission
factors table's primary allocation
SECNDRY
Number of units to be allocated for the
emission factors table's secondary allocation
OUT
SYSOUT class for all print files.
PNRTBGEN - Substitutable Parameters
359
-------
FNRTBGEN
CO
CTi
O
//* PNRTBGEN HURLEY RF
//*
//PNRTBGEN PRCC PROJECT=SYS2.PNR« ,
// PRr)GRAM = TXTBLGEN,
// EFTABLE=EFTABLE,
// TEMP=SYSOA,
// UNIT=2314,
// SERIAL=RTCCC2,
// DISP='NEW,CATLG,DELETE'.
// SPCUNIT=TRK,
// PRIMARY=5,
// SECNDRY=1,
// OUT=A
//*
//GENERATE EXEC PGM=£PROGRAM,
// REGION=1COK,
// TIME=<1,0)
//*
//* GENERATE EIS/PEP. EMISSION FACTORS TABLE
//*
//STEPLIB DO OSNAME=CPROJECT..LOAD,
// VOLUPE=(PRIVATE,RETAIN),
// ' DiSP=(SHR,PASS)
//*
//* INPUT DATA SET - EF TABLE TRANSACTIONS
//*
//PNRTRANS DO DDNAME=INPUT,
// DCB=BLKSIZE=80
//*
//* INPUT DATA SET - SORT PROGRAM LIBRARY
//*
//SORTLIB DO DSNAME=SYS1.SORTLIB,
// VOLUKE=(PRIVATE,RETAIN),
// DISP=(SHR,PASS)
//*
//* OUTPUT DATA SET - DIAGNOSTIC MESSAGES
//*
//PNRPRINT DO SYSOUT=tOUT
//*
//* OUTPUT DATA SET - EMISSION FACTORS' TABLE
//*
//PNREFTBL CD UNIT=tUNIT,
// VOLUNE=lPRIVATE,RETAIN,SER=tSERIAL),
// DISP = (EOISP) ,
// SPACE=USPCUKiT,(EPRlMARY,eSECNDRY),RLSE) ,
// DSNA^E=tPRCJECT..DATA.GEFTABLE
//*
//* UTILITY DATA SETS
//*
OD UNIT=CTEMP,
SPACE=(TRK,(10,5),.CONTIG)
WF4 01/31/75
//SORTWK01
II
//*
//SORTWKC2
II
//*
//SCRTWK03
II
II*
DO UNIT=( CTEMP,SEP = SORTWK01 ) ,
SPACE=(TRK,J1-0,5),,CONTIG)
00 UNIT=(£TEMP,SEP=«SORTWK01,SORTWK02)
SPACE=CTRK,C10,5)ttCONTIG)
00000100
OOOC0200
OOCH0300
OOOOO'iOO
00000500
00000600
00000700
OOOG0800
00000900
00001000
00001100
OOOC 1200
00001300
OCGG14GO
00001500
OOGC1600
00001700
OOGC18CO
00001900
00002000
00002100
0000220G
OOC023CO
OOGC2AOO
OOCC2500
OOG02600
00002700
OOGG2800
00002900
OC003000
OCC03100
00003200
00003300
OC003AOO
00003500
00003600
00003700
00003800
00003900
OOCOAOOO
OG0041GO
0000^.200
OOCOA300
OOOQ'tAOO
G0004500
0000^600
000047GO
00004800
0000^900
OOOC5000
00005100
00005200
00005300
00005400
00005500
00005600
OOOG5700
00005800
-------
FNRTBGEN
//* OUTPUT DATA SETS - SYSTEM OPERATION
//*
//SYSPRINT DO SYSOUT=£OUT
//*
//SYSOUT DD SYSOUT=tOUT
//*
//SYSOBOUT DD SYSOUT=COUT
//*
//SYSOTERM DO SYSOUT=£OUT
//*
//SYSUDUMP DD SYSOUT=COUT
//*
00005900
00006000
000061CO
00006200
OOOC6300
00006^.00
OOOU6500
OOC06600
O0006700
O0006SOO
00006SOO
O0007000
ON
-------
USE OF CATALOGED PROCEDURES
The following subsection gives an example of how to use the cataloged pro-
cedures. The sample run described in this section creates an EIS/P&R
Master File, retrieves an Answer File from it, lists the Answer File and
produces a summary report. These tasks can be accomplished by stringing
together the proper catalogued procedures. Figure A-15 illustrates the
job control cards and procedures required to perform this run.
The first step creates an EIS/P&R Master File named SYS2.PNR.DATA.FTMSTRAA.
Since the file is being newly created rather than updated, the DDNAME
PNROLDMS is nullified with a DD DUMMY statement to indicate that no old
Master File exists. The file maintenance transactions must consist en-
tirely of ADD transactions. After the file has been created, it is cata-
logued by the JCL so that it may be referred to by succeeding steps with-
out supplying specific location information.
The second step involves the retrieval language processor to read the
queries and generate a retriever program. If parameters are specified on
the EXEC card, the program will be compiled using them rather than those
in the procedure. An Answer File named SYS2.PNR.DATA.RTANSRAA will be
produced and passed to later steps. It may be referred to by succeeding
steps as if it has been cataloged. However, it will be deleted at the end
of the job.
Step three invokes the file list program to list the Answer File. Figure
A-16 truly reflects the results of the Detail List program.
The final step merges the COBOL break control statements with the skeleton
Summary Report program and compiles it. Again, the parameters used during
compilation can be overridden by the EXEC statement. The control cards
defined by SUMMARY.INPUT will control the titling of the summary report.
362
-------
Figure A-17 is an example of this type of report, but is not the true re-
sults of the JCL in Figure A-16.
363
-------
//STEP1 EXEC PNRFUPDT,
// NEWMSTR=FTMSTRAA
//UPDATE.PNROLDMS DD DUMMY
//UPDATE.INPUT DD *
191280067006072000 126015FE. E. ELECTRIC
191280067006072000SHOCKING POWER COMPANY
191280067006072000
1912800670060720000101 000000000000000
19128006700607200001012807603200183000 0000
000000
0600000000000000
0600000000000000
0090006500000000
0600000000000000
0600000000000000
0069320
002255232474500572000
0000000000
0000000 0
0000000
0000000
0000000 0
0000000 0
31510500023
3
3
1912800670060720000142602
1912800670060720000142401
1912800670060720000111101
1912800670060720000142101
1912800670060720000143101
191280067006072000010520200201
19128006700607200001052B A
191280067006072000010542401000200000SU11101000100000SU42101000500000SU
191280067006072000010543101000400000SU42602000300000SU
w 191280067006072000011020200601 0001354 63400000999
* 19128006700607200001102B A
191280067006072000011011101000100000SU42101000500000SU43101000400000SU
191280067006072000011042602000300000SU42401000200000SU
//STEP2 EXEC PNRRETVR
//COMPILE.INPUT DD *
$$SELECT
STATE
COUNTY
AQCR
PLANT-ID
NEDS-POINT-ID
01A
02A
03A
11A
12A
13A
13A
13A
13A
13A
21A
22A
23A
23A
21A
22A
23A
23A
(SCC
SCC
$$END
//STEP3
II
'19'
'1280'
'067'
'0060'
'01'
120200201'
'20200601')
AND
AND
AND
AND
AND
OR
EXEC PNRPREPT,
MSTRFIL=RTANSRAA
Sample EIS/P&R Job Stream
Figure A-15
-------
//STEPA EXEC PNRBREPT,
// MSTRFIL=RTANSRAA
//COMPILE.INPUT DD *
MOVE MSTR-POLLUTION-ID (EM-SET-INDEX) TO BREAK-ONE.
//SUMMARY.INPUT DD *
OP1 EIS SUMMARY DEMONSTRATION SUM BY POLLUTION 03/06/73
OP2 EIS DEVELOPMENT GROUP,IBM MR. LLOYD HEDGEPETH,EPA
OP 3
OP4 POLL. ID
Sample EIS/P&R Job Stream
Figure A-15 (Continued)
-------
STATE COUNTY AQCR PLANT ID
19 1260 067 0060
YEAK DAY ID F.E-GIGN CONTROL
72 000 000
ESTABLISHMENT r.-;wF AND ADDRESS
DATE SEG-1ENT POINT ID
72 000 101 01 OCOC CO
-~tir- C o ,- r r T i <-' i/
C^ACITY r.EAT HEIGHT CIAM TE'-'iP FLOH
00572 00.0 0128 07.6 0320 C183
VJ-13E5 OF POLLUTANT CONTROL CGNTR
! POLLUTANTS ID COST ??1
r r ' ~* ' 0 "* r* i f*
42401 C60
11101 CC9
PLANT ID CITY UT.« ?r
1260 15
UTW
COO.
RATE
CCO
CL EC
SEC
r- -> *>
oco
oco
NUMBER CF ?-.;
ZIP EMPLOYEES -
COORDINATES LATH
0 CCCO.O
VELOCITY PLUWE PNTS
0000
U1P ESTM. CNTL
EFFICIENCY ESI
or" r* '
cc.o c:
65.o c:
C 0 C f} ~
NE OWN
F
CPERTY
AREA
/- ^ o 0
UDE
r i- r
CCMP
E M
I. ".ATE
^ ^ ^ T °
22694
C3971
*"' ' "* 0 0
p p T f ." 7 -> A i
ER CONTACT . TELEPHONE PRCJUCT
E.E. ELECTRIC
MAILING ADDRESS ZIP
LONGITUDE ANNUAL THP.'JPUT UCRV.AL OPERATING
00 22 55 23 24 7 45
YEAR MONTH YEAR MONTH DAY ECAP PEG 1 P.EG 2 REG 3
00 CO 00 00 00
I S S I 0 N S ESTIMATE TEST
MEASURED ALLOWABLE UNITS METHOD METHOD
COOOOOO 3
000-0000 3
43101
060
COO
00.0
CJO0000
SULF-U
0000000
4^^-
EAR DiY IO I I I I I I I V NBR
72 000 2 01 05 2 C2 C02 01
ID UNI IS PROCESS
OC69320
RATE CONTENT CONTENT CONTENT CONF SOURCE
3. 15 10.5 00023 2 B
i E F
j SOURCE DESCRIPTION SOURCE
i
I
NUMBER OF
£?-'SN FCTR
^ r
POLLUTANT
1C
111C1
42101
EM SSION
FACTOR
OCO 100.
CC0500.
GO
00
ASH /
SULFUR
S
s
f
FACTOR - -
UNITS
U
U
426C2
C00300.000
-y^t-
EiF. C1Y I'D I H I 1 I IV
72 COO 2 01 10 2 02 C06 01
ID UNITS PROCESS
OCC1354
RATE ' CONTENT CONTENT CONTENT CONF SOURCE
6.34 00.0 00999 2- 8
SOURCE DESCRIPTION
E F .
SOURCE
N'UrSEF. CF
E/'SN FC TR
POLLUTANT EMISSION
ID FACTOR
ASH / FACTCR
SULFUR UNITS
1UCI
42101
43101
L i- '- ^ v- 'J i n - U
CCOSOO.JCO
GC0400.1'00
u
u
42401
CC0200.000
Sample Detail List
Figure A-16
-------
MR FCL.lt.TANT £PISSli!\S SUMMARY
C3/06/73
r>7LHJTlCfl
FIS DEVELOPMENT GROUPrlEf
^R. LLCVC h
-TWC-
PCL
-IS
5"!-SS
EGUIP.M£NT-CCST-
53
3,020,356
2C.202
E7.5CO
-58
-:38l»5l8-
-ACC.OOO-
5.0C-
7-
7,816,517
20,20^-
20,202
5C7.5CO
J.QC
-
2C ,202
2 C , 2 1/ 2
D C 7 , 500
jC f t -UU
$ . 30
! . CC
-^4-
gample Summary Report
A-17:
-------
Appendix B - Sample Runs
This appendix presents sample system runs. In the samples the transactions,
files, and tables are represented as residing on disk, tape, and card and
are shown changing media during and between runs. This is not a system
requirement but is merely to indicate the flexibility of external data
storage. The following is not an exhaustive list of possible system pro-
gram combinations but is a sample of possible uses. A sample job stream
follows each flow diagram.
Figure B-l shows a system start up run. There are no existing files for the
Emission Factor Table or the Master File. The first step is to create an
Emission Factor Table using program TXTBLGEN. The table can then be used
to insert the new Emission Factors into E1S/P&R transactions. The NEDS
Point Source Transactions are run through program CXNEDSCV to convert them
to the EIS/P&R input transaction format. The NEDS transaction cards are
then put into a hold file.
The new EIS/P&R transactions can now be used as input to program KXEMFINS
which will use the Emission Factor Table to insert the emission factors into
the transactions. These updated EIS/P&R transactions can then be used to
create a Master File using program FXFILMNT. Notice that there is no old
Master File being used in this run.
Figure B-2 shows the conversion of NEDS Area Source Transactions into EIS/
P&R transactions using program DXNEDSAS. The EIS/P&R transactions are then
run through program KXEMFINS. In this run, since the Emission Factor
Table already exists, we use it to insert the emission factors into the
EIS/P&R transactions.
The new transactions are now used to update the existing Master File using
FXFILMNT. The old Master File should be kept until the next update has
368
-------
been run. This will provide a backup file in case anything happens to the
current Master File. At this point, the Master File may be listed using
program PXFILPRT. The formatted listing provides a further backup for the
file. The entire file should be listed periodically to provide current
file status checks.
Figure B-3 shows the Retrieval program package being used to select the
area source records from the Master File. The File Print Program PXFILPRT
is used to print a formatted listing of the answer file. The program
AXASNEDS uses the answer file and produces the NEDS Area Source Cards.
The area source cards may be listed using program HXANREPT which produces
a formatted list of the NEDS formats.
Figure B-4 shows the Retrieval program package being used to select the
point source records from the Master File. The Answer File from this
retrieval is then listed using program PXFILPRT. The answer set is then
used as input to program NXNEDSCV which converts it to NEDS point source
cards. The NEDS cards can then be used to file the quarterly NEDS report.
Figure B-5 shows the Retrieval program package being used to select a set
of data based on the requirements of the request cards. A formatted detail
listing of the answer set is produced by program PXFILPRT. The information
in the answer set is summarized by program BXSUMARY to produce the EIS/P&R
Summary Report.
Figure B-6 shows the Emission Factors Transaction Generation program, EXTRNGEN,
used to generate transactions using both the Master File and the emission
factors as found in the Emission Factors Table. These generated transactions,
along with any manually prepared transactions, are then processed by the
Transaction Sorter, IXTRNSRT, to put them in the proper sequence necessary for
processing by FXFILMNT, the File Maintenance program. This new Master File
is then sorted into a user-specified sequence using the Master File Sorter
369
-------
package to produce an Answer File from which a detailed list of this sorted
file is produced by program PXFILPRT.
Figures B-7 through B-10 are the EIS/P&R forms for the point source data.
370
-------
imission
'actors
'ransactions
NEDS Point
Source
Transactions
[Emissi
Factor
Transa
T
on
s
ctions
r
Diagnostic
Messages
' 1
r
f NEDS Point
Source
Transactions
^ Diagnostic
Messages
(Old EIS/P&R
Point Source
[Transactions
Sample Run 1
Figure B-l
371
-------
//STEP1 EXEC PNRTBGEN
//GENERATE.INPUT DD *
Emission Factors Table Transactions
//STEP2 EXEC PNRCNVRT
//CONVERT.INPUT DD *
NEDS Point Source Cards
//CONVERT.OUTPUT DD UNIT=SYSDA,
// DISP-(NEW.PASS),
// SPACE-(TRK,(10,5),RLSE),
// DSNAME-&&NEDS
//STEP3 EXEC PNRKEFIN
//INSERT.INPUT DD DSNAME-&&NEDS,
// DISP»(OLD,DELETE)
//INSERT.OUTPUT DD UNIT=SYSDA,
// DISP-(NEW,PASS),
// SPACE-(TRK,(10,5),RLSE),
// DSNAME-&&TRANS
//STEP4 EXEC PNRFUPDT,
// NEWMSTR=FTMSTRAA
//UPDATE.PNROLDMS DD DUMMY
//UPDATE.INPUT DD DSNAME-&&TRANS,
// DISP-(OLD,DELETE)
Figure B-l.l
Sample Job Stream
372
-------
NEDS Area
Source
r t- i nng
NEDS Area
Source
Transactions
DXNEDSAS
NEDS Area
Source
Conversion
Diagnostic
Messages
EIS/PiR
Area
Source
Trans
Emission
Factors
Table
^ ^
fc
*
KXFMFTNS
Emission
Factors
Insertion
fc.
W
Diagnostic
Messages
Master
File
EIS/P&R
Area
Source
Trans
fc
r
i
r
FYFTTMNT
File
Maintenance
Program
|l
Diagnostic
Messages
L_____^
New
Master
File
b.
PXFILPRT
File Print
Program
3
1
b
Formatted
File Listing
Master
File
Sample Run 2
Figure B-2
373
-------
//STEP1 EXEC PNKDCONV
//CONVERT.PNRTRANS DD UNIT-SYSDA,
// DISP»(NEW,PASS),
// SPACE»(TRK,(10,5),RLSE),
// DSNAME-&&NEDS
//STEP2 EXEC PNRKEFIN
//INSERT.INPUT DD DSNAME-&&NEDS,
// DISP-(OLD,DELETE)
//INSERT.OUTPUT DD UNIT-SYSDA,
// DISP-(NEW,PASS),
// SPACE-(TRK,(10,5),RLSE),
// DSNAME-&&TRANS
//STEP3 EXEC PNRFUPDT
//UPDATE.INPUT DD DSNAME-&&TRANS,
// DISP-(OLD,DELETE)
Figure B-2.1
Sample Job Stream
374
-------
5
r
PXFTLPRT
File Print
Program
J
r
to
Formatted
File Listing.
Answer
File
Control
Card
AXASNEDS
EIS/P&R to
NEDS Area
Source Conv
Diagnostic
Messages
NEDS Area
Source Cards
Formatted
NEDS Area
Source List
V
Sample Run 3
Figure B-3
375
-------
//STEP1 EXEC PNRRETVR
//COMPILE.INPUT DD *
$$SELECT
USER-PLANT-ID - 'AREA SOURCE1
$$END
//STEP2 EXEC PNRPREPT,
// MSTRFIL-RTANSRAA
//STEP3 EXEC PNRANCNV,
// MSTRFIL-RTANSRAA
//CONVERT.INPUT DD *
A
//STEP1 EXEC PNRHREPT
//REPORT.PNRNEDS DD *
NEDS Area Source Cards Punched By Preceding Job
Figure B-3.1
Sample Job Stream
376
-------
Retrieval
Request
Cards,
; Retrieval
Request
LXLNGPRC
Retrieval
Answer
File .
Diagnostic
Messages
1
r
PXFILPRT
File Print
Program
1
r
b
w
Formatted
File Listing
[^~~^
Diagnostic
Messages
Sample Run 4
Figure B-4
377
-------
//STEP1 EXEC PNRRETVR
//COMPILE.INPUT DD *
$$SELECT
USER-PLANT-ID N = 'AREA SOURCE1
$$END
//STEP2 EXEC PNRPREPT,
// MSTRFIL-RTANSRAA
//STEP3 EXEC PNRNCONV,
// MSTRFIL-RTANSRAA
//CONVERT.INPUT DD *
A
Figure B-4.1
Sample Job Stream
378
-------
Sample Run 5
Figure B-5
379
-------
//STEP1 EXEC PNRRETVR
//COMPILE.INPUT DD *
$$SELECT
Retrieval Specifications
$$END
//STEP2 EXEC PNRPREPT,
// MSTRFIL-RTANSRAA
//STEP3 EXEC PNRBREPT,
// MSTRFIL-RTANSRAA
//COMPILE.INPUT DD *
MOVE Statements
//SUMMARY.INPUT DD *
OP Control Cards
Figure B-5.1
Sample Job Stream
380
-------
[Emission
Factors
Cntrl. Card
Ih
V
EXTRNGEN
!:!' Trans-
lation
Generator
^
r
ncnerated
Transaction;
b
1
Diaqnostic
Messages
/Hand
Transaction
(land
M;:ntered
transaction!
PXFILPRT
File Print
Diagnostic
Messages
. s*
Sample Run 6
Figure B-6
381
-------
//STEP1 EXEC PNREFUPD
//EFUPDATE.INPUT DD *
74000 X
//STEP2 EXEC PNRISORT
//SORT.PNRINPUT DD *
Hand Entered EIS/P&R Transactions
// DD DSNAME-SYS2.PNR.DATA.TRANS,
// DISP=(OLD,DELETE)
//SORT.OUTPUT DD UNIT=SYSDA,
// DISP=(NEW,PASS),
II SPACE=(TRK,(10,5),RLSE),
/ DSNAME-&&TRANS
//STEP3 EXEC PNRFUPDT
//UPDATE.INPUT DD DSNAME-&&TRANS,
// DISP-(OLD,DELETE)
//STEP4 EXEC PNRSORTR,
// MSTRFIL-FTMSTRAB
//COMPILE.INPUT DD *
$$SORT
Sort Specifications
$$END
//STEPS EXEC PNRPREPT,
// MSTRFIL-STSORTAA
Figure B-6.1
Sample Job Stream
382
-------
State
en
fl>
trri rt
H- fl>
iO !3
oo (D °
w « s1
Do P
j-5
County
Control
Reg«n
19 20
21
19 20
21
Local
Control
22 23
24
A QCR
25 26 27
Plant ID
Number
User Plant ID
28 29 30 31
Vear
32 33
Oav
34 35
Ei
tab'isriment Name
EMISSION INVENTORY SUBSYSTEM (EIS)
COMPREHENSIVE DATA HANDLING
SYSTEM ICOHS) PLANT IDENTIFICATION
inout Fo,m
Name ol Person
Comoletsna Form
Dale
c,,y
36 37 38 39
UTM
Zone
O
Contaci Personal
Telephone
58 59 60 61 62 63 64 65 66 67
nd Address
o
§
68 69 70
Principal Product
71 72 73 74 75 . 76
s
1
Establishment Mailing AfldiPSS
19 20
21
22 23
24
25 26 27
Property Arei
A
77
I
0
s
78
0
c
79
1
c
79
2
;
BO
80
S
- - - - -
g
78
0
ct
79
3
:
80
""
-------
Stain
County
AQCR
i
Plant ID
Number
I !
Date
Y«»r
of Record
Day
EMISSION INVENTORY SUBSYSTEM (EISJ
COMPREHENSIVE DATA HANDLING
SYSTEM (CDHS)
POINT SOURCE
(Segment U
Input Form
Name of Person
Completing Form_
*»'
Pi
NEDS
o*m ID
UMT .
23 | 24 , 25
I 1
SIC
1 I
( 1 !
IPP
i
UTfk
Horizontal
1
A
A Coordinates
Vertical
!
' : ' A
Deg
Latitude
Mm
S«c
Longitude
Deo
*
Min
50 51
Sec
52 53
Dec-
Feb
54 55
% Annua
Mar-
May
June-
Aug
Seot-
Nov
1
1
Nor
Oper
Hf
ma)
atmE
O
Wk
.
Boiler
Design
Capacity
% Space
Heat
.
A
9
1
C
1
BO
n
p- (D
H
O
en
19 !20
»'
19 i 20
21
22
23|24
Polhilam
10
!
j
1
I j
j
!
i
^L
! '
j ; j
Control
Equipment Cost
26 1 27 ! 28 29 '. 30 31
i
i A
i ' . .
A
i i
i i
I : i
i i ;
; A ,
1 i i :
i
i
' A
! i i A '
1 : i i A
' ! A -
: ' ' A
i j A i
1 i
i ! i i
! 1 A '
Control
Equipment
i
i '-
\ :
i !
Secondary
Control
Equipment
i
i :
i ;
i
!
: '
1
! '
! ;
j :
Estimated
Control
Efficiency
A
A
A
' A
A
A
A
A
A
A
A
A
A
A
A
A
Estimate
i
M
Err
55 56
asured
ISSiOflS
-
-
57 58
59 60
61 62
allowable
63
IS
64 65 66 67
:
64
:-
65
72 73 74 75
76 77
66 67
68 69 70 71
i :
. ! I :
'.::!'
* - ' ' ; i
' i - ; ; i
: ! : : : i
78
1
I
78
.
'
1
1
1
1
1
1
1
1
1
1
1
1
1
79
2
;
79
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
80
;
80
-------
en
tt>
hj °0
)-i. (D
1"! NJ
M
J C
VC rt
o
I-J
Suw
"a1
19
20
"a1
19
20
10
19 120
County
S*
21
S2
^g2
21 i 22
10
1
23
AQCR
Plant 10
Numtwr
sec
I '
s
oC
25 26 27 ' 28
IV
,
Date
Year
j
BEC
! -
of Roco'd
Day
10
:-
EMISSION INVENTORY SUBSYSTEM (ElS)
COMPREHENSIVE DATA HANDLING N
SYSTEM (CDHS)
achine - Process
(Segment 21
Input Form
Name of Person
Completing Form
Date
Fuel Process.
Solid Waste
Ope'anng. Rate
-TS,
A
Source Description
35
i '. ! ! ' : ; ' I ' i
Pollutant
ID
23 : 24 ' 25 , 26 27
i l '
30
imis
lion Facto'
! A
A
: A
i i A ,
. c
s J
(:
Pollutani
ID
5
Sulfur
Content
A
Ash
Content
A
Heat
Content
57 58 59 60 61
' i ! i 1 ! ! i
51 52 53 54 55 56 57 58 59 : GO . 61 62 63 W 65 66 67 68 69 70 71 72 \ 73 : 74
Em,SS,0nf«,o,
A
' ' ' 1
A
k__
k__
L _
i
A c
J?
~
\
Pollutant
ID
i : ; j I
E~,SS,onFac,o,
A
A
4
- »
^
]
&
78
2
\
2
s
78
2
2
2
2
C
79
1
C
79
2
<
79
3
3
3
3
*
80
J
80
;
80
-------
Siate
1
2
County
3
d
5
6
AQCR
7
8
9
Plam 10
Number
10
11
12
13
Dale
Year
14
15
of Record
Da,
16
1 7
18
EMISSION INVENTORY
PERMIT AND REGISTRATION SUBSYSTEMS (EIS/P8.R) Perm.i-Begisiral.on
COMPREHENSIVE DATA HANDLING 'Pn^uTpo'rm'
SYSTEM ICDHS)
Name of Person
Completing Form_
u>
oo
ON
CO
H- (5
lQ 3
C n
H w
(D
M
CO 0
1 "§
L_I C
O
CO
Segl
ID
19
20
S?D3
21
22
|
1
Line
Number
23J24|25
j
i ! i
I i
j
!
1
i :
i ;
i i
j
i ' ' ; i
1 '. :
1 i : ; - i
L
R
26
27
28
1
29
30
31
32
I
i j
33
34
1 ""
35 ! 36
37
|
38; 39
1
1
|
! i : i ! ;
i i ]
j
40 41 1 42 i 43 44
i ! ! '
1 1 i
i 1 1
45
46 i 47 : 48 ' 49
Co^^en,
50 51 15? ; 53 1 54 ! 55 ' 56 1 57 j 58 ' 59 ! 60 : 61 J6?
i : i ' . i ' '! 1
i .. !
1 : i
: ; i
i 1 1
' . ; ! i i
! j
j i | I i
1 i
! < i
i ! i
! ! i
| ; 1
1 . i
! 1 !
' 1 !
(
l . i i ' . ; ' . . . ' ' ' ' ' ;
: ; ' ;;. :
i ' 1 1 1 1 ' ' i ' i 1
1
i
1
1
1
j
!
1
i ' i
63 | 64 65 j 66
67 | 68 i 69 j 70
j
i
. i
71 172 73
!
1
i i
1
- !
! i : i i
1 i i ; :
i
74
75
76
'.''' . : : ' ' i ' :. ' ' ' ; i
: ; '.'' ' : ' : , j
1
! ! -
i
: . ; i i : ' . i
;
77
1
78
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
C
a
d
79
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3 0
3 0
3 i 0
.; , ! I i ; : < - ' 3
: ; ; i ; . : . : , i | 3
i
i
i
_ '
i i
; , . . ; . : ]
: : : : ; i : ! '. i
' ! 1 : ' . '
i : : : i
j 3
j 3
' 3
3
3
0
;
80
0 i
0
0
0
0
0
-------
Appendix C - Program Modification
Page
Increasing Number of Pollutants
Emission Factors Table Generator 388
Emission Factors Transaction Generator 389
File Maintenance 391
Retriever ..... 393
Master File Sorter 396
File List Output 399
Summary Report Output 400
NEDS Point Source Output 401
NEDS Area Source Output 402
Increasing Number of Machine Process Segments
Emission Factors Transaction Generator 404
File Maintenance 404
Retriever 405
Master File Sorter 405
387
-------
INCREASING NUMBER OF POLLUTANTS
Whenever it is desired to change the maximum number of pollutants to be
handled by EIS/P&R, it is necessary to modify the following programs:
Emission Factors Table Generator
Emission Factors Transaction Generator
File Maintenance
Retriever
Master File Sorter
File List Output
Summary Report Output
NEDS Point Source Output
NEDS Area Source Output
The current limit for the maximum number of pollutants handled by EIS/P&R
is 16.
The following paragraphs discuss the changes to be made in each program
described above.
o Emission Factors Table Generator
Change the VALUE clause of the following sentence:
02 LIT-16 PIC 9(5) COMP SYNC VALUE 16.
on or about sequence number 00013400, from 16 to the new
maximum number of pollutants. For example:
02 LIT-16 PIC 9(5) COMP SYNC VALUE 18.
will increase the maximum to 18 pollutants.
388
-------
Emission Factors Transaction Generator
Change the OCCURS clause of the following phrase:
02 OLD-MAST-RPT1 OCCURS 1 TO 16 TIMES
on or about sequence number 00008800, from 16 to the new
maximum number of pollutants. For example:
02 OLD-MAST-RPT1 OCCURS 1 TO 18 TIMES
will increase the maximum to 18 pollutants.
Change the OCCURS clause of the following phrase:
02 OLD-MAST-RPT2 OCCURS 1 TO 16 TIMES
on or about sequence number 00009600, from 16 to the new
maximum number of pollutants. For example:
02 OLD-MAST-RPT2 OCCURS 1 TO 18 TIMES
will increase the maximum to 18 pollutants.
Change the OCCURS clause of the following phrase:
02 MSTR-POLLUTANT-EMISSIONS OCCURS 1 TO 16 TIMES
on or about sequence number 00049100, from 16 to the new
maximum number of pollutants. For example:
02 MSTR-POLLUTANT-EMISSIONS OCCURS 1 TO 18 TIMES
will increase the maximum to 18 pollutants.
Change the OCCURS clause of the following phrase:
02 MSTR-EMISSION-DATA OCCURS 1 TO 16 TIMES
on or about sequence number 00050900, from 16 to the new
maximum number of pollutants. For example:
02 MSTR-EMISSION-DATA OCCURS 1 TO 18 TIMES
will increase the maximum to 18 pollutants.
389
-------
Change the OCCURS clause of the following phrase:
02 MSTR-EMISSION-FACTOR-INFO OCCURS 1 TO 16 TIMES
on or about sequence number 00055400, from 16 to the new
maximum number of pollutants. For example:
02 MSTR-EMISSION-FACTOR-INFO OCCURS 1 TO 18 TIMES
will increase the maximum to 18 pollutants.
Change the OCCURS clause of the following phrase:
02 MSTR-EMISSION-FACTOR-DATA OCCURS 1 TO 16 TIMES
on or about sequence number 00056400, from 16 to the new
maximum number of pollutants. For example:
02 MSTR-EMISSION-FACTOR-DATA OCCURS 1 TO 18 TIMES
will increase the maximum to 18 pollutants.
Change the PICTURE clause of the following sentence:
03 EF-VALUES PIC X (256).
on or about sequence number 00058600, from 256 to a value
equal to 16 times the new maximum number of pollutants.
For example:
03 EF-VALUES PIC X(288).
will increase the maximum to 18 pollutants.
Change the value of the literal in the following clause:
IF POLID-INDEX-A < 17
on or about sequence number 00083900, from 17 to a value
equal to the new maximum number of pollutants plus one.
For example:
IF POLID-INDEX-A < 19
will increase the maximum to 18 pollutants.
390
-------
File Maintenance
Change the OCCURS clause of the following phrase:
02 MSTR-POLLUTANT-EMISSIONS OCCURS 1 TO 16 TIMES
on or about sequence number 00013000, from 16 to the new
maximum number of pollutants. For example:
02 MSTR-POLLUTANT-EMISSIONS OCCURS 1 TO 18 TIMES
will increase the maximum to 18 pollutants.
Change the OCCURS clause of the following phrase:
02 MSTR-EMISSION-DATA OCCURS 1 TO 16 TIMES
on or about sequence number 00014800, from 16 to the new
maximum number of pollutants. For example:
02 MSTR-EMISSION-DATA OCCURS 1 TO 18 TIMES
will increase the maximum to 18 pollutants.
Change the OCCURS clause of the following phrase:
02 MSTR-EMISSION-FACTOR-INFO OCCURS 1 TO 16 TIMES
on or about sequence number 00019500, from 16 to the new
maximum number of pollutants. For example:
02 MSTR-EMISSION-FACTOR-INFO OCCURS 1 TO 18 TIMES
will increase the maximum to 18 pollutants.
Change the OCCURS clause of the following phrase:
02 MSTR-EMISSION-FACTOR-DATA OCCURS 1 TO 16 TIMES
on or about sequence number 00020500, from 16 to the new
maximum number of pollutants. For example:
02 MSTR-EMISSION-FACTOR-DATA OCCURS 1 TO 18 TIMES
will increase the maximum to 18 pollutants.
391
-------
Change the OCCURS clause of the following phrase:
02 OLD-MAST-RPT1 OCCURS 1 TO 16 TIMES
on or about sequence number 00023900, from 16 to the new
maximum number of pollutants. For example:
02 OLD-MAST-RPT1 OCCURS 1 TO 18 TIMES
will increase the maximum to 18 pollutants.
Change the OCCURS clause of the following phrase:
02 OLD-MAST-RPT2 OCCURS 1 TO 16 TIMES
on or about sequence number 00024700, from 16 to the new
maximum number of pollutants. For example:
02 OLD-MAST-RPT2 OCCURS 1 TO 18 TIMES
will increase the maximum to 18 pollutants.
Change the VALUE clause of the following sentence:
77 MAX-CARD2 PIC 99 COMP SYNC VALUE 16.
on or about sequence number 00046200, from 16 to the new
maximum number of pollutants. For example:
77 MAX-CARD2 PIC 99 COMP SYNC VALUE 18.
will increase the maximum to 18 pollutants.
Change the VALUE clause of the following sentence:
77 MAX-CARD1 PIC 99 COMP SYNC VALUE 16.
on or about sequence number 00046300, from 16 to the new
maximum number of pollutants. For example:
77 MAX-CARD1 PIC 99 COMP SYNC VALUE 18.
will increase the maximum to 18 pollutants.
392
-------
Change the PICTURE clause of the following sentence:
03 FILLER PIC X(325).
on or about sequence number 00075300, from 325 to a value
equal to 16 times the new maximum number of pollutants
plus 69. For example:
03 FILLER PIC X(357).
will Increase the maximum to 18 pollutants.
Change the OCCURS clause of the following phrase:
03 SAVE-POINT-DATA OCCURS 1 TO 16 TIMES
on or about sequence number 00076200, from 16 to the new
maximum number of pollutants. For example:
03 SAVE-POINT-DATA OCCURS 1 TO 18 TIMES
will Increase the maximum to 18 pollutants.
Retriever
Change the OCCURS clause of the following phrase:
02 ANS-MAST-RPT1 OCCURS 1 TO 16 TIMES
on or about sequence number 00006900, from 16 to the new
maximum number of pollutants. For example:
02 ANS-MAST-RPT1 OCCURS 1 TO 18 TIMES
will increase the maximum to 18 pollutants.
Change the OCCURS clause of the following phrase:
02 ANS-MAST-RPT2 OCCURS 1 TO 16 TIMES
on or about sequence number 00007800, from 16 to the new
maximum number of pollutants. For example:
02 ANS-MAST-RPT2 OCCURS 1 TO 18 TIMES
will increase the maximum to 18 pollutants.
393
-------
Change the OCCURS clause of the following phrase:
02 MSTR-POLLUTANT-EMISSIONS OCCURS 1 TO 16 TIMES
on or about sequence number 00018600, from 16 to the new
maximum number of pollutants. For example:
02 MSTR-POLLUTANT-EMISSIONS OCCURS 1 TO 18 TIMES
will increase the maximum to 18 pollutants.
Change the OCCURS clause of the following phrase:
02 MSTR-EMISSION-DATA OCCURS 1 TO 16 TIMES
on or about sequence number 00020400, from 16 to the new
maximum number of pollutants. For example:
02 MSTR-EMISSION-DATA OCCURS 1 TO 18 TIMES
will increase the maximum to 18 pollutants.
Change the OCCURS clause of the following phrase:
02 MSTR-EMISSION-FACTOR-INFO OCCURS 1 TO 16 TIMES
on or about sequence number 00025100, from 16 to the new
maximum number of pollutants. For example:
02 MSTR-EMISSION-FACTOR-INFO OCCURS 1 TO 18 TIMES
will increase the maximum to 18 pollutants.
Change the OCCURS clause of the following phrase:
02 MSTR-EMISSION-FACTOR-DATA OCCURS 1 TO 16 TIMES
on or about sequence number 00026100, from 16 to the new
maximum number of pollutants. For example:
02 MSTR-EMISSION-FACTOR-DATA OCCURS 1 TO 18 TIMES
will increase the maximum to 18 pollutants.
394
-------
Change the VALUE clause of the following sentence:
77 MAX-CARD2 PIC 99 COMP SYNC VALUE 16.
on or about sequence number 00033000, from 16 to the new
maximum number of pollutants. For example:
77 MAX-CARD2 PIC 99 COMP SYNC VALUE 18.
will increase the maximum to 18 pollutants.
Change the OCCURS clause of the following phrase:
02 POLLUTANT-EMISSIONS OCCURS 1 TO 16 TIMES
on or about sequence number 00053100, from 16 to the new
maximum number of pollutants. For example:
02 POLLUTANT-EMISSIONS OCCURS 1 TO 18 TIMES
will increase the maximum to 18 pollutants.
Change the OCCURS clause of the following phrase:
02 EMISSION-FACTOR-INFO OCCURS 1 TO 16 TIMES
on or about sequence number 00057700, from 16 to the new
maximum number of pollutants. For example:
02 EMISSION-FACTOR-INFO OCCURS 1 TO 18 TIMES
will Increase the maximum to 18 pollutants.
Change the PICTURE clause of the following sentence:
03 FILLER PIC X(325).
on or about sequence number 00060600, from 325 to a value
equal to 16 times the new maximum number of pollutants
plus 69. For example:
03 FILLER PIC X(357).
will increase the maximum to 18 pollutants.
395
-------
Master File Sorter
Change the OCCURS clause of the following phrase:
02 MSTR-POLLUTANT-EMISSIONS OCCURS 1 TO 16 TIMES
on or about sequence number 00013300, from 16 to the new
maximum number of pollutants. For example:
02 MSTR-POLLUTANT-EMISSIONS OCCURS 1 TO 18 TIMES
will increase the maximum to 18 pollutants.
Change the OCCURS clause of the following phrase:
02 MSTR-EMISSION-DATA OCCURS 1 TO 16 TIMES
on or about sequence number 00015100, from 16 to the new
maximum number of pollutants. For example:
02 MSTR-EMISSION-DATA OCCURS 1 TO 18 TIMES
will increase the maximum to 18 pollutants.
Change the OCCURS clause of the following phrase:
02 MSTR-EMISSION-FACTOR-INFO OCCURS 1 TO 16 TIMES
on or about sequence number 00019800, from 16 to the new
maximum number of pollutants. For example:
02 MSTR-EMISSION-FACTOR-INFO OCCURS 1 TO 18 TIMES
will increase the maximum to 18 pollutants.
Change the OCCURS clause of the following phrase:
02 MSTR-EMISSION-FACTOR-DATA OCCURS 1 TO 16 TIMES
on or about sequence number 00020800, from 16 to the new
maximum number of pollutants. For example:
02 MSTR-EMISSION-FACTOR-DATA OCCURS 1 TO 18 TIMES
will increase the maximum to 18 pollutants.
396
-------
Change the OCCURS clause of the following phrase:
02 OUT-MAST-RPT1 OCCURS 1 TO 16 TIMES
on or about sequence number 00022600, from 16 to the new
maximum number of pollutants. For example:
02 OUT-MAST-KPT1 OCCURS 1 TO 18 TIMES
will increase the maximum to 18 pollutants.
Change the OCCURS clause of the following phrase:
02 OUT-MAST-RPT2 OCCURS 1 TO 16 TIMES
on or about sequence number 00023500, from 16 to the new
maximum number of pollutants. For example:
02 OUT-MAST-RPT2 OCCURS 1 TO 18 TIMES
will increase the maximum to 18 pollutants.
Change the PICTURE clause of the following sentence:
02 SORT-MSTR-RECORD PIC X(852).
on or about sequence number 00025200, from 852 to a value
equal to 45 times the new maximum number of pollutants
plus 132. For example:
02 SORT-MSTR-RECORD PIC X(942).
will increase the maximum to 18 pollutants.
Change the OCCURS clause of the following phrase:
03 SORT-MAST-RPT1 OCCURS 1 TO 16 TIMES
on or about sequence number 00027300, from 16 to the new
maximum number of pollutants. For example:
03 SORT-MAST-RPT1 OCCURS 1 TO 18 TIMES
will increase the maximum to 18 pollutants.
397
-------
Change the OCCURS clause of the following phrase:
03 SORT-MAST-RPT2 OCCURS 1 TO 16 TIMES
on or about sequence number 00028700, from 16 to the new
maximum number of pollutants. For example:
03 SORT-MAST-RPT2 OCCURS 1 TO 18 TIMES
will increase the maximum to 18 pollutants.
Change the VALUE clause of the following sentence:
77 MAX-CARD2 PIC 99 COMP SYNC VALUE 16.
on or about sequence number 00036600, from 16 to the new
maximum number of pollutants. For example:
77 MAX-CARD2 PIC 99 COMP SYNC VALUE 18.
will increase the maximum to 18 pollutants.
Change the OCCURS clause of the following phrase:
02 POLLUTANT-EMISSIONS OCCURS 1 TO 16 TIMES
on or about sequence number 00056700, from 16 to the new
maximum number of pollutants. For example:
02 POLLUTANT-EMISSIONS OCCURS 1 TO 18 TIMES
will increase the maximum to 18 pollutants.
Change the OCCURS clause of the following phrase:
02 EMISSION-FACTOR-INFO OCCURS 1 TO 16 TIMES
on or about sequence number 00061300, from 16 to the new
maximum number of pollutants. For example:
02 EMISSION-FACTOR-INFO OCCURS 1 TO 18 TIMES
will increase the maximum to 18 pollutants.
398
-------
Change the PICTURE clause of the following sentence:
03 FILLER PIC X(325).
on or about sequence number 00062700, from 325 to a value
equal to 16 times the new maximum number of pollutants
plus 69. For example:
03 FILLER PIC X(357).
will increase the maximum to 18 pollutants.
File List Output
Change the OCCURS clause of the following phrase:
02 MSTR-POLLUTANT-EMISSIGNS OCCURS 1 TO 16 TIMES
on or about sequence number 00012500, from 16 to the new
maximum number of pollutants. For example:
02 MSTR-POLLUTANT-EMISSIONS OCCURS 1 TO 18 TIMES
will increase the maximum to 18 pollutants.
Change the OCCURS clause of the following phrase:
02 MSTR-EMISSION-DATA OCCURS 1 TO 16 TIMES
on or about sequence number 00014300, from 16 to the new
maximum number of pollutants. For example:
02 MSTR-EMISSION-DATA OCCURS 1 TO 18 TIMES
will increase the maximum to 18 pollutants.
Change the OCCURS clause of the following phrase:
02 MSTR-EMISSION-FACTOR-INFO OCCURS 1 TO 16 TIMES
on or about sequence number 00019000, from 16 to the new
maximum number of pollutants. For example:
02 MSTR-EMISSION-FACTOR-INFO OCCURS 1 TO 18 TIMES
will increase the maximum to 18 pollutants.
399
-------
Change the OCCURS clause of the following phrase:
02 MSTR-EMISSION-FACTOR-DATA OCCURS 1 TO 16 TIMES
on or about sequence number 00020000, from 16 to the new
maximum number of pollutants. For example:
02 MSTR-EMISSION-FACTOR-DATA OCCURS 1 TO 18 TIMES
will increase the maximum to 18 pollutants.
Summary Report Output
In member GDOMSTR, change the OCCURS clause of the following
phrase:
02 OLD-MAST-RPT1 OCCURS 1 TO 16 TIMES
on or about sequence number 00000900, from 16 to the new
maximum number of pollutants. For example:
02 OLD-MAST-RPT1 OCCURS 1 TO 18 TIMES
will increase the maximum to 18 pollutants.
In member GDOMSTR, change the OCCURS clause of the following
phrase:
02 OLD-MAST-RPT2 OCCURS 1 TO 16 TIMES
on or about sequence number 00001700, from 16 to the new
maximum number of pollutants. For example:
02 OLD-MAST-RPT2 OCCURS 1 TO 18 TIMES
will increase the maximum to 18 pollutants.
In member GDPNTSRC, change the OCCURS clause of the following
phrase:
02 MSTR-POLLUTANT-EMISSIONS OCCURS 1 TO 16 TIMES
on or about sequence number 00006600, from 16 to the new
maximum number of pollutants. For example:
02 MSTR-POLLUTANT-EMISSIONS OCCURS 1 TO 18 TIMES
will increase the maximum to 18 pollutants.
400
-------
In member GDPNTSRC, change the OCCURS clause of the following
phrase:
02 MSTR-EMISSION-DATA OCCURS 1 TO 16 TIMES
on or about sequence number 00008400, from 16 to the new
maximum number of pollutants. For example:
02 MSTR-EMISSION-DATA OCCURS 1 TO 18 TIMES
will increase the maximum to 18 pollutants.
NEDS Point Source Output
Change the OCCURS clause of the following phrase:
02 MSTR-POLLUTANT-EMISSIONS OCCURS 1 TO 16 TIMES
on or about sequence number 00014500, from 16 to the new
maximum number of pollutants. For example:
02 MSTR-POLLUTANT-EMISSIONS OCCURS 1 TO 18 TIMES
will increase the maximum to 18 pollutants.
Change the OCCURS clause of the following phrase:
02 MSTR-EMISSION-DATA OCCURS 1 TO 16 TIMES
on or about sequence number 00016300, from 16 to the new
maximum number of pollutants. For example:
02 MSTR-EMISSION-DATA OCCURS 1 TO 18 TIMES
will increase the maximum to 18 pollutants.
Change the OCCURS clause of the following phrase:
02 MSTR-EMISSION-FACTOR-INFO OCCURS 1 TO 16 TIMES
on or about sequence number 00021000, from 16 to the new
maximum number of pollutants. For example:
02 MSTR-EMISSION-FACTOR-INFO OCCURS 1 TO 18 TIMES
will increase the maximum to 18 pollutants.
401
-------
Change the OCCURS clause of the following phrase:
02 MSTR-EMISSION-FACTOR-DATA OCCURS 1 TO 16 TIMES
on or about sequence number 00022000, from 16 to the new
maximum number of pollutants. For example:
02 MSTR-EMISSION-FACTOR-DATA OCCURS 1 TO 18 TIMES
will Increase the maximum to 18 pollutants.
NEDS Area Source Output
Change the OCCURS clause of the following phrase:
02 MSTR-POLLUTANT-EMISSIONS OCCURS 1 TO 16 TIMES
on or about sequence number 00012800, from 16 to the new
maximum number of pollutants. For example:
02 MSTR-POLLUTANT-EMISSIONS OCCURS 1 TO 18 TIMES
will Increase the maximum to 18 pollutants.
Change the OCCURS clause of the following phrase:
02 MSTR-EMISSION-DATA OCCURS 1 TO 16 TIMES
on or about sequence number 00014600, from 16 to the new
maximum number of pollutants. For example:
02 MSTR-EMISSION-DATA OCCURS 1 TO 18 TIMES
will Increase the maximum to 18 pollutants.
Change the OCCURS clause of the following phrase:
02 MSTR-EMISSION-FACTOR-INFO OCCURS 1 TO 16 TIMES
on or about sequence number 00019100, from 16 to the new
maximum number of pollutants. For example:
02 MSTR-EMISSION-FACTOR-INFO OCCURS 1 TO 18 TIMES
will Increase the maximum to 18 pollutants.
402
-------
Change the OCCURS clause of the following phrase:
02 MSTR-EMISSION-FACTOR-DATA OCCURS 1 TO 16 TIMES
on or about sequence number 00020100, from 16 to the new
maximum number of pollutants. For example:
02 MSTR-EMISSION-FACTOR-DATA OCCURS 1 TO 18 TIMES
will increase the maximum to 18 pollutants.
403
-------
INCREASING NUMBER OF MACHINE PROCESS SEGMENTS
Whenever it is desired to change the maximum number of machine process
segments (type 2) to be handled by EIS/P&R, it is necessary to modify
the following programs:
Emission Factors Transaction Generator
File Maintenance
Retriever
Master File Sorter
The current limit for the maximum number of machine process segments
handled by EIS/P&R is 6.
The following paragraphs discuss the changes to be made in each program
described above.
o Emission Factors Transaction Generator
Change the OCCURS clause of the following sentence:
02 SAVE-TYPE2-RECORDS OCCURS 6 TIMES.
on or about sequence number 00058300, from 6 to the new
maximum number of machine process segments. For example:
02 SAVE-TYPE2-RECORDS OCCURS 8 TIMES.
will increase the maximum to 8 machine process segments.
o File Maintenance
Change the VALUE clause of the following sentence:
77 MAX-SET2 PIC 99 COMP SYNC VALUE 6.
on or about sequence number 00046500, from 6 to the new
maximum number of machine process segments. For example:
77 MAX-SET2 PIC 99 COMP SYNC VALUE 8.
will increase the maximum to 8 machine process segments.
404
-------
Change the OCCURS clause of the following sentence:
02 SAVE-SET2 OCCURS 6 TIMES.
on or about sequence number 00074800, from 6 to the new
maximum number of machine process segments. For example:
02 SAVE-SET2 OCCURS 8 TIMES.
will increase the maximum to 8 machine process segments.
Retriever
Change the OCCURS clause of the following sentence:
02 SAVE-SET2 OCCURS 6 TIMES.
on or about sequence number 00060100, from 6 to the new
maximum number of machine process segments. For example:
02 SAVE-SET2 OCCURS 8 TIMES.
will increase the maximum to 8 machine process segments.
Master File Sorter
Change the OCCURS clause of the following sentence:
02 SAVE-SET2 OCCURS 6 TIMES.
on or about sequence number 00062200, from 6 to the new
maximum number of machine process segments. For example:
02 SAVE-SET2 OCCURS 8 TIMES.
will increase the maximum to 8 machine process segments.
405
-------
Appendix D - Disk to Tape Conversion
EIS/P&R was developed as a system which could be either a tape system
or a disk system. The system, as delivered to the Environmental Pro-
tection Agency and as shown in the job control language of the cata-
logued procedures, is a disk system. The changes to convert to tape
are minor can be accomplished easily by a person experienced in the
use of job control language. This conversion is accomplished entirely
by altering items in the catalogued procedures (specifically disk de-
faults and DD cards.)
The catalogued procedures which create disk files to be saved or large
disk files are the candidates for change. The catalogued procedures
are:
PNRFUPDT - Master File (always)
PNRRETVR - Answer File (if large or to be saved)
PNRSORTR - Sorted Master File (if large or to be saved)
PNRTBGEN - Emission Factors Table (always)
The steps to be followed in changing each of the above procedures are:
A. Remove space parameters from the defaults (i.e., SPCUNIT,
PRIMARY, SECNDRY).
B. Remove space parameters from the DD cards associated with the
appropriated file, (i.e., SPACE - (&SPCUNIT, (&PRIMARY,
&SECNDRY), RLSE).
C. Replace these space parameters with label information if the
operating system will label the tape other than the user wants.
406
-------
D. Change the default unit to a. tape specification appropriate
for the user's system.
E. Remove the serial parameter from both the defaults and the DD
cards if in the user's system a specific identification is not
necessary.
407
-------
Appendix E
GLOSSARY
AQCR Air Quality Control Region
BEG Basic Equipment Classification
BTU British Thermal Unit
CDHS Comprehensive Data Handling System
De Equivalent Diameter
ECAP Emergency Control Action Program
EIS/P&R Emission Inventory/Permits and Registration Subsystems
EOF End of file
EPA Environmental Protection Agency
ID Identification
IPP Code Implementation Planning Program Code
NEDS National Emissions Data System
OSRI Originating Station Routing
PWCS Points with common stock
P&R Permits and Registration
SAROAD Storage and Retrieval of Aerometric Data
SCC Source Classification Code
SE Systems Engineer
SIC Code Standard Industrial Classification Code
USGS United States Geological Survey
UTM Universal Transverse Mercator
408
-------
TECHNICAL REPORT DATA
(Please read Instructions on the reverse before completing)
1. REPORT NO.
2.
3. RECIPIENTS vCCESSIO(*NO.
4. TITLE AND SUBTITLE
Comprehensive Data Handling System, Emissions
Inventory/Permits and Registration Subsystem
(EIS/P&R) Program
5. REPORT DATE
February 1975
6. PERFORMING ORGANIZATION CODE
7. AUTHOR(S)
IBM Federal Systems Divsion
8. PERFORMING ORGANIZATION REPORT NO.
9. PERFORMING ORGANIZATION NAME AND ADDRESS
10. PROGRAM ELEMENT NO.
The IBM Corporation
Federal Systems Division
18100 Fredrick Pike
Gaithersburg, MD 20760
11. CONTRACT/GRANT NO.
68-02-0638
12. SPONSORING AGENCY NAME AND ADDRESS
U. S. Environmental Protection Agency
Office of Air Quality Planning and Standards
Research Triangle Park, North Carolina 27711
13. TYPE OF REPORT AND PERIOD COVERED
Final-8/72-2/75
14. SPONSORING AGENCY CODE
15. SUPPLEMENTARY NOTES
16. ABSTRACT
When dealing with atmospheric pollution, it is necessary to amass, catalog,
sort, evaluate, and perform calculations upon large volumes of data. The
Emissions Inventory/Permits and Registration Subsystem (EIS/P&R) provides
air pollution control agencies with the capability to create and maintain
their own emission inventory and permit or registration data base and to
retrieve data and generate reports from that data base. This report contains
a Users Guide with each program described, input requirements described, field
descriptions, etc. In addition to the basic system which an agency would
need for its own operation, several preprocessor and post prossor programs
are provided which perform functions necessary to make this system compatible
with the EPA NEDS system. The system has an extremely powerful retrieval
capability which allows the user to retrieve on practically and data field
in the master file. The system also allows the user to generate his semi-
annual quarterly report with a minimum of effort.
17.
KEY WORDS AND DOCUMENT ANALYSIS
DESCRIPTORS
b.lDENTIFIERS/OPEN ENDED TERMS
COSATI Field/Group
Computer Programs
Computer Software
Data Processing
Air Pollution
Data Handling
Computer Systems Programs
CDHS
EIS/P&R
Atmospheric Pollution
NEDS
18. DISTRIBUTION STATEMENT
Release Unlimited
19. SECURITY CLASS (This Report}
Unclassified
21. NO. OF PAGES
408
20. SECURITY CLASS (Thispage)
Unclassified
22. PRICE
EPA Form 2220-1 (9-73)
------- |