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
 ]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
 ]C 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)

-------