United States
Environmental Protection
Agency
Office of Air Quality
Planning and Standards
Research Triangle Park NC 27711
EPA-450/4-80-030
December 1980
Air
The Airshed Model
Data Handling System
(ASMDHS)
User's Guide
-------
EPA-450/4-80-030
The Airshed Model Data Handling
System (ASMDHS) User's Guide
U.S. ENVIRONMENTAL PROTECTION AGENCY
Office of Air, Noise, and Radiation
Office of Air Quality Planning and Standards
Research Triangle Park, North Carolina 27711
December 1980
-------
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 - in limited quantities - from the
Library Services Office (MD-35), U.S. Environmental Protection Agency,
Research Triangle Park, North Carolina 27711.
This report was furnished to the Environmental Protection Agency by Research
Triangle Institute, Research Triangle Park, North Carolina 27709, in
fulfillment of Task e Subtask j of Contract No. 68-02-3052. The contents of
this report are reproduced herein as received from Research Triangle
Institute. 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.
-------
TABLE OF CONTENTS
Section Title Page Number
List of Tables vii
List of Figures xi
Acknowledgement xii
1. SYSTEM OVERVIEW 1-1
1.1 BACKGROUND AND PURPOSE 1-1
1.2 SCOPE AND USE 1-1
1.2.1 Applications 1-1
1.2.2 Limitations 1-1
1.3 BASIC DEFINITIONS AND CONCEPTS 1-2
1.3.1 Basic Definitions 1-2
1.3.2 Concepts 1-5
1.4 SYSTEM DESCRIPTION 1-20
1.4.1 Control Measures and Growth Projection
(CMGROW) Program 1-20
1.4.2 Temporal and Pollutant Split (TPSPLIT)
Program 1-20
1.4.3 Major/Minor Point Source Division/Model
Conversion (PSCONV) Program 1-21
1.4.4 Area Source Gridding and Model Conversion
(ASGRID) Program 1-21
1.5 SUMMARY OF INPUT DATA 1-21
1.5.1 Control Measures and Growth Projection
(CMGROW) Program 1-21
1.5.2 Temporal and Pollutant Split (TPSPLIT)
Program 1-22
1.5.3 Major/Minor Point Source Division/Model
Conversion (PSCONV) Program 1-24
1.5.4 Area Source Gridding and Model Conversion
(ASGRID) Program 1-25
1.6 SYSTEM OUTPUT 1-25
1.6.1 Major/Minor Point Source Division/Model
Conversion (PSCONV) Program 1-25
1.6.2 Area Source Gridding and Model
Conversion (ASGRID) Program 1-26
2. DATA REQUIREMENTS AND OUTPUT 2-1
2.1 THE EMISSIONS INVENTORY SUBSYSTEM/PERMITS AND
REGISTRATIONS (EIS/P&R) MASTER FILE FORMAT .... 2-1
2.1.1 Segment 0 2-2
2.1.2 Segment 1 2-2
. 2.1.3 Segment 2 2-8
2.1.4 Segment 3 2-8
iii
-------
TABLE OF CONTENTS (continued)
Section Title Page Number
2.2 CONTROL MEASURES AND GROWTH PROJECTION (CMGROW)
PROGRAM 2-12
2.2.1 Input Data Files 2-12
2.2.2 Output File 2-13
2.2.3 Reports 2-14
2.3 TEMPORAL AND POLLUTANT SPLIT (TPSPLIT) PROGRAM . . 2-15
2.3.1 Input Data Files 2-15
2.3.2 Output File 2-16
2.3.3 Reports 2-16
2.4 MAJOR/MINOR POINT SOURCE DIVISION/MODEL CONVERSION
(PSCONV) PROGRAM 2-17
2.4.1 Input Data Files 2-17
2.4.2 Output Files 2-18
2.4.3 Reports 2-18
2.5 AREA SOURCE GRIDDING AND MODEL CONVERSION (ASGRID)
PROGRAM 2-19
2.5.1 Input Data Files 2-19
2.5.2 Output File 2-21
2.5.3 Reports 2-21
3. USER'S GUIDE 3-1
3.1 INTRODUCTION 3-1
3.2 CONTROL MEASURES AND GROWTH PROJECTION
(CMGROW) PROGRAM ..... 3-4
3.2.1 Description 3-4
3.2.2 Executive Control Language (ECL)
Requirements and Data Deck Setup 3-20
3.2.3 Input Data Description 3-24
3.2.4 Output Data Description 3-33
3.2.5 Report Description 3-33
3.2.6 Diagnostic Messages 3-34
3.3 TEMPORAL AND POLLUTANT SPLIT (TPSPLIT)
PROGRAM 3-38
3.3.1 Description 3-38
3.3.2 Executive Control Language (ECL) and Data
Deck Setup 3-57
3.3.3 Input Data Description 3-61
3.3.4 Output Data Description 3-81
3.3.5 Report Description 3-82
3.3.6 Diagnostic Messages 3-83
IV
-------
Section
TABLE OF CONTENTS (continued)
Title
Page Number
3.4 MAJOR/MINOR POINT SOURCE DIVISION/MODEL CONVERSION
(PSCONV) PROGRAM 3-90
t> 3.4.1 Description 3-90
3.4.2 Executive Control Language (ECL) and Data
Deck Setup 3-100
3.4.3 Input Data Description 3-102
3.4.4 Output Data Description 3-110
3.4.5 Report Description 3-115
3.4.6 Diagnostic Messages 3-128
3.5 AREA SOURCE GRIDDING AND MODEL CONVERSION
(ASGRID) PROGRAM 3-132
3.5.1 Description . . . 3-132
3.5.2 Executive Control Language (ECL) and Data
Deck Setup 3-140
3.5.3 Input Data Description 3-141
3.5.4 Output Data Description 3-144
3.5.5 Report Description 3-152
3.5.6 Diagnostic Messages 3-159
4. REFERENCES 4-1
APPENDIX A - Program Source Listings A-l
APPENDIX B - Airshed Model Data Handling System (ASMDHS)
Input Data and Run Output Examples B-l
APPENDIX C - Input Data Forms C-l
APPENDIX D - Mathematical Description of Airshed Model Data
Handling System (ASMDHS) Algorithms D-l
-------
LIST OF TABLES
Table Title Page
1.3-a Carbon-Bond Profiles By Compound 1-10
1.3-b Example Computation of Carbon-Bonds 1-15
1.3-c Optional Pollutant Split Algorithm Equations 1-18
2.1-a EIS/P&R Segment 0 Format 2-3
2.1-b EIS/P&R Segment 1 Format 2-4
2.1-c EIS/P&R Segment 2 Format 2-9
2.1-d EIS/P&R Segment 3 Format As Redefined by ASMDHS 2-11
3.2-a CMGROW Control and Summary Definition File: Line
Number 'AA1 Card 3-26
3.2-b CMGROW Control and Summary Definition File: Line
Number '00' Card 3-27
3.2-c CMGROW Control and Summary Definition File: Summary
Request Card . 3-28
3.2-d CMGROW Control Measures File: Control Measures Card . . . 3-31
3.2-e CMGROW Growth Projections File: Growth Factors Card . . . 3-32
3.2-f CMGROW Diagnostic Messages 3-35
3.3-a TPSPLIT Input Data Key Organization and Applicability . . . 3-55
3.3-b TPSPLIT Control and Summary Definition File: Run
Title Card 3-62
3.3-c TPSPLIT Control and Summary Definition File: Control
Card 3-63
3.3-d TPSPLIT Control and Summary Definition File: Summary
Request Card 3-64
3.3-e TPSPLIT Pollutant Splits File: Title Card 3-69
3.3-f TPSPLIT Pollutant Splits File: Standard Algorithm
Card 3-70
vii
-------
LIST OF TABLES (continued)
Table Title
3.3-g TPSPLIT Pollutant Splits File: Optional Algorithm
Card Type 1 3-71
3.3-h TPSPLIT Pollutant Splits File: Optional Algorithm Card
Type 2 3-72
3.3-i TPSPLIT Temporal Split File: Title Card 3-76
3.3-j TPSPLIT Temporal Split File: Type 1 Card 3-77
3.3-k TPSPLIT Temporal Split File: Type 2 Card 3-79
3.3-1 TPSPLIT Diagnostic Messages 3-85
3.4-a PSCONV Control and Selection File: Run Title Card .... 3-104
3.4-b PSCONV Control and Selection File: Selection Card .... 3-105
3.4-c PSCONV Control and Selection File: Option Control
Card 3-106
3.4-d PSCONV Control and Selection File: Selection-by-
Specific-Point Card 3-109
3.4-e PSCONV Point Source Packet File: Point Source
Packet Header Card 3-111
3.4-f PSCONV Point Source Packet File: Point Source
Identification Card 3-112
3.4-g PSCONV Point Source Packet File: Point Source Stack
Parameter Card 3-113
3.4-h PSCONV Point Source Packet File: Point Source Packet
Terminator 3-114
3.4-i PSCONV Time Interval /Emissions Values Packets File: Time
Interval Header Card 3-116
3.4-j PSCONV Time Interval/Emissions Values Packets File: Time
Interval Card 3-117
3.4-k PSCONV Time Interval/Emissions Values Packets File:
Emissions Value Packet Header Card 3-118
vi i i
-------
LIST OF TABLES (continued)
Table Title Page
3.4-1 PSCONV Time Interval/Emissions Values Packets File:
Emissions Value Card 3-119
3.4-m PSCONV Time Interval/Emissions Values Packets File:
Emissions Value Packet Terminator Card 3-120
3.4-n PSCONV Time Interval/Emissions Values Packets File:
Time Interval Terminator Card 3-121
3.4-0 PSCONV Time Interval/Grid Values Packets File:
Time Interval Header Card 3-122
3.4-p PSCONV Time Interval/Grid Values Packets File:
Time Interval Card 3-123
3.4-q PSCONV Time Interval/Grid Values Packets File: Grid
Values Packet Header Card 3-124
3.4-r PSCONV Time Interval/Grid Values Packets File: Grid
Values Emissions Card 3-125
3.4-s PSCONV Time Interval/Grid Values Packets File: Grid
Values Terminator Card 3-126
3.4-t PSCONV Time Interval/Grid Values Packets File: Time
Interval Terminator Card 3-127
3.4-u PSCONV Diagnostic Messages 3-130
3.5-a ASGRID Control and Selection File: Run Title Card . . . 3-145
3.5-b ASGRID Control and Selection File: Control Parameters
Card 3-146
3.5-c ASGRID Control and Selection File: Allocation Factor
Selection Card 3-147
3.5-d ASGRID Allocation Factors File: File Title Card .... 3-149
3.5-e ASGRID Allocation Factors File: Allocation Factors
Identifier Card 3-150
-------
LIST OF TABLES (continued)
Table Title Page
3.5-f ASGRID Allocation Factors File: Allocation Factor
Card 3-151
3.5-g ASGRID Time Interval/Grid Values Packet File:
Time Interval Header Card 3-153
3.5-h ASGRID Time Interval/Grid Values Packet File:
Time Interval Card 3-154
3.5-i ASGRID Time Interval/Grid Values Packet File:
Grid Values Packet Header Card 3-155
3.5-j ASGRID Time Interval/Grid Values Packet File:
Grid Values Emissions Card 3-156
3.5-k ASGRID Time Interval/Grid Values Packet File:
Grid Values Terminator Card 3-157
3.5-1 ASGRID Time Interval/Grid Values Packet File:
Time Interval Terminator Card 3-158
3.5-m ASGRID Diagnostic Messages 3-161
-------
LIST OF FIGURES
FJgure Caption Page
3.1-a Procedure Flow for the Airshed Model Data Handling
System 3-2
3.2-a CMGROW Program Hierarchy Chart 3-7
3.2-b Valid Key Field Combinations on Control Measures
and Growth Factors Files 3-16
3.2-c Logical Deck Setup for CMGROW 3-23
3.3-a TPSPLIT Program Hierarchy Chart 3-39
3.3-b Logical Deck Setup for TPSPLIT 3-60
3.3-c TPSPLIT Sample Summary Definition Cards 3-67
3.4-a PSCONV Program Hierarchy Chart 3-91
3.4-b Logical Data Deck Setup for PSCONV 3-103
3.5-a ASGRID Program Hierarchy Chart 3-133
3.5-b Logical Data Deck Setup for ASGRID 3-142
XI
-------
ACKNOWLEDGEMENT
This system and document were prepared by the Research Triangle
Institute, Research Triangle Park, North Carolina, for the Environmental
Protection Agency as a task under Contract 68-02-3052.
The work of developing the Airshed Model Data Handling System and this
document has been conducted under the direction of Mr. Jerome B. Mersch of the
Source Receptor Analysis Branch (SRAB), who is the EPA Task Officer.
RTI staff members principally participating in the development of the
system and this document are:
R. C. Haws, Laboratory Supervisor
R. E. Paddock, Task Leader
D. M. Adams, Scientific Programmer/Analyst
S. K. Burt, Scientific Programmer
D. L. Franke, Scientific Programmer/Analyst
D. S. Chase, Secretary
XI1
-------
1. SYSTEM OVERVIEW
1.1 BACKGROUND AND PURPOSE
The Airshed Model Data Handling System (ASMDHS) is four programs designed
to provide formatted hourly emissions values for input to the Urban Airshed
Model developed by Systems Applications, Incorporated for the Environmental
Protection Agency (EPA). The concept of providing this type of data
manipulation system evolved as the requirements for the EPA to model
photochemical oxidant concentrations over large areas became more critical.
The ASMDHS is designed to assist in the modeling process by simplifying the
procedures for preparing input emissions data for the Urban Airshed Model
while improving the timeliness and flexiblity of response to specific modeling
requirements. This manual is designed to document the ASMDHS and describe the
procedures for its proper use.
1.2 SCOPE AND USE
1.2.1 Applications
The ASMDHS currently has only one application, namely that of providing
formatted hourly emissions input data for stationary sources (both area and
point) to the Urban Airshed Model. However, the programs of the ASMDHS are
modular, so that changing the computational algorithms and output formats
should require minimal labor if it is to be used with another reactive
pollutant model. There are no restrictions to the type of geographic area to
be modeled, except that the grids developed by the ASMDHS are assumed to be
square.
1.2.2 Limitations
The primary limitations to the use of the ASMDHS are: First, the
computations and output formats that produce the hourly emissions data by
1-1
-------
species are specific to the Urban Airshed Model. As noted above, the ASMDHS
programs are designed to allow relatively simple conversion from
specifications for the Urban Airshed Model to those of another model. This
modular approach was adopted with the specific aim of providing for a wider
user community in the future.
Second, all programs in the ASMDHS are intimately dependent upon the
Emissions Inventory Subsystem/Permits and Registration (EIS/P&R) Master File
structure (through Update 27), as described in Comprehensive Data Handling
Systems Emissions Inventory/Permits and Registrations Subsystem (EIS/P&R)
Documentation and User's Guide, EPA-450/3-74-045a [1]. In effect, this means
that in order to use the ASMDHS it is necessary to obtain the emissions
inventory for the area to be modeled in EIS/P&R master file format. The
procedures for creating such a master file are described in the User's Guide
cited above.
Third, highway and street mobile source emissions are not manipulated by
the ASMDHS. These require a different type of detailed structuring involving
line sources (streets) and nodes (intersections); the area source data in
EIS/P&R are not sufficiently detailed for proper computations to be performed.
Emissions from such mobile sources as off-road vehicles and airports are
adequately treated by ASMDHS as area sources, however.
1.3 BASIC DEFINITIONS AND CONCEPTS
1.3.1 Basic Definitions
Emissions - Emissions are discharges into the atmosphere of
concentrated amounts of matter such that the matter remains
resident for a significant period of time. Those emission
species for which National Ambient Air Quality Standards have
been designated are total suspended particulate matter (TSP),
oxides of sulfur (SOx), carbon monoxide (CO), nitrogen oxides
(NOx) and hydrocarbons (HC). These are also called criteria
pollutants.
1-2
-------
Model - A model is a mathematical procedure which calculates
a result that depends upon input data, and represents in a
defined manner a physical process. In particular, the Urban
Airshed Model calculates concentrations of reactive emissions
and the reaction product species from the input of emissions
data and meteorological data.
Stationary Pollutant Emission Sources - Stationary sources are
those for which emissions can be identified with a plant or an
area that remains geographically fixed. The principal emissions
from stationary sources are due to external fuel combustion in
boilers, industrial processing operations, and solid waste in-
cineration.
Point Sources - A point source is an identifiable stationary
source causing emissions of any pollutant at a rate greater than
some arbitrary limit, e.g., 100 tons per year and/or from a
stack exceeding a certain height. For a given point source, the
data required as input to a dispersion model are emission rates
and physical stack parameters such as stack height, diameter,
exit velocity and exit temperature. In the ASMDHS, emission
rate and plume height limits may be selected by the user.
Area Sources - The class of area sources are those which are small
and numerous, or large and dispersed. They are generally combined
for an entire county as a type for reporting and computational
purposes. Examples are: residential heating plants, construction
projects, refuse burning, and retail gasoline marketing.
Emissions Control - A technique for reducing the level of
emissions from a source. Techniques generally in use are:
capture or destruction of a potential emission before release, or
change in the process that causes the emission. The particular
technique is not important for the ASMDHS or the Urban Airshed
Model, but the level of control is. Also see Pollutant Profile
and Temporal Profile.
^missions Inventory - An emissions inventory is a collection of
emissions data in a consistent format from all sources in a
particular group, usually a geographic area. The emissions
inventory used by the ASMDHS may contain both point and area
sources for the area to be modeled by the Urban Airshed Model.
Pollutant Profile - The criteria pollutants NOx and HC are complex
mixtures of chemical species, and the amounts and relative
proportions of the species are crucial to the computations in a
reactive pollutant model. The pollutant profile describes the
constituents of these two pollutants in order for the ASMDHS to
compute the emission rates of species required by the Urban
Airshed Model. A profile may be altered to simulate a process
change as a control technique.
Temporal Profile - The time variation of emissions from a source
based on operating rates or other factors. For example, the
1-3
-------
number of days per week and the number of hours per day. The
temporal profile may also vary by season. The profile may be
altered to simulate restricted operating schedule as a control
technique.
Base Year - In the ASMDHS terminology, the base year is the year
for which the emissions inventory is originally designed to be
representative, prior to any modifications to the inventory by
the ASMDHS.
Baseline Projection - In the ASMDHS, this is the projection of the
emissions inventory from the base year to some future year by
means of (a) growth and (b) application of any control measures
which are current in law or regulation but not in effect during
the base year.
Strategy Projection - This is the next step beyond baseline
projection, in which control measures such as growth
disincentives, siting restrictions, additional control hardware,
process change requirements, etc., may be applied. This may be
accomplished by means of growth projections, control device
application, or pollutant and/or temporal profile change.
Allocation Parameter - A means for allocating collective (area
Source) data to the cells of a grid. Generally, the area source
inventory at the county level will have to be split among
several grid cells which cover the county's area. Examples of
allocation parameters are: population patterns, housing
distribution, location of dirt airstrips, and land use
regulations.
Allocation Factor - The value of the allocation parameter which
allocates part of the emissions from a particular area source
to a particular grid cell.
Growth Factor - A multiplier which is used to compute growth
Tn a fuel or process rate (point source) or activity level (area
source).
Major Source - A point source which releases a large amount of
emissions directly into the atmosphere above the lowest grid
cell. The definition of "large" and the height of the lowest
grid cell are determined by the user based on modeling
requi rements.
Minor Source - A point source which is not a major source. All
minor sources are gridded by the ASMDHS as though they are area
sources.
Control Factor - A parameter used to compute the reduced rate of
emissions of a particular pollutant; it simulates addition of a
control device to a process or point, or a reduction in an area
source activity by some arbitrary restriction. Hydrocarbon or
nitrogen oxide emission reduction by means of process change may
also be simulated by alteration of the pollutant profile.
1-4
-------
• Carbon Bond - The bond between two carbon atoms in a multi-
carbon organic molecule. The Urban Airshed Model distinguishes
five such bond classes: single-bonded (paraffinic); highly-
reactive double-bonded (olefinic, except ethylene); moderately
react.ive double-bonded (typlified by ethyl ene); ring-type
(aromatics); and carbonyl-type.
• Species - There are typically several carbon bond types, or
species, in a complex hydrocarbon emission, such as gasoline
vapor or surface coating vapor.
• Data Packets - The Urban Airshed Model requires that its input
data be grouped into sets by type, with appropriate identifying
information. The ASMDHS creates data packets of emissions values
in a format directly usable by the Urban Airshed Model.
1.3.2 Concepts
a. Pollutant Simulation Modeling. The attainment and maintenance of
acceptable air quality requires the implementation of appropriate plans
(strategies) to control the emissions of pollutants from individual sources or
classes of sources. The probable success of candidate control strategies can
be evaluated through the use of computer simulation models. These models
manipulate numerical descriptions of source characteristics and meteorological
conditions to produce a simulated distribution of ambient air pollutant
concentrations over the area being studied.
Some classes of air pollutants, notably suspended particulate matter
(aerosols), sulfur dioxide (SOg), and carbon monoxide (CO), are released by
emission sources directly and are not formed within the atmosphere, although
they may be modified to some extent. A separate class of air pollutants,
oxidants, generally represented by ozone (03), are not released in any
appreciable amount by emission sources, but are created from other atmospheric
pollutants via complex chemical reactions within the atmosphere. Although the
complete chemical reaction complex has not been totally characterized, enough
is known to approximate the formation of oxidant pollution by means of
1-5
-------
interactions among many different hydrocarbon (HC) species, nitrogen oxides
(NOX), ozone itself, and solar radiation.
The early simulation models dealt exclusively with non-reactive
pollutants. Many of the widely-used non-reactive models are based on
mathematical Gaussian plume formulations for describing the fate of emissions
from point, area, and line sources.
More recently, some simulation models have been constructed to deal with
both reactive and non-reactive pollutants. The complex nature of the
atmospheric chemistry involved, the wide diversity of reactive pollutants
emitted from a multiplicity of sources, and the diurnal time dependence of
oxidant formation have all led to the requirements for a very detailed
inventory of pollutant emissions. The required volume of input data for such
models has vastly increased as compared with the non-reactive models, and a
need has arisen for automated assistance in creating these input data when an
area containing a large number of emission sources is to be modeled.
b. The Urban Airshed Model. The Urban Airshed Model is a grid-based
numerical dispersion model which is designed to compute concentrations of air
pollutants over an urban area (with many emission sources) on an hour-by-hour
basis. The area itself is treated as a three-dimensional grid, with the x-y
(east-west by north-south) plane divided into rectangles of uniform size
(normally squares) and the z-direction (altitude) divided into layers. Each
of the resulting rectangular boxes (grid cells) is treated as a volume in
which mixing and reactions occur and also a source of boundary pollutant
concentrations for neighboring grid cells.
The Urban Airshed Model is a reactive pollutant (photochemical) model
which contains in its computational capabilities the methodology for dealing
with ten emission species: nitric oxide (NO), nitrogen dioxide (NC^),
single-bonded carbon atoms (PAR), highly-reactive double-bonded carbon atoms
(OLE), aromatic-ring carbon atoms (ARO), carbonyl-bonded carbon atoms (CARB),
moderately-reactive double-bonded carbon atoms (ETH), suspended particulates
(AEROSOLS), sulfur dioxide (SOg), and carbon monoxide (CO). (It requires data
on these emissions from elevated point sources and ground-level sources.)
These data are required on an hourly basis.
1-6
-------
Hourly input data for meteorological variables, including wind speed and
direction, mixing height, temperature, relative humidity, and solar radiation,
are also required for the volume to be modeled. These data are generally
required for each and every grid cell.
Data on emissions from major point sources are used separately by the
model because of their possible penetration through several layers of the
atmosphere. Minor point sources are grouped together into x-y grid cells to
minimize computational requirements for small, low-level emission sources.
Area source emissions, for which inventories exist generally at the level of
county, are subdivided into the same grid cells in order to bring the accuracy
of the computations for these sources to the level of minor sources. The
minor point and area sources are then combined with highway mobile (line)
sources for input to the Urban Airshed Model by its preprocessor programs, if
requi red.
c. The Airshed Model Data Handling System. In order to collect
emissions data for point and area sources, manipulate the emissions for
purposes of projecting (modifying) emission rates, and prepare proper inputs
to the Urban Airshed Model, a computerized set of data manipulation procedures
and supporting manual procedures is required. This requirement has resulted
in the development of the Airshed Model Data Handling System (ASMDHS).
The basic emissions data input to the ASMDHS is in the form of an
Emissions Inventory/Permits and Registration Subsystem (EIS/P&R) Master File,
as documented in Comprehensive Data Handling System, Emissions Inventory/
Permits and Registration Subsystem (EIS/P&R) Program Documentation and User's
Guide. EPA-450-3-74-045-a [1]. Data are carried through the ASMDHS operations
in EIS/P&R Master File format until final conversion to Urban Airshed Model
input formats; therefore, any intermediate ASMDHS files may be accessed,
modified, and/or listed with standard EIS/P&R software. This capability,
except for initial file creation and for listings of intermediate results,
should not be necessary in normal circumstances; however, it does exist.
EIS/P&R data consist of numeric (code) and textual emission source
identification, emission source characteristics and emission rates (in tons),
by pollutant, and descriptions and operating parameters of emission-generating
1-7
-------
processes. The emission rates and operating parameters are on an annual
basis, however, and the pollutants described generally do not include the
level of detail required for proper simulation by the model.
There are six basic functions performed by the ASMDHS:
• computation of projected annual emission rates by application of
growth factors or control measures for approximation of control
strategies;
• computation of emission rates of nitrogen oxides and hydrocarbons as
their Urban Airshed Model (ASM) species;
• computation of hourly emission rates for all species;
• separation of point sources into elevated and ground-level sources;
• gridding ground-level point sources and area sources; and
• conversion of hourly emission rates into ASM input formats.
d. Use of Organic Species Data For Apportioning Volatile Organic
Compound (Hydrocarbon) Emissions. Volatile organic compounds comprise a wide
and diverse assemblage. Different compounds have varying potential for
generating ozone. For this reason, photochemical models distinguish between
various classes of compounds having markedly different reactivities or
chemical pathways. The Carbon-Bond Mechanism is used by the Urban Airshed
Model for this purpose; it treats individual compounds not as molecular units
but rather as carbon-bond units. It recognizes five different carbon-bond
types: single-bonded carbon atoms, highly reactive double-bonds, moderately
reactive double-bonds, aromatic rings, and carbonyl bonds. These have been
named PAR, OLE, ETH, ARO, and CARB^ respectively. OLE is the most reactive
type and PAR is the least reactive; the others are of intermediate
reactivities. The prototypical species upon which the chemical mechanism has
been developed are butane, propylene, ethylene, toluene, and formaldehyde and
acetaldehyde, respectively.
How a particular compound fits into the carbon-bond scheme generally
depends on its chemical structure. For example, the compound 1-pentene
contains a highly reactive double-bond between two carbon atoms; the remaining
three carbons are singly bonded and are much less reactive. In this example,
the Carbon-Bond Mechanism treats one mole of 1-pentene as one mole of
1-8
-------
highly reactive double-bonds (OLE) and three moles of single-bonded carbon
atoms (PAR). However, in some cases, compounds behave differently than might
be expected. For example, the ring structure of cyclohexane behaves as if it
contains four single-bonded carbons and a moderately reactive double-bond
between the two remaining carbons. The Carbon-Bond Mechanism therefore treats
one mole of cyclohexane as one mole of moderately reactive double-bonds (ETH)
and four moles of single-bond" carbon atoms (PAR). Table 1.3-a summarizes how
a wide variety of compounds are treated by the Carbon-Bond Mechanism.
Two separate approaches may be taken when determining the carbon-bond
breakdown from data on the organic composition of emissions. The first
approach is used whenever detailed species-by-species data is available; this
is called the Standard Pollutant Split Algorithm in ASMDHS. The second
approach attempts to estimate the carbon-bond breakdown from data which have
been reported by chemical classes; it is used with the Optional Pollutant
Split Algorithm in the ASMDHS.
Species Data (Standard Algorithm). If a source emits only one organic
species, the information contained in Table 1.3-a can be used directly to
apportion the total hydrocarbon emissions to the five carbon-bond categories.
One simply computes the number of moles emitted and then uses Table 1.3-a to
determine the corresponding number of moles of each carbon-bond.
If a source emits more than one organic species, the approach is
essentially the same except that the computations are done for each species
and then combined. One first computes the number of moles of each species
emitted by a given source as follows:
mi
where Q = total hydrocarbon emissions (grams)
X-j = Weight percent of species i in emission Q
Mi = Molecular weight of species i (grams)
Qmj = moles of species f emitted (gram-moles)
1-9
-------
TABLE 1.3-a. Carbon-bond Profiles By Compound
SPECIES CHEMICAL NAME OLE
NO.
1 METHANE 0.00
2 ETHANE 0.00
3 ETHYLENE 0.00
4 PROPANE 0.00
5 PROPYLENE 1.00
6 ACETYLENE 0.00
7 CYCLOPROPANE 0.00
8 PROPADIENE 0.00
9 METHYLACETYLENE 0.00
10 #CYCLOPENTANE 0.00
11 N-BUTANE 0.00
12 BUTENE 1.00
13 ISO-BUTANE 0.00
14 1,3-BUTADIENE 1.00
15 ETHYLACETYLENE 0.00
16 N-PENTANE 0.00
17 1-PENTENE 1.00
18 2-METHLY-2-BUTENE 0.00
19 HEXANE 0.00
20 HEPTANE 0.00
21 OCTANE 0.00
22 NONANE 0.00
23 #ISOMERS OF HEXANE 0.00
24 #ISOMERS OF HEPTANE 0.00
25 N-DECANE 0.00
26 #ISOMERS OF OCTANE 0.00
27 #CYCLOHEXANE 0.00
28 UNDECANE 0.00
29 #ISOMERS OF NONANE 0.00
30 #ISOMERS OF DECANE 0.00
31 #ISOMERS OF UNDECANE 0.00
32 #N-DODECANE 0.00
PAR
0.00
0.00
0.00
50
00
0.00
1.00
0.00
1.50
3.00
4.00
2.00
4.00
0.00
4.00
5.00
3.00
3.00
6.00
7.00
8.00
9.
6.
7.
.00
.00
.00
10.00
8.00
.00
.00
.00
4.
11,
9.
10.00
11.00
12.00
ARO
0.00
0.00
0.00
0.00
0.00
0.00
0.00
0.00
0.00
0.00
0.00
0.00
0.00
0.00
0.00
0.00
0.00
0.00
0.00
0.00
0.00
0.00
0.00
0.00
0.00
0.00
0.00
0.00
0.00
0.00
0.00
0.00
CARB
0.00
0.00
0.00
0.00
0.00
0.00
0.00
1.00
0.00
0.00
0.00
0.00
0.00
2.00
0.00
0.00
0.00
2.00
0.00
0.00
0.00
0.00
0.00
0.00
0.00
0.00
0.00
0.00
0.00
0.00
0.00
0.00
ETH
0.00
0.00
1.00
0.00
0.00
0.00
UNREACTIVE
00
00
0.00
1.00
0.00
0.00
0.00
0.00
0.00
0.00
0.00
0.00
0.00
0.00
0.00
0.00
0.00
0.00
0.00
0.00
1.00
0.00
0.00
0.00
0.00
0.00
1.
2.
00
00
0.00
1.50
0.00
1.00
0.00
0.00
1.50
0.00
0.00
0.00
0.00
0.00
0.00
0.00
0.00
0.00
0.00
0.00
0.00
0.00
0.00
0.00
0.00
0.00
0.00
0.00
0.00
0.00
0.00
0.00
-------
TABLE 1.3-a - continued. Carbon-bond Profiles By Compound
SPECIES CHEMICAL NAME OLE
NO.
33 #ISOMERS OF DODECANE 0.00
34 #N-TRIDECANE 0.00
35 #ISOMERS OF TRIDECANE 0.00
36 N-TETRADECANE 0.00
37 #ISOMERS OF TETRADECANE 0.00
38 #N-PENTADECANE 0.00
39 #ISOMERS OF PENTADECANE 0.00
40 #C-7 CYCLOPARAFFINS 0.00
41 #C-8 CYCLOPARAFFINS 0.00
42 #C-9 CYCLOPARAFFINS 0.00
43 #TERPENES 1.00
44 #METHYLCYCLOHEXANE 0.00
45 #MINERAL SPIRITS 0.00
46 #CYCLOHEXANONE 0.00
47 #LACTOL SPIRITS 0.00
48 #ISOMERS OF BUTENE 0.00
49 #ISOMERS OF PENTENE 0.00
50 #ISOMERS OF PENTANE 0.00
51 METHYL ALCOHOL 0.00
52 ETHYL ALCOHOL 0.00
53 N-PROPYL ALCOHOL 0.00
54 ISO-PROPYL ALCOHOL 0.00
55 N-BUTYL ALCOHOL 0.00
56 ISO-BUTYL ALCOHOL 0.00
57 BUTYL CELLOSOLVE 0.00
58 TERT-BUTYL ALCOHOL 0.00
59 METHYL CELLOSOLVE 0.00
60 CELLOSOLVE 0.00
61 DIACETONE ALCOHOL 0.00
62 ETHYL ETHER 0.00
63 #GLYCOL ETHER 0.00
64 #GLYCOL 0.00
PAR
12.00
13.00
13.00
14.00
14.00
15.00
15.00
5.
6.
7.
6.
5.
00
00
00
00
00
6.00
3.00
8.00
2.00
3.00
5.00
1.00
2.00
3.00
3.00
4.00
4.00
5.00
3.00
2.00
3.00
5.00
3.00
1.00
1.00
ARO
0.00
0.00
0.00
0.00
0.00
0.00
0.00
0.00
0.00
0.00
0.00
0.00
0.00
0.00
0.00
0.00
0.00
0.00
0.00
0.00
0.00
0.00
0.00
0.00
0.00
0.00
0.00
0.00
0.00
0.00
0.00
0.00
CARB
0.00
0.00
0.00
0.00
0.00
0.00
0.00
0.00
0.00
0.00
2.00
0.00
0.00
1.00
0.00
2.
2.
.00
.00
0.00
0.00
0.00
0.00
0.00
0.00
0.00
.00
.00
.00
.00
.00
.00
.00
1.
1.
1.
1.
1.
1.
1.
1.00
ETH
0.00
0.00
0.00
0.00
0.00
0.00
0.00
.00
,00
,00
1.
1.
1.
0.00
1.00
1.00
1.00
0.00
0.00
0.00
0.00
0.00
0.00
0.00
0.00
0.00
0.00
0.00
0.00
0.00
0.00
0.00
0.00
0.00
0.00
UNREACTIVE
0.00
0.00
0.00
0.00
0.00
0.00
0.00
0.00
0.00
0.00
0.00
0.00
0.00
0.00
0.00
0.00
0.00
0.00
0.00
0.00
0.00
0.00
0.00
0.00
0.00
0.00
0.00
0.00
0.00
0.00
0.00
0.00
-------
TABLE 1.3-a - continued. Carbon-bond Profiles By Compound
ro
SPECIES CHEMICAL NAME OLE
NO.
65 #PROPYLENE GLYCOL 0.00
66 ETHYLENE GLYCOL 0.00
67 TETRAHYDROFURAN 0.00
68 ACETIC ACID 0.00
69 METHYL ACETATE 0.00
70 ETHYL ACETATE 0.00
71 PROPYL ACETATE 0.00
72 N-BUTYL ACETATE 0.00
73 ETHYL ACRYLATE 0.00
74 CELLOSOLVE ACETATE 0.00
75 #ISOPROPYL ACETATE 0.00
76 #METHYL AMYL ACETATE 0.00
77 #ISOBUTYL ACETATE 0.00
78 DIMETHYL FORMAMIDE 0.00
79 #ISOBUTYL ISOBUTYRATE 0.00
80 FORMALDEHYDE 0.00
81 ACETALDEHYDE 0.00
82 #BUTYRALDEHYDE 0.00
83 ACETONE 0.00
84 METHYL ETHYL KETONE 0.00
85 METHYL N-BUTYL KETONE 0.00
86 METHYL ISOBUTYL KETONE 0.00
87 ETHYLENE OXIDE 0.00
88 #PROPYLENE OXIDE 0.00
89 ACETONITRILE 0.00
90 ACRYLONITRILE 0.00
91 ETHYLAMINE 0.00
92 TRIMETHYL AMINE 0.00
93 METHYL CHLORIDE 0.00
94 DICHLOROMETHANE 0.00
95 CHLOROFORM 0.00
96 CARBON TETRABROMIDE 0.00
97 #FREON 11 0.00
PAR
00
00
00
00
0.00
3.
4.
.00
.00
5.00
2.00
4.00
5.00
8.00
6.00
0.00
7.00
0.00
1.00
3.00
2.00
3.00
5.
5.
00
00
0.00
2.00
0.00
00
00
00
0.00
0.00
0.00
0.00
0.00
ARO
0.00
0.00
0.00
0.00
0.00
0.00
0.00
0.00
0.00
0.00
0.00
0.00
0.00
0.00
0.00
0.00
0.00
0.00
0.00
0.00
0.00
0.00
0.00
0.00
0.00
0.00
0.00
0.00
0.00
0.00
0.00
0.00
0.00
CARB
1.00
1.00
1.00
0.00
0.00
1.00
1.00
,00
,00
,00
0.00
0.00
0.00
0.00
.00
.00
.00
.00
.00
.00
.00
.00
0.00
0.00
0.00
0.00
0.00
0.00
0.00
0.00
0.00
0.00
0.00
1.
1.
1.
1,
1.
1.
1.
1,
ETH
0.00
0.00
1.00
0.00
0.00
0.00
0.00
0.00
1.00
0.00
0.00
0.00
0.00
0.00
0.00
0.00
0.00
0.00
0.00
0.00
0.00
0.00
0.00
0.00
0.00
00
1.
0.00
0.00
0.00
0.00
0.00
0.00
0.00
UNREACTIVE
0.00
0.00
0.00
0.00
3.00
0.00
0.00
0.00
0.00
0.00
0.00
0.00
0.00
3.00
0.00
0.00
0.00
0.00
0.00
0.00
0.00
0.00
.00
,00
.00
2.
1,
2.
0.00
1.00
0.00
00
00
00
00
1.00
-------
TABLE 1.3-a - continued. Carbon-bond Profiles By Compound
SPECIES CHEMICAL NAME OLE
NO.
98 ETHYL CHLORIDE 0.00
99 1,1-DICHLOROETHANE 0.00
100 1,1,1-TRICHLOROETHANE 0.00
101 ETHYLENE DICHLORIDE 0.00
102 #FREON 12 0.00
103 PERCHLOROETHYLENE 0.00
104 METHYLENE BROMIDE 0.00
105 1,1,2-TRICHLOROETHANE o.OO
106 #FREON 113 0.00
107 fTRIMETHYLFLUOROSILANE 0.00
108 #MONOCHLORBENZENE 0.00
109 VINYL CHLORIDE 0.00
110 NAPTHA 0.00
111 BENZENE 0.00
112 TOLUENE 0.00
113 ETHYLBENZENE 0.00
114 1,3,5-TRIMETHYLBENZENE 0.00
115 STYRENE 0.00
116 A-METHYLSTYRENE 0.00
117 #ISOMERS OF XYLENE 0.00
118 #DIMETHYLETHYLBENZENE 0.00
119 #1,2,3-TRIMETHYLBENZENE 0.00
120 #ISOMERS OF ETHYLTOLUENE 0.00
121 #ISOMERS OF BUTYLBENZENE 0.00
122 #ISOMERS OF DIETHYLBENZENE 0.00
123 #ISOMERS OF TRIMETHYLBENZENE 0.00
124 #ISOMERS OF PROPYLBENZENE 0.00
125 PHENOLS 0.00
126 #XYLENE BASE ACIDS 0.00
127 CHLOROBENZENE 0.00
128 #1,4-DIOXANE 1.00
129 2-ETHOXYETHYL ACETATE 0.00
.130 TRICHLOROETHYLENE 0.00
PAR
0.00
0.00
0.00
0.00
0.00
2.00
0.00
0.00
0.00
0.00
0.00
0.00
8.00
0.00
.00
.00
.00
1.
2.
3.
0.00
1.
2.
.00
.00
4.00
3.00
3.00
4.00
4.00
3.
3.
00
00
0.00
2.00
0.00
2.00
4.00
2.00
ARO
0.00
0.00
0.00
0.00
0.00
0.00
0.00
0.00
0.00
0.00
0.00
0.00
0.00
0.00
00
00
00
00
00
00
00
00
00
00
00
00
00
0.00
1.00
0.00
0.00
0.00
0.00
CARB
0.00
0.00
0.00
0.00
0.00
0.00
0.00
0.00
0.00
0.00
0.00
0.00
0.00
0.00
0.00
0.00
0.00
0.00
0.00
0.00
0.00
0.00
0.00
0.00
0.00
0.00
0.00
0.00
0.00
0.00
,00
.00
ETH
0.00
0.00
0.00
0.00
0.00
0.00
0.00
0.00
0.00
0.00
0.00
1.00
0.00
0.00
0.00
0.00
0.00
UNREACTIVE
2.
2.
0.00
1.00
1.00
0.00
0.00
0.00
0.00
0.00
0.00
0.00
0.00
0.00
0.00
0.00
0.00
0.00
0.00
2.
2.
2.
2.
1.
00
00
00
00
00
0.00
1.
2.
2.
3.
6.
,00
.00
,00
.00
.00
0.00
0.00
6.00
0.00
0.00
0.00
0.00
0.00
0.00
0.00
0.00
0.00
0.00
0.00
0.00
0.00
6.00
0.00
6.00
0.00
0.00
0.00
-------
One then uses Table 1.3-a to compute the corresponding number of moles of each
carbon-bond associated with each species i. For example, if a source emits
120 moles (Qm1-) of ethyl benzene (entry 113 in Table 1.3-a), this is equivalent
to emitting 240 moles of single-bonded carbon atoms (PAR) and 120 moles of
aromatic rings (ARO). Once the number of moles of carbon-bonds has been
computed for each species, the results can be summed to compute the total
number of moles of each carbon-bond emitted by the source.
The overall procedure is illustrated in Table 1.3-b. For this source,
the weight percents were obtained from the Volatile Organic Compound (VOC)
Species Data Manual (EPA-450/3-78-119) [2]. The solvents emitted by this
source are composed of 21 different chemical species. One proceeds first to
compute the number of moles of each species, assuming 100 grams of
hydrocarbons emitted, as shown in column (3) of Table 1.3-b. One then looks
up the compound in Table 1.3-a and computes the number of moles of each
carbon-bond emitted. The results are entered in columns (4), (5), (6), (7),
and (8) of Table 1.3-b. One completes the table for all species and sums up
the emissions by carbon-bond. In this example, every 100 grams of
hydrocarbons emitted consists of 4.66 gram-moles of single-bonded carbon atoms
(PAR), 0.12 gram-moles of aromatic rings (ARO), 0.25 gram-moles of carbonyl
bonds (CARB), and 0.25 gram-moles of moderately reactive double bonds (ETH).
Once these calculations are made for one source, the results can be used
for another source with the same chemical composition. Because they are based
on 100 grams of emissions, the results above may be thought of in terms of
percents, although they are not percents in the usual sense of the word.
However, if one were to multiply the number of moles of each carbon-bond by
the corresponding weight of the bond, the results would represent the weight
percent of each carbon-bond emitted. This is shown as the last line in Table
1.3-b. As indicated in the table, the weight of each carbon-bond unit is as
follows:
1-14
-------
TABLE 1.3-b. Example Computation Of Carbon-bonds
SPECIES
Molecular
Weight
(grams)
Weight
Percent
(%)
Compound
(moles)
OLE
(moles)
PAR
(moles)
ARO
(moles)
CARB
(moles)
ETH
(moles)
I
I—»
tn
N-Hexane
Cyclohexane
Isomers of Xylene
Toluene
Ethyl Benzene
Acetone
Methyl Ethyl Ketone
Methyl N-Butyl Ketone
Methyl Isobutyl Ketone
Methyl Alcohol
Ethyl Alcohol
Isopropyl Alcohol
N-Butyl Alcohol
Isobutyl Alcohol
Propylene Glycol
Ethylene Glycol
N-Butyl Acetate
Isobutyl Acetate
Dimethyl Formamide
Isobutyl Isobutyrate
2-Ethoxyethyl Acetate
TOTAL
Times number of grams per mole
86.2
84.2
106.2
92.1
106.2
58.1
72.1
100.2
100.2
32.0
46.1
60.1
74.1
74.1
76.0
62.1
116.2
116.2
73.1
144.2
132.0
20.7
20.7
2.6
5.2
4.3
3.2
5.6
0.7
0.6
3.9
0.6
16.4
1.6
0.6
0.8
0.6
2.5
1*5
0.5
6.1
1.3
0.240
0.246
0.024
0.056
0.041
0.055
0.078
0.007
0.006
0.122
0.013
0.273
0.022
0.008
0.011
0.010
0.022
0.013
0.007
0.042
0.010
x 28
1.440
0.984
0.048
0.056
0.082
0.110
0.234
0.035
0.030
0.122
0.026
0.819
0.088
0.032
0.022
0.010
0.110
0.078
0.294
0.040
4.660
x 14
0.246
0.024
0.056
0.041
0.121
x 78
0.055
0.078
0.007
0.006
0.011
0.010
0.022
0.042
0.020
0.251
x 30
0.246
x 28
WEIGHT PERCENTS
65.2
9.4
7.5
6.9
-------
PAR @ CH2
OLE @ C2H4
ETH @ C2H4
ARO G» C6H6
CARB @ COH2
14 grams
28 grams
28 grams
78 grams
30 grams
Therefore, in the example given in Table 1.3-b, this source may be said to
emit hydrocarbons which are 65.2% by weight PAR, 9.4% ARO, 7.5% CARB, and 6.9%
ETH. Despite the fact that all species emitted in this example are reactive,
the total adds only to 89%. This occurs because not every atom associated
with each compound is included in a carbon-bond unit, as happens for example
with the hydroxy group found in alcohols.
If the carbon-bond weight percents which result from this procedure are
labelled CP/\R, CQLE> CEJH» CARO» anc| CCARB» t'iese num'Ders may be used to
directly compute the emissions of the five carbon-bonds, in gram-moles, given
the total hydrocarbon emissions Q, in grams, as follows:
PAR = (-) Q/14
OLE = (Jgj|j) Q/28
ETH = () Q/28
ARO = (-) Q/78
CARB = (-) Q/30
The above computation is the one actually performed by the Temporal and
Pollutant Split (TPSPLIT) Program's Standard Pollutant Split Algorithm. The
user enters the Cp^R, CQL£, CEJH, C^RQ» and CCARJJ weight percents in the
appropriate standard algorithm pollutant split data input card (see Section
3.3), along with: identifying information; the nitrogen oxide pollutant split
data, if any; and the percent by weight of aldehydes. The percent by weight
1-16
-------
of aldehydes is used by the ASMDHS to adjust for the absence of aldehyde
measurements in most emissions testing procedures.
Combined Data (Optional Algorithm). The above procedure should be
utilized whenever detailed species-by-species data is available for a
particular source. If such data are not available and the data have instead
been reported in terms of broad chemical classes, it is necessary to estimate
the proportions of the carbon-bond categories. The approach to use depends on
the way in which the data are reported.
If, in spite of the method of reporting, the user can with reasonable
accuracy use the Standard Algorithm, then that is the preferred method. This
results in greater accuracy and reduced computation. However, an Optional
Pollutant Split Algorithm is available in the ASMDHS. Its general form is
shown in Table 1.3-c.
Note that in this algorithm, data for up to eight organic species classes
may be used in the computation. The data entry format for this algorithm also
contains spaces for methane, other, and aldehydes. Methane and other are used
for archival purposes and possible future expansion of the ASMDHS
capabilities; aldehydes data are used as with the Standard Algorithm. Average
molecular weights of the categories present are required, in addition to
percents by weight, in order to compute the emissions in gram-moles.
Carbonyls include aldehydes and ketones, but not acetates (a separate entry);
olefins include diolefins and ethylene, which are also reported separately.
The following generalizations have been used in constructing the Optional
Algorithm. They indicate both the usefulness and the limitations of the
algorithm.'
The primary generalization is that many compounds have an identifying
carbon-bond type which can be used to classify them directly. For example,
aromatic compounds all have a ring structure and therefore may be assigned to
the ARO carbon-bond type. Similarly, aldehydes, ketones, and esters all
contain a carbonyl bond corresponding to the CARB carbon-bond type. Most
olefins have a highly reactive double bond which should be assigned to the OLE
carbon-bond type. Paraffins contain only singly bonded carbon atoms which
classifies them as the PAR carbon-bond type. Alcohols are also considered to
contain only singly bonded carbon atoms.
1-17
-------
Table 1.3-c. Optional Pollutant Split Algorithm Equations
PAR
MASS-OLEFIN MW-OLEFIN -28-2 MASS-DIOLEFIN
OLE
ARO
CARB
ETH
14
MW-OLEFIN
MW-DIOLEFIN
+ MASS-CARBONYLS MW-CARBQNYLS - 30
14
MASS-AROMATICS
14
MASS-ALCOHOLS
14
MASS-ACETATES
14
MW-CARBONYLS
MW-AROMATICS
MW-AROMATICS
MW-ALCOHOLS -
MW-ALCOHOLS
MW-ACETATES -
MW-ACETATES
- 78
18
46
+ MASS-PARAFFINS
14.5
MASS-OLEFIN + MASS-DIOLEFIN - MASS-ETHYLENE
MW-OLEFIN MW-DIOLEFIN
MASS-AROMATICS
MW-AROMATICS
MASS-CARBONYLS + MASS-ACETATES
28
MW-CARBONYLS
MASS-ETHYLENE
28
MW-ACETATES
(1)
(2)
(3)
(4)
(5)
1-18
-------
Another generalization is that most compounds assigned to the ARO, CARB,
and OLE carbon-bonds contain single-bonded carbon atoms as well. These
properly belong with the PAR carbon-bond type. The weight of these CH2 units
may be computed by determining the fraction of the molecule weight which is
"paraffinic." This is done by subtracting from the molecular weight of the
compound the weight of the carbon-bond unit assigned to another type. As
indicated before, the weight of CARB, OLE, and ARO are 30, 28, and 78 grams,
respectively. Alcohols and acetates are treated similarly. In order to
determine the weight of CH2 units associated with alcohols and acetates, the
molecular weights of the hydroxy group and the ester group must be subtracted
from the total molecular weight. The molecular weights of the hydroxy (H--OH)
group and ester ((X^^) group are 18 and 46 grams, respectively.
If additional information is available, other generalizations can be
made. For example, if the amount of G£ olefins is known, this can be
identified as ethylene and included as such. If the amount of €5 aromatic,
i.e., benzene, is known, it should be considered nonreactive. The same is
true of the C^ and ^2 Paraffins, methane and ethane. If information on
cycloparaffins is available, these compounds should have one mole assigned to
ethylene (28 grams) and the remainder to the paraffins.
e. Use of Nitrogen Oxides Apportioning Algorithm. The normal emissions
inventory reports emissions of all nitrogen oxides as a single value on a
nitrogen dioxide (l^) basis. The Urban Airshed Model requires data for only
nitric oxide (NO) and N02, as separate species. The ASMDHS apportions the
emissions inventory data by means of a standard algorithm for all sources
using the user's input values of percent by weight of NO and N02« These
percents by weight are included with either the Standard Pollutant Split
Algorithm data or the Optional Pollutant Split Algorithm data. Note that the
percents by weight (and molecular weights) of the hydrocarbon species may be
omitted when they do not apply.
The primary reference document for percents by weight of nitrogen oxide
species is Review of NO^Emission Factors for Stationary Combustion Sources,
(EPA-450/4-79-021) [3].
1-19
-------
1.4 SYSTEM DESCRIPTION
1.4.1 Control Measures and Growth Projection (CMGROW) Program
^_ •B«B.B.fe^^-_«HI_^M^^BI»M.^^^^^^^^^mM fc
The CMGROW program is the first of the four ASMDHS programs. Its
purposes are:
• to create an emissions inventory with consistent identification for
use by later programs;
• to modify the emissions inventory to simulate future emissions
patterns by means of growth or emissions control; and
• to summarize the resulting emissions inventory for analysis by
the user.
If the user supplies no control measures or growth factors, the CMGROW
program will insert a standard date and identification into the output file,
but will not modify the emissions; the resulting summary, therefore, will be
that of the input (base year) emissions inventory.
1.4.2 Temporal and Pollutant Split (TPSPLIT) Program
The second program in the ASMDHS sequence is TPSPLIT. The purposes of
this program are:
• to divide the NOX and HC emissions of the emissions inventory into
the appropriate emissions species for the Urban Airshed Model;
• to allocate the annual emission rates of all. species in the inventory
to hourly rates;
• to convert the units of the emission rates to gram-moles per hour; and
• to write the resultant hourly emissions rates to the output
file for further processing.
The TPSPLIT program will always compute hourly emission rates for Urban
Airshed Model species, even when the user does not supply pollutant or
temporal profiles; default calculation(s) are performed for each source for
which profiles are not provided.
1-20
-------
1.4.3 Major/Minor Point Source Division/Model Conversion (PSCONV)
Program
Use of PSCONV follows TPSPLIT. The purposes of this program are:
• to identify major (large, elevated) point sources;
• to collect other point sources into an area grid as pseudo
ground-level sources;
• to scale point source HC and/or NOX emissions; and
. to output the point source data in Urban Airshed Model format.
Major point sources may be identified individually by the user, or
selected as a class based on minimum plume rise and reactive species emissions
rates; sources not selected as major are grouped into the user-defined grid as
minor sources. Scaling factors for HC or NOX emissions will be applied to all
sources as a means for easily approximating growth and/or control strategies.
1.4.4 Area Source Gridding and Model Conversion (ASGRID) Program
Use of ASGRID also follows TPSPLIT. The purposes of this program are:
• to allocate county-wide area source emissions to a user-specified grid;
• to scale area source HC and/or NOX emissions; and
• to output the area source data in Urban Airshed Model format.
1.5 SUMMARY OF INPUT DATA
1.5.1 Control Measures and Growth Projection (CMGROW) Program
There are five types of data input to the Control Measures and Growth
Projection (CMGROW) program:
• Program control
• Summary definition
• Emissions inventory
• Control measures
• Growth factors
1-21
-------
Each of these categories is discussed below.
a. Program Control Data. The control data consist of a run title to
identify the reports, and Julian date and free-form identification
text to identify the output projection file.
b. Summary Definition Data. The user may specify up to fifty groupings
of output emissions rates by means of the summary definition data.
Section 2.2.1 contains a detailed description of the use of this
capability.
c. Emissions Inventory Data. The data items required by CMGROW from the
emissions inventory are:
• state, county, plant, emission point, SIC and SCC codes;
emissions rates for criteria pollutants;
• process annual operating rates;
• control device efficiencies;
• ash and sulfur contents of fuels; and
• emission factors.
These data items are obtained from an EIS/P&R Master File. Its
format is described in Section 2.1.
d. Control Measures Data. The data items required by CMGROW for control
measures are:
• state, county, plant, emission point, and SCC codes; and
• control efficiencies for base year and growth operating rates.
e. Growth Factors Data. The data items required by CMGROW for growth
factors are:
• state, county, plant, emission point, SIC, and SCC codes; and
• growth factors.
1.5.2 Temporal and Pollutant Split (TPSPLIT) Program
The input requirements for the TPSPLIT program consist of five
categories of data:
• Program control
• Summary definition
1-22
-------
• Projected emissions inventory
• Pollutant splits
• Temporal splits
Each of these categories is discussed below.
a. Program Control Data. The control data consist of a run title, the
number of days of output (up to four) to be created by the TPSPLIT
program, and EIS/P&R season selection parameters for each day when
default temporal calculations are used.
b. Summary Definition Data. Up to fifty summary report lines may be
organized by the user via the summary definition data. Each of these
report lines will contain one day's total emissions for each of up
to eight Source Classification Codes (SCC's) or SCC groups. The
user provides one input summary definition card for each line of
output (summarized group) desired.
c. Projected Emissions Inventory Data. The data items required by
TPSPLIT from the emission inventory produced by CMGROW are:
• state, county, plant, emission point, and SCC codes;
• emissions data for any criteria pollutants;
• process annual operating rate;
• control device efficiencies;
• ash and sulfur contents of fuels;
• emission factors; and
seasonal, daily, and hourly operating parameters.
These data are obtained from the Projected Source Emissions Inventory
created by the CMGROW program. Its format is discussed in Section 2.1.
d. Pollutant Split Data. The data items required by TPSPLIT for the
pollutant splits are:
• state, county, plant, emission point, and SCC codes;
• percentages by weight of subspecies of HC and NOX; and
• average molecular weights of subspecies of HC.
The codes need not all be present, depending upon the application the
user desires for the split. Percentages by weight and molecular weights are
1-23
-------
required only for those subspecies of HC and NOX present; molecular weights
are required only for the optional HC allocation algorithm. Details for
preparing these data are presented in Sections 1.3.2-d and 3.3.1.
e. Temporal Split Data. The data items required by TPSPLIT for the
temporal splits are:
• state, county, plant, emission point, and SCC codes;
• day identification; and
• seasonal, daily, and hourly fractions for allocation.
Details for preparing these data are presented in Section 3.3.1.
1.5.3 Major/Minor Point Source Division/Model Conversion (PSCONV)
Program
The input requirements for PSCONV consist of three categories of data:
• Program control
• Point source selection
• Hourly emissions inventory
Each of these categories is discussed below.
a. Program Control Data. These data consist of a run title, parameters
for selection of the data to be prepared for the Urban Airshed Model,
hydrocarbon and nitrogen oxide scaling factors, and major/minor point source
division criteria.
b. Point Source Selection Data. If the user wishes, individual emission
points may be specified by state, county, plant, and emission point codes.
The program assumes this occurs when the major/minor point source division
criteria are omitted from the program control data.
c. Hourly Emissions Inventory Data. The data items required from the
hourly emissions inventory are:
. state, county, plant, and emission point codes;
. stack parameters;
. annual emission rates for hydrocarbons and nitrogen oxides; and
. hourly emission rates for all Urban Airshed Model species.
1-24
-------
These data are obtained from the Hourly Source/Emissions Inventory
created by the TPSPLIT program. Its format is discussed in Section 2.1.
1.5.4 Area Source Gridding and Model Conversion (ASGRID) Program
The input requirements for ASGRID consists of three categories of data:
• Program control
• Allocation factors
• Hourly emissions inventory
Each of these categories is discussed below.
a. Program Control Data. These data consist of a run title, parameters
for selection of the data to be prepared for the Urban Airshed Model,
hydrocarbon and nitrogen oxide scaling factors, and the allocation factor
selection used to control the allocation factor to be used with a given
set of area source emissions data.
b. Allocation Factor Data. These data are needed in the mathematical
computations of the allocation of county-wide area source emissions to a
sub-county grid. The data consist of the file identifier, the allocation
factor identifier and the allocation factors.
c. Hourly Emissions Inventory Data. The data items required from the
hourly emissions inventory are:
. state, county, plant, and emission point codes; and
• hourly emission rates for all Urban Airshed Model species.
These data are obtained from the Hourly Source/Emissions Inventory
created by the TPSPLIT program. Its format is discussed in Section 2.1.
1.6 SYSTEM OUTPUT
1.6.1 Major/Minor Point Source Division/Model Conversion (PSCONV)
Program
Output from the PSCONV program consist of three files:
• the Major Sources/Point Sources description file;
1-25
-------
• the Time Intervals/Emissions Values file providing major
point source emissions data for the Urban Airshed model; and
• the Time Intervals/Grid Values file providing data on minor
point sources as area sources for the Urban Airshed model.
1.6.2 Area Source Gridding and Model Conversion (ASGRID) Program
Output from the ASGRID program consist of one file:
• the Time Intervals/Grid Values file providing area
source emissions data for the Urban Airshed Model.
1-26
-------
2. DATA REQUIREMENTS AND OUTPUT
This section discusses the input data requirements for the four ASMDHS
programs, and the output they produce. The emissions input to all four
programs is in the EIS/P&R Master File format; this is discussed completely in
Section 2.1, including the data required specifically for the ASMDHS and the
detailed file format. Other input data requirements are described by the type
of information required, its source, restrictions, options, and form. Program
output is described by the information provided by its form and ultimate
usage. Specific information on input and output formats for the ASMDHS other
than the EIS/P&R Master File is given in Section 3.
2.1 EMISSIONS INVENTORY SUBSYSTEM/PERMITS AND REGISTRATIONS (EIS/P&R)
MASTER FILE FORMAT
The EIS/P&R is a comprehensive system of programs designed to create,
maintain, and report an emissions inventory. It was selected as the emissions
inventory system because of its well-defined structure, comprehensive data
manipulation capabilities, data content, and wide use. The ASMDHS is
intimately dependent upon the EIS/P&R Master File formats as a means of
storing and communicating data. The EIS/P&R is described fully in
Comprehensive Data Handling Systems Emissions Inventory Subsystem/Permits and
Registration (EIS/P&R) Program Documentation and User's Guide (EPA-450/
3-74-045a). This document is a good general reference, and is indispensible
if the ASMDHS user needs to construct an emissions inventory from raw data.
The information in this section relates only to the Master File and those data
items in the Master File which are used by the ASMDHS.
The EIS/P&R Master File is a hierarchical structure, and contains four
different record types; these are identified as Segment 0, Segment 1, Segment
2, and Segment 3. The Master File may store either point or area source data;
the details of the differences in storage procedure are explained below. Each
point source (plant) or area source (county) is identified by a Segment 0
record as the first record; the area source is thus a pseudo-plant. Segment 1
2-1
-------
records (up to 99 per Segment 0) are subordinate to Segment 0 records, and
identify and contain data for a point (stack) or area source activity.
Segment 2 records (nominally up to 6 per Segment 1) are subordinate to Segment
1 records and contain data for point source unit processes or individual area
source categories. Segment 3 records (up to 999 per Segment 1) are
subordinate to Segment 1 records and originally were designed to contain
free-form textual information; this capability has been modified in the ASMDHS
(see Section 2.1.4).
All EIS/P&R records carry identifying key fields in characters 1-13 of
the record; these are state, county, Air Quality Control Region (AQCR) and
plant codes. AQCR is not explicitly used by the ASMDHS, but care should be
used to ensure that each entry for a county has the same AQCR so that the
proper logical order is maintained should EIS/P&R programs be used to process
a file. Each Segment 0 and its subordinate records must have a unique set of
key characters; in practice, this means that the plant code must be unique for
each Segment 0 in a county. Area source records are identified within the
ASMDHS as having a plant code of "0000" or "9999"; a particular county may
HAVE either "0000" or "9999", but not both. Point sources may have any other
4-digit number as plant code.
2.1.1 Segment 0
The format of the Segment 0 record is shown in Table 2.1-a. The items of
importance for the ASMDHS are the first 13 characters; the date, characters
14-18; Segment identifier, character 19; and the file identification
information, characters 46-80. The date and file identification fields have
file identifying data inserted in them by the CMGROW program and are
subsequently used for identification purposes by the TPSPLIT, PSCONV and
AS6RID programs.
2.1.2 Segment 1
The format of the Segment 1 record is shown in Table 2.1-b. Besides the
key, the important fields are the segment ID and the sequence number (EIS/P&R
2-2
-------
Table 2.1-a. EIS/P&R Segment 0 Format
RECORD POSITION
FIRST
1
3
7
10
14
16
19
20
22
25
27
39
43
45
46
81
129
133
139
LAST
2
6
9
13
15
18
19
21
24
26
38
42
44
45
80
128
132
138
186
LENGTH
2
4
3
4
2
3
1
2
3
2
12
4
2
1
35
48
4
6
48
DATA ITEM
PICTURE
9(2)
9(4)
9(3)
9(4)
9(2)
9(3)
9
X(2)
X(3)
X(2)
X(12)
X(4)
X(2)
A
X(35)
X(48)
X(4)
X(6)
X(48)
DESCRIPTION
STATE CODE
COUNTY CODE
AQCR CODE
PLANT CODE OR ('0000',
'9999') FOR AREA SOURCE
YEAR RECORD CREATED
DAY RECORD CREATED
SEGMENT IDENTIFIER; '0'
FILLER
USER AREA CODE
USER LOCAL AREA CODE
USER PLANT ID
CITY CODE
UTM ZONE
OWNERSHIP CODE
FILE IDENTIFICATION
(FREE-FORM TEXT)
ESTABLISHMENT NAME AND
ADDRESS
NUMBER EMPLOYEES AT .
SITE
SITE AREA
MAILING ADDRESS OF PLANT
2-3
-------
Table 2.1-b. EIS/P&R Segment 1 Format
RECORD POSITION
FIRST
1
14
19
20
22
24
27
31
33
37
42
44
46
48
51
53
55
57
59
LAST
13
18
19
21
23
26
30
32
36
41
43
45
47
50
52
54
56
58
60
LENGTH
13
5
1
2
2
3
4
2
4
5
2
2
2
3
2
2
2
2
2
DATA ITEM
PICTURE
X(13)
9(5)
9
9(2)
X(2)
X(3)
X(4)
X(2)
X(4)
X(5)
X(2)
X(2)
X(2)
X(3)
X(2)
X(2)
X(2)
X(2)
X(2)
DESCRIPTION
EIS/P&R KEY
JULIAN DATE OF RECORD
SEGMENT ID; 'I1
SEGMENT SEQUENCE NUMBER
NEDS POINT CODE
USER POINT CODE
STANDARD INDUSTRIAL
CLASSIFICATION (SIC)
IPP PROCESS CODE
UTM EASTING, TENTHS OF KM
UTM NORTHING, TENTHS OF KM
LATITUDE, DEGREES
LATITUDE, MINUTES
LATITUDE, SECONDS
LONGITUDE, DEGREES
LONGITUDE, MINUTES
LONGITUDE, SECONDS
PERCENT OPERATING WINTER
PERCENT OPERATING SPRING
PERCENT OPERATING SUMMER
2-4
-------
Table 2.1-b - continued. EIS/P&R Segment 1 Format
RECORD POSITION
FIRST
61
63
65
66
68
73
76
80
83
87
94
99
103
107
108
110
LAST
62
64
65
67
72
75
79
82
86
93
98
102
106
107
109
111
LENGTH
2
2
1
2
5
3
4
3
4
7
5
4 .
4
1
2
2
DATA ITEM
PICTURE
X(2)
X(2)
X
X(2)
X(5)
X(3)
X(4)
X(3)
X(4)
X(7)
X(5)
X(4)
X(4)
X
X(2)
X(2)
DESCRIPTION
PERCENT OPERATING FALL
DAILY HOURS OF OPERATION
WEEKLY DAYS OF OPERATION
WEEKS PER YEAR
BOILER NAME PLATE
CAPACITY (MMBTU/HR)
PERCENT OF FUEL USED
FOR SPACE HEAT
STACK HEIGHT, FT.
STACK DIAMETER, FT.
STACK TEMPERATURE, °F
STACK VOLUME FLOW
RATE, ACFM
STACK EXIT VELOCITY,
FT/MIN
PLUME HEIGHT, FT.
FIRST AND LAST NEDS
POINT ID'S FOR THIS
STACK
COMPLIANCE STATUS CODE
DATE OF COMPLIANCE
ACHIEVEMENT (YR)
DATE OF COMPLIANCE
ACHIEVEMENT (MO)
2-5
-------
Table 2.1-b - continued. EIS/P&R Segment 1 Format
RECORD POSITION
FIRST
112
114
116
118
119
123
127
131
133
138
145
148
151
154
LAST
113
115
117
118
122
126
130
132
137
144
147
150
153
160
LENGTH
2
2
2
1
4
4
4
2
5
7
3
3
3
7
DATA ITEM
PICTURE
X(2)
X(2)
X(2)
X
X(4)
X(4)
X(4)
X(2)
X(5)
9(5)V(2)
X(3)
X(3)
9(2)V9
X(7)
DESCRIPTION
DATE OF LAST COMPLIANCE
REPORT (YR, MO, DAY)
EMERGENCY CONTROL
ACTION PLAN STATUS CODE
CONTROL REGULATION CODE
CONTROL REGULATION CODE
CONTROL REGULATION CODE
NUMBER OF EMISSION
SPECIES FOLLOWING
POLLUTANT CODE*
CONTROL EQUIPMENT COST*
PRIMARY CONTROL DEVICE
CODE*
SECONDARY CONTROL
DEVICE CODE*
NET CONTROL EFFICIENCY,
PERCENT*
ESTIMATED CONTROLLED
EMISSIONS, T/Y*
2-6
-------
Table 2.1-b - continued. EIS/P&R Segment 1 Format
RECORD POSITION
FIRST
161
168
175
176
177
LAST
167
174
175
176
177
LENGTH
7
7
1
1
1
DATA ITEM
PICTURE
X(7)
X(7)
X
X
X
DESCRIPTION
MEASURED EMISSIONS,
T/Y*
ALLOWABLE EMISSIONS,
T/Y*
USER UNITS CODE (NOT
USED)*
ESTIMATION METHOD CODE*
TEST METHOD CODE*
* All these values occur as a repeating group, from one to sixteen times, as
specified in NUMBER OF EMISSION SPECIES FOLLOWING
2-7
-------
point code); UTM coordinates; percent operating by season; daily and weekly
operating rates; stack parameters; pollutant codes; control efficiencies; and
estimated and measured emissions. The ASMDHS uses estimated emissions, unless
the field is blank; in that case, measured emissions are substituted if
present.
The EIS/P&R definition of Segment 1 records for area sources specifies
that each Segment 1 record for a county identifies an area source "major
group", such as all residential fuel use. This corresponds to the first three
digits (levels I and II) of the SCC in the associated Segment 2 records.
However, in order to allow for proper gridding of the area source emissions by
the ASGRID program, the ASMDHS requires that each Segment 1 record contain
data for only one area source activity, such as residential distillate oil
use. Thus, there can be only one Segment 2 record for each Segment 1 record
in an area source inventory. In addition, there is an arbitrary maximum
number of 60 Segment 1 records allowed per county. There is, however, no
implied association in the ASMDHS between a Segment 1 sequence number (point
number) and the emissions data it contains, in contrast with EIS/P&R, which
defines such a relationship to facilitate compatibility with the EPA's
National Emissions Data System (NEDS). Details of the standard EIS/P&R format
may be found in the EPA document referenced above.
2.1.3 Segment 2
The format of the Segment 2 record is shown in Table 2.1-c. In addition
to the key, the important items are the SCC (all four levels); annual process
rate; fuel sulfur and ash contents; pollutant ID; emission factor; and
ash-sulfur code. This segment is processed only by CMGROW and TPSPLIT, but is
maintained throughout the ASMDHS for file integrity.
2.1.4 Segment 3
The format of the Segment 3 record as used by the ASMDHS is shown in
Table 2.1-d. The emission rate fields shown are unique to the ASMDHS; EIS/P&R
2-8
-------
Table 2.1-c. EIS/P&R Segment 2 Format
RECORD POSITION
FIRST
1
14
19
22
24
25
27
30
32
35
37
38
45
52
55
58
63
LAST
13
18
21
23
24
26
29
31
34
36
37
44
51
54
57
62
63
LENGTH
13
5
3
2
1
2
3
2
3
2
1
7
7
3
3
5
1
DATA ITEM
PICTURE
X(13)
9(5)
X(3)
9(2)
X
X(2)
X(3)
X(2)
X(3)
X(2)
X
X(7)
X(7)
9V9(2)
9(2)V9
X(5)
X
DESCRIPTION
EIS/P&R KEY
DATE OF DATA ENTRY
NOT USED
SEGMENT 2 SEQUENCE NO.
LEVEL I SCC CODE
LEVEL II SCC CODE
LEVEL III SCC CODE
LEVEL IV SCC CODE
BASIC EQUIPMENT CODE
BASIC EQUIPMENT
SEQUENCE NUMBER
USER FUEL UNITS (NOT
USED)
ANNUAL PROCESS RATE,
SCC UNITS
HOURLY MAXIMUM DESIGN
RATE
FUEL SULFUR CONTENT,
PCT
FUEL ASH CONTENT, PCT
FUEL HEAT CONTENT,
MMBTU/SCC
CONFIDENTIALITY CODE
2-9
-------
Table 2.1-c - continued. EIS/P&R Segment 2 Format
RECORD POSITION
FIRST
64
65
90
91
93
98
107
108
LAST
64
89
90
92
97
106
107
108
LENGTH
1
25
1
2
5
9
1
1
DATA ITEM
PICTURE
X
X(25)
X
9(2)
X(5)
9(6)V9(3)
X
X
DESCRIPTION
NEDS SOURCE CODE
SOURCE DESCRP (TEXT)
SOURCE CODE FOR
EMISSION FACTOR
NUMBER OF EMISSION
FACTORS
POLLUTANT ID*
EMISSION FACTOR*
ASH OR SULFUR CODE*
USER UNITS CODE (NOT
USED)*
*A11 these values occur as a repeating group, from one to sixteen times, as
stated in NUMBER OF EMISSION FACTORS.
2-10
-------
Table 2.1-d. EIS/P&R Segment 3 Format As Redefined by ASMDHS
RECORD POSITION
FIRST
1
14
19
22
24
27
35
43
51
59
67
75
83
91
99
107
115
123
LAST
13
18
21
23
26
34
42
50
58
66
74
82
90
98
106
114
122
128
LENGTH
13
5
3
2
3
8
8
8
8
8
8
8
8
8
8
8
8
6
DATA ITEM
PICTURE
X(13)
X(5)
X(3)
X(2)
X(3)
9(8)
9(8)
9(8)
9(8)
9(8)
9(8)
9(8)
9(8)
9(8)
9(8)
9(8)
9(8)
X(6)
DESCRIPTION
EIS/P&R KEY
JULIAN DATE OF RECORD
POINT ID CODE
SEQUENCE OF SEGMENT (DAY)
SEQUENCE OF RECORD IN
SEGMENT (HOUR)
PARTICULATE EMISSION
RATE, gm/hr.
S02 EMISSION RATE,
gm-mole/hr.
CO EMISSION RATE,
gm-mole/hr.
NO EMISSION RATE,
gm-mole/hr.
N02 EMISSION RATE,
gm-mole/hr.
OLE EMISSION RATE,
gm-mole/hr.
PAR EMISSION
RATE, gm-mole/hr.
ARO EMISSION
RATE, gm-mole/hr.
CARB EMISSION
RATE, gm-mole/hr.
ETH EMISSION
RATE, gm-mole/hr.
SPARE
SPARE
FILLER
2-11
-------
defines these fields as a single field of text (comments). This record format
is defined in the TPSPLIT program and communicates the point-level hourly
emissions values to PSCONV and AS6RID. Since these are point-level emissions,
area source pseudo-points are required to describe only one area source
activity, as discussed in Section 2.1.2 above. The "sequence of segment" and
"sequence of record in segment" items are EIS/P&R definitions; the ASMDHS uses
them to identify days (up to 4) and hours (1-24), respectively, for PSCONV and
ASGRID. Any Segment 3 records encountered in the input file by CMGROW or
TPSPLIT are not copied to the respective output files to avoid confusion
within PSCONV and ASGRID.
2.2 CONTROL MEASURES AND GROWTH PROJECTION (CMGROW) PROGRAM
2.2.1 Input Data Files
There are four files input to CMGROW:
• Control and Summary Definition File
• Source/Emissions File
• Control Measures File
• Growth Factors File
The Control and Summary Definition file contains three types of card
image records. The first card image has a line number of AA; it contains a
field 35 characters long which may be used to enter information to be output
on all plant records in the projected EIS/P&R master file. If no AA card
image is present, the default message 'PLANT PROCESSED BY CMGROW1 will be
used. The message is put into the CONTACT, TELEPHONE, and PRINCIPAL PRODUCT
fields of the plant record.
The second card image has a line number of 00; it contains two fields:
the Julian date and the run title. The Julian date is an arbitrary five-digit
(YYDDD) date used to update the date field on every record on the output
master file. If a valid date is not entered, a default date of 81100 will be
used on the output file. The run title is the user specified title to be used
2-12
-------
as the fourth heading line of the summary report produced by CMGROW. If no
run title is entered, the report line will be blank.
The remaining card images in the file are user-selected summary
definition cards. There may be zero to fifty cards present; each one is used
to select emissions data to be accumulated. Three types of data may be
entered on the cards. These are the line number, the category name, and the
SCC's or SCC groups. A default summary report is produced if none of these
cards are present.
A full description of the Source/Emissions File can be found in Section
2.1. It contains the input emissions inventory to which the control measures
and growth projection data will be applied.
The Control Measures File contains key information and control
efficiencies by pollutant and throughput. Each record on the file
contains key information, throughput control factors, and emission control
factors. The key information consists of various combinations of state,
county, plant, point, SIC, and SCC codes. The two throughtput control factors
apply to the original throughput and the growth increment of throughput. The
ten emission control factors apply to the criteria pollutants for the original
and growth increment of emissions.
The Growth Factors File contains key information and growth factor
information. The key information consists of various combinations of state,
county, plant, point, SIC, and SCC codes. The growth factor information is
used to determine the projected annual operating rate and thus also affects
the projected emission estimate. The growth factor is four positions long
with three assumed decimal places. It is assumed that the growth factor is 1
or larger, as 1 is subtracted from it in the calculation. If no growth factor
is found, the default value of 1 will be used.
2.2.2 Output File
CMGROW has one output file:
• Projected Source/Emissions File
This output file contains all records from the input Source/Emissions
2-13
-------
File. The date field of each record contains the date input on the 00 card of
the Control and Summary Definition file. If no date is input, the default of
81100 will be used. All plant records contain the information input on the AA
card. If no AA card is input, the default of 'PLANT PROCESSED BY CMGROW' will
be used.
The estimated emissions, annual operating rate, emissions factor, and
control device efficiency fields may be altered as described in Section 3.2
and Appendix D.I.
Information on the EIS/P&R master file is in Section 2.1.
2.2.3 Reports
The CMGROW program produces two reports:
• Diagnostic and Input Report
• Emissions Summary Report
The Diagnostic and Input Report lists the following input information
along with any associated diagnostic messages:
• The program's identification
• All control and summary definition file records
• All control measures file records
• All growth factors file records
• An audit trail, detailing the records processed and
diagnostic messages produced.
The Emissions Summary Report consists of two parts: a county-by-county
summary and a regional summary. The lines printed on each part are determined
by user input. Each line contains the line name, and the total of emission
values for the specified SCC for each of the five criteria pollutants. In
addition, the SCC's which have not been specifically defined by the user are
summed into either a 'MISC. POINT' or a 'MISC. AREA' line. Also, there is a
total for all SCC's.
2-14
-------
Sample output of both reports can be found in Appendix B.
2.3 TEMPORAL AND POLLUTANT SPLIT (TPSPLIT) PROGRAM
2.3.1 Input Data Files
There are four files input to the TPSPLIT program:
• Control and Summary Definition File
• Pollutant Split File
• Temporal Split File
• Projected Source/Emissions File
The Control and Summary Definition File is a card image file. The first
card image contains a run title that is printed on all reports as
identification. The file also contains an optional control data card. It
specifies the number of days of output to be created, and specifies the
EIS/P&R "PERCENT OPERATING" seasonal allocation factor to be used in the
temporal split default calculation for each of the days to be computed. This
card is not required; it is strongly recommended that the user provide it. It
must be present if the next option is exercised; that is, from 1 to 50 summary
definition cards may be included. Each contains a line number, a line
identification and from one to eight SCC or SCC group specifications. A
default summary report is produced if none of these cards is included.
The Pollutant Split File is a card image file. The first card image
contains file identification that is included in the input report to identify
the file used for a particular run. There are two types of pollutant split
records in this file, all in card image form. All pollutant split records
contain a key consisting of various combinations of state, county, plant,
point, and SCC codes, and a card type identifier. The type of pollutant split
record used by the standard pollutant split algorithm consists of one card
image. It includes percents by weight for each of the five Urban Airshed
Model carbon bond categories present in the HC emissions, and the percents by
weight of NO and N02- The type of pollutant split record used by the optional
pollutant split algorithm requires two card images and includes:
2-15
-------
• up to 10 percents-by-weight of HC species present in
the emissions plus the percent aldehydes
• percents-by-weight of NO and N0£
• average molecular weights of up to 8 of the 10 HC
species for which percents-by-weight are included
The Temporal Split File contains file identification and, optionally,
temporal split information. The file identification text is included in the
input report to identify the file used for a particular run. The temporal
split records, which are optional, require a seasonal apportioning factor, a
daily apportioning factor, and 24 hourly apportioning factors spread across
two card images. Each card image of a pair must contain the same key field
information, which consists of various combinations of the state, county,
plant, point, and SCC codes.
The Projected Source/Emissions Inventory (EIS/P&R Master File) is the
output of the CMGROW program. A detailed description of this file is found in
Sections 2.1 and 2.2.2.
2.3.2 Output File
There is one output file:
. Hourly Source/Emissions File
This file contains all of the input Projected Source/Emissions File
(except any Segment 3 records), plus the special Segment 3 records that
contain hourly emissions values. See Section 2.1 for details.
2.3.3 Reports
The TPSPLIT program produces two printed reports:
. Diagnostic and Input Report
. Emissions Summary Report
The Diagnostic and Input Report contains a formatted display of the input
control options and summary definition cards in its first section. The second
2-16
-------
section displays all pollutant split data and any associated diagnostic
messages. The third section displays all temporal split data and any
associated diagnostic messages. The fourth section displays all EIS/P&R
Master File Segment 1 record keys, and any messages associated with the
processing of the Segment 1 record and its associated Segment 2 records.
Finally, an audit trail of input and output records by type is presented.
The Emissions Summary Report is made up of three sections; each section
contains one page for each day's data as created by the TPSPLIT program.
The first section of the Emissions Summary Report contains the
User-defined summary. Each line contains all emissions for a particular day
for the SCO's or SCC groups specified by the user in the Summary Definition
cards. The last two detail lines contain emissions of area and point sources,
as defined by EIS/P&R plant code, that are not selected by the user in the
Summary Definition. The last line is a page (day) total for all emissions.
The second and third sections of the Emissions Summary Report summarize
all point and all area source emissions, respectively, by hour, with a page
(day) total at the bottom of each page.
2.4 MAJOR/MINOR POINT SOURCE DIVISION/MODEL CONVERSION (PSCONV)
PROGRAM
2.4.1 Input Data Files
There are two files input to the PSCONV program:
• Control and Selection File
• Hourly Source/Emissions File
The Control and Selection File is a card image file input through
the system standard card reader. The first card image contains an
80-character run title, which appears as the fourth line of all report
headings. The second card image contains the day(s) and hour(s) to be
selected; NOX and HC scaling factors; the maximum plume height, NOX and HC
emissions rate parameters used to classify a source as major or minor; lower
left-hand and upper right-hand UTM coordinates of the entire study area; and
2-17
-------
side length for each grid cell. If the major/minor source classification
parameters are left blank, the PSCONV program will accept subsequent card
images which contain state, county, AQCR, plant, and point codes for selection
of major sources by specific point. It is important for the user to
understand that major point sources can be explicitly selected, i.e., points
are classified as major points without any plume height or emissions rate
testing, only when the plume height and emissions rates fields are left
blank in the control card.
The Hourly Source/Emissions File is the output file from the
Temporal and Pollutant Split (TPSPLIT) program. For a detailed discussion of
this file, refer to Sections 2.1 and 2.3.
2.4.2 Output Files
There are three files output by the PSCONV program:
• Point Source Packet File
• Time Interval/Emissions Values Packet File
• Time Interval/Grid Values Packet File
The Point Source Packet file contains the stack parameters (plume height,
stack diameter, temperature, flow rate), location and identification for each
major source.
The Time Interval/Emissions Values Packet File contains an emission rate
for each pollutant for each hour and identification for each major source.
The Time Interval/Grid Values Packet File contains an emissions rate for
each pollutant for each grid cell for minor sources.
2.4.3 Reports
The PSCONV program generates two printed reports:
• Diagnostic and Input Report
• Emissions Summary Report
2-18
-------
The Diagnostic and Input Report echoes the input data from the Control
and Selection File and the Hourly Source/Emissions File. It describes the
user's request from the Control and Selection File versus the actual control
parameters used by the program. From the Hourly Source/Emissions File, the
state, county, AQCR, plant and point codes of each point source encountered
are printed followed by any error messages pertaining to that source, and
identification of the source as major or minor. After all data have been
processed, an audit trail is printed summarizing the data transactions.
The Emissions Summary Report is a one-page printed report of the total
emissions data for major sources and minor sources for each day processed.
The major and minor sources are summed to yield a grand total by pollutant.
2.5 AREA SOURCE GRIDDING AND MODEL CONVERSION (ASGRID) PROGRAM
2.5.1 Input Data Files
There are three data files input to the ASGRID program:
• Control and Selection File
• Allocation Factors File
• Hourly Source/Emissions File
The Control and Selection File located in the runstream, contains three
types of records in card image format.
The first record type is a card image and contains a run title, not to
exceed 80 characters, which will identify the particular ASGRID run. This
card image becomes the fourth printed line in all output page headings
produced by the ASGRID program.
The second record type is a card image for day/hour selection and scaling
factors. It specifies, by number of days and hours, the specially-formatted
Segment 3 records in the Hourly Source/Emissions File processed by ASGRID.
The user must specify the number of days (1 or 2) to be processed, the day
number(s) of the 24-hour day(s) to be selected and, for each day selected, the
range of hours to be included. The valid range for the numbers of the days
2-19
-------
which may be selected for processing is 1-4. For the hours, the valid range
is 1-24, and the selection should include continuous hours when two days are
selected; if the selection of hours is not continuous, the program will
generate such a selection. In addition to the day/hour specifications, the HC
and NOX scaling factors may be specified. These factors are multiplicative
parameters that modify the emissions values of the five hydrocarbon species
and the two nitrogen oxide species, respectively, for all of the sources. If
either field is left blank, a default value of 1.0 is substituted.
The third type of record contains the allocation factor selections.
There is one record of two card images for each county. These records are
used to relate an allocation factor from the Allocation Factor File for a
particular state/county ID to the emissions data in the Hourly Source/
Emissions File for the same ID. This relationship is established through the
area source category, which is used as a means of identifying emissions data
within a county. The position of each of the 60 allocation factor selection
parameters in each record represents one of the 60 area source categories.
Since a selection parameter contains the position number of one of the thirty
allocation factors, this parameter relates that allocation factor to the
correct emissions data for that one county by means of the area source
category number -allocation factor number relationship.
The Allocation Factors File is located on magnetic tape and contains
three record types in card image form.
The first record type is the file identification, not to exceed 80
characters, which will identify the allocation factor data being processed in
the ASGRID run. This card image becomes the sixth printed line of the output
heading of the Allocation Factor Input Report produced by ASGRID.
The second record type consists of two card images containing space for
30 literals of four characters, which are used to identify each allocation
factor in the Allocation Factor Input Report. The choice of literals is left
to the user.
The third record type, the allocation factor data record, makes up the
remainder of this file. There are up to 30 allocation factors of four
characters each, grid location, and state and county codes for each grid cell
2-20
-------
of each county. Each allocation factor is related to a set of emissions data
through the allocation factor selection record for the county, and allocates
the emissions data to the grid it represents.
The Hourly Source/Emissions File is generated by the TPSPLIT program in
EIS/P&R Master File format. A detailed description of this file is found in
Sections 2.1 and 2.3.
2.5.2 Output File
There is one file output by the ASGRID program:
• Time Interval/Grid Values Packet File
This file is in card image format and contains the data for each area
source grid for use by the Urban Airshed Model.
2.5.3 Reports
The ASGRID program generates three printed reports:
• Allocation Factor Input Report
• Diagnostic and Input Report
. Emissions Summary Report
The Allocation Factor Input Report contains a listing of each allocation
factor record used in the processing of data; the grid row and column numbers
are included along with the corresponding set of factor values. The factor
record (two card images) found at the beginning of the allocation factor file
contains the names used as headers for the columns on each page. There are 30
factor names and 30 allocation factors; therefore, there is a double-lined
column header with 15 factor names on each line to identify the two lines of
15 allocation factors each per grid cell. The first header line contains the
names for the first printed line of allocation factors, and the second header
line for the second printed line of factors.
The Diagnostic and Input Report describes the user's selection request
for the control card and the actual data used by ASGRID; the state and county
2-21
-------
ID of each area source processed from the Hourly Source/Emissions File,
followed by any error messages pertaining to the processing of that source;
other error messages pertaining to the run; and an audit trail which contains
a count of records skipped, processed, generated and a count of each level of
error encountered.
The Emissions Summary Report is optional because of its potentially large
volume; the request indicator is on the control card. The report contains
emissions data sorted and summed by day, emissions species, and grid, and
printed with each emissions name as a column header. A group of pages is
generated with one grid per line for each day selected; each group has day
totals.
2-22
-------
3. USER'S GUIDE
3.1 INTRODUCTION
The Airshed Model Data Handling System (ASMDHS) is a system of four
programs which, with minimal user intervention, can produce elevated (point)
and ground-level (area) source emissions data for direct input into the Urban
Airshed Model. In order to do this, the ASMDHS requires a basic annual
emissions inventory and several other data parameter files; all of the
parameter files are created offline. The emissions inventory must be created
by the Emissions Inventory Subsystem/Permits and Registrations (EIS/P&R) as
described in Section 2.1. The ASMDHS communicates data between programs in
the EIS/P&R Master File format; EIS/P&R can be used to manipulate these
intermediate files at any stage, if desired. In particular, it may be
advantageous to add, delete, or modify point sources by means of the EIS/P&R
File Maintenance capability when developing emissions inventory projections
for special purposes.
The procedure for using the ASMDHS itself involves four data processing
steps." First, the data from the basic EIS/P&R emissions inventory master file
are processed through the Control Measures and Growth Projection (CMGROW)
program to produce an inventory file with modified emission rates and a
printed summary of the emissions data. Second, the resulting emissions
inventory file is processed through the Temporal and Pollutant Split (TPSPLIT)
program to produce a file containing hourly emissions values for each source
for each of the emissions species which will ultimately be modeled by the
Urban Airshed Model. Third, the output file from the TPSPLIT program is
processed by the Major/Minor Point Source Division/Model Conversion (PSCONV)
program, to produce the requisite point source emissions input data for the
Urban Airshed Model in the proper format. Fourth, the output file from the
TPSPLIT program is processed by the Area Source Gridding and Model Conversion
(ASGRID) program to produce gridded area source emissions input data for the
Urban Airshed Model in the proper format. Figure 3.1-a is a flow diagram for
the ASMDHS procedure.
3-1
-------
EIS/P&R
PROGRAM SYSTEM
GROWTH
PROJECTION
DATA
EIS/P&R
SOURCE/
EMISSIONS
FILE
CONTROL
PARAMETERS
CONTROL MEASURES
AND GROWTH
PROJECTION PROGRAM
(CMGROW)
r
POLLUTANT
SPLIT DATA
EIS/P&R
PROJECTED
SOURCE/
EMISSIONS
FILE
CONTROL
MEASURES
DATA
REPORTS
TEMPORAL
SPLIT DATA
TEMPORAL AND POLLUTANT
SPLIT PROGRAM
(TPSPLIT)
CONTROL
PARAMETERS
EIS/P&R
HOURLY
SOURCE/
EMISSIONS
FILE
REPORTS
CONTROL
PARAMETERS
CONTROL AND
SELECTION
PARAMETERS
MAJOR/MINOR POINT
SOURCE DIVISION/
MODEL CONVERSION
PROGRAM
(PSCONV)
POINT
SOURCE
PACKET
REPORTS
GRID DEFINITION
AND ALLOCATION
FACTORS DATA
AREA SOURCE GRIDDING/
MODEL CONVERSION
PROGRAM
(ASGRID)
MAJOR
POINT SOURCE
EMISSIONS
VALUES PACKETS
MINOR POINT
SOURCE GRID
VALUES PACKETS
AREA SOURCE
GRID VALUES
PACKETS
Figure 3.1-a. Procedure Flow for the Airshed Model Data Handling System
3-2
-------
The CMGROW program writes a magnetic tape of EIS/P&R records with user
specified control measures and/or growth factors applied to modify the annual
emission rates and associated emission factors. The user supplies a file of
control measures data for specified emissions sources, a file of growth
projection data for specified emissions sources, a control parameters card
-- all in card image format -- and the input EIS/P&R Source/Emissions File.
The CMGROW program produces a report summarizing the emission values written
to the output magnetic tape file; if the user wishes a summary of the input
file, the CMGROW program may be executed with the control measures and growth
projection data omitted, i.e., with zero growth and control, the output file
is simply the input file.
The TPSPLIT program produces a magnetic tape file of EIS/P&R records
which contains the input EIS/P&R data and the emissions rates for each source
in gram-moles/hour for each of the Urban Airshed Model species, for each hour
to be modeled. The user must provide the Projected/Source Emissions File
produced by the CMGROW program. Card image files of (a) pollutant split
parameters for nitrogen oxides and hydrocarbons and (b) temporal split factors
must be provided by the user; default algorithms are present in the TPSPLIT
program if the user inadvertently omits some of these data, so that the run
will not abort. A card image file of control parameters and summary report
formatting specifications must also be provided by the user.
The PSCONV program produces card image output files of major and minor
(gridded) point source emissions, in gram-moles/hour, formatted for direct
input to the Urban Airshed Model. The user provides the Hourly Source/
Emissions File produced by TPSPLIT, a card image control file that specifies
the data to be selected for output, the parameters distinguishing major and
minor point sources, optional nitrogen oxides and hydrocarbon species scaling
factors, and definition of the square grid of the study area.
The ASGRID program produces a card image output file of gridded area
source emissions, in gram-moles/hour, formatted for direct input to the Urban
Airshed Model. The user must provide the Hourly Source/Emissions File
produced by the TPSPLIT program. A card image control file that specifies
3-3
-------
data to be selected for output, nitrogen oxides and hydrocarbon species
scaling factors, summary report selection, and county-specific allocation
factor selection parameters is required . A card image file of county-to-grid
allocation factors must also be provided.
The four ASMDHS programs are written in ANS COBOL 1974 for execution on a
UNIVAC 1100 series computer (UNIVAC compiler COBOL 4R1A). The system should
be compatible with ANS COBOL 1974 compilers on other computers; great care was
taken to use only ANS COBOL 1974 instructions and formats, and avoid UNIVAC
enhancements. Modifications for use with other compilers should be confined
to:
• The ENVIRONMENT DIVISION, and
• The method of obtaining date and time in the PGM-INIT paragraph of
the PROCEDURE DIVISION.
The ASMDHS is written using structured programming concepts, top-down
techniques, and modular units. Therefore, the execution of the programs does
not flow through the source code as listed; rather, overall control remains in
a short mainline module in each program. Hierarchy charts are presented for
the programs to show their modular tree structure. Program flow proceeds from
top to bottom and back up as though each module (paragraph or section) were a
called subprogram. All called modules are shown only once, even though they
may be processed more than once from the calling routine. The source code for
the four ASMDHS programs are presented in Appendix A.
The following sections describe the four ASMDHS programs, their inputs
and outputs, and the procedures for using them on a UNIVAC 1110 EXEC 8
operating system.
3.2 CONTROL MEASURES AND GROWTH PROJECTION (CMGROW) PROGRAM
3.2.1 Description
The CMGROW program allows the user to project emissions for all criteria
pollutants on an EIS/P&R Master File. These projected emissions can then be
processed by the remainder of the ASMDHS for modeling by the Urban Airshed
3-4
-------
Model. In order for the CMGROW program to calculate the projections, the user
must enter control measures and/or growth projections pertaining to individual
points, SIC's and SCC's on the master file.
The CMGROW program uses and/or produces three types of files. An
original unprojected (base year) file may come directly from EIS/P&R. It
contains only point and area sources which are current for the base year. lt^
is recommended that it be processed by CMGROW with no control measures or
growth factors in order to obtain a summary and an edit check of the file.
A baseline projection file is built from the base year file by applying
growth and existing control regulations. This file may have emission points
added to or deleted from the base year file. The baseline projection file can
be created using the CMGROW program to project a base year file, or it can be
produced using EIS/P&R programs. A combination of the two approaches may be
used.
A strategy projection file is built using growth parameters, existing
regulations, and.future (more stringent) regulations. A strategy projection
file may be built using the CMGROW program and either a base year file or a
baseline projection file as input.
The CMGROW program does not distinguish between the three types of files.
The calculations made by the program use the emissions, annual operating
rates, and emission factors present on the input file without regard to how
these values were obtained. When the user enters the control measures and
growth projections for a particular run, it is important to enter values
appropriate to the input file. That is, if the input file is a baseline
projection file, growth factors and existing control measures have already
been used to calculate the emissions, annual operating rates, and emission
factors. Thus, the values used for additional controls and growth projections
must allow for the factors already applied; i.e., the control and growth
effects are compounded rather than replaced.
The user may distinguish between these files by using appropriate file
names and an appropriate run title to be used on the reports generated by the
CMGROW program. The user should also note that during a run of CMGROW the
control device efficiencies are set to zero for projected points. The effects
3-5
-------
of these control efficiencies are incorporated into the new emission factors
that are inserted into the projected file.
The CMGROW program modifies emissions estimates only for those points
which have been projected, that is, which have matched the point, SIC, or any
of its SCO's on at least one of the control measures or growth projections
records. The annual operating rate and emission factors on an SCC (Segment 2)
record are modified only if the point or any of its SCC's have been projected;
all plant (Segment 0) records on the output file will be modified to indicate
the plant has been processed by CMGROW, regardless of whether any points were
projected.
The hierarchy chart for the CMGROW program is shown in Figure 3.2-a.
ROOT-SEGMENT is the highest level module (or paragraph) of the CMGROW
program; it performs the PGM-INIT, MAIN-LOOP, and WRAP-UP paragraphs.
PGM-INIT opens the files used by the program and initializes certain
working storage areas; writes the program's identification; reads and
processes the Control and Summary Definition File; and initiates sort routines
for both the Control Measures File and the Growth Projections File.
The Control and Summary Definition File contains three types of card
image records. The first card image has a line number of AA; it contains a
field 35 characters long which may be used to enter information to be placed
in all plant records in the Projected Source/Errtissions File. If no AA card
image is present, the default message 'PLANT PROCESSED BY CMGROW' will be
used.
The second card image has a line number of 00; it contains two fields:
a Julian date and the run title. The Julian date is an arbitrary five-digit
(YYDDD) date used to update the date field on every record on the output
master file. If a valid date is not entered, a default date of 81100 will be
used on the output file. The run title is the user specified title to be used
as the fourth heading line of the summary report produced by CMGROW. If no
run title is entered, the report title line will be blank.
The remainder of the file contains up to 50 summary definition card
images which consist of a line number, a category name, and up to eight SCC's
or SCC groups. The line numbers should be from 1 to 50. The program prints
the user defined portion of the summary report using the input order of the
3-6
-------
ROOT-
SEGMENT
PGM-
INIT
MAIN-
LOOP
WRAP-
UP
Continued
on page 2
Continued
on page 2
WRITE-
TOTAL-
LINE
REPORT-
ROUTINE
(Page 1 of 8)
Figure 3.2-a. CMGROW Program Hierarchy Chart
3-7
-------
UPDATE-
MESSAGES
PRINT-
ROUTINE
OPTIONS-
CONTROL
READ-
OPTIONS-
FILE
PROCESS-
OPTION-
CARDS
Continued
on page 4
MOVE-
ZEROS
SORTS
Continued
on Page 7
1
LOCATE-
MASTER
Conti
on Pa
nued
ge 4
i
CALCULATE-
POINT-
EMISSIONS
Continued
on Page 5
WRITE-
OUTPUT-
FILE
MAIN-LOOP
I
1
DUMP-
RECORDS
Conti ni
on Pag«
ted
; 3
-'4.
i
WRITE- ADD-
REPORT OUT-
SEG1
MAIN-
LOOP2
Continued
on page 3
(Page 2 of 8)
Figure 3.2-a - continued. CMGROW Program Hierarchy Chart
3-8
-------
CALCULATE-
POINT-
EMISSIONS
Continued
on page 5
DUMP-
RECORDS
Continued
below
MOVE-
INIT-
INFO
MOVE-
INIT-
INF02
ZERO-
POINT-
FIELDS
FIND-
POI NT-
RECORD
LOCATE-
CONTROL
DUMP-
RECORDS
I
i i
CHECK-
FIRST-
KEY-ERROR
PRINT-
ROUTINE
WRITE- ADD- MOVE-
OUTPUT- OUT- SET2
FILE SEG1
WRITE-
OUTPUT-
FILF
(Page 3 of 8)
Figure 3.2-a - continued. CMGROW Program Hierarchy Chart
3-9
-------
CHECK-
OPT-SCC
PROCESS-
OPTION-
CARDS
ERROR-
ROUTINE
READ-
OPTIONS-
FILE
READ-
MASTER-
FILE
LOCATE-
MASTER
LOCATE-
SEGO
WRITE-
OUTPUT-
FILE
LOCATE-
SEG1
LOCATE-
SEG2
Continued
on page 6
SEARCH-
OPTIONS-
SCC
Continued
on page 8
INITIAL-
CALCULATIONS
Continued
on page 6
Figure 3.2-a - continued.
(Page 4 of 8)
CMGROW Program Hierarchy Chart
3-10
-------
CHECK-
POINT-SUM
CALCULATE-
POINT-
EMISSIONS
CALCULATIONS
ERROR-
ROUTINE
CHECK-FIRST-
KEY-ERROR
FIND-SUM-
SPOT
FIND-SUM-
SPOT-2
COMPUTE-
EMISSION-
ESTIMATE
PRINT-
ROUTINE
ERROR-
ROUTINE
CHECK-FIRST-
KEY-ERROR
SEARCH-FOR
POLLUTANT-ID
ASH-SULFUR-
ADJUSTMENT
PRELIMINARY-
COMPUTATION
FINAL-
COMPUTATION
Continued
on Page 8
(Page 5 of 8)
Figure 3.2-a - continued. CMGROW Program Hierarchy Chart
3-11
-------
FIND-
POI NT-
RECORD
LOCATE-
SEG1
WRITE-
OUTPUT-
FILE
LOCATE-
CONTROL
LOCATE-
GROWTH
MOVE-
INIT-
INFO
MOVE-
INIT-
INF02
ZERO-
POI NT-
FIELDS
INITIAL-
CALCULATIONS
I
PRELIMINARY-
COMPUTATION
ASH-SULFUR-
ADJUSTMENT
SEARCH-
INIT-POLL
CALC-
EDIT-
ROUTINE
(Page 6 of 8)
Figure 3.2-a - continued. CMGROW Program Hierarchy Chart
3-12
-------
SORTS
INPUT-
CONTROL
INPUT-
PROCESS-
CONTROL-
FILE
PRINT-
ROUTINE
EDIT-
CONTROL-
RECORD
ERROR-
ROUTINE
SORT-
CONTROL-
FILE
OUTPUT-
CONTROL
OUTPUT-
CONTROL-
FILE
*This structure is used for the sorting of both CONTROL-FILE and GROWTH-FILE,
(Page 7 of 8)
Figure 3.2-a - continued. CMGROW Program Hierarchy Chart
3-13
-------
SEARCH-
CNTL-SCC
1
SEARCH-
OPTIONS-
SCC
SEARCH-
CNTL-TABLE
SEARCH-
GRWTH-SCC
SEARCH-
GRWTH-TABLE
SEARCH-
CNTL-TABLE-1
SEARCH-
CNTL-TABLE-2
SEARCH-
GRWTH-TABLE-1
1
SEARCH-
GRWTH-TABLE-2
Figure 3.2-a - continued.
(Page 8 of 8)
CMGROW Program Hierarchy Chart
3-14
-------
summary definition cards and not the line number entered. The line numbers do
not print on the summary report. Each category name labels up to eight SCC's
to be summed for each line of the summary report. These SCC's are represented
on the report by the category name and not by the individual SCC numbers. The
user may define any category name with a maximum length of 14 characters. Up
to eight SCC's may be selected for each line of the report. Each SCC is made
up of four parts (levels): I '(one digit), II (two digits), III (three
digits), and IV (two digits). A complete SCC is an eight digit number that
defines a specific process and uses all four levels of the code. For
convenience, the CMGROW program user can include groups and subgroups of SCC's
by requesting only to the SCC level desired by leaving the remaining
right-hand portion(s) of the eight-digit field blank. During subsequent
processing the summary definition is scanned from first record to last and
from left to right. The first summary match encountered for an SCC or SCC
group entry causes the scanning to end; that line is used to accumulate
emissions for that particular process.
The user controls the actual projections made by CMGROW through input of
control measures and growth projections data. These two inputs are in
separate files. Both files contain the same key information -- state, county,
plant, point, SIC, and SCC codes. The user may specify information for a
specific plant-point combination or for more geaeral areas, such as SIC and/or
SCC within a given county. The acceptable combinations of these key fields
are given in Figure 3.2-b. The general and specific records are handled
differently by CMGROW, as described below.
The key information contains various combinations of state, county,
plant, point, SIC, and SCC codes. When an emissions projection calculation is
to be performed on a record, the program searches to find the appropriate
growth projections and control measures. The search begins with the most
specific combination, 1. Note that for this combination, SIC may be present,
but will not affect the outcome of the search, as each point has only one SIC.
If no data are present for combination 1, then combinations 2 thru 5 are
searched in that order. When a match is found, the search stops and the
appropriate growth factor is used.
3-15
-------
State County Plant Point SIC SCC
1
2
3
4
5
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X means field is present on the card.
Figure 3.2-b. Valid Key Field Combinations on Control
Measures and Growth Factors Files
3-16
-------
Growth projections of emissions are computed first for each point, so
that control measures may be applied to all emissions. The growth projection
record contains a growth factor which is used to determine the incremental
annual operating rate and thus also the incremental emissions estimates. The
field is four positions long with three assumed decimal places. A value of
one is subtracted from the growth factor in all of the calculations, so the
growth factor must be one or greater; this permits using typical growth
factors, which indicate projected total throughput levels. Details of the
calculations may be found in Appendix D.I.
A control measures record may contain two emission control factors for
each of the five criteria pollutants. The information on the card is in the
order: particulates, sulfur oxides, carbon monoxide, nitrogen oxides, and
hydrocarbons. The emission control factors replace control device
efficiencies in the projected emissions calculations (see equation 4 in
Appendix D.I). The first emission control factor (CF1) is used with the
reported emissions. It should reflect control measures and regulations
pertaining to existing sources. The second emission control factor (CF2) is
used with the growth portion of the emissions. It should reflect more
stringent control measures and regulations pertaining to new or modified
sources.
The control measures record also contains -two throughput control factors.
These are used to reflect control measures in the calculation for projected
annual operating rates (see equation 6, Appendix D.I). The throughput control
factors are not related to specific pollutants, but are entered for the
process as a whole. The first throughput control factor (GCF1) is used with
the current operating rate. The second throughput control factor (GCF2) is
used with the growth portion of the operating rate.
The throughput control factors are used in the calculation for the
projected emissions because of their effect on the projected annual operating
rates (see equation 4, Appendix D.I). They may be used to represent negative
growth. The throughput control factors are also useful for evaporative
hydrocarbon sources in which the operating rate is defined in terms of the
solvent content. Controlling the solvent content is equivalent to reducing
the operating rate.
3-17
-------
All of the control factors are three digits long with three implied
decimal positions. Any control factor not found in the search will be set to
the default value of 0. If the second emission control factor for any
*
pollutant or the second throughput control factor is blank, that factor will
be set equal to the corresponding first emission control factor or throughput
control factor; as the default condition, this is done to apply the same
controls to the growth portion as to the existing portion of the source
parameters.
A maximum of 300 general (combinations 3 thru 5) control measures
records and growth projections records may be used during one run of the
CMGROW program. The 300 of each which sort lowest will be used; the remainder
will be rejected and diagnostic messages will be printed. This limitation
reflects constraints on internal tables in the CMGROW program.
The control measures file and the growth projections file are each
processed using a COBOL sort routine. The processing is parallel for the two
files; therefore only one description will be given. The COBOL sort routine
calls both an input procedure and an output procedure.
The input procedure reads and edits the user's data before releasing the
records for sorting. The data records are printed, along with diagnostic
messages, for any violations of format requirements; records in error are
rejected and not processed further.
The records are then sorted in ascending order on the key as shown in
Figure 3.2-b.
The output procedure separates the sorted records into two groups,
depending upon the format of the key. In Figure 3.2-b, the key types 1 and 2
are considered specific, that is, they apply to a single point (Segment 1
record and its associated Segment 2 records) during the run. Key types 3-5
are considered general, in that they may apply to more than one point during a
run. Specific records are written to temporary files for processing (one
file each for control measures and growth projections records). General
records are stored in internal tables (one each for control measures and
growth projections records). There is a limit of 300 entries for each
internal table; the first 300 records encountered are used, with the remainder
rejected with an appropriate diagnostic message.
3-18
-------
These files and tables provide the control measures and growth
projections which are applied to the input EIS/P&R Source/Emissions File
described in Section 2.1. The emissions inventory is processed as described
bel ow.
A Segment 0 record identifies the beginning of data for a new/different
plant. When a Segment 0 record is encountered on the input file, the data
from the AA and 00 control cards, or the default identification and date, are
inserted into the record and it is written to the Projected Source/Emissions
File.
The projections are performed on data in Segment 1 and Segment 2 records.
Details are presented in Appendix D.I. Each Segment 1 (point record) and its
associated Segment 2 records (up to 6 machine processes) are held in working
storage while the computations are performed. The first step is to ensure
that the sum of the emissions for each of the five criteria pollutants are
computed from the Segment 2 process records matches the reported Segment 1
emission rate. A tolerance of two percent difference (ten percent if under
ten tons per year) is accepted for each pollutant; if the tolerance is
exceeded, a diagnostic message is issued and the point (Segment 1) emission
rate is proportionately distributed to the Segment 2 record(s). If an
estimated point emission rate is blank or zero the measured emission rate (if
greater than zero) is used; otherwise no computations will be done for that
pollutant. In the computations of emissions, missing emission factors, ash
contents, sulfur contents, and operating rates are set to one; missing control
device efficiencies are set to zero.
Once the point and process emission rates have been reconciled, the
projection process begins with a search for applicable growth projections and
control measures records as described earlier. Growth projections data are
applied first to the appropriate throughput rate(s). The growth portion
of each throughput is stored as a separate value. Specific growth factors for
particular processes are applied first, followed by more general growth
factors for any process(es) which are not projected. Each process or point is
projected once, using the first applicable projection encountered.
Control measures are applied after all growth projections for the point
are complete. Specific controls are applied first, followed by general
3-19
-------
controls. For each control measures record, throughput controls are applied
first; emissions controls are applied to the resulting emissions values. If
any processes do not have control measures applied, the original control
efficiencies from the Segment 1 record are applied to the emissions for those
processes.
When final projected emissions have been computed for all processes, they
are summed to the point level, and the original control efficiencies are set
to zero. The original and growth increments of throughput for each process
are added and this total is used with the final process emissions rates to
compute new process emissions factors. The new values are stored in the
appropriate locations in the Segment 1 and Segment 2 records; the records are
then written to the Projected Source/Emissions File. Any Segment 3 records
encountered are written to the Projected Source/Emissions File without change.
An important note is that, if a projected value either too large or too
small for its field is computed, it is set to zero and an appropriate
diagnostic message is written.
The projected emissions from each process are summed for the Emissions
Summary Report according to the user summary request data described earlier.
Processing of subsequent points or plants then continues.
When data for another county is encountered on the Source/Emissions File,
an Emissions Summary Report for the county jus-Uncompleted is written, the data
for the county are accumulated for the final summary, and program storage is
reset to zero for the summary for the new county.
When the end of the Source/Emissions File is encountered, processing of
the last emissions point is completed, and the emissions summary for the final
county and the entire file are written. An audit trail for the file,
detailing the count of records read and written, and the diagnostic messages
written, is written to the Diagnostic and Input Report, and the program
terminates normally.
3.2.2 Executive Control Language (ECL) Requirements and Data Deck Setup
a) Control Language Requirements. The following runstream illustrates
3-20
-------
the ECL commands to execute the CMGROW program on a UNIVAC 1100 EXEC 8
operating system.
@RUN,options runid.acct/userid,project,10
0PASSWD password.
@ASG,options control-file.
(PUSE PNRCNTR, control-file.
@ASG,options growth-file.
0USE PNRGRWTH,growth-file.
@ASG,opt ions master-file.,36N,serial
@USE PNRMSIN,master-file.
@ASG,options projected-file.,36N,serial
@USE PNRMSPRJ,projected-file.
@ASG,T PNROPTIN.
@DATA,I PNROPTIN.
Control and summary definition data
@END
@ASG,T PNRTMCF.
@ASG,T PNRTMGF.
@ASG,CP diag-report-file(+l).
@USE PNRPRINT,diag-report-file(+l).
@ASG,CP summary-file(+l).
@USE PNREPORT,summary-file(+l).
0SORTF number-of-records,60/c
0XQT absolute-file.elt
0FREE PNRPRINT.
(3FREE PNREPORT.
@SYM diag-report-file.,,PR
@SYM summary-file.,,PR
where:
options = job priority and other options
runid = six-characters run identification
acct = account number
userid = three-character user's identification code
3-21
-------
project = project identification and default file qualifier
10 = ten minute estimated run time
password = three-character password
control-file = user's control measure file
growth-file = user's growth factor file
master-file = user's EIS/P&R master file on disk or tape
(or baseline projection or strategy projection
file desired as input)
projected-file = user's output projected file in EIS/P&R master file
format on disk or tape
diag-report-file = alternate print file for diagnostic report
summary-file = alternate print file for summary report
number-of-records = estimated maximum number of records in either the
growth factors file or the control measures file
absolute-file.elt = location of CMGROW absolute element
b) Data Deck Setup. The logical structure of the data used by the CMGROW
program is shown in Figure 3.2-c. Data files that are contained outside of
the actual input stream are indicated in the figure. The user must create
these files prior to execution of the CMGROW program, either in separate runs
or by means of the @ DATA processor earlier in the runstream. All data are
optional; the order in which the program expects to find them is:
. File Identification Card (AA card)
. Run Title Card (00 card)
User Summary Request Cards (up to 50)
. Control Measures File Title Card (required if file present)
. Control Measures Data
. Growth Projections File Title Card (required if file present)
. Growth Projections Data
Examples of these data are shown in Appendix B on the sample Diagnostic
and Input Report. Input data forms for all these records are provided in
Appendix C.
3-22
-------
PNRGWTH
GROWTH
PROJECTION
DATA CARDS
PNRCNTR
CONTROL
MEASURES
DATA CARDS
SUMMARY
DEFINITION
CARDS
00 CARD
AA CARD
Figure 3.2-c. Logical Deck Setup for CMGROW
3-23
-------
3.2.3 Input Data Description
There are four files input to CMGROW:
. Control and Summary Definition File
. Source/Emissions File
. Control Measures File
. Growth Projections File
a) Control and Summary Definition File. This file is included as part of
the runstream for CMGROW. There are three types of card images in the file;
all are optional. The first card has a line number of AA. The card contains
information to be output on all plant records on the projected file. If no AA
card is present, the default message, 'PLANT PROCESSED BY CMGROW will be
used. The second card has a line number of 00. The card contains two fields:
the Julian date and the run title. The Julian date is a five-digit (YYDDD)
date used to update the date field on every record output on the projected
master file. If a valid date is not entered, a default date of 81100 will be
used on the projected file. The run title is the user-specified title to be
used as the fourth heading line of the summary report produced by CMGROW. If
no run title is entered, the report line will be blank.
The remaining cards in the file are user-salected summary definition
cards. There may be zero to fifty cards present; each one is used to select
emissions data to be summed to a particular line of the user summary report.
Three types of data are entered on the cards. These are the line number, the
category name, and the SCC's. The line numbers should be from 1 to 50. The
program prints the report using the order of the summary definition cards, and
not the actual line number entered. The line number does not print on the
summary report program. The category name labels up to eight SCC's to be
summed for each line of the summary report. These SCC's are represented on
the report by the category name and not by the individual SCC numbers. The
user may define any category name with a maximum length of 14 characters.
Up to eight SCC's may be selected for each line of the report. Each SCC
is made up of four parts (levels): I (one digit), II (two digits), III (three
digits), and IV (two digits). A complete SCC is an eight digit number that
3-24
-------
defines a specific process and uses all four levels of the code. For
convenience, the CMGROW program user can include groups and subgroups of SCC's
by requesting only down to the SCC level desired, leaving the remaining
right-hand columns in the eight digit field blank. The first summary match
encountered for an SCC entry causes the scanning to end; that line is used to
accumulate emissions for that particular process. The card formats for the
file can be found in Tables 3.2-a, b, and c.
b) Source/Emissions File. This file contains the emissions inventory; it
is either a base year file or one of the projected files. Its description is
found in Section 2.1.
c) Control Measures File. This file contains information concerning
control efficiencies by pollutant and throughput changes. Each record on the
file may contain key information, two throughput control factors, and two
emission control factors for each of the five criteria pollutants.
The key information includes six fields: state, county, plant, point,
SIC and SCC. The key information may be entered in any of the five valid
combinations shown in Figure 3.2-b. When an emissions projection calculation
is to be performed on a record, the program searches to find appropriate
control measures. The search begins with the most specific combination, 1.
Note that for this combination, SIC may be present, but will not affect the
outcome of the search as each point has only one SIC. If no data are present
on the control measures file for combination 1, the combinations 2 thru 5 are
searched. When a match is found, the search stops and any control measures
found for the record will be used.
A control measures record may contain two emission control factors for
the five criteria pollutants. The information on the record is in the order:
particulates, sulfur oxides, carbon monoxide, nitrogen oxides, and
hydrocarbons. The emission control factors replace control device
efficiencies in the projected emissions calculations (see equation 4, Appendix
D.I). The first emission control factor (CF1) is used with the present
emissions. It should reflect control measures and regulations now in effect.
3-25
-------
Table 3.2-a. CMGROW Control and Summary Definition File
Line Number 'AA' Card
RECORD POSITION
FIRST
1
3
38
LAST
2
37
80
LENGTH
2
35
43
DATA ITEM
PICTURE
X(2)
X(35)
X(43)
DESCRIPTION
LINE NUMBER, VALUE 'AA'
USER DEFINED OUTPUT
FILE IDENTIFICATION
FILLER
3-26
-------
Table 3.2-b. CMGROW Control and Summary Definition File
Line Number '00' Card
RECORD POSITION
FIRST
1
3
8
LAST
2
7
80
LENGTH
2
5
73
DATA ITEM
PICTURE
XX
X(5)
X(73)
DESCRIPTION
LINE NUMBER, VALUE '00'
JULIAN DATE USED FOR
PROJECTED EIS/P&R FILE
USER RUN TITLE
3-27
-------
Table 3.2-c. CMGROW Control and Summary Definition File
Summary Request Card
RECORD POSITION
FIRST
1
3
17
18
20
23
25
26
28
31
33
34
36
39
41
42
44
47
49
50
52
55
57
58
60
63
LAST
2
16
17
19
22
24
25
27
30
32
33
35
38
40
41
43
46
48
49
51
54
56
57
59
62
64
LENGTH
2
14
1
2
3
2
1
2
3
2
1
2
3
2
1
2
3
2
1
2
3
2
1
2
3
2
DATA ITEM
PICTURE
XX
X(14)
X
X(2)
X(3)
X(2)
X
X(2)
X(3)
X(2)
X
X(2)
X(3)
X(2)
X
X(2)
X(3)
X(2)
X
X(2)
X(3)
X(2)
X
X(2)
X(3)
X(2)
DESCRIPTION
LINE NUMBER
USER DEFINED CATEGORY NAME
LEVEL I SCC
LEVEL II SCC
LEVEL III SCC
LEVEL IV SCC
LEVEL I SCC
LEVEL II SCC
LEVEL III SCC
LEVEL IV SCC
LEVEL I SCC
LEVEL II SCC
LEVEL III SCC
LEVEL IV SCC
LEVEL I SCC
LEVEL II SCC
-LEVEL III SCC
LEVEL IV SCC
LEVEL I SCC
LEVEL II SCC
LEVEL III SCC
LEVEL IV SCC
LEVEL I SCC
LEVEL II SCC
LEVEL III SCC
LEVEL IV SCC
3-28
-------
Table 3.2-c - continued. CMGROW Control and Summary Definition File
Summary Request Card
RECORD POSITION
FIRST
65
66
68
71
73
74
76
79
LAST
65
67
70
72
73
75
78
80
LENGTH
1
2
3
2
1
2
3
2
DATA ITEM
PICTURE
X
X(2)
X(3)
X(2)
X
X(2)
X(3)
X(2)
DESCRIPTION
LEVEL I SCC
LEVEL II SCC
LEVEL III SCC
LEVEL IV SCC
LEVEL I SCC
LEVEL II SCC
LEVEL III SCC
LEVEL IV SCC
3-29
-------
The second emission control factor (CF2) is used with the growth portion of
the emissions. It should reflect future (more stringent) control measures and
regulations.
The control measures record also contains two throughput control factors.
These are used to reflect control measures in the calculation for projected
annual operating rate (see equation 6, Appendix D.I). The throughput control
factors are not related to specific pollutants, but are entered for the
process as a whole. The first throughput control factor (GCF1) is used with
the current operating rate. The second factor (GCF2) is used with the growth
portion of the operating rate.
Any first emissions control factor or throughput control factor not found
in the record will be set to the default value of 0. If the second emissions
control factor for any pollutant or the second throughput control factor is
blank, that factor will be set equal to the corresponding first emission
control factor or throughput control factor.
A maximum of 300 general (combination 3 thru 5) control measures records
may be used during one run of the CMGROW program. The 300 which sort lowest
will be used; the remaining records will be rejected and diagnostic messages
will be printed.
The record format for the control measures record can be found in Table
3.2-d.
d) Growth Projections File. This card image file contains information
concerning growth of throughput rates. Each record on the file may contain
key informatipn and a growth factor.
The key information includes six fields: state, county, plant, point,
SIC, and SCC. The key information is used in the manner discussed for the
Control Measures File in Section 3.2.3.C above.
When a growth projection record is selected, the growth factor is used to
compute an incremental annual throughput as discussed in Appendix D.I. Note
that the growth factor has the value one subtracted from it prior to actual
computation. The reason is to allow typical growth projection data, which
usually represent future total throughput rather than an incremental value, to
3-30
-------
Table 3.2-d. CMGROW Control Measures File
Control Measures Card
RECORD POSITION
FIRST
1
3
7
11
15
16
18
26
29
32
35
38
41
44
47
50
53
56
59
62
79
LAST
2
6
10
14
15
17
25
28
31
34
37
40
43
46
49
52
55
58
61
78
80
LENGTH
2
4
4
4
1
2
8
3
3
3
3
3
3
3
3
3
3
3
3
17
2
DATA ITEM
PICTURE
XX
X(4)
X(4)
X(4)
X
XX
X(8)
V999
V999
V999
V999
V999
V999
V999
V999
V999
V999
V999
V999
X(17)
XX
DESCRIPTION
STATE
COUNTY
SIC
PLANT ID
FILLER
POINT ID
sec
CONTROL FACTOR 1 FOR TSP
CONTROL FACTOR 2 FOR TSP
CONTROL FACTOR 1 FOR S02
CONTROL FACTOR 2 FOR S02
CONTROL FACTOR 1 FOR CO
CONTROL FACTOR 2 FOR CO
CONTROL FACTOR 1 FOR NOX
CONTROL FACTOR 2 FOR NOX
CONTROL FACTOR 1 FOR HC
CONTROL FACTOR 2 FOR HC
THROUGHPUT CONTROL FACTOR 1
THROUGHPUT CONTROL FACTOR 2
FILLER
'12'
3-31
-------
Table 3.2-e. CMGROW Growth Projections File
Growth Factors Card
RECORD POSITION
FIRST
1
3
7
11
15
16
18
26
30
79
LAST
2
6
10
14
15
17
25
29
78
80
LENGTH
2
4
4
4
1
2
8
4
49
2
DATA ITEM
PICTURE
XX
X(4)
X(4)
X(4)
X
XX
X(8)
9V999
X(49)
XX
DESCRIPTION
STATE
COUNTY
SIC
PLANT
FILLER
POINT
sec
GROWTH Factor
FILLER
'11'
3-32
-------
be used with ease. Therefore, the growth factor must have a value of one or
greater.
A maximum of 300 general (combination 3 thru 5) growth projections
records may be used during one run of the CMGROW program. The 300 records
which sort lowest in key will be used; the remaining records will be rejected
and diagnostic messages printed.
3.2.4 Output Data Description
One file is output from CMGROW:
• Projected Source/Emissions File
This file contains all records from the input Source/Emissions File. The
date field of each output record will contain a date specified by the user on
the 00 control card or the default value of 81100. All output plant records
will contain information specified by the user on the AA control card. The
emissions estimate and control factor information is modified on projected
point records as described in Section 3.2.1. The annual operating rates and
emission factors are similarly updated on projected SCC records.
A complete description of the file format can be found in Section 2.1.
3.2.5 Report Description
The CMGROW program produces two reports:
• Diagnostic and Input Report
• Emissions Summary Report
a) Diagnostic and Input Report. This report describes the input and
presents all diagnostic messages. The program's identification appears first,
followed by a listing of the control and summary definition file records and
any associated diagnostic messages. Control Measures File and Growth
Projections File records follow in the next two section's with their associated
diagnostic messages. The report for the Source/Emissions File is presented as
3-33
-------
the key data from Segment 1 records, SCC's from Segment 2 records, and any
associated diagnostic messages. The final section of the report is the audit
trail, detailing the records read from each of the files, the diagnostic
messages, and the records written to the output file.
b) Emissions Summary Report. This report consists of two parts: a
county by county summary and a regional summary. The lines printed on each
part are determined by user input. Each line contains the line name, and the
total of emissions values for the specified SCC for each of the five criteria
pollutants. In addition, emissions data for the SCC's which have not been
specifically defined by the user are summed into either a 'MISC. POINT' or a
'MISC. AREA' line. There is also a total for all SCC's.
Sample outputs of both reports can be found in Appendix B.
3.2.6 Diagnostic Messages
Diagnostic messages have been incorporated into the system to inform the
user of data problems during execution of the program. There are two
categories of diagnostic messages and the name of the appropriate category is
printed in each message. These categories are as follows:
a. CONDITIONAL. A conditional-category error does not cause
termination of program execution or rejection of input data.
It informs the user that an entry in the input data may be in
error and should be examined and verified.
b. ERROR. An error-category error does not cause termination of
program execution; however, the input data in which the error
is detected is rejected.
These diagnostic messages are listed in Table 3.2-f.
3-34
-------
Table 3.2-f. CMGROW Diagnostic Messages
***CMGROW 001 CONDITIONAL - MORE THAN 1 SCC FOR AREA SOURCE POINT
Each point (segment 1 record) for an area source (PLANT-ID of '0000' or
'9999') must have only one SCC (segment 2 record) associated with it.
All records are included in the projection file.
***CMGROW 002 ERROR - MORE THAN MAXIMUM NUMBER OF OPTION CARDS, CARD REJECTED
A maximum of 50 summary definition cards may be used. If more are
present, the first 50 will be used for the summary report and the rest
will be rejected.
***CMGROW 003 ERROR - NO OPTION CARDS SPECIFIED
The control and summary definition file was empty. Default date of
'81100' will be used. The summary report will only have 'MISC. AREA',
'MISC. POINT', AND 'TOTAL1 lines.
***CMGROW 004 ERROR - DUPLICATE RECORD ON GROWTH FILE, CARD REJECTED
Cards with duplicate keys were encountered on the growth projections
file. The first card was accepted; subsequent ones were rejected. The
rejected cards were printed prior to this error message.
***CMGROW 005 ERROR - INVALID SCC ON OPTION CARD, CARD REJECTED
An SCC (or SCC level) specified on a summary definition card was invalid.
This could occur by having a non-numeric (or blank) character imbedded
in the field. 1, 1234, 123456, and 12345678 are valid entries; 12, 1234,
12345, 1234567, 12 45678, and 12X are invalid entries.
***CMGROW 006 CONDITIONAL - PROJECTION TOO LARGE, VALUE OF 0 USED
In the emissions projection calculation, a value was computed which was
too large to be stored in the emissions field. When this occurs, the
message is printed, and a value of zero is used for the emissions. The
user should investigate this emission point prior to further runs of the
program.
***CMGROW 007 CONDITIONAL - SIZE ERROR FOR THIS POINT - PRESENT EMISSION WAS
USED
A size error was encountered for at least one SCC for the point,
therefore the present emission was used for the point.
***CMGROW 008 ERROR - DUPLICATE RECORD ON CONTROL FILE, CARD REJECTED
Cards with duplicate keys were encountered on the control file. The
first card was accepted; subsequent ones were rejected. The rejected
cards were printed prior to this error message.
3-35
-------
Table 3.2-f - continued. CMGROW Diagnostic Messages
***CMGROW 009 ERROR - CONTROL TABLE OVERFLOW
A maximum of 300 control measure records can be stored in the table.
These are records with no plant/point specified. The 300 cards which
sort lowest will be used; the rest rejected.
***CMGROW 010 ERROR - SUM OF SCC EMISSIONS NOT EQUAL TO POINT EMISSIONS
As each point on the input EIS/P&R master file is read, the estimated
emissions for the point is compared to the sum of the emissions
calculated for each SCC for that point for all criteria pollutants. If
the sum is not within two percent of the point emissions, the error
message will be generated and the point emissions will be distributed
among the SCC's for the projection calculations. See Section 3.2.1 for
further information on this distribution.
***CMGROW Oil ERROR - GROWTH TABLE OVERFLOW
A maximum of 300 growth projection records can be stored in the table.
These are records with no plant/point specified. The 300 cards which
sort lowest will be used; the rest rejected.
***CMGROW 012 ERROR - INVALID CONTROL STATE, CARD REJECTED
The state field must be numeric and between 01 and 55. The control
measure record was rejected.
***CMGROW 013 ERROR - INVALID CONTROL COUNTY, CARD REJECTED
The county field must be numeric. The control measure record was
rejected.
***
CMGROW 014 ERROR - INVALID CONTROL SIC, CARD REJECTED
The SIC field must be numeric or blank. The control measure record was
rejected.
***CMGROW 015 ERROR - INVALID CONTROL PLANT, CARD REJECTED
The plant field must be numeric or blank. The control measure record was
rejected.
***CMGROW 016 ERROR - INVALID CONTROL POINT, CARD REJECTED
The point field must be numeric or blank. The control measure record was
rejected.
**
*CMGROW 017 ERROR - INVALID CONTROL SCC, CARD REJECTED
The SCC field must be numeric or blank. The control measure record was
rejected.
3-36
-------
Table 3.2-f - continued. CMGROW Diagnostic Messages
***CMGROW 018 ERROR - INVALID CONTROL FACTORS, CARD REJECTED
At least one of the control factors was invalid; these factors must be
numeric or blank. The control measure record was rejected.
***CMGROW 019 ERROR - INVALID GROWTH STATE, CARD REJECTED
The state field must be numeric and between 01 and 55. The growth
projections record was rejected.
***CMGROW 020 ERROR - INVALID GROWTH COUNTY, CARD REJECTED
The county field must be numeric. The growth projections record was
rejected.
***CMGROW 021 ERROR - INVALID GROWTH SIC, CARD REJECTED
The SIC field must be numeric or blank. The growth projections record
was rejected.
***CMGROW 022 ERROR - INVALID GROWTH PLANT, CARD REJECTED
The plant field must be numeric or blank. The growth projections record
was rejected.
***CMGROW 023 ERROR - INVALID GROWTH POINT, CARD REJECTED
The point field must be numeric or blank. The growth projections record
was rejected.
***CMGROW 024 ERROR - INVALID GROWTH SCC, CARD"REJECTED
The SCC field must be numeric or blank. The growth projections record
was rejected.
***CMGROW 025 ERROR - INVALID GROWTH FACTOR, CARD REJECTED
The growth factor must be numeric. The growth projections record was
rejected.
***CMGROW 026 ERROR - INVALID KEY COMBINATION, CARD REJECTED
Only those combinations marked in Figure 3.2-b are allowed. The record
was rejected.
3-37
-------
3.3 TEMPORAL AND POLLUTANT SPLIT (TPSPLIT) PROGRAM
3.3.1 Description
The Temporal and Pollutant Split (TPSPLIT) program computes emission
rates in gram-moles/hour for all Urban Airshed Model species, and writes an
hourly file used by the Major/Minor Point Source Division/Model Conversion
(PSCONV) program and the Area Source Gridding and Model Conversion (ASGRID)
program which convert the hourly emission values into Urban Airshed Model
input data. The user may provide TPSPLIT with special (non-default)
parameters that will separate hydrocarbon and nitrogen oxide emissions into
their appropriate Urban Airshed Model input categories. The user may also
provide special (non-default) temporal split emission profiles which allocate
emissions to each hour that is modeled. And finally, the user may specify the
number of days of output desired and how to apply default temporal split
profiles to those day(s) using a control parameter card. The user can also
request a detailed summary report in addition to the standard report provided
by TPSPLIT.
The program consists of a single module, TPSPLIT, programmed in COBOL
according to structured techniques. Each paragraph is treated as an internal
subroutine, with all variables being global. The source code for this module
is listed in Appendix A. Figure 3.3-a is the hierarchy chart of the TPSPLIT
program. Program flow proceeds from top to bottom in the chart, except
returns from PERFORMED paragraphs.
The ROOT-SEGMENT paragraph serves as the initiating point of the program.
PGM-INIT initializes certain variables, opens all files, ACCEPTS the current
date and time, initializes headings, writes the program legend, and reads
run-id and file-id cards from the runstream.
The MAIN-LOOP paragraph drives the primary program flow. The
INPUT-OF-CONTROL-FILE paragraph initializes the control variables and stores
the user's summary request cards.
3-38
-------
ROOT-SEGMENT
PGM-INIT
MAIN-LOOP
WRAP-UP
Continued
on page 2
Continued
on page 2
Continued
on page 2
(Page 1 of 13)
Figure 3.3-a. TPSPLIT Program Hierarchy Chart
3-39
-------
PGM-INIT
END-OF-DIAG-
PAGE-RTN
INVALID-
DATA-FOUND
T-S-EOF-CHK
P-S-EOF-CHK
MAIN-LOOP
INPUT-OF-
CONTROL-FILE
Continued
on page 3
1
END-OF-DIAG-
PAGE-RTN
PROCESS-POLL-
SPLIT-CARDS
Continued
on page 3
PRINT-SUMMARY- READ-THE-
REPORT TEMPORAL-
FILE -SUB
i
PROCESS-TEMP-
SPLIT-CARDS
Continued
on page 3
READ-THE-
POLLUTANT-
FILE-SUB
i
SORT-FILES
PROCESS-PROJ-
FILE
Continued
on page 4
Continued
on page 3
END-OF-DIAG-
PAGE-RTN
(Page 2 of 13)
Figure 3.3-a - continued. TPSPLIT Program Hierarchy Chart
3-40
-------
INPUT-OF-CONTROL-
FILE
DISPLAY-OF-CONTROL
DATA
INVALID-DATA-FOUND
INPUT-SUMMARY-FORMATS
Continued on
page 4
PROCESS-POLL-SPLIT-
CARDS
1 1
P-S-EOF-CHK END-OF- PROCESS-
DIAG-PG-RTN P-S-TYPE-1
Continued
on page 4
PROCESS-TEMP-SPLIT-
CARDS
i i
T-S-EOF-CHK END-OF-DIAG- PROCESS-T-S-
PG-RTN TYPE-1
Continued
on page 5
PROCESS-PROJ-
FILE
1 1
END-OF-PROJ- PROCESS-PREV- PROCESS-PROJ-
FILE POINT TYPE-ZERO
Continued Continued Continued
on page 5 on page 6 on page 6
i
PROCESS-P-S-
TYPE-2
Continued
on page 4
i
PROCESS-T-S-
TYPE-2
Continued
on page 5
1
PROCESS-PROJ- P
TYPE-ONE
Continued
on page 6
i
INVALID-
DATA-FOUND
i
INVALID-
DATA-FOUND
1
ROCESS-PROJ-
TYPE-TWO
Continued
on page 6
(Page 3 of 13)
Figure 3.3-a - continued. TPSPLIT Program Hierarchy Chart
3-41
-------
PRINT-SUMMARY-
REPORT
1
>RINT-A-
FORMATTED-
PAGE
PRINT-A-POINT-
PAGE
i
PRINT-AN-
AREA-PAGE
Continued
on page 6
Continued
on page 7
Continued
on page 7
INPUT-SUMMARY-FORMATS
J_
INVALID-DATA-FOUND
END-OF-DIAG-PAGE-RTN
PROCESS-P-S-
TYPE-1
I
INVALID-DATA-
FOUND
1
ASSEMBLE-P-
S-RECORD
Continued
on page 7
PROCESS-P-S-
TYPE-2
_L
ASSEMBLE-P-S-
RECORD
INVALID-DATA-
FOUND
Continued
on page 7
Figure 3.3-a - continued.
(Page 4 of 13)
TPSPLIT Program Hierarchy Chart
3-42
-------
PROCESS-T-S-
TYPE-1
INVALID-DATA-
FOUND
_L
ASSEMBLE-T-S-
RECORD
Continued
on page 7
PROCESS-T-S-
TYPE-2
_L
INVALID-DATA-
FOUND
ASSEMBLE-T-S.
RECORD
Continued
on page 7
END-OF-PROJ-FILE
PROCESS-PREV-POINT
Continued
on page 6
(Page 5 of 13)
Figure 3.3-a - continued. TPSPLIT Program Hierarchy Chart
3-43
-------
PROCESS-PREV-
POINT
SORT-PROCESSES
COMPUTE-PCT-
DIFF
COMPUTE-HC-
SPLITS
COMPUTE-TEMP-
SPLITS
FILL-SEG-3-
RECORDS
Continued
on page 7
Continued
on page 8
Continued
on page 8
Continued
on page 8
Continued
on page 8
PROCESS-PROJ-
TYPE-ZERO
END-OF-DIAG-
PAGE-RTN
PROCESS-PROJ-
TYPE-ONE
JL
FIND-EMIS
END-OF-DIAG-
PAGE-RTN
PROCESS-PROJ-
TYPE-TWO
_L
SET-EMIS-
FACTORS
FIND-EM-
FACT
PR INT-A-
FORMATTED-PAGE
END-OF-SUMMARY-
PAGE-RTN
PRINT-A-
FORMATTED-LINE
SUMMARY-
TOTALS-MOVE
Continued
on page 8
(Page 6 of 13)
Figure 3.3-a - continued. TPSPLIT Program Hierarchy Chart
3-44
-------
PRINT-A-POINT-
PAGE
END-OF-SUMMARY-
PAGE-RTN
PRINT-A-POINT-
LINE
SUMMARY-TOTALS-
MOVE
Continued
on page 9
_L
END-OF-SUMMARY-
PAGE-RTN
PRINT-AN-AREA-
PAGE
PRINT-AN-AREA-
LINE
Continued
on page 9
SUMMARY-TOTALS-
MOVE
INVALID-
DATA-FOUND
ASSEMBLE-P-S-
RECORD
STORE-P-S-
REC
Continued
on page 9
INVALID-
DATA-FOUND
ASSEMBLE-T-S-
RECORD
_L
STORE-T-S-
REC
Continued
on page 9
SORT-PROCESSES
SORT-PROCESSES-SUB
(Page 7 of 13)
Figure 3.3-a - continued. TPSPLIT Program Hierarchy Chart
3-45
-------
COMPUTE-PCT-DIFF
INVALID-DATA-FOUND
ALLOC-POINT-TO-PROCESS
1
GET-POLL-
SPLIT-REC
Continued
on page 9
COMPUTE-HC-SPLITS
HC-SPLIT-
DEFAULT-
ALGORITHM
HC-SPLIT-
STANDARD-
ALGORITHM
1
HC-SPLIT
OPTIONAL
ALGORITHM
Continued
on page 10
COMPUTE-TEMP-
SPLITS
GET-TEMP-SPLIT-
REC
Continued
on page 10
FILL-SEG-3-RECORDS
FILL-THE-SEG-3-DAY
Continued
on page 10
PRINT-A-FORMATTED-LINE
SUMMARY-MOVE-AND-ADD
Continued
on page 10
(Page 8 of 13)
Figure 3.3-a - continued. TPSPLIT Program Hierarchy Chart
3-46
-------
PRINT-A-POINT-LINE
REGION-POINT-MOVE-AND-ADD
PRINT-AN-AREA-
LINE
REGION-AREA-
MOVE-AND-ADD
STORE-P-S-
REC
STORE-IN-P-T-1
STORE-IN-P-T-2
STORE-IN-P-T-3
INVALID-DATA-FOUND
Continued
on page 10
Continued
on page 10
Continued
on page 11
STORE-T-S-REC
INVALID-
DATA-FOUND
MOVE-TEMP-
EXTERN-DATA
STORE-IN-T-T-1
STORE-IN-
T-T-2
STORE-IN-
T-T-3
Continued
on page 11
Continued
on page 11
Continued
on page 11
GET-POLL-SPLIT-REC
READ-THE-POLLUTANT-FILE
Continued on page 11
(Page 9 of 13)
Figure 3.3-a - continued. TPSPLIT Program Hierarchy Chart
3-47
-------
HC-SPLIT-DEFAULT-ALGORITHM
INVALID-DATA-FOUND
GET-TEMP-SPLIT-REC
I
SUMMARY-LINE-SEARCH
GET-TEMP-SPLIT-REC-SUB
Continued
on page 11
Continued
on page 12
FILL-THE-SEG-3-DAY
FILL-THE-SEG-3-HOUR
SUMMARY-MOVE-AND-ADD
INVALID-DATA-FOUND
STORE-IN-P-T-1
INVALID-DATA-FOUND
STORE-IN-P-T-2
INVALID-DATA-FOUND
(Page 10 of 13)
Figure 3.3-a - continued. TPSPLIT Program Hierarchy Chart
3-48
-------
STORE-IN-P-T-3
INVALID-DATA-FOUND
STORE-IN-T-T-1
INVALID-DATA-FOUND
STORE-IN-T-T-2
INVALID-DATA-FOUND
STORE-IN-T-T-3
INVALID-DATA-FOUND
READ-THE-POLLUTANT-FILE
READ-THE-POLLUTANT-
FILE-SUB
SUMMARY-LINE-SEARCH
SUMMARY-SCC-SCAN
(Page 11 of 13)
Figure 3.3-a - continued. TPSPLIT Program Hierarchy Chart
3-49
-------
EMPTY-THE-
TABLE
READ-THE-
TEMPORAL-
FILE
GET-TEMP-SPLIT-REC-SUB
SET-TEMP-
SPLIT-REC-SW
TEMP-SPL IT-
STAND ARD-
ALGORITHM
TEMP-SPLIT-
DEFAULT -
ALGORITHM
Continued
below
Continued
below
Continued
below
READ-THE-TEMPORAL-FILE
READ-THE-TEMPORAL-FILE-SUB
TEMP-SPLIT-STANDARD-ALGORITHM
FILL-THE-HOUR-STANDARD
Continued
on page 13
TEMP-SPLIT-DEFAULT-ALGORITHM
1
INVALID-DATA-FOUND
FILL-THE-HOUR-DEFAULT
Continued
on page 13
(Page 12 of 13)
Figure 3.3-a - continued. TPSPLIT Program Hierarchy Chart
3-50
-------
FILL-THE-HOUR-STANDARD
SUMMARY-LINE-STORE
Continued
below
FILL-THE-HOUR-DEFAULT
SUMMARY-LINE-STORE
Continued
below
SUMMARY-LINE-STORE
INVALID-DATA-FOUND
(Page 13 of 13)
Figure 3.3-a - continued. TPSPLIT Program Hierarchy Chart
3-51
-------
The paragraphs PROCESS-POLL-SPLIT-CARDS and PROCESS-TEMP-SPLIT-CARDS read
the user's pollutant and temporal split profiles, process them for adherence
to the rules of their construction, and either reject them with an appropriate
error message or accept and store them for use during the hourly emissions
computations.
The TPSPLIT program has three algorithms for allocating hydrocarbon and
nitrogen oxide emissions to Urban Airshed Model categories, and four
algorithms for computing hourly emission rates from annual values. The user
controls which of the algorithms is used for a particular emission source by
pollutant and/or temporal split input profiles that apply to the various
sources. Programmed default profiles are applied to sources for which the
user does not provide explicit profiles.
The pollutant split profiles and temporal split profiles are provided to
the program on separate files and are applied to emission sources separately.
Also, it should be noted that the EIS/P&R system stores Source Classification
Code (machine process) information, including emission factors and operating
parameters, at the Segment 2 level. However, emissions rates and control
efficiencies are stored at the Segment 1 level. The TPSPLIT program computes
process-level emissions from operating parameters (and Segment 1 emissions,
where necessary), and applies the pollutant and temporal split profiles at the
Segment 2 level. The hourly emissions rates are summed to the Segment 1
(point) level before writing the emissions to the Hourly Source/Emissions File
in Segment 3 records.
The algorithms used for computing hydrocarbon species are:
• The standard algorithm
• The optional algorithm
• The default algorithm
The detailed mathematical presentation of these algorithms is found in Section
1.3.2.d and Appendix D.2, along with a discussion of their applications.
To use the standard algorithm, as discussed in Section 1.3.2.d, the user
must provide the actual percents by weight of the five Urban Airshed Model
carbon bond categories present in the hydrocarbon emissions from the
3-52
-------
designated source (machine process), plus a percent by weight of aldehyde, if
the emissions are reported on a non-aldehyde basis (usually the case).
To use the optional algorithm, as discussed in Appendix D.2, the user
must provide percents by weight for as many as ten hydrocarbon categories,
plus percent aldehyde, and molecular weights for eight of them, in order for
the program to compute the emissions of the five Urban Airshed Model carbon
bond categories. It should be emphasized that in the optional algorithm the
olefin category fraction is defined to include both diolefins and ethylene,
although these fractions are also reported separately for use in the
algorithm.
To use the default algorithm discussed in Appendix D.2 for any source
(machine process), the user omits data for both of the other algorithms from
the input data for pollutant splits. Note that selecting the default
hydrocarbon split also results in the selection of the appropriate default
nitrogen oxides pollutant split as discussed next.
The three available nitrogen oxides pollutant split algorithms are:
• the standard algorithm
• the default point source algorithm
• the default area source algorithm
All three algorithms are discussed in Appendix D.2 and have the same form.
The standard algorithm has the percentages of NO and N02 specified by the user
and is used with both the standard and optional hydrocarbon pollutant split
algorithms. The other two algorithms are used with the default hydrocarbon
pollutant split algorithm, the choice between them being made on the basis of
source type (plant code) in the source record: "0000" or "9999" denotes an
area source, any other plant code denotes a point source.
The four different temporal split algorithms are:
• the standard algorithm
• the default algorithm using EIS/P&R factors
• the area source default algorithm
• the point source default algorithm
3-53
-------
All of the algorithms are discussed in detail in Appendix D.2. The selection
of a temporal split algorithm for a particular Segment 2 (machine process) is
made independently of the choice of pollutant split algorithm. The standard
algorithm is used when the user provides input data. The default algorithm
using EIS/P&R factors is used when the user does not provide input data but
the requisite operating schedule data appear in the associated EIS/P&R Segment
1 record (see Section 2.1.2). If these data are not present, the program uses
the area source default algorithm, if plant code is "0000" or "9999;"
otherwise, the point source default algorithm is used.
All pollutant and temporal splits which are input by the user contain a
key field that is used by the program to match the user's data to the data in
the Projected Source/Emissions File. The key field contains a total of 21
characters and is subdivided as shown in Table 3.3-a. Records with key types
1, 2, and 3 are treated as unit-specific (unique applicability) data; the
subfields not used in the input card are filled with "9"'s by the program for
sorting purposes. These records are written to a temporary data file, sorted
in ascending order, and processed sequentially on a one-pass basis when hourly
emissions are calculated. The method of selection is as follows: first, the
key of the record from the pollutant or temporal split file is compared with
the corresponding "key" constructed from items in the current Segment 2 record
being processed. If there is a match on the fields which are "present" (not
9's), the split record is used; if the compare is low for the split record,
subsequent records are read from the split file until the compare is equal or
high. By using 9's as the filler in the sort key, it is possible for the
user, for example, to input a pollutant split record which will match with the
first (lowest) SCC of a point, and a single record with blanks as the SCC that
will match with the remainder (up to five) of the Segment 2 records for that
point. If, for example, only the third SCC for a point has a unique split,
care needs to be exercised so that the previous two SCC's are entered
explicitly also; the program cannot bypass a particular split record to find a
general one in this file and then return to the particular one. If the
compares on the key for a split file are "high", an attempt is made to use one
of the splits with key types 4, 5, or 6.
3-54
-------
Table 3.3-a. TPSPLIT Input Data Key Organization and Applicability.
Key Type Present Absent
1 Al1 none
State, County, SCC
Plant, Point
State, County, Point, SCC
Plant
4 State, County, Plant, Point
SCC
Applicability
A particular process (one
Segment 2 record) in the run
(SPECIFIC)
All processes (Segment 2
records) for a particular point
(Segment 1 record) in the run
(SPECIFIC)
All points (Segment 1 and 2
record sets) for a particular
plant (Segment 0 record) in the
run (SPECIFIC)
All occurrences of the
particular SCC (Segment 2
records) within a county
(GENERAL)
State, SCC
County, Plant,
Al 1 occurrences of the
particular SCC within a state
(GENERAL)
SCC
State, County,
Plant, Point
All occurrences of the SCC
during a run
(GENERAL)
3-55
-------
During the processing of the user's pollutant and temporal split files,
splits with key types 4, 5, and 6 (General) are stored in internal program
tables so they may be used in a non-sequential fashion. When the program
fails to find an appropriate split key from the external sequential file, it
first searches the table of type 4, then of type 5, and finally of type 6
(each being less "specific" than the previous one) stopping when it first
finds an appropriate match. If all of these searches fail, the appropriate
default algorithm, as described earlier, is used.
The user must exercise great care in constructing these pollutant and
temporal split data cards, especially the keys, in order to obtain the desired
result. The user should study the appropriate parts of Section 3.3.3
thoroughly to understand the flexibility available in the key structures.
Once the user fully understands this system and obtains some practice, the
flexibility built into the TPSPLIT program should be a great asset in
simplifying the use of TPSPLIT during a complex modeling project.
A similar type of flexiblity is provided by the user summary request
cards. Here, the report is organized on the multiple-level SCC as the key.
The program searches up to eight SCC's or partial SCC's from left to
right on each card, and from the first card to the last card, in the same
manner as with the pollutant and temporal split keys, stopping with the first
match for each Segment 2 (SCC-level) record processed. Thus, the summary
report provides a user-defined process-oriented summary by day, and an
hourly-oriented report by day for point and area sources separately.
Upon completion of the processing of the user's pollutant and temporal
split card files, the files are sorted in the SORT-FILES paragraph, opened in
the MAIN-LOOP paragraph, and processed by the PROCESS-PROJ-FILE paragraph to
compute hourly emission values.
The PROCESS-PROJ-FILE paragraph reads a record from the Projected Source/
Emissions File (output from the CMGROW program in EIS/P&R format) and passes
control to the appropriate paragraph for processing of the particular EIS/P&R
segment type. Segment 3 records are dropped, but other input records are
written immediately to the Hourly Source/Emissions File to assure file format
integrity. Emissions of the five criteria pollutants which may be present in
3-56
-------
Segment 1 records are stored in working-storage. All Segment 2 records
subordinate to a particular Segment 1 record (maximum of six) have their
parameters stored in working storage. Emissions values on a machine process
(Segment 2) basis are computed by means of emissions factors, fuel/process
rates, and control efficiencies; if the sum does not equal that of the
reported Segment 1 record emission, the individual Segment 2 record emissions
values are proportionately adjusted to match the Segment 1 record total;
Appendix D.2 contains the computational details. As discussed previously, the
appropriate pollutant and temporal split algorithms are applied, process by
process, with the hourly species-specific emissions values in both (1) the
Hourly Source/Emissions File (Segment 3) until the entire point is processed,
and (2) working-storage summary tables for the user-defined and standard
summaries being accumulated.
At the conclusion of processing the Projected Source/Emissions File, the
PRINT-SUMMARY-REPORT paragraph is performed from the MAIN-LOOP paragraph to
create the summary report.
When the summary report is complete, the WRAP-UP paragraph is performed
to print the audit trail and close all files. The program then terminates
normally in ROOT-SEGMENT.
3.3.2 Executive Control Language (ECL) and Data Deck Setup
a) Control Language Requirements. The following runstream illustrates
the ECL commands required to execute the TPSPLIT program on a UNIVAC 1100
EXEC 8 Operating System.
@RUN,options runid/155/2,acct/userid,project,10
0PASSWD password
@ASG,options temp-split-file
@USE TEMP-FACT.,temp-split-file.
@ASG,options poll-split-file.
@USE POLL-FACT., poll-split-file.
@ASG,T TEMP-FILE.
0ASG.T POLL-FILE.
3-57
-------
@ASG,A diag-report-file.
@USE OUTPUT., diag-report-file.
@ASG,A summary-file.
@ASG,T Master-File. ,36N, serial
0USE SUM-OUT. .summary-file.
@ASG, options master-file.
0USE PNRMASTER. .master-file
@ASG,T/W hourly-file. ,36N, serial
@USE PNRHRLY., hourly-file
0SORTF number-of- records, 106/C
@BRKPT PRINTS/OUTPUT
@XQT absolute-file. el t
user control file
0EOF
0BRKPT PRINTS
0SYM.U OUTPUT. ,, PR
@SYM,U SUM-OUT. ,, PR
where:
options = job priority and other options
runid = six-character run identification
155 = the required core storage (in K words) when there are
300 elements in each of the six internal tables
2 = number of tapes to be mounted
acct = account number
userid = three-character user identification code
project = project identification and default file qualifier
10 = execution time requirements, minutes
password = three-character password
temp-split-file = user's temporal split profile file
poll-split-file = user's pollutant split profile file
TEMP-FILE = temporary temporal split profile external
storage
3-58
-------
POLL-FILE = temporary pollutant split profile external
storage
diag-report-file = breakpoint file for diagnostic message report
summary-file = alternate print file for summary report
master-file = projection tape file from CMGROW program
hourly-file = output tape file for TPSPLIT hourly emissions
number-of-records = estimated maximum records in either TEMP-FILE or
POLL-FILE
absolute-file.elt = name of TPSPLIT absolute element
user control file = input data deck
b) Data Deck Setup. The logical structure of the data required by the
TPSPLIT program must be set up as shown in Figure 3.3-b. Data files that are
contained outside of the actual input stream are indicated in the figure. The
user must create these files prior to execution of the TPSPLIT program, either
in separate runs or by means of the @DATA processor earlier in the runstream.
A summary of the required order is as follows:
• Run Title Card (required)
• Control Card
• User Summary Request Cards (up to 50)
• Pollutant Split File Title Card (required)
• Pollutant Split Profiles (single cards and/or pairs)
• Temporal Split File Title Card (required)
• Temporal Split Profile Card Pairs
An example of an input deck set (three files) is included in the TPSPLIT
Diagnostic and Input Report in Appendix B for a run with a small number of
pollutant and temporal split profiles. Input data forms for all these records
are provided in Appendix C.
3-59
-------
TEMP-FACT
POLL-FACT \
Replacement
Data
Standard
Deck
[TEMPORAL FACTOR
| CARD PAIRS
IEMPORAL SPLI1
TITLE CARD
OPT!
(5IT
ARD^AIRS
oza
STANDAR
312
:0
ITHM
UZZ
0121
ALGOR'TTHM
CARD PAIRS
OPTIONAL.
STANDARD
ALGORITHM
SPLIT
POLLUTANT
S?tt[E
CARD
Requlred
Requlred
Replacement
Data
Standard
Deck
USER
SUMMARY
CARD(S)
Requlred
Figure 3,3-b, Logical Deck Set Up for TPSPLIT
3-60
-------
3.3.3 Input Data Description
The data required to execute the TPSPLIT program are contained in four
files:
• Control and Summary Definition
• Pollutant Splits
• Temporal Splits
• Projected Source/Emissions File
a) Control and Summary Definition File. This file is in card image
format and is read from the standard system reader.
The first card (see Table 3.3-b) is a run title consisting of any 80
characters the user wishes. It appears as the fourth line of all page
headings produced by TPSPLIT.
The second card is the run control card (see Table 3.3-c). The first
field specifies the number of 24-hour days which will be created by TPSPLIT as
special-formatted EIS/P&R Segment 3 records for use by subsequent programs.
The range of values is 1 through 4; any other entry causes the programmed
default ("1") to be used. Also included are the selection of EIS/P&R "season"
fractional values (see seasonal percent operating values description for
EIS/P&R Segment 1 in Section 2.1.2) when temporal splits (see subsection c
below) are not provided by the user. There are up to 4 values (one for each
selected day); the range of each value is again 1.through 4, with the default
being 1 for the first output day, 2 for the second, etc. The user may select
duplicate values for any or all of these 4, and they may be in any order. For
example, the selection "3424" is valid.
The remaining cards of the file are Summary Definition cards used to
accumulate emissions data for the User-Defined Summary portion of the Summary
Report (see Table 3.3-d). There may be zero to 50 card images present;
each one is used to select emissions data to be accumulated for one line of
each page of the User-Defined Summary.
3-61
-------
Table 3.3-b. TPSPLIT Control and Summary Definition File
Run Title Card
RECORD POSITION
FIRST
1
LAST
80
LENGTH
80
DATA ITEM
PICTURE
X(80)
DESCRIPTION
REPORT TITLE
3-62
-------
Table 3.3-c. TPSPLIT Control and Summary Definition File
Control Card
RECORD POSITION
FIRST
1
2
3
4
5
6
LAST
1
2
3
4
5
80
LENGTH
1
1
1
1
1
75
DATA ITEM
PICTURE
X
X
X
X
X
X(75)
DESCRIPTION
NUMBER OF TEMPORAL
SPLIT SEASONS (DAYS
OF OUTPUT)
FIRST-DAY'S SEASON*
SECOND DAY'S SEASON*
THIRD DAY'S SEASON*
FOURTH DAY'S SEASON*
FILLER
* These items are used to select EIS/P&R seasonal "Percent Operating"
season to match with temporal split input when the default is used.
3-63
-------
Table 3.3-d. TPSPLIT Control and Summary Definition File
Summary Request Card
RECORD POSITION
FIRST
1
3
17
18
20
23
25
26
28
31
33
34
36
39
41
42
44
47
49
50
52
55
57
58
60
63
LAST
2
16
17
19
22
24
25
27
30
32
33
35
38
40
41
43
46
48
49
51
54
56
57
59
62
64
LENGTH
2
14
1
2
3
2
1
2
3
2
1
2
3
2
1
2
3
2
1
2
3
2
1
2
3
2
DATA ITEM
PICTURE
9(2)
X(14)
X
X(2)
X(3)
X(2)
X
X(2)
X(3)
X(2)
X
X(2)
X(3)
X(2)
X
X(2)
X(3)
X(2)
X
X(2)
X(3)
X(2)
X
X(2)
X(3)
X(2)
DESCRIPTION
SUMMARY REPORT LINE
NUMBER
USER'S IDENTIFICATION
OF SUMMARY REPORT LINE
LEVEL I SCC
LEVEL II SCC
LEVEL III SCC
LEVEL IV SCC
LEVEL I SCC
LEVEL II SCC
LEVEL III SCC
LEVEL IV SCC
LEVEL I SCC
LEVEL II SCC
LEVEL III SCC
LEVEL IV SCC
LEVEL I SCC
LEVEL II SCC
LEVEL III SCC
LEVEL IV SCC
LEVEL I SCC
LEVEL II SCC
LEVEL III SCC
LEVEL IV SCC
LEVEL I SCC
LEVEL II SCC
LEVEL III SCC
LEVEL IV SCC .
3-64
-------
Table 3.3-d - continued. TPSPLIT Control and Summary Definition File
Summary Request Card
RECORD POSITION
FIRST
65
66
68
71
73
74
76
79
LAST
65
67
70
72
73
75
78
80
LENGTH
1
2
3
2
1
2
3
2
DATA ITEM
PICTURE
X
X(2)
X(3)
X(2)
X
X(2)
X(3)
X(2)
DESCRIPTION
LEVEL I SCC
LEVEL II SCC
LEVEL III SCC
LEVEL IV SCC
LEVEL I SCC
LEVEL II SCC
LEVEL III SCC
LEVEL IV SCC
3-65
-------
The first summary match encountered for an EIS/P&R SCC entry causes the
scanning to end; that line is used to accumulate emissions for that particular
process. For example, suppose that the first two records shown in Figure
3.3-c were the only ones entered by the user for the run. If an SCC of
10100401, 10100402 or 10100601 were encountered in an EIS/P&R Segment 2
record, the computed process-level emissions would be accumulated in line 01;
all other SCC's of the form Ixxxxxxx would have emissions accumulated in line
02; all other point source emissions would be accumulated in "MISC. POINT"
(the programmed default third line) where the fields labeled 1 through 5 are
the level I SCC codes; and all area source emissions would be accumulated in
"MISC. AREA" (the programmed default fourth line).
b) Pollutant Splits File. There are several cautionary considerations to
keep in mind when the Pollutant Splits (PS) file is assembled. Items of key
information in the first 21 columns of the PS input cards are compared with
key information in the EIS/P&R master file records. There are five distinct
items which make up the key field: State Code, County Code, Plant Code, Point
Code, and SCC. There are six acceptable combinations of these five key
information fields (see Table 3.3-a). This flexibility of dealing with
various combinations of sources, using a standard pollutant split algorithm or
an optional pollutant split algorithm, requires the user to fully understand
the program logic and sort order of the records. As discussed in detail
later, it is suggested that a PS file deck be prepared for normal PS cases.
It should be in ascending sort order by the key information fields. The
General splits must be sorted in ascending order. The Specific splits are
sent to an external file for sorting and need not be in order. A split is
considered specific if the plant field is coded. Data from this deck are then
stored in internal tables. Trailer cards to the normal deck can modify
general split table entries for which the key matches a previous key. Trailer
cards can also add to the tables, but only if the key of the added data has a
higher sort value than the last entry in the table. A new key cannot be
inserted within the table by using trailer cards; i.e., the user must actually
insert the cards in their proper places in the normal PS file deck for this
case.
3-66
-------
01 UTILITIES 101004 101006 blanks
020TH. BOILERS 1 blanks
03MISC. POINT 1 2 3 4
04MISC. AREA 9
Figure 3.3-c. TPSPLIT Sample Summary Definition Cards.
3-67
-------
The Pollutant Splits (PS) file is in card image format, and consists of
four card types:
• Title Card
• Standard Algorithm
• Optional Algorithm Card Type 1
• Optional Algorithm Card Type 2
The Title Card occurs once and is a record of 80 characters of free-form
text (see Table 3.3-e). The program assumes it to be the first record in the
file, and prints it first in the listing of PS records on the Diagnostic and
Input Report.
The remaining three types of cards constitute the remainder of the file.
They may be intermixed as long as each pair of Optional Algorithm Type 1 and
Type 2 cards appear together.
All remaining cards contain a '2' in Column 80. The three types of
Pollutant Split cards are:
. Standard Algorithm, which contains a key, percentages by weight of each
of the five Urban Airshed Model carbon bond categories, percent
aldehyde for adjustment of "standard total hydrocarbons" to 100%
hydrocarbons, percentages of NO and N02» and "SI" in columns 78-79 (see
Table 3.3-f).
• Optional Algorithm Type 1, which contains a key, weight percentages of
up to 10 hydrocarbon species used with the Optional Algorithm, percent
aldehyde for adjustment of standard hydrocarbon emissions to 100%
hydrocarbons, weight percentages of NO and N02» and "01" in columns
78-79 (see Table 3.3-g).
• Optional Algorithm Type 2, which contains a key, molecular weights of
up to 8 hydrocarbon species used with the Optional Algorithm, and "02"
in columns 78-79 (see Table 3.3-h).
Key information for each card type consists of fields reserved for five
numeric items: (1) State Code (columns 1-2); (2) County Code (columns 3-6);
(3) Plant Code (columns 7-10); (4) Point (or pseudo-point) Code (the EIS/P&R
3-68
-------
Table 3.3-e. TPSPLIT Pollutant Splits File
Title Card
RECORD POSITION
FIRST
1
LAST
80
LENGTH
80
DATA ITEM
PICTURE
X(80)
DESCRIPTION
FILE IDENTIFYING TEXT
3-69
-------
Table 3.3-f. TPSPLIT Pollutant Splits File
Standard Algorithm Card
RECORD POSITION
FIRST
1
3
7
11
14
15
17
20
22
26
30
34
38
42
46
58
62
66
78
79
80
LAST
2
6
10
13
14
16
19
21
25
29
33
37
41
45
57
61
65
77
78
79
80
LENGTH
2
4
4
3
1
2
3
2
4
4
4
4
4
4
12
4
4
12
1
1
1
DATA ITEM
PICTURE
X(2)
X(4)
X(4)
X(3)
X(D
X(2)
X(3)
X(2)
9(3)V9
9(3)V9
9(3)V9
9(3)V9
9(3)V9
9(3)V9
X(12)
9(3)V9
9(3)V9
X(12)
X(D
X(D
x(D
DESCRIPTION
STATE CODE
COUNTY CODE
PLANT CODE ('0000' OR
'9999' FOR AREA SOURCES)
POINT CODE
LEVEL 1 SCC
LEVEL 2 SCC
LEVEL 3 SCC
LEVEL 4 SCC
PERCENT BY WEIGHT, PAR
PERCENT BY WEIGHT, OLE
PERCENT BY WEIGHT, ARO
PERCENT BY WEIGHT, CARB
PERCENT BY WEIGHT, ETH
PERCENT BY WEIGHT,
ALDEHYDES
FILLER
PERCENT BY WEIGHT, NO
PERCENT BY WEIGHT, N02
FILLER
ALGORITHM SELECTOR 'S1
'!'
,2,
3-70
-------
Table 3.3-g. TPSPLIT Pollutant Splits File
Optional Algorithm Card Type 1
RECORD POSITION
FIRST
1
3
7
11
14
15
17
20
22
26
30
34
38
42
46
50
54
58
62
66
70
74
78
79
80
LAST
2
6
10
13
14
16
19
21
25
29
33
37
41
45
49
53
57
61
65
69
73
77
78
79
80
LENGTH
2
4
4
3
1
2
3
2
4
4
4
4
4
4
4
4
4
4
4
4
4
4
1
1
1
DATA ITEM
PICTURE
X(2)
X(4)
X(4)
X(3)
X(D
X(2)
X(3)
X(2)
9(3)V9
9(3)V9
9(3)V9
9(3)V9
9(3)V9
9(3)V9
9(3)V9
9(3)V9
9(3)V9
9(3)V9
9(3)V9
9(3)V9
9(3)V9
X(4)
x(D
X(D
X(D
DESCRIPTION
STATE CODE
COUNTY CODE
PLANT CODE ('0000' OR
'9999' FOR AREA SOURCES)
POINT CODE
LEVEL 1 SCC
LEVEL 2 SCC
LEVEL 3 SCC
LEVEL 4 SCC
PARAFFINS*
OLEFINS*
DIOLEFINS*
ETHYLENE*
AROMATICS*
CARBONYLS*
ALCOHOLS*
ACETATES*
. METHANE*
OTHER*
ALDEHYDES*
NITROGEN OXIDE*
NITROGEN DIOXIDE*
FILLER
ALGORITHM SELECTOR- '0'
'!'
'2'
* Percent by weight
3-71
-------
Table 3.3-h. TPSPLIT Pollutant Splits File
Optional Algorithm Card Type 2
RECORD POSITION
FIRST
1
3
7
11
14
15
17
20
22
26
30
34
38
42
46
50
LAST
2
6
10
13
14
16
19
21
25
29
33
37
41
45
49
53
LENGTH
2
4
4
3
1
2
3
2
4
4
4
4
4
4
4
4
DATA ITEM
PICTURE
X(2)
X(4)
X(4)
X(3)
x(D
X(2)
X(3)
X(2)
9(3)V9
9(3)V9
9(3)V9
9(3)V9
9(3)V9
9(3)V9
9(3)V9
9(3)V9
DESCRIPTION
STATE CODE
COUNTY CODE
PLANT CODE ('0000' OR
'9999' FOR AREA SOURCES)
POINT CODE
LEVEL 1 SCC
LEVEL 2 SCC
LEVEL 3 SCC
LEVEL 4 SCC
MOLECULAR WEIGHT,
PARAFFINS (NOT NEEDED)
MOLECULAR WEIGHT,
OLEFINS
MOLECULAR WEIGHT,
DIOLEFINS
MOLECULAR WEIGHT,
ETHYLENE (NOT NEEDED)
MOLECULAR WEIGHT,
AROMATICS
MOLECULAR WEIGHT,
CARBONYLS
MOLECULAR WEIGHT,
ALCOHOLS
MOLECULAR WEIGHT,
ACETATES
3-72
-------
Table 3.3-h - continued. TPSPLIT Pollutant Splits File
Optional Algorithm Card Type 2
RECORD POSITION
FIRST
54
78
79
80
LAST
77
1
1
1
LENGTH
24
1
1
1
DATA ITEM
PICTURE
X(24)
x(D
X(l)
x(D
DESCRIPTION
FILLER
•o1
'2'
'2'
3-73
-------
Segment 1 ID) (columns 11-13)*; and (5) EPA Source Classification Code (SCC)
(columns 14-21).
There are six acceptable combinations of these five items. If any item
is included, it must be in its proper position; if omitted, its position
(field) is left blank. Table 3.3-a displays the six acceptable combinations
with an explanation of their applicability. The program, during the course of
attempting to determine the pollutant split for a particular process, searches
for a matching pollutant split record key beginning with type 1; if there is
not a type 1, it proceeds to try to find type 2, etc., proceeding through the
6 types shown in the Table 3.3-a entries.
If the TPSPLIT program does not find a match, it issues an appropriate
diagnostic message and uses one of two programmed defaults. The default split
for hydrocarbons is the same for all sources, but the nitrogen oxide default
split differs for point and area sources.
Note that care should be taken in assembling the Pollutant Split file.
Records containing key types 1, 2, and 3 (specific splits) as shown in Table
3.3-a are put into a temporary mass storage file (with "9"s substituted for
blanks), sorted in ascending key order and read in one pass during creation of
the EIS/P&R Hourly Source/Emissions file. Key types 2 ajid 3 are treated as
pseudo-default records. They will be sorted as records of a higher value
("later" in the file) than records that are entered by the user without blanks
and will be processed after an attempt has been made to find more
SCC-specified records in the file. Since SCC's are not necessarily in
ascending order in the EIS/P&R Master File, the TPSPLIT program sorts the
process-related EIS/P&R data by SCC. However, "specific" pollutant split data
need not be sorted within the input Pollutant Splits File; this is done by the
program after the temporary file has been completed.
Care must also be taken in assembling the Pollutant Splits File (general
splits) applied to the key types 4, 5, and 6 listed in Table 3.3-a. Each of
these three key types is stored in a separate internal table as it is
encountered in the input Pollutant Splits File. The tables are later searched
*If this field is filled in, the first digit must be '!'.
3-74
-------
(binary) in attempting to find an appropriate pollutant split for use. Each
internal table must be in order and without duplicate keys. Therefore,
the program allots either: (1) addition of a new pollutant split record after
the current end of a table, until the table is full, if the new key is higher
than the key of the current last table entry; or (2) replacement of a previous
entry when the key is lower than or equal to one at the current end of the
table. This permits the user to create a "standard" or "base" deck of general
pollutant split key types which can be altered by simple addition of new data
records at the end of the input file (see the Temporal and Pollutant Split
Deck Setup Pollutant Split Data - Figure 3.3-b). However, provision has not
been made for insertion into the table of a pollutant split with a key which
has not previously been entered. An attempt to do this will result in
rejection of the "new" pollutant split record(s).
Another caution relates to internal table size; a maximum of 300 general
pollutant splits for each key type 4, 5, and 6 (900 in all) is allowed; others
will be rejected. However, the specific pollutant split temporary file (key
types 1, 2, and 3) is not limited in size by the program.
c) Temporal Splits File. This input file consists of three card image
types. The first is a Title Card, containing up to 80 characters of
user-selected text (see Table 3.3-i); it appears first in the file, and is
printed on the Diagnostic and Input Report at the beginning of the listing of
temporal records.
All Temporal Split file card images except the Title Card must have a
"1" in column 80. The remaining two types of card images are:
• that which contains key information, seasonal percentages, daily
fraction, hourly percentages for hours 1-16 of the day, and a "1" in
column 79 (see Table 3.3-j).
• that which contains key information, hourly percentages for hours
16-24 of the day, and a "2" in column 79 (see Table 3.3-k).
The TPSPLIT program is capable of producing up to four days of data, with
24 hourly emissions values for each of the ten emissions species for each day.
The temporal splits factors convert annual emissions for these species (as
3-75
-------
Table 3.3-i. TPSPLIT Temporal Splits File
Title Card
RECORD POSITION
FIRST
1
LAST
80
LENGTH
80
DATA ITEM
PICTURE
X(80).
DESCRIPTION
FILE IDENTIFYING TEXT
3-76
-------
Table 3.3-j. TPSPLIT Temporal Splits File
Type 1 Card
RECORD POSITION
FIRST
1
3
7
11
14
15
17
20
22
23
26
30
33
36
39
42
45
48
51
54
LAST
2
6
10
13
14
16
19
21
22
25
29
32
35
38
41
44
47
50
53
56
LENGTH
2
4
4
3
1
2
3
2
1
3
4
3
3
3
3
3
3
3
3.
3
DATA ITEM
PICTURE
X(2)
X(4)
X(4)
X(3)
X(D
X(2)
X(3)
X(2)
X(l)
9(2)V9
V9(4)
9(2)V9
9(2)V9
9(2)V9
9(2)V9
9(2)V9
9(2)V9
9(2)V9
9(2)V9
9(2)V9
DESCRIPTION
STATE CODE
COUNTY CODE
PLANT CODE ('0000' OR
'9999' FOR AREA SOURCES)
POINT CODE OR AREA
SOURCE MAJOR GROUP
LEVEL 1 SCC
LEVEL 2 SCC
LEVEL 3 SCC
LEVEL 4 SCC
DAY IDENTIFIER
SEASONAL PERCENT
DAY'S FRACTION OF SEASON
0000-0100 PERCENT
0100-0200 PERCENT
0200-0300 PERCENT
0300-0400 PERCENT
0400-0500 PERCENT
0500-0600 PERCENT
0600-0700 PERCENT
0700-0800 PERCENT
0800-0900 PERCENT
3-77
-------
label 3.3-j - continued. TPSPLIT Temporal Splits File
Type 1 Card
RECORD POSITION
FIRST
57
60
63
66
69
72
75
78
79
80
LAST
59
62
65
68
71
74
77
78
79
80
LENGTH
3
3
3
3
3
3
3
1
1
1
DATA ITEM
PICTURE
9(2)V9
9(2)V9
9(2)V9
9(2)V9
9(2)V9
9(2)V9
9(2)V9
X(D
X(D
X(D
DESCRIPTION
0900-1000 PERCENT
1000-1100 PERCENT
1100-1200 PERCENT
1200-1300 PERCENT
1300-1400 PERCENT
1400-1500 PERCENT
1500-1600 PERCENT
FILLER
T
'!'
3-78
-------
Table 3.3-k. TPSPLIT Temporal Splits File
Type 2 Card
RECORD POSITION
FIRST
1
3
7
11
14
15
17
20
22
23
30
33
36
39
42
45
48
51
54
79
80
LAST
2
6
10
13
14
16
19
21
22
29
32
35
38
41
44
47
50
53
78
79
80
LENGTH
2
4
4
3
1
2
3
2
1
7
3
3
3
3
3
3
3
3
25
1
1
DATA ITEM
PICTURE
X(2)
X(4)
X(4)
X(3)
X(D
X(2)
X(3)
X(2)
X(D
X(7)
9(2)V9
9(2)V9
9(2)V9
9(2)V9
9(2)V9
9(2)V9
9(2)V9
9(2)V9
X(25)
x(D
X(D
DESCRIPTION
STATE CODE
COUNTY CODE
PLANT CODE ('0000' OR
'9999' FOR AREA
SOURCES)
POINT CODE OR AREA
SOURCE MAJOR GROUP
LEVEL 1 SCC
LEVEL 2 SCC
LEVEL 3 SCC
LEVEL 4 SCC
DAY IDENTIFIER
FILLER
1600-1700 PERCENT
1700-1800 PERCENT
1800-1900 PERCENT
1900-2000 PERCENT
2000-2100 PERCENT
2100-2200 PERCENT
2200-2300 PERCENT
2300-2400 PERCENT
FILLER
'2'
'!'
3-79
-------
computed by pollutant splits) into hourly values for output to the Major/Minor
Point Source Division/Model Conversion (PSCONV) and the Area Source Gridding
and Model Conversion (ASGRID) programs. The temporal factors consist of a
"seasonal" percentage; a daily fraction which is assumed to be 1/(13.0 weeks x
number of days of operation per week); and up to 24 hourly percentages within
the day. Each annual emissions value is multiplied by the seasonal percentage
(converted to a decimal fraction), the daily fraction, a units conversion
factor, and the hourly percentage (converted to a decimal fraction) to obtain
an hourly emissions value in gram-moles/hour.
The key information for temporal split data is the same as the Pollutant
Splits file in all respects (see Table 3.3-a). It may not be omitted or the
data record will be rejected. The discussion of key information and deck
preparation above for pollutant splits applies to temporal splits. One
additional requirement, when the user wishes to enter data for more than one
"day" for a particular key value, is that data for all the "days" must be
physically grouped together in the file.
There is only one type of temporal splits factors standard, or
user-controlled, algorithm, but there are three "default" algorithms. The
first default algorithm attempts to use the EIS/P&R seasonal percent operating
rate factors and weekly and daily operating schedule values as though they
were user-supplied temporal splits factors. These data are not normally
supplied for area sources; the user is advised to supply temporal splits for
all area source data.
The conventions for use of these values are:
• All items must be present in the relevant EIS/P&R Segment 1 record
(see Section 2.1).
• The user selects which EIS/P&R season corresponds to a particular
Hourly Source/Emissions File day via the run control card.
• In order to schedule the number of reported hours per day, the
convention is: day of 1-19 hours begins at 0700 (hour 8) local
time; a day of 20-24 hours begins at 0000 (hour 1); no day extends
beyond midnight.
3-80
-------
• The daily fraction for each day in a season's operating schedule is the
reciprocal of 13 weeks per season times the number of thruput days per
week.
• The hourly fraction for each hour is the reciprocal of the number of
hours for the day.
The second default algorithm is used for point sources in the absence of
the necessary EIS/P&R Segment 1 data for the first default. The emissions day
consists of 8 equal hours of emissions beginning at 0700 (hour 8), based on
260 days per year (52 weeks, 5 days per week).
The third default algorithm is used for area sources in the absence of
the necessary EIS/P&R Segment 1 data for the first default. The emission day
consists of 24 equal hours of emissions, based on continous operation during
the year.
d) Projected Source/Emission File. This input file is in standard
EIS/P&R Master File format. All Segment 0, 1, & 2 records are assumed to meet
the standard EIS/P&R edit requirements as described in the Comprehensive
Data Handling System, EIS/P&R Program Documentation and Users Guide
(EPA-450/3-74-045-a) and in Section 2.1. In keeping with EIS/P&R Update 27,
the Estimated Emissions field of a Segment 1 record may be blank when
Estimation Method 1 is reported. Since the TPSPLIT program bases its
computations on the Estimated Emissions values, the Actual Emissions field is
moved to the Estimated Emissions field when the latter is blank. Segment 3
records (if present) are ignored (discarded); all other input records are
written to the Hourly Source/Emissions File unchanged.
3.3.4 Output Data Description
The output data from the TPSPLIT program consist of one file:
• Hourly Source/Emissions File.
This file contains standard EIS/P&R Master File records of Segment types
0, 1, and 2 which are copied directly from the input EIS/P&R Projected Source/
Emissions File as they are encountered.
3-81
-------
Each Segment 3 record is standard EIS/P&R length of 130 characters, but
is created in a special format by the TPSPLIT program to contain the hourly
emissions for a point or psuedo-point (area source). The EIS/P&R key
information is standard; however, the Segment 3 sequence number is the day
(01-04) of the emissions, and the line number is the ending hour of the
emissions (001-024). The hourly emissions themselves are placed in specified
order within the record, in gram-moles/hr, with a field width of 8 digits (a
range of 0-99,999,999 gram-moles/hr). The program considers that aerosols
(particulate matter) have an arbitrary molecular weight of one gram, in
keeping with the Urban Airshed Model definition.
An example listing from a test run output file is shown in Appendix B.
3.3.5 Report Description
There are two reports produced by TPSPLIT:
• Diagnostic and Input Report
• Emissions Summary Report
a) Diagnostic and Input Report. This report provides the following
information along with any associated diagnostic messages:
• The program's identification
• The control and summary definition file information and the resulting
parameters used by the program (see Section 3.3.3)
• All input User-Defined Summary request cards (see Section 3.3.3)
• All Pollutant Splits file records
• All Temporal Splits file records
• All EIS/P&R Master File Segment 1 key information that matches the
input data split keys (see Section 3.3.3)
• An audit trail, detailing the records processed and diagnostic
messages produced.
b) Emissions Summary Report. This report consists of two parts: a
daily-based User-Defined Summary and an hourly-based Regional Summary. There
will be three report pages printed for each user-requested day: one for the
3-82
-------
User-Defined summary, one for the Regional Summary for point sources, and one
for the Regional Summary for area sources.
The User-Defined Summary consists of one page for each user-specified day
(see Section 3.1 for details). Each user-specified line contains the line
name, and total emissions values for all hours of that day for each of the ten
emissions species for each SCC that falls in that requested line. In
addition, the sources that have not been specifically requested by the user
are summed into either a "MISC. POINT" or "MISC. AREA" line. Finally, there
is a day total for the page.
The Regional Summary report contains sums of emissions by species for
each hour, and separately for point and area sources. One day's data summary
is printed per page with a day total on the bottom line.
3.3.6 Diagnostic Messages
Diagnostic messages have been incorporated into the system to inform the
user of data problems during execution of the program. There are four
categories of diagnostic messages and the name of the appropriate category
is printed in each message. These categories are as follows:
a) WARNING. A warning-category error does not cause termination
of program execution or rejection of input data, but informs
the user of an aspect of input data which may warrant his
attention.
b) CONDITIONAL. A conditional-category error does not cause
termination of program execution or rejection of input data.
It informs the user that an entry in the input data may be in
error and should be examined and verified.
c) ERROR. An error-category error does not cause termination of
program execution; however, the input data in which the error
is detected is rejected.
3-83
-------
d) ABORT. An abort-category error causes termination of program
execution. The user can recover from an abort by correcting
the condition(s) that caused the abort.
These diagnostic messages are listed in Table 3.3-1.
3-84
-------
Table 3.3-1. TPSPLIT Diagnostic Messages
***TPSPLIT 001 ERROR - POLLUTANT SPLIT CARD FAULT. CARD REJECTED.
An identification or sequence error was detected in characters 78 - 80 of
the Pollutant Split card which precedes this message or a non-numeric
character was founnd in a numeric field. The data have been rejected.
***TPSPLIT 002 CONDITIONAL - INVALID CHARS IN POLLUTANT OR TEMPORAL
SPLIT—CHANGED TO 0.
This message is no longer issued; the corrective action is taken,
however.
***TPSPLIT 003 CONDITIONAL - POLLUTANT SPLIT SUM NOT 100%.
The percents by weight for an Optional Algorithm pollutant split card
fell outside the range 99% - 101%. The data were accepted and processing
continued.
***TPSPLIT 004 ERROR - TEMPORAL SPLIT CARD FAULT. CARD REJECTED.
An identification or sequence error was detected in characters 79 - 80 of
the Temporal Split card image which precedes this message or a
non-numeric character was detected in a numeric field. The data have
been rejected.
***TPSPLIT 005 ERROR - INVALID DAILY FACTOR VALUE - CHANGED TO .0154.
A non-numeric value was found in the daily factor field of a point source
type temporal split. The value 0.0154 was inserted.
***TPSPLIT 006 CONDITIONAL - TEMPORAL SPLIT SUM NOT 100%.
The preceding two temporal split cards matched in key, but the total of
the 24 hourly percentages fell outside the range 99% - 101%. The data
were accepted and processing continued.
***TPSPLIT 007 ERROR - UNMATCHED OPTIONAL ALGORITHM POLLUTANT SPLIT. PREV CARD
REJECTED.
The preceding two optional algorithm pollutant split cards had keys that
did not match. The first of the two was rejected; the second was
retained for further processing.
***TPSPLIT 008 ERROR - UNMATCHED TEMPORAL SPLIT. PREV. CARD REJECTED.
The preceding two temporal split card images had keys that did not match.
The first of the two was rejected; the second was retained for further
processing.
3-85
-------
Table 3.3-1- continued. TPSPLIT Diagnostic Messages
***TPSPLIT 009 ABORT - INPUT STREAM EMPTY.
There was no data in the control file. A run title card and a control
card are mandatory, and control and summary selection cards are
recommended. Provide what is necessary and resubmit the run.
***TPSPLIT 010 ABORT - CONTROL CARDS NOT IN INPUT STREAM.
A title card was found, but no control card. Provide the control card
and resubmit the run.
***TPSPLIT Oil ERROR - TEMPORAL SPLIT KEY ERROR. RECORD REJECTED.
The key field on the above temporal split record is faulty. See Table
3.3-a for a discussion of the subfield combinations allowed. Correct the
card as necessary and resubmit the run.
***TPSPLIT 012 ERROR - POLLUTANT SPLIT KEY ERROR. RECORD REJECTED.
The key field on the above pollutant split record is faulty. See Table
3.3-a for a discussion of the subfield combinations allowed. Correct the
card as necessary and resubmit the run.
***TPSPLIT 013 ERROR - INVALID DAILY FACTOR VALUE - CHANGED TO .0110.
A non-numeric value was found in the daily fraction of the preceding
temporal split card; it is for an area source. The value 0.0110 was
inserted and processing continued.
***TPSPLIT 014 ERROR - NO SELECTOR CARD OR ITEM INVALID. DEFAULT(S) WILL BE
USED.
Faulty items were found on the control card. Programmed defaults were
used. Correct the card and resubmit the run, if desired.
***TPSPLIT 015 WARNING - INVALID SEASON VALUE IN TEMPORAL SPLIT. 25.0% USED.
A non-numeric value was found in an input temporal split type 1 card.
It was changed to 25.0.
***TPSPLIT 016 WARNING - DAILY FACTOR > 0.0769 IN TEMPORAL SPLIT. ACCEPTED.
A daily factor value for the equivalent of less than one day per week was
specified on the preceding temporal split card. It was accepted.
3-86
-------
Table 3.3-1 - continued. TPSPLIT Diagnostic Messages
***TPSPLIT 017 CONDITIONAL - NUMBER OF INPUT LINES FOR SUMMARY REPORT IS nn.
An informational note that informs the user of the number of accepted
input cards for the user-defined summary.
***TPSPLIT 018 ERROR - MAXIMUM NUMBER OF SUMMARY CARDS EXCEEDED. REMAINDER
REJECTED.
There have been more than 50 user-defined summary request cards input.
The preceding card image was rejected, but the run continued.
***TPSPLIT 019 CONDITIONAL - NO SUMMARY CONTROL CARDS FOUND.
Only one or two card images were found in the Control and Summary
Definition file. The User-defined Summary will consist of only Misc.
Point and Misc. Area Lines. Processing continued.
***TPSPLIT 020 ERROR - TEMPORAL FACTORS TABLE FULL. RECORD REJECTED.
The preceding Temporal Split input data had a key which put it at the
end of a previously filled internal table; the data were rejected. If
the key is correct, a change in key type (see Table 3.3-a) may allow
insertion of these data into another table (which is not full) or the
external file (which may be as large as desired).
***TPSPLIT 021 ERROR - NO MATCH FOR TEMPORAL SPLIT RECORD IN TABLE. REJECTED.
The program found a Temporal Split key for an internal table that did not
match an existing key (was out of sequence). The data were rejected.
Reorder the Temporal Split data and resubmit the run.
***TPSPLIT 022 ERROR - POLLUTANT SPLIT TABLE FULL. RECORD REJECTED.
The preceding Pollutant Split input data had a key which put the record
logically at the end of a previously filled internal table. The data
were rejected. If the key is correct, a change in key type (see Table
3.3-a) may allow insertion of these data into another table (which is not
full) or the external file (which may be as large as required).
***TPSPLIT 023 ERROR - NO MATCH FOR POLLUTANT SPLIT RECORD IN TABLE.
REJECTED.
The program found a Pollutant Split key for an internal table record that
did not match an existing key (was out of sequence). The data were
rejected. Reorder the Pollutant Split data and resubmit the run.
3-87
-------
Table 3.3-1 - continued. TPSPLIT Diagnostic Messages
***TPSPLIT 024 ERROR - PT EMISSIONS NOT EQUAL TO PROCESS SUM. PT ALLOC TO
PROCESS(ES).-
The EIS/P&R Segment 2 record(s) contain data for emissions computation
(fuel/process rate, emission factor(s), and/or ash or sulfur content) for
a particular pollutant which do not produce a net annual emission rate
within +_ 2% of the Segment 1 reported emissions (+10% if the Segment 1
value is < 10 tons/yr). The Segment 1 emissions value is assumed
correct, and is allocated proportionately to the process-level (Segment
2) emissions values for the remaining computations. The values, if in
error, may be corrected via an EIS/P&R File Maintenance update.
***TPSPLIT 025 WARNING - POLLUTANT SPLIT NOT FOUND. DEFAULT ALGORITHM USED.
The program failed to find a user-provided Pollutant Split for the
EIS/P&R record being processed. The programmed default for either area
or point sources was used. The user may supply appropriately keyed
Pollutant Split data and resubmit the run, if desired.
***TPSPLIT 026 WARNING - TEMPORAL SPLIT NOT FOUND. EIS/P&R VALUES USED IN
DEFAULT CALC.
The program failed to find a user-provided Temporal Split for the EIS/P&R
record being processed. The program used EIS/P&R "Normal Operating" and
"Annual Thruput" data from the current Segment 1 data to compute hourly
emissions. The user may supply appropriately keyed Temporal Split data
and resubmit the run, if desired.
***TPSPLIT 027 CONDITIONAL - TEMPORAL SPLIT NOT FOUND. UNIFORM 8/24 - HOUR
SPLIT USED.
The program failed to find a user-provided Temporal Split for the EIS/P&R
record being processed, and there were inadequate "Normal Operating" and
"Annual Thruput" data in the current Segment 1 record to use for an
hourly split computation. The program used a uniform temporal split of
8 hours per day (for a point source) or 24 hours per day (for an area
source). The user may supply appropriately keyed Temporal Split data
and resubmit the run, if desired.
***TPSPLIT 028 CONDITIONAL - OVERFLOW IN SUMMARY REPORT VALUES.
A SIZE ERROR (field overflow) occurred during accumulation or page
summing for the Summary Report. Therefore, one or more values on the
Summary Report are erroneous.
3-88
-------
Table 3.3-1 - continued. TPSPLIT Diagnostic Messages
***TPSPLIT 029 ERROR - OLEFIN SPECIES SPLITS ARE INCONSISTENT. DATA
REJECTED.
The sum of the DIOLEFIN and ETHYLENE percentages exceeds the OLEFIN
percentage in an Optional Algorithm pollutant split; OLEFIN must include
diolefin and ethylene as well as other olefins. The data were rejected
because a negative computation may result.
3-89
-------
3.4 MAJOR/MINOR POINT SOURCE DIVISION/MODEL CONVERSION (PSCONV) PROGRAM
3.4.1 Description
The purpose of the Major/Minor Point Source Division/Model Conversion
(PSCONV) program is to produce card image output files of major and minor
(gridded) point source hourly emissions in the input format of the Urban
Airshed Model. In order for the PSCONV program to accomplish this, the user
must provide a card image control parameters file that specifies the data to
be selected for output; the parameters distinguishing major and minor point
sources; optional nitrogen oxides and hydrocarbon species scaling factors; the
definition of the square grid which covers the area; and (optionally) the
state, county, AQCR, plant, and point codes of point sources to be explicitly
selected as major sources. The PSCONV program contains a main COBOL module
which calls FORTRAN subroutine BEH072 to calculate plumerise, a necessary
parameter in determining whether the source is major or minor. The source
code for the PSCONV program including BEH072 is listed in Appendix A. Figure
3.4-a is the hierarchy chart of the program.
The ROOT-SEGMENT paragraph serves as the initiating point of the program.
In paragraph PGM-INIT, certain variables and all counters are initialized and
all files are opened. PGM-INIT also ACCEPTS the current date and time,
initializes headings, writes the program identification, and initiates the
reading of the control cards from the runstream through the standard system
card-reader. The run title card is read and stored to be used later as the
fourth printed line in the heading of each output page. The day/hour
selection card, the second card image, is then read. The absence of this card
results in a diagnostic message being written and the abnormal termination of
the execution of this program. If this card image is present, the data are
edited to insure valid ranges of day and hour values for the data requested
and to verify the scaling factors to be applied to emissions values of the
hydrocarbon and nitrogen oxide species of all sources. If two days are to be
processed, the program automatically will generate a request that includes
continuous hours. The scaling factor fields are checked and if either is
blank, a default value of 1.0 is substituted.
3-90
-------
Continued
below
ROOT-SEGMENT
Continued
on page 2
Continued
below
I
WRITE-LAST-
MSG
UPDATE-MESSAGES
(Page 1 of 7)
Figure 3.4-a. PSCONV Program Hierarchy Chart
3-91
-------
READ-PT-
SOURCE
Continued
below
MAIN-LOOP
OUTPUT-SORT
Continued
on page 3
SUMMARY-
REPORT-
MAJOR
SUMMARY-
MAJOR
SUMMARY-
OUTPUT
Continued
on page 3
Continued
on page 4
Continued
on page 4
(Page 2 of 7)
Figure 3.4-a - continued. PSCONV Program Hierarchy Chart
3-92
-------
EMISSIONS-VAL-
PACK-HDGR
OUTPUT-SORT
SORTED-EMISSIONS
Continued
on page 4
GRID-VAL-
PACK-HDGR
FILE-ERROR
SORTED-GRID
Continued
on page 5
1
SUMMARY-DATA-ADD
SUMMARY-OUTPUT
SUMMARY-HEADER
MOVE-EMISS-
NAMES
1
SUMMARY-LAYOUT
SUMMARY-PAGE
MOVE-EMIS-
VAL
(Page 3 of 7)
Figure 3.4-a - continued. PSCONV Program Hierarchy Chart
3-93
-------
CONVERSION-
ROUTINE
SEG-1-RECORD
MOVE-
STACK-
PARAMETERS
GRID-
TEST
Continued
on page 5
EMISSIONS-
CALC
EMIS-MATCH
MAJOR-PT-
SRCE
Continued
on page 6
MINOR-PT-
SRCE
Continued
on page 7
SORTED-EMISSIONS
EMISSIONS-VALUE-
PACKET
EMISSIONS-VAL-
PACK-HDGR
EMISSIONS-
PACK-DATA
(Page 4 of 7)
Figure 3.4-a - continued. PSCONV Program Hierarchy Chart
3-94
-------
GRID-
PACK-
DATA
SORTED-GRID
GRID-
VALUE-
PACK
GRID-VAL-
PACK-HDGR
GRID-
SUM
SIZE-
ERROR-
MESSAGE
PLUME-HGT-
CALC
FORTRAN
SUBROUTINE
BEH072
GRID-TEST
READ-CNTY-
PLANT-DATA
POINT-IN-
AREA
MAJ-MIN-
PT-SRCE-
TEST
(Page 5 of 7)
Figure 3.4-a - continued. PSCONV Program Hierarchy Chart
3-95
-------
MAJOR-PT-SRCE
CREATE-
POINT-
PACK
UNSORTED-
EMISSIONS
WRITE-
INPUT-
DATA
PACKET-
PR I NT-
PUNCH
EMIS-VAL-CARD
(Page 6 of 7)
Figure 3.4-a - continued. PSCONV Program Hierarchy Chart
3-96
-------
MINOR-PT-SRCE
LOCATE-GRID
PT-PACK-MINOR-LINE
WRITE-INPUT-DATA
UNSORTED-GRID
GRID-VAL-CARD
(Page 7 of 7)
Figure 3.4-a - continued. PSCONV Program Hierarchy Chart
3-97
-------
The selection card data is echoed on the Diagnostic and Input Report to
inform the user of the actual data being processed in comparison to the data
requested. The two may differ for these reasons: if the range of hours to
be selected is not continuous; or if the hydrocarbon and/or nitrogen oxide
scaling factors are missing.
The first day and hour requested are converted to a value in the range
1-96, the hours available in a 4-day period. This value becomes the initial
value of the pointer for the program's selection array and is increased by one
until the final day and hour value is reached. This array will be used to
store the appropriate emissions data from the Segment 3 record of the Hourly
Source/Emissions File into the proper time location. After the selection
array is complete, the Point Source Packet header record is written.
The user-supplied input option data are on the third card image and
appear on the diagnostic and input report. The parameters values on this card
image are first checked for spaces. All spaces are replaced by zeroes, a
diagnostic message is written to the Diagnostic and Input Report and the
validity of the parameters are re-checked for possible errors such as
non-numeric fields, zero UTM northing coordinates and negative UTM easting
coordinates. The fields containing the maximum plume height for a minor
source, the maximum NOx emissions rate for a minor source, and the maximum HC
emissions rate for a minor source can be left blank. Leaving the fields blank
sets a switch telling the program that the explicit major source selection
option will be used. If the input option parameters prove invalid, program
execution is terminated; otherwise, execution continues and reads the Hourly
Source/Emissions File created by the TPSPLIT program.
If the record read is not a point source record (plant-id of 1-9998) it
is bypassed, the area source record count is incremented and the search
continues for a point source record. From the EIS/P&R Segment 0 records for a
point source, identification is taken for the time interval packets and
another record is read. The EIS/P&R Segment 1 record contains all the data
used in comparison with the user-supplied input parameters in deciding the
type of point source being processed. Segment 2 records are bypassed; Segment
3 records are stored in the program's selection array.
3-98
-------
The stack parameters stack height, plume height, temperature, velocity,
stack diameter, flowrate and the UTM coordinates are converted to the
appropriate metric equivalents and are stored for output to the Point Source
Packet. The UTM coordinates are then used to decide whether this point is
within the boundaries of the grid area being processed. The FORTRAN
subroutine BEH072 calculates plumerise if the necessary data are available
from the Segment 1 record as described in Appendix D.3. The necessary
combinations of the data for plumerise calculation are: (1) stack diameter,
temperature, and velocity or (2) temperature and flowrate. If plumerise
cannot be calculated, plume height from the Segment 1 record is used for
plumerise; and in the absence of plume height, stack height is substituted.
If these values are not available, an error message is printed.
If the explicit major source selection option switch was set, a
selection-by-specific-point card is read from the control and selection file.
If the data on the selection-by-specific-point card matches the segment-key
data of the Segment 1 record, the source is classified as a major source. If
the card data is greater than the record data, the source is a minor source.
If the card key data is less than the Segment 1 key, the cards may not have
been sorted properly; in this case, an error message is written to the
Diagnostic and Input Report and program execution is terminated. If the
selection switch was not set, a comparison between the user-specified NOx and
HC emissions rates and the NOx and HC annual emissions rates on the Segment 1
record is made to decide whether the point meets the emissions requirement for
a major source. The emission value of either pollutant must be greater than
the user-specified rates in order for the source to qualify as a potential
major source. Potential source is used to describe this situation because
after the point is classified as a major source by its emissions values, the
plume height value (calculated plume height, Segment 1 plume height, or
Segment 1 stack height, in that order of preference) also must meet the
requirement, i.e., be greater than the user-supplied plume height, in order
for the point to be classified as a major source.
When classification is complete, the NOx and HC emissions are calculated
by multiplying the emissions value by the appropriate input scaling factor as
described in Appendix D.3. If the source is a major source, a message is
3-99
-------
written to the Diagnostic and Input Report identifying the source as a major
source, the appropriate data is written to the Point Source Packet, and the
emissions data are output to the unsorted emissions packet file. If the
source is a minor source and is within the boundaries of the grid area, the
column/row positions in the grid area are calculated for the source as
described in Appendix D.3. A message is then written to the Diagnostic and
Input Report identifying the source as a minor source, and the emissions data
are written to the unsorted grid packet file. However, if the minor source
falls outside the boundaries of the grid area, the source is bypassed and an
error message is written to the Diagnostic and Input Report. The processes
are repeated until an end-of-file is encountered on the Hourly Source/
Emissions File.
When the end-of-file is encountered, the unsorted emissions files are
sorted. The major point source emissions file is sorted by day and hour and
the minor point source (grid) file is sorted by day, hour, and grid. The
required point source and grid packets are generated and the values in the
sorted emissions and grid files are summed for the summary report.
When all the sorted emissions have been processed, the summary report and
audit trail are written. The summary report contains total emissions for each
day for both major and minor sources.
The audit trail summarizes the number of EIS/P&R hourly emissions records
read, the number of major and minor point sources found, the number of area
sources skipped, the number of point source and grid packets written and
details of the diagnostic messages. Program execution then terminates
normally.
3.4.2 Executive Control Language (ECL) and Data Deck Setup
a) Control Language Requirements. The following ECL runstream will
execute program PSCONV:
@RUN,options run-id,acct/user-id,project,time,pages/cards
@PASSWD password
@ASG,A master-file,36N,serial
3-100
-------
0USE MASTER..master-file.
@ASG,A diagnostic-report-file.
@USE IN-DIAG-RPT., diagnostic-report-file.
@ASG,A pnt-srce-pkt-file
@USE PACK-RPT., pnt-srce-pkt-file.
@ASG,A summary-report-file.
(PUSE SUM-RPT., summary-report-file.
0ASG.T UNSORT-EMIS.
G>ASG,T UNSORT-GRID.
@ASG,A emis-pkts-pnch-file.
@USE EMIS-VAL., emis-pkts-pnch-file
@ASG,A grid-pkts-pnch-file
@USE GRID-VAL., grid-pkts-pnch-file.
(PSORTF num-of-recs,80/c
@XQT abs-file.elt
control/selection cards
@EOF
where:
options
run-id
acct
user-id
project
time
pages
cards
password
master-file
serial
run priority and options desired
six-character run identification
account code
user's identification code
user's project code
estimated time for run
estimated number of pages printed
estimated number of cards punched
user's password
the file name of the input Hourly Source/Emissions File
tape
serial number of the Hourly Source/Emissions File tape
3-101
-------
pkt-srce-pkt-file = the file name assigned to the output file
for the Point Source Packet
summary-report-file = the file name assigned to the output report
file for the Emissions Summary Report
emis-pkts-pnch-file = the file name assigned to the output file
for the emissions value packets
grid-pkts-pnch-file = the file name assigned to the output file
for the grid value packets
num-of-recs = approximate number of intermediate records
to be sorted (one per hour per major
source or grid)
abs-file.elt = location of absolute element of PSCONV
program
control/selection cards = the card images of the control and
selection file
b) Data Deck Setup. The data card deck required for input to the PSCONV
program is illustrated in Figure 3.4-b and must be set up as follows:
• Run Title Card
• Day/hour Selection and Scaling Factor Card
• Option Control Card
• Selection-by-specific-point Cards
3.4.3 Input Data Description
There are two data files input to the PSCONV program:
• Control and Selection File
• Hourly Source/Emissions File
Each of these files is discussed below.
a) Control and Selection File. This file, located in the runstream in
card image format, contains a minimum of three card images. See Tables 3.4-a,
3.4-b, and 3.4-c for their formats.
3-102
-------
CONTROL AND SELECTION FILE
fSELECTION-BY-
SPECIFIC-POINT
CARDS
OPTION CONTROL
CARD
.NECESSARY ONLY IF
SELECTION-BY-
SPECIFIC-POINT
OPTION SET
(explicit major
source selection)
SELECTION AND
SCALING FACTOR
CARD
RUN TITLE
CARD
Figure 3.4-b. Logical Data Deck Setup for PSCONV
3-103
-------
Table 3.4-a.
PSCONV Control and Selection File
Run Title Card
RECORD POSITION
FIRST
1
LAST
80
LENGTH
80
DATA ITEM
PICTURE
X(80)
DESCRIPTION
TEXT TO MORE SPECIFICALLY
IDENTIFY RUN.
3-104
-------
Table 3.4-b. PSCONV Control and Selection File
Selection Card
RECORD POSITION
FIRST
1
11
15
19
21
23
25
27
29
31
33
79
80
LAST
10
14
18
20
22
24
26
28
30
32
78
79
80
LENGTH
10
4
4
2
2
2
2
2
2
2
46
1
1
DATA ITEM
PICTURE
x(io)
9V9(3)
9V9(3)
9(2)
9(2)
9(2)
9(2)
9(2)
9(2)
9(2)
X(46)
X(D
X(D
DESCRIPTION
FILLER
NOX SCALING FACTOR
HC SCALING FACTOR
NUMBER OF DAYS TO
BE PROCESSED
FIRST DAY TO BE OUTPUT
START HOUR
END HOUR
SECOND DAY TO BE OUTPUT
START HOUR
END HOUR
FILLER
'!'
.4.
3-105
-------
Table 3.4-c.
PSCONV Control and Selection File
Option Control Card
RECORD POSITION
FIRST
1
11
21
31
41
51
61
71
76
LAST
10
20
30
40
50
60
70
75
80
LENGTH
10
10
10
10
10
10
10
5
5
DATA ITEM
PICTURE
9(10)
9(10)
9(10)
9(9)V9
9(9)V9
9(9)V9
9(9)V9
9(5)
X(5)
DESCRIPTION
MAXIMUM PLUME HEIGHT
FOR A MINOR SOURCE, M.*
MAXIMUM NOX EMISSION
RATE FOR A MINOR SOURCE,
T/YR*
MAXIMUM HC EMISSION
RATE FOR A MINOR SOURCE,
T/YR*
UTM COORDINATES OF
LOWER LEFT-HAND CORNER
OF ENTIRE GRID AREA, M.
UTM COORDINATES OF
UPPER RIGHT-HAND CORNER
OF ENTIRE GRID AREA, M.
SIDE LENGTH OF EACH
INDIVIDUAL GRID, M.
FILLER
* If these fields are blank, option 2 (selection-by-specific-point)
will be assumed
3-106
-------
The first card image is a run title, not to exceed 80 characters, which
will specifically identify the data being processed. This card image becomes
the fourth printed line in all output page headings produced by the PSCONV
program.
The second card image is the day/hour selection card. It specifies by
number of days and hours which Segment 3 records in the Hourly Source/
Emissions File are to be selected for output. The user must specify the
number of days to be processed, the day number(s) of the day(s) to be selected
and, for each day selected, the range of hours to be included. Only one or
two days of data can be processed in a single run. The valid range for the
number of days which may be selected for processing is 1-4. For the hours,
the valid range is 1-24 and the selection should include continous hours
between day 1 and day 2 when two days are selected. If the selection of hours
is not continuous, the program will generate such a selection. In addition to
the day/hour specifications, the NOX and HC scaling factors may be specified.
These factors are multiplicative constants that modify the emissions values of
the two nitrogen oxide species and the five carbon bond species, respectively,
for all of the point sources. If either or both of these fields are left
blank, a default scaling factor value of 1.0 will be substituted.
The third card image is the option control data card that supplies the
major and minor source and grid specifications. The major and minor source
specifications include the maximum plume height, maximum annual NOX emissions
rate, and maximum annual HC emissions rate for a minor point source. If the
source's reported plume height and either of the two reported annual emissions
rates exceeds the user specifications, the point will be classified as a major
source; otherwise, the point will be classified as minor. The major source
criteria require that the user plume height and either the user NOX or HC
emissions rate be exceeded for the point to be classified as major. If the
control card fields for these three criteria are left blank, the explicit
major source selection option is set and the three card minimum will not
suffice; selection-by-specific-point card images will be required. The grid
area specifications include the UTM coordinates of the lower left-hand corner
and the upper right-hand corner of the entire area of interest to the user and
3-107
-------
the side length of the individual grids. These grid definition data are
expressed in meters.
The subsequent card images are the selection-by-specific-point cards (see
Table 3.4-d for the format). The card images are inserted in ascending
numerical data order and are used only if the plume height and emissions rates
specification fields of option control card card image are left blank. The
user may include as many of these selections as desired. The state-county-
AQCR-plant-point code of each selection card image is compared to the same
codes of the Hourly Source/Emissions File Segment 1 records. If these codes
match, the point is thereby classified as a major source. If there is no
match and the point is within the grid boundaries, the point is classified as
a minor source.
b) Hourly Source/Emissions File. This file is generated by the Temporal
and Pollutant Split (TPSPLIT) program. It is comprised of four different
record types: Segment 0, Segment 1, Segment 2 and Segment 3. The first 13
record positions of each segment type contain the same information -the
EIS/P&R key which identifies the plant or pseudo-plant (area source).
The plant code on the Segment 0 record is used in determining whether the
associated records are for point sources or an area source; point sources
contain plant codes 0001 thru 9998. PSCONV processes only point source
records. Also taken from this record is the file identification field
inserted by the CMGROW program (see Section 3.2.1); this field is used as
identification in the Time Interval/Emissions Values and the Time Interval/
Grid Values packets.
The Segment 1 record is the basic key to the control and output of the
PSCONV program. It includes the data which are compared to the user-supplied
major/minor source specifications and grid area specifications.
The horizontal (easting) and vertical (northing) UTM coordinates
determine whether the point is within the boundaries of the pre-defined grid
area. The stack parameters -- height, diameter, temperature, flow-rate,
velocity, plume height, and stack height — along with the estimated emissions
values, aid in classifying the sources as major or minor. If the necessary
stack parameters are present, a plume height is calculated by the FORTRAN
3-108
-------
Table 3.4-d. Control and Selection File
Selection-by-Specific-Point Card
RECORD POSITION
FIRST
1
3
7
10
14
17
LAST
2
6
9
13
16
80
LENGTH
2
4
3
4
3
64
DATA ITEM
PICTURE
9(2)
9(4)
9(3)
9(4)
9(3)
X(64)
DESCRIPTION
STATE CODE
COUNTY CODE
AQCR NUMBER
PLANT CODE
POINT CODE
FILLER
*This card is repeated for every point to be selected as a major source.
3-109
-------
subroutine BEH072; otherwise, the plume height or the stack height, in that
order of preference, is used in the classification test. .
The emissions values, expressed in units of gram-moles/hr, for each of
the ten pollutants are located in the Segment 3 record. Appropriate NOX or HC
scaling factors are applied to these emissions values. The day and hour data
are compared to determine which of the Segment 3 records to process into the
output files.
3.4.4 Output Data Description
The output data from the PSCONV program consists of three files:
• Point Source Packet
• Time Interval/Emissions Values Packets (Major Sources)
. Time Interval/Grid Values Packets (Minor Sources)
The following paragraphs detail the contents of these files.
a) Point Source Packet. This packet, in card image format, begins with
the literal 'POINT SOURCE1 in the first card image. The second and subsequent
even-numbered card images contain the point identification key and the literal
'PLUMERISE1 or 'STACKHGT1 (depending on the data available), and the location
of each point. The location of each point is indicated by the Universal
Transverse Mercator (UTM) coordinates relative to the user's lower left hand
corner as zero. If PSCONV calculates plumerise then 'PLUMERISE1 is the
literal; if either plume height or stack height from the point record is
substituted, then 'STACKHGT' is the literal. The third and subsequent
odd-numbered card images contain the stack height, stack diameter, stack
temperature and stack (exit) velocity. The second and third card images are
repeated for every major point source identified. The packet's trailer card,
which indicates the end of the major point sources, contains the literal
'END1. See Tables 3.4-e, 3.4-f. 3.4-g, and 3.4-h for the formats of these
cards.
b) Time Interval/Emissions Values Packets (Major Sources). These
packets, one for each hour of data processed, are in card image format.
Several card images comprise a single packet. The first card image contains
3-110
-------
Table 3.4-e. Point Source Packet File
Point Source Packet Header Card
RECORD POSITION •
FIRST
1
14
LAST
13
80
LENGTH
13
67
DATA ITEM
PICTURE
X(13)
X(67)
DESCRIPTION
'POINT SOURCE'
FILLER
3-111
-------
Table 3.4-f. PSCONV Point Source Packet File
Point Source Identification Card
RECORD POSITION
FIRST
1
11
21
31
41
LAST
10
20
30
40
80
LENGTH
10
10
10
10
40
DATA ITEM
PICTURE
X(10)
X(10)
9(9)V9
9(9)V9
X(40)
DESCRIPTION
COUNTY, PLANT, & POINT
CODES
'PLUMERISE' OR 'STACKHGT'
EASTING, METERS FROM ORIGIN
NORTHING, METERS FROM
ORIGIN
FILLER
3-112
-------
Table 3.4-g. Point Source Packet File
Point Source Stack Parameter Card
RECORD POSITION
FIRST
1
11
21
31
41
LAST
10
20
30
40
80
LENGTH
10
10
10
10
40
DATA ITEM
PICTURE
9(10)
9(10)
9(10)
9(10)
X(40)
DESCRIPTION
PLUME HEIGHT, M.
STACK DIAMETER, M.
STACK TEMPERATURE, °K
STACK EXIT VELOCITY, M/SEC
FILLER
3-113
-------
Table 3.4-h. Point Source Packet File
Point Source Packet Terminator
RECORD POSITION
FIRST
1
11
LAST
10
80
LENGTH
10
70 .
DATA ITEM
PICTURE
x(io)
X(70)
DESCRIPTION
'END'
FILLER
3-114
-------
the literal 'TIME INTERVAL1 denoting the beginning of the packet. The
beginning and ending dates (Julian) and hours (military) are on the second
card image. On the third card image is the literal 'EMISSIONS VALUES' and the
identification data extracted from the Segment 0 record. The subsequent card
images (one per pollutant per hour per source) contain the point
identification key (county, plant and point code), pollutant name and the
emission rate. Two packet trailer card images follow. The first trailer card
indicates the end of the emissions values with the literal 'END' and the
second card indicates the end of the packet with the literal 'ENDTIME1. The
literals are all left justified and the data values right justified. See
Tables 3.4-i, 3.4-j, 3.4-k, 3.4-1, 3.4-m, and 3.4-n for the formats of these
cards.
c) Time Interval/Grid Values Packets (Minor Sources). These packets,
also in card image format, are similar to the Time Interval/Emission Values
Packets (Major Sources) and begin with the same two card images. The third
card contains the literal 'GRID VALUES' and the identification data from the
Segment 0 record. The fourth and subsequent card images, one for each
pollutant for each individual grid for that hour, contain the literal 'POINT',
the pollutant name, and the grid column and row number that identify the grid
in which the source(s) lie, and the emissions rate. This rate is the sum, by
grid, of the emissions rate (in gm-moles/hr) for the particular pollutant.
The two packet trailer cards are identical to those in the Time
Interval/Emissions Value Packets and serve the same purposes. See Tables
3.4-0, 3.4-p, 3.4-q, 3.4-r, 3.4-s, and 3.4-t for their formats.
3.4.5 Report Description
The PSCONV program generates two printed reports:
• Diagnostic and Input Report
. Emissions Summary Report
Each report is described below. Examples of these reports may be found in
Appendix B.
3-115
-------
Table 3.4-i.
PSCONV Time Interval/Emissions Values Packets File
Time Interval Header Card
RECORD POSITION
FIRST
1
14
LAST
13
80
LENGTH
13
67
DATA ITEM
PICTURE
X(13)
X(67)
DESCRIPTION
'TIME INTERVAL1
FILLER
3-116
-------
Table 3.4-j. PSCONV Time Interval/Emissions Values Packets File
Time Interval Card
RECORD POSITION
FIRST
1
11
21
31
41
LAST
10
20
30
40
80
LENGTH
10 -
10
10
10
40
DATA ITEM
PICTURE
9(10)
9(10)
9(10)
9(10)
X(40)
DESCRIPTION
BEGINNING DATE
(JULIAN)
BEGINNING TIME
(MILITARY)
ENDING DATE
(JULIAN)
ENDING TIME
(MILITARY)
FILLER
3-117
-------
Table 3.4-k. PSCONV Time Interval/Emissions Values Packets File
Emissions Values Packet Header Card
RECORD POSITION
FIRST
1
17
33
LAST
16
32
80
LENGTH
16
16
48
DATA ITEM
PICTURE
X(16)
X(16)
X(48)
DESCRIPTION
'EMISSIONS VALUES'
FILLER
FROM PROJECTION FILE
SEGMENT 0, POSITIONS 46-80
3-118
-------
Table 3.4-1. PSCONV Time Interval/Emissions Values Packets File
Emissions Value Card
RECORD POSITION
FIRST
1
11
21
31
LAST
10
20
30
80
LENGTH
10
10
10
50
DATA ITEM
PICTURE
X(10)
X(10)
X(10)
X(50)
DESCRIPTION
COUNTY, PLANT, POINT CODE
POLLUTANT NAME
EMISSION RATE, gm-moles/hr
FILLER
3-119
-------
Table 3.4-m. PSCONV Time Interval/Emissions Values Packets File
Emissions Value Packet Terminator Card
RECORD POSITION
FIRST
1
11
LAST
10
80
LENGTH
10
70
DATA ITEM
PICTURE
X(10)
X(70)
DESCRIPTION
'END'
FILLER
3-120
-------
Table 3.4-n. PSCONV Time Interval/Emissions Values Packets File
Time Interval Terminator Card
RECORD POSITION
FIRST
1
11
LAST
10
80
LENGTH
10
70
DATA ITEM
PICTURE
x(io)
X(70)
DESCRIPTION
'ENDTIME'
FILLER
3-121
-------
Table 3.4-0. PSCONV Time Interval/Grid Values Packets File
Time Interval Header Card
RECORD POSITION
FIRST
1
14
LAST
13
80
LENGTH
13
67
DATA ITEM
PICTURE
X(13)
X(67)
DESCRIPTION
'TIME INTERVAL1
FILLER
3-122
-------
Table 3.4-p. PSCONV Time Interval/Grid Values Packets File
Time Interval Card
RECORD POSITION
FIRST
1
11
21
31
41
LAST
10
20
30
40
80
LENGTH
10
10
10
10
40
DATA ITEM
PICTURE
9(10)
9(10)
9(10)
9(10)
X(40)
DESCRIPTION
BEGINNING DATE
(JULIAN)
BEGINNING TIME
(MILITARY)
ENDING DATE
(JULIAN)
ENDING TIME
(MILITARY)
FILLER
3-123
-------
Table 3.4-q. PSCONV Time Interval/Grid Values Packets File
Grid Values Packet Header Card
RECORD POSITION
FIRST
1
12
33
LAST
11
32
80
LENGTH
11
21
48
DATA ITEM
PICTURE
X(H)
X(21)
X(48)
DESCRIPTION
'GRID VALUES'
FILLER
FROM PROJECTION FILE
SEGMENT 0 POSITIONS
46-80
3-124
-------
Table 3.4-r. PSCONV Time Interval/Grid Values Packets File
Grid Values Emissions Card
RECORD POSITION
FIRST
1
11
21
31
41
51
LAST
10
20
30
40
50
80
LENGTH
10
10
10
10
10
30
DATA ITEM
PICTURE
X(10)
X(10)
X(10)
x(io)
x(io)
X(30)
DESCRIPTION
'POINT1
POLLUTANT NAME
COLUMN NUMBER
ROW NUMBER
EMISSION RATE, gm-moles/hr
FILLER
3-125
-------
Table 3.4-s. PSCONV Time Interval/Grid Values Packets File
Grid Values Terminator Card
RECORD POSITION
FIRST
1
11
LAST
10
80
LENGTH
10
70
DATA ITEM
PICTURE
X(10)
X(70)
DESCRIPTION
'END1
FILLER
3-126
-------
Table 3.4-t. PSCONV Time Interval/Grid Values Packets File
Time Interval Terminator Card
RECORD POSITION
FIRST
1
11
LAST
10
80
LENGTH
10
70
DATA ITEM
PICTURE
x(io)
X(70)
t
DESCRIPTION
'ENDTIME1
FILLER
3-127
-------
Diagnostic and Input Report. This report echoes the input data from both
the Control and Selection File and the Hourly Source/Emissions File.
It begins with the program's identification. It then describes the user's
request from the Control and Selection file versus the actual data being
processed. The state, county, AQCR, plant, and point codes of each point
source encountered in the Hourly Source/Emissions File are printed. Any
error messages pertaining to that source are printed on the next line. After
all data have been processed, an audit trail is printed summarizing the data
transactions.
b) Emissions Summary Report. This is a one-page printed report of the
total emissions data in (kg-moles/hr) for major sources and minor sources for
each day processed. The major and minor sources are summed to yield a grand
total and the data are printed with each emission's name as a column header.
3.4.6 Diagnostic Messages
Diagnostic messages have been incorporated into the system to inform the
user of data problems during execution of the program. There are four
categories of diagnostic messages and the name of the appropriate category
is printed in each message. These categories are as follows:
a) WARNING. A warning-category error does not cause termination
of program execution or rejection of input data, but informs
the user of an aspect of input data which may warrant his
attention.
b) CONDITIONAL. A conditional-category error does not cause
termination of program execution or rejection of input data.
It informs the user that an entry in the input data may be in
error and should be examined and verified.
c) ERROR. An error-category error does not cause termination of
program execution; however, the input data in which the error
is detected is rejected or altered.
3-128
-------
d) ABORT. An abort-category error causes termination of program
execution. The user can recover from an abort by correcting
the condition(s) that caused the abort.
These diagnostic messages are listed in Table 3.4-u.
3-129
-------
Table 3.4-u. PSCONV Diagnostic Messages
***PSCONV 001 WARNING - OPTION PARAMETERS NOT NUMERIC
The grid area specification data contain blank or non-numeric fields.
Zeros are substituted for the blank fields and the data are re-tested.
***PSCONV 002 ABORT - OPTION PARAMETER NOT NUMERIC OR BLANK
After the re-test, the parameters were still invalid. Execution of the
program is terminated.
***PSCONV 003 ERROR - MINOR POINT OUTSIDE RANGE OF AREA GRID
The minor point source does not fall within the boundaries of the entire
grid area and is of no significance to the model. The point source is
by-passed, the data rejected.
***PSCONV 004 CONDITIONAL - STACK HEIGHT USED FOR PLUMERISE
The stack height is the only stack parameter present on the Hourly
Source/Emissions File for the source. The stack height is used for the
major source determination and as the stack height value in the major
source/point source packet.
***PSCONV 005 ERROR - EMPTY SORTED GRID FILE
No minor point sources have been processed. No action taken by the
program. The user should check the control card for a possible error in
the grid area specifications or emissions and plume height specifications.
***PSCONV 006 CONDITIONAL - PLUME HEIGHT USED FOR PLUMERISE
The plume height parameter from the Hourly Source/Emissions File was
used for the plumerise for the major source determination and as the stack
height value in the point source packet.
***PSCONV 007 CONDITIONAL - STACK PARAMETERS NEEDED FOR MAJOR SOURCE
DETERMINATION NOT AVAILABLE.
There are no stack parameters present, either by calculations through the
FORTRAN subroutine BEH072 or in the Segment 1 records of the point. The
point source is classified as minor.
***PSCONV 008 CONDITIONAL - RESULTANT GRID DOES NOT FIT EXACTLY
The upper right-hand corner grid area specification is not a boundary
point. The area grid is computed to make the upper right-hand corner a
boundary point.
3-130
-------
Table 3.4-u - continued. PSCONV Diagnostic Messages
***PSCONV 009 ABORT - INVALID DATA FOR DAY-SELECTION CONTROL CARD
The day/hour specification data are invalid. Execution of the program is
terminated.
***PSCONV 010 ABORT - DATA NOT AVAILABLE FOR # OF DAYS SELECTED
The number of days to be processed has not been defined by the user.
Execution of the program is terminated.
***PSCONV Oil ABORT - DAY/HOUR SELECTION CARD NOT FOUND
Day/hour selection card is not included in the Control and Selection File
as the second card image. Execution of the program is terminated.
***PSCONV 012 ERROR - EMPTY SORTED EMISSIONS FILE
No major point sources have been processed. No action taken by the
program. The user should check the control card for a possible error
in the grid area specifications or major/minor parameters.
***
***!
PSCONV 013 CONDITIONAL - EXPLICIT MAJOR SOURCE SELECTION IN EFFECT
The major/minor source specifications - plume height, NOX and HC emissions
rates - have been omitted from the option control data card. The
selection-by-specific-point option switch is set and processing continues.
PSCONV 014 CONDITIONAL - OVERFLOW IN SUMMARY REPORT VALUES
The computed result, after decimal alignment, exceeds the number of integer
places in the format of the identifier associated with the result in the
summary report. The resultant field for the addition remains unchanged.
***PSCONV 015 ABORT - SELECTION-BY-SPECIFIC-POINT CARDS ARE MISSING
The cards that identify the points to be selected as major point sources
are missing. Execution of the program is terminated.
***PSCONV 016 ABORT - SELECTION-BY-SPECIFIC-POINT CARDS POSSIBLY OUT OF ORDER
The cards that identify the points to be selected as major point sources
are not corresponding with the input hourly source emissions file.
Execution of the program is terminated.
3-131
-------
3.5 AREA SOURCE GRIDDING AND MODEL CONVERSION (ASGRID) PROGRAM
3.5.1 Description
The purpose of the Area Source Gridding and Model Conversion (ASGRID)
program is to produce a card image output file of area source hourly emissions
data in the input format of the Urban Airshed Model. Area source emissions
are used by the Urban Airshed Model as ground-level emissions in a rectangular
grid composed of square grid cells covering the area to be modeled. ASGRID
subdivides (allocates) the emissions from the county-wide area source data of
the Hourly Source/Emissions File to the grid cells as the user directs. The
method used by ASGRID is to apply a set of allocation factors on a grid
cell-by-grid cell basis to the county-wide emissions and summing the various
emissions for each grid cell together.. The ASGRID program consists of a
single COBOL module adhering to structured design principles. The source code
for the ASGRID program is listed in Appendix A. Figure 3.5-a is the hierarchy
chart of the program.
>
The program reads the first card image from the input stream, which
contains an 80-character run title. It appears as the fourth line of the
heading for all reports from the run. The second card image is the control
parameters card, which contains the parameters which select the emissions data
from the Hourly Source/Emissions File for output, the NOX and HC scaling
factors, and the grid summary report selection option. Details of the control
parameters card are discussed in Section 3.5.3.
Next, the first allocation factor selection record is read. The
allocation factor selection record consists of two card images which contain
state and county identification and a total of 60 allocation factor selection
parameters, with values from 1-30. The position of each of the 60 allocation
factor selection parameters identifies each parameter with one of the 60 area
source emissions categories (the Segment 1 identification or sequence number).
The value of the allocation factor selection parameter specifies the
allocation factor category from the Allocation Factors File used for that
emissions category for the county. For example, a value of 15 in position 3
3-132
-------
PGM-INIT
Continued
below
ROOT-SEGMENT
MAIN-LOOP
WRAP-UP
Continued
on page 2
WRITE-LAST-
MSG
UPDATE-
MESSAGES
UPDATE-
MESSAGES
OPTION-
MESSAGES
CONTROL-
CARDS-IN
SEL-CARD-
COMPUTE
PRINT-DIAG-
HEADER
FACT-NAMES-
READ
(Page i of 5)
Figure 3.5-a. ASGRID Program Hierarchy Chart
3-133
-------
OUTPUT-
COMPUTE
Continued
on page 3
MAIN-LOOP
SUMMARY-
OUTPUT-
SORT
SUMMARY -
OUTPUT
rnn+
<
EOF-TEST
EOF-ERROR
OUTPUT-
SORT
CREATE-
PACKET-
EMISS
below
Continued
on page 3
SUMMARY-
OUTPUT
SUM-
EMISS
CREATE-
SUMMARY-
TABLE
C-SUMMARY-
WRITE
Continued
on page 3
(Page 2 of 5)
Figure 3.5-a - continued. ASGRID Program Hierarchy Chart
3-134
-------
CREATE-
PACKET-
EMIS
CREATE-
PACKET-
HEADER
C-SUMMARY-
WRITE
MOVE-EMIS-
SUM
_L
FIND-AREA-
SOURCE
EIS-READ
ID-TEST
OUTPUT-COMPUTE
SEG-3-READ
SEG-3-MOVE
CNTY-COMPUTE
Continued
on page 4
(Page 3 of 5)
Figure 3.5-a - continued. ASGRID Program Hierarchy Chart
3-135
-------
COMPUTE-GRID
Continued
below
CNTY-COMPUTE
ALLOC-FACT-
READ
Continued
below
SEL-CATEG-
READ
VALID-SEL-
CARDS
COMPUTE-
GRID
GRID-EMIS
UNSORTED-
OUTPUT
EMIS-MULT
EMIS-VAL-
CARD
_L
ALLOC-
WRITE
Continued
on page 5
ALLOC-FACT-
READ
MOVE-
DATA
(Page 4 of 5)
Figure 3.5-a - continued. ASGRID Program Hierarchy Chart
3-136
-------
ALLOC-
WRITE
MOVE-
ALLOC-
SUMS
PRINT-
REPORT-
HEADER
MOVE-
NAMES
(Page 5 of 5)
Figure 3.5-a - continued. ASGRID Program Hierarchy Chart
3-137
-------
of the allocation factor selection record causes allocation factor category 15
(which may be population density) to distribute emissions from area source
category 3 (which may be residential distillate oil emissions) to the grid
cells for that county. A separate allocation factor selection record is
required for each county.
It is important that the ASGRID program user fully understands the
relationship between the allocation factor selections and the values used for
allocations of area source emissions categories to the grid cells within a
county. One can allocate several of the area source emissions categories
using the same allocation factors. For example, for each grid cell within the
county, housing counts, population counts, population density, and cell area
could be individually sufficient to allocate all of the area source emissions
categories; then one of these four allocation factors would be mapped to each
and every area source emissions category (up to 60) for the county being
processed. Because more than one area source emissions category would likely
use the same allocation factor, this procedure is used to limit redundant
data preparation tasks. The allocation factor selection card performs this
mapping.
The Allocation Factors File consists of records of two card images each.
The first record in the file contains identification for each of the
allocation factor categories, which appear as column headers on the Allocation
Factors Report. The remaining records contain state and county codes, grid
cell identification, and up to 30 four-digit allocation factors with values
less than 1. Allocation factor selection records and allocation factors
records are compared by state and county code; there must be a match or the
ASGRID program will abort.
The Hourly Source/Emissions File generated by the TPSPLIT program is
searched for an area source Segment 0 record (plant code of "0000" or "9999").
It is compared with the state/county ID of the allocation factors record. If
no match is found, a message is written to the Diagnostic and Input Report and
the program execution is aborted. Once a match is found, the hourly emissions
data from Segment 3 records which satisfy the user's request are stored
internally for allocation to the county's grid. As Segment 1 records are
3-138
-------
passed, they are counted for the audit trail. When all the emissions data for
all area source categories present for a county have been stored (another
Segment 0 record is encountered), gridding of the emissions begins. Each of
the hourly emissions for an area source category are multiplied by the
allocation factor for that grid, county, and category. The appropriate NOx or
HC scaling factor, if requested on the control parameters record, is also
applied and the result is then added to the total being kept for each
emissions for the optional Emission Summary Report. The products obtained for
the ten emissions for each hour plus the corresponding grid identifications
from the allocation factors card are then written to an intermediate file to
be used later. This process continues, reading a set of allocation factors
for each grid, until a new county is encountered on the Allocation Factors
file.
When the last emissions data have been processed, optionally the Emission
Summary Report is created. This report includes sums by emission type for
each grid cell for selected Day 1 and, if chosen, selected Day 2 plus a sum
total for each emission for the selected day. It is an optional report and,
if desired, must be requested through a parameter on the control record.
Next, the end of file keys that are generated when the last record on a file
has been read are tested. If an end of file was not encountered on the Hourly
Source/Emissions File, the Allocation Factors File and the Allocation Factor
Selection File simultaneously, then an appropriate diagnostic message is
written to the Diagnostic and Input Report. When more data remain on the
Allocation Factors File, it is read until an end of file is reached. This is
done to complete the Allocation Factor Input Report.
The next step of ASGRID is the sorting of the intermediate emissions file
and the creation of the grid packet data for output to cards. The
intermediate file contains the emissions values and identification plus other
information needed for the grid packets. It is sorted by selected day and
hour, grid cell, and emission name. The header cards for the packets are
created (see Section 3.5.4); the records from the intermediate file are
formatted and data cards are created; finally, the trailer cards are created.
This process is completed for each hour requested on the control record.
3-139
-------
The final step of ASGRID includes writing the audit trail on the
Diagnostic and Input Report. These messages include the total number of
Hourly Source/Emissions File records read, the number of area source and point
source records read, the number of grid records and grid packets
created, and the total number of each type of diagnostic message generated.
All the files are then closed and the run ends.
3.5.2 Executive Control Language (ECL) and Data Deck Setup
a) Control Language Requirements. The following runstream illustrates
the ECL commands required to execute the ASGRID program on a UNIVAC 1100 EXEC
8 operating system:
@RUN,opt ions runid,acct/userid,project,time,pages/cards
@PASSWD password
@ASG,A alloc-factor-print-file.
@USE FACT.,alloc-factor-print-file.
@ASG,A summary-print-file.
@USE SUMM.,summary-print-file.
@ASG,T UNSORTED.
G>ASG,T EMISOUT.
@ASG,T alloc-fact-input.,36N,serial
@USE ASGRIDIN.,alloc-fact-input.
@ASG,T masterfile. ,36N,serial
@USE PNRMASTER. ,mas°terfile.
@XQT absolute-file.elt
cont-and-sel ect-data
where:
options = run priority and options desired
run-id = six-character run identification
acct = account code
user-id = user's identification code
3-140
-------
project
time
pages
cards
password
al1oc-factor-pri nt-fi 1 e
summary-print-file
alloc-fact-input
serial
master-file
absolute-file.elt
cont-and-select-data
b) Data Deck Setup
user's project code
estimated time for run
estimated number of pages printed
estimated number cards punched
user's password
the file name assigned to the output
report file for the allocation factor data
the file name assigned to the output
report file for the Emission Summary
Report
the file name of the input allocation
factor data
the serial number of the tape file
the file name of the input Hourly Source/
Emissions File
the name of the absolute element of ASGRID
the input data deck of control parameters
and allocation factor selections
The data card deck required for input to the ASGRID must be set up
as follows:
. Run Title Card
. Control Parameters Card
. Allocation Factor Selection Cards
The contents and formats of these cards are described in Section 3.5.3. The
data deck setup is shown in Figure 3.5-b.
3.5.3 Input Data Description
The data required to execute the ASGRID program are contained in three
files:
Control and Selection File
3-141
-------
r
fALLOCATION
FACTOR SELECTION
CARD PAIRS
n
CONTROL
PARAMETERS
CARD
RUN
TITLE
CARD
Figure 3.5-b. Logical Data Deck Setup for ASGRID
3-142
-------
• Allocation Factors File
• Hourly Source/Emissions File
a) Control and Selection File. This is a card image file in the input
stream and consists of a run title card, a control parameters card, and
several sets of allocation factor selection cards.
The run title card contains the text which identifies the ASGRID run. It
is used as the fourth line of the header of all ASGRID reports.
The control parameters card contains the scaling factors for both NOx and
HC, the day/hour selection parameters for a maximum of two days worth of data,
and the option indicator for requesting the Emissions Summary Report. The
scaling factors are multipliers in the range 0.000-9.999 and are applied to
all hourly emissions rates of both nitrogen oxide species and all five carbon
bond species, respectively. The day/hour selection parameters select the
desired emissions data from the Hourly Source/ Emissions File and are required
for the first day but optional for the second day. When requesting two days
of data, the days selected from the Hourly Source/Emissions File may be in
sequential order; however, the selected hours from these days must be
continuous. If, for example, hours 20 thru 24 are selected for the first day,
then the second day must begin with hour 1; the program will force this choice
if necessary. A value of "1" in the option indicator will cause the Emissions
Summary Report to be generated.
The allocation factor selection cards are used to relate an allocation
factor from the Allocation Factors File for a particular county to the
emissions data from the Hourly Source/Emissions File for the same county.
This relationship is established through the area source emissions category
which is used as a means of identifying the emissions data within a county.
The position of each of the 60 allocation factor selection parameters
represents one of the 60 area source categories whose definition was
established at the creation of the original Source/Emissions File. Since a
parameter contains the position number of an allocation factor, this relates
the allocation factor to the correct emissions data. For example, a value of
15 in position 3 of the selection record causes allocation factor category 15
3-143
-------
to be used to allocate emissions data for area source category 3 to the grid
cells.
Tables 3.5-a through 3.5-c are descriptions of the format of the run
card, the control parameters card, and the allocation factor selection cards.
b) Allocation Factors File. Tables 3.5-d through 3.5-f describe the
formats of the Allocation Factor file data. The first record (one card image)
of this file defines the data file being used by the ASGRID run. It is used
as the sixth line of the header for the Allocation Factor Input Report.
The second record (two card images) contains the literals to be used to
identify each allocation factor on the Allocation Factor Input Report. The
method of identification is left to the user.
The allocation factor data records make up the remainder of this tape.
There are 30 allocation factors for each grid cell included in the processing
of a county. Each allocation factor is related to a set of emissions data
through the allocation factor selection card and allocates the emissions data
to the grid cell it represents.
c) Hourly Source/Emissions File. This file, generated by the TPSPLIT
program, is used as input to the ASGRID program. The specially-formatted
Segment 3 record is the main concern of ASGRID. For information on all record
types of the Hourly Source/Emissions File, see Section 2.1.
The Segment 3 record is identified by state, county, area source
emissions category (segment sequence number), day number, and hour number.
The 10 emission values are recorded in gm-moles/hour. These emissions are
allocated to each grid by means of the allocation factors and are included as
output in the Time Interval/Grid Values Packets for input to the Urban Airshed
Model.
3.5.4 Output Data Description
The output data from ASGRID consists of one file:
• Time Interval/Grid Values Packet File
3-144
-------
Table 3.5-a. ASGRID Control and Selection File
Run Title Card
RECORD POSITION
FIRST
1
LAST
80
LENGTH
80
DATA ITEM
PICTURE
X(80)
DESCRIPTION
IDENTIFYING TEXT
3-145
-------
Table 3.5-b. ASGRID Control and Selection File
Control Parameters Card
RECORD POSITION
FIRST
1
11
15
19
21
23
25
27
29
31
33
34
79-
80
LAST
10
14
18
20
22
24
26
28
30
32
33
78
79
80
LENGTH
10
4
4
2
2
2
2
2
2
2
1
45
1
1
DATA ITEM
PICTURE
X(10)
9V9(3)
9V9(3)
9(2)
9(2)
9(2)
9(2)
9(2)
9(2)
9(2)
X
X(45)
X(D
X(D
DESCRIPTION
BLANKS
NOx SCALING FACTOR
HC SCALING FACTOR
NUMBER OF DAYS OF DATA
FIRST DAY OF DATA
START HOUR
END HOUR
SECOND DAY OF DATA
START HOUR
END HOUR
INDICATOR REQUESTING
GRID SUMMARY REPORT
FILLER
'I1
'4'
3-146
-------
Table 3.5-c. ASGRID Control and Selection File
Allocation Factor Selection Card*
RECORD POSITION
FIRST
1
7
11
13
15
17
19
21
23
25
27
29
31
33
35
37
39
41
43
45
47
49
51
53
LAST
6
10
12
14
16
18
20
22
24
26
28
30
32
34
36
38
40
42
44
46
48
50
52
54
LENGTH
6
4
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
DATA ITEM
PICTURE
X(6)
X(4)
9(2)
9(2)
9(2)
9(2)
9(2)
9(2)
9(2)
9(2)
9(2)
9(2)
9(2)
9(2)
9(2)
9(2)
9(2)
9(2)
9(2)
9(2)
9(2)
9(2)
9(2)
9(2)
DESCRIPTION
STATE -COUNTY ID CODE
FILLER
FACTOR SELECTED**
FACTOR SELECTED**
FACTOR SELECTED**
FACTOR SELECTED**
FACTOR SELECTED**
FACTOR SELECTED**
FACTOR SELECTED**
FACTOR SELECTED**
FACTOR SELECTED**
FACTOR SELECTED**
FACTOR SELECTED**
FACTOR SELECTED**
FACTOR SELECTED**
FACTOR SELECTED**
FACTOR SELECTED**
FACTOR SELECTED**
FACTOR SELECTED**
FACTOR SELECTED**
FACTOR SELECTED**
FACTOR SELECTED**
FACTOR SELECTED**
FACTOR SELECTED**
3-147
-------
Table 3.5-c - continued. ASGRID Control and Selection File
Allocation Factor Selection Card*
RECORD POSITION
FIRST
55
57
59
61
63
65
67
69
71
79
80
LAST
56
58
60
62
64
66
68
70
78
79
80
LENGTH
2
2
2
2
2
2
2
2
8
1
1
DATA ITEM
PICTURE
9(2)
9(2)
9(2)
9(2)
9(2)
9(2)
9(2)
9(2)
X(8)
X(D
X(D
DESCRIPTION
FACTOR SELECTED**
FACTOR SELECTED**
FACTOR SELECTED**
FACTOR SELECTED**
FACTOR SELECTED**
FACTOR SELECTED**
FACTOR SELECTED**
FACTOR SELECTED**
FILLER
'!' or '2'
'6'
*This record format is used for both cards 1 and 2.
**Number of allocation factors from the Grid Allocation Factor Record to be
used for area source category (pseudo-point).
3-148
-------
Table 3.5-d. ASGRID Allocation Factors File
File Title Card
RECORD POSITION
FIRST
1
LAST
80
LENGTH
80
DATA ITEM
PICTURE
X(80)
DESCRIPTION
IDENTIFYING TEXT
3-149
-------
Table 3.5-e. ASGRID Allocation Factors File
Allocation Factor Identifiers Card*
RECORD POSITION
FIRST
1
15
19
23
27
31
35
39
43
47
51
55
59
63
67
71
75
79
80
LAST
14
18
22
26
30
34
38
42
46
50
54
58
62
66
70
74
78
79
80
LENGTH
14
4
4
4
4
4
4
4
4
4
4
4
4
4
4
4
4
1
1
DATA ITEM
PICTURE
X(14)
X(4)
X(4)
X(4)
X(4)
X(4)
X(4)
X(4)
X(4)
X(4)
X(4)
X(4)
X(4)
X(4)
X(4)
X(4)
X(4)
X(D
X(D
DESCRIPTION
BLANKS
4 CHARACTER LITERAL
4 CHARACTER LITERAL
4 CHARACTER LITERAL
4 CHARACTER LITERAL
4 CHARACTER LITERAL
4 CHARACTER LITERAL
4 CHARACTER LITERAL
4 CHARACTER LITERAL
4 CHARACTER LITERAL
4 CHARACTER LITERAL
4 CHARACTER LITERAL
4 CHARACTER LITERAL
4 CHARACTER LITERAL
4 CHARACTER LITERAL
4 CHARACTER LITERAL
FILLER
'!' or '2'
'5'
* This record format is used for both card 1 and card 2, Column 79 indicating
which card of the set.
3-150
-------
Table 3.5-f. ASGRID Allocation Factors File
Allocation Factor Card*
RECORD POSITION
FIRST
1
3
7
11
15
19
23
27
31
35
39
43
47
51
55
59
63
67
71
75
79
80
LAST
2
6
10
14
18
22
26
30
34
38
42
46
50
54
58
62
66
70
74
78
79
80
LENGTH
2
4
4
4
4
4
4
4
4
4
4
4
4
4
4
4
4
4
4
4
1
1
DATA ITEM
PICTURE
X(2)
X(4)
9(4)
9(4)
V9(4)
V9(4)
V9(4)
V9(4)
V9(4)
V9(4)
V9(4)
V9(4)
V9(4)
V9(4)
V9(4)
V9(4)
V9(4)
V9(4)
V9(4)
X(4)
X(D
X(D
DESCRIPTION
STATE CODE
COUNTY CODE
GRID COLUMN NUMBER
GRID ROW NUMBER
ALLOCATION FACTOR
ALLOCATION FACTOR
ALLOCATION FACTOR
ALLOCATION FACTOR
ALLOCATION FACTOR
ALLOCATION FACTOR
ALLOCATION FACTOR
ALLOCATION FACTOR
ALLOCATION FACTOR
ALLOCATION FACTOR
ALLOCATION FACTOR
ALLOCATION FACTOR
ALLOCATION FACTOR
ALLOCATION FACTOR
ALLOCATION FACTOR
FILLER
'!' or '2'
V
* This record format is used for both card 1 and card 2, column 79 indicating
which card of the set.
3-151
-------
This card image file contains a time interval packet for each hour to be
modeled. The first card of each packet contains the literal "TIME INTERVAL";
the second card contains the beginning and ending year and day in Julian format
and beginning and ending hours in military (24-hour) format; the third card
contains the literal "GRID VALUES". The emissions values cards follow next and
contain the literal "AREA", emissions specie name left-justified, the grid
column and row number right-justified, and one emissions value right-justified.
There will be 10 cards per grid and a packet containing data for all grids for
each selected hour. At the end of the first hour, the two packet trailer cards
follow, with the literal "END", indicating the "GRID VALUES" end, on the first
card and "ENDTIME", indicating the packet end, on the second. Tables 3.5-g
through 3.5-1 describe the record formats for this file.
3.5.5 Report Description
There are three reports generated by ASGRID:
. Allocation Factor Input Report
. Diagnostic and Input Report
. Emissions Summary Report
a) Allocation Factor Input Report. This report contains a listing of each
allocation factor record used in the processing of data; the grid row and column
numbers are included along with the corresponding set of factor values. The
factor names records found at the beginning of the allocation factor file
contain the names used as headers for the columns on each page. There are 30
factor names and 30 allocation factors; therefore, there is a double-lined
column header with 15 factor names on each line as well as 2 lines of 15
allocation factors each per grid. The first header line contains the names for
the first printed line of allocation factors, and the second header line for the
second printed line of factors.
b) Diagnostic and Input Report. This report describes the user's selection
request from the control card and the actual data to be used by ASGRID; the
state and county ID of each area source processed from the Hourly Source/
3-152
-------
Table 3.5-g. ASGRID Time Interval/Grid Values Packet File
Time Interval Header Card
RECORD POSITION
FIRST
1
14
LAST
13
80
LENGTH
13
67
DATA ITEM
PICTURE
X(13)
X(67)
DESCRIPTION
'TIME INTERVAL1
FILLER
3-153
-------
Table 3.5-h. ASGRID Time Interval/Grid Values Packet File
Time Interval Card
RECORD POSITION
FIRST
1
11
21
31
41
LAST
10
20
30
40
80
LENGTH
10
10
10
10
40
DATA ITEM
PICTURE
9(10)
9(10)
9(10)
9(10)
X(40)
DESCRIPTION
BEGINNING DATE
(JULIAN)
BEGINNING TIME
(MILITARY)
ENDING DATE (JULIAN)
ENDING TIME (MILITARY)
FILLER
3-154
-------
Table 3.5-i. ASGRID Time Interval/Grid Values Packet File
Grid Values Packet Header Card
RECORD POSITION
FIRST
1
13
33
LAST
12
32
80
LENGTH
12
20
48
DATA ITEM
PICTURE
. X(12)
X(20)
X(48)
DESCRIPTION
'GRID VALUES'
FILLER
FROM PROJECTION FILE
SEGMENT 0 POSITIONS
46-80
3-155
-------
Table 3.5-j. ASGRID Time Interval/Grid Values Packet File
Grid Values Emissions Card
RECORD POSITION
FIRST
1
11
21
31
41
51
LAST
10
20
30
40
50
80
LENGTH
10
10
10
10
10
30
DATA ITEM
PICTURE
X(10)
X(10)
x(io)
X(10)
X(10)
X(30)
DESCRIPTION
'AREA'
POLLUTANT NAME
INDEX ON GRID,
COUNTING FROM LEFT
COL=1
INDEX ON GRID,
COUNTING FROM BOTTOM
ROW=1
EMISSION RATE,
gm-moles/hr
FILLER
3-156
-------
Table 3.5-k. ASGRID Time Interval/Grid Values Packet File
Grid Values Terminator Card
RECORD POSITION
FIRST
1
4
LAST
3
80
LENGTH
3
77
DATA ITEM
PICTURE
. X(3)
X(77)
DESCRIPTION
'END1
FILLER
3-157
-------
Table 3.5-1.
ASGRID Time Interval/Grid Values Packet File
Time Interval Terminator Card
RECORD POSITION
FIRST
1
8
LAST
7
80
LENGTH
7
73
DATA ITEM
PICTURE
X(7)
X(73)
DESCRIPTION
'ENDTIME'
FILLER
3-158
-------
Emissions File, followed by a listing of the allocation factor selection records
for the state/county ID to allow the user to see the allocation factors chosen
and the area source category assigned as well any as error messages pertaining
to the processing of that record. Other error messages pertaining to the run
are printed as they occur; an audit trail which contains a count of records
skipped, processed and generated and a count of each error level encountered
ends the report.
c) Emissions Summary Report. This report is optional because of its
potentially large volume and the need to sort the intermediate file to
generate it; the option indicator is on the control card. The report contains
emissions data sorted and summed by day, emissions species, and grid, and
printed by grid with each emissions name as a column header. There is a group
of pages generated with one grid per line for each day selected with each
having day totals.
3.5.6 Diagnostic Messages
Diagnostic messages have been incorporated into the system to inform the
user of data problems during execution of the program. There are five
categories of diagnostic messages and the name of the appropriate category
is printed in each message. These categories are as follows:
a) WARNING. A warning-category error does not cause termination
of program execution or rejection of input data, but informs
the user of an aspect of input data which may warrant his
attention.
b) CONDITIONAL. A conditional-category error does not cause
termination of program execution or rejection of input data.
It informs the user that an entry in the input data may be in
error and should be examined and verified.
3-159
-------
c) ERROR. An error-category error does not cause termination of
program execution; however, the input data in which the error
is detected is rejected.
d) ABORT. An abort-category error causes termination of program
execution. The user can recover from an abort by correcting
the condition(s) that caused the abort.
e) DISASTER. This message generally indicates a problem that the
user will need assistance in correcting, such as data files
incorrectly ordered or structured.
These diagnostic messages are listed in Table 3.5-m.
3-160
-------
Table 3.5-m. ASGRID Diagnostic Messages
***ASGRID 001 ABORT - INVALID DATA FOR DAY-SELECTION CONTROL CARD
Day and hour data on the control card are checked for valid ranges of 1-4
and 1-24, respectively. Out of range data will generate this message and
the run will be terminated.
***ASGRID 002 ABORT - DATA NOT AVAILABLE FOR # OF DAYS SELECTED
The parameter, NO-OF-DAYS-SEL, on the control card indicates the number
of days worth of data the user has selected. If the number indicated is
greater or less than the actual amount of data available on the control
card, this message is generated and the run is terminated.
***ASGRID 003 ABORT - DAY/HOUR SELECTION CARD NOT FOUND
If the control card has been omitted from the control file, this message
is generated and the run is terminated.
***ASGRID 004 ERROR - END OF FILE ENCOUNTERED ON EIS-OLDMST FILE - ALLOCATION
DATA RECORDS REJECTED
If an end of file condition is encountered on the Hourly Source/ Emissions
File but not on the allocation factor file, this message is generated and
the remaining allocation factor records are rejected; the run continues.
***ASGRID 005 ERROR - END OF FILE ON CONTROL OR ALLOCATION FILES BUT NOT ON
EIS FILE - DATA REJECTED
If an END-OF-FILE condition is encountered on the allocation factor file or
the control file but not on the Hourly Source/Emissions File, this message
is generated and the remaining records are rejected; the run continues.
***ASGRID 006 DISASTER - EIS MASTER FILE RECORD NOT FOUND FOR ABOVE ALLOCATION
FACTOR RECORD
There must be an Hourly Source/Emissions File area source record
corresponding to every allocation factor record. If an Hourly Source/
Emissions File record is not found, this message is generated and the run
is terminated. User should contact the creator of the allocation factor
file for help in correcting the problem.
***ASGRID 007 ERROR - NO SEGMENT 3 RECORDS FOUND FOR ABOVE ALLOCATION FACTOR
RECORD
If the Segment 0 record from the Hourly Source/Emissions File that
matched with the allocation factor record does not have any Segment 3
3-161
-------
Table 3.5-m - continued. ASGRID Diagnostic Messages
record(s), this message is generated and the allocation factor record is
rejected.
***ASGRID 008 DISASTER - MISSING ALLOCATION FACTOR CARD - CARD 1 AND 2
REQUIRED
Both allocation factor records 1 and 2 must be present. If one is
missing, this message is generated and the run is terminated. The user
should contact the creator of the allocation factor file for help in
correcting the problem.
***ASGRID 009 ABORT - DATA ON ALLOCATION SELECTION CARD OUT OF RANGE
The data on the allocation factor selection record is checked for a valid
range of 1-30. If an invalid value is detected, this message is
generated and the run is terminated.
***ASGRID 010 CONDITIONAL - ALLOCATION FACTOR NAMES CARDS MISSING
The allocation names records 1 and 2 should be the first 2 records of the
allocation factor file. If they are not, this message is generated; the
run continues.
***ASGRID Oil ERROR - END OF FILE ENCOUNTERED ON CONTROL FILE BUT NOT
ALLOCATION FILE - DATA REJECTED
***ASGRID 012 ERROR - END OF FILE ENCOUNTERED ON ALLOCATION FILE BUT NOT
CONTROL FILE - DATA REJECTED
An END-OF-FILE condition should be detected simultaneously for the
control file and the allocation factor file. If it is not detected for
both, one of these 2 messages is generated, depending on which end of
file was not encountered, and the remaining data in that file is
rejected.
***ASGRID 013 ABORT - NO CONTROL CARD FOUND FOR ABOVE ALLOC. FACTOR CARD
There must be an allocation factor selection record from the control file
for every area source (county). If there is not a match, this message is
generated and the run is terminated.
***ASGRID 014 CONDITIONAL - AT LEAST ONE ALLOCATION FACTOR SUM DID NOT EQUAL 1
FOR ABOVE COUNTY
This message is generated on the Allocation Factor Input Report when a
county sum of allocation factors is found that does not equal 1. It will
3-162
-------
Table 3.5-m - continued. ASGRID Diagnostic Messages
be generated only on the first occurance for a county, although there may
be more than one occurance of a sum not equal to 1.
***ASGRID 015 CONDITIONAL - OVERFLOW IN SUMMARY REPORT VALUES
If any sum on the summary report exceeds the format size of the
identifier that contains the sum, this message is generated. The results
from the summation will be unpredictable.
3-163
-------
4. REFERENCES
1. Comprehensive Data Handling System, Emissions Inventory/Permits
and Registrations Subsystem (EIS/P&R) Program Documentation and
Users Guide. EPA-450/3-74-045-a, February 1975.
2. Taback, H. J., et. al., Volatile Organic Compound (VOC) Species Data
Manual, EPA-450/3-78-119, KVB Engineering, Inc., Tustin, California,
December 1978.
3. Milligan, R. J., et. al., Review of NOv^_Emission Factors for
Stationary Combustion Sources, EPA-450/4-79-021, Acurex Corporation,
Mountain View, California, 1979.
4-1
-------
APPENDIX A
PROGRAM SOURCE LISTINGS
-------
TABLE OF CONTENTS
Control Measures and Growth Projection (CMGROW) Program A-5
Temporal and Pollutant Split (TPSPLIT) Program A-44
Major/Minor Point Source Division/Model Conversion (PSCONV)
Program A-118
Area Source Gridding and Model Conversion (ASGRID) Program A-170
A-3
-------
IDENTIFICATION DIVISION.
PROGRAM-ID. CMGROW.
AUTHOR. RESEARCH TRIANGLE INSTITUTE.
DATE-WRITTEN. MAY 5, 1980.
REVISION LEVEL 1-00.
REMARKS. PROJECTS EMISSIONS FOR EIS/PER.
ENVIRONMENT DIVISION.
CONFIGURATION SECTION.
SOURCE-COMPUTER. IBM-370.
OBJECT-COMPUTER. IBM-370.
SPECIAL-NAMES. PAGE IS TO-NEW-PAGE.
INPUT-OUTPUT SECTION.
FILE-CONTROL.
SELECT OPTIONAL PNR-MASTER-IN-FILE
ASSIGN TO MASS-STORAGE PNKMSIN.
SELECT PNR-MASTER-PROJ-FILE
ASSIGN TO MASS-STORAGE PNRMSPRJ.
SELECT OPTIONAL OPTIONS-FILE
ASSIGN TO CARD-READER PNROPTIN.
SELECT PRINT-FILE
ASSIGN TO PRINTER PNRPRINT.
SELECT REPORT-FILE
ASSIGN TO PRINTER PNREPORT.
SELECT OPTIONAL CONTROL-FILE
ASSIGN TO CARD-READER PNRCNTR.
SELECT OPTIONAL GROWTH-FILE
ASSIGN TO CARD-READER PNRGRWTH.
SELECT TEMP-CNTL-FILE
ASSIGN TO MASS-STORAGE PNRTMCF.
SELECT TEMP-GRWTH-FILE
ASSIGN TO MASS-STORAGE PNRTMGF.
SELECT SORT-CNTL-FILE
ASSIGN TO MASS-STORAGE XA.
SELECT SORT-GRWTH-FILE
ASSIGN TO MASS-STORAGE XB.
DATA DIVISION.
FILE SECTION.
FD
01
PNR-MASTER-PROJ-FILE
LABEL RECORD IS STANDARD.
OUT-MAST1.
02 FILLER PIC XC130).
02 OUT-NBR-OF-POLLUTANTS PIC 99.
02 OUT-MAST-RPT1 OCCURS 1 TO 16 TIMES
DEPENDING ON OUT-NBR-OF-POLLUTANTS.
03 FILLER PIC X(45).
01
OUT-MAST2.
02 FILLER
02 OUT-SCC
02 FILLER
02 OUT-NBR-OF-EF
02 OUT-MAST-RPT2
DEPENDING ON OUT-NBR-OF-EF.
03 FILLER PIC XC16).
PIC X(23).
PIC X(8).
PIC X(59).
PIC 99.
OCCURS 1 TO 16 TIMES
01
OUT-MASTO.
02 OUT-KEY.
88 OUT-KEY-ZERO VALUE ZEROS.
03 OUT-KEY-1.
04 OUT-KEY-2.
05 OUT-KEY-3.
06 OUT-KEY-* PIC XX.
06 FILLER PIC XXXX.
05 FILLER PIC XXX.
04 FILLER PIC XXXX.
02 OUT-DATE
PIC 9(5).
OOOGC010
COOC0020
00003030
00000040
00000050
00000060
00000070
coooooso
00000090
00000100
00000110
00000120
COG00130
00000140
00000150
00000160
00000170
00000180
00000190
00000200
00000210
00000220
00000230
00000240
00000250
00000260
00000270
OOOGC230
OOOOC290
OOOC03CO
00000310
00000320
00000330
00000340
00000350
OOOC0360
00000370
00000380
C0000390
00000400
OOOC0410
00000420
00000410
00000440
00000450
00000460
00000470
00000430
00000490
00000500
00000510
OOOOOC20
00000530
00000540
00000550
00000560
00000570
OOOC0380
00000590
OOOOOSOC
00003610
00000620
OC000630
00000640
00000650
00000660
00000670
00000630
00003690
00000700
OOC00710
00000720
00000730
00000740
00000750
A-5
-------
02
02
OUT-SEG
88 OUT-SE6-0
88 OUT-SEG-1
88 OUT-SEG-2
88 OUT-SEG-3
FILLER
01 OUT-MAST3.
02 FILLER
02 OUT-MAST3-KEY
02 FILLER
PIC 9.
VALUE 0.
VALUE 1.
VALUE 2.
VALUE 3.
PIC XC169).
PIC X(26).
PIC X(4).
PIC X(98).
FD PNR-MASTER-IN-FILE
LABEL RECORD IS STANDARD.
01 IN-MAST1.
02 FILLER PIC XU30).
02 IN-NBR-OF-POLLUTANTS PIC 99.
02 IN-MAST-RPT1 OCCURS 1 TO 16 TIKES
DEPENDING ON IN-NBR-OF-POLLUTANTS.
03 FILLER PIC X(45).
01
IN-MAST2.
02 FILLER
02 IN-POINT
02 FILLER
02 IN-SCC
02 FILLER
02 IN-NBR-OF-EF
02 IN-MAST-RPT2
PIC XU9).
PIC XX.
PIC XX.
PIC X(8).
PIC X(59).
PIC 99.
OCCURS 1 TO
DEPENDING ON IN-NBR-OF-EF.
01
03 FILLER
IN-MASTO.
02 IN-KEY.
88 IN-KEY-ZERO
03 IN-KEY-1.
04 IN-KEY-2.
05 IN-KEY-3.
PIC X(16).
VALUE ZEROS.
06 IN-KEY-4 PIC XX.
01
FD
01
06 FILLER
05 FILLER
04 IN-PLANT
02 IN-DATE
02 IN-SEG
88 IN-SEG-0
88 IN-SEG-1
88 IN-SEG-2
88 IN-SEG-3
02 FILLER
02 IN-SIC
02 FILLER
IN-MAST3.
02 FILLER
02 IN-MAST3-KEY
02 FILLER
OPTIONS-FILE
LABEL RECORDS ARE OMITTED.
OPTION-CAROL
PIC XXXX.
PIC XXX.
PIC XXXX.
PIC 9(5).
PIC 9.
VALUE 0.
VALUE 1.
VALUE 2.
VALUE 3.
PIC X(7).
PIC X(4).
PIC X(158).
PIC X(26).
PIC X(4).
PIC X(98).
16 TIMES
02 OPT-LINE-NBR PIC XX.
88 OPT-LINE-IS-AA VALUE 'AA1.
02 OPT-AREA.
03 OPT-LINE-ID PIC X(14).
03 OPT-SCC-AREA.
04 OPT-SCC OCCURS 8 TIMES PIC X(8).
02 OPT-AREA2 REDEFINES OPT-AREA.
03 OPT-DATE PIC X(5).
03 OPT-HEADER PIC X(73).
FD PRINT-FILE
00000760
00000770
00000780
00000790
OOOOC300
00000810
C0000820
00000330
00000840
OOOOC850
00000360
00000370
00000880
00000690
00000900
00000910
C0000920
OCOC093G
00000940
00000950
00000960
00000970
00000980
00000990
00001000
00001010
0000X020
00001030
00001040
00001050
00001060
00001070
00001080
00001090
00001100
00001110
00001120
00001130
00001140
00001150
00001160
00001170
00001180
00001190
00001200
OOOOlclO
00001220
00001230
00001240
00001250
C0001260
00001270
00001230
00001293
00001300
00001310
00001320
00001330
00001340
00001350
OOC01360
00001370
00001ZSO
00001390
00001400
00001410
00001420
00001430
00001440
00001450
00001460
00001470
OCC014SO
00001490
00001500
OC001510
00001520
A-6
-------
01
*
FD
01
*
FD
01
FD
01
FD
01
FD
01
SO
01
SD
01
LABEL RECORDS ARE OMITTED.
PRINT-LINE.
02 FILLER PIC X.
02 PRINT-DATA PIC X(132).
REPORT-FILE
LABEL RECORDS ARE OMITTED.
REPORT-LINE.
02 FILLER PIC X.
02 REPORT-DATA PIC XU32).
CONTROL-FILE
LABEL RECORD IS OMITTED.
CONTROL-RECORDl PIC X(80).
GROWTH-FILE
LABEL RECORD IS OMITTED.
GROWTH-RECORDl PIC X(80).
TEMP-CNTL-FILE
LABEL RECORD IS OMITTED.
TEMP-CNTL-RECORD PIC X(752).
TEMP-GRWTH-FILE
LABEL RECORD IS OMITTED.
TEMP-GRWTH-RECORD PIC XC208).
SORT-CNTL-FILE.
SORT-CNTL-RECORD.
02 SORT-CNTL-KEY.
03 SORT-CNTL-KEY-3.
04 SORT-CNTL-STATE PIC XX.
0* SORT-CNTL-COUNTY PIC X<4).
03 SORT-CNTL-PLT-PNT.
04 SORT-CNTL-PLANT PIC XC4).
04 SORT-CNTL-POINT PIC XX.
03 SORT-CNTL-SCC PIC X(8).
03 SORT-CNTL-SIC PIC X<4).
02 SORT-CNTL-CF-AREA PIC X(36).
SORT-GRWTH-FILE.
SORT-GRWTH-RECORD.
02 SORT-GRWTH-KEY.
03 SORT-GRWTH-KEY-3.
04 SORT-GRWTH-STATE PIC XX.
04 SORT-GRWTH-COUNTY PIC XC4).
03 SORT-GRWTH-PLT-PNT.
04 SORT-GRWTH-PLANT PIC XC4).
04 SORT-GRWTH-POINT PIC XX.
03 SORT-GRWTH-SCC PIC X(8).
03 SORT-GRWTH-SIC PIC X(4).
02 SORT-GRWTH-GROW PIC X(4).
02 SORT-GRMTH-GROW-N REDEFINES SORT-GRWTH-GROW
WORKING-STORAGE SECTION.
77
-
77
77
77
77
77
77
77
77
77
FIRST-CORE-MSG PIC X(27) VALUE '
'AGE BEGINS HERE1
FALSE PIC 9 VALUE 0.
TRUE PIC 9 VALUE 1.
SW-ON PIC 9 VALUE 1.
SM-OFF PIC 9 VALUE 0.
ERROR-FUG-S PIC X VALUE 'S1.
ERROR-FLAG-E PIC X VALUE '£'.
ERROR-FLAG-M PIC X VALUE •»• .
LINE-CTR PIC 99 COMP SYNC
LINE-CTR-R PIC 99 COMP SYNC
00001530
00001540
00001350
00001560
00001570
00001580
OCOOI590
00001600
00001610
00001620
00001630
00001640
00001650
00001663
00001670
00001660
00001690
00001700
00001710
00001720
00001730
00001740
00001750
00001760
00001770
00001730
00001790
00001800
00001810
00001320
00001330
00001340
COC01850
ooooieso
00001370
00001830
00001893
00001900
00001910
00001920
00001930
OOC01940
00001950
00001960
00001970
00001980
00001990
OOOC2000
00002C10
03002020
00002030
00002040
00002050
00002060
00002070
OOOOc.080
00002090
00002100
00002110
PIC 9V999. 00002120
00002130
00002140
00002150
00002160
00002170
OOOC2180
WORKING STOROOOC2150
00002200
00002210
OOOC2220
00002230
CC002240
00002250
OOCG2260
OCOC2270
VALUE 54. 00002280
VALUE 54. 00002290
A-7
-------
77
77
77
77
77
77
77
77
77
77
77
77
77
77
77
77
77
77
77
77
77
77
77
77
77
77
77
77
77
77
77
77
77
77
77
77
77
77
77
77
77
77
77
77
77
77
77
77
77
77
77
77
77
77
77
77
77
77
77
77
77
77
77
77
77
77
77
77
77
77
77
LINE-MAX
LINE-SKIP
PAGE-NO
PAGE-NO-R
ERROR-CODE
PRINT-SAVE
CALC-SUB
POLL-S-SUB
POLL-SUB
SET2-SUB
OPT-SUB
A-ASH
S-SULFUR
POUHDS-PER-TON
MAX-CARD1
MAX-CARD 3
BINARY-1
BINARY-E
BINARY-3
BINARY-"*
BINARY-5
BINARY-7
BINARY-8
BINARY-9
BINARY-10
BINARY-27
BINARY-50
BINARY-51
BINARY-52
BINARY-53
BINARY-100
HOLD-EST-METH
HDR-SUB
NEW-PAGE
SUB
SUB-MAX
SUB-B
SUB- LOU
SUB-MID
SUB-HI
SUB-P
SUB-A
SUB-L
SUB-C
LIT-REGION
LIT-SUM PIC X(27) VALUE
LIT-DIAG PIC X(27) VALUE
SUB2
SUB3
CONTENT-PER
CNTL-SUB
GRWTH-SUB
SCC-SUB
SUB1
POLL-ID-CHECK
88 POLL-ID-TSP
88 POLL-ID-CO
88 POLL-ID-S02
88 POLL-ID-NOX
88 POLL-IO-HC
ERR-1
ERR-2
ERR-3
ERR-*
ERR-5
ERR-6
ERR-7
ERR-8
ERR-9
ERR-10
ERR-11
ERR-12
ERR-13
ERR-14
ERR-15
ERR-16
PIC 99 COMP SYNC VALUE 53. 00002300
PIC 9 COMP SYNC VALUE 1. 00002310
PIC 9(5) COMP SYNC VALUE 1. OOC02320
PIC 9(5) COMP SYNC VALUE 1. 00002330
PIC 99 COMP SYNC VALUE 0. OC002340
PIC XU32) VALUE SPACE. 00002350
PIC 99 COMP SYNC. OOOC2350
PIC 99 COMP SYNC. 00002370
PIC 99 CCMP SYNC. 00002330
PIC 99 CCMP SYNC. OG002390
PIC 999 COMP SYNC. 00002400
PIC X VALUE 'A'. 00002410
PIC X VALUE 'S'. 00002420
PIC 9(4) COMP SYNC VALUE 2000.00002430
PIC 99 VALUE 16. C0002440
PIC 99 VALUE 16. 00002450
PIC 99 COMP SYNC VALUE 1. 00002460
PIC 99 COMP SYNC VALUE 2. 00002470
PIC 99 COMP SYNC VALUE 3. 00002480
PIC 99 COMP SYNC VALUE 4. C0002490
PIC 99 COMP SYNC VALUE 5. 00002530
PIC 99 COMP SYNC VALUE 7. 00002510
PIC 99 COMP SYNC VALUE 8. 00002520
PIC 99 COMP SYNC VALUE 9. OC002530
PIC 99 COMP SYNC VALUE 10. 00002540
PIC 99 COMP SYNC VALUE 27. 00002550
PIC 99 COMP SYNC VALUE 50. 00002560
PIC 99 COMP SYNC VALUE 51. 00002570
PIC 99 COMP SYNC VALUE 52. 00002580
PIC 99 COMP SYNC VALUE 53. 00002590
PIC 999 COMP SYNC VALUE 100. 00002600
PIC 9. 00002610
PIC 99 COMP SYNC VALUE 1. 00002620
PIC 9 VALUE 9. 00002630
PIC 999 COMP SYNC. 00002640
PIC 999 COMP SYNC. 00002650
PIC 99 COMP SYNC. 00002660
PIC 999 COMP SYNC. 00002670
PIC 999 COMP SYNC. 00002630
PIC 999 COMP SYNC. OOC02690
PIC 999 COMP SYNC. . 00002700
PIC 99 COMP SYNC. OOOC2710
PIC 99 COMP SYNC. 00002720
PIC 99 COMP SYNC. 00302730
PIC X(16) VALUE 00002740
'REGIONAL SUMMARY1. 00002750
EMISSIONS SUMMARY REPORT1. 00002760
'DIAGNOSTIC AND INPUT REPORT'. 00002770
PIC 9 COMP SYNC. 00002780
PIC 9 COMP SYNC. 00002790
PIC S999V999 COMP SYNC. OOOOC800
PIC 999 COMP SYNC VALUE 0. 00002810
PIC 999 COMP SYNC VALUE 0. 00002320
PIC 999 COMP SYNC VALUE 0. OOC02S30
PIC 99 COMP SYNC VALUE 0. OOOOC840
PIC X(5) VALUE SPACE. 00002853
VALUE '11101'. 00002860
VALUE '42101'. 00002870
VALUE '42401'. 000023SO
VALUE '42602'. 00002890
VALUE '43101'. 00002900
PIC 99 COMP SYNC VALUE 1. 0000291C
PIC 99 COMP SYNC VALUE 2. 00002920
PIC 99 COMP SYNC VALUE 3. 00002930
PIC 99 COMP SYNC VALUE 4. 00002940
PIC 99 COMP SYNC VALUE 5. 00002950
PIC 99 COMP SYNC VALUE 6. 00002960
PIC 99 COMP SYNC VALUE 7. 00002970
PIC 99 COMP SYNC VALUE 8. 00002980
PIC 99 COMP SYNC VALUE 9. 00002990
PIC 99 COMP SYNC VALUE 10. 00003000
PIC 99 COMP SYNC VALUE 11. 00003010
PIC 99 COMP SYNC VALUE 12. OOOOS020
PIC 99 COMP SYNC VALUE 13. 00003030
PIC 99 CCMP SYNC VALUE 14. 00003040
PIC 99 COMP SYNC VALUE 15. OOC03C50
PIC 99 COMP SYNC VALUE 16. 00033060
A-8
-------
77
77
77
77
77
77
77
77
77
77
77
77
77
77
77
77
77
77
77
77
77
77
77
77
77
77
77
77
01
ERR-17 PIC 99 COMP SYNC VALUE 17.
ERR-18 PIC 99 COMP SYNC VALUE 18.
ERR-19 PIC 99 COMP SYNC VALUE 19.
ERR-20 PIC 99 COMP SYNC VALUE 20.
ERR-21 PIC 99 COMP SYNC VALUE 21.
ERR-22 PIC 99 COMP SYNC VALUE 22.
ERR-23 PIC 99 COUP SYNC VALUE 23.
ERR-24 PIC 99 COMP SYNC VALUE 24.
ERR-25 PIC 99 COMP SYNC VALUE 25.
ERR-26 PIC 99 COMP SYNC VALUE 26.
ERR-27 PIC 99 COMP SYNC VALUE 27.
ERR-28 PIC 99 COMP SYNC VALUE 28.
POINT-001 PIC V999 VALUE .001.
MINUS-1 PIC S9 COMP SYNC VALUE -1.
LIT-OTHER PIC X(5) VALUE 'OTHES1.
LIT-TOTAL PIC X(5) VALUE 'TOTAL1.
INPUT-CNTL-COUNT PIC 9(7) COMP SYNC VALUE 0.
INPUT-GRWTH-COUNT PIC 9(7) COMP SYNC VALUE 0.
OPT-TBL-MAX PIC 999 VALUE 50.
CNTL-TABLE-MAX PIC 999 VALUE -300.
GRWTH-TABLE-MAX PIC 999 VALUE 300.
SAVE-SORT-CNTL-KEY PIC X(24) VALUE SPACES.
SAVE-SORT-GRWTH-KEY PIC X(24) VALUE SPACES.
HOLD-OPTION-DATE PIC X(5) VALUE '81100'.
HOLO-SEGO-INFO PIC X(35) VALUE
•PUNT PROCESSED BY CMGROW .
SUM-98 PIC 9(8)V999 VALUE 0.
SUM-102 PIC 9(8)V999 VALUE 0.
NBR-999 PIC 999 VALUE 999.
CONTROL-SWITCHES.
02 SMS.
03 SORT-CNTL-EOF-SW PIC 9 VALUE 0.
88 SORT-CNTL-EOF VALUE 1.
03 SORT-GRWTH-EOF-SW PIC 9 VALUE 0.
88 SORT-GRWTH-EOF VALUE 1.
03 GROWTH-FILE-EOF-SW PIC 9 VALUE 0.
88 GROWTH-FILE-EOF VALUE 1.
03 CONTROL-FILE-EOF-SW PIC 9 VALUE 0.
88 CONTROL-FILE-EOF VALUE 1.
03 BAD-INIT-POINT-SW PIC 9 VALUE 0.
88 BAD-INIT-POINT VALUE 1.
03 VALID-RECORD-SW PIC 9 VALUE 0.
88 VALID-RECORD VALUE 1.
03 TEMP-GRWTH-EOF-SW PIC 9 VALUE 0.
88 TEMP-GRWTH-EOF VALUE 1.
03 TEMP-CNTL-EOF-SW PIC 9 VALUE 0.
88 TEMP-CNTL-EOF VALUE 1.
03 OPT-SCC-OK-SW PIC 9 VALUE 0.
88 OPT-SCC-OK VALUE 1.
03 OPTIONS-EOF-SW PIC 9 VALUE 0.
88 OPTIONS-EOF VALUE IS 1.
03 END-OF-JOB-SW PIC 9 VALUE 0.
88 END-OF-JOB VALUE IS 1.
03 ERROR-SEVERITY-SW PIC 9 VALUE 0.
88 ERROR-IS-WARNING VALUE IS 1.
88 ERROR-IS-SERIOUS VALUE IS 2.
03 END-OF-FILE-SW PIC 9 VALUE 0.
88 END-OF-FILE VALUE IS 1.
03 BYPASS-CALC-SW PIC 9 VALUE 0.
88 BYPASS-CALC VALUE IS 1.
03 SIZE-ERROR-SW PIC 9 VALUE 0.
88 SIZE-ERROR VALUE IS 1.
03 OPTIONS- SCC-FOUND-SW PIC 9 VALUE 0.
88 OPTIONS-SCC-FOUND VALUE IS 1.
03 END-SEARCH-SW PIC 9 VALUE 0.
88 END-SEARCH VALUE IS 1.
03 END-SEARCH1-SW PIC 9 VALUE 0.
88 END-SEARCHl VALUE IS 1.
03 FOUND-FIRST-SCC-SW PIC 9 VALUE 0.
88 FOUHD-FIRST-SCC VALUE 1.
03 FINAL-CALC-SW PIC 9 VALUE 0.
88 FINAL-CALC VALUE 1.
03 MASTER-REAOY-SW PIC 9 VALUE 0.
88 MASTER-READY VALUE 1.
03 LAST-RECORD-SW PIC 9 VALUE 0.
00003070
00003030
00003090
00003100
00003110
00003120
00003130
00003140
00003150
00003160
00003170
00003180
00003190
OC0032CO
00003210
00003220
00003230
00003240
00003250
00003260
00003270
00003280
OC003290
OC003300
00003310
00003320
00003330
00003340
00003350
0000336C
00003370
00003360
00003390
00003400
00003410
00003420
00003430
00003440
00003450
00003460
00003470
00003480
00003490
00003500
00003510
00003320
00003530
00003540
00003550
OC003560
00003570
00003530
00003590
00003600
00003610
00003620
00003630
00003640
00003650
00003660
00003670
OC003630
00003690
00003700
OC003710
00003720
00003730
00003740
00003750
OOC03760
00003770
00003700
OC.C03790
C0003800
00003810
00003820
00003830
A-9
-------
03
03
03
03
03
03
03
03
03
03
03
03
88 LAST-SEGO
88 LAST-SEG1
88 UST-SEG2
88 LAST-SEG3
ESTIMATE-CHAMGED-SM
88 ESTIMATE-CHANGED
SEG2-PRESENT-SW
88 SEG2-PRESENT
POINT-BAD -OUTPUT-SW
88 POINT-BAD-OUTPUT
MSTR-RATE-CHANGED-SW
88 MSTR-RATE-CHANGED
PUNT-FOUND-SW
88 PLANT-FOUND
NO-PLANT-SW
88 NO-PLANT '
FIRST-TIME-SW
88 FIRST-TIME
FIRST-EF-SW
88 FIRST-EF
FIRST-KEY-ERROR-SM
88 FIRST-KEY-ERROR
READ-SW
88 READ-SW-ON
POINT-CHAKGEO-SW
88 POINT-CHANGED
VALUE 0.
VALUE 1.
VALUE 2.
VALUE 3.
PIC 9 VALUE 0.
VALUE 1.
PIC 9 VALUE 0.
VALUE 1.
PIC 9 VALUE 0.
VALUE 1.
PIC 9 VALUE 0.
VALUE 1.
PIC 9 VALUE 0.
VALUE 1.
PIC 9 VALUE 0.
VALUE 1.
PIC 9 VALUE 0.
VALUE 1.
PIC 9 VALUE 0.
VALUE 1.
PIC 9 VALUE 0.
VALUE 1.
PIC 9 VALUE 0.
VALUE 1.
PIC 9 VALUE 0.
VALUE 1.
FIRST-ERROR-FOR-POINT-SW PIC 9 VALUE
88 FIRST-ERROR-FOR-POINT VALUE 1.
02 SWS-R REDEFINES SMS.
.03 ALL-SWITCHES-1 PIC 9(18).
03 ALL-SWITCHES-2 PIC 9(16).
01 WS-MASTER-RECORD.
02 MSTR-FIXED-SEGMENT.
03 MSTR-SEGMENT-KEY.
0* MSTR-STATE
04 MSTR-COUNTY
04 MSTR-AQCR
04 MSTR-PLANT-ID
PIC
PIC
PIC
PIC
99.
9999.
999.
9999.
VALUE
04
04
04
04
04
88 AREA-SOURCE-RECORD
03 MSTR-DATE-OF-SEGMENT.
04 MSTR-YEAR PIC
04 MSTR-DAY-OF-YEAR FIC
03 MSTR-SEGMENT-ID PIC
03 MSTR-SUB-SEGMENT-01.
04 MSTR-USER-CONTROL-REGION
MSTR-LOCAL-CONTROL
MSTR-USER-PLANT-ID
MSTR-CITY
MSTR-UTM-ZONE
MSTR-OWNER
04 MSTR-INFO-AREA.
05 MSTR-CONTACT
05 MSTR-TELEPHONE
05 MSTR-PRINCIPAL-PRODUCT
03 MSTR-SUB-SEGMENT-02.
04 MSTR-ESTABLISHMENT PIC X(43).
04 MSTR-NUNBER-OF-EMPLOYEES PIC XXXX.
04 MSTR-PROPERTY-AREA PIC X(6).
03 MSTR-SUB-SEGMENT-03.
04 MSTR-MAILING-ADDRESS PIC X(48).
03 FILLER PIC X(666).
02 MSTR-POINT-SOURCE REDEFINES MSTR-FIXED-SEGMENT.
0000 9999.
99.
999.
999.
PIC XXX.
PIC XX.
PIC X(12).
PIC X(4).
PIC XX.
PIC X.
PIC X(15).
PIC X(10).
PIC X(10).
03 FILLER
03 MSTR-DATE-OF-SEG-1
03 MSTR-SEGMENT
88 MSTR-SEGMENT-0
68 MSTR-SEGKENT-1
88 MSTR-SEGMENT-2
88 MSTR-SEGMENT-3
03 MSTR-SET-ID
03 MSTR-SUB-SEGKENT-11.
04 MSTR-POINT-ID.
05 MSTR-NEDS
05 MSTR-USER
04 MSTR-SIC
PIC X(13).
PIC 9(5).
PIC 9.
VALUE 0.
VALUE 1.
VALUE 2.
VALUE 3.
PIC 99.
PIC XX.
PIC XXX.
PIC XXXX.
00003340
00003350
00003860
00003870
00003S80
00003890
00003900
00003910
00003920
00003930
00003940
00003950
00003960
00003970
00003980
00003990
00004003
00004010
00004020
00004030
00004040
00004050
00004060
00004070
00004080
00004C90
00004100
00004110
00004120
00004130
00004140
00004150
00004160
00004170
00004180
OOOC4190
00004200
OOOC421C
00004220
00004230
00004240
00004250
00004260
00004270
00004280
00004290
00004300
00004310
00004320
00004330
C0004340
00004350
00004360
00004370
00004320
00004350
00004400
00004410
00304420
00004430
00004440
00004450
00004460
0000447C
00004480
00004490
03004500
00004510
00004520
00004530
00004540
OC004550
00004560
00004570
00004530
OOC04590
OOC046CO
A-10
-------
03
03
03
04 MSTR-IPP PIC XX.
04 MSTR-UTM-COORDINATES.
05 MSTR-HORIZONTAL PIC XXXX.
05 MSTR-VERTICAL PIC X(5).
04 MSTR-LATITUDE.
05 MSTR-DEGREE PIC XX.
05 MSTR-MINUTE PIC XX.
05 MSTR-SECOND PIC XX.
04 MSTR-LONGITUDE.
05 MSTR-DEGREE PIC XXX.
05 MSTR-MINUTE PIC XX.
05 MSTR-SECCND PIC XX.
04 MSTR-ANNUAL-THRUPUT.
05 MSTR-DEC-FEB PIC XX.
05 MSTR-MAR-MAY PIC XX.
05 MSTR-JUN-AUG PIC XX.
05 MSTR-SEP-NOV PIC XX.
04 MSTR-NCRMAL-OPERATING.
05 MSTR-HOURS-DAY PIC XX.
05 MSTR-DAY-WEEK PIC X.
05 MSTR-WEEK-YEAR PIC XX.
04 MSTR-BOILER-DESIGN-CAPACITY
PIC X(5).
04 MSTR-SPACE-HEAT PIC XXX.
MSTR-SU3-SEGMENT-12 .
04 MSTR-STACK-DATA.
05 MSTR-HEIGHT PIC XXXX.
05 MSTR-DIAMETER PIC XXX.
05 MSTR-TEMPERATURE PIC XXXX.
05 MSTR-FLOW-RATE PIC X(7).
05 MSTR-VELOCITY PIC X(5).
05 MSTR-PLUME PIC XXXX.
04 MSTR-POINTS-PER-STACK PIC X(4).
04 MSTR-COMPLIANCE-STATUS PIC X.
04 MSTR-COilPLIANCE-SCHEDULE.
05 MSTR-YEAR PIC XX.
05 MSTR-MONTH PIC XX.
04 MSTR-COMPLIANCE-STATUS-UPDATE.
05 MSTR-YEAR PIC XX.
05 MSTR-MONTH PIC XX.
05 MSTR-OAY-OF-MONTH PIC XX.
04 MSTR-ECAP PIC X.
04 MSTR-CONTROL-REGULATIONS.
05 MSTR-REG-1
05 MSTR-REG-2
05 MSTR-REG-3
MSTR-NSR-OF-FOLLUTANTS
MSTR-POLLUTANT-EMISSIONS
04 MSTR-POLLUTION-ID
MSTR-CNTL-EQUIP-COST
04
04
PIC XXXX.
PIC XXXX.
PIC XXXX.
PIC 99.
OCCURS 16 TIMES.
PIC X(5).
PIC 9(5)V99.
MSTR-CONTROL-EQUIPMENT.
05 MSTR-PRIMARY PIC XXX.
05 MSTR-SECON'DARY " PIC XXX.
04 MSTR-EST-CONTROL-EFF PIC V999.
04 MSTR-EMISSIONS.
05 MSTR-ESTIMATES PIC X(7).
05 MSTR-ACTUAL PIC X(7).
05 MSTR-ALLOMABLE PIC X(7).
04 MSTR-EMISSION-UNITS PIC X.
04 MSTR-ESTIMATION-METHOD PIC X.
04 MSTR-TEST-METHOD PIC X.
02 MSTR-POINT-SOURCE-R REDEFINES MSTR-FIXED-SEGMENT.
03 FILLER PIC XU30).
03 MSTR-POLLUTANT-COUNT PIC 99.
03 MSTR-EMISSION-DATA OCCURS 16 TIMES.
04 FILLER PIC X(21).
04 MSTR-ESTIMATES-R PIC 9(7).
04 FILLER PIC X(15).
04 MSTR-ESTIMATION-METHOD-R PIC 9.
04 FILLER PIC X.
02 MSTR-MACHINE-PROCESS REDEFINES MSTR-FIXED-SEGMENT.
03 FILLER
03 MSTR-DATE-OF-SEG-2
03 FILLER
03 MSTR-SEG-2-SET-ID
PIC X(13).
PIC 9(5).
PIC XXX.
PIC 99.
00004610
00004620
00004630
00004640
00004650
OOOC4660
00004670
00004680
00004690
00004700
00004710
00004720
00004730
OOC04740
OOOC4750
OOOC4760
00004770
OOOC4780
00004790
00004600
00004810
00004820
00004330
00004640
00004650
00004360
00004870
00004330
00004S90
00004900
OOOC4910
OOOC4920
00004930
OC004940
OC004950
00004950
00004970
00004930
00304990
00005000
00005010
00005020
OOC05030
00005040
OOOD5050
00005060
00005070
00005060
00005090
OC005IOO
00005110
OOC05120
00005130
00003140
00005150
OOOC5160
00005170
OOOOS180
00005190
00005200
00005210
00005220
OOOC5230
00005240
00005250
C0005260
00005270
OOOC52SO
C0005290
00005300
00005310
00005320
00005330
00005340
00005350
00005360
00005370
A-ll
-------
03
MSTR-SUB-SEGMENT-21.
0* MSTR-SCC.
05 MSTR-I PIC X.
MSTR-II PIC XX.
MSTR-III PIC XXX.
MSTR-IV PIC XX.
05
05
05
04
03
03
03
MSTR-SCC-R REDEFINES MSTR-SCC.
05 MSTR-IIIA.
06 MSTR-IIA PIC X(3).
06 FILLER PIC XXX.
05 FILLER PIC XX.
0* MSTR-BEC.
05 MSTR-BEC-NUMBER PIC XXX.
05 MSTR-BEC-ID PIC XX.
04 MSTR-FUEL-UNITS PIC X.
0* MSTR-FUEL-PROCESS PIC X(7).
0* MSTR-FUEL-PRCCESS-RATE REDEFINES MSTR-FUEL-PROCESS
PIC 9(7).
04 MSTR-ALPHANUM-FIELD.
05 MSTR-MAX-OESIGN-RATE PIC X(7).
05 MSTR-SULFUR-CONTENT PIC XXX.
05 MSTR-SULFUR-R REDEFINES (1STR-SULFUR-CONTENT
PIC 9V99.
05 MSTR-ASH-CONTENT PIC XXX.
05 MSTR-ASH-R REDEFINES MSTR-ASH-CCNTENT
PIC 99V9.
04 MSTR-HEAT-CCNTENT PIC X(5).
MSTR-SUB-SEGMENT-22.
04 MSTR-CONFIDENTIALITY PIC X.
04 MSTR-SOURCE-CODE PIC X.
04 MSTR-SOURCE-DESCRIPTION PIC X(25).
04 MSTR-EMISSICN-FACTOR-SCURCE PIC X.
MSTR-NUMBER-OF-EF PIC 99.
MSTR-EMISSION-FACTOR-INFO OCCURS 16 TIMES.
PIC X(5).
VALUE '11101'.
04
MSTR-POLLUTANT-ID
88 MSTR-POLL-TSP
88
88
88
86
MSTR-POLL-CO VALUE '42101'.
MSTR-POLL-S02 VALUE '42401'.
VALUE
MSTR-POLL-NOX
MSTR-POLL-HC VALUE
04
04
04
03
'42602
•43101'
MSTR-EMISSION-FACTOR PIC 9<6)V999.
MSTR-ASH-SULFUR-CODE PIC X.
MSTR-EMISSION-FACTOR-UNITS PIC X.
FILLER PIC X(504).
02 MSTR-MACHINE-PROCESS-R REDEFINES MSTR-FIXEO-SEGMENT.
03 FILLER PIC X(90).
03 MSTR-NBR-OF-POLLUTANT-IDS PIC 99.
03 MSTR-EMISSION-FACTOR-DATA OCCURS 16 TIMES.
04 FILLER PIC X(5).
04 MSTR-EMISSION-FACTOR-R PIC X(9).
04 FILLER PIC XX.
03 FILLER PIC X(504).
02 MSTR-REGISTRATION REDEFINES MSTR-FIXED-SEGMENT.
03 FILLER PIC XU3).
03 MSTR-DATE-OF-SEG-3 PIC 9(5).
03 FILLER PIC XXX.
03 MSTR-SEG-3-SET-ID PIC 99.
03 MSTR-SUB-SEGMEHT-30.
04 MSTR-LINE-NUMSER PIC 999.
04 MSTR-COMHENTS.
05 MSTR-COMMENT-L PIC X(51).
05 MSTR-COflMENT-R PIC X(51).
03 FILLER PIC X(724).
01
WS-CONTROL-RECORD.
02 CNTL-STATE PIC 99.
88 VALID-CNTL-STATE VALUE 00 THRU 55.
02 CNTL-STATE-R REDEFINES CNTL-STATE PIC XX.
02 CNTL-CCUNTY PIC X(4).
000053SO
00003390
00005400
00005410
00005420
00005430
00005440
00005450
00005460
00005470
00005480
00005490
00005500
OOOC5510
00005520
00005530
00005340
00005550
00005560
OOOC5570
00005380
00005590
00005600
00003610
00005620
00005630
00005640
00005650
00005660
00005670
00005660
00005690
00005700
00005710
00005720
00005730
OOOC5740
00005750
00005763
00035770
000057SO
00005790
00005SOO
00005310
00005S20
00005830
OOC03S40
00005650
00005660
00005870
00005680
00005690
OOOC5900
00005910
00005920
00005930
OOC05940
OOOOD950
00005960
C0005970
00005960
00005990
00006000
00006010
00006020
00006030
OOOG6040
00006050
OCC06060
00006070
00006080
OCC06090
00006100
00006110
OC006120
00006120
00006140
A-12
-------
01
01
01
02
OZ
OZ
OZ
OZ
02
02
02
CNTL-SIC
CNTL-PLANT
FILLER
CNTL- POINT
CNTL-SCC
CNTL-CF-AREA.
03 CNTL-EMISSION-AREA
04 CNTL-ECF1
0* CNTL-ECF2
03 CNTL-TCF1
03 CNTL-TCF2
FILLER
CNTL-CARD-NBR
PIC X(4).
PIC X(4).
PIC X.
PIC XX.
PIC X(8).
OCCURS 5
PIC XXX.
PIC XXX.
PIC XXX.
PIC XXX.
PIC XU7).
PIC XX.
TIMES.
88 VALID-CNTL-CARD-NBR VALUE '12'.
WS-GROWTH-RECORD.
02 GRWTH-STATE PIC 99.
88 VALID-GRWTH-STATE VALUE 00 THRU 55.
02 GRWTH-STATE-R REDEFINES GRWTH-STATE PIC XX.
02
02
02
02
02
02
02
02
02
GRWTH-COUNTY
GRWTH-SIC
GRWTH-PLANT
FILLER
GRWTH-POINT
GRWTH-SCC
GRWTH-GROWTH-FACTOR
FILLER
GRWTH-CARD-NBR
PIC XC4).
PIC X(4).
PIC X(4).
PIC X.
PIC XX.
PIC X(8).
PIC X(4).
PIC XC49).
PIC XX.
88 VALID-GRHTH-CARD-NBR VALUE '11'.
CNTL-TABLE.
02 NBR-CNTL-TABLE PIC 999.
02 CNTL-TABLE-ENTRY OCCURS 300 TIMES.
03 CNTL-TABLE-KEY-3.
04 CNTL-TABLE-STATE PIC XX.
04 CNTL-TABLE-COUNTY PIC Xt4).
03 CNTL-TABLE-SCC PIC X(8).
03 CNTL-TABLE-SIC PIC X<4).
03 CNTL-TABLE-CF-AREA.
04 CNTL-TABLE-ECF OCCURS 5 TIMES.
05 CNTL-TABLE-ECF1 PIC V999.
05 CNTL-TABLE-ECF2 PIC V999.
04 CNTL-TABLE-TCF1 PIC V999.
04 CNTL-TABLE-TCF2 PIC V999.
02 CNTL-BND OCCURS 300 TIMES PIC 999.
GRWTH-TABLE.
02 NBR-GRWTH-TABLE PIC 999.
02 GRWTH-TABLE-ENTRY OCCURS 300 TIMES.
03 GRWTH-TABLE-KEY-3.
04 GRWTH-TABLE-STATE PIC XX.
04 GRWTH-TABLE-COUNTY PIC X(4).
03 GRWTH-TABLE-SCC PIC X(8).
03 GRWTH-TABLE-SIC PIC X(4).
03 GRWTH-TABLE-GROW PIC 9V999.
02 GRWTH-BND OCCURS 300 TIMES PIC 999.
01 HOLD-FIELD-INFO.
03 HOLD-CF-AREA.
04 HOLD-ECF OCCURS 5 TIMES.
05 HOLD-ECF1 PIC V999.
05 HOLD-ECF2 PIC V999.
04 HOLD-TCFl PIC V999.
04 HOLD-TCF2 PIC V999.
03 HOLD-GROW PIC 9V999.
03 HOLO-GROW-R REDEFINES HOLD-GROW PIC X(4).
03 HOLD-REPEAT OCCURS 6 TIMES.
04 HOLD-REPEAT-CF PIC X(36).
04 HOLD-REPEAT-GROW PIC 9V999.
01 WS-TEMP-GRWTH-RECORD.
02 WS-TEMP-GRWTH-KEY.
03 TEMP-GRWTH-STATE
03 TEMP-GRWTH-COUNTY
03 TEMP-GRWTH-PLANT
PIC XX.
PIC X(4).
PIC X(4).
OOC06150
00006160
00006170
00006130
00006190
00036200
00006210
00006220
OOC06230
COC06240
00006250
03006260
00006270
00006280
00006290
00006300
00006310
00006320
OOC06330
OOCC6340
00006350
00006360
00006370
00006330
00006390
C00064QO
00006410
OOOC6420
00006430
00006440
00006450
00006460
00006470
OOOC6480
00006490
00006500
OC006510
00006520
00006530
00006540
00006550
00006560
00006570
00006530
OOOC6590
COOC6600
CCOC6610
03006620
00006630
00006640
OC006650
00006660
00006670
00036660
OOC066'?0
00006700
00006710
00006720
00006730
OOOC6740
000067SO
00006760
00006770
00006760
00006790
00006800
OOOC6£10
00006830
00006830
00006840
00006853
OOOC6360
OCC06870
000063SC
00006690
00006900
00006910
A-13
-------
03 TEMP-GRWTH-POINT PIC 99.
02 TEMP-GRWTH-POINT-GROW PIC 9V999.
02 TEMP-GRWTH-NBR-SCC PIC 99.
02 TEMP-GRWTH-SCC-A8EA OCCURS 16 TIMES.
03 TEMP-GRWTH-SCC PIC X(S).
03 TEMP-GRWTH-SCC-GROW PIC 9V999.
01 WS-TEMP-CNTL-RECORD.
02 WS-TEMP-CNTL-KEY.
03 TEMP-CNTL-STATE PIC XX.
03 TEMP-CNTL-COUNTY PIC X(4).
03 TEMP-CNTL-PLANT PIC X(4).
03 TEMP-CNTL-POINT PIC XX.
02 TEMP-CNTL-CF-AREA.
03 TEMP-CNTL-POINT-ECF OCCURS 5 TIMES.
0* TEMP-CNTL-POINT-ECF1 PIC V999.
0* TEMP-CNTL-POINT-ECF2 PIC V999.
03 TEMP-CNTL-FOINT-TCF1 PIC V999.
03 TEMP-CNTL-POINT-TCF2 PIC V999.
02 TEMP-CNTL-N3R-SCC PIC 99.
02 TEMP-CNTL-SCC-AREA OCCURS 16 TIMES.
03 TEMP-CNTL-SCC PIC X(8).
03 TEMP-CNTL-SCC-CF-AREA.
0* TEMP-CNTL-SCC-ECF OCCURS 5 TIMES.
05 TEMP-CNTL-SCC-ECF1 PIC V999.
05 TEMP-CNTL-SCC-ECF2 PIC V999.
04 TEMP-CNTL-SCC-TCF1 PIC V999.
0* TEMP-CNTL-SCC-TCF2 PIC V999.
01 STORE-CNTL-GRWTH-INFO.
02 STORE-KEY.
03 STORE-KEY-3
03 STORE-PLANT
03 STORE-POINT
02 STORE-SIC
02 STORE-CNTL-OK-SW
88 STORE-CNTL-CK
02 STORE-GRWTH-OK-SW
88 STORE-GRWTH-OK
ONE-EMISSION-CONTR 0 L-FACT1
ONE-EMISSICN-CONTROL-FACT2
02
02
02
02
02
PIC XC6).
PIC XC4K
PIC XX.
PIC X(4).
PIC X.
VALUE 'I1.
PIC X.
VALUE '!'.
PIC S9V999 COMP SYNC.
PIC S9V999 COMP SYNC.
ONE-GROWTH-CONTROL-FACT1
ONE-GROWTH-CONTROL-FACT2
GROWTH-FACT-ONE
PIC S9V999 COMP SYNC.
PIC S9V999 COMP SYNC.
PIC S9V999 COMP SYNC.
01 ERROR-MESSAGES.
02 ERR-MSGS.
03 FILLER PIC X(87) VALUE
'CONDITIONAL - MORE THAN 1 SCC FOR AREA SOURCE POINT1
03 FILLER PIC X(87) VALUE
'ERROR - MORE THAN MAXIMUM NUMBER OF OPTION CARDS,
'CARD REJECTED1.
03 FILLER PIC X(87) VALUE
'ERROR - NO OPTION CARDS SPECIFIED1.
03 FILLER PIC XC87) VALUE
•ERROR - DUPLICATE RECORD ON GROWTH FILE, CARD REJECTED'
03 FILLER PIC X(87) VALUE
'ERROR - INVALID SCC ON OPTION CARD,CARD REJECTED1.
03 FILLER PIC X(87) VALUE
•CONDITIONAL - PROJECTION TOO LARGE, VALUE OF 0 USED1.
03 FILLER PIC XC87) VALUE
•CONDITIONAL - SIZE ERR03 FOR
•IS POINT - PRESENT EMISSION USED1.
03 FILLER PIC X(87) VALUE
•ERROR -DUPLICATE RECORD ON CONTROL FILE, CARD REJECTED
03 FILLER PIC X(87) VALUE
•ERROR - CONTROL TABLE OVERFLOW'.
03 FILLER PIC X(87) VALUE
•ERROR - SUM OF SCC EMISSIONS NOT EQUAL TO POINT EMISSIONS'
03 FILLER PIC X(37) VALUE
'ERROR - GROWTH TABLE OVERFLOW.
03 FILLER PIC X(87) VALUE
•ERROR - INVALID CONTROL STATE, CARD REJECTED1.
03 FILLER PIC X(87) VALUE
•ERROR - INVALID CONTROL COUNTY, CARD REJECTED1.
03 FILLER PIC X(87) VALUE
•ERROR - INVALID CONTROL SIC, CARD REJECTED1.
A-14
00006920
00006930
00006940
00006950
00006960
00006970
OOOC6980
00006990
00007000
00007010
00007020
00007030
00007C-+0
00007050
00007060
00007070
00007080
00007090
00037100
00007110
00007120
00007130
00007140
OC007150
00007160
00007170
00007180
00007190
00007200
00007210
00007220
00007230
00007240
00007250
00007260
00007270
C0007280
00007290
00007300
00007310
00007320
00007330
00007340
00007350
00007360
C0007370
00007333
00007390
00007400
00007410
00007420
C0007430
00007440
OOC07450
00007460
CCOOV470
00007430
00007490
00007SOO
00007510
00007520
THOOOC7530
00007540
00007550
C0007560
00007570
00037560
00007590
00007600
COC07610
00007620
00007630
OC007640
00007630
00007660
00007670
00007663
-------
01
01
03 FILLER
•ERROR - INVALID
03 FILLER
'ERROR - INVALID
03 FILLER
'ERROR - INVALID
03 FILLER
•ERROR - INVALID
03 FILLER
•ERROR - INVALID
03 FILLER
•ERROR - INVALID
03 FILLER
'ERROR - INVALID
03 FILLER
'ERROR - INVALID
03 FILLER
'ERROR - INVALID
03 FILLER
'ERROR - INVALID
03 FILLER
'ERROR - INVALID
03 FILLER
'ERROR - INVALID KEY
02 ERR-MSG-R REDEFINES
03 EDIT-ERR-MSG
PIC XC87) VALUE
CONTROL PLANT, CARD REJECTED1.
PIC X(87) VALUE
CONTROL POINT, CARD REJECTED1.
PIC X(87) VALUE
CONTROL SCC, CARD REJECTED1.
PIC X(87) VALUE
CONTROL FACTORS, CARD REJECTED'.
PIC X(87) VALUE
GROWTH STATE, CARD REJECTED1.
PIC X(87) VALUE
GROWTH COUNTY, CARD REJECTED1.
PIC X(87) VALUE
GROWTH SIC, CARD REJECTED1.
PIC X(87) VALUE
GROWTH PLANT, CARD REJECTED1.
PIC XC87) VALUE
GROWTH POINT, CARD REJECTED1.
PIC X(87) VALUE
GROWTH SCC, CARD REJECTED1.
PIC X(87) VALUE
GROWTH FACTORS, CARD REJECTED'.
PIC X(87) VALUE
COMBINATION, CARD REJECTED1.
ERR-MSGS OCCURS 26 TIMES.
PIC X(87).
EMISSIONS-KORK-AREA.
02 HOLO-ASH-SULF
02 NUMBER-OF-POLLUTANTS
02 UNCONTROLLED-EMISSIONS
02 ADJUSTED-EMISSIONS
02 EMISSION-REDUCTION
02 CONTROLLED-EMISSIONS
02 EMISSIONS-IN-TONS
02 TURN-OFF-POINT-SW
88 TURN-OFF-POINT
ONE-CDEF
02
02
02
PIC 99V99 VALUE 1.
PIC 99.
PIC 9(09)V999 CCMP SYNC.
PIC 9(08W9999 COMP SYNC.
PIC 9(09)V999 COMP SYNC.
PIC 9(09)V999 COMP SYNC.
PIC 9(09)V999 COM? SYNC.
PIC X VALUE ZERO.
VALUE 'I1.
PIC 9V999.
02 HOLD-NEW-THRUPUT OCCURS 6 TIMES PIC 9(7).
CFACT PIC 9V999.
EMISSIONS-HOLD-AREA OCCURS 16 TIMES.
03 HOLD-EMISSIONS PIC 9(7) COMP SYNC.
03 HOLD-EMIS-CHG PIC 9.
COUNTER-AREAS.
02 INPUT-COUNT
02 OUTPUT-COUNT
02 ERROR-COUNT
02 SEGMENT-COUNTERS.
03 INPUT-SEGO-COUNT
03 INPUT-SEG1-COUNT
03 INPUT-SEG2-COUNT
03 INPUT-SEG3-COUNT
03 OUTPUT-SEGO-COUNT
03 OUTPUT-SEG1-CCUNT
03 OUTPUT-SEG2-COUNT
03 OUTPUT-SEG3-COUNT
PIC 9(5) COMP SYNC VALUE
PIC 9(5) COMP SYNC VALUE
PIC 9(5) CCMP SYNC VALUE
02 POINT-EMISSION-COUNTERS OCCURS 5 TIMES.
03
03
03
03
02
02
02
02
02
02
PIC 9.
VALUE 1.
PIC 9V999.
PIC 9(8)V9999 COMP SYNC.
PIC 9(07) COMP SYNC.
OCCURS 53 TIMES.
OCCURS 5 TIMES.
PIC 9(10) COMP SYNC.
PIC 9(5) COMP SYNC VALUE
PIC 9(5) COMP SYNC VALUE
0.
0.
0.
PIC 9(5) COMP SYNC VALUE 0.
PIC 9(5) COMP SYNC VALUE 0.
PIC 9(5) COMP SYNC VALUE 0.
PIC 9(5) COMP SYNC VALUE 0.
PIC 9(5) COMP SYNC VALUE 0.
PIC 9(5) COMP SYNC VALUE 0.
PIC 9(5) COMP SYNC VALUE 0.
PIC 9(5) COMP SYNC VALUE 0.
POINT-SUM-BAD-SW
88 POINT-SUM-BAD
POINT-FRES-CDEF1
POINT-PRES-SUM
POINT-PRES-CCNT
TOTAL-EMISSION-COUNTERS
03 TOTAL-EMISSION-CNT2
04 TOTAL-EMISS
OPTIONS-COUNT
VALID-OPTION-COUNT
TABLE-COUNT
RPT-TABLE OCCURS 53 TIMES.
03 RPT-EMISSIONS OCCURS 5 TIMES PIC 9(10) COMP SYNC.
RPT-KEY-1.
03 RPT-KEY-2.
0* RPT-KEY-3.
05 RPT-KEY-4 PIC XX VALUE SPACES.
0.
0.
PIC 9(5) COMP SYNC VALUE 0.
00007690
00007700
OOC07710
00007720
00007730
00007740
00007750
D0007760
00007770
00007780
00007790
00007SCO
00007610
00007320
00007S30
00007640
00007650
000078oO
00007870
00007830
00007390
00007900
00007910
00007920
00007930
00007940
00007950
00007960
00007970
00007980
OOC07990
oooosooo
00003010
oooosoco
00003030
00008040
OOjO£C50
00003040
00006070
00008080
00008090
OOC08100
OCOOS110
00008120
00008130
00003140
00008150
00003160
00008170
00006180
00008190
00008200
00008210
00003220
00003230
OC003240
OOOC8250
00008260
COC03270
00003230
00003290
00008300
00008310
00003320
OOOC333G
00008340
0000335C
00003360
OOOOS370
00006330
00008390
03008400
00003410
00003420
00003430
00008440
00003450
A-15
-------
02
05 FILLER PIC X(4) VALUE SPACES.
0* FILLER PIC X(3) VALUE SPACES.
03 FILLER PIC X(4) VALUE SPACES.
RPT-KEY-1R REDEFINES RPT-KEY-1.
02
02
02
03 RPT-STATE
03 RPT-COUNTY
03 RPT-AQCR
03 RPT-PLANT
FILLER
ACC-DATE.
03 ACC-YEAR PIC
03 ACC-MONTH PIC
03 ACC-DAY PIC
ERROR-KEY-INFO.
03 ERR -STATE
03 ERR -COUNTY
03 ERR-PLANT
03 ERR-LIT-1
03 ERR-POINT
03 ERR -SCC OCCURS
PIC XX.
PIC XXXX.
PIC XXX.
PIC XXXX.
PIC XXXXX
99.
99.
99.
PIC XX.
PIC xm.
PIC X(4).
PIC X.
PIC X(3).
10 TIMES PIC X(9
01
SAVE-ALL-SET2.
02 SAVE-SET2-X OCCURS 6 TIMES PIC X(348).
02 SAVE-SET2 OCCURS 6 TIMES.
03
03
03
03
03
SAVE-SET2-KEY
FILLER
SAVE-SET2-ID1
SAVE-SET2-ID2
FILLER
PIC X(18).
PIC X.
PIC 99.
PIC 99.
PIC X(325).
01
SAVE-POINT.
02 SAVE-POINTl.
03 SAVE-POINT-KEY
SAVE-POINT-DATE
SAVE-POINT-SE6
SAVE-POINT-SET1
FILLER
SAVE-POINT-CNTR
SAVE-POINT-DATA
04
03
03
03
03
03
03
02
PIC X(13) VALUE HIGH-VALUES.
PIC X(5).
PIC X.
PIC 99.
PIC X(109).
PIC 99.
OCCURS 16 TIMES.
SAVE-POINT-POLLUTANT-ID PIC X(5).
88 SP-POLL-TSP VALUE '11101'.
88 SP-POLL-S02 VALUE '42401'.
88 SP-POLL-CO VALUE '42101'.
88 SP-POLL-NOX VALUE '42602'.
88 SP-POLL-HC VALUE '43101'.
04 FILLER PIC X(13).
04 SAVE-POINT-CONTROL-EFFICIENCY PIC V999.
04 SAVE-POINT-EMISSIONS-ESTIMATES PIC 9(7).
04 SAVE-POINT-ACTUAL PIC 9(7).
04 FILLER PIC X(08).
04 SAVE-POINT-ESTIMATION-METHOD PIC X.
04 FILLER PIC X.
SAVE-POINT1-R REDEFINES SAVE-POINTl.
03 FILLER PIC X(130).
03 SAVE-POINT-CNTR-R PIC 99.
03 SAVE-POINT-DATA-R OCCURS 16 TIMES.
04 FILLER PIC XU8).
04 SAVE-POINT-CONTROL-EFF-R PIC XXX.
04 FILLER PIC XC22).
04 SAVE-METHOD-R PIC 9.
04 FILLER PIC X.
01
01
SEG3-NEWREC.
02 NEWREC-KEY
02 FILLER
02 NEWREC-MSG
OPT-SCC-CHECK.
02 OPT-3.
PIC XU8) VALUE ZERO.
PIC X(8) VALUE '30101001'
PIC X(100) VALUE SPACE.
00008460
OOOOS470
00008480
00003490
OOOCS500
00003510
OOOC8520
OOOC8530
00008540
OOOOS550
00008560
00003570
OOOOS580
00008590
COC03600
00008610
00008620
00008630
ooooseto
OOOC8650
00008660
00008670
00008680
00003690
000087CO
00008710
00008720
OOC08730
00003740
00008750
00008760
00008770
00008760
00003790
OCOOSSOO
OCC08310
OOOOS820
00006830
00008340
00008850
OOOOS360
00008370
oooesoso
COOOS890
00008900
00008910
00008920
00003930
00008940
OOOC3950
00008960
OOC08970
00008930
C0008990
OOOC9000
00009010
00009020
00009030
00009040
00009050
00009060
00009070
00009060
00009090
00009100
00009110
00009120
00009130
OCOG9140
00009150
00009160
OOC09170
00009180
00009190
00009200
00009210
00009220
A-16
-------
03 OPT-SCC-3 PIC XC6).
03 OPT-SCC-3A PIC XX.
88 OPT-SCC-3A-SPACE VALUE SPACES.
OZ OPT-2 REDEFINES OPT-3.
03 OPT-SCC-2 PIC X(3).
03 OPT-SCC-2A PIC X(5).
88 OPT-SCC-2A-SPACE VALUE SPACES.
02 OPT-1 REDEFINES OPT-3.
03 OPT-SCC-1 PIC X.
03 OPT-SCC-1A PIC XC7).
88 OPT-SCC-1A-SPACE VALUE SPACES.
02 HOLD-ALL-LNG.
03 HOLD-LNG OCCURS 8 TIMES PIC 9.
01 LIT-POLL-TBL.
02 LIT-POLL-2.
03 LIT-TSP PIC X(5) VALUE '11101'.
03 LIT-S02 PIC X(5) VALUE '42401'.
03 LIT-CO PIC X(5) VALUE '42101'.
03 LIT-NOX PIC X(5) VALUE ' 42602 '.
03 LIT-HC PIC X(5) VALUE '43101'.
02 LIT-POLL-2R REDEFINES LIT-POLL-2.
03 LIT-POLL-NBR OCCURS 5 TIKES PIC X(5).
01 OPT-SCC-TABLE.
02 OPT-TBL-NBR PIC 99.
02 OPT-SCC-TBL-LINE OCCURS 53 TIMES.
03 OPT-SCC-TBL-LINE-NO PIC 99.
03 OPT-SCC-TBL- LINE-ID PIC XU4).
03 OPT-SCC-TBL-SCC-AREA OCCURS 8 TIMES.
04 OPT-SCC-TBL-SCC.
05 OPT-SCC-TBL-SCC1 PIC X.
05 OPT-SCC-TBL-SCC2 PIC XX.
05 OPT-SCC-TBL-SCC3 PIC XXX.
05 OPT-SCC-TBL-SCC4 PIC XX.
03 OPT-SCC-ALL-LNG.
04 OPT-SCC-TBL- LNG OCCURS 8 TIMES PIC 9.
03 OPT-N3R-SCC PIC 99.
01 SUM-KEY-SCC-TBL.
02 SUM-KEY-SCC OCCURS 4 TIMES.
03 SUM-KEY-SCC4.
04 SUM-KEY-SCC3.
05 SUM-KEY-SCC2 .
06 SUM-KEY-SCC1 PIC X.
06 FILLER PIC XX.
05 FILLER PIC XXX.
04 FILLER PIC XX.
"
01 HEADING-TABLE.
02 WS-RE PORT- LINE.
03 FILLER PIC X(20) VALUE SPACES.
03 RPT-LINE-ID PIC X(15) VALUE SPACES.
03 RPT-TSP PIC Z(8)9.
03 FILLER PIC X(5) VALUE SPACES.
03 RPT-S02 PIC Z(8)9.
03 FILLER PIC X(8) VALUE SPACES.
03 RPT-CO PIC ZC8J9.
03 FILLER PIC XC9) VALUE SPACES.
03 RPT-NOX PIC Z(8)9.
03 FILLER PIC X(7) VALUE SPACES.
03 RPT-KC PIC Z(8)9.
02 HEADINGS.
03 HEADER-1.
04 FILLER PIC X(49) VALUE SPACE.
04 FILLER PIC X(34) VALUE 'AIRSHED
•TA HANDLING SYSTEM1 .
04 FILLER -PIC X(49) VALUE SPACE.
03 FILLER PIC 9 VALUE 9.
03 HEADER-2.
04 HEAD2-FILL PIC X(43) VALUE SPACE.
04 FILLER PIC X(46) VALUE 'CONTROL
1 AND GROWTH PROJECTION
04 FILLER PIC X(43) VALUE SPACE.
03 FILLER PIC 9 VALUE 1.
A-17
00009230
00009240
00009250
00009260
OOOC9270
00009200
00009290
00009300
00009310
00009320
00009330
C0009340
00009330
00009360
00009370
00009380
00009390
00009400
00009410
00009420
00009430
00009440
00009450
00009460
00009470
00009480
00009490
00009500
00009510
00009520
00009530
00009540
OOOC9550
00009560
00009570
00009330
00009590
00009600
00009510
OOC09620
00009630
OOC09640
00009650
00009660
00009670
00009660
00009690
00009700
00009710
00009720
00009730
00009740
00009750
00009760
00009770
00009730
00009790
00009SOO
OC009S10
00009G20
00009830
00009840
00009820
00009830
00009S70
OOC093SO
00009390
MODEL DA00009900
00009910
OOG09920
00009930
00009940
00009950
MEA3USESOOC09960
FROG-RAM '.00009970
00009930
C0009990
-------
02
02
02
02
02
03 HEADER-3.
0* HDR-RUN-DATE.
05 HDR -MONTH PIC Z9.
05 HDR-DAY PIC /Z9.
05 HDR-YEAR PIC /Z9.
04 FILLER PIC XC44) VALUE SPACE.
0* HOR-RPT-TITLE PIC X(27) VALUE SPACES.
0* FILLER PIC XC45) VALUE SPACE.
0* FILLER PIC X(5) VALUE 'PAGE1.
0* PAGE-NUMBER PIC ZZ9.
03 FILLER PIC 9 VALUE 1.
03 HEADER -4.
04 FILLER PIC X<26) VALUE SPACES.
04 HDR-USER-TITLE PIC X(80) VALUE SPACES.
04 FILLER PIC XI £6) VALUE SPACES.
03 FILLER PIC 9 VALUE 1.
03 HEADER-5.
04 FILLER PIC X(5) VALUE SPACES.
04 HDR-AREA PICX(16) VALUE 'COUNTY'.
04 HDR-AREA-R REDEFINES HDR-AREA.
05 FILLER PIC X(8).
05 HDR-COUNTY PIC X(4).
05 FILLER PIC X(4).
04 FILLER PIC X(lll) VALUE SPACE.
03 FILLER PIC 9 VALUE 1.
03 HEADER-6.
04 FILLER PIC X(23) VALUE SPACE.
04 FILLER PIC X(14) VALUE 'CATEGORY'.
04 FILLER PIC X(28) VALUE ALL '*'.
04 FILLER PIC X(20) VALUE
' EMISSIONS, TON3/YE AR '.
04 FILLER PIC X(23) VALUE ALL '*'.
04 FILLER PIC X(19) VALUE SPACE.
03 FILLER PIC 9 VALUE 3.
03 HEADER-7.
04 FILLER PIC X(25) VALUE SPACE.
04 FILLER PIC XC10) VALUE 'NAME'.
04 FILLER PIC X( 11) VALUE 'AEROSOLS'.
04 FILLER PIC X(16) VALUE 'SULFUR OXIDES'.
04 FILLER PIC X(18) VALUE 'CARBON MONOXIDE '.
04 FILLER PIC X(18) VALUE 'NITROGEN OXIDES'.
04 FILLER PIC X( 19) VALUE 'HYDROCARBONS' .
04 FILLER PIC X(15) VALUE SPACES.
03 FILLER PIC 9 VALUE 1.
HEADIKGS-R REDEFINES HEADINGS OCCURS 7 TIMES.
03 HEADER PIC XU32).
03 LINES-SKIPPED PIC 9.
ENDLINE-1.
03 FILLER PIC X(40) VALUE
'NUMBER OF INPUT MASTER RECORDS:'.
03 INFUT-CNT PIC ZZZ.ZZ9.
ENDLINE-2.
03 FILLER PIC XC40) VALUE
•NUMBER OF OUTPUT MASTER RECORDS.".
03 OUTPUT-CNT PIC ZZZ.ZZ9.
ENDLINE-3.
03 FILLER PIC X(43) VALUE
'NUMBER OF OPTION CARDS:'.
03 OPTIONS-CUT PIC ZZZ9.
ENDLINE-4.
03 FILLER PIC X(40) VALUE
'NUMBER OF CONTROL MEASURE CARDS:'.
03 INPUT-CNTL-CNT PIC ZZZ.ZZ9.
ENDLINE-5.
03 FILLER PIC X(40) VALUE
•NUMBER OF GROWTH CARDS:'.
03 INPUT-GRWTH-CNT PIC ZZZ.ZZ9.
ENDLINE-6.
03 FILLER PIC X(43) VALUE
'NUMBER OF ERRORS:'.
03 ERROR-CUT PIC ZZZ9.
ENDLINE-7.
03 FILLER PIC X(40) VALUE
'NUMBER OF POINTS:1.
03 POINT-CNT PIC ZZZ.ZZ9.
00010G03
00010010
00010020
00010030
OQ010040
0001GOSO
00010060
00010070
00010030
OC010090
00010100
00010110
OC010120
00010130
00010140
00010150
00010160
00010170
00010180
00010190
00010200
0001C210
00010220
00010230
00010240
C001C25C
00010260
00010270
00010230
00010290
00010300
OCC10310
30010320
00010330
00010340
00010350
00010360
C0010370
00010380
00010390
00010400
00010410
00010420
00010430
0001C440
00010450
00010460
00010470
00010480
00010490
00010500
00010510
0001CS20
00010530
00010540
00010550
OC010560
00010570
000105SC
00010390
00010600
00010610
00010620
00010630
0001Gi40
00010650
00010560
00010670
00010630
00010690
00010700
00010710
C00107CO
OC010730
00010740
00010750
00010760
A-18
-------
02 KEY-ERR-1.
03 FILLER PIC X(33) VALUE
'ERROR MESSAGES - RECORD KEY IS1.
03 FILLER PIC X(22) VALUE
'STATE COUNTY PLANT '.
03 FILLER PIC XC42) VALUE
'SEGMENT TYPE POINT ID SCC S '.
02 KEY-ERR-2.
03 FILLER
03 FILLER
•XX / XXXX / XXXX /
PIC X(35) VALUE SPACE.
PIC X(65) VALUE
X / XX / XXXXXXXX
01
ERROR-LINE.
02 FILLER PIC X(25) VALUE SPACES.
02 FILLER PIC X(10) VALUE '***CMGROW.
02 EDIT-ERROR-NUM3ER PIC 9(3) VALUE ZERO.
02 EDIT-ERROR-SEVERITY-FLAG PIC X VALUE SPACE.
02 FILLER PIC X VALUE SPACE.
02 EDIT-ERROR-BUFFER PIC XC87) VALUE SPACE.
01
UFDATE-MESSAGES-TABLE.
02 U-MSG-1.
03 FILLER
02
U-MSG-2.
03 FILLER
03 FILLER
02 U-MSG-3.
03 FILLER
03 FILLER
02 U-MSG-4.
03 FILLER
03 FILLER
PIC X(22) VALUE
•PROGRAM NAME: CHGROW
PIC X(16) VALUE
•REVISION LEVEL:'.
PIC X(4) VALUE '1-00'.
PIC XU5) VALUE
'LAST UPDATE #:'.
PIC X(20) VALUE
PIC X(14) VALUE
•INCORPORATED:'.
PIC X(20) VALUE
•MAY 5, 1980'.
01 UST-MSG PIC X(25) VALUE 'WORKING STORAGE ENDS HERE'
PROCEDURE DIVISION.
BASIC-PROGRAM SECTION.
ROOT-SEGMENT.
PERFORM PGM-INIT THRU PGM-INIT-END.
IF NOT END-OF-JOB
PERFORM MAIN-LOOP THRU MAIN-LOOP-END
UNTIL END-OF-FILE.
PERFORM WRAP-UP THRU WRAP-UP-END.
STOP RUN.
ROOT-SEGMENT-END.
EXIT.
MAIN-LOOP.
MOVE FALSE TO MASTER-READY-SW.
PERFORM LOCATE-MASTER THRU LOCATE-MASTER-END
UNTIL MASTER-READY.
IF END-OF-FILE
IF SEG2-PRESENT
PERFORM CALCULATE-POINT-EMISSIONS
THRU CALCULATE-POINT-EMISSIONS-ENO
PERFORM DUMP-RECORDS THRU DUMP-RECORDS-EKD
MOVE BINARY-1 TO SUB1
MOVE FALSE TO ESTIMATE-CHAKGED-SW
ELSE
IF SAVE-POINT-KEY EQUAL TO HIGH-VALUES
NEXT SENTENCE
ELSE
MOVE MAX-CARD1 TO MSTR-NBR-OF-POLLUTANTS
00010770
OG0107SO
00010750
00010800
00010810
00010S20
00010330
0001C840
00010S50
00010560
00010S70
,'.00010830
C0010890
00010900
00010910
0001C920
00010930
00010940
00010950
00010960
00010970
00010980
00010990
00011000
00011010
00011020
C0011030
CCOH040
00011050
00011060
00011C70
OOC110SO
00011090
00011100
00011110
00011120
00011130
00011140
00011150
00011160
00011170
00011130
00011190
00011200
OOC11210
00011220
00011230
oooimo
000112EO
00011260
00011270
00011280
C0011290
00011300
00011310
00011320
00011330
00011340
00011350
00011360
00011370
000113SO
00011390
00011400
00011410
00011420
00011430
00011440
00011450
00011460
00011470
OOOll-'ifiO
00011490
00011500
OC011510
00011520
00011530
A-19
-------
MOVE SAVE-POINTl TO MSTR-POINT-SOURCE
MOVE BINARY-1 TO POLL-SUB
PERFORM ADD-OUT-SE61 THRU AOD-OUT-SEG1-ENO
MSTR-NSR-OF-POLLUTANTS TIMES
PERFORM WRITE-OUTPUT-FILE THRU WRITE-OUTPUT-FILE-EKD
MOVE BINARY-1 TO SUB1.
IF END-OF-FILE
MOVE LINE-MAX TO LINE-CTR-R
MOVE BINARY-1 TO SU31
MOVE RPT-COUNTY TO HDR-COUNTY
PERFORM WRITE-REPORT THRU WRITE-REPORT-END
OPT-TBL-NBR TIMES
MOVE BINARY-51 TO SUB1
PERFORM WRITE-REPORT THRU WRITE-REPORT-ENO
BINARY-3 TIMES
ELSE
PERFORM MAIN-LOOP2 THRU MAIN-LOOPS-END.
MAIN-LOOP-END.
EXIT.
MAIN-LOOP3.
PERFORM CALCULATE-POINT-EMISSIONS
THRU CALCULATE-POINT-EMISSICNS-EHD
PERFORM DUMP-RECORDS THRU DUMP-RECORDS-END
IF IN-SE6-0
MOVE IH-MASTO TO MSTR-FIXEO-SEGKENT
PERFORM WRITE-OUTPUT-FILE THRU WRITE-OUTPUT-FILE-END
MOVE FALSE TO ESTIMATE-CHANGED-SW
MOVE HIGH-VALUES TO SAVE-POINTl
SAVE-ALL-SET2
IF IN-KEY-3 NOT EQUAL TO RPT-KEY-3
MOVE LINE-MAX TO LINE-CTR-R
MOVE BINARY-1 TO SUB1
MOVE RPT-CCUNTY TO HDR-COUHTY
PERFORM WRITE-REPORT THRU WRITE-REPORT-END
OPT-TBL-NBR TIMES
MOVE BINARY-51 TO SUB1
PERFORM WRITE-REPORT THRU WRITE-REPORT-END
BINARY-3 TIMES
ELSE
NEXT SENTENCE
ELSE
IF IN-SEG-1
MOVE MAX-CARD1 TO SAVE-POINT-CNTR
MOVE IN-MAST1 TO SAVE-POINTl
PERFORM FIND-POINT-RECORD THRU FIND-POINT-RECCRO-EHD
MOVE BINARY-1 TO POLL-SUB
PERFORM ZERO-POINT-FIELDS THRU ZERO-POINT-FIELDS-END
MAX-CARD1 TIMES
MOVE BINARY-1 TO POLL-SUB
PERFORM MOVE-INIT-INFO THRU MOVE-INIT-INFO-END
SAVE-POINT-CNTR TIMES
MOVE FALSE TO FOUND-FIRST-SCC-SW
MOVE BINARY-1 TO SET2-SU3
MOVE HIGH-VALUES TO SAVE-ALL-SETZ
ELSE
IF IN-SEG-3
MOVE IN-MAST3 TO MSTR-REGISTRATION
PERFORM WRITE-OUTPUT-FILE THRU WRITE-OUTPUT-FILE-END.
MOVE FALSE TO SEG2-PRESENT-SW.
MAIN-LOOP2-END.
EXIT.
ADD-OUT-SEG1.
IF POINT-CHANGED
IF HOLD-EMIS-CHG (POLL-SUB) NOT EQUAL TO ZERO
MOVE HOLD-EMISSIONS (POLL-SUB)
TO MSTR-ESTIMATES-R (POLL-SUB)
MOVE ZERO TO MSTR-EST-CONTROL-EFF (POLL-SU3)
MOVE SPACES TO MSTR-CONTROL-EQUIPMENT (POLL-SUB)
ELSE
NEXT SENTENCE.
ADD BINARY-1 TO POLL-SUB.
00011540
00011550
00011560
00011570
00011530
00011590
00011600
00011610
00011620
00011630
00011640
00011650
00011660
00011670
000116SO
00011690
00011700
00011710
00011720
00011730
00011740
00011750
00011760
C0011770
00011760
00011790
00011800
00011010
00011S20
00011330
00011840
00011G50
00011860
00011S70
00011SSO
00011390
00011900
00011910
00011920
00011930
00011940
00011950
00011960
00011970
00011930
00011990
C0012000
00012010
00012020
00012C30
00012040
00012050
OC012060
00012070
000120CO
00012090
00012100
00012110
00012120
00013130
00012140
00012150
C0012160
00012170
00012183
00012190
00012200
00012210
00012220
00012230
OC012240
00012250
00012260
00012270
000122SO
00012290
00012300
A-20
-------
ADD-OUT-SEG1-END.
EXIT.
ASH-SULFUR-ADJUSTMENT.
IF MSTR-ASH-SULFUR-CODE (POLL-S-SL'B) EQUAL TO A-ASH
MOVE MSTR-ASH-R TO HOLD-ASH-SULF
MULTIPLY UNCONTROLLED-EMISSIONS BY MSTR-ASH-R
GIVING ADJUSTED-EMISSIONS ROUNDED
ON SIZE ERROR
MOVE TRUE TO SIZE-ERROR-SW
MOVE ZERO TO ADJUSTED-EMISSIONS
ELSE
IF MSTR-ASH-SULFUR-CODE (POLL-S-SUB) EQUAL TO S-SULFUR
MOVE MSTR-SULFUR-R TO HOLD-ASH-SULF
MULTIPLY UNCONTROLLED-EMISSIONS
BY MSTR-SULFUR-R GIVING
ADJUSTED-EMISSIONS ROUNDED
ON SIZE ERROR
MOVE TRUE TO SIZE-ERROR-SW
MOVE ZERO TO ADJUSTED-EMISSIONS
ELSE
MOVE BINARY-1 TO HOLD-ASH-SULF
MOVE UNCONTROLLED-EMISSIONS TO ADJUSTED-EMISSIONS.
DIVIDE ADJUSTED-EMISSIONS BY POUHDS-PER-TON
GIVING ADJUSTED-EMISSIONS ROUNDED
ON SIZE ERROR
MOVE TRUE TO SIZE-ERROR-SW
MOVE ZERO TO ADJUSTED-EMISSIONS.
ASH-SULFUR-ADJUSTMENT-END.
EXIT.
CALCULATIONS.
IF SAVE-SET2-KEY (CALC-SUB) NOT EQUAL TO HIGH-VALUES
MOVE SAVE-POINT-CNTR TO NUMBER-OF-POLLUTANTS
MOVE MAX-CARD2 TO MSTR-NUMBER-OF-EF
MOVE SAVE-SET2-X (CALC-SUB) TO MSTR-MACHINE-PROCESS
MOVE BINARY-1 TO POLL-SUB
MOVE TRUE TO FIRST-TIME-SM
PERFORM FIND-SUM-SPOT THRU FIND-SUM-SPOT-END
PERFORM COMPUTE-EMISSION-ESTIMATE
THRU CCMPUTE-EMISSION-ESTIMATE-END
NUM3ER-OF-POLLUTANTS TIMES.
ADD BINARY-1 TO CALC-SU3.
CALCULATIONS-END.
EXIT.
CALC-EDIT-ROUTINE.
IF MSTR-FUEL-PROCESS IS NOT NUMERIC
MOVE BINARY-1 TO MSTR-FUEL-PROCESS-RATE.
IF MSTR-EMISSION-FACTOR (POLL-S-SUB) IS NOT NUMERIC
MOVE BINARY-1 TO
MSTR-EMISSION-FACTCR (POLL-S-SUB).
IF MSTR-ASH-SULFUR-CCDE (POLL-S-SUB) EQUAL TO A-ASH
IF MSTR-ASH-CONTENT IS NOT NUMERIC
MOVE BINARY-1 TO MSTR-ASH-R.
IF MSTR-ASH-SULFUR-CODE (PCLL-S-SU3)
EQUAL TO S-SULFUR
IF MSTR-SULFUR-CONTENT IS NOT NUMERIC
MOVE BINARY-1 TO MSTR-SULFUR-R.
CALC-EDIT-ROUTINE-END.
EXIT.
CALCULATE-POINT-EMISSIONS.
MOVE BINARY-1 TO POLL-SUB.
PERFORM CHECK-POINT-SUM THRU CHECK-POINT-SUH-END
8INARY-5 TIMES.
A-21
00012310
00012320
00012330
00012340
OOC123EO
00012360
00012370
00012380
00012390
00012400
00012410
COC12420
00012430
00012440
00012450
00012460
00012470
00012460
00012490
00012500
00012510
00012520
00012530
00012540
00012550
00012560
0001237D
00012530
03012590
00012600
00012610
00012620
00012630
00012640
00012650
00012660
00012670
00012680
00012690
00012700
00012710
OOC12720
00012730
00012740
OC012750
OC012760
00012770
C00127SO
00012790
00012600
00012310
00012320
00012830
00012S40
00012850
00012660
00012870
00012830
0001289C
00012900
00012910
00012920
00012930
00012940
00012950
00012960
00012970
00012930
00012990
00013000
OC013010
00013020
00013030
00013043
00013050
00013060
00013070
-------
SUBTRACT BINARY-1 FROM SET2-SUB.
MOVE BINARY-1 TO CALC-SU3.
MOVE FALSE TO POINT-BAD-OUTFUT-SW.
PERFORM CALCULATIONS THRU CALCULATIONS-END SET2-SUB TIMES.
IF POINT-BAD-OUTPUT
PERFORM CHECK-FIRST-KEY-ERROR
THRU CHECK-FIRST-KEY-ERROR-END
MOVE ERR-7 TO ERROR-CODE
MOVE SAVE-POINTl TO PRINT-DATA
MOVE BINARY-2 TO LINE-SKIP
PERFORM PRINT-ROUTINE THRU PRINT-ROUTINE-ENO
PERFORM ERROR-ROUTINE THRU ERROR-ROUTINE-END.
CALCULATE-POINT-EMISSIONS-END.
EXIT.
CHECK-FIRST-KEY-ERROR.
IF FIRST-KEY-ERROR
MOVE LINE-MAX TO LINE-CTR
MOVE KEY-ERR-1 TO PRINT-DATA
MOVE BINARY-3 TO LINE-SKIP
PERFORM PRINT-ROUTINE THRU PRINT-ROUTINE-END
MOVE KEY-ERR-2 TO PRINT-DATA
MOVE BINARY-1 TO LINE-SKIP
PERFORM PRINT-ROUTINE THRU PRINT-ROUTINE-END
MOVE FALSE TO FIRST-KEY-ERROR-SW.
IF FIRST-ERROR-FOR-POINT
MOVE ERROR-KEY-INFO TO PRINT-DATA
MOVE BINARY-2 TO LINE-SKIP
PERFORM PRINT-ROUTINE THRU PRINT-ROUTINE-END
MOVE FALSE TO FIRST-ERROR-FOR-POINT-SH.
CHECK-FIRST-KEY-ERROR-END.
EXIT.
CHECK-OPT-SCC.
IF OPT-SCC (SUB-A) NUMERIC
OR OPT-SCC (SUB-A) EQUAL TO SPACES
MOVE BINARY-* TO HOLD-LNS (SUB-A)
ELSE
MOVE OPT-SCC (SUB-A) TO OPT-3
IF OPT-SCC-3 NUMERIC AND OPT-SCC-3A-SPACE
MOVE BINARY-3 TO HOLD-LNG (SUB-A)
ELSE
IF OPT-SCC-2 NUMERIC AND OPT-SCC-2A-SPACE
MOVE BINARY-2 TO HOLD-LNG (SUB-A)
ELSE
IF OPT-SCC-1 NUMERIC
AND OPT-SCC-1A-SPACE
MOVE BINARY-1 TO HOLD-LNS (SUB-A)
ELSE
MOVE BINARY-4 TO HOLO-LNG (SUB-A)
MOVE FALSE TO OPT-SCC-OK-SW.
ADD BINARY-1 TO SUB-A.
CHECK-OPT-SCC-END.
EXIT.
CHECK-POINT-SUM.
IF POINT-PRES-CONT (POLL-SU3) LESS THAN 10
MULTIPLY POINT-PRES-CONT (POLL-SUB) BY .9 GIVING SUM-98
MULTIPLY POINT-PRES-CONT (POLL-SUB) BY 1.1 GIVING SUM-102
ELSE
MULTIPLY POINT-PRES-CONT (POLL-SUB) BY .98 GIVING SUM-98
MULTIPLY POINT-FRES-CONT (POLL-SU3) BY 1.02 GIVING SUM-102.
IF POINT-PRES-SUM (POLL-SUB) LESS THAN SUM-98
OR GREATER THAN SUM-102
PERFORM CHECK-FIRST-KEY-ERROR THRU CHECK-FIRST-KEY-ERROR-END00013790
MOVE ERR-10 TO ERROR-CODE 00013300
PERFORM ERROR-ROUTINE THRU ERROR-ROUTINE-END 00013610
MOVE TRUE TO POINT-SUM-BAD-SW (FOLL-SUB) 00013320
ELSE 00013630
MOVE FALSE TO POINT-SUM-BAD-SW (POLL-SUB). 00013340
A-22
00013080
00013090
00013100
00013110
00013120
00013130
00013140
00013150
00013160
00013170
00013100
00013190
00013200
00013210
00013220
00013230
00013240
00013250
00013260
00013270
00013280
00013270
00013200
00013310
00013320
00013330
00013340
00013350
00013360
00013370
00013330
00013393
00013400
00013410
OC013420
00313430
00013440
00013450
00013460
00013470
O0013'»80
00013490
00013500
00013510
00013520
C0013530
00013540
00013550
OOC13560
00013570
00013530
OC013590
00013600
00013610
OC013620
00013630
00013640
00013650
00013660
C0013670
000136SC
00013690
00013700
00013710
00013720
00013730
00013740
00013750
00013750
00013770
000137SO
-------
ADD BINARY-1 TO POLL-SUB.
CHECK-POINT-SUM-END.
EXIT.
CHECK-POLL-ID.
IF POLL-ID-TSP
MOVE BINARY-1 TO SUB1
ELSE
IF POLL-ID-CO
MOVE BINARY-3 TO SUB1
ELSE
IF POLL-ID-SOa
MOVE BINARY-2 TO SUB1
ELSE
IF POLL-ID-NOX
MOVE BINARY-4 TO SU31
ELSE
IF POLL-ID-HC
MOVE BINARY-5 TO SUB1
ELSE
MOVE TRUE TO BYPASS-CALC-SW
MOVE ZERO TO SUB1.
CHECK-POLL-ID-END.
EXIT.
COMPUTE-EMISSION-ESTIMATE.
MOVE FALSE TO END-SEARCH-SM
BYPASS-CALC-SW
SIZE-ERROR-SW.
IF SAVE-POINT-POLLUTANT-ID (POLL-SUB) NOT EQUAL TO SPACES
MOVE TRUE TO FIRST-EF-SW
PERFORM SEARCH-FOR-POLLUTANT-ID
THRU SEARCH-FOR-FOLLUTANT-ID-END
VARYING POLL-S-SUB FROM BINARY-1 BY BINARY-1
UNTIL POLL-S-SUB GREATER THAN
MSTR-NUKBER-OF-EF
OR END-SEARCH
IF BYPASS-CALC OR NOT END-SEARCH
NEXT SENTENCE
ELSE
IF POINT-PRES-CCNT (SUED NOT EQUAL TO ZERO
SUBTRACT BINARY-1 FROM POLL-S-SU3
PERFORM PRELIMINARY-COMPUTATION
THRU PRELIMINARY-CCMPUTATION-ENO
PERFORM ASH-SULFUR-ADJUSTMENT
THRU ASH-SULFUR-ADJUSTMENT-END
PERFORM FINAL-COMPUTATION THRU FINAL-COMPUTATIOH-END.
IF SIZE-ERROR
PERFORM"CHECK-FIRST-KEY-ERROR
THRU CHECK-FIRST-KEY-ERROR-END
MOVE TRUE TO POINT-BAD-OUTPUT-SW
MOVE ERR-6 TO ERROR-CODE
PERFORM ERROR-ROUTINE THRU ERRCR-ROUTINE-END.
ADD BINARY-1 TO POLL-SUB.
MOVE FALSE TO FIRST-TIME-SW.
COMPUTE-EMISSION-ESTIMATE-END.
EXIT.
DUMP-RECORDS.
MOVE MAX-CARD1 TO MSTR-NBR-OF-POLLUTANTS.
MOVE SAVE-FOINTl TO MSTR-POINT-SOURCE.
MOVE BINARY-1 TO POLL-SUB.
PERFORM ADD-OUT-SEG1 THRU ADD-OUT-SEG1-END
MSTR-NBR-OF-FOLLUTANTS TIMES.
PERFORM WRITE-OUTPUT-FILE THRU WRITE-OUTPUT-FILE-EKO.
MOVE BINARY-1 TO SUB.
IF AREA-SCURCE-RECORD AND SET2-SUB GREATER THAN BINARY-1
PERFORM CHECK-FIRST-KEY-ERROR
00013350
00013360
00013370
00012CCO
00013890
00013900
00013910
00013920
00013930
00013940
00013950
00013960
00013970
00013980
00013990
00014000
00014010
00014020
00014030
00014040
00014050
00014060
00014070
00014080
00014090
00014100
00014110
00014120
00014130
00014140
00014150
00014160
00014170
OC0141SO
00014190
00014200
00014210
00014220
00014230
00014240
00014250
C0014260
00014270
00014280
00014290
00014300
00014310
00014320
00014330
00014340
OOOV-350
OCC14360
00014370
000143SO
00014390
00014400
OC014410
00014420
00014430
00014440
00014450
00014460
00014470
00014430
00014490
00014500
00014510
00014520
00014530
00014540
00014550
OC014560
00014570
00014560
00014390
00014600
00014610
A-23
-------
THRU CHECK-FIRST-KEY-ERROR-ENO
MOVE ERR-1 TO ERROR-CODE
PERFORM ERROR-ROUTINE THRU ERROR-RCUTINE-END.
PERFORM MOVE-SET2 THRU MOVE-SET2-END SET2-SUB TIMES.
MOVE SAVE-POINTl TO NEKREC-KEY.
MOVE HIGH-VALUES TO SAVE-POINT-KEY.
DUMP-RECORDS-END.
EXIT.
ERROR-ROUTINE.
IF ERROR-IS-SERIOUS
MOVE ERROR-FLAG-S TO EDIT-ERROR-SEVERITY-FLAG
MOVE TRUE TO EKD-OF-JOB-SW
ELSE
IF ERROR-IS-WARNING
MOVE ERROR-FLAG-W TO EDIT-ERROR-SEVERITY-FLAG
ELSE
MOVE ERROR-FLAG-E TO EDIT-ERROR-SEVERITY-FLAG.
MOVE BINARY-1 TO LINE-SKIP.
MOVE ERROR-CODE TO EDIT-ERROR-NUMBER.
MOVE EDIT-ERR-MSG (ERROR-CODE) TO EDIT-ERROR-BUFFER.
MOVE ERROR-LINE TO PRINT-DATA.
ADD BINARY-1 TO ERROR-COUNT.
PERFORM PRINT-ROUTINE THRU PRINT-ROUTINE-END.
MOVE ZERO TO ERROR-CODE.
MOVE FALSE TO ERROR-SEVERITY-SW.
ERROR-ROUTINE-END.
EXIT.
FINAL-COMPUTATION.
IF POINT-SUM-BAD (SUB1)
COMPUTE ADJUSTED-EMISSIONS ROUNDED = ADJUSTED-EMISSIONS
POINT-PRES-CONT (SUB1) / POIN7-PRES-SUM (SUED
ON SIZE ERROR
MOVE TRUE TO SIZE-cRRCR-SW
MOVE ZERO TO ADJUSTED-EMISSIONS.
COMPUTE EMISSIONS-IN-TONS ROUN'DED = ADJUSTED-EMISSIONS *
CFACT * (CONE-EMISSION-CONTROL-FACT1 *
ONE-GROVJTH-CONTROL-FACT1) + (ONE-GROUTH-CONTROL-FACT2
* ONE-EMISSION-CONTROL-FACT2 * GROHTH-FACT-ONE))
ON SIZE ERROR
MOVE TRUE TO SIZE-ERROR-SW
MOVE ZERO TO EMISSIONS-IN-TONS.
ADD EMISSIONS-IN-TONS
TO HOLD-EMISSIONS (POLL-SUB) ROUNDED
ON SIZE ERROR
MOVE TRUE TO SIZE-ERROR-SW.
ADD EMISSIONS-IN-TOHS
TO RPT-EMISSIONS (SUB-L, SUB1) ROUNDED.
IF POINT-CHANGED
PERFORM FINAL-COMP2 THRU FINAL-COKP2-END.
MOVE TRUE TO HOLD-EMIS-CHG (POLL-SUB).
MOVE TRUE TO ESTIMATE-CHANGEO-SW.
FINAL-COMPUTATION-END.
EXIT.
FINAL-COMP2.
COMPUTE HOLD-NEM-THRUPUT (CALC-SU3) ROUNDED =
MSTR-FUEL-PROCESS-RATE *
(CNE-GROWTH-CONTROL-FACT1 +
(ONE-GROHTH-CONTROL-FACT2 * GROWTH-FACT-CNE))
ON SIZE ERROR
MOVE TRUE TO SIZE-ERROR-SW
MOVE ZERO TO HOLD-NEW-THRUFUT (CALC-SUE).
00014620
00014630
00014640
00014650
00014660
00014670
00014660
00014690
00014700
00014713
00014720
00014730
00014740
00014750
00014760
00014770
000147SO
00014790
00014600
00014810
00014S20
00014330
00014340
00014850
00014660
00014370
00014680
00014890
00014900
00014910
00014920
00014930
00014940
00014950
00014960
00014970
000149SO
00014990
00015000
00015010
00015020
00015030
00015040
00015050
00015050
00015070
00015030
00015090
OC015100
00015110
00015120
00015130
00015140
00015150
OC015160
00015170
000151SO
00015190
00015200
00015210
00015220
00015230
00015240
OC0152SO
03015260
00015270
00015280
00015290
00015300
00015310
00015320
OOC15330
00015340
00015350
00015360
00015370
00015330
A-24
-------
IF HOLD-NEW-THRUPUT (CALC-SU3) NOT EQUAL TO ZERO
COMPUTE MSTR-EMISSION-FACTOR (POLL-S-SUB) ROUNDED =
EMISSIONS-IN-TONS * POUNDS-PER-TON /
(HOLD-NEW-THRUFUT (CALC-SUB) * HOLD-ASH-SULF)
ON SIZE ERROR
HOVE TRUE TO SIZE-ERROR-SW
MOVE ZERO TO MSTR-EMISSION-FACTOR (POLL-S-SUB).
IF HOLD-NEW-TKRUPUT (CALC-SUB) NOT EQUAL TO ZERO
MOVE MSTR-MACHINE-PROCESS TO SAVE-SET2 (CALC-SUB).
FINAL-COMP2-END.
EXIT.
FIND-FOINT-RECORD.
MOVE SPACES TO STORE-CNTL-GRWTH-INFO.
MOVE IH-KEY-3 TO STORE-KEY-3 ERROR-KEY-INFO.
MOVE IN-PLANT TO STORE-PLANT ERR-PLANT.
MOVE IN-POINT TO STORE-POINT ERR-POINT.
MOVE TRUE TO FIRST-ERROR-FOR-POINT-SW.
MOVE FALSE TO POINT-CHANSED-SW.
MOVE 1 TO ERR-LIT-1.
MOVE IN-SIC TO STORE-SIC.
MOVE BINARY-1 TO ONE-EMISSION-CONTROL-FACT1
ONE-EMISSION-CONTROL-FACT2
ONE-GRCWTH-CONTROL-FACT1
ONE-GROWTH-CONTROL-FACTS
MOVE ZERO TO POINT-PRES-SUM (BINARY-1)
POINT-PRES-SUM (BINARY-2)
POINT-PRES-SUM (BINARY-3>
POINT-PRES-SUM (BINARY-4)
POINT-PRES-SUM (BINARY-5).
MOVE ZERO TO POINT-PRES-CONT (BINARY-1)
POINT-PRES-CCNT (BINARY-2)
POINT-FRES-CONT (BINARY-3)
POINT-PRES-CONT (BINARY-4)
POINT-FRES-CONT (BINARY-5).
MOVE ZERO TO GROWTH-FACT-ONE.
MOVE FALSE TO STORE-CNTL-OK-SW
STORE-GRWTH-OK-SW.
IF STORE-KEY EQUAL TO WS-TEMP-CNTL-KEY
MOVE TRUE TO STORE-CNTL-OK-SW
ELSE
PERFORM LOCATE-CONTROL THRU LOCATE-CONTROL-END
UNTIL STORE-KEY NOT GREATER THAN WS-TEMP-CNTL-KEY.
IF STORE-KEY EQUAL TO WS-TEMP-GRWTH-KEY
MOVE TRUE TO STORE-GRWTH-OK-SW
ELSE
PERFORM LOCATE-GROWTH THRU LCCATE-GROWTH-EHD
UNTIL STORE-KEY NOT GREATER THAN WS-TEMP-GRWTH-KEY.
MOVE ZERO TO HOLD-FIELD-INFO.
FIND-POINT-RECORO-END.
EXIT.
FIND-SUM-SPOT.
MOVE SPACES TO SUM-KEY-SCC-TBL.
MOVE MSTR-I TO SUM-KEY-SCC1 (BINARY-1).
MOVE MSTR-SCC TO SUM-KEY-SCC (BINARY-4).
MOVE MSTR-IIA TO SUM-KEY-SCC2 (3INARY-2).
MOVE MSTR-IIIA TO SUM-KEY-SCC3 (BINARY-3).
MOVE FALSE TO END-SEARCH-SW.
MOVE BINARY-1 TO SUB-C SUB-L.
PERFORM FIND-SUM-SPOT-2 THRU FIND-SUM-SPOT-2-END
UNTIL END-SEARCH OR SUB-L GREATER THAN OPT-TBL-N3R.
IF NOT END-SEARCH
IF AREA-SOURCE-RECOKD
MOVE BINARY-52 TO SUB-L
ELSE
MOVE BINARY-51 TO SUB-L.
FIND-SUM-SPOT-END.
EXIT.
A-25
00015390
00015400
00015410
00015420
00015430
00015440
00015450
C0015460
00015470
00015480
00015490
00015500
00015510
00015520
00015530
OOC15540
00015550
C0015560
0001557C
00015530
00015390
00015600
00015610
03015620
0001S630
00015640
00015650
OC015660
00015670
00015680
00015690
OOC15700
00015710
00015720
00015730
00015740
00015750
00015760
00015770
00015780
0001579C
C0015800
C0015313
00015820
OOC15330
00015340
00015850
00015860
00015870
OC01583C
00015890
C0015900
00015910
00015<5£0
00015930
0001594C
00015950
OQC15960
00015970
00015930
00015990
00016000
00016010
00016020
00016030
00016C40
00016050
00016C60
00316070
30016080
OOC16090
00016100
00016110
00016120
00016130
00016140
00016150
-------
FIND-SUM-SPOT-2.
MOVE OPT-SCC-TBL-LNG (SUB-L, SUB-C) TO SUB-B.
IF OPT-SCC-TBL-SCC (SUB-L, SUB-C) EQUAL TO
SUM-KEY-SCC (SUB-B)
MOVE TRUE TO END-SEARCH-SW
ELSE
ADO BINARY-1 TO SUB-C
IF SUB-C GREATER THAN OPT-NBR-SCC (SUB-L)
MOVE BINARY-1 TO SUB-C
ADD BINARY-1 TO SUB-L.
FIND-SUM-SPOT-2-END.
EXIT.
INITIAL-CALCULATIONS.
MOVE FALSE TO BYPASS-CALC-SW.
ADD BINARY-1 TO POLL-SUB.
IF POINT-PRES-CONT (POLL-SUB) EQUAL TO ZERO
MOVE TRUE TO BYPASS-CALC-SW.
MOVE FALSE TO END-SEARCH-SW
MOVE BINARY-1 TO POLL-S-SU3.
IF NOT BYPASS-CALC
PERFORM SEARCH-INIT-POLL THRU SEARCH-INIT-POLL-END
UNTIL END-SEARCH OR POLL-S-SUB GREATER THAN
MSTR-NUMBER-OF-EF
IF NOT END-SEARCH
IF POLL-S-SUB NOT GREATER THAN MAX-CARD2
ADD BINARY-1 TO MSTR-NUM3ER-OF-EF
MOVE LIT-POLL-NBR (POLL-SUB) TO
MSTR-POLLUTANT-ID (POLL-S-SUB)
MOVE BINARY-1 TO
MSTR-EMISSION-FACTOR (POLL-S-SUB)
IF MSTR-FUEL-PROCESS NOT NUMERIC
MOVE BINARY-1 TO MSTR-FUEL-PROCESS-RATE.
IF BYPASS-CALC
MOVE TRUE TO BAD-INIT-POINT-SW
ELSE
PERFORM PRELIMINARY-COMPUTATION
THRU PRELIMINARY-COMPUTATION-END
PERFORM ASH-SULFUR-ADJUSTMENT
THRU ASH-SULFUR-ADJUSTMENT-END
COMPUTE POINT-PRES-SUM (POLL-SUB) ROUNDED -
POINT-PRES-SUM (POLL-SU3) + (ADJUSTED-EMISSIONS *
POINT-PRES-CDEF1 (POLL-SUB))
ON SIZE ERROR
MOVE TRUE TO SIZE-ERROR-SW
MOVE ZERO TO POINT-PRES-SUM (POLL-SUB).
IF SIZE-ERROR
MOVE TRUE TO BAD-INIT-POINT-SW.
INITIAL-CALCULATIONS-END.
EXIT.
LOCATE-CONTROL.
IF NOT TEMP-CNTL-EOF
READ TEMP-CNTL-FILE
AT END MOVE TRUE TO TEMP-CNTL-EOF-SW
MOVE HIGH-VALUES TO WS-TEMP-CNTL-KEY.
IF NOT TEMP-CNTL-EOF
MOVE TEMP-CNTL-RECORD TO WS-TEMP-CNTL-RECORD
IF WS-TEMP-CNTL-KEY EQUAL STORE-KEY
MOVE TRUE TO STORE-CNTL-OK-SW.
LOCATE-CONTROL-END.
EXIT.
LOCATE-GROWTH.
IF NOT TEMP-GRWTH-EOF
READ TEMP-GRWTH-FILE
AT END MOVE TRUE TO TEMP-GRWTH-EOF-SW
MOVE HIGH-VALUES TO WS-TEMP-GRUTH-KEY.
IF NOT TEMP-GRWTH-EOF
MOVE TEMP-GRWTH-RECORO TO WS-TEMP-GRWTH-RECORD
IF WS-TEMP-GRWTH-KEY EQUAL STORE-KEY
00016160
00016170
00016130
00016190
00016200
OC016210
00016220
00016230
00016240
00016250
00016260
00016270
C0016230
00016290
00016300
00016310
00016320
00016330
00016340
00016350
00016360
03016370
00016130
00016390
00016400
00016410
00016420
00016430
00016440
OOC16450
00016460
00016470
00016480
00016490
00016500
00016510
00016520
00016530
COC163'iO
00016S50
00016360
00015570
OC016580
00016590
00016600
00016610
00016620
00016630
00016640
00016650
00016660
00016670
000166SO
00016693
00016700
00016710
00016720
00016730
00016740
OC016750
00016760
00016770
00016780
00016790
00016800
00016310
00016820
00016330
000168^0
0001635-0
00016360
00016670
00016330
00016S90
C0016900
00016910
00016920
A-26
-------
MOVE TRUE TO STORE-GRWTH-CK-SW.
LOCATE-GROWTH-END.
EXIT.
LOCATE-MASTER.
IF READ-SW-ON
PERFORM READ-MASTER-FILE THRU READ-MASTER-FILE-END.
IF END-OF-FILE
MOVE TRUE TO MASTER-READY-SW
ELSE
IF IN-KEY-ZERO
NEXT SENTENCE
ELSE
IF IN-SEG-0
PERFORM LOCATE-SEGO THRU LOCATE-SEGO-END
ELSE
IF IN-SEG-1
PERFORM LOCATE-SEG1 THRU LOCATE-SEG1-END
ELSE
IF IN-SEG-2
PERFORM LOCATE-SEG2 THRU LOCATE-SEG2-END
ELSE
IF SEG2-PRESENT
MOVE TRUE TO MASTER-READY-SW
ELSE
MOVE IN-MAST3 TO MSTR-REGISTRATION
PERFORM WHITE-OUTPUT-FILE
THRU WRITE-OUTPUT-FILE-END.
MOVE TRUE TO READ-SW.
LOCATE-MASTER-END.
EXIT.
LOCATE-SEGO.
ADD BINARY-1 TO INPUT-SEGO-COUNT.
IF SEG2-PRESENT
MOVE TRUE TO MASTER-READY-SW
ELSE
IF SAVE-POINT-KEY EQUAL TO HIGH-VALUES
MOVE IN-MASTO TO MSTR-FIXED-SEGMENT
PERFORM WRITE-OUTPUT-FILE THRU WRITE-OUTPUT-FILE-END
IF INPUT-SEGO-COUNT EQUAL TO BINARY-!
MOVE IN-KEY TO RPT-KEY-1
ELSE
NEXT SENTENCE
ELSE
MOVE MAX-CARD1 TO MSTR-NBR-OF-POLLUTANTS
MOVE SAVE-FOINTl TO MSTR-POINT-SOURCE
PERFORM WRITE-OUTPUT-FILE THRU WRITE-OUTPUT-FILE-END
MOVE IN-MASTO TO MSTR-FIXED-SEGMENT
PERFORM WRITE-OUTPUT-FILE THRU WRITE-0'JTPUT-FILE-EMD
MOVE HIGH-VALUES TO SAVE-POINTl
IF IN-KEY-3 NOT EQUAL TO RPT-KEY-3
MOVE LINE-MAX TO LINE-CTR-R
MOVE BINARY-1 TO SU31
MOVE RPT-COUNTY TO HDR-COUNTY
PERFORM WRITE-REPCRT THRU WRITE-REPORT-END
OPT-TBL-NBR TIMES
MOVE BINARY-51 TO SUB1
PERFORM WRITE-REPORT THRU WRITE-REFORT-END
BINARY-3 TIMES.
LOCATE-SEGO-END.
EXIT.
LCCATE-SEG1.
ADD BINARY-1 TO INPUT-SEGl-CC'JNT.
IF SEG2-FRESENT
MOVE TRUE TO MASTER-READY-SW
ELSE
IF SAVE-POINT-KEY EQUAL TO HIGH-VALUES
MOVE MAX-CARD1 TO SAVE-POINT-CNTR
MOVE IN-MAST1 TO SAVE-POINTl
A-27
00016930
00016940
00016950
00016960
00016970
00016930
00016990
00017000
00017010
000170EO
00017030
00017040
00017050
OOC17060
00017070
000170SO
00017090
00017100
00017110
00017120
00017130
00017140
00017150
00017160
C0017170
000171SO
00017190
00017200
00017210
00017220
00017230
00017240
00017250
00017260
00017270
OC017230
00017290
OOC17300
00017310
00017320
00017330
00017340
OC0173SO
00017360
00017370
00017330
00017390
00017400
00317410
OC017420
00017430
00017440
00017450
00017460
00017470
00017490
00017500
00017S10
00017520
00017530
00017540
OOC17550
00017560
00017570
00017530
00017590
00017600
00017610
00017620
OOC17630
00017640
00017650
00017660
00017670
000176SO
00017690
-------
PERFORM FIND-POINT-RECORD THRU FIND-POINT-RECORD-END
MOVE BINARY-1 TO POLL-SUB
PERFORM ZERO-POINT-FIELDS THRU ZERO-POINT-FIELDS-END
MAX-CARD1 TIMES
MOVE BINARY-1 TO POLL-SUB
PERFORM MOVE-INIT-INFO THRU MOVE-INIT-INFO-END
SAVE-POINT-CNTR TIMES
MOVE BINARY-1 TO SET2-SUB
POLL-SUB
MOVE FALSE TO FOUND-FIRST-SCC-SW
ELSE
MOVE MAX-CARD1 TO MSTR-NBR-OF-POLLUTANTS
MOVE SAVE-POINTl TO MSTR-POINT-SOURCE
MOVE BINARY-1 TO POLL-SUB
PERFORM WRITE-OUTPUT-FILE THRU WRITE-OUTPUT-FILE-ENO
MOVE MAX-CARD1 TO SAVE-POINT-CNTR
MOVE IN-MAST1 TO SAVE-POINTl
PERFORM FIND-POINT-RECORD THRU FIND-POINT-RECORD-END
MOVE BINARY-1 TO POLL-SUB
PERFORM ZERO-POINT-FIELDS THRU ZERO-POINT-FIELDS-END
MAX-CARD1 TIMES
MOVE BINARY-1 TO POLL-SU3
PERFORM MOVE-INIT-INFO THRU MOVE-INIT-INFO-END
SAVE-POINT-CNTR TIMES
MOVE BINARY-1 TO POLL-SUB
MOVE FALSE TO FOUND-FIRST-SCC-SW
MOVE BINARY-1 TO SET2-SUB.
LOCATE-SEG1-END.
EXIT.
LOCATE-SEG2.
MOVE IN-SCC TO ERR-SCC (SET2-SUB).
ADD BINARY-1 TO INPUT-SEG2-COUNT.
MOVE BINARY-1 TO OPT-SUB.
MOVE ZERO TO POLL-SUB
MOVE IN-MAST2 TO MSTR-MACHINE-PROCESS
MOVE MSTR-FUEL-PROCESS-RATE TO
HOLD-NEW-THRUPUT (SET2-SU3).
MOVE MSTR-MACHINE-PROCESS TO SAVE-SET2 (SET2-SUB)
PERFORM INITIAL-CALCULATIONS THRU INITIAL-CALCULATIONS-END
BINARY-5 TIMES.
MOVE MSTR-MACHINE-PROCESS TO SAVE-SET2-X (SET2-SUB).
MOVE ZERO TO HOLD-CF-AREA ' HOLD-GROW.
PERFORM SEARCH-OPTIONS-SCC THRU SEARCH-OPTIONS-SCC-END.
IF HOLD-CF-AREA EQUAL TO ZERO
AND HOLD-GROW EQUAL TO ZERO
NEXT SENTENCE
ELSE
MOVE TRUE TO POINT-CHANGED-SW
MOVE HOLD-CF-AREA TO HOLD-REPEAT-CF (SETS-SUB)
MOVE HOLD-GROW TO HOLD-REPEAT-GROW (SET2-SUB).
ADD BINARY-1 TO SET2-SUB.
MOVE TRUE TO SEG2-PRESENT-SW.
LOCATE-SEG2-END.
EXIT.
MOVE-INIT-INFO.
MOVE ZERO TO SUB3.
IF SP-FOLL-TSP (POLL-SUB)
MOVE BINARY-1 TO SUB3
PERFORM MOVE-INIT-INF02 THRU MOVE-INIT-INF02-END
ELSE
IF SP-POLL-S02 (POLL-SUB)
MOVE BINARY-2 TO SUB3
PERFORM MOVE-INIT-INF02 THRU MOVE-INIT-INF02-END
ELSE
IF SP-POLL-CO (POLL-SUB)
MOVE BINARY-3 TO SUB3
PERFORM MOVE-INIT-INF02 THRU MOVE-INIT-INF02-END
ELSE
IF SP-POLL-NOX (POLL-SUB)
MOVE BINARY-4 TO SU33
PERFORM MOVE-INIT-INF02 THRU MOVE-INIT-INF02-END
00017700
00017710
00017720
00017730
00017740
00017750
00017760
00017770
000177SO
00017790
OC017800
00017310
00017S20
00017830
00017840
00017850
00017660
00017870
00017380
00017S90
00017900
00017910
00017920
00017910
00017940
00017950
00017960
00017970
00017930
00017990
00018000
OC018010
00018020
00018030
00018040
00018050
00018C60
00013070
00018030
00018090
00013100
00013110
C0018120
00018130
OC013140
00018150
00018160
C0018170
00018180
00018190
00018200
00018210
00018220
00038230
00013240
00018250
00010260
00018270
00018230
00018290
00018300
00013310
00018320
00013330
00013343
00016350
OOC18ZSO
00013370
00013380
00018390
00018400
00018410
OC013420
00018430
OOQ1S440
00018450
00013460
A-28
-------
ELSE
IF SP-POLL-HC (POLL-SUB)
MOVE BINARY-5 TO SUB3
PERFORM MOVE-INIT-INF02 THRU MOVE-INIT-INF02-END.
ADD BINARY-1 TO POLL-SUB.
MOVE-INIT-INFO-END.
EXIT.
MOVE-INIT-INF02.
IF SAVE-POINT-EMISSIONS-ESTIMATES (POLL-SUB) NUMERIC
AMD SAVE-POINT-EMISSIONS-ESTIMATES (POLL-SUB)
NOT EQUAL TO ZERO
MOVE SAVE-POINT-EMISSIONS-ESTIMATES (POLL-SUB)
TO POINT-PRES-CONT (SUB3)
ELSE
IF SAVE-POINT-ACTUAL (POLL-SUB) NUMERIC
MOVE SAVE-POINT-ACTUAL (POLL-SUB)
TO POINT-PRES-CONT (SUS3).
IF SAVE-POINT-CONTROL-EFF-R (POLL-SUB) NUMERIC
SUBTRACT SAVE-POINT-CCNTROL-EFFICIENCY (POLL-SUB) FROM
BINARY-1 GIVING POINT-PRES-CDEF1 (SUB3)
ELSE
MOVE BINARY-1 TO POINT-PRES-CDEF1 (SUB3).
MOVE-INIT-INF02-END.
EXIT.
MOVE-SET2.
MOVE MAX-CARD2 TO MSTR-NUMBER-OF-EF.
MOVE SAVE-SET2 (SUB) TO MSTR-MACHINE-PRCCESS.
MOVE HOLD-NEWr-THRUFUT (SU3)
TO MSTR-FUEL-PROCESS-RATE.
PERFORM WRITE-OUTPUT-FILE THRU WRITE-OUTPUT-FILE-END.
ADD BINARY-1 TO SUB.
MOVE-SET2-END.
EXIT.
OPTIONS-CONTROL.
OPEN INPUT OPTIONS-FILE.
PERFORM READ-OPTIONS-FILE THRU READ-OPTIONS-FILE-END.
IF OPTIONS-EOF
MOVE ZERO TO OPT-SUB
MOVE ERR-3 TO ERROR-CODE
PERFORM ERROR-ROUTINE THRU ERROR-ROUTINE-END
ELSE
MOVE ZERO TO OPT-SUB.
PERFORM PROCESS-OPTION-CARDS THRU PROCESS-OPTION-CARDSrENO
UNTIL OPTIONS-EOF.
MOVE OPT-SUB TO OPT-TBL-NBR.
MOVE 'MISC. POINT' TO OPT-SCC-TBL-LINE-ID (BINARY-51)
MOVE 'MISC. AREA1 TO OPT-SCC-TBL-LINE-ID (BINARY-52)
MOVE 'TOTAL1 TO OPT-SCC-TBL-LINE-ID (BINARY-53).
CLOSE OPTIONS-FILE.
OPTIONS-CONTROL-END.
EXIT.
PGM-INIT.
OPEN INPUT
OUTPUT
PNR-MASTER-IN-FILE
CONTROL-FILE
GROWTH-FILE
PNH-MASTER-PROJ-FILE
TEMP-CNTL-FILE
TEMP-GRWTH-FILE
A-29
00018470
00016430
00018490
00013500
00018510
C0018520
00018530
00016540
00018550
00018560
00018570
00018580
00018590
OC018600
00018610
00013620
00013630
00018640
00018650
00013660
00018670
00018680
00018690
00018700
00013710
00013720
00018730
00013740
00018750
00018760
00018770
00013780
0001S790
oociesoo
0001S310
00018820
00018830
00013840
00018650
00018860
00018870
00018830
00018390
00013900
00013910
00018920
00018930
00013940
00013950
00018960
00018970
000189SO
00016990
00019020
00019010
00019020
00019030
00019040
00019050
00019060
00019070
00019080
00019090
00019100
00019110
00019120
00019130
C0019140
00019150
00019160
00019170
00019130
C0019190
00019200
00019210
00019220
00019230
-------
REPORT-FILE
PRINT-FILE.
ACCEPT ACC-DATE FROM DATE.
MOVE ACC-YEAR TO HDR-YEAR.
MOVE ACC-MONTH TO HDR-MONTH.
MOVE ACC-DAY TO HDR-DAY.
PERFORM UPDATE-MESSAGES THRU UPDATE-MESSAGES-END.
MOVE ZERO TO ALL-SWITCHES-1 ALL-SVIITCHES-2.
MOVE ZERO TO CNTL-TABLE GRWTH-TABLE.
PERFORM OPTIONS-CONTROL THRU OPTIONS-CONTROL-END.
IF NOT END-OF-JOB
SORT SORT-CNTL-FILE
ON ASCENDING SORT-CNTL-KEY
INPUT PROCEDURE IS INPUT-CONTROL
OUTPUT PROCEDURE IS OUTPUT-CONTROL
SORT SORT-GRWTH-FILE
ON ASCENDING SORT-GRWTH-KEY
INPUT PROCEDURE IS INPUT-GROWTH
OUTPUT PROCEDURE IS OUTPUT-GROWTH.
MOVE SPACES TO HEAD2-FILL.
MOVE BINARY-1 TO SUB.
MOVE BINARY-1 TO SET2-SUB.
PERFORM MOVE-ZEROS THRU MOVE-ZEROS-END BINARY-53 TIMES.
MOVE BINARY-1 TO SUB1.
MOVE SPACES TO PRINT-DATA.
MOVE BINARY-3 TO LINE-SKIP.
PERFORM PRINT-ROUTINE THRU PRINT-ROUTINE-END.
MOVE TRUE TO FIRST-KEY-ERROR-SW.
CLOSE CONTROL-FILE
GROWTH-FILE
TEMP-CNTL-FILE
TEMP-GRWTH-FILE.
OPEN INPUT TEMP-CNTL-FILE
TEMP-GRWTH-FILE.
MOVE LOW-VALUES TO WS-TEMP-CNTL-KEY WS-TEMP-GRWTH-KEY.
MOVE FALSE TO TEMP-CNTL-EOF-SW TEMP-GRWTH-EOF-SW.
PGM-INIT-END.
EXIT.
PRELIMINARY-COMPUTATION.
MULTIPLY MSTR-FUEL-PROCESS-RATE
BY MSTR-EMISSION-FACTOR (POLL-S-SUB)
GIVING UNCONTROLLED-EMISSIONS ROUNDED
ON SIZE ERROR
MOVE TRUE TO SIZE-ERROR-SW
MOVE ZERO TO UNCONTROLLED-EMISSIONS.
PRELIMINARY-COMPUTATION-END.
EXIT.
PROCESS-OPTION-CARDS.
MOVE BINARY-1 TO SUB-A.
MOVE TRUE TO OPT-SCC-OK-SW.
MOVE ZEROS TO HOLD-ALL-LNG.
IF OPT-LINE-IS-AA
MOVE OPT-AREA TO HOLD-SEGO-INFO
ELSE
IF OPT-LINE-NBR EQUAL TO ZERO
MOVE ZERO TO OPT-SU3
MOVE OPT-HEADER TO HDR-USER-TITLE
IF OPT-DATE NUMERIC
MOVE OPT-DATE TO HOLD-OPTION-DATE
ELSE NEXT SENTENCE
ELSE
ADD BINARY-1 TO OPT-SUB
IF OPT-SCC-AREA NOT EQUAL TO SPACES
PERFORM CHECK-OPT-SCC THRU CHECK-OPT-SCC-ENO
UNTIL OPT-SCC (SUB-A) EQUAL TO SPACES
OR SUB-A GREATER THAN BINARY-8
IF OPT-SCC-OK
MOVE OPTION-CARDl TO OPT-SCC-TBL-LINE (OPT-SUB)
MOVE HOLD-ALL-LNG TO OPT-SCC-ALL-LNS (OPT-3U3)
SUBTRACT BINARY-1 FROM SUB-A GIVING OPT-NBR-SCC (OPT-SUB)
00019240
00019250
00019260
00019270
000192SO
00019290
00019300
00019310
00019320
00019330
00019340
00019350
00019360
00019370
000193SO
00019390
00019400
00019410
00019420
00019430
00019440
00019450
00019460
00019470
00019480
00019490
00019500
00019510
OC019520
00019530
00019540
00019550
00019560
00019570
00019580
00019590
00019600
00019610
00019620
00019630
00019640
00019650
OOC19660
00019670
00019680
C0019690
00019700
00019710
00019720
00019730
00019740
00019750
000197&0
00019770
00019760
00019790
00019800
00019810
00019620
COC19830
00019840
00019850
00019360
00019370
OOC198SO
00019390
00019900
00019910
00019920
OC019930
00019940
C0019950
00019960
C0019970
00019930
00319993
00020COO
A-30
-------
ELSE
SUBTRACT BINARY-1 FROM OPT-SU3
MOVE ERR-5 TO ERROR-CODE
PERFORM ERROR-ROUTINE THRU ERROR-ROUTIHE-END.
PERFORM READ-OPTIONS-FILE THRU READ-OPTIONS-FILE-END.
IF OPT-SUB NOT LESS THAN OPT-TBL-MAX
SUBTRACT BINARY-1 FROM OPT-SUB
IF NOT OPTIONS-EOF
MOVE ERR-2 TO ERROR-CODE
PERFORM ERROR-ROUTINE THRU ERROR-ROUTINE-END
MOVE TRUE TO OPTIONS-EOF-SW.
PROCESS-OPTION-CARDS-END.
EXIT.
PRINT-ROUTINE.
IF LINE-CTR IS NOT LESS THAN LINE-MAX
PERFORM HEADER-ROUTINE THRU HEADER-ROUTINE-END.
WRITE PRINT-LINE
AFTER ADVANCING LINE-SKIP LINES.
ADD LINE-SKIP TO LINE-CTR.
MOVE SPACES TO PRINT-DATA.
PRINT-ROUTINE-END.
EXIT.
HEADER-ROUTINE.
MOVE PRINT-DATA TO PRINT-SAVE
MOVE LIT-DIAG TO HDR-RPT-TITLE.
MOVE BINARY-1 TO HDR-SU8.
PERFORM PRINT-HEADER THRU PRINT-HEADER-END
BINARY-* TIMES.
MOVE BINARY-2 TO LINE-SKIP.
MOVE PRINT-SAVE TO PRINT-DATA.
HEADER-ROUTINE-END.
EXIT.
PRINT-HEADER.
MOVE LINES-SKIPPED (HDR-SUB) TO LINE-SKIP.
IF LINE-SKIP IS EQUAL TO NEW-PAGE
MOVE PAGE-NO TO PAGE-NUMBER
ADD BINARY-1 TO PAGE-NO
MOVE HEADER (HDR-SUB) TO PRINT-DATA
WRITE PRINT-LINE AFTER ADVANCING TO-NEW-PAGE
MOVE BINARY-1 TO LINE-CTR
ELSE
MOVE HEADER (HDR-SUB) TO PRINT-DATA
WRITE PRINT-LINE AFTER ADVANCING LINE-SKIP LINES
ADD LINE-SKIP TO LINE-CTR.
ADD BINARY-1 TO HDR-SUB.
PRINT-HEADER-END.
EXIT.
READ-MASTER-FILE.
IF NOT END-OF-FILE
READ PNR-MASTER-IN-FILE
AT END MOVE TRUE TO END-OF-FILE-SW
MOVE HIGH-VALUES TO IN-KEY.
IF NOT END-OF-FILE
ADD BINARY-1 TO INPUT-COUNT.
READ-MASTER-FILE-END.
EXIT.
READ-OPTIONS-FILE.
IF NOT OPTIONS-EOF
READ OPTIONS-FILE RECORD
AT END MOVE TRUE TO OPTIONS-EOF-SW.
IF NOT OPTICHS-EOF
MOVE OPTION-CARDl TO PRINT-DATA
00020010
00020020
OC020030
00020C40
00020050
00020060
OOC20070
00020080
00020090
00020100
00020110
C0020120
00020130
OOC2C140
00020150
00020160
00020170
00020180
OC0201?0
00020200
OOC2C210
00320220
00020230
00020240
OOC20250
00020260
00020270
00020280
00020290
00020300
00020310
OOC20320
C0020330
00020340
00020350
00020360
00020370
00020330
00020390
00020400
0002C410
00020420
OOC2043C
00020440
00020450
00020460
00020470
00020430
00020490
00020500
00020510
00020520
00020530
00020540
OCC2G550
0002CS60
00020570
C00205EO
00020590
0002C600
00020610
00020620
0002C630
00020640
00020650
00020o60
C0020670
00020630
OCI20693
0002070C
00020710
00020720
OOC20730
OC020740
OC02C750
00020760
00020770
A-31
-------
PERFORM PRINT-ROUTINE THRU PRINT-ROUTINE-END
ADD BINARY-1 TO OPTIONS-COUNT.
READ-OPTICNS-FILE-END.
EXIT.
REPORT-ROUTINE.
IF LINE-CTR-R IS NOT LESS THAN LINE-MAX
PERFORM HEADER-R-ROUTINE THRU HEADER-R-ROUTINE-END.
WRITE REPORT-LINE AFTER ADVANCING LINE-SKIP LINES.
ADD LINE-SKIP TO LINE-CTR-R.
MOVE SPACES TO REPORT-DATA WS-REPORT-LINE.
REPORT-ROUTINE-END.
EXIT.
HEADER-R-ROUTINE.
MOVE LIT-SUM TO HDR-RPT-TITLE.
MOVE REPORT-DATA TO PRINT-SAVE.
MOVE BINARY-1 TO HDR-SUB.
PERFORM PRINT-HEADER-R THRU PRINT-HEADER-R-END
BINARY-7 TIMES.
MOVE BINARY-2 TO LINE-SKIP.
MOVE PRINT-SAVE TO REPORT-DATA.
HEADER-R-ROUTINE-END.
EXIT.
PRINT-HEADER-R.
MOVE LINES-SKIPPED (HDR-SUB) TO LINE-SKIP.
IF LINE-SKIP IS EQUAL TO NEW-PAGE
MOVE PAGE-NO-R TO PAGE-NUMBER
ADD BINARY-1 TO PAGE-NO-R
MOVE HEADER (HDR-SU3) TO REPORT-DATA
URITE REPORT-LINE AFTER ADVANCING TO-NEW-PAGE
MOVE BINARY-1 TO LINE-CTR-R
ELSE
MOVE HEADER (HDR-SUS) TO REPORT-DATA
WRITE REPORT-LINE AFTER ADVANCING LINE-SKIP LINES
ADD LINE-SKIP TO LINE-CTR-R.
ADD BINARY-1 TO HDR-SUB.
PRINT-HEADER-R-END.
EXIT.
SEARCH-CNTL-TABLE.
MOVE NBR-CNTL-TABLE TO SUB-HI.
MOVE BINARY-1 TO SUS-LOW.
MOVE FALSE TO END-SEARCH1-SW FOUNO-FIRST-SCC-SW.
PERFORM SEARCH-CNTL-TABLE-1 THRU SEARCH-CNTL-TABLE-1-END
UNTIL FOUND-FIRST-SCC OR END-SEARCHl
OR CNTL-BND (SUB-LOW) GREATER THAN NBR-CNTL-TABLE
IF FOUND-FIRST-SCC
PERFORM SEARCH-CNTL-TABLE-2 THRU SEARCH-CNTL-TABLE-2-END
UNTIL END-SEASCH1 OR SU3-MID GREATER THAN SUB-HI.
3EARCH-CNTL-TABLE-END.
EXIT.
SEARCH-CNTL-TABLE-1.
MOVE CNTL-BND (SUB-LOW) TO SUB-MID.
IF CNTL-TABLE-KEY-3 (SUB-MID) EQUAL STOSE-KEY-3
MOVE TRUE TO FCUND-FIRST-SCC-SW
ADD SUB-LOW BINARY-1 GIVING SUB-P
MOVE CNTL-BND (SUB-P) TO SUB-HI
ELSE
IF CNTL-TABLE-KEY-3 (SUB-MID)
GREATER THAN STCRE-KEY-3
0002C730
OOC2C790
0002CSQO
00020310
OOC2G320
C002C330
00020340
00020S50
00020360
00020370
00020380
00020390
00020900
OOC20910
00020920
00020930
00020940
00020950
00020960
00020970
0002Q9SO
00020990
00021000
00021010
00021020
00021030
00021040
OC021050
00021060
00021070
00021080
00021090
00021100
00021110
OC021120
00021130
00021140
00021150
00021160
00021170
00021130
00021190
00021200
00321210
OC021220
00021230
00021240
00021250
00021260
OOC21270
000212SO
00021290
00021300
00021310
00021320
00021330
00021340
00021350
00021360
00021370
00021380
03021390
000214CO
00021410
00021420
C0021430
00021440
00021450
00021460
00021470
00021480
00021490
03021500
00021510
00021S20
00021530
OC021540
A-32
-------
MOVE TRUE TO END-SEARCH1-SW
ELSE
ADD BINARY-1 TO SUB-LOW.
SEARCH-CNTL-TABLE-1-END.
EXIT.
SEARCH-CNTL-TABLE-2.
IF MSTR-SCC EQUAL CNTL-TABLE-SCC (SUB-MID)
IF STORE-SIC EQUAL CNTL-TABLE-SIC (SUB-MID)
MOVE CNTL-TABLE-CF-AREA (SUS-MID) TO HOLD-CF-AREA
MOVE TRUE TO END-SEARCH1-SW
ELSE
IF CNTL-TABLE-SIC (SUB-MID) EQUAL TO HIGH-VALUES
MOVE CNTL-TABLE-CF-AREA (SU3-MID) TO HOLD-CF-AREA
MOVE TRUE TO END-SEARCH1-SW
ELSE
ADO BINARY-1 TO SUB-MID
ELSE
IF CNTL-TABLE-SCC (SUS-MID) EQUAL TO HIGH-VALUES
IF STORE-SIC EQUAL TO CNTL-TABLE-SIC (SUB-MID)
MOVE CNTL-TABLE-CF-AREA (SUB-MID) TO HOLD-CF-AREA
MOVE TRUE TO END-SEARCH1-SW
ELSE
IF STORE-SIC LESS THAN CNTL-TABLE-SIC (SUB-MID)
MOVE TRUE TO ENO-SEARCH1-SM
ELSE
ADD BINARY-1 TO SUB-MID
ELSE
ADD BINARY-1 TO SUB-MID.
SEARCH-CNTL-TABLE-3-END.
EXIT.
SEARCH-GRWTH-TABLE.
MOVE NBR-GRWTH-TABLE TO SUB-HI.
MOVE BINARY-1 TO SUB-LOW.
MOVE FALSE TO END-SEARCH1-SW FOUND-FIRST-SCC-SW.
PERFORM SEARCH-GRWTH-TABLE-1 THRU SEARCH-GRWTH-TABLE-1-END
UNTIL FOUND-FIRST-SCC OR END-SEARCHl
OR GRWTH-BSD (SUB-LOW) GREATER THAN NBR-GRUTH-TABLE
IF FOUND-FIRST-SCC
PERFORM SEARCH-GRWTH-TABLE-2 THRU SEARCH-GRWTH-TABLc-2-EKD
UNTIL END-SEARCHl OR SUB-MID GREATER THAN SUB-HI.
SEARCH-GRWTH-TABLE-END.
EXIT.
SEARCH-GRWTH-TA3LE-1.
MOVE GRWTH-BKD (SUB-LOW) TO SUB-MID.
IF GRWTH-TABLE-KEY-3 (SUB-MID) EQUAL ST03E-KEY-3
MOVE TRUE TO FOUND-FIRST-SCC-SW
ADD SUB-LOW BINARY-1 GIVING SUB-P
MOVE GRWTH-BND (SU3-P) TO SU3-HI
ELSE
IF GRWTH-TABLE-KEY-3 (SU3-MID)
GREATER THAN STORE-KEY-3
MOVE TRUE TO END-SEARCH1-SW
ELSE
ADD BINARY-1 TO SUB-LOW.
SEARCH-GRWTH-TABLE-1-END.
EXIT.
SEARCH-GRWTH-TABLE-8.
IF MSTR-SCC EQUAL GRWTH-TASLE-SCC (SUB-MID)
IF STORE-SIC EQUAL GRWTH-TA3LE-SIC (SUB-MID)
MOVE GRWTH-TABLE-GSOW (SU3-MID) TO HOLD-GROW
MOVE TRUE TO END-SEARCH1-SW
ELSE
IF GRWTH-TABLE-SIC (SUB-MID) EQUAL TO HIGH-VALUES
MOVE GRWTH-TABLE-GROW (SUB-MID) TO HOLD-GROW
03021550
00021560
00321570
00021580
00021590
C0021600
00321610
00021620
00021630
00021640
00021650
00021660
00021670
00021680
00021690
00021700
00021710
00021720
00021730
00021740
00021750
00321760
OCC21770
00021730
00021790
00021800
00021310
00021820
00021330
00021640
00021350
00021860
C0021S70
00021330
00021890
00021900
00021910
CCC21920
00021933
OOOSlSsO
OOOZ195Q
OuOai960
00021970
00021900
00321C90
OC022COO
003C231C
00022U20
00022030
00022040
00322050
00322063
00022073
00022080
00022090
00022100
00022110
OC022120
0002217,0
000221'VO
OOOC2150
OOC22160
00022170
0002cl£0
000^2190
OCOr.£200
0002^220
00022233
00022240
000222SO
03022263
00022273
300222£0
000222SC
00022300
00022310
A-33
-------
MOVE TRUE TO END-SEARCH1-SW
ELSE
ADD BINARY-1 TO SUB-MID
ELSE
IF GRWTH-TABLE-SCC (SUB-MID) EQUAL TO HIGH-VALUES
IF STORE-SIC EQUAL TO G3WTH-TABLE-SIC (SUB-MID)
MOVE GRWTH-TABLE-GROW (SUB-MID) TO HOLD-GROW
MOVE TRUE TO END-SEARCH1-SW
ELSE
IF STORE-SIC LESS THAN. GRWTH-TABLE-SIC (SUB-MID)
MOVE TRUE TO END-SEARCH1-SW
ELSE
ADO BINARY-1 TO SUB-MID
ELSE
ADD BINARY-1 TO SUB-MID.
SEARCH-GRWTH-TABLE-a-END v
EXIT.
SEARCH-CNTL-SCC.
IF MSTR-SCC EQUAL TEMP-CNTL-SCC (SU33)
MOVE TEMP-CNTL-SCC-CF-AREA (SUB3) TO KOLD-CF-AREA
MOVE TRUE TO OPTIONS-SCC-FOUND-SW
ELSE
ADD BINARY-1 TO SUB3.
SEARCH-CNTL-SCC-END.
EXIT.
SEARCH-GRWTH-SCC.
IF MSTR-SCC EQUAL TEMP-GRWTH-SCC (SUB3)
MOVE TEMP-GRWTH-SCC-GROW (SUB3) TO HOLD-GROW
MOVE TRUE TO OPTIONS-SCC-FOUND-SW
ELSE
ADD BINARY-1 TO SUB3.
SEARCH-GRWTH-SCC-END.
EXIT.
SEARCH-OPTIONS-SCC.
MOVE FALSE TO OPTIONS-SCC-FOUND-SW
IF STORE-CNTL-OK
MOVE BINARY-1 TO SUB3
PERFORM SEARCH-CNTL-SCC THRU SEARCH-CNTL-SCC-END
UNTIL OPTIONS-SCC-FOUNO OR SUB3 GREATER THAN MAX-CARDS
IF NOT OPTIONS-SCC-FOUND
MOVE TEMP-CNTL-CF-AREA TO HOLD-CF-AREA
ELSE
NEXT SENTENCE
ELSE
IF NBR-CNTL-TABLE NOT EQUAL TO ZERO
PERFORM SEARCH-CNTL-TABLE THRU SEARCH-CNTL-TABLE-END.
MOVE FALSE TO OPTIONS-SCC-FOUND-SW
IF STORE-GRWTH-OK
MOVE BINARY-1 TO SU33
PERFORM SEARCH-GRWTH-SCC THRU SEARCH-GRWTH-SCC-EK'D
UNTIL OPTIONS-SCC-FOUND OR SUBS GREATER THAN MAX-CARD2
IF NOT OPTIONS-SCC-FOUND
MOVE TEMP-GRWTH-POINT-GROW TO HOLD-GROW
ELSE
NEXT SENTENCE
ELSE
IF NBR-GRWTH-TABLE NOT EQUAL TO ZERO
PERFORM SEARCH-GRWTH-TABLE THRU SEARCH-GRWTH-TABLE-END.
SEARCH-OPTIONS-SCC-END.
EXIT.
SEARCH-FOR-POLLUTANT-IO.
IF SAVE-POINT-POLLUTANT-ID (POLL-SUB) EQUAL TO
MSTR-POLLUTANT-ID (POLL-S-SUB)
MOVE TRUE TO END-SEARCH-SW
00022330
00022330
00022340
00022Z50
00022360
OCC22370
00022330
00022390
00022400
00022410
0002C420
00022430
00022440
00022450
00022460
00022470
000224SO
00022490
00022500
00022510
00022520
00022530
00022540
00022530
00022560
OC022570
00022580
00022590
00022600
00022610
00022620
00022630
00022640
00032650
00022660
00022670
00022630
00022690
00022700
00022710
00022720
00022730
00022740
00022750
00022760
00022770
00022730
00022793
00022SOO
00022310
00022820
00022830
OOC2234C
00022850
00022660
0002C870
00022880
00022890
000229CO
00022910
00022920
00022920
00022940
00022950
00022960
00022970
00022980
00022990
CC023000
00023010
00023020
00023030
00023040
00023050
00023060
OC023070
00023080
A-34
-------
MOVE FALSE TO OPTIONS-SCC-FOUNO-SW
MOVE MSTR-POLLUTANT-IO (POLL-S-SUB) TO
POLL-ID-CHECK
MOVE BINARY-1 TO OPT-SUB
PERFORM CHECK-POLL-ID THRU CHECK-POLL-ID-END
IF NOT BYPASS-CALC
MOVE ZERO TO HOLD-CF-AREA
MOVE ZERO TO HOLD-GROW
MOVE HOLD-REPEAT-CF (CALC-SU3) TO HOLD-CF-AREA
MOVE HOLD-REPEAT-GROW (CALC-SUB) TO HOLD-GROW
IF HOLD-CF-AREA EQUAL TO ZERO
AND HOLD-GROW EQUAL TO ZERO
MOVE BINARY-1 TO HOLD-GROW
ELSE
IF HOLD-GROW EQUAL TO ZERO
MOVE BINARY-1 TO HOLD-GROW.
IF END-SEARCH AND NOT BYPASS-CALC
SUBTRACT BINARY-1 FROM HOLD-GROW GIVING GROWTH-FACT-ONE
ELSE
MOVE ZERO TO GROWTH-FACT-ONE.
IF END-SEARCH AND NOT BYPASS-CALC
SUBTRACT HOLD-ECF1 (SUB1) FROM BINARY-1 GIVING
ONE-EMISSION-CONTROL-FACT1
SUBTRACT HOLD-ECF2 (SU31) FROM BINARY-1 GIVING
ONE-EMISSION-CONTROL-FACTS
SUBTRACT HOLD-TCFl FROM BINARY-1 GIVING
ONE-GROWTH-CONTROL-FACT1
SUBTRACT HOLD-TCF2 FROM BINARY-1 GIVING
ONE-GROWTH-CONTROL-FACTS
ELSE
MOVE BINARY-1 TO ONE-EMISSION-CONTROL-FACT1
ONE-EMISSION-CONTROL-FACTS
ONE-GRCWTH-CONTROL-FACT1
ONE-GROWTH-CONTROL-FACT2.
IF NOT BYPASS-CALC
IF ONE-EMISSION-CONTROL-FACT1 EQUAL TO BINARY-1
AND ONE-EMISSION-CONTROL-FACTS EQUAL TO BINARY-1
MOVE POINT-PRES-CDEF1 (SUB1) TO CFACT
ELSE
MOVE BINARY-1 TO CFACT.
SEARCH-FOR-POLLUTANT-ID-ENO.
EXIT.
UPDATE-MESSAGES.
MOVE U-MSG-1 TO PRINT-DATA.
PERFORM PRINT-ROUTINE THRU PRINT-ROUTINE-END.
MOVE U-MSG-2 TO PRINT-DATA.
WRITE PRINT-LINE AFTER ADVANCING BINARY-1 LINES.
MOVE U-MSG-3 TO PRINT-DATA.
WRITE PRINT-LINE AFTER ADVANCING BINARY-1 LINES.
MOVE U-MSG-4 TO PRINT-DATA.
WRITE PRINT-LINE AFTER ADVANCING BINARY-1 LINES.
UPDATE-MESSAGES-END.
EXIT.
WRITE-OUTPUT-FILE.
MOVE HOLD-OPTION-DATE TO MSTR-DATE-OF-SEGMENT.
IF MSTR-SEGMENT-0
MOVE HOLD-SEGO-INFO TO MSTR-INFO-AREA.
MOVE MSTR-POINT-SOURCE TO OUT-MAST1.
IF MSTR-SEGMENT-0
WRITE OUT-MASTO
ADD BINARY-1 TO OUTPUT-COUNT
ELSE
IF MSTR-SEGMENT-1
MOVE BINARY-1 TO POLL-SUB
WRITE OUT-MAST1
ADD BINARY-1 TO OUTPUT-COUNT
ELSE
A-35
00023090
00323100
00023110
00023120
00023130
00023140
00023150
00023160
00023170
000231SO
00023190
00023200
00023210
OOC23220
00023230
000232*0
00023250
00023260
00023270
00023260
00023290
00023300
OC023310
00023320
00023330
00023340
00023350
00023360
00023370
OC0233SO
00023390
OOG23400
00023410
00023420
00023430
00023440
00023450
00023460
00023470
00023430
00023490
00023500
00023510
OC023520
00023530
00023540
00023550
00023560
00023570
00023500
00023590
00023600
00023610
00023620
00023630.
00023640
00022650
00023660
00023670
00023680
00023690
00023700
00023710
00023720
00023730
00023740
00023750
00023760
00023770
00023780
00023790
00023800
00023230
00023320
OOC23330
OC023S40
00023650
-------
BINARY-2) TO RPT-S02.
BINARY-3) TO RPT-CO.
BINARY-*) TO RPT-NOX.
IF MSTR-SEGMENT-a
ADD BINARY-1 TO OUTPUT-COUNT
WRITE OUT-MAST2
ELSE
IF MSTR-SEGMENT-3
WRITE OUT-MAST3
ADD BINARY-1 TO OUTPUT-COUNT.
WRITE-OUTPUT-FILE-END.
EXIT.
WRITE-REPORT.
MOVE OPT-SCC-TBL-LINE-ID (SUB1) TO RPT-LINE-ID.
MOVE RPT-EMISSIONS (SUBli BINARY-1) TO RPT-TSP.
MOVE RPT-EMISSIONS (SUB1,
MOVE RPT-EMISSIONS (SUB1,
MOVE RPT-EMISSIONS (SUB1>
MOVE RPT-EMISSIONS (SUB1, BINARY-5) TO RPT-HC.
ADD RPT-EMISSICNS (SU31, BINARY-1)
TO TOTAL-EMISS (SUB1, BINARY-1)
RPT-EHISSIONS (BINARY-53, BINARY-1).
ADD RPT-EMISSIONS (SUB1, BINARY-2)
TO TOTAL-EMISS (SUB1, BINARY-2)
RPT-EMISSIONS (BINARY-53, BINARY-2)
ADD RPT-EMISSIONS (SUB1, BINARY-3)
TO TOTAL-EMISS (SU31, BINARY-3)
RPT-EMISSIONS (BINARY-53, BINARY-3).
ADD RPT-EMISSIONS (SUB1, BINARY-*)
TO TOTAL-EMISS (SUB1, BINARY-*)
RPT-EMISSIONS (BINARY-53, BINARY-*)
ADD RPT-EMISSIONS (SUB1, BINARY-5)
TO TOTAL-EMISS (SUB1, BINARY-5)
RPT-EMISSIONS (BINARY-53, BINARY-5).
MOVE WS-REFORT-LINE TO REPORT-DATA.
MOVE ZERO TO RPT-EMISSIONS (SUS1, BINARY-1).
MOVE ZERO TO RPT-EMISSIONS (SU31, BINARY-2).
MOVE ZERO TO RPT-EMISSIONS (SU31, BINARY-3).
MOVE ZERO TO RPT-EMISSIONS (SUB1, BINARY-*).
MOVE ZERO TO RPT-EMISSIONS (SU31, BINARY-5).
MOVE BINARY-1 TO LINE-SKIP.
PERFORM REPORT-ROUTINE THRU REPORT-ROUTINE-END.
MOVE IN-KEY TO RPT-KEY-1.
ADD BINARY-1 TO SUB1.
WRITE-REPORT-END.
EXIT.
BINARY-2) TO RPT-S02.
BINARY-3) TO RPT-CO.
BINARY-*) TO RPT-NOX.
BINARY-5) TO RPT-HC.
WRITE-TOTAL-LINE.
MOVE OPT-SCC-TBL-LINE-ID (SUB1) TO RPT-LINE-ID.
MOVE TOTAL-EMISS (SUB1, BINARY-1) TO RPT-TSP.
MOVE TOTAL-EMISS (SUB1,
MOVE TOTAL-EMISS (SUS1,
MOVE TOTAL-EMISS (SU31,
MOVE TOTAL-EMISS (SUB1,
MOVE WS-REPORT-LINE TO REPORT-DATA.
MOVE BINARY-1 TO LINE-SKIP.
PERFORM REPORT-ROUTINE THRU REPORT-ROUTINE-END.
ADD BINARY-1 TO SUB1.
WRITE-TOTAL-LINE-END.
EXIT.
WRAP-UP.
MOVE .LINE-MAX TO LINE-CTR.
MOVE 1 TO SUB2.
MOVE INPUT-COUNT TO INPUT-CUT.
MOVE ENDLINE-1 TO PRINT-DATA.
PERFORM PRINT-ROUTINE THRU P3INT-RCUTINE-END.
MOVE OUTPUT-COUNT TO OUTPUT-CNT.
MOVE ENDLINE-2 TO PRINT-DATA.
PERFORM PRINT-ROUTINE THRU PRINT-ROUTINE-END.
MOVE INPUT-SEG1-COUNT TO POINT-CNT.
00023860
00023370
00023880
00023390
00023SOO
00023910
00023920
00023930
000239*0
00023950
C0023960
00023970
00023930
00023990
0002*000
00024010
0002*020
0002*030
0002*040
0002*050
0002*060
0002*070
0002*030
0002*090
0002*100
0002*110
0002*120
0002*130
0002*1*0
0002*150
0002*160
0002*170
0002*180
0002*190
0002*200
0002*210
0002*220
0002*230
0002*2*0
0002*250
0002*260
0002*270
0002*280
0002*290
0002*300
0002*310
0002*320
0002*330
0002*3*0
0002*350
0002*360
0002*370
0002*380
0002*390
0002**00
OC02**10
0002**20
0002**30
0002***0
0002**50
0002**60
0002**70
0002**80
0002**90
0002*500
0002*510
0002*520
0002*530
0002*5*0
0002*550
0002*560
0002*570
0002*530
OC02*590
0002*600
0002*610
0002*620
A-36
-------
MOVE ENDLINE-7 TO PRINT-DATA.
PERFORM PRINT-ROUTINE THRU PRINT-ROUTINE-END.
MOVE OPTIONS-COUNT TO OPTIONS-CNT.
MOVE ENDLINE-3 TO PRINT-DATA.
PERFORM PRINT-ROUTINE THRU FRINT-ROUTINE-END.
MOVE INPUT-CNTL-COUNT TO INPUT-CNTL-CNT.
MOVE ENDLINE-4 TO PRINT-DATA.
PERFORM PRINT-ROUTINE THRU PRINT-ROUTINE-END.
MOVE INPUT-GRWTH-COUNT TO INPUT-GRWTH-CNT.
MOVE ENDLINE-5 TO PRINT-DATA.
PERFORM PRINT-ROUTINE THRU PRINT-ROUTINE-END.
MOVE ERROR-COUNT TO ERROR-CNT.
MOVE ENDLINE-6 TO PRINT-DATA.
PERFORM PRINT-ROUTINE THRU PRINT-ROUTINE-END.
MOVE BINARY-1 TO SUB2.
MOVE BINARY-1 TO SUB1.
MOVE LIT-REGION TO HDR-AREA.
MOVE LINE-MAX TO LINE-CTR-R.
PERFORM WRITE-TOTAL-LINE THRU KRITE-TOTAL-LINE-END
OPT-TBL-NBR TIMES.
MOVE BINARY-51 TO SUB1.
PERFORM URITE-TOTAL-LINE THRU KRITE-TOTAL-LINE-END
BINARY-3 TIMES.
CLOSE PNR-MASTER-IN-FILE
PNR-MASTER-PROJ-FILE
TEMP-CNTL-FILE
TEMP-GRWTH-FILE
REPORT-FILE
PRINT-FILE.
WRAP-UP-END.
EXIT.
SEARCH-INIT-POLL.
IF MSTR-POLLUTANT-IO (POLL-S-SU3)
EQUAL TO LIT-POLL-NBR (POLL-SUB)
MOVE TRUE TO END-SEARCH-SW
PERFORM CALC-EDIT-ROUTINE THRU CALC-EDIT-ROUTINE-END
ELSE
ADD BINARY-1 TO POLL-S-SUB.
SEARCH-INIT-POLL-END.
EXIT.
MOVE-ZEROS.
MOVE ZERO TO
MOVE ZERO TO
MOVE ZERO TO
MOVE ZERO TO
MOVE ZERO TO
ADD BINARY-1
MOVE-ZEROS-END.
EXIT.
TOTAL-EMISS (SUB, BINARY-1)
RPT-EMISSIONS (SUB, BINARY-1).
TOTAL-EMISS (SUB, BINARY-2)
RPT-EMISSIONS (SU3, BINARY-2).
TOTAL-EMISS (SUB, BINARY-3)
RPT-EMISSIONS (SU3, BINARY-3).
TOTAL-EMISS (SUB, BINARY-*)
RPT-EMISSICNS (SUB, 8INARY-4).
TOTAL-EMISS (SUB, BINARY-5)
RPT-EMISSIONS (SUB, BINARY-5).
TO SUB.
ZERO-POINT-FIELDS.
MOVE ZERO TO HOLD-EMISSIONS (POLL-SUB)
HOLD-EMIS-CHG (POLL-SUB).
ADD BINARY-1 TO POLL-SUB.
ZERO-POINT-FIELDS-END.
. EXIT.
INPUT-CONTROL SECTION.
IN-CNTL-ROOT.
MOVE LINE-MAX TO LINE-CTR.
MOVE 'CONTROL FILE' TO HEAD2-FILL.
PERFORM INPUT-PROCESS-CONTROL-FILE
00024630
00024640
00024650
00024560
00024670
00024630
00024690
00024700
00024710
00024720
OC024730
00024740
00024750
00024760
OC324770
00024730
C0024790
00024600
00024S10
00024820
00024S30
00024640
00024S50
C0024S60
00024370
00024380
00024890
00024900
00024910
00024920
OC024930
00024940
00024930
00024960
00024970
00024930
00024990
00325000
00025010
00025020
00025030
00025040
00025050
00025060
00025070
OOC25080
00025090
00025100
00025110
00025120
00025130
00025140
00025150
00025160
00025170
00025130
00025190
00025200
00025210
00025220
00025230
00025240
00025250
00025260
00025270
00025230
00025290
00025300
00025310
00025320
00023330
OC025340
00025350
0002536C
00025370
000253SO
00025390
A-37
-------
THRU INPUT-PROCESS-CONTROL-FILE-ENO
UNTIL CONTROL-FILE-EOF.
60 TO INPUT-CNTL-PROCESS-END.
IN-CNTL-ROOT-END.
EXIT.
INPUT-PROCESS-CONTROL-FILE.
IF NOT CONTROL-FILE-EOF
READ CONTROL-FILE
AT END MOVE TRUE TO CONTROL-FILE-EOF-SW.
IF NOT CONTROL-FILE-EOF
MOVE CONTROL-RECORDl TO WS-CONTROL-RECORD PRINT-DATA
ADD BINARY-1 TO INPUT-CNTL-COUNT
PERFORM PRINT-ROUTINE THRU PRINT-ROUTINE-END
MOVE TRUE TO VALID-RECORD-SW
PERFORM EDIT-COHTROL-RECORD THRU EDIT-CONTROL-RECORD-END.
INPUT-PROCESS-CONTROL-FILE-END.
EXIT.
EDIT-CONTROL-RECORD.
IF NOT VALID-CNTL-STATE
MOVE ERR-12 TO ERROR-CODE
PERFORM ERROR-ROUTINE THRU ERROR-ROUTINE-EHO
MOVE FALSE TO VALID-RECORD-SW.
IF CNTL-COUNTY NOT NUMERIC
MOVE ERR-13 TO ERROR-CODE
PERFORM ERROR-ROUTINE THRU ERROR-ROUTINE-END
MOVE FALSE TO VALID-RECORD-SW.
IF CNTL-SIC EQUAL TO SPACES
MOVE HIGH-VALUES TO CNTL-SIC
ELSE
IF CNTL-SIC NOT NUMERIC
MOVE ERR-1<» TO ERROR-CODE
PERFORM ERROR-ROUTINE THRU ERROR-ROUTINE-END
MOVE FALSE TO VALID-RECORD-SW.
IF CNTL-PLANT EQUAL TO SPACES
MOVE HIGH-VALUES TO CNTL-PLANT
ELSE
IF CNTL-PLANT NOT NUMERIC
MOVE ERR-15 TO ERROR-CODE
PERFORM ERROR-ROUTINE THRU ERROR-ROUTINE-END
MOVE FALSE TO VALID-RECCRD-SW.
IF CNTL-POINT EQUAL TO SPACES
MOVE HIGH-VALUES TO CNTL-POINT
ELSE
IF CNTL-POINT NOT NUMERIC
MOVE ERR-16 TO ERROR-CODE
PERFORM ERROR-ROUTINE THRU ERROR-ROUTINE-ENO
MOVE FALSE TO VALID-RECORD-SW.
IF CNTL-SCC EQUAL TO SPACES
MOVE HIGH-VALUES TO CNTL-SCC
ELSE
IF CNTL-SCC NOT NUMERIC
MOVE ERR-17 TO ERROR-CODE
PERFORM ERROR-ROUTINE THRU ERROR-ROUTINE-END
MOVE FALSE TO VALID-RECCRD-SW.
IF CNTL-TCF2 EQUAL TO SPACES
MOVE CNTL-TCF1 TO CNTL-TCF2.
MOVE BINARY-1 TO SUB-P.
PERFORM CHECK-CNTL-FACTOR THRU CHECK-CNTL-FACTOR-END
BINARY-5 TIMES.
EXAMINE CNTL-CF-AREA REPLACING ALL SPACES BY ZEROS.
IF CNTL-CF-AREA NOT NUMERIC
MOVE ERR-18 TO ERROR-CODE
MOVE FALSE TO VALID-RECORD-SW
PERFORM ERROR-ROUTINE THRU ERROR-ROUTINE-END.
IF VALID-RECORD
IF CNTL-PLANT EQUAL TO HIGH-VALUES
IF CNTL-POINT EQUAL TO HIGH-VALUES
IF CNTL-SCC EQUAL TO HIGH-VALUES
AND CNTL-SIC ECUAL TO HIGH-VALUES
MOVE ERR-26 TO ERROR-CODE
PERFORM ERROR-ROUTINE THRU ERRCR-ROUTINE-END
MOVE FALSE TO VALID-RECOR3-SW
A-38
OOC25400
00025410
00025420
00025430
00025440
00025450
00025460
00025470
00025480
00025490
00025500
00025510
00025520
00025530
00025540
00025550
00025560
COC25570
00025580
00025590
00025600
00023610
00025620
00025630
00025640
00025650
00025660
00025670
00025630
00025690
00025700
00025710
00025720
00025730
00025740
OCC25750
00025760
00025770
OC025780
00025790
00025SOO
C0025310
00025820
00025830
00025840
00025350
00025860
00025370
000253GO
00025690
C00259CO
00025910
00025920
00025930
00025940
00025950
000£59oO
00025970
00025980
00025990
00026CGO
00026010
00026020
00026030
00026040
0002S050
0002S060
00026070
000260SO
OC326090
00026100
OCC26110
00026120
00026130
00026140
0002&150
00026160
-------
ELSE NEXT SENTENCE
ELSE
MOVE ERR-26 TO ERROR-CODE
PERFORM ERROR-ROUTINE THRU ERROR-ROUTINE-EUD
MOVE FALSE TO VALID-RECORD-SW
ELSE
IF CNTL-POINT EQUAL TO HIGH-VALUES
MOVE ERR-26 TO ERROR-CODE
PERFORM ERROR-ROUTINE THRU ERROR-ROUTINE-END
MOVE FALSE TO VALID-RECORD-SW.
IF VALID-RECORD
MOVE CNTL-STATE TO SORT-CNTL-STATE
MOVE CNTL-CCUNTY TO SORT-CNTL-COUNTY
MOVE CNTL-PLANT TO SORT-CNTL-PUNT
MOVE CNTL-POINT TO SORT-CNTL-POINT
MOVE CNTL-SCC TO SORT-CNTL-SCC
MOVE CNTL-SIC TO SORT-CNTL-SIC
MOVE CNTL-CF-AREA TO SORT-CNTL-CF-AREA
RELEASE SORT-CNTL-RECORD.
EDIT-CONTROL-RECORD-END.
EXIT.
CHECK-CNTL-FACTCR.
IF CNTL-ECF2 (SUB-P) EQUAL TO SPACES
MOVE CNTL-ECF1 (SUB-P) TO CNTL-ECF2 (SUB-P).
ADD BINARY-1 TO SUB-P.
CHECK-CNTL-FACTOR-END.
EXIT.
INPUT-CNTL-PROCESS-END.
EXIT.
INPUT-GROWTH SECTION.
IN-GRWTH-ROOT.
MOVE LINE-MAX TO LINE-CTR.
MOVE 'GROWTH FILE' TO HEAD2-FILL.
PERFORM INPUT-PROCESS-GRCWTH-FILE
THRU INPUT-PROCESS-GRCWTH-FILE-END
UNTIL GROWTH-FILE-EOF.
GO TO INPUT-GRWTH-PROCESS-END.
IN-GRWTH-ROOT-END.
EXIT.
INPUT-PROCESS-GROWTH-FILE.
IF NOT GROWTH-FILE-EOF
READ GROWTH-FILE
AT END MOVE TRUE TO GROWTH-FILE-EOF-SW.
IF NOT GROWTH-FILE-EOF
MOVE GROWTH-RECORDl TO WS-GROWTH-RECORD PRINT-DATA
ADD BINARY-1 TO INFUT-GRWTH-COUNT
PERFORM PRINT-ROUTINE THRU PRINT-ROUTINE-END
MOVE TRUE TO VALID-RECORD-SW '
PERFORM EDIT-GROWTH-RECORD THRU EDIT-GROWTH-RECORD-END.
INPUT-PROCESS-GROWTH-FILE-END.
EXIT.
EDIT-GROWTH-RECORD.
IF NOT VALID-GRWTH-STATE
MOVE ERR-19 TO ERROR-CODE
PERFORM ERROR-ROUTINE THRU ERROR-ROUTINE-END
MOVE FALSE TO VALID-RECOHD-SW.
IF GRWTH-COUNTY NOT NUMERIC
MOVE ERR-20 TO ERROR-CODS
PERFORM ERROR-ROUTINE THRU ERROR-ROUTIUE-END
MOVE FALSE TO VALID-RECORD-SW.
00026170
OOC26180
00026190
00026200
OC026210
00026220
00026230
00026240
00026250
00026260
00026270
OOC26280
00026290
00026300
00026310
00026320
00026330
000263*0
00026350
00026360
00026370
00026330
00026390
OOC26400
00026*10
00026420
00026430
00026440
00026450
00026460
03026470
00026480
00026490
C0026500
00026510
OC026520
00026530
00026540
00026550
00026560
00026570
C0026580
00026590
00026600
00026610
00026620
00026630
OOC26640
00026650
00026660
00026670
00026680
OOOC6690
00026700
00026710
00026720
OC026730
00026740
00026750
00026760
00026770
00026730
00026790
00026800
00026310
OOC26S20
00026830
00026S40
00026850
OOC26S6C
00026S70
00026380
00026890
000269CO
00026910
00026920
00026930
A-39
-------
IF GRWTH-SIC EQUAL TO SPACES
MOVE HIGH-VALUES TO GRWTH-SIC
ELSE
IF GRWTH-SIC NOT NUMERIC
MOVE ERR-21 TO ERROR-CODE
PERFORM ERROR-ROUTINE THRU ERROR-RCUTINE-END
MOVE FALSE TO VALID-RECORD-SW.
Jf GRHTH-PLANT EQUAL TO SPACES
MOVE HIGH-VALUES TO GRWTH-PLANT
ELSE
IF GRWTH-PLANT NOT NUMERIC
MOVE ERR-22 TO ERROR-CODE
PERFORM ERRCR-RCUTINE THRU ERROR-ROUTINE-END
MOVE FALSE TO VALID-RECCSO-SW.
IF GRWTH-POINT EQUAL TO SPACES
MOVE HIGH-VALUES TO GRWTH-POINT
ELSE
IF GRWTH-POINT NOT NUMERIC
MOVE ERR-23 TO ERROR-CODE
PERFORM ERROR-ROUTINE THRU ERROR-ROUTINE-END
MOVE FALSE TO VALID-RECORD-SW.
IF GRWTH-SCC EQUAL TO SPACES
MOVE HIGH-VALUES TO GRWTH-SCC
ELSE
IF GRUTH>-SCC NOT NUMERIC
MOVE ERR-24 .TO ERROR-CODE
PERFORM ERROR-ROUTINE THRU ERROR-ROUTINE-END
MOVE FALSE TO VALID-RECORD-SW.
EXAMINE GRWTH-GROWTH-FACTOR REPLACING ALL SPACES BY ZEROS
IF GRWTH-GROWTH-FACTOR NOT NUMERIC
MOVE FALSE TO VALID-RECORD-SW
MOVE ERR-25 TO ERROR-CODE
PERFORM ERROR-ROUTINE THRU ERROR-ROUTINE-END.
IF VALID-RECORD
IF GRWTH-PLANT EQUAL TO HIGH-VALUES
IF GRWTH-POINT EQUAL TO HIGH-VALUES
IF GRWTH-SCC EQUAL TO HIGH-VALUES
AND GRWTH-SIC EQUAL TO HIGH-VALUES
MOVE ERR-26 TO ERROR-CODE
PERFORM ERROR-ROUTINE THRU ERROR-ROUTINE-END
MOVE FALSE TO VALID-RECORD-SW
ELSE NEXT SENTENCE
ELSE
MOVE ERR-26 TO ERROR-CODE
PERFORM ERROR-ROUTINE THRU ERROR-ROUTINE-END
MOVE FALSE TO VALID-RECORD-SW
ELSE
IF GRWTH-POINT EQUAL TO HIGH-VALUES
MOVE ERR-26 TO ERROR-CODE
PERFORM ERROR-ROUTINE THRU ERROR-ROUTINE-END
MOVE FALSE TO VALID-RECORD-SW.
IF VALID-RECORD
MOVE GSWTH-STATE TO SORT-GRI4TH-STATE
MOVE GRWTH-COUHTY TO SORT-GRWTH-COUNTY
MOVE GRWTH-PLANT TO SORT-GRWTH-PLANT
MOVE GRWTH-POINT TO SORT-GRWTH-POINT
MOVE GRWTH-SCC TO SORT-GRWTH-SCC
MOVE GRWTH-SIC TO SCRT-GRWTH-SIC
MOVE GRWTH-GROWTH-FACTOR TO SORT-GRWTH-GRCW
RELEASE SCRT-GRWTH-RECORD.
EDIT-GROWTH-RECORD-END.
EXIT.
INPUT-GRWTH-PROCESS-END.
EXIT.
OUTPUT-CONTROL SECTION.
OUT-CNTL-ROOT.
MOVE BINARY-1 TO SUB3.
PERFORM OUTPUT-CCNTROL-FILE THRU OUTPUT-CONTROL-FILE-END
UNTIL SORT-CNTL-EOF.
MOVE CNTL-SUB TO N3R-CNTL-TABLE
CNTL-BND (SUB3).
00026940
C0026950
OC026960
00026970
OS026980
00026990
00027000
00027010
00027023
00027030
COC27040
00027050
000270SO
00027070
000270SO
00027090
00027100
00027110
00027120
00027130
00027140
OC027130
00027160
00027170
OOC27180
00027190
00027200
00027210
00027220
00027230
00027240
000272:0
00027260
00027270
00027280
00027290
00027300
00027310
00027320
00027330
00027340
OOC27350
00027360
OOOC7370
00027330
CQ027390
OC027400
00027410
00027420
00027430
00027440
00027450
00027460
00027470
OC027480
00027490
00027530
00027510
C0027520
00027530
C0027540
00027350
00027560
00027570
00027SSO
00027590
00027600
00027610
00027620
00027630
00027640
00027650
00027660
00027670
CC027660
00027690
00027700
A-40
-------
IF SUB3 LESS THAN CNTL-TABLE-MAX
ADD BINARY-1 TO SUB3
HOVE NBR-999 TO CNTL-BND (SUB3).
60 TO OUTPUT-CNTL-PROCESS-END.
OUT-CNTL-ROOT-END.
EXIT.
OUTPUT-CONTROL-FILE.
IF NOT SORT-CNTL-EOF
RETURN SORT-CNTL-FILE
AT END MOVE TRUE TO SORT-CNTL-EOF-SW.
IF NOT SORT-CNTL-EOF
IF SORT-CNTL-KEY EQUAL SAVE-SORT-CNTL-KEY
MOVE SORT-CNTL-RECORD TO PRINT-DATA
MOVE BINARY-2 TO LINE-SKIP
PERFORM PRINT-ROUTINE THRU PRINT-ROUTINE-END
MOVE ERR-8 TO ERROR-CODE
PERFORM ERROR-ROUTINE THRU ERROR-ROUTINE-END
ELSE
IF SORT-CNTL-PLT-P>4T EQUAL HIGH-VALUES
PERFORM FORMAT-CNTL-TABLE THRU FORMAT-CNTL-TABLE-EKD
ELSE
PERFORM FORMAT-TEMP-CNTL THRU FORMAT-TEMP-CNTL-END
ELSE
IF WS-TEMP-CNTL-RECORD NOT EQUAL TO SPACES
MOVE WS-TEMP-CNTL-RECORD TO TEMP-CNTL-RECORD
WRITE TEMP-CNTL-RECCRD.
OUTPUT-CONTROL-FILE-END.
EXIT.
FORMAT-TEMP-CNTL.
IF WS-TEMP-CNTL-KEY EQUAL SORT-CNTL-KEY
IF SORT-CNTL-SCC EQUAL HIGH-VALUES
MOVE SORT-CNTL-CF-AREA TO TEMP-CNTL-CF-AREA
ELSE
ADD BINARY-1 TO SCC-SUB TEMP-CNTL-NBR-SCC
MOVE SORT-CNTL-CF-AREA TO TEMP-CNTL-SCC-CF-AREA (SCC-SUB)
MOVE SORT-CNTL-SCC TO TEMP-CNTL-SCC (SCC-SUB)
ELSE
MOVE WS-TEMP-CNTL-RECORD TO TEMP-CNTL-RECORD
WRITE TEMP-CNTL-RECORD
MOVE SPACES TO WS-TEMP-CNTL-RECORD
MOVE ZERO TO TEMP-CNTL-CF-AREA
MOVE SORT-CNTL-KEY TO WS-TEMP-CNTL-KEY
IF SORT-CNTL-SCC EQUAL HIGH-VALUES
MOVE SORT-CNTL-CF-AREA TO TEMP-CNTL-CF-AREA
MOVE ZERO TO SCC-SUB TEMP-CNTL-NBR-SCC
ELSE
MOVE BINARY-1 TO SCC-SUB TEMP-CNTL-HBR-SCC
MOVE SORT-CNTL-CF-AREA TO TEMP-CNTL-SCC-CF-AREA (SCC-SUB)
MOVE SORT-CNTL-SCC TO TEMP-CNTL-SCC (SCC-SUB).
FORMAT-TEMP-CNTL-END.
EXIT.
FORMAT-CNTL-TABLE.
IF SORT-CNTL-KEY-3 NOT EQUAL TO
CNTL-TABLE-KEY-3 (CNTL-SUB)
ADD CNTL-SUB BINARY-1 GIVING CNTL-BND (SUB3)
ADD BINARY-1 TO SU83.
ADD BINARY-1 TO CNTL-SUB
IF CNTL-SUB GREATER THAN CNTL-TABLE-MAX
MOVE ERR-9 TO ERROR-CODE
PERFORM ERROR-ROUTINE THRU ERRCR-ROUTINE-END
MOVE TRUE TO SORT-CNTL-EOF-SW
ELSE
MOVE SORT-CNTL-STATE TO CNTL-TABLE-STATE (CNTL-SUB)
MOVE SORT-CNTL-COUNTY TO CNTL-TABLE-COUNTY (CNTL-SUB)
MOVE SORT-CNTL-SCC TO CNTL-TABLE-SCC (CNTL-SUB)
MOVE SORT-CNTL-SIC TO CNTL-TABLE-SIC (CNTL-Sl'3)
MOVE SORT-CNTL-CF-AREA TO CNTL-TABLE-CF-AREA (CNTL-SU3)
FORMAT-CNTL-TABLE-END.
EXIT.
A-41
00027710
00027720
00027730
00027740
00027750
00027760
00027770
00027730
OCC27790
00027300
00027810
00027820
00027330
00027840
00027350
OC027860
00027870
00027860
00027390
00027900
03C27910
03027920
00027930
00027940
00027950
0002796C
00027970
00027980
00027990
00026000
00026010
00026020
0002S030
00028040
00028050
00023060
00023070
00028030
00023090
00023100
00026110
00023120
00023130
00028140
0002S150
0002C160
OCOC3170
00023180
00028190
00028200
OOC£S210
00028220
00028230
C002££40
00023250
0002S2SO
00023270
OC0282SO
00023290
00023300
OC02S310
0002S320
0002G330
00028340
00023350
00028360
00023370
00028333
00023390
00023400
00028410
00028420
.00023430
00018440
00023450
00023460
00023470
-------
OUTPUT-CNTL-PROCESS-END.
EXIT.
OUTPUT-GROWTH SECTION.
OUT-SRWTH-ROOT.
MOVE BINARY-1 TO SUB3.
PERFORM OUTPUT-GROWTH-FILE THRU OUTPUT-GROWTH-FILE-END
UNTIL SORT-GRWTH-EOF.
MOVE GRWTH-SUB TO NBR-GRWTH-TABLE
GRWTH-BND (SUB3).
IF SUB3 LESS THAN GRWTH-TABLE-MAX
ADD BINARY-1 TO SUB3
MOVE NBR-999 TO GRWTH-BND (SUB3).
GO TO OUTPUT-GRWTH-PROCESS-END.
OUT-GRWTH-ROOT-END.
EXIT.
OUTPUT-GROWTH-FILE.
IF NOT SORT-GRWTH-EOF
RETURN SORT-GRWTH-FILE
AT END MOVE TRUE TO SORT-GRWTH-EOF-SW.
IF NOT SORT-GRWTH-EOF
IF SORT-GRWTH-KEY EQUAL SAVE-SORT-GRWTH-KEY
MOVE SORT-GRWTH-RECORD TO PRINT-DATA
MOVE BINARY-a TO LINE-SKIP
PERFORM PRINT-ROUTINE THRU PRINT-ROUTINE-END
MOVE ERR-* TO ERROR-CODE
PERFORM ERROR-ROUTINE THRU ERROR-ROUTINE-END
ELSE
IF SORT-6RWTH-PLT-PNT EQUAL TO HIGH-VALUES
PERFORM FORMAT-GRWTH-TABLE THRU FORMAT-GRWTH-TABLE-END
ELSE
PERFORM FORMAT-TEMP-GRWTH THRU FORMAT-TEMP-GRWTH-END
ELSE
IF WS-TEMP-GRWTH-RECORD NOT EQUAL TO SPACES
MOVE WS-TEMP-GRWTH-RECORD TO TEMP-GRWTH-RECORD
WRITE TEMP-GRWTH-RECORD.
OUTPUT-GROWTH-FILE-END.
EXIT.
FORMAT-GRWTH-TABLE.
IF SORT-GRWTH-KEY-3 NOT EQUAL TO
GRWTH-TABLE-KEY-3 (GRWTH-SUB)
ADD GRWTH-SUB BINARY-1 GIVING GRWTH-BND (SUB3)
ADD BINARY-1 TO SUB3.
ADD BINARY-1 TO GRWTH-SUB
IF GRWTH-SUB GREATER THAN GRWTH-TABLE-MAX
MOVE ERR-11 TO ERROR-CODE
PERFORM ERROR-ROUTINE THRU ERROR-ROUTINE-END
MOVE TRUE TO SORT-GRWTH-EOF-SW
ELSE
MOVE SORT-GRWTH-STATE TO GRWTH-TABLE-STATE (GRWTH-SUB)
MOVE SORT-GRWTH-COUNTY TO GBWTH-TABLE-COUNTY (GRWTH-SUB)
MOVE SORT-GRWTH-SCC TO GRWTH-TABLE-SCC (GRWTH-SUB)
MOVE SORT-GRWTH-SIC TO GRWTH-TABLE-SIC (GRWTH-SU3)
MOVE SORT-GRWTH-GROW-N TO GRWTH-TABLE-GROW (GRWTH-SUB)
FORMAT-GRWTH-TABLE-END.
EXIT.
FORMAT-TEMP-GRWTH.
IF WS-TEMP-GRWTH-KEY EQUAL SORT-GRWTH-KEY
IF SORT-GRWTH-SCC EQUAL HIGH-VALUES
NEXT SENTENCE
ELSE
ADO BINARY-1 TO SCC-SUB TEMP-GRWTH-NBR-SCC
MOVE SORT-GRWTH-GROW-N TO TEMP-GRWTH-SCC-GROW (SCC-SU3)
00033*30
00026*90
00028500
00028510
00023520
00023530
000285*0
00028550
00023560
00028570
00023530
00028590
00026600
00023610
0002S620
OOC26630
000286*0
00028650
00023660
OOC2S670
00023680
00026690
00028700
00028710
00023720
00028730
000237*0
00028750
00028760
00028770
0002S7SO
00028790
00028300
00028310
00028820
00028830
000288*0
00023850
00028860
OC02S370
00028830
00023890
00028900
00028910
00023920
00023930
000239*0
0002&S50
00026960
00028970
00023930
00028990
00029000
00029010
00029020
00025030
000290*0
00029050
OOC29060
00029070
00029030
00029090
OC0291CO
,00029110
00029120
00029130
000291*0
00029150
00029160
00029170
00029180
00029190
00029200
00029210
00029220
00029230
000292*0
A-42
-------
MOVE SORT-GRWTH-SCC TO TEMP-GRWTH-SCC (SCC-SUB) 00029250
ELSE 00029260
MOVE WS-TEMP-GRWTH-RECORD TO TEMP-GRWTH-RECORD 00029270
WRITE TEMP-GRWTH-RECORD 00029230
MOVE SPACES TO WS-TEMP-GRWTH-RECORD 00029290
MOVE SORT-GRWTH-KEY TO WS-TEMP-GRWTH-KEY 00029300
MOVE ZERO TO TEMP-GRWTH-POINT-GROW 00029310
IF SORT-GRWTH-SCC EQUAL HIGH-VALUES 00029320
MOVE SORT-GRWTH-GROW-N TO TEMP-GRWTH-POINT-GROW 00029330
MOVE ZERO TO SCC-SUB TEMP-GRWTH-NBR-SCC 00029340
ELSE 00029350
MOVE BINARY-1 TO SCC-SUB TEMP-GRWTH-NBR-SCC 00029360
MOVE SORT-GRWTH-GROW-N TO TEMP-GRWTH-SCC-GROW (SCC-SUB) C0029370
MOVE SORT-GRWTH-SCC TO TEMP-GRWTH-SCC (SCC-SUB). 000293EO
FORMAT-TEMP-GRWTH-END. 00029390
. EXIT. • 00029400
00029*10
OUTPUT-GRWTH-PROCESS-END. 00029420
EXIT. 00029430
00029440
A-43
-------
IDENTIFICATION DIVISION.
FROGRAM-ID. TPSPLIT.
AUTHOR. RESEARCH TRIANSLE INSTITUTE.
DATE-WRITTEN. JANUARY 3, 1980.
DATE-COMF1LED.
ENVIRONMENT DIVISION.
CONFIGURATION SECTION.
SOURCE-COMPUTER. UNIVAC-1110.
OBJECT-COMPUTER. UNIVAC-1110.
SPECIAL-NAMES. PAGE IS NEW-PAGE.
INPUT-OUTPUT SECTION.
FILE-CONTROL.
SELECT TEMP-FACTORS-INPUT ASSIGN TO CARD-READER TEMP-FACT.
SELECT POLLUT-FACTORS-INPUT ASSIGN TO CARD-READER POLL-FACT.
SELECT EIS-PROJ ASSIGN TO UNISERVO PNRMASTER.
SELECT HRLY-SRCE-EMIS-FILE ASSIGN TO UNISERVO PNRHRLY.
SELECT REPORT-FILE ASSIGN TO PRINTER.
SELECT TEMP-FILE ASSIGN TO MASS-STORAGE TEMP-FILE.
SELECT POLL-FILE ASSIGN TO MASS-STORAGE POLL-FILE.
SELECT SORT-TEMP-FILE ASSIGN TO MASS-STORAGE XA.
SELECT SORT-POLL-FILE ASSIGN TO MASS-STORAGE XA.
SELECT CONTROL-FILE ASSIGN TO CARD-READER.
SELECT SUMMARY-FILE ASSIGN TO PRINTER SUM-OUT.
DATA DIVISION.
FILE SECTION.
FD EIS-PROJ
LABEL RECORD IS OMITTED.
01 PROJ-MASTO.
02 PROJ-MOVE
02 FILLER
01 PROJ-MAST1.
PIC
PIC X(163).
00000010
00000020
00000030
00000040
00000050
00000060
00000070
00000030
00000090
00000100
00000110
00000120
00000130
00300140
00000150
00000160
00000170
00000180
00000190
00000200
00000210
00000220
00000230
00000240
00000250
00000260
00000270
00000280
00000290
00000300
00000310
00000320
00000330
00000340
00000350
00000360
OC000370
00000380
00000390
00000400
00000410
00000420
00000430
00000440
00000450
00000460
00000470
00000430
00000490
00000500
00000510
00000520
00000530
OOCOC540
00000550
A-44
-------
02 FILLER
02 PROJ-NBR-OF-POLLUTANTS
02 PROJ-MAST-RPT1
PIC X(130).
PIC 99.
OCCURS 1 TO 16 TIMES
DEPENDING ON PROJ-NBR-OF-POLLUTANTS.
03 FILLER
OX PROJ-MAST2.
02 FILLER
02 PROJ-NBR-OF-EF
02 PROJ-MAST-RPT2
PIC X(45).
PIC X(90).
PIC 99.
OCCURS 1 TO 16 TIMES
DEPENDING ON PROJ-NBR-OF-EF.
03 FILLER
01 PROJ-MAST3.
02 FILLER
02 PROJ-SE6-30-ID
02 PROJ-LINE-NUMBER
PIC X(16).
PIC X(19).
PIC X(4).
PIC 999.
02 PROJ-LINE-NUMBER-R REDEFINES PROJ-LINE-NUMBER PIC
02 PROJ-MAST-RPT3
03 PROJ-COMMENT
SD SORT-TEMP-FILE
DATA RECORD IS SORT-TEMP-REC.
01 SORT-TEMP-REC.
02 CNTY-TEMP-KEY
02 REST-TEMP-REC
SD SORT-POLL-FILE
DATA RECORD IS SORT-POLL-REC.
01 SORT-POLL-REC.
02 CNTY-POLL-KEY
02 REST-POLL-REC
FD HRLY-SRCE-EMIS-FILE
LABEL RECORD IS OMITTED.
01 HRLY-MASTO.
02 HRLY-MOVE
02 FILLER
01 HRLY-MAST1.
02 FILLER
02 HRLY-NBR-OF-POLLUTANTS
02 HRLY-MAST-RPT1
OCCURS 2 TIMES.
PIC X(51).
PIC X(21).
PIC X(316).
PIC X(21).
PIC XC85).
PIC X(23).
PIC X(163).
PIC XC130).
PIC 99.
OCCURS 1 TO 16 TIMES
DEPENDING ON HRLY-NBR-OF-POLLUTANTS.
03 FILLER
PIC X(45).
00000560
00000570
OOOOC530
OC000590
00000600
OOOOG610
OOOC0620
00000630
00000640
OC000650
00000660
00000670
00000630
00000690
OOOC0700
00000710
00000720
00000730
00000740
XXX. 00000750
00000760
00000770
OOOC0780
00000790
00000800
00000310
00000620
OOC00330
00000640
OOOOOS50
00000360
00000670
00000330
00000890
00000900
00000910
00000920
00000930
00000940
00000950
00000960
00000970
00000980
OC000990
000010CO
00001010
00001020
00001030
00001040
00001050
OOC01060
OC001070
00001C80
00001090
00001100
00001110
00001120
A-45
-------
01 HRLY-MAST2.
02 FILLER PIC X(90).
02 HRLY-NBR-OF-EF PIC 99.
02 HRLY-MAST-RPT2 OCCURS 1 TO 16 TIMES
DEPENDING ON HRLY-NBR-OF-EF.
03 FILLER PIC X(16).
01 HRLY-MAST3.
02 FILLER PIC XU9).
02 HRLY-SEG-30-ID PIC X(4).
02 HRLY-LINE-NUMBER PIC 999.
02 HRLY-LINE-NUMSER-R REDEFINES HRLY-LINE-NUKBER PIC XXX
02 HRLY-MAST-RPT3 OCCURS 2 TIMES.
03 HRLY-COMMENT PIC X(51).
FD TEMP-FACTORS-INPUT
LABEL RECORD IS OMITTED.
01 TEMP-FAC-REC
FD POLLUT-FACTORS-INPUT
LABEL RECORD IS OMITTED.
01 POLL-FACT-REC
FD CONTROL-FILE
LABEL RECORD IS OMITTED.
01 CONTROL-REC
FD TEMP-FILE
LABEL RECORD IS STANDARD.
01 TEMP-FILE-REC
FD POLL-FILE
LABEL RECORD IS STANDARD.
01 POLL-FILE-REC
PIC X(80).
PIC X(80).
PIC X(80).
PIC X(337).
PIC X(106).
C0001130
OOC01140
OOC01150
00001160
00001170
00001160
00001190
00001200
00001210
00001220
00001230
00001240
.00001250
00001260
00001270
00001280
OC001290
OOC01300
00001310
00001320
00001330
00001340
00001350
00001360
00001370
000013SO
00001390
00001400
00001410
00001420
00001430
00001440
00001450
00001460
00001470
00001480
00001490
00301500
00001510
00001520
00001530
00001540
00001550
00001560
00001570
00001580
00001590
00001600
00001610
00001620
00001630
00001640
00001650
00001660
00001670
COJ01680
00001690
A-46
-------
FD REPORT-FILE
LABEL RECORDS OMITTED.
* THIS FILE IS FOR THE DIAGNOSTIC REPORT AND INPUT ECHO.
01 REPORT-LINE.
* OZ FILLER PIC X(l).
02 REPORT-DATA PIC X(132).
FD SUMMARY-FILE
LABEL RECORDS OMITTED.
* THIS FILE IS FOR THE SUMMARY OUTPUT REPORT.
01 SUMMARY-LINE.
* 02 FILLER PIC X(l).
02 SUMMARY-DATA PIC XU32).
WORKING-STORAGE SECTION.
77 FIRST-CORE-MSG
77
77
77
77
77
77
77
77
77
77
77
77
77
77
77
77
77
77
77
77
77
77
77
77
77
77
77
77
77
77
77
77
WARN-CNT
COND-CNT
ERR-CNT
ABORT-CUT
OISAS-CNT
LINE-MAX
LINE-CNTR-D
PAGE-NUMBER-D
PAGE-NUMBER-S
TRUE
FALSE
BINARY-1
BINARY-2
BINARY-3
BINARY-4
BINARY-5
BINARY-6
BINARY-7
BINARY-8
BINARY-9
BINARY-10
BINARY-11
BINARY-12
BINARY-13
BINARY-1*
BINARY-15
BINARY-16
BIHARY-17
BINARY-18
BINARY-19
BINARY-20
BINARY-21
PIC X(27) VALUE
'WORKING STORAGE BEGINS
PIC 9(3) COMP.
PIC 9(3) COMP.
PIC 9(3) COMP.
PIC 9(3) COMP.
PIC 9(3) COMP.
PIC 99 COMP VALUE 55.
PIC 99 COMP VALUE 56.
PIC 9(5) COMP VALUE 1.
PIC 9(3) COMP VALUE 1.
PIC 9 VALUE 1.
PIC 9 VALUE 0.
PIC 9 COMP VALUE 1.
PIC 9 COMP VALUE 2.
PIC 9 COMP VALUE 3.
PIC 9 COMP VALUE 4.
PIC 9 COMP VALUE 5.
PIC 9 COMP VALUE 6.
PIC 9 COM? VALUE 7.
PIC 9 COMP VALUE 8.
PIC 9 COMP VALUE 9.
PIC 99 COMP VALUE 10.
PIC 99 COMP VALUE 11.
PIC 99 COMP VALUE 12.
PIC 99 COMP VALUE 13.
PIC 99 COMP VALUE 14.
PIC 99 COMP VALUE 15.
PIC 99 CCMP VALUE 16.
PIC 99 COMP VALUE 17.
PIC 99 COUP VALUE 18.
PIC 99 COMP VALUE 19.
PIC 99 CCMP VALUE 20.
PIC 99 COMP VALUE 21.
00001700
00001710
00001720
00001730
00001740
00001750
00001760
00001770
00001780
00001790
00001300
00001810
00001820
00001830
00001640
00001850
00001860
00001870
00001830
00001390
00001900
00001910
00001920
HER00001930
00001940
00001950
00001960
00001970
00001960
00001990
00002000
00002010
00002020
00002030
00002040
00002050
00002060
00002070
00002080
00002090
00002100
00002110
00002120
00002130
00002140
00002150
00002160
00002170
OC002180
00002190
00002200
00002210
00002220
00002230
00002240
00002250
00002C60
A-47
-------
77 BINARY-22
77 BINARY-23
77 BINARY-24
77 BINARY-25
77 BINARY-26
77 BINARY-27
77 BINARY-28
77 BINARY-29
77 P-S-CARD-IN
88 P-S-CARD-1-IN
88 P-S-CARD-2-IN
77 PCT-WT-TOT
77 TEMP-TOT
77 T-S-CARD-IN
88 T-S-CARD-1-IN
83 T-S-CARD-2-IN
77 EOF-POLL-INPUT
88 EOF-POLL-SPLIT
77 EOF-TEMP-INPUT
88 EOF-TEMP-SPLIT
77 EOF-PROJ-SW
88 PROJ-EOF
77 EOF-CONTROL-INPUT
88 EOF-CONTROL-FILE
77 COND-CODE
77 AEROSOL-CODE
77 SOX-CODE
77 CO-CODE
77 NOX-CODE
77 HC-CODE
77 EMIS-SUB
77 EF-SUB
77 STORE-PROC-COUNT
88 MACH-PROCESS-IN
PIC 99 COMP VALUE 22.
PIC 99 COMP VALUE 23.
PIC 99 CCMP VALUE 24.
PIC 99 COMP VALUE 25.
PIC 99 COMP VALUE 26.
PIC 99 COUP VALUE 27.
PIC 99 COMP VALUE 28.
PIC 99 COMP VALUE 29.
PIC 9 VALUE 0.
VALUE 1.
VALUE 2.
PIC 9(5)V9 VALUE 0.
PIC S9(5)V9 VALUE 0.
PIC 9 VALUE 0.
VALUE 1.
VALUE 2.
PIC 9 VALUE 0.
VALUE 1.
PIC 9 VALUE 0.
VALUE 1.
PIC 9 VALUE 0.
VALUE 1.
PIC 9 VALUE 0.
VALUE 1.
PIC 99 VALUE 0.
PIC X(5) VALUE '11101'.
PIC X(5) VALUE '42401'.
PIC X(5) VALUE '42101'.
PIC X(5) VALUE '42602'.
PIC X(5) VALUE '43101'.
PIC 99 VALUE 0.
PIC 999 VALUE 0.
PIC 9 VALUE 0.
VALUE 1 THRU 9.
* THE FOLLOWING SIX VARIABLES ARE USED FOR CONSTRUCTING THEIR
* RESPECTIVE TABLES' KEYS DURING THE BIULDING OF THE TABLES AND
* FOR HOLDING MATCH KEYS DEVELOPED FROM EIS-PROJ FILE RECORDS
* DURING PROCESSING OF THAT FILE AND DEVELOPING THE SPLITS.
77 P-T-1-KEY-HOLD PIC X(14) VALUE SPACES.
77 P-T-2-KEY-HOLD PIC X(10) VALUE SPACES.
77 P-T-3-KEY-HOLD PIC X(8) VALUE SPACES.
77 T-T-1-KEY-HOLD PIC X114) VALUE SPACES.
77 T-T-2-KEY-HOLD PIC X(10) VALUE SPACES.
77 T-T-3-KEY-HOLD PIC X(8) VALUE SPACES.
* FOUR TEMPORARY SWITCH VARIABLES TO REDUCE IF-STATEMENT
* COMPLEXITY IN POLLUTANT SPLIT AND TEMPORAL FACTOR INPUT
* PROCESSING.
77 SW-l-X PIC 9 VALUE 0.
88 SW-l-T VALUE 1.
77 SW-2-X PIC 9 VALUE 0.
88 SW-2-T VALUE 1.
77 SW-3-X PIC 9 VALUE 0.
88 SW-3-T VALUE 1.
77 SW-4-X PIC 9 VALUE 0.
88 SW-4-T VALUE 1.
77 SW-5-X PIC 9 VALUE 0.
88 SW-5-T VALUE 1.
A-48
00002270
00002280
00002290
00002300
00002310
00002320
00002330
00002340
00002350
00002360
00002370
OOC023SO
00002390
00002400
00002410
00002420
00002430
00002440
00002450
00002460
00002470
00002480
00002490
00002500
00002510
00302520
00002530
00002540
00002550
00002560
00002570
000025SO
OOC02590
00002600
00002610
00002620
00002630
00002640
00002650
00002660
OOC02670
00002660
00002690
00002700
00002710
00002720
00002730
00002740
00002750
00002760
00002770
OOCC2760
00002790
00002800
00002S10
00002620
00002830
-------
77 SW-l-Y
88 SW-l-P
77 SW-2-Y
88 SW-2-P
77 SW-3-Y
88 SM-3-P
77 SW-4-Y
88 SW-4-P
77 SW-5-Y
88 SW-5-P
77 NUM-OF-DAYS
77 EF-FOUND
77 T-S-INPUT-CNTR
77 P-S-INPUT-CNTR
77 SUMMARY-CNTL-LENG
88 SUMMARY-MAX
77 ALLOCATE-LOC
77 PCT-DIFF
77 OLE-NET
77 P-S-STORED-SW
88 P-S-STORED
77 T-S-STORED-SW
88 T-S-STORED
77 POLL-SPUIT-REC-SW
88 POLL-SPLIT-REC-STOP
88 POLL-SPLIT-REC-FOUND
77 TEMP-SPLIT-REC-SW
88 TEMP-SPLIT-REC-STOP
68 TEMP-SPLIT-REC-FOUND
77 SUMMARY-LINE-FOUND-SW
88 SUMMARY-LINE-FOUND
77 SUMMARY-SUB
77 SUMMARY-SCAN-SUB
77 END-OF-SUMMARY-REPORT
88 ALL-DONE
77 POLLUT-SUB
77 HC-ADJ
77 MAS-PAR
77 MAS-OLE
77 MAS-DIOLE
77 MAS-ETH
77 MAS-ARO
77 MAS-CARB
77 MAS-ALCO
77 MAS-ACET
77 MAS-METH
77 MAS-OTH
77 MM-OLE-COR-1
77 MW-OLE-COR-2
77 MW-DIOLE-COR.
77 MW-CARB-COR-1
77 MW-CARB-COR-2
77 MW-ARO-CCR
77 MW-ALCO-COR
77 MW-ACET-COR-1
77 MW-ACET-COR-2
77 DAY-SUB
PIC 9 VALUE 0.
VALUE 1.
PIC 9 VALUE 0.
VALUE 1.
PIC 9 VALUE 0.
VALUE 1.
PIC 9 VALUE 0.
VALUE 1.
PIC 9 VALUE 0.
VALUE 1.
PIC 9 VALUE 1.
PIC 9 VALUE 0.
PIC 9(5) VALUE 0.
PIC 9(5) VALUE 0.
PIC 9(2) VALUE 0.
VALUE 50 THRU 99.
PIC 9 VALUE 0.
PIC 9(6)V9(3).
PIC S9(5)V9.
PIC 9 VALUE 1.
VALUE 1.
PIC 9 VALUE 1.
VALUE 1.
PIC 9 VALUE 0.
VALUE 1 THRU 2.
VALUE 1.
PIC 9 VALUE 0.
VALUE 1 THRU 2.
VALUE 1.
PIC 9 VALUE 0.
VALUE 1.
PIC 99.
PIC 9(2).
PIC 9 VALUE 0.
VALUE 1.
PIC 9(2) VALUE 0.
PIC 9(7)V9(3) CCMP.
PIC 9(7)V9(3) COMP.
PIC 9(7)V9(3) COMP.
PIC 9(7)V9(3) COMP.
PIC 9(7)V9(3) COMP.
PIC 9(7)V9(3) COMP.
PIC 9(7)V9(3) COMP.
PIC 9(7)V9(3) COMP.
PIC 9(7)V9(3) COMP.
PIC 9(7)V9(3) CCMP.
PIC 9(7)V9(3) COMP.
PIC 9(7)V9(3) COMP.
PIC 9(7)V9(3) COMP.
PIC 9(7)V9(3) COMP.
PIC 9(7)V9(3) COMP.
PIC 9(7)V9(3) COMP.
PIC 9(7)V9(3) COMP.
PIC 9(7)V9(3) CCMP.
PIC 9(7)V9(3) COMP.
PIC 9(7)V9(3) COMP.
PIC 9(2).
00002340
00002850
00002S60
00002370
00002880
00002890
00002900
00002910
00002920
00002930
00002940
00002950
00002960
00002970
00002980
00002990
00003COO
00003010
00003020
00003030
00003040
00003050
00003060
00003070
OOC03C80
00003090
00003100
00003110
00003120
00003130
00003140
00303150
00003160
00003170
00003180
00003190
000032CO
00003210
00003220
00003230
00003240
00003250
00003260
00003270
00003280
OOOC3290
000033CO
00003310
00003320
00003330
C00033'tO
00003350
00003360
00003370
00003380
00003390
OOC03400
A-49
-------
77 HOUR-SUB
77 PROC-SUB
77 DEFAULT-SCALER
77 SCALER
77 CNTL-FILE-TA6
77 POLL-FILE-TAG
77 TEMP-FILE-TAG
77 PROJ-FILE-TAG
77 ESTIMATES-REG
77 TEMP-KEY-DAY
77 DAILY-FACTOR-MAX
77 PROCESS-SORT-STATUS
88 PROCESS-SORT-DONE
77 SORT-PASS-STATUS
88 SORT-PASS-DONE
77 START-PROC-SEARCH
77 SECOND-SORT-SUB
77 EXTERN-TYPE-SH
88 EXTERN-TYPE
88 INTERN-TYPE
77 EXTERN-OUTPUT-SM
88 EXTERN-NOT-WRITTEN
88 EXTERN-WRITTEN
01 RECOMP-SM
88 RECOMPUTE-REQUIRED
01 PROC-EM-HOLD.
02 PROC-EM-HOLD-ITEM OCCURS 11
01 MACHINE-PROC-HOLD
01 POINT-ID-PRINT-REC.
02 OLD-ST-PRINT
02 FILLER
02 OLD-COUNTY-PRINT
02 FILLER
02 OLD-PLANT-PRINT
02 FILLER
02 OLD-POINT-PRINT
02 FILLER
02 OLD-SCCS OCCURS 6 TIMES.
03 FILLER
03 OLD-SCC-PRINT
02 FILLER
PIC 9(3).
PIC 9.
PIC 9(7)V9(3).
PIC 9(7)V9(3).
PIC X(32) VALUE
00003410
00003420
00003430
00003440
00003450
'CONTROL AND SUMMARY REQUES00003460
•T FILE1.
PIC XC32) VALUE
'POLLUTANT SPLIT FILE1.
PIC X(32) VALUE
•TEMPORAL SPLIT FILE'.
PIC XC32) VALUE
'EIS/P&R MASTER FILE'.
PIC 9(7).
PIC 9.
PIC V9(4) VALUE .0769.
PIC 9 VALUE ZERO.
VALUE 1.
PIC 9 VALUE 0.
VALUE 1.
PIC 9 VALUE 1.
PIC 9 VALUE 1.
PIC 9 VALUE 0.
VALUE 1.
VALUE 0.
PIC 9 VALUE 1.
VALUE 0.
VALUE 1.
PIC 9 VALUE 0.
VALUE 1.
PIC 9C9W99.
PIC X(71).
PIC X(2).
PIC X(l).
PIC X(4).
PIC X(l).
PIC X(4).
PIC X(l).
PIC X(3).
PIC X.
PIC XU).
PIC X(8).
PIC X(62).
00003470
00003480
00003490
00003500
00003510
00003520
00003530
00003540
00003350
00003560
00003570
00003580
00003590
OOC03600
00003610
00003620
00003630
00003640
00003650
00003660
00003670
00003680
00003690
00003700
00003710
00003720
CC003730
00003740
00003750
00003760
00003770
00003780
00003790
00003800
00003S10
00003320
00003830
00003840
00003350
00003860
00003870
00003830
00003890
00003900
00003910
00003920
00003930
00003940
00003950
00003960
00003970
A-50
-------
01
01
01
01
01
01
01
CONTROL-CARD.
02 NUttBER-OF-SEASONS
02 SEAS-1
02 SEAS-2
02 SEAS-3
02 SEAS-*
02 FILLER
CONTROL-DISPLAY-HDR-1.
02 FILLER
CONTROL-DISPLAY-HDR-2.
02 FILLER
02 FILLER
CONTROL-DISPUY-HDR-3.
02 FILLER
CONTROL-DISPUY-LINE-1.
02 FILLER
02 USER-NUM-OF-DAYS
02 USER-DAY-1
02 USER-DAY-2
02 USER-DAY-3
02 USER-DAY-*
CONTROL-DISPLAY-LINE-2.
02 FILLER
02 PROGRAM-NUM-OF-DAYS
02 PROGRAM-DAY-1
02 FRCGRAM-DAY-2
02 PROGRAM-DAY-3
02 PROGRAM-DAY-*
CONTROL-DISPUY-HDR-4.
02 FILLER
PIC X.
PIC X VALUE SPACES.
PIC X VALUE SPACES.
PIC X VALUE SPACES.
PIC X VALUE SPACES.
PIC X(75).
PIC X(132) VALUE
•CONTROL FILE SUMMARY',
00003980
00003990
00004000
00004010
00004020
00004030
00004040
00004050
00004060
00004070
00004080
00034090
00004100
00004110
00004120
00004130
00004140
00004150
PIC X(41) VALUE SPACES. 00004160
PIC X(91) VALUE 00004170
•EIS/P&R DEFAULT SEASON FOR00004180
':'. 00004190
00004200
00004210
00004220
00004230
PIC XU32) VALUE 00004240
NUMBER 000004250
•F DAYS DAY 1 DAY 200004260
DAY 3
DAY 4'.
PIC XC24) VALUE
USER REQUEST1.
PIC X(15) VALUE SPACES.
PIC X(10) VALUE SPACES.
PIC X(10) VALUE SPACES.
PIC XtlO) VALUE SPACES.
PIC X(63) VALUE SPACES.
PIC X(24) VALUE
ACTUALLY USED1.
PIC XC15) VALUE SPACES.
PIC X(10) VALUE SPACES.
PIC X(10) VALUE SPACES.
PIC XUO) VALUE SPACES.
PIC X(63) VALUE SPACES.
PIC X(132) VALUE
A-51
00004270
00004280
00004290
00004300
00004310
00004320
00004330
00004340
00004350
00004360
00004370
00004380
00004390
00004400
00004410
00004420
COCC4430
00004440
00004450
00004460
00004470
OOC04480
00004490
00004500
00004510
00004320
00004530
00004540
-------
•USER-DEFINED SUMMARY REQUE00004550
'ST CARDS'
01 SEASONS.
* CONTAINS THE SEASONAL SELECTORS.
02 INDIV-SEASONS.
03 SEASON-!
03 SEASON-2
03 SEASON-3
03 SEASON-4
02 SEASON-LIST-R
03 SEASON-LIST
01 P-S-TITLE.
02 P-S-ID-REC
02 FILLER
01 POL-SPL-PCT-MTS.
02 P-S-ID.
03 P-S-ST-ID
88 P-S-SW-1
03 P-S-CTY-ID
88 P-S-SW-2
03
P-S-PLANT-ID
88 P-S-SW-3
02
03 P-S-POINT-ID
88 P-S-SW-4
03 P-S-SCC
88 P-S-SW-5
03 P-S-SCC-R
04 P-S-SCC-1
04 P-S-SCC-2
04 P-S-SCC-3
04 P-S-SCC-4
PCT-WT-HC-AL6-1.
03 PCT-WT-PAR-1
03 PCT-WT-OLE-1
03 PCT-WT-DIOLE-1
03 PCT-WT-ETH-1
03 PCT-WT-ARO-1
03 PCT-WT-CARB-1
03 PCT-WT-ALCO-1
03 PCT-MT-ACET-1
03 PCT-WT-METH-1
03 PCT-WT-OTH-1
03 PCT-WT-ALDE-1
02 HC-ALG-1
PIC 9.
PIC 9.
PIC 9.
PIC 9.
REDEFINES INDIV-SEASONS.
OCCURS 4 TIMES PIC 9.
PIC X(80) VALUE SPACES.
PIC X(52) VALUE SPACES.
PIC XC2).
VALUE 'OO1 THRU '99'.
PIC X(4).
VALUE '0000'
THRU '9999'.
PIC X(4).
VALUE '0000'
THRU '99991.
PIC X(3).
VALUE '000' THRU '999'.
PIC X(8).
VALUE '10000000'
THRU '99999999'.
REDEFINES P-S-SCC.
PIC X.
PIC xm.
PIC X(3).
PIC X(2).
PIC 9(3)V9.
PIC 9(3)V9.
PIC 9(3)V9.
PIC 9(3)V9.
PIC 9(3)V9.
PIC 9(3)V9.
PIC 9(3)V9.
PIC 9(3)V9.
PIC 9(3)V9.
PIC 9<3)V9.
PIC 9(3)V9.
REDEFINES PCT-WT-HC-ALG-1
PIC X(44).
00304560
00004570
00004530
00004590
00004600
00004610
00004620
00004630
00004640
00004650
00004660
00004670
OOOC4680
00004690
00004700
00004710
00004720
00004730
C0004740
00004750
00004760
00004770
00004780
00004790
00004800
00004810
00004820
00004830
00004340
00004350
00004860
00004870
00004880
00004890
00004900
00004910
00004920
00004930
00004940
00004950
00004960
00004970
00004980
00004990
00005000
CC005010
00005020
00005030
00005040
OOOC5050
00005060
00005070
00005060
00005090
00005100
OCOC5110
A-52
-------
02 PCT-MT-HC-ALG-2 REDEFINES
03 HC-ALG-2-NUM-VAL.
0* PCT-MT-PAR-2
0* PCT-HT-OLE-2
0* PCT-WT-ARO-2
0* PCT-WT-CARB-2
04 PCT-WT-ETH-2
0* PCT-WT-ALDE-2
03 HC-AL6-2
03 FILLER
03 HC-ALG-2-NOX.
0* PCT-WT-NO-2
04 PCT-WT-N02-2
02 P-S-HOL-WTS REDEFINES PCT-
03 P-S-MOL-WT
03 FILLER
02 PCT-WT-HOX.
03 PCT-WT-NO
03 PCT-MT-N02
02 PCT-WT-NOX-R
02 FILLER
02 P-S-TYPE-ID.
03 P-S-ALG-SEL
88 ALG-1
88 ALG-2
03 P-S-SEQ-NO
88 P-S-CAKD-1
88 P-S-CARD-2
03 P-S-CARD-TYPE
88 FILE-2
PCT-MT-HC-ALG-1.
PIC 9(3)V9.
PIC 9(3)V9.
PIC 9(3)V9.
PIC 9(3)V9.
PIC 9(3W9.
PIC 9(3)V9.
REDEFINES HC-ALG-2-NUM-VAL
PIC X(24).
PIC X(12).
PIC 9(3)V9.
PIC 9(3)V9.
WT-HC-ALG-1.
OCCURS 8 TIMES
PIC 9(3)V9.
PIC X(12).
PIC 9(3W9.
PIC 9(3)V9.
REDEFINES PCT-WT-NOX
PIC X(8).
PIC X(4).
PIC X.
VALUE '0'.
VALUE 'S1.
PIC X.
VALUE '!'.
VALUE '2'.
PIC X.
VALUE '21.
01 P-S-CARD-HOLD.
* NOTE THAT ONLY ALGORITHM 1 DATA CAN END UP HERE
* IT CAN BE EITHER CARD SEQ 1 OR 2, HOWEVER.
02 P-S-ID-HOLD PIC X(21).
02 P-S-PCT-WTS-HOLO.
03 PCT-WT-HOLD OCCURS 11 TIMES
PIC 9(3)V9.
02 P-S-M-W-HOLD REDEFINES P-S-PCT-HTS-HOLD.
03 M-W-HOLO.
04 MOL-WTS
04 FILLER
02 PCT-WT-NOX-HOLD
02 FILLER
02 P-S-TYPE-HOLO.
03 P-S-ALG-HOLD PIC X.
88 ALG-1-HOLO VALUE '0',
88 ALG-2-HOLD VALUE 'S1,
03 P-S-SEQ-HOLD PIC X.
88 P-S-CARD-1-HOLD VALUE 'I1.
88 P-S-CARD-2-HOLD VALUE '2V
03 P-S-CARD-TYFE-HOLD PIC X.
A-53
OCCURS 8 TIMES PIC 9(3)V9.
PIC X(12).
PIC X(8).
PIC X(4).
00005120
00005130
00005140
00005150
00005160
00005170
00005180
00005190
00005200
00005210
00005220
00005230
00005240
00005250
00005260
00005270
OOOC5280
00005290
00005300
00005310
OOOC5320
00005330
00005340
00005350
00005360
00005370
00005320
00005390
00005400
00005410
00005420
00005430
00005440
OOOC5450
00005460
00005470
00005480
00005490
OOC05500
00005510
00005E20
00005530
OOC05540
00005550
00005560
00005570
00005580
OOOOS590
00005600
OOOC5610
OOCC562C
00005630
00005640
00005650
03005660
00005570
00005680
-------
01 POLL-SPLIT-RECORD.
02 P-S-REC-ID
02 P-S-REC-KEY-1
02 P-S-REC-KEY-2
03 P-S-RECS-KEY-2
03 P-S-REC-2-SW
88 P-S-REC-2-MATCH
02 P-S-REC-KEY-3
03 P-S-RECS-KEY-3
03 P-S-REC-3-SW
88 P-S-REC-3-MATCH
02 P-S-REC-PCT-WTS.
03 P-S-REC-PCT-WT-VAL
02 P-S-REC-MOL-WTS.
03 P-S-REC-KOL-WT-VAL
02 P-S-REC-MOL-UTS-R
03 MW-PAR
03 MW-OLE
03 MW-DIOLE
03 MW-ETH
03 MW-ARO
03 MW-CARB
03 MW-ALCO
03 MW-ACET
02 P-S-REC-NOX.
03 P-S-REC-NO
03 P-S-REC-NOa
02 P-S-REC-AL6-SEL
88 P-S-REC-ALG-1
88 P-S-REC-ALG-2
01 T-S-TITLE.
02 T-S-ID-REC
02 FILLER
01 TEMP-SPLIT-CARD.
02 T-S-ID.
03 T-S-ST-ID
88 T-S-SW-1
03 T-S-CTY-ID
88 T-S-SM-2
03 T-S-PLANT-ID
88 T-S-SW-3
03 T-S-POINT-IO
88 T-S-SW-4
PIC X(21).
REDEFINES P-S-REC-ID
PIC X(21).
REDEFINES P-S-REC-ID.
PIC X(13).
PIC X(8).
VALUE '99999999'.
REDEFINES P-S-REC-ID.
PIC XUO).
PIC X(ll).
VALUE '99999999999'.
OCCURS 11 TIMES
PIC 9(3)V9.
OCCURS 8 TIMES
PIC 9(3)V9.
REDEFINES P-S-REC-MOL-WTS.
PIC 9C3W9.
PIC 9(3)V9.
PIC 9(3)V9.
PIC 9(3)V9.
PIC 9(3)V9.
PIC 9(3)V9.
PIC 9(3)V9.
PIC 9(3)V9.
PIC 9(3)V9.
PIC 9(3)V9.
PIC X.
VALUE '0'.
VALUE 'S1.
PIC X(60) VALUE SPACES.
PIC X(52) VALUE SPACES.
PIC X<2).
VALUE '00' THRU '99'.
PIC X(4).
VALUE '0000'
THRU '9999'.
PIC X(4).
VALUE '0000'
THRU '9999'.
PIC X(3).
VALUE '000' THRU '999'
A-54
OOOOS690
C0005700
00005710
00005720
00005730
00005740
00005750
00005760
00005770
00005780
OOOC5790
00005800
00005810
00003820
00005830
00005840
00005350
00005860
00005370
00005880
00005390
00005900
00005910
00005920
00005930
OOC05940
00005950
00005960
00005970
00005930
00005990
00006000
00006010
00006020
00006C30
00006040
00006050
00006060
00006070
00006030
00006090
C00061CO
00006110
00006120
00006130
00006140
00006150
00006160
00006170
00006180
OOCC6190
00006200
00006210
C0006220
00006230
00006240
00006250
-------
03
03
T-S-SCC
88 T-S-SW-5
T-S-SCC-R
0* T-S-SCC-1
04 T-S-SCC-2
0* T-S-SCC-3
04 T-S-SCC-4
03 T-S-DAY-NO
02 T-S-SEASON
02 T-S-DAY
02 T-S-DAY-NUM REDEFINES
02 T-S-FACT-SET-1.
03 T-S-FACT-1
03 T-S-FACT-2
03 T-S-FACT-3
03 T-S-FACT-4
03 T-S-FACT-5
03 T-S-FACT-6
03 T-S-FACT-7
03 T-S-FACT-8
03 T-S-FACT-9
03 T-S-FACT-10
03 T-S-FACT-11
03 T-S-FACT-12
03 T-S-FACT-13
03 T-S-FACT-14
03 T-S-FACT-15
03 T-S-FACT-16
02 FILLER
02 T-S-TYPE-ID.
03 T-S-SEQ-NO
88 T-S-CARD-1
88 T-S-CARD-2
03 T-S-CARD-TYPE
88 FILE-1
01 T-S-FACT-SET-2-R.
02 T-S-FACT-SET-2.
PIC X(8).
VALUE '10C000001
THRU '99999999'.
REDEFINES T-S-SCC.
PIC X.
PIC X(2).
PIC X(3).
PIC X(2).
PIC 9.
PIC 9(2)V9.
PIC X(4).
T-S-DAY PIC V9<4).
PIC 9(2)V9.
PIC 9(2)V9.
PIC 9(2)V9.
PIC 9(2)V9.
PIC 9(2)V9.
PIC 9(2)V9.
PIC 9(2)V9.
PIC 9(2)V9.
PIC 9(2)V9.
PIC 9(2)V9.
PIC 9(2)V9.
PIC 9(2)V9.
PIC 9(2)V9.
PIC 9(2)V9.
PIC 9(2)V9.
PIC 9(2)V9.
PIC X(l).
PIC X.
VALUE 'I1.
VALUE '2'.
PIC X.
VALUE '!'.
03
03
03
03
03
03
03
03
T-S-FACT-17
T-S-FACT-18
T-S-FACT-19
T-S-FACT-20
T-S-FACT-21
T-S-FACT-22
T-S-FACT-23
T-S-FACT-24
FILLER
PIC 9(2)V9
PIC 9(2)V9
PIC 9(2)V9
PIC 9(2)V9
PIC 9(2)V9
PIC 9(2)V9
PIC 9(2)V9
PIC 9(2)V9
PIC X<24).
01
02
TEMP-SPLIT-CARD-HOLD.
02 T-S-ID-HOLD
02 T-S-HOLD-SEASON
02 T-S-HOLD-DAY
PIC X(22).
PIC 9(2W9.
PIC V914).
A-55
00006260
00006270
00006280
00006290
00006300
OOOC6310
00006320
00006330
00006340
COOC6350
00006360
00006370
00006360
00006390
00005400
00006410
00006420
00006430
00006440
00006450
00006460
00006470
00006480
00006490
00006500
00006510
00006520
00006530
00006540
00006550
00006560
00006570
000065SO
00006590
00006600
00006610
00005620
00006630
00006640
00006650
00006660
00006670
OOCC6680
00006690
00006700
00006710
00006720
00006730
COC06740
C0006750
00006760
00006770
00005730
00006790
00006300
00006610
00006620
-------
02 T-S-HOLD-SET-1.
03 T-S-HOLD-1 PIC 9(2)V9.
03 T-S-HOLD-2 PIC 9(2)V9.
03 T-S-HOLD-3 PIC 9(2)V9.
03 T-S-HOLD-4 PIC 9(2)V9.
03 T-S-HOLD-5 PIC 9(2)V9.
03 T-S-HOLD-6 PIC 9(2)V9.
03 T-S-HOLD-7 PIC 9(2)V9.
03 T-S-HOLD-8 PIC 9(2)V9.
03 T-S-HOLD-9 PIC 9(2)V9.
03 T-S-HOLO-10 PIC 9(2)V9.
03 T-S-HOLD-11 PIC 9(2)V9.
03 T-S-HOLD-12 PIC 9(2)V9.
03 T-S-HOLO-13 PIC 9(2)V9.
03 T-S-HOLD-14 PIC 9<2)V9.
03 T-S-HOLD-15 PIC 9(2)V9.
03 T-S-HOLD-I6 PIC 9(2)V9.
02 T-S-HOLD-SET-2 REDEFINES T-S-HOLD-SET-1.
03 T-S-HOLD-17 PIC 9(2)V9.
03 T-S-HOLD-18 PIC 9(2)V9.
03 T-S-HOLD-19 PIC 9(2)V9.
03 T-S-HOLD-20 PIC 9(2)V9.
03 T-S-HOLD-2I PIC 9(2)V9.
03 T-S-HOLD-22 PIC 9(2)V9.
03 T-S-HOLD-23 PIC 9(2)V9.
03 T-S-HOLD-24 PIC 9(2)V9.
03 FILLER PIC X(24).
02 FILLER PIC X(l).
02 T-S-TYPE-HOLD.
03 T-S-SEQ-NO
88 T-S-HOLD-CARD-1
88 T-S-HOLD-CARD-2
03 T-S-HOLD-CARD-TYPE
88 FILE-1-HOLD
PIC X.
VALUE '!'.
VALUE '2'.
PIC X.
VALUE 'I1.
01
TEMP-SPLIT-RECORD.
02 T-S-REC-ID.
03 T-S-REAL-ID PIC X(21).
03 T-S-REC-DAY-NO PIC 9.
T-S-REC-SEAS PIC S9C2W9.
02
02
02
02
T-S-REC-SEAS-R REDEFINES T-S-REC-SEAS
PIC SV9(3).
02
T-S-REC-DAY
T-S-REC-VAL.
03 T-S-REC-SET-1.
0* T-S-REC-VAL-1
03 T-S-REC-SET-2.
04 T-S-REC-VAL-2
T-S-REC-VAL-R
03 T-S-REC-VALS
PIC V9(4).
OCCURS 16 PIC 9(2)V9.
OCCURS 8 PIC 9(2)V9.
REDEFINES T-S-REC-VAL.
OCCURS 24 PIC V9(3).
01
TEMP-SPLIT-EXTERN-RECORD.
02 T-S-EXTERN-ID
PIC X(21).
A-56
00006330
OOC06840
00006650
00006860
C0036S70
00006880
00006890
OOOC6900
C0006910
00006920
00006930
00006940
00006950
00006960
00006970
00006980
00006990
00007000
00007010
00007020
00007030
00007040
00007050
00007060
00007070
00007080
00007090
00007100
00007110
00007120
00007130
00007140
00007150
00007160
00007170
00007130
00007190
00007200
00007210
OOOC7220
00007230
OOC07E40
00007250
00007260
00007270
00007280
00007290
00007300
00007310
00007320
OC007330
00007340
00007350
00007360
00007370
00007380
C0007390
-------
02 T-S-EXTERN-KEY-1
02 T-S-EXTERN-KEY-2
03 T-S-EXT-KEY-2
03 T-S-EXTERN-2-SW
88 T-S-EXT-2-MATCH
02 T-S-EXTERN-KEY-3
03 T-S-EXT-KEY-3
03 T-S-EXTERN-3-SW
88 T-S-EXT-3-MATCH
02 T-S-EXTERN-DATA.
03 T-S-EXTERN-DAYS
04 T-S-EXTERN-SEAS
0* T-S-EXTERN-DAY-WK
04 T-S-EXTERN-VAL.
05 T-S-EXTERN-SET
PIC 9(2)V9.
REDEFINES T-S-EXTERN-ID
PIC X(21).
REDEFINES T-S-EXTERN-ID
PIC X(13).
PIC X(8).
VALUE '99999999'.
REDEFINES T-S-EXTERN-ID
PIC X(10).
PIC X(ll).
VALUE '99999999999'.
OCCURS 4 TIMES.
PIC S9(2)V9.
PIC V9(4).
OCCURS 24 TIMES
01 WORK-FIXED-SEGMENT.
02 KORK-SEGMENT-KEY.
03 WORK-STATE PIC 99.
03 WORK-COUNTY PIC 9999.
03 WORK-AQCR PIC 999.
03 WORK-PUNT-ID PIC 9999.
02 WORK-DATE-OF-SEGMENT.
03 WORK-YEAR
03 WORK-DAY-OF-YEAR
02 WORK-SEGMENT-ID
02 WORK-SEG-ID-R
03 WORK-SEG-POS-1
03 FILLER
02 WORK-SUB-SEGMENT-01.
03 WORK-USER-CONTROL-RESION
PIC 99.
PIC 999.
PIC 999.
REDEFINES WORK-SEGMENT-ID.
PIC 9.
PIC 99.
PIC XXX.
03 WORK-LOCAL-CONTROL
03 WORK-USER-PLANT-ID
03 WORK-CITY
PIC XX.
PIC X(12).
PIC XXXX.
PIC XX.
PIC X.
PIC XU5).
PIC X(10).
PIC X(10).
02
02
03 WORK-UTM-ZONE
03 WORK-OWNER
03 WORK-CONTACT
03 WORK-TELEPHONE
03 WORK-PRINCIPAL-PRODUCT
WORK-SUB-SEGMENT-02.
03 WORK-ESTABLISHMENT PIC X(48).
WORK-NUMBER-OF-EMPLOYEES PIC XXXX.
WORK-PROPERTY-AREA PIC X(6).
WORK-N-PROPERTY-AREA REDEFINES
WORK-PROPERTY-AREA
WORK-SUB-SEGMENT-0 3.
03 WORK-MAILING-ADDRESS
03
03
03
PIC 9(5W9.
01
WORK-POINT-SOURCE.
02 FILLER
02 WORK-DATE-OF-SEG-1
02 WORK-SEGMENT
PIC X(48).
PIC XU3).
PIC 9(5).
PIC 9.
00007400
00007410
00007430
00007430
00007440
00007450
00007460
00007470
00007480
00007490
00007500
00007510
00007520
OC007530
00007540
00007550
00007560
00007570
00007580
00007590
00007600
00007610
00007620
OC007630
00007640
00007650
00007660
00007670
00007680
00007690
00007700
00007710
00007720
00007730
00007740
00007750
00007760
00007770
00007780
00007790
00007300
00007S10
00007820
00007830
00007640
00007650
00007860
00007870
000078GO
00007690
00007900
00007910
00007920
00007930
00007940
00007950
00007960
A-57
-------
02 WORK-SET-ID PIC 99.
02 WORK-SUB-SEGMENT-11.
03 WORK-POINT-ID.
0* WORK-NEDS PIC XX.
0* WORK-USER PIC XXX.
03 WORK-SIC PIC XXXX.
03 WORK-IPP PIC XX.
03 WORK-UTM-COORDINATES.
0* WORK-HORIZONTAL PIC XXXX.
04 WORK-VERTICAL PIC X(5).
03 WORK-N-UTM REDEFINES
WORK-UTM-COORDINATES.
0* WORK-N-HORIZONTAL PIC 999V9.
0* WORK-N-VERTICAL PIC 9999V9.
03 WORK-LATITUDE.
0* WORK-DEGREE PIC XX.
04 WORK-MINUTE PIC XX.
04 WORK-SECOND PIC XX.
03 WORK-LONGITUDE.
04 WORK-DEGREE PIC XXX.
04 WORK-MINUTE PIC XX.
04 WORK-SECOND PIC XX.
03 WORK-ANNUAL-THRUPUT.
04 WORK-DEC-FEB PIC XX.
04 WORK-MAR-MAY PIC XX.
04 WORK-JUN-AUG PIC XX.
04 WORK-SEP-NOV PIC XX.
03 WORK-NORMAL-OPERATING.
04 WORK-HOURS-DAY PIC XX.
04 KORK-DAY-WEEK PIC X.
04 WORK-WEEK-YEAR PIC XX.
03 WORK-BOILER-DESIGN-CAPACITY
PIC X(5).
03 WORK-SPACE-HEAT PIC XXX.
03 WORK-N-SPACE-HEAT REDEFINES
KORK-SPACE-HEAT PIC 99V9.
02 WCRK-SUB-SEGMENT-12.
03 WORK-STACK-DATA.
04 WORK-HEIGHT PIC XXXX.
04 WORK-DIAMETER PIC XXX.
04 KORK-N-DIAMETER REDEFINES
WORK-DIAMETER PIC 99V9.
04 WORK-TEMPERATURE PIC XXXX.
04 WORK-FLOW-RATE PIC X(7).
04 WORK-VELOCITY PIC X(5).
04 WORK-PLUME PIC XXXX.
03 WORK-POINTS-PER-STACK PIC X(4).
03 WORK-COMPLIANCE-STATUS PIC X.
03 WORK-COMPLIANCE-SCHEDULE.
04 WORK-YEAR PIC XX.
04 WORK-MONTH PIC XX.
03 HORK-CCMPLIANCE-STATUS-UPDATE.
04 WORK-YEAR PIC XX.
04 WORK-MONTH PIC XX.
04 WORK-DAY-OF-MONTH PIC XX.
03 WORK-ECAP PIC X.
03 WORK-CONTROL-REGULATIONS.
A-58
00007970
00007980
00007990
OC008000
00008010
00008020
OOOOS030
OOOCS040
00008050
OC008060
00008070
00008380
00008G90
C0008100
00008110
00008120
00003130
00008140
OOOOS150
00008160
00008170
000061SO
00008190
00008200
00008210
00006220
00008230
00008240
00003250
00008260
00003270
00008230
00008290
00008300
OCOOS310
00008320
00003330
00006340
00008350
00008360
00008370
OOOC8380
00008390
00008400
00008410
00008420
00003430
00008440
00008450
00008460 •
00008470
OC008430
OOOC8490
OOOOS500
00003510
00008520
OOCOS530
-------
02
02
04 WORK-REG-1
04 WORK-REG-2
04 WORK-REG-3
WORK-NBR-OF-POLLUTANTS
WCRK-POLLUTANT-EMISSIONS
PIC XXXX.
PIC XXXX.
PIC XXXX.
PIC 99.
OCCURS 1 TO 16 TIMES
DEPENDING ON WORK-NBR-OF-POLLUTANTS.
03 WORK-POLLUTION-ID PIC X(5).
03 WORK-CNTL-EQUIP-COST PIC 9(5)V99.
03 WORK-CONTROL-EQUIPMENT.
01
04 WORK-PRIMARY
04 WORK-SECONDARY
03 WORK-EST-CONTROL-EFF
03 WORK-EMISSIONS.
04 WORK-ESTIMATES
04 WORK-ACTUAL
04 WORK-ALLOWABLE
03 WORK-EMISSION-UNITS
03 WORK-ESTIMATION-METHOD
03 WORK-TEST-METHOD
WORK-POINT-SOURCE-R.
02 FILLER
02 WORK-POLLUTANT-COUNT
02 WORK-EMISSION-DATA
PIC XXX.
PIC XXX.
PIC 99V9.
PIC X(7).
PIC X(7).
PIC X(7).
PIC X.
PIC X.
PIC X.
PIC X(130).
PIC 99.
OCCURS 1 TO 16 TIMES
DEPENDING ON WORK-POLLUTANT-COUNT.
03 FILLER PIC X(5).
03 WORK-CNTL-EQUIP-COST-R
03 FILLER
03 WORK-EST-CNTL-EFF-N
03 FILLER
PIC X(7).
PIC X(6).
PIC XXX.
PIC X(24).
01
WORK-MACHINE-PROCESS.
02 FILLER PIC X(13).
02 WORK-DATE-OF-SEG-2 PIC 9(5).
02 FILLER PIC XXX.
02 WORK-SEG-2-SET-ID PIC 99.
02 WORK-SUB-SEGMENT-21.
03 WORK-SCC.
04 WORK-I PIC X.
04 WORK-II PIC XX.
04 WORK-III PIC XXX.
04 WORK-IV PIC XX.
03 WORK-EEC.
04 WORK-BEC-NUMBER PIC XXX.
04 WORK-BEC-ID PIC XX.
03 WORK-FUEL-UNITS PIC X.
03 WORK-FUEL-PROCESS PIC X(7).
03 WORK-FUEL-PROCESS-RATE
REDEFINES WORK-FUEL-PROCESS
PIC 9(7).
03 WCRK-ALPHANUM-FIELD.
04 WORK-MAX-DESIGN-RATE PIC X(7).
04 WORK-SULFUR-CONTENT PIC XXX.
04 WORK-ASH-CONTENT PIC XXX.
04 WORK-HEAT-CONTENT PIC X(5).
03 WORK-NUMERIC-FIELD REDEFINES
A-59
00003540
00003550
OOOOS560
OCOOS570
00003580
C0008590
OOOC8600
00008610
00008620
00008630
00008640
00003650
00003660
00008670
00008680
00006690
OOOOS700
00306710
00003720
00003730
00003740
00008750
00008760
00008770
00008780
00008790
00008800
00003810
00003C20
00008830
00008340
00006850
00003860
00008870
00008880
00008390
00008900
00008910
00008920
00008930
00008940
00008950
OOOOS960
00003970
00008930
00008990
00009000
00009010
00009020
0000903C
00009040
00009050
00009060
00009070
00009080
00009090
00009100
-------
01
WORK-ALPHANUM-FIELD.
04 WORK-N-MAX-DESIGN-RATE
PIC 9999V999.
0* WORK-N-SULFUR-CONTENT PIC 9V99.
0* WORK-N-ASH-CONTENT PIC 99V9.
04 KORK-N-HEAT-CONTENT PIC 9(5).
02 WORK-SUB-SE6MENT-22.
03 WORK-CONFIDENTIALITY PIC X.
03 WORK-SOURCE-CODE PIC X.
03 WORK-SOURCE-DESCRIPTION PIC X(25).
03 WORK-EMISSION-FACTOR-SOURCE
PIC X.
02 WORK-NUMBER-OF-EF PIC 99.
02 KORK-EHISSION-FACTOR-INFO OCCURS 1 TO 16 TIMES
DEPENDING ON WORK-NUMBER-OF-EF.
03 WORK-POLLUTANT-ID PIC X(5).
03 WORK-EMISSICN-FACTOR PIC 9C6W999.
03 WORK-ASH-SULFUR-CODE PIC X.
03 WORK-EMISSION-FACTOR-UNITS
PIC X.
WORK-MACHINE-PROCESS-R.
02 FILLER PIC X(90).
02 WORK-NBR-OF-POLLUTANT-IDS PIC 99.
02 WORK-EMISSION-FACTOR-DATA OCCURS 1 TO 16 TIMES
DEPENDING ON WORK-NBR-OF-POLLUTANT-IDS.
03 FILLER PIC X(5).
03 WORK-B-EMISSION-FACTOR PIC X(9).
03 FILLER PIC XX.
01 WORK-REGISTRATION.
02 FILLER
02 WORK-DATE-OF-SEG-3
02 FILLER
02 WORK-SEG-3-SET-ID
02 WORK-SUB-SEGMENT-30.
03 WORK-LINE-NUMBER
03 WORK-COMMENTS.
04 WORK-COMMENT-L
04 WORK-COMMENT-R
03 WORK-COMMENTS-R
04 WORK-COMMENT
01 SEG-3.
02 ST-CNTY-AQCR-PLANT
02 DATE-OF-SEG-3
02 FILLER
02 SEG-l-ID
02 SEG-3-ID
02 SEG-3-HOUR
02 SEG-3-EMISSICNS.
03 AEROSOLS-E-R
03 S02-E-R
03 CO-E-R
PIC X(13).
PIC 9(5).
PIC XXX.
PIC 99.
PIC 999.
PIC X(51).
PIC X(51).
REDEFINES WORK-COMMENTS
OCCURS 2 TIMES.
PIC X(51).
PIC XU3).
PIC X(5).
PIC X VALUE
PIC X(2).
PIC X(2).
PIC X(3).
PIC 9(8).
PIC 9(8).
PIC 9(8).
00009110
C0009120
00009130
00009140
00009150
00009160
00009170
000091GO
00009190
OOOC9200
00009210
00009220
00009230
00009240
00009250
00009260
00009270
00009280
00009290
00009300
00009310
00009320
00009330
00009340
00009350
00009360
00009370
00009380
00009390
00009400
00009410
00009420
00009430
00009440
00009450
00009460
00009470
00009480
00009490
00009500
OC009510
OOC09520
00009530
00009540
03009550
00009560
00009570
00009530
0000959C
00009600
00009610
00009620
C0009630
00009640
00009650
C0009660
00009670
A-60
-------
03
03
03
03
03
03
03
03
03
NO-E-R
N02-E-R
OLE-E-R
PAR-E-R
CARB-E-R
ARO-E-R
ETH-E-R
SIXTH-E-R
SEVENTH-E-R
PIC 9(8).
PIC 9(8).
PIC 9(8).
PIC 9(8).
PIC 9(8).
PIC 9(8).
PIC 9(8).
PIC 9(8).
PIC 9(8).
02 SEG-3-EMIS-R REDEFINES SEG-3-EMISSIONS.
03 SEG-3-EMIS . OCCURS 12 TIMES
PIC 9(8).
02 FILLER PIC X(6) VALUE SPACES.
01 OLD-POINT-CODE.
02 OLD-ST
02 OLD-COUNTY
02 OLD-AQCR
02 OLD-PLANT
02 OLD-POINT-FIELD.
03 FILLER
03 OLD-POINT
01 DEFAULT-TEMP-SPLIT-DATA.
02 DEFAULT-SEASONS
01 DEFAULT-NORMAL-OPERATING.
02 DEFAULT-HOUR-DAY
02 DEFAULT-DAY-WEEK
02 DEFAULT-WEEK-YEAR
PIC X(2).
PIC X(4).
PIC X(3).
PIC X(4).
PIC X.
PIC 9(2).
OCCURS 4 TIMES PIC V9(2).
PIC 9(2).
PIC 9.
PIC 9(2).
01 STORE-POINT-EM-AND-CONT.
02 POINT-EM.
* EMISSIONS OF THE FIVE POLLUTANTS FROM SEGMENT 1.
03 AEROSOL-EM PIC 9(9)V99.
SOX-EM
CO-EM
KOX-EM
HC-EM
03
03
03
03
02 POINT-EM-R
PIC 9(9)V99.
PIC 9(9)V99.
PIC 9(9)V99.
PIC 9(9)V99.
REDEFINES POINT-EM
OCCURS 5 TIMES PIC 9(9)V99
CONTROL EFFICIENCIES FROM SEGMENT 1.
02 POINT-CONT.
03 AEROSOL-CONT
SOX-CONT
CO-CONT
NOX-CONT
HC-CCNT
03
03
03
03
02 CONT-FACT
PIC 9(2)V9.
PIC 9(2)V9.
PIC 9(2)V9.
PIC 9(2)V9.
PIC 9C2W9.
REDEFINES POINT-CONT
00009680
OOOG9690
00009700
00009710
00009720
00009730
00009740
00009750
00009760
00009770
00009730
00009790
00009SOO
00009610
00009820
00009830
00009340
00009650
00009360
00009870
00009880
00009890
00009900
00009910
00009920
00009930
00009940
00009950
00009960
.00009970
00009960
00009990
OC010000
00010010
00010020
00010030
00010040
00010050
00010060
00010070
00010030
00010090
00010100
00010110
00010120
00010130
00010140
00010150
,00010160
00010170
00010160
00010190
00010200
00010210
00010220
00010230
OC010240
A-61
-------
OCCURS 5 PIC 9C2W9.
01 STORE-MACHINE-PROC.
* SEVENTH OCCURRENCE IN THIS TABLE IS USED FOR
STORING DURING SORT BY SCC.
02 STORE-MACH-PROC-DATA
03 STORE-SCC.
04 STORE-I
04 STORE-II
04 STORE-III
04 STORE-IV
03 STORE-PROC-RATE
03 STORE-PROC-DATA.
04 STORE-SULF
04 STORE-ASH
03 STORE-EM-FACT-OATA
04 STORE-EM-FACT
04 STORE-ASH-SULF-CODE
OCCURS 7 TIMES.
PIC X.
PIC X(2).
PIC XC3).
PIC X(2).
PIC 9(7).
PIC 9V9C2).
PIC 9(2)V9.
OCCURS 5 TIMES.
PIC 9(6)V9(3).
PIC X.
01 STORE-PROC-EM.
* SEVENTH VALUE FOR EACH EMISSION TYPE IS SUM OVER THE
* (PSEUDO-)POINT OF THE EMISSIONS OF THAT TYPE.
02 PROC-EM-SET.
03 PROC-EM OCCURS 7 TIMES.
04 AERO-EMIS PIC 9(9)V99.
04 SOX-EMIS PIC 9(9)V99.
04 CO-EMIS PIC 9(9)V99.
04 NOX-EMIS PIC 9(9)V99.
04 HC-EMIS PIC 9(9)V99.
* PROCESS-LEVEL EMISSIONS COMPUTED BY POLLUTANT SPLIT ALGORITHM
04 NO-EMIS PIC 9(9)V99.
04 N02-EMIS PIC 9C9W99.
04 PAR-EMIS PIC 9(9)V99.
04 OLE-EMIS PIC 9(9)V99.
04 ARO-EMIS PIC 9(9)V99.
04 CARB-EMIS PIC 9(9)V99.
04 ETH-EMIS PIC 9(9)V99.
02 PROC-EM-SET-R REDEFINES PROC-EM-SET.
03 PROC-EM-R OCCURS 7 TIMES.
04 PROC-INDIV-EM OCCURS 12 TIMES PIC 9(9)V99.
01 TEMP-SPLIT-EMIS-TABLE.
02 SEAS-SPLIT-LEVEL
03 HRLY-SPLIT-LEVEL
04 HRLY-EMIS-VALUES
01 TEMP-STORE-OF-EMIS-VALS.
02 HRLY-TEMP
OCCURS 1 TO 4 TIMES
DEPENDING ON NUM-OF-DAYS.
OCCURS 24 TIMES.
OCCURS 10 TIMES
PIC 9(8).
OCCURS 10 TIMES PIC 9(S).
A-62
00010250
00010260
00010270
00010280
00010290
00010300
00010310
00010320
00010330
00010340
00010350
00010360
00010370
00010380
00010390
0001C400
00010410
00010420
00010430
00010440
00010450-
00010460
00010470
00010480
00010490
00010500
00010510
00010520
00010530
00010540
00010550
00010560
00010570
.00010530
00010590
00010600
00010610
00010620
00010630
00010640
00010650
00010660
00010670
00010630
00010690
00010700
00010710
00010720
00010730
00010740
OC010750
00010760
00010770
00010780
00010790
00010SOO
OOOlColO
-------
01 PROCESS-SPLIT-KEY-1.
02 PROCESS-ST-CODE-1
02 PROCESS-CNTY-CODE-1
02 PROCESS-PLANT-CODE-1
02 PROCESS-POINT-CODE-1
02 PROCESS-SCC-1
01 PROCESS-SPLIT-KEY-2.
02 PROCESS-ST-CODE-2
02 PROCESS-CNTY-CCDE-2
02 PROCESS-PLANT-CODE-2
02 PROCESS-POINT-CODE-2
01 PROCESS-SPLIT-KEY-3.
02 PROCESS-ST-CODE-3
02 PROCESS-CNTY-CODE-3
02 PROCESS-PLANT-CODE-3
01 PROCESS-SPLIT-KEY-4.
02 PROCESS-ST-COOE-4
02 FROCESS-CNTY-CODE-4
02 PROCESS-SCC-4
01 PROCESS-SPLIT-KEY-5.
02 PROCESS-ST-CODE-5
02 PROCESS-SCC-5
01 PROCESS-SPLIT-KEY-6.
02 PROCESS-SCC-6
01 TEMP-SPLIT-KEY-1.
02 TEMP-KEY-1-ID
01 TEMP-SPLIT-KEY-2.
02 TEMP-KEY-2-ID
01 TEMP-SPLIT-KEY-3.
02 TEKP-KEY-3-ID
PIC X(2).
PIC XC4).
PIC XC4).
PIC X(3).
PIC X(8).
PIC X(2).
PIC X(4).
PIC X(4).
PIC X(3).
PIC X(2).
PIC X(4).
PIC X(4).
PIC X(2).
PIC X(4).
PIC X(8).
PIC XC2).
PIC X(8).
PIC X(8).
PIC X(21).
PIC X(13).
PIC XUO).
C0010S20
00010830
00010840
00010850
00010660
00010870
00010880
00010890
00010900
00010910
00010920
00010930
000109<*0
00010950
0001C960
00010970
00010980
00010990
00011000
00011010
00011020
00011030
00011040
00011050
00011060
00011070
00011080
00011090
00011100
00011110
00011120
00011130
00011140
00011150
00011160
OC011170
00011180
00011190
00011200
00011210
00011Z20
00011230
03011240
00011250
00011260
00011270
00011280
00011290
00011300
00011310
00011320
00011330
00011340
00011350
00011360
00011370
00011330
A-63
-------
01 REPORT-KEY-1.
02 REPORT-KEY-1-SCC
02 FILLER
01 REPORT-KEY-2.
02 REPORT-KEY-2-SCC
02 FILLER
01 REPORT-KEY-3.
02 REPORT-KEY-3-SCC
02 FILLER
01 SUMMARY-CONTROL-TABLE.
02 SUMMARY-CNTL-REC
03 SUMMARY-LINE-HUM
03 SUMMARY-LINE-ID
03 REPORT-SCC-GROUP.
04 REPORT-SCC
05 REPORT-I
05 REPORT-II
05 REPORT-III
05 REPORT-IV
02 SUMMARY-POINT-REC.
03 FILLER
03 SUMMARY-POINT-ID
•MISC. POINTS'.
03 FILLER
02 SUMMARY-AREA-REC.
03 FILLER
03 SUMMARY-AREA-ID
•MISC. AREAS'.
03 FILLER
01 SUMMARYVTABLE.
02 SUMMARY-DAY
03 SUMMARY-VALUES-LINE
0* SUMMARY-VALUE
PIC X.
PIC X(7) VALUE SPACES.
PIC X(3).
PIC X(5) VALUE SPACES.
PIC X(6).
PIC X(2) VALUE SPACES.
OCCURS 50 TIMES.
PIC 9(2).
PIC 9(14).
OCCURS 8 TIMES.
PIC X.
PIC X(2).
PIC X(3).
PIC X(2).
PIC X(2) VALUE 'SI1.
PIC XU4) VALUE
PIC X(64).
PIC X(2) VALUE '52',
PIC X(14) VALUE
PIC X(64).
OCCURS 4 TIMES.
OCCURS 50 TIMES.
OCCURS 10 TIMES PIC 9(11).
THIS NEXT LINE IS TREATED AS ENTRY 51 IN THE ABOVE TABLE.
03 POINT-MISC-VALUE OCCURS 10 TIMES PIC 9(11).
THIS NEXT LINE IS TREATED AS ENTRY 52 IN THE ABOVE TABLE.
03 AREA-MISC-VALUE OCCURS 10 TIMES PIC 9(11).
01 REGION-SUMMARY-TABLE.
02 REGION-DAY-SET-1
03 REGION-FOINT-PAGE.
0* REGION-POINT-LINE
OCCURS 4 TIMES.
OCCURS 24 TIMES.
A-64
00011390
00011400
00011410
00011420
00011430
OC011440
00011450
00011460
00011470
00011480
00011490
00011500
00011510
00011520
OOC11530
00011540
00011550
00011560
00011570
00011580
00011590
00011600
00011610
00011620
00011630
00011640
00011650
00011660
00011670
00011680
00011690
00011700
00011710
00011720
00011730
00011740
00011750
00011760
C0011770
00011730
00011790
00011800
00011810
00011320
00011830
00011840
00011650
00011860
00011870
00011380
00011890
000119CO
00011910
00011920
00011930
00011940
00011950
-------
05 REGION-POINT-VALUE
01
01
01
01
01
02 REGION-DAY-SET-2
03 REGION-AREA-PAGE.
04 REGION-AREA-LINE
05 REGION-AREA-VALUE
SUMMARY-HEADER.
02 FILLER
02 FILLER
02 FILLER
02 PAGE-NO-S
REGIONAL-HDR-LINE-1.
02 FILLER
02 REGIONAL-TYPE
02 FILLER
02 FILLER PIC X(4) VALUE
02 REGIONAL-DAY-NUM
02 FILLER
SUMMARY-HDR-LINE-1.
02 FILLER
02 FILLER
02 FILLER PIC X(4) VALUE
02 SUMMARY-DAY-NUM
REGICNAL-HDR-LINE-2.
02 FILLER
02 FILLER
SUMMARY-HDR-LINE-2.
02 FILLER
02 FILLER
OCCURS 10 TIMES
PIC 9(11).
OCCURS 4 TIMES.
OCCURS 24 TIMES.
OCCURS 10 TIMES
PIC 9(11).
PIC X(54) VALUE SPACES.
PIC X(70) VALUE
'EMISSIONS SUMMARY REPORT'
PIC X(5) VALUE
'PAGE '.
PIC ZZ9.
•DAY
'DAY
00011960
00011970
00011980
00011990
00012000
00012010
00012020
00012030
00012040
00012050
00012060
00012070
00012060
00012090
00012100
00012110
00012120
00012130
00012140
00012150
00012160
OC01217C
00012180
00012190
00012200
00012210
00012220
00012230
00012240
00012250
00012260
00012270
00312280
00012290
00012300
00012310
00012320
C0012330
00012340
00012350
00012360
00012370
000123CO
PIC X(16) VALUE SPACES. 00012390
PIC XU16) VALUE 00012400
1********* **x***x*-x******** 03012410
1*************EMISSIONS, KG00012420
'-MOLES/HR*****************00012430
•**************************()0012440
PIC X(22) VALUE
'STUDY SUMMARY - TOTAL '
PIC X(13) VALUE SPACES.
PIC X(26) VALUE SPACES.
PIC 9 VALUE 0.
PIC X(64) VALUE SPACES.
PIC X(20) VALUE
'USER-DEFINED SUMMARY'.
PIC X(43) VALUE SPACES.
PIC 9 VALUE 0.
'********'
PIC X(16) VALUE
1 CATEGORY1.
PIC X(116) VALUE
00012450
00012460
00012470
00012480
00012490
00012500
00012510
00012520
A-65
-------
01
REGIONAL-HDR-LINE-3.
02 FILLER
02 FILLER
01
01
01
01
SUMMARY-HDR-LINE-3.
02 FILLER
02 FILLER
SUMMARY-D ETAIL-LINE.
02 SUMMARY-LINE-NAME
02 REGION-LINE-NAME
03 FILLER
03 REGION-HOUR
03 FILLER
02 SUMMARY-LINE-VALS.
03 SUMMARY-DETAIL-VALS
SUMMARY-TOTALS.
02 SUMMARY-TOTALS-NAME
02 SUMMARY-TOTALS-VALS.
03 SUMMARY-DETAIL-TOTALS
DIAGNOSTIC-HEADER.
02 TAG-AREA
02 FILLER
1 *******************#****v*0 0012530
•***#*********EMISSIONS, KG00012540
'-MOLES/DAY****************00012550
1 *********** *-**************OC012560
1 ******** ' .
PIC X(16) VALUE ' HOUR1
PIC X(116) VALUE
' AEROSOLS SOX
CO NO
'N02 OLE PAR
' CARB ARO
ETH'.
PIC XC16) VALUE ' NAME1
PIC XC116) VALUE
AEROSOLS SOX
CO NO
•N02 OLE PAR
1 CARB ARO
ETH1.
PIC XU6) VALUE SPACES.
REDEFINES
SUMMARY- LINE-NAME.
PIC X(5).
PIC 9(2).
PIC X(9).
OCCURS 10 TIMES
PIC Zfc8)9.9.
PIC X(16) VALUE
•DAY TOTALS'.
OCCURS 10 TIMES
PIC 9(8)V9.
PIC X(32) VALUE SPACES.
PIC X(20) VALUE SPACES.
00012570
00012530
00012590
00312600
00012610
.00012620
00012630
00012640
00012650
03012660
00012670
00012680
00012690
00012700
00012710
.00012720
00012730
00012740
00012750
00012760
00012770
00012730
00012790
00012800
00012810
00012620
C0012830
00012340
00012650
00012860
00012870
00012880
00012890
00012900
00012910
00012920
00012930
00012940
00012950
00012960
00012970
00012930
00012990
00013000
00013C10
00013020
00013030
00013040
00013050
00013060
00013070
00013060
OOC13090
A-66
-------
02 FILLER
02 FILLER
02 PAGE-NO-D
01 MAIN-HEADER.
02 FILLER
02 FILLER
02 FILLER
01 RUN-TITLE-LINE.
02 FILLER
02 RUN-TITLE
02 FILLER
02 MAIN-HDR-DATE
01 TOP-LINE.
02 FILLER
02 FILLER
02 FILLER
01 DIAG-MSG-TABLE.
02 DIAG-MESSAGES.
03 FILLER
03 FILLER
03 FILLER
03 FILLER
03 FILLER
03 FILLER
03 FILLER
PIC X(7) VALUE
PIC ZZ9.
PAGE
PIC X(70) VALUE 00013100
'DIAGNOSTIC AND INPUT REPOR00013110
'T1. 00013120
00013130
00013140
00013150
00013160
00013170
00013180
00013190
PIC X(48) VALUE SPACES.
PIC X(36) VALUE
'TEMPORAL AND POLLUTANT SPLI00013200
•T PROGRAM1.
PIC X<48) VALUE SPACES.
PIC X(26) VALUE SPACES.
PIC X(80) VALUE SPACES.
PIC XU8) VALUE SPACES.
PIC X(8) VALUE SPACES.
PIC X(49) VALUE SPACES.
PIC X(34) VALUE
00013210
00013220
00013230
00013240
00013250
00013260
00013270
00013230
00012290
00013300
00013310
00013320
00013330
00013340
00013350
•AIRSHED MODEL DATA HANDLIN00013360
•G SYSTEM1.
PIC X(49) VALUE SPACES.
00013370
00013380
00013390
00013400
00013410
00013420
00013430
PIC X(76) VALUE 00013440
'001 ERROR - POLLUTANT SPLI00013450
•T CARD FAULT. CARD REJECTC0013460
'ED.1. 00013470
PIC X(76) VALUE 00013480
•002 CONDITIONAL - INVALID 00013490
•CHARS IN POLLUTANT OR TEMP00013500
•ORAL SPLIT—CHANGED TO 0'.00013510
PIC X(76) VALUE 00013520
•003 CONDITIONAL - POLLUTANOOC13530
•T SPLIT SUM NOT 100X.'. 00013540
PIC X(76) VALUE 00013550
•004 ERROR - TEMPORAL SFLIT00013560
1 CARD FAULT. CARD REJECTE00013570
•D.1. 00013580
PIC X(76) VALUE 00013590
'005 ERROR - INVALID DAILY 00013600
•FACTOR VALUE - CHANGED TO 00013610
'.0154.'. 00013620
PIC X(76) VALUE 00013630
•006 CONDITIONAL - TEMPORAL00013640
1 SPLIT SUM NOT 100X.'. 00013650
PIC X(76) VALUE 00013660
A-67
-------
03 FILLER
03 FILLER
03 FILLER
03 FILLER
03 FILLER
03 FILLER
03 FILLER
03 FILLER
03 FILLER
03 MSG-17.
04 FILLER
0* SUMMARY-COUNT
04 FILLER
03 FILLER
03 FILLER
03 FILLER
03 FILLER
•007 ERROR - UNMATCHED OPTI00013670
•ONAL ALGORITHM POLLUTANT S00013630
'PLIT. PREV CARD REJECTED'.00013690
PIC X(76) VALUE 00013700
•008 ERROR - UNMATCHED TEMP00013710
'ORAL SPLIT. PREV. CARD RE00013720
•JECTED.1. 00013730
PIC X(76) VALUE 00013740
'009 ABORT - INPUT STREAM E00013750
•MPTY.1. 00013760
PIC X(76) VALUE 00013770
'010 ABORT - CONTROL CARDS 00013780
•NOT IN INPUT STREAM.1. 00013790
PIC X(76) VALUE 00013800
•Oil ERROR - TEMPORAL SPLIT00013310
1 KEY ERROR. RECORD REJECT00013620
•ED.'. 00013830
PIC XC76) VALUE 00013840
•012 ERROR - POLLUTANT SPLI00013350
•T KEY ERROR. RECORD REJEC00013860
'TED.'. 00013870
PIC X(76) VALUE 00013830
•013 ERROR - INVALID DAILY 00013890
•FACTOR VALUE - CHANGED TO 000139CO
'.0110.'. 00013910
PIC X(76) VALUE 00013920
'014 ERROR - NO SELECTOR CA00013930
•RO OR ITEM INVALID. DEFAU00013940
'LT(S) WILL BE USED.'. 00013950
PIC X(76) VALUE 00013960
•015 WARNING - INVALID SEAS00013970
•ON VALUE IN TEMPORAL SPLITOC013960
'. 0.25 USED.'. 00013990
PIC X(76) VALUE 00014000
•016 WARNING - DAILY FACTOR00014010
1 > 0.0769 IN TEMPORAL SPLI00014020
'T. ACCEPTED.1. 00014030
00014040
PIC X(62) VALUE 00014050
•017 CONDITIONAL - NUMBER 000014060
•F INPUT LINES FOR SUMMARY 00014070
'REPORT IS '. 00014080
PIC Z9.. 00014090
PIC X(ll) VALUE SPACES. 00014100
PIC X(76) VALUE OOC14110
•018 ERROR - MAXIMUM NUMBER00014120
1 OF SUMMARY CARDS EXCEEDED00014130
'. REMAINDER REJECTED.1. 00014140
PIC X(76) VALUE C0014150
•019 CONDITIONAL - NO SUMNA00014160
'RY CONTROL CARDS FOUND.'. 00014170
PIC X(76) VALUE ' OOOl^loO
•020 ERROR - TEMPORAL FACTC00014190
•RS TABLE FULL. RECORD REJ00014200
'ECTED.1. 00014210
PIC X(76) VALUE 00014220
'021 ERROR - NO MATCH FOR T00014230
A-68
-------
03 FILLER
03 FILLER
03 FILLER
03 FILLER
03 FILLER
03 FILLER
03 FILLER
03 FILLER
02 DIAG-MSG-R
03 DIAG-MSG
01 ERROR-LINE.
02 FILLER
02 ERROR-MSG
01 RECORD-COUNTERS-TABLE.
02 RECORD-COUNTERS.
03 HRLY-EMIS-COUNT
03 AS-REC-COUNT
03 PS-REC-COUNT
02 REC-CTR-R
03 REC-CTR
01 LAST-MESSAGES-TABLE.
02 LAST-MESSAGES.
03 LAST-MSG-1.
•EMPORAL SPLIT RECORD IN TA00014240
'BLE. REJECTED.'. 00014250
PIC X(76) VALUE 00014260
'022 ERROR - POLLUTANT SPLIOQ014270
•T TABLE FULL. RECORD REJEOC014230
•CTED.1. 00014290
PIC X(76) VALUE 00014300
'023 ERROR - NO MATCH FOR P00014310
'OLLUTANT SPLIT RECORD IN T00014320
'ABLE. REJECTED.1. 00014330
PIC XC76) VALUE 00014340
'024 ERROR - PT EMISSIONS N00014350
'OT EQUAL TO PROCESS SUM. 00014360
•PT ALLOC TO PROCESS(ES).'.00014370
PIC X(76) VALUE 00014330
•025 WARNING - POLLUTANT SP00014390
•LIT NOT FOUND. DEFAULT SP00014400
•LIT USED.'. 00014410
PIC X(76) VALUE 00014420
•026 WARNING - TEMPORAL SPL00014430
•IT NOT FOUND. EIS/P&R VAL00014440
•UES USED IN DEFAULT CALC'.00014450
PIC XC76) VALUE 00014460
•027 CONDITIONAL - TEKFORAL00014470
' SPLIT NOT FOUND. UNIFORM 00014480
•8/24-HR SPLIT USED.1. 00014490
PIC X(76) VALUE 00014500
•028 CONDITIONAL - OVERFLOUOC014510
1 IN SUMMARY REPORT VALUES.00014520
00014530
PIC X(76) VALUE 00014540
•029 ERROR - OLEFIN SPECIES00014550
1 SPLITS ARE INCONSISTENT. 00014560
1 DATA REJECTED.'. OOC14570
REDEFINES DIAG-MESSAGES. 00014580
OCCURS 29 TIMES PIC X(76). 00014590
00014600
00014610
00014620
00014630
00014643
00014650
00014660
00014670
00014680
00014690
00014700
00014710
00014720
00014730
00014740
00014750
00014760
00014770
00014730
00014790
00014SOO
A-69
PIC X(14) VALUE
«**TPSPLIT '.
PIC XU19) VALUE SPACES.
PIC 9(6) VALUE 0.
PIC 9(6) VALUE 0.
PIC 9(6) VALUE 0.
REDEFINES RECORD-COUNTERS.
OCCURS 3 TIMES PIC 9(6).
-------
04 FILLER
04 NBR-HRLY-EMIS-REC
03 LAST-MSG-2.
04 FILLER
04 NBR-AS-REC
03 LAST-MSG-3.
04 FILLER
04 NBR-PS-REC
03 LAST-MSG-4.
04 FILLER
04 NBR-PLT-S-REC
03 LAST-MSG-5.
04 FILLER
04 NBR-EMIS-OUT
03 LAST-MSG-6.
04 FILLER
04 FILLER
04 NBR-OF-ERRORS
03 LAST-MSG-7.
04 FILLER
04 FILLER
04 NBR-OF-COND
03 LAST-MSG-8.
04 FILLER
04 FILLER
04 NBR-OF-ABORT
03 LAST-MSG-9.
04 FILLER
04 FILLER
04 NBR-OF-DISASTER
03 LAST-MSG-10.
04 FILLER
04 FILLER
04 MBR-OF-WARN
03 LAST-MSG-11.
04 FILLER
04 NBR-T-S-REC
02 LAST-MSG
03 FILLER
PIC X(42) VALUE 00014810
'NUMBER OF PROJECTION-FILE 00314320
•RECORDS READ: '. 00014830
PIC ZZZ.ZZ9. 00014640
00014850
PIC X(42) VALUE 00014660
'NUMBER OF AREA SOURCE REC000014870
•RDS PROCESSED: •. cooi4sso
PIC ZZZ.ZZ9. 00014890
00014900
PIC X(42) VALUE 00014910
•NUMBER OF POINT SOURCE REC00014920
•ORDS PROCESSED:'. 00014930
PIC ZZZ.ZZ9. 00014940
OOOI49SO
PIC XC42) VALUE 00014960
•NUMBER OF POLLUTANT SPLIT 00014970
•RECORDS READ:'. 00014930
PIC ZZZ.ZZ9. 00014990
00015000
PIC X(42) VALUE 00015010
•NUMBER OF HOURLY EMISSION 00015020
•RECORDS WRITTEN:'.
PIC ZZZ.ZZ9.
PIC XI 16) VALUE SPACES.
PIC X(26) VALUE
•ERRORS:'.
PIC ZZZ.ZZ9.
PIC X(16) VALUE SPACES.
PIC X(26) VALUE
•CONDITIONALS:1.
PIC ZZZ.ZZ9.
PIC X(16) VALUE SPACES.
PIC XC26) VALUE
•ABORTS:'.
PIC ZZZ.ZZ9.
PIC X(16) VALUE SPACES.
PIC X(26) VALUE
•DISASTERS: • .
PIC ZZZ.ZZ9.
PIC X(16) VALUE SPACES.
PIC X(26) VALUE
•WARNINGS: •.
PIC ZZZ.ZZ9.
PIC XC42) VALUE
•NUMBER OF TEMPORAL SPLIT
•ECORDS READ-.'.
PIC ZZZ.ZZ9.
REDEFINES LAST-MESSAGES
OCCURS 11 TIMES.
PIC X(42).
00015030
00015040
00015050
00015060
00015070
00015080
00015090
00015100
00015110
00015120
00015130
COC15140
00015150
00015160
00015170
00015180
00015190
00015200
00015210
00015220
00015230
00015240
00015250
00015260
00015270
00015280
00015290
00015300
00015310
R00015320
00015330
00015340
00015350
00015360
00015370
A-70
-------
03 LAST-MSG-NBR
01 TYPE-SEL-TABLE.
OZ TYPE-SEL-1
02 TYPE-SEL-2
01 D-AND-T.
02 D-AND-T-MO
02 0-AND-T-DAY
02 D-AKD-T-YR
02 FILLER
01
01
UPDATE-MESSAGES-TABLE.
02 U-MSG-1.
03 FILLER
03 FILLER
02 U-MSG-2.
03 FILLER
03 FILLER
02 U-MSG-3.
03 FILLER
03 FILLER
02 U-MSG-4.
03 FILLER
03 FILLER
02 U-MSG-5.
03 FILLER
03 U-MSG-5-DATE.
04 U-MSG-5-MO
04 U-MSG-5-DAY
04 U-MSG-5-YR
TEMP-TAB-3-LEN
88 T-T-3-MAX
PIC ZZZ.ZZ9.
PIC XC26) VALUE
'OPTIONS SELECTED BY USER:
PIC X(26) VALUE
•OPTIONS IN EFFECT:
PIC 99.
PIC 99.
PIC 99.
PIC 9(6).
PIC X(14) VALUE
•PROGRAM NAME: '.
PIC X(118) VALUE
'TPSPLIT1.
PIC X(16) VALUE
•REVISION LEVEL;'.
PIC X(10) VALUE '1-00'.
PIC X(15) VALUE
•LAST UPDATE *'.
PIC X(20) VALUE
•00'.
PIC X(14) VALUE
•INCORPORATED:-.
PIC X(20) VALUE
1 5/21/80
PIC X(13) VALUE
•DATE OF RUN: '.
PIC Z9/.
PIC 99/.
PIC Z9.
PIC 9(3) C0.1P.
VALUE 13 THRU 999.
01
TEMP-FACT-TABLE-3.
02 TEMP-TABLE-3-ENTRY
OCCURS 1 TO 13 TIMES
DEPENDING ON TEMP-TAB-3-LEN
00015380
00015390
00015400
00015410
00015420
.00015430
00015440
.00015450
00015460
00015470
00015480
00015490
00015500
00015510
00015520
00015550
00015540
00015550
00015560
OC015570
00015580
00015590
00015600
00015610
00015620
00015630
00015640
00015650
00015660
OOC15670
OOC15630
00015690
00015700
00015710
00015720
00015720
00015740
00015750
00015760
00015770
00015760
00015790
00015800
00015810
00015820
00015830
OC015840
00015830
00015860
00015870
00015880
00015390
00015900
00015910
03015920
00015930
00015940
A-71
-------
03 T-T-3-KEY
03 T-T-3-DATA
04 T-T-3-SEAS
04 T-T-3-DAY
04 T-T-3-FACTORS.
05 T-T-3-FACT
01 POLL-TAB-3-LEN
88 P-T-3-MAX
01 POLL-FACT-TABLE-3.
02 POLL-TABLE-3-ENTRY
03 P-T-3-KEY
03 P-T-3-FACTORS-P.
04 P-T-3-FACT-P
03 P-T-3-FACTORS-M.
04 P-T-3-FACT-M
03 P-T-3-FACTORS-N.
04 P-T-3-FACT-N
03 P-T-3-ALG
01 LAST-CORE-MSG
ASCENDING KEY IS T-T-3-KEY
INDEXED BY T-T-3-INDEX.
PIC X(8).
OCCURS 4 TIMES.
PIC S9(2)V9.
PIC V9(4).
OCCURS 24 TIMES PIC V9<3),
PIC 9(3) COMP.
VALUE 13 THRU 999.
OCCURS 1 TO 13 TIMES
DEPENDING ON POLL-TAB-3-LEN
ASCENDING KEY IS P-T-3-KEY
INDEXED BY P-T-3-INDEX.
PIC X(8).
OCCURS 11 TIMES PIC 9V9(3).
OCCURS 8 TIMES PIC 9V9C3).
OCCURS 2 TIMES PIC 9V9(3).
PIC X.
PIC X(25) VALUE
'WORKING STORAGE ENDS HERE
COMMON-STORAGE SECTION.
01 FIRST-COMMON-MSG
01 TEMP-TAB-1-LEN
88 T-T-1-MAX
01 TEMP-FACT-TABLE-1.
02 TEMP-TABLE-1-ENTRY
PIC X(26) VALUE
'COMMON STORAGE BEGINS HERE
PIC 9(3) COMP.
VALUE 13 THRU 999.
OCCURS 1 TO 13 TIMES
DEPENDING CN TEMP-TAB-1-LEN
00015950
00015960
00015970
00015980
00015990
00016000
00016010
00016020
00016030
00016040
00016050
C0016060
00016070
00016C80
00016090
00016100
00016110
00016120
00016130
00016140
00016150
00016160
00016170
00016180
00016190
00016200
00016210
00016220
00016230
00016240
C0016250
00016260
00016270
.00016280
00016290
00016300
OC016310
.00016320
00016330
00016340
00016350
00016360
00016370
00016360
00016390
.00016400
00016410
00016420
00016430
00016440
00016450
00016460
00016470
OC016460
00016490
00016500
00016510
A-72
-------
03 T-T-1-KEY
03 T-T-1-DATA
0* T-T-1-SEAS
04 T-T-1-DAY
0* T-T-1-FACTORS.
05 T-T-1-FACT
01 TEMP-TAB-2-LEN
88 T-T-2-MAX
01 TEMP-FACT-TABLE-2.
02 TEMP-TABLE-2-ENTRY
03 T-T-2-KEY
03 T-T-2-DATA
0* T-T-2-SEAS
04 T-T-2-DAY
04 T-T-2-FACTORS.
05 T-T-2-FACT
01 POLL-TAB-1-LEN
88 P-T-1-MAX
01 POLL-FACT-TABLE-1.
02 POLL-TABLE-1-ENTRY
03 P-T-1-KEY
03 P-T-1-FACTORS-P.
04 P-T-1-FACT-P
03 P-T-1-FACTORS-M.
04 P-T-1-FACT-M
03 P-T-1-FACTORS-N.
04 P-T-1-FACT-N
03 P-T-1-AL6
01 POLL-TAB-2-LEN
88 P-T-2-MAX
01 POLL-FACT-TABLE-2.
ASCENDING KEY IS T-T-1-KEY
INDEXED BY T-T-1-INDEX.
PIC X(14).
OCCURS 4 TIMES.
PIC S9(2)V9.
PIC V9(4).
OCCURS 24 TIMES PIC V9(3).
PIC 9(3) COMP.
VALUE 13 THRU 999.
OCCURS 1 TO 13 TIMES
DEPENDING ON TEMP-TAB-2-LEN
ASCENDING KEY IS T-T-2-KEY
INDEXED BY T-T-2-INDEX.
PIC XUO).
OCCURS 4 TIMES.
PIC S9(2)V9.
PIC V9(4).
OCCURS 24 TIMES PIC V9(3).
PIC 9(3) COMP.
VALUE 13 THRU 999.
OCCURS 1 TO 13 TIMES
DEPENDING ON POLL-TAB-1-LEN
ASCENDING KEY IS P-T-1-KEY
INDEXED BY P-T-1-INDEX.
PIC X(14).
OCCURS 11 TIMES PIC 9V9(3).
OCCURS 8 TIMES PIC 9V9(3).
OCCURS 2 TIMES PIC 9V9(3).
PIC X.
PIC 9(3) CCMP.
VALUE 13 THRU 999.
00016520
00016530
00016540
00016550
00016560
00016570
C0016580
00016590
00016600
00016610
00016620
00016630
00016640
00016650
00016660
00016670
00016680
00016690
00016700
00016710
00016720
00016730
00016740
00016750
00016760
00016770
00016780
00016790
00016800
00016310
00016820
00016830
G0016840
00016850
00016860
00016870
OOC1683C
C0016890
00016900
00016910
00016920
00016930
00016940
00016950
00016960
00016970
00016980
00016990
00017000
00017010
00017020
00017030
00017040
00017050
00017060
00017070
000170SO
A-73
-------
02 POLL-TABLE-2-ENTRY
03 P-T-2-KEY
03 P-T-2-FACTORS-P.
0* P-T-2-FACT-P
03 P-T-2-FACTOHS-M.
04 P-T-2-FACT-M
03 P-T-2-FACTCRS-N.
0* P-T-2-FACT-N
03 P-T-2-ALG
01 UST-COMMON-MSG
OCCURS 1 TO 13 TIMES
DEPENDING ON POLL-TAB-2-LEN
ASCENDIN3 KEY IS P-T-2-KEY
INDEXED BY P-T-2-INDEX.
PIC X(10).
OCCURS 11 TIMES PIC 9V9C3).
OCCURS 8 TIMES PIC 9V9<3>.
OCCURS 2 TIMES PIC 9V9(3).
PIC X.
PIC X(24) VALUE
•COMMON STORAGE ENDS HERE1
PROCEDURE DIVISION.
ROOT-SEGMENT.
» AS PRESCRIBED, THIS PARA PERFORMS THE SKELETON PROGRAM.
PERFORM PGM-INIT.
PERFORM MAIN-LOOP.
PERFORM WRAP-UP.
STOP RUN.
MAIN-LOOP.
* THIS PARA DRIVES THE MAIN PROCESSING STEPS.
PERFORM INPUT-OF-CONTROL-FILE.
MOVE POLL-FILE-TAG TO TAG-AREA.
PERFORM END-OF-DIAG-PAGE-RTN.
» P-S-TITLE AND T-S-TITLE ARE READ IN PGM-INIT.
MOVE P-S-TITLE TO REPORT-DATA
WRITE REPORT-LINE AFTER BINARY-1
ADD BINARY-1 TO LINE-CNTR-D.
PERFORM PROCESS-POLL-SPLIT-CARDS UNTIL EOF-POLL-SPLIT.
MOVE TEflP-FILE-TAG TO TAG-AREA.
PERFORM END-OF-DIAG-PAGE-RTN.
MOVE T-S-TITLE TO REPORT-DATA
WRITE REPORT-LINE AFTER BINARY-1
ADD BINARY-1 TO LINE-CNTR-D.
PERFORM FROCESS-TEMP-SPLIT-CARDS UNTIL EOF-TEMP-SPLIT.
» ALL USER CARDS PROCESSED.
* PROCEED IF NO ABORT OR DISASTER HAS OCCURRED.
IF ABORT-CNT NOT > ZERO AND DISAS-CNT NOT > ZERO
PERFORM SORT-FILES
OPEN INPUT TEMP-FILE
A-74
00017090
00017100
00017110
00017120
00017130
000171*0
00017150
00017160
00017170
C0017180
00017190
00017200
00017210
00017220
00017230
00017240
.00017250
00017260
00017270
00017280
00017290
00017300
00017310
00017320
00017330
00017340
00017350
00017360
00017370
00017330
00017390
00017400
00017410
00017420
C0017430
00017440
00017450
00017460
00017470
00017480
00017490
00017300
00017510
00017520
00017530
00017540
00017550
00017560
00017570
OC0175SO
000175SO
00017600
OC017610
00017620
00017630
00017640
00017650
-------
POLL-FILE
MOVE FALSE TO EOF-POLL-INPUT EOF-TEMP-INPUT
PERFORM READ-THE-TEMPORAL-FILE-SU3
PERFORM REAO-THE-POLLUTANT-FILE-SUB
MOVE PROJ-FILE-TAG TO TAG-AREA
PERFORM END-OF-DIAG-PAGE-RTN
PERFORM PROCESS-PROJ-FILE
UNTIL PROJ-EOF
PERFORM PRINT-SUMMARY-REPORT UNTIL ALL-DONE.
ALLOC-POINT-TO-PROCESS.
* SEG 1 (POINT) EMISSION VALUE IS PROPORTIONATELY
* DISTRIBUTED TO EACH PROCESS.
ADD BINARY-1 TO ALLOCATE-LOC.
COMPUTE PROC-INDIV-EM (ALLOCATE-LOC, EMIS-SL'B) ROUNDED
POINT-EM-R (EMIS-SUB) » (PROC-INDIV-EM (ALLOCATE-LOC,
EMIS-SUB) / PROC-INDIV-EM (BINARY-7, EMIS-SUB)).
ASSEMBLE-P-S-RECORD.
* CREATE A COMPLETE POLLUTANT SPLIT RECORD FROM THE
* INPUT CARD IMAGE(S).
MOVE ZERO TO P-S-REC-PCT-WTS P-S-REC-MOL-WTS.
MOVE ZERO TO P-S-REC-NOX.
* FOR STANDARD (1-CARD) ALGORITHM.
IF ALG-2
MOVE P-S-ID TO P-S-REC-ID
MOVE HC-ALG-2-NUM-VAL TO P-S-REC-PCT-WTS
MOVE HC-ALG-2-NOX TO P-S-REC-NOX
MOVE P-S-ALG-SEL TO P-S-REC-ALG-SEL
ELSE
* FOR OPTIONAL <2-CARD) ALGORITHM.
IF P-S-CARD-1 AND P-S-CARD-2-HOLD
MOVE P-S-ID TO P-S-REC-ID
MOVE PCT-WT-HC-ALG-1 TO P-S-REC-PCT-WTS
MOVE M-W-HOLD TO P-S-REC-MOL-WTS
MOVE PCT-WT-NOX TO P-S-REC-NOX
MOVE P-S-ALG-SEL TO P-S-REC-ALG-SEL
ELSE
MOVE P-S-ID-HOLD TO P-S-REC-ID
MOVE P-S-PCT-WTS-HOLD TO P-S-REC-PCT-WTS
MOVE PCT-WT-NOX-HOLD TO P-S-REC-NOX
MOVE P-S-MOL-WTS TO P-S-REC-MOL-WTS
MOVE P-S-ALG-HOLD TO P-S-REC-ALG-SEL.
» CHECK OLEFIN SPLITS FOR OPTIONAL (2-CARD) SPLIT.
IF ALG-1
COMPUTE OLE-NET ROUNDED =
P-S-REC-PCT-WT-VAL (2)
- P-S-REC-PCT-HT-VAL (3)
- P-S-REC-PCT-WT-VAL (4)
IF OLE-NET < ZERO
MOVE BINARY-29 TO COND-CODE
ADD BINARY-1 TO ERR-CNT
PERFORM INVALID-DATA-FOUND
A-75
00017660
00017670
00017680
00017690
00017700
00017710
00017720
00017730
00017740
00017750
00017760
00017770
00017760
00017790
00017300
00017810
OC017620
00017830
00017640
00017850
00017860
00017870
00017880
00017390
00017900
00017910
00017920
00017930
00017940
00017950
00017960
00017970
00017980
00017990
00018000
00018010
00013020
00018030
00018040
00018050
00018060
00018070
00018080
00018090
00013100
00018110
00018120
00018130
00013140
00013150
00016160
0001S170
00013180
00018190
00018200
00018210
00018220
-------
MOVE TRUE TO P-S-STORED-SW 00018230
ELSE OC018240
PERFORM STORE-P-S-REC 00018250
ELSE 00018260
PERFORM STORE-P-S-REC. 00018270
000182SO
00016290
00018300
ASSEMBLE-T-S-RECORD. 00018310
* CREATE A COMPLETE TEMPORAL SPLIT RECORD FROM THE 00018320
* INPUT CARD IMAGES. . 00018330
* CHECK KEYS AND SPLIT SUMS. 000183*0
IF T-S-ID NOT = T-S-ID-HOLD 00018350
MOVE BINARY-8 TO COND-CODE 00018360
ADD BINARY-1 TO ERR-CNT 00018370
PERFORM INVALID-DATA-FOUND 00013380
MOVE TEMP-SPLIT-CARD TO TEMP-SPLIT-CARD-HOLD 00013390
« MOVE KEY TO TEMP-TOT TO STOP FURTHER PROCESSING 00016400
* OF THIS CARD. CARD IN "HOLD" AREA WILL BE LOST. 00018410
MOVE -1.0 TO TEMP-TOT 00013420
* CARD ID'S MATCH. CHECK SPLIT SUM. 00013430
ELSE 00013440
IF T-S-CARD-1 AND T-S-HOLD-CARD-2 00018450
COMPUTE TEMP-TOT = T-S-FACT-1 + T-S-FACT-2 00018460
+ T-S-FACT-3 00018470
+ T-S-FACT-4 + T-S-FACT-5 + .T-S-FACT-6 + T-S-FACT-700018480
+ T-S-FACT-8 * T-S-FACT-9 + T-S-FACT-10 00018490
+ T-S-FACT-11 + T-S-FACT-12 + T-S-FACT-13 00018500
+ T-S-FACT-14 + T-S-FACT-15 + T-S-FACT-16 00018510
+ T-S-HOLO-17 + T-S-HOLD-1S + T-S-HOLD-19 00018520
+ T-S-HOLD-20 + T-S-HOLD-21 + T-S-HOLD-22 0001853C
+ T-S-HOLD-23 + T-S-HOLD-24 00013540
ELSE 00018550
COMPUTE TEMP-TOT = T-S-HOLD-1 + T-S-HOLD-2 0001G560
+ T-S-HOLD-3 00018570
+ T-S-HOLD-4 * T-S-HOLD-5 + T-S-HOLD-6 + T-S-HOLD-700016580
+ T-S-HOLO-8 + T-S-HOLD-9 + T-S-HOLD-10 OC018590
+ T-S-HOLD-11 + T-S-HOLD-12 + T-S-HOLD-13 C001S600
+ T-S-HOLD-14 + T-S-HOLD-15 + T-S-HOLD-16 «• 00018610
+ T-S-FACT-17 + T-S-FACT-18 + T-S-FACT-19 00016620
+ T-S-FACT-20 + T-S-FACT-21 + T-S-FACT-22 00013630
+ T-S-FACT-23 + T-S-FACT-24. 00018640
IF TEMP-TOT NOT < 0.0 00018650
AND (TEMP-TOT > 101.0 OR TEMP-TOT < 99.0) 00018660
* SUM OF VALUES OUT OF RANGE. 00013670
MOVE BINARY-6 TO COND-CODE 00018680
ADD BINARY-1 TO COND-CNT 00016690
PERFORM INVALID-DATA-FOUND 00018700
ELSE NEXT SENTENCE. 00016710
IF TEMP-TOT NOT < 0.0 0001S720
* ACTUALLY ASSEMBLE THE RECORD. 00018730
IF T-S-CARD-1 AND T-S-HOLD-CARD-2 00013740
MOVE T-S-ID TO T-S-REC-ID 00018750
MOVE T-S-SEASON TO T-S-REC-SEAS 00018760
MOVE T-S-DAY-NUM TO T-S-REC-OAY 00018770
MOVE T-S-FACT-SET-1 TO T-S-REC-SET-1 00013780
MOVE T-S-HOLD-SET-2 TO T-S-REC-SET-2 COC18790
A-76
-------
PERFORM STORE-T-S-REC
ELSE
MOVE T-S-ID-HOLD TO T-S-REC-ID
MOVE T-S-HOLD-SEASON TO T-S-REC-SEAS
MOVE T-S-HOLD-DAY TO T-S-REC-DAY
MOVE T-S-HOLD-SET-1 TO T-S-REC-SET-1
MOVE T-S-FACT-SET-2 TO T-S-REC-SET-2
PERFORM STORE-T-S-REC.
ELSE NEXT SENTENCE.
CCMPUTE-DEFAULT-PROC-EMIS.
ADD BINARY-1 TO PROC-SUB
MOVE FALSE TO RECOMP-SW.
IF STORE-EM-FACT (FROC-SUB, EMIS-SUB) = ZERO
MOVE TRUE TO RECOMP-SW
MOVE BINARY-1 TO STORE-EM-FACT (PROC-SUB, EMIS-SUB).
IF STORE-PROC-RATE (PROC-SUB) = ZERO
MOVE TRUE TO RECOMP-SW
MOVE BINARY-1 TO STORE-PROC-RATE (PROC-SUB).
IF RECOMPUTE-REQUIRED
PERFORM COMPUTE-PROC-EMISSIONS.
COMPUTE-HC-SPLITS.
ADD BINARY-1 TO PROC-SUB.
» FIND A SPLIT TO USE.
* FIRST, CONSTRUCT SEARCH KEYS FROM PROJ-FILE RECORD.
MOVE STORE-SCC (PROC-SUB) TO PROCESS-SCC-1
PROCESS-SCC-4
PROCESS-SCC-5
PROCESS-SCC-6.
MOVE OLD-ST TO PROCESS-ST-CCDE-1
PROCESS-ST-CCDE-2
PROCESS-ST-CODE-3
PROCESS-ST-CCDE-4
PROCESS-ST-CODE-S.
MOVE OLD-COUNTY TO PROCESS-CNTY-CODE-1
PROCESS-CNTY-CODE-2
PROCESS-CNTY-CODE-3
PROCESS-CNTY-CODE-4.
MOVE OLD-PLANT TO PROCESS-PLANT-CODE-1
PROCESS-PLANT-CODE-2
PROCESS-PLANT-CODE-3.
MOVE OLD-POINT-FIELD TO PROCESS-POINT-CODE-1
PROCESS-POINT-CCDE-2.
MOVE FALSE TO POLL-SPLIT-REC-SW.
* PERFORM SPLIT ALGORITHM ONLY IF EMISSION DATA PRESENT.
IF HC-EMIS (PROC-SUB) > ZERO
OR NOX-EMIS (FROC-SUB) > ZERO
PERFORM GET-POLL-SPLIT-REC THRU GET-POLL-SPLIT-REC-EKD
UNTIL POLL-SPLIT-REC-STOP
* POLL-SPLIT-REC-SW HAS TWO VALUES: MATCH FOUKD (1) OR
* ALL SEARCHES FAILED (2).
IF NOT POLL-SPLIT-REC-FOUND
A-77
0001S300
00013310
0001S820
00016330
00018340
00013350
00013860
00018870
00016830
00018390
00018900
00018910
00018920
00018930
00018940
00018950
00018960
00018970
00018980
00018990
00019000
00019010
00019020
00019030
0001S040
00019050
00019060
00019070
00019080
00019090
00019100
00019110
00019120
00019130
00019140
00019150
00019160
00019170
00019180
00019190
00019200
00019210
00019220
00019230
00019240
00019250
00019260
00019270
00019230
00019290
00019300
00019310
00019320
00019330
00019340
OOC19350
00019360
-------
PERFORM HC-SPLIT-DEFAULT-ALGORITHM
ELSE
IF P-S-REC-AL6-1
PERFORM HC-SPLIT-OPTIONAL-ALGORITHM
ELSE
PERFORM HC-SPLIT-STANDARD-AL60RITHM
ELSE NEXT SENTENCE.
COMPUTE-PCT-DIFF.
00019370
00019380
00019390
00019400
00019410
00019480
00019430
00019440
00019450
00019460
00019470
* THIS PARA CHECKS THE VALUE OF PROCESS-COMPUTED EMISSIONS 00019480
* WITH POINT-LEVEL EMISSIONS. IF THE DIFFERENCE IS GREATER THC0019490
* +/- 2.OX, RECOMPUTE PROCESS-LEVEL EMISSIONS AS A FRACTION OFOOC19500
* THE POINT-LEVEL VALUE. 00019510
ADD BINARY-1 TO EMIS-SUB. 00019520
MOVE ZERO TO PCT-DIFF. 00019530
IF POINT-EM-R (EMIS-SUB) > ZERO 00019540
COMPUTE PCT-DIFF ROUNDED = 100.0 - 100.0 * (FROC-INDIV-EM00019550
(BINARY-7, EMIS-SUB) / POINT-EM-R (EMIS-SUB)) 00019560
ELSE 00019570
* ZERO POINT EMISSIONS WILL ALWAYS BE "WRONG" BECAUSE 00019530
* DEFAULT PROCESS RATE AND/OR EMISSION FACTOR(S) ARE 00019590
* SET TO BINARY-1. "ERROR" DOES NOT REALLY EXIST IN THIS 00019600
* CASE, SO NO MESSAGE IS ISSUED. CALCULATION IS PERFORMED, 00019610
* HOWEVER, IN ORDER TO INSURE THAT PROCESS VALUES ARE CORRECT.00019620
MOVE ZERO TO ALLOCATE-LOC 00019630
PERFORM ALLOC-POINT-TO-PROCESS STORE-PROC-COUNT TIMES. 00019640
IF (PCT-DIFF > 2.0 OR PCT-DIFF < -2.0 AND 00019650
POINT-EM-R (EMIS-SUB) NOT < BINARY-10) 00019660
* FOR POINT EMISSIONS < 10.0 00019670
OR (PCT-DIFF > BINARY-10 OR PCT-DIFF < -10.0) 00019680
* IF THE PERCENT DIFFERENCE EXCEEDS THE ALLOWED RANGE, ISSUE 00019690
* A MESSAGE... 00019700
MOVE BINARY-24 TO COND-CODE 00019710
ADD BINARY-1 TO ERR-CNT 00019720
PERFORM INVALID-DATA-FOUND 00019730
* AND ALLOCATE SEG 1 EMISSIONS TO PROCESS(ES). 00019740
MOVE ZERO TO PROC-SUB 00019750
PERFORM COMPUTE-DEFAULT-PROC-EMIS STORE-PROC-COUNT TIMES 00019760
MOVE ZERO TO ALLOCATE-LCC
PERFORM ALLOC-POINT-TO-PROCESS STORE-PROC-COUNT TIMES
PUT THE ACTUAL EMISSIONS VALUE IN THE "SUM" FIELD.
MOVE POINT-EM-R (EMIS-SUB) TO
PROC-INDIV-EM (BINARY-7, EMIS-SUB).
ELSE NEXT SENTENCE.
COMPUTE-PROC-EMISSIONS.
COMPUTE PROC-INDIV-EM (FROC-SUB, EMIS-SUB) ROUNDED
= STORE-EM-FACT (PROC-SUB, EMIS-SUB)
* (100.0 - CONT-FACT (EMIS-SUB)) / 100.0
* STORE-PROC-RATE (PROC-SUB) / 2000.0.
IF STORE-ASH-SULF-CODE (PROC-SUB, EMIS-SUB) = 'A'
MULTIPLY PROC-INDIV-EM (FROC-SUB, EMIS-SUB) BY
STORE-ASH (PROC-SUB) GIVING
A-78
00019770
00019730
00019790
00019300
00019810
00019S20
00019830
00019840
00019850
00019360
00019370
00019880
00019890
00019900
00019910
00019920
00019930
-------
PROC-INDIV-EM (PROC-SUB, EHIS-SUB) ROUNDED.
IF STORE-ASH-SULF-CODE (PROC-SUB, EMIS-SUB) = 'S1
MULTIPLY PROC-INDIV-EM (PROC-SUB, EMIS-SUB)
BY STORE-SULF (PROC-SUB) GIVING
PROC-INDIV-EM (PROC-SUB, EMIS-SUB) ROUNDED.
ADO PROC-INDIV-EM (PROC-SUB, EMIS-SUB) TO
PROC-INDIV-EM (BINARY-7, EMIS-SUB) ROUNDED.
COMPUTE-TEMP-SPLITS.
» FIND A SPLIT TO USE.
* FIRST, CONSTRUCT SEARCH KEYS FROM PROJ-FILE RECORD.
MOVE OLO-ST TO PROCESS-ST-CODE-1
PROCESS-ST-CODE-2
PROCESS-ST-CODE-3
PROCESS-ST-CODE-4
PROCESS-ST-CODE-5.
MOVE OLD-COUNTY TO PROCESS-CNTY-CODE-1
PROCESS-CNTY-CODE-2
PROCESS-CNTY-CODE-3
PROCESS-CNTY-COD E-*.
MOVE OLD-PLANT TO PROCESS-PLANT-CODE-1
PROCESS-PLANT-CODE-2
PROCESS-PLANT-CODE-3.
MOVE OLD-POINT-FIELD TO FROCESS-POINT-CODE-1
PROCESS-FOINT-CODE-2.
MOVE ZERO TO PROC-SUB.
PERFORM GET-TEMP-SPLIT-REC STORE-PROC-COUNT TIMES.
DISPLAY-OF-CONTROL-OATA.
* SHOW THE USER REQUEST OF CONTROL DATA AND PROGRAM'S
* RESULTANT VALUES.
* COUNT THE LINES.
ADD BINARY-ll TO LINE-CNTR-D.
* PRINT THE HEADER UNIT.
MOVE CONTROL-DISPLAY-HDR-1 TO REPORT-DATA.
WRITE REPORT-LINE AFTER BINARY-2.
MOVE CONTROL-DISPLAY-HDR-2 TO REPORT-DATA.
WRITE REPORT-LINE AFTER BINARY-2.
MOVE CONTROL-DISPLAY-HDR-3 TO REPORT-DATA.
WRITE REPORT-LINE AFTER BINARY-1.
» PRINT USER REQUEST.
MOVE CONTROL-DISPLAY-LINE-1 TO REPORT-DATA.
WRITE REPORT-LINE AFTER BINARY-2.
* PRINT PROGRAM RESULTANT VALUES.
MOVE CONTROL-DISPLAY-LINE-2 TO REPORT-DATA.
WRITE REPORT-LINE AFTER BINARY-2.
* PRINT HEADER FOR SUMMARY REQUEST CARDS.
MOVE COHTROL-DISPLAY-HDR-4 TO REPORT-DATA.
WRITE REPORT-LINE AFTER BINARY-2.
* SUMMARY CONTROL RECORDS WILL BE PRINTED FROM THE
* ROUTINE THAT READS AND STORES THEM.
A-79
00019940
00019950
00019960
00019970
00019980
00019990
OOC20000
00020010
00020020
00020030
00020040
00020C50
00020060
0002C070
0002COSO
00020090
00020100
00020110
00020120
00020130
00020140
00020150
00020160
00020170
00020130
00020190
OC020200
00020210
00020220
00020230
00020240
00020250
00020260
00020270
00020260
00020290
00020300
00020310
00020320
00020330
00020340
00020350
00020360
00020370
00020330
00020390
00020400
00020410
00020420
00020430
00020440
00020450
00020460
00020470
00020460
00020490
00020500
-------
EMPTY-THE-TABLE.
* ZEROS THE ACCUMULATION TABLE FOR HOURLY SPLITS
* WHICH WILL BE SUMMED TO THE POINT LEVEL.
MOVE ZERO TO HRLY-EMIS-VALUES (DAY-SUB, BINARY-I>
IF EF-SUB < BINARY-11
MOVE ZERO TO HRLY-TEMP (EF-SUB).
END-OF-DIAG-PAGE-RTN.
* WRITE HEADER RECORD AT TOP OF NEW REPORT PAGE
* WHEN CURRENT PAGE IS FULL.
MOVE BINARY-10 TO LINE-CNTR-D.
MOVE TOP-LINE TO REPORT-DATA.
WRITE REPORT-LINE AFTER PAGE.
MOVE MAIN-HEADER TO REPORT-DATA.
WRITE REPORT-LINE AFTER BINARY-2.
MOVE PAGE-NUMBER-0 TO PAGE-NO-D.
MOVE DIAGNOSTIC-HEADER TO REPORT-DATA.
WRITE REPORT-LINE AFTER BINARY-2.
MOVE RUN-TITLE-LINE TO REPORT-DATA.
WRITE REPORT-LINE AFTER BINARY-2.
MOVE SPACES TO REPORT-DATA
WRITE REPORT-LINE AFTER BINARY-2.
ADD BINARY-1 TO PAGE-NUMBER-D.
END-OF-PROJ-FILE.
* TURNING ON SWITCH STOPS PROCESSING.
MOVE TRUE TO EOF-PROJ-SW.
IF STORE-PROC-COUNT > ZERO
PERFORM PROCESS-PREV-POINT.
ENO-OF-SUMMARY-PAGE-RTN.
* WRITE HEADERS AT TOP OF SUMMARY-REPORT PAGE.
MOVE TOP-LINE TO SUMMARY-DATA.
WRITE SUMMARY-LINE AFTER PAGE.
MOVE MAIN-HEADER TO SUMMARY-DATA.
WRITE SUMMARY-LINE AFTER BINARY-2.
MOVE PAGE-NUMBER-S TO PAGE-NO-S.
MOVE SUMMARY-HEADER TO SUMMARY-DATA.
WRITE SUMMARY-LINE AFTER BINARY-2.
MOVE RUN-TITLE-LINE TO SUMMARY-DATA.
WRITE SUMMARY-LINE AFTER BINARY-2.
ADD BINARY-1 TO PAGE-NUMBER-S.
MOVE SUMMARY-HDR-LINE-1 TO SUMMARY-DATA.
WRITE SUMMARY-LINE AFTER BINARY-2.
MOVE SUMMARY-HDR-LINE-2 TO SUMMARY-DATA.
WRITE SUMMARY-LINE AFTER BINARY-2.
MOVE SUMMARY-HDR-LINE-3 TO SUMMARY-DATA.
WRITE SUMMARY-LINE AFTER BINARY-1.
EF-SUB).
A-80
00020510
00020520
00020530
00020540
00020550
00020560
00020570
00020580
00020590
00020600
00020610
00020620
00020630
00020640
OOC20650
00020660
00020670
00020680
00020690
00020700
00020710
00020720
00020730
00020740
00020750
00020760
00020770
00020780
00020790
00020800
00320310
00020820
OC020830
00020840
C0020850
00020360
OC020870
C00208SO
00020890
00020900
00020910
00020920
00020930
00020940
00020950
00020960
00020970
00020980
00020990
00021000
00021010
00021020
00021030
00021040
00021050
00021060
0002107C
-------
FILL-SEG-3-RECORDS.
* DAY-LEVEL LOOP FOR CREATING HOURLY EMISSION.
ADO BINARY-1 TO DAY-SUB.
MOVE OLD-POINT-CODE TO ST-CNTY-AQCR-PLANT.
MOVE WORK-DATE-OF-SEG-1 TO DATE-OF-SEG-3.
MOVE OLD-POINT TO SEG-l-ID.
MOVE DAY-SUB TO SEG-3-ID.
MOVE ZERO TO HOUR-SUB.
PERFORM FILL-THE-SEG-3-DAY BINARY-24 TIMES.
FILL-THE-HOUR-DEFAULT.
* DEFAULT TEMPORAL SPLIT ALGORITHM.
ADD BINARY-1 TO HOUR-SUB.
* THIS NEXT STATEMENT IS USED WHEN SEGMENT 1 "DEFAULT"
* IS USED AND HOURS/DAY = 18 OR 19.
IF HOUR-SUB > BINARY-24
GO TO FILL-THE-HOUR-DEFAULT-END.
COMPUTE HRLY-TEMP (BINARY-1) ROUNDED
= AERO-EMIS (PROC-SUB) * SCALER.
COMPUTE HRLY-TEMP (BINARY-2) ROUNDED
= SOX-EMIS (PROC-SUB) * SCALER / 64.0.
COMPUTE HRLY-TEMP (BINARY-3) ROUNDED
= CO-EMIS (PROC-SUB) * SCALER / 28.0.
COMPUTE HRLY-TEMP (BINARY--*) ROUNDED
= NO-EMIS (PROC-SUB) * SCALER.
COMPUTE HRLY-TEMP (BINARY-5) ROUNDED
= N02-EMIS (PROC-SUB) * SCALER.
COMPUTE HRLY-TEMP (BINARY-6) ROUNDED
= OLE-EMIS (PROC-SUB) * SCALER.
COMPUTE HRLY-TEMP (BINARY-7) ROUNDED
= PAR-EMIS (PROC-SUB) * SCALER.
COMPUTE HRLY-TEMP (BIHARY-8) ROUNDED
= CARB-EMIS (PROC-SUB) * SCALER.
COMPUTE HRLY-TEMP (BINARY-9) ROUNDED
= ARO-EMIS (PROC-SUB) * SCALER.
COMPUTE HRLY-TEMP (BINARY-10) ROUNDED
= ETH-EMIS (PROC-SUB) * SCALER.
MOVE ZERO TO EMIS-SUB
PERFORM SUMMARY-LINE-STORE BINARY-10 TIMES.
FILL-THE-HOUR-DEFAULT-END.
EXIT.
FILL-THE-HOUR-STANDARD.
* TEMPORAL SPLIT STANDARD ALGORITHM WHEN USER SPECIFIES SPLIT.
ADD BINARY-1 TO HOUR-SUB.
* SAVE SOME COMPUTATIONS.
IF T-S-REC-VALS (HOUR-SUB) = ZERO
GO TO FILL-THE-HOUR-STANDARD-END.
COMPUTE HRLY-TEMP (BINARY-1) ROUNDED
00021080
00021090
00021100
00021110
00021120
00021130
00021140
OC021150
00021160
00021170
00021180
00021190
00021200
00021210
00021220
00021230
00021240
00021250
00021260
00021270
00021280
00021290
00021300
00021310
00021320
00021330
00021340
00021350
00021360
00021370
00021380
OC021390
00021400
00021410
00021420
00021430
00021440
00021450
OC021460
00021470
00021480
00021490
C0021500
00021510
00021520
OC021530
00021540
00021550
00021560
00021570
00021560
00021590
OOC21600
OOC21610
00021620
00021630
003J1640
A-81
-------
= T-S-REC-VALS (HOUR-SU3) * AERO-EMIS (FROC-SUB) * SCALER.
COMPUTE HRLY-TEMP (BINARY-2) ROUNDED
= T-S-REC-VALS (HOUR-SUB) * SOX-EMIS (PROC-SUB) * SCALER
/ 64.0.
COMPUTE HRLY-TEMP (BINARY-3) ROUNDED
= T-S-REC-VALS (HOUR-SUB) * CO-EMIS (PROC-SUB) * SCALER
/ 28.0.
COMPUTE HRLY-TEMP (BINARY-*) ROUNDED
= T-S-REC-VALS (HOUR-SUB) * NO-EMIS (FROC-SUB) * SCALER.
COMPUTE HRLY-TEMP (BINARY-5) ROUNDED
= T-S-REC-VALS (HOUR-SUB) * N02-EMIS (PROC-SUB) * SCALER.
COMPUTE HRLY-TEMP (BINARY-6) ROUNDED
= T-S-REC-VALS (HOUR-SUB) * OLE-EMIS (PROC-SUB) * SCALER.
COMPUTE HRLY-TEMP (BINARY-7) ROUNDED
= T-S-REC-VALS (HOUR-SUB) * PAR-EMIS (FROC-SUB) * SCALER.
COMPUTE HRLY-TEMP (BINARY-8) ROUNDED
= T-S-REC-VALS (HOUR-SUB) * CARB-EMIS (PROC-SUB) * SCALER.
COMPUTE HRLY-TEMP (BINARY-9) ROUNDED
= T-S-REC-VALS (HOUR-SUB) * ARO-EMIS (PROC-SUB) * SCALER.
COMPUTE HRLY-TEMP (BINARY-10) ROUNDED
= T-S-REC-VALS (HOUR-SUB) * ETH-EMIS (PROC-SUB) * SCALER.
MOVE ZERO TO EMIS-SUB
PERFORM SUMMARY-LINE-STORE BINARY-10 TIMES.
FILL-THE-HOUR-STANDARD-END.
EXIT.
FILL-THE-SEG-3-DAY.
* HOURLY LOOP FOR CREATING HOURLY EMISSIONS.
* HOURLY-LEVEL LOOP FOR CREATING HOURLY EMISSIONS.
ADD BINARY-1 TO HOUR-SUB.
MOVE HOUR-SUB TO SEG-3-HOUR.
MOVE ZERO TO SEG-3-EMISSICNS.
MOVE ZERO TO POLLUT-SUB.
PERFORM FILL-THE-SEG-3-HOUR BINARY-10 TIMES.
MOVE SEG-3 TO HRLY-MAST3.
WRITE HRLY-MAST3.
ADD BINARY-1 TO HRLY-EMIS-COUNT.
FILL-THE-SEG-3-HOUR.
* MOVE AN EMISSION VALUE TO SEG-3 RECORD.
ADD BINARY-1 TO POLLUT-SUB.
MOVE HRLY-EMIS-VALUES (DAY-SUB, HOUR-SUB, POLLUT-SUB)
TO SEG-3-EMIS (POLLUT-SUB).
FIND-EM-FACT.
* SEARCH SEGMENT 2 FOR EMISSION FACTORS.
* "1" IS THE DEFAULT VALUE FOR EMISSION FACTORS AND
* MUST BE SUBTRACTED FROM THE PROCESS-TOTAL WHEN
A-82
00021650
00021660
00021670
00021680
00021690
00021700
00021710
00021720
OOC21730
00021740
00021750
00021760
00021770
000217GO
00021790
00021800
00021810
00021820
00021330
00021340
00021850
00021860
00021870
00021880
00021S90
00021900
00021910
00021920
00021930
00021940
00021950
00021960
00021970
00021980
00021990
00022000
00022-010
00022020
00022030
00022040
00022050
00022060
00022070
00022030
00022090
000221CO
00022110
00022120
00022130
00022140
OC022150
00022160
00022170
000221SO
00022190
OOCC2200
00022210
-------
A TRUE VALUE IS FOUND.
ADD BINARY-1 TO EF-SUB.
MOVE ZERO TO EF-FOUND.
IF WORK-FOLLUTANT-ID (EF-SUB) = AEROSOL-CODE
MOVE BINARY-1 TO EF-FOUND
IF WORK-B-EMISSION-FACTOR (EF-SUB) NUMERIC
MOVE WORK-EMISSION-FACTOR (EF-SU3) TO
STORE-EM-FACT (STORE-PROC-COUNT, EF-FOUND)
MOVE WORK-ASH-SULFUR-CODE (EF-SUB) TO
STORE-ASH-SULF-CCDE (STORE-FROC-COUNT, EF-FOUND)
ELSE MOVE BINARY-1 TO
STORE-EM-FACT (STORE-PROC-COUNT, EF-FOUND)
ELSE NEXT SENTENCE.
IF WORK-POLLUTANT-ID (EF-SU3) = SOX-CODE
MOVE BINARY-a TO EF-FOUHD
IF WORK-B-EMISSION-FACTOR (EF-SUB) NUMERIC
MOVE WORK-EMISSION-FACTOR (EF-SUB) TO
STORE-EM-FACT (STCRE-PROC-COUNT, EF-FOUND)
MOVE WORK-ASH-SULFUR-CODE (EF-SUB) TO
STORE-ASH-SULF-CODE (STORE-PROC-COUNT, EF-FOUND)
ELSE MOVE BINARY-1 TO
STORE-EM-FACT (STORE-PROC-COUNT, EF-FOUND)
ELSE NEXT SENTENCE.
IF WORK-POLLUTANT-ID (EF-SUB) = CO-CODE
MOVE BINARY-3 TO EF-FOUND
IF WORK-B-EMISSION-FACTOR (EF-SUB) NUMERIC
MOVE WCRK-EMISSION-FACTOR (EF-SUB) TO
STORE-EM-FACT (STORE-PROC-COUNT, EF-FOUND)
ELSE MOVE BINARY-1 TO
STORE-EM-FACT (STORE-PROC-COUNT, EF-FOUND)
ELSE NEXT SENTENCE.
IF WORK-POLLUTANT-ID (EF-SUB) = NOX-CODE
MOVE BINARY-4 TO EF-FOUND
IF WORK-B-EMISSION-FACTOR (EF-SUB) NUMERIC
MOVE WORK-EMISSION-FACTOR (EF-SUB) TO
STORE-EM-FACT (STORE-FROC-COUNT, EF-FOUND)
ELSE MOVE BINARY-1 TO
STORE-EM-FACT (STORE-PROC-COUNT, EF-FOUND)
ELSE NEXT SENTENCE.
IF WORK-POLLUTANT-ID (EF-SUB) = HC-CODE
MOVE BINARY-5 TO EF-FOUND
IF WORK-B-EMISSION-FACTOR (EF-SUB) NUMERIC
MOVE WORK-EMISSION-FACTOR (EF-SUB) TO
STORE-EM-FACT (STORE-PROC-COUNT, EF-FCUND)
ELSE MOVE BINARY-1 TO
STORE-EM-FACT (STORE-PROC-COUNT, EF-FOUND)
ELSE NEXT SENTENCE.
IF EF-FOUND > ZERO
COMPUTE MACHINE-PROCESS EMISSIONS.
MOVE EF-FOUND TO EMIS-SU3
MOVE STORE-PROC-COUNT TO PROC-SU3
PERFORM COMPUTE-PROC-EMISSIONS.
FIND-EMIS.
* FIND AND STORE SEGMENT 1 EMISSIONS VALUES.
00022220
00022230
00022243
00022C50
00022260
OOC22270
00022230
00022290
00022300
00022310
00022320
00022330
00022340
00022350
00022360
00022370
00022300
00022390
00022400
00022410
00022420
00022430
00022440
00022450
00022460
00022470
00022480
00022490
00022500
00022510
00022520
00022530
00022540
00022550
00022560
OC022570
00022580
00022590
00022600
00022610
00022620
00022630
00022640
00022650
00022660
00022670
00022630
00022690
00022700
00022710
00022720
00022730
OOC22740
00022750
00022760
00022770
OOC22730
A-83
-------
ADD BINARY-1 TO EMIS-SUB.
IF WORK-ESTIMATES (EMIS-SUB) NOT NUMERIC OR
(WORK-ESTIMATES (EMIS-SUB) = ZERO)
IF WORK-ACTUAL (EMIS-SUB) NUMERIC
00022790
00022600
00022810
00022820
MOVE WORK-ACTUAL (EMIS-SUB) TO WORK-ESTIMATES (EMIS-SUB) 00022830
ELSE
MOVE ZERO TO WORK-ESTIMATES (EMIS-SUB).
IF WORK-EST-CNTL-EFF-N (EMIS-SUB) NOT NUMERIC
MOVE ZERO TO WORK-EST-CONTROL-EFF (EMIS-SUB).
IF WORK-POLLUTION-ID (EMIS-SUB) = AEROSOL-CODE
MOVE WCRK-EST-CONTROL-EFF (EMIS-SUB) TO AEROSOL-CCNT
MOVE WORK-ESTIMATES (EMIS-SUB) TO AEROSOL-EM
ELSE
IF WORK-POLLUTION-ID (EMIS-SUB) = SOX-CODE
MOVE WORK-EST-COHTROL-EFF (EMIS-SUB) TO SOX-CONT
MOVE WORK-ESTIMATES (EMIS-SUB) TO SOX-EM
ELSE
IF WORK-POLLUTION-ID (EMIS-SUB) = CO-CODE
MOVE WORK-EST-CONTROL-EFF (EMIS-SUB) TO CO-CCNT
MOVE WORK-ESTIMATES (EMIS-SUB) TO CO-EM
ELSE
IF WORK-POLLUTION-ID (EMIS-SUB) = NOX-CODE
MOVE.WORK-EST-CONTROL-EFF (EMIS-SUB) TO
NOX-CONT
MOVE WORK-ESTIMATES (EMIS-SUB) TO NOX-EM
ELSE
IF WORK-POLLUTION-ID (EMIS-SUB) =
HC-CODE
MOVE WORK-EST-CONTROL-EFF (EMIS-SUB) TO
HC-CONT
MOVE WORK-ESTIMATES (EMIS-SUB) TO
HC-EM.
ELSE NEXT SENTENCE.
6ET-POLL-SPLIT-REC.
* NOTE THAT ONLY POLL-FILE KEYS ARE MOVE TO POLL-
* SPLIT-RECORD. THE KEYS ARE NOT TESTED OUTSIDE THIS
* PARAGRAPH.
MOVE FALSE TO POLL-SPLIT-REC-SM.
* GET A NEW SPECIFIC SPLIT RECORD IF NEEDED.
PERFORM READ-THE-POLLUTANT-FILE
* SPLIT READ STOPS ON: (1) KEY MATCH
* (2) KEY > MAX POSSIBLE FOR EIS/PSR
* RECORD BEING PROCESSED
» (3) EOF.
UNTIL POLL-SPLIT-REC-STOP
OR EOF-POLL-SPLIT.
IF POLL-SPLIT-REC-FOUND
GO TO GET-POLL-SPLIT-REC-END
ELSE NEXT SENTENCE.
* ATTEMPT TO FIND A GENERAL POLLUTANT SPLIT RECORD.
IF POLL-TAB-1-LEN > 0
SEARCH ALL POLL-TABLE-1-ENTRY
WHEN P-T-1-KEY (P-T-1-INDEX) EQUALS PROCESS-SPLIT-KEY-4
00022840
00022650
00022360
00022370
00022830
00022390
00022900
00022910
00022920
00022930
OC022940
00022950
00022960
OOC22970
00022980
00022990
00023000
00023010
00023020
00023030
00023040
00023050
00023060
00023070
00023080
00023090
00023100
00023110
00023120
00023130
00023140
C00231SO
00023160
00023170
00023180
00023190
00023200
00023210
00023220
00023230
00023240
00023250
00023260
00023270
00023260
00023290
00023300
00023310
00023320
00023330
C0023340
MOVE P-T-1-FACTORS-P (P-T-1-IK'DEX) TO P-S-REC-FCT-WTS00023350
A-84
-------
MOVE P-T-1-FACTORS-M (P-T-1-INDEX) TO P-S-REC-MOL-WTS00023360
MOVE P-T-1-FACTORS-N (P-T-1-INDEX) TO P-S-REC-NOX 00023370
MOVE P-T-1-ALG (P-T-1-INDEX) TO P-S-REC-ALG-SEL 00023380
MOVE TRUE TO POLL-SPLIT-REC-SW 00023390
GO TO GET-POLL-SPLIT-REC-END. 00023400
IF POLL-TAB-2-LEN > 0 00023410
SEARCH ALL POLL-TABLE-2-ENTRY 00023420
WHEN P-T-2-KEY (P-T-2-INDEX) EQUALS PROCESS-SPLIT-KEY-5 00023430
MOVE P-T-2-FACTORS-P (P-T-2-INDEX) TO P-S-REC-PCT-WTS00023440
MOVE P-T-2-FACTORS-M (P-T-2-INDEX) TO P-S-REC-MOL-WTS00023450
MOVE P-T-2-FACTORS-N (P-T-2-INDEX) TO P-S-REC-HOX 00023460
MOVE P-T-2-ALG (P-T-2-INDEX) TO P-S-REC-ALG-SEL 00023470
MOVE TRUE TO POLL-SPLIT-REC-SW 00023460
SO TO GET-POLL-SPLIT-REC-END. 00023490
IF POLL-TAB-3-LEN > 0 00023500
SEARCH ALL POLL-TABLE-3-ENTRY 00023S10
WHEN P-T-3-KEY (P-T-3-INDEX) EQUALS PROCESS-SPLIT-KEY-6 00023520
MOVE P-T-3-FACTORS-P (P-T-3-INDEX) TO P-S-REC-PCT-WTS00023530
MOVE P-T-3-FACTORS-M (P-T-3-INDEX) TO P-S-REC-MOL-WTS00023540
MOVE P-T-3-FACTORS-N (P-T-3-INDEX) TO P-S-REC-HOX
MOVE P-T-3-ALG (P-T-3-INDEX) TO P-S-REC-ALG-SEL
MOVE TRUE TO POLL-SPLIT-REC-SW
GO TO GET-POLL-SPLIT-REC-END.
MOVE BINARY-2 TO POLL-SPLIT-REC-SW.
GET-POLL-SPLIT-REC-END.
EXIT.
GET-TEMP-SPLIT-REC.
ADD BINARY-1 TO PROC-SUB.
00023550
00023560
00023570
00023530
00023590
00023600
00023610
00023620
00023630
00023640
C0023650
00023660
00023670
00023680
CREATE SEARCH KEYS FOR TEMPORAL SPLITS AND USER SUMMARY REPCRT00023690
MOVE STORE-SCC (PROC-SUB) TO FROCESS-SCC-1
PROCESS-SCC-4
PROCESS-SCC-5
PROCESS-SCC-6
REPORT-KEY-1-SCC
REPGRT-KEY-2-SCC
REPORT-KEY-3-SCC.
MOVE PROCESS-SPLIT-KEY-1 TO TEMP-KEY-1-ID
MOVE PROCESS-SPLIT-KEY-2 TO TEMP-KEY-2-ID
MOVE PROCESS-SPLIT-KEY-3 TO TEMP-KEY-3-ID.
FIND USER SUMMARY REPORT LINE FOR THIS SCC.
MOVE ZERO TO SUMMARY-SUB.
MOVE FALSE TO SUMMARY-LINE-FOUND-SW.
"SUMMARY-LINE-FOUND11 MAY OCCUR ON ONE OF THE "MISC." LIMES.
PERFORM SUMMARY-LINE-SEARCH UNTIL SUMMARY-LINE-FOUND.
COMPUTE TEMPORAL SPLITS.
MOVE ZERO TO DAY-SUB.
PERFORM GET-TEMP-SPLIT-REC-SUB NUM-OF-DAYS TIMES.
GET-TEMP-SPLIT-REC-SUB.
* NOTE THAT ONLY TEMP-FILE KEYS ARE MOVE TO TEMP-
A-85
00023700
00023710
00023720
00023730
00023740
00023750
00023760
00023770
00023700
00023790
00023800
00023810
00023820
00023830
00023340
00023850
00023860
00023870
00023880
00023890
00023900
00023910
00023920
-------
* SPLIT-RECORD. THE KEYS ARE NOT TESTED OUTSIDE THIS 00023930
* PARAGRAPH. 00023940
ADD BINARY-1 TO DAY-SUB. 00023950
* CLEAR THE ACCUMULATION TABLE WHEN FIRST SCC IS PROCESSED. 00023960
IF PROC-SUB = 1 00023970
PERFORM EMPTY-THE-TABLE VARYING EF-SUB FROM BINARY-1 00023980
BY BINARY-1 UNTIL EF-SUB > 2*0. 00023990
* CREATE FILE SEARCH KEYS. 00024000
MOVE SEASON-LIST (DAY-SUB) TO TEMP-KEY-DAY. 00024010
MOVE FALSE TO TEMP-SPLIT-REC-SW. 00024C20
PERFORM READ-THE-TEMPORAL-FILE OOC24C30
* READING ENDS WHEN: (1) KEYS MATCH 00024040
* (2) A RECORD WITH KEY > MAX POSSIBLE 00024050
* FOR EIS/PSR RECORD IS FOUND 00024060
* (3) EOF. 00024070
UNTIL TEMP-SPLIT-REC-STOP 00024030
CR EOF-TEMP-SPLIT. OOC24090
IF TEMP-SPLIT-REC-FOUND AND T-S-EXTERN-SEAS (DAY-SUB) NOT < 00024100
ZERO 00024110
MOVE T-S-EXTERN-SEAS (DAY-SUB) TO T-S-REC-SEAS 00024120
MOVE T-S-EXTERN-DAY-WK (DAY-SUB) TO T-S-REC-DAY 00024130
MOVE T-S-EXTERN-VAL (DAY-SUB) TO T-S-REC-VAL 00024140
ELSE 00024150
MOVE FALSE TO TEMP-SPLIT-REC-SW. 00024160
* SEARCH THE INTERNAL TABLES IF SPECIFIC RECORD NOT FOUND. 00024170
IF TEMP-TAB-1-LEN > ZERO AND NOT TEMP-SPLIT-REC-FOUND 00024180
SEARCH ALL TEMP-TABLE-1-ENTRY 00024190
WHEN T-T-1-KEY (T-T-1-INDEX) EQUALS PROCESS-SPLIT-KEY-4 00024200
MOVE T-T-1-SEAS (T-T-1-IHDEX, DAY-SUB) TO T-S-REC-SEAS00024210
MOVE T-T-1-DAY (T-T-1-INDEX, DAY-SUE) TO T-S-REC-DAY 00024220
MOVE T-T-1-FACTORS (T-T-1-INDEX, DAY-SUB) TO 00024230
T-S-REC-VAL-R 00024240
PERFORM SET-TEMP-SPLIT-REC-SW. 00024E50
IF TEMP-TAB-2-LEN > ZERO AND NOT TEMP-SPLIT-REC-FOUND OC024260
SEARCH ALL TEMP-TABLE-2-ENTRY 00024270
WHEN T-T-2-KEY (T-T-2-INDEX) EQUALS PROCESS-SPLIT-KEY-5 00024280
MOVE T-T-2-SEAS (T-T-2-INDEX, DAY-SUB) TO T-S-REC-SEAS00024290
MOVE T-T-2-DAY (T-T-2-INDEX, DAY-SUB) TO T-S-REC-DAY 00024300
MOVE T-T-2-FACTORS (T-T-2-INDEX, DAY-SUB) TO ' 00024310
T-S-REC-VAL-R 00024320
PERFORM SET-TEMP-SPLIT-REC-SW. 00024330
IF TEMP-TAB-3-LEN > ZERO AND NOT TEMP-SPLIT-REC-FOUND 00024340
SEARCH ALL TEMP-TABLE-3-ENTRY 00024350
WHEN T-T-3-KEY (T-T-3-INDEX) EQUALS PROCESS-SPLIT-KEY-6 00024360
MOVE T-T-3-SEAS (T-T-3-INDEX, DAY-SUB) TO T-S-REC-SEAS00024370
MOVE T-T-3-DAY (T-T-3-INDEX, DAY-SUB) TO T-S-REC-DAY 000243SO
MOVE T-T-3-FACTORS (T-T-3-INDEX, DAY-SUB) TO 00024390
T-S-REC-VAL-R 00024400
PERFORM SET-TEMP-SPLIT-REC-SW. 00024410
IF TEMP-SPLIT-REC-FOUND 00024420
PERFORM TEMP-SPLIT-STANDARD-ALGORITHM 00024430
ELSE 0002444C
PERFORM TEMP-SPLIT-DEFAULT-ALGORITHM. 00024450
00024460
00024470
00024480
HC-SPLIT-DEFAULT-ALGORITHM. 00024490
A-86
-------
PERFORMED WHEN USER DOES MOT SPECIFY A SPLIT.
MOVE HC-EMIS (PROC-SUB) TO HC-ADJ.
MOVE BINARY-25 TO COND-CODE
ADD BIHARY-1 TO WARN-CNT
PERFORM INVALID-DATA-FOUND.
COMPUTE PAR-EMIS (PROC-SUB) ROUNDED = 0.6 * HC-ADJ / 14.0.
COMPUTE OLE-EMIS (PROC-SUB) ROUNDED = 0.03 * HC-ADJ / 26.0.
COMPUTE ARO-EMIS (PROC-SUB) ROUNDED = 0.12 * HC-ADJ / 78.0.
COMPUTE CARB-EMIS (PROC-SUB) ROUNDED = 0.02 * HC-ADJ / 30.0.
COMPUTE ETH-EMIS (PROC-SUB) ROUNDED = 0.02 * HC-ADJ / 28.0.
IF OLD-PLANT = 0000 OR OLD-PLANT = 9999
AREA SOURCE NOX SPLIT.
COMPUTE NO-EMIS (PROC-SUB) ROUNDED = 0.90 *
NOX-EMIS (PROC-SUB) / 46.0
COMPUTE N02-EMIS (PROC-SUB) ROUNDED = 0.10 *
NOX-EMIS (PROC-SUB) / 46.0
ELSE
POINT SOURCE NOX SPLIT.
COMPUTE NO-EMIS (PROC-SUB) ROUNDED = 0.95 *
NOX-EMIS (PROC-SUB) / 46.0
COMPUTE N02-EMIS (PROC-SUB) ROUNDED = 0.05 *
NOX-EMIS (PROC-SUB) / 46.0.
HC-SPLIT-OPTIONAL-ALGORITHM.
* USED WHEN THE USER PROVIDES AN OPTIONAL ALGORITHM SPLIT.
* FIRST, APPLY THE ALDEHYDE ADJUSTMENT.
COMPUTE HC-ADJ ROUNDED
= 100.0 / (100.0 - P-S-REC-PCT-WT-VAL (ID)
* HC-EMIS (PROC-SUB).
* SECOND, COMPUTE WEIGHTS OF ALL SPECIES.
COMPUTE MAS-PAR ROUNDED
= HC-ADJ * (P-S-REC-PCT-WT-VAL (1) / 100.0).
COMPUTE MAS-OLE ROUNDED
= HC-ADJ * (P-S-REC-PCT-WT-VAL (2) / 100.0).
COMPUTE MAS-DIOLE
= HC-ADJ * (P-S-REC-PCT-WT-VAL (3) / 100.0).
COMPUTE MAS-ETH ROUNDED
= HC-ADJ * (P-S-REC-PCT-WT-VAL (4) / 100.0).
COMPUTE MAS-ARO ROUNDED
= HC-ADJ * (P-S-REC-PCT-WT-VAL (5) / 100.0).
COMPUTE MAS-CARB ROUNDED
= HC-ADJ * (P-S-REC-PCT-WT-VAL (6) / 100.0).
COMPUTE MAS-ALCO ROUNDED
= HC-ADJ * (P-S-REC-PCT-WT-VAL (7) / 100.0).
COMPUTE MAS-ACET ROUNDED
= HC-ADJ * (P-S-REC-PCT-WT-VAL (8) / 100.0).
COMPUTE MAS-METH ROUNDED
= HC-ADJ * (P-S-REC-PCT-WT-VAL (9) / 100.0).
COMPUTE MAS-OTH ROUNDED
= HC-ADJ * (P-S-REC-PCT-WT-VAL (10) / 100.0).
* COMPUTE MOLECULAR WEIGHT CORRECTION FACTORS. THIS IS A
* SEPARATE STEP IN ORDER TO USE A ZERO DEFAULT VALUE.
IF MW-OLE > ZERO
COMPUTE MW-OLE-COR-1 ROUNDED = (MW-OLE - 28.0) / MW-OLE
COMPUTE MW-OLE-COR-2 ROUNDED = MAS-OLE / MW-OLE
00024500
00024510
00024520
00024530
00024540
00024550
G0024560
00024570
OC024580
00024590
00024600
00024610
00024620
OOC24630
OC024640
00024650
00024660
00024670
00024680
00024690
00024700
00024710
00024720
00024730
00024740
00024750
00024760
00024770
00024780
00024790
C0024800
00024810
00024320
00024330
00024640
00024350
00024350
00024670
00024830
00024390
00024900
OOC24910
00024920
00024930
00024940
00024950
00024960
00024970
00024930
00024990
000250CO
OCOE5010
00025020
00025030
00025C40
00025050
00025060
-------
ELSE
MOVE ZERO TO MW-OLE-COR-1 MW-OLE-COR-2.
IF MW-DIOLE > ZERO
COMPUTE MW-DIOLE-COR ROUNDED = MAS-DIOLE / MW-DIOLE
ELSE
MOVE ZERO TO MW-DIOLE-COR.
IF MW-CARB > ZERO
COMPUTE MW-CARB-COR-1 ROUNDED = (MW-CARB - 30.0) /
MW-CARB
COMPUTE MW-CARB-COR-2 ROUNDED = MAS-CARB / MW-CARB
ELSE
MOVE ZERO TO MW-CARB-COR-1 MW-CARB-COR-2.
IF MW-ARO > ZERO
COMPUTE MW-ARO-COR ROUNDED = (MW-ARO - 78.0) / MW-ARO
ELSE
MOVE ZERO TO MW-ARO-COR.
IF MW-ALCO > ZERO
COMPUTE MW-ALCO-COR ROUNDED = (MW-ALCO - 18.0) / MW-ALCO
ELSE
MOVE ZERO TO MW-ALCO-COR.
IF MW-ACET > ZERO
COMPUTE MW-ACET-COR-1 ROUNDED = (MW-ACET - 46.0) /
MW-ACET
COMPUTE MW-ACET-COR-2 ROUNDED = MAS-ACET / MW-ACET
ELSE
MOVE ZERO TO MW-ACET-COR-1 MW-ACET-COR-2.
* COMPUTE THE SEVEN SPECIES' EMISSIONS IN TON-MOLES/YR.
COMPUTE PAR-EMIS (PROC-SUB) ROUNDED = (MAS-OLE / 14.0
* MW-OLE-COR-1)
- 2.0 * MW-DIOLE-C03
+ (MAS-CARB / 14.0 * MW-CARB-COR-1)
+ (MAS-ARO / 14.0 * MW-ARO-COR)
+ (MAS-ALCO / 14.0 * MW-ALCO-COR)
+ (MAS-ACET / 14.0 * MW-ACET-COR-1)
+ (MAS-PAR / 14.5).
COMPUTE OLE-EMIS (PROC-SUB) ROUNDED = MW-OLE-COR-2
+ MW-DIOLE-COR
- (MAS-ETH / 28.0).
IF MW-ARO > 0
COMPUTE ARO-EMIS (PROC-SUB) ROUNDED = (MAS-ARO / MW-ARO)
ELSE
MOVE ZERO TO ARO-EMIS (PROC-SUB).
COMPUTE CARB-EMIS (FROC-SUB) ROUNDED = MW-CARB-COR-2
+ MW-ACET-COR-2.
COMPUTE ETH-EMIS (PROC-SUB) ROUNDED = (MAS-ETH / 28.0).
COMPUTE NO-EMIS (PROC-SUB) ROUNDED = P-S-REC-NO / 100.0 *
NOX-EMIS (PROC-SUB) / 46.0.
COMPUTE N02-EMIS (PROC-SUB) ROUNDED = P-S-REC-N02 / 100.0 *
NOX-EMIS (PROC-SUB) / 46.0.
HC-SPLIT-STANDARD-ALGORITHM.
* USED WHEN THE USER PROVIDES A STANDARD ALGORITHM SPLIT.
* FIRST, APPLY THE ALDEHYDE ADJUSTMENT.
COMPUTE HC-ADJ ROUNDED
= 100.0 / (100.0 - P-S-REC-PCT-WT-VAL (6))
A-88
00025070
00025080
00025090
00025100
00025110
00025120
00025150
00025140
00025150
00025160
00025170
00025180
00025190
000252CO
00025210
00025220
00035230
00025240
00025250
00025260
00025270
00025230
00025290
00025300
00025310
00025320
00025330
00025340
00025350
00025360
00025370
OC025300
00025390
00025400
00025410
00025420
00025430
00025440
00025450
00025460
00025470
00025480
00025490
00025500
00025510
00025520
00025530
00025540
00025550
00025560
00025570
000255SO
00025590
00025600
000236X0
00025620
000256-0
-------
* HC-EMIS (PROC-SUB).
COMPUTE THE SEVEN SPECIES' EMISSIONS IN TOU-MOLES/YR.
COMPUTE PAR-EMIS (PROC-SUB) ROUNDED
= HC-ADJ * (P-S-REC-PCT-WT-VAL (1)
/ 100.0) / 14.0.
COMPUTE OLE-EMIS (PROC-SUB) ROUNDED
= HC-ADJ * (P-S-REC-PCT-WT-VAL (2)
/ 100.0) / 26.0.
COMPUTE ARO-EMIS (PROC-SUB) ROUNDED
= HC-ADJ * (P-S-REC-PCT-WT-VAL (3)
/ 100.0) / 78.0.
COMPUTE CARB-EMIS (PROC-SUB) ROUNDED
= HC-ADJ * (P-S-REC-PCT-WT-VAL (4)
/ 100.0) / 30.0.
COMPUTE ETH-EMIS (PROC-SUB) ROUNDED
= HC-ADJ.* (P-S-REC-PCT-WT-VAL (5)
/ 100.0) / 28.0.
COMPUTE NO-EMIS (PROC-SUB) ROUNDED
= P-S-REC-NO / 100.0 * NOX-EMIS (PROC-SUB) / 46.0.
COMPUTE N02-EMIS (PROC-SUB) ROUNDED
= P-S-REC-N02 / 100.0 * NOX-EMIS (PROC-SUB) / 46.0.
INPUT-OF-CONTROL-FILE.
* READ THE (ASSUMED) CONTROL CARD.
READ CONTROL-FILE
AT END
MOVE TRUE TO EOF-CONTROL-INPUT
MOVE BINARY-14 TO COND-CODE
ADD BINARY-1 TO ERR-CNT
PERFORM INVALID-DATA-FOUND.
* PROCESS CONTROL CARD IF FOUND AND RECOGNIZABLE.
IF COND-CODE NOT = BINARY-14
MOVE CONTROL-REC TO CONTROL-CARD.
MOVE NUMBER-OF-SEASONS TO USER-NUM-OF-DAYS.
MOVE SEAS-I'TO USER-DAY-I.
MOVE SEAS-2 TO USER-DAY-2.
MOVE SEAS-3 TO USER-OAY-3.
MOVE SEAS-4 TO USER-DAY-4.
IF NUMBER-OF-SEASONS NUMERIC
AND NUMBER-OF-SEASONS > 0 AND NOT > 4
MOVE NUMBER-OF-SEASONS TO NUM-OF-DAYS
PROSRAM-NUM-OF-DAYS
ELSE
MOVE BINARY-14 TO CCND-CODE
ADD BINARY-1 TO ERR-CNT
PERFORM INVALID-DATA-FOUND '
MOVE NUM-OF-DAYS TO PROGRAM-NUM-OF-DAYS.
IF SEAS-1 NUMERIC AND COND-CODE NOT = BINARY-14
AND SEAS-1 > 0 AND NOT > 4
MOVE SEAS-1 TO SEASON-1 PROGRAM-DAY-1
ELSE
MOVE BINARY-14 TO COND-CODE
ADD BINARY-1 TO ERR-CNT
PERFORM INVALID-DATA-FOUND
MOVE SEASON-1 TO PROGRAM-DAY-1.
00025640
00025650
0002S660
OC025670
00025680
00025690
03025700
00025710
00025720
00025730
00025740
00025750
00025760
00025770
000257SO
OOC25790
00025800
00025810
00025820
00025830
00025840
00025S50
00025860
00025870
000258SO
00025890
00025900
00025910
00025920
00025930
00025940
00025950
00025960
00025970
00025930
00025990
00025000
00026010
00026020
00026C30
00026040
00026050
00026060
00026070
00326060
00026090
00026100
00026110
00026120
00026130
00026140
00026150
00026160
00026170
00026180
OOC26190
00026200
A-89
-------
* COND-CODE TEST IS NOT PERFORMED BELOW BECAUSE
* SEASON-2 THRU SEASON-* ARE NOT USED WHEN COND-CODE = 1*.
IF SEAS-2 NUMERIC
AND SEAS-2 > 0 AND NOT > *
MOVE SEAS-2 TO SEASON-2 PROGRAM-DAY-2
ELSE
IF NUM-OF-DAYS > BINARY-!
MOVE BINARY-1* TO COND-CODE
ADD BINARY-1 TO ERR-CNT
PERFORM INVALID-DATA-FOUND
MOVE SEASON-2 TO PROSSAM-OAY-2.
IF SEAS-3 NUMERIC
AND SEAS-3 > 0 AND NOT > *
MOVE SEAS-3 TO SEASON-3 PROGRAM-DAY-3
ELSE
IF NUM-OF-DAYS > BINARY-2
MOVE BINARY-1* TO COND-CODE
ADD BINARY-1 TO ERR-CNT
PERFORM INVALID-DATA-FOUND
MOVE SEASON-3 TO PROGRAM-DAY-3.
IF SEAS-* NUMERIC
AND SEAS-* > 0 AND NOT > *
MOVE SEAS-* TO SEASON-* PROGRAM-DAY-*
ELSE
IF NUM-OF-DAYS > BINARY-3
MOVE BINARY-1* TO COND-CODE
ADD BINARY-1 TO ERR-CNT
PERFORM INVALID-DATA-FOUND
MOVE SEASON-* TO PROGRAM-DAY-*.
PERFORM DISPLAY-OF-CONTROL-DATA.
PERFORM INPUT-SUttflARY-FCRMATS UNTIL EOF-CONTROL-FILE.
INPUT-SUMMARY-FORMATS.
* READ AND STORE USER-DEFINED SUMMARY SCC LIST.
READ CONTROL-FILE AT END MOVE TRUE
TO EOF-CONTROL-INFUT.
IF NOT EOF-CCNTROL-FILE
MOVE CONTROL-REC TO REPORT-DATA
WRITE REPORT-LINE AFTER BINARY-1
ADD BINARY-1 TO LINE-CNTR-D
IF LINE-CNTR-D > LINE-MAX
PERFORM END-OF-DIAG-PAGE-RTN.
IF SUMMARY-MAX AND NOT EOF-CONTROL-FILE
MOVE BINARY-18 TO COND-CODE
ADD BINARY-1 TO ERR-CNT
PERFORM INVALID-DATA-FOUND.
* ELSE NEXT SENTENCE.
IF NOT EOF-CONTROL-FILE AKD NOT SUMMARY-MAX
ADD BINARY-1 TO SUMMARY-CNTL-LENG
MOVE CONTROL-REC TO SL'MMARY-CNTL-REC
(SUMMARY-CNTL-LENG).
* ELSE NEXT SENTENCE.
IF EOF-CONTROL-FILE
IF SUMMARY-CNTL-LENG = 0
MOVE BINARY-19 TO COND-CCDE
00026210
00026220
00026230
000262*0
00026350
00026260
00026270
00026260
00026290
00026300
00026310
00026320
00026330
000263*0
00026350
00026360
00026370
000263SO
00026390
00026400
00026*10
00026*20
00036*30
00026**0
00026*50
0002S*60
00026*70
00026*80
00026*90
00026500
00026510
00026520
OOC26E30
000265*0
00026550
00026560
00026570
00026580
00026590
00026600
00026610
00026620
00026630
000266*0
00026650
00026660
00026670
00026630
00026690
00026700
00026710
00026720
00026730
000267*0
00026750
00026760
00026770
A-90
-------
ADD BINARY-1 TO COND-CNT
PERFORM INVALID-DATA-FOUND
ELSE
MOVE BINARY-17 TO COMD-CODE
MOVE SUMMARY-CNTL-LENG TO SUMMARY-COUNT
ADD BINARY-1 TO COND-CNT
PERFORM INVALID-DATA-FOUND.
ELSE NEXT SENTENCE.
INVALID-DATA-FOUND.
» GENERAL DIAGNOSTIC MESSAGE PRINT ROUTINE.
MOVE SPACES TO ERROR-MSS.
MOVE DIAG-MSG (COND-COOE)
TO ERROR-MSG.
MOVE ERROR-LINE TO REPORT-DATA.
WRITE REPORT-LINE AFTER BINARY-1.
ADD BINARY-1 TO LINE-CNTR-D.
IF LINE-CNTR-D > LINE-MAX
PERFORM END-OF-DIAG-PAGE-RTN.
» ELSE NEXT SENTENCE.
MOVE-TEMP-EXTERN-DATA.
MOVE T-S-REAL-ID TO T-S-EXTERN-ID.
MOVE T-S-REC-DAY TO T-S-EXTERN-DAY-KK (T-S-REC-DAY-NO).
MOVE T-S-REC-VAL TO T-S-EXTERN-VAL (T-S-REC-DAY-NO).
MOVE T-S-REC-SEAS TO T-S-EXTERN-SEAS (T-S-REC-DAY-NO).
MOVE FALSE TO EXTERN-OUTPUT-SW.
PGM-INIT.
MOVE ZERO TO WARN-CNT,
COND-CNT,
ERR-CNT,
ABORT-CNT,
DISAS-CNT.
* OPEN ALL FILES EXCEPT SORT WORK FILES, WHICH ARE
* OPENED BY THE SORT STATEMENT.
OPEN INPUT EIS-PROJ,
TEMP-FACTORS-INPUT,
POLLUT-FACTORS-INPUT,
CONTROL-FILE.
OPEN OUTPUT REPORT-FILE,
TEMP-FILE,
POLL-FILE,
SUMMARY-FILE,
HRLY-SRCE-EMIS-FILE.
MOVE CNTL-FILE-TAG TO TAG-AREA.
* COMPUTE THE DEFAULT TEMPORAL SPLIT SCALE FACTOR.
* IT CORRECTS FOR GM/TON AS WELL AS WKS/YR.
COMPUTE DEFAULT-SCALER ROUNDED = 17445.860.
* INITIALIZE SELECTION DEFAULTS FOR EIS/P4R
* ANNUAL-THRUPUT SEASONS.
00026780
00026790
00026000
00026810
00026820
00026830
00026840
00026850
00026860
00026870
00026880
00026890
00026900
00026910
00026920
00026930
00026940
00026950
OC026960
00026970
00026980
00026990
00027000
00027010
00027020
00027030
00027040
00027050
00027060
00027070
00027030
00027090
00027100
00027110
00027120
00027130
00027140
00027150
00027160
00027170
00027180
00027190
00027200
00027210
00027220
00027230
00027240
00027250
00027260
00027270
00027260
00027290
00027300
00027310
00027320
00027330
00027340
A-91
-------
MOVE BINARY-1 TO SEASON-1.
MOVE BINARY-2 TO SEASGN-2.
MOVE BINARY-3 TO SEASCN-3.
MOVE BINARY-4 TO SEASON-4.
* READ FIRST RECORD OF TEMPORAL FACTORS AND POLLUTANT
* FACTORS FILES (ID-RECORDS).
READ TEMP-FACTORS-INPUT
AT END ADD BINARY-1 TO ABORT-CUT
PERFORM T-S-EOF-CHK.
READ POLLUT-FACTORS-INPUT
AT END ADD BINARY-1 TO. ABORT-CNT
PERFORM P-S-EOF-CHK.
MOVE TEMP-FAC-REC TO T-S-ID-REC.
MOVE POLL-FACT-REC TO P-S-ID-REC.
* CLEAR TABLES.
MOVE ZERO TO TEMP-FACT-TABLE-1,
TEMP-FACT-TABLE-2,
TEMP-FACT-TABLE-3,
POLL-FACT-TABLE-1,
POLL-FACT-TABLE-2,
POLL-FACT-TABLE-3)
STORE-MACHINE-PROC,
REGION-SUMMARY-TABLE,
SUMMARY-TABLE,
T-S-EXTERN-DATA,
TEMP-SPLIT-EMIS-TABLE.
MOVE ZERO TO TEMP-TAB-1-LEN,
TEMP-TAB-2-LEN,
TEMP-TAB-3-LEN,
POLL-TAB-1-LEN,
POLL-TAB-3-LEN,
POLL-TAB-3-LEN.
MOVE -1.0 TO T-S-EXTERN-SEAS (BINARY-1)
T-S-EXTERN-SEAS (BINARY-2)
T-S-EXTERN-SEAS (BINARY-3)
T-S-EXTERN-SEAS (BINARY-*).
* SET DATE FOR RUN.
ACCEPT 0-AND-T FROM DATE-TIME.
MOVE D-AND-T-MO TO U-MSG-5-KO.
MOVE D-AND-T-DAY TO U-MSG-5-DAY.
MOVE D-AKD-T-YR TO U-MSG-5-YR.
* WRITE PROGRAM ID LINES.
MOVE U-MSG-1 TO REPORT-DATA.
WRITE REPORT-LINE AFTER BINARY-1.
MOVE U-MSG-2 TO REPORT-DATA.
WRITE REPORT-LINE AFTER BINARY-1.
MOVE U-MSG-3 TO REPORT-DATA.
WRITE REPORT-LINE AFTER BINARY-1.
MOVE U-MSG-4 TO REPORT-DATA.
WRITE REPORT-LINE AFTER BINARY-1.
MOVE U-MSG-5 TO REPORT-DATA. .
WRITE REPORT-LINE AFTER BINARY-1.
MOVE PAGE-NUMBER-D TO PAGE-NO-D.
MOVE U-MSG-5-DATE TO MAIN-HDR-DATE.
« GET RUN-ID FROM CONTROL FILE.
READ CONTROL-FILE
AT END
A-92
00027353
00027360
00027370
00027380
00027390
00027400
00027410
00027420
00027430
00027440
00027430
00027460
00027470
00027480
00027490
00027500
00027510
00027520
00027530
00027540
00027550
00027560
00027570
00027580
00027590
00027600
00027610
00027620
00027630
00027640
00027650
00027660
00027670
000276SO
00027690
00027700
00027710
00027720
00027730
00027740
00027750
00027760
00027770
000277CO
OC027790
00027800
00027810
OC027820
00027830
00027E40
00027850
00027S60
00027870
00027330
00027890
00027900
00027910
-------
MOVE BINARY-9 TO COND-CODE
ADD BINARY-1 TO ABORT-CUT
PERFORM END-OF-DIAG-PAGE-RTN
PERFORM INVALID-DATA-FOUND.
MOVE CONTROL-REC TO RUN-TITLE.
PRINT HEADER IF TITLE RECORD FOUND.
IF LINE-CNTR-D > LINE-MAX
PERFORM END-OF-DIAG-PAGE-RTN.
PRINT-AN-AREA-PAGE.
* AREA SOURCE SUMMARY PAGE PRINT ROUTINE.
ADD BINARY-1 TO DAY-SUB.
MOVE SPACES TO SUMMARY-LINE-NAME.
MOVE ZERO TO SUMMARY-TOTALS-VALS.
MOVE DAY-SUB TO REGIONAL-DAY-NUM.
MOVE REGIONAL-HDR-LINE-1 TO SUMMARY-HDR-LINE-1.
PERFORM END-OF-SUMMARY-PAGE-RTN.
MOVE ZERO TO SUMMARY-SUB.
PERFORM PRINT-AN-AREA-LINE BINARY-24 TIMES.
MOVE ZERO TO EMIS-SUB.
MOVE SUMMARY-TOTALS-NAME TO SUMMARY-LINE-NAME.
PERFORM SUMMARY-TOTALS-MOVE BINARY-10 TIMES.
MOVE SUMMARY-DETAIL-LINE TO SUMMARY-DATA.
WRITE SUMMARY-LINE AFTER BINARY-2.
PRINT-AN-AREA-LINE.
* AREA SOURCE SUMMARY LINE ASSEMBLED AND PRINTED HERE.
ADD BINARY-1 TO SUMMARY-SUB.
MOVE ZERO TO EMIS-SUB.
PERFORM REGION-AREA-MOVE-AND-ADD BINARY-10 TIMES.
MOVE SUMMARY-SUB TO REGION-HOUR.
MOVE SUMMARY-DETAIL-LINE TO SUMMARY-DATA.
WRITE SUMMARY-LINE AFTER BINARY-1.
PRINT-A-FORMATTED-PAGE.
» USER-DEFINED SUMMARY PAGE PRINT ROUTINE.
ADD BINARY-1 TO DAY-SUB.
MOVE SPACES TO SUMMARY-LINE-NAME.
MOVE ZERO TO SUMMARY-TOTALS-VALS.
MOVE DAY-SUB TO SUMMARY-DAY-NUM.
PERFORM END-OF-SUMMARY-PAGE-RTN.
MOVE ZERO TO SUMMARY-SUB.
PERFORM PRINT-A-FORMATTED-LINE SUMMARY-CNTL-LENG TIMES.
MOVE 50 TO SUMMARY-SUB.
PERFORM PRINT-A-FCRMATTED-LINE.
MOVE 51 TO SUMMARY-SUB.
PERFORM PRINT-A-FORMATTED-LINE.
MOVE ZERO TO EMIS-SUB.
MOVE SUMMARY-TOTALS-NAME TO SUKMARY-LINE-NAME.
PERFORM SUMMARY-TOTALS-MOVE BINARY-10 TIMES.
MOVE SUMMARY-DETAIL-LINE TO SUMMARY-DATA.
00027920
00027930
00027940
00027950
00027960
00027970
00027930
00027990
00028000
00028010
00026020
00026030
00026040
0002S050
00023060
00020070
00028080
00028090
00028100
00026110
00028120
00028130
00028140
00028150
00028160
00026170
00028180
00028190
00026200
C0028210
00026220
00028230
00028240
00026250
00026260
0002S270
OOC28280
00028290
00028300
0002S310
00028320
00028330
00028340
00023350
00028360
00028370
00028330
00023390
00028400
00023410
00028420
00028430
00028440
00023450
00028460
00028470
00023480
A-93
-------
WRITE SUMMARY-LINE AFTER BINARY-2.
PRINT-A-FORMATTED-LINE.
* USER-DEFINED SUMMARY LINE ASSEMBLED AND PRINTED HERE.
ADD BINARY-! TO SUMMARY-SUB.
MOVE ZERO TO EMIS-SUB.
PERFORM SUMMARY-MOVE-AND-ADD BINARY-10 TIMES.
MOVE SUMMARY-LINE-ID (SUMMARY-SUB) TO SUMMARY-LINE-NAME.
MOVE SUMMARY-DETAIL-LINE. TO SUMMARY-DATA.
WRITE SUMMARY-LINE AFTER BINARY-1.
PRINT-A-POINT-PAGE.
* POINT SOURCE SUMMARY PAGE PRINT ROUTINE.
ADD BINARY-1 TO DAY-SUB.
MOVE SPACES TO SUMMARY-LINE-NAME.
MOVE ZERO TO SUMMARY-TOTALS-VALS.
MOVE DAY-SUB TO REGIONAL-DAY-NUM.
MOVE REGIONAL-HDR-LINE-1 TO SUHMARY-HDR-LINE-1.
PERFORM END-OF-SUMMARY-PAGE-RTN.
MOVE ZERO TO SUMMARY-SUB.
PERFORM PRINT-A-POINT-LINE BINARY-2* TIMES.
MOVE ZERO TO EMIS-SUB.
MOVE SUMMARY-TOTALS-NAME TO SUMMARY-LINE-HAME.
PERFORM SUMMARY-TOTALS-MOVE BINARY-10 TIMES.
MOVE SUMMARY-DETAIL-LINE TO SUMMARY-DATA.
WRITE SUMMARY-LINE AFTER BINARY-2.
PRINT-A-POINT-LINE.
* POINT SOURCE SUMMARY LINE ASSEMBLED AND PRINTED HERE.
ADD BINARY-1 TO SUMMARY-SUB.
MOVE ZERO TO EMIS-SUB.
PERFORM REGION-POINT-MOVE-AND-ADD BIHARY-10 TIMES.
MOVE SUMMARY-SUB TO REGION-HOUR.
MOVE SUMMARY-DETAIL-LINE TO SUMMARY-DATA.
WRITE SUMMARY-LINE AFTER BINARY-1.
PRINT-SUMMARY-REPORT.
* CONTROL ROUTINE FOR THE SUMMARY REPORT
MOVE ZERO TO DAY-SUB.
* PRINT USER-DEFINED SUMMARY FIRST.
PERFORM PRINT-A-FORMATTED-PAGE NUM-OF-DAYS TIMES.
MOVE REGIONAL-HDR-LINE-2 TO SUMMARY-HDR-LINE-2.
MOVE REGIONAL-HDR-LINE-3 TO SUMMARY-HDR-LINE-3.
MOVE ZERO TO DAY-SUB.
* PRINT POINT SOURCE SUMMARY NEXT.
MOVE 'POINT SOURCES' TO REGIONAL-TYPE.
PERFORM PRINT-A-POINT-PAGE NUM-OF-DAYS TIMES.
MOVE ZERO TO DAY-SUB.
* AND AREA SOURCE SUMMARY LAST.
A-94
00028490
00028500
0002S510
00028520
00028530
00028540
00028550
00028560
00026570
00028580
00023590
00020600
0002S610
00028620
00028630
00028640
00028650
00028660
00028670
00028680
00028690
00028700
00028710
00028720
00023730
00023740
00028750
00028760
00028770
00028780
00028790
00028800
00023810
OOC28820
00028330
OOC26840
00028650
00028360
00023870
00028GOO
00028890
00028900
00028910
00028920
00028930
00028940
00023950
00028960
00028970
00028980
00023990
00029000
00029010
00029020
OC029030
00029040
00029050
-------
MOVE 'AREA SOURCES ' TO REGIONAL-TYPE.
PERFORM PRINT-AN-AREA-PAGE NUM-OF-DAYS TIMES.
MOVE TRUE TO END-OF-SUMMARY-REPORT.
PROCESS-POLL-SPLIT-CARDS.
* CONTROL PARAGRAPH FOR PROCESSING POLLUTANT SPLITS.
* CARD-TYPE IS SET TO ZERO AS DEFAULT (USED AT EOF).
MOVE ZERO TO P-S-CARD-TYPE.
READ POLLUT-FACTORS-INPUT
AT END
PERFORM P-S-EOF-CHK.
IF NOT EOF-POLL-SPLIT
ADD BINARY-1 TO P-S-INPUT-CNTR
» MOVE DATA TO WORKING-STORAGE.
MOVE POLL-FACT-REC TO POL-SPL-PCT-WTS
* ECHO INPUT ON DIAGNOSTIC FILE.
MOVE POLL-FACT-REC TO REPORT-DATA
WRITE REPORT-LINE AFTER BINARY-1
ADD BINARY-1 TO LINE-CNTR-D
IF LINE-CNTR-D > LINE-MAX
PERFORM END-OF-DIAG-PAGE-RTN.
* ELSE NEXT SENTENCE
» ELSE NEXT SENTENCE.
IF NOT EOF-POLL-SPLIT
IF FILE-2 AND P-S-CARD-1
PERFORM PROCESS-P-S-TYPE-1
ELSE
IF FILE-2 AND P-S-CARD-2
PERFORM PROCESS-P-S-TYPE-2
ELSE
MOVE BINARY-1 TO CO!,T)-CODE
ADD BINARY-1 TO ERR-CNT
PERFORM INVALID-DATA-FOUND.
* ELSE NEXT SENTENCE.
PROCESS-PREV-POINT.
* CLEAR OUTPUT ACCUMULATION TABLE.
MOVE ZERO TO TEMP-SPLIT-EMIS-TABLE.
*PRINT POINT ID AND SCC'S.
MOVE POINT-ID-PRINT-REC TO REPORT-DATA.
WRITE REPORT-LINE AFTER BINARY-1.
ADD BINARY-1 TO LINE-CNTR-D.
IF LINE-CNTR-D > LINE-MAX
PERFORM END-OF-DIAG-PAGE-RTN.
* SORT PROCESSES BY SCC (ASCENDING).
IF STORE-FHOC-COUNT > 1
MOVE FALSE TO FROCESS-SORT-STATUS
MOVE ZERO TO START-PROC-SEARCH
PERFORM SORT-PROCESSES UNTIL PROCESS-SORT-DONE.
* INSURE THAT PROCESS-LEVEL EMISSIONS SUM TO POINT-LEVEL
* VALUES FOR ALL FIVE POLLUTANTS.
MOVE ZERO TO EMIS-SUB.
PERFORM COMPUTE-PCT-DIFF BINARY-5 TIMES.
00029060
00029070
00029080
00029090
00029100
00029110
OOC29120
00029130
00029140
00029150
00029160
00029170
00029180
00029190
00029200
00029210
00029220
00029230
00029240
00029250
00029260
00029270
00029280
OOC29290
00029300
00029310
00029320
00029330
00029340
00029350
00029360
00029370
OC029380
00029390
00029400
00029410
00029420
00029430
00029440
00029450
00029460
00029470
000294SO
00029490
00029500
00029510
00029520
00029530
00029540
00029550
00029560
00029570
00029580
00029590
00029600
00029610
00029620
A-95
-------
COMPUTE POLLUTANT SPLITS FOR PROCESS-LEVEL EMISSIONS.
MOVE ZERO TO PROC-SUB
PERFORM COMPUTE-HC-SPLITS STORE-PROC-COUNT TIMES.
COMPUTE TEMPORAL SPLITS FOR PROCESS-LEVEL EMISSIONS
AND SUM TO POINT LEVEL.
PERFORM COMPUTE-TEMP-SPLITS.
MOVE ZERO TO DAY-SUB.
PERFORM FILL-SEG-3-RECORDS NUM-OF-DAYS TIMES.
MOVE ZERO TO STORE-PROC-COUNT STORE-PROC-EM.
PROCESS-PROJ-FILE.
* CONTROL PARAGRAPH FOR PROCESSING EIS/P&R FILE.
READ EIS-PROJ
AT END
PERFORM END-OF-PROJ-FILE.
IF NOT PROJ-EOF
MOVE PROJ-MOVE TO WORK-FIXED-SEGMENT
IF (WORK-SEG-POS-1 < 2 OR PROJ-EOF) AND MACH-PROCESS-IN
PERFORM PROCESS-PREV-POINT.
IF NOT PROJ-EOF
IF WORK-SEG-POS-1 = 0
MOVE PROJ-MASTO TO WORK-FIXED-SEGMENT
PERFORM PROCESS-PROJ-TYFE-ZERO
ELSE
IF WORK-SEG-POS-1 = 1
MOVE PROJ-MAST1 TO WORK-POINT-SOURCE
KORK-POINT-SOURCE-R
PERFORM PROCESS-PROJ-TYPE-CNE
ELSE
IF WCRK-SEG-POS-1 = Z
MOVE PROJ-MAST2 TO WCRK-MACHINE-PROCESS
MOVE PROJ-MAST2 TO WORK-MACHINE-PROCESS-R
PERFORM PROCESS-PROJ-TYPE-TWO.
» ELSE NEXT SENTENCE.
* ELSE NEXT SENTENCE.
PROCESS-PROJ-TYPE-ONE.
* STORE KEY FOR USE IN SPLITS.
MOVE SPACES TO POINT-ID-PRINT-REC.
MOVE WORK-STATE TO OLD-ST OLD-ST-PRINT.
MOVE WORK-COUNTY TO OLD-COUNTY OLD-CCUNTY-PRINT.
MOVE WORK-AQCR TO OLD-AQCR.
MOVE WORK-PLANT-ID TO OLD-PLANT OLD-PLANT-PRINT.
MOVE WORK-SEGMENT-ID TO OLD-POINT-FIELD OLD-POINT-PRINT.
MOVE WORK-ANHUAL-THRUPUT TO DEFAULT-TEMP-SPLIT-DATA.
MOVE WORK-NORMAL-OPERATING TO DEFAULT-NORMAL-OPE3ATING.
* ZERO OUT EMISSIONS VALUES. .
MOVE ZERO TO AEROSOL-EM
SOX-EM
CO-EM
NOX-EM
HC-EM.
* ZERO OUT CONTROL EFFICIENCIES.
A-96
00029630
00029640
00029650
00029660
OC029670
00029630
00029690
00029700
00029710
00029720
00029730
00029740
00029750
00029760
00029770
00029780
00029790
00029800
00029810
C0029S20
00029330
00029340
00029850
00029860
00029870
00029830
00029390
00029900
00029910
00029920
00029930
00029940
00029950
00029960
00029970
00029980
00029990
00030000
00030010
OOC30020
0003003G
00030040
00030050
0003C060
0003C070
00030030
00030090
00030100
00030110
00030120
00030130
C0030140
00030150
OCC30160
00030170
00030130
00030190
-------
MOVE ZERO TO AEROSOL-CONT
SOX-CONT
CO-CONT
NOX-CONT
HC-CONT.
ZERO MACHINE PROCESS DATA.
MOVE ZEROES TO STORE-MACHINE-PROC
STORE-PROC-EM
STORE-PROC-COUNT.
LOCATE AND SAVE EMISSIONS VALUES.
MOVE ZERO TO EMIS-SUS
PERFORM FIND-EMIS WORK-NBR-OF-POLLUTANTS TIMES.
WRITE RECORD TO OUTPUT FILE.
MOVE KORK-POINT-SOU3CE TO HRLY-MAST1.
WRITE HRLY-MAST1.
COUNT POINT AND AREA SOURCES.
IF WORK-PLANT-ID = 9999 OR WORK-PLANT-ID = 0000
ADD BINARY-1 TO AS-REC-COUNT
ELSE
ADD BINARY-1 TO PS-REC-COUNT.
PROCESS-PROJ-TYPE-TWO.
» WRITE RECORD TO OUTPUT FILE.
MOVE WORK-MACHINE-PROCESS TO HRLY-MAST2.
WRITE HRLY-MAST2.
* INCREMENT PROCESS COUNTER AND STORE PROCESS DATA.
ADD BINARY-1 TO STORE-PRCC-COUNT.
MOVE WORK-SCC TO STORE-SCC (ST03E-PROC-COUNT)
OLD-SCC-PRINT (STORE-PROC-COUNT).
.IF WORK-FUEL-PROCESS NUMERIC
MOVE WORK-FUEL-PROCESS-RATE TO STORE-PROC-RATE
(STORE-PROC-COUNT)
ELSE
* DEFAULT VALUE OF "1" USED FOR PROCESS RATE.
MOVE BINARY-1 TO STORE-PROC-RATE (STORE-PROC-COUNT).
IF WORK-ALFHANUM-FIELD NUMERIC
MOVE WORK-NUMERIC-FIELD TO STORE-PROC-DATA
(STORE-PROC-COUNT)
ELSE NEXT SENTENCE.
» STORE ASH AND SULFUR CONTENTS.
MOVE ZERO TO STORE-ASH (STORE-PROC-COUNT)
STORE-SULF (STORE-PROC-COUNT).
IF WORK-ASH-CONTENT IS NUMERIC
MOVE WORK-N-ASH-CONTENT TO STORE-ASH (STORE-PROC-COUNT).
IF WORK-SULFUR-CONTENT IS NUMERIC
MOVE WORK-N-SULFUR-CCNTENT TO STORE-SULF
(STORE-PROC-COUNT).
* INITIALIZE SPECIFIC PROCESS EMISSION FACTORS TO 0.
MOVE ZERO TO EF-SUB.
PERFORM SET-EMIS-FACTORS BINARY-5 TIMES.
MOVE ZERO TO EF-SUB
PERFORM FIND-EM-FACT WORK-NUMSER-OF-EF TIMES.
* ELSE NEXT SENTENCE.
A-97
00030200
00030210
00030220
00030230
00030240
00030250
00030260
00030270
00030230
00030290
00030300
00030310
00030320
00030330
00030340
00030350
00030360
00030370
OOC30380
0003C390
00030400
00330410
00030420
00030430
00030440
00030450
00030460
00030470
000304SO
00030490
OOC30500
00030510
00030520
00030530
00030540
00030550
00030560
00030570
00030580
00030590
00030600
00030610
00030620
00030630
00030640
00030650
00030660
00030670
00030680
00030690
00030700
OOC30710
00030720
OOC30730
00030740
C0030750
00033760
-------
PROCESS-PROJ-TYPE-ZERO.
* WRITE RECORD TO OUTPUT FILE.
MOVE WORK-FIXED-SEGMENT TO HRLY-MASTO.
WRITE HRLY-MASTO.
ADD BINARY-1 TO LINE-CNTR-D.
IF LINE-CNTR-D > LINE-MAX
PERFORM END-OF-DIAG-PAGE-RTN.
PROCESS-P-S-TYPE-1.
* CHECK PCT HEIGHTS FOR VALID DATA.
IF ALG-1
EXAMINE PCT-WT-NOX-R TALLYING ALL SPACES
REPLACING BY ZEROES
ELSE
IF ALG-2
EXAMINE HC-ALG-2-NOX TALLYING ALL SPACES
REPLACING BY ZEROES.
IF ALG-1
EXAMINE HC-ALG-1 TALLYING ALL SPACES
REPLACING BY ZEROES
ELSE
IF ALG-2
EXAMINE HC-ALG-2 TALLYING ALL SPACES
REPLACING BY ZEROES
ELSE NEXT SENTENCE.
* CHECK PERCENT WEIGHT SUMS OF HC SPECIES FOR OPT ALG ONLY.
IF ALG-1
COMPUTE PCT-WT-TOT = PCT-WT-PAR-1 + PCT-WT-OLE-1
+ PCT-WT-ACET-1 + PCT-WT-ARO-1
+ PCT-WT-CARB-1 + PCT-WT-ALCO-1 + PCT-WT-METH-1
+ PCT-WT-OTH-1
ELSE NEXT SENTENCE.
IF (PCT-WT-TOT > 101.0 OR PCT-WT-TOT < 99.0)
AND ALG-1
MOVE BINARY-3 TO COND-CODE
ADD BINARY-1 TO COND-CNT
PERFORM INVALID-DATA-FOUND
ELSE NEXT SENTENCE.
IF ALG-1
COMPUTE PCT-WT-TOT = PCT-WT-NO + PCT-WT-N02
ELSE
IF ALG-2
COMPUTE PCT-WT-TOT = PCT-WT-NO-2 + PCT-WT-N02-2.
IF PCT-WT-TOT > 101.0 OR PCT-WT-TOT < 99.0
MOVE BINARY-3 TO COND-CODE
ADD BINARY-1 TO COND-CNT
PERFORM INVALID-DATA-FOUND
ELSE NEXT SENTENCE.
* IF ALGORITHM 1 DATA COMPLETE OR ALGORITHM 2 DATA JUST
* READ IN, CREATE A RECORD.
IF ALG-2
PERFORM ASSEMBLE-P-S-RECORD
ELSE
IF ALG-1
A-98
00030770
00030780
00030790
00030800
00030810
00030820
00030830
00030840
00030350
00030860
00030870
00030880
00030890
00030900
00030910
00030920
00030930
00030940
00030950
00030960
00030970
00030980
00030990
00031000
00031010
00031020
00031030
00031040
00031050
OOC31060
00031070
00031080
00031090
OC031100
00031110
00031120
00031130
00031140
00031150
00031160
00031170
000311SO
00031190
00031200
00031210
00031220
00031230
00031240
00031250
00031260
00031270
00031280
00031290
000313CO
00031310
00031320
00031330
-------
ELSE
IF P-S-STORED
MOVE FALSE TO P-S-STORED-SW
MOVE POL-SPL-PCT-WTS TO P-S-CARD-HOLD
ELSE
IF P-S-ID = P-S-ID-HOLD AND P-S-CARD-2-HOLD
PERFORM ASSEMBLE-P-S-RECORD
ELSE
MOVE BINARY-7 TO COND-CODE
ADD BINARY-1 TO ERR-CNT
PERFORM INVALID-DATA-FOUND
MOVE POL-SPL-PCT-WTS TO P-S-CARD-HOLD
MOVE BINARY-1 TO COND-CODE
ADD BINARY-1 TO ERR-CNT
PERFORM INVALID-DATA-FOUND.
PROCESS-P-S-TYPE-2.
» PERFORMED ONLY FOR OPTIONAL ALGORITHM DATA (AIRSHED MODEL
* POLLUTANT SPLIT).
*
* CHECK FOR VALID DATA.
EXAMINE HC-AL6-1 TALLYING ALL SPACES
REPLACING BY ZEROES.
* IF CARD 1 IS ALREADY IN, ASSEMBLE AND STORE COMPLETE RECORD.
IF P-S-CARD-1-HOLD AND NOT P-S-STORED
IF P-S-ID = P-S-ID-HOLD
PERFORM ASSEMBLE-P-S-RECORD
ELSE
MOVE POL-SPL-PCT-WTS TO P-S-CARD-HOLD
* AN INPUT RECORD WAS LOST BY THE ABOVE MOVE...
MOVE BINARY-7 TO COND-CCDE
ADD BINARY-1 TO ERR-CNT
PERFORM INVALID-DATA-FOUND
MOVE FALSE TO P-S-STORED-SW
* CAN'T PROCESS THIS CARD NOW. HOLD FOR USE IF DATA OUT OF ORDEOC031700
ELSE 00031710
IF NOT P-S-STORED
MOVE POL-SPL-PCT-WTS TO P-S-CARD-HOLD
* AN INPUT RECORD WAS LOST BY THE ABOVE MOVE...
MOVE BINARY-7 TO COND-CODE
ADD BINARY-1 TO ERR-CNT
PERFORM INVALID-DATA-FOUND
MOVE FALSE TO P-S-STORED-SW
ELSE
MOVE POL-SPL-PCT-WTS TO P-S-CARD-HOLD
MOVE FALSE TO P-S-STORED-SW.
00031340
00031350
00031360
00031370
000313SO
00031390
00031400
00031410
00031420
00031430
00031440
00031450
00031460
00031470
00031460
00031490
00031500
00031510
00031520
00031530
00031540
00031550
00031560
00031570
00031580
00031590
00031600
00031610
00031S20
00031630
00031640
00031650
00031660
00031670
00031680
00031690
PROCESS-TEMP-SPLIT-CARDS.
* CONTROL PARAGRAPH FOR PROCESSING TEMPORAL SPLIT CARDS.
* CARD-TYPE IS SET TO ZERO AS DEFAULT (USED AT EOF).
MOVE ZERO TO T-S-CARD-TYPE-.
READ TEMP-FACTORS-INPUT
AT END
A-99
00031720
00031730
00031740
00031750
00031760
00031770
00031780
00031790
00031800
00031S10
00031620
00031830
00031840
00331850
00031860
00031870
00031830
00031890
00031900
-------
PERFORM T-S-EOF-CHK.
* MOVE ONLY IF CARD HAS BEEN READ.
IF NOT EOF-TEMP-SPLIT
ADD BINARY-1 TO T-S-INPUT-CNTR
MOVE TEMP-FAC-REC TO TEMP-SPLIT-CARD
* ECHO INPUT DATA ON DIAGNOSTIC REPORT.
REPORT-DATA
WRITE REPORT-LINE AFTER BINARY-1
ADD BINARY-1 TO LINE-CNTR-D
IF LINE-CNTR-D > LINE-MAX
PERFORM END-OF-DIAG-PAGE-RTN.
» ELSE NEXT SENTENCE
* ELSE NEXT SENTENCE.
* PROCESS THE CARD.
IF NOT EOF-TEMP-SPLIT
IF FILE-1 AND T-S-CARD-1
PERFORM PROCESS-T-S-TYPE-1
ELSE
IF FILE-1 AND T-S-CARD-2
MOVE T-S-FACT-SET-1 TO T-S-FACT-SET-2-R
PERFORM PROCESS-T-S-TYPE-2
ELSE
MOVE BINARY-^ TO COND-CODE
ADD BINARY-1 TO ERR-CNT
PERFORM INVALID-DATA-FOUND.
* ELSE NEXT SENTENCE.
PROCESS-T-S-TYPE-1.
* CHECK WHETHER FORMAT RULES FOR VALUES VIOLATED.
EXAMINE T-S-SEASON REPLACING ALL SPACES BY ZERO.
IF T-S-DAY NOT = SPACES
EXAMINE T-S-DAY REPLACING ALL SPACES BY ZERO.
EXAMINE T-S-FACT-SET-1
TALLYING ALL SPACES
REPLACING BY ZEROES.
IF T-S-DAY NOT NUMERIC
* FOR AREA SOURCES
IF (T-S-PLANT-ID = '0000' OR '9999')
OR T-S-SCC-1 = '.91
MOVE BINARY-13 TO COND-CODE
ADD BINARY-1 TO ERR-CNT
PERFORM INVALID-DATA-FOUND
DIVIDE DAILY-FACTOR-MAX BY BINARY-7
GIVING T-S-DAY-NUM ROUNDED
ELSE
* FOR POINT SOURCES
MOVE BINARY-5 TO COND-CODE
ADD BINARY-1 TO ERR-CNT
PERFORM INVALID-DATA-FOUND
DIVIDE DAILY-FACTOR-MAX BY BINARY-5
GIVING T-S-DAY-NUM ROUNDED
ELSE
IF T-S-DAY-NUM > DAILY-FACTOR-MAX
MOVE BINARY-16 TO COND-CODE
ADD BINARY-1 TO WARN-CNT
A-100
00031910
00031920
00031930
00031940
00031950
00031960
00031970
00031930
00031990
00032000
00032010
00032020
00032030
00032040
00032050
00032060
00032070
00032080
00032090
00032100
00032110
00032120
03032130
0003214C
00032150
00032160
00032170
00032180
00032190
00032200
00032210
00032220
00032230
00032240
00032250
00032260
00032270
00032280
00032290
00032300
00032310
00032320
00032330
00032340
OC032350
00032360
00032370
00032330
00032390
00032400
00032410
00032420
00032430
00032440
00032450
00032460
00032470
-------
PERFORM INVALID-DATA-FOUND.
IF NOT T-S-STORED
ATTEMPT TO STORE A RECORD.
IF T-S-HOLD-CARD-2
PERFORM ASSEMBLE-T-S-RECORD
ELSE
MOVE TEMP-SPLIT-CARD TO TEMP-SPLIT-CARD-HOLD
MOVE BINARY-8 TO CONO-CODE
ADD BINARY-1 TO ERR-CNT
PERFORM INVALID-DATA-FOUNO
MOVE FALSE TO T-S-STORED-SW
ELSE
MOVE TEMP-SPLIT-CARD TO TEMP-SPLIT-CARD-HOLO
MOVE FALSE TO T-S-STORED-SW.
PROCESS-T-S-TYPE-2.
» CHECK WHETHER FORMAT RULES FOR VALUES VIOLATED.
EXAMINE T-S-FACT-SET-2
TALLYING ALL SPACES
REPLACING BY ZEROES.
IF NOT T-S-STORED
* ATTEMPT TO STORE A RECORD.
IF T-S-HOLD-CARD-1
PERFORM ASSEMBLE-T-S-RECORD
ELSE
MOVE TEMP-SPLIT-CARO TO TEMP-SPLIT-CARD-HOLD
MOVE BINARY-8 TO COND-CODE
ADD BINARY-1 TO ERR-CNT
PERFORM INVALID-DATA-FOUND
MOVE FALSE TO T-S-STORED-SW
ELSE
MOVE TEMP-SPLIT-CARD TO TEMP-SPLIT-CARD-HOLD
MOVE FALSE TO T-S-STORED-SW.
P-S-EOF-CHK.
* IF EOF ON INPUT OF POLLUTANT SPLIT CARDS OR RECORDS...
MOVE TRUE TO EOF-POLL-INPUT.
* IF A DATA RECORD HAS NOT BEEN STORED...
IF NOT P-S-STORED
MOVE BINARY-7 TO COND-CODE
ADD BINARY-1 TO ERR-CNT
PERFORM INVALID-DATA-FOUND.
READ-THE-POLLUTANT-FILE.
MOVE POLL-FILE-REC TO POLL-SPLIT-RECORD.
* ...DURING THE PROCESSING OF THE EIS/P4R FILE.
IF (NOT P-S-REC-2-MATCH AND NOT P-S-REC-3-MATCH AND
P-S-REC-KEY-1 NOT < PRCCESS-SPLIT-KEY-1)
OR (P-S-REC-2-MATCH AND NOT P-S-REC-3-MATCH
AND (P-S-RECS-KEY-2 NOT < PROCESS-SPLIT-KEY-2))
OR (P-S-REC-3-MATCH AND P-S-RECS-KEY-3 NOT <
A-101
00032430
00032490
00032500
00032510
00032520
00032530
00032540
00032550
C0032560
00032570
00032550
00032590
00032600
00032610
00032620
00032630
00032640
00032650
00032660
00032670
00032630
00032690
00032700
00032710
00032720
00032730
00032740
00032750
00032760
00032770
00032780
00032790
00032800
00032810
00032620
00032830
00032340
00032850
00032860
00032870
00032880
00032390
00032900
00032910
00032920
00032930
00032940
00032950
00032960
00032970
00032930
00032990
00033000
00033010
00033020
00033030
00033040
-------
PROCESS-SPLIT-KEY-3)
OR EOF-POLL-SPLIT
NEXT SENTENCE
ELSE
PERFORM READ-THE-POLLUTANT-FILE-SUB.
IF P-S-REC-KEY-1 = PROCESS-SPLIT-KEY-1
OR (P-S-REC-2-MATCH AND P-S-RECS-KEY-2 =
PROCESS-SPLIT-KEY-2)
OR (P-S-REC-3-MATCH AND P-S-RECS-KEY-3 =
PROCESS-SPLIT-KEY-3)
MOVE TRUE TO POLL-SPLIT-REC-SW
ELSE
IF (NOT P-S-REC-2-MATCH AND NOT P-S-REC-3-MATCH
AND (P-S-REC-ID > PROCESS-SPLIT-KEY-1))
OR (P-S-REC-2-MATCH AND NOT P-S-REC-3-MATCH
AND (P-S-REC-KEY-2 > PROCESS-SPLIT-KEY-2)).
OR (P-S-REC-3-MATCH AND (P-S-REC-KEY-3 >
PROCESS-SPLIT-KEY-3))
OR EOF-POLL-SPLIT
MOVE BINARY-2 TO POLL-SPLIT-REC-SW
ELSE NEXT SENTENCE.
READ-THE-POLLUTANT-FILE-SUB.
IF NOT EOF-POLL-SPLIT
READ POLL-FILE
AT END
MOVE TRUE TO EOF-POLL-INPUT.
MOVE POLL-FILE-REC TO POLL-SPLIT-RECORD.
READ-THE-TEMPORAL-FILE.
* ...DURING THE PROCESSING OF THE EIS/PSR FILE.
IF (NOT T-S-EXT-2-MATCH AND NOT T-S-EXT-3-MATCH AND
T-S-EXTERN-KEY-1 NOT < TEMP-SPLIT-KEY-1)
OR (T-S-EXT-2-MATCH AND NOT T-S-EXT-3-MATCH
AND (T-S-EXT-KEY-2 NOT < TEMP-SPLIT-KEY-2))
OR (T-S-EXT-3-MATCH AND
(T-S-EXT-KEY-3 NOT < TEMP-SPLIT-KEY-3))
OR EOF-TEMP-SPLIT
NEXT SENTENCE
ELSE
PERFORM READ-THE-TEMPORAL-FILE-SUB.
IF T-S-EXTERN-KEY-1 = TEMP-SPLIT-KEY-1
OR (T-S-EXT-2-MATCH AND
(T-S-EXT-KEY-2 = TEMP-SPLIT-KEY-2))
OR (T-S-EXT-3-MATCH AND
(T-S-EXT-KEY-3 = TEMP-SPLIT-KEY-3))
MOVE TRUE TO TEMP-SPLIT-REC-SW
ELSE
IF (NOT T-S-EXT-2-MATCH AND NOT T-S-EXT-3-MATCH AND
(T-S-EXTERN-KEY-1 > TEMP-SPLIT-KEY-1))
OR (T-S-EXT-2-MATCH AND NOT T-S-EXT-3-MATCH
AND (T-S-EXT-KEY-2 > TEMP-SFLIT-KEY-2))
OR (T-S-EXT-3-MATCH AND
A-102
00033050
OC033060
00033070
00033030
00033090
00033100
00033110
00033120
00033130
00033140
00033150
00033160
00033170
00033160
00033190
00033200
00033210
00033220
00033230
00033240
00033250
00033250
00033270
00033260
00033290
00033300
00033310
00033320
00033330
00033340
00033350
00033360
00033370
00033380
00033390
00033400
00033410
00033420
00033430
00033440
00033450
00033460
00033470
00033430
00033490
00033300
00033510
000335EO
00033530
00033540
00033550
00033360
00033570
00033580
00033590
00033SOO
00033610
-------
CT-S-EXT-KEY-3 > TEMP-SPLIT-KEY-3))
OR EOF-TEMP-SPLIT
MOVE BINARY-2 TO TEMP-SPLIT-REC-SW
ELSE NEXT SENTENCE.
READ-THE-TEMPORAL-FILE-SUB.
IF NOT EOF-TEMP-SPLIT
READ TEMP-FILE
AT END
MOVE TRUE TO EOF-TEMP-INPUT.
MOVE TEMP-FILE-REC TO TEMP-SPLIT-EXTERN-RECORD.
REGION-AREA-MOVE-AND-ADD.
ADD BINARY-1 TO EMIS-SUB.
COMPUTE SUMMARY-DETAIL-VALS (EMIS-SUB) RCUNDED =
REGION-AREA-VALUE (DAY-SUB, SUMMARY-SUB, EMIS-SUB) /
1000.0.
COMPUTE SUMMARY-DETAIL-TOTALS (EMIS-SUB) ROUNDED =
REGION-AREA-VALUE (DAY-SUB, SUMMARY-SUB, EMIS-SUB)
/ 1000.0 + SUMMARY-DETAIL-TOTALS (EMIS-SUB).
REGION-POINT-MOVE-AND-ADD.
ADD BINARY-1 TO EMIS-SUB.
COMPUTE SUMMARY-DETAIL-VALS (EMIS-SUB) ROUNDED =
REGION-POINT-VALUE (DAY-SUB, SUMMARY-SUB, EMIS-SUB) /
1000.0.
COMPUTE SUMMARY-DETAIL-TOTALS (EMIS-SUB) ROUNDED =
REGION-POINT-VALUE (DAY-SUB, SUMMARY-SUB, EMIS-SUB)
/ 1000.0 + SUMMARY-DETAIL-TOTALS (EMIS-SUB).
SET-EMIS-FACTORS.
* INITIALIZES EMISSIONS AND EMISSION FACTORS FOR USE WHEN NOT
* FOUND IN SEGMENT 2 RECORDS.
ADD BINARY-1 TO EF-SUB.
MOVE ZERO TO STORE-EM-FACT (STORE-PROC-COUNT, EF-SUB).
MOVE ZERO TO
PROC-INDIV-EM (STORE-PROC-COUNT, EF-SUB).
SET-TEMP-SPLIT-REC-SW.
* SWITCH IS SET HERE BECAUSE CONDITIONALS ARE NOT ALLOWED
* WITHIN THE RANGE OF A "WHEN" IN "SEARCH ALL"
* (SEE PARA "GET-TEMP-SPLIT-REC-SUB").
* RECORD IS "FOUND" ONLY WHEN SEASONAL SPLIT NOT < 0.
IF T-S-REC-SEAS NOT < 0.0
MOVE TRUE TO TEMP-SPLIT-REC-SW.
00033620
00033630
000336*0
00033650
00033660
00033670
00033680
00033690
00033700
00033710
OC033720
00033730
00033740
00033750
OC033760
OOC33770
00033780
00033790
00033300
00033810
OOC33820
00033830
00033340
C0033350
00033860
00033870
00033830
00033390
00033900
00033910
00033920
00033930
OC033940
00033950
00033960
00033970
00033930
OC033990
00034COO
00034010
00034020
00034030
00034C40
00034050
00034C60
00034070
00034030
00034090
00024100
00034110
00034120
03034130
00034140
00034150
00034160
00034170
00034180
A-103
-------
SORT-FILES.
CLOSE TEMP-FILE,
POLL-FILE.
SORT SORT-TEMP-FILE
ON ASCENDING KEY CNTY-TEMP-KEY
USINS TEMP-FILE
GIVING TEMP-FILE.
SORT SORT-POLL-FILE
ON ASCENDING KEY CNTY-POLL-KEY
USING POLL-FILE
GIVING POLL-FILE.
SORT-PROCESSES.
ADD BINARY-1 TO START-FROC-SEARCH.
IF START-PROC-SEARCH < ST03E-PROC-COUNT
MOVE START-PROC-SEARCH TO SECOND-SORT-SUB
MOVE FALSE TO SORT-PASS-STATUS,
PERFORM SORT-PROCESSES-SUB UNTIL SORT-PASS-DONE
ELSE
MOVE TRUE TO PROCESS-SORT-STATUS.
SORT-PROCESSES-SUB.
ADD BINARY-1 TO SECOND-SORT-SUB.
IF STORE-SCC (SECOND-SORT-SUB) NOT < STORE-SCC
(START-PROC-SEARCH)
NEXT SENTENCE
ELSE
IF SECOND-SORT-SUB NOT > STCRE-PROC-COUNT
MOVE STCRE-MACH-PROC-DATA (SECOND-SORT-SUB) TO
MACHINE-PROC-HOLD
MOVE PROC-EM (SECOND-SORT-SUB) TO
PROC-EM-HOLD
MOVE STORE-MACH-PROC-DATA (START-PROC-SEARCH) TO
STORE-MACH-PROC-DATA (SECOND-SORT-SUB)
MOVE PROC-EM (START-PROC-SEARCH) TO
PROC-EM (SECOND-SORT-SUB)
MOVE MACHINE-PROC-HOLD TO
STORE-MACH-PROC-DATA (START-PROC-SEARCH)
MOVE PROC-EM-HOLD TO
PROC-EM (START-PROC-SEARCH).
IF SECOND-SORT-SUB NOT < STORE-PROC-COUNT
MOVE TRUE TO SORT-PASS-STATUS.
* ELSE NEXT SENTENCE
STORE-IN-P-T-1.
* STORE NEW POLLUTANT FACTORS RECORD IN POLL-TAB-1.
* FIRST TRY TO STORE AT BOTTOM OF TABLE.
IF POLL-TAB-1-LEN = 0
OR P-T-1-KEY-HOLD > P-T-1-KEY (POLL-TAB-1-LEN)
IF NOT P-T-1-MAX
A-104
00034190
00034200
00034210
00034220
00034230
00034240
00034250
00034260
00034270
000342SO
00034290
00034300
00034310
00034320
00034330
00034340
00034350
OOC343SO
OC034370
00034380
00034390
00034400
00034410
00034420
00034430
00034440
00034450
00034460
00034470
00034430
00034490
00034500
00034510
00034520
00034530
00034540
00034550
OC034560
00034570
C0034ESO
OOC34590
00034600
00034610
00034620
00034630
00034640
00034650
00034660
00034670
00034680
00034690
00034700
00034710
00034720
00034730
00034740
00034750
-------
* PUT AT BOTTOM OF TABLE IF ROOM LEFT. INCREMENT TABLE LENGTH.
ADD BINARY-1 TO POLL-TAB-1-LEN
MOVE P-T-1-KEY-HOLD TO P-T-1-KEY (POLL-TAB-1-LEN)
MOVE P-S-REC-PCT-WTS TO
P-T-1-FACTORS-P (POLL-TAB-1-LEN)
MOVE P-S-REC-MOL-WTS TO
P-T-1-FACTORS-M (POLL-TAB-1-LEN)
MOVE P-S-REC-NOX TO P-T-1-FACTORS-N (POLL-TAB-1-LEN)
MOVE P-S-REC-ALG-SEL TO P-T-1-ALS (POLL-TAB-1-LEN)
MOVE TRUE TO P-S-STORED-SW
ELSE
* TABLE FULL.
MOVE BINARY-22 TO COND-CODE
ADD BINARY-1 TO ERR-CNT
PERFORM INVALID-DATA-FOUND
MOVE ZERO TO P-S-TYPE-HOLD
ELSE
* ATTEMPT TO INSERT RECORD IN EXISTING LAST TABLE ENTRY.
IF P-T-1-KEY-HOLD = P-T-1-KEY (POLL-TAB-1-LEN)
MOVE P-T-1-KEY-HOLD TO P-T-1-KEY (POLL-TAB-1-LEN)
MOVE P-S-REC-PCT-WTS TO
P-T-1-FACTORS-P (POLL-TAB-1-LEN)
MOVE P-S-REC-MOL-WTS TO
P-T-1-FACTORS-M (POLL-TAB-1-LEN)
MOVE P-S-REC-NOX TO P-T-1-FACTORS-N (POLL-TAB-1-LEN)
MOVE P-S-REC-ALG-SEL TO P-T-1-ALG (POLL-TAB-1-LEN)
MOVE TRUE TO P-S-STORED-SW
ELSE
» ATTEMPT TO REPLACE DATA IN PREVIOUS TABLE ENTRY.
SEARCH ALL POLL-TABLE-1-ENTRY
AT END
* TABLE EXHAUSTED. NO MATCH.
MOVE BINARY-23 TO COHD-CODE
ADD BINARY-1 TO ERR-CNT
PERFORM INVALID-DATA-FOUND
MOVE ZERO TO P-S-TYPE-HOLD
* ENTRY FOUND. REPLACE DATA IN" ENTRY.
WHEN P-T-1-KEY (P-T-1-INDEX) = P-T-1-KEY-HOLD
MOVE P-T-1-KEY-HOLD TO P-T-1-KEY (P-T-1-INDEX)
MOVE P-S-REC-PCT-WTS TO
P-T-1-FACTORS-P (P-T-1-INDEX)
MOVE P-S-REC-MOL-WTS TO
P-T-1-FACTORS-M (P-T-1-INDEX)
MOVE P-S-REC-NOX TO P-T-1-FACTORS-N (P-T-1-INDEX)
MOVE P-S-REC-ALG-SEL TO P-T-1-ALG (P-T-1-INDEX)
MOVE TRUE TO P-S-STORED-SW.
STORE-IN-P-T-2.
* STORE NEW POLLUTANT FACTORS RECORD IN POLL-TAB-2.
* FIRST TRY TO STORE AT BOTTOM OF TABLE.
IF POLL-TAB-2-LEN = 0
OR P-T-2-KEY-HOLD > P-T-2-KEY (POLL-TAB-2-LEN)
IF NOT P-T-2-MAX
* PUT AT BOTTOM OF TABLE IF ROOM LEFT. INCREMENT TABLE LENGTH.
ADD BINARY-1 TO POLL-TAB-2-LEN
00034760
00034770
00034760
00034790
00034300
00034810
00034820
00034830
00034840
00034850
00034860
00034870
00034680
00034890
00034900
00034910
00034920
00034930
00034940
00034950
00034960
00034970
00034980
00034990
00035000
00035010
00035020
00035030
00035040
00033050
00035060
00035070
00035080
C0035C90
00035100
00035110
00035120
00035130
00035140
00035150
00035160
00035170
00035180
00035190
OC035200
00035210
00035220
00035230
00035240
00035250
00035260
00035270
OC033280
0003529C
00035300
00035310
00035320
A-105
-------
MOVE P-T-2-KEY-HOLD TO P-T-2-KEY (POLL-TAB-2-LEN)
MOVE P-S-REC-PCT-WTS TO
P-T-2-FACTORS-P (POLL-TAB-2-LEN)
MOVE P-S-REC-MOL-WTS TO
P-T-2-FACTORS-M (POLL-TAB-2-LEN)
MOVE P-S-REC-NOX TO P-T-2-FACTORS-N (POLL-TAB-2-LEN)
MOVE P-S-REC-ALG-SEL TO P-T-2-ALG (POLL-TAB-2-LEN)
MOVE TRUE TO P-S-STCRED-SW
ELSE
TABLE FULL.
MOVE BINARY-22 TO COHD-CODE
ADD BINARY-1 TO ERR-CNT
PERFORM INVALID-DATA-FOUM)
MOVE ZERO TO P-S-TYPE-HOLD
ELSE
ATTEMPT TO INSERT RECORD IN EXISTING LAST TABLE ENTRY.
IF P-T-2-KEY-HOLD = P-T-2-KEY (POLL-TAB-2-LEN)
MOVE P-T-2-KEY-HOLD TO P-T-2-KEY (POLL-TAB-2-LEN)
MOVE P-S-REC-PCT-WTS TO
P-T-2-FACTORS-P (POLL-TAB-2-LEN)
MOVE P-S-REC-MOL-WTS TO
P-T-2-FACTCRS-M (POLL-TAB-2-LEN)
MOVE P-S-REC-NOX TO P-T-2-FACTORS-N (POLL-TAB-2-LEN)
MOVE P-S-REC-ALG-SEL TO P-T-2-ALG (POLL-TAB-2-LEN)
MOVE TRUE TO P-S-STORED-SW
ELSE
ATTEMPT TO REPLACE DATA IN PREVIOUS TABLE ENTRY.
SEARCH ALL POLL-TABLE-2-ENTRY
AT END
TABLE EXHAUSTED. NO MATCH.
MOVE BINARY-23 TO CCND-CODE
ADD BINARY-1 TO ERR-CNT
PERFORM INVALID-DATA-FOUNO
MOVE ZERO TO P-S-TYPE-HOLO
ENTRY FOUND. REPLACE DATA IN ENTRY.
WHEN P-T-2-KEY (P-T-2-IKDEX) = P-T-2-KEY-HOLD
MOVE P-T-2-KEY-HOLD TO P-T-2-KEY (P-T-2-INDEX)
MOVE P-S-REC-PCT-WTS TO
P-T-2-FACTORS-P (P-T-2-INDEX)
MOVE P-S-REC-MOL-WTS TO
P-T-2-FACTORS-M (P-T-2-INDEX)
MOVE P-S-REC-NOX TO P-T-2-FACTORS-N (P-T-2-INOEX)
MOVE P-S-REC-ALG-SEL TO P-T-2-ALG (P-T-2-IHDEX)
MOVE TRUE TO P-S-STORED-SW.
STORE-IN-P-T-3.
* STORE NEW POLLUTANT FACTORS RECORD IN POLL-TAB-3.
* FIRST TRY TO STORE AT BOTTOM OF TABLE.
IF POLL-TAB-3-LEN = 0
OR P-T-3-KEY-HOLD > P-T-3-KEY (POLL-TAB-3-LEN)
IF NOT P-T-3-MAX
* PUT AT BOTTOM OF TABLE IF ROOM LEFT. INCREMENT TABLE LENSTH.
ADD BINARY-1 TO POLL-TAB-3-LEN
MOVE P-T-3-KEY-HOLD TO P-T-3-KEY (POLL-TAB-3-LEH)
MOVE P-S-REC-PCT-WTS TO
A-106
00035330
00035340
00035350
00035360
00035370
000353SO
00035390
00035400
00035410
00035420
00035430
00035440
00035450
00035460
OC035470
00035430
00035490
00035500
00035510
00035520
00035530
00035540
00035550
00035560
00035570
00035580
00035590
00035600
00035610
00035620
00035630
00035640
00035650
00035660
00035670
00035630
00035690
00035700
00035710
00035720
00035730
OC035740
00035750
00035760
00035770
00035730
00035790
00035SOO
OOC3E310
00035320
00035330
00035S40
00035S50
00035660
00035370
00035S30
OOC35S9C
-------
P-T-3-FACTORS-P (POLL-TAB-3-LEN)
MOVE P-S-REC-MOL-WTS TO
P-T-3-FACTORS-M (POLL-TAB-3-LEN)
MOVE P-S-REC-NOX TO P-T-3-FACTORS-N (POLL-TAB-3-LEN)
MOVE P-S-REC-ALG-SEL TO P-T-3-ALG (POLL-TAB-3-LEN)
MOVE TRUE TO P-S-STORED-SW
ELSE
TABLE FULL.
MOVE BINARY-22 TO COND-CODE
ADO BINARY-1 TO ERR-CNT
PERFORM INVALID-DATA-FOUND
MOVE ZERO TO P-S-TYPE-HOLD
ELSE
ATTEMPT TO INSERT RECORD IN EXISTING LAST TABLE ENTRY.
IF P-T-3-KEY-HOLD = P-T-3-KEY (POLL-TAB-3-LEN)
MOVE P-T-3-KEY-HOLD TO P-T-3-KEY (POLL-TAB-3-LEN)
MOVE P-S-REC-PCT-WTS TO
P-T-3-FACTORS-P (POLL-TAB-3-LEN)
MOVE P-S-REC-MOL-WTS TO
P-T-3-FACTORS-M (POLL-TAB-3-LEN)
MOVE P-S-REC-NOX TO P-T-3-FACTORS-N (POLL-TAB-3-LEN)
MOVE P-S-REC-ALG-SEL TO P-T-3-ALG (POLL-TAB-3-LEN)
MOVE TRUE TO P-S-STORED-SW
ELSE
ATTEMPT TO REPLACE DATA IN PREVIOUS TABLE ENTRY.
SEARCH ALL POLL-TABLE-3-ENTRY
AT END
TABLE EXHAUSTED. NO MATCH.
MOVE BINARY-23 TO COND-CODE
ADD BINARY-1 TO ERR-CNT
PERFORM INVALID-DATA-FOUND
MOVE ZERO TO P-S-TYPE-HOLD
ENTRY FOUND. REPLACE DATA IN ENTRY.
WHEN P-T-3-KEY (P-T-3-INDEX) = P-T-3-KEY-HOLD
MOVE P-T-3-KEY-HOLD TO P-T-3-KEY (P-T-3-INDEX)
MOVE P-S-REC-PCT-WTS TO
P-T-3-FACTORS-P (P-T-3-IKOEX)
MOVE P-S-REC-MOL-WTS TO
P-T-3-FACTORS-M (P-T-3-INDEX)
MOVE P-S-REC-NOX TO P-T-3-FACTORS-N (P-T-3-INDEX)
MOVE P-S-REC-ALG-SEL TO P-T-3-ALG (P-T-3-INDEX)
MOVE TRUE TO P-S-STORED-SW.
STORE-IN-T-T-1.
* STORE NEW TEMPORAL FACTORS RECORD IN TEMP-TAB-1.
* FIRST TRY TO STORE AT BOTTOM OF TABLE.
IF TEMP-TAB-1-LEN = 0
OR T-T-1-KEY-HOLD > T-T-1-KEY (TEMP-TAB-1-LEN)
IF NOT T-T-1-MAX
* PUT AT BOTTOM OF TABLE IF ROOM LEFT. INCREMENT TABLE LENGTH.
ADD BINARY-1 TO TEMP-TAB-1-LEN
* MOVE IN MISSING DATA INDICATOR AS DEFAULT.
MOVE -1.0 TO T-T-1-SEAS (TEMP-TAB-1-LEN, BINARY-1)
T-T-1-SEAS (TEMP-TAB-1-LEN, BINARY-2)
T-T-1-SEAS (TEMP-TAB-1-LEN, BINARY-3)
00035900
00035910
00035920
00035930
00035940
00035950
00035960
00035970
00035980
00035990
00036000
00036010
00036020
00036030
00036040
00036050
00036060
00036070
00036080
00036090
00036100
00036110
00036120
00036130
00036140
00036150
00036160
00036170
00036130
00036190
00036200
00036210
00036220
00036230
00036240
00036250
00036260
00036270
0003S230
00036290
00036300
00036310
00036320
OC036330
00036340
00036350
00036360
00036370
00036380
00036390
00036400
00036410
00036420
00036430
00036440
00036450
00036460
A-107
-------
T-T-1-SEAS (TEMP-TAB-1-LEN, BINARY-*)
MOVE T-T-1-KEY-HOLO TO T-T-1-KEY (TEMP-TAB-1-LEN)
MOVE T-S-REC-SEAS TO
T-T-1-SEAS (TEMP-TAB-1-LEN, T-S-REC-OAY-NO)
MOVE T-S-REC-DAY TO
T-T-1-DAY (TEMP-TAB-1-LEN, T-S-REC-DAY-NO)
MOVE T-S-REC-VAL-R TO
T-T-1-FACTORS (TEMP-TAB-1-LEN, T-S-REC-DAY-NO)
MOVE TRUE TO T-S-STORED-SW
60 TO STORE-IN-T-T-1-EXIT
ELSE
TABLE' FULL.
MOVE BINARY-20 TO COND-CODE
ADO BINARY-1 TO ERR-CNT
PERFORM INVALID-OATA-FOUKD
MOVE TRUE TO T-S-STORED-SW
GO TO STORE-IN-T-T-1-EXIT.
ATTEMPT TO INSERT RECORD IN EXISTING LAST TABLE ENTRY.
IF TEMP-TAB-1-LEN > 0
IF T-T-1-KEY-HOLD = T-T-1-KEY (TEMP-TAB-1-LEN)
MOVE T-S-REC-SEAS TO
T-T-1-SEAS (TEMP-TAB-1-LEN, T-S-REC-DAY-NO)
MOVE T-S-REC-DAY TO
T-T-1-DAY (TEMP-TAB-1-LEN, T-S-REC-DAY-NO)
MOVE T-S-REC-VAL-R TO
T-T-1-FACTORS (TEMP-TAB-1-LEN, T-S-REC-DAY-NO)
MOVE TRUE TO T-S-STORED-SW
ELSE
ATTEMPT TO REPLACE DATA IN PREVIOUS TABLE ENTRY.
SEARCH ALL TEMP-TABLE-1-ENTRY
AT END
TABLE EXHAUSTED. NO MATCH.
MOVE BINARY-21 TO CCND-CODE
ADD BINARY-1 TO ERR-CNT
PERFORM INVALID-DATA-FOUNO
MOVE TRUE TO T-S-STORED-SW
ENTRY FOUND. REPLACE DATA IN ENTRY.
WHEN T-T-1-KEY (T-T-1-INDEX) = T-T-1-KEY-HOLD
MOVE T-S-REC-SEAS TO
T-T-1-SEAS (T-T-1-INDEX, T-S-REC-DAY-NO)
MOVE T-S-REC-DAY TO
T-T-1-DAY (T-T-1-INDEX, T-S-REC-DAY-NO)
MOVE T-S-REC-VAL-R TO
T-T-1-FACTORS (T-T-1-INDEX, T-S-REC-DAY-NO)
MOVE TRUE TO T-S-STORED-SW.
STORE-IN-T-T-1-EXIT.
EXIT.
STORE-IN-T-T-2.
» STORE NEW TEMPORAL FACTORS RECORD IN TEMP-TAB-2.
* FIRST TRY TO STORE AT BOTTOM OF TABLE.
IF TEMP-TAB-2-LEN = 0
A-108
00036*70
00036430
00036*90
00036500
00036510
00036520
00036530
00036540
00036550
00036560
00036570
00036580
00036590
00336600
00036610
00036620
00036630
000366*0
00036650
00036660
00036670
00036660
00036690
00036700
00036710
00036720
00036730
00036740
00036750
00036760
00036770
00036780
00036790
00036300
00036810
OOC36320
00036830
000368*0
00036850
00036860
00036370
00035880
00036890
00036900
OC036910
00036920
00036930
000369*0
00036950
00036960
00036970
C0036930
OCOZ6990
00037000
00037010
C0037020
00037030
-------
OR T-T-a-KEY-HOLD > T-T-3-KEY (TEMP-TAB-a-LEN)
IF NOT T-T-2-MAX
PUT AT BOTTOM OF TABLE IF ROOM LEFT. INCREMENT TABLE LENGTH.
ADD BINARY-1 TO TEMP-TAB-2-LEN
MOVE -1.0 TO T-T-2-SEAS (TEMP-TA8-2-LEN, BINARY-1)
T-T-2-SEAS (TEMP-TAB-a-LEN, BINARY-2)
T-T-a-SEAS (TEMP-TAB-a-LEN, BINARY-3)
T-T-a-SEAS (TEMP-TAB-a-LEN, BINARY-4)
MOVE T-T-a-KEY-HOLD TO T-T-a-KEY (TEMP-TAB-a-LEN)
MOVE T-S-REC-SEAS TO
T-T-a-SEAS (TEMP-TAB-a-LEN, T-S-REC-DAY-NO)
MOVE T-S-REC-DAY TO
T-T-a-DAY (TEMP-TAB-a-LEN, T-S-REC-DAY-NO)
MOVE T-S-REC-VAL-R TO
T-T-a-FACTORS (TEMP-TAB-a-LEN, T-S-REC-DAY-NO)
MOVE TRUE TO T-S-STORED-SW
60 TO STORE-IN-T-T-a-EXIT
ELSE
TABLE FULL.
MOVE BINARY-20 TO COHD-CODE
ADD BINARY-1 TO ERR-CNT
PERFORM INVALID-OATA-FOUHD
MOVE TRUE TO T-S-STORED-SW
60 TO STORE-IN-T-T-a-EXIT.
IF TEMP-TAB-a-LEN > 0
ATTEMPT TO INSERT RECORD IN EXISTING LAST TABLE ENTRY.
IF T-T-a-KEY-HOLD = T-T-a-KEY (TEMP-TAB-a-LEN)
MOVE T-S-REC-SEAS TO
T-T-a-SEAS (TEMP-TAB-a-LEN, T-S-REC-DAY-NO)
MOVE T-S-REC-DAY TO
T-T-a-DAY (TEMP-TAB-a-LEN, T-S-REC-DAY-NO)
MOVE T-S-REC-VAL-R TO
T-T-a-FACTORS (TEMP-TAB-a-LEN, T-S-REC-DAY-NO)
MOVE TRUE TO T-S-STORED-SW
ELSE
ATTEMPT TO REPLACE DATA IN PREVIOUS TABLE ENTRY.
SEARCH ALL TEMP-TABLE-a-ENTRY
AT END
TABLE EXHAUSTED. NO MATCH.
MOVE BINARY-ai TO COND-CODE
ADD BINARY-1 TO ERR-CNT
PERFORM INVALID-DATA-FOUND
MOVE TRUE TO T-S-STORED-SW
ENTRY FOUND. REPLACE DATA IN ENTRY.
WHEN T-T-a-KEY (T-T-a-INDEX) = T-T-a-KEY-HOLD
MOVE T-S-REC-SEAS TO
T-T-a-SEAS (T-T-a-INDEX, T-S-REC-DAY-NO)
MOVE T-S-REC-DAY TO
T-T-a-DAY (T-T-a-INDEX, T-S-REC-DAY-NO)
MOVE T-S-REC-VAL-R TO
T-T-a-FACTORS (T-T-a-INDEX, T-S-REC-DAY-NO)
MOVE TRUE TO T-S-STORED-SW.
STORE-IN-T-T-a-EXIT.
EXIT.
00037040
00037050
00037060
00037070
00037000
00037090
00037100
00037110
000371EO
00037130
00037140
00037150
00037160
00037170
00037180
00037190
OC037200
00037210
00037220
00037230
OC037240
00037250
00037360
00037270
00037280
OC037290
00037300
00037310
00037320
00037330
00037340
00037350
00037360
00037370
00037380
00037390
00037400
00037410
00037420
00037430
00037440
00037430
00037460
00037470
00037480
00037490
00037500
00037510
00037520
00037530
00037540
00037550
00037560
00037570
00037580
00037590
OCC37600
A-109
-------
STORE-IN-T-T-3.
* STORE NEW TEMPORAL FACTORS RECORD IN TEMP-TAB-3.
* FIRST TRY TO STORE AT BOTTOM OF TABLE.
IF TEMP-TAB-3-LEN = 0
OR T-T-3-KEY-HOLD > T-T-3-KEY (TEMP-TAB-3-LEN)
IF NOT T-T-3-MAX
* PUT AT BOTTOM OF TABLE IF ROOM LEFT. INCREMENT TABLE LENGTH.
ADD BINARY-1 TO TEMP-TAB-3-LEN
MOVE -1.0 TO T-T-3-SEAS (TEMP-TAB-3-LEN, BINARY-1)
T-T-3-SEAS (TEMP-TAB-3-LEN, BINARY-2)
T-T-3-SEAS (TEMP-TAB-3-LEN, BINARY-3)
T-T-3-SEAS (TEMP-TAB-3-LEN, BINARY-*)
MOVE T-T-3-KEY-HOLD TO T-T-3-KEY (TEMP-TAB-3-LEN)
MOVE T-S-REC-SEAS TO
T-T-3-SEAS (TEMP-TAB-3-LEN, T-S-REC-DAY-NO)
MOVE T-S-REC-DAY TO
T-T-3-DAY (TEMP-TAB-3-LEN, T-S-REC-DAY-NO)
MOVE T-S-REC-VAL-R TO
T-T-3-FACTORS (TEMP-TAB-3-LEN, T-S-REC-DAY-NO)
MOVE TRUE.TO T-S-STORED-SW
GO TO STORE-IN-T-T-3-EXIT
ELSE
* TABLE FULL.
MOVE BINARY-20 TO COND-CODE
ADO BINARY-1 TO ERR-CNT
PERFORM INVALID-DATA-FOUNO
MOVE TRUE TO T-S-STORED-SW
GO TO STORE-IN-T-T-3-EXIT.
IF TEMP-TAB-3-LEN > 0
* ATTEMPT TO INSERT RECORD IN EXISTING LAST TABLE ENTRY.
IF T-T-3-KEY-HOLD = T-T-3-KEY (TEMP-TAB-3-LEH)
MOVE T-S-REC-SEAS TO
T-T-3-SEAS (TEMP-TAB-3-LEN, T-S-REC-DAY-NO)
MOVE T-S-REC-DAY TO
T-T-3-DAY (TEMP-TAB-3-LEN, T-S-REC-DAY-NO)
MOVE T-S-REC-VAL-R TO
T-T-3-FACTORS (TEMP-TAB-3-LEN, T-S-REC-DAY-NO)
MOVE TRUE TO T-S-STORED-SW
ELSE
* ATTEMPT TO REPLACE DATA IN PREVIOUS TABLE ENTRY.
SEARCH ALL TEMP-TABLE-3-ENTRY
AT END
* TABLE EXHAUSTED. NO MATCH.
MOVE BINARY-21 TO COND-COOE
ADD BINARY-1 TO ERR-CNT
PERFORM INVALID-DATA-FOUND
MOVE TRUE TO T-S-STORED-SW
* ENTRY FOUND. REPLACE DATA IN ENTRY.
WHEN T-T-3-KEY (T-T-3-INOEX) = T-T-3-KEY-HOLD
MOVE T-S-REC-SEAS TO
T-T-3-SEAS (T-T-3-INOEX, T-S-REC-DAY-NO)
MOVE T-S-REC-DAY TO
T-T-3-DAY (T-T-3-INDEX, T-S-REC-DAY-NO)
MOVE T-S-REC-VAL-R TO
00037610
00037620
00037630
00037640
00037650
00037660
00037670
00037680
00037690
00037700
00037710
00037720
00037730
00037740
00037750
00037760
00037770
00037760
00037790
00037300
00037810
00037820
00037630
00037840
00037850
00037S60
00037S70
00037830
00037390
00037900
00037910
00037920
00037930
00037940
00037950
00037960
00037970
00037960
00037990
00038000
0003S010
00038C20
00038030
00038040
C003SC50
00038060
00038070
00033080
00033090
00033100
00033110
00033120
00038130
OOOE3140
00038150
00033160
00038170
A-110
-------
T-T-3-FACTORS (T-T-3-INDEX,
MOVE TRUE TO T-S-STORED-SW.
T-S-REC-OAY-NO)
STORE-IN-T-T-3-EXIT.
EXIT.
STORE-P-S-REC.
MOVE FALSE TO SM-l-Y SW-2-Y SW-3-Y SW-4-Y SW-5-Y.
MOVE TRUE TO P-S-STORED-SW.
IF (P-S-SM-1 AND P-S-SW-2 AND P-S-SW-3)
MOVE TRUE TO SW-l-Y.
IF P-S-SW-4 AND P-S-SW-5
MOVE TRUE TO SW-2-Y.
IF NOT P-S-SW-3 AND NOT P-S-SW-4
MOVE TRUE TO SW-3-Y.
IF SW-3-P AND NOT P-S-SW-2
MOVE FALSE TO SW-3-Y
MOVE TRUE TO SW-4-Y.
IF SW-4-P AND NOT P-S-SW-1
MOVE FALSE TO SW-4-Y
MOVE TRUE TO SW-5-Y.
IF SW-l-P AND (SW^2-P OR (P-S-SW-4 AND NOT P-S-SW-5)
OR (NOT P-S-SW-4 AND NOT P-S-SW-5))
EXAMINE P-S-REC-ID REPLACING ALL SPACES BY '9'
MOVE POLL-SPLIT-RECORD TO POLL-FILE-REC
WRITE POLL-FILE-REC
MOVE TRUE TO P-S-STORED-SW
ELSE
IF (P-S-SW-1 AND P-S-SW-2 AND P-S-SW-5 AND SW-3-P)
STRING P-S-ST-ID DELIMITED SIZE
P-S-CTY-ID DELIMITED SIZE
P-S-SCC DELIMITED SIZE
INTO P-T-1-KEY-HOLO
PERFORM STORE-IN-P-T-1
ELSE
IF (P-S-SW-1 AND P-S-SW-5 ANT) SW-4-P)
STRING P-S-ST-ID DELIMITED SIZE
P-S-SCC DELIMITED SIZE
INTO P-T-2-KEY-KOLD
PERFORM STORE-IN-P-T-2
ELSE
IF P-S-SW-5 AND SW-5-P
MOVE P-S-SCC TO P-T-3-KEY-HOLD
PERFORM STORE-IN-P-T-3
ELSE
MOVE BINARY-12 TO COND-CODE
ADD BINARY-1 TO ERR-CNT
PERFORM INVALID-DATA-FOUND.
STORE-T-S-REC.
MOVE FALSE TO SW-l-X SW-2-X
00036180
00038190
00033200
00038E10
00038220
00033230
00038240
00038250
00038260
00038270
00038280
00038290
00038300
00038310
00033320
00038330
00033340
00038350
00033360
00038370
00038330
00038390
00038400
00038410
00038420
00038430
00038440
00038450
00038460
00033470
00038480
00038490
00038500
00038510
00033520
00038530
00038540
00038550
00038560
00038570
00038580
OC038590
0003S600
OC038610
OC038620
00036630
00038640
00033650
00038660
00033670
00038680
00038690
000387CO
00033710
00033720
00038730
00033740
A-lll
-------
SW-3-X SW-4-X SW-5-X.
MOVE TRUE TO T-S-STORED-SW.
IF T-S-REC-SEAS NOT NUMERIC
MOVE BINARY-25 TO T-S-REC-SEAS
MOVE BINARY-15 TO COND-CODE
ADD BINARY-1 TO ERR-CNT
PERFORM INVALID-DATA-FOUND
ELSE NEXT SENTENCE.
DEVELOP KEY ANALYSIS TO MINIMIZE COMPLEXITY OF IF STMTS.
IF (T-S-SW-1 AND T-S-SW-2 AND T-S-SW-3)
MOVE TRUE TO SW-I-X.
IF T-S-SW-4 AND T-S-SK-5
MOVE TRUE TO SW-2-X.
IF NOT T-S-SW-3 AND NOT T-S-SW-4
MOVE TRUE TO SW-3-X.
IF NOT T-S-SW-2 AND SW-3-T
MOVE FALSE TO SW-3-X
MOVE TRUE TO SW-4-X.
IF NOT T-S-SW-1 AND SW-4-T
MOVE FALSE TO SW-4-X
MOVE TRUE TO SW-5-X.
IF SW-l-T AND (SW-2-T OR (T-S-SW-4 AND NOT T-S-SK-5)
OR (NOT T-S-SW-4 AND NOT T-S-SW-5))
MOVE TRUE TO EXTERN-TYPE-SW
ELSE
. MOVE FALSE TO EXTERN-TYPE-SW.
IF EXTERN-TYPE
IF T-S-REAL-ID NOT = T-S-EXTERN-ID
IF EXTERN-NOT-WRITTEN
EXAMINE T-S-EXTERN-ID
REPLACING ALL SPACES BY ")•
MOVE TEMP-SPLIT-EXTERN-RECORD TO TEMP-FILE-REC
WRITE TEMP-FILE-REC
MOVE TRUE TO EXTERN-OUTPUT-SU
MOVE ZERO TO T-S-EXTERN-DATA
MOVE -1.0 TO T-S-EXTERN-SEAS (BINARY-1)
T-S-EXTERN-SEAS (BINARY-2)
T-S-EXTERN-SEAS (BINARY-3)
T-S-EXTERH-SEAS (BINA9Y-4)
IF NOT EOF-TEMP-SPLIT
PERFORM MOVE-TEMP-EXTERN-DATA
ELSE NEXT SENTENCE
ELSE
PERFORM MOVE-TEMP-EXTERN-DATA
ELSE
PERFORM MOVE-TEMP-EXTERN-DATA
ELSE
OR STORE IN INTERNAL GENERAL TABLE...
IF (T-S-SW-1 AND T-S-SW-2 AND T-S-SW-5 AND SW-3-T)
STRING T-S-ST-ID DELIMITED SIZE
T-S-CTY-ID DELIMITED SIZE
T-S-SCC DELIMITED SIZE
INTO T-T-1-KEY-HOLD
PERFORM STORE-IN-T-T-1 THRU STORE-IN-T-T-1-EXIT
ELSE
IF (T-S-SW-1 AND T-S-SW-5 AND SW-4-T)
STRING T-S-ST-ID DELIMITED SIZE
A-112
00038750
00038760
00038770
OC033780
00038790
00036300
00038810
00038820
00038830
00036840
00038350
OC03S360
00038870
00038880
00038890
00033900
00038910
00038920
00038930
00038940
00038950
00038960
00038970
00038980
00033990
00339000
00039010
00039020
00039030
000390*0
00039050
00039060
00039070
00039080
00039090
00039100
00039110
00039120
00039130
00039140
00039150
00039160
00039170
00039130
00039190
00039200
00039210
00039220
00039230
00039240
00039250
00039260
00039270
00039260
00039290
00039300
00039310
-------
T-S-SCC DELIMITED SIZE
INTO T-T-2-KEY-HOLD
PERFORM STORE-IN-T-T-2 THRU STCRE-IN-T-T-2-EXIT
ELSE
IF T-S-SW-5 AND SW-5-T
MOVE T-S-SCC TO T-T-3-KEY-HOLD
00039320
00039330
00039340
00039350
00035360
00039370
PERFORM STORE-IN-T-T-3 THRU STORE-IN-T-T-3-EXIT00039380
ELSE
* UNLESS A KEY IS IN ERROR.
MOVE BINARY-11 TO CONO-COOE
ADD BINARY-1 TO ERR-CNT
PERFORM INVALID -DATA- FOUND.
SUMMARY- LINE-SEARCH .
* FIND THE USER-DEFINED SUMMARY LINE TO WHICH THE CURRENT
* PROCESS (SCO BELONGS.
ADD BINARY-1 TO SUMMARY-SUB.
IF SUMMARY-SUB NOT > SUMMARY-CNTL-LENG
MOVE ZERO TO SUMMARY-SCAN-SUB
PERFORM SUMMARY-SCC-SCAN BINARY-8 TIMES
ELSE
* USED IF USER DID NOT DEFINE THIS SCC
MOVE TRUE TO SUMMARY-LINE-FOUND-SW
* AREA SOURCE.
IF OLD-PLANT = 0000 OR OLD-PLANT = 9999
MOVE 52 TO SUMMARY-SUB
ELSE
* POINT SOURCE.
MOVE 51 TO SUMMARY-SUB.
SUMMARY-LINE-STORE.
* HOURLY EMISSIONS HAVE BEEN COMPUTED. SUM INTO SUMMARY TABLE
* AND HOURLY-VALUES FOR ALL PROCESSES.
*
* USER DEFINED TABLE.
*
ADD BINARY-1 TO EMIS-SUB.
COMPUTE HRLY-EMIS- VALUES (DAY-SU3, HOUR-SUB, EMIS-SUB)
ROUNDED = HRLY-TEMP (EMIS-SUB) +
HRLY-EMIS-VALUES (DAY-SUB, HOUR-SUB, EMIS-SUB).
COMPUTE SUMMARY-VALUE (DAY-SUB, SUMMARY-SUB, EMIS-SUB)
ROUNDED = SUMMARY-VALUE (DAY-SUB, SUMMARY-SUB, EMIS-SUB) +
HRLY-TEMP (EMIS-SUB)
ON SIZE ERROR MOVE BINARY-28 TO COND-CODE
ADD BINARY-1 TO ERR-CNT
PERFORM INVALID-DATA-FOUND.
* NEXT AREA OR POINT SOURCE TABLE.
IF OLD-PLANT = 0000 OR OLD-PLANT = 9999
COMPUTE REGION-AREA-VALUE (DAY-SUB, HOUR-SUB, EMIS-SUB)
ROUNDED = REGION-AREA-VALUE (DAY-SUB, HOUR-SUB, EMIS-SUB)
+ HRLY-TEMP (EMIS-SUB)
ON SIZE ERROR MOVE BINARY-28 TO COND-CODE
ADD BINARY-1 TO ERR-CNT
A-113
00039390
00039400
00039410
00039420
00039430
00039440
00039450
00039460
00039470
00039480
00039490
00039500
00039510
00039520
00039330
00039540
00039550
00039560
00039570
00039580
00039590
00039600
00039610.
00039620
00039630
00039640
00039650
00039660
00039670
00039660
OC039690
00039700
00039710
00039720
00039730
00039740
00039750
00039760
00039770
00039730
00039790
00039600
00039310
00039S20
00039330
00039340
00039G50
00039360
00039370
00039860
-------
PERFORM INVALID-DATA-FOUND
ELSE
COMPUTE REGION-POINT-VALUE (DAY-SUB, HOUR-SUB, EMIS-SUB)
ROUNDED = REGION-POINT-VALUE (DAY-SUB, HOUR-SUB, EMIS-SUB)
+ HRLY-TEMP (EMIS-SUB)
ON SIZE ERROR MOVE BINARY-28 TO COND-CODE
ADD BINARY-! TO ERR-CNT
PERFORM INVALID-DATA-FOUND.
SUMMARY-MOVE-AND-AOD.
* VALUES 51 & 52 HERE ARE FOR "MISC." LINES.
ADD BINARY-1 TO EMIS-SUB.
* MOVE SUMMARY EMISSIONS TO USER-DEFINED REPORT LINE...
COMPUTE SUMMARY-DETAIL-VALS (EMIS-SUB) ROUNDED =
SUMMARY-VALUE (DAY-SUB, SUMMARY-SUB, EMIS-SUB) / 1000.0.
* AND ADD TO PAGE TOTAL.
COMPUTE SUMMARY-DETAIL-TOTALS (EMIS-SUB) ROUNDED =
SUKMARY-DETAIL-TOTALS (EMIS-SUB) +
SUMMARY-VALUE (DAY-SUB, SUMMARY-SUB, EMIS-SUB) / 1000.0
ON SIZE ERROR MOVE BINARY-28 TO COND-CODE
ADD BINARY-1 TO ERR-CNT
PERFORM INVALID-DATA-FOUND.
SUMMARY-SCC-SCAN.
ADD BINARY-1 TO SUMMARY-SCAN-SUB.
00039890
00039900
00039910
00039920
00039930
00039940
00039950
00039960
00039970
00039980
00039990
0004COOO
00040010
00040030
00040030
00040040
00040030
00040060
00040070
0004C030
00040090
00040100
00040110
00040120
00040130
00040140
00040150
00040160
00040170
OOC401QO
00040190
00040300
SEARCH THE USER-INPUT SCC'S FOR A MATCH WITH CURRENT SCC.
IF STORE-SCC (PROC-SUB) = REPORT-SCC
(SUMMARY-SUB, SUMMARY-SCAN-SUB)
OR REPORT-KEY-1 = REPORT-SCC (SUT1MARY-SUB, SUMMARY-SCAN-SUB)00040210
OR REPORT-KEY-2 = REPORT-SCC (SUMMARY-SUB, SUMMARY-SCAN-SUB)00040220
OR REPORT-KEY-3 = REPORT-SCC (SUMMARY-SUB, SUMMARY-SCAN-SUB)00040230
MOVE TRUE TO SUMMARY-LINE-FCUND-SW.
SUMMARY-TOTALS-MOVE.
ADD BINARY-1 TO EMIS-SUB.
* MOVE SUMMARY PAGE TOTALS TO OUTPUT LINE.
MOVE SUMMARY-DETAIL-TOTALS (EMIS-SUB) TO
SUMMARY-DETAIL-VALS (EMIS-SUB).
TEMP-SPLIT-DEFAULT-ALGORITHM.
* FIRST TRY TO COMPUTE SCALER USING SEGMENT 1
* DEFAULT OPERATING DATA.
MOVE ZERO TO HOUR-SUB.
IF DEFAULT-TEMP-SPLIT-DATA NUMERIC
AND DEFAULT-NORMAL-OPERATING NUMERIC
COMPUTE SCALER ROUNDED
= DEFAULT-SEASONS (TEMP-KEY-DAY) * 907184.74
/ DEFAULT-DAY-WEEK
/ BINARY-13 / DEFAULT-HOUR-DAY
00040240
00040250
00040260
00040270
00040280
00040290
00040300
00040310
00040320
00040330
00040340
00040350
00040360
00040370
00040380
00040390
00040400
00040410
00040420
00040430
00040440
00040450
A-114
-------
MOVE BINARY-1 TO HOUR-SUB
MOVE BINARY-26 TO COND-CODE
ADD BINARY-1 TO WARN-CNT
PERFORM INVALID-DATA-FOUND
ELSE
* OTHERWISE, USE UNIFORM-DISTRIBUTION SCALER.
MOVE BINARY-27 TO COND-CODE
ADD BINARY-1 TO COND-CNT
PERFORM INVALID-DATA-FOUND
IF OLD-PLANT = 0000 OR 9999
* AREA SOURCE DEFAULT.
MOVE ZERO TO HOUR-SUB
MOVE BINARY-24 TO DEFAULT-HOUR-DAY
COMPUTE SCALER ROUNDED = (DEFAULT-SCALES / 24.0)
/ 7.0
ELSE
MOVE BINARY-7 TO HOUR-SUB
MOVE BINARY-8 TO DEFAULT-HOUR-DAY
COMPUTE SCALER ROUNDED = (OEFAULT-SCALER / 6.0)
/ 5.0.
* DEFINE START-HOUR FOR EIS/P&R DEFAULT DATA CASE.
* IF OEFAULT-SCALER USED, OR EIS/P&R DAY < 20 HOURS,
* USE 0700 LOCAL TIME AS START-HOUR.
* OTHERWISE, USE 0000 LOCAL AS START-HOUR.
IF HOUR-SUB = BINARY-1
IF DEFAULT-HOUR-DAY NOT < BINARY-ZO
MOVE ZERO TO HOUR-SUB
ELSE
MOVE BINARY-7 TO HOUR-SUB
ELSE NEXT SENTENCE.
PERFORM FILL-THE-HOUR-DEFAULT THRU FILL-THE-HOUR-DEFAULT-
DEFAULT-HOUR-DAY TIMES.
TEMP-SPLIT-STANDARD-A L60RITHM.
COMPUTE SCALER ROUNDED
= 907184.7* * T-S-REC-SEAS-R * T-S-REC-DAY.
MOVE ZERO TO HOUR-SUB.
* CLEAR HOURLY SPLIT VALUES FOR SUMMING TO POINT LEVEL.
PERFORM FILL-THE-HOUR-STANDARD THRU
FILL-THE-HOUR-STANDARD-END BINARY-24 TIMES.
T-S-EOF-CHK.
* AT END OF USER INPUT TEMPORAL SPLIT CARDS OR
* TEMPORARY TEMPORAL SPLIT SPECIFIC FILE:
MOVE TRUE TO EOF-TEMP-INPUT.
IF NOT T-S-STCRED
MOVE BINARY-8 TO COND-CODE
ADD BINARY-1 TO ERR-CNT
PERFORM INVALID-DATA-FOUND.
* CLEAN OUT THE LAST EXTERNAL RECORD.
IF AS-REC-CCUHT = ZERO AND PS-REC-COUNT = ZERO
MOVE ZERO TO T-S-REAL-ID
MOVE FALSE TO EXTERN-OUTPUT-SW
A-115
00040460
00040470
000404GO
00043490
OC040500
00040510
00040520
00040530
00040540
00040550
00040560
00040570
00040580
00040590
00040600
00040610
00040620
00040630
00040640
00040650
00040660
00040670
00040680
00040690
00040700
00040710
00040720
00040730
00040740
00040750
ENO 00040760
00040770
00040730
00040790
00040800
00040310
00040S20
00040830
00040340
00040850
00040860
00040870
00040830
00040890
00040900
00040910
00040920
0004C930
00040940
00040950
00040960
00040970
00040980
00040990
00041000
00041010
00041020
-------
MOVE T-S-EXTERN-ID TO T-S-ID
PERFORM STORE-T-S-REC.
WRAP-UP.
PERFORM END-OF-DIAG-PAGE-RTN.
* PREPARE AUDIT TRAIL.
MOVE SPACES TO REPORT-DATA.
MOVE AS-REC-COUNT TO NBR-AS-REC.
MOVE PS-REC-COUNT TO NBR-PS-REC.
ADD AS-REC-COUNT TO PS-REC-COUNT.
MOVE ERR-CNT TO KBR-OF-ERRORS.
MOVE COND-CNT TO NBR-OF-COND.
MOVE ABORT-CNT TO NSR-OF-ABCRT.
MOVE DISAS-CNT TO NBR-OF-DISASTER.
MOVE WARN-CNT TO NBR-OF-WARN.
MOVE PS-REC-COUNT TO NBR-HRLY-EMIS-REC.
MOVE P-S-INPUT-CNTR TO NBR-PLT-S-REC.
MOVE T-S-INPUT-CNTR TO KBR-T-S-REC.
MOVE HRLY-EMIS-COUNT TO NBR-EMIS-OUT.
* WRITE AUDIT TRAIL ON DIAGNOSTIC AND INPUT REPORT.
MOVE UST-MSG-1 TO REPORT-DATA.
WRITE REPORT-LINE AFTER BINARY-!.
MOVE SPACES TO REPORT-DATA.
MOVE LAST-MSG-2 TO REPORT-DATA.
WRITE REPORT-LINE AFTER BINARY-1.
MOVE SPACES TO REPORT-DATA.
MOVE LAST-MSG-3 TO REPORT-DATA.
WRITE REPORT-LINE AFTER BINARY-1.
MOVE SPACES TO REPORT-DATA.
MOVE LAST-MSG-4 TO REPORT-DATA.
WRITE REPORT-LINE AFTER BINARY-1.
MOVE SPACES TO REPORT-DATA.
MOVE LAST-MSG-5 TO REPORT-DATA.
WRITE REPORT-LINE AFTER BINARY-1.
MOVE SPACES TO REPORT-DATA.
MOVE LAST-MSG-11 TO REPORT-DATA.
WRITE REPORT-LIKE AFTER BINARY-1.
MOVE SPACES TO REPORT-DATA.
MOVE LAST-MSG-9 TO REPORT-DATA.
WRITE REPORT-LINE AFTER BINARY-1.
MOVE SPACES TO REPORT-DATA.
MOVE LAST-MSG-8 TO REPORT-DATA.
WRITE REPORT-LINE AFTER BINARY-1.
MOVE SPACES TO REPORT-DATA.
MOVE LAST-MSG-6 TO REPORT-DATA.
WRITE REPORT-LIKE AFTER BINARY-1.
MOVE SPACES TO REPORT-DATA.
MOVE LAST-MSG-7 TO REPORT-DATA.
WRITE REPORT-LINE AFTER BINARY-1.
MOVE SPACES TO REPORT-DATA.
MOVE LAST-MSG-10 TO REPORT-DATA.
WRITE REPORT-LINE AFTER BINARY-1.
MOVE SPACES TO REPORT-DATA.
* CLOSE ALL FILES EXCEPT SORT WORK FILES, WHICH ARE
* CLOSED AT THE END OF THE SORT STATEMENT.
A-116
00041030
00041040
00041050
00041063
00041070
00041030
00041090
00041100
00041110
00041120
00041130
00041140
00041150
00041160
00041170
00041130
00041190
00041200
00041210
00041220
00041230
00041240
00041250
00041260
00041270
00041230
00041290
00041300
00041310
00041320
00041330
00041340
00041350
00041360
OOC41370
00041330
00041390
00041400
00041410
00041420
00041430
00041440
OCC41450
00041460
00041470
00041460
00041490
00041500
00041510
00041520
00041530
OOC41540
00041550
00041560
00041570
00041530
00041590
-------
CLOSE TEMP-FACTORS-INPUT 00041600
POLLUT-FACTORS-INFUT 00041610
EIS-PROJ 000416EO
HRLY-SRCE-EMIS-FILE 00041630
REPORT-FILE 00041640
CONTROL-FILE 00041650
TEMP-FILE 00041660
POLL-FILE 00041670
SUMMARY-FILE. 00041680
A-117
-------
IDENTIFICATION DIVISION.
PROGRAM-ID. PSCONV.
AUTHOR. RESEARCH TRIANGLE INSTITUTE.
DATE-WRITTEN.
DATE-COMPILED.
ENVIRONMENT DIVISION.
CONFIGURATION SECTION.
SOURCE-COMPUTER. UNIVAC-1110.
OBJECT-COMPUTER. UNIVAC-1110.
INPUT-OUTPUT SECTION.
FILE-CONTROL.
SELECT PT-S-CONTROL ASSIGN TO CARD-READER.
SELECT EIS-HRLY-EMIS ASSIGN TO UNISERVO MASTER.
SELECT REPORT-FILE ASSIGN TO PRINTER IN-DIAG-RPT.
SELECT MAJ-SOURCE-P-S ASSIGN TO CARD-PUNCH PACK-RPT.
. SELECT TIME-INTER-EM-VAL ASSIGN TO CARD-PUNCH EMIS-VAL.
SELECT GRID-VALUE ASSIGN TO CARD-PUNCH GRID-VAL.
SELECT GRID-SORT ASSIGN TO MASS-STORAGE GRID-OUT.
SELECT EMISS-SORT ASSIGN TO MASS-STORAGE EMISS-OUT.
SELECT SUMMARY-REPORT-FILE ASSIGN TO PRINTER SUM-RPT.
SELECT EMIS-FILE ASSIGN TO MASS-STORAGE UNSORT-EMIS.
SELECT GRID-FILE ASSIGN TO MASS-STORAGE UNSORT-GRID.
DATA DIVISION.
FILE SECTION.
FD EIS-HRLY-EMIS
LABEL RECORD IS OMITTED.
01 OLD-MASTO.
02 OLD-MOVE
02 FILLER
01 OLD-MAST1.
02 FILLER
02 OLD-NBR-OF-POLLUTANTS
PIC X(23).
PIC X(163).
PIC X(130).
PIC 99.
A-118
00000010
00000020
00000050
00030040
00000050
00000060
00000070
OOOOCC80
00000090
OOC00100
00000110
00000120
00000133
00000140
00000150
00000160
00000170
00000183
00000190
C0000200
00000210
00000220
00000230
00000240
00000250
00000260
OOC00270
00000280
00000290
00000300
00000310
OOCC0320
00000330
00000340
OOOOQ350
00000360
00000370
00000380
OOOOC390
00000400
00000410
00000420
00000430
00000440
00000450
OOOOC460
00000470
00000480
00000490
00000500
OOCOOS10
00000520
00000530
00000540
00000550
-------
02 OLO-MAST-RPT1 OCCURS 1 TO 16 TIMES
DEPENDING ON OLD-N3R-OF-POLLUTANTS.
03 FILLER PIC X(45).
01
OLD-MAST2.
02 FILLER
02 OLD-NBR-OF-EF
OLD-MAST-RPT2
02
PIC X(90).
PIC 99.
OCCURS 1 TO 16 TIMES
DEPENDING ON OLD-NBR-OF-EF.
03 FILLER . PIC X(16).
01
OLD-MAST3.
02 FILLER
02 OLD-SEG-30-ID
OLD-LINE-NUMBER
02
02
02
PIC X(19).
PIC X(4).
PIC 999.
OLD-LINE-NUM3ER-R REDEFINES OLD-LINE-NUM3ER
OLD-MAST-RPT3 OCCURS 2 TIMES.
03 OLD-COMMENT PIC X(51).
PIC XXX.
FD PT-S-CONTROL
LABEL RECORDS OMITTED.
01 MAJ-MIN-DIV-CONTROL
01 MAJ-PT-CRITERIA
01 CONTROL-CARD.
02 FILLER
02 CONTROL-DATA
02 FILLER
02 FILE-NO
88 FILE-*
FD MAJ-SOURCE-P-S
. LABEL RECORDS OMITTED.
01 POINT-SOURCE-PACKET
FD TIME-INTER-EM-VAL
LABEL RECORDS OMITTED.
01 TIME-INTER-EMIS-PACKET
FD EMIS-FILE
LABEL RECORDS OMITTED.
01 EMISS
PIC X(80).
PIC X(80).
PIC X(10).
PIC XI22).
PIC X(47).
PIC 9(1).
VALUE 4.
PIC X(80).
PIC X(80).
PIC XU78).
A-119
00000560
00000570
OOC00580
00000590
00000600
00000610
00000620
00000630
00000640
OOOOC6EO
00000660
00000670
00000680
00000690
OOC007CO
00000710
00000720
00000730
00000740
00000750
00000760
00000770
OOC00730
00000790
00000800
00000810
00000820
00000330
00000340
00000850
00000860
OC000670
OOOOOS80
00000390
OOOC0900
00000910
00000920
00000930
00000940
00000950
00000960
00000970
OOOOC980
00000990
00001000
00001010
00001020
00001030
C0001040
OC001050
00001060
00001070
00001080
00001090
OC001100
00001110
00001120
-------
FD
01
FD
01
FD
01
FD
01
SO
01
GRID-FILE
LABEL RECORDS OMITTED.
GRIDD
GRID-VALUE
LABEL RECORDS OMITTED.
GRID-VALUE-PACKET
REPORT-FILE
LABEL RECORDS OMITTED.
REPORT-PRINT-LINE.
02 FILLER
02 REPORT-PRINT-DATA
SUMMARY-REPORT-FILE
LABEL RECORDS OMITTED.
SUMMARY-PRINT-LINE.
02 FILLER
02 SUKMARY-PRINT-OATA
02 SUM-PRINT-R
03 HDGR
03 EM-NAMES
0* FILLER
04 EM-NAME
03 FILLER
02 SUM-DATA
03
03
03
SUM-LINE
EM-VALUES
04 FILLER
04 EM-VAL
FILLER
02 SUM-DATA-XOUT
03 FILLER
03 EM-VALUES-R
03 FILLER
GRID-SORT.
GRID-SCRT-REC.
02 FILLER
02 S-DAY
02 FILLER
02 S-HOUR
02 FILLER
PIC XU76).
PIC X(80).
PIC X.
PIC X(132).
PIC X.
PIC X(132).
REDEFINES
SUMMARY-PRINT-DATA.
PIC XC19).
OCCURS 10 TIMES.
PIC X.
PIC X(9).
PIC XU3).
REDEFINES
SUMMARY-PRINT-DATA.
PIC X(19).
OCCURS 10 TIMES.
PIC X.
PIC Z(6)9.9.
PIC X(13).
REDEFINES
SUKMARY-PRINT-DATA.
PIC X(19>.
PIC X(100).
PIC XU3).
PIC X(55).
PIC 9(3).
PIC X(6).
PIC 9(2).
PIC X(2).
A-120
00001130
00001140
00001150
00001160
00001170
00001180
00001190
00001200
00001210
00001220
00001230
00001240
00001250
00001260
00001270
00001230
03001290
00001300
00001310
00001320
00001330
00001340
00001350
00001360
00001370
00001380
00001390
00001400
00001410
0000142D
00001430
OOC01440
00001450
00001460
00001470
000014SO
00001490
00001500
00001510
00001520
00001330
00001540
00001550
00001560
00001570
00001580
00001590
000016CO
00001610
OOCC1620
00001630
00001640
00001650
OC001660
OCC01670
00001680
00001690
-------
so
01
02 S-GRID
OZ FILLER
EMISS-SORT.
EMIS-SORT-REC.
OZ FILLER
ES-DAY
FILLER
ES-HOUR
FILLER
PIC 9(8).
PIC X(IOO).
02
02
02
02
PIC X(65).
PIC 9(3).
PIC X(6).
PIC X(2).
PIC XU02).
WORKING-STORAGE SECTION.
77 FIRST-CORE-MSG PIC X(27) VALUE
77 TRUE
77 FALSE
77 HOLD-WORK-DAY
77 HOLD-WORK-HOUR
77 HOLD-KEY-HOUR
77 HOLD-KEY-GRID
77 HR-l-EB
77 HR-2-BB
77 PAGE-COUNT
77 PAGE-COUNT-S
77 LINE-CNTR
77 LINE-CNTR-S
77 LINE-MAX
77 LINE-MAX-S
77 LINE-SKIP
77 MOVE-SUB
77 SUB-X
77 SUB-Y
77 SUB-XX
77 SUB-YY
77 Y
77 Z
88 Z-NO
88 Z-HC
77 XX
'WORKING STORAGE BEGINS HERE'
PIC 9 VALUE 1.
PIC 9 VALUE 0.
PIC 9(3) VALUE 0.
PIC 9(3) VALUE 0.
PIC 9(2).
PIC 9(8).
PIC 9(2).
PIC 9(2).
PIC 99 COMP SYNC
VALUE 1.
PIC 99 COMP SYNC
VALUE 1.
PIC 99 COMP SYNC
VALUE 52.
PIC 99 COMP SYNC
VALUE 52.
PIC 99 COMP SYNC
VALUE 52.
PIC 99 COMP SYNC
VALUE SZ.
PIC 9 COMP SYNC
VALUE 1.
PIC 99 COMP SYNC
VALUE 0.
PIC 99 COMP SYNC
VALUE 0.
PIC 99 COMP SYNC
VALUE 0.
PIC 99 COMP SYNC
VALUE 1.
PIC 99 COMP SYNC
VALUE 1.
PIC 99 COMP SYNC
VALUE 1.
PIC 99 COMP SYNC
VALUE 1.
VALUE 4, 5.
VALUE 6 THRU 10.
PIC 99 COMP SYNC
VALUE 1.
A-121
00001700
00001710
00001720
00001730
00001740
00001750
00001760
00001770
00001780
00001790
00001300
00001810
00001620
00001830
00001340
00001850
.00001360
00001870
00001380
00001890
00001900
00001910
00001920
00001930
00001940
00001950
00001960
00001970
00001980
00001990
00002000
00002010
OOC02020
00002030
00002040
00002050
OOC02060
00002070
00002080
00002090
00002100
00002110
00002120
00002130
00002140
00002150
00002160
00002170
00002180
00002190
00002200
00002210
00002220
00002230
00002240
00002250
00002260
-------
77 YY
77 ZZ
77 ZZZ
77 XXX
77 YYY
77 STACK
77 PLUMER
77 DIAG-CODE
77 MAJ-SRCE-MSG
77 MIN-SRCE-MSG
77 UNDER-SCORE
77 MAJ-LINE
77 MIN-LINE
77 TOTAL-LINE
77 SUM-TITLE
77 HORIZONTAL-BOUND
77 VERTICAL-BOUND
77 SUB1
77 SUB2
77 HORIZONTAL-N-METERS
77 VERTICAL-N-METERS
77 WORK-M-HEI6HT
77 WORK-M-PLUME
77 WORK-M-TEMP
77 WORK-H-VELOCITY
77 WORK-M-DIAMETER
77 WORK-M-FLOW
77 ROW
77 COL
77 HF
77 HX
77 HMW
77 F
77 DELHF
77 DISTF
77 DELHX
77 HP
77 TS
77 VS
77 D
77 VF
77 KST
PIC 99 COUP SYNC 00002270
VALUE 1. 00002280
PIC 99 COMP SYNC 000022?0
VALUE 1. 00002300
PIC 99 COMP SYNC 00002310
VALUE 1. 00002320
PIC 99 COMP SYNC 00002330
VALUE I. 00002340
PIC 99 COMP SYNC 00002350
VALUE 1. 00002360
PIC XUO) VALUE 00002370
'STACKHGT1. OC0023SO
PIC XUO) VALUE OC002390
'PLUMERISE'. 00002400
PIC 99 COMP SYNC 00002410
VALUE 0. 00002420
PIC X(20) VALUE 00002430
'***MAJOR SOURCE***1. OC002440
PIC XUO) VALUE 00002450
•***MINOR SOURCE***1. 00002460
PIC X(IOO) VALUE ALL '-'. 00002470
PIC XC19) VALUE 00002430
'MAJOR SOURCES'. 00002490
PIC XU9) VALUE 00002500
'MINOR SOURCES'. 00002510
PIC XU9) VALUE 00002520
•SUMMARY TOTAL*. 00002530
PIC XU9) VALUE 0000254C
'STUDY SUMMARY1. 00002550
PIC 9(9)V9. 00002560
PIC 9(9)V9. 00002570
PIC 9(9)V9. 00002530
PIC 9(9)V9. 00002590
PIC 9(9)V9. 00002600
PIC 9(9)V9. 00002610
PIC 9(9)V9. 00002620
PIC 9(9)V9. 00002630
PIC 9(9)V9. 00002640
PIC 9(9W9. 00002650
PIC 9<9)V9. 00002660
PIC 9(9)V9. 00002670
PIC 99. 00002680
PIC 99. 00002690
VALUE 0.0 COMP-1. 00002700
VALUE 0.0 COMP-1. 00002710
VALUE 0.0 CCMP-1. 00002720
VALUE 0.0 COMP-1. 00002730
VALUE 0.0 COMP-1. 00002740
VALUE 0.0 COMP-1. C0002750
VALUE 0.0 COMP-1. 00002760
VALUE 0.0 COMP-1. OOCC2770
VALUE 0.0 COMP-1. 00002780
VALUE 0.0 COMP-1. 00002790
VALUE 0.0 COMP-1. OOC02800
VALUE 0.0 COMP-1. 00002810
PIC S9C10) COMP SYNC 00002620
VALUE Z. 00002630
A-122
-------
77
77
77
77
77
77
77
77
77
77
77
77
77
77
77
77
77
77
77
77
77
77
77
77
77
77
77
77
77
77
77
U
X
DTHDZ
T
P
FT-N-METER
SECONDS
CENTIGRADE
FARENHGT
CUBE
BINARY-!
BINARY-2
BINARY-3
BINARY-*
BINARY-5
BINARY-6
BINARY-7
BINARY-8
BINARY-9
BINARY-10
BINARY-11
BINARY-12
BINARY-13
BINARY-14
BINARY-15
BINARY-16
BINARY-24
NUM-EMISS
NO-FACT-77
HC-FACT-77
FILE-NO-1
77 FILE-NO-2
01 SPECIAL-SWS.
02 SEL-DAY-SW
68 ONE
88 TWO
88 THREE
88 FOUR.
02 END-OF-JOB-SW
88 END-OF-JOB
02 END-OF-FILE-SW
88 END-OF-FILE
02 INVALID-PARM-SW
88 INVALID-PARM
02 PARM-DIAG-MSG-SW
88 PARM-DIAG-MSG
02 SEG-3-SW
88 SEG-3
02 SEG-2-SW
83 SEG-2
02 SEG-l-SW
VALUE 2.0 COMP-1.
VALUE 0.0 COMP-1.
VALUE 0.0 COMP-1.
VALUE 293.0 COMP-1.
VALUE 0.0 COMP-1.
PIC 9V99 VALUE 3.28.
PIC 99 VALUE 60.
PIC V99 VALUE .56.
PIC 99 VALUE 32.
PIC 9 VALUE 3.
PIC 9 VALUE 1.
PIC 9 VALUE 2.
PIC 9 VALUE 3.
PIC 9 VALUE 4.
PIC 9 VALUE 5.
PIC 9 VALUE 6.
PIC 9 VALUE 7.
PIC 9 VALUE 8.
PIC 9 VALUE 9.
PIC 99 VALUE 10.
PIC 99 VALUE 11.
PIC 99 VALUE 12.
PIC 99 VALUE 13.
PIC 99 VALUE 14.
PIC 99 VALUE 15.
PIC 99 VALUE 16.
PIC 99 VALUE 2*.
PIC 9(2) VALUE 10.
PIC 9V9(4).
PIC 9V9(4).
PIC X(45) VALUE
OOOOC840
OCOC2350
00002360
00002870
00002380
00002690
00002900
00002910
00002920
00002930
00002940
00002950
00002960
00002970
00002930
00002990
00003000
00003010
OOC05020
00003030
00003040
00003050
00003060
00003070
00003080
00003090
00003100
OOC03110
00003120
00003130
00003140
'CONTROL AND SELECTION FI00003150
•LE '. 00003160
PIC X(45) VALUE 00003170
'EIS HOURLY SOURCE/EMISSI00003180
•ON FILE '.
PIC 9(1) VALUE 0.
VALUE 1.
VALUE 2.
VALUE 3.
VALUE 4.
PIC 9 VALUE 0.
VALUE 1.
PIC 9 VALUE 0.
VALUE 1.
PIC 9 VALUE 0.
VALUE 1.
PIC 9 VALUE 0.
VALUE 1.
PIC 9 VALUE 0.
VALUE 1.
FIC 9 VALUE 0.
VALUE 1.
PIC 9 VALUE 0.
00003190
00003200
00003210
OOC03220
00003230
00003240
00003250
00003260
00003270
00003230
00003290
000033CO
00003310
00003320
00003330
00003340
0000335C
OOOC3360
00003370
00003330
00003390
OC003400
A-123
-------
01
01
88 SEG-1
02 SEG-O-SW
88 SEG-0
02 OPTION-DATA-SW
88 OPTION-DATA
02 FIND-POINT-SW
88 POINT-FOUND
02 INSIDE-GRID-SW
88 INSIDE-AREA
02 MAJ-SRCE-SW
88 MAJOR
02 MIN-SRCE-SW
88 MINOR
02 6RAND-SW
88 GRAND
02 MAJ-CRITERIA-SW
88 MAJ-CRITERIA
02 USED-SELECTION-SW
88 USED-SELECTION
02 PLUME-STACK-SM
88 PLUME-STACK
02 PLUME-RISE-SW
88 PLUME-RISE
02 PLUME-HGT-SW
88 PLUME-HGT
02 NOT-ENUF-DATA-SW
88 NOT-ENUF-DATA
02 MAJ-PT-PACK-SW
88 MAJ-PT-PACK
02 MINOR-POINT-SW
88 MINOR-POINT
02 SEG-ZERO-DATA-SW
88 SEG-ZERO-DATA
02 END-SORTED-GRID-SW
88 EfJD-SORTED-GRID
02 END-SORTED-EMIS-SW
88 END-SORTED-EMIS
02 BYPASS-SW
88 BYPASS
SEG-3-HOLD-TABLE.
02 SEG-3-HOUR
03 EMISSIONS
GRID-1.
02 SUM-BY-GRID-1
VALUE 1.
PIC 9 VALUE 0.
VALUE 1.
PIC 9 VALUE 0.
VALUE 1.
PIC 9 VALUE 0.
VALUE 1.
PIC 9 VALUE 0.
VALUE 1.
PIC 9 VALUE 0.
VALUE 1.
PIC 9 VALUE 0.
VALUE I.
PIC 9 VALUE 0.
VALUE 1.
PIC 9 VALUE 0.
VALUE 1.
PIC 9 VALUE 0.
VALUE 1.
PIC 9 VALUE 0.
VALUE 1.
PIC 9 VALUE 0.
VALUE 1.
PIC 9 VALUE 0.
VALUE 1.
PIC 9 VALUE 0.
VALUE 1.
PIC 9 VALUE 0.
VALUE 1.
PIC 9 VALUE 0.
VALUE 1.
PIC 9 VALUE 0.
VALUE 1.
PIC 9 VALUE 0.
VALUE 1.
PIC 9 VALUE 0.
VALUE 1.
PIC 9 VALUE 0.
VALUE 1.
OCCURS 96 TIMES.
OCCURS 12 TIMES
PIC 9(8).
OCCURS 12 TIMES
PIC 9(9)V9
COMP SYNC.
01
GRIO-2.
02 SUM-BY-GRID-2
OCCURS 12 TIMES
PIC 9(9)V9
A-124
00003410
00003430
00003430
00003440
00003450
00003460
00003470
00003460
00003490
00003500
00003510
00003520
OOC03530
00003540
00003350
00003560
00003570
000035SO
00003590
00003600
00003610
00003620
00003630
00303640
00003650
00003660
00003670
00003680
00003690
00003700
00003710
00003720
00003730
00003740
00003750
00003760
00003770
00003780
OOC03790
00003SOO
00003810
00003820
00003830
00003340
00003350
00003660
OOOC3S70
00003S80
00003890
00003900
00003910
00003920
00003930
OOOC3940
00003950
00003960
00003970
-------
01
EMISSIONS-TOTAL-1.
02 HOLD-EMISSION-1
01
EMISSIONS-TOTAL-2.
02 HOLD-EMISSION-2
01
GRID-TOTAL-1.
02 GRID-EMISS-1
01
6RID-TOTAL-2.
02 GRID-EMISS-2
01
GRAND-TOTAL-1.
02 GRAND-DAY-1
01
GRAND-TOTAL-2.
02 GRAND-DAY-2
01 ERROR-MESSAGES.
02 ERR-MSGS.
03 FILLER
03 FILLER
03 FILLER
03 FILLER
COUP SYNC. 00003980
00003990
00004000
00004010
00004020
00004030
00004040
00004050
00004060
00004070
00004080
00004090
00004100
00004110
00004120
00004130
00004140
00004130
00004160
03004170
00004180
00004190
00004200
00004210
00004220
' 00004230
00004240
00004250
00004260
00004270
00004280
000042SO
00004300
00004310
00004320
00004330
00004340
OC004350
00004360
00004370
00004380
00004390
00004400
00004410
00004420
'001 WARNING - OPTION PAR00004430
'AMETERS NOT NUMERIC1. 00004440
PIC X(112) VALUE OOC04450
'002 ABORT - OPTION PARAHOOCG4460
'ETER NOT NUMERIC OR BLANOOOC4470
11. 00004480
PIC XC112) VALUE 00004490
'003 ERROR - MINOR POINT OOC04500
•OUTSIDE RANGE OF AREA GR00004310
'ID'. 00004520
PIC XC112) VALUE 00004530
'004 CONDITIONAL - STACK 00004540
A-125
OCCURS 12 TIMES
PIC 9(9)V9
COMP SYNC.
OCCURS 12 TIMES
PIC 9(9)V9
COMP SYNC.
OCCURS 12 TIMES
PIC 9(9)V9
COMP SYNC.
OCCURS 12 TIMES
PIC 9(9)V9
COMP SYNC.
OCCURS 12 TIMES
PIC 9(9)V9
COMP SYNC.
OCCURS 12 TIMES
PIC 9C9W9
COMP SYNC.
PIC XI112) VALUE
-------
03 FILLER
03 FILLER
03 FILLER
03 FILLER
03 FILLER
03 FILLER
03 FILLER
03 FILLER
03 FILLER
03 FILLER
03 FILLER
03 FILLER
02 ERR-MSGS-R
03 ERR-HSG
01 ERROR-LINE.
02 FILLER
02 FILLER
1 HEIGHT USED FOR PLUMERI00004553
•SE1. 00004560
PIC XC112) VALUE 00004570
'005 ERROR - EMPTY S03TED00004580
1 GRID FILE1. 00004590
PIC X(112) VALUE 00004600
'006 CONDITIONAL - PLUME 00004610
•HEIGHT USED FOR PLUME RI00004620
'SE1. 00004630
PIC XC112) VALUE 00004640
'007 CONDITIONAL - STACK 00004650
'HEIGHT PARAMETERS HEEDED00004660
1 FOR MAJOR SOURCE DETERMOOC04670
'INATION NOT AVAILABLE'. 00004680
PIC XI112) VALUE OOC04690
'008 CONDITIONAL - RESULT00004700
•ANT GRID DOES NOT FIT EX00004710
'ACTLY1. 00004720
PIC XU12) VALUE 00004730
•009 ABORT - INVALID DATA00004740
1 FOR DAY-SELECTION CONTR00004750
'OL CARD'. OC004760
PIC XU12) VALUE 00004770
'010 ABORT - DATA NOT AVAQ0004780
'ILABLE FOR » OF DAYS SELOOC04790
'ECTED1. 00004300
PIC X(112) VALUE 00004810
'Oil ABORT - DAY/HOUR SEL00004820
'ECTION CARD NOT FOUND'. 00004830
PIC XI112) VALUE OC004840
'012 ERROR - EMPTY SORTED00004850
1 EMISSIONS FILE'. 00004860
PIC X(112) VALUE 00004370
'013 CONDITIONAL - EXPLIC00004880
'IT MAJOR SOURCE
'ON IN EFFECT'.
PIC XU12) VALUE
SELECTICOC04890
C0004900
00004910
'014 CONDITIONAL - OVERFL00004920
'OW IN SUMMARY REPORT VALOCC04930
•UES1. 00004940
PIC X(112) VALUE 00004950
'015 ABORT - SELECTION-BY00004960
'-SPECIFIC-POINT CARDS AR00004970
•E MISSING1. 00004980
PIC X(112) VALUE 00004990
'016 ABORT - SELECTION-BY00005000
'-SPECIFIC-POINT CARDS P000005010
'SSIBLY OUT OF ORDER'
REDEFINES ERR-MSGS
OCCURS 16 TIMES.
PIC XC112).
PIC X(10) VALUE SPACES.
PIC X(10) VALUE
•***PSCONV.
00005020
00005033
00005040
00005050
00005060
00005070
OOOC5030
C0005090
00005100
00005110
A-126
-------
02 ERROR-MSG
01 MAJ-MSG-LINE.
OZ PT-ID
02 SORCE-TYPE
02 FILLER
01 LAST-MESSAGES-TABLE.
02 LAST-MESSAGES.
03 LAST-MSG-1.
04 FILLER
PIC XU12).
PIC X(20).
PIC X(20).
PIC X(80) VALUE SPACES.
PIC X(50) VALUE
00005120
00005130
00005140
00005150
00005160
00005170
00005180
00005190
00005200
00005210
00005220
00005230
00005240
03
03
03
03
03
03
03
'NUMBER OF HOURLY/EMISSI000005250
04 NBR-HRLY-EMIS-RECS
LAST-MSG-2.
04 FILLER
04 NBR-MAJ-POINT-SOURCES
LAST-MSG-3.
04 FILLER
04 NBR-MIN-FOINT-SOURCES
LAST-MSG-4.
04 FILLER
04 NBR-AREA-SOURCES-SKIPPED
LAST-MSG-5.
04 FILLER
04 NBR-OF-PT-PACKS
LAST-MSG-6.
04 FILLER
04 NBR-OF-EMIS-PACKS
LAST-MSG-7.
04 FILLER
04 NBR-OF-GRID-PACKS
LAST-MSG-8.
04 FILLER
'US RECORDS READ:
PIC Z.ZZZ.ZZ9.
PIC XC50) VALUE
00005260
00005270
00005280
00003290
00005300
•NUMBER OF POINT (MAJOR) 00005310
'SOURCES FOUND:
PIC Z,ZZZ,ZZ9.
PIC X(50) VALUE
00005320
00005330
03005340
00005350
00005360
'NUMBER OF GROUND LEVEL (00005370
•MINOR) SOURCES FOUND:
PIC Z,ZZZ,ZZ9.
00005330
00005390
0000540C
00005410
00005420
PIC X(50) VALUE
'NUMBER OF AREA SOURCE REOOOC5430
•CORDS SKIPPED:-. 00005440
PIC Z,ZZZ>ZZ9. 00005450
00005460
PIC X(50) VALUE 00005470
'NUMBER OF POINT SOURCE P00005430
•ACKETS WRITTEN:'. 00005490
PIC Z,ZZZ,ZZ9. 00005500
00005510
PIC X(50) VALUE 00005520
•NUMBER OF EMISSION VALUE00005530
•s PACKETS WRITTEN:'. 00005540
PIC Z,ZZZ,ZZ9. 00005550
00005560
PIC X(50) VALUE 00005570
'NUMBER OF GSID VALUES PA00005580
•CKETS WRITTEN.". 00005590
PIC Z,ZZZ,ZZ9. 00005600
OOOC5610
PIC X(50) VALUE 00005620
•NUMBER OF RECORDS WRITTEC0035630
04 NBR-OF-RECS-WRIT
LAST-MSG-9.
04 FILLER
•N:'.
PIC Z,ZZZ,ZZ9.
PIC X(50) VALUE
•DIAGNOSTIC MESSAGES:
A-127
00005640
00005650
00005660
OOOC5670
00005680
-------
0* NBR-OF-DIAG
03 LAST-MSG-10.
0* FILLER
04 FILLER
04 NBR-OF-ERRORS
03 LAST-MSG-11.
04 FILLER
04 FILLER
04 NBR-OF-COND .
03 UST-MSG-12.
04 FILLER
04 FILLER
04 NBR-OF-ABORTS
03 LAST-MSG-13.
04 FILLER
04 FILLER
04 NBR-OF-DISAST
03 LAST-MSG-14.
04 FILLER
04 FILLER
04 NBR-OF-WARNS
08 LAST-MSG
03 FILLER
03 LAST-MSG-NBR
01 REVISION-MESSAGES.
02 REVISION-MSG1.
03 FILLER
03 PGM-NAME
03 FILLER
02 REVISION-MSG2.
03 FILLER
03 REV-LEVEL
03 FILLER
02 REVISION-MSG3.
03 FILLER
03 LST-UPDATE
03 FILLER
PIC Z.ZZZ.ZZ9.
PIC X(8) VALUE SPACES.
PIC X(42) VALUE
•ERRORS: -.
PIC Z.ZZZ.ZZ9.
PIC X(8) VALUE SPACES.
PIC X(42) VALUE
•CONDITIONALS: •-
PIC ZiZZZ,ZZ9.
PIC X(8) VALUE SPACES.
PIC X(42) VALUE
•ABORTS; •.
PIC Z.ZZZ.ZZ9.
PIC X(8) VALUE SPACES.
PIC X(42) VALUE
•DISASTERS:'.
PIC Z.ZZZ.ZZ9.
PIC X(8) VALUE SPACES.
PIC XC42) VALUE
•WARNINGS: -.
PIC Z,ZZZ>ZZ9.
REDEFINES LAST-MESSAGES
OCCURS 14 TIMES.
PIC X(50).
PIC Z,ZZZ,ZZ9.
PIC X(20) VALUE
1 PROGRAM NAME •' ' .
PIC X(41) VALUE
•PSCONV.
PIC X(77) VALUE SPACES.
PIC X(20) VALUE
•REVISION LEVEL: •.
PIC X(17) VALUE
•1-00'.
PIC XC29) VALUE SPACES.
PIC X(20) VALUE
•LAST UPDATE »:
PIC X(20) VALUE
1 26' .
PIC XUO) VALUE SPACES.
00005690
00005700
00005710
00005720
00005730
OC005740
00005750
00005760
00005770
00005780
00005790
OOOC5800
00005810
00005820
00005330
00005840
00005850
00005S60
00005870
00005880
00005890
00005900
00005910
00005920
00005930
00005940
00005950
00005960
00005970
00005930
00005990
00006000
00006010
00006020
30006030
00006040
00006050
00006C60
C0006070
00006030
00006090
00006100
00006110
00006120
00006130
C0006140
00006150
00006160
00006170
00006180
00006190
00006200
00006210
00006220
00006230
00006240
00006250
A-128
-------
02 REVISION-MSG4.
03 FILLER
03 INCORP-OATE
03 FILLER
OZ
REVISION-MSG5.
03 TYPE-SEL
03 OPT-SEL.
04
04
04
04
04
DATA-C.
05
05
05
05
05
NO- FACT
FILLER
HC-FACT
FILLER
NO-DAYS-SEL
FILLER
FIRST-SEL.
05
05
05
05
05
DAY-SEL-1
FILLER
HR-l-A
FILLER
HR-l-B
FILLER
SECOND-SEL.
05
05
05
05
05
DAY-SEL-2
FILLER
HR-2-A
FILLER
HR-2-B
04 FILLER
02 REVISIOH-MSG6.
03 FILLER
03 FILLER
03 FILLER
03 FILLER
02 REVISION-MSG7.
03 FILLER
03 FILLER
03 FILLER
03 FILLER
03 FILLER
03 FILLER
02 SELECTION-CARD.
03 TYPE-SEL-1
PIC X(20) VALUE
•DATE INCORPORATED: '.
PIC XU7) VALUE
'JANUARY 05, 1980'.
PIC X(12) VALUE SPACES.
PIC X(30).
PIC 9.9(3).
PIC X(4) VALUE SPACES.
PIC 9.9(3).
PIC X(7) VALUE SPACES.
PIC 9(2).
PIC XC7) VALUE SPACES.
PIC 9(2).
PIC X VALUE SPACE.
PIC 9(2).
PIC X VALUE SPACE.
PIC 9(2).
PIC X(3) VALUE SPACES.
PIC 9(2).
PIC X VALUE SPACE.
PIC 9(2).
PIC X VALUE SPACE.
PIC 9(2).
PIC X(53) VALUE SPACES.
PIC X(30) VALUE SPACES.
PIC X(15) VALUE
'SCALING FACTORS'.
PIC X(4) VALUE SPACES.
PIC X(83) VALUE
'* DAYS'.
PIC X(33) VALUE SPACES.
PIC X(9) VALUE
•NO HC'.
PIC X(6) VALUE SPACES.
PIC X(8) VALUE
'SELECTED'.
PIC X(6) VALUE SPACES.
PIC X(15) VALUE
'DAY1 DAY2'.
PIC X(30) VALUE
A-129
00006260
00006270
00006280
00006290
00006300
00006310
00006320
00006330
00006340
00006350
00006360
00006370
00006360
00006390
OC006400
00006410
00006420
00006430
00006440
00006450
00006460
00006470
00006480
00006490
00006500
00006510
00006520
00006530
03006540
00006550
00006560
00006570
00006580
00006590
.00006600
00006610
00006620
00006630
OOC06640
OC006650
00006660
00006670
00006680
00006690
00006700
00006710
00006720
00006730
00006740
00006750
00006760
00006770
000067SO
00006790
00006800
00006810
00006620
-------
03 TYPE-SEL-8
02 CONTROL-CARD-ID.
03 FILLER
03 FILLER
03 FILLER
03 FILLER
03 FILLER
03 FILLER
03 FILLER
03 FILLER
03 FILLER
01 RECORD-COUNTERS-TABLE.
OZ RECORD-COUNTERS.
03 HR-EMIS-IN
03 MAJ-PTS-IN
03 MIN-PTS-IN
03 AREA-SOURCE-COUNT
03 POINTS-OUT
03 EMIS-PACKS
03 GRID-PACKS
03 RECORDS-OUT
03 DIAG-COUNT
03 ERROR-COUNT
03 COND-COUNT
03 ABORT-COUNT
03 DISASTER-COUNT
03 WARNING-COUNT
PIC X(ll) VALUE
1 PLUME HGT '.
PIC X(15) VALUE
' NOX RATE '.
PIC XU4) VALUE
HC RATE'.
PIC X(15) VALUE
1 LLH EAST'.
PIC X(16) VALUE
LLH NORTH '.
PIC X(16) VALUE
URH EAST '.
PIC X(16) VALUE
1 URH NORTH '.
PIC X(14) VALUE
GRID SIDE1.
PIC X(16) VALUE SPACES.
•OPTIONS SELECTED BY USER00006630
•:'. 00006840
PIC X(30) VALUE 00006330
'OPTIONS IN EFFECT:'. 00006860
00006870
00006830
00006890
00006900
000069X0
00006920
00006930
00006940
00006950
00006960
OOOC6970
00006980
00006990
00007000
00007010
00007020
00007030
00007040
00007050
00007060
00007070
00007080
OCC07090
OOC07100
00007110
00007120
00007130
00007140
00007150
00007160
00007170
00007180
00007190
00007200
OOC07210
00007220
00007230
00007240
00007250
00007260
00007270
OC00723C
00007290
00007300
00007310
00007320
00007330
00007340
00007350
00007360
00007370
00007330
00007390
PIC 9(5) COMP SYNC
VALUE 0.
PIC 9(5) COMP SYNC
VALUE 0.
PIC 9(5) COMP SYNC
VALUE 0.
PIC 9(5) COMP SYNC
VALUE 0.
PIC 9(5) COMP SYNC
VALUE 0.
PIC 9(5) COMP SYNC
VALUE 0.
PIC 9(5) COMP SYNC
VALUE 0.
PIC 9(5) COMP SYNC
VALUE 0.
PIC 9(5) COMP SYNC
VALUE 0.
PIC 9(5) COMP SYNC
VALUE 0.
PIC 9(5) CCMP SYNC
VALUE 0.
PIC 9(5) CCMP SYNC
VALUE 0.
PIC 9(5) COMP SYNC
VALUE 0.
PIC 9(5) COMP SYNC
VALUE 0.
A-130
-------
02 REC-CTR-R
03 REC-CTR
01 DATES.
02 WRK-MO
02 WRK-DAY
02 WRK-YR
02 FILLER
01 DIAGHOSTIC-HEAOER.
02 WHICH-FILE
02 FILLER
02 FILLER
02 PAGE-NO-D
01 MAIN-HEADER.
02 FILLER
02 FILLER
02 FILLER
01 INPUT-CONTROL-LINE.
02 IN-PLUME-HGT
02 IN-NOX-RATE
02 IN-HC-RATE
02 IN-LLH-EAST
02 IN-LLH-NORTH
02 IN-URH-EAST
02 IN-URH-NORTH
02 IN-GRID-SIDE
02 FILLER
01 SUMMARY-PRINT-HEADER.
02 FILLER
02 FILLER
REDEFINES RECCRD-COUNTERS00007400
01
02
02
FILLER
PAGE-NO-S
SUMMARY-TITLE-1.
02 FILLER
02 FILLER
02 DAY-NO
02 FILLER
02 HOUR-ONE
OCCURS 14 TIMES.
PIC 9(5) COMP SYNC.
PIC 99.
PIC 99.
PIC 99.
PIC 9(5).
PIC X(53).
PIC X(71) VALUE
00007410
00007420
00007430
OOC07440
00007450
00007460
00007470
00007480
00007490
00007500
00007510
00007520
00007530
C.0007540
•DIAGNOSTIC AND INPUT REP00007550
•ORT'.
PIC X(5) VALUE
PIC ZZ9.
00007560
'PAGE'. 00007570
000075SO
00007590
00007600
00007610
PIC X(37) VALUE SPACES. 00007620
PIC X(58) VALUE 00007630
'MAJOR/MINOR POINT SOURCEOOC07640
1 DIVISION/MODEL CONVESSI00007650
'ON PROGRAM1.
PIC X(37) VALUE SPACES.
PIC Z(9)9.
PIC Z(13)9.
PIC Z(13)9.
PIC Z(13)9.9.
PIC Z(14)9.9.
PIC Z(14)9.9.
PIC Z(10)9.9.
PIC Z(12)9.
PIC X(6) VALUE SPACES.
00007660
00007670
00007630
00007690
OOC07700
00007710
00007720
00007730
00007740
00007750
00007760
OOOC7770
00007780
00007790
00007800
00007610
00007820
PIC X(54) VALUE SPACES. 00007830
PIC X(70) VALUE 00007840
'EMISSIONS SUMMARY REPORT000078EO
00007260
PIC X(5) VALUE 'PAGE'. 00007870
PIC ZZ9. 00007880
C0007890
C0007900
00007910
00007920
OOC07930
00007940
00007950
00007960
PIC X(55) VALUE SPACES.
PIC X(4) VALUE 'DAY '.
PIC 9 VALUE 1.
PIC X(7) VALUE ', HOUR
PIC Z9.
A-131
-------
02 FILLER
02 HOUR-TWO
02 FILLER
01 SUMMARY-TITLE-2.
02 FILLER
02 FILLER
02 FILLER
02 FILLER
02 FILLER
01 SUMMARY-TITLE-3.
02 E-NAME.
03 FILLER
03 FILLER
03 FILLER
03 FILLER
03 FILLER
03 FILLER
03 FILLER
03 FILLER
03 FILLER
03 FILLER
02 E-NAME-R
03 E-NAMES
01 RUN-HEADER.
02 FILLER
02 USER-TITLE
02 FILLER
02 DATE-D.
03 MO-D
03 DAY-D
03 YR-D
01 TOP-HEADER.
02 FILLER
02 FILLER
02 FILLER
PIC X(6) VALUE '-HOUR ' .
PIC Z9.
PIC X(55) VALUE SPACES.
PIC X<8) VALUE SPACES.
PIC XC46) VALUE ALL '*'.
PIC X(24) VALUE
EMISSIONS, KG-MOLE/DAY ' .
PIC X(46) VALUE ALL '*'.
PIC X(8) VALUE SPACES.
PIC X(9) VALUE
1 AEROSOLS'.
PIC X(9) VALUE
SOX '.
PIC X(9) VALUE
CO '.
PIC X(9) VALUE
NO '.
PIC X(9) VALUE
N02 '.
PIC X(9) VALUE
OLE '.
PIC X(9) VALUE
PAH ' .
PIC X(9) VALUE
CARB ' .
PIC X(9) VALUE
ARO ' .
PIC X(9) VALUE
ETH '.
REDEFINES E-NAME.
OCCURS 10 TIMES
PIC X(9).
PIC X(26) VALUE SPACES.
PIC XC80).
PIC X(18) VALUE SPACES.
PIC 99/.
PIC 99/.
PIC 99.
PIC X(49) VALUE SPACES.
PIC X(35) VALUE
00007970
00007930
00007590
00008000
00008010
00003020
00008030
00003040
00008050
00008060
00003070
00008030
00008090
00003100
OCG03110
00008120
OOC03130
00006140
00008150
00008160
00008170
00003180
00003190
00003200
C0008210
00003220
00003230
00008240
00008250
OOOOS260
00006270
00008280
00003290
00003300
00003310
00003320
00008330
OOC08340
00008350
00003360
00008370
OOOOS3SO
00008390
OOOOC400
OCCOS410
00003420
00008430
OOOOC440
00003450
00008460
COOOS470
00003480
OOOOS490
00006300
•AIRSHED MODEL DATA HANDLCOG08510
'ING SYSTEM1. 00006520
PIC X(48) VALUE SPACES. 00003530
A-132
-------
01 ARRAY-SEL-HOLD.
02 ARRAY-SEL
01 SEL-CARD.
02 FILLER
02 FACTORS.
03 SCALE-FACT-NO
03 SCALE-FACT-NO-R
68 NO-R
03 SCALE-FACT-HC
03 SCALE-FACT-HC-R
88 HC-R
03 NO-OF-DAYS-SEL
88 NO-DAYS-1
88 NO-DAYS-2
88 NO-DAYS-3
88 NO-DAYS-4
02 FACTORS-R
02 DAY-1.
03 FIRST-DAY
88 VALID-DAY-1
03 HOUR-1.
0* FIRST-HOUR
0* USf-HR-1
03 HR-1
88 VALID-HR-1
02 DAY-l-R
88 FIRSTT
02 DAY-2.
03 SECOND-DAY
88 VALID-DAY-2
03 HOUR-2.
0* SECOND-HOUR
04 LAST-HR-2
03 HR-2
88 VALID-HR-2
02 DAY-2-R
88 SECOND
02 FILLER
02 FILE-NO-A
OCCURS 96 TIMES
PIC 9(2).
PIC X(10) VALUE SPACES.
PIC 9V9(3) VALUE ZEROES.
REDEFINES SCALE-FACT-NO
PIC X(4).
VALUE '
PIC 9V9(3) VALUE ZEROES.
REDEFINES SCALE-FACT-HC
PIC X(4).
VALUE ' '.
PIC 9(2) VALUE 00.
VALUE 1.
VALUE 2.
VALUE 3.
VALUE 4.
REDEFINES FACTORS
PIC 9(10).
PIC 9(2) VALUE 00.
VALUE 0 THRU 4.
PIC 9(2) VALUE 00.
PIC 9(2) VALUE CO.
REDEFINES HOUR-1
PIC 9(4).
VALUE 0000 THRU 2424.
REDEFINES DAY-1
PIC X(6).
VALUE '000000'.
PIC 9(2) VALUE 00.
VALUE 0 THRU 4.
PIC 9(2) VALUE 00.
PIC 9(2) VALUE 00.
REDEFINES HOUR-2
PIC 9(4).
VALUE 0000 THRU 2424.
REDEFINES DAY-2
PIC X(6).
VALUE '000000'.
PIC X(47).
PIC X(l).
01
EMISS-NAME-TABLE.
02 EMISS-NAME.
03 FILLER
PIC X(10) VALUE
'AEROSOLS'.
A-133
00003540
00008550
00008560
00006570
00008530
00003390
000086CO
00008610
00008630
00003630
00008640
00006650
OOOOS660
00008670
OOCC66SO
00008690
00008700
OOOOS710
00003720
00003730
00008740
OOOC8750
00003760
00008770
00008780
OC003790
00008800
00003810
00006820
00006330
00006640
00008350
00008860
00008870
000033SO
00008890
00008900
00003910
000039ZO
00003930
00008940
00008950
00008960
OOCOS970
00003930
00003990
00009000
00009010
OOOC9020
00009030
00009040
00009050
OCOC9060
00009070
OOC09060
00009090
00009100
-------
03
03
03
03
03
03
03
03
03
03
03
FILLER
FILLER
FILLER
FILLER
FILLER
FILLER
FILLER
FILLER
FILLER
SPARE1
SPARE2
02 EMISS-NAME-R
03 EMISS-NAMES
01 HOUR-TABLE.
02 HOUR-HOLD
01 WORK-MAJ-MIN-DIV-CONTROL
01 WS-MAJ-MIN-DIV-CONTROL
02 WS-M-M-PLUME-HT
02 WS-NOX-EM-RATE
02 WS-HC-EM-RATE
02 WS-L-L-H-EASTING
02 WS-L-L-H-NORTHING
02 WS-U-R-H-EASTING
02 WS-U-R-H-NCRTHING
02 MS-GRID-SIDE
02 FILLER
01 UNSORTED-GRID-FILE.
02 G-V-SEG-0-DATA
02 G-V-BEG-DATE.
03 FILLER
03 GV-BEG-YEAR
03 GV-BEG-DAY
02 G-V-BEG-TIME.
03 FILLER
03 GV-HOUR
03 FILLER
02 GVGRID.
03 GV-COLUMN
03 GV-ROU
02 GVGRID-R
02 G-V-EM-RATE.
PIC X(10) VALUE
•S021.
PIC X(10) VALUE
•CO'.
PIC X(10) VALUE
'NO'.
PIC X(10) VALUE
•N021.
PIC X(10) VALUE
'OLE1.
PIC X(10) VALUE
'PAR1.
PIC XUO) VALUE
•CARS'.
PIC XUO) VALUE
'ARO1.
PIC X(10) VALUE
'ETH'.
PIC X(IO).
PIC X(10).
REDEFINES EMISS-NAME.
OCCURS 12 TIMES
PIC XUO).
OCCURS 96 TIMES
PIC 9(2).
PIC X(80).
REDEFINES WORK-MAJ-MIH-DIV-CONTROL.
PIC 9(10).
PIC 9(10).
PIC 9(10).
PIC 9(9)V9.
PIC 9(9)V9.
PIC 9(9)V9.
PIC 9(9)V9.
PIC 9(5).
PIC X(5).
PIC X(46).
PIC X(5) VALUE SPACES.
PIC 9(2).
PIC 9(3) VALUE 001.
PIC X(6) VALUE SPACES.
PIC 9(2).
PIC X(2) VALUE '00'.
PIC 9(4).
PIC 9(4).
REDEFINES GVGRID
PIC 9(8).
00009110
00009120
00009130
00009140
0000915C
00009160
00009170
00009180
00009190
00009200
00009210
00009220
00009230
00009240
00009250
C0009260
00009270
00009280
OOC09290
00009300
00009310
00009320
00009330
00009340
OOC09350
00009360
00009370
00009380
00009390
00009400
OOC09410
00009420
00009430
00009440
00009450
OOC09460
COC09470
00009480
00009490
03009500
00009510
00009520
00009530
00009540
00009550
00009560
00009570
00009580
00009590
C0009600
00009610
00009620
00009630
OC009640
00009650
00009660
00009670
A-134
-------
03 GV-RATE
01 UNSORTED-EMISSION-FILE.
02 E-V-SEG-0-DATA
02 E-V-TYPE
02 E-V-BEG-DATE.
03 FILLER
03 EV-BEG-YEAR
03 EV-BEG-OAY
02 E-V-BEG-TIME.
03 FILLER
03 EV-HOUR
03 FILLER
02 E-V-EM-RATE.
03 EV-RATE
01 WS-GRID-SELECTOR.
02 MS-GRID-ROM
02 MS-GRID-COLUMN
02 FILLER
01 HS-MAJ-S-P-S-HEADER.
02 HS-PT-S-HEADER
02 FILLER
01 HS-MAJ-SOURCE-LOCATION.
02 MS-PT-S-NAME.
03 HSPTS-COUNTY
03 MSPTS-PLANT
03 HSPTS-POINT
02 HS-PT-S-TYPE
02 HS-PT-S-EASTINS
02 HS-PT-S-NCRTHING
02 FILLER
01 MS-MAJ-SOURCE-DESC.
02 WS-STACK-HEIGHT
02 HS-STACK-DIAMETER
02 WS-STACK-TEMP
02 MS-STACK-VEL
02 FILLER
01 HS-END-OF-PACKET.
02 MS-TERM
02 FILLER
01 MS-TIME-INTER-HDG.
02 MS-T-I-HEADER
PIC 9(9)V9
OCCURS 10 TIMES.
PIC X(48).
PIC X(10).
PIC X(5) VALUE SPACES.
PIC 9(2).
PIC 9(3) VALUE 001.
PIC X(6) VALUE SPACES.
PIC 9(2).
PIC X(2) VALUE '00'.
PIC 9(9)V9
OCCURS 10 TIMES.
PIC X(05).
PIC XC05).
PIC X(70) VALUE SPACES.
PIC X(13) VALUE
'POINT SOURCE'.
PIC X(67) VALUE SPACES.
PIC 9(4).
PIC 9(4).
PIC 9(2).
PIC X(10).
PIC 9(9)V9.
PIC 9(9)V9.
PIC X(40) VALUE SPACES.
PIC 9(10).
PIC 9(10).
PIC 9(10).
PIC 9(10).
PIC X(40) VALUE SPACES.
PIC X(10) VALUE 'END'.
PIC X(70) VALUE SPACES.
PIC X(13) VALUE
A-135
00009630
00009690
00009700
00009710
00009720
00009730
00009740
00009750
00009760
00009770
00009780
00009790
00009600
00009810
00009320
00009830
00009840
00009850
00009860
00009870
00009680
00009390
00009900
00009910
00009920
00009930
00009940
00009950
00009960
00009970
C0009980
00009990
00010000
00010010
00010020
00010030
00010040
00010050
0001C060
00010070
000100SO
00010090
00010100
00010110
00010120
00010130
00010140
00010150
00010160
00010170
00010180
OOC10190
00010200
00010210
00010220
00010230
00010240
-------
02 FILLER
01 WS-TIME-INTER-TIME.
02 KS-T-I-BEG-DATE
02 WS-T-I-BEG-TIME
02 HS-T-I-END-DATE
02 WS-T-I-END-TIME
02 FILLER
01 WS-TIME-INTER-TERM.
02 WS-T-I-TERM
02 FILLER
01
01
01
01
01
01
WS-EM-VAL-HOR.
02 WS-E-V-HEADER
02
02
FILLER
WS-E-V-ID
MS-EM-VAL-PT-S-EMIS.
02 WS-E-V-PT-S-TYPE
02 WS-E-V-PT-S-NAME
02 HS-E-V-PT-S-VALUE
02 FILLER
WS-EM-VAL-PT-S-TERM.
02 WS-E-V-PT-S-TERM
02 FILLER
WS-GRD-VAL-HEADER.
02 WS-G-V-HEADER
02
02
FILLER
WS-6-V-ID
WS-GRD-VAL-VALUE.
02 WS-G-V-SREG-NAME
02 WS-G-V-VAR-NAME
02 WS-G-V-COL-NUM
02 WS-G-V-ROW-NUM
02 WS-G-V-VALUE
02 FILLER
WS-GRD-VAL-TERM.
02 WS-G-V-TERM
02 FILLER
'TIME INTERVAL1.
PIC X(67) VALUE SPACES.
PIC XtlO).
PIC XUO).
PIC X(10).
PIC XUO).
PIC X(40) VALUE SPACES.
PIC XUO) VALUE
1ENDTIME'.
PIC X(70) VALUE SPACES.
PIC XU6) VALUE
'EMISSIONS VALUES'.
PIC XU6) VALUE SPACES.
PIC X(48).
PIC XUO).
PIC XUO).
PIC 9(10).
PIC X(50) VALUE SPACES.
PIC XUO) VALUE 'END1.
PIC XI70) VALUE SPACES.
PIC XU1) VALUE
'GRID VALUES'.
PIC X(31) VALUE SPACES.
PIC X<48).
PIC XUO) VALUE 'POINT1
PIC XUO).
PIC 9UO).
PIC 9(10).
PIC 9(10).
PIC X(30) VALUE SPACES.
PIC XUO) VALUE 'END'.
PIC X(70) VALUE SPACES.
00010250
00010260
00010270
00010230
00010290
00010300
00010310
00010320
00010330
OOOZ.0340
00010350
00010360
OOC10370
0001C330
00010390
00010400
00010410
00010420
00010430
00010440
0001C450
00010460
00010470
00010430
0001C493
00010500
00010510
00010520
00010530
00010540
00010550
00010560
00010570
00010580
00010590
00010600
00010610
00010620
00010630
00010640
00010650
00010660
00010670
00010680
00010690
000107CO
00010710
00010720
00010730
00010740
00010750
00010760
00010770
00010730
00010790
OC010300
00010810
A-136
-------
01 WS-MAJ-PT-CRITERIA.
02 STATE-CODE
02 COUNTY-CODE
02 AQCR-CODE
02 PLANT-CODE
02 POINT-ID
01 WORKTOLD-MOVE.
02 WORK-CRITERIA.
03 AS-CNTY-ID
03 AQCR-NO
03 PLANT-ID
88 PT-SRCE-REC
02 SEG-DATE
02 TYPE-SEG
88 SEG-0-REC
88 SEG-1-REC
88 SEG-2-REC
88 SEG-3-REC
02 FILLER
01 WORK-CNTY-PLANT-ID.
02 WORK-STATE
02 WORK-CNTY
02 WORK-AQCR
02 WORK-PLANT
01 INPUT-DATA.
02 INPUT-DATA-SEG-KEY.
03 I-WORK-STATE
03 I-WORK-CNTY
03 I-WORK-AQCR
03 I-WORK-PLANT
02 INPUT-DATA-SEG-ID
02 FILLER
01 WORK-FIXED-SEGMENT.
02 WORK-SEGMENT-KEY.
03 WORK-STATE
03 WORK-COUNTY
03 KORK-AQCR
03 WORK-PLANT-ID
02 WORK-DATE-OF-SEGMENT.
03 WORK-YEAR
03 WORK-DAY-OF-YEAR
02 WORK-SEGMENT-ID
02 WORK-SUB-SEGMEHT-01.
03 WORK-USER-CONTROL-REGION
03 WORK-LOCAL-CONTROL
03 WORK-USER-PLANT-ID
03 WORK-CITY
03 WORK-UTM-ZONE
PIC 9(2).
PIC 9(4).
PIC 9(3).
PIC 9(4).
PIC 9(3).
PIC 9(6).
PIC 9(3).
PIC 9(4).
VALUE 1 THRU 9998.
PIC 9(5).
PIC 9.
VALUE 0.
VALUE 1.
VALUE Z.
VALUE 3.
PIC X(4).
PIC 9(2).
PIC 9(4).
PIC 9(3).
PIC 9(4).
PIC 99.
PIC 9999.
PIC 999.
PIC 9999.
PIC 99.
PIC X(5) VALUE SPACES.
PIC 99.
PIC 9999.
PIC 999.
PIC 9999.
PIC 99.
PIC 999.
PIC 999.
ON PIC XXX.
PIC XX.
PIC X(12).
PIC XXXX.
PIC XX.
00010820
00010830
00010S40
00010850
00010360
00010870
00010880
00010S90
00010900
00010910
00010920
00010930
00010940
00010950
00010960
00010970
00010980
00010990
00011000
00011010
00011020
OC011030
00011040
00011050
00011060
00011070
000110SO
00011090
00011100
00011110
00011120
00011130
00011140
00011150
00011160
00011170
00011160
00011190
00011200
00011210
00011220
00011230
00011240
00011250
00011260
00011270
00011280
00011290
00011300
00011310
00011320
00011330
00011340
00011350
03011360
00011370
00011330
A-137
-------
03 WORK-OWNER PIC X.
03 WORK-ESTABLISHMENT-R.
05 WORK-CONTACT PIC X(15).
05 WORK-TELEPHONE PIC X(10).
05 WORK-PRINCIPAL-PRODUCT PIC X(10).
02 WORK-SUB-SEGMENT-02.
03 WORK-ESTABLISHMENT PIC X(48).
03 WORK-NUMBER-OF-EMPLOYEES PIC XXXX.
03 WORK-PROPERTY-AREA PIC X(6).
03 WORK-N-PROPERTY-AREA REDEFINES
WORK-PROPERTY-AREA PIC 9(5)V9.
02 WORK-SUB-SEGMENT-03.
03 WORK-MAILING-ADDRESS PIC XC48).
01 WORK-POINT-SOURCE.
02 WRK-PT-SEGMENT-KEY.
03 WRK-PT-STATE PIC 99.
03 WRK-PT-COUNTY PIC 9999.
03 WRK-PT-AQCR PIC 999.
03 WRK-PT-PUNT-ID PIC 9999.
02 WORK-DATE-OF-SEG-1 PIC 9(5).
02 WORK-SEGMENT PIC 9.
02 WORK-SET-ID PIC 99.
02 WORK-SUB-SEGMENT-11.
03 WORK-POINT-ID.
04 WORK-NEDS PIC XX.
04 WORK-USER PIC XXX.
03 WORK-SIC PIC XXXX.
03 WORK-IFP PIC XX.
03 WORK-UTM-COORDINATES.
04 WORK-HORIZONTAL PIC XXXX.
0* WORK-VERTICAL PIC X(5).
03 WORK-H-UTM REDEFINES
WORK-UTM-COORDINATES.
04 WORK-N-HORIZONTAL PIC 999V9.
04 WORK-N-VERTICAL PIC 9999V9.
03 WORK-LATITUDE.
04 WORK-DEGREE PIC XX.
04 WORK-MINUTE PIC XX.
04 WORK-SECOND PIC XX.
03 WORK-LONGITUDE.
04 WORK-DEGREE PIC XXX.
04 WORK-MINUTE PIC XX.
04 WORK-SECOND PIC XX.
03 WORK-ANNUA'L-THRUPUT.
04 WORK-DEC-FEB PIC XX.
04 WORK-MAR-MAY PIC XX.
04 WORK-JUN-AUG PIC XX.
04 WORK-SEP-NOV PIC XX.
03 WORK-NORMAL-OPERATING.
04 WCRK-HOURS-DAY PIC XX.
04 WORK-DAY-WEEK PIC X.
04 WORK-WEEK-YEAR PIC XX.
03 WORK-BOILER-DESIGN-CAPACITY
PIC X(5).
03 WORK-SPACE-HEAT PIC XXX.
A-138
00011390
00011400
00011410
00011420
00011430
00011440
00011450
00011460
00011470
000114SO
00011490
00011500
00011510
00011520
00011530
00011540
OC011350
00011560
00011570
00011530
00011590
00011600
00011610
000116CO
OC011630
&0011640
00011650
00011660
00011670
00011680
00011690
00011700
00011710
00011720
COC11730
00011740
00011750
00011760
00011770
00011730
00011790
00011600
00011810
00011820
00011830
00011840
00011550
00011S60
OOC11S70
00011380
00011390
00011900
00011910
00011920
00011930
00011940
00011950
-------
02
02
03 WORK-N-SPACE-HEAT
WORK-SPACE-HEAT
WORK-SUB-SEGMENT-12 .
REDEFINES
PIC 99V9.
03 WORK-STACK-OATA.
04
04
04
04
04
04
04
04
04
04
04
04
WORK-HEIGHT
WORK-N-HEIGHT
WORK-HEIGHT
WORK-DIAMETER
WORK-K-DIAMETER
WORK-DIAMETER
WORK-TEMPERATURE
WORK-N-TEMP
WORK-TEMPERATURE
WORK- FLOW-RATE
WORK-N-FLOW
WORK-FLOW-RATE
WORK-VELOCITY
WORK-N-VELOCITY
WORK- VELOCITY
WORK-PLUME
WORK-N-PLUME
WORK-PLUME
PIC XXXX.
REDEFINES
PIC 9(4).
PIC XXX.
REDEFINES
PIC 99V9.
PIC XXXX.
REDEFINES
PIC 9(4).
PIC X(7).
REDEFINES
PIC 9(7).
PIC X(5).
REDEFINES
PIC 9(5).
PIC XXXX.
REDEFINES
PIC 9(4).
03
03
03
03
03
03
WORK-POINTS-PER-STACK PIC X(4).
WORK-COMPLIANCE-STATUS PIC X.
WORK-COMPLIANCE-SCHEDULE.
04 WORK-YEAR PIC XX.
04 WORK-MONTH PIC XX.
WORK-COMPLIANCE-STATUS-UPDATE.
04 WORK-YEAR PIC XX.
04 WORK-MONTH PIC XX.
04 WORK-DAY-OF-MCNTH PIC XX.
WORK-ECAP PIC X.
WORK-CONTROL-REGULATIONS.
04
04
04
WORK-REG-1
WORK-REG-2
WORK-REG-3
WORK-NBR-OF-POLLUTANTS
WORK-POLLUTANT-EMISSIONS
PIC XXXX.
PIC XXXX.
PIC XXXX.
PIC 99..
OCCURS 1 TO 16 TIMES
DEPENDING ON WCSK-NBR-OF-POLLUTANTS.
03
03
03
03
03
03
03
03
WORK-POLLUTION-ID
88 HYDRO
88 NITRO
WORK-CNTL-EQUIP-COST
PIC X(5).
VALUE '42403'.
VALUE '43101'.
PIC 9(5)V99.
WORK-CONTROL-EQUIPMENT.
04 WORK-PRIMARY
04 WORK-SECONDARY
WORK-EST-CONTROL-EFF
WORK-EMISSIONS.
04 WORK-ESTIMATES
04 WORK-ACTUAL
04 WORK-ALLOWABLE
WORK-EMISSICN-UNITS
WORK-ESTIMATION-METHOD
U'ORK-TEST-METHOD
01 WORK-POINT-SOURCE-R.
PIC XXX.
PIC XXX.
PIC 99V9.
PIC xm.
PIC X(7).
PIC X(7).
PIC X.
PIC X.
PIC X.
A-139
00011960
00011970
00011900
00011990
00012000
OOC12010
00012020
00012030
000120*0
00012C50
OC01206Q
00012070
00012030
00012090
00012100
00012110
00012120
00012130
00012140
00012150
00012160
00012170
00012180
00012190
00012200
00012210
00012220
00012230
00012240
00012250
00012260
00012270
00012280
00012290
00012300
00012310
00012320
00012333
00012340
00012350
00012360
00012370
00012360
00012390
00012400
00012410
00012420
00012430
00012440
00012450
00012460
00012470
00012480
OC012490
00012500
00012510
00012520
-------
02 FILLER
02 WORK-POLLUTANT-COUNT
02 WORK-EMISSION-DATA
PIC XU30).
PIC 99.
OCCURS 1 TO 16 TIMES
DEPENDING ON WCRK-POLLUTANT-COUNT.
03 WORK-ALL PIC X(21).
03 WRK-EMISS.
0* WRK-ESTIMATES PIC 9(7).
0* WRK-ACTUAL PIC 9(7).
0* WRK-ALLOWABLE PIC 9(7).
03 WRK-REST PIC X(3).
01 WORK-MACHINE-PROCESS.
02 FILLER PIC XU3).
02 WORK-DATE-OF-SEG-2 PIC 9(5).
02 FILLER PIC XXX.
02 WCRK-SEG-2-SET-ID PIC 99.
02 WORK-SUB-SEGMENT-21.
03 WORK-SCC.
0* WORK-I PIC X.
04 WORK-II PIC XX.
04 WORK-III PIC XXX.
04 WORK-IV PIC XX.
03 WORK-EEC.
04 WORK-BEC-NUMBER PIC XXX.
04 WORK-EEC-ID PIC XX.
03 WORK-FUEL-UNITS PIC X.
03 WORK-FUEL-PROCESS PIC X(7).
03 WORK-FUEL-PROCESS-RATE
REDEFINES WORK-FUEL-PRCCESS
PIC 9(7).
03 WORK-ALPHANUM-FIELD.
04 WORK-MAX-DESIGN-RATE PIC X(7).
, 04 WORK-SULFUR-CONTENT PIC XXX.
04 WORK-ASH-CONTENT PIC XXX.
03 WORK-NUMERIC-FIELD REDEFINES
WORK-ALPHANUM-FIELD.
04 WORK-N-MAX-DESIGN-RATE
PIC 9999V999.
04 WORK-N-SULFUR-CONTENT PIC 9V99.
04 WORK-N-ASH-CONTENT PIC 99V9.
03 WORK-HEAT-CONTENT PIC X(5).
02 WCRK-SUB-SEGMENT-22.
03 WORK-CONFIDENTIALITY PIC X.
03 WORK-SOURCE-CODE PIC X.
03 WORK-SOURCE-DESCRIPTION PIC X(25).
03 WORK-EMISSION-FACTOR-SOURCE
PIC X.
02 WORK-NUMBER-OF-EF PIC 99.
02 WORK-EMISSION-FACTOR-INFO OCCURS 1 TO 16 TIMES
DEPENDING ON WORK-NUMBER-OF-EF.
03 WORK-POLLUTANT-IO PIC X(5).
03 WORK-EMISSION-FACTOR PIC 9(6)V999.
03 WORK-ASH-SULFUR-CODE PIC X.
03 WORK-EMISSION-FACTOR-UNITS
PIC X.
01 WORK-MACHINE-PROCESS-R.
00012530
00012540
00012550
00012560
00012570
00012530
00012590
00012600
00012610
00012620
00012630
00012640
00012650
00012660
00012670
00012680
00012690
00012700
00012710
00012720
00012730
OC012740
00012750
00012760
00012770
00012780
00012790
00012800
00012810
00012820
00012830
00012340
00012S50
00012860
00012670
00012830
00012890
00012900
00012910
00012920
00012930
00012940
00012950
00012960
00012970
00012930
00012990
00013000
00013010
00013020
00013030
00013040
00013050
00013060
00013070
00313080
00013090
A-140
-------
02 FILLER PIC X(90).
02 WORK-NBR-OF-POLLUTANT-IDS PIC 99.
02 WORK-EMISSION-FACTOR-DATA OCCURS 1 TO 16 TIMES
DEPENDING ON WORK-NBR-OF-POLLUTANT-IDS.
03 FILLER PIC X(5).
03 WORK-B-EMISSION-FACTOR PIC X(9).
03 FILLER PIC XX.
01 WORK-REGISTRATION.
02 FILLER
02 WORK-DATE-OF-SEG-3
02 WORK-DATE-OF-SEG3-R
WORK-DATE-OF-SEG-3.
03 WORK-SEG-YEAR
03 WORK-SEG-DAY
02 FILLER
02 WORK-SEG-3-SET-ID
02 WORK-SUB-SEGMENT-30.
03 WORK-LINE-NUMBER
03 WORK-COMMENTS.
0* WORK-COMMENT-L
04 WORK-COMMENT-R
03 WORK-COMMENTS-R
04 WORK-NUMERIC
04 FILLER
66 WORK-DAY
66 WORK-HOUR
PIC X(13).
PIC 9(5).
REDEFINES
PIC 99.
PIC 999.
PIC XXX.
PIC 99.
PIC 999.
PIC X(51).
PIC X(51).
REDEFINES WORK-COMMENTS.
PIC 9(8) OCCURS 12 TIMES.
PIC X(6).
RENAMES WORK-SEG-3-SET-ID.
RENAMES WORK-LINE-NUMSER.
01 LAST-CORE-MSG PIC X(25) VALUE 'WORKING STORAGE ENDS HERE
PROCEDURE DIVISION.
ROOT-SEGMENT.
PERFORM PGM-INIT THRU PGM-INIT-END.
IF NOT END-OF-JOB
PERFORM MAIN-LOOP THRU MAIN-LOOP-END
UNTIL END-OF-JOB.
PERFORM WRAP-UP.
ROOT-SEGMENT-END.
EXIT.
MAIN-LOOP.
* CONTROLS THE FLOW OF THE PROGRAM.
PERFORM READ-OPTION-DATA THRU READ-OPTION-DATA-ENO.
IF NOT INVALID-PARM
MOVE FILE-NO-2 TO WHICH-FILE
PERFORM PRINT-DIAG-HEADER THRU PRINT-DIAG-HEADER-END
PERFORM READ-PT-SOURCE THRU READ-PT-SOURCE-END
UNTIL END-OF-FILE OR END-OF-JOB
A-141
00013100
00013110
00013120
00013130
00013140
00013150
00013160
00013170
00013160
00013190
00013200
C0013210
00013220
00013230
00013240
00013250
00013260
00013270
00013280
00013290
00013300
00013310
00013320
00013330
00013340
00013350
00013360
00013370
00013380
00013390
.00013400
00013410
00013420
00013430
00013440
00013450
00013460
00013470
00013480
00013490
00013500
00013510
00013520
00013530
00013540
00013550
00013560
00013570
00013530
00013590
00013600
00013610
00013620
00013630
00013640
OOC13650
00013660
-------
PERFORM OUTPUT-SORT THRU OUTPUT-SORT-EM)
CLOSE EMIS-FILE GRID-FILE
OPEN INPUT EMIS-FILE GRID-FILE
MOVE FALSE TO END-OF-FILE-SW
PERFORM SUMMARY-REPORT-MAJOR THRU
SUMMARY-REPORT-MAJOR-END
UNTIL END-OF-FILE
PERFORM SUMMARY-OUTPUT THRU
SUMMARY-OUTPUT-END
MOVE TRUE TO END-OF-JOB-SW
ELSE
MOVE TRUE TO END-OF-JOB-SW.
MAIN-LOOP-END.
EXIT.
CONTROL-CARDS-IN.
* DAY AND HOUR SELECTION CARD IS READ AND MOVED TO WORKING
* STORAGE. THE PROC TO EDIT THE SELECTION CARD IS CALLED.
READ PT-S-CONTROL AT END MOVE TRUE TO OPTION-DATA-SW.
IF FILE-*
MOVE CONTROL-CARD TO SEL-CARD
PERFORM SEL-CARD-EDIT THRU
SEL-CARD-EDIT-END
ELSE
MOVE TRUE TO END-OF-JOB-SW
MOVE ERR-MSG (BINARY-11) TO ERROR-MSG
MOVE ERROR-LINE TO REPORT-PRINT-DATA
WRITE REPORT-FRINT-LINE
AFTER ADVANCING BINARY-3 LINES
ADD BINARY-3 TO LINE-CNTR
ADD BINARY-1 TO ABORT-COUNT.
CONTROL-CARDS-IN-END.
EXIT.
CONVERSION-ROUTINE.
* CONVERTS THE NECESSARY VALUES TO THE EQUIVALENT METRIC
* UNITS — STACK HEIGHT, PLUME HEIGHT, TEMPERATURE,
* VELOCITY, STACK DIAMETER, FLOW RATE, AND THE UTM
* COORDINATES.
DIVIDE WORK-N-HEIGHT BY FT-N-METER GIVING WORK-M-HEIGHT.
DIVIDE WORK-N-PLUME BY FT-N-METER GIVING WCRK-M-PLUME.
COMPUTE WORK-M-TEMP = CENTIGRADE * (U'ORK-N-TEMP - FARENHGT)
+ 373.
COMPUTE WORK-M-VELOCITY = (WORK-N-VELOCITY / FT-N-METER)
/ SECONDS.
DIVIDE WORK-N-OIAMETER BY FT-N-METER GIVING
KORK-M-DIAMETER.
COMPUTE WORK-M-FLOW = (W03K-N-FLOW / FT-N-METER ** CUBE)
/ SECONDS.
MULTIPLY WORK-NTHORIZONTAL BY 1000.0 GIVING
HCRIZONTAL-N-METERS.
MULTIPLY WORK-N-VERTICAL BY 1000.0 GIVING
VERTICAL-N-METERS.
A-142
00013670
00013680
00012690
00013700
00013710
00013720
00013730
00013740
00013750
00013760
OC013770
00013780
00013790
00013300
00013810
00013820
00013830
00013840
00013350
00013S60
00013870
00013680
00013390
000139CO
00013910
00013920
00013930
00013940
00013950
00013960
00013970
OC0139SO
00013990
00014000
00014010
00014020
00014030
00014040
00014050
OC014060
00014070
00014080
00014090
00014100
00014110
00014120
00014130
00014140
00014150
00014160
00014170
00014180
00014190
00014200
00014210
00014220
00014230
-------
CONVERSION-ROUTINE-END.
EXIT.
CREATE-POINT-PACK.
* ECHOES THE RECORDS FROM THE EIS HOURLY SOURCE EMISSIONS
* FILE THAT HAVE BEEN IDENTIFIED AS MAJOR POINT SOURCES.
* OUTPUTS THE MAJOR SOURCE/POINT SOURCE DATA TO THE POINT
* SOURCE PACKET AND THE PACKET REPORT.
MOVE TRUE TO MAJ-PT-PACK.-SW.
ADD BINARY-1 TO MAJ-PTS-IN.
MOVE MAJ-SRCE-MSG TO SORCE-TYPE.
PERFORM WRITE-INPUT-DATA THRU
WRITE-INPUT-DATA-END.
IF LINE-CNTR IS NOT LESS THAN LINE-MAX
PERFORM PRINT-DIAG-HEADER THRU
PRINT-DIAG-HEADER-END.
PERFORM PACKET-PRINT-PUNCH THRU
PACKET-PRINT-PUNCH-END.
ADD BINARY-1 TO POINTS-OUT.
CREATE-POINT-PACK-END.
EXIT.
ECHO-INPUT-CONTROL.
MOVE WS-M-M-PLUME-HT TO IN-PLUME-HGT.
MOVE WS-NOX-EM-RATE TO IN-NOX-RATE.
MOVE WS-HC-EM-RATE TO IN-HC-RATE.
MOVE WS-L-L-H-EASTING TO IN-LLH-EAST.
MOVE WS-L-L-H-NORTHING TO IN-LLH-NORTH.
MOVE WS-U-R-H-EASTING TO IN-UKH-EAST.
MOVE WS-U-R-H-NORTHING TO IN-URH-KORTH.
MOVE WS-GRID-SIDE TO IN-GRID-SIDE.
MOVE INPUT-CONTROL-LINE TO REPORT-PRINT-DATA.
WRITE REPORT-PRINT-LINE
AFTER ADVANCING BINARY-1 LINES
ADD BINARY-4 TO LINE-CNTR.
ECHO-INPUT-CCNTROL-END.
EXIT.
EIS-READ.
* READS THE EIS-HOURLY SOURCE EMISSIONS FILE UNTIL A POINT
* SOURCE RECORD IS ENCOUNTERED.
READ EIS-HRLY-EMIS AT END
MOVE TRUE TO END-OF-FILE-SW.
IF END-OF-FILE
NEXT SENTENCE
ELSE
MOVE OLD-MOVE TO WORK-OLD-MOVE
IF SEG-0-REC AND PT-SRCE-REC
MOVE TRUE TO FIND-POINT-SW SEG-O-SW
MOVE FALSE TO SEG-l-SW
ELSE
A-143
C0014240
00014250
00014260
00014270
00014260
000142SO
00014330
00014310
00014320
00014330
OOS14340
00014350
00014360
00014370
00014330
00014390
00014400
00014410
00014420
0001443C
00014440
00014450
00014460
00014470
000144SO
00014490
00014500
00014510
00014520
00014530
00014540
00014550
00014560
00014570
00014580
00014590
00014600
00014610
OC014620
00014630
00014640
00014650
00014660
00014670
00014680
00014690
00014700
00014710
00014720
00014730
00014740
00014750
00014760
00014770
00014730
00014790
00014SOO
-------
IF SEG-1-REC
ADD BINARY-1 TO HR-EMIS-IN
IF NOT PT-SRCE-REC
ADD BINARY-1 TO AREA-SOURCE-COUNT
ELSE
HOVE TRUE TO FIND-POINT-SW SEG-l-SW
MOVE FALSE TO SEG-O-SW
ELSE
IF SEG-3-REC AND PT-SRCE-REC
MOVE TRUE TO FIND-POINT-SW SEG-3-SW
MOVE FALSE TO SEG-O-SW SEG-l-SW
ELSE
NEXT SENTENCE.
EIS-READ-END.
EXIT.
EMIS-MATCH.
* SELECTS FROM THE EMISSIONS ARRAY ONLY THE DATA FOR
* THE DAY AND HOUR REQUESTED ON THE CONTROL CARD, CALCULATES
* THE EMISSIONS AND OUTPUTS TO THE PROPER PACKET.
MOVE ARRAY-SEL (XX) TO Y.
MOVE 1 TO Z.
PERFORM EMISSIONS-CALC THRU
EMISSIONS-CALC-END 10 TIMES.
IF MAJOR
PERFORM MAJOR-PT-SRCE THRU
MAJOR-PT-SRCE-END.
IF MINOR
IF INSIDE-AREA
PERFORM MINOR-PT-SRCE THRU
MINOR-PT-SRCE-END
ELSE
IF NOT MINOR-POINT
MOVE TRUE TO MINOR-POINT-SW
MOVE INPUT-DATA TO REPOST-PRINT-DATA
WRITE REPORT-FRINT-LINE AFTER
ADVANCING BINARY-3 LINES
MOVE ERR-MSG (BINARY-3) TO ERROR-MSG
MOVE ERROR-LINE TO REPORT-PRINT-DATA
WRITE REPORT-PRINT-LINE
AFTER ADVANCING BINARY-1 LINES
ADD BINARY-4 TO LINE-CNTR
ADD BINARY-1 TO ERROR-COUNT
ELSE
NEXT SENTENCE
ELSE
NEXT SENTENCE.
ADD BINARY-1 TO XX.
EMIS-MATCH-END.
EXIT.
EMIS-VAL-CARO.
* MOVES EMISSIONS VALUES TO THE PROPER LOCATION IN THE
A-144
00014810
00014320
00014830
00014840
00014850
00014860
00014370
00014S80
00014390
00014900
00014910
00014920
00014930
00014940
00014950
00014960
00014970
00014980
00014990
00015000
00015010
00015020
00015030
00015040
00015050
00015060
00015070
00015030
00015090
00015100
00015110
OOC15120
00015130
00015140
00015150
00015160
00015170
00015180
OC015190
00015200
00015210
00015220
00015230
00015243
00015250
00015260
00015270
00015230
00015290
00015300
00015310
00015320
00015330
00015340
00015350
00015260
00015370
-------
* UNSORTED EMISSIONS FILE.
MOVE EMISSIONS (Y, Z) TO EV-RATE (Z).
ADD BINARY-1 TO Z.
EMIS-VAL-CARD-END.
EXIT.
EMISSIONS-CALC.
* CALCULATES THE EMISSIONS VALUES BY MULTIPLYING THE
* APPROPRIATE NO VALUES BY THE NO SCALING FACTOR AND
» THE APPROPRIATE HC VALUES BY THE HC SCALING FACTOR.
IF Z-NO
MULTIPLY NO-FACT-77 BY EMISSIONS (Y , Z).
IF Z-HC
MULTIPLY HC-FACT-77 BY EMISSIONS (Y , Z).
ADD BINARY-1 TO Z.
EMISSIONS-CALC-END.
EXIT.
EMISSIONS-PACK-DATA.
* OUTPUTS THE TIME INTERVAL EMISSIONS VALUE PACKET.
MOVE E-V-TYPE TO WS-E-V-PT-S-TYPE.
MOVE EMISS-NAMES (ZZ) TO WS-E-V-PT-S-NAME.
MOVE EV-RATE (ZZ) TO WS-E-V-PT-S-VALUE.
MOVE HS-EM-VAL-PT-S-EMIS TO TIME-INTER-EMIS-PACKET
WRITE TIME-INTER-EMIS-PACKET.
ADD I TO ZZ RECORDS-OUT.
EMISSIONS-PACK-DATA-END.
EXIT.
EMISSIONS-VAL-PACK-HDGR.
» OUTPUTS THE PROPER BEGIN TIME AND END TIME FOR THE TIME
* INTERVAL.
MOVE E-V-BEG-DATE TO WS-T-I-BEG-OATE WS-T-I-END-DATE.
MOVE E-V-BEG-TIME TO WS-T-I-END-TIME.
SUBTRACT 1 FROM EV-HOUR.
MOVE E-V-BEG-TIME TO WS-T-I-BEG-TIME.
MOVE WS-TIME-INTER-TIME TO TIME-INTER-EMIS-PACKET.
WRITE TIME-INTER-EMIS-PACKET.
MOVE E-V-SEG-0-DATA TO WS-E-V-ID.
MOVE WS-EM-VAL-HDR TO TIME-INTER-EMIS-PACKET.
WRITE TIME-INTER-EMIS-PACKET.
ADD 1 TO EV-HOUR EMIS-PACKS.
ADD 2 TO RECORDS-OUT.
EMISSIONS-VAL-PACK-HDGR-END.
EXIT.
EMISSIONS-VALUE-PACKET.
* BEGINS A NEW TIME INTERVAL FOR THE TIME INTERVAL EMISSIONS
* VALUE PACKET.
A-145
00015360
00015390
00015400
00015410
00015420
00015430
00015440
00015450
00015460
00015470
00015480
0001E490
00015500
00015510
00015520
OC015530
00015540
00015550
00015560
00015570
OOC155SO
00015590
00015600
00015610
00015620
00015630
00015640
00015650
00015660
00015670
000156CO
00015690
00015700
00015710
OC015720
00015730
00015740
00015750
00015760
00015770
00015780
00015790
00015QOO
00015810
00015320
00015S30
00015840
00015850
00015360
00015370
C0015880
00015690
00015900
00015910
00015920
00015930
00015940
-------
IF HOLO-KEY-HOUR NOT EQUAL TO EV-HOUR
MOVE WS-EM-VAL-PT-S-TERM TO TIME-INTER-EMIS-PACKET
WRITE TIME-INTER-EMIS-PACKET
MOVE WS-TIME-INTER-TERM TO TIME-INTER-EMIS-PACKET
WRITE TIME-INTER-EMIS-PACKET
MOVE WS-TIME-INTER-HDG TO TIME-INTER-EMIS-PACKET
WRITE TIME-INTER-EMIS-PACKET
PERFORM EMISSIONS-VAL-PACK-HDGR THRU
EMISSIONS-VAL-PACK-HDGR-ENO
ADD BINARY-3 TO RECORDS-OUT
MOVE EV-HOUR TO HOLD--KEY-HOUR.
MOVE 1 TO ZZ
PERFORM EMISSIONS-PACK-DATA THRU
EMISSIONS-PACK-DATA-END 10 TIMES.
EMISSIONS-VALUE-PACKET-END.
EXIT.
FILE-ERROR.
* OUTPUTS AN ERROR MESSAGE IF EITHER THE EMISSIONS FILE OR
* THE GRID FILE IS EMPTY.
IF LINE-CNTR IS NOT LESS THAN LINE-MAX
PERFORM PRINT-DIAG-HEADER THRU PRINT-DIAG-HEADER-END.
MOVE ERR-MSG (YY) TO ERROR-MSG
MOVE ERROR-LINE TO REPORT-FRINT-DATA
WRITE REPORT-PRINT-LINE AFTER
ADVANCING BINARY-3 LINES
ADD BINARY-3 TO LINE-CNTR
ADD BINARY-1 TO ERROR-COUNT.
FILE-ERROR-END.
EXIT.
FILL-ARRAY.
* INITIAL VALUE FOR SELECTION ARRAY COMES FROM COMPUTATIONS
* IN SEL-CARD-COMPUTE AND IS INCREASED BY 1 UNTIL FINAL DAY-
* HOUR VALUE IS ACHIEVED.
COMPUTE SUB-YY = SUB-XX + 1.
ADD 1 ARRAY-SEL (SUB-XX) GIVING ARRAY-SEL (SUB-YY).
ADD I TO SUB-XX.
FILL-ARRAY-END.
EXIT.
GENERATE-SQ-AREA-GRID.
* COMPUTES THE GRID AREA OF INTEREST FROM THE USER-SUPPLIED
* UTM COORDINATES AND GRID SIDE LENGTH.
COMPUTE HORIZONTAL-BOUND ROUNDED = (HS-U-R-H-EASTING -
WS-L-L-H-EASTING) / WS-GRID-SIDE.
COMPUTE VERTICAL-BOUND ROUNDED = (WS-U-R-H-NORTHING -
WS-L-L-H-NCRTHING) / WS-GRID-SIDE.
COMPUTE SUB1 = HORIZONTAL-BOUND * WS-GRID-SIDE +
WS-L-L-H-EASTING.
COMPUTE SUB2 = VERTICAL-BOUND * WS-GRID-SIDE +
OCC1S950
00015960
00015970
00015980
00015990
00016000
00016010
00016030
00016030
00016040
00016050
00016060
00016070
00016060
00016090
00016100
00016110
00016120
00016130
00016140
00016150
00016160
00016170
00016180
00016190
00016200
00016210
00016220
00016230
00016240
00016250
00016260
00016270
00016280
00016290
00016300
00016310
00016320
00016330
00016340
00016350
00016360
00016370
00016330
00016390
00016400
00016410
00016420
00016430
00016440
00016450
OJ016460
00016470
000164CO
00016490
00016500
00016510
A-146
-------
WS-L-L-H-NORTHING.
IF LINE-CNTR IS NOT LESS THAN LINE-MAX
PERFORM PRINT-DIAG-HEADER THRU PRINT-DIAG-HEADER-ENO.
IF SUB1 GREATER THAN WS-U-R-H-EASTING OR
SUB2 GREATER THAN WS-U-R-H-NORTHIHG
MOVE ERR-MSG (BINARY-8) TO ERROR-MSG
MOVE ERROR-LINE TO REPORT-PRINT-DATA
WRITE REPORT-PRINT-LINE
AFTER ADVANCING BINARY-1 LINES
ADD BINARY-1 TO COND-COUNT
ELSE
NEXT SENTENCE.
GENERATE-SQ-AREA-GRID-END.
EXIT.
GRID-PACK-DATA.
* OUTPUTS THE TIME INTERVAL GRID VALUE PACKET.
MOVE EMISS-NAMES (ZZZ) TO WS-G-V-VAR-NAME.
IF GV-BEG-DAY = 1
MOVE SUM-BY-GRID-1 (ZZZ) TO WS-G-V-VALUE
MOVE ZEROES TO SUM-BY-GRID-1 (ZZZ).
IF GV-BEG-DAY = 2
MOVE SUM-BY-GRID-2 (ZZZ) TO WS-G-V-VALUE
MOVE ZEROES TO SUM-BY-GRID-2 (ZZZ).
MOVE WS-GRD-VAL-VALUE TO GRID-VALUE-PACKET
WRITE GRID-VALUE-PACKET.
ADD 1 TO ZZZ RECORDS-OUT.
GRID-PACK-DATA-END.
EXIT.
GRID-SUM.
* CREATES THE EMISSIONS VALUES TOTALS BY GRID, FOR THE
* GRID VALUE PACKET, AND BY DAY FOR THE SUMMARY REPORT.
IF GV-BEG-DAY = 1
ADD GV-RATE (ZZ) TO GRID-EMISS-1 (ZZ) SUM-BY-GRID-1 (ZZ)
ON SIZE ERROR PERFORM SIZE-ERROR-MESSAGE THRU
SIZE-ERROR-MESSAGE-END.
IF GV-BEG-DAY = 2
ADD GV-RATE (ZZ) TO GRID-EMISS-2 (ZZ) SUM-BY-GRID-2 (ZZ)
ON SIZE ERROR PERFORM SIZE-ERROR-MESSAGE THRU
SIZE-ERROR-MESSAGE-END.
ADD 1 TO ZZ.
GRID-SUM-END.
EXIT.
GRID-TEST.
* COMPARES THE SEGMENT 1 UTM DATA TO THE USER-SUPPLIED
* UTM DATA TO DECIDE WHETHER THIS RECORD IS OF INTEREST.
MOVE FALSE TO MAJ-SRCE-SW MIN-SRCE-SW SEG-ZERO-DATA-SW.
IF LINE-CNTR IS NOT LESS THAN LINE-MAX
PERFORM PRINT-DIAG-HEADER THRU PRINT-DIAG-HEADER-EHD.
A-147
00016520
00016530
00016S40
C0016550
00016560
00016570
00016580
00016590
OC016600
00016610
00016620
00016630
00016640
00016650
00016660
00016670
00016680
00016690
00016700
00016710
00016720
C0016730
00016740
00016750
00016760
00016770
00016780
00016790
00016800
00016810
00016820
00016830
00016840
OC016850
00016860
00016870
00016S30
00016890
00016900
00016910
OOC16920
00016930
00016940
00016950
00016960
00016970
00016980
00016990
00017000
00017010
00017020
00017030
00017040
00017050
00017060
00017070
00017080
-------
IF HORIZONTAL-N-METERS IS LESS THAN WS-U-R-H-EASTING AND
HORIZONTAL-N-METERS IS GREATER THAN WS-L-L-H-EASTING AND
VERTICAL-N-METERS IS LESS THAN WS-U-R-H-NORTHING AND
VERTICAL-N-METERS IS GREATER THAN WS-L-L-H-NORTHING
MOVE TRUE TO INSIDE-GRID-SW
ELSE
NEXT SENTENCE.
PERFORM PLUME-HGT-CALC THRU
PLUME-HGT-CALC-END
IF MAJ-CRITERIA
PERFORM READ-CNTY-PLANT-DATA THRU
READ-CNTY-PLANT-DATA-END
ELSE
PERFORM POINT-IN-AREA THRU
POINT-IN-AREA-END.
GRID-TEST-END.
EXIT.
GRID-VAL-CARD.
* STORES GRID VALUES IN THE APPROPRIATE POSITION FOR
* THE UNSORTED GRID FILE.
MOVE EMISSIONS (Y, Z) TO GV-RATE (Z).
ADD BINARY-! TO Z.
GRID-VAL-CARD-END.
EXIT.
GRID-VAL-PACK-HDGR.
* WRITES THE BEGINNING AND ENDING DATE/TIME INFORMATION
* FOR THE TIME INTERVAL GRID VALUE PACKET.
MOVE G-V-BEG-DATE TO WS-T-I-BEG-DATE WS-T-I-END-DATE.
MOVE G-V-BEG-TIME TO WS-T-I-END-TIME.
SUBTRACT 1 FROM GV-HOUR.
MOVE G-V-BEG-TIME TO WS-T-I-BEG-TIME.
MOVE HS-TIME-INTER-TIME TO GRID-VALUE-PACKET.
WRITE GRID-VALUE-PACKET.
MOVE G-V-SEG-0-DATA TO WS-G-V-ID.
MOVE WS-GRD-VAL-HEADER TO GRID-VALUE-PACKET.
WRITE GRID-VALUE-PACKET.
ADD 1 TO GV-HOUR GRID-PACKS.
ADD BINARY-2 TO RECORDS-OUT.
GRID-VAL-PACK-HDGR-END.
EXIT.
GRID-VALUE-PACK.
* BEGINS A NEW TIME INTERVAL FOR THE TIME INTERVAL GRID VALUE
* PACKET.
MOVE WS-GRD-VAL-TERM TO GRID-VALUE-PACKET
WRITE GRID-VALUE-PACKET
MOVE WS-TIME-INTER-TERM TO GRID-VALUE-PACKET
WRITE GRID-VALUE-PACKET
MOVE WS-TIME-INTER-HDG TO GRID-VALUE-PACKET
A-148
00017090
00017100
00017110
00017120
00017130
00017140
00017150
00017160
00017170
000171SO
00017190
00017200
00017210
OC017220
00017230
00017240
00017250
00017260
00017270
00017230
OOC17290
00017300
OC017310
00017320
00017330
00017340
00017350
00017360
00017370
00017380
00017390
00017400
00017410
OC017420
00017430
00017440
00017450
00017460
00017470
00017480
C0017490
00017500
00017510
00017520
00017530
00017540
C0017550
00017560
00017570
00017580
00017590
00017600
00017610
00017620
00017630
00017640
00017650
-------
WRITE GRID-VALUE-PACKET
PERFORM GRID-VAL-PACK-HDGR THRU
GRID-VAL-PACK-HDGR-END
ADD BINARY-3 TO RECORDS-OUT
MOVE GV-HOUR TO HOLD-KEY-HOUR
MOVE GVGRID-R TO HOLD-KEY-GRID.
GRID-VALUE-PACK-END.
EXIT.
LOCATE-GRID.
LOCATES THE COLUMN/ROM POSITION IN THE GRID AREA FOR
THIS SEG 1 RECORD OF DATA.
COMPUTE COL = (HORIZONTAL-N-METERS -
WS-L-L-H-EASTING) / WS-GRID-SIDE + 1.
COMPUTE ROM = (VERTICAL-N-METERS -
WS-L-L-H-NORTHING) / WS-GRID-SIDE + 1.
MOVE COL TO GV-COLUMN.
MOVE ROW TO GV-ROW.
LOCATE-GRID-END.
EXIT.
MAJOR-PT-SRCE.
* POINT HAS BEEN CLASSIFIED AS A MAJOR POINT SOURCE
* OUTPUT AS SAME.
IF NOT MAJ-PT-PACK
PERFORM CREATE-POINT-PACK THRU
CREATE-POINT-PACK-END.
PERFORM UNSORTED-EMISSIONS THRU
UNSORTED-EMISSIONS-END.
MAJOR-PT-SRCE-END.
EXIT.
MAJ-MIN-PT-SRCE-TEST.
* COMPARES THE USER-SUPPLIED NO OR HC VALUES TO THE EIS-HOURLY
* SOURCE EMISSIONS FILE NO OR HC VALUE AND DECIDES WHETHER
* POINT IS A MAJOR OR MINOR POINT SOURCE.
MOVE FALSE TO MINOR-POINT-SW MAJ-PT-PACK-SM.
IF NITRO (SUB-X)
IF WRK-ESTIMATES (SUB-X) NOT < WS-NOX-EM-RATE
MOVE TRUE TO MAJ-SRCE-SW
ELSE
MOVE TRUE TO MIN-SRCE-SW
ELSE
IF HYDRO (SUB-X)
IF WRK-ESTIMATES (SUB-X) NOT < WS-HC-EM-RATE
MOVE TRUE TO MAJ-SRCE-SW
ELSE
MOVE TRUE TO MIN-SRCE-SW
ELSE
NEXT SENTENCE.
MAJ-MIN-PT-SRCE-TEST-END.
EXIT.
00017660
00017670
00017660
00017690
00017700
00017710
00017730
00017730
00017740
00017750
00017760
00017770
00017780
00017790
00017800
00017810
00017820
00017630
00017640
00017850
00017860
00017870
00017860
00017890
00017900
00017910
00017930
00017930
00017940
00017950
00017960
00017970
00017930
00017990
00018000
00018010
00018030
00018030
00013040
00018050
00018060
00013070
00018060
00018090
0001S100
00018110
00018120
00018130
00018140
00018150
00018160
00013170
00013180
00018190
00018200
0001S210
00018220
A-149
-------
MINOR-PT-SRCE.
* POINT HAS BEEN CLASSIFIED AS A MINOR POINT SOURCE
* OUTPUT AS SAME.
IF NOT MINOR-POINT
PERFORM LOCATE-GRIO THRU LOCATE-GRID-END
PERFORM PT-PACK-MINOR-LINE THRU
PT-PACK-MINOR-LINE-END.
PERFORM UNSORTED-GRID THRU UNSORTEO-GRID-END.
MINOR-PT-SRCE-END.
EXIT.
MOVE-EMIS-VAL.
* MOVES DATA TO PROPER POSITION FOR OUTPUT TO SUMMARY REPORT.
IF Y = 1
IF MAJOR
MOVE HOLD-EMISSION-1 (XX) TO EM-VAL (XX)
ELSE
IF MINOR
MOVE GRID-EMISS-1 (XX) TO EM-VAL (XX)
ELSE
IF GRAND
MOVE GRAND-DAY-1 (XX) TO EM-VAL (XX)
ELSE
NEXT SENTENCE
ELSE
IF Y = 2
IF MAJOR
MOVE HOLO-EMISSION-2 (XX) TO EM-VAL (XX)
ELSE
IF MINOR
MOVE GRID-EMISS-2 (XX) TO EM-VAL (XX)
ELSE
IF GRAND
MOVE GRAND-DAY-2 (XX) TO EM-VAL (XX)
ELSE
NEXT SENTENCE.
ADD 1 TO XX.
MOVE-EMIS-VAL-END.
EXIT.
MOVE-EMISS-NAMES.
» MOVES EMISSIONS NAMES TO PROPER COLUMN HEADING IN SUMMARY
* REPORT.
MOVE E-NAMES (XX) TO EM-NAME (XX).
ADD 1 TO XX.
MOVE-EMISS-NAMES-END.
EXIT.
00018230
00018240
00018250
00018260
00018270
00018280
00013290
00018300
00018310
00018320
00018330
00018340
00018350
00018360
00018370
00018330
00018390
00016400
00013*10
00013420
00018430
00016440
00018450
00018460
00018470
00018430
00018490
00018500
00018510
00018520
00018530
00018540
00013530
00016560
00018570
00013E80
00018590
OOC18600
0001C610
00013620
00018630
00016640
00018650
00016660
00013670
00013680
00018690
00013700
00018710
OC018720
00018730
00018740
00018750
OC018760
00018770
00018720
00018790
A-150
-------
MOVE-STACK-PARAMETERS.
* MOVES STACK PARAMETER IDENTIIFICATION DATA TO THE
* PROPER WORKING STORAGE LOCATION FOR OUTPUT TO THE
* MAJOR SOURCE/POINT SOURCE PACKET.
MOVE WORK-SET-ID TO WSPTS-POINT
MOVE WRK-PT-COUNTY TO WSPTS-COUMTY
MOVE WRK-PT-PLANT-ID TO WSPTS-PLANT
MOVE HORIZONTAL-N-METERS TO WS-PT-S-EASTING
MOVE VERTICAL-N-METERS TO WS-PT-S-NORTHING
MOVE WORK-M-HEIGHT TO WS-STACK-HEIGHT
MOVE WORK-M-DIAMETER TO WS-STACK-DIAMETER
MOVE WORK-M-TEMP TO WS-STACK-TEMP
MOVE WORK-M-VELOCITY TO WS-STACK-VEL.
MOVE-STACK-PARAMETERS-ENO.
EXIT.
OPTION-MESSAGES.
* OUTPUTS THE SELECTION DATA REQUESTED BY THE USER VS
* THE ACTUAL SELECTION DATA IN EFFECT.
MOVE NO-OF-DAYS-SEL TO NO-DAYS-SEL.
MOVE FIRST-DAY TO DAY-SEL-1
MOVE FIRST-HOUR TO HR-l-A
MOVE LAST-HR-1 TO HR-l-B
MOVE SECOND-DAY TO DAY-SEL-2
MOVE SECOND-HOUR TO HR-2-A
MOVE LAST-HR-2 TO HR-2-B.
MOVE TYPE-SEL-1 TO TYPE-SEL.
MOVE REVISION-MSG6 TO REPORT-PRINT-DATA.
WRITE REPORT-PRINT-LINE
AFTER ADVANCING BINARY-3 LINES.
MOVE REVISION-MSG7 TO REPCRT-PRINT-DATA.
WRITE REFORT-PRINT-LINE
AFTER ADVANCING BINARY-1 LINES.
MOVE REVISION-MSG5 TO REPORT-PRINT-DATA.
WRITE REPORT-PRINT-LINE
AFTER ADVANCING BINARY-1 LINES.
IF NO-R
MOVE BINARY-1 TO NO-FACT-77 NO-FACT.
IF HC-R
MOVE BINARY-1 TO HC-FACT-77 HC-FACT.
IF NO-DAYS-2
MOVE BINARY-1 TO HR-2-A
MOVE BINARY-24 TO HR-l-B.
MOVE TYPE-SEL-2 TO TYPE-SEL.
MOVE REVISIOH-MSG5 TO REPORT-PRINT-DATA.
WRITE REPORT-PRINT-LINE
AFTER ADVANCING BINARY-1 LINES.
ADD BINARY-6 TO LINE-CNTR.
OPTION-MESSAGES-END.
EXIT.
OUTPUT-SORT.
* SORTS THE EMISSIONS FILE AND THE GRID FILE AND BEGINS THE
A-151
00013800
00018610
00016620
00018330
00013840
00013350
00018860
00018370
00018880
00018890
00016900
00018910
00018920
00018930
00018940
00018950
00018960
0001S970
00018980
00018990
00019000
00019010
00019020
00019030
00019040
00019050
00019060
00019070
00019C30
00019090
OC019100
00019110
00019120
00019130
00019140
00019150
00019160
00019170
00019180
00019190
00019200
00019210
00019220
00019230
00019240
00019250
00019260
00019270
00019260
00019290
00019300
OC019310
00019320
C0019330
00019340
00019350
00019360
-------
* EXECUTION OF OUTPUTTING THE PROPER TIME INTERVAL PACKETS
* AND THE SUMMARY REPORT.
CLOSE EMIS-FILE GRID-FILE. .
SORT EMISS-SORT ON ASCENDING KEY ES-DAY ES-HOUR
USING EMIS-FILE GIVING EMIS-FILE.
SORT GRID-SORT ON ASCENDING KEY S-DAY S-HOUR S-GRID
USING GRID-FILE GIVING GRID-FILE.
OPEN INPUT EMIS-FILE GRID-FILE.
READ EMIS-FILE AT END MOVE TRUE TO END-SORTED-EMIS-SH.
IF END-SORTED-EMIS
MOVE BINARY-12 TO YY
PERFORM FILE-ERROR THRU FILE-ERROR-END
ELSE
MOVE EMISS TO UNSORTED-EMISSION-FILE
MOVE WS-TIME-INTER-HDG TO TIME-INTER-EMIS-PACKET
WRITE TIME-INTER-EMIS-PACKET
PERFORM EMISSIONS-VAL-PACK-HDGR THRU
EMISSIONS-VAL-PACK-HDGR-END
MOVE EV-HOUR TO HOLD-KEY-HOUR
PERFORM SORTED-EMISSIONS THRU SORTED-EMISSIONS-EKD
UNTIL END-SORTED-EMIS
MOVE WS-EM-VAL-PT-S-TERM TO TIME-INTER-EMIS-PACKET
WRITE TIME-INTER-EMIS-PACKET
MOVE WS-TIME-INTER-TERM TO TIME-INTER-EMIS-PACKET
WRITE TIME-INTER-EMIS-PACKET
ADD 3 TO RECORDS-OUT.
READ GRID-FILE AT END MOVE TRUE TO END-SORTED-GRID-SW.
IF END-SORTED-GRID
MOVE BINARY-5 TO YY
PERFORM FILE-ERROR THRU FILE-ERRCR-END
ELSE
MOVE GRIDD TO UNSORTED-GRID-FILE
MOVE GV-COLUKN TO WS-G-V-COL-MIM
MOVE GV-ROW TO WS-G-V-ROW-HUM
MOVE WS-TIME-INTER-HDG TO GRID-VALUE-PACKET
WRITE GRID-VALUE-PACKET
PERFORM GRID-VAL-PACK-HDGR THRU
GRID-VAL-PACK-HDGR-END
MOVE GV-HOUR TO HOLD-KEY-HOUR
MOVE GVGRID-R TO HOLD-KEY-GRID
PERFORM SORTED-GRID THRU SCRTED-6RID-EHD
UNTIL END-SORTED-GRID
MOVE WS-G3D-VAL-TERM TO GRID-VALUE-PACKET
WRITE GRID-VALUE-PACKET
MOVE WS-TIME-INTER-TERM TO GRID-VALUE-PACKET
WRITE GRID-VALUE-PACKET
ADD BINARY-3 TO RECORDS-OUT.
OUTPUT-SORT-END.
EXIT.
PACKET-PRINT-PUNCH.
* PUNCHES THE MAJOR SOURCE/POINT SOURCE PACKET.
MOVE WS-MAJ-SOURCE-LOCATION TO FOINT-SOURCE-PACKET
WRITE POINT-SOURCE-PACKET.
MOVE WS-MAJ-SOURCE-DESC TO POINT-SCURCE-PACKET
00019370
00019380
00019393
00019400
00019410
00019420
00019430
C0019440
00019450
00019460
00019470
00019480
00019490
000195CO
00019510
00019520
00019530
00019540
00019550
00019560
00019570
00019SSO
00019590
00019600
00019610
OC019620
00019630
00019640
00019650
0001C660
00019670
00019660
00019690
00019700
00019710
00019720
00019730
00019740
00019750
00019760
00019770
00019780
OC019790
00019800
00019810
00019320
00019830
00019640
00019850
00019860
00019370
00019830
00019890
00019900
00019910
C0019920
00019930
A-152
-------
WRITE POINT-SOURCE-PACKET.
ADD 3 TO RECORDS-OUT.
PACKET-PRINT-PUNCH-END.
EXIT.
PGM-INIT.
ACCEPT DATES FROM DATE-TIME.
OPEN INPUT PT-S-CONTROL
EIS-HRLY-EMIS
OUTPUT TIME-INTER-EM-VAL
GRID-VALUE
SUKMARY-REPOST-FILE
MAJ-SOURCE-P-S
EMIS-FILE
GRID-FILE
REPORT-FILE.
MOVE ZEROES TO MAJ-PTS-IN
MIN-PTS-IN
EMIS-PACKS
HR-EMIS-IN
AREA-SOURCE-COUNT
GRID-PACKS
POINTS-OUT
RECORDS-OUT.
READ PT-S-CONTROL AT END MOVE TRUE TO OPTION-OATA-SW.
MOVE CONTROL-CARD TO USER-TITLE.
MOVE FILE-NO-1 TO KHICH-FILE.
PERFORM UPDATE-MESSAGES THRU UPDATE-MESSAGES-END.
PERFORM CONTROL-CARDS-IN THRU
CONTROL-CARDS-IN-END.
IF NOT END-OF-JOB
PERFORM OPTION-MESSAGES THRU
OPTION-MESSAGES-END
PERFORM SEL-CARD-COMPUTE THRU
SEL-CARD-COMPUTE-END
MOVE WS-MAJ-S-P-S-HEADER TO POINT-SOURCE-PACKET
WRITE POINT-SOURCE-PACKET.
ADD 1 TO RECORDS-OUT.
PGM-INIT-END.
EXIT.
PLUME-HGT-CALC.
* CALCULATES THE PLUME BY CALLING THE FORTRAN SUBROUTINE
* BEH072 IF THE NECESSARY VALUES (STACK HEIGHT, DIAMETER,
* TEMPERATURE, FLOW RATE AND VELOCITY) ARE PRESENT. USES
* THE PLUME STACK FROM THE SEG 1 RECORD IF IT'S PRESENT OR
* USES THE STACK HEIGHT FOR PLUME IF STACK HEIGHT IS
* THE ONLY VALUE PRESENT.
MOVE FALSE TO PLUME-RISE-SM
PLUME-STACK-SW
PLUME-HGT-SW.
IF LINE-CNTR IS NOT LESS THAN LINE-MAX
PERFORM PRINT-DIAG-HEADER THRU PRINT-DIAG-HEADER-END.
00019940
00019950
00019960
00019970
00019930
00019990
00020000
00020010
00020020
00020030
00020040
00020050
00020060
00020070
000200SO
00020090
00020100
00020110
00020120
00020130
00020140
00020150
00020160
00020170
00020180
00020190
00020200
00020210
00020220
00020230
00020240
00020250
00020260
00020270
00020280
00020290
00020300
0002C310
00020320
00020330
00020340
00020350
00020360
00020370
00020330
OC020390
00020400
00020410
00020420
00020430
00020440
00020450
OOC20460
00020470
000204SO
00020490
00020500
A-153
-------
MOVE ZERO TO HP TS VS D VF U DTHDZ P.
IF WORK-DIAMETER NUMERIC AND
WORK-TEMPERATURE NUMERIC AND
WORK-VELOCITY NUMERIC
MOVE WORK-M-TEMP TO TS
MOVE WORK-M-VELOCITY TO VS
MOVE WCRK-M-DIAMETER TO D
MOVE PLUMER TO WS-PT-S-TYPE
CALL FORTRAN 'BEH0721 USING HF HX HMW F DELHF DISTF
DELHX HP TS VS D VF KST U X DTHDZ T P
MOVE TRUE TO PLUME-RISE-SW
ELSE
IF WORK-TEMPERATURE NUMERIC AND
WOSK-FLOW-RATE NUMERIC
MOVE WORK-M-TEMP TO TS
MOVE WORK-M-FLOW TO VF
MOVE PLUMER TO WS-PT-S-TYPE
CALL FORTRAN 'BEH0721 USING HF HX HMW F DELHF DISTF
DELHX HP TS VS D VF KST U X DTHDZ T P
MOVE TRUE TO PLUME-RISE-SW
ELSE
IF WORK-PLUME GREATER THAN ZERO AND
WORK-PLUME NUMERIC
MOVE STACK TO WS-PT-S-TYPE
MOVE TRUE TO PLUME-STACK-SW
ELSE
IF WORK-HEIGHT GREATER THAN ZERO AND
WORK-HEIGHT NUMERIC
MOVE STACK TO WS-PT-S-TYPE
MOVE TRUE TO PLUME-HGT-SW
ELSE
MOVE TRUE TO NOT-ENUF-DATA-SW.
PLUME-HGT-CALC-END.
EXIT.
POINT-IN-AREA.
* POINT IS INSIDE THE AREA GRID, DECIDE IF IT'S
* A MAJOR SOURCE OR A MINOR SOURCE.
PERFORM MAJ-MIN-PT-SRCE-TEST THRU
MAJ-MIN-PT-SRCE-TEST-END VARYING
SUB-X FROM BINARY-1 BY BINARY-! UNTIL
SUB-X GREATER THAN WORK-NSR-OF-POLLUTANTS.
IF MAJOR
PERFORM STACK-CHECK THRU
STACK-CHECK-END.
POINT-IN-AREA-END.
EXIT.
PRINT-DIAG-HEADER.
* PRINTS THE HEADER FOR THE DIAGNOSTIC AND INPUT
* REPORT PAGES.
MOVE TOP-HEADER TO REPORT-PRINT-DATA
WRITE REPORT-PRINT-LINE
A-I54
00020510
00020520
00020530
00020540
00020550
00020560
00020570
00020580
00020S90
00020600
00020613
00020620
00020630
00020640
00020650
00020660
00020670
00020630
00020690
00020700
00020710
00020720
00020730
30020740
30020750
00020760
00020770
00020780
00020790
OC020300
00020810
00020820
00020830
00020840
00020850
00020S60
00020870
00020880
00020390
00020900
00020910
00020920
OOC20930
00020940
00020950
00020960
OOC20970
03020980
00020990
00021000
00021010
00021020
00021030
00021040
00021C50
OC021060
00021070
-------
AFTER ADVANCING PAGE
MOVE MAIN-HEADER TO REPORT-PRINT-DATA
WRITE REPORT-PRINT-LINE
AFTER ADVANCING BINARY-2 LINES
MOVE PAGE-COUNT TO PAGE-NO-D
MOVE WRK-MO TO MO-D
MOVE WRK-DAY TO DAY-D
MOVE WRK-YR TO YR-D
MOVE DIAGNOSTIC-HEADER TO REPORT-PRINT-DATA
WRITE REPORT-PRINT-LINE
AFTER ADVANCING BINARY-2 LINES
MOVE RUN-HEADER TO REPCRT-FRINT-DATA
WRITE REPORT-PRINT-LINE AFTER
ADVANCING BINARY-2 LINES
MOVE BINARY-7 TO LINE-CNTR
MOVE BINARY-6 TO LINE-SKIP
ADO BINARY-1 TO PAGE-COUNT.
PRINT-DIAG-HEAOER-END.
EXIT.
PT-PACK-MINOR-LINE.
* ECHOES THE RECORDS FROM THE EIS HOURLY SOURCE EMISSIONS
* FILE THAT HAVE BEEN IDENTIFIED AS MINOR POINT SOURCES.
MOVE TRUE TO MINOR-POINT-SW.
ADD BINARY-1 TO MIN-PTS-IN
MOVE MIN-SRCE-MSG TO SORCE-TYPE
IF LINE-CNTR IS NOT LESS THAN LINE-MAX
PERFORM PRINT-OIAG-HEADER THRU
PRINT-DIAG-HEADER-END.
PERFORM WRITE-INFUT-DATA THRU
WRITE-INPUT-DATA-END.
PT-PACK-MINOR-LINE-END.
EXIT.
READ-CNTY-PLANT-DATA.
* READS THE COUNTY-PLANT-POINT CODE OF THE SPECIFIC
» POINTS TO SELECT IF THE EXPLICIT MAJOR POINT
* SELECTION IS IN EFFECT.
IF OPTION-DATA
MOVE TRUE TO MIN-SRCE-SW
MOVE FALSE TO MINOR-POINT-SW
ELSE
IF USED-SELECTION
MOVE FALSE TO USED-SELECTICN-SW
READ PT-S-CONTROL AT END MOVE TRUE TO OPTION-DATA-SW
MIN-SRCE-SW
MOVE FALSE TO MAJ-SRCE-SW
MINOR-POINT-SW.
MOVE MAJ-PT-CRITERIA TO WS-MAJ-PT-CRITERIA.
IF NOT OPTION-DATA
IF INPUT-DATA = WS-MAJ-PT-CRITERIA
MOVE TRUE TO MAJ-SRCE-SW USED-SELECTION-SW
MOVE FALSE TO MIN-SRCE-SW MAJ-PT-PACK-SW
A-155
00021030
00021090
00021100
00021110
00021120
00021130
00021140
00021150
00021160
00021170
00021130
00021190
00021200
C0021210
00021220
00021230
00021240
00021250
00021260
00021270
00021280
00021290
00021300
00021310
OOC21320
00021330
00021340
00021350
00021360
00021370
00021360
00021390
00021400
00021410
00021420
00021430
00021440
00021450
00021460
00021470
000214SO
00021490
00021500
00021510
00021520
00021530
00021540
00021550
00021560
00021570
00021580
00021590
00021600
00021610
G0021620
00021630
00021640
-------
ELSE
IF INPUT-DATA > WS-MAJ-PT-CRITERIA
MOVE TRUE TO ENO-OF-JCB-SW
MOVE ERR-MSG (BINARY-16) TO E3ROR-MSG
MOVE ERROR-LINE TO REPORT-PRINT-DATA
WRITE REPORT-PRINT-LINE AFTER
ADVANCING BINARY-1 LINE
ADD BINARY-1 TO ABORT-COUNT LINE-CNTR
ELSE
IF INPUT-DATA < WS-MAJ-PT-CRITERIA
MOVE FALSE TO USED-SELECTION-SW MAJ-SRCE-SW
MINOR-POINT-SM
MOVE TRUE TO MIN-SRCE-SW
ELSE
NEXT SENTENCE
ELSE
NEXT SENTENCE.
READ-CNTY-PLANT-DATA-END.
EXIT.
READ-OPTION-DATA.
* READS THE CONTROL AND SELECTION FILE FOR THE USER-
* SUPPLIED INPUT OPTION DATA AND THE SELECTION
* CONTROL DATA.
MOVE CONTROL-CARD-ID TO REFCRT-FRINT-DATA.
WRITE REPORT-PRINT-LINE AFTER ADVANCING
BINARY-3 LINES.
READ PT-S-CCNTROL AT END MOVE TRUE TO OPTION-DATA-SW.
MOVE MAJ-MIN-DIV-CONTROL TO WORK-MAJ-MIN-DIV-CONTROL.
PERFORM ECHO-INPUT-CONTROL THRU
ECHO-INPUT-CONTROL-END.
IF WS-L-L-H-NORTHING = SPACES
MOVE TRUE TO PARM-DIAG-MSG-SW
MOVE ZERO TO WS-L-L-H-NORTHINS.
IF WS-U-R-H-NORTHING = SPACES
MOVE TRUE TO PARM-DIAG-MSG-SW
MOVE ZERO TO WS-U-R-H-NORTHING.
IF WS-L-L-H-EASTING = SPACES
MOVE TRUE TO PARM-DIAG-MSG-SW
MOVE ZERO TO WS-L-L-H-EASTING.
IF WS-U-R-H-EASTING = SPACES
MOVE TRUE TO PARM-DIAG-MSG-SW
MOVE ZERO TO WS-U-R-H-EASTING.
IF WS-GRID-SIDE = SPACES
MOVE TRUE TO PARM-DIAG-MSG-SW
MOVE ZERO TO WS-GRID-SIDE.
IF WS-M-M-PLUME-HT = SPACES AND
WS-NOX-EM-RATE = SPACES AND
WS-HC-EM-RATE = SPACES
MOVE ERR-MSG (BINARY-13) TO ERROR-MSG
MOVE ERROR-LINE TO REPORT-FRINT-DATA
WRITE REPORT-PRINT-LINE AFTER ADVANCING BINARY-1 LINE
ADD BINARY-1 TO COND-COUNT LINE-CNTR
MOVE ZERO TO WS-M-M-PLUME-HT
WS-NOX-EM-RATE
A-156
OOC21650
00021660
00021670
00021660
00021690
00021700
00021710
00021720
00021730
00021740
00021730
00*021760
00021770
00021730
00021790
00021600
00021310
00021S20
00021830
00021840
00021850
00021860
00021370
00021880
00021890
00021SOO
00021910
00021920
00021930
00021940
00021950
00021960
00021970
00021980
00021990
00022000
00022010
00022020
00022033
00022040
00022050
00022C60
OC022070
00022080
00022090
00022100
00022110
090221EO
00022130
00023140
00022150
00022160
00022170
00022180
00022190
00022200
00022210
-------
WS-.HC-EM-RATE
MOVE TRUE TO MAJ-CRITERIA-SW.
IF MAJ-CRITERIA
READ PT-S-CONTROL AT END MOVE TRUE TO OPTION-DATA-SW.
IF OPTION-DATA
MOVE TRUE TO INVALID-PARM-SW
MOVE ERR-MSB (BINARY-15) TO ERROR-MSG
MOVE ERROR-LINE TO REPCRT-PRINT-DATA
WRITE REPORT-PRINT-LINE AFTER ADVANCING BINARY-1 LINE
ADD BINARY-1 TO ABORT-COUNT LINE-CNTR
ELSE
PERFORM VALID-PARM-TEST THRU
VALID-PARM-TEST-END.
READ-OPTION-DATA-END.
EXIT.
READ-PT-SOURCE.
* STORES INTO THE PROPER LOCATIONS THE NECESSARY DATA
* FROM THE VARIOUS RECORDS OF THE EIS HOURLY SOURCE
* EMISSIONS FILE.
IF NOT BYPASS
PERFORM EIS-READ THRU
EIS-READ-ENO UNTIL
POINT-FOUND OR END-OF-FILE
ELSE
MOVE FALSE TO BYPASS-SW.
IF END-OF-FILE AND SEG-3
MOVE BINARY-1 TO XX
PERFORM EMIS-MATCH THRU EMIS-MATCH-END
SUB-XX TIMES
MOVE FALSE TO SEG-O-SW SEG-l-SW SEG-2-SW SEG-3-SW.
IF SEG-0 AND NOT SEG-3
MOVE FALSE TO FIND-POINT-SW SEG-O-SW
MOVE OLD-MASTO TO MORK-FIXED-SEGMENT
MOVE WORK-ESTABLISHMENT-R TO G-V-SEG-0-DATA
E-V-SEG-0-DATA.
IF SEG-3 AND NOT (SEG-0 OR SEG-1)
MOVE FALSE TO FIND-POINT-SW
MOVE OLD-MAST3 TO WORK-REGISTRATION
PERFORM SEG-3-RECORD THRU SEG-3-RECCRD-END
ELSE
IF SEG-0 AND SEG-3
MOVE FALSE TO SEG-3-SW FIND-POINT-SW
MOVE BINARY-1 TO XX
PERFORM EMIS-MATCH THRU EMIS-MATCH-END
SUB-XX TIMES
MOVE TRUE TO BYPASS-SW
ELSE
IF SEG-1 AND SEG-3
MOVE FALSE TO SEG-3-SW FIND-FOINT-SW SEG-l-SW
MOVE BIHARY-1 TO XX
PERFORM EMIS-MATCH THRU EMIS-MATCH-END
SUB-XX TIMES
PERFORM SEG-1-RECORD THRU SEG-1-RECORD-END.
IF BYPASS
00022220
00022230
00022240
00022250
00022260
00022270
00022280
OG022290
00022300
00022310
00022320
00022330
00022340
00022350
00022360
00022370
00022330
00022390
00022400
00022410
00022420
00022430
00022440
C0022450
00022460
00022470
OC022480
00022490
00022500
00022510
00022520
00022530
00022540
00022550
00022560
00022570
00022530
00022590
00022600
00022610
00022620
00022630
00022640
00022650
00022660
00022670
00022680
00022690
00022700
00022710
00022720
00022730
00022740
00022750
00022760
00022770
C00227SO
A-157
-------
NEXT SENTENCE
ELSE
IF SEG-1 AND NOT SEG-3
MOVE FALSE TO SEG-l-SW FIND-POINT-SW
PERFORM SEG-1-RECORD THRU SEG-1-RECCRD-END.
READ-PT-SOURCE-END.
EXIT.
SEG-I-RECORD.
* RETRIEVES THE NECESSARY DATA FROM THE SEG-1 RECORD
* AND STORES INTO THE PROPER LOCATIONS FOR FUTURE USE.
MOVE OLD-MAST1 TO WORK-POINT-SOURCE
MOVE WORK-SET-ID TO INPUT-DATA-SEG-ID
MOVE WRK-PT-SEGMENT-KEY TO INFUT-DATA-SEG-KEY
PERFORM CONVERSION-ROUTINE THRU
CONVERSION-ROUTINE-END
PERFORM MOVE-STACK-PARAMETERS THRU
MOVE-STACK-PARAMETERS-END
MOVE FALSE TO INSIOE-GRID-SW
PERFORM GRID-TEST THRU GRID-TEST-END.
SEG-1-RECORD-END.
EXIT.
SEG-3-MOVE.
* STORES THE EMISSIONS VALUES OF THE SEG 3 RECORDS INTO
* THE PROPER TIME LOCATION, DETERMINED BY SEG-3-RECORD
* IN THE EMISSIONS ARRAY.
MOVE WORK-NUMERIC (XXX) TO
EMISSIONS (WORK-HOUR, XXX)
ADD 1 TO XXX.
SEG-3-MOVE-END.
EXIT.
SEG-3-RECORD.
* CONVERTS DAY AND HOUR ON THE SEG 3 RECORD TO VALUES
* OF 1-96 AND USES THIS VALUE TO DETERMINE THE LOCATION
* OF EMISSIONS VALUES IN THE EMISSIONS ARRAY.
MOVE WORK-HOUR TO HOLD-WORK-HCUR
MOVE TRUE TO SEG-3-SW
SUBTRACT 1 FROM WORK-DAY GIVING WORK-DAY
MULTIPLY WORK-DAY BY 24 GIVING HOLD-WORK-DAY
ADD HOLD-WORK-DAY TO WORK-HOUR
MOVE HOLD-WORK-HOUR TO HOUR-HOLD (WORK-HOUR)
MOVE 1 TO XXX
PERFORM SEG-3-MOVE THRU
SEG-3-MOVE-END 10 TIMES.
SEG-3-RECORD-END.
EXIT.
00022790
00022300
00022810
00022620
00022330
00022S40
00022830
00022360
00022870
000228SO
00022890
00022900
00022910
00022920
OC022930
00022940
00022950
00022960
00022970
00022930
00022990
00023000
00023010
00023020
00023030
00023040
OOC23050
00023060
00023070
00023060
C0023090
00023100
00023110
00023120
00023130
000231
-------
SEL-CARD-COMPUTE.
* CONVERTS THE DAY-HOUR SELECTION DATA TO A VALUE OF 1-48
» THIS VALUE IS THE FIRST VALUE SUPPLIED TO SELECTION ARRAY
* WHICH IS USED TO SELECT DATA DESIRED FROM THE EIS HOURLY
* SOURCE EMISSIONS FILE.
* THE ARRAY IS COMPLETED IN FILL-ARRAY PROC.
SUBTRACT 1 FROM DAY-SEL-1
MULTIPLY DAY-SEL-1 BY 24 GIVING DAY-SEL-1
ADD DAY-SEL-1 HR-l-A GIVING ARRAY-SEL (SUB-XX)
SUBTRACT HR-l-A FROM H3-1-B GIVING HR-l-BB
PERFORM FILL-ARRAY THRU
FILL-ARRAY-END HR-l-BB TIMES
ADD 1 TO HR-l-BB.
IF DAY-SEL-2 IS NOT EQUAL TO 0
ADD 1 TO SUB-XX
SUBTRACT 1 FROM DAY-SEL-2
MULTIPLY DAY-SEL-2 BY 24 GIVING DAY-SEL-2
ADD DAY-SEL-2 HR-2-A GIVING ARRAY-SEL (SUB-XX)
SUBTRACT HR-2-A FROM HR-2-B GIVING HR-2-BB
PERFORM FILL-ARRAY THRU
FILL-ARRAY-END HS-2-BB TIMES
ADD 1 TO HR-2-BB.
SEL-CARD-COMPUTE-END.
EXIT.
SEL-CARD-EDIT.
.» EDITS SELECTION CONTROL CARD FOR CORRECT AMOUNT OF DATA
* REQUESTED, VALID RANGES OF DAY AND HOUR VALUES.
MOVE SCALE-FACT-NO TO NO-FACT NO-FACT-77.
MOVE SCALE-FACT-HC TO HC-FACT HC-FACT-77.
IF DAY-l-R = SPACES
MOVE ZEROES TO OAY-1.
IF DAY-2-R = SPACES
MOVE ZEROES TO DAY-2.
IF VALID-DAY-1 AND VALID-HR-1 AND
VALID-DAY-2 AND VALID-HR-2
NEXT SENTENCE
ELSE
MOVE TRUE TO END-OF-JOB-SW
MOVE ERR-MSG (BINARY-10) TO ERROR-MSG
MOVE SEL-CARD TO. REPORT-PRINT-DATA
WRITE REPORT-PRINT-LINE
AFTER ADVANCING BINARY-3 LINES
MOVE ERROR-LINE TO REPORT-PRINT-DATA
WRITE REPORT-PRINT-LINE
AFTER ADVANCING BINARY-1 LINES
ADD BINARY-* TO LINE-CNTR
ADD BINARY-1 TO ABORT-COUNT
IF LINE-CNTR NOT LESS THAN LINE-MAX
PERFORM PRINT-DIAG-HEADER THRU
PRINT-DIAG-HEADER-END
ELSE
NEXT SENTENCE.
IF NOT FIRSTT ADD BINARY-1 TO SEL-OAY-SW.
00023360
00023370
00023380
00023390
00023400
00023410
00023420
00023430
00023440
00023450
00023460
00023470
00023460
00023490
00023500
00023510
00023520
00023530
00023540
00023550
00023560
00023570
00023580
00023590
00023600
00023610
00023620
00023630
00023640
00023650
00023660
00023670
00023680
00023690
00023700
00023710
00023720
00023730
00023740
00023750
0002376C
00023770
00023780
00023790
00023300
00023310
00023820
00023830
00023840
00023850
00023860
00023870
000238GO
00023890
00023900
00023910
00023920
A-159
-------
IF NOT SECOND ADD BINARY-1 TO SEL-DAY-SW.
IF (NO-DAYS-1 AND ONE) OR
(NO-DAYS-2 AND TWO)
NEXT SENTENCE
ELSE
MOVE ERR-MSG (BINARY-9) TO ERROR-MSG
MOVE ERROR-LINE TO REFORT-PRINT-DATA
WRITE REPORT-PRINT-LINE
AFTER ADVANCING BINARY-1 LINES
ADD BINARY-1 TO LINE-CNTR ABORT-COUNT
MOVE TRUE TO END-OF-J03-SW
IF LINE-CNTR NOT LESS THAN LINE-MAX
PERFORM PRINT-DIAG-HEADER THRU
PRINT-DIAG-HEADER-END
ELSE
NEXT SENTENCE.
SEL-CARD-EDIT-END.
EXIT.
SIZE-ERROR-MESSAGE.
* WRITES A CONDITIONAL MESSAGE THAT THERE WAS A SIZE ERROR
* IN THE SUMMARIZING OF THE DATA FOR THE SUMMARY REPORT.
IF LINE-CNTR IS NOT LESS THAN LINE-MAX
PERFORM PRINT-DIAG-HEADER THRU PRINT-DIAG-HEADER-END.
MOVE ERR-MSG (BINARY-14) TO ERROR-MSG
MOVE ERROR-LINE TO REPORT-FRINT-DATA
WRITE REPORT-PRINT-LINE AFTER ADVANCING BINARY-2 LINES
ADD 3INARY-2 TO LINE-CNTR
ADD BINARY-1 TO COHD-COUNT.
SIZE-ERROR-MESSAGE-END.
EXIT.
SORTED-EMISSIONS.
* EMISSIONS VALUES RECORDS HAVE BEEN SORTED.
* OUTPUT EMISSIONS VALUE PACKETS.
PERFORM EMISSIONS-VALUE-PACKET THRU
EMISSIONS-VALUE-PACKET-END
READ EMIS-FILE AT END MOVE TRUE TO END-SORTED-EMIS-SW.
IF NOT END-SORTED-EMIS
MOVE EMISS TO UNSORTED-EMISSION-FILE.
SORTED-EMISSIONS-END.
EXIT.
SORTED-GRID.
* GRID VALUES RECORDS HAVE BEEN SORTED.
* SUM VALUES BY GRID AND OUTPUT TO GRID VALUES
* PACKETS.
IF GVGRID-R NOT EQUAL HOLO-KEY-GRID AND
GV-HOUR EQUAL HOLD-KEY-HOUR
MOVE 1 TO ZZZ
PERFORM GRID-PACK-DATA THRU GRID-PACK-DATA-END
10 TIMES
00023930
00023940
00023950
00023960
00023970
000239SO
00023990
0032*000
00024010
00024020
00024030
00024040
00024050
00024C60
00024070
00024060
00024090
000241CO
00024110
00024120
00024130
00024140
00024150
00024160
00024170
00024180
00024190
00024200
00024210
00024220
00024230
03024240
00024250
00024260
00024270
OC024230
00024290
00024300
00024310
00024320
00024330
00024340
00024353
00024360
00024370
00024380
00024390
00024400
00024410
00024420
00024430
00024440
00024450
00024463
03024470
00024480
00024490
A- 160
-------
MOVE GV-COLUMN TO WS-G-V-COL-KUM
MOVE GV-ROW TO WS-G-V-P.OW-NUM.
IF GV-HOUR NOT EQUAL HOLD-KEY-HCUR
MOVE 1 TO ZZZ
PERFORM GRID-PACK-DATA THRU GRID-PACK-DATA-END
10 TIMES
MOVE GV-COLUMN TO WS-G-V-COL-NUM
MOVE GV-ROW TO WS-G-V-ROW-NUM
PERFORM GRID-VALUE-PACK THRU GRID-VALUE-PACK-END.
MOVE GVGRID-R TO HOLD-KEY-GRID.
MOVE 1 TO ZZ.
PERFORM GRID-SUM THRU GRID-SUM-END 10 TIMES.
READ GRID-FILE AT END MOVE TRUE TO END-SORTED-GRID-SW
MOVE 1 TO ZZZ
PERFORM GRID-PACK-DATA THRU GRID-PACK-OATA-END
10 TIMES.
IF NOT END-SORTED-GRID
MOVE GRIDD TO UNSORTED-GRID-FILE.
SORTED-GRID-ENO.
EXIT.
STACK-CHECK.
* DECIDE ON POINT SOURCE TYPE ~ PLUKERISE OR STACKHGT
* IF POINT HAS BEEN CLASSIFIED AS A MAJOR SOURCE
* BY ITS EMISSIONS VALUE THE STACK HEIGHT ALSO
* HAS TO MEET THE REQUIREMENT TO COMPLETE THE TEST.
IF PLUME-RISE
IF HF LESS THAN WS-M-M-PLUME-HT
MOVE TRUE TO MIN-SRCE-SW
MOVE FALSE TO MAJ-SRCE-SW.
IF PLUME-STACK
IF WORK-M-PLUME LESS THAN WS-M-M-PLUME-HT
MOVE TRUE TO MIN-SRCE-SW
MOVE FALSE TO MAJ-SRCE-SW.
IF PLUME-HGT
IF WORK-M-HEIGHT LESS THAN WS-M-M-PLUME-HT
MOVE TRUE TO MIN-SRCE-SW
MOVE FALSE TO MAJ-SRCE-SW.
IF NOT-ENUF-DATA
MOVE TRUE TO MIN-SRCE-SW
MOVE FALSE TO MAJ-SRCE-SW.
STACK-CHECK-END.
EXIT.
SUMMARY-DATA-ADD.
* CALCULATES THE GRAND TOTAL FOR EACH DAY FOR THE
* SUMMARY REPORT.
DIVIDE 1000 INTO HOLD-EMISSICN-1 (Y).
DIVIDE 1000 INTO GRID-EMISS-I (Y).
ADD HOLD-EMISSION-1 (Y) GRID-EMISS-1 (Y)
GIVING GRAND-DAY-1 (Y) ON SIZE ERROR PERFORM
A-161
00024500
00024510
00024520
00024530
00024540
00024550
00024560
00024570
00024580
00024590
00024600
00024610
00024620
00024630
00024640
00024650
00024660
00024670
000246GO
00024690
00024700
00024710
00024720
00024730
00024740
00024750
00024760
00024770
00024780
OOC24790
00024SOO
00024310
00024320
00024330
00024840
00024850
00024860
00024370
00024830
00024890
00024900
00024910
00024920
00024930
00024940
00024950
00024960
00024970
000249SO
00024990
00025000
00025010
00025020
00025030
00025340
00025050
00025060
-------
SIZE-ERROR-MESSAGE THRU SIZE-ERROR-MESSAGE-END.
DIVIDE 1000 INTO HOLD-EMISSION-2 (Y).
DIVIDE 1000 INTO GRID-EMISS-2 (Y).
ADD HOLD-EMISSION-2 (Y) GRID-EMISS-2 (Y)
GIVING GRAND-DAY-2 (Y) ON SIZE ERROR PERFORM
SIZE-ERROR-MESSAGE THRU SIZE-ERROR-MESSAGE-END.
ADD 1 TO Y.
SUMMARY-DATA-ADD-END.
EXIT.
SUMMARY-HEADER.
* PRINTS THE HEADER FOR THE SUMMARY REPORT PAGES.
MOVE TOP-HEADER TO SUMMARY-PRINT-DATA
WRITE SUMMARY-PRINT-LINE
AFTER ADVANCING PAGE
MOVE MAIN-HEADER TO SUMMARY-PRINT-DATA
WRITE SUMMARY-PRINT-LINE
AFTER ADVANCING BINARY-2 LINES
MOVE PAGE-COUNT-S TO PAGE-NO-S
MOVE SUHMARY-PRINT-HEADER TO SUMMARY-PRINT-DATA
WRITE SUMMARY-PRINT-LINE
AFTER ADVANCING BINARY-2 LINES
MOVE RUN-HEADER TO SUMMARY-PRINT-DATA
WRITE SUMMARY-PRINT-LINE AFTER ADVANCING BINARY-2 LINES
MOVE SPACES TO SUMMARY-PRINT-DATA
MOVE SUM-TITLE TO HDGR
WRITE SUMMARY-PRINT-LINE AFTER
ADVANCING BINARY-2 LINES
MOVE BINARY-9 TO LINE-CNTR-S
ADD BINARY-1 TO PAGE-COUNT-S.
SUMMARY-HEADER-END.
EXIT.
SUMMARY-LAYOUT.
« SETS THE DAY AND HOUR VALUES FOR THE DAY/HOUR LINE IN
* THE SUMMARY REPORT.
IF Y = 1
MOVE HR-l-A TO HOUR-ONE
MOVE HR-l-B TO HOUR-TWO
ELSE
MOVE Z TO DAY-NO
MOVE HR-2-A TO HOUR-ONE
MOVE HR-2-B TO HOUR-TWO.
PERFORM SUMMARY-PAGE THRU SUMMARY-PAGE-END.
ADD 1 TO Y.
SUMMARY-LAYOUT-END.
EXIT.
SUMMARY-MAJOR.
* ADDS, BY DAY, THE MAJOR POINT SOURCES EMISSIONS VALUES
* FOR OUTPUT TO THE SUMMARY REPORT.
A-162
C002E070
00025030
00025090
00025100
00025110
00025120
00025130
00025140
00025150
00025160
00025170
00025180
00025190
00025200
00025210
00025220
00025230
00025240
00025250
00025260
00025270
00025230
00025290
00025300
00025310
00025320
00025330
00025340
00025350
00025360
00025370
00025380
00025390
00025400
00025410
00025420
00025430
00025440
00025450
00025460
00025470
00025460
00025490
00025500
00025510
00025520
00025530
00025540
00025550
00025560
00025570
00025580
00025590
00025600
00025610
00025620
00025630
-------
IF EV-BEG-DAY = 1
ADD EV-RATE (Z) TO HOLD-EMISSION-1 (Z)
ON SIZE ERROR PERFORM SIZE-ERROR-MESSAGE THRU
SIZE-ERROR-MESSASE-END.
IF EV-BEG-DAY = 2
ADD EV-RATE (Z) TO HOLD-EMISSION-2 (Z)
ON SIZE ERROR PERFORM SIZE-ERROR-MESSAGE THRU
SIZE-ERROR-MESSAGE-END.
ADD 1 TO Z.
SUMMARY-MAJOR-END.
EXIT.
SUMMARY-OUTPUT.
* EXECUTES THE OUTPUT TO THE SUMMARY REPORT PAGE.
MOVE 1 TO Y.
PERFORM SUMMARY-DATA-ADD THRU SUMMARY-DATA-ADO-END
10 TIMES.
PERFORM SUMMARY-HEADER THRU SUMMARY-HEADER-END.
MOVE 1 TO Y.
PERFORM SUMMARY-LAYOUT THRU SUMMARY-LAYOUT-END
NO-DAYS-SEL TIMES.
SUMMARY-OUTPUT-END.
EXIT.
SUMMARY-PAGE.
» OUTPUTS THE SUMMARY REPORT PAGE.
MOVE SUMMARY-TITLE-1 TO SUMMARY-PRINT-DATA.
WRITE SUMMARY-PRINT-LINE
AFTER ADVANCING BINARY-3 LINES.
MOVE SUMMARY-TITLE'S TO SUMMARY-PRINT-DATA.
WRITE SUMMARY-PRINT-LINE
AFTER ADVANCING BINARY-2 LINES.
MOVE SPACES TO SUM-DATA.
MOVE 1 TO XX.
PERFORM MOVE-EMISS-NAMES THRU MOVE-EMISS-NAMES-END
10 TIMES.
WRITE SUMMARY-PRINT-LINE
AFTER ADVANCING BINARY-1 LINES.
MOVE SPACES TO SUM-DATA.
MOVE TRUE TO MAJ-SRCE-SW
MOVE FALSE TO MIN-SRCE-SW GRAND-SW
MOVE MAJ-LINE TO SUM-LINE.
MOVE 1 TO XX.
PERFORM MOVE-EMIS-VAL THRU MOVE-EMIS-VAL-END
10 TIMES.
WRITE SUKMARY-PRINT-LINE AFTER
ADVANCING BINARY-1 LINES.
• MOVE SPACES TO SUM-DATA.
MOVE TRUE TO MIN-SRCE-SW
MOVE FALSE TO MAJ-SRCE-SW GRAND-SW.
MOVE MIN-LINE TO SUM-LINE.
MOVE 1 TO XX
PERFORM MOVE-EMIS-VAL THRU MOVE-EMIS-VAL-END
A-163
00025640
00025650
OC025660
00025670
00023630
00025690
00025700
00025710
00025720
00025730
00025740
00025750
00025760
00025770
00025780
00025790
00025300
00025310
00025820
00025330
OC325840
00025850
00025850
00025870
00025880
00025890
00025900
00025910
00025920
00025930
00025940
OC025950
00025960
00025970
00025930
00025990
00026000
00026010
00026020
00026330
00026040
00026050
00026060
00026070
OOC26080
00026090
00026100
00026110
00026120
00026130
00026140
00026150
00026160
00026170
00026180
00026190
00026200
-------
10 TIMES.
WRITE SUMMARY-PRINT-LINE AFTER
ADVANCINS BINARY-1 LINES.
MOVE SPACES TO SUM-LINE.
MOVE UNDER-SCCRE TO EM-VALUES-R.
WRITE SUMMARY-PRINT-LINE AFTER
ADVANCING BINARY-1 LINES.
MOVE SPACES TO SUM-DATA.
MOVE TRUE TO GRAHD-SW
MOVE FALSE TO MAJ-SRCE-SW MIN-SRCE-SW.
MOVE TOTAL-LINE TO SUM-LINE.
MOVE 1 TO XX
PERFORM MOVE-EMIS-VAL THRU MOVE-EMIS-VAL-END
10 TIMES.
WRITE SUMMARY-PRINT-LINE AFTER
ADVANCING BINARY-1 LINES.
SUMMARY-PAGE-END.
EXIT.
SUMMARY-REPORT-MAJOR.
00026210
00036230
00026230
00026240
00026250
00026260
00026270
000262SO
00026290
00026300
00026310
00026320
00026330
00026340
00026350
00026360
00026370
OC0263SO
00026390
00026400
00026410
00026420
* READS THE SORTED EMISSIONS FILE AND CALLS ROUTINE SUMMARY-MAJORC0026430
* TO ADD THE MAJOR SOURCE EMISSIONS VALUES FOR THE SUMMARY REPCST00026440
READ EMIS-FILE AT END MOVE TRUE TO END-OF-FILE-SW.
IF NOT EHD-OF-FILE
MOVE EMISS TO UNSORTED-EMISSION-FILE
MOVE 1 TO Z
PERFORM SUMMARY-MAJOR THRU
SUMMARY-MAJOR-END 10 TIMES.
SUMMARY-REPORT-MAJOR-END.
EXIT.
UNSORTED-EMISSIONS.
* OUTPUTS THE MAJOR SOURCE EMISSIONS DATA TO THE UNSORTED
* EMISSIONS VALUES FILE.
IF XX GREATER THAN HR-l-BB
MOVE 002 TO EV-BEG-DAY
ELSE
MOVE 001 TO EV-BEG-DAY.
MOVE HOUR-HOLD (Y) TO EV-HOUR.
MOVE WORK-SEG-YEAR TO EV-BEG-YEAR.
MOVE 1 TO Z.
PERFORM EMIS-VAL-CARD THRU
EMIS-VAL-CARD-END 10 TIMES.
MOVE WS-PT-S-NAME TO E-V-TYPE
MOVE UNSORTED-EMISSION-FILE TO EMISS.
WRITE EMISS.
UNSORTED-EMISSIONS-END.
EXIT.
UNSORTED-GRID.
* OUTPUTS THE MINOR SOURCE EMISSIONS DATA TO THE UNSORTED
00026450
00026460
00026470
000264SO
00026490
00026500
00026510
00026520
00026530
00026540
00026550
CC026560
00026570
00026530
00026590
00026600
00026610
00026620
00026S30
00026640
00026650
00026660
00026670
00026680
00026690
00026700
00026710
00026720
00026730
00026740
OOC26750
00026760
OC026770
A-164
-------
* GRID FILE.
IF XX GREATER THAN HR-l-BB
MOVE 002 TO GV-BEG-DAY
ELSE
MOVE 001 TO GV-BEG-DAY.
MOVE HOUR-HOLD (Y) TO GV-HOUR.
MOVE WORK-SEG-YEAR TO GV-BEG-YEAR.
MOVE 1 TO Z.
PERFORM GRID-VAL-CARD THRU
GRID-VAL-CARD-END 10 TIMES.
MOVE UNSORTED-GRID-FILE TO GRIDD.
WRITE GRIDD.
UNSORTED-GRID-END.
EXIT.
UPDATE-MESSAGES.
* OUTPUTS THE REVISION MESSAGES IN THE UPDATE INFORMATION.
IF LINE-CNTR IS NOT LESS THAN LINE-MAX
PERFORM PRINT-DIAG-HEADER
THRU PRINT-DIAG-HEADER-END.
MOVE REVISION-MSG1 TO REPORT-PRINT-DATA
WRITE REPORT-PRINT-LINE
AFTER ADVANCING BINARY-3 LINES.
MOVE REVISION-MSG2 TO REPORT-PRINT-DATA
WRITE REPORT-PRINT-LINE
AFTER ADVANCING BINARY-1 LINES.
MOVE REVISION-MSG3 TO REPORT-PRINT-DATA
WRITE REPORT-PRINT-LINE
AFTER ADVANCING BINARY-1 LINES.
MOVE REVISION-MSG4 TO REPORT-PRINT-DATA
WRITE REPORT-FRINT-LINE
AFTER ADVANCING BINARY-1 LINES.
ADD BINARY-6 TO LINE-CNTR.
UPDATE-MESSAGES-END.
EXIT.
VALID-PARM-TEST.
* CHECKS THE USER-SUPPLIED CONTROL DATA FOR POSSIBLE ERRORS.
IF PARM-DIAG-MSG
MOVE ERR-MSG (BINARY-1) TO ERROR-MSG
MOVE ERROR-LINE TO REPORT-PRINT-DATA
WRITE REPORT-PRINT-LINE
AFTER ADVANCING BINARY-1 LINES
ADD BINARY-1 TO WARNING-COUNT LINE-CNTR.
IF WS-M-M-PLUME-HT NOT NUMERIC OS
WS-NOX-EM-RATE NOT NUMERIC OR
WS-HC-EM-RATE NOT NUMERIC OR
WS-L-L-H-NORTHING NOT NUMERIC OR
WS-L-L-H-NORTHING = ZERO OR
WS-U-R-H-NORTHING NOT NUMERIC OR
WS-U-R-H-NORTHING = ZERO OR
WS-L-L-H-EASTING NOT NUMERIC OR
WS-L-L-H-EASTING NEGATIVE OR
00026760
OC026790
00026800
00026810
00026820
00026830
00026840
00026850
00026860
00026870
000268SO
00026890
00026900
00026910
00026920
00026930
00026940
00026950
00026960
00026970
00026980
00026990
00027000
00027010
00027020
00027030
00027040
00027050
00027060
00027070
00027060
00027090
00027100
00027110
00027120
00027130
00027140
00027150
00027160
00027170
00027180
00027190
00027200
00027210
00027220
00027230
00027240
OC027250
00027260
00027270.
00027260
00027290
00027300
OOC27310
00027320
00027330
00027340
A-165
-------
HS-U-R-H-EASTINS NOT NUMERIC OR
WS-U-R-H-EASTINS NEGATIVE OR
WS-GRID-SIDE NOT NUMERIC
MOVE ERR-MSS (BINARY-2) TO ERROR-MSG
MOVE ERROR-LINE TO REPORT-PRINT-DATA
WRITE REPORT-PRINT-LINE
AFTER ADVANCING BINARY-1 LINES
MOVE TRUE TO INVALID-PARM-SM
ADD BINARY-1 TO ABORT-COUNT LINE-CNTR
ELSE
PERFORM GENERATE-SQ-AREA-GRID THRU
GENERATE-SQ-AREA-GRID-ENO.
VALID-PARM-TEST-END.
EXIT.
WRAP-UP.
* CLOSES ALL INPUT AND OUTPUT FILES AND CALLS ROUTINE
* WRITE-LAST-MSG TO OUTPUT THE AUDIT TRAIL.
IF (LINE-MAX - LINE-CNTR) IS LESS THAN 1*
PERFORM PRINT-DIAS-HEADER THRU
PRINT-DIAG-HEADER-END
ELSE
MOVE BINARY-3 TO LINE-SKIP LINE-CNTR.
ADD COND-CCUNT ERROR-COUNT ABORT-COUNT WARNING-COUNT
DISASTER-COUNT GIVING DIAG-COUNT.
MOVE WS-END-OF-PACKET TO POINT-SOURCE-PACKET
WRITE POINT-SOURCE-PACKET.
ADD 1 TO RECORDS-OUT.
PERFORM WRITE-LAST-MSG THRU WRITE-LAST-MSG-END
VARYING MOVE-SUB FROM BINARY-1 BY BINARY-1
UNTIL MOVE-SUB GREATER THAU BINARY-14.
IF PAGE-COUNT IS GREATER THAN BINARY-2
IF (LINE-MAX - LINE-CNTR) LESS THAN BINARY-8
MOVE LINE-MAX TO LINE-CNTR
PERFORM UPDATE-MESSAGES THRU
UPDATE-MESSAGES-END
ELSE
PERFORM UPDATE-MESSAGES THRU
UPDATE-MESSAGES-END.
CLOSE PT-S-CONTROL
EIS-HRLY-EMIS
TIME-INTER-EM-VAL
SUMMARY-REPORT-FILE
GRID-VALUE
MAJ-SOURCE-P-S
REPORT-FILE.
STOP RUN.
WRITE-INPUT-DATA.
MOVE INPUT-DATA TO PT-ID
MOVE MAJ-MSG-LINE TO REPORT-PRINT-DATA
WRITE REPORT-PRINT-LINE
AFTER ADVANCING BINARY-3 LINES.
A-166
00087350
00027360
00027370
00027380
00027390
00027400
00027410
00027420
00027430
00027440
00027450
00027460
OOC27470
000274SO
00027490
00027500
00027510
00027520
00027530
00027540
000275EO
00027560
00027570
00027580
00027590
00027600
00027610
00027620
00027630
00027640
00027650
00027660
00027670
00027660
00027690
00027700
00027710
00027720
00027730
00027740
00027750
00027760
00027770
00027730
00027790
00027SOO
00027310
00027623
00027830
OC027340
00027850
00027860
00027370
00027330
00027890
00027900
00027910
-------
IF PLUME-HGT
MOVE ERR-MSG (BINARY-*) TO ERROR-MSG.
IF PLUME-STACK
MOVE ERR-MSG (BINARY-6) TO ERROR-MSG.
IF PLUME-HGT OR PLUME-STACK
MOVE ERROR-LINE TO REPORT-PRINT-DATA
WRITE REPORT-PRINT-LINE AFTER ADVANCING BIHARY-1 LINE
ADD BINARY-1 TO LINE-CNTR COND-COUNT
ELSE
IF NOT-ENUF-OATA
MOVE ERR-MSG (BINARY-7) TO ERROR-MSG
MOVE ERROR-LINE TO REPORT-PRINT-DATA
WHITE REPORT-PRINT-LINE AFTER
ADVANCING BINARY-1 LINE
ADD BINARY-1 TO LINE-CNTR ERROR-COUNT
ELSE
NEXT SENTENCE.
ADD BINARY-3 TO LINE-CNTR.
WRITE-INPUT-DATA-END.
EXIT.
WRITE-LAST-MSG.
« OUTPUTS THE AUDIT TRAIL SUMMARIZING THE DATA TRANSACTIONS.
MOVE REC-CTR (MOVE-SUB) TO LAST-M3G-NBR (MOVE-SUB)
MOVE LAST-MSG (MOVE-SUB) TO REFORT-PRINT-DATA
WRITE REPORT-PRINT-LINE
AFTER ADVANCING LINE-SKIP LINES
MOVE BINARY-1 TO LINE-SKIP LINE-CNTR.
WRITE-LAST-MSG-END.
EXIT.
00027920
00027930
00027940
00027950
00027960
00027970
00027930
00027990
00028300
00028010
00028020
00023030
00028040
00028050
00023060
00026070
00028080
00028090
00028100
00023110
00028120
00028130
00026140
00025150
00023160
00028170
00028180
00028190
00028200
00028210
00028220
00028230
A-167
-------
c
c
c
c
c
c
c
c
c
c
c
c
c
c
c
c
c
c
c
c
c
c
c
c
c
c
c
c
c
c
c
c
c
c
c
c
c
c
c
c
c
c
c
c
c
c
c
c
c
c
c
c
c
c
c
c
c
c
c
SUBROUTINE BEH072 (HF,HX,HMW,F,DELHF,DISTF,DELHX,HP,TS,VS,D,
1 VF,KST,U,X,DTHDZ,T,P) BEOOO
BEH072 (BRIGGS EFFECTIVE HEIGHT) SEPTEMBER 79 BEC00300
THIS DIFFERS FROM THE OCT. 1972 VERSION IN STATEMENT 24 + 1: BEOOC400
THE CONSTANT 2.6 PREVIOUSLY WAS 2.*. BEOQCEOO
BE000600
D. B. TURNER, RESEARCH METEOROLOGIST* MODEL DEVELOPMENT BRANCH, BEC00700
DIVISION OF METEOROLOGY, ENVIRONMENTAL PROTECTION AGENCY. BE000800
ROOM 314B, NCHS BUILDING, RTP. FHONE (919) 549-8411 EXT 4564BEOC0900
MAILING ADDRESS- DM, EPA, RESEARCH TRIANGLE PARK, NC 27711 BE001000
* ON ASSIGNMENT FROM NATIONAL OCEANIC AND ATMOSPHERIC BE001100
ADMINISTRATION, DEPARTMENT OF COMMERCE. BE001200
FROM A SINGLE SOURCE IS BASED ON: BE001300
THIS VERSION OF BRIGGS EFFECTIVE HEIGHT TO CALCULATE PLUME RISEBEC01400
1) BRIGGS, GARY A., 1971: SOME RECENT ANALYSES OF PLUME RISE BE001SOO
OBSERVATION. PP 1029 - 1032 IN PROCEEDINGS OF THE SECOMIBE001600
INTERNATIONAL CLEAN AIR CONGRESS, EDITED BY H. M. ENGLUNBE001700
AND W. T. BEERY. ACADEMIC PRESS, NEW YORK. BEOC1600
2) BRIGGS, GARY A., 1972: DISCUSSION ON CHIMNEY PLUMES IN BE001900
NEUTRAL AND STABLE SURROUNDINGS. ATMOS. ENVIRON. 6, 507 86002000
- 510. (JUL 72).
OUTPUT VARIABLES ARE...
HF FINAL EFFECTIVE PLUME HEIGHT (METERS)
EFFECTIVE PLUME HEIGHT FOR DISTANCE X (METERS)
HEAT OUTPUT OF SOURCE (MW)
BUOYANCY FLUX (M**4/SEC**3)
FINAL PLUME RISE (METERS)
DISTANCE OF FINAL PLUME RISE FROM SOURCE
HX
HMW
F
DELHF
DISTF
(KM)
DELHX PLUME RISE AT DISTANCE X (METERS)
INPUT VARIABLES ARE...
HP
TS
VS
D
VF
KST
U
X
5
6
WIND
BE002100
BEC02200
BEG02300
BE002400
BEC02SCO
BE0026GO
BE002700
BE002800
BE002900
BE0030CO
5E003100
BEC03200
BE003300
BE003400
BE003500
BE0036CO
BE003700
BEC03800
BEOC3900
BE004000
BE0041CO
BE004200
EE004300
BE004400
6E004503
BE0046QO
BE004700
BE004600
BE0049CO
BE005000
PHYSICAL STACK HEIGHT (METERS)
STACK GAS TEMPERATURE (DEC K)
STACK GAS EXIT VELOCITY (M/SEC)
INSIDE STACK DIAMETER (METERS)
STACK GAS VOLUMETRIC FLOW RATE (M**3/SEC)
STABILITY (CLASS), SEE PAGE 209 OF PAS3UILL,
ATMOSPHERIC DISPERSION. CLASSES DEFINED BY...
1 IS PASQUILL STABILITY CLASS A
2 IS PASQUILL STABILITY CLASS B
3 IS PASQUILL STABILITY CLASS C
4 IS PASQUILL STABILITY CLASS D
IS PASQUILL STABILITY CLASS E
IS PASQUILL STABILITY CLASS F
SPEED (M/SEC)
DOWNWIND DISTANCE (KM)
DTHDZ POTENTIAL TEMPERATURE LAPSE RATE (DEG K/METER)
T AMBIENT AIR TEMPERATURE (DEG K)
P AMBIENT AIR PRESSURE (MB)
THANKS TO DALE COVENTRY FOR HIS HELPFUL DISCUSSION ON
PROGRAMMING PLUME RISE, TO ROGER THOMPSON FOR THE COMMENT
CARDS, AND TO RUSS LEE WHO REVISED THIS ACCORDING TO REFERENCEBE005100
IF(T)1,1,2 BC005200
T = 0. MEANS NO AMBIENT TEMPERATURE GIVEN. USE T = 293.
1 T = 293.
2 IF(P)3,3,4
P = 0. MEANS NO AMBIENT AIR PRESSURE GIVEN. USE P = 960.
3 P = 960.
IF VF IS NOT GIVEN, CALCULATE IT FROM STACK DATA.
4 IF(VF)5,5,6
5 VF = 0.785398*VS*D*D
THE CONSTANT 0.785398 = PI/4
6 F = 3.12139*VF*(TS-T)/TS
THE CONSTANT 3.12139 IS THE ACCELERATION DUE TO GRAVITY / PI.
HMW = 0.00011217*F*P
THE CONSTANT 0.00011217 = PI TIMES THE SPECIFIC HEAT OF AIR AT BE006500
CONSTANT PRESSURE (0.24 CAL/GM*DEG K) TIMES MOLECULAR WEIGHT BECOS600
OF AIR (28.966 GM/GM.MOLE) DIVIDED BY IDEAL GAS CONSTANT BE006?do
(0.0831 MB*M**3/GM.MOLE*DEG K) Af!D ACCELERATION DUE TO GRAVITY3EOC&SOO
(9.30616 M/SEC*SEC) AND THEN MULTIPLIED BY (4.1855E-06 MW/CAL BE006900
PER SEC) TO CONVERT THE ANSWER TO MEGAWATTS. BEC070o'o
GO TO APPROPRIATE BRANCH FOR STABILITY CONDITION GIVEN.
IF UNSTABLE OR NEUTRAL GO TO 7, IF STABLE GO TO 20.
GO TO (7, 7, 7, 7, 20, 20), KST
DETERMINE APPROPRIATE FORMULA FOR CALCULATING XST, DISTANCE AT
WHICH TURBULENCE BEGINS TO DOMINATE. THE FORMULA USED DEPENDSBE007500
A-168
BE005300
BE005400
BEOC5500
BE005600
BE005700
BE005800
BEOC5903
BEOC6000
BEOOS1CO
BEOC6200
BEC06200
BEOC6400
BEC07io
SE007200
BE0073do
-------
C
7
8
9
10
C
C
C
C
C
C
C
C
C
C
C
C
C
C
32
20
21
22
23
24
UPON BUOYANCY FLUX. STATEMENTS 8 AND 9 ARE EQUATION (7).
IF(F-55. )8,9,9
XST=l
-------
IDENTIFICATION DIVISION.
PROGRAM-ID. ASGRID.
AUTHOR. RESEARCH TRIANGLE INSTITUTE.
DATE-WRITTEN.
DATE-COMPILED.
ENVIRONMENT DIVISION.
CONFIGURATION SECTION.
SOURCE-COMPUTER. UNIVAC-1110.
OBJECT-COMPUTER. UNIVAC-1110.
INPUT-OUTPUT SECTION.
FILE-CONTROL.
SELECT PRINT-INPUT ASSIGN TO PRINTER FACT.
SELECT AS-ALLOC-CONTROL ASSIGN TO CARD-READER CONTROLL.
SELECT PRINT-SUMMARY ASSIGN TO PRINTER SUMM.
SELECT CNTY-GRID-ALLOC-FACT ASSIGN TO CARD-READER
ASGRIDIN.
SELECT EIS-OLDMST ASSIGN TO UNISERVO PNRMASTER.
SELECT TIME-INTER-GRID-VAL ASSIGN TO CARD-PUNCH PUN.
SELECT REPORT-FILE ASSIGN TO PRINTER.
SELECT GRID-EMISS ASSIGN TO MASS-STORAGE UNSORTED.
SELECT SORT-FILE ASSIGN TO MASS-STORAGE EMISOUT.
DATA DIVISION.
FILE
SO
01
SECTION.
SORT-FILE
DATA RECORD IS SORT-REC.
SORT-REC.
02 FILLER
02 S03T-DAY
02 FILLER
02 SORT-HOUR
02 SORT-NAME
02 SORT-GRID
02 FILLER
02 SORT-Z
PIC X(42)
PIC 9(3).
PIC XUO)
PIC 9(2).
PIC X(9).
PIC 9(8).
PIC XUO)
PIC 9(2).
00000010
00000020
00000030
00000040
00000050
00000060
00000070
00000080
00000090
00000100
00000110
00000120
00000130
00000140
00000150
00000160
00000170
00000180
00000190
OCOC0200
00000210
00000220
C0000230
00000240
00000250
00000260
00000270
00000260
00000290
00000300
00000310
00000320
00000330
00000340
00000350
00000360
00000370
00000380
00000390
000004CO
00000410
00000420
00000430
00000440
OCOC0450
00000460
00000470
00000480
00000490
00000500
00000510
00000320
00000530
00003540
00000550
A-170
-------
FD EIS-OLDMST
LABEL RECORD IS OMITTED.
01 OLD-MASTO.
02 OLD-MOVE
02 FILLER
01
01
01
FD
01
OLD-MAST1.
02 FILLER
02 OLD-NBR-OF-POLLUTANTS
02 OLO-MAST-RPT1
PIC X(23).
PIC X(163).
PIC X(130).
PIC 99.
OCCURS 1 TO 16 TIMES
DEPENDING ON OLD-NBR-OF-POLLUTANTS.
03 FILLER PIC X(45).
OLD-MAST2.
02 FILLER
02 OLD-NBR-OF-EF
02 OLD-MAST-RPT2
PIC X(90).
PIC 99.
OCCURS 1 TO 16 TIMES
DEPENDING ON OLD-NBR-OF-EF.
03 FILLER PIC X(16).
OLD-MAST3.
02 FILLER
02 OLD-SEG-30-ID
02 OLD-LINE-NUMBER
PIC XC19).
PIC X(4).
PIC 999.
02 OLD-LINE-NUMBER-R REDEFINES OLD-LINE-NUMBER
02 OLD-MAST-RPT3 OCCURS 2 TIMES.
03 OLD-COMMENT PIC X(51).
PIC XXX.
AS-ALLOC-CONTROL
LABEL RECORD IS OMITTED.
CONTROL-CARD.
02 SEL-ID.
03 SEL-ST PIC 9(2).
03 SEL-CNTY PIC 9(4).
02 FILLER PIC X(4).
02 CONTROL-DATA PIC X(60).
02 FILLER PIC X(8).
02 CARD-SEQ-NO PIC 9(1).
88 CARD-1 VALUE 1.
88 CARD-2 VALUE 2.
02 FILE-NO PIC 9(1).
88 FILE-* VALUE 4.
A-171
03000550
00000570
OOOC0530
OOCOC590
00000600
00000610
00000620
00000630
00000640
00000650
00000660
00000670
OOC00680
00000690
00000700
00000710
00000720
00000730
00000740
00000750
03000760
00000770
00000780
00000790
00000800
00000810
00000820
00000830
00000840
00000850
00003860
00000870
OC000860
00000890
OOC30900
00000910
00000920
00000930
00000943
00000950
00000960
OOOC0970
00000980
OC000990
00001000
00001010
00001020
00001030
00001C40
OOC01050
00001060
00001070
00001030
00001090
00001100
OC001110
00001120
-------
88 FILE-6
VALUE 6.
FD
01
FD
01
FD
01
CNTY-GRID-ALLOC-FACT
LABEL RECORD IS OMITTED.
INPUT-ALLOC.
02 ALLOC-ID.
03 ALLOC-ST
03 ALLOC-CNTY
02 ALLOC-ID-R
GRID-EMISS
LABEL RECORDS STANDARD.
GRID-OUT
PRINT-INPUT
LABEL RECORD IS OMITTED.
INPUT-LINE.
02 FILLER
02 INPUT-DATA
02 INPUT-DATA-R
03 TITLE
03 NAMES-SR
03 NAMES-S
02
PIC 9(2).
PIC 9(4).
REDEFINES ALLOC-ID
PIC X(6).
02 GRID-VAL.
03 COL-NO
03 ROM-NO
02 ALLOC-OATA
02 FILLER
02 CARO-SEQ-NUM
2 FILLER
PIC 9(4).
PIC 9(4).
PIC X(60).
PIC X(4).
PIC 9(1).
PIC 9(1).
PIC X(86).
PIC X(l).
PIC X(132).
REDEFINES INPUT-DATA.
PIC X(27).
PIC X(105).
REDEFINES NAMES-SR
OCCURS 15 TIMES.
04 HOLD-SPACE
04 NAMES
INPUT-DATA-S
03
TITLE-SR.
04 FILLER
04 ST-VAL
04 FILLER
04 CNTY-VAL
04 FILLER
04 GRID-C
PIC X(3).
PIC X(4).
REDEFINES
PIC X(2).
PIC 9(2).
PIC X(4).
PIC 9(4).
PIC X(4).
PIC Z(4).
A- 172
00001120
00001140
OC001150
00001160
00001170
00031130
00001190
00001200
00001210
00001320
00001230
00001240
00001250
OOOC1260
00001270
00001280
00001290
00001300
00001310
OC001320
00001330
OOC01340
00001350
00001360
00001370
00001330
00001390
00001400
00001410
00001420
00001430
00001440
00001450
00001460
00001470
00001480
00001490
OC001500
00001510
00001520
00001530
00001540
00001550
00001560
00001570
00001580
00001590
00001600
00001610
00001620
00001630
00001640
00001650
00001660
00001670
00001630
00001690
-------
0* FILLER
04 GRID-R
04 FILLER
03 FACTOR-R
04 FILLER
04 FACT-VAL
FO
01
PRINT-SUMMARY
LABEL RECORD IS OMITTED.
SUM-LINE.
02 FILLER
02 SUM-DATA
02 SUM-DATA-R
03 HDR
03 EM-NAMES-S.
04 FILLER
04 EM-NAMES-R
03 EM-NAMES
04 FILLER
04 EM-NAME
02 SUM-DATA-S
03 TABLE-COL
03 FILLER
03 TABLE-ROM
03 FILLER
03 EM-VALUES
04 FILLER
04 EM-VAL
FD
01
REPORT-FILE
LABEL RECORDS OMITTED.
REPORT-LINE.
02 FILLER
02 REPORT-DATA
FD TIME-INTER-GRID-VAL
LABEL RECORD OMITTED.
01 GRID-PACKET
PIC XC2).
PIC ZC4).
PIC X(l).
OCCURS 15 TIMES.
PIC xm.
PIC 9.9(4) BLANK WHEN
PIC X(l).
PIC X1132).
REDEFINES SUM-DATA.
PIC X(12).
PIC X(3).
PIC X(117).
REDEFINES EM-NAMES-S
OCCURS 10 TIMES.
PIC X(3).
PIC XC9).
REDEFINES SUM-DATA.
PIC 2Z9.
PIC X(3).
PIC ZZ9.
PIC X(3).
OCCURS 10 TIMES.
PIC X(3).
PIC 2(6)9.9.
PIC X(l).
PIC X(132).
PIC X(80).
A-173
00001700
00001710
00001720
00001730
00001740
ZERO.00001750
00001760
00001770
00001730
00001790
00001800
00001310
00001620
00001830
00001340
00001850
00001860
00001870
00001880
00001890
00001900
00001910
00001920
00001930
00001940
00001950
00001960
00001970
00001980
00001990
00002000
00002010
00002020
00002030
00002040
00002C50
00002060
00002070
00002030
00002090
00002100
00002110
00002120
00002130
00002140
00002150
00002160
00002170
00002160
00002190
00002200
00002210
00002220
OC002220
00002240
00002250
00002260
-------
WORKING-STORAGE SECTION.
77 FIRST-CORE-MSG PIC X(27) VALUE
•E'.
77 ALLOC-TITLE
77
77
77
77
77
77
77
77
77
77
77
77
77
77
77
77
77
77
77
77
77
77
77
77
77
77
77
77
77
77
77
77
77
77
77
77
77
77
77
77
NO-FACT-77
WS-DATA-ID
HC-FACT-77
HDR-VALUE
HDR-VALUE-2
AST-HOLD
HOLD-1
HOLD-Z
HOLD-ID
HR-l-BB
HR-2-BB
DIAG-SUB
HOLD-WORK-HOUR
HOLD-KEY-HOUR
LINE-MAX
LINE-CNTR-D
LINE-CNTR-R
LINE-CNTR-S
LINE-SKIP
PAGE-NUMBER-D
PAGE-NUMBER-R
PAGE-NUMBER-S
TRUE
FALSE
TITLE1
TITLE2
BINARY-1
BINARY-2
BINARY-3
BINARY-4
BINARY-5
BINARY-6
BIHARY-7
BINARY-8
BINARY-10
BINARY-11
BIHARY-12
BINARY-13
BINARY-24
MOVE-SUS
OOOC2270
00002280
00002290
00002300
'WORKING STORAGE BEGINS HER00002310
00002320
PIC X(13) VALUE 00002330
'COUNTY TOTALS'. 00002340
PIC 9V9(4) VALUE ZEROES. 00002350
PIC X(31) VALUE 00002360
'EIS HOURLY SOURCE/EMISSION00002370
1 FILE1. 000023SO
PIC 9V9(4) VALUE ZEROES. 00002390
PIC X(12) VALUE 00002400
•ROW COLUMN '. 00002410
PIC X(12) VALUE 00002420
•STUDY TOTALS'. 00002430
PIC XC117) VALUE ALL '-'. 00002440
PIC 9(5)V9(4) 00002450
VALUE ZEROES. 00002460
PIC 9(9) VALUE ZEROES. 00002470
PIC 9(6) VALUE ZEROES. 00002430
PIC 9(2). 00002490
PIC 9(2). 00002500
PIC 99 VALUE 00. C0002510
PIC 9(2) VALUE 0. 00002520"
PIC 9(2) VALUE 00. 00002530
PIC 99 COMP SYNC VALUE 55. 00002540
PIC 99 COMP SYNC VALUE 55. 00002550
PIC 99 COMP SYNC VALUE 55. 00002560
PIC 99 COMP SYNC VALUE 55. OOOC2570
PIC 99 VALUE 1. 00002580
PIC 9(5) COMP SYNC VALUE 1.00002590
PIC 9(5) COMP SYNC VALUE 1.00002600
PIC 9(5) COMP SYNC VALUE 1.00002610
PIC 9 VALUE 1. 00002620
PIC 9 VALUE 0. 00002630
PIC X(27) VALUE 00002640
1 GRID GRIQ00002650
1 '. 00002660
PIC X(27) VALUE 00002670
•STATE COUNTY COLUMN RCW00002630
1 '. 00002690
PIC 9 COMP SYNC VALUE 1. OCOC2700
PIC 9 COMP SYNC VALUE 2. OOOC2710
PIC 9 COMP SYNC VALUE 3. 00002720
PIC 9 COMP SYNC VALUE 4. 00002730
PIC 9 COMP SYNC VALUE 5. 000027'tO
PIC 9 COMP SYNC VALUE 6. 00002750
PIC 9 COMP SYNC VALUE 7. 00002760
PIC 9 COMP SYNC VALUE 8. 00002770
PIC 99 COMP SYNC VALUE 10. 00002730
PIC 99 COMP SYNC VALUE 11. 0000279C
PIC 99 COMP SYNC VALUE 12. 00002SOO
PIC 99 COMP SYNC VALUE 13. OOOC2310
PIC 99 COMP SYNC VALUE 24. 00002S20
PIC 99 VALUE 01. 00002330
A-174
-------
77
77
77
77
77
77
77
77
77
77
77
77
77
01
01
NUM-EMISS
SUB-X
SUB-Y
I
II
STRING-2
77 STRING-1
PIC 9(2) VALUE 10.
PIC 99 VALUE 01.
PIC 99 VALUE 01.
PIC 9(2).
PIC 9(2).
PIC X(33) VALUE
ALLOCATION FACTOR SELECTION:
PIC X(33) VALUE
AREA SOURCE CATEGORY:
PIC 9(2) VALUE 01.
PIC 9(2) VALUE 01.
PIC 9(2) VALUE 01.
VALUE 4, 5.
VALUE 6 THRU 10.
PIC 9(2) VALUE 01.
PIC 9(2) VALUE 01.
PIC 9(2) VALUE 00.
PIC 9(6)V9(4) VALUE 0.
X
Y
Z
88 Z-NO
88 Z-HC
XX
YY
XXX
G-V-VALUE-HOLD
WCRK-FIXED-SEGMENT.
02 WORK-SEGMENT-KEY.
03 WORK-STATE PIC 99.
03 WORK-COUNTY PIC 9999.
03 WORK-AQCR PIC 999.
03 WORK-PLANT-ID PIC 9999.
02 WORK-DATE-OF-SEGMENT.
03 WORK-YEAR PIC 99.
03 WORK-DAY-OF-YEAR PIC 999.
02 WORK-SEGMENT-ID PIC 999.
02 WORK-SUB-SEGMENT-01.
03 WORK-USER-CONTROL-REGION PIC XXX.
03 WCRK-LOCAL-CCNTROL PIC XX.
03 WORK-USER-PLANT-ID PIC X(12).
03 WORK-CITY PIC XXXX.
03 WORK-UTM-ZONE PIC X(2).
03 WORK-OWNER PIC X(l).
03 WORK-CONT-TELE-PRIN.
04 WORK-CONTACT PIC X(15).
04 WCRK-TELEFHONE PIC X(10).
04 WORK-PRINCIPAL-PRODUCT PIC XUO).
WORK-SUB-SEGMENT-02.
03 WORK-ESTABLISHMENT PIC X(48).
03 WORK-NUMBER-OF-EHPLOYEES PIC XXXX.
03 WORK-PROPERTY-AREA PIC X(6).
03 WORK-N-PROPERTY-AREA REDEFINES
WORK-PROPERTY-AREA PIC 9(5)V9.
WORK-SUB-SEGMENT-0 3.
03 WORK-MAILING-ADDRESS PIC X(48).
02
02
WORK-POINT-SOURCE.
02 FILLER
02 WCRK-DATE-OF-SEG-1
02 WORK-SEGMENT
02 WORK-SET-ID
02 WORK-SU3-SEGMENT-11.
03 WORK-POINT-ID.
04 WORK-NEDS
PIC X(13).
PIC 9(5).
PIC 9.
PIC 99.
PIC XX.
A-175
00002840
00002850
00002S60
00002370
00002880
00002890
00002900
00002910
00002920
00002930
00002940
00002950
00002960
OC002970
00002980
00002990
00003000
00003010
00003020
00003030
00003040
00003350
00003060
00003070
00003030
00003090
00003100
00003110
00003120
00003130
00003140
00003150
00003160
OOOC3170
00303180
00003190
OC003200
00003210
00003220
00003230
OC003240
00003250
00003260
OC003270
00003260
COC03290
OOC03300
00003310
00003320
00003330
00003340
OC003350
00033360
00003370
00003330
00003390
00003400
-------
02
03
03
03
03
03
03
0* WORK-USER PIC XXX.
WORK-SIC PIC XXXX.
WORK-IPP PIC XX.
WORK-UTM-COORDINATES.
04 WORK-HORIZONTAL PIC XXXX.
04 WORK-VERTICAL PIC XC5).
WQRK-N-UTM REDEFINES
WORK-UTM-COORDIHATES.
04 WORK-N-HORIZONTAL PIC 999V9.
04 WORK-N-VERTICAL PIC 9999V9.
WORK-LATITUDE.
04
04
04
WORK-DEGREE
WORK-MINUTE
WORK-SECOHD
PIC XX.
PIC XX.
PIC XX.
03
03
03
03
03
WORK-LONGITUDE.
04 WORK-DEGREE
04 WORK-MINUTE
04 WORK-SECOND
WORK-ANNUA L-THRUPUT.
04 WORK-DEC-FEB
04 WORK-MAR-MAY
04 WORK-JUN-AUG
04 WORK-SEP-NOV
WORK-NORMAL-OPERATING.
04 WORK-HOURS-DAY
04 WORK-DAY-WEEK
04 WORK-WEEK-YEAR
WORK-BOILER-DESIGN-CAPACITY
PIC X(5).
WORK-SPACE-HEAT
WORK-N-SPACE-HEAT
WORK-SPACE-HEAT
WORK-SUB-SEGNENT-12.
03 WORK-STACK-DATA.
04 WORK-HEIGHT
WORK-DIAMETER
WORK-N-DIAMETER
WORK-DIAMETER
WORK-TEMPERATURE
WORK-FLOW-RATE
WORK-VELOCITY
WORK-PLUME
WORK-POINTS-PER-STACK PIC X(4).
WORK-COMPLIANCE-STATUS PIC X.
WORK-COMPLIANCE-SCHEDULE.
04 WORK-YEAR PIC 99.
04 WORK-MONTH PIC XX.
WORK-COMPLIANCE-STATUS-UFDATE.
04 WORK-YEAR PIC XX.
04 WORK-MONTH PIC XX.
04 WCRK-DAY-OF-MCMTH PIC XX.
WORK-ECAP PIC X.
WORK-CONTRO L-R ECU LATIONS.
04
04
04
04
04
04
PIC XXX.
PIC XX.
PIC XX.
PIC XX.
PIC XX.
PIC XX.
PIC XX.
PIC XX.
PIC X.
PIC XX.
PIC XXX.
REDEFINES
PIC 99V9.
PIC XXXX.
PIC XXX.
REDEFINES
PIC 99V9.
PIC XXXX.
PIC X(7).
PIC X(5).
PIC XXXX.
03
03
03
03
03
03
04
04
04
WORK-REG-1
WORK-REG-2
WORK-REG-3
02 WORK-NBR-OF-POLLUTANTS
PIC XXXX.
PIC XXXX.
PIC XXXX.
PIC 99.
A-176
00003410
00003420
00003430
00003440
00003450
00003460
00003470
00003480
00003490
00003500
00003510
00003520
00003530
00003540
00003550
00003560
C0003570
00003580
00003590
00303600
00003610
OC003620
C0003630
00003640
00003650
00003660
00003670
000036SO
00003690
00003700
00003710
00003720
00003730
00003740
00003750
00003760
00003770
00003730
00003790
00003300
00003810
OC003820
00003830
00003340
OOC03S50
00003860
00003370
00003880
00003890
00003900
00003910
00003920
00003930
00003940
00003950
00003960
00003970
-------
02 WORK-POLLUTANT-EMISSIONS OCCURS 1 TO 16 TIMES
DEPENDING ON WORK-NBR-OF-POLLUTANTS.
03 WORK-POLLUTION-ID PIC X(5).
03 WORK-CNTL-EQUIP-COST PIC 9(5)V99.
03 MORK-CONTROL-EQUIPMENT.
01
0* WORK-PRIMARY
04 WORK-SECONDARY
03 WORK-EST-CONTROL-EFF
03 WORK-EMISSIONS.
0* WORK-ESTIMATES
04 WORK-ACTUAL
04 WORK-ALLOWABLE
03 WORK-EMISSION-UNITS
03 WORK-ESTIMATION-METHCO
03 WORK-TEST-METHOD
WORK-POINT-SOURCE-R.
02 FILLER
02 WORK-POLLUTANT-COUNT
02 WORK-EMISSION-DATA
PIC XXX.
PIC XXX.
PIC 99V9.
PIC X(7).
PIC X(7).
PIC X(7).
PIC X.
PIC X.
PIC X.
PIC XC130).
PIC 99.
OCCURS 1 TO 16 TIMES
DEPENDING ON WORK-POLLUTANT-COUNT.
03 FILLER
03 WORK-CNTL-EQUIP-COST-R
03 FILLER
03 WORK-EST-CNTL-EFF-N
03 FILLER
PIC X(5).
3
PIC xm.
PIC X(6).
PIC xxx.
PIC X(24).
01
WORK-MACHINE-PROCESS.
02 FILLER PIC X(13).
02 WORK-DATE-OF-SEG-2 PIC 9(5).
02 FILLER PIC XXX.
02 WORK-SEG-2-SET-ID PIC 99.
02 WORK-SUB-SEGMENT-21.
03 WORK-SCC.
04 WORK-I PIC X.
04 WORK-II PIC XX.
04 WORK-III PIC XXX.
04 WORK-IV PIC XX.
03 WORK-BEC.
04 WORK-BEC-NUM3ER PIC XXX.
04 WORK-BEC-ID PIC XX.
03 WORK-FUEL-UNITS PIC X.
03 WORK-FUEL-PROCESS PIC X(7).
03 WORK-FUEL-PROCESS-RATE
REDEFINES WORK-FUEL-PROCESS
PIC 9(7).
03 WORK-ALPHANUM-FIELO.
04 WORK-MAX-DESIGN-RATE PIC X(7).
04 WORK-SULFUR-CONTENT PIC XXX.
04 WORK-ASH-CONTENT PIC XXX.
03 WORK-NUMERIC-FIELD REDEFINES
WORK-ALPHANUM-FIELD.
04 WORK-N-MAX-DESIGN-RATE
PIC 9999V999.
04 WORK-N-SULFUR-CONTENT PIC 9V99.
04 WORK-N-ASH-CONTENT PIC 99V9.
00003980
00003590
00004000
00004010
00004020
OOC04050
00004040
00004050
00004060
00004070
00004083
00004090
00004100
00004110
00004120
00004130
00004140
00004150
00004160
00004170
OOOG4180
00004190
00004200
00004210
00004220
00004230
00004240
00004250
00004260
00004270
00004280
00004290
OC004300
00004310
00004320
00004330
00004340
00004330
00004360
00004370
00004380
00004390
00004400
00004410
00004420
00004430
00004440
00004450
00004460
0000447C
00004480
'00004490
00004500
00004510
00004520
OOC04530
00004540
A-177
-------
03 WORK-HEAT-CONTENT PIC X(5).
02 WORK-SUB-SEGMENT-22.
03 WORK-CONFIDENTIALITY PIC X.
03 WORK-SOURCE-CODE PIC X.
03 WORK-SOURCE-DESCRIPTION PIC XC25).
03 WORK-EMISSION-FACTOR-SQURCE
PIC X.
02 WORK-NUMBER-OF-EF PIC 99.
02 WORK-EMISSION-FACTOR-INFO OCCURS 1 TO 16 TIMES
DEPENDING ON WORK-NUMBER-OF-EF.
03 WORK-POLLUTANT.-ID PIC X(5).
03 WORK-EMISSION-FACTOR PIC 9C6W999.
03 WORK-ASH-SULFUR-CODE PIC X.
03 WORK-EMISSION-FACTOR-UNITS
PIC X.
WORK-MACHINE-PROCESS-R.
02 FILLER PIC X(90).
02 WORK-NBR-OF-POLLUTANT-IDS PIC 99.
02 WORK-EMISSION-FACTOR-DATA OCCURS 1 TO 16 TIMES
DEPENDING ON WORK-NBR-OF-POLLUTANT-IDS.
03 FILLER PIC X(5).
03 WORK-B-EMISSION-FACTOR PIC X(9).
03 FILLER PIC XX.
01 WORK-REGISTRATION.
02 FILLER
02 WORK-DATE-OF-SEG-3.
03 WORK-YR-OF-SEG-3
03 WORK-DAY-OF-SEG-3
02 FILLER
02 WORK-SEG-1-ID
02 WORK-SEG-3-SET-ID
02 WORK-SUB-SEGMENT-30
02 WORK-COMMENTS.
03 WORK-COMMENT-L
03 WORK-COMMENT-R
02 WORK-COMMENTS-R
03 WORK-NUMERIC
03 FILLER
66 WORK-DAY
66 WORK-HOUR
01 HOLD-GRIO-VAL.
02 G-V-COL-NUM
02 G-V-ROW-NUM
01 ARRAY-SEL-HOLD.
02 ARRAY-SEL
01 EMISS-RATE-ADD.
02 EMISS-RATE-TABLE
03 HOLD-EMISS-RATE
PIC XC13).
PIC 9(2).
PIC 9(3).
PIC X.
PIC 99.
PIC 99.
PIC 999.
PIC X(51).
PIC X(51).
REDEFINES WORK-COMMENTS.
PIC 9(8) OCCURS 12 TIMES.
PIC X(6).
RENAMES WORK-SEG-3-SET-IO.
RENAMES KORK-SUB-SEGMENT-30.
PIC 9(4) VALUE ZEROES.
PIC 9(4) VALUE ZEROES.
OCCURS 48 TIMES PIC 9(2).
OCCURS 12 TIMES.
PIC 9(6)V9(4).
00004550
00004560
00004570
00004580
00004S90
00004600
00004610
00004620
00004630
00004640
00004650
OOOC4660
00004670
OOC046SO
00004690
00004700
00004710
00004720
00004730
00004740
00004750
00004760
00004770
00004780
00004790
00004300
00304810
OOOC4S20
00004830
00004840
00004850
00004860
00004870
OOC04830
00004890
00004900
00004910
00004920
00034930
00004940
00304950
00304960
00004970
00004980
00004990
00005000
OOOOE010
00005020
00005030
00005040
OOCC5050
00005060
00005070
00005080
00005090
00005100
C0005110
A-178
-------
01
01
01
WORK-OLD-MOVE.
02 AS-CNTY-ID
02 AQCR-NO
02 PUNT-ID
88 AREA-SOURCE
02 SEG-DATE
02 TYPE-SEG
88 SEG-0-REC
88 SEG-1-REC
88 SEG-3-REC
02 FILLER
ALLOC-SUM-ADD.
02 ALLOC-SUM-TABLE
03 ALLOC-SUM
ALLOC-FACT-TABLE.
02 ALLOC-CARDS-S
02 ALLOC-CARDS
03
03
03
03
03
03
03
03
03
03
03
03
03
03
03
ALLOC-FACT-1
ALLOC-FACT-2
ALLOC-FACT-3
ALLOC-FACT-4
ALLOC-FACT-5
ALLOC-FACT-6
ALLOC-FACT-7
ALLOC-FACT-8
ALLOC-FACT-9
ALLOC-FACT-10
ALLOC-FACT-11
ALLOC-FACT-12
ALLOC-FACT-13
ALLOC-FACT-14
ALLOC-FACT-15
02 ALLOC-FACT-CARDS
03 ALLOC-FACT
02 ALLOC-FACT-CARDS-R
03 ALLOC-FACT-R
01 ALLOC-FACT-NAME.
02 FACT-NAMES-S
02 FACT-NAMES
03
03
03
03
03
03
03
FACTOR-NAME-1
FACTOR-NAME-2
FACTOR-NAME-3
FACTOR-NAME-*
FACTOR-NAME-5
FACTOR-NAME-6
FACTOR-NAME-7
PIC 9(6).
PIC 9(3).
PIC 9(4).
VALUE 9999, 0000.
PIC 9(5).
PIC 9.
VALUE 0.
VALUE 1.
VALUE 3.
PIC X(4).
OCCURS 30 TIMES.
PIC 9V9(4).
PIC X(120).
REDEFINES ALLOC-CARDS-S
OCCURS 2 TIMES.
PIC V9(4).
PIC V9(4).
PIC V9(4).
PIC V9(4).
PIC V9(4).
PIC V9(4).
PIC V9(4).
PIC V9(4).
PIC V9(4).
PIC V9(4).
PIC V9(4).
PIC V9(4).
PIC V9(4).
PIC V9(4).
PIC V9(4).
REDEFINES ALLOC-CARDS-S
OCCURS 30 TIMES.
PIC V9(4).
REDEFINES ALLOC-CARDS-S
OCCURS 30 TIMES.
PIC X(4).
PIC X(120).
REDEFINES FACT-NAMES-S
OCCURS 2 TIMES.
PIC X(4).
PIC X(4).
PIC X(4).
PIC X(
-------
01
02
03 FACTOR-NAME-8
03 FACTOR-NAME-9
03 FACTOR-NAME-10
03 FACTOR-NAME-11
03 FACTOR-NAME-12
03 FACTOR-NAME-13
03 FACTOR-NAME-1*
03 FACTOR-NAME-15
ALLOC-FACT-NAMES
03 FACTOR-NAMES
PIC X(4).
PIC X(*).
PIC X(4).
PIC X(4).
PIC X(4).
PIC X(*).
PIC X(4).
PIC X(4).
REDEFINES FACT-HAHES-S
OCCURS 30 TIMES.
PIC X(*).
ALLOC-SEL-CARD.
02
02
02
02
SEL-CARDS-S
SEL-CARDS
03 CATEG-1
03 CATEG-2
03 CATEG-3
03 CATEG-*
03 CATEG-5
03 CATEG-6
03 CATEG-7
03 CATEG-8
03 CATEG-9
03 CATEG-10
03 CATEG-11
03 CATEG-12
03 CATEG-13
03 CATEG-1*
03 CATEG-15
03 CATEG-16
03 CATEG-17
03 CATEG-18
03 CATEG-19
03 CATEG-20
03 CATEG-21
03 CATEG-22
03 CATEG-23
03 CATEG-2*
03 CATEG-25
03 CATEG-26
03 CATEG-27
03 CATEG-28
03 CATEG-29
03 CATEG-30
ALLOC-SEL
03 CATEGS
ALLOC-SEL-R
03 CATEGS-R
PIC X(120).
REDEFINES SEL-CARDS-S
OCCURS 2 TIMES.
PIC 9(2).
PIC 9(2).
PIC 9(2).
PIC 9(2).
PIC 9(2).
PIC 9(2).
PIC 9(2).
PIC 9(2).
PIC 9(2).
PIC 9(2).
PIC 9(2).
PIC 9(2).
PIC 9(2).
PIC 9(2).
PIC 9(2).
PIC 9(2).
PIC 9(2).
PIC 9(2).
PIC 9(2).
PIC 9(2).
PIC 9(2).
PIC 9(2).
PIC 9(2).
PIC 9(2).
PIC 9(2).
PIC 9(2).
PIC 9(2).
PIC 9(2).
PIC 9(2).
PIC 9(2).
REDEFINES SEL-CARDS-S
OCCURS 60 TIMES.
PIC 9(2).
REDEFINES SEL-CARDS-S
OCCURS 60 TIMES.
PIC X(2).
00005690
00005700
00005710
00005720
00005730
000057*0
00005750
00005760
00005770
00005780
00005790
OOOC5300
00005810
00005820
00005830
OOOC5340
00005850
00005860
00005870
C0005830
00005390
00005900
00005910
000059EO
00005930
00005940
00005950
00005960
00005970
00005960
00005990
00006000
00006010
00006020
00006030
00006040
00006050
00006060
00006070
00006080
00006090
OOOC61CO
00006110
00006120
00006130
00006140
OOOC6150
00006160
00006170
00006180
• 00006190
OOC06200
00006210
00006220
00006230
00006240
00006250
A-180
-------
01 SEL-PRINT-TABLE.
02 TITLED
88 STRING2
88 STRING1
02 SEL-DATA-R
03 FILLER
03 SEL-OATA
02 FILLER
01 WORK-ALLOC-ID.
02 WORK-ST-ID
02 WORK-CNTY-ID
01 SEL-CARD.
02 FILLER
02 FACTORS.
03 SCALE-FACT-NO
03 SCALE-FACT-NO-R
88 NO-R
03 SCALE-FACT-HC
03 SCALE-FACT-HC-R
88 HC-R
03 NO-OF-DAYS-SEL
88 NO-DAYS-1
88 NO-DAYS-2
88 NO-DAYS-3
88 NO-DAYS-4
02 FACTORS-R
02 DAY-1.
03 FIRST-DAY
88 VALID-DAY-1
03 HOUR-1.
04 FIRST-HOUR
04 LAST-HR-1
03 HR-1
88 VALID-HR-1
02 DAY-l-R
88 FIRSTT
02 DAY-2.
03 SECOND-DAY
88 VALID-DAY-2
03 HOUR-2.
04 SECOND-HOUR
04 LAST-HR-2
03 HR-2
88 VALID-HR-2
02 DAY-2-R
00006260
PIC X(33). 00006270
VALUE ' ALLOCATION FACTOOOG06260
•R SELECTION: •. 00006290
VALUE ' AREA CATE00006300
•GORY: •.
OCCURS 30 TIMES.
PIC xm.
PIC 9(2) BLANK WHEN ZERO.
PIC X(9).
PIC 9(2).
PIC 9(4).
PIC X(10) VALUE SPACES.
PIC 9V9(3) VALUE ZEROES.
REDEFINES SCALE-FACT-NO
PIC X(4).
VALUE '
PIC 9V9(3) VALUE ZEROES.
REDEFINES SCALE-FACT-KC
PIC X(4).
VALUE '
PIC 9(2) VALUE 00.
VALUE 1.
VALUE 2.
VALUE 3.
VALUE 4.
REDEFINES FACTORS
PIC 9(10).
PIC 9(2) VALUE 00.
VALUE 0 THRU 4.
PIC 9(2) VALUE 00.
PIC 9(2) VALUE 00.
REDEFINES HOUR-1
PIC 9(4).
VALUE 0000 THRU 2424.
REDEFINES DAY-1
PIC X(6).
VALUE '000000'.
PIC 9(2) VALUE 00.
VALUE 0 THRU 4.
PIC 9(2) VALUE 00.
PIC 9(2) VALUE 00.
REDEFINES HOUR-2
PIC 9(4).
VALUE 0000 THRU 2424.
REDEFINES DAY-2
PIC X(6).
A-181
OOC06310
00006320
00006330
00006540
00006350
00006360
00006370
00006330
00006390
00006400
00006410
00006420
00006430
00006440
00006450
OOOC6460
00006470
00006430
00006490
00006500
00006510
00006520
00006330
00006540
00006550
OOOC6560
00006570
00006580
OOOC6590
OOOC6600
00006610
00006620
00006630
OOOC6640
00006650
00006660
00006670
00006680
00006690
OOOC6700
00006710
00006720
00006730
C0006740
CC006750
00006760
0000677C
00006700
00006790
00006SOO
00006310
00006320
-------
88 SECOND
02 OPTION-CHOSEN-SW
88 OPTION-CHOSEN
02 DAY-3.
03 THIRD-DAY
88 VALID-OAY-3
03 HOUR-3.
0* THIRD-HOUR
0* LAST-HR-3
03 HR-3
88 VALID-HR-3
02 DAY-3-R
88 THIRD
02 DAY-4.
03 FOURTH-DAY
88 VALID-DAY-*
03 HOUR-4.
04 FOURTH-HOUR
0* LAST-HR-4
03 HR-4
88 VALID-HR-4
02 DAY-4-R
88 FOURTH
02 FILLER
02 CARD-SEQ-NO-A
02 FILE-NO-A
01 EMISS-NAME-TABLE.
02 EMISS-NAME.
03 FILLER
03 FILLER
03 FILLER
03 FILLER
03 FILLER
03 FILLER
03 FILLER
03 FILLER
03 FILLER
03 FILLER
03 SPARE!
03 SPARE2
02 EMISS-NAME-R
VALUE ' 000000 '.
PIC 9(1).
VALUE 1.
PIC 9(2) VALUE 00.
VALUE 0 THRU 4.
PIC 9(2) VALUE 00.
PIC 9(2) VALUE 00.
REDEFINES HOUR-3
PIC 9(4).
VALUE 0000 THRU
REDEFINES DAY-3
PIC X(6).
VALUE '000000'.
PIC 9(2) VALUE 00.
VALUE 0 THRU 4.
PIC 9(2) VALUE 00.
PIC 9(2) VALUE CO.
REDEFINES HOUR-4
PIC 9(4).
VALUE 0000 THRU 2424.
REDEFINES DAY-4
PIC X(6).
VALUE '000000'.
PIC X(33).
PIC X(l).
PIC X(l).
PIC X(9) VALUE
1 AEROSOLS'.
PIC X(9) VALUE
S02' .
PIC X(9) VALUE
CO1.
PIC X(9) VALUE
NO'.
PIC X(9) VALUE
N02' .
PIC X(9) VALUE
OLE'.
PIC X(9) VALUE
PAR'.
PIC X(9) VALUE
CARS'.
PIC X(9) VALUE
ARO1.
PIC X(9) VALUE
ETH' .
PIC X(9).
PIC X(9).
REDEFINES EMISS-NAME.
A-182
00006830
00006340
00006850
00006860
00006870
00006660
00006390
00006900
00006910
00006920
00006930
00006940
00006950
00006960
00006970
OOOC6930
00006990
00007000
00007010
00007020
00007030
00007040
OOOC7050
C0007060
00007070
00007C80
00007090
OC007100
00007110
03007120
00007130
00007140
00007150
00007160
00007170
00007130
00007190
OC007200
00007210
00007220
00007230
00007240
00007250
C0007260
00007270
00007230
00007290
00007300
00007310
00007320
00007330
00007340
00007350
00007360
OCOC7370
OC0073S3
00007390
-------
03 EMISS-NAMES
01 EMISS-NAME-TABLE-2.
02 EMISS-NAHE-2.
03 FILLER
03 FILLER
03 FILLER
03 FILLER
03 FILLER
03 FILLER
03 FILLER
03 FILLER
03 FILLER
03 FILLER
03 SPARE1
03 SPARE2
02 EMISS-NAME-2-R
03 EMISS-NAMES-2
01 HOUR-TABLE.
02 HOUR-HOLD
01 SWITCHES.
02 DAY-SEL-1-SM
02 DAY-SEL-2-SM
02 DAY-SEL-SW
88 DAY-SEL
02 DAY1-SW
88 DAY1
02 DAY2-SW
88 DAY2
02 FIRST-TIME-SM
88 FIRST-TIME
02 TEST-SW.
03 AREA-SOURCE-SW
88 LESS-SW
88 EQUAL-SW
88 GREATER-SW
02 JOB-EKD-SW
88 JOB-END
02 EOF-SW
83 SW-ON
02 EOF-EIS-SW
OCCURS 12 TIMES
PIC XC9).
PIC X(9) VALUE
'AEROSOLS '.
PIC X(9) VALUE
'S02
PIC X(9) VALUE
'CO
PIC X(9) VALUE
'NO
PIC X(9) VALUE
'N02
PIC X(9) VALUE
'OLE '.
PIC X(9) VALUE
•PAR
PIC X(9) VALUE
'CARS
PIC X(9) VALUE
'ARO
PIC X(9) VALUE
•ETH
PIC X(9).
PIC X(9).
REDEFINES EMISS-NAME-2.
OCCURS 12 TIMES
PIC X(9).
OCCURS 48 TIMES
PIC 9(2).
PIC 9(2).
PIC 9(2).
PIC 9 VALUE 0.
VALUE 1.
PIC 9 VALUE 1.
VALUE 0.
PIC 9 VALUE 0.
VALUE 1.
PIC 9 VALUE 0.
VALUE 0.
PIC 9 VALUE 0.
VALUE 1.
VALUE 2.
VALUE 3.
PIC 9 VALUE 0.
VALUE 1.
PIC 9 VALUE 0.
VALUE 1.
PIC 9 VALUE 0.
00007400
00007410
00007420
00007430
00007440
000074SO
00007460
00007470
00007430
00007490
00007500
00007510
00007520
00007530
00007540
00007550
00007560
00007570
00007S30
00007590
00007600
00007613
00007620
00007630
00007640
00007650
00007660
00007670
00007680
00007690
00007700
00007710
00007720
00007730
00007740
00007750
00007760
00007770
00007780
00007790
00007800
00007810
00007820
00007630
00007840
00007S50
OOC07S60
00007870
00037SSO
00007690
00007900
00007910
00007920
00007930
00007940
00007950
00007960
A-183
-------
88 EOF-EIS
02 CARD-SW
88 CARD-SM-3
02 AS-EQUAL-SW
88 AS-SW
02 EOF-CONTROL-SW
88 EOF-CONTROL
02 EOF-ALLOC-SW
88 EOF-ALLOC
02 EOF-GRID-SW
88 EOF-GRID
02 SEL-DAY-SW
88 ONE
88 TWO
88 THREE
88 FOUR
02 ID-SW
88 LESS-ID
88 EQUAL-ID
88 GREATER-ID
02 COUNTY-MATCH-SW
88 COUNTY-MATCH
02 SEG-3-SW
88 SEG-3
02 NO-ALLOC-NAMES-SW
88 NO-ALLOC-NAMES
02 FACT-CARDS-SW
88 FACT-CARDS
02 EMISS-ADD-SW
88 EMISS-ADD
02 SUM-OUT-COMPLETE^SW
88 SUM-OUT-COMPLETE
02 SUM-SW
88 SSUM
01 SUMMARY-HEADER.
02 FILLER
02 FILLER
02 FILLER
02 FILLER
02 PAGE-NO-S
01 SUMMARY-HEADER-2.
02 FILLER
02 FILLER
02 FILLER
02 DAY-NO
02 FILLER
02 HR-l-S
02 FILLER
VALUE 1.
PIC 9 VALUE 0.
VALUE 3.
PIC 9 VALUE 0.
VALUE 1.
PIC 9 VALUE 0.
VALUE 1.
PIC 9 VALUE 0.
VALUE 1.
PIC 9(1) VALUE 0.
VALUE 1.
PIC 9(1) VALUE 0.
VALUE 1.
VALUE 2.
VALUE 3.
VALUE 4.
PIC 9(1) VALUE 0.
VALUE 1.
VALUE 2.
VALUE 3.
PIC 9(1) VALUE 0.
VALUE 1.
PIC 9(1) VALUE 0.
VALUE 1.
PIC 9(1) VALUE 0.
VALUE 1.
PIC 9(1) VALUE 0.
VALUE 1.
PIC 9(1) VALUE 0.
VALUE 1.
PIC 9(1) VALUE 0.
VALUE 1.
PIC 9(1) VALUE 0.
VALUE 1.
PIC X(49) VALUE SPACES.
PIC X(34) VALUE
00007970
000079SO
00007990
OOOOSOOO
00003010
00008020
00008030
00002040
00002050
00008060
00008070
00008060
00006090
00008100
00008110
00008120
00008130
00003140
00008150
00006160
00003170
00008180
00008190
00008200
00003210
00003220
00008230
00008240
00006250
OOOOS260
00003270
• 00006230
00008290
00003300
00003310
00003320
00003330
00008340
00008350
•EMISSIONS REPORT - - DAILY00006360
1 SUMMARY ' .
PIC X(39) VALUE SPACES.
PIC X(4) VALUE 'PAGE1.
PIC ZZZZZ9.
PIC X(13) VALUE
1 STUDY SUMMARY ' .
PIC X(40) VALUE SPACES.
PIC X(4) VALUE
'DAY '.
PIC 9 VALUE 1.
PIC X(7) VALUE
1 , HOUR ' .
PIC 29.
PIC X(6) VALUE '-HOUR '.
00003370
00008360
00003390
00008400
00008410
00003420
00008430
00003440
00008450
00008460
00003470
00008480
00008490
00003500
00003510
COCOS520
OOOOS530
A-184
-------
02
02
HR-2-S
FILLER
01 SUMMARY-HEAOER-3.
02 FILLER
02 FILLER
02 FILLER
02 FILLER
01 SUMMARY-HEADER-4.
02 FILLER
02 FILLER
01 EMISS-SUMS-TABLE.
02 EMISS-SUMS
03 EMISS-SUM
01 FFILE-ID.
02 FILLER
02 FILLER
02 FILE-ID-CARD
02 FILLER
01 FACT-HDR.
02 FILLER
02 FILLER
02 FILLER
01 DIAGNOSTIC-HEADER.
02 DATA-ID
02 FILLER
02 FILLER
02 FILLER
02 FILLER
02 PA6E-NO-D
01 TOP-HEADER.
02 FILLER
02 FILLER
02 FILLER
PIC Z9.
PIC X(57) VALUE SPACES.
PIC XU5) VALUE SPACES.
PIC XC45) VALUE ALL '*'.
PIC X(23) VALUE
1 EMISSIONS, KG-MOLE/OAY1
PIC X(49) VALUE ALL '*'.
PIC XU2) VALUE
1 GRID GRID '.
PIC X(120) VALUE SPACES.
OCCURS 10 TIMES.
PIC 9C6)V9(4) COMP SYNC.
PIC X(30) VALUE SPACES.
PIC X(ll) VALUE ALL '*•.
PIC X(80).
PIC XC11) VALUE ALL '*',
PIC X(49) VALUE SPACES.
PIC X(35) VALUE
00008540
00008550
OC008560
00003570
00003580
00003590
00006600
00008610
00003620
00003630
00008640
00008650
00038660
00008670
00003630
00008690
00003700
00008710
00003720
00008730
00003740
00003750
00008760
00008770
OOCOS7SO
00008790
00006300
00003810
00003820
OOC03830
00008840
OOOOS350
00008360
•AREA SOURCE GRID/ALLOCATI000003370
'N FACTORS'.
PIC X(48) VALUE SPACES.
00006880
00008390
00008900
00008910
PIC X(31) VALUE 00003920
'CONTROL AND SELECTION FILE00008930
1. OOOOS940
PIC X(21) VALUE SPACES. 00008950
PIC X(27) VALUE 00003960
'DIAGNOSTIC AND INPUT REPCROOOOS970
'T'. 00003980
00008990
00009000
00009010
00009020
00009030
00009040
PIC X(49) VALUE SPACES. 00009050
PIC X(35) VALUE 00009060
'AIRSHED MODEL DATA HANQLIN00009070
'G SYSTEM1. 00009030
PIC X(48) VALUE SPACES. 00009090
00009100
PIC X(43) VALUE SPACES.
PIC XC4) VALUE 'PAGE1.
PIC ZZZ2Z9.
A-185
-------
01 MAIN-HEADER.
OZ FILLER
02 FILLER
02 FILLER
01 REPORT-HEADER,
02 FILLER
02 FILLER
02 FILLER
02 FILLER
02 PAGE-NO-R
01 RUN-HEADER.
02 FILLER
02 RUN-CARD
02 FILLER
02 DATE-D.
03 MO-D
03 DAY-D
03 YR-D
01 DIAG-MSG-TABLE.
02 DIAG-MESSAGES.
03 FILLER
03 FILLER
03 FILLER
03 FILLER
03 FILLER
00009110
00009120
PIC X<43) VALUE SPACES. 00009130
PIC X(46) VALUE 00009140
'AREA SOURCE GRIDDING/MODEL 00009150
'CONVERSION PROGRAM'.
PIC X(43) VALUE SPACES.
PIC X(60)
VALUE SPACES.
PIC X(12) VALUE
•INPUT REPORT1.
PIC X(50) VALUE SPACES.
PIC X(4) VALUE
'PAGE'.
PIC ZZZZZ9.
PIC X(26) VALUE SPACES.
PIC XC80).
PIC X(18) VALUE SPACES.
PIC 99/.
PIC 99/.
PIC 99.
00009160
00009170
00009130
00009190
00009200
00009210
00009220
OC009230
00009240
00009250
00009260
OOC09270
000092SO
00009290
00009300
OOOC9310
00009320
C0009330
00009340
00009350
00009360
OOC09370
00009330
00009390
00009400
00009410
00009420
PIC XC94) VALUE 00009430
'001 ABORT - INVALID DATA FC0009440
•OR DAY-SELECTION CONTROL CO0009450
•ARD 00009460
00009470
PIC X(94) VALUE 000094SO
•002 ABORT - DATA NOT AVAIL00009490
'ABLE FOR * OF DAYS SELECTEOOOC95QO
•D 00009510
• '. 00009520
PIC XC94) VALUE 00009530
'003 ABORT - DAY/HOUR SELEC00009540
'TION CARD NOT FOUND 000095EO
00009560
1 '. 00009570
PIC X(94) VALUE 00009550
'004 ERROR - END OF FILE EN00009590
'COUNTERED ON EIS-OLDMST FI00009600
•LE - ALLOCATION DATA RECOR00009610
•DS REJECTED '. OC009620
PIC X(94) VALUE 00009630
•005 ERROR - END OF FILE CN00009640
1 CONTROL OR ALLOCATION FI00009650
'LES BUT NOT ON EIS FILE - 0000966C
'DATA REJECTED1. 00009670
A-186
-------
03 FILLER
03 FILLER
03 FILLER
03 FILLER
03 FILLER
03 FILLER
03 FILLER
03 FILLER
03 FILLER
03 FILLER
02 DIAG-MSG-R
03 DIAG-MSG
01 ERROR-LINE.
02 FILLER
PIC X(94) VALUE 00009680
'006 DISASTER - EIS MASTER 00009690
•FILE RECORD NOT FOUND FOR AB000009700
•VE ALLOCATION FACTOR RECOROOCC9710
•D '. 00009720
PIC X(94) VALUE 00009730
'007 ERROR - NO SEGMENT 3 R00009740
'ECORDS FOUND FOR ABOVE SEG00009750
•MENT 0 RECORD - DATA REJEC00009760
'TED '. 00009770
PIC XC94) VALUE 000097SO
•008 DISASTER - MISSING ALL00009790
•OCATION FACTOR CARD - CARD 1 00009830
'AND 2 REQUIRED 00009310
00009820
PIC X(94) VALUE 00009830
'009 ABORT - DATA ON ALLOCA00009S40
'TION SELECTION CARD OUT OF00009850
'RANGE 00009860
1 '. . 00009870
PIC X(9
-------
02 ERROR-MSG
01 RECORD-COUNTERS-TABLE.
02 RECORD-COUNTERS.
03 EIS-OLOMST-COUNT
03 AS-REC-COUNT
03 PS-REC-COUNT
03 ALLOC-FACT-COUNT
03 GRID-PACKET-COUNT
03 EMIS-OUT-COUNT
03 ERROR-COUNT
03 COND-COUNT
03 ABORT-COUNT
03 DISASTER-COUNT
03 WARN-COUNT
02 REC-CTR-R
03 REC-CTR
01 UST-MESSA6ES-TABLE.
02 LAST-MESSAGES.
03 LAST-MSG-1.
04 FILLER
0* NBR-HRLY-EMIS-REC
03 LAST-tlSG-2.
04 FILLER
04 NBR-AS-REC
03 LAST-MSG-3.
04 FILLER
04 NBR-PS-REC
03 LAST-MSG-4.
04 FILLER
04 NBR-OF-AF
03 LAST-MSG-5.
04 FILLER
04 NBR-GRID-PACK
03 LAST-MSG-6.
04 FILLER
04 NBR-EMIS-OUT
03 LAST-MSG-7.
04 FILLER
04 FILLER
04 NBR-OF-ERRORS
03 LAST-MSG-8.
PIC X(121).
PIC 9C6) COMP VALUE 0.
PIC 9(6) COMP VALUE 0.
PIC 9(6) COMP VALUE 0.
PIC 9(6) COMP VALUE 0.
PIC 9(6) COMP VALUE 0.
PIC 9(6) COMP VALUE 0.
PIC 9(6) CCMP VALUE 0.
PIC 9(6) COMP VALUE 0.
PIC 9(6) COMP VALUE 0.
PIC 9(6) COMP VALUE 0.
PIC 9(6) COMP VALUE 0.
REDEFINES RECORD-COUNTERS.
OCCURS 11 TIMES PIC 9(6)
CCMP.
00010250
00010260
00010270
00010280
00010290
00010300
00010310
00010320
00010330
00010340
00010350
00010360
00010370
00010330
00010390
00010400
00010410
00010420
00010430
00010440
00010450
00010460
PIC X(41) VALUE 00010470
'NU!1BER OF HOURLY-EMISSIONS00010430
1 RECORDS READ: '. 00010490
PIC ZZZ.ZZ9. 00010500
00010510
PIC X(41) VALUE 00010520
•NUMBER OF AREA SOURCE REC000010530
•RDS PROCESSED: •. 00010540
PIC ZZZ.ZZ9. 0001C550
00010560
PIC X(41) VALUE 00010570
'NUMBER OF POINT SOURCE REC00010530
•ORDS SKIPPED: -. 00010390
PIC ZZZ.ZZ9. 000106CO
00010610
PIC X(41) VALUE 00010620
'NUMBER OF ALLOCATION FACTOC001C630
•R RECORDS READ:'. 00010640
PIC ZZZ.ZZ9. 0001C650
0001C660
PIC X(41) VALUE 00010670
•NUMBER OF GRID VALUES PACK00010630
•ETS CREATED: •. 00010*90
PIC ZZZ.ZZ9. 00010700
00010710
PIC X(41) VALUE 00010720
•NUMBER OF GRID VALUES RECOC0010730
•RDS BITTEN:
PIC ZZZiZZ9.
PIC X(15) VALUE SPACES.
PIC X(26) VALUE
1 ERRORS:1.
PIC ZZZ.ZZ9.
00010740
00310750
00010760
00010770
00010760
00010790
oocioeoo
00010810
A-188
-------
0* FILLER
0* FILLER
0* KBR-OF-COND
03 LAST-MSG-9.
0* FILLER
04 FILLER
04 KBR-OF-ABORT
03 LAST-MSG-10.
04 FILLER
04 FILLER
04 NBR-OF-DISASTER
03 LAST-MSG-11.
04 FILLER
04 FILLER
04 NBR-OF-MARN
02 LAST-MSG
03 FILLER
03 LAST-MSG-NBR
01 TYPE-SEL-TABLE.
02 TYPE-SEL-1
02 TYPE-SEL-2
01 UPDATE-MESSAGES-TABLE.
02 U-MSG-1.
03 FILLER
03 FILLER
02
U-MSG-2.
03 FILLER
03 FILLER
02 U-MSG-3.
03 FILLER
03 FILLER
02 U-MSG-4.
03 FILLER
03 FILLER
02 U-MSG-5.
03 TYPE-SEL
03 OPT-SEL.
04 DATA-C.
PIC X(15) VALUE SPACES.
PIC X(26) VALUE
•CONDITIONALS:'.
PIC ZZZ.ZZ9.
PIC XC15) VALUE SPACES.
PIC X(26) VALUE
•ABORTS:-.
PIC ZZZ.ZZ9.
PIC X(15) VALUE SPACES.
PIC X(26) VALUE
•DISASTERS:'.
PIC ZZZ.ZZ9.
PIC X(15) VALUE SPACES.
PIC X(26) VALUE
•WARNINGS:'.
PIC ZZZ.ZZ9.
REDEFINES LAST-MESSAGES
OCCURS 11 TIMES.
PIC X(41).
PIC ZZZ.ZZ9.
PIC X(30) VALUE
•OPTIONS SELECTED BY USER:
PIC XI30) VALUE
•OPTIONS IN EFFECT:
PIC X(14) VALUE
•PROGRAM NAME: '.
PIC XC118) VALUE
•ASGRIO'.
PIC X(16) VALUE
'REVISION LEVEL:1.
PIC XC116) VALUE 'l-OO1.
PIC X(15) VALUE
•LAST UPDATE «: '.
PIC X(117) VALUE
PIC XU4) VALUE
• INCORPORATED:'.
PIC X(118) VALUE
PIC X(30).
00010S20
00010830
0001C840
00010850
00010360
00010870
00010830
00010890
00010900
00010910
00010920
OC010930
00010940
00010950
00010960
00010970
00010980
00010990
00011000
00011010
00011020
00011030
00011040
00011050
00011060
00011070
00011080
'.00011090
00011100
'.OOD11110
000111EO
00011130
00011140
00011150
OOC11160
00011170
00011180
00011190
00011200
00011210
00011220
00011230
00011240
C0011250
00011260
00011270
00011280
00011290
00011300
00011310
OOC11320
00011330
00011340
00011350
00011360
00011370
00011330
A-189
-------
05 NO-FACT
05 FILLER
05 HC-FACT
05 FILLER
05 NO-DAYS-SEL
0* FILLER
04 FIRST-SEL.
05 DAY-SEL-1
05 FILLER
05 HR-l-A
05 FILLER
05 HR-l-B
0* FILLER
04 SECOND-SEL.
05 DAY-SEL-2
05 FILLER
05 HR-2-A
05 FILLER
05 HR-2-B
04 FILLER
01
01
OZ U-MSG-6.
03 FILLER
03 FILLER
03 FILLER
03 FILLER
OZ U-MSG-7.
03 FILLER
03 FILLER
03 FILLER
03 FILLER
03 FILLER
03 FILLER
HOLD-SEG-3-TABLE.
02 SEG-3-HOUR
03 SEG-3-CATEG
04 EMISSIONS
UNSORTED-OUTPUT-RECCRO.
OZ WS-WRK-EST
OZ BEG-DATE-R.
03 FILLER
03 BEG-YEAR
03 BEG-DAY
BEG-DATE
02
02
BEG-TIME-R.
03 FILLER
03 BEG-HOUR
PIC 9.9(3).
PIC X(4) VALUE SPACES.
PIC 9.9(3).
PIC XC7) VALUE SPACES.
PIC 9(2).
PIC X(7) VALUE SPACES.
PIC 9(2).
PIC X(l) VALUE SPACES.
PIC 9(2).
PIC X(l) VALUE SPACES.
PIC 9(2).
PIC X(3) VALUE SPACES.
PIC 9(2).
PIC X(l) VALUE SPACES.
PIC 9(2).
PIC X(l) VALUE SPACES.
PIC 9(2).
PIC X(53) VALUE SPACES.
PIC X(30) VALUE SPACES.
PIC X(15) VALUE
'SCALING FACTORS'.
PIC X(4) VALUE SPACES.
PIC X(83) VALUE
'# DAYS'.
PIC X(33) VALUE SPACES.
PIC X(9) VALUE
'NO HC'.
PIC X(6) VALUE SPACES.
PIC X(8) VALUE
'SELECTED'.
PIC X(6) VALUE SPACES.
PIC X(15) VALUE
'DAY1 DAY2'.
OCCURS 48 TIMES.
OCCURS 60 TIMES.
OCCURS 10 TIMES
PIC 9(3) COMP.
PIC X(35).
PIC X(5) VALUE SPACES.
PIC 9(3).
PIC 9(3) VALUE 001.
REDEFINES BEG-OATE-R
PIC X(10).
PIC X(6) VALUE SPACES.
PIC 9(2).
00011390
00011400
00011410
30011420
00011430
00011440
0001145C
00011460
00011470
00011430
00011490
00011500
00011510
00011520
00011530
00011540
00011550
00011560
00011570
OC011530
00011590
00011600
00011610
00011620
00011630
00011640
00011650
00011660
00011670
00011680
00011690
00311700
00011710
00011720
00011730
00011740
00011750
00011760
00011770
00011780
00011790
00011SCO
00011810
00011820
00011830
00011840
00011S50
OOQ11S60
00011S70
00011880
00011390
00011900
00011910
00011920
00011930
00011940
000119^0
A-190
-------
03 FILLER
02 BEG-TIME
02 KEY-HOUR
02 GRID-VAL-CARD.
03 G-V-VAR-NAME
03 WORK-GRID-VAL
03 WORK-GRID-VAL-R
0* G-V-COL-NUM
0* G-V-ROW-NUM
03 G-V-VALUE
02 SORTZ
01 TIME-INTER-HDR.
02 T-I-HDR
02 FILLER
01 TIME-INTER-TIME-HDR.
02 T-I-BEG-DATE
02 T-I-BEG-TIHE
02 T-I-END-DATE
02 T-I-END-TIME
02 FILLER
01 TIME-INTER-TIME-GRID.
02 G-V-HDR
02 FILLER
02 WRK-EST
01 TIME-INTER-TIME-END.
02 G-V-TERM
02 FILLER
01 TIME-INTER-PACK-END.
02 T-I-TERM
02 FILLER
01 WORK-GRID-VAL-CARD.
02 WORK-G-V-SREG-NAME.
03 FILLER
02 WORK-G-V-VAR-NAME.
03 VAR-NAME
03 FILLER
02 WORK-GRID.
03 FILLER
03 WOSK-G-V-COL-NUM
PIC 9(2) VALUE ZEROES.
REDEFINES BEG-TIME-R
PIC X(10).
PIC 9(2).
PIC X(9).
PIC 9(8).
REDEFINES WORK-GRID-VAL.
PIC 9(4).
PIC 9(4).
PIC 9(6)V9(4).
PIC 9(2).
PIC X(13) VALUE
•TIME INTERVAL1.
PIC X(67) VALUE SPACES.
PIC X(10).
PIC XUO).
PIC X(10).
PIC X(10).
PIC X(40) VALUE SPACES.
PIC X(12) VALUE
'GRID VALUES '.
PIC X(20) VALUE SPACES.
PIC X(48).
PIC X(3) VALUE 'END1.
PIC X(77) VALUE SPACES.
PIC X(7) VALUE
1ENDTIME'.
PIC X(73) VALUE SPACES.
PIC X(10) VALUE
'AREA
PIC X(9).
PIC X(l) VALUE SPACES.
PIC 9(6) VALUE ZEROES.
PIC 9(4).
00011960
00011970
000119GO
000119=0
00012000
00012010
00012020
00012030
00012040
00012050
00012060
00012070
00012080
00012090
00012100
00012110
00012120
00012130
00012140
00012150
00012160
00012170
00012160
00012190
00012200
00012210
00012220
00012230
00012240
00012250
00312260
00012270
00012280
00012290
00012300
OC012310
00012320
00012330
00012340
00012350
00012360
00012370
000123SO
00012390
00012400
00012410
00012420
00012430
00012443
00012450
00012460
00012473
00012480
00012490
00012500
00012510
00012520
A-191
-------
01
03 FILLER
03 WORK-G-V-ROW-NUM
02 WORK-G-V-VALUE
02 FILLER
DATES.
02 WORK-MO
08 WORK-DAY
02 WORK-YR
OZ FILLER
PIC 9(6) VALUE ZEROES.
PIC 9(4).
PIC 9(10).
PIC X(40) VALUE SPACES.
PIC 9(2).
PIC 9(2).
PIC 9(2).
PIC 9(5).
01 UST-CORE-MSG PIC X(25) VALUE 'WORKING STORAGE ENDS HERE1
PROCEDURE DIVISION.
ROOT-SEGMENT.
PERFORM PGM-INIT THRU PGM-INIT-END.
IF NOT JOB-END
PERFORM MAIN-LOOP THRU MAIN-LOOP-END.
PERFORM WRAP-UP THRU WRAP-UP-END.
STOP RUN.
ROOT-SEGMENT-END.
EXIT.
00012530
00012540
00012550
00012560
00012570
00012530
00012590
00012600
00012610
00012620
00012630
00012640
00012650
00012660
00012670
00012680
00012690
00012700
00012710
00012720
00012730
00012740
00012750
00012760
00012770
00012780
00012790
000128CO
00012810
00012820
00012830
00012840
00012850
00012860
00012870
00012880
00012890
00012900
00012910
00012920
00012930
00012940
00012950
00012960
MAIN-LOOP.
ALL MAIN-LEVEL PROCEDURES ARE CALLED FROM HERE.
MOVE ALLOC-ID TO WORK-ALLOC-ID.
PERFORM ALLOC-FACT-READ THRU ALLOC-FACT-READ-END
UNTIL FACT-CARDS
MOVE FALSE TO FACT-CARDS-SM.
PERFORM SEL-CATEG-READ THRU SEL-CATEG-READ-END.
READ EIS-OLDMST RECORD AT END MOVE TRUE TO EOF-EIS-SW.
MOVE OLD-MOVE TO WORK-OLD-MOVE.
PERFORM OUTPUT-COMPUTE THRU OUTFUT-COMPUTE-END
UNTIL EOF-EIS OR EOF-ALLOC OR JOB-END.
IF OPTION-CHOSEN AND NOT JOB-END
PERFORM SUMMARY-OUTPUT-SCRT THRU SUMMARY-0'JTPUT-SORT-END.00012970
IF NOT JOB-END 00012980
PERFORM EOF-TEST THRU EOF-TEST-END 00012990
PERFORM OUTPUT-SORT THRU OUTPUT-SORT-END. 00013000
MAIN-LOOP-END. 00013010
EXIT. 00013020
00013030
00013040
00013050
ALLOC-FACT-READ. 00013060
BOTH ALLOCATION FACTOR CARDS ARE READ AND MOVED INTO 00013070
WORKING STORAGE. PROCEDURE WHICH READS ALLOCATION SELECTION00013080
CARDS IS CALLED. 00013090
A-192
-------
IF LINE-CNTR-R IS NOT LESS THAN LINE-MAX
PERFORM FRINT-REPORT-HEADER THRU
PRINT-REPORT-HEADER-END.
IF ALLOC-ID IS NOT EQUAL TO KORK-ALLOC-ID
PERFORM ALLOC-WRITE THRU ALLOC-WRITE-END
MOVE 1 TO X
MOVE 1 TO Y.
MOVE ALLOC-DATA TO ALLOC-CARDS (CARD-SEQ-HUM).
MOVE ALLOC-ID TO WORK-ALLOC-ID.
READ CNTY-GRID-ALLOC-FACT RECORD AT END
MOVE TRUE TO EOF-ALLOC-SM.
IF ALLOC-ID IS NOT EQUAL TO WORK-ALLOC-ID
MOVE INPUT-ALLOC TO REPORT-DATA
WRITE REPORT-LINE AFTER ADVANCING BINARY-3 LINES
MOVE DIAG-MSS (8) TO ERROR-MSG
MOVE ERROR-LINE TO REPORT-DATA
WRITE REPORT-LINE AFTER ADVANCING BIHARY-l LINES
ADD BINARY-4 TO LINE-CNTR-D
ADD BINARY-1 TO DISASTER-COUNT
MOVE TRUE TO JOB-END-SW
ELSE
ADD BINARY-1 TO ALLOC-FACT-COUNT
MOVE ALLOC-DATA TO ALLOC-CARDS (CARD-SEQ-NUM)
MOVE ALLOC-ID TO WORK-ALLOC-ID
MOVE ALLOC-ST TO ST-VAL
MOVE ALLOC-CNTY TO CNTY-VAL
MOVE COL-NO TO GRID-C
MOVE ROW-NO TO GRID-R
MOVE 1 TO X
MOVE 1 TO Y
PERFORM MOVE-DATA 30 TIMES
ADD BINARY-^ TO LINE-CNTR-R
MOVE TRUE TO FACT-CARDS-SW.
ALLOC-FACT-READ-END.
EXIT.
ALLOC-WRITE.
MOVE SPACES TO INPUT-DATA.
MOVE AST-HOLD TO NAMES-SR.
WRITE INPUT-LINE AFTER ADVANCING BINARY-1 LINES.
MOVE SPACES TO INPUT-DATA.
MOVE ALLOC-TITLE TO TITLE.
MOVE 1 TO X.
MOVE 1 TO Y.
PERFORM MOVE-ALLOC-SUMS THRU MOVE-ALLOC-SUMS-END
30 TIMES.
MOVE FALSE TO SUM-SW.
IF NOT EOF-ALLOC
MOVE 1 TO X
PERFORM PRINT-REPORT-HEADER THRU PRINT-REPORT-HEADER-END
MOVE 1 TO X.
ALLOC-WRITE-END.
EXIT.
00013100
00013110
COC13120
00013130
00013140
00013150
00013160
00013170
00013180
00013190
00013200
00013210
00013220
OOC13230
00013240
00013250
00013260
00013270
00013280
00013290
00013300
00013310
00013320
00013330
00013340
00013350
00013360
00013370
00013360
00013390
00013400
00013410
00013420
00013430
00013440
00013450
00013460
00013470
00013480
00013490
00013500
00013510
00013520
00013530
C0013540
00013550
00013560
00013570
00013530
00013590
00013600
00013610
00013620
00013630
00013640
00013650
00013660
A-193
-------
CNTY-COMPUTE.
THE MAIN PROCESSING OF DATA ALONG WITH THE READING OF
ALLOCATION FACTOR CARDS IS CONTROLLED HERE.
MOVE 1 TO XX.
PERFORM COMPUTE-GRID THRU COMPUTE-GRID-END SUB-X TIMES.
MOVE 001 TO BEG-DAY.
READ CNTY-GRID-ALLOC-FACT AT END
MOVE TRUE TO EOF-ALLOC-SW
PERFORM ALLOC-WRITE THRU ALLOC-WRITE-END
MOVE 1 TO X
MOVE 1 TO Y.
PERFORM ALLOC-FACT-READ THRU ALLOC-FACT-READ-END UNTIL
EOF-ALLOC OR JOB-END OR FACT-CARDS.
MOVE FALSE TO FACT-CARDS-SH.
IF NOT JOB-END AND NOT EOF-ALLOC
IF HOLD-ID IS NOT EQUAL TO ALLOC-ID
' PERFORM SEL-CATEG-READ THRU SEL-CATEG-READ-EUO
MOVE FALSE TO COUNTY-MATCH-SW
ELSE
NEXT SENTENCE
ELSE
NEXT SENTENCE.
CNTY-COMPUTE-END.
EXIT.
COMPUTE-GRID.
00012670
000136QO
00013690
00013700
00013710
00013720
00013730
00013740
00013750
00013760
00013770
000137SO
00013790
00013800
00013310
00013820
OOC13830
00013840
00013850
00013360
00013870
00013830
00013890
00013900
00013910
00013920
00013930
00013940
00013950
PROCEDURES TO DO COMPUTATIONS AND TO CREATE UNSORTED CUTPUT00013960
FILE ARE CONTROLLED FROM HERE.
MOVE ARRAY-SEL (XX) TO X.
MOVE 1 TO Y.
PERFORM GRID-EMIS THRU GRID-EMIS-END 60 TIMES.
MOVE 1 TO Z.
PERFORM UNSORTED-OUTPUT THRU UNSORTED-OUTPUT-END.
ADD 1 TO XX.
MOVE 1 TO X.
PERFORM ZERO-EMIS-RATE THRU ZERO-EMIS-RATE-END 10 TIMES.
COMPUTE-GRID-END.
EXIT.
CONTROL-CARDS-IN.
DAY AND HOUR SELECTION CARD IS READ AND MOVED TO WORKING
STORAGE. THE PROC TO EDIT THE SELECTION CARD IS CALLED.
READ AS-ALLOC-CONTROL AT END MOVE TRUE TO EOF-CONTROL-SW.
IF FILE-4
MOVE CONTROL-CARD TO SEL-CARD
PERFORM SEL-CARD-EDIT THRU SEL-CARD-EDIT-END
ELSE
MOVE TRUE TO JOB-END-SW
MOVE DIAG-MSG (3) TO ERROR-MSG
MOVE ERROR-LINE TO REPORT-DATA
WRITE REPORT-LINE AFTER ADVANCING .BINARY-3 LINES
ADD BINARY-3 TO LINE-CNTR-D
A-194
00013970
00013980
00013990
00014000
00014010
00014020
00014030
00014040
00014050
00014050
00014070
00014080
00014090
00014100
00014110
00014120
00014130
00014140
00014150
00014160
00014170
00014180
00014190
00014200
00014210
00014220
OC014230
-------
ADD BINARY-1 TO ABORT-COUNT.
CONTROL-CARDS-IN-END.
EXIT.
CREATE-PACKET-EMISS.
THE CREATING AND PUNCHING OF PACKET HEADER AND TRAILER
CARDS AND EMISSION PACKET RECORDS IS CONTROLLED HERE.
MOVE G-V-COL-NUM OF UNSORTED-OUTPUT-RECORD TO
WORK-G-V-COL-NUM.
MOVE G-V-ROW-NUM OF UNSORTED-OUTPUT-RECORD TO
WORK-G-V-ROW-NUM.
MOVE G-V-VALUE TO WORK-G-V-VALUE.
MOVE G-V-VAR-NAME TO VAR-NAME.
MOVE WORK-GRID-VAL-CARD TO GRID-PACKET.
WRITE GRID-PACKET.
READ GRID-EMISS AT END MOVE TRUE TO EOF-GRID-SM
MOVE ZEROES TO KEY-HOUR.
IF NOT EOF-GRID
MOVE GRID-OUT TO UNSORTED-OUTPUT-RECORD.
IF KEY-HOUR IS NOT EQUAL TO HOLD-KEY-HOUR
MOVE KEY-HOUR TO HOLD-KEY-HOUR
MOVE TIME-INTER-TIME-END TO GRID-PACKET
WRITE GRID-PACKET
MOVE TIME-INTER-PACK-END TO GRID-PACKET
WRITE GRID-PACKET
ADD BINARY-1 TO GRID-PACKET-COUNT
ADO BINARY-5 TO EMIS-OUT-COUNT
IF NOT EOF-GRID
PERFORM CREATE-PACKET-HDR THRU CREATE-PACKET-HDR
ELSE
NEXT SENTENCE
ELSE
NEXT SENTENCE.
CREATE-PACKET-EMISS-END.
EXIT.
CREATE-PACKET-HDR.
APPROPRIATE MOVES ARE MADE TO CREATE PACKET HEADERS.
MOVE TIME-INTER-HDR TO GRID-PACKET.
WRITE GRID-PACKET.
MOVE BEG-DATE TO T-I-BEG-DATE.
MOVE BEG-DATE TO T-I-END-DATE.
MOVE BEG-TIME TO T-I-END-TIME.
SUBTRACT I FROM BEG-HOUR.
MOVE BEG-TIME TO T-I-BEG-TIME.
MOVE TIME-INTER-TIME-HDR TO GRID-PACKET.
WRITE GRID-PACKET.
MOVE WS-WRK-EST TO WRK-EST.
MOVE TIME-INTER-TIME-GRID TO GRID-PACKET.
WRITE GRID-PACKET.
CREATE-PACKET-HDR-END.
EXIT.
00014240
00014250
00014260
00014270
00014280
00014290
00014300
00014310
00014320
00014330
00014340
00014350
00014360
00014370
00014380
00014390
00014400
00014410
00014420
00014430
00014440
00014450
00014460
00014470
00014480
00014490
00014500
00014510
00014520
OC014530
-END 00014540
00014550
00014560
00014570
00014580
00014590
OC014600
00014610
00014620
00014630
0001464C
00014650
00014660
00014670
00014iSO
00014690
00014700
00014710
00014720
00014730
00014740
00014750
00014760
00014770
00014730
00014790
00014300
A-195
-------
CREATE-SUMMARY-TABLE.
* CREATION OF THE EMISSIONS SUMMARY TABLE IS CONTROLLED FROM
* HERE.
MOVE SPACES TO SUM-DATA.
MOVE 1 TO X.
PERFORM C-SUMMARY-WRITE THRU C-SUMMARY-WRITE-ENC.
IF NOT DAY1 AND BE6-DAY IS EQUAL TO 002
MOVE TRUE TO DAY2-SW
MOVE FALSE TO DAY1-SW
MOVE SPACES TO SUM-DATA
MOVE AST-HOLD TO EM-NAMES-R
WRITE SUM-LINE AFTER ADVANCING BINARY-1 LINES
MOVE SPACES TO SUM-DATA
MOVE HDR-VALUE-2 TO HDR
MOVE 1 TO X
PERFORM MOVE-EMIS-SUM THRU MOVE-EMIS-SUM-END 10 TIMES
WRITE SUM-LINE AFTER ADVANCING BINARY-1 LINES
MOVE 1 TO X
PERFORM ZERO-EMIS-SUM THRU ZERO-EMIS-SUM-END 10 TIMES
MOVE 1 TO X
MOVE HR-2-A TO HR-l-S
MOVE HR-2-B TO HR-2-S
MOVE 2 TO DAY-NO
PERFORM PRINT-SUMMARY-HDR THRU PRINT-SUMMARY-HDR-END
MOVE FALSE TO OAY2-SW.
IF EOF-GRID
MOVE TRUE TO SUM-OUT-COMPLETE-SW
MOVE SPACES TO SUM-DATA
MOVE AST-HOLD TO EM-NAMES-R
WRITE SUM-LINE AFTER ADVANCING BINARY-1 LINES
MOVE SPACES TO SUM-DATA
MOVE HDR-VALUE-2 TO HDR
MOVE 1 TO X
PERFORM MOVE-EMIS-SUM THRU MOVE-EMIS-SUM-END 10 TIMES
WRITE SUM-LINE AFTER ADVANCING BINARY-1 LINES.
CREATE-SUMMARY-TABLE-END.
EXIT.
C-SUMMARY-WRITE.
WRITES EACH LINE OF SUMMARY TABLE.
IF EOF-GRID
MOVE G-V-COL-NUM OF UNSORTED-OUTPUT-RECORD TO TABLE-COL
MOVE G-V-ROW-NUM OF UNSORTED-OUTPUT-RECORD TO TABLE-ROW
ELSE
MOVE G-V-COL-NUM OF HOLD-GRID-VAL TO TABLE-COL
MOVE G-V-ROW-NUM OF HOLO-GRID-VAL TO TABLE-RCH.
PERFORM MOVE-EMIS-SUM THRU MOVE-EMIS-SUM-EHD 10 TIMES
WRITE SUM-LINE AFTER ADVANCING BINARY-1 LINES
ADD BINARY-1 TO LINE-CNTR-S.
C-SUMMARY-WRITE-END.
EXIT.
00014810
00014320
00014830
00014340
00014850
00014860
00014370
00014S60
00014890
00014900
00014910
00014920
00014930
00014940
00014950
00014960
00014970
00014980
00014990
00015000
00015010
00015020
00015030
OC015040
00015050
00015060
00015070
00015080
00015090
00015100
00015110
00015120
00015130
00015140
00015150
00015160
00015170
00015180
00015190
000152CO
00015210
00013220
00015230
OC015240
00015250
00015260
00015270
00315230
00015290
00015300
00015310
00015320
00015330
00015340
00015350
00015260
00015370
A-196
-------
00015380
EIS-READ. 00015390
EIS MASTER FILE IS SEARCHED FOR AN AREA SOURCE RECORD WHICHC0015400
MATCHES THE ALLOCATION FACTOR RECORD ON STATE AND COUNTY 00015410
IDS. 00015420
IF NOT SEG-0-REC 00015430
NEXT SENTENCE 00015440
ELSE 00015450
IF NOT AREA-SOURCE 00015460
NEXT SENTENCE 00015470
ELSE 00015430
MOVE AS-CNTT-ID TO HOLD-ID 00015490
MOVE AS-CNTY-ID TO REPORT-DATA 00015500
WRITE REPORT-LINE AFTER ADVANCING BINARY-3 LINES 00015510
MOVE 1 TO I II
PERFORM WRITE-SEL-CATEG 2 TIMES
ADD BINARY-7 TO LINE-CNTR-D
PERFORM ID-TEST THRU ID-TEST-END.
IF SEG-1-REC
ADD BINARY-1 TO EIS-OLOMST-COUNT
ADD BINARY-1 TO PS-REC-COUNT.
IF EQUAL-ID
MOVE OLD-MASTO TO WORK-FIXED-SEGMENT
MOVE WORK-CONT-TELE-PRIN TO WS-WRK-EST.
READ EIS-OLDMST RECORD AT END MOVE TRUE TO EOF-EIS-SW.
IF NOT EOF-EIS
MOVE OLD-MOVE TO WORK-OLD-MOVE.
EIS-READ-END.
EXIT.
EMIS-MULT.
MULTIPLIES ALLOCATION FACTORS BY EMISSIONS AND THEN BY
SCALING FACTOR.
MULTIPLY ALLOC-FACT (YY) BY EMISSIONS (X, Y, 2)
GIVING HOLD-1.
IF Z-NO
MULTIPLY NO-FACT-77 BY HOLD-1.
IF Z-HC
MULTIPLY HC-FACT-77 BY HOLD-1.
ADD HOLD-1 TO HOLD-EMISS-RATE (Z).
ADD 1 TO Z.
EMIS-MULT-END.
EXIT.
00015520
00015530
00015540
00015550
00015560
OC015570
00015580
00015590
00015600
00015610
00015620
00015630
00015640
C0015650
00015660
00015670
00015680
00015690
00015700
OC015710
00015720
00015730
00015740
00015750
00015760
00015770
00015780
00015790
00015300
00015810
00015S20
00015S30
00015840
00015850
EMIS-VAL-CARD. 00015860
MOVES DATA TO UNSORTED RECORD FORMAT FOR OUTPUT TO THE FILE00015870
WHICH IS LATER SORTED FOR CREATING GRID PACKETS AND SUNMARYO0015380
REPORT. 00015690
MOVE EMISS-NAMES-2 (Z) TO G-V-VAR-NAME. 00015900
MOVE HOLD-EMISS-RATE (Z) TO G-V-VALUE. 00015910
MOVE Z TO SORTZ. 00015920
MOVE" UNSORTED-OUTPUT-RECORD TO GRID-OUT. 00015930
WRITE GRID-OUT. 00015940
A-197
-------
ADD BINARY-1 TO EMIS-OUT-COUNT.
ADD 1 TO Z.
EMIS-VAL-CARD-END.
EXIT.
EOF-ERROR.
WRITES ERROR GENERATED FROM EOF-TEST TO DIAGNOSTIC REPORT.
MOVE DIAG-MSG (DIAG-SUB) TO ERROR-MSG.
MOVE ERROR-LINE TO REPORT-DATA.
WRITE REPORT-LINE AFTER ADVANCING BINARY-3 LINES.
ADD BINARY-3 TO LINE-CNTR-D.
ADD BINARY-1 TO ERROR-COUNT.
IF LINE-CNTR-D IS NOT LESS THAN LINE-MAX
PERFORM PRINT-DIAG-HEADER THRU PRINT-DIAG-HEADER-END.
EOF-ERROR-END.
EXIT.
EOF-TEST.
GENERATES THE APPROPRIATE ERROR FOR UNMATCHED END OF FILES
IF EOF-CCNTROL AND NOT ECF-ALLOC
MOVE 11 TO DIAG-SUB
PERFORM ECF-ERROR THRU EOF-ERROR-END.
IF EOF-ALLOC AND NOT EOF-CONTROL
MOVE 12 TO DIAG-SUB
PERFORM EOF-ERROR THRU EOF-ERROR-END.
IF EOF-EIS AND (NOT EOF-CONTROL OR NOT ECF-ALLOC)
MOVE
-------
MOVE ALLOC-DATA TO FACT-NAMES (CARD-SEQ-NUM)
READ CNTY-GRID-ALLOC-FACT RECORD AT END
HOVE TRUE TO EOF-ALLOC-SW.
IF NO-ALLOC-NAMES
NEXT SENTENCE
ELSE
IF ALLOC-ID-R IS EQUAL TO SPACES
MOVE ALLOC-DATA TO FACT-NAMES (CARD-SEQ-NUM)
READ CNTY-GRID-ALLOC-FACT RECORD AT END
MOVE TRUE TO EOF-ALLOC-SW
ELSE
NEXT SENTENCE.
FACT-NAMES-READ-END.
EXIT.
FILL-ARRAY.
* INITIAL VALUE FOR SELECTION ARRAY COMES FROM COMPUTATIONS
* IN SEL-CARD-COMPUTE AND IS INCREASED BY 1 UNTIL FINAL DAY-
* HOUR VALUE IS ACHIEVED.
COMPUTE SUB-Y = SUS-X + 1.
ADD 1 ARRAY-SEL (SUB-X) GIVING ARRAY-SEL (SUB-Y).
ADD 1 TO SUB-X.
FILL-ARRAY-END.
EXIT.
FILL-HOUR-HOLD.
IF X IS LESS THAN 25
MOVE X TO HOUR-HOLD (X).
IF X IS GREATER THAN 24
SUBTRACT 24 FROM X GIVING Y
MOVE Y TO HOUR-HOLD (X).
ADD 1 TO X.
FILL-HOUR-HOLD-END.
EXIT.
FIND-AREA-SOURCE.
* CONTROLS THE SEARCH FOR AN AREA SOURCE RECORD FROM EIS
* MASTER FILE AND .ULTIMATELY, A MATCH FOR THE ALLOCATION
* FACTOR RECORD.
PERFORM EIS-READ THRU EIS-READ-END UNTIL EQUAL-ID OR
GREATER-ID 0!?
EOF-EIS.
IF EOF-EIS
NEXT SENTENCE
ELSE
IF GREATER-ID
MOVE TRUE TO JOB-END-SW
MOVE DIAG-MSG (6) TO ERROR-MSG
MOVE ERROR-LINE TO REPORT-DATA
WRITE REPORT-LINE AFTER ADVANCING BINARY-1 LIMES
ADD BINARY-1 TO LINE-CNTR-D
A-199
00016520
00016530
00016540
00016550
00016560
00016570
00016580
00016590
00016600
00016610
00016620
00016630
00016640
00016650
00016660
00016670
00016630
00016690
00016700
00016710
00016720
00016730
00016740
00016750
00016760
OC016770
00016700
00016790
00016800
00016310
00016320
00016830
00016840
00016850
00016860
00016870
00016380
00016890
00016900
00016910
00016920
00016930
00016940
00016950
00016960
00016970
000169SO
00016990
00017000
00017010
00017020
00017030
00017040
00017050
00017060
00017070
00017030
-------
ADD BINARY-1 TO ABORT-COUNT
IF LINE-CNTR-D IS NOT LESS THAN LINE-MAX
PERFORM PRINT-DIAG-HEADER THRU
PRIHT-DIAG-HEADER-END
ELSE
NEXT SENTENCE
ELSE
MOVE TRUE TO COUNTY-MATCH-SW.
MOVE ZEROES TO ID-SW.
FIND-AREA-SOURCE-END.
EXIT.
FIND-EIS-EOF.
IF NOT SE6-1-REC
NEXT SENTENCE
ELSE
ADD BINARY-1 TO EIS-OLDMST-COUNT
IF NOT AREA-SOURCE
ADD BINARY-1 TO PS-REC-COUNT
ELSE
ADD BINARY-1 TO AS-REC-COUNT
MOVE 5 TO DIAG-SUB
PERFORM EOF-ERROR THRU EOF-ERROR-END
MOVE TRUE TO EOF-EIS-SW.
READ EIS-OLDMST RECORD AT END MOVE TRUE TO ECF-EIS-SW.
IF NOT EOF-EIS
MOVE OLD-MOVE TO WORK-OLD-MOVE.
FIND-EIS-EOF-END.
EXIT.
GRID-EMIS.
DETERMINES THE SET OF EMISSIONS VALUES TO BE USED IN THE
COMPUTATIONS.
IF CATEGS (Y) IS NOT EQUAL TO 0
MOVE CATEGS (Y) TO YY
MOVE 1 TO Z
PERFORM EMIS-MULT THRU EMIS-MULT-END 10 TIMES
ELSE
NEXT SENTENCE.
ADD 1 TO Y.
GRID-EMIS-END.
EXIT.
ID-TEST.
SETS SWITCH AS TO WHETHER THE AREA SOURCE ID IS GREATER
THAN,EQUAL TO, OR LESS THAN THE ALLOCATION FACTOR ID.
IF AS-CNTY-ID IS LESS THAN ALLOC-ID
MOVE BINARY-1 TO ID-SW.
IF AS-CNTY-ID IS EQUAL TO ALLOC-ID
MOVE BINARY-2 TO ID-SW.
IF AS-CNTY-ID IS GREATER THAN ALLOC-ID
A-200
00017090
00017100
00017110
00017120
00017130
00017140
00017150
00017160
00017170
00017180
00017190
00017200
00017210
00017220
00017230
00017240
00017250
00017260
00017270
00017280
00017290
00017300
00017310
00017320
00017330
00017340
00017350
00017360
00017370
00017330
00017390
00017400
00017410
00017420
00017430
00017440
00017450
00017460
00017470
00017480
00017490
OC017500
00017510
00017520
00017530
00017540
00017550
00017560
00017570
00017530
00017590
00017600
00017610
00017620
00017630
00017640
00017650
-------
MOVE BINARY-3 TO ID-SW.
ID-TEST-EKD.
EXIT.
MOVE-ALLOC-SUMS.
MOVES COUtfTY TOTALS FOR ALLOCATION FACTORS TO PRINT-FILE
FOR WRITING TO INPUT REPORT.
IF ALLOC-SUM (X) IS NOT EQUAL TO 1 AND
ALLOC-SUM (X) IS GREATER THAN 0 AND
NOT SSUM
MOVE DIAG-MSG (14) TO ERROR-MSG
MOVE ERROR-LINE TO REPORT-DATA
WRITE REPORT-LINE AFTER ADVANCING BINARY-1 LINES
MOVE TRUE TO SUM-SW
ADD BINARY-1 TO COND-COUNT.
MOVE ALLOC-SUM (X) TO FACT-VAL (Y).
MOVE ZEROES TO ALLOC-SUM (X).
ADD 1 TO X.
ADD 1 TO Y.
IF X IS EQUAL TO 16
WRITE INPUT-LINE AFTER ADVANCING BINARY-2 LINES
MOVE 1 TO Y
MOVE SPACES TO INPUT-DATA.
IF X IS EQUAL TO 31
WRITE INPUT-LINE AFTER ADVANCING BINARY-1 LINES.
MOVE-ALLOC-SUMS-END.
EXIT.
MOVE-DATA.
00017660
00017670
00017680
00017690
00017700
00017710
00017730
00017730
00017740
00017750
00017760
00017770
00017780
00017790
00017800
00017310
00017830
00017830
00017840
00017830
00017860
00017870
00017380
00017890
00017900
OOC17910
00017920
00017930
00017940
00017950
00017960
0001797C
00017980
MOVES ALLOCATION FACTORS TO PRINT-FILE FOR WRITING TO IMPUT00017990
REPORT.
IF ALLOC-FACT-R (X) IS EQUAL TO SPACES
MOVE ZEROES TO ALLOC-FACT (X).
MOVE ALLOC-FACT (X) TO FACT-VAL (Y).
ADD ALLOC-FACT (X) TO ALLOC-SUM (X).
ADD 1 TO X.
ADD 1 TO Y.
IF X IS EQUAL TO 16
WRITE INPUT-LINE AFTER ADVANCING BINARY-2 LINES
MOVE 1 TO Y
MOVE SPACES TO INPUT-DATA.
IF X IS EQUAL TO 31
WRITE INPUT-LINE AFTER ADVANCING BINARY-1 LINES.
MOVE-DATA-END.
EXIT.
MOVE-EMIS-NAMES.
MOVES EMISSION NAMES TO PRINT-FILE TO BE USED AS HEADERS
FOR SUMMARY REPORT.
MOVE EMISS-NAMES (X) TO EM-NAME (X).
ADD 1 TO X.
00018000
00018010
00018020
00013030
00018040
00018050
00018060
00016070
00018080
00016090
00018100
00018110
OOC16120
00018130
00018140
00018150
00018160
00018170
00018180
00013190
00018200
00018210
00018220
A-201
-------
MOVE-EMIS-NAMES-END.
EXIT.
MOVE-EMIS-SUM.
MOVES DATA TO PRINT-FILE FOR WRITING TO SUMMARY REPORT
IF DAY2 OR SUM-OUT-COMPLETE
MOVE EMISS-SUM (X) TO EM-VAL (X)
ELSE
MOVE HOLD-EMISS-RATE (X) TO EM-VAL (X).
ADD 1 TO X.
MOVE-EMIS-SUM-END.
EXIT.
MOVE-NAMES.
MOVES FACTOR NAMES TO PRINT-FILE TO BE USED AS HEADERS
INPUT REPORT.
MOVE SPACES TO HOLD-SPACE (Y).
MOVE FACTOR-NAMES (X) TO NAMES (Y).
ADD 1 TO X.
ADD 1 TO Y.
IF X IS EQUAL TO 16
WRITE INPUT-LINE AFTER ADVANCING BIHARY-3 LINES
MOVE 1 TO Y
MOVE TITLE2 TO TITLE.
IF X IS EQUAL TO 31
WRITE INPUT-LINE AFTER ADVANCING BINARY-1 LINES
MOVE SPACES TO INPUT-LINE.
MOVE-NAMES-END.
EXIT.
MOVE-SEL-DATA.
IF TITLED EQUAL ' AREA SOURCE CATEGORY:
MOVE I TO SEL-DATA (II).
IF TITLED EQUAL • ALLOCATION FACTOR SELECTION:
MOVE CATEGS (I) TO SEL-DATA (II).
ADD 1 TO I.
ADD 1 TO II.
MOVE-SEL-DATA-END.
EXIT.
NOT-SEG-3.
READ CNTY-GRID-ALLOC-FACT AT END
MOVE TRUE TO EOF-ALLCC-SW
PERFORM ALLOC-WRITE THRU ALLOC-KRITE-END
MOVE 1 TO X
MOVE 1 TO Y.
PERFORM ALLOC-FACT-READ THRU ALLOC-FACT-READ-EHD UNTIL
EOF-ALLOC OR JOB-END OR FACT-CARDS.
NOT-SEG-3-END.
A-202
00018230
00013240
00018250
00013260
00018270
00018280
00018290
00018300
00018310
00018320
00018330
00018340
00018350
00016360
00016370
000183CO
00018390
00018'iCO
FOR 00018410
00013420
00013430
00018440
00018450
OOC18<'i60
00018470
00018480
00013490
00013500
00013510
00013520
00018530
00016540
00018550
00018560
00013570
00016580
00013590
00016600
00018610
00018620
00018630
0001S640
00018650
00018660
00018670
00013680
00018690
00013700
00018710
00018720
00018730
00018740
00018750
00018760
00018770
0001S760
000187T-0
-------
EXIT. 00018800
00018810
00013820
00018330
OPTION-MESSAGES. 00018340
WRITES USER-SELECTED VS PROGRAM-GENERATED DAY AND HOUR DATA00018SSO
FROM CONTROL CARD.
HOVE NO-OF-OAYS-SEL TO NO-DAYS-SEL.
MOVE FIRST-DAY TO DAY-SEL-1.
MOVE FIRST-HOUR TO HR-l-A.
MOVE UST-HR-1 TO HR-l-B.
MOVE SECOND-DAY TO OAY-SEL-2.
MOVE SECOND-HOUR TO HR-2-A.
MOVE LAST-HR-2 TO HR-2-B.
MOVE TYPE-SEL-1 TO TYPE-SEL.
MOVE U-MSG-6 TO REPORT-DATA.
WRITE REPORT-LINE AFTER ADVANCING BINARY-3 LINES.
MOVE U-MSG-7 TO REPORT-DATA.
WRITE REPORT-LINE AFTER ADVANCING BINARY-1 LINES.
MOVE U-MSG-5 TO REPORT-DATA.
WRITE REPORT-LINE AFTER ADVANCING BINARY-1 LINES.
IF NO-R
MOVE BINARY-1 TO NO-FACT NO-FACT-77.
IF HC-R
MOVE BINARY-1 TO HC-FACT HC-FACT-77.
IF NO-OAYS-2
MOVE BINARY-1 TO HR-2-A
MOVE BINARY-24 TO HR-l-B.
MOVE TYPE-SEL-2 TO TYPE-SEL.
MOVE U-MSG-5 TO REPORT-DATA.
WRITE REPORT-LINE AFTER ADVANCING BINARY-3 LINES.
ADD BINARY-12 TO LINE-CNTR-D.
OPTION-MESSAGES-END.
EXIT.
OUTPUT-COMPUTE.
CONTROLS PROCEDURES NEEDED IN LOCATING AREA SOURCES,
COMPUTING EMISSION VALUES AND READING ALLOCATION FACTORS.
PERFORM FIND-AREA-SOURCE THRU FIND-AREA-SOURCE-EN3 UNTIL
EOF-EIS OR COUNTY-MATCH OR JOB-END.
IF NOT JOB-END AND NOT EOF-EIS
PERFORM SEG-3-READ THRU SEG-3-READ-END UNTIL EOF-EIS OR
SEG-0-REC
IF NOT SEG-3
MOVE DIAG-MSG (7) TO ERROR-MSG
MOVE ERROR-LINE TO REPORT-DATA
WRITE REPORT-LINE AFTER ADVANCING BINARY-1 LINES
ADD BINARY-1 TO LINE-CNTR-D
ADD BINARY-1 TO ERROR-COUNT
PERFORM NOT-SEG-3 THRU NOT-SEG-3-END
IF LINE-CNTR-D IS NOT LESS THAN LINE-MAX
PERFORM PRINT-DIAG-HEADER THRU
PRINT-DIAG-HEADER-END
ELSE
NEXT SENTENCE
00018860
00016370
00018360
00018390
00018900
00016910
00013930
00018930
00018940
00018950
00013960
00018970
00018953
00018990
00019000
00019010
00019020
00019030
00019040
00019050
00019060
00019070
00019080
00019090
00019100
00019110
00019120
00019130
00019140
00019150
00019160
00019170
00019180
00019190
00019200
00019210
00019230
00019230
00019240
00019250
00019260
00019270
00019280
00019290
00019300
00019310
00019320
OC019330
00019340
00019350
C0019360
A-203
-------
ELSE
PERFORM CNTY-COMPUTE THRU CNTY-COMPUTE-END UNTIL
EOF-ALLOC OR NOT COUNTY-MATCH OR JOS-END.
MOVE FALSE TO SEG-3-SW DAY-SEL-SW.
IF EOF-CONTROL AND NOT EOF-ALLOC
READ CNTY-GRID-ALLOC-FACT RECORD AT END
MOVE TRUE TO EOF-ALLOC-SW
PERFORM ALLCC-KRITE THRU ALLOC-WRITE-END
MOVE 1 TO X
MOVE 1 TO Y.
IF EOF-ALLOC AND NOT EOF-CONTROL
READ AS-ALLOC-CONTROL AT END
MOVE TRUE TO EOF-CONTROL-SW.
IF (EOF-ALLOC OR EOF-CONTROL) AND NOT EOF-EIS
PERFORM FINO-EIS-EOF THRU FIND-EIS-EOF-END
UNTIL EOF-EIS.
OUTPUT-COMPUTE-END.
EXIT.
OUTPUT-SORT.
THE SORT AND THE PROCEDURE TO CREATE PACKETS ARE CALLED.
CLOSE GRID-EMISS.
SORT SORT-FILE ON ASCENDING KEY SORT-HOUR SORT-GRID SORT-Z
USING GRID-EMISS GIVING GRID-EMISS.
OPEN INPUT GRID-EMISS.
READ GRID-EMISS AT ENO MOVE TRUE TO EOF-GRID-SW.
MOVE GRID-OUT TO UNSORTED-OUTPUT-RECORD.
MOVE KEY-HOUR TO HOLD-KEY-HOUR.
PERFORM CREATE-PACKET-HDR THRU CREATE-PACKET-HDR-END.
PERFORM CREATE-PACKET-EMISS THRU CREATE-PACKET-EMISS-END
UNTIL EOF-GRID.
OUTPUT-SORT-END.
EXIT.
PGM-INIT.
OPENS FILES; INITIALIZES ARRAYS! ETC; READS CONTROL CARDS,
RUN CARD; CALLS INITIAL PROCEDURES.
ACCEPT DATES FROM DATE-TIME.
OPEN INPUT AS-ALLOC-CONTROL
CNTY-GRID-ALLOC-FACT
EIS-OLDMST
OUTPUT TIME-INTER-GRID-VAL
REPORT-FILE
GRID-EMISS
PRINT-SUMMARY
PRINT-INPUT.
MOVE SPACES TO REPORT-LINE ALLOC-FACT-NAKc ERROR-MS3
INPUT-LINE SUM-LINE GRID-CUT SEL-PRIMT-TABLE.
PERFORM FILL-HOUR-HOLD THRU FILL-HOUR-HOLD-END 48 TIMES.
MOVE 1 TO X.
MOVE 1 TO Y.
MOVE ZEROES TO ALLOC-SEL-CARD ARRAY-SEL-HOLD
ALLOC-FACT-TABLE.
A-204
00019370
00019330
00019350
00019400
00019410
00019420
OOC19430
00019440
00019450
00019460
00019470
00019430
00019490
00019500
00019510
00019520
00019530
0001T540
00019550
00019560
00019570
00019530
00019590
00019600
00019610
00019620
00019630
00019640
00019650
00019660
00019670
00019600
00019690
00019700
00019710
00019720
00019730
00019740
00019750
00019760
00019770
00019780
00019790
00019800
00019810
00019820
00319330
0001934C
00019650
00019660
00019S70
00019830
00019890
00019900
00019910
00019920
00019930
-------
PERFORM ZERO-EMIS-RATE THRU ZERO-EMIS-RATE-END 10 TIMES.
MOVE 1 TO X.
PERFORM ZERO-AUOC-SUM THRU ZERO-ALLOC-SUM-ENO 30 TIMES.
MOVE 1 TO X.
READ AS-ALLOC-CONTROL AT END MOVE TRUE TO EOF-CONTROL-SW.
READ CNTY-GRID-ALLOC-FACT RECORD AT END
MOVE TRUE TO EOF-ALLOC-SW.
MOVE INPUT-ALLOC TO FILE-ID-CARD.
MOVE CONTROL-CARD TO RUN-CARD.
PERFORM UPDATE-MESSAGES THRU UFDATE-MESSASES-END.
PERFORM CONTROL-CARDS-IN THRU CONTROL-CARDS-IN-END.
IF NOT JOB-END
PERFORM OPTION-MESSAGES THRU OPTION-MESSAGES-END
MOVE WS-DATA-ID TO DATA-ID
PERFORM PRINT-DIAG-HEADER THRU PRINT-DIAG-HEADER-END
PERFORM SEL-CARD-COMPUTE THRU SEL-CARD-COMPUTE-EMD
PERFORM FACT-NAMES-READ THRU FACT-NAMES-READ-EHD.
PGM-INIT-END.
EXIT.
PRINT-DIAG-HEADER.
WRITES HEADERS FOR DIAGNOSTIC AND INPUT REPORT.
MOVE TOP-HEADER TO REPORT-DATA
WRITE REPORT-LINE AFTER ADVANCING PAGE
MOVE MAIN-HEADER TO REPORT-DATA
WRITE REPORT-LINE AFTER ADVANCING BINARY-2 LINES
MOVE PAGE-NUMBER-D TO PAGE-NO-D
MOVE WORK-MO TO MO-D
MOVE WORK-DAY OF DATES TO DAY-D
MOVE WORK-YR TO YR-D
MOVE DIAGNOSTIC-HEADER TO REPORT-DATA
WRITE REPORT-LINE AFTER ADVANCING BINARY-2 LINES
MOVE RUN-HEADER TO REPORT-DATA
WRITE REPORT-LINE AFTER ADVANCING BINARY-2 LINES
MOVE BINARY-7 TO LINE-CNTR-D
ADD BINARY-1 TO PAGE-NUMBER-D.
PRINT-DIAG-HEADER-END.
EXIT.
PRINT-REPORT-HEADER.
WRITES HEADINGS FOR INPUT REPORT.
MOVE TOP-HEADER TO INPUT-DATA.
WRITE INPUT-LINE AFTER ADVANCING PASE.
MOVE MAIN-HEADER TO INPUT-DATA.
WRITE INPUT-LINE AFTER ADVANCING BINARY-2 LINES.
MOVE PAGE-NUMBER-R TO PAGE-NO-R.
MOVE REPORT-HEADER TO INPUT-DATA.
WRITE INPUT-LINE AFTER ADVANCING BINARY-2 LINES.
MOVE RUN-HEADER TO INPUT-DATA.
WRITE INPUT-LINE AFTER ADVANCING BINARY-2 LINES.
MOVE FACT-HDR TO INPUT-DATA.
WRITE INPUT-LINE AFTER ADVANCING BINARY-2 LINcS.
MOVE FFILE-ID TO INPUT-DATA.
00019940
00019950
00019960
00019970
00019980
00019990
00020000
00020010
00020020
00020030
00020040
00020050
00020060
00020070
00020080
00020090
00020100
00020110
00020120
00020130
00020140
00020150
00020160
00020170
OC020180
00020190
00020200
00020210
00020220
00020230
00020240
00020250
00020260
00020270
00020260
00020290
00020300
00020310
00020320
00020330
00020340
00020350
00020360
00020370
00020330
00020390
00020400
00020410
00020420
00020430
00020440
00020450
00020460
00020470
00020430
00020490
000205CO
A-205
-------
WRITE INPUT-LINE AFTER ADVANCING BINARY-2 LINES.
MOVE TITLE1 TO TITLE.
MOVE 1 TO X.
MOVE 1 TO Y.
PERFORM MOVE-NAMES THRU MOVE-NAMES-END 30 TIMES.
MOVE SPACES TO TITLE-SR.
MOVE BINARY-11 TO LINE-CNTR-R.
ADD BINARY-1 TO PAGE-NUMBER-R.
PRINT-REPORT-HEADER-END.
EXIT.
PRINT-SUMMARY-HDR.
WRITES HEADINGS FOR SUMMARY REPORT.
MOVE TOP-HEADER TO SUM-DATA.
WRITE SUM-LINE AFTER ADVANCING PAGE.
MOVE MAIN-HEADER TO SUM-DATA.
WRITE SUM-LINE AFTER ADVANCING BINARY-2 LINES.
MOVE PAGE-NUMBER-S TO PAGE-NO-S.
MOVE SUMMARY-HEADER TO SUM-DATA.
WRITE SUM-LINE AFTER ADVANCING BINARY-2 LINES.
MOVE RUN-HEADER TO SUM-DATA.
WRITE SUM-LINE AFTER ADVANCING BINARY-2 LINES.
MOVE SUMMARY-HEADER-2 TO SUM-DATA.
WRITE SUM-LINE AFTER ADVANCING BINARY-2 LINES.
MOVE SUMMARY-HEADER-3 TO SUM-DATA
WRITE SUM-LINE AFTER ADVANCING BINARY-2 LINES.
MOVE SUMMARY-HEADER-^ TO SUM-DATA.
WRITE SUM-LINE AFTER ADVANCING BINARY-1 LINES.
MOVE 1 TO X.
MOVE HDR-VALUE TO HDR.
PERFORM MOVE-EMIS-NAMES THRU MOVE-EMIS-NAMES-EHD 10 TIMES
WRITE SUM-LINE AFTER ADVANCING BINARY-1 LINES.
ADD 1 TO PAGE-NUMBER-S.
MOVE 13 TO LINE-CNTR-S.
PRINT-SUMMARY-HDR-END.
EXIT.
SEG-3-READ.
CONVERTS DAY AND HOUR ON SEG 3 RECORD TO VALUES OF 1-48
USES THIS VALUE TO DETERMINE THE LOCATION OF EMISSIONS
VALUES IN THE EMISSIONS ARRAY. THIS IS DONE BY COUNTY.
IF SEG-1-REC
ADD 1 TO AS-REC-COUNT
ADD 1 TO EIS-OLDMST-COUNT.
IF SEG-3-REC
MOVE OLD-MAST3 TO WORK-REGISTRATION
MOVE WORK-YR-OF-SEG-3 TO BEG-YEAR
MOVE WORK-HOUR TO HOLD-WORK-HOUR
MOVE TRUE TO SEG-3-SW.
IF SEG-3 AND WORK-DAY OF WORK-REGISTRATION IS = DAY-SEL-1-
MOVE 1 TO WORK-DAY OF WORK-REGISTRATION
MOVE TRUE TO DAY-SEL-SW.
IF SEG-3 AND WORK-DAY OF WORK-REGISTRATION IS = DAY-SEL-2-
A-206
00020510
OOC20520
00020530
000205^0
00020550
00020560
00020570
00020580
00020590
00020600
00020610
00020620
00020630
00020640
00020650
00020660
00020670
00020680
00020690
C0020700
00020710
00020720
00020730
OC020740
C0020750
00020760
00020770
00020780
00020790
00020800
00020310
00020820
00020330
00020840
00020350
00020360
00020370
00020630
00020390
00020900
00020910
00020920
ANDC0020930
00020940
00020950
00320960
00020970
000209SO
00020990
00021000
00021010
00021C20
00021030
•SW OOC21C40
00021050
00021060
•SW 00021070
-------
MOVE TRUE TO DAY-SEL-SW
MOVE 2 TO WORK-DAY OF WORK-REGISTRATION.
IF DAY-SEL
MOVE FALSE TO DAY-SEL-SW
SUBTRACT 1 FROM WORK-DAY OF WORK-REGISTRATION
GIVING WORK-DAY OF WORK-REGISTRATION
MULTIPLY WORK-DAY OF WORK-REGISTRATION BY 24
GIVING WORK-DAY OF WORK-REGISTRATION
ADD WORK-DAY OF WORK-REGISTRATION TO WORK-HOUR
MOVE HOLD-WORK-HOUR TO HOUR-HOLD (WORK-HOUR)
MOVE 1 TO XXX
PERFORM SEG-3-MOVE THRU SEG-3-MOVE-END
NUM-EMISS TIMES
ELSE
NEXT SENTENCE.
READ EIS-OLDMST RECORD AT END MOVE TRUE TO EOF-EIS-SW.
IF NOT EOF-EIS
MOVE OLD-MOVE TO WORK-OLD-MOVE.
SEG-3-READ-END.
EXIT.
SEG-3-MOVE.
MOVES EMISSIONS VALUES OF SEG 3 TO APPROPRIATE LOCATION,
DETERMINED IN SEG-3-READ, IN EMISSIONS ARRAY.
MOVE WORK-NUMERIC (XXX) TO
EMISSIONS (WORK-HOUR, WORK-SEG-1-ID, XXX)
MOVE EMISSIONS (WORK-HOUR, WORK-SEG-I-ID, XXX)
TO HOLD-2
ADD 1 TO XXX.
SEG-3-MOVE-END.
EXIT.
SEL-CARD-COMPUTE.
CONVERTS THE DAY-HOUR SELECTION DATA TO A VALUE OF 1-48.
THIS VALUE IS THE FIRST VALUE SUPPLIED TO SELECTION ARRAY
WHICH IS USED TO SELECT DATA DESIRED FROM EIS MASTER FILE.
THE ARRAY IS COMPLETED IN FILL-ARRAY PROC.
MOVE DAY-SEL-I TO DAY-SEL-1-SW.
MOVE DAY-SEL-2 TO DAY-SEL-2-SW.
MOVE 1 TO DAY-SEL-1.
MOVE 2 TO DAY-SEL-2.
SUBTRACT 1 FROM OAY-SEL-I
MULTIPLY DAY-SEL-1 BY 24 GIVING DAY-SEL-1
ADD DAY-SEL-1 HR-l-A GIVING ARRAY-SEL (SU3-X)
SUBTRACT HR-l-A FROM HR-l-B GIVIUS HR-l-BB
PERFORM FILL-ARRAY THRU FILL-ARRAY-END HR-l-BB TIMES
ADD 1 TO HR-l-BB.
IF DAY-SEL-2 IS NOT EQUAL TO 0
ADD 1 TO SUB-X
SUBTRACT 1 FROM DAY-SEL-2
MULTIPLY DAY-SEL-2 BY 24 GIVING DAY-SEL-2
ADD DAY-SEL-2 HR-2-A GIVING ARRAY-SEL (SUB-X)
SUBTRACT HR-2-A FROM HR-2-B GIVING HR-2-BB
00021080
00021090
00021100
00021110
00021120
00021130
00021140
00021150
000211SO
00021170
00021180
00021190
00021200
00021210
00021220
00021230
00021240
00021250
00021260
00021270
00021280
00021290
00021300
00021310
00021320
00021330
00021340
00021350
00021360
00021370
00021380
00021390
00021400
00021410
00021420
00021430
00021440
00021450
00021460
00021470
000214SO
00021490
00021500
00021510
00021520
00021530
00021540
00021550
00021560
00021570
00021530
00021590
00021600
00021610
00021620
00021630
00021640
A-207
-------
PERFORM FILL-ARRAY THRU FILL-ARRAY-END HR-2-BB TIMES
ADD 1 TO HR-2-BB.
SEL-CARD-COMPUTE-EKD.
EXIT.
SEL-CARD-EDIT.
* EDITS SELECTION CONTROL CARD FOR CORRECT AMOUNT OF DATA
* REQUESTED, VALID RANGES OF DAY AND HOUR VALUES.
MOVE SCALE-FACT-NO TO NO-FACT NO-FACT-77.
MOVE SCALE-FACT-HC TO HC-FACT.HC-FACT-77.
IF DAY-l-R = SPACES
MOVE ZEROES TO DAY-1.
IF DAY-2-R = SPACES
MOVE ZEROES TO DAY-2.
IF VALID-DAY-1 AND VALID-HR-1 AND
VALID-DAY-2 AND VALID-HR-2
NEXT SENTENCE
ELSE
MOVE TRUE TO JOB-END-SW
MOVE DIA6-MSG (1) TO ERROR-MSB
MOVE SEL-CARD TO REPORT-DATA
WRITE REPORT-LINE AFTER ADVANCING BINARY-3 LINES
MOVE ERROR-LINE TO REPORT-DATA
WRITE REPORT-LINE AFTER ADVANCING BINARY-! LINES
ADD BINARY-* TO LINE-CNTR-D
ADD BINARY-1 TO ABORT-COUNT
IF LINE-CNTR-D IS NOT LESS THAN LINE-MAX
PERFORM PRINT-DIAG-HEADER THRU PRINT-DIAG-HEADER-END
ELSE
NEXT SENTENCE.
IF NOT FIRSTT ADD BINARY-1 TO SEL-DAY-SW.
IF NOT SECOND ADD BINARY-1 TO SEL-DAY-SW.
IF (NO-DAYS-1 AND ONE) OR
(NO-DAYS-2 AND TWO)
NEXT SENTENCE
ELSE
MOVE DIAG-MSG (2) TO ERROR-MSG
MOVE ERROR-LINE TO REPORT-DATA
WRITE REPORT-LINE AFTER ADVANCING BINARY-1 LINES
ADD BINARY-1 TO LINE-CNTR-D
ADD BINARY-1 TO ABORT-COUNT
IF LINE-CNTR-D IS NOT LESS THAN LINE-MAX
PERFORM PRINT-DIAG-HEADER THRU PRINT-DIAG-HEADER-END
ELSE
NEXT SENTENCE.
SEL-CARD-EDIT-END.
EXIT.
SEL-CATEG-READ.
* READS ALLOCATION FACTOR SELECTION CARDS AND MOVES THEM TO
* WORKING STORAGE.
MOVE 1 TO X.
READ AS-ALLOC-CONTROL AT END MOVE TRUE TO EOF-CONTKOL-SW.
00021650
00021560
OC021670
00021680
00021690
00021700
00021710
00021720
00021730
00021740
00021750
00021760
OOC21770
00021780
00021790
00021800
00021310
00021820
00021830
00021340
00021850
00021860
00021870
00021880
00021890
00021900
00021910
00021920
00021930
00021940
00021950
00021960
00021970
000219SO
00021990
00022000
00022010
00022020
00022020
00022040
00022050
00022060
00022070
00022080
00022090
00022100
00022110
00022120
00022130
00022140
00022150
00022160
00022170
00022180
00022190
00022200
CQ022210
A-208
-------
MOVE CONTROL-DATA TO SEL-CARDS (CARD-SEQ-NO).
READ AS-ALLOC-CONTROL AT END MOVE TRUE TO EOF-CCNTROL-SW.
MOVE CONTROL-DATA TO SEL-CARDS (CARD-SEQ-NO).
IF ALLOC-ID IS NOT EQUAL TO SEL-ID
MOVE ALLOC-ID TO REPORT-DATA
WRITE REPORT-LINE AFTER ADVANCING BINARY-3 LINES
MOVE DIA6-MS6 (13) TO ERROR-MS6
MOVE ERROR-LINE TO REPORT-DATA
WRITE REPORT-LINE AFTER ADVANCING BINARY-1 LINES
ADD BINARY-* TO LINE-CNTR-D
ADD BINARY-1 TO ABORT-COUNT
MOVE TRUE TO JCB-END-SW
ELSE
PERFORM VALID-SEL-CARDS THRU VALIOrSEL-CARDS 60 TIMES.
SEL-CATEG-READ-END.
EXIT.
SIZE-ERROR.
MOVE DIAG-MSG (1*) TO ERROR-MSG.
MOVE ERROR-LINE TO REPORT-DATA.
WRITE REPORT-LINE AFTER ADVANCING BINARY-3 LINES.
ADD BINARY-1 TO COND-COUNT.
ADD BINARY-3 TO LINE-CNTR-D.
IF LINE-CNTR-D IS NOT LESS THAN LINE-MAX
PERFORM PRINT-DIAG-HEADER THRU PRINT-DIAG-HEADER-END.
SIZE-ERRCR-END.
EXIT.
SUM-EMISS.
00022230
00022230
00022240
00022250
00022260
00022270
00022230
OC022290
00022300
00022310
00022320
00022330
00022340
00022350
OC022360
00022370
00022360
00022390
00022400
00022410
00022420
00022430
OOS22440
00022450
00022460
00022470
00022480
00022490
OOC22500
00022510
00022520
00022530
C0022540
* SUMS UP EMISSIONS VALUES FROM INTERMEDIATE FILE FOR SUMMARY00022550
* REPORT. 00022560
IF G-V-VAR-NAME IS EQUAL TO EMISS-NAMES-2 (X) 00022570
MOVE TRUE TO EMISS-ADD-SW 00022530
MOVE G-V-VALUE TO G-V-VALUE-HOLD 00022590
DIVIDE G-V-VALUE-HOLD BY 1000 GIVING G-V-VALUE-HOLD 00022600
ADD G-V-VALUE-HOLD TO EMISS-SUM (X), HOLD-EMISS-RATE (X) 00022610
ON SIZE ERROR PERFORM SIZE-ERROR THRU
SIZE-ERROR-END.
ADD 1 TO X.
SUM-EMISS-END.
EXIT.
SUMMARY-OUTPUT.
CONTROLS THE CREATION OF SUMMARY REPORT.
IF LINE-CNTR-S IS NOT LESS THAN LINE-MAX
PERFORM PRINT-SUMMARY-HDR THRU PRINT-SUMMARY-HDR-END.
IF WORK-GRID-VAL-R IS NOT EQUAL TO HOLO-GRID-VAL
PERFORM CREATE-SUMMARY-TABLE THRU
CR EATE-SUMMARY-TAB LE-END
MOVE 1 TO X
PERFORM ZERO-EMIS-RATE THRU ZERO-EKIS-RATE-END 10 TIKES
00022620
00022630
OOC22640
00022650
00022660
00022670
00022680
00022690
00022700
00022710
00022720
00022730
00022740
00022750
00022760
00022770
00022760
A-209
-------
MOVE 1 TO X
MOVE WORK-GRID-VAL-R TO HOLD-GRID-VAL.
IF NOT EOF-GRID
MOVE 1 TO X
PERFORM SUM-EMISS THRU SUM-EMISS-END UNTIL EMISS-ADO
MOVE FALSE TO EMISS-ADD-SW
MOVE 1 TO X
READ GRID-EMISS AT END MOVE TRUE TO EOF-GRID-SW
MOVE ZEROES TO HOLD-GRID-VAL.
MOVE GRID-OUT TO UNSCRTED-OUTPUT-RECORD.
SUMMARY-OUTPUT-END.
EXIT.
SUMMARY-OUTPUT-SORT.
SORTS INTERMEDIATE FILE FOR USE IN CREATING SUMMARY REPORT
CLOSE GRID-EMISS.
SORT SORT-FILE ON ASCENDING KEY SORT-DAY SORT-GRID
USING GRID-EMISS GIVING GRID-EMISS.
OPEN INPUT GRID-EMISS.
MOVE 1 TO X.
PERFORM ZERO-EMIS-RATE THRU ZERO-EMIS-RATE-END 10 TIMES.
MOVE 1 TO X.
READ GRID-EMISS AT END MOVE TRUE TO EOF-GRIO-SH.
MOVE GRID-OUT TO UNSORTED-OUTPUT-RECORD.
MOVE WORK-GRID-VAL-R TO HOLD-GRID-VAL.
MOVE HR-l-A TO HR-l-S.
MOVE HR-l-B TO HR-2-S.
PERFORM SUMMARY-OUTPUT THRU SUMMARY-OUTPUT-END
UNTIL SUM-OUT-COMPLETE.
MOVE FALSE TO EOF-GRID-SW.
SUmARY-OUTPUT-SORT-END.
EXIT.
UNSORTED-OUTPUT.
CREATES AND OUTPUTS RECORDS TO INTERMEDIATE FILE.
IF XX IS GREATER THAN HR-l-BB
MOVE 002 TO BEG-DAY.
MOVE HOUR-HOLD (X) TO BEG-HOUR.
MOVE X TO KEY-HOUR.
MOVE GRID-VAL TO WORK-GRID-VAL-R.
PERFORM EMIS-VAL-CARD THRU EMIS-VAL-CARD-EMD 10 TIMES.
UNSORTED-OUTFUT-END.
EXIT.
UPDATE-MESSAGES.
WRITES INFORMATION ON PROGRAM UPDATES TO DIAGNOSTIC AND
INPUT REPORT.
IF LINE-CNTR-D IS NOT LESS THAN LINE-MAX
PERFORM PRINT-DIAG-HEADER THRU
PRINT-OIAG-HEADER-END.
MOVE U-MSG-1 TO REPORT-DATA
A-210
00022790
00022800
C0022810
00022820
00022830
00022840
00022850
00022860
00022870
000228SO
00022S90
00022900
00022910
00022920
00022930
00022940
.00022950
00022960
00022970
00022980
00022990
00023000
00023010
00023020
00023030
00023040
00023050
00023060
00023070
00023030
00023090
00023100
00023110
00023120
00023130
00023140
00023150
00023160
OCC23170
000231SO
00023190
000232CO
00023210
00023220
00023230
00023240
00023250
00023260
00023270
00023280
OC023290
000235CO
00023310
00023320
00023330
00023340
00023350
-------
WRITE REPORT-LINE AFTER ADVANCING BINARY-3 LINES.
MOVE U-MSG-2 TO REPORT-DATA
WRITE REPORT-LINE AFTER ADVANCING BINARY-1 LINES.
MOVE U-MSG-3 TO REPORT-DATA
WRITE REPORT-LINE AFTER ADVANCING BINARY-1 LINES.
MOVE U-MSG-4 TO REPORT-DATA
WRITE REPORT-LINE AFTER ADVANCING BINARY-1 LINES.
MOVE BINARY-6 TO LINE-CNTR-D.
UPDATE-MESSAGES-END.
EXIT.
VALID-SEL-CARDS.
* EDITS ALLOCATION FACTOR SELECTION CARD FOR VALID RANGE OF
* 1-30.
IF CATEGS-R (X) IS EQUAL TO SPACES
MOVE ZEROES TO CATEGS (X).
IF CATEGS (X) IS GREATER THAN 30
MOVE TRUE TO JCB-END-SW
MOVE CATEGS (X) TO REPORT-DATA
WRITE REPORT-LINE AFTER ADVANCING BINARY-3 LINES
MOVE DIAG-MSG (9) TO ERROR-MSG
MOVE ERROR-LINE TO REPORT-DATA
WRITE REPORT-LINE AFTER ADVANCING BINARY-1 LINES
ADD BINARY-* TO LINE-CNTR-D
ADD BINARY-1 TO ABORT-COUNT.
ADD 1 TO X.
VALID-SEL-CARDS-END.
EXIT.
WRAP-UP.
* WRITES FINAL MESSAGES TO DIAGNOSTIC AND INPUT REPORT AND
» CLOSES FILES.
IF (LINE-MAX - LINE-CNTR-D) IS LESS THAN BINARY-13
PERFORM PRINT-DIAG-HEADER THRU
PRINT-DIAG-HEADER-END
ELSE
MOVE 3 TO LINE-SKIP.
PERFORM WRITE-UST-MSG THRU WRITE-LAST-MSG-ENO
VARYING MOVE-SUB FROM BINARY-1 BY BINARY-1
UNTIL MOVE-SU3 GREATER THAN BINARY-11.
IF PAGE-NUHBER-D IS GREATER THAN BINARY-2
IF (LINE-MAX - LINE-CNTR-D) LESS THAN BINARY-8
MOVE LINE-MAX TO LINE-CNTR-D
PERFORM UPDATE-MESSAGES THRU UPDATE-MESSAGES-END
ELSE
PERFORM UPDATE-MESSAGES THRU UPDATE-MESSAGES-END.
CLOSE AS-ALLOC-CONTROL
CNTY-GRID-ALLOC-FACT
EIS-OLDMST
GRID-EMISS
TIME-INTER-GRID-VAL
PRINT-SUMMARY
REPORT-FILE
00033360
00023370
00023330
'00023390
00023400
00023410
00023420
00023430
00023440
00023450
00023460
00023470
00023430
00023490
00023500
00023510
00023520
00023530
00023540
00023550
00023560
00023570
00023530
00023590
00023600
00023610
00023620
00023630
00023640
00023650
00023660
00023670
000236SO
00023690
00023700
00023710
00023720
00023730
00023740
00023750
00023760
00023770
00023760
00023790
00023800
00023810
00023820
00023830
00023840
00023350
OOC23360
00023870
00023680
00023890
00023900
00023910
00023920
A-211
-------
PRINT-INPUT.
WRAP-UP-END.
EXIT.
WRITE-LAST-MSG.
WRITES AUDIT TRAIL OF RECORD AND ERROR COUNTERS TO
DIAGNOSTIC AND INPUT REPORT.
MOVE REC-CTR (MOVE-SUB) TO LAST-MSG-NBR (MOVE-SUB)
MOVE LAST-MSG (MOVE-SUB) TO REPORT-DATA
WRITE REPORT-LINE AFTER ADVANCING LINE-SKIP LINES
MOVE 1 TO LINE-SKIP.
WRITE-LAST-MSG-END.
EXIT.
WRITE-SEL-CATEG.
MOVE STRING-1 TO TITLED.
PERFORM MOVE-SEL-DATA THRU MOVE-SEL-DATA-END 30 TIMES.
MOVE SEL-PRINT-TABLE TO REPORT-DATA.
IF I IS GREATER THAN 60 MOVE 31 TO I
WRITE REPORT-LINE AFTER ADVANCING BINARY-2 LINES
ELSE
WRITE REPORT-LINE AFTER ADVANCING BINARY-1 LINES
MOVE 1 TO I.
MOVE 1 TO II.
MOVE STRING-a TO TITLED.
PERFORM MOVE-SEL-DATA THRU MOVE-SEL-DATA-END 30 TIMES.
MOVE SEL-PRINT-TABLE TO REPORT-DATA.
WRITE REPORT-LINE AFTER ADVANCING BINARY-1 LINES.
MOVE 1 TO II.
MOVE 31 TO I.
WRITE-SEL-CATEG-END.
EXIT.
ZERO-ALLOC-SUM.
MOVE ZEROES TO ALLOC-SUM (X).
ADD 1 TO X.
ZERO-ALLOC-SUM-END.
EXIT.
ZERO-EMIS-RATE.
MOVE ZEROES TO HOLD-EMISS-RATE (X).
ADD 1 TO X.
ZERO-EMIS-RATE-END.
EXIT.
ZERO-EMIS-SUM.
MOVE ZEROES TO EMISS-SUM (X).
00023930
00023940
00023950
000239SO
00023970
00023980
00023990
00024000
00024010
00024020
00024030
00024040
OOC24050
00024060
00024070
00024080
00024090
00024100
00024110
00024120
00024130
00024140
00024150
00024160
00024170
00024180
00024190
00024200
00024210
00024220
00024230
00024240
00024250
OOC24260
00024270
00024230
OC024290
00024300
00034310
00024320
00024330
00024340
00024350
00024360
00024370
00024380
00024390
00024400
00024410
00324420
00024430
00024440
00024450
00024460
00024470
00024480
OC024490
A-212
-------
ADD 1 TO X. 00024500
ZERO-EMIS-SUM-END. 00024510
EXIT. 00024520
A-213
-------
APPENDIX B
AIRSHED MODEL DATA HANDLING SYSTEM
(ASMDHS) INPUT DATA AND RUN OUTPUT EXAMPLES
-------
TABLE OF CONTENTS
INPUT EMISSIONS INVENTORY B-5
CONTROL MEASURES AND GROWTH PROJECTION (CMGROW) PROGRAM B-40
TEMPORAL AND POLLUTANT SPLIT (TPSPLIT) PROGRAM B-62
MAJOR/MINOR POINT SOURCE DIVISION/MODEL CONVERSION (PSCONV)
PROGRAM B-95
PSCONV PROGRAM OUTPUT FOR URBAN AIRSHED MODEL B-98
AREA SOURCE GRIDDING AND MODEL CONVERSION (ASGRID) PROGRAM. . . . B-123
ASGRID PROGRAM OUTPUT FOR URBAN AIRSHED MODEL B-135
B-3
-------
EMISSION INVENTORY SUBSYSTEM ICISI
COMPHf MINSIVE OA1A HANOI INQ
SYS1IMICUIISI
rtAMI lOCNIUICAIION
CO
1
en
3
7
0
KS
«
HI
II
7
6
C>M«4
II
II
0
p
6
7
7
O
».*..
14
/}
n
>e
N
£T
II
4
»
n
S
M
0
II
O
O O
M
O
>i
O
ii
n'x
II
1
10
"
(J
»>
'«
«
»
»'
n
in
11
ti
u
M
It
M
u
11
M
M
U
II
M
.H
40
41
41
41
44
n
tt
41
41
41
M
tl
U
ft
Ct
II |t!
h»»M
It
M
n
40
41
41
41
_.
u
M
It
M
tl
M
14
U
U
II
U
tl
MMOlfMMn
mpMng Fwm
DM*
PI*
Nwtarf
1
0
o
a.
10
/
II
•VM^MyX
n
ii
14
1*
M
—
II
0
n
O
ii
O
14
O
It
O
II
C
II
II
n
10
n
ii
11
14
It
14
II
j
II
•
II
0
1
t
1
II
•
1
l»
1
1
1
.«.
1
c
II
1
«
1
M
A
I
M
A
*
i
..*.
M
A
-------
MICH
ITT
i'| t i I 4 | t | i i] ."["» ii n^ TT1
jHoiyUlol/kUhH*!
EMISSION INVENTORY SUBSYSIFM ItlSI
COMriUHtNSIVE OAIA HANDLING
SYSTEM ICOIIS)
Himm at futon
Completing F« *•* NOT
TM M II M II M||
Nairn*
«>»>)
D *»
n 74
M II
II 11 14 M
M II M M 40
41 4)
41 44
41 4|
41 4| 4|
MH
» II
II II
II U
II M II N II
n n
[*i°Jik 9]/M?li
990 o\o o o o o o
Ib^M O**> I !>•"•
Til II II I4_ _ll^ ll_ Illlljllliol
II U M II N II M
40 41 41 41
44 I 411 411 4)
l>lt 1.1111
CVMM
luck
41 41 M II
Ctn*
III Ml II U
lloiliU
II II IIIII M HI II
I v
[ii M m_ _«_ n_ n_ "I" ~>*\ a n_
I I I I I I I. LUJj.
DO
5o
-•<*
N
14
5
5
.r
5
^
• I
(
M
0
0
o
0
o
ii
/
4
4
4
t
i>
ii
/
A
i
i
3
*••«
HI
11
/
/
f
6
/
Nl
M
O
0
0
o
o
II
/
/
/
3.
f
II
1
II
c
**»
n
MMMI
NMMI
1*
1
C.><
M
11
11
f,
C
I*
11
MNM
IM««
•««
V
4
m)
•c
U
.unl,
anut
•IMM
:•
«
».
c
II
0
d
If
It
II
«
• «
1
t
11
H
•
•
ft
14
/
/
/
/
/
w
t
I
»
It
II
II
II
11
to
II
II
11
14
II
II
II
|
t
I
•
•
i
II
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
c
«
II
1
1
1
1
1
I
1
1
1
1
1
1
1
1
1
1
M
A
A
4
A
A
-------
•l
3
M
7
0
Co
7
•«i»
6
0
i
1
IOCI
f
6
10
9
K«
NOT
II
9
40
*•
11
9
11
9
».
M
7
DM>
m
II
7
•f*.
it
o
•mi
«•»
If
0
u
O
{MISSION INVCNTOnV SUOSVSTEM If IS)
COMPIIEHENSIVE DATA HANDLING
SYSTEM ICOHSI
Input form
Nwnt offwton
Completing Fonn.
OM.
u
It
S"
!'
10
O
1*1
i
11
0
J'
11
/
1
11
•
14
/
n
1
tt
11
0
c
tt
It
&
M
i
n
tt
••«
•
M
1
C
II
O
MM
•MM
II
<3
M
U
0
c
JUk
OMM
N
o
c
O
MM
O
*
M
0
II
<3
a
u
M
II
M
II
M
1*
n
"
n
n
M
i*
M
ii
ii
i
c
It
1
*
A
W
IIJM
S\o
s>
11
O
5'
"••«
It
M
11
4t
41
41
41
44
4$
41
41
4|
41
1
«:
•
M
A
ii
u
M
M
U
U
l>
It
U
M
II
M
11
II
(I
•
n
14
n
»»
n
t
•
•
•
M
1
C
•
n
l
«
A
u
it
5-
S
i
i
M
O
0
Sn
II
'•
O
o
it
11
/
/
11
/
4
r
14
/
2.
•mil
10
n
/
6
IM
11
O
0
11
/
2,
N
O
0
tt
d
o
1
10
O
0
MM
11
0
o
ml
M
/
f
tarn
11
/
S
o
£•
¥
V
o
o
l\
V
1;
f
^
r>
^
5
•VIM
to
/
/
-------
CO
1
CO
Tl
1
v*
•
7
i
II I*
•a
"1
/]
20
s\+
Ml
11
f
M
c~.
oliU
o
MX*
/
HIPS Hu-
ll 1 11 II
ikd
H~gM
R ii Tii
1
]t
1
>4
K
3
«.l
M
6
It
4
IIC
II
9
n
Ml
ii ii n
>«
n
/
H
II
NXM
II
<7
II |l»
1,
In
II
II
1
II
?
«>r
Mi
9
=1
II
"
1 1
1
V*
14]
>«•
K
It
zlz.
*««•••
II
o
II
0
u
0
[»
UIMCou •!>.•«•>
Mi»il*i4tf 1 Vnkvtf
11
0
11
O
14
O
nlu
do
II
0
M
6
lu
MM*
MttM
11
M
•«
M4
14
tt
M
H»
**
|u>
7,-p
1
u
II
M
1
VI
II
M
II
U
'TCfMi*
tl
M
WboaMf
CuwMwm
M
II
tl
tl
U
f
1,
No
Ok—
Hi
II
On
II
II
It
II
M
j
1.1
i
11
•tf
W»
O
M
w»
It
M
N«m« ol f 01 ion
ConiploUnfl f
11
14
•ii
ii
11
'«
t
H
-
I
u n ii
i
*
1*1 ii Ii
-
*
ii
II
II
n
10
ii
II
II
c
It 10
• A
k
.« -*-
'9 M
» A
C I
i A
i
11
$•
5-
5
5
£
i
M
4-
f
^
^
^
ii
/
//
^
y^
^
•»
II
/
£
a.
J
3
Ml
11
f
1
If.
(,
f
Nl
K
O
0
Q
f)
O
it
/
f
/
J
/
ii
ii
c
*M>
II
M«MI
nw>l
It
1
Cw
M
11
11
fs
lo.
11
*ntk»
•f"«
M
V
1
ml
M
tw
C
M
tmb
»iw«
^fMM
II
•f
1
NH
Jl
I.
C
III
n
0
O
O
Q
&
VMM
IMMID
•Mm
40
0
o
o
0
o
•4
1
41
o
o
-------
>l
1
J
M
1
7
0
c*.
7
•>«»
6
0
;
/
«JCI
g
6,
10
9
fu.
MM
II
9
«K>
*•
II
f
IJ
7
».
14
7
DM*
*
II
7
•i*
i«
0
*mt
0«t
I/
<9
it
0
I MISSION INVENTORY SUOSVSTEM IEISI
COMPnEIICNSIVE DATA HANDLING
8VSTEM ICOHSI
Machine-ftOMM
IScgnwmD
Input Form
NMIMO! P«TMA
Completing Fon»_
0«M_
•a
ii
s
^
111
f]
*M
II
5"
S
'
M
f
1
M
4-
|l
N
V
V
Wg
ID
11
fl
S*
IT
11
O
v.
i
n
O
0
i
11
/
i
11
/
S1
11
/
/
i
11
?
i
i
.A.
11
11
V
/
H
14
/
t
14
r>
14
3
1
it
>?
**•
n
n
/
1
tc
11
a
it\
1
M
11
o
o
t
III
1»
"1
1
11
/
/
"
d
"1
1
n
o
6
n
n
0
n
N
0
o
ao
0
HI
1
ao
O
c
Mi
ai
at
MM
at
0
3
MM
u
11
WHi
a
y
€
MC
i
aa
aa
•CM
aa
J|
3,
•
M
3.
£
i
(0
»
0
0
ii
HVM
at
0
0
o
One
!j
»t
t
o
o
<**
nun
U
O
11
o
1
u
O
u
i!
b
M
•
lUk
Men
M
v
1
U
ft
2,
O
u
AH*
10
£
1
Ci
0
u
>N
O
*MI
MKI
O
u
£
t
to
o
to
£>
ti
<1
ii
O
u
u
i
u
0
U
ia
«tn
o
14
M
«*•!
^
«
•CM
/
M
6
•'
0
H
o
u
i!
w
i|
it
M
II
n
n
n
n
•
n
/a
14
14
14
n
M
1?
II
1
:
•
•
j
a
i
i
i
i
i
i
i
i
i
i
i
I
i
i
i
n
i
a
c
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
a
*
A
A
A
A
ll'AlOHtlll/0
-------
ft
3
*•
7
0
CM
7
•«•»
6
0
t
1
IOCI
?
1
6
10
r«M
NOT
II
• 10
*•
ia
11
14
7
*
II
7
u
0
on
u
(9
u
0
EMISSION INVENTORY SUBSYSTEM (lit)
COMPREHENSIVE DATA HANDLING MM*** • from*
SYSTEM ICOHSI |S«nJnVl»
Completing fatal
Bum
*
II
*3
III
V,
U
,5
f
'
M
1
M
y
»
4
4-
•a
M
II
0
V*
II
0
I
A
i
n
i
i
"•
^
^
1
C
1
.A.
13
/
^
N
• C
ft..
14
Pi
/
2
1
*rt«
10
/
/
Kl
0
"I
1
M
0
O
:
m
jt
"1
1
/
/
"1
I
0
o
IV
0
n
p
O
O
TO
1
O
O
N.
11
MM
O
o
1
•*•
12
»,
/
Ji
HC
1
U
KW
7,
4/
«
**
(?
to
™
tf»
O
ii
MVC4
0
O
0
CMC
[J
•
c
0
I*M
•
tote
•»-•
£
A
y/
flW
Wi
l««
J
r«
•2,
m.
UM
/
«.!•.
10
/
IM
0
/
0
M
1
0
•
•MM
1
ma*
0
MO
Uu
o>r
/
•«gi
M
^
1
^?,
1
I:
/(
c
&
0
ii
iAo
MM
^
u
^>
0
i!
CD
»j
Ufc
•Man
1
r«
0
few
n
i
Ci
^
«
UM
IMn
0
1
(?
1
ata
iwl
•Ml
i!
ij
ii
M
••
n
14
-~
»*
»•
||
«
£
a
!
u
a
!
a
i
i
i
i
i
a
i
i
i
i
a
i
i
i
i
c
If
4
If
1
C
4
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
4
w
A
^
A
^
CO
I—'
o
-------
EMISSION INVENTORY SUBSYSTEM IEISI
COMPIUHENSIVE OAT A HANDIINO
SYSTEM ICUHSI
n*Ni lommioiiOM
NwulfwM
Nam* ol f WMn
CompMmg Fo»m_
14
11
II
P
11
-M»"
m
M
u
Ml
»
II
II
B
ii
G«t
II
II
/.
/I
"•'
11
»
11
14
«
C
.'4
»
»
•'»
n
M
s
II
11
11
£•
»'
ii
ii
/e
n
i*
\>
n
M
»
f
»
11
It
11
C
11
11
IM*I
11
e
u
u
JOT
II
11
14
MM
C
M
n
mm
O
n
M
mtK
.
11
II
uU»
11
U
M
A
U
»
X
M
Ul
I*
40
^
40
U
M
41
&
41
0
;
41
u.
8
41
41
f
.
41
44
T
o
n
O
41
M
L
41
e
&
41
y^
&
41
£
A
M
£
II
M
II
M
II
11
tl
M
M
7
14
M
U
y
M
U
0
ii
ii
f
M
M
3
M
II
10
M
II
II
M
M
tl
11
Ml»«l
-•*
«*
n~l
M
II
II
n
F»
n
ii
u
«p»
i>
n
14
V*.|
14
M
II
II
II
!
•
[
•
i
!
»
•
f
•
c
1
1
;
n
i
1
;
A
*
l
A
;
:
•0
A
-------
DO
I—*
r\i
Mat
3\
7
•a1
l||j«
•a
"1
0'
•
i
r-*i I
HI
•»
M
-rrr
4-UbJ°
MJCH
7]
FnMIO
HI OS III*
II III 11
Ibvfcl
,-nup
ol/l*
ui
n ii 11
| M
_L
\3\)
14
»»
i
n
q
II
$ i
II
10
c
FU«
Nw
II
o
II 1 1)
/I
1>
no
4M*
II
T;
wr
w
0
"•>
11
o
ii
^|o|A|Vl9
0«-
Vra>
ITT u
TIT
*«.
II
o
«••
II
£
Ult
Mu>itC»Mtf
ii
je
II
0
14
H
3
u
O
IC«
M
^?
[k
11
J
M
v
IIM Um
11
0
ClMM*
II
ii
ii
n
M
11
11
11
$
14
/
n
s
CIM.I!
11
14
n
N
6
II
J
M
^
»rcu~l..,
C0..1.*
U
»
M
11
6
40
6
mssiONiNVENTony s
COMNUHtNSIVE DA
SYS (EM ICC
IIM..IT
41
41
41
ViMt
11
O
40
O
41
0
Cxnnnl
n
40
41
41
5
41
3
44
4t
44J4t
&
o
41
U8SYSIFMIEIS)
lAIIANDHNti
1IISI
Dra M.
41
4«| 41
41
4»
M'||
fit «••«
Six*
41
CtlNfUII
41
41
44
41
41
41
41
41
41
to
W
II
f
Ow
*" Irti
SI
c t
• t
• i
II
/
*\r
Tl | U
U|M|II!
UNI inunci
u» JIM-
U>I *«4
M
o
•
M
lHt4UIM«
II
II
11 14 tl
II
/
u
3
1
II
7
M
S.
II
3
Nairn of Poiton
Coniploling Fo>m
*«•
M
£
.onulM
U.
II
M
V
II
m»i«i
U
O
0
e
0
o
ii
c
o
o
o
o
M
O
^
o
o
0
I>l>iuu4
Cmnnl
lll««ntf
n
O
O
0
C
0
40
0
o
o
f),
0
41
o
o
6
t
£.
imilMint
CtlNfUII
41
O
O
o
0
c
41
0
O
0
o
o
44
O
0
O
O
o
4t
0
0
o
7
0
41
O
/
e
5
0
41
S
i
o
1
i
41
V
3
6
4.
/
41
M
Muu»4
iMMltJIM*
II
M
•
11
14
tl
MmuDh
Cmum
M
O
1
1
1
9
ii
o
1
1
1
9
u
0
1
1
9
9
ii
3.
f
1
1
1
M
f
9
9
1
<)
it
7
f
y
?
9
M
O
9
f
?
f
w
> •
• •
11
M
•
I
k
M
£•
5"
^
5
5
IM
• ff
• 1
1 ft
It
M
II
II
11
10
II
II
i
•
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
c
•
•
1
1
I
1
1
1
1
1
1
1
1
1
1
I
1
1
M
A
A
A
A
A
-------
1
3
7
A
£
A
0
1
g
d>
10
Q
fu.
NOT
II
e>
•no
*«
II
0
11
/
Tl
14
7
Dm
«i
II
/
rfft
II
0
•ml
ot»
I/
0
11
EMISSION INVENTOnv SUBSYSTEM IEIS)
COMPREHENSIVE DATA IUNDIINO MecMn* • Proccu
SYSTEM (COHSI ISigintSin
Completing form
Del. „
b.
II
0
r
M
/
W(
II
II
o
>>'
n
,«r
•
i)
/
*
M
0
it
/
M
II
O
c
w
1>
0
II
6
r
I*
O
t
M
/
M
11
•»••
11
MC
M
19
II
M
1
H
$
»:
M
11
d
M
0
In*.
Mi
(fr-
it
4
ri«
dWi
!"<•
40
£
«t».
•H
IUM
41
7
41
/
41
/
44
0
tt
n
0
MOT
0
IOTI
IUU
3
>•*•
^
N
r
o
i
c
0
k*<
MM
O
tf
-------
11
[MISSION INVENTORY SUBSYSTEM (CIS)
COMPIUIIENSIVE OA1A HANOLINQ
SYSTEM ICUIISI
N*m« ol PMKM
Campttlino f ami.
DM*.
OT
' 1
It
11
•<••
HI
t
II
IM
II
.N
MtJ
11
14
n
*•
ii
u
n
wn
II
Mil
M
O
11
11
U
14
n
c
*|»
Ac
•
u
£
19
0
Ul
Jo
40
q
w
M
41
9
a
41
/*
41
S
CM
«|4t
IA/I/J
Ml
41
A]
!*•>•
41
0
•Ml
41
£
41
/e
M
II
£
M
AJ
11
a
!*•
«H«4
M
•m
II
•*•"
It
VIM
u
M
14
II
N
It
i
i
»
•
c
t
n
i
•
i
4
M
A
'"—— ""— -fck"M
K
S
M
U
II
Al
II
n
0
MJIk
' U
M
II
fL
ii
e.
n
fr
M
/
11
A/
u
£
u
K.
14
v
»
-
M
/
11
7
w
O
M
O
40
41
S
4J
41
a
44 1 44 1 41
A/)/ |0
41
A/
41
}
.,|-j,,|M
Hu|,
11
S
M
A
u
M
II
M
II
M
II
II
U
«4
M
M
II
tori
~»»
M
>IM
II
N
F»
II
II
•M"|Ai
11
14
14
II
II
II
4
•
*
II
t
4,
U
I
A
1
U
A
!•
Ill
III ,1
\
1
ii|:«
i
:i
ii
i/
ii
n
»
11
u
11
M
U
14
It
M
II
U
II
M
II
U
M
II
11
14
II
II
II
t
•
(1
«
•
II
J
•
•
•
•0
A
-------
m
*iS'
I||JO
4l7_
Q
HI
C*-M»
P.
ns
II III
oh
M*l 1
O
AUC«
a
it»
»|N|»
JJL
iH
n
a
t
o
IIC
ii
<
II
O
uu
11
7
14
7
M
7
u
c>
4 C«
41
41
41 44
41
41
UBSYS1FMIEISI
IA IIANDUNU
NISI
41
41
4»
to'ti
1
M
11
»
On.
If*
t4
.2.
tt
5
VINI tnunci
V Anwtf lh.ap*l
U II
/ s
M
3
M
5
No.
M
2
ii
,*•
N»m«l
Op>IM
Mi 0
11
/
M
6
14
6
Wk
II
0
II
.2.
Mama of Poiaon
Conifileling Form
Oalt
tokv
II M II It
00 1 P
tl
o
»
u
O
an*
ItMl
11
ot
-
14
0
II
II
II
1
II
1
t
•
II
1
:
M
A
•a
ni
0
•
i«
o
o
6
0
O
\
N
7
1 1
*
«
7
7
7
7
t
nl
O
11
/
4
4
i
^
Hi
ii
/
-
ii
/
fl
2.
2
3
i)
/
HI
n
f
/
#
f,
f
14
/
Ml
14
O
0
0
o
0
1
II
/
n
/
y
/
£
1
»«•
II
0
II
II
S
ii
ii
d
c
*•»
II
,_
II
3\
IMMr
m«M
n
"p
<
c««
»
11
O
11
11
11
lu
11
Pi
la
U
o
"1
«>l
M
l«
£>
^
O
o
/
4
41
O
1
1
f
o
o
r\
t.
9
41
0
S
e.
y
o
0
i <»
MWW1
uck
41
0
o
111
in
"1
o
II
II
£)
c t
• 1
• 1
tl
3
Ml
I'-
ll
O
.
»
11
7|
*•**
••km
ft)
6
c—
14
3\
N*
»4
cV
3
u
II
0
tt
fl
a
M
^
M
o
9
9
a
»
ii
ii
C
f
^
0
M
AM
tl
A
Q
^
7
tS5
M
M
uwrt
•lt«i
tl
O
<7
<^
f
SIM
ri«
•
10
tl
IM
10
0
<9
£\
^3
Di
II
II
to
t
7
4
1
11
11
•9
O
•
i
ii
•
•
i
•
•
•
•
•
i
i
i
i
i
i
•
•
c
l»
1
1
II
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
A
M
A
to
A
4
A
A
A
DO
I
-------
u
3
IM
7
3
Co.
O
**l
2,
O
i
1
UKI
3
(o
o
PU.
NM
O
4 10
*•§
0
5-
7
Itow
*
fc
•i*
o
K*4
On
0
||
O
EMISSION INVENTORY SUOSYSTEM (CIS)
COMPnEHENSIVE DATA HANDLING MccMn* - PTOC4M*
Inpul fotm NWIM ol r«nen
o— , ,. „ .
•a
it
0
*3
"1
01
«•»
u
it
0
t
x>
7
I»
7
i
i
N
7
L_
Wa
1C
/
*3
11
/
V.
1
II
/
>
0
1
i)
0
i1
II
o
1
/
c
•
•
JL.
n
a.
n
tf
H
O
C
•
•
•
14
6
p.
>4
a.
3,
n\
&\
AMU
»
I*
(o
K(
O
"1
0\
n*
II
O
m
O
III
/I
II
1
4
"1
/-I
ii
o
IV
0
i*
£
n
0
/
ta
(L
i
M
(
Mu
11
MM
II
jf
1
•**•
11
I
ml
a
5
MC
U
£
•cut
1]
3
m
s
M
^J
fa
/
»
6
ii
itfU
2>
M
<9
d
One
i!
IF
1
0
0
V*l
r
u
i«
1 1
•
M
ML
SaM
*«•
,
1
J:
a
M
/I
»
Cl
/
II
\**
AMM
0
M
1
<9
II
i!
c<
»j
lUk
•Mn
1
Pi
/
*«•
0
t
Cl
i*
«
tad
Mm
S"
1
o
d7-
«i
12
1
M
.•*•>
U
tmt
MM
j
-------
II
1
3
MB
1
7
3
CM
O
«•»
.1
0
J
/
UJCI
g
\
to
IP
0
n««
NOT
II
0
410
*»t
11
O
11
5
Vi
14
7
•
u
(a
u
0
o-
t;
0
u
0
{MISSION INVCNTORV SUBSYSTEM (CIS)
COMPIUHENSIVE DATA IIANOUNO Mcchln* - r>oc«M
Input Form Nwn* ol F**n«M
l>xnplaling Fana
D_.
•3
i«
0
1Z
"1
°\
s->
II
II
0
i
JO
7
i
»
7
i
K
7
i__
Wo
IO
II
;
M
II
/
Vs
1
?l
/
>
11
£-
2
l>
S
it
II
5"
i
»
/
C
•
•
1
Jt.
n
/
1)
4
*
14
O
c
•
4
•
24
6
r.
14
JL
"
•2|
HI
^1
«um
10
n
lo
K
11
Q
ill
°l
n«
11
O
c
w
l»
0
III
/|
ti
.2.
»t
5
IS
i|
ti
^5
n
it
0
it
£
n
a
M
/
JO
/e
M
^
N>
II
It
MM
II
5-
!•*•
U
11
J>
•an)
a
SL
MC
I
11
U
/
MM
11
,
1C
14
s
M
d
I
M
to
r
»
o
:?
':
M
ufU
M
O
11
0
One
O
il
11
1
M
a
««*>
/
ij
M
l««l
Sofc
>»•«
n
<9
M
L.
tt
fMC
IW.
«^«
40
O
Pi
40
n*.
•«
IUM
41
41
fatm
IO
41
41
5"
41
M
41
41
O
41
41
44
44
44
M
41
4i
1
41
•MM
1
41
MM
41
MB
«W
41
•ml
41
mr*
4*
«»
41
I
41
4t
• j
M
>
A
M
S
Cl
II
II
**•
MM*
11
U
•
u
il
II
t»
M
i!
»
AMI
»Mn
U
l
M
re
II
«*•
10
c
u
n
MM
MH
H
•
M
II
U
1
U
11
Mn
U
M
Ml)
M
MM
M
11
M
U
il
N
Jj
It
II
II
II
II
n
•
Q
»1
14
14
11
11
II
•
I
•
•
>
I
•
•
•
•
•
1
t
•
t
•
•
•
n
i
i
i
i
'i
i
i
i
i
i
i
i
i
i
i
i
<
•
i
•
<
•
1
c
•
•
4
It
1
1
1
1
1
1
1
1
1
1
1
1
1
1
t
1
A
A
tt
A
CO
1—'
~~J
II'AIDIIIII.I/S
-------
II
1
3
»*
i
7
J
Co
o
••IV
3.
o
i
1
UKI
?
1
6
10
O
fton
N«i
II
O
4 ID
*•>
II
O
11
5
Vl
14
7
D«M
«i
It
6
•IK
u
0
•ml
0«»
i;
O
u
e>
f MISSION INVENTORY SUBSYSTEM IEISI
COMPflEIIONSIVE DATA HANDLING
SYSTEM ICOHSI
Mcchln* - Proc4ju
IS*gnwnia
Input Form
NMIW of town
Compiling Form.
D*M.
•3
i*
0
•a
"1
01
!•->
II
1*
0
1
JO
7
i
N
7
i
t
19
7
Wo
ID
11
A
•a
"1
*l
v.
1
M
A
1
11
O
i
j»
0
ii
ii
O
t
n
/
c
•
•t
I
JL
n
1
n
V
u
14
0
!<
• •
* «
f •
»..
14
&
r.
14
^
Ik
3,
n
-fi
««•
n
N
£
«c
It
C
u
0
M
>«
0
IH
»
^)
"1
/|
11
A
M
7
n
X,
at
O
N
n
O
>t
£
n
0
M
/
]u
/e
*
»
0
N.
II
11
MM
II
,f
1
•*•
U
u
>e
an)
»
f
MC
I
M
U
£\
KM
M
•^
10
M
*J
H
M
0
la
»
O
IS
tfU
ff
11
o
0
One
A
si
11
i
c
0
,
J
M
X
*
Cl
11
II
I«W
MM
U
II
1
u
M
8
b
M
lj
Ml
•Mn
H
1
H
ri
§i
*»•
0
t
Ci
U
«
IMI
Mm
H
1
M
II
.
II
U
U
1
u
II
mttt
U
M
tauf
MMI
«!
•
lj
it
>i
n
ii
n
n
•
n
»
14
14
n
n
i*
n
i>
11
I
i
i
n
i
i
i
i
i
i
i
i
i
i
>
i
i
i
i
i
«
•
»
j
i
c
•
•
1*
1
c
•
«
M
1
1
1
1
J
1
1
1
1
1
1
1
1
1
)
1
4
t)
*
to
A
CO
I—*
oo
-------
Ill ZEE
JSB0A
iz.
EMISSION INVENTORY SUBSYSIFM IEISI
coMrntiitNSive OAIAIIANDUNI;
SYSTEM ICOHSI
POINI inunci
N«m» of Pol ton
Completing Fo/m_
O.W.
•a-
ii |»
•514
ni
it
5U
Ml
11
S
ft
£
6
S
M
2.
£
a
«2
.2
p.
Kins
lijll
dd
IH
li]
ii
ol /
•MID
IIMI
11 1 J4 | 14
|
1M
11
O
**«<
HI
II
/
//
y
fl
4
ii
/
4
X
A
3
11
/
f
j£
(p
/
— '
14
o
i
n
O
M
14
o
Q
c
O
e>
it
f
/
f
3,
1
lie
II
A
11
9
>•*• j
II
6
ii
ii
» 11
/
i.
It
„
xi
11
ill,
3|d|6|O|0
Ulk
11
7
11
7
14
£
n
/
Vr«WJl
M
o
11
3
11
/
luc» Dill
lb» ••»
li
o
»«££?c.u
ii
u
n
10
11
11
u
0
14
J
11
£
ClMU)
11
O
0
M
O
o
n
;&
i
M
«J
11
O
»
11
(a
40
«?
V
~irr.v
i*«
41
MncM
41
0 1 1
S
11
11
u
Craltfll
»
7
^
40
f
C?
41
0
o
41
Mil
4]
44
Sr.
41
41
Org
41
> | Plwu.lUql.1
41
4l|44|4t|4t|4l
M
c"
41
O
o
o
o
<7
41
O
Q
P
O
O
44
C
o
f)
0
0
5^
Mi»«nt
IMUI*
41
O
0
f)
o
&
41
O
0
3
o
I
41
/
^
XJ
y
u.
41
4«
kU,
ui'n
Pw »»u»
iuct
41
c
41
^
a
a
$
7
41
O
w
e>
II
o
S-
W
( I
M
11
T
»J
On
(HI
Mitt
«*-p
S Annul
Mo
M<(
U
A
4-1.
M | II | M
1 1 1
BSS
41
M
II
tl
.
11
14
tt
II
S
lhi*«Ml
J*"«-
U
JL
1
Tl
II
M
If
5"
He.
M
SL
.emaliM
IIP.UU
U.
t<
M
II
$•
Ha
ft—
Ht
11
A.
OK
li
ii
Atom**
CiNttvan*
M
II
tt
II
M
II
ii
M
V
I
11
V
1 1
11
•Ml
H«l
0
M
7
M
|M
M
j
^
J
J
J
m
M
f
*•)
II
1 k
It
II
/
1
M
I«H>
0,w
II
-------
•I
1
3
M
7
3
Co.
O
•«•»
.2
O
i
1
IOCI
ff
6
10
0
II
c?
11
0
11
5
Vl
14
7
B«M
*
It
6
dm
It
0
mid
*•!
I/
<9
it
0
{MISSION INVENTORY SUBSYSTEM IEISI
COMPIIEIICNSIVE DATA HANDLING
SYSTEM ICOHSI
MKhbw - PTOMU
IScomntt)
Input Fofm
Nam* ol Penan
Completing Form.
DM.
I*
I*
5
!'
M
.
l-l
u
II
W9
n
M
i
C
tl
A
kJlM
MM
tl
o
t
tl
o
c
a
A*k
an*v
/
•
6
c
UMI
•Mt
It
Tl
II
n
14
n
M
"
•
it
i
A
n
I
1*
4
**
"1
i-l
*•*
II
5
^
'
M
a.
\
&
3.
•a
n
o
VN
1C
O
0
1
i>
i"
,f
/
^
c
•
•
1
A
n
1
4
f
i
• c
• •
« 4
• •
I,
14
^
P,
A
$
H
/°l
«MM
Kt
/
/
"1
A
M
D
0
"1
0|
/
/
"1
c|
^3
0
j»
0
i3
JU
//
1
0
o
>l
£
MM
O
4
i>
4
wit
o
^.
u
7"
KM
p
o
£
C
0
In
z
0
0
__
«u
c»
BMC
e.
ii
*M
^
M
(«
1 I
•
M
f
1
4
r*
/
a.
Q
fcrtw
10
/
6
41
/I
II
O
0
41
£
/
i
44
O
c
44
1
O
0
4«
MM
0
0
41
•»r
0
<>
41
KHI
S
4
41
ot
?
•
•
i:
«
M
4
0
<)
ti
0
£
u
0
0
u
i!
/t
M
•
. •
»:
*
U
V
14
rs
A
t>
few
0
V
M
«
M
/
M
(5
ti
<)
u
i
0
M
«to»
/
M>(
6
...
6
O
i!
$
»!
n
/i
•
ra
14
n
N
I/
•
•
•
*
M
I
t
•
•
•
•
•
i
i
i
i
i
i
i
i
i
i
i
i
i
i
i
i
i
c
•
•
n
i
<
t
•
1
i
i
i
1
1
i
i
i
i
i
i
i
i
1
i
V
4
A
A
-------
II
1
3
u*
7
3
Co.
O
«"»
SL
O
i
1
10CI
£
\
6
10
0
FIW
Mm
II
0
*IO
*•>
11
0
11
5"
v«
14
7
BM>
4>
II
L,
wit,
II
0
im4
II
0
II
O
EMISSION INVENTORY SUBSYSTEM (EIS)
COMPflEIIENSIVE DATA HANDLING M*d*tt - FIM*U
SYSTEM ICOHSI (Scoownl J»
Compiling Form
II
5
I *
M
A
**,
II
/
i'
II
o
'
11
A
1
14
0
it
£
K
II
0
c
M
II
0
II
/
l\
n
0
1
M
y
M
II
uMfc
11
MC
M
n
M
14
1
11
•
,.
J i
'!
M
II
0
11
o
iMl
V*
Or«
U
<3
r.«
dW
!•»
40
^
«••,
III
IUH
41
/
41
5"
41
y
Mm
f
t
r
•M*
4
II
II
n
M
n
N
ii
:
•
i
u
i
•
«
n
i
*
A
bji
io
u~|!a
s\*
S-,
M
II
/
it
t
H
0
C
•
m
Jk.-
n
i
c
•
•
14
P
n | n | it | li 1 1«
p\ /d o\ a
XI
ri
11
£.
u
A
11
r
£
tf
/e
£•
/=
ff
41
A
41
s
44
4i
a
41
41
41
1
•
1-
•
M
A
ii
ii
M
ii
ii
n
•
n
14
n
»»
ii
•
•
•
u
1
4
n
i
*>
A
oo
r\o
r-«
u
ii
£
$
i
N
5-
^
V>
I
M
/
/
|I
II
0
o
n
4
y
r,
14
3,
^
dwlet
n
n
/
f
as
II
0
o
I)
/
/
II
0
0
o
o
1
0
0
MM
0
5
«n|
^
i
•via
10
/
&
4
0
&
1
£
0
o
1
0
o
•
mi*
0
0
OKI
1
2.
•M
0
3
y
^
<3
(3
^
0
O
•;
i:
V
it
j
•Mil
10
"/
•
O
1
O
ii
O
1
u
d
.«*»
u
$
tmt
^
—
i!
ij
n
n
;i
14
i
i
i
i
i
i
i
i
i
i
I
i
i
i
I
i
i
i
4
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
X
A
II'AIDUIIII/O
-------
B-22
-------
{MISSION INVENTOnv SU8SYSIFM ItlS)
coMnuntNSivE DATA HANOI INI;
SYSfEMICOIISI
PUINf tOUIICI
~Mii
l lam
Nam* of Faiton
Complains Fo>m_
•a1
»
p
N
4
HI
11
#
M
2,
IU,
II
•" 1
— 1 —
11 1 14 1
».«.
II
0|0|'/l5l
ui
n
M
II
J
11
/
M*
14
0
It
1
n
ii
1
nl
sra
,
M
1 1 1
i
ii
C
4H^
II
11
IkMlUu 1 VMn«| 1 pwiK llvgl.1
1 ' n — 1 1— 1 1 1 1
11
~u><4
ni«*l C«M
n
M
11
11
11
Pi
C
11
0
H*MM
unbu
•**K
0
1
ml
O
to
C
1*
O
1 1 1 1
onu«
0
o
Cnuid
O
o
fl
o
V\
to
I>
0
o
L]£l
IM«I«I«
f
^
<^
fit Kith
*««"
(P
€ 1
• 1
11
S
tl
.
Yi 1 Urn
tl [M 1 it |u
1 1 1
«*knin«
11
M
M
M
,
tl
II
1
M
Me
I-
tl
U.
M
LIWM
tiwa
tl
•U
•
M
ta
nt
M
DM
Ii
It
II
ll
I
1)
v
1
11
14
1
t
M
s
*4|
It
M
• fl
1 1
1 t
It
1
II
II
CMI
1
1
II
II
lugl
II
M
Ml
10
II
II
II
11
M,
11
11
1
— -1
14
It
"
It
^
J
II
II
II
JL.
Ill
1
!
'1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
t
1
.t
II
1
t
It
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
M
A]
•0
4
r.rAiniiniii4
-------
fl
1
3
M4
7
j
Co.
0
<•"»
.2
O
/
/
UICI
s
(o
10
0
fu«
NOT
II
o
4 10
*•>
11
O
11
5-
Vl
14
7
Itow
«•
II
7
Wlh
ii
O
m<
»n
I/
O
il
0
EMISSION INVENTORY SUBSYSTEM IEISI
COMPnEHWWV^ *™ MANDUNO M«hta. . r,oc..4
Input Form
Computing torm_
DM*.
•a1
ii
rt
5
10
2.
•a1
ii I
N
#|«2
HI
II
ft
N
2.
IO
11
O
it
5-
K>
11
0
11
S
10
M
0
11
5"
1
11
3
c
1
11
1)
il
»
14
0
t
• C
• *
t «
...
14
P.
14
J
it
(o
n\
KC
IM
11
O
11
D
11
V
11 1 11 1 It]
IV
t*
0
it
R\£\f\i |A^
AH*
n
f
in
11
o
i)
f
11
o
n
0
ao
2.
JO
£.
i
10
0
M>
11
11
£
MM
11
3
MC
~+m
11
11
y
•oil
n
0
la
aa
—
11
O
M
14
8
M
£
at
la
i.
at
O
•t iMtfMcm.
• i SaM WMM
M
we*
0
at
<3
11
0
One
Ul
i!
ai
M
0
IVM
V
J!
M
a*
3
M
J)
a*
40
5
o
r>
40
41
7
*\/
•Kin
IO
41
41
0
ft
«
41
41
£3
41
44
44
M
4i
i
4t
•MM
1
41
m«*
41
MO
UK
41
our
41
•••"
41
•cw
41
1
41
41
^
to
•
M
*
Cl
II
II
•Jim
MM
11
M
U
1
U
11
,:
M
Ci
M
:
M
Ml
Mm
U
U
1
M
fa
11
•*•
0
1
Ci
U
»
«•*
Mm
II
1
M
•
II
II
U
f
U
11
mm
U
tat
«,
i!
—
•
11
n
ii
11
u
n
n
•
n
11
M
14
n
n
M
»•
II
11
1
11
1
•
ii
i
•
i
a
i
i
i
i
i
i
i
i
i
i
i
i
i
i
i
5
n
i
5
n
l
c
1
1
a
a
i
i
i
i
i
i
a
i
i
i
l
i
*
4
to
A
A
CO
I
[\i
-p»
-------
(<
1
J
»••
7
3
c«
o
..i«
.2
O
i
1
UKI
9
6
10
O
ru.
NOT
II
0
4 Ml
*••
II
<9
i)
5
it
14
7
B*»
«i
II
7
•<*.
It
Q
tmt
0..
IT
O
II
o
{MISSION INVINTORV SUOSY6HM (CIS)
COMPnEHCNSIVC DATA IUNOUNO
SYSTEM ICOHSI
MccMn* - PIOC«M
IScomniD
Input Focm
Nxn* off (
Compkling Foo»_
DM*.
K
II
2
M
A
II
11
/
1 1
>
11
0
I
11
A
»
14
O
n
£
M
II
O
C
HI
11
0
\ "
ii In
5J0
*
M
4
M
11
*•*•
U
MC
V
U
•
14
)
X
••
'••
M
II
0
M
0
l«t
w*
»f-
11
3
fi«
MI
40
^
•M.
IUI4
41
(c
41
7
41
5"
44
M
4»
MOT
•Ml
ft**
>•*«
1
C
b*«
wtm
»
C
AM
onMr
•
b
KM)
•Mi
«
II
•
U
u
M
II
M
II
M
It
M
II
II
n
•
1
•
i
1
,
i
1
4
u
It
9
i
M
3.
..
v>
II
II
/
1
11
0
11
y
r.
14
B
•*•
n
/
M
11
0
ii
/
11
O
O
i
o
••MI
3,
•nl
/
MM,
o
0
p
0
i|
*
f.
10"
4
i
•
mM<
•N f
MMi
^
i|
»j
fo
h«v
10
•
II
1
II
MO
*>f
—
i!
•
ii
n
u
14
n
M
n
i
n
I
i
I
i
i
i
i
I
i
I
I
I
I
I
I
I
t
it
1
i
i
i
1
i
i
1
i
i
i
1
I
i
t
I
tt
A
-------
CO
ro
cr>
MJ-.
i
3
1
7
r,.,...
1
3
'£!£
n
N
n
C
1
Im.*
ClMMl*
II
11
o
urn:*
/
g
(o
•UMIO
n •
10
o
II
O
II
Q
11
g
D*M •!*•<•••*
»•« 1 0>f
14
7
I, I.
6U
II
O
..«-.
14
1*
II
ii
II
II
N
11
n
11 14
n
ii
o
M
J
CO
11
0
11
o
»
O
EMISS
CO
UIU
tow
40
9
41
?
ION
Mpr
«
41
f>
INVENTORY SUBSYSTEM IEISI
f IIINSIVE OA1 A HANDIINQ
SYS1IMICUIISI
41
F
L
,~~~.»-~**~*
it
I
HI
£
ii
X
II
/)
M j »4 | »
CJ0J
M
£
n
e
II
/=
It 10
/
Al
11
£
1*
Hi
II
"
1
»»
.'4
•'»
,
it
"
M
II
»
11
n
«.
11 M
V
it
«y
M
O
11
11 M
n
11
II
I
M
It
Hi
40
41
^
41
5"
4]
£
M
/
Aj
-------
CO
1
VlK
J
7
1C)
II [ 70
4l7_l
•a1
•Zw
Ml
•i
J
3
3
3
3
M
7
7
7
7
7
j
C..-M,
n
Ml OS
nit?
Ibl
11
j»
lljll
I
ui
71
/
V
//
if
y
II
^
i
2.
JZ
J
n
/
/
4
1
/
o
3
lUi
AUCI
2l
I4JH
Jl
1
14
II
Ml
14
0
0
o
o
o
II
/
/
/
&
1
*\
n
J.
£
0
H*
Nwi
•1C
II
9
!•*•
n
ii In
/J/^
no
4Mi
»
Ml
=R=1
11
"
i 1 1
DM*M*I
,«l
a
11
7
^>|o
(!••
On
II
C
Ulfc
IIWri»l««
11
?
14
<7
M
0
II
&
Co
M
£«.
11
3
•tMt UH*
11
,«£Se.«
ii
11
n
M
11
U
M
M
M
.Hi
n
0
M
(
n
O
N
»
M
/
M
/
40
2
MISSION iNviNionr.s
COMPIKMIMSIVE OA
SYS (EM ICC
UMielr
41
»
41
4]
44
«•
\ \ 1 1
CdMllO
11
n
M
CIMUIOI
M
<^
4O
^
41
£
41
4l|44|a|4«|4l
\O
s
41
0
0
<3
(5
^
41
d
o
o
c
o
44
Q
(0
0
0
o
S\0\Q
«i
Q
3
^L
o
Q
41
1
c
?
A
&
41
7
o
o
o
3
41
41
u'li
Fll —l«
Ccnocn
41
O
41
£
O
Q
3
i
41
0
M
o
ii
/
Sm.
51
c»
• i
• •
• i
11
Ml
1..
41
10
ii
tl
.
11
11
J
MMi
••*i
11
rami inonci
iSn>Mn< n
h*Mil Imm
X AJWUJI tlWM|lwl
On *4« JMA«- I i^|M-
|H> "•! »••* 1 No,
14
^
M
£
M
3
C— •
lrM4
| 1
*
"4
14
M
II
7
M
/
i
Tl
II
M
II|M|II
fay
Uu
M
M
Ni»
H*
11
2.
0.,
II
ii
' s=z
M
II
U
tl
10
II
ii
n
4
t
11
£
IV
• I
• 1
»]
•Ml
<>"4
D JW*
M|II
JjV
IH
14
*
1
M
^
jr
^
^
s
n
.;
it
M
9
1
II
Him* ol r oi ton
Coniploling fotm
DM*
toM>
II
M
r
•I n
II
IU,
H
N
W»
1
n
II
ben4
II
HfclU*
ItoM
»>
^>
"1
1)
0
14
o
n
n \ M | (i
II
ii
M
11
10
II
II
n
"
II
II
If
1
1
/•
1
t
t
*
i
t
>•
i
i
i
i
i
i
i
i
i
i
i
i
i
i
i
'
c
II
1
c
.4
<1
1
C
t
n
i
i
i
i
i
i
i
i
l
i
i
i
i
I
1
i
:
M
A
M
A
M
A
4
4
A
A
-------
,?
H*
7
3
CB.
0
•«•
,2
0
J
/
ujci
s>
6.
0
ru»
Nwf
4IO
*«
||
|)
Vl
«
||
7
II
c
H
0
ii
EMISSION INVCNTORV SUBSYSTEM IEISI
COMPflEIICNSIVE DATA IIANOLINO M«Mn« - P>oc«u
SYSTEM ICOHSI IS*giT«n«2)
Input form NMIM el f •nan
DM. ...
ft*
!'
7
In
i
rt
ii
1
J
1
6
M
C
IH
0
z
1)
f
M
MM«H
MC
N
«
i
:•
0
i^.
«<*
B»-
f.«
JWl
••«
5
*>i.
»M
IWe
7
V
/
M
•»•
w«l
lUu
>••«
•
C
l«««
iHUi
«
C
OMV
N
C
MM
•14*
4
||
|1
||
||
n
H
n
M
II
£
•
ii
I
c
1
,J
It
1
A
*i
»
"1
4
s-«
M
J
i
N
7
1
7
*•«
M
II
0
V,
n
0
i
>i
5
ii
5
C
•
•
-A
71
3.
!<
• •
• *
%..
14
/*
r,
*M
A
•**
n
ill
fl|
4
III
H
111
^1
It
JO
1
11
••M
u
•.»
u
«-
>4
C
•
•
•
V
•
1
•
f*
41
felw
U»
42
4
41
44
«i
1
•
a
M««
41
ant
41
•CI0
41
*
1
M
A
ii
ii
11
.€
•
•
••
14
«
•
1
• 1
•
u
M
r»
ii
•M«
«
u
«
II
M
II
U
I
• 1
mtnt
i«i
MM>
,«
<:
•
);
•
II
/I
•
n
14
n
N)
II
•
•
•
»•
I
ft
•
I
•
•
•
1
1
1
1
1
1
I
1
1
1
1
I
1
>
1
1
1
<
•
1*
1
C
•
t
«
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
•»
A
A
CO
ro
CO
-------
10 II III II
4lo|o|o|y
14 I It I II II III
0\0
EMISSION INVENTORY SUBSYSIFM IEISI
COMPIIEIIINSIVE DAIA HANDLING
SYSrEMICOIISI
MJINI inunci
iSn««>< ii
bHMil tvfim
Nam« of FQI ton
Completing fwm_
Onlo_
UIMCow.lM t
Orx M« Jun«
>Hl M«g A..Q
1
(')»•
Ho.
Nt»m4l
•WM|
D W»
II M II 10 II
II II 14
IVIIMJ:
/l/|a|dl7l.P!al4u>..llUqlil
iTTt tl^ «n.4| «k|4«jld d5iolal5fc
Pit ..IK
CoNtfnM
Suc>
41 4t M II
C—»
Ixl^J
III M I It I II
tlftT
Tomp Slil
llptUU
IIIM In W
p.,
Conn* lbv'*IKMt«
I H*gl
It ii ii I ii it m ii
•-,1
il ill
M
• ' A
ro
10
t
11
-^
u I
1
Al
•i
II
H
IN
11
3
HI
11
/
Ml
l<
£
11
/
II
II
q«p
II
r.;
n
ri
Con
10
11
11
*
c
la.
11
O
UMtL
**«
M
O
•
rf
ml
»
O
(•<
11
o
umti
«!*M
ir
O
t
Nil
11
O
C
II
n
O
*>««
40
O
•4
4
41
0
0
O
In.
C
>)*••>
O
n«
O
O
41
d
41
U
<5
ii
£?
r:
il
JL
•
«M*
tl
^
•1
W
»4
7
n
3
M
II
An.
U
M*b
II
!•
n
M
II
11
u
» i
1 1
11
M
1 k
14
/
IM
1 •
• 1
1 k
II
II
II
II
11
10
II
11
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
C
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
10
A
-------
&<•*•
10
ruMio
11
14 It
77
u
I/
f MISS4ON INVENTORY SUBSYSTEM IEISI
COMPHEIICNSIVE DATA HANDLING
SYSTEM (COHSI
PIOCCM
I Segment 2)
Input Fwm
Hunt of PWMTI
Computing form.
DM*.
ft*
V
I1
3
w
II
o
i»
5"
1
3
1
0
6
K
O
c
HI
tf
rh
&>
f
2,
H
»•*•
MC
^
II
>
il
4
tf
i-t
tok
9l-
/
f>«
4Wi
l>^l
7
•»«.
• M
IUM
/
5"
(?
u
MOT
•Ml
*••
»•*
N
1
C
IUI«
•MM
4
C
JU*
OMB
4
C
MMI
•••
4
||
f]
;|
|)
n
H
n
M
ii
•
•
•
•
_i
it
!
<
•
t
l
n
I
H
A
fry- 1
•*
It] IU
tAa
*•(
V
11
o
ll
>
»
,s~
I
J
A
1)
1
J,
I •
14
I* 1 If [ II | » I 1»
f\g\ f\ i yj
Jo| ii
£K
u
y
u
*4
/3
>L
a
hi
d
0
kl\d
41
41
44
4i
44
41
41
41
I
to
II
tl
11
t4
U
M
tl
M
It
M
tl
U
tl
II
n
•
n
-
•
•
I
c
•
I
A
00
I
CO
o
r-*
M
v
I
3
Vs
10
0
1
5
y
r><
3
lMl»
K>
f
4
0
/
0
O
1
•*•*
.3
«,
^?
—
o
(7
O
O
*•
1*
*
p«
lMl«f
10
4
*
1
m»*v
•N f
MM
4c
, 1
^0
klv
10
«
t
•tni
MP
_
i!
»]
i
i
•
i
•
i
i
•
i
i
i
i
i
i
i
i
»
4
1
a
i
i
i
i
i
i
i
>
i
I
i
*
t
>
A
irAii)uiin/t>
-------
CO
1
GO
1— »
ll«r
3
t
7
*.!••
i-.— i
^
4
4
0
£
<2
A
0
A
MUM
/
/p
£
£
X)
rw4U>
lfc.n^
^
1*
7
Mf 11
?
IMI
*9
^
0
0«M
f'M
7
^
7
c
rife
£
c»4
0^
C.
•
EMISS
CO
UIU
lOM
ION
lAPf
o
0
INVENTORY SUBSYSTEM IEISI
EIIENSIVE DAI A HANDLING
SYSTEM ICUI IS)
,«««—..—-.
It
0
M
0
It
0
II
A
11 14 | Ik
0
o\o
M
0
ii
O
l»
N 10
11
"
n.
"
»
11
!4
.'1
It
»
n
JO
11
11
u
M
n
M
11
11
M
n
11
11
M
M
40
41
41
41
44
n
U
41
fc»»»t
11
M
n
40
41
41
41
44
41
41
41
4|
nANIIOTNIIIK
l&WMMl
Input fvM
.AIM
1
IN
><*;
tan
«
D
41
M
II
M
II
II
M
11
M
II
M
II
M
II
M
II
M
II
11
14
U
M
II
M
II
to
II
U
11
h
Cc
MM ol Pit
molting ft
0
££££
d
4
i
10
ion
Km
•u
»>«•
44?4l
P.«d
Ml
*_*-
n
£
n
0
11
O
14
O
II
c
II
d
II
II
10
ii
n
It
14
II
II
II
.
II
*
5
1
1
.A.
n
i
c
-«-
II
1
A
A
*
I
U
A
i
M
A
-------
DO
1
GO
ro
Su
-]
•
I
ikl
10
it |?o
'.„!
Ml
11
0
o
0
0
Q
fil
^
s
«y
5
$
CfetnlV
,1.1.
3\fl\Z.
PlMII II
HI OS 1
II 111
*
11
|
"
II
/
/
•?
4
II
^
A
3
3.
2
•
9
AUCII
~1 "•!"•'
71
U«
»,4H
3JOJ
* 1
nd
LI
II
|
in
11
f
/
y
nc
»|ii| ii |n
,.„ |
11
ii
ir
31
"\
10
4tOT
11
«9|f
,»
XI
<9
II 1 W
1 I
ii
11
It
10
II
«7
11
11
0«M
"•U
•=p
ii
11
O
M>U<»«
04,
II
?M
II
0
UIM
IlltlUOIll*
II1
o
14
0
H
0
II
0
Co
11
0
EMISSION INVf N1OIW SU8SYSIFM ItlSI
COMriUMLNSIVt OAlAIIANOLINli ..
SYSrCMICOIISI
JINI inuiici
N«m* of Poi ton
Coniololina Fo»m
Onto
Vrilv^
11
0
|IW> U4II
lln. ••»
1]
11
11
r
c
In
11
14
11
imwirf
•IJ^Knl
14
11
11
11
<3
11
t5
40
C
4.-R
1 •Milk-
ing «4.i, | S»c
41
41
4}
41
~Y
»
11
11
«
Coniini
n
<3
tO
0
O
0
4ft
0
£>
,0
o
0
41
C
c
t
c
o
41
44 1 4k
J
PI
•>M
41
O
C
c
o
o
O
0
O
o
0
41
4|
I.H.U.IUII-
Ora M«t
41
4C1>
II
•I
•I
10
II
€«*•* fInkMlHHIt
14
I
ft
M
J
3
^
3
3j
II
1
fe
It
II
II
lljll
L
19
m
ii
"AT-
II
II
1)
14
111
M
•'
u
M
10
ii
11
11
14
II
It
"
t
1C
7'1
J
10
II
II
1
1
t
*•
1
ft
•
_4V-
r«
I
t
'•
i
•
•
•
i
i
i
•
•
•
i
•
i
i
i
i
c
II
1
t
It
1
C
It
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
10
4
M
A
•0
A
A
A
A
A
-------
l«M
1
3
t
7
0-,
3
0
2
0
MIC*
/
g
(*
ruMio
10
?
II
?
11
7
n
9
DM*
14
7
u
7
Wfetw*
II
0
I/
0
II
0
EMISSION INVINTORY SUOSV6HM (CIS)
COMpnEHCNSIVE DATA HANDLING MccMn* • Proccta
SYSTEM ICOHSI (S*gnwnl 21
Input fonn
NxncolFwon
Completing Form_
•a
0
ii
o|
5-1
II
II
o
o
1
to
1
XI
5
ii
N
6
f
Wo
IU
Ji
O
b«
M
II
0
v«
i
ii
O
o
>
II
y
i
u
/
<>
a
ii
1
/
i
JJ
K
1
.A
>1
11
4
l
»
c
l<
r.
14
^
/
««•
K>
n
6
/
>CI
'•T
1
M
11
P
o
HI
Jl
"1
1
II
2,
/
ii
5
"1
1
11
0
0
M
o
0
0
0
1
0
0
Nu
MM
£
1
«*•
-II
0
I
MC
•CM
(9
ID
Q
0
0
o
ii
o
c
0
i!
1
c
0
M
1
.4
SoM
*••
^
^/
^
flW
w>
tog
Pi
^
3.
n».
IM
IUl«
5"
•Mm
to
/
5"
14
(3
JJ.
II
<•<•
0
v
1
fa
0
u
n
0
«MI
M*n
II
1
0
M
0
•1
Q
u
1
u
0
11
•tn
u
£
M
tall
£
~
£
(7
rt
0
i!
—
lj
II
II
'«
n
1
11
It
M
»»
n
II
1
1
_t
1
1
1
1
n
l
i
i
i
i
i
i
i
i
»
l
l
i
i
i
i
c
1
c
1
c
t
n
1
l
i
l
1
l
i
l
l
1
l
1
1
1
1
1
A
A
**
A
4
-------
CO
1
CjO
Su
71
3
V,
III
III
•
7j
ro
•a1
^p
4*
MI
n
/..
J
HI
Coufftv
Q\
us
II 111
•,7|
f.
II*.
J?
1
ti
a.
MM 1
11
U»l
11
O
D
Jin
OUCH
s
,.|>l
£&
|
"
n
1 1
III
1)
n
ti
11
ll
11
»«•
11
to
nc
11
PlK.I ID
11 Jl
1L51S
1 .'-
II
II
^
I**
HI
f
nf)
=1
11
*?
>'
1 1 1 1
»u 1
3
11
c
?lc
ik
Ulfc
lllMIIOXIII
~iT
(9
14
It
o
Co
u
O
mini
V
11
o
lll*> Dill
Hn. l.ll
11
l«X>ml»lCo>l
II
II
11
11
10
11
11
11
14
>l
i^H.1
11
14
11
M
11
EMISSION INVINIORYS
COMPIUMlNSIVt OA
SYS UM ICC
rilv*l IK-a M>n Src
U
o
11
1
Cfoilt*
11
11
Jl
19 40 41
o o
' \ \
\ \
Crwtnnl
4]
•>
Pl**"*
«
o
(n
(
«
&
*I|»KI
tun*
UBSYSIfMIEISI
lAIIANDHNli
)IISI
Or,, M.»
-1"
\°\
Ml
II
o
U)
Pll -,1>I
II
41
M
to
tl
II
W
01
C t
• 1
• 1
11
M
II
11
11
i»
On
Iri,
SI
Co
hi
7 1
»•
11
Mi
M«
14
t»
«p
«d
1M
"1
UIHI inunci
MX Jim*.
U., A. x|
M
a
II
t»
U
V
II
M
F
11
i.-*-
M
ompSlf
lltubll
II
1
tl
ii
M
II
10
II
Mi*
OP-
HI
II
Pll
II
11
IT..SJ
it
10
II
•i
i)
1
11
U
1
• 1
*i«J
fcnq
0
14
Wb
n
II
Nam* of Poupn
Coniplalmg Form
Dale
•M>
II
lutt
14
( M
1
1 ft
•4
11
M
1 1
1
11
II
II
II
II
10
n
H»al
II
M
m
ll
H lo-
ll
1)
•
»4
II
B., 1
II
1)
II
II
ll
•1
10
11
1]
„ „
_.u
1C
II
B»
•
•
;•
i
t
i
%
f
i
n
i
«.
i
c
10
A
M
•~^
•0
Ml
11
2
^
Z
z
z
M
z
z
z
z
z
11
/
V
V
4
4
••
11
y
3.
Z
Z
3
in
n
/
/
y
if
/
M4
II
o
o
c
o
C
n
y
/
/
z
1
ii
ii
c
4M>«»
II
mini Cotl
11
10
11
11
f,
lo.
11
•V«nl
14
11
Cwili«*
11
11
Jl
Cnnlial
n
r5
a
z/
4>
in
^,
Q
ot
^
s
0
o
6
O
O
v:
c
0
c
p
0
c
o
o
o
0
o
o
0
o
o
,rr;
o
1
o
o
o
(
1
o
a
z
1
5
o
^
V
$
4
g
7
v
to
II
r:
11
•
r.
11
A
«
14
t»
tl
II
AIL
II
1Mb
It
N)
*•
10
II
•1
u
i
11
M
1
ft
•4
/
f
f
1
/
M
1
1
11
II
II
II
"
10
11
1]
f
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
c
1
1
J
1
1
1
1
1
1
1
1
1
1
1
1
1
•0
A
A
A
A.
A
-
•
-------
d
I
3
IM
1
7
J
c*.
0
..IV
A
0
J
/
IUCI
t
\
6,
10
4
fw.
NOT
II
?
«•>
11
?
11
?
«•
i<
7
ItaM
41
It
7
Wfc
II
C
mmt
«Hr
I/
o
II
(9
f MISSION INVENTORY SUBSYSTEM 1C IS)
COMPntHCNSIVE DATA tlANDLINO
SYSTEM (COHSI
Mxttn* -
IScgn
Input fixm
NMTM of r»nan
Compl*ling form.
DM.
»*
II
0
J1
t
»
o
W
0
c
M
il
5
f
t
M
Mfe
MC
•
II
I
|j
0
u
Of*
0
fix
4W
IM*
*
*•(.
IM
iuu
f
5"
(0
u
•M«
«•(
*••
>••*
•
i
c
kJ*M
•MM
tf
C
ON*V
4
c
0
MM
•M*
0
«
0
a
— *
MM
••*
^
*"•
•
I
c
*
rt
1
A
*a'
ijlm
As
«•
II
0
ll
I)
2.
C
•
•
I
A
»
C
•
4
•
14
r»| it ] !>|)i|>»
1 II 1
JU
11
u
u
M
h
M«C«
Om
»V*v
M
41
41
41
44
41
4«
41
41
41
1
to
A
ii
u
11
M
U
M
U
U
II
M
II
11
II
_
M
II
•
n
14
n
it
K
•
•
•
•
•
11
i
4
•
n
l
to
A
' V
II
0
0
\
N
^
^
V>
l(
;i
0
0
1
i
II
i
^
ii
f
4
r.
14
f
i
•MIM
n
/
(e>
14
11
£?
c»
II
f
2.
ii
^
0
H
<7
£>
i
»
^J
/
•••••
ii
/
i
.,
a
^J
£
—
11
0
£?
M
/P
O
»
0
o
M
£>
O
il
11
l!
M
U
IL
d
f.
««
ji
3
•olv
IO
41
/
^
4
41
O
o
41
/
/
44
0
Q
1
41
£
0
•
PVM<
0
0
•Kf
,2.
o
KM
*?
?
^»
Q,
O
O
O
O
O
0
r=
Jj
v
fa
J.
•MV
10
y
•
0
1
fy
it
9
i
u
0
•M
u
0
Ml
^
«,
<^
^
<5
^
ii
>!
M
n
11
14
n
»i
ii
§
n
l
i
i
t
i
i
i
i
l
1
I
1
l
i
i
i
t
4
It
1
1
1
1
1
1
1
I
1
1
1
1
1
1
1
1
•»
4
A
-------
*
3
MS
7
J
c~
0
*"»
i
6
t
1
LOCI
*
1
6
fte*
NOT
40
<••
||
|)
i
v<
|4
7
»
ii
7
II
If
0
II
EMISSION INVENTORV SUQSVSTEM IEISI
COMPREHENSIVE DATA HANDUNO M«Mn« • Ftocvu
BY6TEM ICOHSI IScgmnl I)
Inpi* ' W> None ol Pmon
•a
it
*
iii
4
«•«
u
2
i
\
V*
2.
I
N
£
1
1
2.
£
Wo
IO
II
o
*••
m
n
0
Vv
u
O
f>
I
H
1
I
II
/
ll
/
^
1
c
11
-j/
/
•
I
• c
t •
t..
14
»
JL
1
b
\
K>
£p
^
K(
"f
1
M
o
M
II
O
"T
1
i
^
7
"1
1
**
^
0
IV
5
It
0
o
3
HI
i
0
Mu
11
MM
y
0
•
«<*•
u
«,
t/
O
«c
u
«.
7,
7
K>
*4
^
f
Jl
<9
5.
(»
M
O
o
tf
If
kc
}4
C
M
•
fah
»••
O
»
v
y
r*«c4
w«
>««i
o
4*
r>
^
i
til.
•U
3
41
•nix
IO
y
/
^
4}
n|
0
O
41
/
/
44
Q
f)
M
44
,
f)
ft
•
mHH
•
•«•*
^>
A
Ml>
IM
oof
J:
^
!•«•
KM
0
&
/}
1
!•
4
5
£
t.
c»
7
0
£
jt«
•MM
II
o
c
s
11
,5
J
Co
M
1
|
•
UH
Mtara
U
u
ft
A
0
ii
•*•
/
»
c*
0
M
m
^>
M
M*M
tf
U
^
w
*'
^
/9
•m
()
-.,
— ,
^
^
^
^7
,c
—
•
•
—
II
'*
II
—
n
14
"~
n
^
»•
u
i
i
i
i
i
i
i
•
i
i
•
i
•
i
i
i
i
i
•
•
i
i
t
n
<
•
n
i
c
^
1
1
1
1
1
1
1
1
1
1
1
1
1
1
t
1
A
t>
A
^
A
A
DO
00
-------
(1
1
3
M
7
3
c*.
o
•"»
i
o
t
/
UKI
f?
£,
10
f
rw>
Mm
U
?
HO
*•
11
i
11
?
v«
14
7
ItaM
«§
II
7
•<*
u
<3
Z"
u
0
u
0
(MISSION INVCNTORV SUOSYSIEM (CIS)
COMPnEHCNSIVE DATA HANDLINC MKNno - fioccu
SYSTEM (COHSI |S*gm>nl 2)
DM.
•a
II
M
•
HI
1
M
ijj?.
S-.
II
II
a
i
ll
w
i
i
^5
M
II
O
•
A
1
II
3.
ID
M
0
o
11
SL,
3^
i
c
1
II
/
4
»
O
14
f.
14
/
£
f
KC
IH
/
/
iijTiJii]
IV
&
II
Jill
«MI«
n
n
/
£
M
11
^3
O
ii
/
^
II
0
£)
n
0
Q
0
JO
1
M
0
o
•*.
ii
MM
II
0
^J
MC
»**M
U
-I
M
f
0
U
•CM
II
fa
k
ta
6
6
i*
0
Q
:j
ttfU
0
c
0
Omc
;«
1 H^. fiacnt.
Opa
-------
.ClaJsUifljg flf.flf.-Z17l444
II 11 [ I
^IcT
EMISSION INVENTORY SU8SYSIFM IflSI
COMrilEMLNSIVE OAIA IIANDUNli
SYSTEM ICOIISI
HllHt inUHCI
ltniix.il II
btinil t itfm
Nam* ol Poi ion
Coniploling Form_
Onto.
';s'
ill*
**1?
r
HI OS
11 | 11
**
MlllO
tli«t
11 1 J4 1 K
WPiL
IIC
"I'd"!"
flflfl*
„,
in
?
11
?
Ulk
1]
c5
11
14
O
It
0
V* fM *l
u
O
11
(9
11
O
n
o
40
0
i*a
41
M-n
ice
Or,|
M«
M'II
1
5..
i>
11
Orv
14
»
% Annu4
Mil
U
tl
IhlMflul
J*:«
SI
tl
ho«
M
II
NIK
DM*.
M.
11
11
m«l
• MM]
0
14
Wt
It
U
go.iv
OffMgn
CjfMCrtv
II
U
11
10
II
IU.I
n
i)
14
II
1C
II
7
<•
i
i
it
i
10
A
III
111 10
4?
u..*, 1 D.« | I.-.
^,,r,7n:,t
INI
7*
1 1 1
11
lixt Ukii
lloo ••»
11
11
M
It
M
11 | 11
|
vncK
M-I«TT;
1 1
r | n*..« Hughl
41
.,..ppp
LLLJl
rit **>m
Commmi
SlKk
41
41
to
II
• 1
• I
• i
II
Co
6-
Vi
tl|t4
1
3
Mo
It] II
|
Yl
II
M
UU
tf
w
0«v
II
11
9
11
c°w""uv*"1<""
14
II
II
II III
|
19
ffl
II
II
-11
11
14 It
1
Bll
^A.
in
1
C
1
. «
19
_'.
•
w
/*
CO
to
00
M
11
A
H
£
Ji
H
»
«>
?
f
?
f
f
ii
/
4
i
$
*f
'••
ii
/
2
j
,2
3
in
ii
/
/
^
£
/
nl
14
6
O
O
0
o
It
/
/
/
£
/
11
.
II
c
*•»
11
nnl.fi
n
4
10
11
11
f
C
(0.
11
Hit*.
mbu
t**
M
1
ml
It
l»
11
Hil>M
11
t
nl
11
f t
C
n
o
f)
o
0
(f
imliri
icKm
4A
0
^
0
t7
^«J-
1
41
0
(
C
c
c
41
o
0
o
Q
41
o
fl
o
o
f
•-
44
0
0
o
0
0
,"T
4t
c
0
o
3
o
t
41
/
7
3.
v
3
41
»
• IMH
tl
Hi
14
tt
M
II
An,
tl
x»l>
tt
K
U
II
11
V
1
11
1
k
14
§
$
$
f
•t
1
k
It
II
II
U
11
10
II
11
I
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
c
1
1
1
1
1
J
1
1
1
1
1
1
1
1
1
1
to
A
A
A
A
4
-------
• IM.
1
3
7
c—,.
3
0
A.
O
MIC*
/
s
6
KxMlO
N«i*>i
10
^
u
11
9
n
u
i*
2
&
1
i
w
f
1
1
N
?
f
1__
I'D
IU
(5
s-«
m
It
O
V*
i
?i
0
°\
)
1
1
11
)
*•«
tf
M
21
v
y
fl«C.
y»i
«<•
/
f.
4O
2
^
n*.
IH
IUM
(e
*Ml«
10
41
/
/
y
^
41
O
0
r
41
y
/
o
Q
M
<
0
0
kMNH
1
•M*
0
0
««o
u>«
•«r
^
^
••w
M.
f
V
5
4
I
•
I;
i
4
«
,2
«
Ct
o
^h>
MI4M
0
11
o
^7
i
6
11
si
ts
e>
M
•
i:
•
M*
w*an
5
u
y
1
y
u
ft
±
6
i>
**•
«
V
i
C4
^?
U
«
0
tut
Mvi
d?
M
/
I
O
M
0
O
II
II
4
M
1
M
0
11
•M
3
M
taal
/
KM
4
0
0
O
i!
i!
»i
ii
u
D
f
n
|4
14
ft
It
N
It
||
II
•
•
•
•
I
(|
]
•
•
•
•
•
•
II
1
1
•
•
•
•
•
1
1
1
1
I
1
1
1
1
1
1
1
1
1
1
1
t
•
i
n
\
<
fl
n
1
<
•
•
l
i
l
l
1
l
i
l
1
l
l
1
l
l
1
1
l/l
4
to
ft
A
4
CD
CO
li>
-------
AIRSHED MODEL DATA HANDLING SYSTEM
CONTROL MEASURES AND GROWTH PROJECTION PROGRAM
I/ 2/81 DIAGNOSTIC AND INPUT REPORT PAGE
PROGRAM NAME: CMGROW
REVISION LEVEL: i-oo
LAST UPDATE *:
INCORPORATED: MAY 5, 1980
AAPROC TEST RUN OF CMGROW
0080238PROC CMGROM PROGRAM TEST RUN
01HORK 1 911 907008 30600502
-------
AIRSHED KODEL DATA HANDLING SYSTEM
CONTROL FILE CONTROL MEASURES AND GROWTH PROJECTION PROGRAM
I/ 2/81 DIAGNOSTIC AND INPUT REPORT PAGE
PROC CMGROW PROGRAM TEST RUN
37262049110001 0110100601500 500 500 500 500 12
CO
I
-------
AIRSHED MODEL DATA HANDLING SYSTEM
GROWTH FILE CONTROL MEASURES AND GROWTH PROJECTION PROGRAM
I/ 2/81 DIAGNOSTIC AND INPUT REPORT PAGE
PROC CMGROW PROGRAM TEST RUN
37302029110005 07102004012000 11
-pi
ro
-------
I/ 2/81
AIRSHED MODEL DATA HANDLING SYSTEM
CONTROL MEASURES AND GROWTH PROJECTION PROGRAM
DIAGNOSTIC AND INPUT REPORT
PROC CMGROW PROGRAM TEST RUN
PAGE
ERROR MESSAGES - RECORD KEY IS
STATE
XX /
COUNTY
XXXX /
PUNT SEGMENT TYPE POINT ID SCC S
XXXX / X / XX / XXXXXXXX
3707609999150 91106200
*** CMGROM010E ERROR
*** CMGROH010E ERROR
*** CMGROH010E ERROR
*** CMGROW010E ERROR
*MK CMGROW010E ERROR
SUM OF SCC EMISSIONS NOT EQUAL TO POINT EMISSIONS
SUM OF SCC EMISSIONS NOT EQUAL TO POINT EMISSIONS
SUM OF SCC EMISSIONS NOT EQUAL TO POINT EMISSIONS
SUM OF SCC EMISSIONS NOT EQUAL TO POINT EMISSIONS
SUM OF SCC EMISSIONS NOT EQUAL TO POINT EMISSIONS
370760999915* 91306*00 91308100
*** CMGROU001E CONDITIONAL - MORE THAN 1 SCC FOR AREA SOURCE POINT
3726200001101 10100601
*** CMGROW010E ERROR - SUM OF SCC EMISSIONS NOT EQUAL TO POINT EMISSIONS
*** CMGROW010E ERROR - SUM OF SCC EMISSIONS NOT EQUAL TO POINT EMISSIONS
*** CMGROW010E ERROR - SUM OF SCC EMISSIONS NOT EQUAL TO POINT EMISSIONS
*x* CMGROW010E ERROR - SUM OF SCC EMISSIONS NOT EQUAL TO POINT EMISSIONS
*** CMGROW010E ERROR - SUM OF SCC EMISSIONS NOT EQUAL TO POINT EMISSIONS
CO
CO
3730200005107 10200401 10200501 10200701
«** CMGROW310E ERROR
*** CMGROW010E ERROR
ERROR
ERROR
*** CMGROW010E
*** CMGROW010E
SUM OF SCC EMISSIONS NOT EQUAL TO POINT EMISSIONS
SUM OF SCC EMISSIONS NOT EQUAL TO POINT EMISSIONS
SUM OF SCC EMISSIONS NOT EQUAL TO POINT EMISSIONS
SUM OF SCC EMISSIONS NOT EQUAL TO POINT EMISSIONS
3730200008137 30600201
*** CMGR01I010E ERROR
*** CNGROH010E ERROR
*** CMGROW010E ERROR
*** CMGROW010E ERROR
*** CMGROW010E ERROR
- SUM OF SCC EMISSIONS NOT EQUAL TO POINT EMISSIONS
- SUM OF SCC EMISSIONS NOT EQUAL TO POINT EMISSIONS
- SUM OF SCC EMISSIONS NOT EQUAL TO POINT EMISSIONS
- SUM OF SCC EMISSIONS NOT EQUAL TO POINT EMISSIONS
- SUM OF SCC EMISSIONS NOT EQUAL TO POINT EMISSIONS
3730209999105 90100500 90200500
*** CMGROW001E CONDITIONAL - MORE THAN 1 SCC FOR AREA SOURCE POINT
3730209999122 90600700 90501100
*** CMGROW010E ERROR - SUM OF SCC EMISSIONS NOT EQUAL TO POINT EMISSIONS
*** CNGROW010E ERROR - SUM OF SCC EMISSIONS NOT EQUAL TO POINT EMISSIONS
*** CMGROW001E CONDITIONAL - MORE THAN 1 SCC FOR AREA SOURCE POINT
3730209999129 90700300
*** CMGROW010E ERROR - SUM OF SCC EMISSIONS NOT EQUAL TO POINT EMISSIONS
-------
AIRSHED MODEL DATA HANDLING SYSTEM
CONTROL MEASURES AND GROWTH PROJECTION PROGRAM
I/ 3/81 DIAGNOSTIC AND INPUT REPORT PAGE
PROC CMGROW PROGRAM TEST RUN
NUMBER OF INPUT MASTER RECORDS: 34
NUMBER OF OUTPUT MASTER RECORDS: 34
NUMBER OF POINTS: 11
NUMBER OF OPTION CARDS: 3
NUMBER OF CONTROL MEASURE CARDS: 1
NUMBER OF GROWTH CARDS: 1
NUMBER OF ERRORS: 25
DO
-------
AIRSHED MODEL DATA HANDLING SYSTEM
CONTROL MEASURES USD GROWTH PROJECTION PROGRAM
I/ 2/81 EMISSIONS SUMMARY REPORT PAGE
PROC CMGROW PROGRAM TEST RUN
COUNTY 0760
CATEGORY *******)f*********#**x*******EMISSIOHS>TONS/YEAR fc***************************
NAME AEROSOLS SULFUR OXIDES CARBON MONOXIDE NITROGEN OXIDES HYDROCARBONS
MORK 915 278 48016 7092 7915
MISC. POINT 00 0 00
MISC. AREA 33 . 0 195 6 30
TOTAL 948 278 48211 7098 7945
oo
I
01
-------
AIRSHED MODEL DATA HANDLING SYSTEM
CONTROL MEASURES AHD GROWTH PROJECTION PROGRAM
I/ 2/81 EMISSIONS SUMMARY REPORT PAGE
PROC CMGROH PROGRAM TEST RUN
COUNTY 2620
CATEGORY *****xx****x*«***x********x*EMISSIOHS.TONS/YEAR ****************************
NAME AEROSOLS SULFUR OXIDES CARBON MONOXIDE NITROGEN OXIDES HYDROCARBONS
MORK 27 3 92 3786 6
MISC. POINT 00 0 00
MISC. AREA 000 00
TOTAL 27 3 92 3786 6
CO
-p.
-------
AIRSHED MODEL DATA HANDLING SYSTEM
CONTROL MEASURES AND GROWTH PROJECTION PROGRAM
I/ 2/81 EMISSIONS SUMMARY REPORT PAGE
PROC CMGR014 PROGRAM TEST RUN
COUNTY 3020
• CATEGORY ****************************EMISSIONS>TOWS/YEAR ****************************
NAME AEROSOLS SULFUR OXIDES CARBON MONOXIDE NITROGEN OXIDES HYDROCARBONS
MORK 213 272 753 4236 6186
MISC. POINT 194 3109 63000 248 8706
MISC. AREA 239 16 1405 1262 344
TOTAL 646 3397 65158 5746 15238
-------
AIRSHED MODEL DATA HANDLING SYSTEM
CONTROL MEASURES AND GROWTH PROJECTION PROGRAM
I/ 2/81 EMISSIONS SUMMARY REPORT PAGE
PROC CMGROU PROGRAM TEST RUN
REGIONAL SUMMARY
CATEGORY ***********************»****EMISSIONS,TONS/YEAR ****************************
NAME AEROSOLS SULFUR OXIDES CARBON MONOXIDE NITROGEN OXIDES HYDROCARBONS
MORK 1155 553 48361 1511* 14109
MISC. POINT 194 3109 630CO 2-+8 8706
MISC. AREA 272 16 1600 1266 374
TOTAL 1621 3678 113461 16630 23189
D3
I
00
-------
STATE COUNTY AQCR PLANT ID
37 0760 186 9999
DATE SEGMENT
YEAR DAY ID
80 315 000
000000000
CONTROL LOCAL
REGION CONTROL
ID ADDRESS
PLANT 10
AREA SOURCE
ZIP
CITY UTM
NUMBER OF
EMPLOYEES
0021
ZONE OWN!
0
PROPERTY
AREA
00000.0
CONTACT
TEST FROM PRCCA
MAILING ADDRESS
TELEPHONE
PAGE
PRINCIPAL
PRODUCT
ZIP
DATE SEGMENT POINT ID UTM COORDINATES LATITUDE LONGITUDE ANNUAL THRUPUT NORMAL OPERATING
YEAR DAY ID NEDS USER SIC IPP HORIZONTAL VERTICAL DEG MIN SEC DEG MIN SEC DEC MAR JUN SEP H3/Q D/UK WK/YR
80 315 150 99))911 9999 99 000.0 0000.0
BOILER SPACE
CAPACITY HEAT
STACK DAT
HEIGHT DIAM TEMP FLOW RATE VELOCITY PLUME
A
PNTS
COMP SCHED
CCMP YEAR MONTH
COMP STATUS
YEAR MONTH DAY
CONTROL REGULATION
ECAP REG 1 REG 2 Rt'G 3
CO
NUMBER OF POLLUTANT CONTROL CONTROL EQUIP ESTM CNTL
POLLUTANTS ID COST
05 TSP
CO
soa
NOX
HC
DATE SEGMENT SCC
YEAR DAY ID I II III
80 315 2 50 01 9 11 062
SOURCE DESCRIPTION
PRI SEC
EFFICIENCY
00.0
00.0
00.0
00.0
00.0
EMISSIONS
ESTIMATE MEASURED ALLOWABLE UNITS
0000636 0000915
0036012 0048016
OC00209 0000273
0005319 000709?.
0005936 0007915
ESTIMATE TEST
METHOD
1
1
1
1
1
METHOD
BEC
: iv NBR
: oo
E F
SOURCE
A
ID
UNITS
NUMBER
EMSN
OF
FCTR
05
FUEL -
PROCESS
0024373
MAX DESIGN SULFUR
RATE
POLLUTANT EMISSION
10
TSP
CO
S02
NOX
HC
FACTOR
000055.
C02895.
000016.
000-'»27.
000477.
CONTENT
0.00
ASH /
SULFUR
ISO
670
765
693
325
ASH
CONTENT
FACT03
UNITS
HEAT
CONTENT
00000
COHr
SOURCE
-------
tn
O
STATE COUNTY AQCR PLANT ID
37 0760 186 9999
DATE SEGMENT CONTROL
YEAR DAY ID REGION
80 315 000
LOCAL
CONTROL PLANT ID
AREA SOURCE
CITY UTM ZONE OWNER
0
CONTACT
TEST FROM PROCA
TELEPHONE
PAGE
PRINCIPAL
PRODUCT
ESTABLISHMENT NAME AND ADDRESS
000000000
ZIP
NUNEES OF
EMPLOYEES
0021
PROPERTY
AREA
00000.0
MAILING ADDRESS
ZIP
DATE SEGMENT POINT ID UTM COORDINATES LATITUDE LONGITUDE AMNUAL THRUFUT
YEAR DAY ID NEDS USER SIC IPP HORIZONTAL VERTICAL DEG MIN SEC DEG MIN SEC DEC MAR JUN SEP
80 315 154 991)913 9999 99 000.0 0000.0
BOILER SPACE STAC
CAPACITY HEAT HEIGHT DIAM TEMP
NUMBER OF POLLUTANT CONTROL
POLLUTANTS ID COST
05 TSP
CO
S02
NOX
HC
DATE SEGMENT
YEAR DAY ID I
80 315 2 54 01 9
SOURCE DESCRIPTION
DATE SEGMENT
YEAR DAY ID I
SO 315 2 54 02 9
SOURCE DESCRIPTION
K DATA COUP SCHED COHP STATUS
FLOW RATE VELOCITY PLUME PUTS COMP YEAR MONTH YEAR MONTH DAY EGA
CONTROL EQUIP ESTM CNTL EMISSIONS ESTIM
PRI SEC EFFICIENCY ESTIMATE MEASURED ALLOWABLE UNITS METHO
00.0 0000033 3
00.0 0000195 3
00.0 OOCOOOO 3
00.0 0000006 3
00.0 000003d 3
SCC EEC
II III IV NBR
13 084 00
E F
SOURCE
A
ID UNITS
NUMBER OF
EMSN FCTR
04
SCC BEC
II III IV NBR
13 031 00
E F
SOURCE
A
ID UNITS
NUMBER OF
EMSN FCTR
04
FUEL - MAX DESIGN SULFUR
PROCESS
0000085
POLLUTANT
ID
HC
TSP
CO
NOX
RATE CONTENT
0.00
EMISSION ASH /
FACTOR SULFUR
000083.200
000353.600
001040.000
000041.600
FUEL - MAX DESIGN SULFUR
PROCESS
OOC2160
POLLUTANT
ID
TSP
CO
NOX
HC
RATE CCttTENT
0.00
EMISSION ASH /
FACTOR SULFUR
000017.000
000140.000
OC0004.000
000024.000
ASH HEAT
CONTENT CONTENT COHF
00000
FACTOR
UKITS
ASH HE.IT
CONTENT CONTENT CONF
OC009
FACTOR
UNITS
SOURCE
SOURCE
NORMAL OPERATING
HR/0 D/WK WK/YR
CONTROL REGULATION
REG 1 REG 2 REG 3
METHOD
-------
STATE COUNTY AQCR PUNT ID
37 2620 186 0001
PAGE
DATE SEGMENT CONTROL LOCAL
YEAR DAY ID REGION CONTROL
80 315 000
PLANT ID
CITY UTM ZONE OllNtR CONTACT
99 U TEST FROM PSOCA
TELEPHONE
PRINCIPAL
PRODUCT
ESTABLISHMENT NAME AND ADDRESS
PUBLIC SERVICE CO, BX 68, OOLOGAH
ZIP
NUMBER OF
EMPLOYEES
PROPERTY
AREA
74053
MAILING ADDRESS
ZIP
DATE SEGMENT POINT ID UTM COORDINATES LATITUDE LONGITUDE ANNUAL THHUPUT NORMAL OPERATING
YEAR DAY ID NEDS USER SIC IPP HORIZONTAL VERTICAL DEG MIN SEC DEG MIN S£C DEC MAR JUH SEP HR/D D/WK WK/YR
80 315 101 01)) 4911 00 806.3 0346.5 37 01 33 29 24 7 39
DO
tn
BOILER SPACE
CAPACITY HEAT
03270 00.0
STACK DATA
HEIGHT DIAM TEMP FLOW RATE VELOCITY PLUME PNTS
0183 18.0 0249 0815626 00053 0000
COMP SCHED
COHP YEAR MONTH
1
COMP STATUS
YEAR MONTH DAY
72 09 07
NUMBER OF
POLLUTANTS
05
POLLUTANT CONTROL CONTROL EQUIP ESTM CNTL
ID COST FRI SEC EFFICIENCY
TSP 00.0
CO 00.0
S02 00.0
NOX 00.0
HC 03.0
EMISSIONS
CONTROL REGULATION
ECAP REG 1 REG 2 REG 3
2
ESTIMATE TEST
ESTIMATE MEASURED ALLOWABLE UNITS
0000027 OC02570
0000092 9999999
0000003 9999999
0003736 9999999
0000006 9999999
METHOD
5
5
5
5
5
METHOD
DATE SEGMENT SCC EEC FUEL - MAX DESIGN
YEAR DAY ID I II III IV NBR ID UNITS PROCESS RATE
80 315 2 01 05 1 01 006 01 0028711 0003.270
E F
NUMBER OF POLLUTANT EMISSION
SOURCE DESCRIPTION
NG BLR >100M!1BTU/HR
SOURCE EMSN FCTR
A 06
ID
TSP
S02
CO
NOX
HC
FACTOR
000001.681
000000.209
000006.374
000263.732
000300.333
SULFUR ASH HEAT
CONTENT CONTENT CONTENT CCNF SOURCE
0.00 00.0 01000 2 B
ASH / FACTOR
SULFUR UNITS
-------
DO
cn
ro
STATE COUNTY AQCR PLANT ID
37 3020 186 0005
DATE
YEAR DAY
80 315
SEGMENT
ID
000
CONTROL
REGION
LOCAL
CONTROL
PLANT ID
CITY UTM ZONE OWNER CONTACT
3000 99 P TEST FROM FROCA
TELEPHONE
PAGE
PRINCIPAL
PRODUCT
ESTABLISHMENT NAME AND ADDRESS
SUN OIL REFINERY-1700 S UNION, TULSA
NUMBER OF PROPERTY
ZIP EMPLOYEES AREA
MAILING AODRESS
ZIP
DATE SEGMENT POINT ID UTM COORDINATES LATITUDE LONGITUDE
YEAR DAY ID NEDS USER SIC IPP HORIZONTAL VERTICAL DEG MIN SEC DEG HIM SEC
80 315 107 07)) 2911 00 777.7 0313.1
ANNUAL TKRUPUT
DEC MAR JUN SEP
25 15 33 25
NORMAL OPERATING
HR/D D/UK WK/YR
16 6 02
BOILER SPACE STAC
CAPACITY HEAT HEIGHT DIAM TEMP
00160 00.0 0111 10.5 0360
NUMBER OF POLLUTANT CONTROL
POLLUTANTS ID COST
05 TSP
CO
so2
NOX
HC
K DATA CCMP> SCHED CCHP STATUS
FLOW RATE VELOCITY PLUME PUTS COMP YEAR MONTH YEAR MONTH DAY ECAP
0000 0000 3 73 09 2
CONTROL 1
REG 1 REl
CONTROL EQUIP ESTN CNTL EMISSIONS ESTIMATE TEST
PRI SEC EFFICIENCY ESTIMATE MEASURED ALLOWABLE UNITS METHOD
00.0 0000016 0000060 5
00.0 0000016 9J99999 5
00.0 0000015 5
00.0 0000726 0000663 9999999 5
00.0 0002150 999999? 5
METHOD
DATE SEGMENT SCC BEC FUEL - MAX DESIGN SULFUR ASK HEAT
YEAR DAY ID I II III IV NBR
80 315 2 07 10 1 02 004 01
E F
SOURCE DESCRIPTION SOURCE
BOILER RESID FUEL A
ID UNITS PROCESS RATE CONTENT CGNTrJNT CONTENT CONF SOURCE
0000150 1.00 13500 2 B
NUMBER OF POLLUTANT EMISSION ASH / FACTOR
EMSN FCTR ID FACTOR SULFUR UNITS
05 NOX 001333.000
TSP 000014.427
S02 000013.467
CO 000015.387
HC 002019.227
DATE SEGMENT SCC BEC FUEL - MAX DESIGN SULFUR ASH HEAT
YEAR DAY ID I II III IV NBR
80 315 2 07 15 1 02 005 01
E F
SOURCE DESCRIPTION SOURCE
BOILER DIST OIL A
o
DATE SEGMENT SCC B
YEAR DAY ID I II III IV NBR
80 315 2 07 20 1 02 007 01
ID UNITS PROCESS RATE CONTENT CONTENT CONTENT CONF SOURCE
0000100 1 B
NUMBER OF POLLUTANT EMISSION ASH / FACTOR
EMSN FCTR ID FACTOR SULFUR Ui-UTS
05 NOX 002520.000
TSP 000014.420
S02 000013.460
CO 000015. 3CO
HC 002019.240
EC FUEL - MAX DESIGN SULFUR ASH HEAT
ID UNITS PROCESS RATE CONTENT CONTENT CONTENT CONF SOURCE
0001880 1 B
-------
STATE COUNTY AQCR PLANT ID PAGE
37 3020 186 OC05
E F NUMBER OF POLLUTANT EMISSION ASH / FACTOR
SOURCE DESCRIPTION SOURCE EMSN FCTR ID FACTOR SULFUR UNITS
BOILER REF GAS A 05 NOX 000532.000
TSP 000014.423
S02 000013.462
CO 000015.335
HC 002019.231
in
CO
-------
CO
en
STATE COUNTY AQCR PLANT ID
37 3030 186 0005
DATE SEGMENT CONTROL LOCAL
YEAR DAY ID REGION CONTROL PLANT ID
80 315 000
CITY UTM ZONE OUHER CONTACT
3000 99 P TEST FROM FROCA
TELEPHONE
PAGE
PRINCIPAL
PRODUCT
ESTABLISHMENT NAME AND ADDRESS
SUN OIL REFINERY-1700 S UNION, TULSA
NUMBER OF PROPERTY
ZIP EMPLOYEES AREA
MAILING ADDRESS
ZIP
DATE SEGMENT POINT ID UTM COORDINATES LATITUDE LONGITUDE ANNUAL THRIJPUT NORMAL OPERATING
YEAR DAY ID NEDS USER SIC IPP HORIZONTAL VERTICAL DEG MIN SEC DEG MIN SEC DEC MAR JUN SEP HR/D D/HK KK/YR
60 315 152 52)) 2911 778.1 0316.9 25 25 25 25 24 7 51
BOILER SPACE
CAPACITY HEAT
00097 00.0
STACK DATA
HEIGHT DIAM TEMP FLOW RATE VELOCITY PLUME PUTS
0100 05.3 0600 0036900 0500 0000
COKP SCHED
COMP YEAR MONTH
COMP STATUS
YEAR MONTH DAY
CONTROL REGULATION
ECAP REG 1 REG 2 REG 3
NUMBER OF
POLLUTANTS
05
POLLUTANT CONTROL CONTROL EQUIP ESTM CNTL
EMISSIONS
ESTIMATE TEST
ID COST PRI SEC
TSP
CO
S02
NOX
HC
EFFICIENCY ESTIMATE MEASURED ALLOWABLE UNITS METHOD METHOD
00.0
00.0
00.0
00.0
0000021
OOOCOOO
OOC0063
C000023
0000147
DATE SEGMENT SCC EEC FUEL - MAX DESIGN
YEAR DAY ID I II III IV NBR ID UNITS PROCESS RATE
80 315 2 52 05 3 06 001 04 OOC1102
E F
NUMBER OF POLLUTANT EMISSION
SOURCE DESCRIPTION
PROC HEATER REF GAS
DATE SEGMENT SCC
YEAR DAY ID I II III
80 315 2 52 10 3 06 001
SOURCE DESCRIPTION
PROC HEATER REF GAS
SOURCE
A
EMSN FCTR
05
EEC
[ IV NBR
. 04
E F
SOURCE
A
ID UNITS
NUMBER OF
EMSN FCTR
05
ID
CO
TSP
HC
NOX
SO Z
FACTOR
000000.000
000020.000
000230.000
000024.501
OC0049.800
FUEL - MAX DESIGN SI
PROCESS
0000154
POLLUTANT
ID
CO
RATE Ci
EMISSION
FACTOR
000000.000
SULFUR ASH HEAT
CONTENT CONTENT CONTENT CONF SOURCE
2.00 01.6 1 P
ASH / FACTOR
SULFUR UNITS
SULFUR ASH HEAT
CONTENT CONTENT CONTENT CONF SOURCE
1 P
ASM / FACTOR
SULFUR UNITS
i
TSP 000041.597
HC . C00259.506
NOX 000117.000
S02 000101.403
-------
STATE COUNTY AQCR PUNT ID
37 3020 186 0005
DATE SEGMENT
YEAR DAY ID
80 315 000
CONTROL LOCAL
REGION CONTROL PLANT ID
CITY UTM ZONE OWNER CONTACT
3000 99 P TEST FROM PRCCA
TELEPHONE
PAGE
PRINCIPAL
PRODUCT
en
en
ESTABLISHMENT NAME AND ADDRESS
SUN OIL REFINERY-1700 S UNIONt TULSA
ZIP
OF PROPERTY
EMPLOYEES AREA
MAILING ADDRESS
ZIP
DATE SEGMENT POINT ID UTM COORDINATES LATITUDE LONGITUDE ANNUAL THRUPUT NORMAL OPERATING
YEAR DAY ID NEDS USER SIC IPP HORIZONTAL VERTICAL DEC MIN SEC Di!G MIN SEC DEC MAR JUN SEP HR/D D/WK WK/YR
80 315 182 82)) 2911 00 778.0 0312.9
BOILER SPACE STACK DATA
CAPACITY HEAT HEIGHT DIAM TEMP FLOW RATE VELOCITY PLUME PNTS
0075 0150
COUP SCHED
COUP YEAR MOUTH
COMP STATUS
YEAR MONTH DAY
CONTROL REGULATION
ECAP REG 1 REG 2 REG 3
NUMBER OF
POLLUTANTS
01
POLLUTANT CONTROL
ID COST
HC
CONTROL EQUIP ESTIi CNTL EMISSIONS
PRI SEC EFFICIENCY ESTIMATE MEASURED ALLOWABLE UNITS
000 000 00.0 0003995
ESTIMATE TEST
METHOD METHOD
5
DATE SEGMENT
YEAR DAY ID
80 315 Z 82 05
SCC EEC
I II III IV NBR ID
3 06 004 02
FUEL - MAX DESIGN SULFUR ASH HEAT
UNITS PROCESS RATE CONTENT CONTENT CONTENT CONF SOURCE
0035700 1
SOURCE DESCRIPTION
REFINERY BLOW DOWN
E F NUMBER OF POLLUTANT EMISSION ASH / FACTOR
SOURCE EMSN FCTR ID FACTOR SULFUR UNITS
01 HC 000300.OCO
DATE SEGMENT
YEAR DAY ID
80 315 Z 82 10
SCC BEC
I II III IV NBR ID
3 06 005 02
FUEL - MAX DESIGN SULFUR ASH HEAT
UNITS PROCESS RATE CONTENT CONTENT CONTENT COHF SOURCE
0034675 1
SOURCE DESCRIPTION
PROCESS DRAINS4SEPARATORS
E F NUMBER OF POLLUTANT EMISSION ASH / FACTOR
SOURCE EMSN FCTR ID FACTOR SULFUR UNITS
01 KC CC0210.000
-------
STATE COUNTY AQCR PLANT ID
37 3020 186 0003
DATE SEGMENT
YEAR DAY ID
80 315 000
CONTROL LOCAL
REGION CONTROL PLANT ID
CITY UTM ZONE OWNER CONTACT
3000 99 P TEST FROM PROCA
TELEPHONE
PAGE
PRINCIPAL
PRODUCT
ESTABLISHMENT NAME AND ADDRESS
TEXACO REFINERY 902 W 25 TULSA
NUMBER OF PROPERTY
ZIP EMPLOYEES AREA
MAILING ADORESS
ZIP
D3
cn
CT>
DATE SEGMENT POINT ID ' UTM COORDINATES LATITUDE LONGITUDE ANNUAL THRUPUT
YEAR DAY ID NEDS USER SIC IPP HORIZONTAL VERTICAL OEG MIN SEC DEG KIN SEC DEC MAR JUN SEP
80 315 137 37)) 2911 760.0 0311.2 26 37 17 20
NORMAL OPERATING
HR/D D/UK UK/YR
22 5 49
BOILER SPACE
CAPACITY HEAT
00.0
STACK DATA
HEIGHT DIAM TEMP FLCU RATE VELOCITY PLUME PNTS
0500 0000
COMP SCHED
COMP YEAR MONTH
1
COUP STATUS
YEAR MONTH DAY
NUMBER OF
POLLUTANTS
05
POLLUTANT CONTROL CONTROL EQUIP ESTM CNTL
EMISSIONS
CONTROL REGULATION
ECAP REG 1 REG 2 REG 3
2
ESTIMATE TEST
ID COST PRI SEC
TSP
CO
S02
NOX
DATE SEGMENT SCC BEC
YEAR DAY ID I II III IV NBR ID
80 315 2 37 05 3 06 002 01
EFFICIENCY ESTIMATE MEASURED ALLOWABLE UNITS
UNITS
00.0
00.0
00.0
00.0
rtrt rt
FUEL - MAX
PROCESS R/
0001036
0373000
0017400
0001218
DESIGN SULFI
iTE COHTI
E F
KUHBER OF POLLUTANT EMISSION
SOURCE DESCRIPTION
FCCU
SOURCE EMSN FCTR
A 06
ID
TSP
S02
CO
NOX
KC
FACTOR
COC06G.174
001010.277
0219^7.396
000070.719
000219.822
METHOD
2
2
2
5
ASH HEAT
CONTENT CONTENT CONTENT CON? SOURCE
2 P
ASH / FACTOR
SULFUR UNITS
METHOD
-------
CO
I
en
STATE COUNTY AQCR PLANT ID
37 3020 186 0008
DATE SEGMENT CONTROL LOCAL
YEAR DAY ID REGION CONTROL
80 315 000
ESTABLISHMENT NAME AND ADDRESS
TEXACO REFINERY 902 W 25 TULSA
PLANT ID
CITY UTM ZONE OU-NER CONTACT
3000 99 P TEST FROM PROCA
TELEPHONE
PAGE
PRINCIPAL
PRODUCT
NUMBER OF PROPERTY
ZIP EMPLOYEES AREA
MAILING ADDRESS
ZIP
DATE SEGMENT POINT ID UTM COORDINATES LATITUDE LONGITUDE ANNUAL TKRUPUT NORMAL OPERATING
YEAR DAY ID NEDS USER SIC IPP HORIZONTAL- VERTICAL DEG MIN SEC DEG MIN SEC DEC MAR JUN SEP HR/D D/WK WK/YR
80 315 143 43)) 2911 00 730.0 0311.2 25 25 25 25 24 7 49
BOILER SPACE
CAPACITY HEAT
STACK DATA
HEIGHT DIAM TEMP FLOW RATE VELOCITY PLUME PNT3
0025 01.2 0250 00005 0050
COMP SCHED
COMP YEAR MONTH
COUP STATUS
YEAR MONTH DAY
CONTROL REGULATION
ECAP REG 1 REG 2 REG 3
NUMBER OF
POLLUTANTS
01
POLLUTANT CONTROL
ID COST
HC
CONTROL EQUIP
PRI SEC
000 000
ESTM CNTL EMISSIONS ESTIMATE TEST
EFFICIENCY ESTIMATE MEASURED ALLOWABLE UNITS KETKOO METHOD
00.0 OOOCOOO 0002573 1
DATE SEGMENT
YEAR DAY ID I
80 315 2 43 05 3
SOURCE DESCRIPTION
REFINERY SLOWDOWN
SCC BEC
II III IV NBR ID
06 004 02
FUEL - MAX DESIGN SULFU3 ASH HEAT
UNITS PROCESS RATE CONTENT CONTENT CONTENT COHF SOURCE
0017150 1
E F NUMBER OF POLLUTANT EMISSION ASH / FACTOR
SOURCE EMSN FCTR ID FACTOR SULFUR UNITS
01 HC 000300.000
-------
STATE COUNTY AQCR PLANT ID
37 3020 186 9999
DATE SEGMENT CONTROL
YEAR DAY ID REGION
80 315 000
LOCAL
CONTROL PLANT ID
AREA SOURCE
CITY UTM ZONE OWNER CONTACT
0 TEST FRO!1 PROCA
ESTABLISHMENT NAME AND ADDRESS
000000000
ZIP
NUMBER OF
EMPLOYEES
0429
PROPERTY
AREA
OOOCO.O
MAILING ADDRESS
DATE SEGMENT POINT ID UTM COORDINATES LATITUDE LONGITUDE ANNUAL THRUPUT
YEAR DAY ID NEDS USER SIC IPP HORIZONTAL VERTICAL DEC KIN SEC DEG (UN SEC DEC MAR JUN SEP
80 315 105 99M901 9999 99 000.0 0000.0 50 20 10 20
BOILER SPACE STACK DATA COHP SCHED COUP STATUS
CAPACITY HEAT HEIGHT DIAM TEMP FLOW RATE VELOCITY PLUME PUTS CCMP YEAR MONTH YEAR MOUTH DAY
PAGE
10
TELEPHONE
PRIKCIPAL
PRODUCT
ZIP
NORMAL OPERATING
KR/D D/UK WK/YR
12 7 41
CONTROL REGULATION
ECAP REG 1 REG 2 REG 3
oo
cn
00
NUMBER OF POLLUTANT CONTROL
POLLUTANTS ID COST
05 TSP
CO
S02
NOX
HC
DATE
YEAR
60
DAY
315
SEGMENT
ID I
2 05 01 9
SOURCE DESCRIPTION
DATE
YEAR
80
DAY
315
SEGMENT
ID I
2 05 02 9
SOURCE DESCRIPTION
CONTROL EQUIP ESTM CNTL EMISSIONS ESTII
FRI SEC EFFICIENCY ESTIMATE MEASURED ALLOWABLE UNITS METHi
00.0 0000126 3
00.0 0000251 3
00.0 OOOOCC6 3
00.0 0001195 3
00.0 0000100 3
SCC BEC
II III IV NBR
01 005 00
E F
SOURCE
A
ID
UNITS
NUMBER OF
EMSN FCTR
05
SCC BEC
II III IV NBR
02 005 00
E F
SOURCE
A
ID
UNITS
NUMBER OF
EMSN FCTR
05
FUEL - MAX DESIGN
PROCESS
0001553
POLLUTANT
ID
NOX
HC
TSP
CO
S02
RATE
EMISSION
FACTOR
000600.
OOOOSO.
000100.
000200.
000006.
FUEL - MAX DESIGN
PROCESS
0000956
POLLUTANT
ID
TSP
RATE
EMISSION
FACTOR
000100.
SULFUR
CONTENT
COO
000
000
000
300
2.40
ASH /
SULFUR
SULFUR
CONTENT
000
0.00
ASH /
SULFUR
ASH HEAT
CONTENT CONTENT CONF
05.9 00000
FACTOR
UNITS
ASH HEAT
CONTENT CONTENT CONF
00000
FACTOR
UNITS
SOURCE
SOURCE
METHOD
CO 000200.000
so: C00006.000
NOX OJ1200.000
HC C00080.000
-------
STATE COUNTY AQCR PUNT ID
37 3020 186 9999
PAGE
11
DATE SEGMENT CONTROL
YEAR DAY ID REGION
80 315 000
LOCAL
CONTROL PLANT ID CITY UTM ZONE OWNER CONTACT
AREA SOURCE 0 TEST FROM FROCA
TELEPHONE
PRINCIPAL
PRODUCT
ESTABLISHMENT NAME AND ADDRESS
000000000
ZIP
NUMBER Or
EMPLOYEES
0429
PROPERTY
AREA
00000.0
MAILING ADDRESS
ZIP
DATE SEGMENT POINT ID UTM COORDINATES LATITUDE LONGITUDE ANNUAL THR'JPUT
YEAR DAY 10 NEDS USER SIC IPP HORIZONTAL VERTICAL DEG MIN SEC DEG MIN SEC DEC MAR JUN SEP
80 315 122 99H906 9999 99 000.0 0000.0
NORMAL OPERATING
HR/D D/UK WK/YR
BOILER SPACE STACK DATA CCMP SCHED COM?
STATUS
CAPACITY HEAT HEIGHT DIAM TEMP FLOW RATE VELOCITY PLUME PUTS COMP YEAR MONTH YEAS MONTH DAY EG
0200
NUMBER OF POLLUTANT CONTROL CONTROL EQUIP ESTM CNTL EMISSIONS
POLLUTANTS 10 COST PRI SEC EFFICIENCY ESTIMATE MEASURED ALLOWABLE
05 TSP 00.0 0000028
CO 00.0 0000263
S02 ' 00.0 0000002
NOX 00.0 0000029
HC 00.0 0000174
DATE SEGMENT SCC BEC FUEL - MAX DESIGN SULFUR ASH HEAT
YEAR DAY ID I II III IV NBR 10 UNITS PROCESS RATE CONTENT CONTENT CONTENT
80 315 Z 22 01 9 06 007 00 0000338 1.25 OUOOO
E F NUMBER OF POLLUTANT EMISSION ASH / FACTOR
SOURCE DESCRIPTION SOURCE EMSN FCTR ID FACTOR SULFUR UNITS
A 05 NOX OC0063.716
HC 000147.355
TS? 000001.982
CO 000330.000
S02 000001.325
DATE SEGMENT SCC BEC FUEL - MAX DESIGN SULFUR ASH Hf.AT
YEAR DAY ID I II III IV N3R ID UNITS PROCESS RATE CONTENT CONTENT CONTENT
60 315 2 22 02 9 05 Oil 00 0013956 0.00 OOCOO
E F NUMBER OF POLLUTANT EMISSION ASH / FACTOR
SOURCE DESCRIPTION SOURCE EMSN FCTR ID FACTOR ' SULFUR UNITS
A 05 TSP 000004.000
ESTII
UNITS METKI
1
1
1
1
1
CONF SOURCE
-
CONF SOURCE
CONTROL REGULATION
ECAP RE3 1 REG 2 REG 3
METHOD
CO
so2
MOX
HC
000021.250
OCOOG0.250
000002.595
000021.408
-------
STATE COUNTY AQCR PUNT ID
37 3030 186 9999
DATE SEGMENT CONTROL LOCAL
YEAR DAY ID REGION CONTROL PUNT ID CITY UTM ZONE OWNER CONTACT
80 315 000 AREA SOURCE 0 TEST FROM FSGCA
PAGE 12
PRINCIPAL
TELEPHONE PRODUCT
ESTABLISHMENT NAME AND ADDRESS
000000000
NUMBER OF PROPERTY
ZIP EMPLOYEES AREA MAILING ADDRESS
COOOO.O
ZIP
DATE SEGMENT POINT ID UTM COORDINATES UTITUDE LONGITUDE ANNUAL THRUPUT NORMAL OPERATING
YEAR DAY ID NEDS USER SIC IPP HORIZONTAL VERTICAL DEG HIN SEC DEG KIN S£C DEC MAR JUN SEP KR/D D/HK HK/YR
SO 315 129 99))907 9999 99 000.0 0000.0
BOILER SPACE STACK DATA COMP SCHEO COUP STATUS CONTROL REGULATION
CAPACITY HEAT HEIGHT DIAM TEMP FLOW RATE VELOCITY PLUME PNTS COMP YEAR MONTH YEAR MONTH DAY ECAP REG 1 REG 2 REG 3
CO
CTi
O
NUMBER OF POLLUTANT CONTROL CONTROL EQUIP ESTH CNTL
POLLUTANTS ID
05
DATE
YEAR DAY
80 315
TSP
CO
S02
NOX
HC
SEGMENT
ID I
2 29 01 9
SOURCE DESCRIPTION
COST PRI SEC EFFICIENCY ES"
00.0 01
00.0 01
00.0 01
00.0 01
95.0 01
SCC BEC FUEL - MAX DESIGN
II III IV NBR ID UNITS PROCESS RATE
07 008 00 0001645
E F NUMBER OF POLLUTANT EMISSION
SOURCE EMSN FCTR ID FACTOR
A 05 TSP 000239.1
EMISSIONS
TlhATE MEASURED ALLOWABLE UNITS
0000197
0000737
0000257
0003473
OC00301
ESTIMATE TEST
METHOD
5
5
5
5
5
METHOD
SULFUR ASH HEAT
CONTENT CONTENT CONTENT CONF SOURCE
0.00
05.4 OC003
ASH / FACT03
SULFUR UNITS
CO
S02
NOX
HC
000395.800
000312.COO
00-'+222.000
000366.200
-------
DETAIL LIST STATISTICS:
000005 SEGMENT 0 RECORDS PROCESSED.
000011 SEGMENT 1 RECORDS PROCESSED.
000018 SEGMENT 2 RECORDS PROCESSED.
000000 SEGMENT 3 RECORDS PROCESSED.
DO
i
-------
FROGRAI1 NAME: TPSPLIT
REVISION LEVEL: i-oo
LAST UPDATE 8 00
INCORPORATED: 5/21/80
DATE OF RUN: 1/02/81
CO
ro
-------
CONTROL AND SUMMARY REQUEST FILE
AIRSHED MODEL DATA HANDLING SYSTEM
TEMPORAL AND POLLUTANT SPLIT PROGRAM
DIAGNOSTIC AND INPUT REPORT
TEST OF SAITPS PROGRAM WITH TULSA DATA - SUMMARY 3
PAGE 1
1/02/61
CONTROL FILE SUMMARY
CO
OJ
USER REQUEST
ACTUALLY USED
NUMBER OF DAYS
1
1
DAY
3
3
EIS/PSR DEFAULT SEASON FOR:
1 DAY 2 DAY 3 DAY
USER-DEFINED SUMMARY REQUEST CARDS
01POINT SOURCES 305
0290600900
03AREA SOURCES
04BOILERS
05202
06SPEC AREA
***TPSPLIT 017 CONDITIONAL - NUMBER OF INPUT LINES FOR SUMMARY REPORT IS 6.
305
201
906009000
906
1
2
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-------
AIRSHED MODEL DATA HANDLING SYSTEM
TEMPORAL AND POLLUTANT SPLIT PROGRAM
POLLUTANT SPLIT FILE DIAGNOSTIC AND INPUT REPORT PAGE 2
TEST OF SAITPS PROGRAM WITH TULSA DATA - SUMMARY 3 1/02/81
S
POLLUTANT SPLIT FACTOR TEST FILE 6/4/80 DEL
30600104 105 20 540 500 500 S12
90100500 954 962 38 S12
90200500 512 26 26 850 150 S12
37 10200401 846 58 58 950 S12
*»*TPSPLIT 003 CONDITIONAL - POLLUTANT SPLIT SUM NOT 100X.
37 30600402 200 200 200 200 200 S12
***TPSPLIT 003 CONDITIONAL - POLLUTANT SPLIT SUM NOT 100X.
37 90501100 256 159 342 210 890 50 012
***TPSPLIT 003 CONDITIONAL - POLLUTANT SPLIT SUM NOT 100X.
***TPSPLIT 003 CONDITIONAL - POLLUTANT SPLIT SUM NOT 100X.
37 90501100 682 416 022
37 91303400 612 29 124 91 35 100 S12
***TPSPLIT 003 CONDITIONAL - POLLUTANT SPLIT SUM NOT 100X.
370760 91106200 301 59 16 69 101 24 224 56 100 50 18 850 150 012
***TPSPLIT 003 CONDITIONAL - POLLUTANT SPLIT SUM NOT 100X.
370760 91106200 462 468 540 961 484 394 819 022
***TPSPLIT 029 ERROR - OLEFIN SPECIES SPLITS ARE INCONSISTENT. DATA REJECTED.
372620 10100601 542 56 98 257 47 98 975 25 012
***TPSPLIT 003 CONDITIONAL - POLLUTANT SPLIT SUM NOT 100X.
372620 10100601 300 022
***TPSPLIT 029 ERROR - OLEFIN SPECIES SPLITS ARE INCONSISTENT. DATA REJECTED.
373020 30600502 950 32 S12
***TPSPLIT 003 CONDITIONAL - POLLUTANT SPLIT SUM NOT 100X.
373020 90600700 50 500 S12
370760999915491308100 256 300 100 980 S12
***TPSPLIT 003 CONDITIONAL - POLLUTANT SPLIT SUM NOT 100X.
373020999910590100500 486 51 48 962 38 S12
3730200005107 782 62 24 62 950 50 S12
373020000518230600402 652 64 21 98 012
***TPSPLIT 003 CONDITIONAL - POLLUTANT SPLIT SUM NOT 100X.
***TPSPLIT 003 CONDITIONAL - POLLUTANT SPLIT SUM NOT 100X.
373020000518230600402 361 494 549 022
*»*TPSPLIT 029 ERROR - OLEFIN SPECIES SPLITS ARE INCONSISTENT. DATA REJECTED.
3730200008137 115 69 453 121 17 109 S12
*#*TPSPLIT 003 CONDITIONAL - POLLUTANT SPLIT SUM NOT 100X.
30600104 76 65 699 652 348 S12
37 91300400 612 29 124 91 35 108 100 012
***TFSPLIT 003 CONDITIONAL - POLLUTANT SPLIT SUM NOT 100X.
***TFSPLIT 003 CONDITIONAL - POLLUTANT SPLIT SUM NOT 100X.
37 91308400 482 561 2301019 022
***TPSPLIT 029 ERROR - OLEFIN SPECIES SPLITS ARE INCONSISTENT. DATA REJECTED.
-------
AIRSHED MODEL DATA HANDLING SYSTEM
TEMPORAL AND POLLUTANT SPLIT PROGRAM
TEMPORAL SPLIT FILE DIAGNOSTIC AND INPUT REPORT PAGE 3
TEST OF SAITPS PROGRAM WITH TULSA DATA - SUMMARY 3 1/02/81
TEMPORAL FACTOR TEST FILE 6/4/80 DEL
3060040211500140250250 11
306004021 250200 21
***TPSPLIT 006 CONDITIONAL - TEMPORAL SPLIT SUM NOT 100X.
9070080015000154 50 50 50 50100100100100100 11
907008001 100 50 50 50 50 21
37 905011001 11
***TPSPLIT 013 ERROR - INVALID DAILY FACTOR VALUE - CHANGED TO .0110.
37 905011001 21
***TPSPLIT 006 CONDITIONAL - TEMPORAL SPLIT SUM NOT 100X.
370760 9110620016000110 9 15 29 86124151 94100 95 72 11
370760 911062001 46 41 65 52 21 21
373020 9070080012500154 50 50 50 50100100100100100 11
373020 907008001 100 50 50 50 50 21
3726200001101 13200126 11 9 8 8 26 30 47 54 50 51 46 43 64 79 88 85 11
3726200001101 1 71 64 41 39 31 20 18 17 21
i 37302000051071020070115200128150 150 150 150 150 150 11
P> 3730200005107102007011 100 21
3730209999122906007001 500769100100100100100100100100100115 11
3730209999122906007001 21
*»*TPSPLIT 006 CONDITIONAL - TEMPORAL SPLIT SUM NOT 100X.
37 905011001500 999 01 11
***TPSPLIT 013 ERROR - INVALID DAILY FACTOR VALUE - CHANGED TO .0110.
37 905011001 21
3060040211000140 250250250250 11
306004021 21
-------
AIRSHED MODEL DATA HANDLING SYSTEM
TEMPORAL AND POLLUTANT SPLIT PROGRAM
EIS/PiR MASTER FILE DIAGNOSTIC AND INPUT REPORT PAGE 4
TEST OF SAITPS PROGRAM WITH TULSA DATA - SUMMARY 3 1/02/81
37 0760 9999 150 91106200
***TPSPLIT 024 ERROR - PT EMISSIONS NOT EQUAL TO PROCESS SUM. PT ALLOC TO PROCESS!ES).
***TPSPLIT 024 ERROR - PT EMISSIONS NOT EQUAL TO PROCESS SUM. PT ALLOC TO PROCESS!ES).
***TPSPLIT 024 ERROR - PT EMISSIONS NOT EQUAL TO PROCESS SUM. PT ALLOC TO PROCESS!ES).
***TPSPLIT 024 ERROR - PT EMISSIONS NOT EQUAL TO PROCESS SUM. PT ALLOC TO PROCESS!ES).
***TPSPLIT 024 ERROR - PT EMISSIONS NOT EQUAL TO PROCESS SUM. PT ALLOC TO PROCESS!ES).
***TPSPLIT 025 WARNING - POLLUTANT SPLIT NOT FOUND. DEFAULT SPLIT USED.
37 0760 9999 154 91308400 91308100
***TPSPLIT 027 CONDITIONAL - TEMPORAL SPLIT NOT FOUND. UNIFORM 8/24-HR SPLIT USED.
***TPSPLIT 027 CONDITIONAL - TEMPORAL SPLIT NOT FOUND. UNIFORM 8/24-HR SPLIT USED.
37 2620 0001 101 10100601
***TPSPLIT 024 ERROR - PT EMISSIONS NOT EQUAL TO PROCESS SUM. PT ALLOC TO PROCESS!ES).
***TPSPLIT 025 WARNING - POLLUTANT SPLIT NOT FOUND. DEFAULT SPLIT USED.
37 3020 0005 107 10200401 10200501 10200701
***TPSPLIT 024 ERROR - PT EMISSIONS NOT EQUAL TO PROCESS SUM. PT ALLOC TO PROCESS!ES).
***TPSPLIT 026 WARNING - TEMPORAL SPLIT NOT FOUND. EIS/PiR VALUES USED IN DEFAULT CALC
I ***TPSPLIT 026 WARNING - TEMPORAL SPLIT NOT FOUND. EIS/PiR VALUES USED IN DEFAULT CALC
g? 37 3020 0005 152 30600104 30600104
***TPSPLIT 026 WARNING - TEMPORAL SPLIT HOT FOUND. EIS/PiR VALUES USED IN DEFAULT CALC
***TPSPLIT 026 WARNING - TEMPORAL SPLIT NOT FOUND. EIS/PiR VALUES USED IN DEFAULT CALC
37 3020 0005 182 30600402 30600502
***TPSPLIT 027 CONDITIONAL - TEMPORAL SPLIT NOT FOUND. UNIFORM 8/24-HR SPLIT USED.
37 3020 0008 137 30600201
***TPSPLIT 024 ERROR - PT EMISSIONS NOT EQUAL TO PROCESS SUM. PT ALLOC TO PROCESS!ES).
***TPSPLIT 024 ERROR - PT EMISSIONS NOT EQUAL TO PROCESS SUM. PT ALLOC TO PROCESS!ES).
***TPSPLIT 024 ERROR - PT EMISSIONS NOT EQUAL TO PROCESS SUM. PT ALLOC TO PROCESS!ES).
*»*TPSPLIT 024 ERROR - PT EMISSIONS NOT EQUAL TO PROCESS SUM. PT ALLOC TO PROCESS! ES).
***TPSPLIT 024 ERROR - PT EMISSIONS NOT EQUAL TO PROCESS SUM. PT ALLOC TO PROCESS!ES).
***TPSPLIT 026 WARNING - TEMPORAL SPLIT NOT FOUND. EIS/PiR VALUES USED IN DEFAULT CALC
37 3020 0003 143 30600402
37 3020 9999 105 90100500 90200500
***TPSPLIT 024 ERROR - PT EMISSIONS NOT EQUAL TO PROCESS SUM. PT ALLOC TO PROCESS!ES).
«**TPSPLIT 026 WARNING - TEMPORAL SPLIT NOT FOUND. EIS/PiR VALUES USED IN DEFAULT CALC
***TPSPLIT 026 WARNING - TEMPORAL SPLIT NOT FOUND. EIS/PiR VALUES USED IN DEFAULT CALC
37 3020 9999 122 90600700 90501100
***TPSPLIT 024 ERROR - PT EMISSIONS NOT EQUAL TO PROCESS SUM. PT ALLOC TO PROCESS!ES).
***TPSPLIT 024 ER20R - PT EMISSIONS NOT EQUAL TO PROCESS SUM. PT ALLOC TO PROCESS!ES).
37 3020 9999 129 90700800
*x*TPSPLIT T24 ERROR - PT EMISSIONS NOT EQUAL TO PROCESS SUM. PT ALLOC TO PROCESS!ES).
025 WARNING - POLLUTANT SPLIT NOT FOUND. DEFAULT SPLIT USED.
-------
AIRSHED MODEL DATA HANDLING SYSTEM
TEMPORAL AND POLLUTANT SPLIT PROGRAM
EIS/PiR MASTER FILE DIAGNOSTIC AND INPUT REPORT PAGE 5
TEST OF SAITPS PROGRAM WITH TULSA DATA - SUMMARY 3 1/02/81
NUMBER OF PROJECTION-FILE RECORDS READ: 11
NUMBER OF AREA SOURCE RECORDS PROCESSED: 5
NUMBER OF POINT SOURCE RECORDS PROCESSED: 6
NUMBER OF POLLUTANT SPLIT RECORDS READ: 23
NUMBER OF HOURLY EMISSION RECORDS WRITTEN: 26
-------
AIRSHED MODEL DATA HANDLING SYSTEM
DO
I
CTl
00
USER-DEFINED SUMMARY
TEMPORAL AND POLLUTANT SPLIT PROGRAM
EMISSIONS SUMMARY REPORT
TEST OF SAITPS PROGRAM WITH TULSA DATA - SUMMARY 3
DAY 1
PAGE 1
1/02/81
CATEGORY
*XXXXKttXXXXXXXXX*XXXXXXXXKXXXXXKXXXXXX*EMISSIONS» KG-MOLES/DAYXXXX**X*XXXXX*XXXXXXXX*X***XXXXXX*XXXXXXXXXXXXXXX*
NAME
POINT SOURCES
90600900
AREA SOURCES
BOILERS
202
SPEC AREA
MISC. POINTS
MISC. AREAS
AEROSOLS
0.0
0.0
4.7
190.9
0.0
6930.4
442.9
0.0
SOX
0.0
0.0
0.1
1.5
0.0
40.7
115.7
0.0
CO
0.0
0.0
70.9
15.2
0.0
10491.5
5338.4
0.0
NO
0.0
0.0
1.0
370.5
0.0
1095.9
1.6
0.0
N02
0.0
0.0
1.0
19.5
0.0
121.3
0.9
0.0
OLE
0.0
0.0
0.0
0.0
0.0
37.3
98.5
0.0
PAR
0.0
0.0
0.0
767.6
0.0
2103.4
1021.7
0.0
CARS
0.0
0.0
0.0
28.3
0.0
38.1
73.9
0.0
ARO
0.0
0.0
0.0
0.0
0.0
74.6
38.9
0.0
ETH
0.0
0.0
0.0
11.8
0.0
34.8
72.9
0.0
DAY TOTALS
7568.9
158.0
15916.0
1469.0
142.7
135.8
3892.7
140.3
113.5
119.5
-------
AIRSHED MODEL DATA HANDLING SYSTEM
STUDY SUMMARY - TOTAL POINT SOURCES
TEMPORAL AND POLLUTANT SPLIT PROGRAM
EMISSIONS SUMMARY REPORT
TEST OF SAITPS PROGRAM WITH TULSA DATA - SUMMARY 3
DAY 1
PAGE 2
1/02/61
«x*x********************»************tt*EMISSIONS> KG-MOLES/HR*************************
HOUR
01
02
03
04
05
06
07
03
09
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
AEROSOLS
33.4
20.9
33.1
20.8
34.9
23.0
36.9
26.0
37.9
25.7
37.5
24.9
27.0
28.5
29.3
29.0
27.7
27.0
24.7
24.5
23.7
22.6
3.8
11. Z
SOX
5.4
5.2
5.4
5.2
5.4
5.2
5.4
5.2
5.4
5.2
5.4
5.2
5.2
5.2
5.3
5.3
5.2
5.2
5.2
5.2
5.2
5.2
0.4
0.5
CO
243.2
242.8
243.2
242.8
243.4
243.0
243.7
243.3
243.7
243.3
243.7
243.2
243.4
243.6
243.7
243.7
243.5
243.4
243.2
243.1
243.0
242.9
0.2
0.5
KO
12.6
2.6
11.7
2.4
16.9
8.6
22.9
16.9
25.1
16.0
24.0
13.7
19.8
24.0
26.6
25.8
21.8
19.8
13.2
12.6
10.3
7.2
6.6
11.2
N02
0.7
0.2
0.6
0.2
0.9
0.5
1.2
0.9
1.4
0.9
1.3
0.8
1.1
1.3
1.4
1.4
1.2
1.1
0.7
0.7
0.6
0.4
0.4
0.6
OLE
0.2
0.2
0.2
19.6
19.6
19.6
19.6
2.2
2.2
2.2
2.2
2.2
2.2
2.2
2.2
0.2
0.2
0.2
0.2
0.2
0.2
0.2
0.0
0.0
PAR
102.9
0.7
102.9
36.7
138.9
36.7
138.9
113.9
216.0
113.9
216.0
113.8 •
113.9
113.9
113.9
6.1
6.1
6.1
6.1
6.1
6.1
6.1
5.4
68.2
CARB
4.1
0.3
4.1
17.1
20.9
17.1
20.9
0.5
4.3
0.5
4.3
0.5
0.5
0.5
0.5
0.5
0.5
0.5
0.5
0.5
0.5
0.5
0.2
2.5
ARO
0.6
0.6
0.6
7.0
7.0
7.0
7.0
0.6
0.6
0.6
0.6
0.6
0.6
0.6
0.6
0.6
0.6
0.6
0.6
0.6
0.6
0.6
0.1
0.1
ETH
1.6
0.0
1.6
18.0
19.6
18.0
19.6
0.1
1.7
0.1
1.7
0.1
0.1
0.1
0.1
0.1
0.1
0.1
0.1
0.1
0.1
0.1
0.1
1.0
DAY TOTALS
634.0
116.7
5353.5
372.3
20.5
98.0
1789.3
102.3
39.0
84.2
-------
STUDY SUMMARY - TOTAL AREA SOURCES
AIRSHED MODEL DATA HANDLING SYSTEM
TEMPORAL AND POLLUTANT SPLIT PROGRAM
EMISSIONS SUMMARY REPORT
TEST OF SAITPS PROGRAM WITH TULSA DATA - SUMMARY 3
DAY 1
HOUR
01
02
03
04
05
06
07
08
09
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
*tttttt«ttX***tt*K**XKK***K*tttt*K*****KK*****EMISSIONS>
PAGE 3
1/02/S1
AEROSOLS
3.9
3.9
3.9
3.9
3.9
3.9
609.6
131. 4
207.6
519.9
727.6
909.6
597.5
630.4
603.0
477.0
334.6
272.8
404.3
322.7
152.8
3.5
3.5
3.5
SOX
0.0
0.0
0.0
0.0
0.0
0.0
0.8
1.1
1.5
3.0
3.9
5.3
3.9
4.0
3.9
3.3
2.6
1.8
2.4
2.1
1.2
0.0
0.0
0.0
CO
7.7
7.7
7.7
7.7
7.7
7.7
205.7
167.2
310.8
897.1
1279.2
1561.1
975.8
1037.4
986.1
749.9
463.0
427.0
673.5
539.2
220.9
0.7
0.7
0.7
NO
0.1
0.1
0.1
0.1
0.1
0.1
11.6
26.4
38.0
85.4
116.9
151.2
103.8
108.8
104.6
85.5
63.9
47.9
67.8
55.1
29.3
0.0
0.0
0.0
N02
0.1
0.1
0.1
0.1
0.1
0.1
1.2
3.0
4.3
9.6
13.0
16.8
11.5
12.1
11.6
9.5
7.1
5.3
7.5
6.1
3.3
0.0
0.0
0.0
. OLE
0.0
0.0
0.0
0.0
0.0
0.0
0.3
0.6
1.1
3.2
4.6
5.6
3.5
3.7
3.5
2.7
1.8
1.5
2.4
1.9
0.8
0.0
0.0
0.0
PAR
0.1
0.1
0.1
0.1
0.1
0.1
40.3
33.1
61.5
177.3
254.5
311.6
195.8
208.0
197.8
151.1
98.3
85.9
134.6
107.9
45.0
0.1
0.1
0.1
CARB
0.0
0.0
0.0
0.0
0.0
0.0
5.2
0.6
1.0
2.8
4.0
4.9
3.1
3.3
3.1
2.4
1.6
1.4
2.1
1.7
0.7
0.0
0.0
0.0
ARO
0.0
0.0
0.0
0.0
0.0
0.0
0.7
1.2
2.2
6.4
9.1
11.2
7.0
7.5
7.1
5.4
3.5
3.1
4.3
3.9
1.6
0.0
0.0
0.0
ETH
0.0
0.0
0.0
0.0
0.0
0.0
0.3
0.6
1.0
3.0
4.2
5.2
3.3
3.5
3.3
2.5
1.6
1.4
2.2
1.8
0.6
0.0
0.0
0.0
DAY TOTALS
6935.1
40.8
10562.2
1096.8
122.5
37.2
2103.6
37.9
74.7
34.7
-------
STATE COUNTY AQCR PLANT ID
37 0760 186 9999
PAGE
DATE SEGMENT CONTROL
YEAR DAY ID REGION
80 238 000
LOCAL
CONTROL PLANT ID
AREA SOURCE
CITY UTM ZONE OWNER CONTACT
0 PROC TEST RUN 0
TELEPHONE
F CMGROH
PRINCIPAL
PRODUCT
ESTABLISHMENT NAME AND ADDRESS
000000000
ZIP
NUMBER OF
EMPLOYEES
OOZ1
PROPERTY
AREA
00000.0
MAILING ADDRESS
ZIP
DATE SEGMENT POINT ID UTM COORDINATES LATITUDE LONGITUDE ANNUAL THRUPUT
YEAR DAY ID NEDS USER SIC IPP HORIZONTAL VERTICAL DEG J1IN SEC DEG MIN SEC DEC MAR JUN SEP
80 238 150 99 911 9999 99 000.0 0000.0
NORMAL OPERATING
HR/0 D/WK WK/YR
BOILER SPACE
CAPACITY HEAT
STACK DATA
HEIGHT DIAM TEMP FLOW RATE VELOCITY PLUME PNTS
COMP SCHED
COMP YEAR MONTH
COMP STATUS
YEAR MONTH DAY
CONTROL REGULATION
ECAP REG 1 REG 2 REG 3
co
NUMBER OF POLLUTANT CONTROL CONTROL EQUIP ESTM CNTL
POLLUTANTS ID i
05 TSP
CO
S02
NOX
HC
DATE SEGMENT SCC
YEAR DAY ID I II III
80 238 2 50 01 9 11
SOURCE DESCRIPTION
IOST PR I SEC
BEC
: IV NBR ID UNITS
: oo
E F NUMBER OF
SOURCE EMSN FCTR
A 05
EFFICIENCY ESTIMATE
00.0 0000915
00.0 0048016
00.0 0000273
00.0 0007092
00.0 0007915
FUEL - MAX DESIGN SULFI
PROCESS RATE CONTI
0008291 O.Oi
POLLUTANT EMISSION ASI
ID FACTOR SU!
TSP 000011.040
EMISSIONS
ESTIMATE MEASURED ALLOWABLE UNITS
0000915
0043316
0000276
0007093
0007915
ESTIMATE TEST
METHOD
1
1
1
1
1
ASH HEAT
CONTENT CONTENT CONTENT CONF SOURCE
00000
FACTOR
UNITS
METHOD
CO
S02
NOX
HC
000579.140
000003.350
000005.540
000095.460
-------
STATE COUNTY AQCR PLANT ID
37 0760 186 9999
PAGE
SEGMENT ID
3
CO
i
ro
1
POINT
50
ID
DAY
01
«KMttK********ttKKKK**tt******X**tt**X****
HOUR
001
002
003
004
005
006
007
008
009
010
Oil
012
013
014
015
016
017
018
019
020
021
022
023
024
AEROSOLS
00000000
00000000
00000000
00000000
00000000
00000000
00049306
00082177
00158876
00471150
00679333
00827252
00514978
00547849
00520456
00394451
00252010
00224618
00356102
00264381
00115048
00000000
00000000
00000000
S02
00000000
00000000
00000000
00000000
00000000
00000000
00000234
00000390
00000754
00002237
00003225
00003927
00002445
00002601
00002471
00001873
00001196
00001066
00001691
00001352
00000546
00000000
00000000
00000000
CO
00000000
00000000
00000000
00000000
00000000
00000000
00092408
00154014
00297759
00883011
01273178
01550403
00965151
01026757
00975419
00739265
00472308
00420970
00667392
00533914
00215619
00000000
00000000
00000000
NO
00000000
00000000
00000000
00000000
00000000
00000000
00007477
00012462
00024094
00071450
00103021
00125453
00078097
00033061
00078927
00059819
00038217
00034063
00054003
00043202
00017447
00000000
00000000
00000000
EMISSIONS,
N02
00000000
00000000
00000000
00000000
00000000
00000000
00000831
00001385
00002677
00007940
00011448
00013941
00000679
00009233
00008771
00006647
00004247
000037S5
00006C01
00004801
00001939
00000000
00000000
00000000
GM-MOLE/HR ***************************************
OLE
00000000
00000000
00000000
00000000
00000000
00000000
00000328
00000547
00001057
00003136
00004521
00005506
00003428
00003646
OC003464
00002625
00001677
00001495
00002370
00001896
00000766
00000000
00000000
00000000
PAR
00000000
00000000
00000000
00000000
00000000
oooooooo
00016279
00030465
00058399
00174665
00251643
00306680
00190913
00203099
00192944
00146231
00093426
00083271
00132015
00105612
00042651
OOCOOOOO
OOOOOOCO
OOOOOOOO
CARB
OOOOOOOO
OOOOOOCO
OOOOOOOO
OOOOOOOO
OOOOOOOO
OOOOOOOO
00000285
00000474
00000917
00002719
00003920
00004774
00002972
00003161
00003003
00002276
00001454
00001296
C0002055
00001644
00000664
OOOOOOOO
OOOOOOOO
OOOOOOOO
ARO
OOOOOOOO
OOOOOOOO
OOOOOOOO
OOOOOOOO
OOOOOOOO
OOOOOOOO
OOOQ0656
00001094
00002115
00006272
00009043
00011012
00006855
00007293 •
03006928
00005251
00003355
00002990
00004740
00003792
00001531
00300000
OOOOOOOO
OOOOOOOO
ETH
00000000
OOOOOOOO
OOOOOOOO
OOOOOOOO
OOOOOOOO
OOOOOOOO
00000304
00000507
00000981
00002909
00004195
00005103
00003180
00003383
00003214
OOOG2436
00001556
00001387
00002199
00001759
00000710
OOOOOOOO
OOCOOOOO
OOOOOOOO
-------
STATE COUNTY AQCR PLAUT ID
37 0760 186 9999
DATE
YEAR DAY
60 238
SEGMENT
ID
000
CONTROL
REGION
LOCAL
CONTROL
PLANT ID
AREA SOURCE
CITY UTM ZONE OWNER
0
CONTACT
PROC TEST RUN 0
TELEPHONE
F CMGROW
PAGE
PRINCIPAL
PRODUCT
ESTABLISHMENT NAME AND ADDRESS
000000000
ZIP
NUMBER OF
EMPLOYEES
0021
PROPERTY
AREA
00000.0
MAILING ADDRESS
ZIP
DATE SEGMENT POINT ID UTM COORDINATES LATITUDE LONGITUDE ANNUAL THRUPUT NORMAL OPERATING
YEAR DAY ID NEDS USER SIC IPP HORIZONTAL VERTICAL DEC MIH SEC DEG MIN SEC DEC MAR JUN SEP HR/D D/WK WK/YR
80 238 154 99 913 9999 99 000.0 0000.0
BOILER SPACE
CAPACITY HEAT
STACK DATA
HEIGHT DIAM TEMP FLOW RATE VELOCITY PLUME PNTS
COUP SCHED
COMP YEAR MONTH
COMP STATUS
YEAR MONTH DAY
CONTROL REGULATION
ECAP REG 1 REG 2 REG 3
NUMBER OF
POLLUTANT CONTROL CONTROL EQUIP ESTM CNTL
EMISSIONS
ESTIMATE TEST
POLLUTANTS ID
05 TSP
CO
S02
NOX
HC
DATE SEGMENT
YEAR DAY ID I
80 238 2 54 01 9
SOURCE DESCRIPTION
COST
PRI SEC EFFICIENCY ESTIMATE MEASURED Al
00.0 0000033
00.0 0000195
00.0 0000000
00.0 0000006
00.0 0000030
SCC EEC
II III IV NBR
13 084 00
E F
SOURCE
A
ID UNITS
NUMBER OF
EMSH FCTR
04
FUEL - MAX DESIGN SULFUR
PROCESS
0000085
POLLUTANT
ID
HC
TSP
CO
NOX
RATE CONTENT
0.00
EMISSION ASH /
FACTOR SULFUR
000083.200
000353.600
001040.000
000041.600
ASH
CONTENT
FACTOR
UNITS
METHOD
3
3
3
3
3
METHOD
HEAT
CONTENT
00000
DATE SEGMENT
YEAR DAY ID
80 238 2 54 02
SCC BEC
I II III IV HBR ID
9 13 081 00
FUEL -
UNITS PROCESS
0002160
MAX DESIGN
RATE
SOURCE DESCRIPTION
E F
SOURCE
A
NUMBER OF POLLUTANT EMISSION
SULFUR ASH HEAT
CONTENT CONTENT CONTENT CONF SOURCE
0.00 00009
ASH / FACTOR
EMSN FCTR ID FACTOR SULFUR
04 TSP 000017.000
CO 000140.000
NOX 000004.000
HC 000024.000
UNITS
-------
STATE COUNTY AQCR PLANT ID
37 0760 186 9999
PAGE
SEGMENT ID
3
CO
I POINT ID
54
DAY
01
*K*XK**KX**K*KXK*tt**«**K***** *********
HOUR
001
002
003
004
005
006
007
008
009
010
Oil
012
013
014
015
016
017
018
019
020
021
022
023
024
AEROSOLS
00003468
00003468
00003468
00003468
00003468
00003468
00003468
00003468
00003468
00003468
00003468
00003468
00003468
00003468
00003468
00003468
00003468
00003468
00003468
00003468
00003468
00003468
00003468
00003468
S02
00000000
00000000
00000000
00000000
00000000
00000000
00000000
00000000
00000000
00000000
00000000
00000000
00000000
00000000
00000000
00000000
00000000
00000000
00000000
00000000
00000000
00000000
00000000
00000000
CO
00000725
00000725
00000725
00000725
00000725
00000725
00000725
00000725
00000725
00000725
00000725
00000725
00000725
00000725
00000725
00000725
00000725
00000725
00000725
00000725
00000725
00000725
00000725
00000725
NO
00000009
00000009
00000009
00000009
00000009
00000009
00000009
00000009
00000009
00000009
00000009
00000009
00000009
00000009
00000009
00000009
00000009
00000009
00000009
00000009
00000009
00000009
00000009
00000009
EMISSIONS,
N02
00000000
00000000
ocoooooo
00000000
00000000
00000000
00000000
00000000
00000000
00000000
00000000
00000000
00000000
00000000
00000000
00000000
00000000
00000000
00000000
00000000
00000000
00000000
00000000
00000000
GM-MOLE/HR ***************************************
OLE
00000000
00000000
00000000
00000000
00000000
00000030
00000000
00000000
00000000
00000000
00000000
00000000
ooooocoo
00000000
00000000
00000000
00000000
00000000
00000000
00000000
00000000
00300000
00000000
00000000
PAR
00000067
OOOOC067
00000067
OOC00067
00000067
00000067
00000067
00000067
00000067
00000067
00000067
00000067
00000067
00000067
00000067
OOOC0067
00000067
00000067
00000067
00000067
00000067
00000067
00000067
00000067
CARB
00000028
00000028
00000023
00000028
00000028
00000028
00000028
00000028
00000028
00000023
00000028
00000028
00000028
00000028
00000028
00000023
00000023
00000028
00000028
00000028
00000028
00000028
00000028
00000023
ARO
00000001
00000001
00000001
00000001
00000001
00000001
00000001
00000001
00000001
00000001
00000001
00000001
00000001
00000001
00000001
00000001
00000001
00000001
00000001
OOOC0001
00000001
00000001
00009001
00000001
ETH
00000039
00000009
00000009
00000009
00000009
00000009
00000009
00000009
00000009
00000009
00000009
00000009
00000009
OOOOOOC9
00030009
00000009
OOC00009
00000009
OC000009
00000009
OCOOG039
00000009
00000009
00030009
-------
STATE COUNTY AQCR PLANT ID
37 2620 186 0001
DATE SEGMENT
YEAR DAY ID
80 238 000
CONTROL LOCAL
REGION CONTROL PLANT ID
CITY UTM ZONE
99
OWNER
U
CONTACT
PROC TEST RUN 0
TELEPHONE
F CtlGROW
PAGE
PRINCIPAL
PRODUCT
ESTABLISHMENT NAME AND ADDRESS
PUBLIC SERVICE CO. BX 68, OOLOGAH
ZIP
74053
NUMBER OF
EMPLOYEES
PROPERTY
AREA
MAILING ADDRESS
ZIP
DATE SEGMENT POINT ID UTM COORDINATES LATITUDE LONGITUDE ANNUAL THRUPUT NORMAL OPERATING
YEAR DAY ID NEDS USER SIC IPP HORIZONTAL VERTICAL DEG MIN SEC DEG MIN SEC DEC MAR JUN SEP HR/D D/WK WK/YR
80 238 101 01 4911 00 806.3 0346.5 37 01 33 29 24 7 39
00
I
BOILER SPACE
CAPACITY HEAT
03270 00.0
STACK DATA
HEIGHT DIAM TEMP FLOW RATE VELOCITY PLUME PNTS
0183 18.0 0249 0815626 00053 0000
COMP SCHED
COMP YEAR MONTH
1
COMP STATUS
YEAR MONTH DAY
72 09 07
NUMBER OF
POLLUTANTS
05
POLLUTANT CONTROL CONTROL EQUIP ESTM CNTL
ID COST PRI SEC EFFICIENCY
TSP 00.0
CO 00.0
S02 00.0
NOX 00.0
HC 00.0
EMISSIONS
CONTROL REGULATION
ECAP REG 1 REG 2 REG 3
2
ESTIMATE TEST
ESTIMATE MEASURED ALLOWABLE UNITS
OOC0027 0002570
0000092 9999999
0000003 9999999
0003786 9999999
0000006 9999999
METHOD
5
5
5
5
5
METHOD
DATE SEGMENT SCC BEC FUEL - MAX DESIGN
YEAR DAY ID I II III IV NBR ID UNITS PROCESS RATE
80 238 2 01 05 1 01 006 01 0028711 0003.270
E F
NUMBER OF POLLUTANT EMISSION
SOURCE DESCRIPTION
NG BLR HOOMMBTU/HR
SOURCE EMSN FCTR
A 06
ID
TSP
S02
CO
NOX
HC
FACTOR
000001.881
000000.209
000006.374
000263.732
000000.383
SULFUR ASH HEAT
CONTENT CONTENT CONTENT CONF SOURCE
0.00 00.0 01000 2 B
ASH / FACTOR
SULFUR UNITS
-------
STATE COUNTY AQCR PLANT ID
37 2620 166 0001
PAGE
SEGMENT ID
3
DO
—I
1
POINT
01
ID
DAY
01
************ ********** ********K**XK*K*
HOUR
001
002
003
004
005
006
007
008
009
010
Oil
012
013
014
015
016
017
018
019
020
021
022
023
024
AEROSOLS
00001086
00000889
00000790
00000790
00002568
00002963
00004642
00005333
00004938
00005037
00004543
00004247
00006321
00007802
00008691
00008395
00007012
00006321
00004049
00003852
00003062
00001975
00001778
00001679
S02
00000002
00000002
00000001
00000001
00000004
00000005
00000008
00000009
00000009
00000009
00000008
00000007
00000011
00000014
00000015
00000015
00000012
00000011
00000007
00000007
00000005
00000003
00000003
OOOOC003
CO
00000131
00000108
00000096
00000096
00000311
00000359
00000562
00000645
00000593
00000610
00000550
00000514
00000765
00000944
00001052
00001016
00000349
00000765
00000490
00000466
00000371
00000239
00000215
00000203
NO
00003146
00002574
00002283
00002288
00007436
00008580
00013442
00015444
00014300
00014586
00013156
00012298
00018304
00022594
00025168
00024310
00020336
00018304
00011726
00011154
00006666
00005720
00005148
00004862
EMISSIONS,
N02
00000166
00000136
00000121
00000121
00003392
00000452
00000708
00000814
00000754
00000769
00000693
00000648
00000964
00001191
00001326
00001281
00001070
00000964
00000618
OOOOC588
00000467
C0000301
00000271
00000256
GM-MOLE/HR ****-K********#*#********X**»HI <<*******;
OLE
OOOOOOOO
OOOOOOOO
OOOOOOOO
OOOOOOOO
oooooooo
oooooooo
oooooooo
oooooooo
oooooooo
oooooooo
oooooooo
oooooooo
oooooooo
oooooooo
oooooooo
oooooooo
oooooooo
oooooooo
oooooooo
oooooooo
oooooooo
oooooooo
oooooooo
oooooooo
PAR
00000010
OOG00009
00000003
OOOOC008
00000025
00000029
00000045
00000351
00000048
00000049
00000044
00000041
00000061
00000075
00000084
00000081
00000063
00000061
00000039
OOOC0037
00000029
00000019
00000017
00000016
CARB
OOOOOOOO
OOOOOOOO
OOOOOOOO
oooooooo
oooooooo
oooooooo
oooooooo
oocooooo
oooooooo
oooooooo
oooooooo
oooooooo
oooooooo
oooooooo
oooooooo
oocooooo
oooooooo
oooooooo
oocooooo
oooooooo
oooooooo
oooooooo
oooooooo
oooooooo
ARO
oooooooo
oooooooo
oooooooo
oooooooo
00000001
00000001
00000002
00000002
00000302
00000002
00000002
00000002
00000002
00000003
00000003
00000003
00000003
00000002
OOOC0001
00000001
00000001
00000001
00000001
00000001
ETH
oooooooo
oooooooo
oooooooo
oooooooo
oooooooo
oooooooo
oooooooo
00300000
oooooooo
oooooooo
oooooooo
003UOOOO
oooooooo
oooooooo
oooooooo
oooooooo
oooooooo
oooooooo
oooooooo
oooooooo
oooooooo
oooooooo
oooooooo
oooooooo
-------
STATE COUNTY AQCR PLANT ID
37 3020 186 0005
PAGE
DATE
YEAR DAY
80 238
SEGMENT
ID
000
CONTROL
REGION
LOCAL
CONTROL
PLANT ID
CITY UTM ZONE OWNER CONTACT
3000 99 P PROC TEST RUN 0
TELEPHONE
F CMGROW
PRINCIPAL
PRODUCT
ESTABLISHMENT NAME AND ADDRESS
SUN OIL REFINERY-1700 S UNION, TULSA
NUMBER OF PROPERTY
ZIP EMPLOYEES AREA
MAILING ADDRESS
ZIP
DATE SEGMENT POINT ID UTM COORDINATES LATITUDE LONSITUDE ANNUAL THRUPUT N03MAL OPERATING
YEAR DAY ID NEDS USER SIC IPP HORIZONTAL VERTICAL DEC MIN SEC DEC MIN SEC DEC MAR JUN SEP HR/D D/VK WK/YR
80 238 107 07 2911 00 777.7 0313.1 25 15 35 25 16 6 02
BOILER SPACE STACK DATA COMP SCHEO COMP STATUS CONTROL REGULATION
CAPACITY HEAT HEIGHT DIAM TEMP FLOW RATE VELOCITY PLUME PNTS COMP YEAR MONTH YEAR MONTH DAY ECAP REG 1 REG 2 REG 3
00180 00.0 0111 10.5 0360 0003 0000 3 73 09 2
NUMBER OF
POLLUTANTS
05
POLLUTANT CONTROL CONTROL EQUIP ESTM CNTL
EMISSIONS
ESTIMATE TEST
10 COST PRI SEC
TSP
CO
S02
NOX
HC
EFFICIENCY ESTIMATE MEASURED ALLOWABLE UNITS METHOD METHOD
00.0
00.0
00.0
00.0
00.0
0000016 0000060
0000016 9999999
0000015
0000763 0000663 9999999
0002246
9999999
5
5
5
5
5
DATE SEGMENT SCC EEC FUEL - MAX DESIGN
YEAR DAY ID I II III IV NBR ID UNITS PROCESS RATE
80 238 2 07 10 1 02 004 01 0000300
SOURCE DESCRIPTION
BOILER RESID FUEL
E F
SOURCE
A
NUMBER OF POLLUTANT EMISSION
SULFUR ASH HEAT
CONTENT CONTENT CONTENT CONF SOURCE
1.00 18500 2 8
ASH / FACTOR
EMSN FCTR ID FACTOR SULFUR
05 NOX 001333.000
TSP 000014.427
S02 000013.467
CO 000015.387
HC 002015.353
UNITS
DATE SEGMENT SCC EEC FUEL - MAX DESIGN
YEAR DAY ID I II III IV NBR ID UNITS PROCESS RATE
80 238 2 07 15 1 02 005 01 0000050
SOURCE DESCRIPTION
BOILER DIST OIL
E F
SOURCE
A
NUMBER OF POLLUTANT EMISSION
SULFUR ASH HEAT
CONTENT CONTENT CONTENT CONF SOURCE
1 B
ASH / FACTOR
EMSN FCTR ID FACTOR SULFUR
05 NOX 002520.000
TSP 000014.440
S02 000013.480
CO 000015.400
HC 002015.360
UNITS
DATE SEGMENT
YEAR DAY ID I
80 238 2 07 20 1
SCC EEC
II III IV NBR ID
02 007 01
FUEL - MAX DESIGN SULFUR ASH HEAT
UNITS PROCESS RATE CONTENT CONTENT CONTENT CONF SOURCE
0001680 1 B
-------
STATE COUNTY AQCR PLANT ID PAGE
37 3020 166 0005
E F NUMBER OF POLLUTANT EMISSION ASH / FACTOR
SOURCE DESCRIPTION SOURCE EI1SN FCTR ID FACTOR SULFUR UNITS
BOILER REF GAS A 05 NOX 000532.000
TSP 00001*.423
S02 000013.462
CO 000015.385
HC 002015.355
CO
I
00
-------
STATE COUNTY AQCR PLANT ID
37 3020 166 0005
PAGE
SEGMENT ID
3
DO
I
10
1
POINT
07
ID
DAY
01
XXXXXXXKXXXXXXXXXXXXX*XXXMXXM»KX*XXKKK
HOUR
001
002
003
004
005
006
007
008
009
010
Oil
012
013
014
015
016
017
018
019
020
021
022
023
024
AEROSOLS
00012282
00000000
00012282
00000000
00012282
00000000
00012282
00000642
00012924
00000642
00012924
00000642
00000642
00000642
00000642
00000642
00000642
00000642
00000642
00000642
00000642
00000642
00000642
00008188
S02
00000179
00000000
00000179
00000000
00000179
00000000
00000179
00000009
00000188
00000009
00000188
00000009
00000009
00000009
00000009
00000009
00000009
00000009
00000009
00000009
00000009
00000009
00000009
00000119
CO
00000433
00000000
00000433
00000000
00000433
00000000
00000433
00000022
00000455
00000022
00000455
00000022
00000022
00000022
00000022
00000022
00000022
00000022
00000022
00000022
00000022
00000022
00000022
00000289
NO
00009356
00000000
00009356
00000000
00009356
00000000
00009356
00001382
00010733
00001362
00010738
00001382
00001302
00001362
00001332
00001382
00001382
00001382
00001382
00001382
00001382
00001382
00001382
00006237
EMISSIONS,
N02
00000469
00000000
00000439
00000000
00000489
00000000
00000489
00000074
00000563
00000074
00000563
00000074
00000074
00000074
00000074
00000074
00000074
00000074
00000074
00000074
00000074
00000074
00000074
00000326
GM-MOLE/IIR XXXXX«XXXXKxXXtt***XXXXX*KKXXit»XX*XXXXXtt
OLE
00000000
00000000
00000000
00000000
00000000
00000000
00000000
00000000
ooooocoo
00000000
00000000
00000000
00000000
00000000
00000000
00000000
00000000
00000000
00000000
00000000
00000000
00000000
00000000
00000000
PAR
00102167
00000000
00102167
00000000
00102167
00000000
00102167
00005343
00107510
00005343
00107510
00005343
00005343
00005343
00005343
00005343
00005343
00005343
00005343
00005343
00005343
00005343
00005343
00063111
CAR3
00003777
00000000
C0003777
OOCOOOOO
00003777
00000000
00003777
00000198
00003975
00000193
00003975
00000193
00000198
00000198
00000198
00000198
00000198
00000198
00000198
00000198
00000193
C0000198
00000198
00002518
ARO
00000000
00000000
00000000
ocoooooo
00000000
00000000
00000000
00000000
00000000
00000000
03000000
OOCOOGOO
00000300
00000000
coecooco
ooooooco
00000000
00000000
00000000
00000000
OGOOOOOO
OOCOOOOO
00000000
00000000
ETH
00001567
00000000
00001567
00000000
00001567
00000000
00001567
00000034
00001651
00000084
00001651
• 00000034
00000034
00000034
00000034
00000084
00000034
00000084
00000034
00000064
00000084
00000084
00000084
00001045
-------
CO
I
00
o
STATE COUNTY AQCR PLANT ID
37 3020 186 0005
PAGE
10
DATE
YEAR DAY
80 238
SEGMENT
ID
000
CONTROL
REGION
LOCAL
CONTROL
PLANT ID
CITY UTM ZONE OWNER CONTACT
3000 99 P PROC TEST RUN 0
TELEPHONE
F CMGROW
PRINCIPAL
PRODUCT
ESTABLISHMENT NAME AND ADDRESS
SUN OIL REFINERY-1700 S UNION, TULSA
NUMBER OF PROPERTY
ZIP EMPLOYEES AREA
MAILING ADDRESS
DATE SEGMENT POINT ID UTM COORDINATES LATITUDE LONGITUDE ANNUAL THRUPUT
YEAR DAY ID NEDS USER SIC IPP HORIZONTAL VERTICAL DEC MIN SEC DEG MIN SEC DEC MAR JUN SEP
80 238 152 52 2911 778.1 0316.9 25 25 25 25
BOILER SPACE STAC
CAPACITY HEAT HEIGHT DIAM TEMP
00097 00.0 0100 05.3 0600
NUMBER OF POLLUTANT CONTROL
POLLUTANTS ID COST
05 TSP
CO
S02
NOX
HC
K DATA COMP SCHED COMP STATUS
FLOW RATE VELOCITY PLUME PNTS COMP YEAR MONTH YEAR MONTH DAY
0036900 0500 0000
CONTROL EQUIP ESTM CNTL EMISSIONS ES
PRI SEC EFFICIENCY ESTIMATE MEASURED ALLOWABLE UNITS ME
002 75.0 0000013
00.0 0000000
00.0 0000209
00.0 0000045
002 50.0 0000147
EC;
Til
TH(
3
3
3
3
3
DATE SEGMENT SCC BEC FUEL - MAX DESIGN SULFUR ASH HEAT
YEAR DAY ID I II III IV NBR
80 238 2 52 05 3 06 001 04
E F
SOURCE DESCRIPTION SOURCE
PROC HEATER REF GAS A
ID UNITS PROCESS RATE CONTENT CONTENT CONTENT CONF SOUR
0001102 2.00 01.6 1 P
NUMBER OF POLLUTANT EMISSION ASH / FACTOR
EMSN FCTR ID FACTOR SULFUR UNITS
05 CO 000000.000
TSP 000050.000 A
HC 000460.000
NOX 000049.000
S02 000166. 000 S
CE
DATE SEGMENT SCC BEC FUEL - MAX DESIGN SULFUR ASH HEAT
YEAR DAY ID I II III IV HER
80 238 2 52 10 3 06 001 04
E F
SOURCE DESCRIPTION SOURCE
PROC HEATER REF GAS A
ID UNITS PROCESS RATE CONTENT CONTENT CONTENT CONF SOURCE
0000154 1 P
NUMBER OF POLLUTANT EMISSION ASH / FACTOR
EMSN FCTR ID FACTOR SULFUR UNITS
05 CO 000000.000
ZIP
NORMAL OPERATING
HR/D D/WK WK/YR
24 7 51
CONTROL REGULATION
XP REG 1 REG 2 REG 3
METHOD
TSP
HC
NOX
S02
000104.000
000519.000
000234.000
000338.000
-------
STATE COUNTY AQCR PLANT ID
37 3020 136 0005
PAGE
11
SEGMENT 10
3
CO
oo
1
POINT
52
10
DAY
01
XXXX*XXXXXXXXXXXXXXXXKX«XX*XXX*XXXXX*X
HOUR
001
002
003
004
005
006
007
008
009
010
Oil
012
013
014
015
016
017
013
019
020
021
022
023
024
AEROSOLS
00001352
00001352
00001352
00001352
00001352
00001352
00001352
00001352
00001352
00001352
00001352
00001352
00001352
00001352
00001352
00001352
00001352
00001352
00001352
00001352
00001352
00001352
00001352
00001352
S02
00000339
00000339
00000339
00000339
00000339
00000339
00000339
00000339
00000339
00000339
00000339
00000339
00000339
00000339
00000339
00000339
00000339
00000339
00000339
00000339
00000339
00000339
00000339
00000339
CO
OOOOOOOO
OOOOOOOO
OOOOOOOO
oooooooo
oooooooo
oooooooo
oooooooo
oooooooo
oooooooo
oooooooo
oooooooo
oooooooo
oooooooo
oooooooo
oooooooo
oooooooo
oooooooo
oooooooo
oooooooo
oooooooo
oooooooo
oooooooo
oooooooo
oooooooo
NO
00000066
00000066
00000066
00000066
00000066
00000066
00000066
00000066
00000066
00000066
OOOOOG66
00000066
00000066
00000066
00000066
00000066
00000066
00000066
00000066
00000066
00000066
00000066
00000066
00000066
EMISSIONS,
N02
00000036
00000036
00000036
00000036
00000036
00000036
00000036
00000036
00000036
00000036
00000036
00000036
00000036
00000036
00000036
00000036
00000036
00000036
00000036
00000036
00000036
00000036
00000036
00000036
GM-MOLE/HR xxxxxxxxx*xx*i
-------
CO
I
00
ro
STATE COUHTY AQCR PLANT ID
37 3020 136 0005
DATE SEGMENT CONTROL LOCAL
YEAR DAY ID REGION CONTROL PLANT ID
80 233 000
PAGE
PRINCIPAL
CITY UTM ZONE OWNER CONTACT TELEPHONE PRODUCT
3000 99 P PROC TEST RUN 0 F CMGRCW
ESTABLISHMENT NAME AND ADDRESS
SUN OIL REFINERY-1700 S UNION, TULSA
NUMBER OF, PROPERTY
ZIP EMPLOYEES' AREA MAILING ADDRESS
ZIP
DATE SEGMENT POINT ID UTM COORDINATES LATITUDE LONGITUDE ANNUAL THRUPUT NORMAL OPERATING
YEAR DAY ID NEDS USER SIC IPP HORIZONTAL VERTICAL DEG MIN SEC DEC MIN SEC DEC MAR JUN SEP HR/D D/WK WK/YR
SO 238 182 82 2911 00 778.0 0312.9
BOILER SPACE STACK DATA COUP SCHED COUP STATUS CONTROL REGULATION
CAPACITY HEAT HEIGHT DIAM TEMP FLOW RATE VELOCITY PLUME PUTS COMP YEAR HONTH YEAR MONTH DAY ECAP REG 1 REG 2 REG 3
0075 0150
NUMBER OF
POLLUTANTS
01
POLLUTANT CONTROL
ID COST
HC
CONTROL EQUIP ESTM CHTL EMISSIONS
PRI SEC EFFICIENCY ESTIMATE MEASURED ALLOWABLE UNITS
000 000 00.0 0008996
ESTIMATE TEST
METHOD METHOD
5
DATE SEGMENT SCC BEC FUEL - MAX DESIGN
YEAR DAY ID I II III IV HER ID UNITS PROCESS RATE
80 238 2 82 05 3 06 004 02 0035700
SULFUR ASH HEAT
CONTENT CONTENT CONTENT CONF SOURCE
1
SOURCE DESCRIPTION
REFINERY BLOW DOW!)
E F NUMBER OF POLLUTANT EMISSION ASH / FACTOR
SOURCE EMSN FCTR ID FACTOR SULFUR UNITS
01 HC 000300.000
DATE SEGMENT SCC BEC FUEL - MAX DESIGN
YEAR DAY ID I II III IV NBR ID UNITS PROCESS RATE
80 238 2 82 10 3 06 005 02 0034675
SULFUR ASH HEAT
CONTENT CONTENT CONTENT CONF SOURCE
1
SOURCE DESCRIPTION
PROCESS DRAINS&SEPARATORS
E F NUMBER OF POLLUTANT EMISSION ASH / FACTOR
SOURCE EMSN FCTR ID FACTOR SULFUR UNITS
01 HC 000210.000
-------
STATE COUNTY AQCR PLANT ID
37 3020 186 0005
PAGE
13
SEGMENT 10
3
CO
i
00
CO
1
POINT
82
ID
DAY
01
*XXXXX*Xtt*XXXXXXKXXXXXXXXXXXXXXXXXXXX*
HOUR
001
002
003
004
005
006
007
008
009
010
Oil
012
013
014
015
016
017
016
019
020
021
022
023
024
AEROSOLS
00000000
00000000
00000000
00000000
00000000
00000000
00000000
00000000
00000000
00000000
00000000
00000000
00000000
00000000
00000000
00000000
00000000
00000000
00000000
00000000
00000000
00000000
00000000
00000000
S02
00000000
oooooooo
00000000
oooooooo
oooooooo
oooooooo
oooooooo
oooooooo
oooooooo
oooooooo
oooooooo
oooooooo
oooooooo
oooooooo
oooooooo
oooooooo
oooooooo
oooooooo
oooooooo
oooooooo
oooooooo
oooooooo
oooooooo
oooooooo
CO
oooooooo
oooooooo
oooooooo
oooooooo
oooooooo
oooooooo
oooooooo
oooooooo
oooooooo
oooooooo
oooooooo
oooooooo
oooooooo
oooooooo
oooooooo
oooooooo
ooooooco
oooooooo
oboooooo
oooooooo
oooooooo
oooooooo
oooooooo
oooooooo
NO
oooooooo
oooooooo
oooooooo
oooooooo
oooooooo
oooooooo
oooooooo
oooooooo
oooooooo
oooooooo
oooooooo
oooooooo
oooooooo
oooooooo
oooooooo
oooooooo
oooooooo
oooooooo
oooooooo
oooooooo
oooooooo
oooooooo
oooooooo
oooooooo
EMISSIONS,
N02
oooooooo
oooooooo
oooooooo
oooooooo
oooooooo
oooooooo
oooooooo
oooooooo
oooooooo
oooooooo
oooooooo
oooooooo
ooooooco
oooooooo
oooooooo
oooooooo
oooooooo
oooooooo
oooooooo
oooooooo
oooooooo
oooooooo
oooooooo
oooooooo
GM-MOLE/HR **xxxx*xx*xxxxxx*xx*xxxx**xx*xxxxxxxx«*
OLE
oooooooo
oooooooo
oooooooo
00013078
00013078
00013078
00013078
00001954
OOOQ1954
00001954
00001954
00001954
00001954
00001954
00001554
oooooooo
oooooooo
oooooooo
oooooooo
oooooooo
oooooooo
oooooooo
oooooooo
oooooooo
PAR
oooooooo
oooooooo
00300000
00024290
00024290
00024290
00024290
00107754
00107754
00107754
00107754
00107754
00107754
00107754
00107754
oooooooo
oooooooo
oooooooo
oooooooo
oooooooo
oooooooo
oooooooo
oooooooo
oooooooo
CARS
oooooooo
oooooooo
oooooooo
00011335
00011335
00011335
00011335
oooooooo
oooooooo
oooooooo
oooooooo
00000030
oooooooo
oooooooo
oooocooo
oooooooo
oooccooo
oooooooo
oooooooo
ocooooco
oooooooo
00300000
oooooooo
oooooooo
ARO
oooooooo
oooooooo
oooooooo
00004359
00004359
00004359
00004359
oooooooo
oooooooo
oooooooo
ooocoooo
oocooooo
oooooooo
oooooooo
OOOGOOOO
oooooooo
oooooooo
oooooooo
oooooooo
oooooooo
oooooooo
oooooooo
oooooooo
oooooooo
ETH
oocooooo
oooooooo
oooooooo
00012145
00012145
00012145
00012145
oooooooo
oooooooo
oooooooo
oocooooo
oooooooo
oooooooo
oooooooo
00030000
oooooooo
oooooooo
oooooooo
00000030
oooooooo
oooooooo
oooooooo
oocooooo
oooooooo
-------
STATE COUNTY AQCR PLANT 10
37 3020 166 0003
PAGE
DATE
YEAR DAY
80 238
SEGMENT
ID
000
CONTROL
REGION
LOCAL
CONTROL
PLANT ID
CITY UTM ZONE OWNER CONTACT
3000 99 P PROC TEST RUN 0
TELEPHONE
F CMGROW
PRINCIPAL
PRODUCT
ESTABLISHMENT NAME AND ADDRESS
TEXACO REFINERY 902 H 25 TULSA
DATE SEGMENT POINT ID
YEAR DAY ID NEDS USER SIC
80 238 137 37 2911
NUMBER OF PROPERTY
ZIP EMPLOYEES AREA
MAILING ADDRESS
ZIP
UTM COORDINATES LATITUDE LONGITUDE
IPP HORIZONTAL VERTICAL DEC MIN SEC DEG MIN SEC
780.0 0311.2
ANNUAL THRUPUT
DEC MAR JUN SEP
26 37 17 20
NORMAL OPERATING
HR/D D/WK WK/YR
22 5 49
BOILER SPACE
CAPACITY HEAT
00.0
STACK DATA
HEIGHT DIAM TEMP FLOW RATE VELOCITY PLUME PNTS
0500 0000
COMP SCHED
COUP YEAR MONTH
1
COUP STATUS
YEAR MOUTH DAY
NUMBER OF POLLUTANT CONTROL CONTROL EQUIP ESTM CNTL
POLLUTANTS ID COST PR!
05 TSP 010
CO
S02
NOX
HC
DATE SEGMENT SCC BEC
YEAR DAY ID I II III IV NBR ID
80 238 2 37 05 3 06 002 01
EMISSIONS
: SEC EFFICIENCY ESTIMATE MEASURED ALLOWABLE UNITS METHOD
1
UNITS
99.6
00.0
00.0
00.0
00.0
FUEL - MAX
0000173
0063000
0002900
0000203
0000631
DESIGN SULFUR ASH HEAT
PROCESS RATE CONTENT CONTENT CONTENT CONF
0005741
2
2
2
Z
5
5
SOURCE
P
CONTROL REGULATION
ECAP REG 1 REG 2 REG 3
2
ESTIMATE TEST
METHOD
SOURCE DESCRIPTION
FCCU
E F
SOURCE
A
NUMBER OF
EMSN FCTR
01
POLLUTANT EMISSION
ID FACTOR
ASH / FACTOR
SULFUR UNITS
-------
STATE COUNTY AQCR PLANT ID
37 3020 186 OOOS
PAGE
15
SEGMENT ID
3
oo
en
1
HOUR
001
002
003
004
005
006
007
008
009
010
Oil
012
013
014
015
016
017
018
019
020
021
022
023
024
POINT
37
*********
AEROSOLS
00018653
00018658
00018658
00018658
00018658
00018658
00018658
00018658
00018658
00018658
00018658
00018658
00018658
00018658
00018658
00018658
00018658
00018658
00018658
00016653
00018658
00018658
OOOOOOOO
OOOOOOOO
ID
**********
S02
00004687
00004887
00004837
00004837
00004887
00004887
00004837
00004687
00004887
00004887
00004887
00004887
00004887
00004887
00004887
00004887
00004887
00004887
00004087
00004887
00004837
00004887
OOOOOOOO
OOOOOOOO
**********
CO
00242656
00242656
00242656
00242656
00242656
00242656
00242656
00242656
00242656
00242656
00242656
00242656
00242656
00242656
00242656
00242656
00242656
00242656
00242656
00242656
00242656
00242656
OOOOOOOO
OOOOOOOO
DAY
01
*********
NO
OOOOOOOO
OOOOOOOO
OOOOOOOO
OOOOOOOO
OOOOOOOO
OOOOOOOO
OOOOOOOO
OOOOOOOO
OOOOOOOO
OOOOOOOO
OOOOOOOO
OOOOOOOO
OOOOOOOO
OOOOOOOO
OOOOOOOO
OOOOOOOO
OOOOOOOO
OOOOOOOO
OOOOOOOO
OOOOOOOO
OOOOOOOO
OOOOOOOO
OOOOOOOO
OOOOOOOO
EMISSIONS,
N02
OOOOOOOO
OOOOOOOO
OOOOOOOO
OOOGOOOO
OOOOOOOO
OOOOOOOO
OOOOOOOO
OOOOOOOO
00030000
OOOOOOOO
OOOOOOOO
OOOOOOOO
OOOOOOOO
OOOOOOOO
OOOOOOOO
OOOOOOOO
OOOOOOOO
OOOOOOOO
OOOOOOOO
oocooooo
OOOOOOOO
OOOOOOOO
OOOOOOOO
OOOOOOOO
GM-MOLE/HR ****************************************
OLE
00000203
00000203
00000203
00000203
00000203
00000203
00000203
00000203
00000203
00000203
00000203
00000203
00000203
00000203
00000203
00000203
00000203
00000203
00000203
00000203
00000203
00000203
OOOOOOOO
00000000
PAR
00000628
00000623
00000628
00000628
00000628
00000628
00000623
00000628
00000628
00000623
00000623
00300628
00000623
00000628
00000628
00000628
00000628
00000628
00000628
00000628
00000628
00000628
OOOOOOOO
OOOOOOOO
CARB
00000308
00000308
00000308
00000308
00300308
00000303
00000308
00000308
00000308
00000308
00000303
00000308
00000303
00000308
00000308
00000303
00000303
0000030&
00000308
00000308
00000303
00000308
OOOOOOOO
OOOOOOOO
ARO
00000443
00000443
00000443
00000443
00000443
00000443
00000443
00000443
00000443
00000443
OOOC0443
00000443
C0300443
00000443
00000443
00000443
00000443
00000443
00300443
00000443
00000443
00000443
OOOOOOOO
OOOOOOOO
ETH
00000046
00300046
00000046
00000046
00000046
00000046
00000046
00000046
00000046
00000046
00000046
00000046
00000046
00000046
00000046
00000046
00000046
00000046
00000046
00900046
00000046
00000046
OOOOOOOO
OOOOOOOO
-------
DO
CO
STATE COUNTY AQCR PLANT ID
37 3030 186 0008
DATE SEGMENT CONTROL LOCAL
YEAR DAY ID REGION CONTROL PLANT ID
80 238 000
PAGE
16
CITY UTM ZONE
3000 99
OWNER
P
CONTACT
PROC TEST RUN 0
TELEPHONE
F CMGROW
PRINCIPAL
PRODUCT
ESTABLISHMENT NAME AND ADDRESS
TEXACO REFINERY 902 H 25 TULSA
NUMBER OF PROPERTY
ZIP EMPLOYEES AREA
MAILING ADDRESS
ZIP
DATE SEGMENT POINT ID UTM COORDINATES LATITUDE LONGITUDE ANNUAL THRUPUT NORMAL OPERATING
YEAR DAY ID HEDS USER SIC IPP HORIZONTAL VERTICAL DEC MIN SEC DEG MIN SEC DEC MAR JUN SEP HR/D D/WK WK/YR
80 238 143 43 2911 00 780.0 0311.2 25 25 25 25 24 7 49
BOILER SPACE
CAPACITY HEAT
STACK DATA
HEIGHT OIAM TEMP FLOW RATE VELOCITY PLUME PUTS
0025 01.2 0250 00005 0050
COMP SCHED
COMP YEAR MONTH
COMP STATUS
YEAR MONTH DAY
CONTROL REGULATION
ECAP REG 1 REG 2 REG 3
NUMBER OF
POLLUTANTS
01
POLLUTANT CONTROL
ID COST
HC
CONTROL EQUIP ESTM CNTL EMISSIONS
PRI SEC EFFICIENCY ESTIMATE MEASURED ALLOWABLE UNITS
000 000 00.0 0002573 0002573
ESTIMATE TESV
METHOD METHOD
1
DATE SEGMENT SCC EEC FUEL - MAX DESIGN
YEAR DAY ID I II III IV NBR ID UNITS PROCESS RATE
80 238 2 43 05 3 06 004 02 0017150
SULFUR ASH HEAT
CONTENT CONTENT CONTENT CONF SOURCE
1
SOURCE DESCRIPTION
REFINERY BLOWDOWN
E F NUMBER OF POLLUTANT EMISSION ASH / FACTOR
SOURCE EMSN FCTR ID FACTOR SULFUR UNITS
01 HC 000300.000
-------
STATE COUNTY AQCR PLANT ID
37 3020 186 0003
PAGE
17
SEGMENT ID
3
00
oo
-vl
1
POINT
43
ID
DAY
01
****K******X***X***X****** ************
HOUR
001
002
003
004
005
006
007
008
009
010
Oil
012
013
014
015
016
017
018
019
020
021
022
023
024
AEROSOLS
00000000
00000000
00000000
00000000
00000000
00000000
00000000
00000000
00000000
00000000
00000000
00000000
00000000
00000000
00000000
00000000
00000000
00000000
00000000
00000000
00000000
00000000
00000000
00000000
S02
00000000
00000000
00000000
00000000
00000000
00000000
00000000
00000000
00000000
00000000
00000000
00000000
00000000
00000000
00000000
00000000
00000000
00000000
00000000
00000000
00000000
00000000
00000000
00000000
CO
00000000
00000000
00000000
00000000
00000000
00000000
00000000
00000000
00000000
00000000
00000000
00000000
00000000
00000000
00000000
00000000
00000000
00000000
00000000
00000000
00000000
00000000
00000000
00000000
NO
00000000
00000000
00000000
00000000
00000000
00000000
00000000
00000000
00000000
00000000
00000000
00000000
00000000
00000000
00000000
00000000
00000000
00000000
00000000
00000000
00000000
00000000
00000000
00000000
EMISSIONS,
N02
00000000
00000000
00000000
00000000
00000000
00000000
00000000
00000000
00000000
00000000
oooooooo
00000000
oooooooo
oooooooo
oooooooo
oooooooo
oooooooo
oooooooo
oooooooo
oooooooo
oooooooo
oooooooo
oooooooo
oooooooo
GM-MOLE/HR ********** *****M************-X **********
OLE
oooooooo
oooooooo
oooooooo
00006284
00006284
00006284
00006284
oooooooo
oooooooo
oooooooo
oooooooo
oooooooo
oooooooo
oooooooo
oooooooo
oooooooo
oooooooo
oooooooo
cooooooo
oooooooo
oooooooo
oooooooo
oooooooo
oooooooo
PAR
ocoooooo
oooooooo
00000000
00011669
00011669
00011669
00011669
oooooooo
oooooooo
oooooooo
oooooooo
oooooooo
cooooooo
oooooooo
oooooooo
oooooooo
oooooooo
oooooooo
oooooooo
oooooooo
oooooooo
oooooooo
oooooooo
oooooooo
CARB
oocooooo
oooooooo
oooooooo
00005445
00005445
00005445
00005445
OOOOOGOO
oooooooo
oooooooo
00000030
oooooooo
oooooooo
oooooooo
oooooooo
oooooooo
oooooooo
oooooooo
oooooooo
oooooooo
oooooooo
oooooooo
oooooooo
oooooooo
ARO
oooooooo
oooooooo
oooooooo
00002096
00002096
00002096
00002096
OOGOOOOO
oooooooo
oooooooo
oooooooo
oooooooo
oooooooo
oooooooo
oooooooo
oooooooo
oooooooo
ooooooco
oooooooo
OODOOOOO
oooooooo
oooooooo
oooooooo
oooooooo
ETH
oooocooo
00000000
oooooooo
00005336
OOOC5836
00005336
00005336
oooooooo
oooooooo
oooooooo
oooooooo
oooooooo
oooooooo
oooooooo
oooooooo
oooooooo
ocoooooo
oooooooo
oooooooo
00009000
oooooooo
oooooooo
oooooooo
oooooooo
-------
00
OO
STATE COUNTY AQCR PLANT ID
37 3020 186 9999
PAGE
18
DATE SEGMENT CONTROL LOCAL
YEAR DAY ID REGION CONTROL
60 233 000
ESTABLISHMENT NAME AND ADDRESS
000000000
PLANT ID CITY UTM ZONE OWNI
AREA SOURCE 0
NUMBER OF PROPERTY
ZIP EMPLOYEES AREA
0429 00000.0
CONTACT
PROC TEST RUN 0
MAILING ADDRESS
TELEPHONE
F CMGRCW
PRINCIPAL
PRODUCT
ZIP
DATE SEGMENT POINT ID UTM COORDINATES LATITUDE LONGITUDE ANNUAL THRUPUT NORMAL OPERATING
YEAR DAY 10 NEDS USER SIC IPP HORIZONTAL VERTICAL DEC MIN SEC DEG MIN SEC DEC MAR JUH SEP HR/D D/WK WK/YR
80 238 105 99 901 9999 99 000.0 0000.0 50 20 10 20 12 7 41
CONTROL REGULATION
REG 1 REG 2 REG 3
METHOD
BOILER
CAPACITY
SPACE
HEAT
S
T A C
HEIGHT DIAM TEMP
NUMBER OF POLLUTANT CONTROL
POLLUTANTS
05
DATE
YEAR DAY
80 238
ID
TSP
CO
S02
NOX
HC
SEGMENT
ID
2 05
I
01 9
SOURCE DESCRIPTION
DATE
YEAR DAY
80 238
SEGMENT
ID
2 05
I
02 9
SOURCE DESCRIPTION
COST
K
FLOW RATE
D
A
T A COMP SCHED COUP
VELOCITY PLUME PNTS COMP YEAR
CONTROL EQUIP ESTM CNTL E M I S
PRI SEC
SCC BEC
II III IV NBR
01 005 00
E F
SOURCE
A
ID
UNITS
NUMBER OF
EUSN FCTR
05
SCC BEC
II III IV NBR
02 005 00
E F
SOURCE
A
ID
UNITS
NUMBER OF
EMSN FCTR
05
STATUS
MONTH YEAR MONTH DAY ECi
S I 0 N S
EFFICIENCY ESTIMATE MEASURED ALLOWABLE
FUEL -
PROCESS
0001553
00
00
00
00
00
.0 0000126
.0 0000251
.0 0000008
.0 0001195
.0 0000100
MAX DESIGN SULFUR
ASH HEAT
RATE CONTENT CONTENT CONTENT
POLLUTANT
ID
HOX
HC
TSP
CO
S02
FUEL -
PROCESS
0000956
2.40
EMISSION ASH /
FACTOR SULFUR
000800.000
000080.000
000100.000
000200.000
000006.000
MAX DESIGN SULFUR
05.9 00000
FACTOR
UNITS
ASH HEAT
RATE CONTENT CONTENT CONTENT
POLLUTANT
ID
TSP
0.00
EMISSION ASH /
FACTOR SULFUR
000100.000
00000
FACTOR
UNITS
ESTII
UNITS METHI
3
3
3
3
3
CONF SOURCE
CONF SOURCE
CO 000200.000
SOI 003006.000
NOX ooiaoo.coo
HC OOUOCC.OOO
-------
STATE COUNTY AQCR PLANT ID
37 3020 186 9999
PAGE
19
SEGMENT ID
3
03
I
00
ID
1
POINT
05
ID
DAY
01
**x***x**»* ***************************
HOUR
001
002
003
004
005
006
007
008
009
010
Oil
012
013
014
015
016
017
018
019
020
021
022
023
024
AEROSOLS
00000000
00000000
00000000
00000000
00000000
00000000
00000000
00010422
00010422
00010422
00010422
00010422
00010422
00010422
00010422
00010422
00010422
00010422
00010422
00000000
00000000
00000000
00000000
00000000
S02
00000000
00000000
00000000
00000000
00000000
00000000
00000000
00000010
00000010
00000010
00000010
00000010
00000010
00000010
00000010
00000010
00000010
00000010
00000010
00000000
00000000
00000000
00000000
00000000
CO
00000000
00000000
00000000
00000000
00000000
00000000
00000000
00000745
00000745
00000745
00000745
00000745
00000745
00000745
00000745
00000745
00000745
00000745
00000745
00000000
00000000
OOOOOOQO
00000000
00000000
NO
00000000
00000000
00000000
00000000
00000000
00000000
00000000
00001960
00001960
00001960
00001960
00001960
00001960
00001960
00001960
00001960
00001960
00001960
00001960
00000000
00000000
00000000
00000000
00000000
EMISSIONS,
N02
00000000
00000000
00000000
00000000
ooooopoo
00000000
00000000
00000197
00000197
00000197
00000197
00000197
00000197
00000197
00000197
00000197
00000197
00000197
00000197
00000000
00000000
00000000
00000000
00000000
GM-MOLE/HR ***********x******x *********** *********
OLE
00000000
00000000
00000000
00000000
00000000
00000000
00000000
00000000
00000000
00000000
ocoocooo
00300000
oooooooo
00000000
oooooooo
oooooooo
oooooooo
oooooooo
oooooooo
oooooooo
oooooooo
00000000
oooooooo
oooooooo
PAR
oooooooo
oooooooo
oooooooo
ocoooooo
oooooooo
oooooooo
oooooooo
00000309
OOC00309
OOOC0309
00000309
00000309
00000309
00000309
00000309
00000309
00000309
00000309
00000309
oooocooo
oooooooo
oooooooo
oooooooo
oooooooo
CAKB
oooooooo
oooooooo
oooooooo
OOOOOGOO
oooooooo
oooooooo
oooooooo
00000011
00000011
00000011
00000011
00000011
00000011
00000011
00000011
00000011
00000011
00000011
00000011
oooooooo
oooooooo
oooooooo
oooooooo
oooooooo
ARO
oooooooo
oooooooo
oooooooo
00003000
oooooooo
oooooaoo
oooooooo
oooooooo
oooooooo
ooooocoo
coocoooo
oooooooo
oooooooo
oooooooo
oooooooo
oooooooo
ooooocoo
ooocoooo
oooooooo
oooooooo
oooooooo
oocooooo
oooooaoo
oooooooo
ETH
oooooooo
oooooooo
oooooooo
oooooooo
oooooooo
oooooooo
oooooooo
oooooooo
oooooooo
oooooooo
oooooooo
oooocooo
oooooooo
oooooooo
oooooooo
oooooooo
oooooooo
cooooooo
ooooocoo
oooooooo
oooooooo
oooooooo
oooocooo
oooooooo
-------
DO
o
STATE COUNTY AQCR PLANT 10
37 3020 186 9999
PAGE
20
DATE SEGMENT CONTROL LOCAL
YEAR DAY ID REGION CONTROL
80 233 000
ESTABLISHMENT NAME AND ADDRESS
000000000
PLANT ID CITY UTM ZONE OWNI
AREA SOURCE 0
NUMBER OF PROPERTY
ZIP EMPLOYEES AREA
0429 00000.0
CONTACT
PROC TEST RUN 0
MAILING ADDRESS
TELEPHONE
F CMGROW
PRINCIPAL
PRODUCT
ZIP
DATE SEGMENT POINT ID UTM COORDINATES LATITUDE LONGITUDE ANNUAL THRUPUT NORMAL OPERATING
YEAR DAY ID NEDS USER SIC IPP HORIZONTAL VERTICAL DEG MIN SEC DEG MIN SEC DEC MAR JUN SEP HR/D D/WK WK/YR
80 238 122 99 906 9999 99 000.0 0000.0
CONTROL REGULATION
REG 1 REG 2 REG 3
METHOD
BOILER
CAPACITY
NUMBER OF
SPACE S T
HEAT HEIGHT
POLLUTANT
POLLUTANTS ID
05
DATE
YEAR DAY
80 238
TSP
CO
S02
NOX
HC
A C
DIAM TEMP
CONTROL
COST
K DATA COMP SCHED COUP STATUS
FLOW RATE VELOCITY PLUME PNTS COMP YEAR MONTH YEAR MONTH DAY EC-
0200
CONTROL EQUIP ESTM CNTL EMISSIONS
PRI SEC EFFICIENCY ESTIMATE MEASURED ALLOWABLE UNITS
00.0 0000113
00.0 0001154
00.0 0000008
42.0 0000067
65.0 0000244
ESTII
METHI
1
1
1
1
1
SEGMENT SCC BEC FUEL - MAX DESIGN SULFUR ASH HEAT
ID I II
2 22 01 9 06
SOURCE DESCRIPTION
DATE
YEAR DAY
80 238
III IV NBR
007 00
E F
SOURCE
A
ID UNITS PROCESS RATE CONTENT CONTENT CONTENT CONF
0000333 1.25 00000
NUMBER OF POLLUTANT EMISSION ASH / FACTOR
EHSN FCTR ID FACTOR SULFUR UNITS
05 NOX 000147.300
HC 000206.500
TSP 000007.920
CO 003320.000
S02 000005.310
SOURCE
SEGMENT SCC BEC FUEL - MAX DESIGN SULFUR ASH HEAT
ID I II
2 22 02 9 05
SOURCE DESCRIPTION
III IV NBR
Oil 00
E F
SOURCE
A
ID UNITS PROCESS RATE CONTENT CONTENT CONTENT CONF
0013956 0.00 00000
NUMBER OF POLLUTANT EMISSION ASH / FACTOR
EMSN FCTR ID FACTOR SULFUR UNITS
05 TSP 000016.000
CO 000035.000
S02 000001.000
NOX 000006.000
HC 000030.000
SOURCE
-------
STATE COUNTY AQCR PUNT ID
37 3020 186 9999
PAGE
21
SEGMENT ID
3
DO
I
1
POINT
22
ID
DAY
01
**************************************
HOUR
001
002
003
004
005
006
007
008
009
010
Oil
012
013
014
015
016
017
018
019
020
021
022
023
024
AEROSOLS
00000467
00000467
00000467
00000467
00000467
00000467
00556989
00001024
00000467
00000538
00000000
00000000
00000000
00000000
00000000
00000000
00000000
00000000
00000000
00000000
00000000
00000000
00000000
00000000
S02
00000005
00000005
00000005
00000005
00000005
00000005
00000549
00000006
00000005
00000006
00000000
00000000
00000000
00000000
00000000
00000000
00000000
00000000
00000000
00000000
00000000
00000000
00000000
00000000
CO
00006990
00006990
00006990
00006990
00006990
00006990
00112578
00007096
00006990
00003033
00000000
00000000
00000000
00000000
00000000
00000000
00000000
00000000
00000000
00000000
00000000
00000000
00000000
00000000
NO
00000094
00000094
00000094
00000094
00000094
00000094
00004131
00000093
00000094
00000108
00000000
00000000
00000000
00000000
00000000
00000000
00000000
00000000
00000000
00000000
00000000
00000000
00000000
00000000
EMISSIONS,
N02
00000094
C0000094
00000094
00000094
00000094
00000094
00000343
00000094
00000094
00000108
00000000
00000000
00000000
00000000
00000000
00000000
00000000
00000000
00000000
00000000
00000000
00000000
00000000
00000000
GM-MOLE/HR ************* *<********* ***************
OLE
00000000
00000000
00000000
00000000
00000000
00000000
00000000
00000000
00000000
OOOOOOGO
00000000
00000000
00000000
00000000
00000000
00000000
00000000
00000000
00000000
00000000
00000000
00000000
00000000
00000000
PAR
00000000
00000000
00000000
oooocooo
00000000
00000000
00021982
00000022
00000000
00000000
00000000
00000000
00000000
00000000
ooocoooo
00000000
00000000
00000000
00000000
00000000
00000000
00000000
00000000
00000000
CARS
00000000
00000000
00000000
00000000
00000000
00000000
00004935
00000005
00000000
00000000
00000000
00000000
00000000
00000000
00000000
00000000
00300000
00000000
ocoooooo
00000000
00000000
00000000
00000000
00000000
ARO
00000000
00000000
00000000
00000000
00000000
00000000
00000000
00000000
ooooocoo
00000000
00000000
00000000
cocooooo
00000000
00000000
00000000
ooooocoo
00000000
00000000
00000000
ocoooooo
00000000
00000000
00000000
ETH
00000000
00000000
00000000
00000000
00000000
00000000
00000000
00000000
00000000
00000000
00000000
ooocoooo
00000000
00000000
OOOOOGOO
00000000
03000000
00000000
ooooocoo
00000000
00000000
00000000
00000000
00000000
-------
STATE COUNTY AQCR PLANT ID
37 3020 186 9999
PAGE
DATE SEGMENT CONTROL LOCAL
YEAR DAY 10 REGION CONTROL PLANT ID
80 238 000 AREA SOURCE
CITY UTM ZONE OWNER CONTACT
0 PROC TEST RUN 0
TELEPHONE
F CMGROU
PRINCIPAL
PRODUCT
ESTABLISHMENT NAME AND ADDRESS
000000000
ZIP
NUMBER OF
EMPLOYEES
0429
PROPERTY
AREA
00000.0
MAILING ADDRESS
ZIP
DATE SEGMENT POINT ID UTM COORDINATES LATITUDE LONGITUDE
YEAR DAY ID NEDS USER SIC IPP HORIZONTAL VERTICAL DEG MIN SEC DEC MIN SEC
80 238 129 99 907 9999 99 000.0 0000.0
ANNUAL THRUPUT
DEC MAR JUN SEP
NORMAL OPERATING
HR/D D/WK WK/YR
BOILER SPACE
CAPACITY HEAT
STACK DAT
HEIGHT DIAM TEMP FLOW RATE VELOCITY PLUME
A
PNTS
COMP SCHED
COMP YEAR MONTH
COMP STATUS
YEAR MONTH DAY
CONTROL REGULATION
ECAP REG 1 REG Z REG 3
NUMBER OF
POLLUTANTS
05
POLLUTANT CONTROL CONTROL EQUIP ESTM CHTL
ID COST PRI SEC
TSP
CO
S02
NOX
HC
EFFICIENCY
00.0
00.0
00.0
00.0
95.0
EMISSIONS
ESTIMATE MEASURED ALLOWABLE UNITS
0000197
0000737
0000257
0003473
0000301
ESTIMATE TEST
METHOD
5
5
5
5
5
METHOD
DATE SEGMENT SCC BEC FUEL - MAX DESIGN
YEAR DAY ID I II III IV NBR ID UNITS PROCESS RATE
80 238 2 29 01 9 07 008 00 0001645
SOURCE DESCRIPTION
E F
SOURCE
A
NUMBER OF POLLUTANT EMISSION
SULFUR ASH HEAT
CONTENT CONTENT CONTENT CONF SOURCE
0.00 05.4 00000
ASH / FACTOR
EMSN FCTR ID FACTOR SULFUR UNITS
05 TSP 000239.000
CO 000895.800
S02 000312.000
NOX 004222.000
HC 000366.200
-------
STATE COUNTY AQCR PLANT ID
37 3020 166 9999
PAGE
SEGMENT ID
3
DO
I
CO
1
POINT
29
ID
DAY
01
*ttX*K**KM**tt*Ktt**KK***M******tt*K***Ktt*
HOUR
001
002
003
004
005
006
007
008
009
010
Oil
012
013
014
015
016
017
018
019
020
021
022
023
024
AEROSOLS
00000000
00000000
00000000
00000000
00000000
00000000
00000000
00034329
00034329
00034329
00034329
00068659
00068659
00068659
00066659
00068659
00068659
00034329
00034329
00034329
00034329
00000000
00000000
00000000
S02
00000000
00000000
00000000
00000000
00000000
00000000
00000000
00000700
00000700
00000700
00000700
00001400
00001400
00001400
00001400
00001400
00001400
00000700
00000700
00000700
00000700
00000000
00000000
00000000
CO
00000000
00000000
00000000
00000000
00000000
00000000
00000000
00004595
OOOC4595
00004595
00004595
00009191
00009191
00009191
00009191
00009191
00009191
00004595
00004595
00004595
00004595
00000000
00000000
00000000
NO
00000000
00000000
00000000
00000000
00000000
00000000
00000000
00011865
00011865
00011865
00011665
00023729
00023729
00023729
00023729
00023729
00023729
00011865
00011865
00011865
00011865
00000000
00000000
00000000
EMISSIONS,
N02
00000000
00000000
00000000
00000000
00000000
00000000
00000000
00001318
00301318
00001318
00001313
00002637
OOC02637
00002637
00002637
00002637
00002637
00001318
00001318
00001318
00001318
00000000
00000000
00000000
GM-MOLE/HR ***************************************
OLE
00000000
00000000
00000000
00000000
00000000
00000000
00000000
00000040
00000040
00000040
00000040
00000080
00000080
00000030
00000030
00000080
00000080
00000040
00000040
00000040
00000040
00000000
00000000
00000000
PAR
00000000
00000000
00000000
00000000
00000000
00000000
00000000
00002253
00002253
00002253
00002253
00004506
00004506
00004506
00004506
00004506
00004536
00002253
00002253
00002253
00002253
00000000
00000000
00000000
CARB
00000000
00000000
00000000
00000000
00000000
00003000
00000000
00000035
00000035
00000035
00000035
00000070
00000070
00000070
00000070
00000070
00000070
00000035
00000035.
03000035
OOOC0035
00000000
00000000
00000000
ARO
00000000
00000000
00000000
00000000
00000000
00000000
00000000
00000080
00000080
00000080
OOOC0080
00000161
00000161
00000161
00000161
00000161
OOOD0161
OOOOC060
00000030
00030080
OOOC0060
00300003
00000003
00000000
ETH
00000000
00000000
00000000
00000000
oooocooo
oooocooo
00000000
00000038
00000036
00000036
00000038
00000077
00000077
00000077
00000077
00000077
00000077
00000038
00000038
00000038
OOC00038
00000000
00000000
00000000
-------
DETAIL LIST STATISTICS:
000005 SEGMENT 0 RECORDS PROCESSED.
000011 SEGMENT 1 RECORDS PROCESSED.
000018 SEGMENT Z RECORDS PROCESSED.
000364 SEGMENT 3 RECORDS PROCESSED.
CO
i
-------
CONTROL AHD SELECTION FILE
AIRSHED MODEL DATA HANDLING SYSTEM
MAJOR/MINOR POINT SOURCE DIVISION/MODEL CONVERSION PROGRAM
DIAGNOSTIC AND INPUT REPORT
THIS IS A SAMPLE TEST RUN OF PROGSAI1 PSCONV
PAGE 1
01/07/81
PROGRAM NAME:
REVISION LEVEL:
LAST UPDATE »:
DATE INCORPORATED:
PSCONV
1-00
26
JANUARY 05, 1980
OPTIONS SELECTED BY USER:
OPTIONS IN EFFECT:
SCALING FACTORS
NO HC
0.500 0.000
0.500 1.000
* DAYS
SELECTED
02
02
DAY1 DAY2
01 23 24 01 01 12
01 23 24 01 01 12
PLUME HGT
50
NOX RATE
100
HC RATE
100
LLH EAST
776000.0
LLH NORTH
310000.0
URH EAST
782000.0
URH NORTH
317000.0
GRID SIDE
2000
cn
-------
AIRSHED MODEL DATA HANDLING SYSTEM
MAJOR/MINOR POINT SOURCE DIVISION/MODEL CONVERSION PROGRAM
EIS HOURLY SOURCE/EMISSION FILE DIAGNOSTIC AND INPUT REPORT PAGE 2
THIS IS A SAMPLE TEST RUN OF PROGRAM PSCONV 01/07/81
372620186000101 ***MAJOR SOURCE***
373020186000507 ***MIHOR SOURCE***
***PSCONV 00* CONDITIONAL - STACK HEIGHT USED FOR PLUMERISE
373020186000552 ***MAJOR SOURCE***
373020186000582 ***MINOR SOURCE***
***PSCONV 006 CONDITIONAL - PLUME HEIGHT USED FOR PLUME RISE
373020186000837 ***MAJOR SOURCE***
03 ***PSCONV 006 CONDITIONAL - PLUME HEIGHT USED FOR PLUME RISE
I
U3
-------
AIRSHED MODEL DATA HANDLING SYSTEM
MAJOR/MINOR POINT SOURCE DIVISION/MODEL CONVERSION PROGRAM
EMISSIONS SUMMARY REPORT PAGE 1
THIS IS A SAMPLE TEST RUN OF PROGRAM PSCONV 01/07/81
STUDY SUMMARY
DAY 1, HOUR 23-HOUR 24
XXXXXXKXXXKXXXXXXXKXXXXXXX*XXXXXXXXXXXX*XXX*K» EMISSIONSi KG-MOLE/DAY *XX*tt*KX*XXXX**ttXXXK*XX**XKX;*ttXX*MX*X%*XXXXX*X
AEROSOLS SOX CO NO M02 OLE PAR CARB ARO ETH
MAJOR SOURCES 6.1 0.6 0.4 5.0 0.2 0.0 0.1 0.0 0.2 0.0
MINOR SOURCES 8.8 0.1 0.3 3.8 0.2 0.0 73.4 2.7 0.0 1.1
SUMMARY TOTAL 14.9 0.7 0.7 8.8 0.4 0.0 73.5 2.7 0.2 1.1
DAY 2, HOUR 1-HOUR 12
«ttttX*xx«xxxttXXX*ttXM*xxx*xxxx**xx«*x*xxxKXK**xx EMISSIONS, KG-MOLE/DAY »xx*x*xx*»*xx****xxx***x**»x**x*x**xx*x*xx*xx*
AEROSOLS SOX CO NO N02 OLE PAR CARB ARO ETH
MAJOR SOURCES 277.9 62.7 2916.4 55.1 3.1 2.8 8.8 3.6 6.9 0.5
MINOR SOURCES 76.9 1.1 2.7 31.5 1.6 87.2 1322.3 90.7 £5.8 81.7
SUMMARY TOTAL 354.8 63.6 2919.1 86.6 4.7 90.0 1331.1 94.3 32.7 82.2
-------
IO
oo
POINT SOU3CE
aeaOOOOlOlPLUNERISE 000a0630000003465000
OOOOOOC05500000000050CG00003940COOOOOOOO
3020000552PLUMERISE 00077310000003169000
OOOCOCC03000000000010000000591C000000206
3030000S37STACKHGT 0007S000000003112000
00000037e50000C001£700000003000000000£06
END
(PSCONV PROGRAM OUTPUT OF URBAN AIRSHED
MODEL INPUT PACKET - POINT SOURCE IDENTIFICATION)
-------
IO
TIME INTERVAL
80001 2200 80001
EMISSIONS VALUES
3020000637AEROSOLS 0000000000
3020000837302 0000000000
3020000837CO 0000000000
302C000637HO 0000030000
3020000837N02 0000000000
30200008370LE 0000000000
3020000837PAR 0000000000
3020000837CARB 0000000000
3020000837ARO 0000000000
3020000837ETH 0000030000
3020000552AEROSOLS OOC0001352
3020000552S02 0000000339
3020000552CO OOOCOOOOOO
2020000552NO 0000000033
30200005S2NC2 0000000018
30200005520LE 0000000038
3020000552PAR 0000000033
3020000552CARB 0000000000
3020000552ARO 0000000137
3020000552ETH OCOOOOOOOO
2620000101AEEOSOLS OOC0001778
2620000101S02 0000000003
262C000101CO 0000000215
2620000101MO 0000002574
2620000101H02 OOOOC00135
26200001010LE 0000000000
2620000101PAR 0300000017
2620000101CARB OOOOOCOOOO
262C000101ARO 0000000001
2620000101ETH 0000000000
END
EMDTIHE
TIME INTERVAL
80001 2300 80001
EMISSIONS VALUES
2620000101AEROSOLS OC00001679
2620000101S02 0000000003
2620000101CO 0000000203
23CO
PRGC TEST RUN OF CMGROW
(PSCONV PROGRAM OUTPUT OF URBAN
AIRSHED MODEL INPUT PACKETS - POINT
SOURCE EMISSIONS)
2400
PROC TEST RUN OF CMGROW
-------
O
O
2620000101NO
2620000101N02
26200001010LE
2620000101PAR
2620000101CAR8
2620000101ARO
2620000101ETH
3020000552AEROSOLS
3020000552S02
3020000S52CO
3020000552NO
3020000552N02
30200005520LE
3020000552PAR
3020000552CARB
3020000552ARO
3020000552ETH
3020000837AEROSOLS
3020000S37S02
3020000837CO
3020000337NO
3020000837N02
30200008370LE
302COCC337PAR
3020000837CARB
3020000837ARO
3C20000S37ETH
END
ENDTIME
TIME INTERVAL
80002 0000
EMISSIONS VALUES
3020000837AEROSOLS
3020000337S02
3020000837CO
3020000837HO
3020000837N02
30200006370LE
302COC0837PAR
3020000837CARB
3020000837ARO
3020000337ETH
COC0002431
0000000128
0000000000
OOOOOG0016
0000000000
0000000001
0000000000
OOCOC01352
0000000339
0000000000
0000000033
0000000013
0000000033
0000000033
0000000000
0000030137
0000000000
0000000000
0000000000
0000000000
0000000000
0000000000
0000000000
0000000000
ooooocoooo
0000000000
ooooooooco
80002
0000013658
0000004387
0000242»56
occoooocco
ocoooooooo
0000000203
OOOOC00623
0000000306
0000000443
OOOCC00046
(PSCONV PROGRAM OUTPUT OF URBAN
AIRSHED MODEL INPUT PACKETS - POINT
SOURCE EMISSIONS - continued)
0100
PROC TEST RUN OF CMGROM
-------
CO
I
3020000552AEROSOLS
3020000552SC2
3020000552CO
30200C0552NO
3020000552N02
30200005S20LE
3020000552PAR
3020000552CARB
3020000552ARO
3020000552ETH
2620000101AEROSOLS
2620000101S02
2620000101CO
2620000101NO
2620000101N02
26200001010LE
2620000101PAR
2620000101CARB
2620000101ARO
2620000101ETH
END
EKOTIME
TIME INTERVAL
80002 0100
EMISSIONS VALUES
2620000101AEROSOLS
2620000101S02
2620000101CO
2620000101HO
2620000101N02
26200001010LE
2620000101PAR
2620000101CARB
2620000101ARO
2620000101ETH
3020000552AEROSOLS
3020000552S02
3020000532CO
3020000552NO
3020000552U02
30200005520LE
3020000552PAR
0000001352
0000000339
OOOCOOOOOO
C000000053
0000000018
OC00000038
0000000083
0000000000
0000000137
0000000000
0000001086
OOOOOOOG02
OOC0000131
0000001573
0000000083
0000000000
0000000010
ooooocoooo
oooooocooo
0000000000
80002
0000000839
0000000002
OOOC000108
0000001287
0000000068
0000000000
OOOOOOOC09
0000000000
ooooocooco
0000000000
0000001352
OOOOOC0339
0000000000
0000000033
OOOOOC0018
0000000036
0000000083
(PSCONV PROGRAM OUTPUT OF URBAN
AIRSHED MODEL INPUT PACKETS - POINT
SOURCE EMISSIONS - continued)
0200
PROC TEST RUN OF C11GROW
-------
o
ro
3020000552CARS
3020000552ARO
3020000552ETH
3020000837AEROSOLS
3020000837S02
3020000837CO
3020000837NO
3020000637N02
30200008370LE
3020000837PAR
3020000837CARB
3020000837ARO
3020000837ETH
END
ENDTIME
TIME INTERVAL
80002 0200
EMISSIONS VALUES
3020000552AEROSOLS
3020000552S02
3020000552CO
3020000552NO
3020000552N02
30200005520LE
3020000552PAR
302000C552CARB
3020000552ARO
3020000552ETH
2620000101AEROSOLS
262C000101S02
2620000101CO
2620000101NO
2620000101N02
262000010IOLE
2620000101PAR
2620000101CARB
2620000101ARO
2620000101ETH
3020000837AEROSOLS
3020000837S02
3020000837CO
3020000837NO
0000000000
0000000137
0000000000
0000018658
0000004837
0000242656
0000000000
0000000000
0000000203
0000000628
0000000308
0000000443
0000000046
80002
0000001352
0000000339
OOOOOOOOOC
OC00000033
OOOC000018
0000000038
0000000083
0000000000
OOOC000137
0000000000
0000000790
OOOOOOOC01
0000000096
0000001144
0000000060
0000000000
OOOOOOOOC8
0000000000
ooooocoooo
ooooooooco
0000013658
0000004c\87
0000242656
0000000000
(PSCONV PROGRAM OUTPUT OF URBAN
AIRSHED MODEL INPUT PACKETS - POINT
SOURCE EMISSIONS - continued)
0300
PROC TEST RUN OF CMGROW
-------
oa
i
o
00
3020000837N02
30200008370LE
3020000337PAR
3020000837CARB
302000C837ARO
3020000837ETH
END
ENDTIME
TIME INTERVAL
80002 0300
EMISSIONS VALUES
3020000837AEROSOLS
3020000837S02
3020000837CO
3020000837NO
3020000837N02
30200008370LE
3020000837FAR
3020000837CARB
3020000837ARO
3020000837ETH
262C000101AEROSOLS
2620000101S02
2620000101CO
2620000101NO
2620000101N02
26200001010LE
2620000101PAR
2620000101CARB
2620000101ARO
2620000101ETH
3020000552AEROSOLS
3020000552S02
3020000552CO
3020000552NO
3020000552N02
30200005S20LE
3020000552PAR
3020000S52CARB
3020000552ARO
3020000552ETH
END
0000000000
0000000203
GOOOOOOS2S
OOOOOC0308
0000000443
OOOOC00046
S0002
0000018658
0000004867
0000242655
0000000000
COOOOOOOOO
0000000203
0000000528
0000000308
0000000443
OOOOCOOG46
0000000790
0000300001
0000000096
0000001144
OOOC000060
0000000000
0000000003
0000000000
ooooocoooo
0000000000
0000001352
0000000339
0003000000
OOOOOC0033
0000000013
0000000038
0000000083
OOOOOCOCOO
OOOOOC0137
OOOOOGOOOO
(PSCONV PROGRAM OUTPUT OF URBAN
AIRSHED MODEL INPUT PACKETS - POINT
SOURCE EMISSIONS - continued)
0400
PROC TEST RUN OF CMSROW
-------
CO
I
ENDTIME
TIME INTERVAL
80002 04GO 60002
EMISSIONS VALUES
3020000552AEROSOLS 0000001352
3020000552S02 0000000339
3020000552CO 0000000000
3020000552NO 0000000033
3020000552N02 OC00000018
30200005520LE OOOOOC0038
3020000552PAR 0000030033
3020000552CARB OOCOOOCOOO
3020000552ARO 0000000137
3020000552ETH 0000000000
2620000101AEROSOLS 0000002563
2620000101S02 000000000*
2620000101CO OOOOOC0311
2620000101NO 0000003716
2620000101N02 . 0000000196
26200001010LE OOOOCOCOOO
2620000101PAR 0000000025
2620000101CAR8 0000000000
2620000101ARO OOOOOOC001
2620000101ETH 0000000000
3020000837AEROSOLS 0000013658
3020000837S02 0000004687
3020000337CO 0000242656
3020000837NO OOOOOOCOOO
3020000S37N02 0000000000
30200008370LE 00000002C3
3020000837PAR 0000000623
3020000837CARB 0000000308
3020000837ARO 0000000443
3020000337ETH 0000000046
END
ENDTIME
TIME INTERVAL
80002 0500 80002
EMISSIONS VALUES
3020000837AEROSOLS 0000013658
3020000837S02 0000004667
3020000837CO 0000242656
0500
P20C TEST RUN OF CHGROW
(PSCONV PROGRAM OUTPUT OF URBAN
AIRSHED MODEL INPUT PACKETS - POINT
SOURCE EMISSIONS - continued)
0600
PROC TEST RUN OF CI1GRCW
-------
CD
I
B
en
3020000837HO
3020000337N02
30200008370LE
3020000337PAR
3020000837CARB
3020000S37ARO
3020000837ETH
2620000101AEROSOLS
2620000101S02
2620000101CO
2620000101NO
2620000101N02
26200001010LE
2620000101PAR
2620000101CARB
2620000101ARO
2620000101ETH
3020000552AEROSOLS
3020000552S02
3020000552CO
3020000552NO
3020000552H02
3020000S520LE
3020000552PAR
3020000552CARB
3020000552ARO
3020000552ETH
END
EKDTIME
TIME INTERVAL
80002 0600
EMISSIONS VALUES
3020000552AER030LS
3020000552S02
3020000552CO
30200005E2NO
3020000552N02
30200005520LE
3020000552PAR
3020000552CARB
3020000552ARO
3020000552ETH
OOOOCOOOOO
0000000000
0000000203
0000000623
0000000308
0000000443
0000300046
0000002963
OC00000005
0000000359
0000004290
0000000226
OOOOCOOOOO
0000000029
0000000000
0000000001
0000000000
0000001352
0000000339
0000000000
0000000033
0000000018
0000000033
0000000083
OCOOOOOOOO
0000000137
occoooooac
80002
0000001352
0000000339
0000000000
OOCC000033
0000000018
0000000038
0000000083
0000000000
OOOOOC0137
0000000000
(PSCONV PROGRAM OUTPUT OF URBAN
AIRSHED MODEL INPUT PACKETS - POINT
SOURCE.EMISSIONS - continued)
0700
PSCC TEST RUM OH CMGPOW
-------
o
en
2620000101AEROSOLS
2620000101S02
2620000101CO
2620000101MO
2620000101N02
26200001010LE
2620000101PAR
2620000101CARB
2620000101ARO
2620000101ETH
3020000837AER050LS
3020000337S02
302C000837CO
3020000S37NO
3020000837N02
30200008370LE
3020000337PAR
3020000837CAR3
302C000337ARO
3020000637ETH
EHO
ENDTIME
TIME INTERVAL
80002 0700
EMISSIONS VALUES
3020000837AEROSOLS
3C20000837S02
3020000337CO
3020000637NO
3020000S37N02
30200008370LE
302000C837PAR
30200C0837CAR3
3020000S37ARO
3020000337ETH
2620000101AEROSOLS
2620C00101S02
2620000101CO
2620000101HO
2620000101N02
262CC001010LE
2620000101PAR
000000^642
0000000008
0000000562
000000672X
0000000354
0000000000
0000000045
oooocooooo
0000000002
oooooocooo
C00001G653
0000004687
0000242656
0000000000
ooocooooco
0000000203
0030030623
C000000308
0000000443
0000000046
30002
0000018658
0000004687
COC0242656
0000000000
0000000000
0000000203
0000000623
C000000308
0000000443
0000000046
0000005333
0000000009
0000000645
OOC0007722
0000000407
0000000000
0000000051
(PSCONV PROGRAM OUTPUT OF URBAN
AIRSHED MODEL INPUT PACKETS - POINT
SOURCE EMISSIONS - continued)
osoo
PROC TEST RUH OF CMGROW
-------
O
—I
2620000101CAR3
2620000101ARO
2620000101ETH
3020000552AEROSOLS
3020000552S02
3020000ES2CO
3020000552NO
3020000552H02
30200005520LE
3020000552PAR
3020000552CARB
3020000552ARO
3020000S52ETH
EUD
ENDTIME
TIME INTERVAL
80002 0800
EMISSIONS VALUES
3020000552AEROSCLS
3020000552302
302C000552CO
3020000552KO
3020000552N02
30200005520LE
3020000552PAR
3020000552CARB
3020000552ARO
3020000552ETH
2620000101AEROSOLS
2620000101S32
262000C101CO
2620000101K-0
2620000101M02
26200001010LE
2620000101PAR
262C000101CARB
2620000101ARO
2620000101ETH
3020000337AEROSOLS
3020000837S02
3C20000637CQ
3020000837NO
OOCOOOOOOO
OOOOOOOG02
0000000000
OOOOOC1352
0000000339
OOCOOOOOOO
0000000033
0000000018
OOOC00003&
0000000083
0000000000
0000000137
0000000000
80002
0000001352
0000000339
0000000000
0000000033
0000000018
0000000033
0000000083
ooooncoooo
C000000137
0000000000
0000004933
0000000009
0000000593
0000007150
0000000377
COOOCOOOOO
0003000043
OOOCOOOOOO
OOOOQ00002
OOOCOOOOOO
0000013658
0000004837
0000242656
0000000000
(PSCONV PROGRAM OUTPUT OF URBAN
AIRSHED MODEL INPUT PACKETS - POINT
SOURCE EMISSIONS - continued)
0900
PROC TEST RUN OF CI1GROW
-------
CO
I
3020000837N02
30200000370LE
302000C337PAR
3020000837CAEB
3020000837ARO
3020000837ETH
END
ENDTIHE
TIME INTERVAL
80002 0900
EMISSIONS VALUES
3020000337AEROSOLS
3020000837S02
3020000837CO
3020000037NO
3020000837N02
30200008370LE
3020000637PAR
3020000S37CARB
3020000837ARO
3020000837ETH
2620000101AEROSOLS
2620000101302
2620000101CO
2620000101NO
2620000101U02
26200001010LE
2620000101PA3
2620000101CARB
2620003101ARO
2620000101ETH
3020000552AEROSOLS
302000C552S02
3020000552CO
3020000552NO
3020000552X02
30200005520LE
3020000552PAR
3020000552CAR3
30200Q0552ARO
3020000552ETH
END
0000000000
OOOOOOC203
000000062S
0000000308
0000000443
0000000046
80002
0000018658
0000004837
0000242656
OOOOOOGOCO
OOCOOOOOOO
0000000203
0000000628
000000030S
0000000443
0000000046
0000005037
0000000009
0000000610
C000007293
0000000384
OOOOCOOOOO
0000000049
0000000000
0000000002
0000000000
0000001352
0000000339
0000000000
0000000033
0000000018
0000000038
0000000085
0000000000
OOC0000137
oooooocooo
(PSCONV PROGRAM OUTPUT OF URBAN
AIRSHED MODEL INPUT PACKETS - POINT
SOURCE EMISSIONS - continued)
1000
PROC TEST RUN OF CMGHOW
-------
o
10
ENDTINE
TIME INTERVAL
30002 1000 80002
EMISSIONS VALUES
3020000552AEROSOLS 0000001352
3020000552S02 0000000339
3020000552CO OOOCOOOOOO
3020000552NO 0000000033
302COOC552N02 0000000018
, 302000J5520LE 0000000033
3020000552PAR OOOC000033
3020000S52CARB OOOOOOOOCO
3020000552ARO OOOOOOQ137
3020000552ETH 0000000000
2620000101AEROSOLS 0000004543
26200C0101S02 0000000008
2620000101CO 0000000550
2620000101NO OOOOOC6578
2620000101K02 00000003^6
26200001010LE OOOOOOCCOO
26200C0101PAR 0000003044
262000C101CA!JB OOOOOCOOOO
2620000101ARO 0000000002
2620000101ET1I OOOOOOOOCO
3020000837AEROSOLS 0000018658
3020000837S02 000000-';387
3020000837CO 00002^2656
3020000337HO 0000000000
3020000837N02 0000000000
30200008370LE 0000000203
3020000837PAR 0000000628
302000C837CARB 0000000303
3020000837ARO OOOC000443
302000C337ETH OOOOOOOC46
END
ENDTIME
TIME INTERVAL
80002 1100 80002
EMISSIONS VALUES
3020000837AEROSOLS 0000018653
3020000837302 0000004387
3020000337CO 00002426E6
1100
PROC TEST RUN OF CI16ROM
(PSCONV PROGRAM OUTPUT OF URBAN
AIRHSED MODEL INPUT PACKETS - POINT
SOURCE EMISSIONS - continued)
1200
PRCC TEST RUM OF CfluSCW
-------
CO
3020000837NO
3020000837N02
30200008370LE
3020000337PAR
3020000837CARB
3020000337ARO
3020000837ETH
2620000101AEROSOLS
2620000101S02
2620000101CO
2620000101HO
2620000101N02
26200001010LE
2620000101PAR
2620000101CARB
2620000101ARO
2620000101ETH
30200005S2AERCSOLS
3020000552S02
3020000552CO
3020C00552NO
3020000552N02
30200005520LE
3020000552PAR
3020000552CARB
3020000552ARO
3020000552ETH
END
ENDTIME
OCOOOOOCOO
0000000000
0000000203
0000000628
OC00000308
0000000443
0000000046
0000004247
0000000007
0000000514
0000006149
0000000324
OOOOOOOOCO
0000000041
oooocooooo
0000000002
0000000000
0000001352
0000000339
0000000000
0000000033
0000000018
0000000038
0000000083
0000000000
0000000137
ooooccoooo
(PSCONV PROGRAM OUTPUT OF URBAN
AIRSHED MODEL INPUT PACKETS - POINT
SOURCE EMISSIONS - continued)
-------
TIME INTERVAL
80001
GRID VALUES
CO
I
POINT AEROSOLS
POINT so2
POINT CO
POINT NO
POINT N02
POINT OLE
POINT PAR
'POINT CARB
POINT ARO
POINT ETH
POINT AEROSOLS
POINT S02
POINT CO
POINT NO
POINT N02
POINT OLE
POINT PAR
POINT CARB
POINT ARO
POINT ETH
POINT AEROSOLS
POINT S02
POINT CO
POINT NO
POINT N02
POINT OLE
POINT PAR
POINT CARB
POINT APO
POINT ETH
END
ENDTIME
TIME INTERVAL
80001 2300
GRID VALUES
POINT AEROSOLS
POINT S02
POINT CO
2200 80001 2300
FSOC TEST RU!I OF CMGROH
000000000100000000020000000642
000000000100000000020000003009
000000000100000000020000000022
000000000100000000020000000691
OOOCOG0001000COOOC02000QOC0037
000000000100000032020000000000
0000000001000000000200000053*3
0000000001000000000200000C0196
000000000100000000020000000000
00000000010000C000020000C0003'« .
0000000002000000C0020000000COO
000000000200000000020000000GCO
OOOOC00002000000COC20000000000
000000000200000000020COOCCCOOO
000000000200000000020000000000
000000000200000000020000COOOOO
OOOOOOC00200000000020000COOOGO
OOOOOOOCC20000000002COOOGGCOOO
000000000200000000020000000000
000000000200000000020000000000
0000000003000000C0010000000000
000000000300000000010000000000
000030000300000000010000000000
000300000300000000010000000000
000000000300000000010000000000
OOOCOOOOC300000C000100000COOOO
000000000300000000010000000000
000000000300000000010000000000
00000000030000000C01COOCOOOOOO
000000000300000000010000(100 COO
(PSCONV PROGRAM OUTPUT OF URBAN
AIRSHED MODEL INPUT PACKETS - GRIDDED
MINOR POINT SOURCE EMISSIONS)
80001 2400
PROC TEST RUN OF CKGROW
000000000100000000020000006136
00000000010COOOOC0020000000119
000000000100000000020000000269
-------
POINT NO
POINT N02
POINT OLE
POINT PAR
POINT CARB
POINT ARO
POINT ETH
POINT AEROSOLS
POINT S02
POINT CO
POINT NO
POINT HOZ
POINT OLE
POINT PAR
POINT CARB
POINT ARO
POINT ETH
POINT AEROSOLS
POINT S02
POINT CO
POINT NO
POINT N02
POINT OLE
POINT PAR
POINT CARB
POINT ARO
POINT ETH
END
ENDTIME
TIME INTERVAL
60002 0000
GRID VALUES
POINT AEROSOLS
POINT S02
POINT CO
POINT NO
POINT N02
POINT OLE
POINT PAR
POINT CARB
POINT ARO
POINT ETH
000000000100000000020000003113
000000000100000000020000000163
0000000001000000C0020COOOOOCOO
000000000100COCC00020000063111
0000000001000000C0020000CC2E18
0000000001000000C0020000000COO
000000000100000000020000001045
000000000200000000G20C00000930
0000000002000000000200COOOOCOO
000000000200000000020000000000
000000000200000000020000000000
OOC0000002000000000200GOOOOOOO
OOOOOC00020030C000020000000000
0300000002000000000200000000CO
000000000200000000020000000000
000000000200000000020000000000
000000000200C00000020000000CCO
000000000300000000010000000000
000000030300000000010000000000
OOOOOC000300000000010000000000
000000000300000000010000000000
000000000300000000010000000COO
000000000300000000010000000000
000000000300000000010000000000
000000000300000000010COOCCOOOO
OOOOOOC003000000C0010000000000
000000000300000000010000000000
80002 0100
PROC TEST RUN OF CMSTJOW
0000000001C000000002000C0122S2
00000000010000000002000CC00179
OOC00000010000000C02000COOO-';33
00000000010000000002000000^*678
0000000001000000000200000002^
000000000100000000020000000000
000000000100000000020000102167
000000000100000000020000003777
OOOC00000100000000020000300000
00000000010COOOOOOC20000001567
(PSCONV PROGRAM OUTPUT OF URBAN
AIRSHED MODEL INPUT PACKETS - GRIDDED
MINOR POINT SOURCE EMISSIONS - continued)
-------
oo
I
OJ
POINT
POINT
POINT
POINT
POINT
POINT
POINT
POINT
POINT
POINT
POINT
POINT
POINT
POINT
POINT
POINT
POINT
POINT
POINT
POINT
END
ENDTIME
TIME INTERVAL
80002
GRID VALUES
POINT
POINT
POINT
POINT
POINT
POINT
POINT
POINT
POINT
POINT
POINT
POINT
POINT
POINT
POINT
POINT
AEROSOLS 000000000200000000020000000COO
S02 000000000200000000C20000000000
CO OOOC00000200000000020000000000
NO 000000000200000000020000000000
N02 000000000200000000020000000000
OLE 000000000200000000020000000000
PAR 000000000200000C0002COOOOOOOOO
CARB 0000000002000G0000020COOOOOOOO
ARO 000000000200000000020000000300
ETH 000000000200000000020000000000
AEROSOLS 000000000300000003010000000000
S02 0000000003000000000100COOOOOOO
CO 000000000300000000010000000030
NO 00000000030000C000010000000COO
N02 00000000030000000001COOOOOOOOO
OLE OC000000030000000C010000000030
PAS 000000000300000300010000000000
CARB 0000000003000000000100COOOOCOO
ARO 000000000300000000010000000000
ETH 000000000300000000010000000000
(PSCONV PROGRAM OUTPUT OF URBAN
AIRSHED MODEL INPUT PACKETS - GRIDDED
MINOR POINT SOURCE EMISSIONS - continued)
POINT
0100 80002 0200
PROC TEST RUN OF CM3RGW
AEROSOLS OOOOC000010COOOC30020300000003
S02 00000000010000000302030000GOOO
CO 000000000100000000020000000000
NO 000000000100000000020000000000
N02 00000000010000000032C000000300
OLE 000000000100000000020000000000
PAR 000000000100000000020000000000
CARB OOOOOOOC0100000G000200COOOOOOO
ARO 0000000001CCOOC0000200COOOOOOO
ETH 000003C00100G00000020000000000
AEROSOLS 000030000200000000020000000000
S02 OOC0000002G0000000020000000000
CO 000000000200000000020000000000
NO OOCC00000200G0000002000GOOOOOO
N02 0000000002000000000200000003CO
OLE 000000000200000000020000000000
PAR 000000000203000000020000000000
-------
CARB 000000000200300000020000000000
ARO C000000002000000000200QOOOCCOO
ETH 000000000200000000020000000000
AEROSOLS 0000000003000000000100COOCCOOO
502 0000000003000C00000100000GOCOO
CO OOOG00000300003G00010000000GOO
NO 0000000003000000000100COOOOOOO
N02 0000000003000000000100000000CO
OLE 000000000300000000010COOOOOOOO
PAR 00000000030000000001000000COOO
CARB OOOOOOOC0300003000010000000000
ARO 00000000030000000C010COOOOOOOO
ETH OOOOOC00030000000C010000000000
POINT
POINT
POINT
POINT
POINT
POINT
POINT
POINT
POINT
POINT
POINT
POINT
POINT
END
ENDTIME
TIME INTERVAL
80002 0200 80002 0300
GRID VALUES PROC TEST RUN OF CHGROW
POINT AEROSOLS 000000000100000000020000012232
POINT S02 00000000010000000002000000C179
POINT CO 000000000100000C000200000C0433
POINT NO 000000000100000000020000004673 .
POINT ' N02 000000000100000000020000000244
POINT OLE 000000000100000000020000000000
POINT PAR 000000000100C0000002C0001G2167
POINT CARB 000000000100000000020000003777
POINT ARO 00000000010000G00002CCOOOOOOOO
POINT ETH 0000000001000000000E0000001567
POINT AEROSOLS OOOOOC000200000000C20000COOCOO
POINT S02 0000000002000000C002COOOOOCOOO
POINT CO 00000000020C000000020000000000
POINT NO 000000000200000000020000000000
POINT N02 000000000200000000020000000000
POINT OLE OOC000000200000000020000000000
POINT PAR 000000000200000000020000000000
POINT CARB 00000000020000003002COOC003000
POINT ARO 0000000002000030000200000COOOG
POINT ETH 0000000002000000000200COCOOOGO
POINT AEROSOLS 0000000003000000000100000000CO
POINT S02 OOC000000300000000C10000000000
POINT CO 000000000300000000010000000000
POINT NO 00000000033000300001COOOOOCOOO
(PSCONV PROGRAM OUTPUT OF URBAN
AIRSHED MODEL INPUT PACKETS - 6RIDDED
MINOR POINT SOURCE EMISSIONS - continued)
-------
POINT . N02
POINT OLE
POINT PAR
POINT CARS
POINT ARO
POINT ETH
END
ENDTIME
TIME INTERVAL
60002 0300
GRID VALUES
POINT AEROSOLS
POINT S02
POINT CO
POINT NO
POINT N02
POINT OLE
POINT PAR
POINT CARS
POINT ARO
POINT ETH
POINT AEROSOLS
POINT S02
POINT CO
POINT NO
POINT N02
POINT OLE
POINT PAR
POINT CARB
POINT ARO
POINT ETH
POINT AEROSOLS
POINT S02
POINT CO
POINT NO
POINT N02
POINT OLE
POINT PAR
POINT CARB
POINT ARO
POINT ETH
END
000000000300000000010300000000
000000000300000000010000000000
000000000300000000010000000000
0000000003000000000100000COOOO
00000000030000000C010000000000
0000000003000330000100000000CO
80002 0400
PROC TEST RUN OF CMGROW
000000000100000000020300000000
00000000010000000002000000COOO
000000000100000000020000000000
0030000G01000000000ZOOOOOGOOOO
0000000001000C0000020000000000
000000000100000000020000000000
00000000010000000002000000COOO
C00000000100000000020000000000
00000000010C000000020000000000
OOOOOOQ001000000000200COOGOOOO
OC000000020000G000020000000000
000000000200C0000002COOOOOOOOO
000000000200000000020000000000
000000000200000000020C3000CCCO
000000000200000000020COOOOOOOO
000000000200000000020000013073
000000000200Q000000200COC24290
0000000002000000000200000.11335
000000000200000000020CCOG04359
000000000200000000020000012145
000000000300000000010000000030
000000000300000000010000000000
000000000300000000010000033000
00000300030C000000010000000COO
00000000030000000001COOOOCOOOC
OOC0000003000000000100000062S4
000000000300000000010000011669
0000000003030003000100000C5445
030030000300000000010000002096
000000000300000000010000005836
(PSCONV PROGRAM OUTPUT OF URBAN
AIRSHED MODEL INPUT PACKETS - GRIDDED
MINOR POINT SOURCE EMISSIONS - continued)
-------
ENDTIME
TIME INTERVAL
80002
GRID VALUES
CO
i
POINT AEROSOLS
POINT S02
POINT CO
POINT NO
POINT N02
POINT OLE
POINT PAR
POINT CARB
POINT ARO
POINT ETH
POINT AEROSOLS
POINT S02
POINT CO
POINT NO
POINT K02
POINT OLE
POINT PAR
POINT CARB
POINT ARO
POINT ETH
POINT AEROSOLS
POINT S02
POINT CO
POINT NO
POINT N02
POINT OLE
POINT PAR
POINT CARB
POINT ARO
• POINT ETH
END
ENDTIME
TIME INTERVAL
80002 0500
GRID VALUES
POINT AEROSOLS
POINT S02
POINT CO
0400 80002 0500
P30C TEST RUN OF CNSROW
000000000100000000020000012282
000000000100000000020000000179
OOC0000001000000000200000C0433
000000000100000000020000304678
000000000100000000020000300244
000000000100000000020000003000
000000000100000000320000102167
000000000100000000020000003777
000000000100000000020000000000
OOC000000100000000020C00001567
0000000002000003000200COOOOOOO
000000000200000000020COOOOOOOO
000000000200030000020000000000
00000000020000C000020000000CCO
000000000200000000020000000000
000000000200000000020000013078
000000000200000000020000024290
000000000200000000020000011335
000000000200000000020000004359
000000000200000000020030012145
000000000300030000010000000000
00000000030000000001COOOOOCOOO
000003000300000000310000000000
OOOOOOOC0300000000010000000030
OOOOOC000300000000010000000CCO
000000000300000000010000006234
000000000300000303010000011669
000000000300000000010C00005445
OOOCOOC00300000000010C00002096
030000000300003000010000005836
(PSCONV PROGRAM OUTPUT OF URBAN
AIRSHED MODEL INPUT PACKETS - GRIDDED
MINOR POINT SOURCE EMISSIONS - continued)
80002 0600
PRCC TEST RUN OF CMGROH
000000000100C0000002GOOOOOC800
0000000001000000000200000000CO
000000000100000000320000000000
-------
CD
POINT NO
POINT NC2
POINT OLE
POINT PAR
POINT CARS
POINT ARO
POINT ETH
POINT AEROSOLS
POINT S02
POINT CO
POINT NO
POINT H02
POINT OLE
POINT PAR
POINT CARS
POINT ARO
POINT ETH
POINT AEROSOLS
POINT S02
POINT CO
POINT NO
POINT N02
POINT OLE
POINT PAR
POINT CARB
POINT ARO
POINT ETH
END
ENDTIME
TIME INTERVAL
80002 0600
GRID VALUES
POINT AEROSOLS
POINT S02
POINT CO
POINT KO
POINT N02
POINT OLE
POINT PAR
POINT CARB
POINT ARO
POINT ETH
00000000010000C0000200CGOOOOOO
•00000000310000C000020030000000
OOOC00000100000000020C00000300
000003000100000G00020COOOOOOOO
OOOOOOOG0100GOOOOOG2000COOOOOO
00000000010C000000020000000000
OC0000000100000000020000000000
OOOOOOOC02000000000200COOOOOOO
000000000200000000020000000300
000000000200C00000020000000000
00000003020C0000000200000000CO
000000000200000000020GOOCOOOOO
000000000200000000020000013078
000000000230000000020000024290
00000000020C000000020000011335
00000000020000000302000000*559
000000000200000000020000012145
000000000300000000010COOOCOOCO
OOOOG030030000000001300000COOO
000000000300000000010000000000
0000000003000000C0010C00000030
0000000033C0000000010300000000
OC0000000300GOOOOOC1COOOG06234
000000000300000000010000011669
000000000300000000010000005^5
000000000300000000010000002096
000000000300000000010003305326
80002 0700
PRCC TEST R'JN Or CMGRCW
00000000010000000002000001 2232
OOOOOOC001C00000000200000C0179
OOOOOC000100300000020GOOCOG433
00000000010000000002000030^673
OOOOOC00010000C00002000G000244
00030000010000000C02000000COOO
0000000001COOOOOOOC200001C2167
0000000001C0000300020003033777
0000000001C0000000020CCOOOOOOO
0000000001000C0000020000001E67
(PSCONV PROGRAM OUTPUT OF URBAN
AIRSHED MODEL INPUT PACKETS - GRIDDED
MINOR POINT SOURCE EMISSIONS - continued)
-------
00
POINT AEROSOLS
POINT soa
POINT CO
POINT NO
POINT N02
POINT OLE
POINT PAR
POINT CARB
POINT ARO
POINT ETH
POINT AEROSOLS
POINT S02
POINT CO
POINT NO
POINT N02
POINT OLE
POINT PAR
POINT CARB
POINT ARO
POINT ETH
END
ENDTIME
TIME INTERVAL
000000000200000000020000000000
000000000200000000020000000000
OG000000020000000002000000GOOO
OOOOOOOOC2000C0000020000000000
0000000002000000000200000000CO
000000000200000000020000013078
OOOOC00002000G00000200C0024290
000000000200000000020C00011335
000000000200000000020000004359
000000000200000G00020C00012145
000000000300000000010000000000
0000000003C000000001COOOOOOOCO
000000000300000000010000000000
000000000300000000010000000000
0000000003000000000100000COOOO
00000000030000000001000000628^
000000000300000000010000011669
0000000003C000000001G000005445
000000000300000000010000002096
000000000300C000000100000C5336
80002 0700 80002 0600
GRID VALUES
POINT AEROSOLS
POINT S02
POINT CO
POINT NO
POINT N02
POINT OLE
POINT PAR
POINT CARB
POINT ARO
POINT ETH
POINT AEROSOLS
POINT S02
POINT CO
POINT NO
POINT U02
POINT OLE
POINT PAR
FROC TEST RUN Or CIIGROW
000000000100000000020000000642
000000000100000000020000000009
000000000100000000020000000022
000000000100000000020000000691
OOOOOOC0010000000002C000000037
C0000000010C0000000200COOOOOGO
0000000001000C000002GOOQ0053<+3
000000000100000000020000000198
00000000010000000G02COOOOOCOOO
GGOOOOQ001000000C0020GOOCOC034
00000000020000000002000GOC0300
000000000200000000020000000000
OOOOOOOOC200000000020000000000
OC000000020000000002COOOOOOOOO
00000000020000000002000COOOOOO
00000000020000000002000000195^
000000000200000000020C00107754
(PSCONV PROGRAM OUTPUT OF URBAN
AIRSHED MODEL INPUT PACKETS - GRIDDED
MINOR POINT SOURCE EMISSIONS - continued)
-------
CO
I
ETH
POINT
POINT
POINT
POINT
POINT
POINT
POINT
POINT
POINT
POINT
POINT
POINT
POINT
END
EHDTIME
TIME INTERVAL
80003
GRID VALUES
POINT
POINT
POINT
POINT
POINT
POINT
POINT
POINT
FOIUT
POINT
POINT
POIIfT
POINT
POINT
POINT
POINT
POINT
POINT
POINT
POINT
POINT
POINT
POINT
POINT
CARS 000000000200000000020000000000
ARO OOOC000002000000G0020000000COO
ETH 000000000200000000020000000000
AEROSOLS 03000C000300000000010000000000
S02 000000000300000000010000000000
CO OOOC0000030000000C0100000CGOOO
NO 000000000300000000010000003000
N02 000000000-300C0000001000000COOO
OLE OOOC00000300000000010000003COO
PAR OOOOOG0003000000C00100COOOOCOO
CARB 000000000300000030010000000000
ARO 00000000030000000001COOOOOOOCO
0000000003C000000001000GOOOOOO
0000 63002 0900
P30C TEST RUN Or CtlGROH
AEROSOLS 000000000100000000020000012924
S02 0000000001COOOC0000200300001S3
CO 000000000100000000020000000455
NO 00000000010000000002COOC005369
N02 OOOOOOOOOIOCOOOO'00020000000281
OLE 00000000010000000002000000CCOO
FAR 0000000001C000000002000C107510
CARB 000000000100000000020000003975
ARO OOC000000100C00000020000COOGOO
ETH OOOOOOOOC100000000C20000001631
AEROSOLS 000000000200000000020000000000
502 000000000200000000020000000000
CO 00000000020000CCOOC20000000000
NO 0000000002000000000200COOCOOOO
N02 C0000000020000000002000000COOO
OLE COOOOOOC0200COOOC0020000001954
PAR 000000000200000000020000107754
CARB OC00000002000000000200000000CO
ARO 0000000002000000000200COCOOOOO
ETH 000000000200000000020000000000
AEROSOLS OOOOC0000300C00000010000000000
S02 OOOC000003000000000100000COOOO
CO 000000000300000000010000000000
NO 030000000330000000010000000000
(PSCONV PROGRAM OUTPUT OF URBAN
AIRSHED MODEL INPUT PACKETS - GRIDDED
MINOR POINT SOURCE EMISSIONS - continued)
-------
DO
I
ro
o
N02
OLE
PAR
CARB
ARO
ETH
POINT
POINT
POINT
POINT
POINT
POINT
EHO
ENDTIME
TIME INTERVAL
30002
GRID VALUES
POINT
POINT
POINT
POINT
POINT
POINT
POINT
POINT
POINT
POINT
POINT
POINT
POINT
POINT
POINT
POINT
POINT
POINT
POINT
POINT
POINT
POINT
POINT
POINT
POINT
POINT
POINT
POINT
POINT
POINT
END
00000000030QOOOC000100000COOOO
000000000300000000010000000000
000000000300COOC00010000000000
000000000300000000010000000000
000000000300000000010GOGCOOOCO
000000000300000000010000000000
0900 60002 1000
PROC TEST RUN OF CMGROU
AEROSOLS 000000000100000000020000000642
S02 000000000100000000020000000009
CO OOC00300G1000000000200000U0022
NO 000000000100000000020000000691
N02 000000000100000000030000000037
OLE 000000000100000000020000000000
PAR 000000000100000000020000005343
CARB 000000000100000000020000000193
ARO 000000000100000000020000000000
ETH 000000000100000000020000000084
AEROSOLS OOOOOOOC02000000000200000COOOO
S02 000000000200000000020000000000
CO OOOOOOC00200COC0000200000000CO
NO 000000000200C00000020000000000
N02 000000000200000000020000000000
OLE 000000000200000000020000CU1954
PAR OOOOOOOOC20000000002000010V754
CARB OOCOOC000200000000020000COOOOO
ARO 000000000200000000020000000000
ETH .000000000200COOOOC020000000000
AEROSOLS OQ00000003000COC000100COOCOOOO
S02 000000000300000C00010000CCOOOO
CO OOC000000300COOOC0010000000000
NO 00000000030000C00001000CCCOCOO
N02 000000000300000000010000000000
OLE OOOOOOOOOiOOOOOOCOOlOCOOOCOOOO
PAR 00000000030C00000001CCODOOCOOO
CARB 0000000003000000000100000COCOO
ARO 000000000300000COC0100000000CO
ETH 000000000300000000010030000000
(PSCONV PROGRAM OUTPUT OF URBAN
AIRSHED MODEL INPUT PACKETS - GRIDDED
MINOR POINT SOURCE EMISSIONS - continued)
-------
ENDTIME
TIME INTERVAL
60003
GRID VALUES
DO
i—•
ro
POINT
POINT
POINT
POINT
POINT
POINT
POINT
POINT
POINT
POINT
POINT
POINT
POINT
POINT
POINT
POINT
POINT
POINT
POINT
POINT
POINT
POINT
POINT
POINT
POINT
POINT
POINT
POINT
POINT
POINT
END
ENDTIME
TIME INTERVAL
80002
GRID VALUES
POINT AEROSOLS
POINT so2
POINT CO
AEROSOLS
S02
CO
NO
NO 2
OLE
PAR
CARS
ARO
ETH
AEROSOLS
S02
CO
NO
N02
OLE
PAR
CARS
ARO
ETH
AEROSOLS
S02
CO
NO
N02
OLE
PAR
CARB
ARO
ETH
1000 80002 1100
PROC TEST RUN OF CMGROW
00000000010000G00002COOC012924
000000000100000000020000000183
00000000010000000C020CCOOOG455
OOOOCOC0010000000002C000005369
0000000001000000000200000002S1
OOCOOOOC0100000000020000000000
000000000100000000020000107510
000000000100000000020000003975
00000000010C000003020000000000
000000000100000000020000001651
0000000002000000C0020000CCOOOO
OOOOOOC00200000000020000000000
0000000002000000000200000COOOO
00000000020000000C020000000000
000000000200000000020000000000
OOOOOOOG020000000CG200C00019S4
000000000200000000020000107754
00000000020C000000020000000000
0000003002000000C002000C00030C
C0000000020000C0000200COOOOOOO
000300000300000000C100000COOOO
000000000300000000010000000000
OOOC00000300000000C1COOOOOOOOO
000000000300000000010000000000
00000000030C000000010000000000
OOC0000003000000000100000COOOO
OOOOC0000300000000010000000000
OOOOOOC0030000C000010030000COO
000000000300000000010000300000
OCOOOOOOOSOOOOOOOOOlOOOGOdOCCO
1100
80002 1200
PROC TEST RL'N OF CKGSQM
000000000100000000020000000642
000000000100000000020000G00009
OOOOOOOOC1C000000002000000G022
(PSCONV PROGRAM OUTPUT OF URBAN
AIRSHED MODEL INPUT PACKETS - GRIDDED
MINOR POINT SOURCE EMISSIONS - continued)
-------
CO
ro
ro
POINT
POINT
POINT
POINT
POINT
POINT
POINT
POINT
POINT
POINT
POINT
POINT
POINT
POINT
POINT
POINT-
POINT
POINT
POINT
POINT
POINT
POINT
POINT
POINT
POINT
POINT
POINT
END
ENDTIHE
NO
N02
OLE
PAR
CARS
ARO
ETH
AEROSOLS
S02
CO
NO
Noa
OLE
PAR
CARS
ARO
ETH
AEROSOLS
SOS
CO
NO
N02
OLE
PAR
CARB
ARO
ETH
000000000100C00000020000COC691
000000000100000000020000000037
OOOOOC000100000000020000000000
000000000100000000020000005343
000000000100000000020000000193
000000000100000000020000000000
0000000001000000000200000000,34
000000000200000000020000000000
0000000002000000C0020000000000
000000000200000000020000000000
000000000200000000020000000000
00000000020000000C020000000000
000000000200000000020000001954
000000000200000000020000107754
0000000002000COOOC020000000000
000000000200000000020000000000
OOOOQ000020000000002000000GOOO
000000000300000000010000000000
000000000300000000010000000000
OOCOC000030000000001000000QOOO
000000000300000000010000000000
000000000300000000010000000000
000000000300000000010000000000
0000000033000GOOG00100COOOOOOO
000000000300000000010000000000
000000000300000000010000000000
000000000300000000010000000000
(PSCONV PROGRAM OUTPUT OF URBAN
AIRSHED MODEL INPUT PACKETS - GRIDDED
MINOR POINT SOURCE EMISSIONS - continued)
-------
CONTROL AND SELECTION FILE
AIf?iH£D !:?D£L CATA KAKDL.IK3 CYSYEH
AREA SOURCE GRIDOl^S/llCDEL COiiY:^ ~iG>i PSOCSAM
DIAGNOSTIC AND IN.-UT REPORT
THIS IS A SAMPLE TEST Rl'N 0? FR3SHAM A^CSID
PAGE 1
01/23/31
PROGRAM NAME: ASSSID
REVISION LEVEL: i-oo
LAST UPDATE S:
INCORPORATED:
CO
i
ro
oo
OPTIONS SELECTED BY USER:
OPTIONS IN EFFECT:
SCALIN3 FACTORS S DAYS
NO KG SELECTED OAYl DAY?
0.444 0.111 02 01 Z2 23 02 0? 04
0.111
02
01 22 24 02 01
-------
EIS HOURLY SO'JSCE/EtllSSION FILE
AISSIiE'J HO'JEL DATA HANuLIrJG SYSTEM
AREA SOURCE 6Rl!}QiHG/NOQEL COWERSIC:-) f!.-lCi:!?AH
DIAGNOSTIC AND lilF'JT REPORT
THIS IS A SAMPLE TEST P.UN OF F-ROGHAi', ASCSIED
PAGE 2
OI/2'.VSl
370760
AREA SOURCE CATEGORY: 01 02 03 04 05 06 07 03 09 10 11 12 13 14 15 16 17 13 19 £0 21 22 23 2* £5 26 27 28 £9 30
ALLOCATION- FACTOR SELECTION:
DO
I
AREA SOURCE CATEGORY: 31 32 33 34 35 36 37 3S 39 40 41 42 43 44 45 46 47 4G 49 50 51 £2 53 54 55 So 57 53 59 60
ALLOCATION FACTOR SELECTION: 01 16
AEROSOLS 01
S02 02
CO 03
NO 04
NO 2 05
OLE 06
PAR 07
CARS 08
ARO 09
ETH 10
AEROSOLS 01
S02 02
CO 03
CO 04
K02 05
06
OLE
PAR
CARS
ARO
ETH
07
08
09
10
AEROSOLS 01
S02 02
CO 03
NO' 04
N02 05
OLE 06
PAR 07
-------
CARB
ARO
ETH
AEROSOLS
SC2
CO
NO
N02
OLE
PAR
CARB
ARO
ETH
AEROSOLS
S02
CO
NO
N'02
03 OLE
K PAR
"l CARB
ARO
ETH
AEROSOLS
S02
CO
NO
NO 2
OLE
PAR
CARB
ARO
ETH
AEROSOLS
S02
CO
NO
N02
OLE
FAR
CARB
ARO
08
09
10
01
02
03
04
05
06
07
08
09
10
01
02
03
04
05
06
07
08
09
10
01
02
03
04
05
06
07
08
09
10
01
02
03
04
05
06
07
CS
09
-------
ETH 10
***ASSRID 014 CONDITIONAL - AT LEAST ONE ALLOCATION FACTOR Sl'rt DID COT EQUAL TO 1 FC,? AiOVS COUNTY
373020
AREA SOURCE CATEGORY: 01 02 03 04 05 06 07 03 C9 10 11 12 13 14 15 IS 17 IS 19 20 21 22 23 24 25 £6 27 23 29 30
ALLOCATION FACTOR SELECTION: 10 29 29
AREA SOURCE CATEGORY: 31 32 33 34 35 36 37 33 39 40 41 42 43 44 45 46 47 4S 49 30 51 SZ io £4 55 56 57 53 59 60
ALLOCATION FACTOR SELECTION: 10
AEROSOLS 01
S02 02
CO 03
NO 04
N02 05
OLE OS
PAR 07
CARS 08
ARO 09
ETH 10
AEROSOLS 01
S02 02
CO 03
NO 04
N02 05
OLE 06
PA!? 07
CARB 08
ARO 09
ETH 10
AEROSOLS 01
S02 02
CO 03
HO 04
N02 05
OLE 06
PAR 07
CAS 3 03
ARO 09
ETH 10
AEROSOLS 01
302 02
-------
CO 03
NO 04
N02 05
OLE 06
PA,? 07
CARB 08
ARO 09
ETH 10
AEROSOLS 01
S02 02
CO 03
NO 04
t!02 05
OLE 06
PA.< 07
CARB OS
ARO 09
ETH 10
AEROSOLS 01
SOS 02
CO 03
KO 04
H02 05
OLE 06
PAR 07
CAK3 OS
ARO 09
ETH 10
AiKGSOLS 01
S02 02
CO 03
NO 04
N02 05
OLE 06
PAR 07
CARB 08
ARO 09
ETH 10
AEROSOLS 01
S02 02
CO 03
NO 04
-------
00
N02
OLE
FAR
CAKB
ARO
ETH
AEROSOLS
S02
CO
t!0
N02
OLE
PAR
CARS
ARO
ETH
AEROSOLS
S02
CO
NO
N02
OLE
PAR
CARS
ARO
ETH
AEROSOLS
S02
CO
NO
K02
OLE
PAH
CARS
ARO
ETH
AEROSOLS
'SQ2
CO
NO
N02
OLE
05
06
07
OS
09
10
01
02
03
04
05
06
07
OS
09
10
01
02
03
04
05
G6
07
OS
09
10
01
02
03
04
05
06
07
08
09
10
01
02
03
04
05
C6
-------
CO
1
1— >
ro
to
PAR
CARB
ARO
ETH
AEROSOLS
S02
CO
NO
N02
OLE
PAR
CARB
ARO
ETH
AEROSOLS
S02
CO
K'O
N02
OLE
PAR
CARS
ARO
ETH
07
OS
09
10
01
02
03
04
05
06
07
03
09
10
01
02
03
0*
05
06
07
03
09
10
NUMBER OF HOURLY-EMISSIONS RECORDS READ: 11
NUMBER Of AREA SOURCE RECORDS PROCESSED: 5
NUMBER OF POINT SOURCE RECORDS SKIPPED: 6
NUMBER OF ALLOCATION FACTOR RECORDS READ: 3
NUMBER OF GRID VALUES PACKETS CREATED: 7
NUI13ER OF GRID VALUES RECORDS KRITTEN: 245
ERRORS: 0
CONDITIONALS: i
ABORTS; o
DISASTERS: o
WARNIH3S: 0
PROGRAM NAME: ASSRID
REVISION LEVEL: i-oo
LAST UPDATE 8:
-------
I
n:
u
o
B-130
-------
GRID GRID
STATE COUNTY COLUMN ROW
37
'0760
12
COUNTY TOTALS
AIRSHED MODEL DATA HANDLING SYSTEM
*.-
AREA SOURCE GRIDDING/MODEL CONVERSION PROGRAM
INPUT REPORT
THIS IS A SAMPLE TEST RUN OF PROGRAM ASGRID
AREA SOURCE GRID/ALLOCATION FACTORS
K**MX****** THIS IS A SAMPLE TEST RUN OF PROGRAM ASGRID
PAGE 1
01/02/81
***********
AAAA BBBB CCCC
PPPP qqqq RRRR
0.0500
0.2000
0.0500
0.2000
DDDD EEEE FFFF GGGG HHHH IIII JJJJ KKKK LLLL MMMM NNNN 0000
SSSS TTTT UUUU VVVV WWHW XXXX YYYY ZZZZ ABAB CDCO EFEF GHGH
DO
t—'
CO
-------
AIRSHED MODEL DATA HANDLING SYSTEM
AREA SOURCE GRIDDING/MODEL CONVERSION PROGRAM
INPUT REPORT
THIS IS A SAMPLE TEST RUN OF PROGRAM ASGRIO
AREA SOURCE GRID/ALLOCATION FACTORS
*********** THIS IS A SAMPLE TEST RUN OF PROGRAM ASGRID
PAGE 2
01/02/81
***********
GRID GRID
STATE COUNTY COLUMN ROW
AAAA
PPPP
BBBB
QQQQ
CCCC
RRRR
DDDD
ssss
EEEE
FFFF
UUUU
GGGG
VVVV
HHHH
UUHM
37
37
3020
3020
560 116
IIII
XXXX
JJJJ
YYYY
0.1256
0.8744
KKKK
2222.
LLLL
ABAB
MMMM
CDCD
NHNN 0000
EFEF GHGH
0.5000
0.5000
COUNTY TOTALS
1.0000
1.0000
03
I
CO
-------
CD
I
CO
CO
STUDY SUMMARY
AIRSHED MODEL DATA HANDLING SYSTEM
AREA SOURCE GRIDDIMG/MODEL CONVERSION PROGRAM
EMISSIONS REPORT - - DAILY SUMMARY
THIS IS A SAMPLE TEST RUN OF PROGRAM ASGRIO
DAY 1, HOUR 22-HOUR 24
PAGE 1
01/02/61
**K«*MKKK***KKK«***tt*****K*tt*******KKK****tt*K EMISSIONS> KG-MOLE/DAY*************************************************
GRID GRID
ROM
1
12
560
COLUMN
Z
24
116
AEROSOLS
0.0
2.0
0.0
S02
0.0
0.0
0.0
CO
0.0
0.4
0.0
NO
0.0
0.0
0.0
N02
0.0
0.0
0.0
OLE
0.0
0.0
0.0
PAR
0.0
0.0
0.0
CARS
0.0
0.0
0.0
ARO
0.0
0.0
0.0
ETH
0.0
0.0
0.0
STUDY TOTALS
2.0
0.0
0.4
0.0
0.0
0.0
0.0
0.0
0.0
0.0
-------
oc
I—•
00
STUDY SUMMARY
AIRSHED MODEL DATA HANDLING SYSTEM
AREA SOURCE GRIDDINS/MODEL CONVERSION PROGRAM
EMISSIONS REPORT - - DAILY SUMMARY
THIS IS A SAMPLE TEST RUN OF PROGRAM ASGRID
DAY 2, HOUR 1-HOUR 4
PAGE 2
01/02/81
**tt«K*x*K***i<*****KKK********KK*******K*tt**** EMISSIONS. KG-MOLE/DAY*************************************************
GRID GRID
ROW
1
12
560
COLUMN
2
24
116
AEROSOLS
0.0
0.0
0.0
S02
0.0
0.0
0.0
CO
0.0
0.0
0.0
NO
0.0
0.0
0.0
N02
0.0
0.0
0.0
OLE
0.0
0.0
0.0
PAR
0.0
0.0
0.0
CARB
0.0
0.0
0.0
ARO
0.0
0.0
0.0
ETH
0.0
0.0
0.0
STUDY TOTALS
0.0
0.0
0.0
0.0
0.0
0.0
0.0
0.0
0.0
0.0
-------
TIME INTERVAL
80001
GRID VALUES
tn
2100 80001 £200
PROC TEST RUN OF CNGROW
AEROSOLS 000000000100000000020000000000
S02 000000000100000000020000000000
CO 000000000100000000020000000000
NO 000000000100000000020000000000
N02 000000000100000GC002000COOOGOO
OLE OC0000000100000000020000000000
PAR OOOOC00001000000C00200003DOOOO
CARB 00000000010000000302JOOOOOOOOO
ARO 000000000100000000020000000000
ETH 000000000103000000020COOOOOGOO
AEROSOLS 000000001200000000240000000693
S02 OOOOOG001200000000240000000000
CO OOOOC000120000000024000000Cl'+5
NO OOOCG000120000C0002400C00030GO
N02 000000001200000000240000000000
OLE 000000001200000000240000000000
PAR OOOG00001200'JOOCOC24000C000001
CARB OOCOOC001200000000240C0003003G
ARO 000000001200COOOOC240003000GOO
ETH OOG0000012G0000000240COOOGOOCO
AEROSOLS 000000056000000001160000000003
S02 000000056000000001160000000000
CO 000000056000000G011600COOCOOOO
NO OOOOOOG56C0000000116G000000300
N02 OOC00005600000000116000GOOOOQO
OLE 0000000360000C000116GOC0300000
PAR 000000056000000001160300000000
CARB 000000056000000001160000000000
ARO 000000056000000001160000000000
ETH G0000005600000000116C0300COOuO
AREA
AREA
AREA
AREA
AREA
AREA
AREA
AREA
AREA
AREA
AREA
AREA
AREA
AREA
AREA
AREA
AREA
AREA
AREA
AREA
AREA
AREA
AREA
AREA
AREA
AREA
AREA
AREA
AREA
AREA
END
ENDTIME
TIME INTERVAL
80001 2200 80001 2300
GRID VALUES PROC TEST RUN OF CKGROW
AREA AEROSOLS - 000000000100000000020000000000
AREA S02 0000000001000000000200GOOOOOOO
AREA CO 000000000100COOOOC020000000000
AREA NO OCOCOCG00100GG00000200000CCOOO
AREA N02 000000000100GGOG00020000000i!00
AREA OLE 000000000100COOOOC02000000COOO
AREA PAR 0000000001000COOOG0200COOOOOOO
AREA CARB 000000000100030000020000000000
AREA ARO OOOCCOOG0100000000020000000003
AREA ETH 000000000100000000020030000000
AREA AEROSOLS OC00000012COOOCC002400GOOOC£<;3
AREA S02 000003001£OOCC03002''(OGC0300DGO
AREA CO 003300001200000G0024000GC00145
AREA KO OGOOOOOOI200C0000024GOOCCOOOCO
AREA N02 000000001230000000240000000000
AREA OLE 000000001200G00000240GOGOOOOOO
AREA PAR 00000000120000COC0240000000001
AREA CARB OOOC0000120000COOC240000000000
(ASGRID PROGRAM OUTPUT OF URBAN
AIRSHED MODEL INPUT PACKETS - GRIDDED
AREA SOURCE EMISSIONS)
-------
DO
I—"
OJ
AREA
AREA
AREA
AREA
AREA
AREA
AREA
AREA
AREA
AREA
AREA
AREA
END
ENDTIME
TIME INTERVAL
30001
VALUES
AERO
ARO OOOOOC001200C00000243003300COO
ETH 0000000012000000002^0000000000
AEROSOLS 000000056000000001160000000000
S02 0000000560000000C116000000CG03
CO 000000056000000001160000000000
NO -000000056000000001160000000000
U02 00000005600000C001160000000000
OLE OOOC0005600000000116000COOGOOO
PAR 000000056000000001160000000000
CARS 000000056000000001160000000000
ARO 000000056C00000001160000000003
ETH 000000056000000001160000000000
GRID
AREA AEROSOLS
AREA S02
AREA CO
AREA NO
AREA N02
AREA OLE
AREA PAR
AREA CARS
AREA ARO
AREA ETH
AREA AEROSOLS
AREA S02
AREA CO
AREA NO
AREA N02
AREA OLE
AREA PAR
AREA CARB
AREA ARO
AREA ETH
AREA AEROSOLS
AREA SO2
AREA CO
AREA NO
AREA 1102
AREA OLE
AREA PAR
AREA CARB
AREA ARO
AREA ETH
END
ENDTIME
TIME INTERVAL
60002 0000
GRID VALUES
AREA AEROSOLS
AREA S02
AREA CO
AREA NO
AREA N02
2300 60001 2400
PROC TEST RUN OF CMGROW
000000000100000000020000000000
OOOC0000010000000QC200000CCOOO
030000000103000000020000000000
000000000100000000020000000000
0000000031000000000200000COOOO
000000000100030000020000000000
OOOC00000100000000020COOOOCOOO
OOOOOOOC010000000C02000COOOOOO
000000000100000000020000300000
0000000001000000C0023CCOOOOOOO
OOOC0000120000000024GOOOOOOS93
000000001200000000240000000300
G00000001200030000240GOCGOm^5
0000000012COOG000024GOOOOC0300
00000000120G0000002'>0000000000
0000000012000000002^*0000000003
0000030012000COOOC240000000001
OOQ0030012000G00032430003GOG30
OCOC00001200000C0024000Q0030CO
C000000012COC0000024000C0030GO
000000056000000001160303000000
OOOG000560G0000001160000000000
00000005600000000116000-3000000
OOOOC005600G000001160000GOOOOO
OOOOOOOE6000000001160COOOOOOOO
OOOG000560G000000116G0030COC-00
000000056000000031160000000300
000000056000000001160000000000
OOOOOOOE6000GOOC0116000POOCOOO
00000005600000000116000000CCOO
(ASGRID PROGRAM OUTPUT OF URBAN
AIRSHED MODEL INPUT PACKETS - GRIDDED
AREA SOURCE EMISSIONS - continued)
800G2 0100
FROC TEST RUN OF CMGROW
OC30000001000000C002000000000C
OGOG00000100000000020003000COO
0003000001C0000000020COOOOOOCO
000000000100000C000200000GOGOO
000000000100COCOGC020000COOGOO
-------
CO
I
CO
—I
AREA
AREA
AREA
AREA
AREA
AREA
AREA
AREA
AREA
AREA
AREA
AREA
AREA
AREA
AREA
AREA
AREA
AREA
AREA
AREA
AREA
AREA
AREA
AREA
AREA
END
OLE
PAR
CARB
ARO
ETH
AEROSOLS '
S02 i
CO
NO
N02
OLE
PAR i
CARB i
ARO i
ETH i
AEROSOLS *
S02 i
CO i
NO i
N02 i
OLE i
PAR i
CARB i
ARO i
ETH i
ENDTIME
TIME
GRID
AREA
AREA
AREA
AREA
AREA
AREA
AREA
AREA
AREA
AREA
AREA
AREA
AREA
AREA
AREA
AREA
AREA
AREA
AREA
AREA
AREA
AREA
AREA
AREA
AREA
AREA
AREA
INTERVAL
80002 0100
VALUES
AEROSOLS i
S02 1
CO i
NO I
N02 1
OLE i
PAR 1
CARB 1
ARO 1
ETH 1
AEROSOLS I
S02 i
CO I
NO 1
N02 1
OLE I
PAR i
CARB I
ARO 1
ETH 1
AEROSOLS 1
E02 1
CO 1
NO 1
N02 1
OLE 1
PAR 1
00000000010COG0000020000000CGO
0000000001000000000200000000CO
000000000100000000020COOCOOOOO
000000000100000C000200GOOOOOOO
0000000001COOOQOOC020000000003
000000001200000000240000000000
OOOOOOC012900C0000240000COOOOO
000000001200000000240000000000
OOGOOOG0120000000024000300GOOO
OOG00000120GOOOOG024000000GOC3
0000030012C00000002400000000GO
COOC0000120000G00024GOOOGOOOCO
OOOOOOOC120C0000002400CO500000
000000001200000000240000000000
OOG000001200CC00302400COOOGOOO
0003000560000000011600C0000330
000000056000000001160000000000
000000056000000001160000000000
000000056000000001160000000000
OOOOOOOE600000G001160COCOOOOOO
00000005600COOC0011600003COOOO
000000056000000001160000000000
0000000560000000011600CCOOOCOO
000000056000000001160000000000
OOOOC0056000000001160000GCCOOO
60002 0200
P30C TEST RUN OF CMGROW
OOOC0000010000C0000200000000CO
000000000100C0000002000000COOO
OC00000031000000000200CGOOOCCO
0030000001000000000200000GOOOO
000000000100000000020000003300
000000000100000000020000000000
000000000100000000020000000000
OOOOOG00010000000002000GOOCC.CO
0000000001000COOC0020000COOOCO
oooooooooioococooooeoooooococio
OOOC0000120000000024QOOOOOCOGO
000000001230000000240000000030
OOOC00001200C00000240030003000
C00000001200000G00240000000030
000000001200CG000024COOOOOOCOO
OOOOOOC0120C00000024000300300C
OOC000001200000C002400C3COOOOO
030000001200000G00240000000000
03000GC01200000000C40000000030
0000000012000000002400000GOOOO
OOOOOOOS60000G0001160G0003GOOO
00000005600000000116000COGOOOO
OOC000056COOC3000116000000JOOO
0000000560000000011600000000GO
000000056000000001160300000000
OOOOOG05600C00000116CGGOCOOOOO
000000056000000001160000000000
(AS6RID PROGRAM OUTPUT OF URBAN
AIRSHED MODEL INPUT PACKETS - GRIDDED
AREA SOURCE EMISSIONS - continued)
-------
oo
I
CO
00
AREA CARS
AREA ARO
AREA ETH
END
ENDTIME
TIME INTERVAL
30002 0200
GRID VALUES
AEROSOLS
000000056000000001160000000000
00000005600GOCi100116000u003CCO
000030056Q00003001160000COOOOO
AREA
AREA
AREA
AREA
AREA
AREA
AREA
AREA
AREA
AREA
AREA
AREA
AREA
AREA
AREA
AREA
AREA
AREA
AREA
AREA
AREA
AREA
AREA
AREA
AREA
AREA
AREA
AREA
AREA
AREA
END
ENDTIME
TIME INTERVAL
80002
GRID VALUES
AEROSOLS
S02
CO
NO
H02
OLE
PAR
CARB
ARO
ETH
AEROSOLS
£02
SO 2
CO
NO
N02
OLE
PAR
CARB
ARO
ETH
AEROSOLS
S02
CO
NO
N02
OLE
PAR
CARB
ARO
ETH
AEROSOLS
S02
CO
NO
NO 2
OLE
PAR
CARB
ARO
ETH
60002 0300
PROC TEST RUN OF CMGROW
00000000010000C0000200000GCOOO
000000000100000000020000000000
000000000100000000020000000000
00000000010000000002COOOCOOOOO
OOOOOCC0010000000002000000COOO
000000000100000000020COOOOCOOO
OC00000001000000000£COCOOOCOOO
OOOCC0000100C0000002000COOOOOO
000000000100000000020COOOOOOOO
000000000100000000020000000000
000000001200000000240000000000
000000001200000600240000000000
OOOOOG00120000G300240COOOOOOOO
000000001200000000240000000000
000000001200000000240000000000
OOOOOOOG12COOOC0002'rOOOOOOOOOO
00000000120C00000024COOOOOOOOO
000000001200000000240000000000
000000001200000000240000000COO
00000000120000000024COOCOOCCOO
OCOOOOC5&OOOOCC301160030000003
000000056000000001160000000000
000000056000000001160000000000
000000056000000001160000000300
000000056000000iOlloOOOOOOOOOO
Oi)OOCG0560000COC01160C00300C03
000000056000000001160000000000
C0000035600C000001160000000000
OOC00005600000000116000COOOCOO
000000056000000C011600COOOOOOO
(ASGRID PROGRAM OUTPUT OF URBAN
AIRSHED MODEL INPUT PACKETS - GRIDDED
AREA SOURCE EMISSIONS - continued)
0300
AREA
AREA
AREA
AREA
AREA
AREA
AREA
AREA
AREA
AREA
AREA
AREA
AREA
AREA
CO
NO
800C2 0403
PRQC TEST RUN OF CMGROW
000000000100003000020000000000
00000000010000000002C000000030
COCOOCOC01C00000000200000CQOCO
OCOOOOOC01COOOOOOOC2000003COCO
0000000001000000300200000COCOO
0000000001C00003C002000COOGODO
OGOOOCOC01C0000000020000000000
OOOOOOOC010000000002000000CC03
0030C00001000000003200COOOOCOO
000000000100000030020000000000
OOC00300120000000C240COOOCCCOC
oocoooooieooooooooa-'ioooooooooo
OC0000001£300G00002400C030C:000
OOCC0000120000000024000000CCOO
-------
AREA
AREA
AREA
AREA
AREA
AREA
AREA
AREA
AREA
AREA
AREA
AREA
AREA
AREA
AREA
AREA
END
ENDTIME
N02
OLE
PAS
CARS
ARO
ETH
AEROSOLS
S02
CO
NO
N02
OLE
PAR
CARB
ARO
ETH
000000001200G0000024COOOOOOOOO
OOOOC0001200000000240000COCOOO
000000001300000CG02iOOCOOOOOOO
000000001200000000240000000000
OC00000012000000C0240000000JOO
000000001200000000240000000000
00000005600000000116000000COOO
000000056003000001160000000000
000000056000000001160000000003
OOOOOOOE6000000001160000000000
000000056000000001160000000000
00000005600C000001160COOOOOOOO
OOOOC00560000000C1160CCOOOOOOO
000000056000000001160000000000
OOOOC005600GCOC001160000000000
00000005600000000116GOOC000300
(ASGRID PROGRAM OUTPUT OF URBAN
AIRSHED MODEL INPUT PACKETS - GRIDDED
AREA SOURCE EMISSIONS - continued)
CO
UD
-------
APPENDIX C
INPUT DATA FORMS
-------
TABLE OF CONTENTS
Page
Airshed Model Data Handling System (ASMDHS) CMGROW - Growth
File Input C-5
Airshed Model Data Handling System CMGROW - Control and Summary
Definition C-6
Airhsed Model Data Handing System CMGROW - Control Measures File . . C-7
ASMDHS Temporal and Pollutant Split (TPSPLIT) Program -
Temporal Split Coding Form C-8
ASMDHS Temporal and Pollutant Split (TPSPLIT) Program -
Pollutant Split Data Coding Form C-9
Temporal and Pollutant Split (TPSPLIT) Program -
Control Input File C-10
Major/Minor Point Division and Model Conversion (PSCONV) -
Program Control & Selection Input File C-ll
Area Source Gridding/Model Conversion Program - Allocation
Factors File C-12
Area Source Gridding/Mode.l Conversion (ASGRID) Program -
Control Parameters File C-13
C-3
-------
AIRSHED MODEL DATA HANDLING SYSTEM (ASMDHS)
CMGROW-GROWTH FILE INPUT
%
K
.
I
i
i
t
I
i
1
I
i
I
I
1
I
,
i
i
I
I
,
,
I
I
COUNTY
i
i
i i i
i i i
i i i
i i i
i i i
i i i
i i i
i i i
i i i
i i i
i i i
i | i
i i i
i i i
i i i
i i i
i i i
i i i
i i i
i i i
i i i
i i i
i i i
i i i
i i i
SIC
7
i i i
i i I
i i i
i i i
i i i
i i i
i i i
i i i
i i i
i i i
i i i
i i i
i i i
i i i
i i i
i i i
i i i
i i i
i i i
i i i
i i i
i i i
i i i
i i i
i i i
PLANT
1
i I i
i i i
l I i
1 i i
i l i
i l i
1 i i
i i i
l 1 i
i i i
i l i
i 1 i
i l l
l 1 i
l i i
I i i
i i i
i i I
1 i l
i i i
l i i
i i i
1 l I
1 i l
i i i
fc
I
6
i
I
1
i
i
I
1
i
i
i
l
i
i
I
1
l
i
l
i
i
I
I
i
i
i
sec
18
i l i i i i i
i i i i i i i
i i i i i 1 i
i i i i i i i
i i i i i i i
I i 1 i i I i
i i l i i 1 I
i i i i i i i
i i i i i l i
i i i i i I i
i i i i i l i
i i i l i i i
i i i i i i i
i i l l i i i
I i i i i i i
i i i i i i 1
i i i i i l i
i i i i i i i
i i i 1 l i i
i i i i i i 1
i i i l i i i
i i i l i i i
i i i i i i i
i i i i i i i
i i i i i i i
GROMTH
FACTOR
6
i 1 i
i i i
i i i
i 1 i
I i l
1 ! 1
1 1 1
1 1 !
1 1 1
1 1 1
1 1 1
1 1 1
1 1 1
1 1 1
1 1 1
1 1 1
1 1 *
III
1 1 1
1 1 1
1 1 1
1 1 1
1 l 1
1 1 1
1 ' '
CARD
NBR
1 1
11
LI
1,1
111
1.1
1.1
1.1
1.1
i .1
C-5
-------
AIRSHED MODEL DATA HANDLING SYSTEM
CMGROW-CONTROL AND SUMMARY DEFINITION
= £
_j z
1
QQ
s%
_j z
1
i
i
i
,
i
i
i
i
i
i
i
i
i
!
1
1
!
1
1
,
DATE HEADING
38 80
i 1 1 1 1 l i 1 1 t i 1
CATEGORY NAME
3
i i i i i i i i i i i i i
i i i i i i i i i i i i i
i i i i i i i i i i iii
i i i i i i 1 i i i i i i
i 1 1 1 1 1 I i 1 i 1 i 1
i 1 1 1 I 1 1 I | i i 1 1
i 1 1 1 i 1 1 1 i 1 1 1 I
i t 1 1 i I 1 1 1 1 | 1 1
i i t I t I I I i 1 1 1 1
i 1 1 1 1 i 1 I 1 i 1 I i
1 1 1 1 1 i i i i 1 1 i 1
I i 1 i 1 1 1 i i i I I i
1 i 1 1 1 1 1 f 1 1 i i 1
i i 1 1 1 I 1 1 1 i 1 1
i i 1 1 i i i i i 1 I I 1
i i 1 i 1 1 1 i i | i i 1
i i 1 1 1 1 I f i 1 i i 1
i i 1 I 1 1 1 i i i 1 i I
i i 1 I i | 1 i i i 1 i i
i i I 1 1 | 1 i i I i i I
i i 1 1 | 1 1 1 I 1 i 1 i
i i 1 1 1 i 1 I 1 i i i
III! 1 1 | 1 1 1 1 1
1 1 1 1 1 1 1 1 1 1 1 1
1 1 1 1 1 1 1
see i
17
i i i i i i i
1 i 1 i i i I
i i i i i i i
, ,
i i i i i i i
i i i i i i i
i 1 i i i i i
| j i i i i t
i i i i i i i
i i 1 i i i i
i i i i i i i
i i i i i i i
i t i 1 i i i
i i i i i i i
i i i i i i i
i i i i i i i
i i i i i i i
i i i i i i i
i i i i i i i
i i i i i i i
i i i i i i i
i i i i i i i
i i i i i i i
i i i i i i i
i i i i i i i
SCC 2
25
i i i i i i i
i i i i 1 i i
i i i i i i i
i i i i i i i
i i i i i i i
i i i i i i i
i i i i i i i
i i i i i i i
i i i i I i i
i i i i i i i
i i i i i i i
i i i i i i i
i i i i i i i
i i i i i i i
i i i i i i i
i i i i i i i
t i i i i i i
i i i i i i i
i i i i i i i
i i i i i i i
1 1 1 ! 1 1 1
1 1 1 1 1 1 1
1 t 1 1 1 1 1
1 1 1 1 1 1 1
1 1 1 1 1 1 1
SCC 3
33
1 i i i i i i
i i i i i i i
i i i i i i i
i t i i i i i
i i i I i i i
i i i i i t i
i i i i i i i
i i i i i i i
i i 1 i i t i
i i i i i i i
i i i i i i i
i i i i i i i
i i i i i i i
i i i i i i i
i 1 I i i i i
i i i i i i i
i i t i i i i
i i i i i i i
i I i i i i i
i i i i i t i
i i i i i i i
i i i i i t i
i i i i t i i
i i i i i i i
i i t i i i i
SCC 4
41
i i i i i i i
i i i i i i 1
i i i i i i l
i i i i i i i
i i i i i 1 l
i i i i i 1 i
i i i i i i 1
i i i i 1 i l
i i i i i 1 i
1 i i i i i i
l i i i i i i
i i i i 1 i l
i i i i i i i
i i i i i i i
l i i 1 i i l
i i i i i i i
l i i i i i i
i i i i i i I
i i i i i i 1
i i i i i i i
i i i i i i i
i i i i i i i
i i i i i i i
i i i i i i i
i i i i i l l
SCC 5
49
i i i i l i i
l i i t 1 | i
i i i i i i i
i i i i i i i
i i i i i i i
i i i i 1 i I
i i t i i i l
i i i i i i t
i i i i i i I
i i i i i i i
i l i i i i i
i i i i i l 1
i i i i i 1 I
i i i i i i i
i i t i i l i
i i i i i i i
i i i i i i i
i i i i i i i
i i i i i i i
i i l i i i i
i i i i t i i
i i i t i i i
i i i i i i i
i i i i i i i
i i l 1 i i l
SCC 6
57
ii i i i i 1
i i 1 i i 1 I
i i i i 1 I i
i i i i i i i
i l i i 1 i 1
| i 1 i I i i
i i i l i l i
i i i i i i i
l i i i i i I
i i i l i l i
i i i i i i l
i i i i l i |
i i i i i i i
i i I i 1 i 1
i I i i i i i
i i i i i i i
i i i i l i i
l l i i i i i
i i i i i i i
i i i i i i i
i i i i i i l
i i i i i i i
i i i i 1 i 1
i i i i i i i
i i i i i i i
SCC 7
65
i i i i i i i
i i 1 i i i l
i i i i i i i
i i i i i i i
i i i i i i i
l i 1 i i i i
i i i i i i i
l i i i i i i
i i i i i l I
i i i i i i i
i l i i i i i
i i i i i i i
i i i i i i i
1 i i i i i i
1 I 1 i i i i
i i i i i i i
i l 1 l i i 1
i i i i i l i
i i l i i l i
i i i i i i 1
i i i i i i I
i i i i l i i
i i i i i i i
i i i i i ii
i i i i i i i
SCC 8
73
i i i i i 1 i
ill) 1 IK
1 1 | 1 1 1 1
1 1 1 1 1 1 1
1 1 1 1 1 1 1
1 1 1 1 1 1 1
1 1 1 1 1 1 1
1 1 1 1 1 1 1
1 1 1 1 1 1 1
1 1 1 1 1 1 1
1 1 1 1 1 1 1
1 1 1 1 1 1 1
1 1 1 1 1 1 1
1 I 1 1 1 1 1
1 1 1 1 1 1 1
1 1 1 1 1 1 1
1 1 1 1 t 1 1
1 1 1 1 1 1 1
1 1 1 1 1 1 1
1 1 1 1 1 1 1
1 I 1 1 1 1 1
1 1 1 1 1 1 1
1 1 1 1 1 1 l
1 1 1 1 1 1 I
-------
AIRSHED MODEL DATA HANDLING SYSTEM
CM6ROW-CONTROL MEASURES FILE
Lkl
g
1
i
1
1
1
|
i
1
i
I
,
I
1
(
1
I
1
1
1
j
i
3
i i i
i i i
i i i
i | i
i | i
i i i
i i i
i i i
i i i
i i i
i i i
i i i
i i i
i i i
l l !
i i 1
i 1 1
i i 1
i 1 l
1 1 1
> 1 1
i i r
i i i
i i i
SIC
7
i 1 l
i i i
i i i
i | i
i i i
i i i
i i l
1 i i
i i i
i i i
i i i
i i I
i i i
i i i
l i i
i i i
i i 1
i I l
i 1 i
i i i
i i t
i i i
i i i
i i i
PLANT
11
i i i
i i i
l l i
i i i
1 i I
i i J
l l i
i i i
i i i
i t i
i l i
i i i
i i i
i i I
i i i
i i i
i t i
i i i
i i |
i i i
i i i
i i l
! I 1
1 l l
t-
z
g
16
i
1
i
i
i
i
i
i
,
|
_1_
i
i
l
(
1
1
i
i
t
1
sec
18
i i i i i i i
i i i i i i i
i i i l i i i
i i i i i i i
i i i i i i i
i i i i 1 i i
i i i i i i i
i i i i i i i
i i i i i 1 i
i i i i i i i
i i i i i i I
i i i i i i i
i i i i i i i
i i i i i i i
l j 1 1 i I 1
1 j i 1 1 I 1
i i I 1 l 1 I
II 1 1 l l l
i I l l i 1 I
i i 1 i 1 1 1
i i l 1 i i i
i i i i i 1 I
i i i i i l 1
i i i 1 1 I 1
T
CF1
26
i i
l 1
1 i
i i
i l
i i
l i
1 i
i i
i i
i i
i i
i i
i i
i i
i i
i i
i i
i i
i i
! 1
1 I
i l
i i
SP
CF2
29
i i
i i
i i
i i
i i
1 i
i i
i i
i i
, ,
i i
i i
i i
i i
i i
1 i
i i
l i
i i
i i
i i
i i
i i
, ,
S
CF1
32
| i
l i
1 1
i i
i i
l i
i i
1 i
i i
l i
i t
l t
i i
l i
i l
i i
i i
i i
i i
i i
i i
i i
i i
i i
02
CF2
35
i i
i i
i i
i i
1 i
i i
j I
j i
i |
i i
i i
i i
i i
i i
i i
i i
i l
i (
i |
i i
i i
i i
i i
i i
CF1
38
i 1
i i
i i
i |
I i
i i
i 1
i |
i i
i i
i i
i i
| |
i l
i i
i i
i i
i |
i i
i i
1 I
i j
i i
i i
CO
CF2
41
i i
i i
, ,
i i
i i
i i
i i
i i
i I
, ,
i i
i i
i i
i i
i [
i i
1 |
_J_j
i i
i i
j i
i i
i i
i i
N(
CF1
44
i i
i i
i i
i i
i i
i i
i i
i i
i i
i i
i i
i i
i i
i i
i i
i i
i i
_U_
1 i
i i
_l ,L
i l
i i
JX
CF2
47
i i
i i
i i
i i
i i
i |
i i
i i
i i
! i
1 I
l 1
1 1
1 1
1 i
1 1
1 |
1 1
I I
1 i
1 1
1 i
1 l
, ,
I-
CF1
50
i i
l i
i l
i i
i i
i i
i i
i i
i i
i i
i i
i i
i i
1 i
1 1
i !
1 1
1 )
1 1
1 1
1 1
1 1
1 1
1 1
1C
CF2
53
i i
i i
i i
1 |
i i
i i
l i
i i
i i
i l
i i
i i
i i
i i
l i
i i
1 !
1 I
| |
1 1
1 1
1 I
1 l
, ,
THR
CF1
56
| |
i i
I i
i i
i i
i i
i i
i i
i i
i i
i i
1 i
i i
i i
i i
i i
i i
i i
l i
i i
i i
i i
i i
JPUT
CF2
59
i i
i i
1 l
i i
i i
i l
i i
i i
i i
1 1
i i
l I
i l
i l
i i
l i
i i
i i
i i
i l
1 i
l i
i i
i i
23.
-------
AIRSHED MODEL DATA HANDLING SYSTEM (ASMDHA)
TEMPORAL AND POLLUTANT SPLIT (TPSPLIT) PROGRAM - TEMPORAL SPLIT CODING FORM
£
10
1
7
IDENTIFICATION FIELD
COUNTY
l
4
S
i
PLANT
I
s
9
10
POINT
ll
12
13
sec
i
14
II
IS
16
III
17
IS
19
IV
20
21
a:
n
=r
22
- t-
_J CJ
SS
Q LU
26
21
21
29
HOURLY FRACTIONS
1
30
31
32
2
31
34
3S
3
36
37
38
4
39
40
41
42
5
43
44
45
6
46
41
48
7
49
SO
SI
fi
52
S3
9
54
SS
56
SI
n
SS
59
60
r
61
62
1?
63
64
65
M
66
67
68
14
69
70
71
15
77
71
74
16
7i
H
77
11
3
11
1
10
1
UJ
?
IO
1 I
IDENTIFICATION FIELD
COUNTY
l
4
S
(
PLANT
I
l
9
II
POINT
ll
i?
n
sec
]
14
IT
IS 16
1
11
F
IS
19
n
70
1
?1
cti
m
S
g
22
1°
«/> 0
as
CO Lu
2]
24
2S
z
o
>- i—
_i «_>
SS
OLU
26
27
21
29
HOURLY FRACTIONS
17
30
31
32
33
18
34
35
36
19
37
38
39
20
40
41
n
42 43
1
44
22
4S
46
47
23
4S 49
1
SO
24
SI
S2
S3
S4
SS
56
SI
SS
59
60
61
67
•
63
64
65
(6
-
67
68
69
10
71
*
7?
n
74
IS
-
U
11
If
o
£
o
7s
?
10
1
CO
1
7
IDENTIFICATION FIELD
COUNTY
3
4
S
6
PLANT
i
s
9
10
POINT
n
12
13
sec
I
14
II
IS
16
III
11
IS
19
IV
20
21
cc
LU
^5
i
22
< z
§2
CO 0
ui S
CO Lu
23
24
25
z
o
SS
0 Lu
26
21
28
29
HOURLY FRACTIONS
1
30
31
32
33
2
34
35
3
36
37
3S
39
4
40
41
5
42
43
44
45
6
46
47
48
7
49
SO
SI
fi
S2
S3
9
54
SS
56
51
n
SS
59
60
1
61
62
!2
64
65
1.1
66
61
68
14
69
10
11
15
77
71
14
16
7i
76
77
IS
C£
11
SO
o
1
',; 1 1
vx
00
cc.
V)
I
1
IDENTIFICATION FIELD
:OUNTY F
3 4
S C I
LANT
S 9 10
POINT
n
12
13
crp m _jz z
OLjL) 51 «co o
z ol— >- K-
F
14
I
IS
Ib
CO* * M >
<: uice -
^
22
-.^
zo
LO O
SS
CO Lu
23
24
25
O
>- 1—
»— 1 «J
O Lu
26
21
28
29
HOURLY FRACTIONS
1
7o
31
32
2
13!
34
35
3
36
31
38
39
4
40
41
42
5
43
44
45
6
46
41
7
48
49
50
8
SI
52
S3
9
54
SS
56
51
n
SS
59
SO
1
61
67
12 .
64
65
V
66
61
61
14
69
10
11
15
17
71
14
16
IS
16
11
11
\
0
«t 0
11
1
10
1
£
CO
1 2
IDENTIFICATION FIELD
COUNTY
3
4
S
1
PLANT
i
s
9
POINT
n
13
sec
I
111
,
IS
16
_
P.
IS
li
tt
u.
CD
ID
Q
22
oi—
coo
33
O
i
u_
HOURLY FRACTIONS
17
18
19
?0
in
41
~Pl
|
44
_22
\
47
P
|
Sfl
24
si Is;
51
fit
fil
M
fiS
fifi
fi?
(R
71
17
-V-
74
•
77
1
o
i
2
I
I
-------
AIRSHED MODEL DATA HANDLING SYSTEM (ASMDHS)
TEMPORAL AND POLLUTANT SPLIT (TPSPLIT) PROGRAM - POLLUTANT SPLIT DATA CODING FORM
LJ
1-
C/l
1 2
IDENTIFICATION FIELD
COUNTY
3
4
S
i
PLANT
I
t
» ho
1
POINT
u
12
13
sec
I
14
II
IS
16
III
17
II
19
IV
20
21
HYDROCARBON PERCENT WEIGHTS
PAR
22
23
24
2S
OLE
26
27
21
29
ARO
30
31
32
33
CARB
34
35
36
37
ETH
31
39
40
41
ALDE
42
43
44
4S
46
47
41
49
5
SO
-
SI
-
52
S3
-
S4
SS
56
57
'
NITROGEN OXIDE
PERCENT WEIGHTS
NO
SI
53
60
61
62
NO.
63
64
65
66
61
61
69
70
'
71
)2
71
ti-
ll
7S
-
76
77
•*?
o
g
S
71
S
71
1
10
2
|—
£
\ 2
IDENTIFICATION FIELD
COUNTY
>
4
5
f
PLANT
;
t
>
10
POINT
11
i?
n
sec
I
14
II
15
1C
(!
Ill
i;
u
19
IV
20
21
HYDROCARBON PERCENT WEIGHTS
PAR
22
23
24
2S
OLE
26
27
21
2)
DIOLE
30
31
32
33
ETH
34
35
36
37
ARO
31
3)
40
41
CARB
42
43
44
45
ALCO
46
47
41
49
ACET
so
SI
S2
S3
METH
54
SS
56
S7
OTH
SI
59
60
El
AtDE
(2
63
64
ES
NITROGEN OXIDE
PERCENT WEIGHTS
NO
66
67
61
69
N0?
70
11
7?
71
74
&
IS
:..
16
77
0
»— i
O
Of
71
0
3
71
1
10
2
tj
1-
«=
t-
o
LJ
:
•>
IDENTI
COUNT*
FICATION
PLANT
FIELD
POINT
I
S(
II
:c
in
IV
PAR
HYDR
OLE
OCARBON
DIOLE
MOLECULA
ETH
14 H tc 11
2
8
* WEIGHT
ARO
5
CARB
ALCO
47 " iQ
ACET
tj|
*
•&.
:':f.
if-
it
m
'Ik
'£:.
•1^:
9
1:
^1
9
if
if
'••:i
•;--
*<
i
n
o
»-•
a
a:
*;•
S3
.*
54
«
SS
'•\
56
-;•/
;-.V
57
f
NITROGEN OXIDE
PERCENT WEIGHTS
NO
SI
59
60
61
NO,,
62
63
64
65
^t
(7
(1
;*;
69
70
'•;?
11
.*.
72
73
74
75
-'
H
71
o
0
a:
3
71
S
19
1
10
2
UJ
S
1
2
IDENTIFICATION FIELD
COUNTY
}
4
S
(
7
PLANT
i
9
1C
POINT
n
12
13
sec
I
14
II
IS
16
III
17
11
19
IV
20
21
HYDROCARBON PERCENT WEIGHTS
PAR
22
23
24
25
OLE
26
27
21
29
DIOLE
30
31
32
33
ETH
34
3S
36
37
ARO
31
39
40
41
CARB
42
43
44
45
ALCO
46
47
41
49
ACET
so
SI
57
S3
METH
54
SS
56
57
OTH
SI
59
60
61
ALDE
62
(3
64
65
NITROGEN OXIDE
PERCENT WEIGHTS
NO
66
67
61
69
N0?
70
71
77
71
74
T,
n
77
i
0
o
Cf
rs
71
0
71
1
10
2
uj
i/i
1 2
IDENTIFICATION FIELD
COUNTY
3 ' " "
PLANT
ii
POINT
sec
I
II
III
V
HYDROCARBON MOLECULAR WEIGHTS
Pt
R
J*
OL
E
77]
29
3Q
DI
1|
OL
17
E
|vi
u
ET
is]
H
in
2
17
8
11
A
11
RO
in
4|
(7
:A
41
3B
44
4S
4fi
Al
47
.C(
4R
)
41
sn
A(
SI
•El
s?
r
*il
«,(
-------
TEMPORAL AND POLLUTANT SPLIT (TRSPLIT) PROGRAM
CONTROL INPUT FILE
IDENTIFYING TEXT
1 7
1
4
S
6
I
1
,
10
II
17
13
|<
|<
16
17
II
19
20
21
22
23
24
2S
26
21
21
29
JO
31
32
33
34
3S
36
37
31
39
40
41
42
43
44
4S
46
41
41
49
SO
SI
S2
S3
S4
SS
56
SI
SS
59
GO
61
67
61
64
GS
66
67
Gt
69
70
71
72
71
74
IS
16
77
11
71 HI)
NUMBER OF SEASONS
h
<.
UJ
I | 2
CVJ
1
"*
a:
II 1
1
m
i
4XJ
«t
111
<
>*
1
LO
«<
llj
S
(
1
1
^
10
II
12
11
14
IS
16
II
It
19
20
71
27
23
24
25
26
27
2S
29
30
31
32
33
34
15
36
31
31
39
40
41
42
43
44
45
46
47
41
49
SO
SI
52
S3
sT
SS
SE
SI
st
59
(0
61
62
63
(4
(S
fc6
(I
11
(9
70
II
17
11
14
IS
)fi
77
71
71
IQ
u.
O 1—
ZD
LU a_
z: 1—
>-• ID
7
LINE ID (TEXT)
3
«
S
i
7
1
1
0
II
17
11
1
IS
II
1
1
see i
II 1
1
, 19 20 2
t.
tl IV
1 22 23 24
I
S
sec
I
6
'7
2
21
I
29
30
TV'
31
32
I
33
SC
IT
34
35
C 3
I I
38
37
3!
39
v
40
I
41
sec
I
42
43
4
44
II
45
4
4
IV
41
I
49 S
S
I
'I'
\
cc
1
57
5
II
S3 S4
1
V
SS
SC
I
s;
i
S
I
9
C 6
III
0
ii
17
IV
E3
64
1
65
SC(
II
66
61
7
III
(i
69
70
IV
71
7?
I
71
II
74
7S
SCC.,8
III
7(
7
71
IV
7!
10
O
I
-------
MAJOR/MINOR POINT SOURCE DIVISION AND MODEL CONVERSION CPSCONV) PROGRAM
CONTROL & SELECTION INPUT FILE
IDENTIFYING TEXT
5 C J I 9 10 II 17 13
1C 17 It 19 20 21 72 23
0 41 42
4iU4l4950S[S253S4S5S6S7SIS9 CO |il |»'|tj|iTft
ill? II 11 !1 II » 1C 7) II 79
BLANK
i
i
3
4
S
(
I
1
1
in
SCALING FACTORS.
NO
II
i?
n
14
1 HC
is1
1C
17
in
- >-
9?
19
?o
FIRST DAY
>-
•* c
o z
71
77
ctr ex
-
-------
AREA SOURCE GRIDDING/MODEL CONVERSION PROGRAM
ALLOCATION FACTORS FILE
IDENTIFYING TEXT
,1iiliil»litliiliiliiliiliiliiliil»|^^
IDENTIFIERS
q
i 29 30
20
31 32 33 34
I DENT
21
35 36 37 31
IFIERS
22
39 <0 41 42
41
23
44
4S
46
24
47
41
49
SO
25
SI
52
S3
54
26
55
Si
S7
SI
27
59
60
El
62
28.
63
C4
65
66
29
67
61
69
10
30
71
12
73
14
75
76
77
71
o o
z z
O UJ
a: __i
srr
79 SO
25
ALLOCATION FACTORS
GRID ID
o
i—"
ro
ST.
TO
SI
12
59
60
61
62
13.
63
64
65
66
14
67
6l|69
1
70
71
5
72
13
14
75
76
77
71
O
z:
Q
or
et
C_>
79
1
3
3=
Jj
_J
-U
10
5
GRID ID
1ST.
ALLOCATION FACTORS
18
n 24 25 26
19
27 21 29 30
20
31 32 33
44
21
22
2
3
2
4
(j|
2
^
5
11
SI
ss
?6
Sfi
-------
AREA SOURCE QRIDOING/MODEL CONVERSION (ASQRID) PROGRAM
CONTROL PARAMETERS FILE
IDENTIFYING TEXT
— —
^
BLANK
ry|
nf
SCALING
NO
llju hi! u
FACTORS
HC
^
IT
i
70
FIRST DAY
71
0
z:
77
=c
71
O
74
zs
AJ
7S
o
or
SECOND DAY
i
77
c
ITT
of
•a:
U
79
DC.
C
10
0
2:
LU
It
OC
:D
§
1?
/SUMMARY REPORT
INDICATOR rflpn ™
14
Ifi
V91
Tn1
[47]
47
41
44
4S
47
49
bb
bl
in
n
NO.
7?
71
/4
7S
76
^
77
7S
>
79
]
J
iS
4
CARD FILE
NO. V NO.
•/>
1
i
COUNTY
3
4
S
(
;
i
9
10
1
11
^
2
13
M
3
IS
IE
4
t>
it
5
19
20
6
21
22
7
2}
H
8
25
2S
9
21
21
10
29
JO
11
31
i!
12
33
J<
13
35
36
14
37
31
15
39
(0
16
(I
42
17
43
44
18
(
J
1
J
10
31
n
17
32
11
14
33
IS
u
34
17
IS
35
19
20
36
21
22
37
23
24
38
2S
2t
39
27
28
40
29
30
41
31
32
42
33
34
43
3S
36
44
37
31
45
39
40
46
41
42
47
43
44
48
4S
4G
49
47
4S
50
49
SO
51
si
52
52
S3
S4
53
ss
Sb
54
57
SS
55
59
60
56
,1
12
57
63
E4
58
6S
EE
59
c;
El
fiO
E9
10
71
72
71
74
71
7fi
77
71
71
2
10
6
CARD FILE
NO. V NO.
»—
CO
1
2
COUNTY
j
4
S
(
7
S
J
10
1
11
17
2
13
14
3
IS
IE
4
u
is
5
19
20
6
21
22
7
Ti
24
8
2S
2E
9
27
21
10
29
JO
11
31
32
12
33
34
13
35
3E
14
37
31
15
39
40
16
41
42
17
43
(4
18
45
4t>
19
47
IS
20
49
SO
21
51
52
22
S3
54
23
SS
SE
24
57
St
25
59
EO
26
El
E2
27
E3
E4
?a
E5
EE
?9
E7
ES
in
E9
iO
71
77
71
74
7S
7(
71
71
\
r
71
1
J
10
6
Ul
1
j
COUNTY
1
-,
c
t
7
S
J
10
31
n
12
32
13
14
33
15
1C
14
17
IS
IS
11
70
36
71
77
37
21
74
38
25
26
39
27
21
40
29
30
41
31
32
42
33
34
43
35
3E
44
37
31
45
39
40
46
41
42
47
43
44
48
4S
4E
49
47
4S
50
49
SO
51
51
S2
52
53
54
53
55
SE
54
57
51
55
59
EO
56
>l
E2
57
63
E4
58
65
6E
59
E7
El
fin
ES
10
71
7?
71
74
7S
U
77
n
71
2
so
6
-------
APPENDIX D
MATHEMATICAL DESCRIPTION OF AIRSHED
MODEL DATA HANDLING SYSTEM
(ASMDHS) ALGORITHMS
-------
TABLE OF CONTENTS
Section Title Page
D.I Control Measures and Growth Projection (CMGROW)
Program Algorithms D-5
D.2 Temporal and Pollutant Split (TPSPLIT) Program
Algorithms D-7
D.3 Major/Minor Point Source Division/Model Conversion
(PSCONV) Program Algorithms D-12
D.4 Area Source Gridding and Model Conversion (ASGRID)
Program Algorithms D-17
D-3
-------
D.I Control Measures and Growth Projection (CMGROW) Program Algorithms
In this section the following definitions apply:
EMISS = estimated emissions
AOPR = annual operating rate (throughput)
EF = emission factor
CDEF = control device efficiency
GF = growth factor
CF1 = control factor, base emissions
CF2 = control factor, emissions growth increments
GCF1 = throughput control factor, base throughput
GCF2 = throughput control factor, throughput growth increments
AS = ash or sulfur content (where applicable); 1 otherwise
The following subscripts are used:
i = process
j = point
k = pollutant
All summations are over all processes for a point.
a) Process-level Emissions Match Point Emissions. For each pollutant;
EMISSijk = AOPRi EF1fk (AS) / 2000 (1)
EMISSj>k = I EMISSijk (1-CDEFj.k) (2)
i
If the calculated emission differs by more than two percent from the
point emissions, a diagnostic message will be printed and the estimated
point emissions will be apportioned to the SCO's (processes):
™T« _ PMT,o EF1>k AOPRj (AS) / 2000 _ (3)
EMISS1fk - EMISSj>k =—2 - -
f EFi>k AOPR,- (AS) (l-CDEFj>k) / 2000)
D-5
-------
b) Emissions Projection. For each process:
EMISSi>k = EMISSi>k [(l-CFlijk) * (l-GCFl^ + (4)
(GFrl) (l-CF2i>k) * (l-GCF2i)]
where the EMISS-jjk on the right side of the equation comes from equation (1)
or (3) depending upon whether apportioning was necessary.
The projected emissions rate for the point is then
EMISSj,k = lEMISSijk (5)
i
If no growth factor GF is input, GF is set to 1. The control factor CF1 is
set to 0 if it is not input and CF2 is set equal to CF1 if CF2 is not input.
A projected annual operating rate is calculated as follows:
AOPRi = AOPRi * ((1-GCFli) + (GFrl) (l-GCF2i)) (6)
where GFi is set to 1 if it is not input, GCF1 is set to 0 if it is not input,
and GCF2 is set equal to GCF1 if GCF2 is not input.
Using the projected values calculated in (4) and (6), a 'projected1 emission
factor is calculated as follows:
EFi>k = EMISS.j,k / AOPRi * 2000. (7)
The emissions rate projected for the process in (4) is used for the
summary report.
D-6
-------
D.2 Temporal and Pollutant Split (TPSPLIT) Program Algorithms
In this section the following definitions apply:
HC = total reported hydrocarbon emissions
HC-ADJ = hydrocarbon emissions adjusted for aldehydes
TSP = total suspended particulate matter
SOX = su]fur oxides
CO = carbon monoxide
NOX = oxides of nitrogen
MW-n = molecular weight of species n
PCT-n = percent by weight of species n
MASS-n = mass of species n
PCT-n
= * HC-ADJ
100
PAR = moles of single-bonded carbon atoms
OLE = moles of highly reactive double-bonds
ARO = moles of aromatic rings
CARB = moles of carbonyl bonds
ETH = moles of moderately reactive double bonds
NO = moles of nitric oxide
N02 = moles of nitrogen dioxide
AS = ash content for fuels if particulate emission
= sulfur content for fuels if sulfur oxide emission
= 1 otherwise
ANN-E-R = emission rate, gm-moles/yr
All summations are over all processes for a point.
a) Process-level Emissions Match Point Emissions. Compute
PETQT= I AOPRi*EF1*AS*(l-CE)/2000 (1)
i
where:
D-7
-------
= total pollutant emissions for all processes for the point
AOPR-j = annual process operating rate (from Segment 2' of EIS/P&R)
EF-j = emission factor for process i
CE = control efficiency (fraction) for point (Segment 1)
for each criteria pollutant (TSP,SOX, CO, NOX, HC).
If AOPR-j or EF-j is missing, it is set to 1.0.
If CE is missing, it is set to 0.
If PEj deviates from the Segment 1 emissions value PEj by +2% or more
(+10% if the Segment 1 emissions are less than 10 tons/year), the individual
process emissions are recomputed as
_ PEx * AOPR * EFj * AS * (1-CE) (2)
PETQT * 2000
thereby giving I PE.=PE^. After the allocation PE-j-QT is set equal to
i
b) Default Hydrocarbon-to-Carbon Bond Pollutant Split Algorithm.
PAR = 0.6 * HC / 14.0 (3)
OLE = 0.02 * HC / 28.0 (4)
ARO = 0.12 * HC / 78.0 (5)
CARB = 0.02 * HC / 30.0 (6)
ETH = 0.02 * HC / 28.0 (7)
c) Default NOv-to-NO and NO? Pollutant Split Algorithm.
For area sources:
NO = 0.90 * NOX / 46.0 (8)
N02= 0.10 * NOX / 46.0 (9)
D-8
-------
For point sources:
NO = 0.95 * NOX / 46.0 (10)
N02= 0.05 * NOX / 46.0 (11)
d) Standard Algorithm Hydrocarbon-to-Carbon Bond Pollutant Split.
HC*100 (12)
HC-ADJ =
(100 - PCT-ALDEHYDES )
PAR = HC-ADJ * PCT-PARAFFIN / 100 / 14.0 (13)
OLE = HC-ADJ * PCT-OLEFINS / 100 / 28.0 (14)
ARO = HC-ADJ * PCT-AROMATICS / 100 / 78.0 (15)
CARB = HC-ADJ * PCT-CARBONYLS / 100 / 30.0 (16)
ETH = HC-ADJ * PCT-ETHYLENE / 100 / 28.0 (17)
e) Standard or Optional Algorithm NO^to-NO and NO^PoTliitant Split.
NO = NOX * PCT-NO / 100 / 46.0 (18)
NOX = NOX * PCT-N02 / 100 / 46.0 (19)
f) Optional Algorithm Hydrocarbon-to-carbon Bond Pollutant Split.
PAR = MASS-OLEFIN MN-OLEFIN - 28 - 2 MASS-DIOLEFIN
14 MW-OLEFIN MW-DIOLEFIN
+ MASS-CARBONYLS MW-CARBONYLS - 30
14 MW-CARBONYLS
+ MASS-AROMATICS MW-AROMATICS - 78
14 MW-AROMATICS
+.MASS-ALCOHOLS MW-ALCOHOLS - 18
14 MW-ALCOHOLS
+ MASS-ACETATES MW-ACETATES - 46
14 MW-ACETATES
+ MASS-PARAFFINS (20)
14.5
D-9
-------
OLE = MASS-OLEFIN + MASS-DIOLEFIN - MASS-ETHYLENE (21)
MW-OLEFIN MW-DIOLEFIN 28
ARO = MASS-AROMATICS (22)
MW-AROMATICS
CARB = MASS-CARBONYLS + MASS-ACETATES (23)
MW-CARBONYtS MW-ACETATES
ETH = MASS-ETHYLENE (24)
28
Notes: Olefins include both diolefins and ethylene.
Carbonyls include aldehydes and ketones but not esters (acetates).
g) Mole Conversion for Other Species. The Urban Airshed Model AEROSOLS
category is assumed to be the same as TSP, with 1 gram per mole.
SOX is computed as S02, 64 grams per mole.
CO is 28 grams per mole.
h) Uniform Default Algorithm Temporal Split. For point sources, the
hourly emission rate for all species in moles is:
HRLY-E-R = ANN-E-R / 52 / 5 / 8 (25)
based on 52 weeks per year, 5 days per week, 8 hours per day. The day is
assumed to.begin in the eighth hour (0700-0800) local time.
For area sources, the hourly emission rate for all species in moles is:
HRLY-E-R = ANN-E-R / 52 / 7 / 24 (26)
based on 52 weeks per year, 7 days per week, 24 hours per day.
i) Modified Default Algorithm Temporal Split. For all sources for which
there is complete EIS/P&R Segment 1 data for the operating schedule, that
schedule modifies the Uniform Default Algorithm in h above as follows:
HRLY-E-R = ANN-E-R * SEAS-FACT / 13 / DAYS / HOURS (27)
D-10
-------
where:
SEAS-FACT = EIS/P&R percent operating for the season selected by
the users
13 = assumed number of weeks per season
DAYS = EIS/P&R weekly days of operation
HOURS = EIS/P&R daily hours of operation
j) Standard Temporal Split. The daily fraction is computed as:
DAILY-FRAC = SEAS-FACT * DAILY-FACTOR (28)
where the seasonal and daily factors are taken from the selected temporal
split data. This is then multiplied by each hour's factor and annual
pollutant emission rate to obtain the hourly emission rate:
HRLY-E-R = ANN-E-R * DAILY-FRAC * HRLY-FRAC (29)
where HRLY-FRAC is taken from the selected temporal split data.
D-ll
-------
D.3 Major/Minor Point Source Division/Model Conversion (PSCONV) Program
Algorithms
The calculations performed in program PSCONV are as follows:
a) Defining Area Being Modeled.
HORIZONTAL-BOUND = (WS-U-R-H-EASTING - WS-L-L-H-EASTING) / (1)
WS-GRID-SIDE
where:
HORIZONTAL-BOUND = Easting boundary (highest grid square number)
WS-U-R-H-EASTING = Upper-right-hand UTM easting coordinate of
the area
WS-L-L-H-EASTING = Lower-left-hand UTM easting coordinate of the
- a rea
WS-GRID-SIDE = size of each grid square in the area
VERTICAL-BOUND = (WS-U-R-H-NORTHING - WS-L-L-H-NORTHING) / (2)
WS-GRID-SIDE
where:
VERTICAL-BOUND = Northing boundary (highest grid square number)
WS-U-R-H-NORTHING = Upper-right-hand UTM northing coordinate of
the area
WS-L-L-H-NORTHING = Lower left-hand UTM northing coordinate of
the area
b) Grid Assignment.
COL = ((HORIZONTAL-N-METERS - WS-L-L-H-EASTING) / (3)*
WS-GRID-SIDE) + 1
*See footnote on next page.
D-12
-------
where:
COL = X position of the point in the area grid
HORIZONTAL-N-METERS = UTM Easting Coordinate, in meters, of the
point.
WS-L-L-H-EASTING = Lower left hand easting coordinate of the area
ROW = ((VERTICAL-N-METERS - WS-L-L-H-NORTHING) / WS-GRID) + 1 (4)*
where:
ROW = Y position of the point in the area grid
VERTICAL-N-METERS = UTM northing coordinate, in meters of the point
WS-L-L-H-NORTHING = Lower left hand northing coordinate of the area
c) Metric Conversion.
WORK-N-HEIGHT = WORK-N-HEIGHT / FT-N-METER (5)
where:
WORK-N-HEIGHT = Physical stack height (ft) of the point
FT-N-METER = 3.28 ft/m
WORK-N-PLUME = WORK-N-PLUME / FT-N-METER (6)
where:
WORK-N-PLUME = Plume height (ft) of the stack
WORK-N-TEMP = (CENTIGRADE * (WORK-N-TEMP - FARENHGT) + 273) (7)
* One is added to compensate for truncation to assure that the point will
fall in the proper column/row position in the area grid.
D-13
-------
where:
WORK-N-TEMP = Temperature (F) of the stack
CENTIGRADE = .56
FARENHGT = 32.
WORK-N-DIAMETER = WORK-N-DIAMETER / FT-N-METER (8)
where:
WORK-N-DIAMETER = Stack diameter, ft.
WORK-N-FLOW = (WORK-N-FLOW / FT-N-METER ** CUBE) / SECONDS (9)
where:
WORK-N-FLOW = Stack exit flow rate ft3/min
CUBE = 3
SECONDS = 60
The vertical and horizontal coordinates are multiplied by 1000 for
conversion from kilometers to meters.
d) Plumerise Calculation. (Subroutine BEH072)
HF = HP + DELHF (10)
where:
HF = final plume height (meters)
HP = physical stack height (meters)
DELHF = final plume rise (meters)
DELHF = 1.6 * (F ** (1 / 3)) * ((3.5 * XST) ** (2 / 3)) / U (11)
D-14
-------
where:
XST = 14 * (F ** (5 / 8)), F<55 (12)
= 34 * (F ** (4 / 10)), F>55 (13)
U = wind speed, 2 m/sec
F = g/ir * VF * (TS-T) / TS
VF = stack gas volumetric flow rate, m3/sec
TS = stack gas temperature, K
T = ambient termperature, 298K
g = acceleration due to gravity, 9.80616 m/sec2
If VF is not input, it is calculated as:
VF = ir/4*VS*D*D (14)
where:
VS = stack gas exit velocity, m/sec
D = stack diameter, m
This computation is based on a fixed stability class of 2, fixed wind
speed of 2 m/sec and fixed ambient temperature of 298K. Note that if TS, or
VF and (VS or D) is missing, the computation is not performed.
e) Emissions Scaling Calculations.
NO-E-R = NO-EM * NOX-S-F (15)
N02-E-R = N02-EM * NOX-S-F (16)
PAR-E-R = PAR-EM * HC-S-F (17)
OLE-E-R = OLE-EM * HC-S-F (18)
ARO-E-R = ARO-EM * HC-S-F (19)
CARB-E-R = CARB-EM * HC-S-F (20)
ETH-E-R = ETH-EM * HC-S-F (21)
where:
NOX-S-F = the NOX scaling factor
D-15
-------
HC-S-F = the HC scaling factor
xxx-EM = the hourly emissions rates from the Hourly Source/
Emissions File
xxx-E-R = scaled hourly emissions rates for use by the Urban Airshed
Model
D-16
-------
0.4 Area Source Gridding and Model Conversion (ASGRID) Program Algorithms
a) Application of Scaling Factors to Emission Values.
NO-E-R = NO-EM * NOX-S-F (1)
N02-E-R = N02-EM * NOX-S-F (2)
PAR-E-R = PAR-EM * HC-S-F (3)
OLE-E-R = OLE-EM * HC-S-F (4)
ARO-E-R = ARO-EM * HC-S-F (5)
CARB-E-R = CARB-EM * HC-S-F (6)
ETH-E-R = ETH-EM * HC-S-F (7)
where:
xxx-EM = the emissions rate for species xxx in gm-moles/hr
xxx-E-R = the scaled emissions rate in gm-moles/hr
b) Grid Allocation.
poll-E-R-G = poll-E-R * ALLOC-FACT (CATEG) (8)
where:
CATEG = the category of allocation factor (1-30).
This computation is performed for each grid on the Allocation Factor
File.
D-17
-------
TECHNICAL REPORT DATA
(Please read Instructions on the reverse before completing)
1. REPORT NO.
EPA-450/4-80-030
2.
3. RECIPIENT'S ACCESSIOWNO.
4. TITLE AND SUBTITLE
5. REPORT DATE
The Airshed Model Data Handling System (ASMDHS)
User's Guide
IQRfl
6. PERFORMING ORGANIZATION CODE
7. AUTHOR(S)
8. PERFORMING ORGANIZATION REPORT NO.
The Research Triangle Institute
Operations Analysis Division
9. PERFORMING ORGANIZATION NAME AND ADDRESS
Office of Air Quality Planning and Standards
Modeling and Data Analysis Division
Research Triangle Park, N.C. 27711
10. PROGRAM ELEMENT NO.
11. CONTRACT/GRANT NO.
68-02-3052
12. SPONSORING AGENCY NAME AND ADDRESS
13. TYPE OF REPORT AND PERIOD COVERED
U. S. Environmental Protection Agency
Office of Air, Noise, and Radiation
Office of Air Quality Planning and Standards
Research Tn'annlp Park. N.n. 27711
14. SPONSORING AGENCY CODE
15. SUPPLEMENTARY NOTES
16. ABSTRACT
This document describes the operations and use of the Airshed Model Data Handling
System (ASMDHS). ASMDHS converts annual emissions data from Emissions Inventory
Subsystem/Permits and Registrations (EIS/P&R) format into hourly emissions data for
use by the Urban Airshed Model of Systems Applications, Incorporated. The ability
to project growth, assign control strategies, compute emission rates by carbon bond
type, and select major point sources for detailed modeling treatment are included
as features. This document includes both a system description and a User's Guide.
17.
KEY WORDS AND DOCUMENT ANALYSIS
DESCRIPTORS
b.lDENTIFIERS/OPEN ENDED TERMS
c. COS AT I Field/Group
Computer Programs
Computer Software
Data Processing
Reactive Pollutants
Dispersion Modeling
ASMDHS
EIS/P&R
Atmospheric Pollution
Reactive Pollutants
UAS
Urban Airshed Model
SAI
18. DISTRIBUTION STATEMENT
Unlimited
19. SECURITY CLASS (ThisReport)
Unclassified
21. NO. OF PAGES
532
20. SECURITY CLASS (Thispage)
Unclassified
22. PRICE
EPA Form 2220-1 (9-73)
------- |