United States
Environmental Protection
Agency
Environmental Sciences Research
Laboratory
Research Triangle Park NC 27711
EPA-600/8-78-014a
July 1978
Research and Development
v>EPA
User's Manual for
Kinetics Model and
Ozone Isopleth
Plotting Package
-------
RESEARCH REPORTING SERIES
Research reports of the Office of Research and Development, U.S. Environmental
Protection Agency, have been grouped into nine series. These nine broad cate-
gories were established to facilitate further development and application of
environmental technology. Elimination of traditional grouping was consciously
planned to foster technology transfer and a maximum interface in related fields.
The nine series are:
1. Environmental Health Effects Research
2. Environmental Protection Technology
3. Ecological Research
4. Environmental Monitoring
5. Socioeconomic Environmental Studies
6. Scientific and Technical Assessment Reports (STAR)
7. Interagency Energy-Environment Research and Development
8. "Special" Reports
9. Miscellaneous Reports
This report has been assigned to the SPECIAL REPORTS series. This series is
reserved for reports which are intended to meet the technical information needs
of specifically targeted user groups. Reports in this series include Problem Orient-
ed Reports, Research Application Reports, and Executive Summary Documents.
Typical of these reports include state-of-the-art analyses, technology assess-
ments, reports on the results of major research and development efforts, design
manuals, and user manuals.
EPA REVIEW NOTICE
This report has been reviewed by the U.S. Environmental Protection Agency, and
approved for publication. Approval does not signify that the contents necessarily
reflect the views and policy of the Agency, nor does mention of trade names or
commercial products constitute endorsement or recommendation for use.
This document is available to the public through the National Technical Informa-
tion Service, Springfield, Virginia 22161.
-------
OZIPP Manual Revisions
Air Management Technology Branch
Monitoring and Data Analysis Division (MD-14)
U. S. Environmental Protection Agency
Research Triangle Park, N.C. 27711
I would like to receive future revisions to the User's Manual
for Kinetics Model and Ozone Isopleth Plotting Package.
Name _
Address
o>
-------
EPA-600/8-78-014a
July 1978
USER'S MANUAL FOR KINETICS MODEL AND
OZONE ISOPLETH PLOTTING PACKAGE
by
Gary Z. Whitten
H. Hogo
Systems Applications, Incorporated
950 Northgate Drive
San Rafael, California 94903
Contract 68-02-2428
Project Officer
Marcia C. Dodge
Atmospheric Chemistry and Physics Division
Environmental Sciences Research Laboratory
Research Triangle Park, North Carolina 27711
This study was conducted in cooperation with
Monitoring and Data Analysis Division
Office of Air Quality Planning and Standards
ENVIRONMENTAL SCIENCES RESEARCH LABORATORY
OFFICE OF RESEARCH AND DEVELOPMENT
U.S. ENVIRONMENTAL PROTECTION AGENCY
RESEARCH TRIANGLE PARK, NORTH CAROLINA 27711
-------
DISCLAIMER
This report has been reviewed by the Office of Research and Development
and the Office of Air Quality Planning and Standards, U.S. Environmental
Protection Agency, and approved for publication. Mention of trade names
or commercial products does not constitute endorsement or recommendation
for use.
11
-------
PREFACE
This publication contains information on and the computer programs for
the Kinetics Model and Ozone Isopleth Plotting Package (OZIPP). OZIPP can
be used to estimate maximum ozone concentrations as a function of initial
precursor concentrations, transported ozone/precursors, post-0800 emissions
and meteorological conditions which are appropriate for a specific city.
From these estimate?, the program can generate ozone isopleths which are
specific to a city under review. These isopleths can then be applied in
the Empirical Kinetic Modeling Approach (EKMA) as described in EPA-450/2-
77-021a and EPA-450/2-77-021b. EKMA is useful for (1) estimating NMHC and/or
NOX reductions required to attain the NAAQS for ozone and (2) estimating
the change in peak daytime ozone concentrations downwind of cities accompanying
a specified change in NMHC and/or NOX.
Although the computer program has been checked thoroughly on Univac and
CDC computing systems, incompatibilities on other systems may be found. In
case there is a need to update this model, revisions will be distributed in
the same manner as this report. Revisions may be obtained as they are issued
by completing and mailing the form at the front of the manual.
The computer program described in this manual is available on magnetic
tape as EPA-600/8-78-014b and can be acquired in either of two ways:
(1) Government and non-profit agencies may obtain a copy of the
program by writing:
Chief, Modeling Support Section (MD-14)
Source Receptor Analysis Branch/MDAD
U.S. Enviornmental Protection Agency
Research Triangle Park, North Carolina 27711
(2) Others wishing a copy of the program may purchase it from the
National Technical Information Service, Springfield, Virginia 22161,
Telephone (703) 557-4650.
IT i
-------
ABSTRACT
The Kinetics Model and Ozone Isopleth Plotting Package (OZIPP) is a
computerized model that simulates ozone formation in urban atmospheres.
OZIPP calculates maximum one-hour average ozone concentrations given a set
of input assumptions about initial precursor concentrations, light in-
tensity, dilution, diurnal and spatial emission patterns, transported
pollutant concentrations, and reactivity of the precursor mix. The re-
sults of multiple simulations are used to produce an ozone isopleth
diagram tailored to particular cities. Such a diagram relates maximum
ozone concentrations to concentrations of non-methane hydrocarbons and
oxides of nitrogen, and can be used in the Empirical Kinetic Modeling
Approach (EKMA) to calculate emissions reductions necessary to achieve air
quality standards for photochemical oxidants. This user's manual de-
scribes the technical basis, necessary and optional input data, computer
code and the use of OZIPP.
-------
CONTENTS
Abstract 1v
Figures v™
Tables vili
Acknowledgements i*
1.0 Model Overview 1
1.1 Background and Purpose 1
1.2 Scope and Use 1
1.2.1 Applications 1
1.2.2 Limitations 3
1.3 Basic Definitions and Concepts 4
1.3.1 Basic Definitions 4
1.3.2 Concepts 6
1.4 System Description 7
1.4.1 Simulation Section 7
1.4.2 Interpolation and Plotting Section 10
1.5 Summary of Input Data 11
1.6 Output. 13
2.0 Technical Discussion 14
2.1 Conceptual Basis For The OZIPP Kinetics Model 14
2.2 Description of a Single Simulation 17
2.2.1 Data Preparation Steps 17
2-.2.2 Determination of Initial Concentrations 18
2.2.3 Mathematical Formulation of Kinetics Model 21
2.2.4 Description of Numerical Integration . 27
2.3 Selection of Simulations For Generation of Isopleth .Diagrams 28
2.3.1 Selection of Individual Points 29
2.3.2 Selection of Radials and Points Along Radials. ... 31
2.4 Interpolation and Plotting of Isopleth Diagram 34
3.0 OZIPP Options and Data Requirements 35
3.1 Categories of Options 35
3.1.1 Summary of Code Words and Input Data 35
3.1.2 Structure of Option Cards 38
3.2 Detailed Description of Options 38
3.2.1 Incorporation of City-specific Information 38
3.2.2 Diagram Definition Options 44
3.2.3 Methods for Reducing Computer Time . . . 46
3.2.4 Accuracy Tests of the Isopleth Diagram 49
3.3 Limitations on Isopleth Shapes 53
-------
CONTENTS
4.0 User's Guide 55
4.1 Format of Input Data 55
4.2 Program Generated Error Messages 68
4,2.1 Fatal Error Messages . 68
4.2.2 Non-Fatal Error Messages 69
4.3 Computer Considerations 70
4.3.1 Language Considerations 70
4.3.2 Use of CALCOMp Routines 71
4.3.3 Control Language 72
5.0 Example OZIPP Runs 73
5.1 The Standard Ozone Isopleth Diagram 73
5.1.1 Input Data for Standard Diagram Example 73
5.1.2 Program Output for Standard Diagram Example. . . 75
5.2 Example City-specific Diagram .... 76
5.2.1 Determination of City-specific Parameters. ... 76
5.2.2 Diagram Definition 81
5.2.3 Input Data for City-specific Example 82
5.2.4 Program Output for City-specific Example .... 85
5.3 Example Transport Problem 87
5.4 Use of Tension Factors 89
References. . 93
Appendices
A. Kinetic Mechanism Used in OZIPP. 94
B. Program Source Listings 100
C. Selected Flow Diagrams 190
D. Input and Output For Standard Ozone Isopleth
Diagram Example 204
E. Input and Output For City-specific Diagram Example ... 213
VI
-------
FIGURES
Number Page
1-1 Example Ozone Isopleth Diagram . 2
1-2 Schematic of OZIPP System . 8
1-3 Schematic of Simulation Section . . . . 9
1-4 Schematic of Interpolation and Plotting Section 12
2-1 Initial Simulation Points 30
5-1 Input Data for Standard Ozone Isopleth Diagram Example .... 74
5-2 Input Data for City-specific Diagram Example 83
5-3 Example City-specific Diagram for Reduced Transport Case. ... 88
5-4 Isopleth Diagram With Default Tension Factor Showing
Touching Isopleths 90
5-5 Isopleth Diagram With Increased Tension Factor to Eliminate
Touching Isopleths 91
D-l Input Deck for Standard Diagram Example -05
D-2 Output for Standard Diagram Example 206
D-3 CALCOMP Plot for Standard Diagram Example 212
E-l Input Deck for City-specific Diagram Example 214
E-2 Output for City-specific Diagram Example. 215
E-3 CALCOMP Plot for City-specific Diagram Example 238
VII
-------
TABLES
Number Page
3-1 Maximum Ozone Concentrations in Simulations at
Various Error Tolerances in the Numerical Integration. . . 52
4-1 Input Format for OZIPP Options. . 57
5-1 Example of Estimation of Emissions Fractions for OZIPP. . . 79
viii
-------
ACKNOWLEDGEMENTS
The authors are pleased to acknowledge the valuable contributions
of the Environmental Protection Agency Project Officer, Dr. Marcia Dodge,
of the Chemistry and Physics Division, Environmental Sciences Research
Laboratory, and Dr. Edwin L. Meyer, John E. Summerhays, and Gerald L.
Gipson of the Monitoring and Data Analysis Division, Office of Air
Quality Planning and Standards. Whitmel M. Joyner (OAQPS) provided
valuable assistance in editing the manual, and special thanks are due to
Carole J. Mask (OAQPS) for help in typing and assembling the document.
-------
1.0 MODEL QVERVIEU
1J BACKGROUND AND PURPOSE
The Empirical Kinetic Modeling Approach (EKMA) has been developed as a
procedure for relating photochemical oxidants (expressed as ozone) to organic
compounds and oxides of nitrogen. The EKMA utilizes a set of ozone isopleths
(lines of equal concentration) which depict maximum afternoon concentrations of
ozone downwind from a city as a function of the following parameters:
' Morning concentrations of non-methane hydrocarbons (NMHC)
and oxides of nitrogen (NO )
' Emissions of NMHC and NO occurring during the day
A
Meteorological conditions
' Reactivity of the NMHC mix
" Concentrations of ozone and precursors transported
from upwind areas.
The isopleths are developed by performing computer simulations of atmospheric
photochemical reactions with various assumed levels of initial NMHC and NO
A
concentrations. The ozone isopleths are then plotted as a function of initial
precursor concentrations. (An example diagram is shown in Figure 1-1).
A computer program has been developed to provide users of EKMA with an
easy, reliable, efficient and versatile means of constructing ozone isopleth
diagrams. This program is called the Ozone Isopleth Plotting Package, or
O^IPP. OZIPP allows explicit consideration of transport, different emission
patterns, etc. The purpose of this manual is to describe the computer program,
the associated input requirements, the information generated and the procedures
for executing the program.
1.2 SCOPE AND USE
1.2.1 Applications
EKMA is a technique for relating changes in the maximum one-hour average
ozone concentrations observed within or downwind of an urban area to changes
-------
1-3
Figure 1-1. Exanple Ozone Isopleth Diagram
~1
! -^r
fvl
fsj
"o
T—4
(I
"o
Csl
cn
o
"o
o
"CD
-------
in the ambient concentrations of NMHC and NO in that urban area. It is
A
intended primarily for estimating the emissions controls required in urban
areas as part of the State Implementation Plans (SIP) to meet national ambient
air quality standards. Thus, EKMA is used to address questions such as:
' What percentage reduction in the ambient concentration of
NMHC or NO , or both, would be needed to attain compliance
with the federal air quality standard for photochemical
oxidants (ozone)?
' What reduction in the maximum one-hour-average ozone con-
centration is likely to accompany a given reduction in
the ambient concentration of NMHC or NO ?
X
Procedures for applying the EKMA technique are described in Reference 1. This
reference also discusses the derivation of the information which is used in
OZIPP.
The primary function of OZIPP is to generate ozone isopleth diagrams that
are representative of conditions in a particular city. These types of diagrams,
termed city-specific diagrams, are generated by OZIPP using city-specific
information on the location and time of year (thereby defining sunlight intensity),
local atmospheric dilution rate and local diurnal patterns of NMHC and NO
/\
emissions. OZIPP can also be used to regenerate the Standard Ozone Isopleth
Diagram presented in Reference 1. In this situation, the diagram is based on
fixed assumptions regarding sunlight intensity, atmospheric dilution rate and
the diurnal pattern of emissions. OZIPP can also be used to simulate ozone
formation for a set of city-specific assumptions and specified initial NMHC
and NO concentrations. When operating in this mode, OZIPP has the capability
X
of displaying the time rate of change of pollutant concentrations, chemical
reaction rates, etc.
1.2.2 Limitations
EKMA, and therefore OZIPP, is limited in applicability to ozone problems
within or immediately downwind of large urban areas. Thus, the OZIPP is not
applicable to the following situations:
-------
' The rural ozone problem.
" Situations in which transported ozone and/or precursors are
clearly dominant (i.e., a rural area downwind of a city).
' Cases in which the maximum ozone concentration occurs at
night or in the early morning.
' Development of control strategies for single or small groups
of emissions sources.
The validity of an ozone isopleth diagram generated by OZIPP for a particular
city may be limited by the following properties:
• The kinetic mechanism used to describe the transformations
of NMHC and NO .
A
" The physical assumptions used to formulate the model under-
lying the isopleths generated by OZIPP.
' The meteorological data and assumptions for specifying the
parameters required to apply OZIPP.
' The availability and reliability of current NMHC, NO and
ozone data.
* The mathematical assumptions needed to solve the differential
equations formulated within OZIPP.
' The interpolations necessary to generate isopleths from the
results of a number of computer simulations.
Because these factors are part of the basic definitions and concepts that
constitute OZIPP and EKMA, they are explained more fully in the following
sections.
1.3 BASIC DEFINITIONS AND CONCEPTS
1.3.1 Basic Definitions
' Kinetic Mechanism -- A kinetic mechanism is a set of chemical reactions
and rate constants that is intended to describe some chemical process.
From a kinetic mechanism, one can derive coupled, first-order, non-linear
differential equations that describe the rates of change of pollutant
concentrations with time. These equations can be solved using a com-
puter to simulate the changing pollutant concentrations in a smog
-------
chamber or in the atmosphere. The kinetic mechanism used in OZIPP
was developed by Dodge and is shown in Appendix A.
Precursors of Ozone -- Precursors of ozone are the emitted chemical
species that react to form ozone. The primary precursors are non-
methane hydrocarbons and oxides of nitrogen. In OZIPP, non-methane
hydrocarbons are represented by butane and propylene. Methane is not
considered a precursor because it reacts very slowly. NO , as used
in this report, signifies the sum of the concentrations of nitric
oxide (NO) and nitrogen dioxide (N0?).
Simulation -- A computer simulation involves the calculation of the
concentrations of pollutants included in the kinetic mechanism. Con-
centrations are calculated at various times beginning at 0800 Local
Daylight Time (LOT) and ending at 1800 LOT. The calculations involve
the integration of a set of coupled, first-order, non-linear, differential
equations that describe the kinetic mechanism and the physical pro-
cesses underlying the model. User specified assumptions about initial
precursor concentrations, emission patterns, dilution, transported
pollutants, reactivity and light intensity are incorporated in each
simulation.
Ozone Isop!etn Piagram -- An ozone isopleth diagram as generated
by OZIPP is illustrated in Figure 1-1. Each curved line in the
diagram represents a constant maximum one-hour average ozone con-
centration. Thus, the NMHC and NO coordinates associated with any
point on a single, curved line proauce the same maximum concentration
of ozone. In OZIPP, about 60 simulations are normally performed to
produce such a diagram.
Reactivity -- This is a property of the precursors that governs the
rate of ozone production. The kinetic mechanism contained in OZIPP
uses a mixture of propylene, which is very reactive, and n-butane,
which is only marginally reactive, to represent the reactivity of the
NMHC in an urban area. Thus, propylene and n-butane are surrogates
for the urban mixture of NMHC, with 100 percent propylene defining the
highest possible reactivity and 100 percent n-butane the lowest.
Default Values -- Certain parameters are necessary for running OZIPP.
The default values are the values of these parameters that will be
used unless other values are entered in the input data. For example,
the default value for the highest initial NMHC concentration used in
any simulation is 2.0 ppmC; if no number is entered in the input data
for this parameter, OZIPP will use 2.0 ppmC by default. Running OZIPP
with all of the default values will generate the standard isopleth
diagram described in Reference 1.
Diagram Point -- Any poi-i ci an ozone isopleth diL_ 'am generated by
OZIPP has threi parameters associated with it: an initial NMHC con-
centration, an initial NO concentration and a maximum one-hour average
s\
-------
ozone concentration corresponding to the initial NMHC and NO con-
centrations. A set of these three parameters is termed a diagram
point. The ozone concentrations at some diagram points are deter-
mined from actual computer simulations (i.e., by solving the set
of differential equations). The ozone concentrations at other
diagram points are interpolated from the simulation diagram points.
It is important to note that the NMHC and NO diagram points represent
only the concentrations of these pollutants resulting from the city's
emissions prior to the beginning of a simulation. The precursor
concentrations associated with these diagram points do not include
pollutant concentrations transported into the urban area, nor the
pollutant concentrations resulting from emissions occurring after the
beginning of the simulation. Thus, the diagram point precursor
concentrations do not necessarily represent the absolute amounts of
NMHC and NO that generated the ozone in a simulation. However, the
ozone concentration associated with each diagram point includes the
effects of all these factors.
' Spline Interpolation -- A spline interpolation is the use of a cubic
polynomial or a hyperbolic function to interpolate ozone concentra-
tions between diagram points for which ozone concentrations have been
calculated by computer simulations. (Interpolation is used to reduce
the number of computer simulations necessary to construct an isopleth
diagram, and hence to reduce the cost of running OZIPP). Typically,
the values of these spline functions and their first and second deriv^
atives are matched at the calculated diagram points, resulting overall
in one smooth line that passes through these points. A mechanical
analogy of a spline function is a wire constrained to touch certain
points. If the wire is pulled taut, it will bend at each point but
be straight between points. If the tension is reduced, the wire will
provide a smooth curve touching the points. The hyperbolic spline
functions used to interpolate between calculated diagram points in
OZIPP have an adjustable tension factor analogous to the tension on
the wire. However, these interpolations are performed internally by
the OZIPP, and normally there is no need for the user to be directly
concerned with the spline functions.
1.3.2 Concepts
The physical model underlying the OZIPP is similar in concept to a
trajectory-type photochemical model. A column of air consisting of initial
concentrations of ozone and precursors is transported along an assumed trajectory
As the column moves, it can encounter fresh precursor emissions, which are
assumed to be mixed uniformly within the column. The column is assumed to act
like a large smog chamber in which the precursors react according to the
kinetic mechanism in Appendix A to form ozone and other products. The column
extends from the earth's surface to the base of an elevated inversion. The
-------
diameter of the column is such that concentrations inside and just outside the
column are similar, so that the horizontal exchange of air in and out of the
column can be ignored. The volume of the column increases only as the inversion
rises. Thus, the pollutants within the column are diluted as they are mixed
with the air aloft. If the air aloft is polluted, the inversion rise also
introduces ozone and precursors. The OZIPP mathematically simulates these
physical and chemical processes.
As discussed in Section 1.2.1, the primary function of OZIPP is to
generate an ozone isopleth diagram specific to a particular city. OZIPP
operates in two stages. The first stage performs computer simulations to
calculate maximum ozone concentrations as a function of initial NMHC and NO
/\
concentrations. The initial concentrations at which these simulations are
performed are carefully selected in such a way as to favor accurate inter-
polation of the desired ozone isopleths. The first stage, which includes all
of the computer simulations using the kinetic mechanism, is by far the most
time-consuming part of OZIPP operations. In the second stage, interpolation
schemes are used to determine the isopleth lines from the calculated diagram
points and to draw the isopleth diagram that is OZIPP's major output.
1.4 SYSTEM DESCRIPTION
A schematic diagram of the OZIPP system is presented in Figure 1-2. Note
that the off-line plotter is optional. The two major sections of the OZIPP
program (i.e., the simulation section and the interpolation and plotting
section) are described below.
1.4.1 Simulation^ Sectior^
A schematic diagram of the simulation section is given in Figure 1-3.
The input deck activates or suppresses various options in OZIPP and supplies
city-specific input data to replace default values. The processor passes the
data on sunlight intensity, dilution rate, reactivity of precursors, diurnal
pattern of precursor emissions, and data on transported pollutants to the
differential equation intergrator for use in the simulations. The information
-------
Card Input
OZIPP
(Optional)
Printout
Figure 1-2. Schematic of OZIPP System
-------
STORAGE OF CALCU-
LATED DIAGRAM POINTS
KINETIC MECHANISM
INPUT DECK
PROCESSOR
INITIAL CONDITIONS
DETERMINATION
CITY-SPECIFIC
VALUES
I
DIFFERENTIAL EQUA-
TION INTEGRATOR
MAXIMUM OZONE
SELECTOR
Figure 1-3. Schematic of Simulation Section
-------
on OZIPP options (described in Chapter 3) is passed to the initial conditions
determination subsection.
The initial conditions determination subsection directs the performance
of the computer simulations used to construct an ozone isopleth diagram. More
simulations may produce a more accurate isopleth diagram, but they increase
the cost of running OZIPP. (The number of simulations performed can be varied
by the user). The initial conditions determination subsection attempts to
select simulations which will permit the optimal interpolation accuracy. It
includes a feedback scheme, so that calculated diagram points can be used to
determine NMHC and NO concentrations for subsequent simulations. For example,
,/»
if the lowest O2one concentration for which an isopleth is to be drawn is
0.08 ppm, a diagram point with a maximum one-hour average ozone concentration
of 0.04 ppm is not as valuable as a 0.08 ppm diagram point. The feedback
scheme ensures that few simulations will be performed at NMHC and NO concen-
A
trations similar to those of a previously calculated diagram point, or at
concentrations for which the calculated maximum one-hour average ozone concen-
tration is likely to be very low.
After the selection of the NMHC and NO concentrations at which simulations
A
are to be performed, the simulations are actually performed by the differential
equation integrator. The set of first-order, differential equations is solved
numerically. The differential equation integrator calculates the concentrations
of 32 chemical species in the kinetic mechanism as a function of time during
the simulation period. (The period from 0800 to 1800 LOT is simulated). The
ozone concentrations are passed from the differential equation integrator to
the maximum ozone selector, which determines the maximum one-hour average
ozone concentration. This value is passed to the initial conditions deter-
mination subsection, which uses it and its associated NMHC and NO concentra-
/\
tions in choosing new NMHC and NO concentrations for the next simulation.
J\
1.4.2 Interpolation and Plotting Section
After all simulations have been performed, the calculated diagram points
are passed to the interpolation and plotting section (represented schematically
10
-------
in Figure 1-4). In the first interpolation stage, spline interpolation is
performed between the calculated diagram points to determine specific NMHC and
NO concentrations corresponding to a specified ozone concentration (i.e., a
A
level for which an isopleth is to be drawn). Unless the user directs other-
wise, there are 11 specified ozone levels ranging from 0.08 to 0.40 ppm. The
diagram points for the isopleths are then passed to the second interpolation
stage, which uses the spline interpolation scheme to determine the final
coordinates for the isopleth points. All coordinates are then passed to the
plotting software for generation of the final ozone isopleth diagram.
1.5 SUMMARY OF INPUT DATA
For generation of the standard ozone isopleth diagram, city-specific
values are not necessary. The default values in OZIPP will produce the
standard diagram. (The default values are given in Section 3.1). The more
city-specific values the user substitutes for default values, the more city-
specific the ozone isopleth diagram produced by OZIPP will be. Values of the
city-specific parameters that can be input to OZIPP include the following:
" Latitude
' Longitude
' Time Zone
' Date
' Morning and afternoon inversion heights (also called
mixing depths)
' Times at which the inversion starts and stops rising
' Concentrations of NMHC, NO and ozone in the air
above the inversion layer Sue to transport aloft
' Concentrations of NMHC, NO and ozone transported
in the surface layer from Qpwind of the city
' NMHC and NOX emissions after 0800 LOT
' NMHC reactivity
' Initial ratio of aldehydes to NMHC
• NO reactivity (initial fraction of NO that is N09).
A X L.
11
-------
STORAGE OF CALCU-
LATED DIAGRAM POINTS
FIRST INTERPOLATION STAGE
SECOND INTERPOLATION STAGE
CALCOMP
PLOTTER
GRID FOR PLOTTING
ON STANDARD PRINTER
COORDINATES OF
ISOPLETH LINES
Figure 1-4. Schematic of Interpolation and Plotting Section
-------
The sources of values for the parameters in this list and the uses of those
parameters in OZIPP are discussed in Chapter 3 and 5.
In addition to city-specific values, OZIFP provides the options of
changing several parameters to control its operation. For example, the user
can select the number o-F simulations performed in each OZIPP run, the error
tolerance in the differential equation integrator and the form of the output.
These input data and ootions are also described in Chapter 3.
1.5 OUTPUT
As previously described, the major function of OZIPP is to produce a
city-specific ozone isopieth diagram. The output includes a table summarizing
the simulation conditions, a table summarizing the results of each simulation
performed, and a line-printer plot of the isopieth diagram. A diagram pro-
duced by an off-line plotter (such as CALCOMP) is optional. Under another
OZIPP option, a single simulation is performed and the results of that simu-
lation alone are presented. The user also has the option to obtain detailed
information for the simulation (e.g., concentrations of all species, rates of
reactions, etc.). Examples of OZIPP output are presented in Chapter 5.
13
-------
2.0 TECHNICAL DISCUSSION
OZIPP is designed to simulate ozone formation in urban atmospheres. As
discussed in Chapter 1, it consists of two distinct parts. The first part, a
kinetics model, mathematically simulates the physical and chemical processes
taking place in the atmosphere. The second part, the ozone isopleth plotting
package, uses the simulation results to construct an ozone isopleth diagram.
This chapter describes the conceptual basis for the kinetics model, the mathe-
matical techniques used in performing a simulation, and the procedures used to
generate an ozone isopleth diagram from simulation results.
The descriptions in this chapter are very detailed. Potential users of
OZIPP may wish to read the remaining chapters and perhaps run OZIPP once,
before reading this chapter.
2.1 CONCEPTUAL BASIS FOR THE OZIPP KINETICS MODEL
As previously described, the physical model underlying the kinetics model
in OZIPP is similar in concept to a trajectory-type photochemical model. In
the kinetics model, a column of air transported along an assumed trajectory is
modeled. The column is assumed to extend from the earth's surface to the base
of a temperature inversion. The horizontal dimensions of this column are such
that the concentration gradients are small. This makes it unnecessary to
consider horizontal exchange of air between the column and its surroundings.
The air within the column is assumed to be uniformly mixed at all times.
At the beginning of a simulation, the column is assumed to contain some
specified initial concentrations of NMHC and NOV due to prior emissions. The
A
column may also contain NMHC and NOV that were transported with the column
A
from areas upwind of the city being considered. These pollutants, sometimes
called background, are in this report termed pollutants "transported in the
surface layer." As the column moves along the assumed trajectory, the height
of the column can change because of temporal and spatial variations in mixing
height. The height of the column is assumed to change exponentially with time
during a user selected period, and to be constant before and after that period.
14
-------
As tne neight of the column increases, its volume increases, and air above the
inversion layer is mixed in. Pollutants in the inversion layer are described
as "transported above the surface layer" or "transported aloft" in this report.
Any ozone or ozone precursors from the inversion layer that are mixed into the
•-olumn as it expands are assumed to be immediately mixed uniformly throughout
the column.
The kinetics model in OZIPP can also consider emissions of NMHC and NOX
into the column as it moves along its trajectory. The concentrations of the
species within the column are physically decreased by dilution due to the
inversion rise, and physically increased by entrainment of pollutants trans-
ported aloft and by fresh emissions. All species react chemically according
to the kinetic mecnanism shown in Appendix A. Certain photolysis rates within
that mechanism are functions of the intensity and spectral distribution of
sunlight, and they vary diurnally according to time of year and location.
The assumptions and specifications that describe the kinetics model are:
' The air mass of interest is an imaginary air parcel (column) of
fixed horizontal area at a constant temperature, within which
pollutants are well mixed.
' There is sufficient homogeneity that horizontal diffusion does
not affect pollutant concentrations within the column.
' The height of the column varies exponentially with time during a
specified period and is constant at other times (an exponential
variation is equivalent to a constant percentage dilution per
unit time).
The column contains specified initial concentrations of NMHC and
NO due to emissions prior to the simulation starting time within
the urban area of interest. (These concentrations are shown on
the NMHC and NO scales of the resulting ozone isopleth diagram).
The NMHC is assumed to be 25 percent propylene and 75 percent
n-butane, unless changed by the user. Five percent of the initial
NMHC concentration is added as aldehydes, unless changed by the user.
Pollutants transported within the surface layer from outside
the urban area of interest (sometimes called background) may
be present in the column at the start of each simulation
(0800 LOT). The pollutant concentrations due to transport in
15
-------
the surface layer are normally assumed to be zero, but the user
may specify other values for the NMHC, NO and ozone concentra-
tions transported within this layer. The NMHC transported within
the surface layer is assumed to be 10 percent propylene and 90
percent butane (as carbon). The NO transported in the surface
layer is assumed to be 100 percent $0-.
' The initial concentrations in the column are thus the sum of the
contributions from emissions occurring prior to 0800 LOT plus
concentrations transported in the surface layer from upwind loca-
tions. Emitted species include propylene, n-butane, NO, N02,
acetaldehyde and formaldehyde. Transported species include
propylene, n-butane, N02 and ozone.
' The changes in pollutant concentrations within the column are
calculated, by computer simulation, from 0800 to 1800 LOT. The
chemical reactions involving these pollutants are listed in
Appendix A.
' Entrainment of pollutants transported aloft is possible during
the rise of the inversion layer. OZIPP only permits entrain-
ment of constant concentrations of NMHC, NO and ozone. NMHC in
pollutants transported aloft is assumed to Be 10 percent propylene
and 90 percent n-butane (as carbon). No acetaldehyde or formalde-
hyde is added. N0x transported aloft is assumed to be 100 percent NO
' Pollutants emitted into the column after 0800 LOT can be represented
by specifying additions of NMHC and NO each hour. The assumptions
about the propylene/n-butane and the aldehyde additions are the
same as for the initial condition assumptions. The fraction of NO
that is N02, however, is 10 percent for post-0800 emissions. x
" The rate constants of all chemical reactions in the kinetic
mechanism are as shown in Appendix A, except for the photolysis
reactions. Photolytic rate constants vary according to the time of
day, date and location being simulated. (Default photolysis rate
constants are intended to represent the period from 0800 to 1800 PDT
on the summer solstice in Los Angeles).
' Zero cloud cover is assumed.
Other assumptions relating to the use of EKMA to predict control require-
ments or changes in urban ozone concentrations as a result of changes in
134
precursor emissions are discussed elsewhere. '
16
-------
2.2 DESCRIPTION OF A SINGLE SIMULATION
This section describes in considerable detail the mathematical procedures
used in OZIPP to calculate the maximum one-hour average ozone concentration
that results from given initial concentrations of NMHC and NO . The procedures
A.
are based on the physical and chemical processes described in the last section.
Before the beginning of a simulation, data preparation steps are performed.
A simulation is conducted by first determining concentrations at 0800 LOT and
then numerically integrating the equations that form the basis of the model.
The numerical solution yields species concentration as a function of time
between 0800 and 1800 LOT. The following discussion describes the data pre-
paration steps, the calculation of initial concentrations, model formulation
and the numerical integration technique.
2.2.1 Data Preparation Steps
Because all simulations performed by OZIPP in generating an ozone isopleth
diagram have identical conditions except for the initial NMHC and NO concen-
A,
trations, a data preparation step is performed before a simulation is commenced.
The purpose of this step is to eliminate abrupt changes in photolytic rate
constants and post-0800 emission rates. Elimination of these abrupt changes
(i.e., discontinuities) is desirable for three reasons:
' The integration scheme requires less computer time (dis-
continuities require the use of small time steps).
' The results are more accurate numerically (stepping past
discontinuities can lead to error).
' The atmosphere does not normally have discontinuities. (The
simulation of intermittent cloud cover or sudden changes in
emissions is outside the scope of OZIPP).
The photolytic rate constants are evaluated every hour using an algorithm
5
developed by Schere and Demerjian. The algorithm uses input data of latitude,
longitude, time zone and date to calculate photolytic constants. A set of
third-order polynomial spline f-jT ions is then generated o that photolytic
constants can be easily calculated from a smooth curve for any time of the
17
-------
day. A set of four coefficients for each of the eight photolytic rate constants
in the kinetic mechanism shown in Appendix A is prepared for each hour of the
ten-hour simulation period. Thus, at any time during the simulation period,
the photolytic rate constants can be calculated from a simple third-order
polynomial equation.
If post-0800 emissions are to be considered, it is necessary to specify
the emission rate(s) of NMHC and/or NO injected into the column each hour
A
after the 0800 simulation start time. These emission rates are expressed as
fractions of the initial NMHC and/or NO concentrations. They represent the
/\
ratio of emissions injected into the column during the specified hour after
0800 to the emissions injected into the air column prior to the beginning of
the simulation. A set of cubic spline coefficients is determined each hour so
that the instantaneous emission rate(s) can be evaluated for any time during
the simulation period. For the first hour, a straight line is used, and for
each subsequent hour a simple cubic (or lower order) polynomial is used subject
to the following limitations:
' The total, or integrated, emissions for each hour must equal
the input value.
' The spline functions at each hour must match in value, slope
and curvature unless lower order functions are used.
' At the end of the last hour of post-0800 emissions, the
emissions must be zero with zero curvature.
* If cubic splines lead to any minima (points of zero slope)
which are less than zero, then a lower order spline function
is used for that hour.
2.2.2 Determination of Initial Concentrations
Before a simulation can begin, the concentrations of all pollutant
species at 0800 LOT must be determined. These initial concentrations are
based on assumed initial concentrations of NMHC and NO and on the concen-
J\
trations of pollutants transported in the surface layer. The concentrations
of transported pollutants are assumed to be zero unless otherwise specified.
If only a single simulation is being performed, the initial concentrations of
18
-------
NMHC and NO must be input to OZIPP. However, if an ozone isopleth diagram is
A
being generated, the initial NMHC and NO concentrations are determined
internally by OZIPP. This procedure is discussed in Section 2.3.
The concentrations of all but seven species in the kinetic mechanism are
initially zero. The concentrations of the other seven species (NO,,, NO, 0^,
propylene, n-butane, formaldehyde and acetaldehyde) are calculated as described
below.
1. SKL is set to the initial NO concentration times the NOp/NO
fraction (default is 0.25), plus any N02 transported in the
surface layer.
2. NO is set to the initial NO concentration times the quantity
one minus the NO^/NO fraction. The NO transported in the
surface layer is assQmed to have zero NO.
3. Oo is set to the concentration transported in the surface
layer (default is zero).
4. The concentration of propylene is determined from the assumed
initial NMHC concentration, the assumed reactivity fraction
and the NMHC transported in the surface layer. Mathematically,
1
3
[NMHC
(1)
where
[CgHgjo = initial propylene concentration, ppm
[NMHC]0 = initial NMHC concentration, ppmC
R, = fraction of initial NMHC that is assumed to be
propylene (Default = 0.25)
[NMHC]. = NMHC concentration transported in the surface
layer, ppmC
In equation (1), NMHC transported in the surface layer is
assumed to be 10 percent propylene. Multiplication by the fraction
-i- converts ppmC to ppm (i.e., there are three carbon atoms per
molecule of propylene).
5. The initial concentration of n-butane is determined in a manner
similar to the initial propylene fraction.
19
-------
[n-Mn,]. = I [NMHC]0 (l-RiMNMHC^O.Q) (2)
where
[n-CjtHioJo = initial concentration of n-butane, ppm
(1-Ri) = fraction of initial NMHC concentration assumed
1 to be n-butane (Default = 0.75)
and [NMHC]0 and [NMHC]ts have the same meaning as in
Equation (1).
Note that 90 percent of the NMHC transported in the surface layer
is assumed to be n-butane. Once again the multiplication by the
fraction \ is necessary to convert from ppmC to ppm.
6. Formaldehyde is initialized according to the initial NMHC
concentration and an aldehyde addition factor.
[HCHO]0 = [NMHC]0 (0.4) (R2) (3)
where
[HCHO]0 = initial formaldehyde concentration, ppm
[NMHC]0 = initial NMHC concentration, ppmC
R9 = fraction of initial NMHC concentration that is to
* be added as aldehyde (Default = .05)
The fraction of aldehydes assumed to be formaldehyde is fixed at 0.4.
7. Acetaldehyde is initialized similarly to formaldehyde:
[CH3CHO]0 =' \ [NMHC]0 (0.6) (R£) (4)
where
[CH3CHO]0 = initial acetaldehyde concentration, ppm
[NMHC]0 = initial NMHC concentration, ppmC
R2 = fraction of initial NMHC concentration to be
added as aldehydes
Note that the fraction of aldehyde assumed to be acetaldehyde is
fixed at 0.6. Multiplication by converts ppmC to ppm.
20
-------
2.2.3 Mathematical Formulation of Kinetics_ Model_
The kinetics model in OZIPP mathematically simulates physical and chem-
ical processes taking place in the atmosphere. This is accomplished by solving
numerically a system of ordinary, non-linear differential equations that
describe the effects of these processes on pollutant concentrations. The
solution gives the concentration of pollutants as a function of time. The
mathematical formulation of the system of differential equations is described
in this section.
In OZIPP, there are four processes that are assumed to effect pollutant
concentrations:
1) Chemical Reactions
2) Dilution
3) Entrainment of Pollutants Transported Aloft
4) Post-0800 Emissions
Differential equations have been formulated to describe the time rate of
change of pollutant concentrations due to each process, and these are presented
below. The total time rate of change of each pollutant's concentration is
then simply equal to the sum of all these effects. Thus, the system of equations
consists of one equation for each species in the kinetic mechanism shown in
Appendix A. In OZIPP, however, all equations for species that appear only as
products of chemical reactions have been eliminated because of computational
considerations. Consequently, the set of equations solved in OZIPP is made up
of 32 equations, one for each pollutant appearing as a reactant in any of the
76 reactions in the mechanism.
A. Chemical Reaction Effects
The change in pollutant concentration due to chemical reaction is a
function of the rates of the chemical reactions in Appendix A. The rate of
each reaction is the product of a rate constant and a concentration term. The
rate constants for the non-photolytic reactions are shown in Appendix A. The
photolytic rate consults are calculated by the procedures described in
Section 2.2.1. The concentration term for unimolecular or psuedo-first-order
21
-------
reactions (such as photolytic reactions) is simply the concentration of the
reactant. Bi-molecular reaction rates are calculated similarly, except the
concentration term is the product of the two reactant concentrations. For
example, tne reaction rate (RT) for the first reaction in Appendix A would be
expressed as follows:
kl CN02
(5)
where
(RT),
k
; -1
1
'NO,
= rate of reaction (1), ppm min
= photolytic rate constant for reaction (1)
= concentration of NOp, ppm
The time rate of change of a species due to chemical reaction is simply
equal to the sum of all rates for those reactions in which the species is a
product minus the sum of the rates for those reactions in which the species is
a reactant. Thus,
where
z(RT)
E(RT)
PROD
REAC
REAC
reaction rate contribution to the time
rate of change of species i
the sum of all reaction rates in which
species i appears as a product
the sum of all reaction rates in which
species i appears as a reactant
(6)
B. Dilution Effects
The mathematical representation for simple dilution due to inversion rise
is a first-order decay process. The rate of change due to this effect can be
represented as follows:
22
-------
where
/AC.v
Mt 'D = dilution effect contribution to the time
rate of change of pollutant species i,
ppm min"
D = dilution factor, min"
C. = concentration of species i, ppm
The dilution factor is calculated from the following equation:
D = 1"(Z2/Zi)
D At (8)
where
D = dilution factor, min"
Z2 = afternoon mixing height
Zi = morning mixing height
At = total time during which the inversion rise
takes place, minutes
Note that, before and after the inversion rise period, the dilution factor is
zero since there are no dilution effects for those periods.
C. Entrainment Effects
There are only four species subject to being entrained from pollutants
transported aloft: propylene, n-butane, ozone and N(L. The mathematical
treatment of entrainment assumes that the concentrations aloft do not change
with time and extend uniformly to at least the height of afternoon mixed
layer. The pollutants entrained are assumed to be instantaneously mixed
within the enlarged surface layer. The mathematical expressions for the rates
of change for the four pollutants are shown below:
23
-------
ACn
r H.3\ = n(r > (9)
1 At JAL U^03;AL ^>
AC.,A
;_^2.)AL = D(CNO )AL do)
ACr ii i
L)ni = T D(0. I )(CMMnr)n| (11)
v At 'AL 3
ACn-C H 1
( A*- )AI = T D(0.9)(CMM1,r)», (12)
At
where
H^AL, ^ At 2Ul, ^ At W, ' At 'AL
entrainment effect contribution to the
time rates of change of ozone, nitrogen
dioxide, propylene, and n-butanc concen
trations, respectively ppm min~
D = dilution factor (i.e., the rate constant for
the mixing height rise), min~
(cn )m = concentration of ozone trapped aloft, ppm
1/3 ML
(C..Q )AL = concentration of N02 trapped aloft, ppm
(CNMHr)A, = concentration of total non-methane hydro-
carbon trapped aloft, ppmC
r r r r =
n • "wn ' r u * "n r u
U3 MU2 ^3"6 n-Li+njo
concentrations of ozone, nitrogen dioxide,
propylene, and n-butane, respectively, in the
mixed layer, ppm
The numerical constants (i.e., 0.1, -L 0.9, and ^-) in Equations 11 and 12
result from the fixed assumptions about the reactivity of the hydrocarbon mix
trapped aloft (i.e., 10 percent of the NMHC is assumed propylene) and from the
conversion of ppmC to ppm. It should be noted that the effect of the change
in mixing height is the sum of the dilution and the entrainment effects.
24
-------
E. Post-0800 Emissions Effect
The fourth factor affecting the rate of change of pollutant concentration
is post-0800 emissions. The rates of change due to post-0800 emissions are
equal to the additional concentrations produced by the emissions. However,
recall that the post-0800 emissions are expressed relative to the pre-0800
emissions. For example, for a simulation in which the initial concentration
of NO due to pre-0800 emissions is 1.0 ppm, and the emissions that occur
between 0800 and 0900 are 20% of the pre-0800 emissions, an addition of 0.20 ppm
NO will occur over the first hour.
/\
Because equivalent emissions into different volumes will produce different
concentrations, it is necessary to adjust the relative emissions to reflect
the change in the column volumes due to the inversion rise. This is done
internally by OZIPP by first calculating the ratio of the 0800 LOT inversion
height to the current inversion height. (This is equivalent to the ratio of
initial volume to the current volume). Before the inversion rise begins,
this ratio is simply one. After the inversion rise has ceased, the ratio is
the 0800 mixing height divided by the final mixing height. For the period
during which the inversion rises, the ratio (ft) is calculated as follows:
ft = exp [-(D)(At)] (13)
where
f. = ratio of the 0800 LOT mixing height to the mixing
1 height at time t
D = dilution factor (i.e., the rate constant
for the mixing height rise, min }
V
At - elapsed time between the start of the mixing
height rise and the current time, minutes.
The rates of change due to the post-0800 emissions are calculated from
the values of the emission rates (calculated using the polynomial spline
functions described earlier), the ft ratio described above, the initial pol-
lutant concentrations and the reactivity assumptions. The equations for the
25
-------
rates of change due to post-0800 emissions for each of the six affected
species are shown below:
(14)
(15)
(16)
(17)
AC
NO
(~TT^E
ACNO}
( At ;E
ACC H
^ At ^E
ACn-C H
^ At ^E
= 0
= 0
1
3
= 1
= n
't VLNOx't
= °'9 ft (ENO }t ^Dx]<
l« I iv \f A
[NMHC]
At
At
where
[!»„].
[NMHC],
Rl
t (R2) [NMHC]o (18)
)E = \ (0.6) ft (ENMHC)t (R2) [NMHCjo (19)
= post-0800 emissions contribution
to the rates of change of N02» NO,
propylene, n-butane, formaldehyde
and acetaldehyde, ppm min
= defined above (Eq. 13)
value of post-0800 relative
NO emission rate, fraction per minute
A
same as above except for NMHC emissions
initial NO concentration due to pre-0800
emissions, ppm
initial NMHC concentration due to pre-0800
emissions, ppmC
fraction of initial NMHC (in ppmC)
assumed to be propylene
fraction of initial NMHC (in ppmC)
concentration to be added as aldehydes
-------
Note that, in the above formulations, a conversion from ppmC to ppm is performed
and that the aldehydes are assumed to be 40 % formaldehyde and 60 % acetaldehyde.
2.2.4 Description of Numerical Integration
The kinetics model in OZIPP employs a Gear-type integration scheme to
numerically solve the set of differential equations described in the previous
section. A detailed description is not given here because the method is not
678
unique to OZIPP, and the procedure has been described elsewhere. ' ' The
integration scheme initially uses a time step of 1x10 minutes (i.e., pol-
lutant concentrations are to be calculated 1x10 minutes after the 0800 LOT
start time). Subsequent time steps are computed by the Gear-type integration
scheme according to the estimated error at each step. However, since the
onset and cessation of dilution represent changing conditions, it is necessary
for maximal numerical accuracy to begin or end a time step at precisely these
points (i.e., the times at which onset and cessation of dilution take place).
The pollutant concentrations are calculated at each time step throughout the
ten-hour simulation period. (Once the time reaches ten hours, there is no
restriction on precisely matching the final time step, since the concentrations
can be interpolated back to exactly the tenth hour). A typical simulation in
OZIPP takes between 150 and 200 time steps, with about one half of these used
in simulating the first minute.
The total rate of change of any species is the sum of the rates of
change due to dilution, entrainment, post-0800 emission and chemical reaction
described above. At each time step, the concentrations of all species are
calculated along with the current rates of change for each species. The Gear
method utilizes a Taylor series polynomial for each species to predict the
species concentration at the end of the time step. The order of the polynomial
is varied internally for optimum efficiency and is based on the values at the
beginning of the time step. A corrector scheme then "corrects" the new con-
centration values, updates the Taylor polynomials and estimates the average
error. The corrector is a set of linear equations based on a matrix whose
elements are the set of partial derivatives of the rate of change of concen-
trations of each species with respect to all other species. OZIPP utilizes a
27
-------
1 near sy.1.1. ' sc ving package for sparse matrix .i.e., those matrice i
which most eneits are equal to zero). The inte ". tion method L ' ' >' -t
has been modified somewhat from the version publisned in Reference / i(l
particular, the error estimation is done relative to the current concentration
of a species rather than to its maximum concentration. The method utilizes the
error estimate to determine the optimum step size and order, so that the
allowable error specified by the user is met with the minimum number of in-
tegration steps. For a more detailed discussion of the numerical integration
scheme, the user is referred to References 6, 7 and 8.
The final task performed by the differential equations integrator is the
calculation of the maximum one-hour average ozone concentration. Ozone con-
centrations are calculated for precisely every minute of the 10-hour simulation,
This calculation is performed by interpolation between the time step solutions
to the differential equations. Running one-hour average concentrations are
calculated using Simpson's rule. The largest one-hour average concentration is
then selected as the maximum.
2.3 SELECTION OF SIMULATIONS FOR GENERATION OF ISOPLETH DIAGRAMS
When generating an ozone isopleth diagram, the initial NMHC and NO
y\
concentrations for each simulation performed by OZIPP are selected in the
initial conditions determination subsection (see Figure 1-3). The function of
this subsection is to control the selection of initial NMHC and NO concen-
A
trations in order to obtain as accurate an isopleth diagram as possible from
the number of simulations specified. This is accomplished by:
' Performing few simulations for which the maximum one-hour
average ozone concentration is below the lowest isopleth to
be plotted.
Minimizing the interpolation error between simulation points
when constructing the ozone diagram.
Simulations are first performed at six individual points along the
edges of the diagram. Based on these results, simulations are then performed
28
-------
at points along lines of constant NMHC/NO ratio (i.e., a radial line emanating
from the origin). The user can control the number of radial lines to be
considered and the number of points on each radial line, normally (i.e.,
under default conditions), simulations are performed at five points along each
of 11 radials. Finally, two more simulations are performed for individual
points on the edges of the diagram to aid in plotting the lowest valued isopleth,
In all, 62 simulations are performed under default conditions.
2.3.1 Selection of Individual _Ppjmts
The first step in the initial conditions determination subsection is to
call for four simulations at initial NMHC and NO concentrations corresponding
X
to the four corners of the isopleth diagram as shown by points 1 through 4 in
Figure 2-1. (Note that the user specifies the maximum NMHC and NO concen-
trations to be used). Next, two simulations (at points 5 and 6) are performed
to estimate where the lowest valued ozone isopleth will intersect the diagram
edges. The initial conditions for point 5 are determined by using the maximum
NO value and an NMHC concentration calculated by the following equation:
y\
(Cn ),, - (C ) , , (20)
(C ) - (C
^Q,;3 l ^
where
r = NMHC concentration at point 5
(C }
v 03 2 = 0:! concentration at point 2
(Cn K = 0^ concentration at point 3
(Cn ), . = The lowest ozone value to be plotted as
U3 an isopleth
= Max1niulT1 NMHC concentration on the diagram
Thus, the coordinates of point 5 are calculated according to the assumption
that, at constant initial NO concentration, the maximum one-hour average
ozone concentration is proportional to the initial NMHC concentration. This
29
-------
O.OQC
0.0
NMHC (ppmC)
Figure 2-1. Initial Simulation Points
30
-------
assumption of linearity is generally not true, but the result^ are used in the
next to last simulation in order to calculate a more accurate location. An
analogous procedure is performed for the right side of the diagram.
2.3.2 Selection of Radials and Points Along RadjjTl_s_
After the simulations are completed for points 1-6, the initial condi-
tions determination subsection directs the simulations at various points along
selected radial lines (i.e., lines of constant PWHC to NO ratio). The radial
X
lines are used for the following reasons:
' Because most isopleths are roughly L-shaped, simulations at
points on radial lines provide the highest density of simu-
lation results near the region of highest curvature.
' Simplified theoretical considerations and empirical evidence
show that along any radial line, it is easy to interpolate the
maximum one-hour average ozone concentrations as a function of
distance from the origin of the isopleth diagram. Typically,
these functions are nearly linear at low to intermediate
ozone concentrations (e.g., 0.04 to 0.2 ppm ozone) and second
order at high concentrations (:-0.5 ppm ozone). At the very
lowest concentrations, various effects can lead to non-linear
behavior, but the functions needed to interpolate along the
main part of the radial lines have few inflection points, and
therefore the interpolations should have high accuracy.
The first ratio determined corresponds to the diagonal line from the
origin of the diagram to the opposite corner (i.e., the point of maximum NMHC
and NO concentration). Simulations are then performed at various points
A
along that diagonal (the user controls the number of points). The points on
the radial are determined by estimating the locations of ozone concentrations
along the line. The procedure begins with finding the ozone concentrations
that form a geometric progression from the lowest ozone concentration to be
plotted (e.g., 0.08 ppm) to the maximum ozone concentration at the terminal
point of the radial. A geometric progression gives the minimum relative
change in ozone concentration from one point to another. The algorithm is
built on the general assumption that the accuracy of the interpolation will be
optimized if the relative change in ozone concentration between interpolation
points is minimized.
31
-------
To illustrate the procedure, assume that five simulations are to be
performed along the diagonal radial. (Recall that the user can change the
actual number of simulation points along the radial). Further, assume that
the lowest ozone isopleth to be plotted is 0.08 ppm and that the concentra-
tions of NMHC, NO and ozone at the terminal point of the radial are 2.0 ppmC,
0.28 ppm and 0.449 ppm, respectively. In general, the expression for the nth
term of a geometric progression is:
an = a^"-1 (21)
where
a, = the first term
r = the common factor
n = the number of terms
For the example problem, the geometric progression would be:
0.08, 0.12, 0.19, 0.29, 0.449
The common factor (r) was calculated as shown below:
r = (0.449/0,08)1/4 = 1.54
After determining the progression, the next step in the procedure is to
estimate the NMHC and NO concentrations corresoonding to the second highest
A
ozone concentration in the progression (i.e., the first point along the radial
below the terminal point). Linear interpolation is used in the following
equation to estimate the NMHC concentration associated with this point.
I r \ I r- \
1
where
p = the NMHC concentration associated with the
point
)p = the projected ozone concentration associated
3 with the point
)MAX = the highest ozone concentration in the progression
), = the ozone concentration at point 1
32
-------
For the example, the NMHC concentration corresponding to the projected 0.29 ppm
ozone concentration is 1.30 ppmC. Because the NMHC/NO ratio is constant at
A
7.14 along the line, the associated NO concentration is 0.18 ppm. Thus, a
A
simulation is performed with NMHC and NO initial conditions of 1.30 ppmC and
X
0.18 ppm, respectively.
The procedure for determining the locations of subsequent points along
the radial is slightly different from the one described above. First, the
original geometric progression is updated, using the latest actual simulation
result. In the example, the simulation result for the projected 0.29 point
was actually 0.34 ppm, so the new progression becomes
.08, .13, 0.21, 0.34
with a new constant factor equal to 1.62. The problem is now one of esti-
mating the location of the 0.21 ozone concentration on the radial. Once
again, Equation 22 is used to predict the NMHC concentration associated with
the projected 0.21 ozone concentration. However, because two interpolations
fairly near each other have been completed (i.e., those giving ozone concen-
trations of 0.449 and 0.34), a linear extrapolation using these two points is
performed to obtain a second estimate. These two estimates are then averaged
to obtain the final NMHC value for simulation. This procedure (i.e., new
progression, estimation by linear interpolation, estimation by extrapolation,
and averaging of the two estimations) is repeated for each point except the
last (i.e., the 0.08 point in the example). For this final estimation, a
hyperbolic spline interpolation algorithm is employed.
Once all the simulations have been performed for all points on a radial,
a new radial is chosen and the procedure repeated. New radials are selected
by estimating the location of the terminal points along the top or right edge
of the diagram. The scheme for locating the terminal points is essentially
identical to the one used in determining the points along the radial. An even
distribution of the radial lines is important for obtaining accurate isopleth
diagrams. Points too close to each other can introduce erroneous, high-
frequency oscillations in the spline interpolations because of errors in the
integration schema. Points too far apart on the isopleth diagram itself leave
33
-------
large areas on the diagram in which no simulations have been performed. The
initial conditions subsection contains internal tests on the termination
points of the radial lines to avoid these difficulties.
2.4 INTERPOLATION AND PLOTTING OF ISOPLETH DIAGRAM
The interpolation and plotting section directs the construction of the
ozone isopleth diagram using the results of previous simulations. Inter-
polation is done with hyperbolic splines rather than with classical polynomial
types, because kinetic systems lead to curves resembling exponential functions.
A noteworthy feature of the spline functions employed in this algorithm is the
9
tension factor. The highest tension produces straight lines between points,
while the lowest value produces roughly cubic fits.
Two stages of interpolation are used to generate the isopleths. In the
first stage, the NMHC and NO coordinates of the ozone levels to be plotted
}\
are determined along each of the radials described in the preceeding section.
The second stage draws a smooth curve for each ozone level through the points
determined in the first stage. The curves are then plotted using the line
printer and, if desired, an off-line plotter such as CALCOMP.
34
-------
3.0 OZIPP OPTIONS AMD DATA REQUIREMENTS
As noted earlier, OZIPP contains a complete set of default values which
can generate the standard ozone isopleth diagram. The user can obtain other
isopleth diagrams by selecting one or more options. This chapter presents the
options in OZIPP and their input data requirements. The type of information
required for each option is discussed as well as its source, limitations,
restrictions and form. Specific information on the format of input data,
however, is given in Chapter 4. The use of the options is illustrated with
example problems in Chapter 5.
3.1 CATEGORIES OF OPTIONS
Data are input to OZIPP by means of option cards with special code
words. The options fall into four categories:
' Incorporation of city-specific data.
' Diagram definition (e.g., the number of isopleths to be
drawn and the NMHC and NO concentration ranges to be con-
dered). x
' Methods for reducing computer time.
' Accuracy Tests.
The first two categories are the most important. The last two are available
for users who require a means to reduce computing costs or who desire further
assurance that the isopleth lines are accurately placed in the diagram.
3.1.1 Summary of Code Words and Input Data
The 12 options used to enter data in OZIPP are presented below. Each of
these options is identified by a special code word. The input parameters and
associated default values for each option are briefly described below. Each
of the options and the input data are described in more detail in Section 3.2
and again in Chapter 4.
35
-------
ISOPLETH -- This option calls for an isopleth diagram to be
constructed according to all specified input parameters.
The parameters associated with this option Include specifi-
cation of the maximum NMHC and NO concentrations to be
considered and selection of the o2one isopleth levels to
be drawn. Default values are as follows: maximum NMHC
is 2.0 ppmC; maximum NO is 0.28 ppm; and 11 ozone
levels to be plotted - 0?08, 0.12, 0.16, 0.20, 0.24,
0.28, 0.30, 0.32, 0.34, 0.36 and 0.40 ppm. An additional
parameter activates printing solar noon and the time of
the center of the maximum one-hour average ozone concen-
tration for each simulation. This information will not be
printed under default conditions.
CALCULATE -- With this option, only one simulation is performed
(i.e., only one diagram point calculated) according to
the specified input parameters. No isopleth diagram
is produced. Initial NMHC and NO concentrations must
be input with this option. An additional parameter acti-
vates the printing of the following: reaction rates, species
concentrations, net rates of change in concentrations of all
species, and photolytic rate constants for user specified
times during the simulation. This information will not be
printed under default conditions.
PLOT -- This option activates the drawing of the isopleth diagram
on an offline plotter. Standard CALCOMP routines are
used. Input parameters associated with this option
control the physical dimensions of the offline plot.
Parameters to be specified and their associated default
values are as follows: length of abscissa (8.5 inches),
length of ordinate (5.95 inches), character and number
size (0.10 inches) and label size (0.07 inches). An addi-
tional parameter activates the overlaying of a grid of
different color on the diagram. Under default conditions, the
grid is not drawn.
TITLE -- This option allows the user to title the program output.
Under default conditions, all output is titled "Standard
Ozone Isopleth Conditions."
PLACE -- This option allows determination of the photolysis con-
stants in the kinetic mechanism according to geographi-
cal location and time of year. Input parameters associated
with this option include the geographic location of the
urban area (latitude and longitude), the time zone in which
the urban area is located and the time of the simulation.
Default values are for a simulation for Los Angeles,
California, on June 21, 1975.
36
-------
REACTIVITY -- This option allows the user to specify three
factors that affect reactivity: the initial fraction
of NMHC that is propylene, the initial NCL/NO ratio and
the initial fraction of NMHC to be added as afdehydes.
Default values for these parameters are 0.25, 0.25 and
0.05, respectively.
EMISSIONS -- This option permits the consideration of post-0800
emissions. Under default conditions, post-0800 emissions
are assumed zero. To override this assumption, the
user must specify the fractions of the initial NMHC and/or
NO concentrations that are to be added each hour to rep-
relent the effect of post-0800 emissions.
TRANSPORT -- This option allows the consideration of transported
pollutants. Pollutants can be transported in both the
surface layer and aloft. Input parameters include the
initial surface layer transported concentrations of NMHC,
NO and ozone and the concentrations of these pollutants
inxthe air above the base of the inversion layer. All
of these concentrations are assumed zero under default
conditions.
DILUTION — This option allows for the consideration of dilution
due to the rise of the inversion layer. Input parameters
include the height of the inversion layer in the morning,
the final height of the inversion after the rise, the time
at which the rise begins, and the time at which the inversion
reaches its final height. Under default conditions, the
inversion height is assumed to rise from 510 meters at
0800 LOT to 630 meters at 1500 LOT. This represents a
3%/nr dilution rate for the 7 hours between 0800 and 1500.
ALREADY -- This option permits the use of results from a previous
simulation. Input parameters include the initial NMHC
concentration, the initial NO concentration and the maximum
one-hour ozone concentration ¥rom each previous simulation.
Under default conditions, this option is not exercised.
ACCURACY -- This option controls the number of simulations, the
accuracy of each sirnultion and the accuracy of the inter-
polations. Input parameters and their associated default
values are as follows: the number of constant NMHC/NO
radials to be included in the simulations (11), the number
of simulations per radial line (5), the error tolerance
in the numerical integration scheme (0.01), the
tension factor for the first stage of interpolation
(1.0) ..-id the !.en-ion factor for the hyperbolic spline
functions used in plotting i^opleths (1.0).
37
-------
' bbbb (blanks) -- This card terminates the program, and is a
required item of input.
3.1.2 Structure of Option Cards
To activate an option described in the previous section, a computer card
with the appropriate code word must be included with the input deck. Each
code must begin in Column 1; however, only the first four characters of each
code word are read. Each code word card contains up to six numeric fields,
each 10 spaces wide, beginning in Column 11. With some options, one or more
subsequent card(s) may be required. These following cards are read either as
seven fields of 10 columns each (beginning with Column 1), or as a string of
alphanumeric characters. The format for each option card is described in
detail in Chapter 4.
3.2 DETAILED DESCRIPTION OF OPTIONS
This section describes the options available in OZIPP, the input necessary
for each option, and the proper form, card and field for each input value.
Chapter 4 presents much the same information from a different point of view
namely, an index of the input data corresponding to each card. The options
are described by category below, but note that this order is not the typical
order of cards in a deck, CALCULATE and ISOPLETH usually being the next-to-
last cards (see Section 5.2).
3.2.1 Incorporation of City-Specific Information
Five options are used to input information that is specific to the city
under consideration. The input data fix the simulation assumptions about
light intensity, dilution, post-0800 emissions, transport and reactivity.
A. Place and Date
In all OZIPP runs, the rate constants of the photolysis reactions in the
kinetic mechanism are varied in accordance with the diurnal change in sunlight
intensity from 0800 to 1800 LOT. This diurnal variation is calculated using a
computer code written by Schere and Demerjian which is incorporated in OZIPP
The user can adjust the photolysis rate constants to the area of interest by
38
-------
changing the date or location, or both, from the default values of 21 June
1975 at Los Angeles, California. The option is activated by the code word
PLACE. The first three numeric fields of the PLACE card (Columns 11 through
40) contain the latitude (decimal degrees North), longitude (decimal degrees
West) and time zone (hours from Greenwich Mean Time). The next three fields
are used to specify the year, month and day in Columns 41-50, 51-60 and 61-70,
respectively. An additional card may be required to follow the PLACE card.
On this card, the name of the city of interest is entered between Columns 1
and 24. This card is necessary only if a non-zero value for the latitude or
the longitude is entered on the PLACE card. Therefore, even if the default
values of 34.058 and 118.250 are entered, a second card is required with the
name of the place. Users interested in the default location need not specify
the latitude and longitude.
The correct set of numerical time zones for the continental United
States is as follows:
Numerical time zone Common name
5.0 Eastern Daylight Time
6.0 Central Daylight Time
7.0 Mountain Daylight Time
8.0 Pacific Daylight Time
To produce standard time simulations, even though the output will show day-
light time units, a false time zone of one unit (hour) more can be used.
Thus, Pacific Standard Time photolysis constants would be generated if a 9.0
was entered instead of the correct 8.0 time zone. The output should then show
that solar noon occurs near 1200 hours when the printing of solar noon is
activated.
B. Dilution Rate
The only form of dispersion incorporated in OZIPP is dilution resulting
from the rise in the early morning inversion. Under default conditions, the
inversion is assumed to rise from 510 meters to 630 meters over a 7 hour
period, starting at 0800 LOT. It is assumed that the rise is exponential in
39
-------
nature. This corresponds to an exponential decay in concentration where the
decay constant is calculated as follows:
At
where
D = dilution factor, min
Zi,Z2 = the morning and afternoon mixing heights,
respectively (any consistent units)
At = the length of time over which the change in
mixing height occurs (minutes)
-4 1
For the default values, the value of the dilution factor is 5.03x10 min .
This corresponds to a dilution rate of about 3 percent per hour.
City-specific values for determining the dilution rate are entered using
the word DILUTE. The values of the morning mixing height, afternoon mixing
height, inversion rise starting time and inversion rise stopping time are
entered in the first four numeric fields of the DILUTE card (i.e., Columns
11-20, 21-30, 31-40 and 41-50, respectively). The starting and stopping time
should be in 24-hour time format, LOT. For both default and specific conditions,
dilution is assumed not to occur outside the starting and stopping times.
C. Post-0800 Emissions
OZIPP has the capability of treating emissions of NMHC and NO that
f\
occur after 0800 LOT. (Recall that under default conditions, these emissions
are assumed to be insignificant and, thus, zero). The post-0800 emissions are
meant to reflect only those emissions injected into the imaginary column of
air after the beginning of the simulation. They are expressed relative to the
emissions injected into the column of air prior to the 0800 LOT simulation
starting time. The pre-0800 emissions are represented by the initial NMHC and
NO concentrations. The post-0800 emissions are represented by hourly additions
J\
to these concentrations. Thus, the post-0800 emission input values are
actually the fractions of initial NMHC and NO concentrations to be added each
X
hour after the simulation starts. For example, if 20% of the pre-0800 NO
X
emissions occur during the first hour, 20% of the initial NO concentration
X
40
-------
(excluding transported pollutant concentrations) would be added to the column
concentration between 0800 and 0900 LOT.
The reactivity of organic emissions is assumed to be the same as for the
initial concentrations [i.e., the same propylene-butane split (ordinarily
75% - 25%) and the same aldehyde to NMHC ratio (ordinarily .05) are used for
post-0800 emissions as for pre-0800 emissions]. However, the post-0800 NO
A
emissions are assumed to be 90 % NO and only 10 % N02. This cannot be altered
using the OZIPP options.
The fractions of initial NMHC and NO to be added each hour are modified
X
within OZIPP to account for the volume change associated with dilution. For
example, assuming default dilution conditions, an emissions fraction of 1.0 in
the eighth hour of the simulation would be multiplied actually by 510/630 (or
0.81) to account for the larger volume in the air column, because the inversion
rose to 630 meters from the original 510 meters. Additional modifications to
the input data are performed by OZIPP to smooth out abrupt changes in the
emissions.
In developing the input data, three pieces of information are required.
The number of hours during which the post-0800 emissions continue must be
specified. Then, for each of these hours, the fractions of both NMHC and NO
A
initial concentrations to be added must be specified. If the fractions for
both pollutants are essentially the same, then only one set of fractions need
be input. This single set will be applicable to both pollutants. Reference 1
includes guidelines for estimating post-0800 emissions. These guidelines are
Siso briefly discussed in Section 5.2.
If post-0800 emissions are to be included, a card with the code word
EMISSIONS should be used. The second numeric field (Columns 11-20) must
contain the number of hours for which post-0800 emissions are to be specified
(the maximum is 10). If only one set of emission fractions will be input, and
that set will apply to both NMHC end NO emissions, the number of hours should
be coded as a positive number. Then the emission fractions should be coded in
the next five numeric fields and, if necessary, coded on an additional
41
-------
starting in the first 10 column field (i.e., Columns 1-10). For example, if
10 hours of emissions were to be input, the EMISSIONS cards would contain the
first five fractions in fields 3 through 7, i.e., Columns 21-30, 31-40, 41-50,
51-60 and 61-70 (recall that only the first seven fields are normally used in
OZIPP option cards). The next card would contain the fraction for the sixth
through the tenth hours, with the fractions for the sixth hour coded in
Columns 1-10, the fractions for the seventh hour coded in Columns 11-20, etc.
If different fractions for NMHC and NO are to be used, the number of
/\
hours for which post-0800 emissions are to be input should be coded as a
negative number in the second field of the EMISSIONS card. The NMHC fractions
are coded exactly as described above. The first NO fraction is then entered
A
in the first field (Columns 1-10) on a card immediately following the NMHC
fractions. The remaining NO fractions are coded in the following fields on
A
this card and additional cards, if necessary.
If it is desired to input emissions for only one pollutant, it is not
necessary to code zeros for the other pollutant's emission fractions. Any
negative number coded for the first hour's fraction will indicate to OZIPP
that no fractions are to be input for that pollutant. Thus, if no NMHC
emissions are to be added, a negative number coded for the first NMHC fraction
will cause OZIPP to skip immediately to the next card and to process NO
f\
fractions. Likewise, a negative number for the first NO field will cause
A
OZIPP to skip the next card and to begin processing the next option.
D. Transported Concentrations
OZIPP's default conditions do not include any pollutants transported from
upwind areas. However, the TRANSPORT option is available to include the
effects of ozone and precursors transported from areas upwind of the city of
interest. Two types of transport can be included. The first type results
from the transport of pollutants into the urban area within the surface layer.
The second type results from pollutants being transported within air masses
trapped above the mixing height at night. As the mixing height rises during
the day, the transported pollutants trapped aloft are entrained into the
42
-------
mixing layer. For both types of transport, the following assumptions about
precursor reactivity are made:
1) 10% of the transported NMHC concentration is propylene,
90' n-butane
2) No aldehydes are transported into the area
3) All transported NO is NCL.
/\ I—
These assumptions cannot be changed by the user.
Concentrations of 0,, NMHC and NO transported in the surface layer are
o X
entered in the first, third and fifth numeric fields of the TRANSPORT card
(Columns 11-20, 31-40 and 51-60, respectively). The appropriate units for 03
and NO are ppm, and for NMHC the units are ppmC. Subsequent simulations will
X
have these concentrations added to the initial concentrations. Thus, the
actual initial NMHC and NO concentrations simulated will be the sum of the
J\
diagram point values and the values transported in the surface layer.
The treatment of pollutants being entrained from aloft is also activated
with the same TRANSPORT card. The concentrations of 03 (ppm), NMHC (ppmC) and
NO (ppm) in the air aloft are entered in the second, fourth and sixth numeric
X
fields of the card (Columns 21-30, 41-50 and 61-70, respectively).
E. Reactivity Changes
The reactivity of the ozone precursors can be modified by changing any
of three factors: the hydrocarbon mix* (i.e., the fraction of NMHC assumed to
be propylene), the fraction of the initial NO concentration that is N09, and
X L,
the fraction of the initial NMHC concentration that is added as aldehyde. Any
one or all of these factors can be changed by using a card with the code word
REACTIVITY before the ISOPLETH or CALCULATE cards. A number entered in the
first numeric field (Columns 11-20) of REACTIVITY will replace the default
value of 0.25 for the fraction of initial carbon atoms in the form of propylene.
A number in the next field (Columns 21-30) replaces the default initial
* Although this capability exists, at the present time it is uncertain
how to characterize reactivity of mixtures differing greatly from
automobile exhaust in terms of propylene to NMHC ratios.
43
-------
N0«/N0 ratio of 0.25, and a number in the third field (Columns 31-40) re-
Cm A
places the default value of 0.05 for the fraction of initial carbon atoms
added as aldehydes. (The initial aldehyde concentration is assumed to be 40 %
formaldehyde and 60 % acetaldehyde as ppmC).
3.2.2 Diagram Definition Options
The possible modifications to the form of the isopleth diagram constructed
by OZIPP are described below.
A. NMHC and HO Concentration Ranges
"A
In all OZIPP isopleth diagrams, the origin represents 0.0 ppmC NMHC
and 0.0 ppm NO . The maximum NMHC and NO concentrations represented on the
A X
abscissa and the ordinate can be changed from their respective default values
of 2.0 ppmC NMHC and 0.28 ppm NO by putting the desired maxima in the first
A
two numeric fields of the ISOPLETH card. The desired maximum NMHC concen-
tration (in units of ppniC) should be punched in the field of Columns 11 through
20. The desired maximum NO concentration (in units of ppm) should be punched
A
in the field of Columns 21 through 30.
Any number may be used for the desired maximum NMHC or N0x concentrations,
but because the scales on the abscissa and the ordinate are divided into ten
and seven divisions, respectively, only certain values of the maxima will
produce even markers. Thus, to produce an easy-to-use diagram, the NO
A
maxima should be evenly divisable by seven (e.g., .07 ppm, .14 ppm, .21 ppm,
.28 ppm, etc). Similar considerations should be given to selecting a NMHC
maximum.
B. Number and Spacing of Isopleths
The desired number of isopleths in the diagram should be inserted (followed
by a decimal point) in the field of Columns 31 through 40 of the ISOPLETH
card. Up to 20 isopleths can be drawn (the default value is 11). OZIPP then
reads the proper number of fields from the succeeding card or cards to find
the ozone concentrations (in units of ppm) for which isopleths are to be
drawn. For example, inserting 10.0 in Columns 31-34 of ISOPLETH causes OZIPP
44
-------
to read the seven 10-space numeric fields on the next card and three on the
succeeding card. (As noted earlier, OZIPP does not read past Column 70 on any
card except the program title card).
C. Title
The title can be changed by inserting a card with the code word TITLE
followed by a card with the desired title. Everything in Columns 1 through 72
of this title card will be printed on the output and isopleth diagrams in
place of the default title, "Standard Ozone Isopleth Conditions." As with all
options, these cards must precede the ISOPLETH or CALCULATE cards.
D. CALCOMP Plotting
Any plotting package that can be called using standard CALCOMP subroutines
can be used. Calls to these routines are activated by a card with the code
word PLOT. This card must precede the ISOPLETH card. The actual CALCOMP
routines called are PLOTS, PLOT, NUMBER, SYMBOL and NEWPEN (if necessary).
The use of the CALCOMP routines is discussed in Section 4.3.2.
The user also has the option to specify the actual size of the plot by
defining the lengths (in inches) of the sides of the diagram. Columns 31-40
are used for the abscissa of the diagram. Columns 41-50 are used for the
ordinate of the diagram. The size of title characters and axes numbers and
the size of the isopleth labels can also be set by the user in Columns 51-60
and 61-70, respectively. The default values were given in Section 3.1.1. If
the user wishes to reset any of these values, it is recommended that all
values change proportionally.
Another option on the CALCOMP plots is the overlay of gridded lines on
the isopleth diagram. This is done by declaring any non-zero positive value
in Columns 21-30. If this option is exercised, a grid of different color will
be overlayed onto the diagram. If the user does not have access to the choice
of different pen cclors, it i^ noc recommended to use this option. For users
with access to a matrix plotter (such as the VERSATEC plotter), and the choice
45
-------
of lines consists of thickness and patterns (i.e., dot-dash, on solid patterns)
then the user may enter a negative non-zero value in Columns 21-30. The
absolute value of the number entered represents the user's choice of pattern
and thickness. This number varies with different computer systems.
3.2.3 Methods for Reducing Computer Time
Most of the computing time of an OZIPP run is expended in performing
simulations. OZIPP performs simulations at diagram points located along
straight lines radiating from the origin of the isopleth diagram. In other
words, OZIPP performs several simulations on each of a number of lines of
constant NMHC/NO ratio. The number of radial lines (i.e., lines of constant
J\
NMHC/NO ratio) and the number of simulations per line can be varied by the
user. (OZIPP also performs simulations at the corners of the isopleth diagram
and elsewhere that cannot be controlled by the user).
A means of reducing computer costs is often necessary, so several options
are available in OZIPP to allow such savings. For example, fewer radial lines
and fewer simulations per line in OZIPP can produce an isopleth diagram at
lower cost. However, the isopleths will have been interpolated from fewer
points. For control strategy usage, the default values of eleven radial lines
and five simulations per line are recommended. Much computer time can be
wasted by a poor choice of maximum initial NMHC and NO concentrations on the
abscissa and the ordinate of the isopleth diagram. When city-specific options
are activated, some of the isopleth lines desired by the user may be off the
diagram specified or may be cramped into a small part of the diagram. In
addition, CALCOMP plotting may require extra time or added expense. In such
cases, trial OZIPP runs without the CALCOMP option can be made with the number
of simulations reduced. Then, the maximum NMHC and NO values that produce
A
the best display of the ozone isopleth lines can be determined. This is
discussed further in Section 5.2.
A. Radial Line Control
The number of radial lines used in construction of the isopleth
46
-------
diagram can be controlled by specifying the desired number of lines (any odd
number from 1 to 19) in the first numeric field (Columns 11-20) of the ACCURACY
card. Leaving this field blank produces the default value of 11.
B. Number of Simulations Per Radial
This number is controlled using the second field of the ACCURACY card
(Columns 21-30). The possible values are 1 through 8 and the default value is
5. Thus, the isopleth diagram requiring the least computer time would result
from a 1.0 in both of the first two numeric fields on the ACCURACY card.
Essentially, only the diagram points at the corners of the diagram would be
simulated. These results would be useful in estimating the NMHC and NO
A
concentrations that define the limits of an isopleth diagram.
C. The Use of Previous Simulation Results
The results from previous simulations can be utilized with the card
coded with ALREADY. In order to incorporate results from a previous run, the
following conditions must be identical in both runs: the NMHC and NO scales,
A
the city-specific options, number of radial lines and the number of simulations
per line. Such a situation could occur when:
' An initial run may have terminated because of time restriction
• The user may wish to repeat the run with PLOT option in
order to obtain a CALCOMP generated plot
' The user may wish to alter the tension factors used in the
interpolation schemes.
To input the results of previous runs, the number of completed simulations is
entered in the first numeric field (Columns 11-20) of the ALREADY card. The
results of those simulations must be entered on the following cards in the
same order in which they are calculated. Each card contains the results of
one simulation. Field 1 (Columns 1-10) contains the initial NMHC concentration,
Field 2 (Columns 11-20) initial NO concentration and Field 3 (Columns 21-30)
X
the resulting maximum one-hour average 0- concentration.
47
-------
D. First Ozone Peak
A considerable amount of computer time is wasted when the maximum
one-hour average 0~ concentration in a simulation occurs early but the simu-
lation is continued for the full ten hours. The default condition in OZIPP
forces this continuation because two ozone peaks often occur in simulations,
and the second may be the larger. Nevertheless, a sizeable reduction in
computer costs is possible for simulations with single ozone peaks if the
simulations are stopped after their peaks are reached. This can be done in
OZIPP by placing any number in the sixth numeric field (Columns 61-70) of the
ACCURACY card. However, the reasons for two ozone peaks are not well under-
stood, so the full 10 hours must be used to generate isopleth diagrams in-
tended for control strategy usage.
E. Multiple Isopleths or Calculations
Any number of isopleth diagrams or individual calculations can be
performed in one run of OZIPP. The user merely needs to insert the desired
number of LSOPLETH and CALCULATE cards. One set of simulations and an asso-
ciated ozone isopleth diagram will be produced for each JSOPLETH card. Likewise,
a single simulation will be performed for each occurrence of the CALCULATE
card. Except for options that cannot be deactivated, all options activated
will remain in effect until respecified. Likewise, all input data will be
fixed until redefined. Thus, if the default value for a parameter is desired
in place of a value specified earlier, the default value must be respecified.
Once activated, the following two options cannot be turned off: PLOT,
and the first ozone peak option of ACCURACY. If the ALREADY option has been
activated, it also will remain activated until turned off (i.e., previous
simulation results will be used with all subsequent JSOPLETH options). To
deactivate the ALREADY option, another ALREADY card must be entered with a
zero or blanks in the first numeric field (Columns 11-20).
To illustrate the procedure for obtaining multiple diagrams, assume that
it is desired to produce two ozone isopleth diagrams. One diagram is to
48
-------
reflect default dilution conditions, and the second diagram different assump-
tions about dilution. The option cards might then be ordered as follows:
1) a set of cards specifying all options and input values other
than dilution (thereby invoking default dilution conditions)
2) an XSOPLETH card causing an ozone isopleth diagram with default
dilution condition to be produced
3) a PJJ.UTION card specifying the new dilution condition
4) an ISOPLETH card causing an ozone isopleth diagram with the new
dilution conditions to be produced.
Note that two sets of simulations are performed, and that the same results
could be accomplished with two separate runs.
3.2.4 Accuracy Tests of the Isopleth Diagram
Options have been incorporated into OZIPP to allow users to test the
accuracy of the diagram. In this manual, the term "accuracy1' is always used
in reference to the numerical solution of an implied initial value problem in
ordinary differential equations. Thus, accuracy does not refer to the degree
of correspondence between an isopleth diagram and atmospheric data.
Although the extensive experience gained in the development of OZIPP
suggests that the default radial lines, number of simulations per line,
tension factor, and so on, will generate sufficiently accurate isopleth
diagrams, this experience does not guarantee sufficient accuracy. The recom-
mended procedures to check many of the factors that affect accuracy are similar.
Th3y merely answer the following question: Do somewhat higher or somewhat
lower values of the factor significantly affect the resulting isopleth diagram?
OZIPP has been designed to respond properly to these factors. For instance,
an increase in simulation density (more radial lines or more simulations per
line) should produce a more accurate isopleth diagram. The procedures in
OZIPP to check accuracy and to generate additional information are discussed
below.
49
-------
A. The Density of Simulations
As described above, the number of radial lines and the number of
simulations per line can be decreased to reduce computer time using the
ACCURACY card. These numbers can also be increased to check accuracy. The
first numeric field (Columns 11-20) on ACCURACY specifies the number of radial
lines, and the second field (Columns 21-30) the number of simulations per
radial line. The limits of acceptable input are odd numbers from 1 to 19 for
the former and any number from 1 to 8 for the latter.
The accuracy of the points at which isopleths touch the edges of the
diagram can be checked (with minimal computer cost) by specifying 19 lines and
1 calculation per line. The accuracy of the isopleth lines along the diagonal
of the isopleth diagrams can be checked by specifying 1 radial line and 8 simu-
lations per line. The spacing and values along any one radial line can be
checked by adjusting the diagram to make that line the diagonal (using the
ISOPLETH card) and using the ACCURACY card with 1 radial line and 8 calcul-
ations on that line. (The ISOPLETH card must follow the ACCURACY card).
B. Calculation at Specified Points
Individual simulations can be performed at specified initial NMHC and
NO concentrations using the CALCULATE card. This option might be required to
X •• —" ~
check an interpolated point or to gain more information about a simulation
actually performed on a previous isopleth diagram. The first two numeric
fields on the CALCULATE card (Columns 11-20 and 21-30) must specify the desired
initial NMHC and NO concentrations. The initial conditions and hourly ozone
A
concentrations will be printed to show the change of ozone in the simulation
with time. Any number entered in the third numeric field (Columns 31-40) will
activate an information option that will print:
' The rate constants used in the kinetic mecahm'sm.
' The concentrations of all species in the kinetic mechanism.
' The net rate of change of all species.
" The reaction rates for each reaction.
The photolysis constants for all photolysis reactions.
50
-------
If the information option is activated, the user may specify the simu-
lation time (in minutes) for which concentrations of all species, current
reaction rates, etc., will be printed. The number of minutes after the
simulation starting time at which the initial printing is made (Default value
= 60 minutes after start) is entered in Columns 41-50. The integral time step
for which subsequent printings are made (Default value = 60 minutes) is entered
in Columns 51-60. Under default values, hourly concentrations of species, net
rates of change, etc., are printed.
After the simulation has ended, a concentration versus time profile is
printed for ozone. An example of output from this option is given in Chapter 5.
C. Accuracy of Simulations
The numerical integration scheme employed in OZIPP estimates the
error at every step of the integration. The size of the time step taken by
the computer is adjusted to keep the estimated error in the range specified.
The error is conveniently controlled by a single parameter with a default
value of 0.01. Smaller values of this parameter increase both the accuracy
and computer time. Larger values do the opposite. By entering numbers smaller
than 0.01 in the third numeric field of the ACCURACY card (Columns 31-40), one
can estimate the accuracy of the simulations. For example, if several CALCULATE
and ACCURACY cards are used, several simulations can be performed with the
same initial NMHC and NO concentrations but with different time steps in the
X
numerical integration. This procedure can be used to demonstrate how the
simulation results vary with increased error tolerance. Table 3-1 shows the
results of such a test using the default conditions.
D. Spline Interpolation Accuracy
There are two parameters that can be used to control the spline
interpolation schemes. Normally, the default values are perfectly adequate.
The parameters should only have to be modified under rare circumstances.
Consequently, the following discussion is included primarily for thoroughness.
51
-------
TABLE 3-1. MAXIMUM OZONE CONCENTRATIONS IN SIMULATIONS AT VARIOUS
ERROR TOLERANCES IN THE NUMERICAL INTEGRATION
Maximum Ozone Concentration (ppm)
0.28624
0.28617
0.28581
0.28602
0.28158
0.28158
0.27957
Error Tolerance
0.00001
0.0001
0.001
0.01 (default)
0.1
0.2
0.5
L 1 L • • •
NOTE: In all simulations, the initial NMHC concentration was 1.0 ppmC,
the initial NO concentration was 0.13 ppm and the default values
were used for §11 other variables.
52
-------
Unfortunately, the spline functions used to interpolate between simu-
lation results do not have a parameter as relevant to accuracy as does the
numerical integration scheme used for the simulations. The spline functions
can be controlled to a limited extent by a simple factor analogous to tension.
The lowest values (e.g., 0.001) cause the hyperbolic spline function to
resemble cubic splines, and high values (e.g., 50.0) result in virtually
straight lines between points or linear interpolation. Since two stages of
interpolation are used in OZIPP, there are two parameters available to control
tension. Default values for both are 1.0, and control is obtainable by entering
the desired number in the fourth and/or fifth numeric fields of the ACCURACY
card (Columns 41-50 and 51-60). The first factor controls the first stage,
namely interpolation between diagram points along the top edge of the isopleth
diagram, along the right edge and along each radial line. This interpolation
stage estimates the coordinates of ozone concentrations for which isopleths
are to be constructed. The second stage interpolates between diagram points
calculated in the first stage to generate the coordinates of the isopleths
themselves. Thus, a value of 50.0 in the fourth numeric field of the ACCURACY
card would cause nearly linear interpolation to be used to locate the diagram
points on the radial lines and edges that correspond to the ozone concen-
trations at which isopleths are to be drawn. A value of 50.0 in the fifth
field would result in nearly straight lines between diagram points calculated
in the first stage.
To a limited extent, the tension factor for the first stage of inter-
polation controls the selection of initial NMHC and NO concentrations for
A
sone simulations because the same interpolation scheme is used in selecting
the initial concentrations for the simulations. Therefore, using the results
of a set of simulations (via the ALREADY option) with different first stage
tension factors may produce slightly different isopleth diagrams.
3.3 LIMITATIONS ON ISOPLETH SHAPES
In general, most of the parameters used in OZIPP have a limited range of
acceptable values. These have been described in this chapter and the next.
53
-------
In addition to these limits, there are certain types of isopleths that cannot
be plotted by OZIPP. But the designers of OZIPP are not aware of any condi-
tions that would result in isopleths of these types. Among the types of
isopleths OZIPP cannot plot are:
' Lines that touch the lower edge.*
' Lines that are closed or that loop in any way.
Lines that touch the left edge in two places.
' Two or more separate lines at the same CL concentration
(only the line closest to the left edge will be
plotted).
*
As shown in Figure 1, the lower edge of an OZIPP ozone isopleth diagram
is at 0.0 initial NO . The left edge is 0.0 initial NMHC, the top edge
the maximum initial RO and the right edge the maximum initial NMHC
concentration.
54
-------
4.0 USER'S GUIDE
This chapter describes the format of the input data, types of error
and warning messages that, can occur, and some special problems to consider
in installing the program on any one fat,Mil? In i-uldition, example job
control language is presented for i i lustra l/i on.
4.1 FORMAT OF INPUT DATA
The twelve options in OZIPP, which were discussed in Chapter 3, are
listed in Table 4-1. For each option, the locations of the different
parameters on the appropriate cards are shown. The order of the OZIPP
options in the input deck is not important except for the ISOPLETH and
CALCULATE options. Any options to be activated for simulations must
precede these two options. Consequently, the order shown in Table 4-1 is
recommended. This ordering has the TITLE option listed first, followed by
the options used to input city-specific information (PLACE, DILUTION,
EMISSIONS, REACTIVITY and TRANSPORT). The next group of options affect
some of the operational aspects of OZIPP (ACCURACY. ALREADY and PLOT).
The two options that actually initiate simulations follow (CALCULATE, and
ISOPLETH). The last card of any input set must be a blank card.
As shown in Table 4-1, all 4-letter code words (e.g., TITL, PLAC,
etc.) which activate an option must begin in Column 1. Each card with
such a code word has up to six numeric fields, each ten spaces wide,
beginning in Column 11. An entry can be made anywhere in a field, but a
decimal point must always be used, even with integral values. Some options
have additional data cards associated with them. These cards must follow
the option card in the order specified in Table 4-1. For example, the
card containing the title must immediately follow the card '/ifh the code
word TITL. Data cards that do not begin with code words contain 7 ten-
column fields beginning in Column 1. Like the numeric fields on cards
with code words, entries may be made anywhere in the field provided a
decimal is used.
As previously described, most parameters have default values asso-
ciated with them. These are indicated by DF in Table 4-1. If no entry is
55
-------
made in a numeric field, the default value will be assumed. For example,
if the only entry made on the PLACE card is in the first numeric field,
the default value of 118.25 will be assumed for the second numeric field,
8.0 for the third, etc.
56
-------
TABLE 4-1.
INPUT FORMAT FOR OZIPP OPTIONS
OPTION DESCRIPTION
Card No. Columns
Contents
TITLE
1
2
Input a new title. If this option is not activated, the
default title is "Standard Ozone Isopleth Conditions."
1-4
1-72
TITL
The title can be placed anywhere
in card columns (cc) 1-72
PLACE
Input city-specific information on light intensity. Default
values correspond to Los Angeles on June 21, 1975.
1-4
11-20
21-30
31-40
41-50
51-60
61-70
PLAC
Latitude, in decimal degrees
north of the equator; DF = 34.058.
Longitude, in decimal degrees
west of Greenwich meridian;
DF = 118.250.
The time zone, in hours from
Greenwich mean time; DF = 8.0.
The year; DF = 1975.
The month of year; DF = 6.
The numerical day of month;
DF = 21.
(optional)
1-24
The name of the place can be
entered anywhere in cc 1-24.
Include this card only if a new
value is entered for the latitude
or longitude on the previous card,
57
-------
TABLE 4-1. (Cont'd)
INPUT FORMAT FOR OZIPP OPTIONS
OPTION DESCRIPTION
Card No. Columns
Contents
DILUTION
Input city-specific information on inversion rise.
1-4
11-20
21-30
31-40
41-50
DILU
Initial inversion height, Zl, in
any units; DF = 510.
Final inversion height, Z2, in
same units as initial inversion
height; DF = 630.
Starting time of inversion rise
(24 hour daylight time); DF = 0800.
Ending time of inversion rise
(24 hour daylight time); DF = 1500.
EMISSIONS
Input city-specific information on post-0800 emissions.
1-4 EMIS
11-20
21-30
31-40
41-50
The number of hours for which emis-
sion fractions are to be input,
from 1.0 to 10.0; DF = 0. This
number should be coded as positive
if the same fractions for NMHC and NO
are to be used. It should be coded x
as negative if different fractions
are to be used.
NMHC or NMHC and NO emission fraction
for hour 1; DF = 0. If all NMHC
fractions are to be set to zero,
enter any negative number and skip
to card 3.
NMHC or NMHC and NO
for hour 2; DF = 0?
emission fraction
NMHC or NMHC and NO emission fraction
for hour 3; DF = 0.
58
-------
TABLE 4-1. (Cont'd)
INPUT FORMAT FOR OZIPP OPTIONS
OPTION DESCRIPTION
Card No. Columns
Contents
EMISSIONS (Cont'd)
51-60
61-70
NMHC or NMHC and NO emission
fraction for hour 4* DF = 0.
NMHC or NMHC and NO emission
fraction for hour 5? DF = 0.
2*
(optional)
1-10
11-20
21-30
31-40
41-50
NMHC or NMHC and NO emission
fraction for hour 6? DF = 0.
NMHC or NMHC and NO emission
fraction for hour 7; DF = 0.
NMHC or NMHC and NO emission
fraction for hour 8; DF = 0.
NMHC or NMHC and NO emission
fraction for hour 9X DF = 0.
NMHC or NMHC and NO emission
fraction for hour 10; DF = 0.
3*
(optional)
1-10
11-20
21-30
31-40
41-50
51-60
61-70
footnote on next page.
NO emission fraction for hour 1;
DF= 0. If all NO fractions are to
be set to zero, enter any negative
number in cc 1-10, skip card 4 and
proceed to the next option.
NO emission fraction for hour 2;
DFX= 0.
NO emission fraction f,T hour 3;
DFX= 0.
NO emission fraction for hour 4;
DFX= 0.
NO emission fraction for hour 5;
DFX= 0.
NO emission fraction for hour 6;
DFX= 0.
NO emission fraction for hour 7;
DFX= 0.
59
-------
TABLE 4-1 (Cont'd)
INPUT FORMAT FOR OZIPP OPTIONS
OPTION DESCRIPTION
Card No. Columns
Contents
EMISSIONS (Cont'd)
4*
(optional)
1-10
11-20
21-30
NO emission fraction for hour 8;
DFX= 0.
NO emission fraction for hour 9;
DFX= 0.
NO emission fraction for hour 10;
DFX= 0.
Card 2 is not included if there are less than 5 hours of emissions
or if all individual NMHC fractions were set to zero by entering a negative
number in cc 21-30 of Card 1. Cards 3 and 4 are not included if combined NMHC
and NO fractions were entered in Cards 1 and 2. Card 4 is not included if all
individual NO fractions were set to zero by entering a negative number
in cc 1-10 of Card 3, or if there are less than 8 hours of NO emissions.
60
-------
TABLE 4-1 (Cont'd)
INPUT FORMAT FOR OZIPP OPTIONS
OPTION DESCRIPTION
Card No. Columns
Contents
REACTIVITY
Input city-specific information on reactivity.
1-4 REAC
11-20
21-30
31-40
Initial fraction of carbon
atoms in the form of propylene;
DF = 0.25.
Initial N09/NOV ratio; DF = 0.25.
C. J\
Fraction of initial NMHC
concentration (in ppmC) added
as aldehyde; DF = 0.05.
TRANSPORT
Input city-specific information on transported pollutants.
1-4
11-20
21-30
31-40
41-50
51-60
61-70
TRAN
Concentration of 03 transported in
the surface layer, in ppm; DF = 0.
Concentration of 0- transported
aloft, in ppm; DF = 0.
Concentration of NMHC transported
in the surface layer, in ppmC;
DF = 0.
Concentration of NMHC transported
aloft, in ppmC; DF = 0.
Concentration of NO transported
in the surface layer", in ppm;
DF - 0.
Concentration of NO transported
aloft, in ppm; DF * 0.
61
-------
TABLE 4-1 (Cont'd)
INPUT FORMAT FOR OZIPP OPTIONS
OPTION DESCRIPTION
Card No. Columns Contents
ACCURACY Increase or reduce the mathematical accuracy of the
isopleth diagram by using more or fewer simulations,
more or less accurate interpolation, etc.
1 1-4 ACCU
11-20 Number of constant initial
HMHC/NO ratios (radial lines
from thi origin of the isopleth
diagram) on which simulations are
to be performed, any odd number
from 1. to 19.; DF = 11.
21-30 Number of simulations per radial
line, from 1. to 8.; DF = 5.
31-40 Error tolerance in the numerical
integration routine, from 0.1 to
0.00001; DF = 0.01.
41-50 Tension factor for hyperbolic spline
functions used in first stage of
interpolation from .001 to 50.;
DF = 1.
51-60 Tension factor for hyperbolic spline
functions used in plotting Isopleth
lines (high tensions lead to straight
lines drawn between the points obtained
from the first stage), from .001 to
50.; DF = 1.
61-70 If any non-zero value is entered in
this field, simulations will terminate
after any ozone maximum; no entry
produces full 10-hour simulations.
62
-------
TABLE 4-1 (Cont'd)
INPUT FORMAT FOR OZIPP OPTIONS
OPTION DESCRIPTION
Card No. Columns Contents
ALREADY Include results from a previous run.
1 1-4 ALRE
11-20 Number of previous simulations to
be input.
2* 1-10 Initial NMHC concentration, ppmC
11-20 Initial NO concentration, ppm.
X
21-30 Maximum one-hour average ozone
concentration, ppm.
* One card is included for each simulation result. Thus, the number of these
cards must be equal to the value coded in cc 11-20 of Card 1. Also, the
cards must be put in the same order in which the simulations were performed.
63
-------
TABLE 4-1 (Cont'd)
INPUT FORMAT FOR OZIPP OPTIONS
OPTION DESCRIPTION
Card No. Columns Contents
PLOT Activates the drawing of the isopleth diagram on
an offline plotter
1 1-4 PLOT
11-20 Scaling factor for the location
of labels for each ozone isopleth.
The value should be between 0.1
and O.8.; DF = 0.6.
21-30 If non-zero, a grid is overlaid on
the diagram. If the value is positive
and non-zero, a grid is overlaid on
the diagram using a different color
pen (if available).
If the value is negative, a grid with
lines of different patterns (e.g.,
dot-dash) is overlaid on the plot.
The absolute value of this number
corresponds to different patterns and
texture.
31-40 Length (in inches) of the abscissa
(NMHC scale) of the isopleth diagram:
DF = 8.5.
41-50 Length (in inches) of the ordinate
(NO scale) of the isopleth diagram;
DF * 5.95.
51-60 Sizes (in inches) of the numbers
to be printed on the axes and of
the characters in the title;
DF = 0.10.
61-70 The sizes (in inches) of the labels
on the ozone isopleths and the
division marks on the axis; DF = 0.07.
64
-------
TABLE 4-1 (Cont'd)
INPUT FORMAT FOR OZIPP OPTIONS
OPTION DESCRIPTION
Card No. Columns Contents
CALCULATE Perform a single simulation with the initial NMHC and
NO concentrations specified on this card.
X
1 1-4 CALC
11-20 Initial NMHC concentration in ppmC.
21-30 Initial NO concentration in ppm.
/\
31-40 Information option; entry of any
positive value will result in
printing of the computed concen-
trations of all species, the rates
of change of all species, reaction
rates, etc. Photolysis constants
are also printed.
41-50 Time (in minutes) from the beginning
of the simulation at which computed
concentrations of all species in the
kinetic mechanism are to be printed;
DF = 60.
51-60 Time step (in minutes) for subsequent
printing of concentrations; DF = 60.
65
-------
TABLE 4-1 (Cont'd)
INPUT FORMAT FOR OZIPP OPTIONS
OPTION DESCRIPTION
Card No. Columns
Contents
ISOPLETH
Construct an ozone isopleth diagram according to the
input parameters. Default isopleths are 0.08, 0.12, 0.16,
0.20, 0.24, 0.28, 0.30, 0.32, 0.34, 0.36 and 0.40 ppm.
1-4
11-20
21-30
31-40
41-50
ISOP
Maximum NMHC concentration (in ppmC) on
abscissa of isopleth diagram; DF = 2.0.
Maximum NO concentration (in ppm) on
ordinate of isopleth diagram; DF = 0.28.
Number of ozone isopleths to be drawn,
from 1. to 20.; DF = 11.
Any non-zero value will activate the
printing of solar noon and the time of the
center of the maximum one-hour average
ozone concentration for each simulation.
2*
(optional)
1-10
11-20
21-30
31-40
41-50
51-60
61-70
Ozone concentration of 1st isopleth, ppm;
Ozone concentration of 2nd
Ozone concentration of 3rd
Ozone concentration of 4th
Ozone concentration of 5th
Ozone concentration of 6th
Ozone concentration of 7th
isopleth, ppm;
isopleth, ppm;
isopleth, ppm;
isopleth, ppm;
isopleth, ppm;
isopleth, ppm.
* See footnote on next page.
66
-------
TABLE 4-1 (Cont'd)
INPUT FORMAT FOR OZIPP OPTIONS
OPTION DESCRIPTION
Card No. Columns Contents
3* 1-10 Ozone concentration of 8th isopleth, ppm.
(optional)
61-70 Ozone concentration of 14th isopleth, ppm.
4* 1-10 Ozone concentration of 15th isopleth, ppm.
(optional)
51-60 Ozone concentration of 20th isopleth, ppm.
bbbb A blank card must follow all input cards to terminate
the program.
1 1-4 Blanks.
Optional cards 2,3, and 4 are input only if the number of isopleths to be drawn
is specified on Card 1. The number of entries, and thus the number of optional
cards, must correspond to the number of isopleths to be drawn. For example,
if 10 isopleths are specified, entries are made in the first 7 fields of Card 2 and
the first 3 fields of Card 3. Card 4 would not be included with the input.
Note that the default scheme does not apply when an entry is made in
Columns 31-40 of the first card (i.e., the ISQP card).
67
-------
4.2 PROGRAM GENERATED ERROR MESSAGES
This section discusses potential output error messages produced by
OZIPP. Two types or error messages are generated:
Fatal error messages — messages caused by problems that
immediately halt any further computation.
Non-Fatal error messages—messages caused by problems
that do not cause an immediate halt in computation.
These types of messages are discussed below.
4.2.1 Fatal Error Messages
There are seven fatal error messages that may occur during OZIPP
runs. Five of these occur because the integration scheme cannot proceed
further. Descriptions of each message are included below:
' THE LOWEST OZONE LINE CANNOT BE PLOTTED
INCREASE THE MAXIMUM HC AND NO VALUES
A
If the concentration of ozone predicted from the maximum
initial NMHC and NO concentrations (listed on the ISOPLETH
card, or NMHC = 2.0 ppmC, NO =0.28 ppm by defaultTTs less
than the lowest ozone isopleth line to be plotted, the program
will stop. The user may fix this problem by either in-
creasing the maximum NMHC or NO concentrations or reducing
the concentrations at which ozone isopleths are to be
plotted.
' NO LINES CAN BE PLOTTED
BACKGROUND ONLY PRODUCES TOO MUCH OZONE PPM
This message is the opposite of the previous message.
If the amount of ozone predicted at NMHC and NO concen-
trations of 0.0 is greater than the highest ozofte isopleth
line desired, the program will stop.
The following error messages all stem from problems encountered in
the integration scheme routines:
' PROBLEM APPEARS UNSOLVABLE WITH GIVEN INPUT
' INTEGRATION HALTED BY DRIVER AT T =
EPS TOO SMALL TO BE ATTAINED FOR THE~MA~CHINE PRECISION
68
-------
• KFLAG = -2 FROM INTEGRATOR AT T = , H =
THE REQUESTED ERROR IS SMALLER THAN CAN BE HANDLED
• KFLAG = -3 FROM INTEGRATOR AT T =
CORRECTOR CONVERGENCE COULD NOT BE ACHIEVED
• ILLEGAL INPUT..EPS.LE.O.
If any of these messages occur, the user should try the following:
' Check input to be sure all data are correct (e.g.,
check hydrocarbon and NO values on a CALCULATE option,
check for negative errorxtolerance, and so on).
Raise the value of the error tolerance, if necessary.
" Redefine the density of simulations (e.g., change the
number of radials, number of simulations per line, maximum
initial NMHC or NO concentrations, etc.)
A
As a last resort, alter the simulation conditions slightly
(e.g., change post-0800 emissions, dilution, etc.)
4.2.2 Non-fatal Error Messages
Two non-fatal error messages may occur in OZIPP runs. The user may wish
to redefine the situation (i.e., the limits of the diagram) or to check the
input data.
• THE OPTIONS INSTRUCTION CANNOT BE PROCESSED
If this message occurs, the user should check for an error
in the input data.
' DUE TO HIGH BACKGROUND CONDITIONS
THE LOWEST OZONE PLOTTED WILL BE PPM
This message indicates that some of the ozone isopleths
desired lie outside the limits of the diagram. For example,
if the maximum ozone concentration associated with zero
initial conditions were greater than 0.08 ppm, a 0.08 ppm
isopleth could not be drawn. However, isopleths greater than
0.08 ppm could possibly be drawn.
69
-------
4.3 COMPUTER CONSIDERATIONS
The OZIPP program consists of one main program and 39 subprograms. It
requires about 41K, 36-BIT words of core in a UNIVAC-1110 computer system.
Run times on the system average 5-7 minutes. Complete listings, along
with flow diagrams of selected subroutines, are shown in Appendices B
and C, respectively. Also included are five calls to CALCOMP subroutines.
Discussed below are special language considerations, use of CALCOMP routines
and computer control language.
4.3.1 Language Considerations
Although OZIPP has been written to conform with ANSI standard FORTRAN
language, there are certain types of language usage in OZIPP that are not
compatible on all computer systems. Areas to check include the following
multiple-entry points:
•Subroutine DIFFUN card(L.l)
entry point:
ENTRY DIFSET(...) card(L.71)
•Subroutine ISOPLT card(V.l)
2 entry points:
ENTRY SAVLIN(...) card(V.77)
ENTRY LINPRT(...) card(V.93)
•Subroutine VVLBLF card(AL.l)
2 entry points:
ENTRY VVLBLC(...) card(AL.60)
ENTRY VVLBLL(...) card(AL.165)
These entry points may or may not require the argument list after the
ENTRY statement.
The variable UROUND in subroutine DRIVES should be set to the round-
off error associated with each computer system. Currently, UROUND is set
_Q
to the round-off error of 7.5 x 10 associated with a UNIVAC 1110 computer
system. To reset UROUND, the card (J.12) in subroutine DRIVES should be
changed:
70
-------
'DATA UROUND/user's round-off error/ (card J.12)
UROUND is calculated from the number of significant digits (N) used for
the mantissa of a floating point constant:
UROUND - 2~N
For the UNI VAC 1110 computer, each word contains 36-BITs of which 27 are used
-27 -9
for the mantissa. Thus, 2 is equal to approximately 7.5 x 10 . This is
the value currently set in OZIPP.
Another variable in OZIPP which is machine dependent is the variable
EXPMAX found in subroutines CURV1 and KURV1. This variable represents the
maximum possible value for the exponent of e. For the UNIVAC 1110 computer,
the range of the real constai
value for the exponent of e:
OQ "SO
the range of the real constants is from 10 to 10 . Hence, the maximum
eEXPMAX = 1Q38
or EXPMAX is 87.5 for the UNIVAC 1110 computer. The value currently set in
OZIPP is 87.4, which is slightly lower than the actual maximum value to ensure
that the actual maximum is never reached. To reset EXPMAX, the user must
change the cards (W.43 and Y.45A) accordingly:
DATA EXPMAX/user's maximum exponent/ W.43
and DATA EXPMAX/user's maximum exponent/ Y.45A
4.3.2 Use of CALCOMP Routines
The CALCOMP routines required by OZIPP are:
•Subroutine PLOT (XX,YY,IX)
PLOTS (XX,YY,IX)
SYMBOL (XX,YY,HT,ITX,ANG,NCH)
NUMBER (XX,YY,HT,FPN,ANG,NDEC)
NEWPEN (IPEN)
For users without access to these CALCOMP routines, dummy routines may be
needed in order to run OZIPP. To generate the dummy routines, the user must
have the following cards for each of the above routines:
71
-------
"SUBROUTINE (argument list)
1 RETURN
'END
For users with standard CALCOMP routines, no modifications to OZIPP are
required. The user should check that the five routines have the same names in
their system as given above.
4.3.3 Control Language
The following runstream illustrates the Executive Control Language (ECL)
necessary to execute the OZIPP program on a UNI VAC 1110 computer system:
@RUN, priority, job, account, userid, time
@AS6,A prog-file
@PLOT plotfile.
@XQT prog-file.abselement
card input deck
(FREE PLOTFILE.
@SYM PLOTFILE.,,PLOT
0FIN
where:
priority = job priority
jobid = six-character job identification
account = user account number
userid = user identification code
time = time requirement for executing the job
prog-file = name of program file containing the OZIPP
absolute element
plotfile = a CALCOMP-produced file that contains the
controls for constructing the plot on an
off-line plotter
card input deck = the input option cards
Note that the job control language will be different for most computer systems,
but the basic requirements for running OZIPP are the same.
72
-------
5.0 EXAMPLE OZIPP RUNS
In this chapter, examples demonstrating the routine functioning of OZIPP
are presented. The procedures for obtaining both the standard ozona isopleth
diagram and city-specific diagram are illustrated. Input and output data for
each type of run are described. These examples can be used as installation
test cases. Because of the internal precision associated with various com-
puter systems, comparisons between results obtained using two different com-
puting systems may show slight numerical differences. However, these differ-
ences should not exceed one percent.
One important application of the city-specific OZIPP is to estimate
control requirements for the case in which transported pollutant concentra-
tions in the future are expected to be reduced. An example of how OZIPP is
used with the EKMA technique for this situation is presented in Section 5.3.
OZIPP was designed to handle a wide variety of isopleth diagrams, but
there may be some sets of conditions that cause unusual plots (e.g., wavy
isopleths, uneven spacing of isopleths, etc.) In some cases, such plots can
be modified by altering the tension factor. This is illustrated in Section 5.4.
5.1 THE STANDARD OZONE ISOPLETH DIAGRAM
The standard ozone isopleth diagram is produced by using all default
values as input. Sixty-two simulations are performed in all, with 5 simu-
lations performed on each of eleven radials. Seven additional simulations are
performed as described in Section 2.3.
5.1.1 Input Data For Standard DiagramExample
Because all input data are set to default conditions to produce the
standard ozone isopleth diagram, only one option needs to be activated - the
ISOPLETH option. However, in this example, it is assumed that a CALCOMP plot
of the standard diagram is also to be produced, with a grid system overlaid on
the diagram. Figure 5-1 shows the input data necessary to produce such a
standard diagram.
73
-------
FIGURE 5-1. INPUT DATA FOR STANDARD OZONE ISOPLETH DIAGRAM EXAMPLE
PLOT 1.0 5.1 3.6 0.06 .042
ISOP
blank card
74
-------
The PLOT option activates the off-line plotting software. The "1.0" is
entered in the second numeric field on that card (i.e., Columns 21-30). This
parameter causes gridded lines of different color to be overlaid on the dia-
gram. If no overlay is desired, the "1.0" should not be entered on the card.
The remaining parameters on the PLOT card set the lengths of the abscissa and
ordinate, the size of the characters, and the size of the labels. (The size
of the plot produced with these parameters is roughly 60 percent of the size
produced with default values). If only a line-printer plot is desired, the
PLOT option card should be removed from the input data.
The ISOPLETH card causes OZIPP to perform the sixty-two simulations with
default simulation conditions (since no default conditions were overridden
except for the PLOT option) and to produce the standard ozone isopleth diagram.
The blank card at the end of the input deck is required for all runs. It
terminates the program after processing all options.
5.1.2 Program Output For Standard Diagram Example
The output for the standard diagram run is presented in Appendix D. The
output from this run consists of three parts. The first part contains a
header page describing the conditions used for the simulations. Assumptions
about location, time of year, dilution and reactivity are all summarized.
The second part of the output presents the simulation results. For each
simulation, the initial NMHC and NO concentration, the initial NMHC/NO ratio
X X
and the calculated maximum one-hour average ozone concentration are printed.
In some simulations, the ozone concentration rises throughout the 10-hour
simulation period. If this condition is encountered in a simulation, "NOT
MAX" is printed next to the ozone value.
The final part of the output is the ozone isopleth diagram. A line-
printer plot is always produced. The off-line diagram produced as a result of
activating the PLOT option is also shown in Appendix D.
75
-------
5.2 EXAMPLE CITY-SPECIFIC DIAGRAM
In developing a city-specific isopleth diagram, there are two important
factors to consider. The first involves estimating city-specific parameters
(such as emissions, dilution and transport conditions) that are representative
of the city of interest. The second involves setting the other OZIPP input
parameters so that a diagram is obtained which is suitable for use with the
EKMA method. In this section, procedures for addressing both of these problems
are illustrated through the use of an example problem.
5.2.1 Determination of City-Specific Parameters
The assumptions made for the city-specific parameters used in the example
problem are described below. The primary guide to be used in formulating
these parameters for any particular city is Appendix B of Reference 1. Some
of the information presented in Reference 1 has been repeated here to illus-
trate the procedures to be used in developing city-specific information.
A. Light Intensity Data
The OZIPP model requires information on city location and day of the
year to calculate the diurnal variation of photolytic rate constants. Lati-
tude and longitude for city center are used to specify the city location. The
date used should be the day on which the design ozone concentration occurs.
(The design value of ozone is normally defined as the highest second-high
hourly ozone concentration measured in or near a city. The reader is referred
to Reference 1 for more details.) For the example problem, a latitude of 39.0
and a longitude of 77.0 were selected. Because this latitude and longitude
fall in the Eastern Time Zone, the Numerical Time Zone of 5.0 corresponding to
Eastern Daylight Time was chosen (see Section 3.2.1). The design ozone con-
centration was assumed to have been measured on August 1, 1977.
B. Dilution Data
To account for dilution effects, the OZIPP model requires data on a
minimum mixing height, a maximum mixing height, the time at which the mixing
76
-------
height rise begins and the time at which it ends. Ideally, these data should
be based on observations taken on the day being modeled. However, it is
usually necessary to use some other indicators of these data. For example, a
suitable surrogate for the design day data is median data based on days with
high ozone levels. Often, the only data available are seasonal mean morning
and afternoon mixing heights as provided in Reference 10. If no local infor-
mation is available on the time of day during which the mixing height is
increasing, it may be assumed that increases in mixing height typically occur
between 0800 and 1500 LOT. For the example problem, data from Reference 10
for the Washington, D. C. area were used. The morning mixing height was
assumed to be 425 meters, and the afternoon height 1900 meters. The mixing
height rise was assumed to take place over a seven hour period beginning at
0800 LOT.
C. Post-0800 Emissions Data
If it is desired to include the effects of post-0800 emissions,
information on relative emission rates must be input. Relative emission rates
express the rate of emissions injected into the imaginary column of air for
each hour of simulation relative to emissions into the air column prior to the
0800 LOT simulation starting time. The emissions prior to 0800 are repre-
sented by the initial NMHC and NO concentrations. Post-0800 emissions are
A
represented by additions to these precursor concentrations.
Relative emission rates are required for each hour of simulation. A
rigorous calculation would require a precise specification of: (1) the loca-
tion of the column, (2) the spatial variation in emissions and (3) the tem-
poral variation in emissions. Unfortunately, these data are not often avail-
able and the task then becomes one of deriving reasonable approximations with
the data that are available. The most practical approach is then to roughly
approximate the spatial and temporal variations in emissions along a hypo-
thetical column trajectory. One such approach is described below. However,
the assumptions and values discussed below are included primarily for illus-
trative purposes. City-specific information should be used wherever possible.
77
-------
An estimation of relative emission rates :ndy he made nssuming column
trajectories that move from the center of the city to the urban limit. As the
column moves away from the rente' r* the •• ity, emiss'uris into it typically
decrease. One formulation that can be used to depict the decrease of emis-
sions with distance from the center of the city is:
2
es = exp ~ax
where
e = emissions at location s
o
Q0 - the emissions in the center of the city
a = constant (may relate to the wind speed or
speed at which the column is moving)
x = the distance the column has moved from the center
of the city
This spatial pattern is in the form of a Gaussian distribution as discussed In
Reference 1. (Other types of distributions may be postulated.) For the
example problem, the spatial distribution of emissions was determined using
the same assumptions as used in Reference 1: (1) the column leaves the
center of the city at 0800 LOT and moves at constant velocity until it leaves
the urban area three hours later; and (2) the emissions at the edge of the
urban area are e (approximately 0.14) of the emissions in the center of the
city. An estimate of the average emissions for each hour was made by cal-
culating the emissions at the mid-point of each hour (e.g., 0830 for the hour
from 0800 to 0900). The second column of Table 5-1 shows the results of these
calculations. These spatial adjustment factors are the hourly factors ex-
pressing the emissions at the location of the column relative to the emissions
in the center city.
After the spatial distribution of emissions has been determined, the
temporal distribution is required. In the absence of site-specific informa-
tion, a city-wide average may be used. This distribution may be calculated as
78
-------
TABLE 5-1. EXAMPLE OF ESTIMATION OF EMISSIONS FRACTIONS FOR OZIPP
Time
12 -
8 -
9 -
10 -
(LOT)
8 a.m.
9 a.m.
10 a.m.
11 a.m.
after 11 a.m.
Spatial
Adjustment
1.0
0.95
0.61
0.25
negligible
Percent
of Days
Emissions
x 16.9
x 6.4
x 4.4
x 4.8
—
Composite
Relative
Emission
Rate
(percent)
16.9
6.1
2.7
1.2
negligible
Normalized
Relative
Emission
fraction*
1.0
.36
.16
.07
negligible
* The composite relative emission rate normalized relative to the
0800 composite rate. These are the input values for OZIPP.
Source: Reference 1.
79
-------
the average of the temporal distribution of mobile and stationary sources. In
some cases, the temporal distribution of automotive emissions may be an adequate
representation of the temper?! distribution of the total emissions. The
distribution used for the example problem was taken from Reference 1, and is
shown in the third column of Table 5-1.
To obtain the relative emissions for input to OZIPP, the spatial and
temporal factors are multiplied and then normalized to the initial emissions.
These processes are presented in Columns 4 and 5 in Table 5-1. The fractions
in the last column were used as input for the example problem.
D. Transported Pollutant Data
For a detailed discussion of pollutant transport as it relates to
EKMA, the reader is referred to Reference 1. Normally, estimates of pollut-
ants transported into the area of interest are based on measurements taken
upwind of the city. Recall that transport of three types of pollutants (NMHC,
NO and ozone) can be considered in two layers - the surface layer and the air
A
above the base of a nocturnal inversion layer. For the example problem, it
was assumed that ozone was transported aloft with a concentration of 0.10 ppm.
The concentrations of the other pollutants were assumed negligible.
E. Reactivity Data
In Reference 1, it is recommended that the default reactivity factors
not be altered. This recommendation is based on two premises:
1) sensitivity studies have indicated that the maximum calculated
ozone concentration is relatively insensitive to the N0?/N0 mix, and
£• y\
2) limited knowledge exists about the mix of organic species in
urban areas and it is very difficult to estimate the equivalent combination of
propylene and n-butane.
For the example run, all reactivity factors, consequently, were left at the
default values.
80
-------
5.2.2 Diagram Definition
The basic data needed to use an ozone isopleth diagram with EKMA are an
NMHC/NO ratio and an observed one-hour average ozone concentration. The
A
optimal diagram arrangement is one in which the observed NMHC/NO ratio is
A
near the diagonal of the diagram and the ozone isopleth corresponding to the
observed ozone design value is in the upper right quadrant of the diagram.
The isopleth lines should be fairly evenly spaced and spread across the dia-
gram, rather than in one corner or along an edge. Even spacing and coverage
provides optimal utilization of the OZIPP algorithm.
The basic procedure recommended for determining the appropriate maximum
NMHC and NO initial concentrations and the isopleth levels for the diagram is
A
one of trial and error. It should be remembered that all isopleth diagrams in
OZIPP are plotted with 10 horizontal scale divisions and 7 vertical ones.
Consequently, it may be advisable to choose an NO maximum evenly divisable by
A
7. One way to test for the appropriate scale is to use the CALCULATE option
to calculate the maximum ozone concentrations associated with potential NMHC
and NO diagram maxima. The combination of NMHC and NO maxima to use in the
A A
run creating the diagram is one which will result in the ozone design value
being located in the upper right quadrant of the diagram. The concentrations
for the isopleths may be altered from the default values, depending on the
calculated maximum ozone concentration. For example, if the calculated
maximum ozone concentration were 0.20 ppm, isopleth values much greater than
this could be replaced with lower values in order to obtain better diagram
resolution.
The above procedure can be illustrated with the example problem. Assume
that the design NMHC/NO ratio is 5.0 and the design ozone concentration is
A
0.16 ppm. A single OZIPP run was made using multiple CALCULATE options to
test possible NMHC and NO maxima. Because the NO scale is divided into
X X
seven equal increments, the NO values selected were all even multiples of
X
0.07. (Using one of these V^IUPS will produce a graph that is easy to read.)
The NMHC value corresponding to each of the potential NO maxima was chosen
J\
81
-------
such that the NMHC/NO ratio was approximately equal to the design value and
A
the NMHC scale would be easy to read. The results of the simulations per-
formed to test the maxima are summarized below:
NO NMHC NMHC/NOX Maximum Ozone
.42 2.0 4.8 .30
.35 1.8 5.1 .28
.28 1.5 5.4 -25
.21 1.0 4.8 .21
.14 0.7 5.0 .17
The maxima selected for use in producing the isopleth diagram were 0.21 and
1.0 for NO and NMHC, respectively. These values will result in the design
A
ozone concentration being located in the upper right quadrant of the diagram.
5.2.3 Input Data For City-specific Example
The input data for the example city-specific run are shown in Figure 5-2.
Several options have been included for illustrative purposes. The input data
are set up to perform two single simulations and then to construct an isopleth
diagram using the ISOPLETH option.
The first option causes the default title to be replaced by the title on
the next card, i.e., "CITY-SPECIFIC EXAMPLE". All output is labeled with this
title.
The PLACE option is used to override the default location and day of
year. The first two numeric fields contain the latitude and longitude for the
example city. The next numeric field contains the time zone indicator. The
city is assumed to be in the Eastern Time Zone, so 5.0 is entered as the
numerical time zone (see Section 3.2.1). The next three fields contain the
year, month and day - August 1, 1977. The card following the PLACE option
contains the name of the example city.
82
-------
FIGURE 5-2. INPUT DATA FOR CITY-SPECIFIC DIAGRAM EXAMPLE
TITL
CITY-SPECIFIC
PLAC
TEST RUN CITY
DILU
EMIS
TRAN
ALRE
0.0
0.0
0.7
0.7
PLOT
CALC
CALC
ISOP
.06
blank card
EXAMPLE
39.0
425.0
3.0
4.
0.0
0.14
0.14
0.0
1.0
1.0
0.7
.08
77.0 5. 1977. 8. .1.
1900.0
0.36 0.16 0.07
0.10
.06229
.04664
.17315
.06774
5.1 3.6 0.08 0.06
0.21
0.21 1.0
0.14 6.0 1.0
.10 0.12 0.14 0.16
83
-------
The data on dilution is entered by using the DILUTION option card. The
morning and afternoon mixing heights are entered in the first two numeric
fields. Because no other entries are made on this card, the starting time and
ending time of the inversion rise will remain at default values, namely 0800
and 1500 LOT, respectively.
The emissions data are entered via the EMISSIONS option card. The first
numeric field indicates that emissions data are input for the first three
hours of the simulation. The next three numeric fields contain the relative
emission fractions. Note that, because the number of hours coded in the
second numeric field is positive, the relative emission fractions apply to
both NMHC and NO .
A
The TRANSPORT option card is used to enter the data on transported
pollutant concentrations. The concentration of ozone transported aloft
(O.lo ppm) is input in the second numeric field. Because all other fields are
left blank, the concentrations of all other transported pollutants remain at
default levels (i.e., zero).
The ALREADY option has been included simply to illustrate its use. The
4.0 entered in the first numeric field indicates that the results of 4 simu-
lations are to be input. Note that these simulations must be input in the
order that they would normally occur in the run, starting with the first. (In
other words, if there are 10 input simulations, they must be the 1st through
the 10th). The 4 cards following the ALREADY option contain the previous
simulation results. On each card, the first field (i.e., Columns 1-10) con-
tains the initial NMHC concentration, the second field the initial NO con-
A
centration, and the third field the maximum-one-hour ozone concentration.
The PLOT option activates the off-line plotting software. The lengths of
the abscissas and ordinate of the diagram are set to 5.0 inches and 3.6 inches
by the entries in the third and fourth numeric fields of this card. The other
parameters control the size of the characters and labels on the graph.
84
-------
The first CALCULATE option results in one particular simulation being
performed with initial HMHC and NO concentrations of 1.0 ppmC and Q.21 ppm,
X
respectively. The second CALCULATE option produces the same simulation. In
this case, however, the information option is activated by entering "1.0" in
the third numeric field. The detailed information is to be printed for hourly
intervals because the fourth and fifth numeric fields have been left blank and
the default values are used (see Table 4-1).
The final option, IjOPLETH, causes an ozone isopleth diagram to be
produced. The first two numeric fields contain the maximum NMHC and NO
/\
initial concentrations for the diagram (0.7 ppmC and 0.14 ppm, respectively).
The 6.0 coded in the third numeric field indicates that 6 isopleths are to be
drawn on the diagram. The isopleth levels themselves are entered on the next
two cards. The positive number coded in the fourth numeric field activates
the printing of solar noon and the time of the center of the maximum one-hour
average ozone concentration.
Again, note that the ordering of the option cards is unimportant, except
that the JSOPLETH and CALCULATE cards must come after all other options have
been activated. Data cards (i.e., those without a code word in the first
field) must be in the order specified in Table 4-1. Also, default values will
be assumed for any numeric field left blank.
5.2.4 Program Output For City-specific Example
Anpendix E contains all the program output for the city-specific example.
First, the ALREADY option causes the input simulation results to be reprinted
in tabular form. The first CALCULATE option produces three pages of output.
The first page is a tabular summary of the simulation conditions. The second
table gives instantaneous pollutant concentrations at hourly intervals. The
maximum one-hour average ozone concentration is printed at the bottom of the
table. The last page of output produced by this option is a graph of instan-
taneous ozone concentration versus time.
85
-------
The second CALCULATE card has the informtion option activated and thus
produces much more output. First, the table summarizing the simulation condi-
tions is produced. A table is then printed giving the rate constants for each
of the 76 reactions. Thirdly, a set of tables produces information on the
instantaneous concentrations of all reactant species, their net rates of
change, and the rates of all 76 reactions. For the example problem, such a
table is produced at each hour of the simulation. Finally, a graph of ozone
versus time is printed.
The ISOPLETH option produces three types of output. As with the CALCULATE
option, a table summarizing the simulation conditions is first produced.
Next, the results of each simulation are presented in tabular form. Note that
the first simulation called for by the JSOPLETH option begins at the point
where the simulations from the previous run ended (i.e., those entered using
the ALREADY option). Finally, a line-printed plot of the ozone isopleth
diagram is printed. Activation of the PLOT option along with the ISOPLETH
option results in the off-line plot reproduced in Appendix E.
The conditions that produced, this isopleth diagram led to some wiggles in
the isopleth lines. The explanation for these wiggles is that these condi-
tions produce two ozone peaks in the simulations. The first typically occurs
after about 400 minutes of simulation, and the second near the termination of
the simulation at 600 minutes. For low NMHC/NO ratios (the upper part of the
/\
isopleth diagram), the first maximum is always smaller than the second. But
for high NMHC/NO ratios, the first maximum is larger. Near the diagonal, the
)\
two maxima are nearly equal. Thus, the isopleth diagram is really two diagrams
superimposed. The area just above the diagonal is where the "first-peak"
diagram is joined to the "second-peak" diagram.
This conclusion was reached after performing several simulations near the
wiggles to ensure that these wiggles are not artifacts of interpolation.
Another diagram for the same conditions, but with more calculations using the
ACCURACY option, showed the same wiggles.
86
-------
5.3 EXAMPLE TRANSPORT PROBLEM
An important application of the city-specific OZIPP is to estimate
emission control requirements for the case in which future transported pol-
lutant concentrations will be significantly different from current levels.
Such a situation might occur as a result of the imposition of control measures
upwind of the city of interest. The procedure of using OZIPP with the EKMA
technique for this case is explained fully in Reference 1. An example trans-
port problem is presented below to illustrate the technique.
For the example problem presented in Section 5.2, it was assumed that the
concentration of ozone transported aloft was 0.10 ppm. It was also assumed
that the design ozone value was 0.16 ppm and the design NMHC/NO ratio was
rt
5.0. For the example transport problem, the following additional assumptions
will be made:
1) NO concentrations will remain unchanged
X
2) ozone transported aloft will be reduced from 0.10 to 0.04 ppm
3) the air quality goal is 0.08 ppm.
The problem is then to estimate the reduction in NMHC concentrations required
to meet the air quality goal.
The first step in the EKMA procedure is to generate the ozone isopleth
diagram for the existing situation (i.e., 0.10 ppm ozone transported aloft).
This is demonstrated in Section 5.2, and the diagram is shown in Figure E-3.
The next step is to generate the isopleth for the air quality goal (i.e.,
0.08 ppm) incorporating the assumption about future transported concentrations.
This is accomplished by modifying only the TRANSPORT and ISOPLETH options of
the input data that were used in the example problem in Section 5.2. The
ozone transported aloft is changed from 0.10 to 0.04 ppm. The ISOPLETH
option is modified to plot only the 0.08 ppm isopleth. The diagram generated
by OZIPP with these modifications is shown in Figure 5-3.
The EKMA technique can now be applied to the problem. (For details of
this procedure, see Reference 1.) The base initial NMHC and NO concentratic
/\
are determined by using the base case diagram (Figure E-3), the design ozone
87
-------
x
fi
c,-]:::,::::..:::
j...........„..
O
.
I:-:.:.:-:.:.;..
V : •
A:: ..:
FIGURE 5-3. Example City-specific Diagram for Reduced Transport Case.
-------
value and the NMHC/NO ratio. For this problem, the base initial NMHC con-
/\
centration is .60 ppmC, and the base initial NO concentration is 0.12 ppm.
/\
This coordinate is then plotted on the new diagram (Point A on Figure 5-3).
The NMHC reduction necessary to achieve the air quality goal is then repre-
sented by the line AB on Figure 5-3 (i.e., NMHC concentrations must be reduced
from 0.6 ppmC to 0.34 ppmC, amounting to a NMHC reduction of 43 %).
5.4 USE OF THE TENSION FACTORS
In certain instances the user may have to plot ozone isopleths relatively
close together on a large diagram. For example, a user may wish to plot
isopleths at 0.10, 0.11 and 0.12 ppm on an isopleth diagram that has large
maximum initial NMHC and NO concentrations. This may cause the isopleths to
A
be squeezed close together. An example of such an isopleth is shown in
Figure 5-4. Note in this figure that the 0.06 and 0.08 ozone isopleths almost
touch.
To rectify this situation, the user can increase the second stage tension
factor on the ACCURACY card. This causes partial straightening of the curve
between the points used to draw the isopleths. For example, a second run was
done (with the ALREADY option to save computing time) using a tension factor
of 10.0 (see Figure 5-5). Note that the isopleths are now more evenly spaced
in Figure 5-5 than in Figure 5-4. The input deck for the run with the default
tension factor was:
0.22 0.22
EMIS 8.0
0.22 0.23
PLOT
I SOP
0.06 0.08
0.30 0.32
blank card
0.22
0.25
0.12
0.34
0.22
12.0
0.16
0.36
0.21
1.0
0.20
0.40
0.24 0.28
89
-------
D.6 0.9 1.0 1.3 1.1
NMHC.PPMC
STRNDfRO eZBNE ISUPLETH CDNDIT10MS
1.6
l.B
2.0
FIGURE 5-4. Isopleth Diagram with Default Tension Factor
Showing Touching Isopleths
90
-------
NMHC.PPMC
BZBI^E JC0PLETH CllfJDJTJBNS
2.0
FIGURE 5-5, Isopleth Diagram with Increased Tension Factor
To Eliminate Touching Isopleths
91
-------
The input deck for the run with the tension factor of 10.0 was:
0.22 0.21 0.22 0.22
EMIS
0.22
ACCU
ALRE
0.
8.0
0.23
61.0
0.
0.22
0.25
0.
10.0
2.0
PLOT
ISOP
0.06
0.30
blank
.00635
0.08
0.32
card
.07837
0.12
0.34
12.0
0.16
0.36
1.0
0.20
0.40
0.24 0.28
92
-------
REFERENCES
1. Uses, Limitations and Technical Basis of Procedures for
jQTJantifying Relationships Between Photochemical Oxidants
ancT Precursors, EPA-450/2-77-021a, U.S. Environmental Protection
Agency, Research Triangle Park, North Carolina, November 1977.
2. M. C. Dodge, Effect of Selected Parameters on Predictions of a
Photochemical Model, EPA-600/3-77-Q48, U.S. Environmental
Protection Agency, Research Triangle Park, North Carolina,
June 1977.
3. G. Z. Whitten, M. J. Meldgin and P. M. Roth, A Preliminary
Evaluation of the Potential Influence of Varying HC/NO Ratios
on~the Design of Oxidant Control Strategies, EF77-33R, Systems
Applications, Incorporated, San Rafael/California, May 1977.
4. S. R. Hayes, S. D. Reynolds and P. M. Roth, A Commentary on the
Analysis of Control Measures Required To Achieve Compliance with
the National Ambient Air Quality Standards: The Selection of
Models and Specification of Data Requirements, EF77-44R, Systems
Applications, Incorporated, San Rafael, California, May 1977.
5. K. L. Schere and K. L. Demerjian, Calculation of Selected
Photolytic Rate Constants over a Diurnal Range, EPA-600/4-77-015,
U.S. Environmental Protection Agency, Research Triangle Park,
North Carolina, March 1977.
6. C. W. Gear, "The Automatic Integration of Ordinary Differential
Equations," Communication of the Association for Computing Machinery,
14(3), 176-179 (March 1971J.
7. J. W. Spellman and A. C. Hindmarsh, GEARS: Solution of Ordinary
Differential Equations Having a Sparse Jacobian Matrix. UCID-30116,
University of California, Livermore, California, August 1975.
8. A. H. Sherman, Yale Sparse Matrix Package User's Guide, UCID-30114,
University of California, Livermore, California, August 1975.
9. A. K. Cline, "Sealer and Planar - Valued Curve Fitting Using
Splines Under Tension," Communi cati on of the Associ ati on for
Computing Machinery, 17(4), 218-220 (April 1974).
10. George C. Holzworth, Mixing Heights, Windspeeds and Potential
for Urban Air Pollution throughout the Contiguous United States
AP-101, U.S. Environmental Protection Agency, Research Triangle
Park, North Carolina, January 1972.
93
-------
APPENDIX A
KINETIC MECHANISM USED IN OZIPP
94
-------
APPENDIX A
KINETIC MECHANISM USED IN OZIPP
Number
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
Reaction
N02 + hv - NO + 0(3P)
0(3P) * 0, + M H. 0. + M
2 3
0 + NO •+ NO * 0
3 22
N02 + 0 -»• NO + 0
N02 + 0(3P)+NO + 0
NO, + NO H. 2NOn
3 2
N0_ + NO. -* N00P
2 o 25
N2°5 " N°2 * N03
N20 * H^O -* 2HNO-
NO * NO f H20 -^ 2HONO
2HONO -.NO * N0_ + HnO
2 2
110NO + h^ -*- OH * NO
OH + NO., -*1 R\0
OH * NO - HONO
H00 * NO - NO -•• OH
HO., * KO, -^ HOOH + 0.
*• i- 2
HOOH + hv -^ 20H
03* hv- OC^)
03 * hv - OC3P)
0(1D) + M -f 0(3P) * M
0(1D) * H.O •* 20H
Rare Constant
k
vary
-5 -2 -1
2.0 X 10 ppm min~
25.0
0.045
1.3 X 104
1.3 X 104
5.6 X 103
22.0nin"1
-6
2.5 X 10
-9 -2 -1
1.0 X 10 ppm min
1.0 X 10"3
k
vary
8.0 X 103
3.0 X 10°
1.2 X lO^
8.4 X 103
k
vary
k
vary
k
vary
8.7 X 104
5.1 X 105
95
-------
Number
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
Reaction
OH * 0
°3 * H
PROP +
ADD *
ADD +
ADD +
ADD +
ADD +
X -v
PROP ••
PROP ••
BUT *
BUT «•
NO + C
_ •* Hi
I0_ -»•
OH -*
NO ->
ADD -^
Me02 -»
C2°2-
C3°2-
HCHO *
•°3-
3 "*
OH H.
OH H.
NO + Sc02 -•>
NO + C
NO «• C
:3°2 -
: o. -.
NO * MeO- -v
c4o -*
ScO -*
C3°-
C2°-
c.o +
4
ScO *
i
HCHO
ALD2
HCHO
HCHO
°T *
2
°2-
32*°2
OH + 202
ADD
X * N02
2X
X + MeO
X * C20
X * CjO
ALD2 + H02
OH + H02 + ALD2
OH * C203 + HCHO
Sc02
C4°2
N02 * C40
N02 + ScO
N02 * CjO
N02 + C20
NO- * MeO
2
•*• C_0_
*C2°2
.c2o2
*Me02
ALD4 * HO,
*
MEK * H02
*
Rate Constant
84.0
2.4
2.5 X 104
1.0 X 103
1.2 X 104
1.0 X 103
1.0 X 103
1.0 X 103
1.0 X 105
8.0 X 10";
8.0 X 10~'
1.8 X 103
1.8 X 103
1.8 X 103
1.8 X 103
1.8 X 103
1.8 X 103
1.8 X 103
7.5 X 104
1.0 X 105
8.0 X 103
4.0 X 103
0.7
1.4
min"
3
\
min"
min"
min"
min"
96
-------
Number
46
47
48
49
50
f •
51
f «*
52
53
54
55
56
57
58
59
60
61
62
63
64
C5
66
67
68
Reaction
c3o.
c2o.
MeO f
HCHO
HCHO
HCHO
ALD2
ALD2
ALD2
ALD3
ALD3
ALD3
ALD4
ALD4
ALD4
ADD •
ADD •
C4°3
C3°3
C2°3
C4°3
C3°3
C2°3
°2^
°2 *
°2^
* hv -*•
+ hv •*
+ OH •*
* hv -»•
* hv -»•
+ OH •*
+ hv •*
•*• hv •+
* OH -*•
+ hv -*•
* hv •*•
+ OH
f C4°2
* Sc02
+ NO •*
* NO
* NO
*N02
* N02
* N02
ALD3 * H02
ALD2 + H02
HCHO + H02
Stable Products
2HO.
2
HO
2
Stable Products
Me02 + H02
C2°3
Stable Products
C2°2 * H°2
C3°3
Stable Products
C3°2 + H°2
"C4°3
-^ X * C,0
4
•+ X + ScO
C302+N02
" C2°3 * N°2
•* Me02 * N02
-* °AN
•* PAN
•* PAN
Rate
Constant
0.5
0.4
0.4
kvary
k
vary
1
4
.5
.2
X
X
io4
1C'6
nin~
k
vary
1
6
2
4
6
1
4
1
1
8
8
8
1
1
1
.5
.0
.5
.5
.0
.9
.5
.0
.0
.0
.0
.0
.0
.0
.0
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
io4
io-5
io-3
io4
io-5
ID'3
io4
io3
IO3
io2
io2
io2
io2
io2
io2
min"
min
min"
miiT1
97
-------
Number Reaction Rate Constant
69
70
71
72
73
74
75
76
C4°2*
c3o2.
Sc02 *
C
2°2 +
Me02 +
c
C
C
.0, +
4 3
,0, +
3 3
•5°.. *
2 3
HO
HO
HO
HO
HO
HO
HO
2"
2"
-V
2
2 "*"
_^
2
-*•
2
_^
2
Stable
Stable
Stable
Stable
Stable
Stable
Stable
Stable
Products
Products
Products
Products
Products
Products
Products
Products
4
4
4
4
4
4
4
4
.0
.0
.0
.0
.0
.0
.0
.0
X
X
X
X
X
X
X
X
10
10
10
10
10
10
10
3
3
3
3
3
3
3
io3
* -1 -1
Units of ppm min unless otherwise indicated
Source: Dodge (1977).
Symbol Definition
fcya Diurnal 1-hour average photolytic rate constant
PROP C,H^
3 6
BUT n-C4H1Q
ADD CH3CH(OH)CH200
X CH3CH(OH)CH20
Me02 CH 0
CO ru ru n
22 CH3CH2°2
CO CH CH CH 0
32 3222
CO CH CH CH CH 0
42 322 22
ALD2 CH3CHO
ALD3 CH3CH2CHO
-^-
-------
Svtnbol Definition
ALD4
C2°3 CH3C°3
C3°3 CH3CH2C°3
99
-------
APPENDIX B
PROGRAM SOURCE LISTINGS
100
-------
APPENDIX B
PROGRAM SOURCE LISTINGS
Routine in OZIPP
Program
Subroutine
M
11
11
II
Function
Subroutine
ii
ii
ii
it
ii
n
ii
n
ii
it
n
ii
n
M
n
Function
Subroutine
n
n
n
Block Data
IT
II
Function
Subroutine
M
II
II
II
II
II
MAIN
PHOT
RATE
SOLAR
SPLNA
SPLNB
CLOCK
RLINE
SIM
DRIVES
STIFFS
DIFFUN
OZMX
COSET
NSCORA
NSNFAC
NSBSLV
YSMER
INTERP
LINER
CURVE
ISOPLT
CURVl
CURV2
KURV1
KURV2
FRAME
AXES
SUN
MECH
GEAR
CIRC
EMISS
CONVT
EDGMX
DEC
SOL
WLBLF
NEWLIN
Page Number
102
108
110
111
113
115
116
117
124
127
130
135
137
138
139
140
142
143
144
145
150
153
156
159
161
165
167
169
172
175
176
177
178
182
183
184
185
186
189
101
-------
OZIPP - MAIN Program
CONNOR XCALCX NR.13M 77,3) ,A<77) ,8(77) ,R<77> , ITYPE<77>, IA<34) ,JA(2I A 2
I8),DILTrr,TEHP,ERR,START,8TOPP,SPEGI8(34) .TPWTT.TSTEP A S
COMMON XCNTRLX 8IG,SIGMA, INFO.NPTO.XNF.RCTY,ALDX,OZIFfOZAL,HClN,HC A 4
1AL,XNIN,XNAL,TSRT,DTIM,Z1,Z2,DCON,EHC,EXN,FLST,TLST A 9
COMMON XEMISX ITEM, EM( 11), EMHC( 11),EMHOX< 11), ESTRT<2),ESTOP, ESLP,EH A «
1SLP,ENSLP,EC(38),ECBC<38>,ECXN<38) A 7
COMMON XINOUTx IF,IOOT,ITAPE A 8
COMMON /TITL/ ITTL(18) A 9
COMMON /PLTVEC/ HCT<20) ,OT<20) ,NT,OHC,HCC,PLTGRD,OXN,X!rG,HCl,XNl,T A Id
1ICZ,DIGZ,CHRZ A 11
COMMON XWLBLX FCTR,DIST,CHR8IZ,NNCHR,OZBL A 12
COMMON XNEEDx HC.XN.NL.NRTO.RTO<20),OZP<20),OZN(8,20),RHO(8,20),MR A 13
l,OC(4),OS(2),HCS,XPrS,LS,HGLL(8) A 14
COMMON XHOURX OZM.NGO.TM A 13
COMMON XSUNLI Tx XJ(47,10) ,SIGMO(31,10) .PHK31, 10) ,Z< 10) ,RTCON< 10), A 16
1LAM1,INC.gLA.SLO.TZ,IY,IM,ID,ISTRT,ISTOP,I INC,lEND.SPECIE.MAXZ, IT! A 17
2ME( 13),XZ( 13),K( 13), JSTRT,JSTOP,SPEC(11),MNLM( 11),MXLM( 11),MAXL,MA A 18
3XJ A 19
DIMENSION F<21), X(«), PLACE(6) A 20
DIMENSION NRTC(76), XRTC(76) A 21
DATA ISPD/4HISOP/,IGAL/4HCALG/,IACR/4HACGU/,IDILX4HDILU/,IPLC/4HPL A 22
1ACX,IEMSX4HEMISX,IRDYX4HALREX,IBLK/4H X,IPLTX4HPLOTX,ITRNX4HTRA A 23
2NX,ITITX4HTITL/,IRCTX4HREACX A 24
SET DEFAULTS A 23
DATA HGx2.0X,XPrx0.28X,rrL/HX,NCXllX,MRX3X A 26
DATA ITTLX4HSTA!C,4HDARD,4H OZ0.4HNE I,4HSOPL,4HETH ,4HGORD,4HITIO, A 27
14HNS ,9*4H X A 28
DATA IOUTX6X,KALCMPX0X,IITFOX0X,NPTOX0X,KSX1X,NCOX1X A 29
DATA OZPX.08,.12,.16,.20,.24,.28,.30,.32,.34,.36,.40,9*0.X A 30
DATA TBRTX0.0X,DTIMX420.X,Z1X310.X,Z2X630.X,DCONX0.0X A 31
DATA DSTRTX800.x,DENDX1300.X,PLTCRDX0.X,OHCX0.x,FCTRX0.6X,OXNX0.x A 32
DATA CHRSlZx«.eTX,TICZx0.07X,DIGZX0.10X,CHR2^0.10x,HClX8.5X,Xfflx3. A 33
193X A 33A
DATA SIG/1.X,SIGMAX1.X,RCTYX.23X,XITFX.23X,ALDXX.08X A 34
DATA OZINX0.X,OZALX0.x,HCINX0.X,HCALX0.X,Xini!CX0.X,XNALX0.X A 33
DATA ERRx0.0lx,TEMPX303.0X,KSSX0x,ESlx0x,JSX0x A 36
DATA F<21)X0.0/,ESTOPxd.0X,STOPPx600.X,TPRirrx60.X,TSTEPX60.x A 37
DATA PLACEX4H LOS.4H ANC.4HELES.4H, CA.4HLIF..4H X A 38
DATA SLAx34,038x,SLOXlia.230X,TZX8.0X,IYxl973x,1MX6X,IDX21X A 39
DATA IEM^0x,EMHC.irE.0,
IF (ABS(X(3)).NE.0.
IF (ABS(X(3)).NE.0.
>,I«1, 6)
> TO 10
HC»X(1)
XN>X(2)
INFO»-1
NL*IFIX(X(3)-f0.1)
READ 130, (OZP(I),
I'l.NL)
102
-------
DDTRT'DSTRT A 38
DDEND'DEKD A 99
WRITE (IOUT, 180) Z1,Z2,DDTRT,DDEJO) A 60
VRITE (IOUT,183) RCTY.XNF,ALDX A 61
IF (OZIW+HCIR+XMIf.CT.0. .OR.OZAL+HCAL+XRAL.GT.0.) WRITE ( IOUT,223> A 61A
IF (OZIK+HCIR+XrrilT.GT.0.) VRITE ( IOUT, 190) OZIR.HCIIC.XWIR A 62
IF (OZAL+HCAL+XIUL.GT.0.) VRITE (IOUT,199) OZAL.HCAL.XNAL A 63
IF (REM.CT.0) VRITE (IOUT,200) (1,1*1.KEN) A 64
IF (WEM.CT.O) VRITE ( IOUT,205) (EM( I),1=1.REltf) A 65
IF (ICEM.LE.-l.AWD.EMHCd) .CE.-0.) VRITE (IOUT,210) (I.IM.IEN) A 6«
IF (PEM.LE.-1.A1O>.EMHC(1).GE.-0.0) VRITE < IOOT.213) (EMHC( I) , I* 1, I A 67
1EPD A 68
IF < ITEM. LE.-l. AND. EMNOX(1).CE.-0.) VRITE ( I OUT, 220) .EMIfOX(l).CE.-0.) VRITE (IOUT, 213) (EMROX( I), I«l, A 70
1IETD A 71
CALL RLIRE (IfC.F.KBl, J8) A 72
CALL LIICER (SIG.KALCMP.F) A 73
I!TFO«0 A 74
GO TO 5 A 73
10 IF (IOPT.RE. 1CAL) GO TO 13 A 76
NPTO* 1 A 77
VRITE (IOUT, 143) A 83
VRITE (IOUT,183) RCTY.XHF,ALDX A 86
IF (OZIIT+HCIir-fXinif.GT.0..OR.O2AL4HCAL+XrfAL.CT.«.) VRITE (IOUT,223) A 86A
IF (OZIN+HCIR+X5IJf,GT,0.) VRITE (IOUT, 190) OZI5,HCIF,XIfIB A 87
IF (OZAL+HCAL+XNAL.CT.0.) VRITE ( IOUT, 193) OZAL,HGALtXTCAL A 88
IF (ICEM.CT.0) VRITE ( IOUT,200) (I,I»l,IfEM) A 89
IF (HEM.CT.0) VRITE (IOUT,205) (EM(I),I*1,WEN) A 90
IF (NEH.LE.-1.A5D.EMHC( D.GE.-0.) VRITE (IOUT,210) (I.IM.IEM) A 91
IF (ITEM.LE.-l.AITD.EMHCt 1) .CE.-0.0) VRITE ( IOUT.213) (EMHC( I), 1-1,1 A 92
1EJD A 93
IF (irEM.LE.-l.AIfD.EMirOX( D.GE.-0.) VRITE ( IOUT, 220) (I.I'l.IEM) A 94
IF (irEM.LE.-l.A5D.EMBOX(l),GE.-0.) VRITE ( IOUT.213) X(4) A 100
IF (ABSO:(3)).NE.0.) T8TEP MR«IFIX(X(2)+0.1) A 112
103
-------
IF A 114
IF (AB8(X(5)).IfE.0.) BMCMA»X<5) A 115
IF (AB8(X(6)).IfE.0.) HGO*0 A 116
GO TO 5 A 117
20 IF A 120
IF A 124
IF READ 160, (PLACE(I),1=1,6) A 125
CALL PHOT (PLACE) A 126
GO TO 5 A 127
25 IF (IQPT.IfE.IDIL) GO TO 30 A 128
IF A 136
DTIM=TMIW2-TMIN1 A 137
TSRT=TMIN1-430. A 138
GO TO 5 A 140
30 IF (IOPT.WE.IEMS) GO TO 55 A 141
NEMMFIX(X(1)+0.1) A 142
IEM=IFIX(ABS(X( l))+0. 1) A 143
IF (X(l).LT.-0.999999999) GO TO 40 A 144
DO 3B 1=1,5 A 145
35 EM( I)»ABS(X(I+1)) A 146
IF (HEM-5.CT.0) READ 130, (EM( I) ,I*6,WEM) A 147
CALL EMISS (WEM.EM, ESTRT( 1).ESTOP,ESLP,EC) A 148
EMHC(l)»-3. A 149
EMlfOX(l)=-3. A 150
GO TO 5 A 151
40 DO 45 1=1,3 A 152
45 EMHC( I)=X( 1+1) A 153
IF (EMHC( 1).LT.-0.0001) GO TO 50 A 154
IF (1EM-5.CT.0) READ 130, (EMHC( I),1*6,IEM) A 155
CALL EMISS (IEM,EMHC,ESTRTC1),ESTOP,EH8LP,ECHO A 156
50 READ 130,
-------
IF ) .NE.e.) BC1-XO) A 171
IF ) .RE.0.) X1U«X(4) A 172
IF .RE.0.) CHRZ>X(9) A 173
IF .TO.0.) CHRSIZ=X<6) A 174
DICZ=CHRZ A 174A
TICZ=CHRSIZ A 174B
GO TO 3 A 173
69 IF (IOPT.NE.IRCT) GO TO 63 A 176
IF (ABS(X( 1)) .NE.0.) RCTY=X<1) A 177
IF .KE.0.) XKF=X<2) A 178
IF (ABS(XC3)).HE.0.) ALDX-XO) A 179
GO TO 3 A 180
65 IF (IOPT.NE.ITIT) CO TO 70 A 181
READ 123, ( ITTL( I),1=1, 18) A 182
CO TO 3 A 183
70 IF A 19«
GO TO 3 A 191
75 IF =F(1)*XNH A 208
OZN(MR,1)=OC(3) A 209
HC£=0.98*HCC A 219
NCE=1 A 211
B0 IF (KK.EQ.KS1) GO TO 9 A 212
IF (NC.EQ.1) GO TO 95 A 213
85 DO 90 1=1,2 A 214
HCS-HCC A 215
READ 130, HCC.XNS.OSCI) A 216
RT02=HCC/XRS j A 217
VRITE (IOUT,155) HCC,XK8,RT02,OS(I) A 218
KK=KK+1 A 219
IF (KK.EQ.3) HCG-HCC A 220
IF (KK.EQ.3) OHC'OSU) A 221
IF (KK.Ed.6) XNG-XNS A 222
IF (KK.EQ.6) OXN«08(I) A 223
99 IF (KK.Ea.KSl) CO TO 6 A 224
95 JK*MR-1 A 223
105
-------
NCR« GOTO 105 A 235
RHO( MR, I > »8ORT< HCE*HCE* 1.041232+XN8*XN8) A 236
OZTICMR, I)=OS(2) A 237
JK=MR-1 A 238
NCE*NCE+I A 239
JSsJS+1 A 240
105 OZN(JK,I)=ZN A 241
RHO( JK, I) = SQRT( HCC*HCC+XNN*XNN) A 242
IF (HCC.LE.0. .AND. I.EQ..NCR) HCLL/2> GO TO B5 A 248
110 JK=MR A 249
GO TO 85 A 200
115 IF A 206
125 FORMAT (1BA4) A 287
130 FORMAT (7F10.0) A 208
135 FORMAT (1H1.24HTHE OPTIONS INSTRUCTIOK ,A4.21H CANNOT BE PROCESSED A 209
1.) A 260
140 FORMAT (lH0t30X,28HMAXIMUM ONE HOUR AVE OZONE «,F7.5,12H CENTERED A 261
1AT.F5.0.9H MINUTES.) A 262
145 FORMAT (1H1,Xx,40X,18A4) A 263
150 FORMAT <1H1,//,14X.36HTHE FOLLOWING RESULTS VERB READ IN. ////1H , A 264
116X,2HHC,18X,3H»OX,I5X.3HRATIO,16X.5HOZONE) A 260
150 FORMAT <1H0.4F20.5) A 266
160 FORMAT (6A4) A 267
165 FORMAT ( 1H0,30X,56HMAXIMUM OZONE NOT REACHED, THE LAST ONE HOUR AV A 268
1ERAGE VAS,F7.5,5H PPM.) A 269
170 FORMAT <1H8,//,40X,40HPHOTOLYTIC RATE CONSTANTS CALCULATED FOR./// A 270
1,49X,6A4,///,40X,9HLATITUDE .F10.3.//.40X, 10HLONC1TUDE ,F10.3,//,4 A 271
20X.9HTIME ZONE.F7.1,//,40X,5HDATE ,5X,3(I4.3X) ,//,40X,5HTIME ,7X,I A 272
34,3X,2HTO,3X.14,5X,19HLOCAL DAYLIGHT TIME) A 273
175 FORMAT <1H0.39X,10HSOLAR NOON,17) A 274
130 FORMAT (1H0,//,40X,39HDILUTION DETERMINED FROM THE FOLLOWING ,//,4 A 270
10X.17HINVERSION HEIGHTS,5X,7HINITIAL,F7.0,5X,5HFINAL,4X,F7.0,//,40 A 276
2X.7HTIMING . 15X,5HSTART,F9.0,5X,4HSTOP,4X,F8.0) A 277
ISO FORMAT (1H0.//.40X.26HINITIAL PROPYLENE FRACTION,F9.3,6X.7HN02/NOX A 278
1,F8.3,//,40X,25HINITIAL ALDEHYDE FRACTION,F10.3) A 279
190 FORMAT ,40X, 13H8URFACE LAYER .9X.5HOZONE.F8.3.6X, 1IHHYDROCARBON A 280
l.F7.3,4X,3HNOX,F7.3,4H PPM) A 281
195 FORMAT ,40X,5HALOFT, 17X.5HOZONE,F8.3,6X, 1 IHHYDROCARBON,F7.3,4X, A 282
106
-------
13HNOX.F7.3.4H PPM) A 283
290 FORMAT UH0,//,40X,50HCONTINW08 EMISSIONS (EXPRESSED AS THE FRACT A 384
1ION OF,//,40X,54HINITIAL NON-BACKGROUND CONCENTRATION EMITTED PER A 288
2HOUR),//.40X,4HHOOR,3X,1016) A 286
205 FORMAT <1H0,39X,BHFRACTION,10F6.3) A 287
210 FORMAT ( 1H0,//,40X,58HCONTINUOUS EMISSIONS (EXPRESSED AS THE FRACT A 288
ION OF INITIAL,//,40X,58HNON-BACKGROUND HYDROCARBON CONCENTRATION E A 289
2MITTED PER HOUR),//,40X,4HHOUR,3X,1016) A 290
215 FORMAT <1H0,39X,BHFRACTION,10F6.3) A 291
220 FORMAT (1H0,X/,40X,58HCONTINUOUS EMISSIONS (EXPRESSED AS THE FRACT A 292
1ION OF INmAL,//,40X,80HNON-BACKGR0UND NOX CONCENTRATION EMITTED A 293
2PER HOUR).//,40X.4HHOUR.3X, 1016) A 294
225 FORMAT (1H0,//,40X,26HTRANSPORTED CONCENTRATIONS ) A 295
END - A 296-
107
-------
Subroutine PHOT
SUBROUTINE PHOT (PLACE) B i
C B 2
C **** RATE CORSTMTT CALCULATIONS FOR FIRST ORDER PHOTOCHEMICAL RE B 3
C B 4
REAL K B 5
COMMON /SUNLIT/ XJ(47,10),SIGMA(31,10),PHI(31,10),Z(10),RTCON( I0>, B 6
ILAM1,INC.SLA,SLO.TZ,IY,IM,ID,ISTRT,ISTOP,IINC,IEND,SPECIE,MAXZ,ITI B 7
2M£ ,XZ<015> ,K(015) ,JSTRT,J8TOP,SPEC< 11) , MNLMC H) , MXLM( 11) , MAXL B B
3.MAXJ B 9
COMMON /PHOTON/ CF(46,8),P( 15,9).IPH(9) B lft
DIMENSION D(2), C(27), W(45), V(5), TM8( 16). PLACEC6) B M
DATA D/0.0,0.0/.JSTRT/0800/,JSTOP/1900/,IINC/60/ B 12
c B 13
IEND=15 B 14
NTM=IEND B 15
TIME=JSTRT B 16
DO 5 11=1,IEND B 17
c B la
C **** CALL SUBROUTINE TO COMPUTE ZENITH ANGLES FROM TIME OF DAY B 19
C B 20
XC=0.0 B 21
TSTD= TIME-100. B 22
IF (TSTD.LT.0.) TSTD=TSTD+2400. B 23
CALL SOLAR (SLA.SLO.TZ,IV,IM,ID,TSTD.XC,5) B 24
ITIME(I1)=TIME B 25
XZ(II)=90.-XC B 26
TIME=CLOCK(TIME,I INC) B 27
5 CONTINUE B 28
C B 29
DO 20 L=1,MAXL B 3«
SPECIE=SPEC(L) B 31
ISTRT=l B 33
DO 10 M=1.MAXZ B 34
c B 35
C **** CALL SUBROUTINE TO CALCULATE RATE CONSTANTS B 35
C B 37
CALL RATE ( L,M, MNLM( L),MXLM(L),RTCON( M)) B 3a
10 CONTINUE B 39
C B 4ft
C **** CALL FIRST SUBROUTINE FOR SPLINE INTERPOLATION OF RATE CONS B 4"
C B 42
CALL SPLNA (MAXZ.Z,RTCON,2,D,C,W) B «
DO 15 11=1,IEND B 44
V(1)=XZ(II) B 45
P(I1,L)=0. B 46
K( II)=P(II,L) B 47
IF (V(1).CT.90.0) CO TO 15 B 49
C B 49
C **** CALL SECOND SUBROUTINE IN SPLINE INTERPOLATION SCHEME B 59
c B 51
CALL SPLNB ( MAXZ,Z,RTCON,C,V) B 62
P( II,L)=AMAX1(0.0,V(2)) B 53
K( II)=P(II.L) B 54
15 CONTINUE B 55
C B 56
20 CONTINUE B 57
108
-------
DETERMINE TIME OF SOLAR NOON B 88
DO 25 I>2,IENO B 89
23 IF (X2(I).GT.XZ(I-l)) GO TO 30 B 68
I=IEND B 61
30 TIME=ITIME<1-1) B 62
XA=XZ(I-1) B 63
DO 35 1=1,60 B 64
SPECIE=TIME B 65
TIME=CLOCK(TIME,1) B 66
TSTD=TIME-100. B 67
IF (TSTD.LT.e.) TSTD=TSTD+2400. B 68
XB=XA B 69
CALL SOLAR
-------
Subroutine RATE
SUBROUTINE RATE (L,NZ,MINLAM,MAXLAM,SUM) C 1
REAL K C 2
COMMON /SUNLIT/ XJ(47. 10) ,SIGMA< 31,10) , PHK31,1«) ,Z< 10) ,RTCOR( 1«> , C 3
1LAM1,INC,SLA,SLO,TZ,IY,IM, ID,ISTRT,ISTOP,I INC,lEND.ePECIE.MAXZ, ITI C 4
2ME<015>, XZC015) ,K<015),JSTRT,JSTOP,8PEC<11),MNLM( 11),MXLMC11) , MAXL C 5
3.MAXJ C 6
C C 7
C **** THIS SUBROUTINE CALCULATES A SINGLE RATE CONSTANT ACCORDING C a
C **** THE GIVEN INPUTS C 9
c c le
SUM=0.0 C 11
DOS I=MINLAM.MAXLAM,INC C 12
II = ( I-LAMD/INC+1 C 13
IJ=II C 14
IF (L.Eft.MAXL) IJ=II-16 C 15
SUM=SUM+XJ( II,NZ)*1.0E-H5*SIGMA< IJ,L)*PHI( IJ,L) C 16
5 CONTINUE C 17
SUM=SUM*60. C 18
RETURN C 19
END C 20-
110
-------
Subroutine SOLAR
BTOROUTIHE SOLAR (SLA,BLO.TZ, IT, IH, ID,TITO,D.1W D 1
C*** D 2
C*** SLA... LATITUDE (DEC) SOUTH = MINUS D 3
C*** 8LO... LONGITUDE (DEC) EAST = MINUS D 4
C*** TZ... TIME ZONE D 5
C*** ALSO INCLUDES FRACTION IF LOCAL TIME IS NOT D 6
C*** STANDARD MERIDIAN TIME. E.G. POONA, INDIA 5.5 D 7
C*** IY.. YEAR D 8
C*** IM. . MONTH D 9
C*** ID.. DAY D 10
C*** TIME.. LOCAL STANDARD TIME IN HOURS AND MINUTES, D 11
C*** 1 30 PM = 1330 ** STANDARD TIME ** D 12
C*** D.. RETURNED VALUE D 13
C*** NV.. VALUE TO BE RETURNED, SELECTED AS FOLLOWS D 14
C*** 1... DECLINATION (DEC.) D 15
C*** 2... EGUATION OF TIME ADJUSTMENT (HRS.) D 16
C*** 3... TRUE SOLAR TIME (HRS.) D 17
4... HOUR ANCLE (DEC.) D 18
5... SOLAR ELEVATION (DEC.) D 19
C*** 6... OPTICAL AIRMASS D 29
C*** 0 ' NV " 7. OTHERWISE, D - 9999. D 21
C*** D 22
DIMENSION MD( 11) D 23
DATA MD/31,29,31,3ft,31,30,2*31,30,31,3ft/ D 24
DATA A,B,C,SICA/0.19,3.865,1.253,279.9S48/ D 25
RAD=572957.75913E-4 D 26
SDEC=39784.988432E-5 D 27
RE:1. D 28
IF (SLO.LT.0.) RE=-1. D 29
KZ=TZ D 30
TC=(TZ-KZ)*RE D 31
TZZ=KZ*RE 0 32
SLB=SLA/RAD D 33
K= ID D 34
TIMB=TIME/100. D 35
I=TIMH D 36
TIMLOC=(TIMH-I)/0.6+I+TC D 37
IMCMM-1 D 38
IF (IMC.LT.1) CO TO 10 D 39
DO 5 1=1,IMC D 40
9 K=K+MD( I) D 41
10 LEAPM D 42
NL=MOD( IY.4) D 43
IF (NL.LT.1) LEAP=2 D 44
SWER=TZZ*13. D 45
TK=((SMER-SLO)*4.)/60. D 46
KR« 1 D 47
IF (K.GE.61.AND.LEAP.LT.2) KR=2 D 48
DAD*(TlMLOC+TZZ)/24. D 49
DAD-DAD+K-KR D 50
DF=DAD*360./365.242 D 01
DE=DF/RAD D 52
DESIN-SIN(DE) D 53
DECOS=COS(DE) D 54
DESIN2=SIN(DE*2.) D 55
DECOS2=COS(DE*2.) D 56
SIG=>SICA+DF+1.9I4827*DESIN-0.079525*DECOS+0,019938*DESIN2-0.00162* D 57
m
-------
1DECOS2 D 58
SIC=SIC/RAD D 59
DECSIN=SDEC*SIN(SIG) D 66
EFFDEC=ASIN(DECSIN) D 61
IF (NV.NE.1) GO TO 15 D 62
D=EFFDEC*HAD D 63
RETURN D 64
15 EttT=0.12357*DESIN-0.004289*DECOS+0.1S3809*DESIN2+0.060783*DECOS2 D 65
IF (NV.NE.2) GO TO 20 D 66
D=EQT D 67
RETURN D 68
20 TST=TK+TIMLOC-EQT D 69
IF (NV.NE.3) CO TO 25 D 70
D=TST D 71
IF (D.LT.0.) D=D+24. D 72
IF (D.GE.24.) D=D-24. D 73
RETURN D 74
25 HRANCL=ARS(TST-12.)*15. D 75
IF (NV.NE.4) GO TO 30 D 76
D=IIRANGL D 77
RETURN D 78
30 HRANGL=HRANGL/RAD D 79
SOLSIN=DECSrN*SIN(SLB)+COS(EFFT)EC>*COSrSLB>*COS(HRANGL> D BO
SOLEL=ASIN(SOLSIN)*RAD D 01
IF (NV.NE.5) GO TO 35 D 82
D=SOLEL D 83
RETURN D 84
35 IF (NV.NE.6) GO TO 40 D 85
IF (SOLEL.LE.0.) GO TO 40 D 86
TK=SOLEL+B D 87
E=1./TK**C D 88
D=1./
-------
Subroutine SPLNA
SUBROUTINE SPLNA ( N,X,Y,J,D,C,W) E 1
DIMENSION X( 10), Y(10), D(2), C(30), W(30) E 2
f* — »•»•• — — -.»— «• ___._.«»• «_««*«• _•••_••»•__«_ __..__. _„ __ « __•__ ______ ______«»__-__ 1? O
C OVER THE INTERVAL X(I) TO X(I+1), THE INTERPOLATING E 4
C POLYNOMIAL E 5
C Y= Y( I)+A™.__~—-^—"*™»-—•—•—^^^••••^«—~™««««*»«—__»™.»_______«»««_•#«.»__.*_«»B^*IB_« K 23
C(1)=O*D( 1) E 24
C(2)=1.0 E 25
W(2)=YI-C(1) E 26
GO TO 10 E 27
C IF THE SECOND DERIVATIVE AT THE END POINTS IS GIVEN E 29
C B(l) IS KNOWN, THE SECOND EQUATION BECOMES E 3O
C A( 1)+E( l) = YI-0.5*Q*ft*D( 1) . DURING THE SOLUTION OF E 31
C THE 3N-4 EQUATIONS,Al WILL BE KEPT IN CELL C(2) E 32
C INSTEAD OF C( 1) TO RETAIN THE TRIDIACONAL FORM OF THE E 33
C COEFFICIENT MATRIX. E 34
•^ '"•••*™^"™*™™™™*"<"" **——•«•— — ——-•—————•—*———•.•••—.•—.•_-»_•_•—_•—__—.™—._•_•__«««•^^^>_^ ji^ o5
5 C(2)=0.0 E 36
W(2)=0.5*Q*ft*D( 1) E 37
10 M=N-2 E 38
IF (M.LE.0) CO TO 20 E 39
/^ .•••••.•.^.»—••,— — — — — — — — •— — — -— — — — -» — —•• — — — — — — — — * — •••—•—.— — .•. — .•.-• — — •.» — .— •• — —^ — •••—i — —••• — •i 1J* ""Irft
C UPPER TRIANGULARIZATION OF THE TRIDIACONAL SYSTEM OF E 41
C EQUATIONS FOR THE COEFFICIENT MATRIX FOLLOWS— E 42
c E 43
DO 15 1=1,M E 44
AI = Q E 45
Q=X( 1+2)-X( 1+1) E 46
II=AI/Q E 47
C(3*I)=-H/(2.0-C(3*I-D) E 48
C<3*I+l)=-n*H/
-------
C VALUE GIVER AT THE END POIRT. E 58
c E 89
20 IF (J.Ett.1) CO TO 25 E 60
C(3*N-3) = E 61
GO TO 30 E 62
25 C<3*N-3) = (O*D(2)-YI-W(3*N-4»/(2.0-C(3*R-4)) E 63
30 M=3*N-6 E 64
IF (M.LE.0) GO TO 40 E 65
c E 66
C BACK SOLUTION FOR ALL COEFFICENT8 EXCEPT E 67
C A( I) AND B( 1) FOLLOWS— E 68
C^ —w —««.»__ — — — « — —» — — — — _ — «^. —— — — « — — — «_» — ••> — — — — — — — ——.^^ — H-—— — _••• — — — — — C1 ^ f±
—- k 69
DO 35 11=1,M E 70
I = M-II+3 E 71
35 C( I)=W( I)-C( I)*C(I+1> E 72
40 IF (J.EQ.1) CO TO 43 E 73
c E ?4
C IF THE SECOND DERIVATIVE IS GIVEN AT THE END POINTS, E 75
C A(1) CAN NOW BE COMPUTED FROM THE KNOWN VALUES OF E 76
C B(l) AND E(l). THEN Ad) AND B( 1) ARE PUT INTO THEIR E 77
C PROPER PLACES IN THE C ARRAY. E 78
C E 79
C( 1> = Y(2)-Y( 1)-W(2)-C(3) E 80
C(2)=W(2) E 81
RETURN E 82
45 C(2)=W(2)-C<3) E 83
RETURN E 84
END E 85-
114
-------
Subroutine SPLNB
SUBROUTINE SPLlfB < R,X, Y,C, V) Ft
DIMENSION X, C(39), V(5) F 2
V<3>=2.0 F 3
LIM=N-1 F 4
c f 5
C DETERMINE IN WHICH INTERVAL THE INDEPENDENT F 6
C VARIABLE,V(1).LIES. F 7
C F 8
DO 5 1=2,LIM F 9
5 IF GO TO 10 F 19
I=N F 11
IF )*Z+C<3*I-5»*Z+Y< 1-1) F 24
V(3)=((3.*Z*C(3*I-3)+2.0*0(3*I-4))*Z+C(3*I-5))/ft F 25
V(4)=(6.*Z*C(3*I-3)+2.0*C(3*I-4))/'(Q*O) F 26
RETURN F 27
END F 28-
115
-------
Function CLOCK
FUNCTION CLOCK (Tl.IIHC) c ,
C G 2
C **** ADD A TIME IN MINUTES TO A 2499 HOUR TIME AND RETURN A 2430 G a
C **** HOUR TIME C 4
T2=IINC ^ *
I100=T1/100 X ~
T3=Tl-100.0*Iie0+T2 c „
1100=1100^^1(73/60) c a
CLOCK=UeO*100.0*T3-6e.0*IWT(T3/60) c ,X
RETURN c J,
END _
116
-------
Subroutine RLINE
SUBROUTINE RLINE (NC.F.KS1,J8) H 1
COMMON /HEED/ HC,XN.NL.WHTO,RTO(20),OZP(20>,OZH(8,20),RHO(8,20).MR H 2
1,OC(4),OS(2>,HCS,XNS,LS,HCLL(8) H 3
COMMON /CNTRL/ SIG,SIGMA,INFO,NPTO,XNF.RCTY,ALDX.OZIN.OZAL.HCIN.HC H 4
1AL,XNIN,XNAL,TSRT.DTIM,Z1(Z2,DCON,EHC,EXN,FLST.TLST H 8
COMMON /INOUT/ IN,IOUT,ITAPE H 6
COMMON /PLTVEC/ HCT( 20),OT( 20),NT,OHG,HCG,PLTGRD,OXN,XNG,HC1,XN1,T H 7
IICZ.DIGZ.CHRZ H 8
DIMENSION R(20), F(21), YP(12), TMP(12), OE<20), XNE(20) H 9
EQUIVALENCE (NR.NRTO), (RTO.R) H 10
RLBK(A.B1,B2,B3>=A*(B1-B2)/(B3-B2) H 11
KFACT=KSl-6+JS H 12
IF (NC.Ett.1) KFACT=KFACT+2 H 13
KS=MAX0(KFACT/MR,0) H 14
KS=MIN0
-------
IF (BCC.LE.6.) HCC=HC/2e. H 18
IF (XNG.LE.e.) XNG=XN/10. H 69
IF (NCR.EQ.1) GO TO 90 H 66
GO TO (55,53,55,55,55,65,75),KSN H 61
55 OS(l)-OZP(LS) H 62
INX=-1 H v 63
60 CALL SIM (HCG.XN.OSC1),IHX) H 64
OHC-OS(l) H 65
IF (IWX.NE.-l) GO TO 65 H 66
HCG1=RLBK(HCG,OZP(LS),OG(2),OS(1)) H 67
IF (HCG1.CT.0.5*HC) HCG=HC/3. H 68
IF +XNG+XRGl H 88
l)/2. H 81
INX=1 H 82
GO TO 70 H 83
75 IF (KS.GT.NR.AND.KSS.Ea.2) GO TO 245 H 84
IF (KS.GT.NR.AND.KSS.Ett.1) GO TO 88 H 83
HCS=RLBK(HC-HCG,OZP(LS),OS( 1),OC(3))+HCG H 86
IF (HCS.LE.0.) HCS=HCG H 87
88 XNS=RLBK(XNG,OZP(LS),OC(4),06(2)) H 88
IF (XWS.GT.XNG) XWS=RLBK( XN-XNC,OZP(LS),OS(2),OC(3))+XNG H 89
IF (KS.GT.NR) GO TO 245 H 90
IF (KS.GT.NCR) XSS=XNS H 91
IF (KS.GT.NCR) OSS=OS(2) H 92
IF (KS.LT.2) CO TO 90 H 93
IF (KS.Ett.2) GO TO 83 H 94
HTTl = RHO(MR,KS-2)*R(KS-2)/F(KS-2) H 95
XRNl = RHO(MR,KS-2)/'F(KS-2) H 96
83 HTT=RHO(MR,KS-I)*R(KS-1)/F(KS-1) H 97
XNN=RHO(MR,RS-1)/F(KS-1) H 98
IF (KSS.EQ.0) GO TO 90 H 99
HCC=RHO(MR,KS)*R(KS)/F(KS) H 100
XNX=RHO(MR,KS)/F(KS) H 161
GO TO 95 H 192
90 XNX=XN H 193
95 XNX1=0. H 164
ICNT=KS-1 H 165
DO 240 I-KS.NR . H 166
ICNT=ICNT+1 H 167
IF (I.GT.1) GO TO 100 H 168
HTT»HC H 169
XNN'XN H 116
IF (KSS) 175,165,175 H 111
100 IF (I-NCR-1) 105,125,130 H 112
105 OZC=OZN(MR, I-1)*(OZP(LS)/OZH(MR, I-1) )**( 1 ,/FLOAT( IfCR+2-I) ) H 113
IF (KSS.NE.0) CO TO 120 H 114
118
-------
HSS'BCS B 115
OSS=OS(1) H 116
IF +HSS H 129
IF B 133
BCC1=HTT- **< 1 ./FLOAT
-------
XNH=XNX H 172
HTTsBC H 173
IP (KSS.WE.e) GO TO 175 H 174
155 IF CO TO 165 H 175
IF ( lABS(NCR-I).LE.2) GO TO 165 H 176
CAP=0. H 177
NCOUNT=I-2 H 178
IF ( I.LE.(IfR/2+l)> NSTARTM H 179
IF ( I.GT.(NR/2+l)) NSTART=im/2-U H 180
DO 160 JJ=NSTART,NCOUNT H 1B1
CAP1 = OZN(MR, JJ)-OZN(MR, JJ+I) H 182
IF (GAP1.LT.GAP) GO TO 160 H 183
GAP-GAP1 H 184
BTT=((R(JJ)*RHO( MR,JJ)) /T(JJ)+( R = BTT/XNN H 188
F( I)=SQRT(R( I)*R( I)+l.) H 189
RHO(MR,I)=XNN*F( I) H 190
IF (XNX. EQ.XNC) OZN(MR,I)=OS(2) B 191
IF ( I.Ett.1.OR.XNX. EQ.XNG) GO TO 175 H 192
IF (OZP(LS).GE.OC(2)) GOTO 170 B 193
IF (I.NE.NCR) GO TO 170 B 194
R(I)=0. B 195
F(I)=1. H 196
RHOCMR, I)=XN H 197
HTT=0. B 198
HCLL(MR)=XN B 199
XNN=XN B 200
170 CALL SIM (BTT,Xrm,OZN(MR, I) , INK) B 201
175 IF (KSS.Ea.O) KSS1=2 H 202
IF (KSS.NE.0) KSS1 = KSS-H B 203
IF (MR1) 240,240,180 B 204
180 IF (MR.EQ.2) CO TO 200 B 205
IF (KSS1.GT.MR1) GO TO 195 B 206
DO 190 J=KSS1.MR1 B 207
K=MR-J+1 B 208
OZC=OZN(K+1, I)*(OZP(LS)/OZN(K-H, !))**< 1./FLOATt K)) B 209
IF (K.EQ.MR1) GO TO 185 B 210
RBO1 = RBO( K+2,I)-RLBKC RHO(K+2,I)-RBO< K+1,I),OZC,OZW( K+2,1),OZH( K+1, B 211
II)) B 212
185 RBO(K. I)=RLBK
-------
RHO(l,I)-e. H 229
CALL EDCMX ( RHO( 1, I) ,OZN< 1,1),MR.HMX.OZHX, LX) H 230
MM=LX+1 H 231
205 RHO(1,I>=0. H 232
CALL CURV1 (HM,OZN( 1,1),RHO(1,I),SP1,SP2.YP. TMP.SX) H 233
RHO( 1,I)=CURV2(OZP(LS),MR,OZN< 1,I),RHO(1,I),YP,SX, IT) H 234
INX=-2 H 235
IF (IT.GT.0) GO TO 210 H 236
SX=SX*10. H 237
SX=AMAXK-50. ,SX) H 238
CO TO 205 H 239
210 IF (RHO(1,I).CT.0.9*RHO(2,I)) RHO(1,I>=0.9*RHO<2,I) B 240
IF (RHO( 1, D.LE.0.) RHO(1,1)=.5*RHO(2,I) H 241
IF (BBO(1,I).GE.RHO(2,I)) RHO(1,I)=0.5*RHO(2,I) H 242
215 XNX=RHO<1, I)/F( I) H 243
HCC=XNX*R(I) H 244
OZN(1,I>=OZP(LS> H 245
IF (OZP(LS).LT.OC(2).AND.I.Ed.NCR) HCLL<1)=XNX H 246
CALL SIM (HCC,XNX,OZN( 1,1),INX) H 247
IF (INX.NE.-2) CO TO 235 H 248
IF (OZN(1,t)-OZP(LS)) 220,230,225 H 249
220 RHO(1,I)=0.8*RLBK((RHO(2,I)-RHO(1,I)),OZP(LS),OZN(1,I),OZW(2,I))+R H 250
IHO(l.I) H 251
CO TO 230 H 252
223 RHO( 1,I)=0.9*RLBK(RHO( 1,I),OZP(LS),OC(1),OZN(1,I)) H 253
230 INX=1 H 254
GO TO 215 H 255
235 KSS=0 H 256
240 CONTINUE H 257
C CHECK FOR INCREASING RATIOS H 258
245 DO 260 I=1,NR H 259
K=I H 260
DO 250 J=I,NR H 261
250 IF (R(J).LT.R(K)) K=J H 262
IF (K.Ett.I) GO TO 260 H 263
SV=R(I) H 264
R=R H 265
R(K)=SV H 266
8V=F(I) H 267
F(I)=F(K) H 26B
F(K)=SV H 269
DD 255 J=1,MR Q 270
SV=OZN(J,I) H 271
OZN(J, D=OZN(J,K) H 272
OZN(J,K)=SV H 273
SV=RHO(J,I) H 274
RHXHJ, I)=RHO(J,K) H 275
255 RHO(J,K)=SV H 276
260 CONTINUE H 277
C DO SPECIAL CALCULATIONS H 278
KSS1=KSS+1 H 279
IF (OZP(LS).LT.OC(2)) NCR1=NCR-1 H 280
IF (OZP(LS).GE.OC(2)) NCR1=NCR n 281
NN=NCR1+1 H 282
SX=-20.*SIG/FLOAT(HTi> H 2B3
IF (NCR.NE.l) GO TO 265 H 2R4
OT(1)=OC(2) H 2Bg
121
-------
BCT«0. H 286
OT(2)«OHC H 287
HCT(2)=HGG H 288
OT(3)«OG(3) H 289
HCT(3)»HG H 290
111=0 H 291
trir»3 H 292
GO TO 295 H 293
263 DO 270 I=1,!CCRI H 294
IF (OZP(LS>.LT.OC(2)> L«I+1 H 298
IF L»I H 296
OT(I+2>sOZF(NR,L> H 297
270 HGT( I+2)*RHO(MR,L)*R(L)/'F(L) H 298
OT(1)=OC(2) H 299
HCT(1>»0. H 300
OT(2)»OHG H 301
HCT<2)»HCG H 302
!W=!W+1 H 303
IF (ESS1.CT.1) GO TO 300 H 304
IT=1 H 308
273 CALL CURV1 ,IW,OT,HGT,¥P,SX, IT) H 310
IF H 313
GO TO 273 H 314
290 IF HCS=TOL*HCT<3) H 313
298 IF (BGR.Ea. 1) HCS=HC/3. H 316
IF(HCS.GE.HCT<3).OR.HCS.LE.HCT<1>) HCS»(HCT( 1)+HCT<3»X2. H 317
CALL SIM ,INX> H 318
800 OT(2)>OS<1> H 319
HCT( 2) »HCS H 32*
WT»ITB H 321
IF (KSS1.GT.2) GO TO 340 H 322
SX=-SIG*20./FLOAT(mf) H 323
XHTNaHGxRTO(irR) H *24
IF (IfCR.EQ. 1) GO TO 333 H 323
IF (OZMMR.ITRJ.LT. 1.1*OZP.GT.OZP GO TO 333 H 328
DO 308 1*1,NCR H 329
J»im+l-I H 330
OE( Hl)aOZIf(MR,J> H 331
303 XffEC I+D*RHO(NR,J>/F(J> H 332
OE(1)«OG<4) H 3»3
X9E(1)>0. H 334
nnr»ircR+1 H 339
310 IF (OE(IW).LT.OE(Iflf-l)) TTN'Uir-1 H 336
IF (FW.Ett. 1) OTS»XiW*0.a H 337
IF -XtrC>.LT. .0001J GO TO 829 H 341
H 342
122
-------
NNR*NN-2 H 343
DO 313 1*1,Vim H 344
Il = m*-I41 H 343
XME< II)=XNE< II-l) H 346
313 OE< II>=OE( II-l) H 347
JOTE(2)-XPCG H 348
OE(2)=OXN H 349
6X»-8IG*20./FLOAT H 397
IF(XIfS.GE.XrrE(3) .OR.XKS.LE.HfE( 1)1 XWB«(XNE<1)+XNE<3)>/2. H $57A
339 IF (FCR.EO. I) X!CS»X!!/3. H 398
CALL SIM 5E) H 373
370 FORMAT (1H1.X/,14X.36HTHE FOLLOWING SIMULATIONS WERE DONE./1H0X1H H 374
l,16X,2HHC,iaX,3HPrOX, 13X,3HRATIOtl«X,3BOZONE. 16X,4BTIHE) H 373
END H 376-
123
-------
Subroutine SIM
fllH , RT<77), XR( 8)
DATA IIU/I/
START" 0.
T« START
FLST'1.0
TLSTS START
TCI>800.
EHG*HC
EXIT* KIT
IF (IIU.EQ. 1) SAV»STOPP
STOPP'SAV
IF (IfPTO.Ett.0) TPRirT=STOPP
IV 1*9
HM.E-10
ITS' 33
!f*33
PI- 32
DO 3 1*1, IT
3 C(I)>0.
C( 1 ) »XN*XNF+Hf Ilf
C(2>«XrC*(I.-XffF)
C(4)*OZIR
C(12)*(HC*RCTY+HCIW*0.1)X3.
C(2D*HC*.4*ALDX
C(22)='HC*.3*ALDX
Ilf* 1
CALL DIFSET (If, START, C.RT)
IF (IfPTO.EQ.0) GO TO 10
CALL ISOPLT (BC.JflO
VRITE (IOOT, 123)
VRITE (IOUT, 133) ( ITTL( I) , I« 1, 18)
IF (imF-O.LT. 1) VRITE (IOOT, 170)
IF UJFO.LT. 1) GO TO 10
VRITE (IOOT, 130> ERR
VRITE ( IOUT, 133) ( R( IR) . IR« 1 ,NR)
VRITE ( IOUT, 160) (IPH(IR>,IR*1,8>
DO 8 1*1,8
J'IPH(I)
8 XR(I)»R(J>
VRITE (IOUT, 163) (XR( IR) , IR« 1,8)
10 DILUT*DCOK
IF (TSRT.LE.START.AIfD.DTIM.IfE.0.) DILUT"ALOG
-------
DILUT»DCOW
IF (TBRT-TPRNT) 20,20,25
20 TNEXT=T8RT
IN«2
GO TO 80
28 TNEXT'TPRin'
IR-0
GO TO 50
30 IF (T.GE.TSRT+DTIM) GO TO 45
DILUT=ALOC(Z2/Z1)/DTIH
FLST»EXP( -DCON*TSRT>
TLST=TSRT
TNEXT=TSRT+DTIM
IF (TNEXT-TPRNT) 38,38.40
35 IN*2
GO TO 80
40 TNEXT^TPRNT
IN»0
GO TO 50
45 TNEXT=AMI1U(TPRNT,8TOPP)
FLST=EXP( -DCON»TSRT-DILUT»DTIPD
TLST»TSRT+DTIM
DILUT=DCON
80 CALL DRIVES (M,T,H,C,TNEXT,ERR,21 , IN, IA, JA)
T«T1!EXT
IF (PIPTO.rrE.0) GO TO 60
IF (T.LT.STOPP) GO TO 15
IF ( IlfX.GT.-l) GO TO 60
IF <1HX.EO.-1.AND.OZM.GT.0.75*ZN) GO TO 60
IF ( IWX.HE.-2) GO TO 55
IF 0.
IF (XH.NE.0.) RRsHG/XR
IF ( IHFO.LT.0) CO TO 65
IF (TM.CT.0.) VRITE ( IOOT, 108) HC.XH.RR.ZIf
IF (TM.LE.0.) VRITE ( 1OUT, 120) HC, XN.RR.ZH
RETURN
65 IF (TM.GT.0.) VRITE ( IOUT, 140) HC.XN.RR.ZM.TM
IF (TM.LT.0.) VRITE ( IOUT, 145) HC.XN.RR.ZIf
RETURN
70 IF
-------
IP (CNOX.LE.0.0040001) FTfO2«e.
IP (CNOX.GT. 0.0090001) riro2>C(i>/ciK>x
CO3«C(4)
IF (IlfFO.GT.e) VRITE ( IOUT, 125)
IF (INFO.GT.0) WRITE ( IOUT, 170)
IF (T. Eft. START) TIMNW=START
IF (T. WE. START) TIMNW«TPRNT
CTIME'CLOCKCTCI, IFIX(TIMWW))
WRITE (IOUT, 175) CTIME.HCC.FPROP, ALDC , CNOX, FNO2 , COS
IF (INFO.LE.0) GO TO 95
WRITE (IOUT.11S) (SPECIS(I), 1*1, M)
WRITE (IOUT.130) CTIME,(C( I), 1=1. 10) ,H,
CALL DIFFUN (N.TIMNV.C.RT)
WRITE (IOUT, 105) ( RT( I) , 1= 1 ,M)
DO 90 I'l.WR
J-KR( 1,1)
K=KR( 1,2)
IF (J.Ett.0) RT( I)=0.
IF (J.EQ.0) GO TO 90
IF (J.EQ.99) J=0
IF (J.EEHYDE,6X.3HN
10X,10X,3HN02,8X.5HOZONE,/,30X.6H(LDT ),4X.5HTOTAL,5X.8HFRACTION,6X
2,8HFRACTION,5X,5HTOTAL.7X,BHFRACTION,3X,9H( INSTANT) )
175 FORMAT ( 1H0.28X.F6.0.1X,F10.5,2X,F10.5,3X,F10.5,1X.F10.5.3X,F10.5,
12X.F1O.5)
END
116
117
118
119
129
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
USA
143B
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172-
126
-------
Subroutine DRIVES
SUBROUTINE DRIVES (H,T0,80,Y»,TOUT,EPS,W,INDEX.IA.JA) J 1
DIMENSION. Y(032,06), IA( 1), JA(1), Y«(N) J 2
COMMON /CNTRL/ SIC,SICMA,INFO,NPTO.XNF,RCTY,ALDX.OZIN.OZAL.HCIIf,BC J 3
1AL,XNIN,XNAL,TSRT,DTIM,Z1,Z2,DCON,EHC,EXN,FLST,TL8T J 4
COMMON /GEAR1/ T,H, EWIN,HMAX,EPSC,UROUND,NC,MFC,KFLAG,JSTART J 5
COMMON /GEAR2/ YMAXC032)/GEAR3/ERROR( 32)/GEAR4/WK32.3) J «
COMMON /GEARS/ IW1 (33,9)/GEAR6/W2( 1500)/GEAR?/IV2(660) J 7
COMMON /GEAR8/ EPSJ,IPTI2,IPTI3,IPTI4,IPTR2,IPTR3.NGRP J 8
COMMON /GEAR*/ BUSED,NQUSED,NSTEP,NFE.NJE.NZA,NPL,NPU.NZL.NZU.NZRO J 9
COMMON /I NOUT/ INP, LOUT, ITAPE ,i*u,i«ow.i ^r
DATA NMX/032/,LENW2/1500/,LENIV2/660/ j n
DATA UROUND/7.5E-9/ j 12
KOZ=4 j ,3
NGP=0 j 14
IF (INDEX.EQ.4) GO TO 5 J 15
IF (INDEX.EQ.0) GO TO 20 J 16
IF (INDEX.EQ.2) GO TO 25 J 17
IF (INDEX.Eft.-l) GO TO 30 J 18
IF (1NDEX.EQ.3) GO TO 35 J 19
IF (EPS.LE.0.) GO TO 105 i 2e
MITER=MF-10*(MF/10) j 21
IF ((MITER.NE.1).AND. (MITER.NE.2)) GO TO 5 J 22
NP1=N+1 j 23
NZA=IA(NP1)-1 j 24
IPTI2=NZA+1 j 25
MAXPL=(LENIV2-NZA)/2 j 26
IPTI3=»IPTI2+MAXPL j 27
NPL=IV1(N,4) j 28
NPU=IV1(N,6) j 29
NZLMWKN+1,3) j 3e
NZU=IW1(N+1,5) i «T
IPTR2=NZA+1 i go
IPTR3=IPTR2-t-MAX0(NZA,NZL) j 33
5 DO 10 1=1,N J 34
YMAX( I)=ABS(Y0(D) j 38
IF (YMAX( D.EQ.0.) YMAX( I)= 1 .E-10 j 36
10 Y(I,1)=Y0( I) J 37
?-rS J 38
I"!A j 39
H=B0 j 4e
NZRO=0 j 41
TST=EPS*1.E-10 j Ti
DO 15 1=1,N j I,
J5 IF (Y(I.l).GT.TST) NZRO=NZRO+1 j 44
NZRO= MAX0(NZRO,1) I In
NOLD=NZRO j T£
HMIN=ABS(H0) i 47
HMAX=ABS(10-TOUT)*10. j 40
HMAX=AMIN1(HMAX,20.) j TO
EPSC=EPS j ;;
MFC=MF j «T
JSTART=0 j Jla
N«=N J H
CALL OZMX (Y,TL,TOUT,N0) I %1
NMX1 = NMX-H , „
EPSJ=SQRT(UROUND) , 2f
NHCUT=0 j J?
127
-------
GO TO 40 J 5t
20 HMAX*ABS(TOUT-TOUTP)»ie. J 59
HMAX=AMIN1(HMAX,20.) J 60
GO TO 65 J 61
25 HMAX=ABS*10. J 62
HMAX=AMIN1(HMAX,20.) J 63
IF ((T-TOUT)*H.GE.0.) GO TO 110 J 64
GO TO 70 J 65
30 JSTART=-1 J 66
NC=N J 67
EPSC=EPS J 68
MFC=MF J 69
35 CONTINUE J ?ft
40 CALL STIFFS (Y.N0,IA,JA.VI.ITOX.1V1.NMX1) J 7i
IF (NPTO.NE.0) CALL SAVLIN (T,Y(KOZ,D) J 72
KGOM-KFLAG J 73
GO TO (45,80.95,85),KGO J 74
45 CONTINUE J 75
IF (T.GE.TL) CALL OZMX (Y,TL,TOUT,N0> J 76
D=0. J 77
NZRO=0 J 78
DO 60 1=1,N J 79
IF (Y(I,1).CE.0.) GO TO 55 J 80
NGP=NGP-M J 81
DO 50 J= 1,6 J 82
50 Y( I,J)=0. J 83
55 CONTINUE J 84
IF ( Y( 1,1).CT.TST) NZRO=NZRO+1 J 85
AYI = ABS(Y( I, 1)> J 86
YMAXCI)=AMAX1( 1.E-10.AYI) J 87
60 D=D+(AYI/YMAX( I»**2 J 88
NZRO=HAX0( NZRO,1) J 89
IF (NZRO.NE.MOLD) JSTART=-1 J 90
D=D*(UROUND/EPS>**2 J 91
IF (D.GT.FLOAT(N)) GO TO 100 J 92
IF (INDEX.EQ.3) CO TO 110 J 93
IF (INDEX.Ett.2) GO TO 70 J 94
65 IF «T-TOCT)*H.LT.0.) GO TO 35 J 95
CALL INTERP (TOUT,Y,N0,Y0) J 96
GO TO 120 J 97
70 IF (T.GE.TOUT) GO TO 75 J 98
IF <«T+H)-TOUT> .LE.0.) CO TO 35 J 99
H=(TOUT-T)*( l.+4.*UROUWD) J 100
JSTART=-1 J 101
GO TO 35 J 102
75 JSTART=-1 J 103
H=AMIN1(H,1.) J 104
CO TO 110 J 105
80 CONTINUE J 106
85 IF (NHCUT.EQ.10) CO TO 90 J 107
NHCUT=NHCUT+1 J 108
HMIN*.1*HNIN J 109
e-.i*e J 110
JSTART=-1 Jill
CO TO 35 J 112
90 WRITE (LOUT, 125) J Us
IF (KCO.EQ.4) WRITE (LOUT,140) T J 114
128
-------
STOP J 115
95 WRITE (LOUT,130) T,H J 116
STOP J 117
tee WRITE (LOUT,133) T J 118
KFLAG=-2 J 119
STOP J 120
10S WRITE (LOUT,145) J 121
STOP J 122
116 TOUT=T J 123
DO 115 1=1,N J 124
115 Y0(I)=Y(I,1) J 128
120 INDEX=KFLAG J 126
TOUTP=TOUT J 127
H0=BUSED J 128
IF (KFLAG.NE.0) H0=H J 129
RETURN J 130
C J 131
C J 132
125 FORMAT (//44H PROBLEM APPEARS UNSOLVABLE WITH GIVEN INPUT//) J 133
130 FORMAT (//35H KFLAC = -2 FROM INTEGRATOR AT T - ,E16.8,5H H =,E1« J 134
1.8/52H. THE REQUESTED ERROR IS SMALLER THAN CAN BE HANDLED//) J 135
135 FORMAT (//37H INTEGRATION HALTED BY DRIVER AT T = .E16.8/56H EPS J 136
1TOO SMALL TO BE ATTAINED FOR THE MACHINE PRECISION/) J 137
140 FORMAT (//35H KFLAG = -3 FROM INTEGRATOR AT T = .E16.8/45H CORREC J 138
ITOR CONVERGENCE COULD NOT BE ACHIEVED/) J 139
145 FORMAT (//28H ILLEGAL INPUT.. EPS .LE. 0.//) J 140
END J 141-
129
-------
Subroutine STIFFS
SUBROUTINE STIFFS ( Y.R0,IA.JA,Wl,NMX.IW1,NMX1)
COMMON /GEAR1/ T.H, HMIN.HMAX.EPS,UROUND,H,MF,KFLAC,J8TART
COMMON /CEAR2/ YMAX( 032>/GEAR3/ERROR(32)
COMMON /GEAR6/ W2(1500) /GEAR7/ IV2<660)
COMMON /GEAR8/ EPSJ,IPTI2,IPTI3,IPTI4,IPTR2,IPTR3,NGRP
COMMON /CEAR9/ BUSED,HOUSED,NSTEP,NFE.NJE,IDUWMY( 5),NZRO
COMMON /CALC/ NR,KR(77.5),A(77),S(77),R( 77).ITYPEC77).11(34)
18),DILUT,TEMP.ERR,START,STOPP,SPECIS(34).TPRNT.TSTEP
DIMENSION Y(N0,1), IA(1), JA(1), WHNMX.l), IWHNMXl.l)
DIMENSION EL(I3), TQ<4), RT(3)
DATA EL(2)/1./,OLDL0/1./
KFLAG=0
TOLD=T
IF (JSTART.GT.0) GO TO 5O
IF (JSTART.NE.0) GO TO 10
CALL DIFFUN (N.T.Y, Wl)
DO 5 1=1,N
5 Y( I,2)=U*W1( 1,1)
METH=MF/10
MITEU=MF- 10*METH
WQ.-I
L=2
IDOUB= 3
RMAX= 1. E4
RC=0.
CRATE=1.
HOLD= H
MFOLD=MF
NSTEP=0
NSTEPJ=0
NFE=1
NJE=0
IRET=3
CO TO 15
10 IF (MF.Ed.MFOLD) GO TO 25
MEO=METH
MIO=MITER
METH=MF/10
MITER=MF-10*HETn
MFOLD=MJ-
IF (MITER.NE.MIO) IWEVAL=KITER
IF (METH.EQ.MEO) CO TO 25
IDOUB=L+1
IRET=1
15 CALL COSET ( METB.Ntt,EL,Ttt,MAXDER)
LMAX=MAXDER+1
RC=RC*EL( D/OLDL0
OLDL0=EL( 1)
20 FN=FLOAT(NZRO)
EDH=FN*(TQ( 1)*EPS)**2
E= FN*( Ttt( 2)*EPS)**2
EUP=FN*(TQ(3)*EPS)**2
BND= FN* C TQ(4)*EPS)**2
EPSOLD=EPS
NOLD=NZRO
GO TO (36,33,50),IRET
23 IF(EPS.Ea.EPSOLD.AND.NZRO.Ett.HOLD) GO TO 30
K
K
K
K
K
K
,JJ(21 K
K
K
K
K
K
K
K
K
K
K
K
K
K
K
K
K
K
K
K
K
K
K
K
K
K
K
K
K
K
K
K
K
K
K
K
K
K
K
K
K
K
K
K
K
K
K
K
K
K
K
1
2
3
4
5
6
7
a
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
23
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
56
51
52
53
54
55
86
57
130
-------
CO TO 20 K 59
30 IF (H.Eft. HOLD) GO TO 50 K 60
RH=B/HOLD K 61
H=HOLD K 62
IREDO=3 K 63
GO TO 40 K 64
35 RH=AMAX1=0. K «><»
DO 115 IR=1,NR D
MT=ITYPE(IR) {;
DO 80 1=1, KT ^
JX= 1+1-1/2*2 K
J=KR(IR,JX) ^
IF (J.Ett.O) XX=1. ^
IF (J.GT.O) XX=Y(J,1) {;
80 RT( I)=R(IR)*XX S
DO 110 K=1,MT ^
I = KR(IR,K) S
DO 90 L=1,WT ir 110
J=KR(1R,L) ir MI
83
IF (I-JA(M)) 85,90,85
131
-------
90 W2(M>=W2(
DO 105 L=3,5
J=KR( IR.L)
IF (J) 105
A M *f— »•+ i
IF (J-JA(M))
100 W2(M)=W2(M
105 CONTINUE
110 CONTINUE
115 CONTINUE
DO 125 J= 1
KMIN=IA(J)
KTIAX=IA(J+1)-1
DO 120 K-
W2(K)=W2(IO*CON
IF (JA(K) . E'
120 CONTINUE
125 CONTINUE
CALL NSCORA
1IWK 1,0))
CALL NSNFAC
1R2) ,WK 1,3)
2(1,8),IER)
M=ISV
L=LSV
IF = W2< K) + 1.-CON*DILUT
*10. .CT.YC I, I>> GOTO 155
( 1,2)-(Y( I.2)+ERROR< I))
(N, IW1, IW1. IVK 1,3) , IW2( IPTI2) , IWK 1,4) ,W2( IPTR2) ,WK1
, IW2( IPTI3) , IWK 1,6) ,W2( IPTR3) , WK 1 ,2) . WI , W2>
f
LOR( I)+WK 1,2)
/YNAX( I ) ) **2
1 ) +EL( 1 ) *ERROR( I )
CRATE= AMAXK . 9*CRATE, D/D1 )
( 1. ,2.*CRATE) ) . LE.BND) GOTO 175
GO TO 155
(H.T.WI.WK 1.2))
:a.-i) GO TO 170
NQ
,NQ
>
[
t)-Y< I.J+1)
.E.HMIN* 1.00001) GO TO 285
K
K
K
K
K
K
K
K
K
K
K
K
K
K
K
K
K
K
K
K
K
K
K
K
K
K
K
K
K
K
K
K
K
K
K
K
K
K
K
K
K
K
K
K
K
K
K
K
K
K
K
K
K
K
K
K
K
115
116
iir
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
15O
151
152
153
154
155
156
157
158
159
16O
161
162
163
164
165
166
167
168
169
170
171
132
-------
CO TO 35 K ,70
178 1WEVAL=MITER £ 173
CO TO 60 K ,74
175 IF (MITER.WE. 0) 1WEVAL=-1 If |7r.
NFE=NFE+M £ 176
D=0. if 177
DO 180 1=1,N £ J7o
180 D=D+
-------
Q K 229
RH=1./PR2 K 23e
GO TO 255 K 231
235 NEWO.= Ifft-l K 232
RH=1./PR1 K 233
GO TO 255 K 234
240 WEWO=L K 235
RH= J./PR3 K 236
IF (RH.LT.1.1) GO TO 250 K 237
DO 245 1=1,H K 238
245 Y( I,NEWG+1)=ERROR.AND.(RH.LT. 1. 1)) GO TO 250 K 243
IF (NEWa.EQ.Nft) GO TO 35 K 244
260 NQ=NEWQ K 245
L=HG>1 K 246
IRET=2 K 247
GO TO 15 K 24«
265 IF (KFLAG.EQ.-9) GO TO 200 K 249
RH=10.**KFLAG K 259
nH=AfIAXKHMIN/ABS(n),RH) K 251
H=H*RH K 252
CALL DIFFUW (N,T,Y,W1) K 253
NFE=NFE+1 K 254
DO 270 1=1,N K 255
270 Y(I,2)=H*V1(I,1) K 256
IWEVAL=WITER K 257
IDOUB=10 K 258
IF (NO.EG.1) GO TO 50 K 25O
N«=l K 260
L=2 K 261
IRET=3 K 262
CO TO 15 K 263
275 KFLAG=-1 K 264
GO TO 295 K 265
280 KFLAC=-2 K 266
GO TO 295 K 267
285 KFLAG=-3 K 268
GO TO 295 K 269
290 RMAXM00. K 270
295 HOLD=H K 271
JSTART=lfd K 272
RETOTU* K 273
END K 274-
134
-------
Subroutine DIFFUN
SUBROUTINE DIFFUN L 1
COMMON /CALC/ NR,rR,A<77),8(77).R<77).ITTPE<77>.IAC34>,JA<21 L 2
IB).DILUT.TEMP.ERR.START,gTOPP.8PEC18(84).TPKNT,TBTEP L 8
COMMON /CNTRL/ 8IG,SIGMA, INFO.NPTO.XNF.RCTY,AUfX.OZIN.OZAL.HCIN.HC L 4
lAL,XNlN,XNAL.TeRT,DTIM,Zl,Z2,DCON.EHC,EXN,FLST,TL8T L 5
COMMON /EMI8/ NEM,EM( 11),EHHC(11),EMNOX(11),ESTRT(2),ESTOP,ESLP,EH L 6
18LP,ENSLP,B(2),EC(36),BB<2).EH(36),CC(2),EX(36) L 7
COMMON /PHOTON/ CF(45,8),P(15,9),IPH(9) L B
DIMENSION XT(L), X(L) L 9
N«L L !•
DILU«AMAXHDILUT,0.) L 11
DO 5 I-l.N L 12
5 XTU)«-DILU*X(I> L 13
IF L 15
XT<4)»DILU*(OZAL-X<4)> L 16
XT<12)»DILU*<0.03333333*HCAL-X<12)) L 17
XT<24)»DILU *<0.225*HCAL-X<24)) L 17A
10 IF (T.GE.ESTOP) GO TO 25 L 18
FNOV«FLST»EXP(-DILUT**T+EH<4*I-3))*FNOV L 3B
IF (NEM.LE.-1.AND.EMNOX( 1) .GE.-O.) ENOV2*« (T*EX(4*n+EX(4*I-l) )*T L 36
1+EX(4*I-2))*T+EX(4*I-3)>*FNOV L 37
2O XT(1)»XT( 1)+ENOV2*EXN*0.1 L 38
XT(2)*XT(2)+ENOV2*EXN*0.9 L 39
XT(12)»XT=((Z*CF(3*I-3,J)+CF(3*I-4,J))*Z+CF(3*1-5,J))*Z+P(I-1,J) L 52
30 IF (R(IR).LT.O.) R( IR>«0. t >3
39 DO 55 IRM.NR , «4
I-KR(IR.l) L 85
IF ( ITYPE
-------
RT*R( IR)*X< I) i B7
GO TO 45 L 5fl
40 J=KR(IR.2) L «q
RT«R( IR)*X< I)*X(J> L «I
XT(J)=XT(J)-RT L 6T
45 XT( I) = XT( D-RT L 6~
DO 50 K=3,5 L 6S
I = KR(IR,K> L 6?
IF (I.EQ.0) GO TO 55 L 68
59 XT( I)=XT( I)+RT L 6^
B5 CONTINUE ' L 67
TOLD=T L 68
RETURN L 69
ENTRY DIFSET L 7«
ENTRY DIFSET (L.T.X.XT) L 7i
TOLD=T L 72
1 = 2 L 73
Z=1.X60. L 74
DO 60 J=1.8 L 7R
IR=IPH(J) L 76
60 R( IR)=P( 1,J) L 77
RETURN L 7H
END t .
136
-------
Subroutine OZMX
SUBROUTINE OZMX (C.TL.TOUT,!!*)
DIMENSION C(N0.6), RUN(fl), OZ(61)
COMMON /GEAR1/ T,H,HMIN,HMAX,EPSC,UROUND,NC,MFC,KFLAG.JSTART
COMMON /HOUR/ OZM.NGO.TM
COMMON /CALC/ NR,KJU77,S),A(77),S(77),R(77),ITYPE(77),IA(34),
18).DILUT,TEMP,ERU,START,STOPP,SPECIS(34).TPRNT.TSTEP
NQ=JSTART
IF (T.NE.START) CO TO 5
KOZ=4
RUN< 1)=C(KOZ, 1)
NT=1
TL=START*1.
OZM=0.
OZA=0.
RETURN
8 DO 10 1=1,61
RR= (TL-»-FLOAT( I-1)-T)/H
IF (RR.GT.0.) GO TO 15
IF (TL+FLOAT( I-1).GT.STOPP) CO TO 15
OZ< I)=C(KOZ, 1)
RQ=1.
DO 10 J=1.NO
RH=RH*RR
10 OZ( I)=OZ( I)+RH*C(KOZ,J-H)
1 = 61
15 1=1-1
TL=TL+FLOAT( 1)
1)0 35 J= 1, I
IF (HT.GT.60) GO TO 25
RUN(NT+1)=OZ(J)
NT=NT+1
IF (NT.LT.61) GO TO 35
SIX=0.
S2=RUN(60)
DO 20 K=1,29
SIX=SIX+RUN<2*K+1>
20 S2=S2+RUN(2*K)
25 OZA=2.*SIX+4.*S2+RUW1)+OZ(J)
SV=SIX
SIX=S2-RUN(2)
S2=SV+OZ(J)
RUN(61)=OZ(J)
DO 30 K=l,60
30 RTJN(K)=RUN
IF (OZA.CT.OZM) OZM=OZA
IF (OZA.Ett.OZM) TM=TL+FLOAT( J-I-31)
35 CONTINUE
IF (TL-T.LT.0..AND.T.LT.STOPP) CO TO 5
IF (KCO.NE.0) GO TO 40
IF (T.GT.360..AND.OZA.LT.OZM) CO TO 45
40 IF (T.LT.STOPP) RETURN
GO TO 50
45 TOUT=T
STOPP=T
50 OZM=OZM/180.
OZA=OZA/180.
IF (OZA.LT.OZM) RETURN
IF
-------
Subroutine COSET
31.0.2.0,4.5.7.333,10.42,13.7,1..1.,1..1.,1.,1.,1..12.0,24.0,37.89,
453.33,70.08,87.97,106.9,126.7.147.4,168.8,191.8.1.,3.0,6.0.9.167,1
52.5,1.,1.,1.,1.,1.,!.,!.,I./
5 MAXDER=5
CO TO (10,15,20,25,30).NO
EL(1 > = 1.0
10
15
SUBROUTINE COSET (METH.Ntt.EL.Ttt, HAXDER)
DIMENSION PERTST(12,2,3), EL(13), Tft(4)
DATA PERTST/1.,1.,2.,!.,.3158,.07407,.O1391,.OO2182,.00O2945,.
13492,.000003692..0000003524.1..1.,.5,.1667,.04167,1.,1.,1.,1.,1.,1
2. , 1. ,2.,12.,24.,37.89,83.33,70.08,87.97.106.9.126.7,147.4,168.8,19
Jl. 0,2.0,'
153.33,70
12.5,1..1
MAXDER=5
GO TO ( 1<
EL( !)=!.(
CO TO 35
EL(1)= 6.6666666666667E-01
EL(3)= 3.3333333333333E-01
CO TO 35
20 EL(1)=5.4545454545455E-01
EL(3)=EL(1)
EL(4)=9.0909090909091E-02
GO TO 35
25 EL(1)=0.48
EL(3)=0.7
EL(4)=0.2
EL(5)=0.02
CO TO 35
30 EL(1)=4.3795620437956E-01
EL(3)=8.2116788321168E-01
EL(4)=3.1021897810219E-01
EL(5)= 5.4744525547443E-02
EL(6)=3.6496350364964E-03
35 DO 40 K=l,3
40 Ttt(K)=PERTST(NO,METH,K)
TQ(4)=.5*TO(2)/FLOATCNQ+2)
RETURN
END
N
N
N
H
N
N
N
R
N
N
N
N
N
N
N
N
N
N
N
N
N
N
N
N
N
N
N
N
N
N
N
N
N
N
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34-
138
-------
Subroutine NSCORA
SUBROUTINE NSCORA ( N, IA. JA, A, IAP, JAWRK, AWORK.C, IR. ICT)
INTEGER IA( 1) ,JA( 1) , IAP( 1) ,JAWORK( 1) ,C( 1) . IR( 1 ) , ICT( 1)
REAL A( 1 ) , AWORK( 1 )
DO 5 K= 1 . N
IGK=C(K)
m(ICK) = K
DO 15 K=1,W
ICK=C(K)
JMAX=JMIN+IA( ICK+1)-IA( ICIO-1
IF (JMIN.GT. JMAX) GO TO 15
IAINK=IA( ICK)-1
DO 1O J=JMIN,JMAX
IA!NK=IAINK>1
JAOUTJ=JA( IAINK)
JAOUTJ= IR( JAOUTJ)
JAWORK(J)=JAOUTJ
10 AWORK(J)=A( IAINK)
15 JMIN=JMAX+1
DO 20 1=1, N
20 ICT( I)=IAP( I)
JMIN=1
DO 30 1=1, N
ICK=C(I)
JMAX=JMIN+ IA( ICK+1)-IA( 1CK)-1
IF (JMIN.GT. JMAX) GO TO 30
DO 23 J=JMIN,JMAX
JAOUTJ =JAWORK( J)
ICTJ=ICT(JAOUTJ)
A( ICTJ)=AVORK( J)
I CT( JAOUTJ) = ICTJ-H
25 CONTINUE
30 JMIN-JMAX+1
RETURN
END
o
0
0
0
0
o
0
o
o
0
o
0
0
0
0
o
o
0
o
0
0
0
0
0
0
0
0
0
0
0
0
o
0
0
0
1
2
3
4
5
6
7
B
9
Id
1 1
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
33
139
-------
Subroutine NSNFAC
SUBROUTINE NSNFAC (N.IA,JA,A,IL,JL.ISL.L.D,IU,JU,ISU.U.X,IRL,JRL,I
1ER)
INTEGER IA(1),JA( 1),IL(1),JL(1),1SL(I)
INTEGER IU<1),JU( 1),ISU(1),IRL(1),JHL(1)
REAL A( 1) ,L( 1) ,D( 1) ,U( 1) ,X( 1)
REAL LKI
IER=0
DO 5 K= 1, N
IRL(K)=IL(K)
5 JRL(K)=0
DO 95 K=1,N
X(K)=0.
11 = 0
IF ( JRL( K).Eft.0) GO TO 15
I = JRL(K)
10 I2=JRL< I)
JRL( I)=I1
11=1
X( I)=0.
1=12
IF (I.NE.0) CO TO 10
15 JMIN=ISU(K)
JMAX=JMIN-HU(KM)-IU(K)-1
IF (JMIN.GT.JMAX) GO TO 25
DO 29 J=JMIN.JMAX
JUJ=JU(J)
20 X(JUJ)=0.
25 JMIN=IA(K)
JNAX=IA-1
DO 30 J=JMIN,JMAX
JAJ=JA(J)
36 X
-------
JUJ=JU(ISUB) P 58
58 U(J)=X(JUJ)*DK P 59
60 CONTINUE P 60
1=11 P 61
IF (I.Ett.0) GO TO 90 P 62
79 IRL(I)=IRL<1) + 1 P 63
I1=JRL(I) P 64
IF ( IRL( I) .CE. IL( !+!)> CO TO 85 P 65
ISLB=IRL(I)-IL(I)+ISL(I) F 66
J=JL(ISLB) P 67
75 IF (I.GT.JRL(J)) GO TO 80 P 68
J=JRL(J) P 69
GO TO 75 P 70
80 JRL(I)=JRL(J) F 71
JRL(J)=I P 72
65 1=11 P 73
IF (I.NE.0) GO TO 70 P 74
90 1SLK=ISL(K) P 75
IF ( IRL(K).GE.IL> CO TO 95 P 76
J=JL(ISLK) P 77
JRL(K)=JRL(J) P 78
JRL(J)-K P 79
95 CONTINUE F 80
RETURN P 81
100 1ER=K P 82
RETURN P 83
END P 84-
141
-------
Subroutine NSBSLV
SUBROUTINE RSBSLV (If,R.C, IL, JL, ISL,L,D, IU.JU, I8D,U.X.B.Y) Q 1
DIMENSION R< 1) , IL( 1) , JL( I) , IU(1), JU<1>, C<1>, I8L( 1) , ISD( 1) Q 2
DIMENSION L( I), X(l>, B( 1) , U(l), Yd), D( 1) Q. 3
INTEGER R,RK,C,CK Q 4
REAL L tt 5
DO 5 K=1,H a 6
RK=R(K) tt 7
5 Y(K)=B(RK) tt 8
DO 15 K=1,N G 9
JMIN=IL(K) tt 10
JMAX=IL GO TO 25 O 26
1SUB=ISU(K)-1 tt 27
DO 20 JsJNIN.JMAX tt 28
ISUB=ISUB+1 tt 29
JUJ=JU(ISUB) tt 30
20 8UMaSUM*U(J)*Y(JUJ) tt 31
25 Y
-------
Subroutine YSHER
SUBROUTINE YSHER (A,K,AD R 1
INTEGER A.AK2) R 2
COMMON /INOUT/ IHP,LOUT,ITAPE R 3
WRITE (LOUT, 5) A, K, Al( 1) , AK2) R 4
RETURN R 5
R 6
5 FORMAT (1X.A10,I6.2A10) R 7
EHD R 8-
143
-------
Subroutine INTERP
SUBROUTINE INTERP (TOOT.Y.M.TO) 6 1
COMMON /GEAR1 / T, H, DUMHY( 4) ,H, IBOTWYl 2> , J8TAKT 8 2
DIMENSION Y»( 1W>, Y(He,l) 6 3
DO 5 1=1,N S 4
S Ye=Y(I,l> S »
L=JSTART+1 S 6
S= (TOUT-T) /H S 7
81-1. 8 B
DO 15 J=2,L S 9
81=S1*S 8 10
DO 10 1=1,N S 11
!• Y0(1) = Y0(I)+S1*Y( I,J) g 12
19 CONTINUE 3 13
RETUIIN S 14
END S 15-
144
-------
Subroutine LINER
G
G
G
SUBROUTINE LIFER (SIG.KALCMP.F)
COMMON X1TEEDX HC.JQf.NL, NR,R<20> ,OZP(20> , 025(8,20) ,RHO(8,20> ,MR,OC(
14>,OS<2),HCS,XNS,LS,HCLL<8>
COMMON XWLBLx FACTOR, DlSTPTC.CHRslZ, NCHR.OZLBL
COMMON XPLTVECX HGT< 20 ) , OT( 20 ) , NT , OBC , HGG , PLTGRD , OXN , XNG . HGC . XNC , T
1ICZ.DIGZ.CHRZ
COMMON XCKTRLX SGG, SIGMA, ISTFO.ITPTO, JflTF, RCTY, ALDX.OZIN.OZAL.HCIN ,HC
1 AL, XH1H , XKAL, TSRT, DTI M, 21 , Z2 , DCOIT, EHG , EXN , FLST, TLST
COMMON X 1 NOUTX 1 1C , I OUT , I TAPE
COMMON XTITLX ITTL( 18)
COMMON XCEAR6X RPL<20.20) ,RTL(20,20) , NHL< 20) ,NSL(20) , NTL<20) ,NUL( 2
10) , V<20) , W(20) ,OE(20) ,HGTP(20) ,XTfE(20) ,XKEP(29) , YP(20) ,TM(20) ,XNA
2P(20) ,HGAP(20),HGLP(20) , ITTLK 18) ,U(+4) ,V<44) , DUNK 294)
DIMENSION F<20) , RBL(20,20). NBL<20), rTTOL(20)
FIRST SET CALCOMP OPTION
IF (KALCMF.LE.0)
CHRSZ«TICZ
IDIG1M
10
GO TO S
IF (MOD( IHir, 10) .PTE.0) IDIGI=2
IF (MOD( IHZ,T).NE.0.0R. IHZ.LT. 10)
HGC=HCGXHG
IDIG2=-3
HGM*HCX10.
XNM=XNX7.
XX=(( 10.0-(HCC*HC))X2.0)40.3
DO 10
NUL( I)
NTL< I)
13
ORGY* -.73
CALL PLOTS (II, 12, 14)
CALL PLOT 0.
XNE<2)=XNS
DO 13 1*1. HR
K=NR+1-I
OE(I+2)»OZN(MR,K)
XNE( I42)=HCXR
-------
20 1»I-1 T 88
KEM + 2 T •»
TOL=1.0-<0.17/) T 60
FCR=/2 T 61
CALL EDGMK < XRE.OE.WE, XMX.OZX.UD T 62
JDIF'tfE-LXH T 63
KEV=5E T 64
ITE=LXH T 68
OE< FTE) »OZX T 66
XHE(FE)*XMX T 67
CALL EDGMX (HCT,OT,ITr,HNX,OZHX,LHX) T 68
ffDIFl = irr-LHX+l T 69
WDIF2=inr-LHX-l T 79
BEVlslTT T 71
NT=LHX+1 T 72
OT( im "OZHX T T3
HCT(im«HMX T 74
SX*-SIC*0.23 T 73
IF ) GO TO 30 T 76
CALL UTEVLIN (WT,OT,HCT,SX,LS,PL,1,0,HCTP,FPL,TOL.&,0,0> T 77
RTT^PL T 78
IF *OC<2> T 84
HCT(2)=XIf T 83
NR2-2 T 86
GO TO 48 T 87
33 DO 40 11=1,MR T 88
OT(II+1)=OZIT) HnPL=lTLL T 98
30 m?LI=KPL4l T 96
IF (NPLI.GE.1TL) GO TO 60 T 97
DO 33 J»UPLI,NL T 98
33 IF (OZP(J).LT.OE(HE)) NPL»WPL+1 T 99
60 SX;-SIC*10. T 100
CALL FEVL11T *XZT T 108
70 OT
-------
DO 80 II'LX.IfEW T 114
JJ«II-LX+1 T 113
IF (JJ.GT.NCR) GO TO 83 T 116
OE(JJ)=OZNIF)=XMX T 120
6X*-SIG*10. T 121
CALL NEVLIN (lCDIF,OE,Xra,SX,irmi,FFL,3,irrT,X!UP,II,TOL.0,0,0> T 122
90 IF (OZP(L8) ,LT.OC(2)) iaU«NR-l T 123
IF (OZP(LS) .GE.OC<2)) FRl-ITR T 124
NOZL8T=0 T 123
IF (OZP(LS),LT.OG(2)) 1K«1 T 126
IF (OZP(LS).CE.OC(2)) IK»0 T 127
XOZ=ANAXKOZHX,OZX.OC<3» T 128
IF (xoz.Ea.ozHX) NOZLST=NT-2 T 129
IF (XOZ.Ea.OCO)) jrOZLST*ITCR T 130
IF (XOZ.Ea.OZX) irOZLST'ITGR-i-HDIF-2 T 131
DO 110 LL=l,irRl T 132
IF (OZP(LS).LT.OC(2)) I»LL+1 T 133
IF (OZP(L8).GE.OG(2)) I'LL T 134
IF (NR.Ett.1) I»LL T 133
U(1)*OC(1) T 136
V(l)=0. T 137
DO 98 J*2,M T 138
U(J)»OZH(J-1.I) T 139
98 V(J)*RHO(J-I,I) T 140
SX=-8IG*3.0 T 141
IF (M.GT.2) SX=-SIG*60./(FLOAT(fi-2)**2) T 142
CALL EDGNX < V.U.M.HHMX.OZNNX.MPIl) T 143
MMsMMl+1 T 144
IF CMM.GE.fD GO TO 108 T 143
U(MM)=OZNMX T 14«
V(MM)«HHNX T 147
V(1)«OZN(MR,I) T 148
W(1)=RHO(MR, I) T 149
NDIF*N-NN1+1 T 130
DO 100 J»2,MDIF T 131
V(J)sOZN(M-J+l,I) T 132
100 W( J) = RHO(M-J-fl, I) T 133
V T 164
SX=SJCMA*30.'FLOAT 5TT2'HrrT T 163B
WV»0 T 163C
DO 185 I«LS,irPL T 166
K«l T 167
147
-------
ir co TO n» T i«s
U(1)*HG £ »««
V( I)«XRAP.GT.OC<2» CO TO 120 T 172
IF (I.GT.ICLL) GO TO 129 T 173
U(l)«0. T 174
V(1)«HCLP(I) T 173
GO TO 123 T 176
120 U( 1)=HCTP(1) T 177
V(1)«OT T 178
123 irr*JUL< I) T 179
JE«irrL T 180
IF GO TO 155 T 181
DO 130 JI»lTE,irr T i32
j*irr-Ji+i T 183
K»K>1 T 184
V(K)=RTL(I,J)/F(J) T 183
130 0(K)»V(K)*R(J) T 186
133 ITTsITRLd) T 187
HE=rrsL< 1> T laa
IF (HE.EQ.0) GO TO 145 T 189
DO 140 J=IfE,irr T 190
K=K+1 T 191
V(K)«RPL T 193
145 irr=irroLXREP(I> i **'
GO TO 163 T 206
160 IF GO TO 168 T £07
U(K)»HGAP(I-lfEL) . T 209
V(K>-XR T *»•
163 U*0. T 211
U(K+2)»1./HCC T 212
VOZP(I) T 216
jrv»irv*i T 2 16 A
V(irV)«OZP(ll T 216B
217
170 VAL=OZLBL*(10.*»I»Cim T 219
IF (VAL.GT.0.01) GO TO 178 T 220
IfCBT'ircrm 1 i 221
GO TO 170 T 222
148
-------
178 WCHR-HCHR+WCTT T 223
REMB»OZLBL-FLOAT< IFIX2»+0. !»/< !•.*»> T 224
IF ffl.GE.<0.001/'< 10.**RCim)> WCHR-ICCRTH-1 T 228
CALL CDRVE (U.V.K,l.KALCMP,0,0,S» T 226
183 COHTIITOE T 227
IF (KALGHP.LE.0) GO TO 220 T 228
GALL FRAME <0,,0.,0.,HC,HCC,HCX,HCM,IDIC1,0..XW.XRC.XHX.XKM,IDIC2, T 229
19HffMHC,PPMC,9,7HNOX,PPH,7,lH ,1,1H ,1) T 230
NCRTsO T 231
DO 190 1*1,18 T 232
IF ( ITTL( I) .ITE.4H ) GO TO 198 T 233
ircirT*jccimi T 234
199 COITTIirUE T 233
198 NLST* 18-ffGirr T 236
DO 200 IM.ICLST T 237
200 ITTL1(I)*ITTL( I+jrCBT) T 238
1CC1TT1" 18 T 239
DO 208 1*1,18 T 240
11*19-1 T 241
IF ( I1TL1(II).KE.4H ) GO TO 210 T 242
KCHTl-lfCHTl-1 T 243
208 COIfTHTOE T 244
210 KCRTl-irCRTl-lfCHT T 243
ORGX*UHCC*HC>-
-------
Subroutine CURVE
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 CURVE ( XARRAY,YARRAY.KPTS,IWC.KALCMP.LIWTYP. INTEft.SICMA
1)
*** PURPOSE — PLOTS A SMOOTH CURVE THROUGH THE DATA VALUES FROM T
GW LUNDBERC/SAI JULY 377
MODIFIED BY H HOCO AUG 1977
XARRAY ARRAY CONTAIN IRG X VALUES
YARRAY ARRAY CONTIANING Y VALUES
NPTS NUMBER OF DATA POINTS IN THE ARRAYS ACTUALLY USED
) 0 SCALING AT TOP OF ARRAYS
INC EVERY INC POINT WILL BE USED
LINTYP PLOT SPECIAL SYMBOL EVERY LINTYP POINT
) 0 CONNECTED SYMBOL PLOT
=0 LINE PLOT
( 0 UNCONNECTED SYMBOL PLOT
INTEQ INTEGER EQUIVALENT OF SPECIAL SYMBOL
THIS ROUTINE CALLS SYMBOL, PLOT, KUHV1 AND KURV2
COMMON XWLBL/ FCTR, DIST.CHRSZ.NCHR.OZLBL
DIMENSION XARRAY(l), YARRAY( 1) , XK50), YK50), XP(50), YPC50), TE
1MPC50)
DATA NSLOPE/0/,SLOPE1,SLOPEN/0.,0./
*** LOCATE SCALING (FIRSTV AND DELTAV) FOR EACH ARRAY
— CALCOMP STANDARD
*** SCALING IN TOP OF ARRAYS
N=NPTS*INC+1
FIRSTX=XARRAY(N)
FIRSTY=YARRAY(N)
N=N+INC
DELTAX=XARRAY(N>
DELTAY=YARRAY(N>
NUM=IABS(NPTS)
IF (KALCMP.LE.0) GO TO 10
*** CHECK IF SYMBOL PLOT WANTED ~ LINTYP () 0
IF (LINTYP.EO.0) GO TO 10
*** CENTERED SYMBOL PLOT
*»* SCALE FIRST DATA POINT AND PLOT CENTERED SYMBOL
X= ( XARRAY( 1)-FIRSTX)/DELTAX
Y=(YARRAY( 1)-FIRSTY)/DELTAY
CALL SYMBOL ( X,Y,0.1,INTEtt.0.,-1)
*** PLOT REMAINING SYMBOLS AT INCREMENTS OF MARK
MARK=1ABS(LINTYP)
u
u
u
u
u
u
u
u
u
u
u
u
u
u
u
u
u
u
u
u
u
u
u
u
u
u
u
u
u
u
u
u
u
u
u
u
u
u
u
D
u
u
u
u
u
u
u
u
u
D
u
u
u
u
u
u
u
1
2
3
4
3
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
23
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
80
01
02
03
04
05
06'
07
150
-------
DO 3 J=2,RUM U 58
N=N-MNC D 89
IF GO TO 5 U 60
X=(XARRAY(N)-FIRSTX)/DELTAX U 61
Y=(YARRAY(N)-FIRSTY)/DELTAY U 62
CALL SYMBOL (X,Y,0.1.1NTEQ.0. ,-1) U 63
5 CONTINUE U 64
C U 65
C *** IF THE SYMBOLS ARE NOT TO BE CONNECTED, RETURN U 66
IF (LINTYP.LT.0) CO TO 30 U 67
C U 68
C *** LINE PLOT (OR CONNECT SYMBOLS) U 69
c U 76
C U 71
C *** SCALE FIRST DATA POINT AND MOVE PEN THERE U 72
10 XI(1)=(XARRAY<1)-FIRSTX)/DELTAX U 73
YI( 1) = (YARRAY( 1)-FIRSTY)/DELTAY U 74
C U 75
C U 76
C *** SCALE THE REMAINING POINTS U 77
N=1 U 78
DO 15 J=2,NUM U 79
N=N+INC U 80
XI(J)=(XARRAY/DELTAX U 81
YI(J)=(YARRAY(N)-FIRSTY)/DELTAY D 82
15 CONTINUE U 83
C U 84
NSLP=NSLOPE U 85
C U 86
C *** CHECK IF PERIODIC U 87
IF (ABS(Xl-YI< 1)>.LT.0.01) NSL U 88
1P=-1 U 89
C U 90
C *** SET UP SPLINE INTERPOLATION U 91
NSLP=1 U 92
SLOPE 1 = 57.29578*ATAN« YI( 1)-YI(2) )/(XI( D-XH2))) U 93
IF (SLOPE1.CT.0.) SLOPE1=SLOPE1-1B0. U 94
SLOPEl=AMINl(SLOPEl,-90.) U 93
SLOPEN=28.64789*ATAN((YI(W)-YI U 103
C U 104
C *** LITE SEGMENTS WILL BE A TENTH INCH LONG — S IS THE ARCLENGTH U 105
NP=10.*S+1 U 106
CONST=1./NP U 107
D1ST=S U 108
IF (KALCMP.LE.0) CO TO 20 U 109
CALL WLBLF (XIU),YI( 1)) U 110
C U 111
C *** MAP AND PLOT SEGMENTS U 112
20 DO 25 J=1,NP U 113
T=-J*CONST 0 114
151
-------
CALL KURV2 (T,X, Y,NUM. XI, YI.XP. YP.S,SIGMA) U 115
X=AMAX1(0. ,X) D 116
Y*AMAX1(0. ,Y> 0 117
USX= X*DELTAX+ FIRSTX U 118
USY= Y*DELTAY+ FIRSTY U 119
CALL SAVLIN (USX,USY) U 120
IF (KALCMP.LE.0) CO TO 25 U 121
CALL WLBLC (X,Y) U 122
25 CONTINUE U 123
IF (KALCMP.LE.0) CO TO 30 U 124
CALL WLBLL <0.,0.) U 125
U 126
30 RETURN U 127
D 128
END U 129-
152
-------
Subroutine ISOPLT
SUBROUTINE ISOPLT < SAVHC , SAVNOX)
COMMON /NEED/ HC,XN,NL,imTO.RTO<2*> ,OZZ<20> ,OZN<8,20> ,RHO(8,20> ,HR
1,OC(4) ,O9(2) .HC8,XNS,LS,HCLL(8)
COMMON /TITL/ ITTL( 18)
COMMON /INOUT/ 1H, IOUT, ITAPE
COMMON /CALC/ NR,KR<77,3) , A(77) ,8(77) ,R(7T) , ITYPE<77) , IA<34) , JA<21
18) .DILUT.TENP, ERR, START, STOP? , SPEC IS ( 34) .TPRN.TSTP
COMMON /CNTRL/ 8IG, SIGMA, INTO, NPTO , XNF , RCTY. ALDX.OZIN.OZAL.HCIN.HC
lAL.XNIN.XTlAL, TSRT, DTIM.Z1 ,Z2, DGOB, EHG, EXN, FLST.TLST
COMMON /GEAR6/ DUM1 ( B80) ,OZP(20) , DUM2< 306) , NGRID< 101 ,2) ,DUM3(92>
COMMON /HOUR/ OZPI.NGO.TM
DIMENSION TVERT( 32, 2). JGRID( 101 ,42) , TPRINT(ll), NLIITEOJ
DIMENSION GVERT< 9 ) , TV( 7) , SAVDAT( Id I ) , TV 1 ( 7)
DATA JBLARK/4H /,MAXHG/101/,MAXNOX/42/, MAXPNT/80/,TGRID/lW./,C
JGRID/42. /, JPLUS/1H+/, JBAR/1 HI/. JSYMBX1H+/
DATA OVERT /4H O ,4B Z ,4H 0 ,4H V ,4H E ,4H ,4H P ,4H P
1 ,4H M /
DATA TV/4H N ,4H 0
DATA TVERT/104*4H
l)/lBI/,rrGRID( 10
DO 3 J=l,42
JGRID( 1,J)-JBAR
JGRID(101,J)'JBAR
CONT1ITUE
DO 19 1-1,32
TVERT/7.)*CHICH
30 CONTINUE
CO TO 40
V
V
V
V
V
V
V
V
V
V
V
V
V
V
V
V
V
V
V
V
V
V
V
V
V
V
V
V
V
V
V
V
V
V
V
V
V
V
V
V
V
V
V
V
V
V
V
V
V
V
V
V
V
V
V
V
V
1
2
a
4
3
6
7
a
9
9A
10
11
12
13
14
13
16
17
18
ISA
19
20
21
22
23
24
23
26
27
28
29
30
31
32
33
34
33
36
37
38
39
40
41
42
43
44
43
46
47
48
49
30
31
32
34
33
36
153
-------
C SET HORIZONTAL LABELS V «7
C V 58
33 THIGH=STOPP V 39
40 TSPAN'TGRID/THIGH V 60
DO 43 J* 1, 11 V 61
TPRINT
-------
80 I»t V 113
83 I»I+1 V 114
IF =ULINE< ID v 122
IaI+1 V 124
GO TO 83 V 125
98 CHICH=OZM+<0.2*OZM) V 126
IF »*CHIGH V 130
100 CONTINUE V 132
DO 103 1=2,100 V 133
IF (SAVDAT< D.EQ.0.) GOTO 103 V 134
KROX*IFIX(8AVDAT V 142
IF (KPTO.EC1.0) KFRST»I V 143
IF (NPTO.HE.O) KFRST=2 V 144
DO 115 K=KFRST,MAXHOX V 143
L=MOD«K-1) ,«) V 146
I«(K-l)/6+l V 147
IF (L.Ett.0) VRITE (IOUT.130) TVERTCK,1),TV1(I), VRITE ( IOUT, 160)
-------
Subroutine CURV1
SUBROUTINE CURV1 (H.X.Y.SLP1,SLPN.YP.TEMP,SIGMA) V 1
C V 2
C THIS SUBROUTINE DETERMINES THE PARAMETERS NECESSARY TO V 3
C COMPUTE AN INTERPOLATORY SPLINE UNDER TENSION THROUGH W 4
C A SEQUENCE OF FUNCTIONAL VALUES. THE SLOPES AT THE TWO W 5
C ENDS OF THE CURVE MAY BE SPECIFIED OR OMITTED. FOR ACTUAL V 6
C COMPUTATION OF POINTS ON THE CURVE IT IS NECESSARY TO CALL W 7
C THE FUNCTION CURV2. W 6
C W 9
C ON INPUT — W 10
C N = THE NUMBER OF VALUES TO BE INTERPOLATED (N.GE.2), W 11
C X = AN ARRAY OF THE N INCREASING ABCISSAE OF THE W 12
C FUNCTIONAL VALUES. W 13
C Y = AN ARRAY OF THE N ORDINATES OF THE VALUES, (I.E.Y(K) V 14
C IS THE FUNCTIONAL VALUE CORRESPONDING TO X( K)), W 15
C SLP1.SLPN CONTAIN THE DESIRED VALUES FOR THE FIRST W 16
C DERIVATIVE TO THE CURVE AT X(1) AND X(N), RESPECTIVELY, W 17
C IF THE QUANTITY SIGMA IS NEGATIVE THESE VALUES WILL BE W 18
C DETERMINED INTERNALLY AND THE USER NEED ONLY FURNISH W 19
C PLACE-HOLD ING PARAMETERS FOR SLP1 AND SLPN. SUCH PLACE- V 20
C HOLDING PARAMETERS WILL BE IGNORED BY NOT DESTROYED, W 21
C YP = AN ARRAY OF LENGTH AT LEAST N W 22
C TEMP = AN ARRAY OF LENGTH AT LEAST N WHICH IS USED FOR W 23
C SCRATCH STORAGE, W 24
C SIGMA = THE TENSION FACTOR, THIS IS NON-ZERO AND W 25
C INDICATES THE CURVINESS DESIRED. IF ABS(SIGMA) IS NEARLY W 26
C ZERO (E.G. .001) THE RESULTING CURVE IS APPROXIMATELY A W 27
C CUBIC SPLINE. IF ABS(SIGMA) IS LARGE (E.G. 50.) THE W 28
C RESULTING CURVE IS NEARLY A POLYGONAL LINE. THE SIGN W 29
C OF SIGMA INDICATES WHETHER THE DERIVATIVE INFORMATION W 30
C HAS BEEN INPUT OR NOT. IF SIGMA IS NEGATIVE THE ENDPOINT W 31
C DERIVATIVES WILL BE DETERMINED INTERNALLY. A STANDARD W 32
C VALUE FOR SIGMA IS APPROXIMATELY 1. IN ABSOLUTE VALUE W 33
C W 34
C ON OUTPUT — W 35
C YP = VALUES PROPORTIONAL TO THE SECOND DERIVATIVE V 36
C OF THE CURVE AT THE GIVEN NODES. W 37
C N.X.Y.SLPl AND SIGMA ARE UNALTERED, W 38
C W 39
C *** AK CLINE/NCAR, COMM. ACM 17,4(APR.1974), 221. W 40
C W 41
DIMENSION X(N), Y( N), YP(N), TEMP(N) V 42
DATA EXPMAX/87.4/ W 43
C W 44
NCYC=0 W 45
NCHG=0 W 46
NM1=N-1 W 47
NP1=N+1 W 48
DELX1 = X(2)-X( 1) W 49
IF (ABS(DELX1/X(2» .LT.0.02) GO TO 55 W 50
DX1=(Y(2)-Y( 1))/DELX1 W 51
C W 52
C *** DETERMINE SLOPES IF NECESSARY W 53
IF (SIGMA.LT.0.) CO TO 45 V 54
SLPP1=8LP1 W 55
SLPPN=SLPN W 56
C W 57
156
-------
C *** DENORMALIZE TENSION FACTOR W 58
5 IF (ABS(X(N)-X( 1>)/X(N) .LT.0.02) CO TO 58 W 59
SIGMAP=ABS(SIGMA>*FLOAT(N-1)/(X(H)-X( 1)) W 69
DX1=(Y(2)-Y( 1>)/DELX1 W 61
C W 62
C *** SET UP RIGHT HAJO) SIDE OF TRIDIACONAL SYSTEM W 63
C FOR YF AND PERFORM FORWARD ELIMINATION V 64
DELS=SIGMAP*DELX1 W 65
IF (DELS.GE.EXPMAX) GO TO 55 V 66
EXPS=EXP(DELS) W 67
8INHS=0.5*(EXPS-1./EXPS> W 68
SINHIN=1./(DELX1*SINHS> W 69
DIAGl = SINHIN*(DELS*0.5*fEXPSM./EXPS)-SINHS) V 79
DIAGIN=1./DIAG1 W 71
YP<1)=DIAGIN* W 72
SPDIAG=SINHIN*(SINHS-DELS) W 73
TEMP(I)=DIAGIN*SPDIAC W 74
IF (N.EQ.2) GO TO 15 W 75
DO 10 1=2,NM1 V 76
DELX2=X( I+1)-X(I) W 77
IF (ABS(DELX2)/X(I+1)-LT.0.02) GO TO 85 W 78
DX2=(Y( I+1)-Y< !))/DELX2 W 79
DELS=SIGMAP*DELX2 V 80
IF (DELS.CE.EXPMAX) GO TO 55 V 81
EXPS=EXP(DELS) V 82
SINHS=.5*(EXPS-l./EXPS) W 83
S1NHIN=1./(DELX2*S1NHS> W 84
DIAG2=SINHIN*( DELS*< .5*( EXPS+1./EXFS))-SIRHS) W 85
DIAGIN=1 ./(DIAGH-DIAG2-SPDIAG*TEMP( 1-1) ) W 86
YP( I) = DIAGIN*(DX2-DX1-SPDIAG*YP( 1-1)) W 87
SPDIAG=SINHIN* V 88
TEMP(I)=DIAGIN*SPDIAG V 89
DX1=DX2 V 90
DIAG1=DIAG2 W 91
10 CONTINUE W 92
15 DIACIN=1./(DIAG1-SPDIAG*TEMP(NM1» W 93
YP(N) = DIAGIN* V 94
C V 95
C *** PERFORM BACK SUBSTITUTION W 96
DO 20 1=2,N V 97
IBAK=NP1-I V 98
YP(1BAX) = YP(IBAK)-TEMP( IBAK)»YP( IBAK+1) W 99
20 CONTINUE W 100
IF (SIGMA.GT.0.) RETURN V 101
IF (N.Ett.3) RETURN W 102
IF (NCYC.CT.15) RETURN V 103
IF (NCYC.GT.0) GO TO 25 V 104
XTEST=(X(3)+X(2))/2. W 105
YCORD=( Y(3)+Y(2))/2. W 106
FACT=SQRT(ABS(SIGMA)) W 107
YTEST=(YCORD*FACT+C1RC(XTEST,X(1),Y( 1))+ClRC(XTEST,X(2),Y(2)))/(2. W 108
1+FACT) W 109
DY2=CURV2(XTEST,N.X.Y.YP,SIGMA, D-YTEST W 110
DSAV=DY2 W 111
SN=-1. W 112
IF (DY2.GT.0.) SN=1. W 113
FACT=0.3*(SN+2.> W 114
157
-------
DY2=0. W 113
IT=l V 116
25 NCYC=NCYCM V 117
DY1=DY2 V 118
DY2=CURV2(XTEST,N,X,Y,YF,SIGMA,IT)-YTEST W 119
IF (NCYC.GT.15) RETURN V 120
IF (NCYC.GT.13.AND.NCHG.LT.2) GO TO 40 V 121
IF (SIGNd. ,DY1) .HE.SIGN( 1..DY2)) GO TO 30 V 122
IF (ABS(DY2) .LT.ABS(DYD) GO TO 35 V 123
30 SN=-SN W 124
NCHG=NCHG+1 V 123
FACT=SN*<(!./(l.-SN*FACT))**(l./3.)-l.) W 126
35 SLPP1=SLPP1*(1,+SN*FACT> V 127
GO TO 5 W 128
C W 129
40 IF (DY2/DSAV.LT.0.2) GO TO 35 V 130
SLPP1=SLPPX W 131
NCYC=15 V 132
GO TO 5 W 133
45 IF (N.EQ.2) GO TO 50 W 134
C W 135
C *** IF NO DERIVATIVES ARE GIVEN USE SECOND ORDER POLYNOMIAL W 136
C INTERPOLATION ON INPUT DATA FOR VALUES AT ENDPOINTS. W 137
SLPP1 = (Y(2)-Y( 1»/(X(2)-X< 1)) W 138
DELN=X(N)-X(NMI) V 139
DELNMl = X(NMl)-X(N-2) V 140
DELNN=X(N)-X(N-2) V 141
IF (ABS(DELN)XX(N).LT.0.02) GO TO 55 V 142
IF (ABS(DELN)XX(N).LT.0.02) GO TO 55 W 143
IF (ABS(DELNM1)/X(NM1).LT.0.02) GO TO 55 W 144
IF (ABS(DELNN)XX(N).LT.0.02) GO TO 53 W 143
C1=(DELNN+ DELN)/DELNN/DELN V 146
C2=-DELNW/DELN/DELNM1 V 147
C3=DELN/DELNN/DELNM1 V 148
SLPPN=C3*Y+Cl*Y(N) V 149
DX2=X(3)-X(2) W 150
DX31 = X(3)-X< 1) W 151
IF (ABS(DX2)/X'3).LT.0.02) GO TO 55 V 152
IF (ABS(DX31)/X(3).LT.0.02) CO TO 55 W 153
C1=-(DX31+DELX1)/DX31/DELX1 W 154
C2=DX31/DELX1/DX2 W 155
C3=-DELX1/DX31/DX2 W 156
SLPPX»C1*Y( 1)+C2*Y(2)+C3*Y(3) W 157
IF (Y(2).GT.Y(1» SLPPX=AMAXl
-------
Function CURV2
FUNCTION CURV2 (T.N.X.Y.YP,SIGMA,IT) X 1
C X 2
C THIS FUNCTION INTERPOLATES A CURVE AT A GIVEN POINT X 3
C USING A SPLINE UNDER TENSION. THE SUBROUTINE CURV1 SHOULD X 4
C BE CALLED EARLIER TO DETERMINE CERTAIN NECESSARY X 5
C PARAMETERS. X 6
C X 7
C ON INPUT— X 8
C T = A REAL VALUE TO BE MAPPED ONTO THE X 9
C INTERPOLATING CURVE. X 10
C N = THE NUMBER OF POINTS WHICH WERE INTERPOLATED X 11
C TO DETERMINE THE CURVE, X 12
C X.Y = ARRAYS CONTAINING THE ORDINATES AND ABCISSAS X 13
C OF THE INTERPOLATED POINTS, X 14
C YP = AN ARRAY WITH VALUES PROPORTIONAL TO THE SECOND X 15
C DERIVATIVE OF THE CURVE AT THE NODES X 16
C SIGMA = THE TENSION FACTOR (ITS SIGN IS IGNORED) X 17
C IT IS AN INTEGER SWITCH. IF IT IS NOT 1 THIS INDICATES X 18
C THAT THE FUNCTION HAS BEEN CALLED PREVIOUSLY (WITH N,X, X 19
C Y.YP, AND SIGMA UNALTERED) AND THAT THIS VALUE OF T X 20
C EXCEEDS THE PREVIOUS VALUE. WITH SUCH INFORMATION THE X 21
C FUNCTION IS ABLE TO PERFORM THE INTERPOLATION MUCH MORE X 22
C RAPIDLY. IF A USER SEEKS TO INTERPOLATE AT A SEQUENCE X 23
C OF POINTS, EFFICIENCY IS GAINED BY ORDERING THE VALUES X 24
C INCREASING AND SETTING IT TO THE INDEX OF THE CALL. X 25
C IF IT IS 1 THE SEARCH FOR THE INTERVAL ( X( K) , X( K+l)) X 26
C CONTAINING T STARTS WITH K=1. X 27
C THE PARAMETERS N,X,Y,\P AND SIGMA SHOULD BE INPUT X 28
C UNALTERED FROM THE OUTPUT OF CURV1. X 29
C X 3d
C ON OUTPUT— X 31
C CURV2 = THE INTERPOLATED VALUE. FOR T LESS THAR X 32
C X(l) CURV2 = Yd). FOR T GREATER THAN X(N> CURV2 = Y(N). X 33
C X 34
C NONE OF THE INPUT PARAMETERS ARE ALTERED. X 35
C X 36
C *** AK CLINE/NCAR, COMM. ACM 17,4(APR.1974), 221 X 37
C X 38
DIMENSION X(N), Y(N), YP(N) X 39
C X 49
S=X(N)-X(1) X 41
IT= IABS( IT) X 42
C X 43
C *** DENORMALIZE SIGMA X 44
SIGMAP=ABS(SIGMA)*FLOAT(N-1)/S X 45
C X 46
C *** IF IT.NE. 1 START SEARCH WHERE PREVIOUSLY TERMINATED, X 47
C OTHERWISE START SEARCH FROM BEGINNING X 48
IF (IT.EQ.1) 11=2 X 49
c x 50
C *** SEARCH FOR INTERVAL X 51
5 DO 10 1=11,N X 52
IF (X( D-T) 10, 10,15 X 53
10 CONTINUE X 54
I«N X 55
C X 56
C *** CHECK TO INSURE CORRECT INTERVAL X 57
159
-------
15 IF (X(I-l).LE.T.OR.T.LE.X(l)) CO TO 28 X 88
c X 89
C *** RESTART SEARCH AND RESET II X 6ft
C (INPUT (IT( WAS INCORRECT) X 61
11 = 2 X 62
CO TO 5 X 63
C X 64
C *** SET UP AND PERFORM INTERPOLATION X 65
20 IF (SIGMA.EQ.-50.) CO TO 23 X 66
DEL1 = T-X( 1-1) X 67
DEL2=X(I)-T X €B
DELS=X( I)-X( 1-1) X 69
EXPS1=EXP(SIGMAP*DEL1) X 79
S1NHD1=.5*
-------
Subroutine KURV1
SUBROUTIIfE KURV1 (NPTS.X,Y.NSLOPE,SLOPE 1.SLOPEH,XP,YP,TEMP,8,SIGMA Y 1
1) Y 2
C Y 3
C THIS SUBROUTIIfE DETERMINES THE PARAMETERS CTECESSARY TO Y 4
C COMPUTE AH SPLINE UNDER TENSION PASSING THROUGH A SEdUENCE Y S
C OF PAIRS
-------
DY1=DELY1/DELS1 Y 86
C Y 87
C *** DETERMINE SLOPES IF NECESSARY Y 58
IF (NSLOPE) 50.40,3 Y 59
5 SLPP1*SLP1*DEGRAD Y 60
SLPPN=SLPN*DEGRAD Y 61
G Y 62
C *** SET UP RIGHT HAND SIDES OF TRIDIAGONAL LINEAR SYSTEM FOR Y 63
G XP AND YP Y 64
10 XP( 1>=DX1-COS<8LPP1> Y ,65
YP( 1>*DY1-SIN Y 66
TEMP( D=DELS1 Y 67
S=DELS1 Y 68
IF Y 92F
21 CONTINUE Y 92G
C Y 93
C *** PERFORM FORWARD ELIMINATION ON TRIDIAGONAL SYSTEM Y 94
DELS=SIGMAP*TEMP(1) Y 95
EXPS=EXP(DELS) Y 96
SINHS=.5*(EXPS-1./EXPS> Y 97
SINHIN=1./(TEMP( 1)*SINHS) Y 98
DIAG1=SINHIN*(DELS*.5*(EXPS+1./EXPS)-SINHS) Y 99
DIAGINM./DIAC1 Y 100
XP(1)=DIAGIN*XP( 1) Y 101
YP(1)=DIAGIN*YP( 1) Y 102
SPDI AG=SINHIIT*( SIKHS-DELS) Y 103
TEMP(1)=DIAGIN*SPDIAG Y 104
162
-------
IF (N.EQ.2) GO TO 30 Y 105
DO 23 I = 2,rfMl Y 106
DELS=SIGMAP*TEMP( I) Y 107
EXPS=EXP(DELS) Y 108
8INHS=.5*(EXP8-1./EXPS> Y 109
8INHm=l./ Y 111
DIAGIN=1./(DIAG1+DIAG2-SPDIAG*TEHP<1-1)) Y 112
XP< I)=DIAGirr*(XP< I)-SPDIAG*XP( I-IM Y 113
YP( I)=DIAGIN* Y 114
SPDIAG=SINHIN* Y 115
TEMPCI)=DIACIN*SPDIAG Y 116
DIAG1=DIAG2 Y 117
25 CONTINUE Y 118
30 DIAGIN=1./ Y 119
XP Y 120
YP> Y 121
C Y 122
C *** PERFORM BACK SUBSTITUTION Y 123
DO 35 1=2,N Y 124
IBAK=NP1-I Y 125
XP(IBAK)=XP(IBAK)-TEMP(IBAK)*XP Y 134
DELS 12=DELS1+DELS2 Y 139
Cl=-(DELS12+DELS1)/DELS12/DELS1 Y 136
C2=DELS12/DELS1/DELS2 Y 137
C3=-DELSl/DEliS12/DELS2 Y 138
SX=C1*X( l)-t-C2*X(2)+C3*X(3> Y 139
SY=C1*Y< 1)+C3*Y(2)+C3*Y<3) Y 140
SLPP1=ATAN2(SY,SX) ' ' Y 141
DELNMl = gORT<(X(N-2)-X(NMl))**2-KY(N-2)-Y(NMl))**2) Y 142
DELN=SORT((X(NM1)-X(N))**2+(Y(NM1)-Y(IO)**2) Y 143
DELNN=DELNM1+DELK Y 144
C1=(DELNN+DELN)/DELNN/DELN Y 145
C2=-DELNN/DELN/DELNM1 Y 146
C3=DELN/DELHN/DELHM1 Y 147
SX=C3*X Y 148
SY=C3*Y(H-2)+C2*Y(NMl)+Cl*Y(H) Y 149
SLPPN=ATAN2(SY,8X) Y 150
GO TO 1« Y 151
O Y 152
G *** IF ONLY TVO POINTS AND NO SLOPES ARE GIVEN, USE STRAIGHT Y 153
C LINE SEGMENT FOR CURVE Y 154
45 XP(1)=0. Y 155
XP(2)=0. Y 156
YP(1)»0. Y 157
YP(2)=0. Y 158
RETURN Y 159
C Y 160
C *** CLOSED LOOP — PERIODIC SPLINE — CALCULATE SLOPES Y 161
163
-------
FOR JOIF Y 162
80 DELN=SORT«X(IfMl)-X(If))»*2-KY(IfMl)-Y(lf))**2) Y 163
DELWN=DELS14DELN Y 164
C1=-DELS1/DELK/DELWW Y 165
C2=+C3*X(2) Y 168
SY=C1*Y(NM1)+C2*Y( 1)+C3*Y(2) Y 169
IF (SX.Ea.0..AWD.SY.EQ.0.) SX=1 Y 170
SLPP1 = ATAW2(SY,SX) Y '171
SLPPN=SLPP1 Y 172
CO TO 10 Y 173
END Y 174-
164
-------
Subroutine KURV2
SUBROUTINE KURV2 ( T, XS, YS, If ,X, Y,XP, YP,8,SIGMA) Z 1
C Z 2
C THIS SUBROUTINE PERFORMS THE MAPPING OF POINTS IN THE Z 3
C INTERVAL (0..1.) ONTO A CURVE IN THE PLANE. THE SUBROUTINE Z 4
C KURV1 SHOULD BE CALLED EARLIER TO DETERMINE CERTAIN Z 5
C NECESSARY PARAMETERS. THE RESULTING CURVE HAS A PARAMETRIC Z 6
C REPRESENTATION ROTH OF WHOSE COMPONENTS ARE SPLINES UNDKR Z 7
C TENSION AND FUNCTIONS OK TUE POLYGONAL ARCLENCTH PARAMETER. Z 8
C Z 9
C ON INPUT— Z 10
C T = A REAL VALUE OF ABSOLUTE VALUE LESS THAN OR Z 11
C EQUAL TO I. TO BE MAPPED TO A POINT ON THE CURVE. THE Z 12
C SIGN OF T IS IGNORED AND THE INTERVAL (0..1.) IS MAPPED Z 13
C ONTO THE ENTIRE CURVE. IF T IS NEGATIVE THIS INDICATES Z 14
C THAT THE SUBROUTINE HAS BEEN CALLED PREVIOUSLY (WITH ALL Z 15
C OTHER INPUT VARIABLES UNALTERED) AND THAT THIS VALUE OF Z 16
C T EXCEEDS THE PREVIOUS VALUE IN ABSOLUTE VALUE. WITH Z 17
C ST'CH INFORMATION THE SUBROUTINE IS ABLE TO MAP THE POINT Z IB
C MUCH MORE RAPIDLY. THUS IF THE USER SEEKS TO MAP A Z 19
C SEQUENCE OF POINTS ONTO THE SAME CURVE, EFFICIENCY IS Z 2O
C GAINED BY ORDERING THE VALUES INCREASING IN MAGNITUDE Z 21
C AND SETTING THE SIGNS OF ALL BUT THE FIRST, NEGATIVE, Z 22
C N = THE NUMBER OF POINTS WHICH WERE INTERPOLATED Z 23
C TO DETERMINE THE CURVE, Z 24
C X,Y = ARRAYS CONTAINING THE X- AND Y-COORDINATES Z 20
C OF THE INTERPOLATED POINTS, Z 26
C XP,YP = THE ARRAYS OUTPUT FROM KURV2 CONTAINING Z 27
C C'JRVATURE INFORMATION, Z 28
C 8 = THE POLYGONAL ARCLENGTH OF THE CURVE, Z 29
C SIGMA = THE TENSION FACTOR (ITS SIGN IS IGNORED). Z 30
C Z 31
C THE PARAMETERS N.X,Y,XP,UP,S, AND SIGMA SHOULD BE INPUT Z 32
C UNALTERED FROM THE OUTPUT OF KURV1. Z 33
C Z 34
C ON OUTPUT— Z 35
C XS.YS = THE X- AND Y-COORDINATES OF THE IMAGE Z 36
C POINT ON THE CURVE. Z 37
C T,N,X,Y,XP,YP,S, AND SIGMA ARE UNALTERED. Z 38
C Z 39
DIMENSION X(N), Y( N). XP( N), YP(N) Z 40
C Z 41
C *** DENORNALIZE SIGMA Z 42
SICPIAP=ABS(SICMA)*FLOAT(N-n/S Z 43
C Z 44
C *** STRETCH UNIT INTERVAL INTO ARCLENGTH DISTANCE Z 45
TN=ABS(T*S) Z 46
C Z 47
C *** FOR NEGATIVE T START SEARCH WHERE PREVIOUSLY TERMINATED. Z 4O
C OTHERWISE START FROM BEGINNING Z 49
IF (T.LT.0.) GO TO 5 Z 50
11 = 2 Z 51
XS=X(1) Z 32
YS=Y( 1) Z 53
SUM=0. Z 54
IF (T.LE.0.) RETURN Z 55
5 CONTINUE Z 56
C Z 57
165
-------
C *** DETERMINE INTO WHICH SEGMENT Tlf 18 MAPPED Z 58
DO 15 1=11.N Z 59
DELX=X( I)-X( 1-1) Z 60
DELY=Y( I)-Y< 1-1) Z 61
DELS=SQRT(DELX*DELX+DELY*DELY) Z 62
IF (S'Uri+DELS-TN) 10,20,20 Z 63
10 SUM= SUTI+DELS Z 64
15 CONTINUE Z 65
C Z 66
C *** IF ABS(T) IS GREATER THAN 1., RETURN TERMINAL POINT OB Z 67
C CURVE Z 68
C Z 69
XS=X(N) Z 70
YS=Y(N) Z 71
RETURN Z 72
C Z 73
C *** PET UP AND PERFORM INTERPOLATION Z 74
20 DEL1=TN-SUM Z 75
DEL2=DELS-DELI Z 76
EXPS1=EXP(SICMAP*DEL1) Z 77
SINHD1=.5*(EXPS1-1./EXPSI) Z 78
EXPS=EXP Z 79
SINHD2=.5*(EXPS-1./EXPS) Z 80
EXPS=EXPS1*EXPS Z 81
SINIIS= .5*.-DELS Z 84
YS=( YP( I)*SIHIIDH-YP( I-l)*SINHD2)/SIRHS+< CY( I)-YP( I))*DEL1 + (Y( I-D- Z 85
1YP(I-1))*DEL2)/DELS Z 86
11=1 z a?
RETURN Z 88
END Z 89-
166
-------
Subroutine FRAME
c
c
c
c
c
c
c
c
c
c
c
G
SUBROUTINE FRAME
-------
C AA 58
C PLOT CRIDDED LIWES WITH MATRIX PLOTTER AA 59
C AA 69
25 IPLT=IFIX(PLTGRD) AA 61
CALL NEWPEN (IPLT) AA 62
STINC=(STEPY/10.)*SIZY AA 63
ILP=IF1X(FINY/STEPY+0.005)*10-1 AA 64
STVAL=STINC AA 65
DO 30 1=1,ILP AA 66
IF (MOD( I,10).EQ.0) CALL NEWPEN (IPLT+1) AA 67
CALL PLOT AA 68
CALL PLOT (XLEN,STVAL,2> AA 69
IF (MOD( 1, 10) .EQ.0) CALL NEWPEN
-------
Subroutine AXES
SUBROUTINE AXES ( X, Y,FIRSTV,FIWALV,8CALE,TSTEP, ASTEP.lfDEC, ANGLE, IB AB 1
1CD,NCHAR,LABEL) AB 2
C AB 3
C *** SAI SUBROUTINE AXES AB 4
C GW LUNDBERG/SAI DEC 76 AB 5
C AB 6
C X,Y = COORDINATES IN INCHES OF AXIS LINE STARTING AB 7
C POINT AB 8
C FIRSTV = STARTING VALUE FOR THE AXIS AB 9
C FINALV = ENDING VALUE FOR THE AXIS AB 10
C SCALE = INCHES/UNIT FOR FIRSTV,FINALV.TSTEP,ASTEP AB 11
C TSTEP = STEP SIZE FOR TICS AB 12
C ASTEP = STEP SIZE FOR LABELED TICS AB 13
C NDEC = FORMAT FOR LABELS — SEE SUBROUTINE NUMBER AB 14
C ANGLE = ANGLE OF AXIS IN DEGRES FROM HORIZONTAL AB 15
C IBCD = THE AXIS TITLE AS ARRAY OR HOLLERITH STRING AB 16
C NCHAR = NUMBER OF CHARACTERS IN TITLE AB 17
C ) 0, TIC MARKS, ANNOTATION AND TITLE PLOTTED ON AB 18
C CLOCKWISE SIDE OF AXIS LINE AB 19
C ( 0. ON COUNTER CLOCKWISE SIDE AB 20
C AB 21
C THIS ROUTINE WAS WRITTEN FOR A MATRIX PLOTTER — IT DOES AB 22
C NOT OPTIMIZE PEN MOVEMENTS. THE ROUTINE SHOULD BE MACHINE AB 23
C INDEPENDENT AB 24
C AB 25
C AB 26
C *** FOLLOWING ARE ADJUSTABLE — IF LABEL ) 0, ALL TICS ARE AB 27
C LABELED, IF LABEL = 0, THE LAST TIC IS NOT LABELED, AB 28
C IF LABEL ( 0, THE FIRST AND LAST ARE NOT LABELED AB 29
C AB 30
C *** DEFINE VARIOUS CHARACTER SIZES AB 31
COMMON /PLTVEC/ HCT<20),OT<20).NH.OHC.HCG.PLTGRD,OXN.XNG.HCl,XR1,T AB 32
IICSIZ.DIGSIZ.CHRSIZ AB 33
C AB 34
C *** STEP 1 — DRAW AXIS AND TIC MARKS AB 35
c AB 36
C AB 37
C *** MOVE PEN TO START OF AXIS AB 38
X0=X AB 39
Y0=Y AB 40
CALL PLOT (Xe,Y0,3) AB 41
C AB 42
C *** LOCATE THE OTHER END AND DRAW AXIS AB 43
COSA=COS(ANGLE*0.017453294) AB 44
SINA=SIN(ANGLE*0.017453294) AB 45
AXLEN=(FINALV-FIRSTV)*SCALE AB 46
X1=X0+AXLEN*COSA AB 47
Y1=Y0+AXLEN*SINA AB 48
CALL PLOT
-------
XI*XO+FLOAT*TSTEP*SCALE*SINA AB 89
CALL PLOT (X1.Y1.3) AB €9
C AB 61
C *** DRAW A TIC NORMAL TO AXIS AB 62
X1 = XH-TICSIZ*POS*SINA AB 63
Y1=Y1-TICSIZ*POS*COSA AB 64
CALL PLOT (X1.Y1.2) AB 68
5 CONTINUE Afl 66
C AB 67
C *** STEP 2 ~ SET IN LABELED TICS OR CORRECT SIDE OF AXIS AB 66
C — — — AB 69
C AB 70
10 IF ( ASTEP.Eft.0.) GO TO 25 AB 71
NTIC=(FINALV-FIRSTV)/ASTEP+1.5 AB 72
NFRST=1 AB 73
NLST=NTIC AB 74
IF (LABEL.LE.0) NLST=NLST-1 AB 75
IF (LABEL.LT.0) NFRST=NFRST+1 AB 76
DO 15 J=NFRST,NLST AB 77
Xl = X0-»-FLOAT( J-1)*ASTEP*SCALE*COSA AB 78
Y1=Y0+FLOAT( J-1>*ASTEP*SCALE*SINA AB 79
CALL PLOT (X1.Y1.3) AB 80
C AB 81
X1=X1-TICSIZ*POS*SINA AB 82
Y1=Y1+TICSIZ*POS*COSA AB -83
CALL PLOT (XI,Yl,2) AB 84
15 CONTINUE AB 85
C AB 86
C *** STEP 3 — ANNOTATE THE TIC MARKS AB 87
C AB 88
C AB 89
C *** DETERMINE PERPENDICULAR OFFSET TO BOTTOM OF CHARACTER AB 90
OFFSET=TICSIZ+0.03 AB 91
IF (POS.NE.l) OFFSET=OFFSET+DIGSIZ AB 92
C AB 93
C *** CALCULATE LOCATION OF FIRST CHARACTER AB 94
X0=X0-DIGSIZ*CCSA AB 95
Y0=Y0-DIGSIZ*SINA AB 96
X0=X0-OFFSET*POS*SINA AB 97
Y0=Y0+OFFSET*POS*COSA AB 98
C AB 99
C *** ANNOTATE THE TIC MARKS AB 100
NFRST=1 AB 101
NLAST=NTIC AB 102
IF (LABEL.LE.0) NLAST=NLAST-1 AB 103
IF (LABEL.LT.0) NFRST=NFRST+1 AB 104
DO 20 J=NFRST,NLAST AB 105
C AB 106
C *** GET FLOATING POINT VALUE OF ARNOTATIOIf AB 107
FPN=FIRSTV+FLOAT
-------
C Afi 115
C *** STEP 4 ~ ADD AXIS TITLE AB 116
c AB 117
C AB 118
25 IF (NCHAR.EQ.0) GO TO 30 AB 119
C *** SET TITLE OFFSET -- DISTANCE FROM AXIS TO CHARACTERS AB 120
OFFSET=TICSIZ+DICSIZ+0.10 AB 121
IF (NCBAR.LT.0) OFFSET=OFFSET+CHRSIZ AB 122
C AB 123
C *** CALCULATE TITLE SIZE AB 124
TSIZ=CHRSIZ*IABS(NCHAR) AB 125
C AB 126
C *** CALCULATE OFFSET FROM BEGINNING OF AXIS TO FIRST CHARACTER AB 127
OFF=0.5* AB 128
C AB 129
C *** CALCULATE LOCATION OF FIRST CHARACTER AND PLOT TITLE AB 130
X0=X+OFF*COSA AB 131
Y0=Y+OFF*SINA AB 132
X0=X0-OFFSET*POS*SINA AB 133
Y0=Y0+OFFSET*POS*COSA AB 134
CALL SYMBOL (X0,Y0,CHRSIZ,IBCD,ANGLE,IABS(NCHAR)) AB 135
C AB 136
C FINISHED AB 137
30 RETURN AB 138
END AB 139-
171
-------
Block Data SUN
BLOCK DATA SUW AC
COMMON /SUNLIT/ XJ< 47, 10) ,SIGMA< 31 , 10) , PHI ( 31 , 10) , Z( 10) , RTCON( 10) , AC
1LA111 , iriC.SLA.SLO.TZ, IY, IM, ID, ISTRT, ISTOP, I INC, IEND.SPEC IE, MAXZ, ITI AC
2ME<0I5),XZ(015) ,K(015) , JSTRT, JSTOP,SPEC< 11) ,MNLMl 11) ,TIXLM( 11) ,MAXL AC
.024647,.0(55188,
AC
AC
AC
AC
AC
AC
.0 AC
AC
.3505500,.2814000,.1 AC
AC
.8261000,.7174000,.5 AC
AC
.29220 AC
100,1-083200O,.8031000,.4628,.20291,. 03894/ AC
DATA /2.3974,2.3782000,2.3233000.2.2238000,2.06680 AC
100,1.8310000,1.4799000,.9722,.4767..10653/
DATA (XJ( 10,J),J=1, 10)/2.3177,2.3008000,2.2508000.2
1000,1.8026000.1.4751000,.9879,.4913,.1O65/
DATA 2 , J= I,I0)/.039835,.038013,0.032546,
1074586,.002285,.0003046,2*0.0/
DATA (XJ(3,J),J =1,10)/.4394,.4313000,.4012000,
1978000,.1104300,.039249,.009269,.0009416/
DATA
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
4O
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
172
-------
1500,5.1156000,4.5209500,3.4756,2.«455,0.33125/ AC
DATA ,J=I,10)/5.927(5,5.8988000,5.6161500,5.6701500,5.439 AC
12500,5.0801500.4.4947500.3.46155,2.03995,0.3217/ AC
DATA (XJ(27,J),J= 1,10)/5.90955,5.8814500,5.7972500,5.6504500,5.419 AC
17000,5.0612000,4.4707000,3.4521,2.03715,0.3147/
DATA (XJ(20, J),J=I,10)/5.96875,5.9396500,5.8528500,5
11000,5.1035000,4.5142000,3.47855,2.05155.O.3O885/
DATA (XJK29.J) , J = 1, 10)/6.0576,6.0280000.5.9412000.5
1000, 5 . 1827500 , 4 . 5G50500 , 3 . 53355 , 2 .0813 ,0 .30345/-
DATA (XJ(3O,J).J=1,lO)/6.1739,6.1445000,6.0576000,5
1000,5.2964G00,4.7142000,3.6287,2.1482,0.3108/
DATA (XJ(31,J) ,J=1, 10) /ft. 2265, 6. 1975000,6. 1 110000,5.9585000,5.7225 AC
1000,5.3540000,4.7538500,3.6857,2.1941,0.320I/ AC
DATA (XJ(32,J), J= 1 .10)76.26925,6.2397500,6.1517500,5.9972500,3.757 AC
17500,5.3875000,4.7846750,3.714,2.2183,0.32367S/ AC
DATA (XJC33,J),J=1,10)/6.312.6.2820000,6.1925000,6.0360000,5.79300 AC
100,5.4210000,4.8155000,3.7423,2.2425,0.3272S/ AC
DATA /6.33,6.3015000,6.2170000,5.8380000,5.482560 AC
10,5.4825000,4.9001000,3.8544.2.3628,0.37165/ AC
DATA (XJ(36,J) ,J= 1 , 10)/6.4215,6.3922500,6.3060000,6.0392500,5.7432 AC
1500,5.5620000,4.9790500,3.93455,2.437625,0.40037S/ AC
DATA (XJ(37,J) , J= t,10)/6.513,6.4830000,6.3950000,6.2405000,6.00400 AC
100,5.6415000,5.0580000,4.0147,2.51245,0.4291/ AC
DATA ( XJ(38.J) ,J= 1 , 10)/6.59375,6.5630000,6.4720000,6.3142500,6.074 AC
10000.5.70^2500,5.1225000.4.O78575,2.5737,0.454025/ AC
DATA (XJ(39.J),J=1,10)/6.6745,6.6430000,6.5490000,6.3880000,6.1440 AC
1000,5.7750000,5.1870000,4.14245,2.63495,0.48055/ AC
DATA (XJ(4O,J),J=1,10)/6.659,6,6265000,6.5367500,6.3787500,6.13925 AC
100,5.7772500,5.1992500,4.167625,2.670625,0.4^9457 AC
DATA (XJ(41,J),J=1.10)^6.6435,6.6100000,6.5245000,6.3695000,6.1345 AC
AC
.7025500,5.467 AC
AC
.7889500,5.5507 AC
AC
.9047000,5.6665 AC
AC
10OO,5.7795000,5.2115000,4.1928,2.7O63,O.51«4
DATA (XJ(42,J),J=l,10)/6.46,6.45,6.35,6.20,5.9B,5.71,5.15,4.09,2.7
14.0.53/
,J=l,10)/6.40,6.38,6.29,6.14,5.91,5.65,5.11,4.07,2.7
10)/6.34,6.32,6.22,6.08,5.87,5.60,5.05,4.05,2.7
,J=1,10)/6.27,6.25.6.16.6.02,5.80,5.55.5.02,4.04,2.7
,J=1,10)/6.21,6.19,6.10,5.96,5.75,5.49,4.97,4.02,2.7
DATA (XJ(43,J)
15.0.54/
DATA (XJ(44,J),J=1
16.0.56/
DATA (XJ(45,J)
17.0.56/
DATA (XJ(46.J)
18,0.58/
DATA < XJ(47,J),J=1,10)x6.14,6. 12,6.03,5.90,5.68,5.43,4.92,4.00,2.7
19.6.59V
DATA SPEC/4H NQ2,4HHONO,4HO33P,4H031D,4HFOR1,4HFOR2,4HH2O2,4HALD2,
14HO3CH,4H ,4H /
DATA MNLM''8*2900,4500,e,0/
DATA MXLM/4500,3900,3500,3100,3600,3600,3700,3400,7500,0,0/
DATA (SICNA(I,1),1=1,17)/B.52E-20.1.28E-19,1.83E-19,2.47E-19,3.10E AC
1-19,3.74E-19,4.49E-19,5.01E-19,5.41E-19,5.T0E-19,5.82E-19,5.95E-19 AC
2,5.80E-19,5.45E-19,5.15E-19,4.85E-19,4.55E-19/ AC
DATA (PHKJ,1),J=1,!7)/0.983,0.980,0.972,0.964.0.956,0.948,0.940,0 AC
1.932,0.924,0.916,0.9O3,0.699,0.175,0.025,0.006,0.001,0.000/ AC
DATA (SICriA(I,2),1=1,12)/0.79E-20,0.79E-20,1.14E-20.1.75E-20,2.86E AC
1-20,4.23E-20,5.29E-20,3.98E-20,6.08E-20.3.33E-20,1.78E-20,0.O/ AC
DATA (PIIKJ, 2) ,J= 1 , 12)X0. 0,9*1 .0,2*0. 0/ AC
AC
AC
AC
AC
AC
AC
AC
AC
AC
AC
AC
AC
AC
AC
AC
AC
AC
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
173
-------
DATA (SIGMA( 1,3),1=1,07)/1.62E-18,4.44E-19,1.19E-19,3.36E-2e,B.79E AC 115
1-21,1.94E-21.3.86E-22/ AC 116
DATA (PIIHJ.3) ,J=1.07)/2*0.0,5*1.0/ AC 117
DATA (SIGMAC 1,4),1=1,07)/1.62E-18,4.44E-19,1.19E-19,3.36E-20.8.79E AC 118
1-21,1.94E-21,3.86E-22X AC 119
DATA (PHKJ, 4) ,J=1,7)/3*1. 0,4*0. 0/ AC 120
DATA /0.81.0.66,0.52,0.40,0.29,0.18,0.09,0.01/ AC 123
DATA (SICMA( 1.6),I=l,8)/3.18E-20.3.25E-20,3.15E-20,2.34E-20.2.37E- AC 124
120,1.98E-20.8.37E-21,1.76E-21/ AC 125
DATA (PHI(.1,6),J=1,6)/0.19,0.34,0.48,0.60,0.71,6.82,0.91,0.99/ AC 126
DATA (SIGMAC1,7),1=1,09)/I.49E-20.9.94E-2I,6.8BE-21,4.97E-21,3.82E AC 127
1-21.3.01E-21,1.91E-21,1.15E-21,0.76E-21/ AC 128
DATA (Pni(J,7),J=1,9)/9*1,0/ AC 129
DATA (SICILU 1,8),1=1,6)/4.66E-20,4.09E-20,2.96E-20,1.69E-2O.6.92E- AC 130
121,1.34E-21X AC 131
DATA (PIIKJ.Q),J=l,6)/0.987.0.722,0.663,0.474,0.300,0.123/ AC 132
DATA (SIGriA(I,09),I=l,31)/l.99E-22,3.60E-22,5.38E-22,7.48E-22,9.58 AC 133
1E-22,1.31E-21,1.74E-21.2.20E-21,2.76E-21,3.31E-21,3.78F-21.4.54E-2 AC 134
21.5.09E-21,4.93E-21,5.15E-21,5.52E-21,4.98E-21,4.17E-21.3.61E-21,3 AC 135
3.18E-21.2.69E-21.2.17E-21,1.79E-21,1.52E-21,1.26E-21,9.77E-22,8.06 AC 136
4E-22,6.76E-22,5.56E-22,4.84E-22.4.07E-22/ AC 137
DATA (PHKJ,09),J=1,31)/31*1.0/ AC 138
END AC 139-
174
-------
Block Data MECH
BLOCK DATA MECH AD I
COMMON /CALC/ NR, ION 77,5),A( 77),S(77),R(77),ITYPE(77).1A(34),JA(21 AD 2
18) .DILIJT, TEMP, ERR, START, STOPP,SPEC ISC 34) .TPRNT.TSTEP AH 3
DATA NR/76/ AD 4
DATA (IOl( F, 1) , 1=1, 77)/l,3,4, 1, 1,5. 1 ,6, 6. 2,7,7, B.8,9, 9, 10,4,4, 11. 11 AD 5
1,8,4,12,13,13,13,13,13.14,12.12,24.24,2.2.2,2,2,27.28,20,18,27,20, AD 6
226.18.16,21,21,21,22,22.22.30,30,30.29,29,29,13.13,32,31,23.32,31. AD 7
323,26,19.25, 17. 15,32,3 1,23,0/ AD 8
DATA (KR( 1,2),1=1,77)/0,0,2,4.3.2,5.0,0,1.7.0,1.2.2.9.0,0,0,0.0.4. AD 9
19.8,2,13,15,17,19,0,4,4,8,8,26.25,19,17,15,0,0,0.0,0,0,0.0,0,0.0,6 AD 10
2,0.0,8,0,0,8.0,0,8,26,25.2,2,2,1.1,1.9.9.9.9,9.9.9.9.0/ AD 11
DATA (ION 1,3), 1=l,77)/2.4.1,5.2.1,6, 1,0.7,2,8,0,7, 1. 10.8. 11.3.3,8, AD 12
19,8. 13, 14. 14, 14, 14, 14,21.8,8,25.26. 1, I , 1, 1, 1.2 I,22.21,21.29.9,30,2 All 13
22,21,0.9,9,0,15,23,0,17.31,0.19.32.14,14.19,IT,15.12*0/ AD 14
DATA (KIl( 1 ,4) , 1= 1 ,77)73.4*0, 1,0.5,0,7, 1 ,2,0,0,8,0,8.0.0,0,8,0,0,0, AD 15
11,14.16,18,20,9,9,23,0,0.27,28,20,IB,16,19,17,17.15,9,0,9,9,9,0,9, AD 16
20.0,9,0,0,9,0,0,9,0,27,28,1,1,1.12*0/ AD 17
DATA (KR( I ,5), 1=1,77)729*0,212,22,21,45*07 AD 18
DATA R/.35.4.4E+6.25...045,1.3E+4.1.3E+4.5600.,22...05.2.E-5,.001. AD 19
1.018,8000.,3000.,1200.,8400..8.4E-4.9.5E-4,.019,8.7E+10,1.£+10,84. AD 20
2,2.4,2.5E+4,1000.,1.2E+4.1000.,1000.,1000.,1.E+5,.008,.008,1800.,1 AD 21
3800.,1800.,1800.,1800.,1800.,1800..7.5E+4,1.E+5,8000.,4000.,1.5E+5 AD 22
4,3.E+5,l.E+5,8.E+4,8.E+4,.003,.001,1.5E+4.4.2E-6,9.8E-4.1.5E+4.6.E AD 23
S-5,.0025.4.5E+4.6.E-5,.0019,4.5E+4.1000..1000..800..800..800..100. AD 24
6,100.,100.,4000.,4000.,4000.,4000.,4000.,4000.,4000.,4000..0.0/ AD 23
DATA ITYPE/1,1,2,2,2,2,2,1,1,2,2,1,2,2,2,2,1,1,1,1,1,2,2,2,2,2,2,2 AD 26
1,2,1,2,2,2,2,2,2,2,2.2,1,1,1.1,1,1,1,1,1,1,1,2,1,1,2,1,1.2.1,1,2,2 AD 27
2,2,2,2,2,2,2,2,2,2,2,2,2,2,2.2,O/ AD 20
DATA IA/1.12,34,38,50,54,57,61,79.93,95,98,106.120.124.131,134,141 AD 29
1, 146,153,158.161,166.171.175,182,189,194,198,203,208,213,218,O/ AD 30
DATA JA/1,2,3,4,3,6,7,8,23,31,32,1,2,4,5,7,8,9.13,14,15,16,17,18,1 AD 31
19,20,23,25.26,27,28,31,32,1,2,3.4,1,2.3,4,5.8.9.11.12.21.22.23.1.2 AD 32
2.5.6.1,5,6,1,2,7,8,1,2,4.7,8,9,12,13,21,22,23,24.25,26,29,30,31,32 AD 33
3,1,2,4,8,9,10,15,17,19,23,25,26,31,32,8.10,3,8.11.4,8,9,12,13,21,2 AD 34
42.23,1,2,13.14,15,16,17,18,19,20.25,26,27,28,9.14,21.22.1.2.9,13,1 AD 35
54, 15, 16,9. 16,21. 1.2,9,13, 14, 17, 18,9, 15,18.21,22, 1,2.9, 13, 14, 19,20, AD 36
69,17,20,21,30,8,9,21,8,9,15,22,23,1,2,9,15,23,8,24,25.26, 1,2,9,13, AD 37
714,25,28,1,2,9,13,14,26,27,9.19.21,27,29,9,17,22,28,8.9,19,29,32,8 AD 38
8,9,17,30.31,1.2,9,17,31,1,2,9,19.32,0/ AD 39
DATA SPEC1S/4HNO2 .4IINO ,4IIO , 4HO3 .4IINO3 , 4ID1205, 4IIHONO, 4HOH AD 40
1 ,410502 ,41IUO011,4HO1D , 4HTHOP, 4IIADD , 4IIX , 4HMEO2. 4IIMEO .4HC2O2.4 AD 41
2HC20 .4HC3O2.4HC3O , 4HHCHO, 4HALD2, 4HC2O3 , 41IBUT , 41ISCO2.4HC402, 4HC4 AD 42
3O ,4IiSCO ,4UALD4,4IIALD3,4HC3O3.4HC4O3,4HM , 4H / AD 43
END AD 44-
175
-------
Block Data GEAR
BLOCK DATA GEAR AE 1
COMTfON /CEAR5/ IWK33,9)/CEAR7/IW2(660) AE 2
DIMENSION 1X1(200), 1X2(200), 1X3(200), 1X4(60) AE 3
EQUIVALENCE (IW2.IX1), (IW2( 201),1X2). ( IW2( 401),1X3), (IW2(601),I AE 4
1X4) AE 5
DATA ( IWH1, 1),1=l,33>/6,10,5.7,11,24,3,16,29,30,28,31,32,18,12,19 AE 6
1,26,4,23,20,25,27,8,1,2,9,13,14,15,17,21,22,0/ AE 7
DATA (IWH1,2),1=1,33)/1,4,6,11,15,17,19,23,27,30,33,37,43,49,53,5 AE 8
16,63,69,76,84,88,94.98, 112,130,147, 170,179,187, 194,202,211,2 IB/ AE 9
DATA /3,4,6,9, 11.14. 17. 19.23,27.29.34.38,41,40.55 AE 18
1.61,68,73,79.85,94,102,110,117,123.128,132,135,137,138,139,0/ AE 19
DATA < IWK I ,9) , 1= l,33)/33,4*32,31 ,32,31,32,2(3.27,0,0,32,8*0,28,31 , AE 20
132,0,31,6*0/ AE 21
DATA 1X1/1,3.24,2,26,1,3,18,24,25,4,23,24.25.5.18.6,23.5.7.18.24,8 AE 22
1.25,27.29,09,22,23.10,20.23,11,21.25,27,10,12,23,24,25,26,9,13,23. AE 23
224,25,26,14,25,27,30,15,18.23,9,13,16,22,25,26,27,6,17,23,25,26,27 AE 24
3,7,15,18.23,24,25.26.15,18,19,23,24,25,26.32,16,20,25,27,6,21,23,2 AE 25
45.26.27,17.22.25,27.2,4,5,6,9,10.15,18,23,24.25,26.31,32,1,3,4,7,1 AF. 26
52,13.16,17,18,19.21.23.24.25.26.27.29,30,3,4,7,12,13,16,17,18,19,2 AE 27
61,23,24,25.26,27,29.30,8,9.10,11.12.13,14.15,16,17,18,19,20,21,22, AE 28
723,25,26,28,29,30.31,32,15,16,17,21,23,25,27,29,30,16,17,21,25,27, AE 29
828,20,30,14,19.25,26,27,29,32,10,11,12,20,25.26,27/ AE 30
DATA 1X2X30,8,14.15,18,20,22,23,28,31.11.14,15,18,23,28,32,3,24,23 AE 31
1,24,25,23,24,25,7,23,17,21,23,18,24,25,26,31,13,16,23,26,12,23,26, AE 32
230.26,30,32,24,25,26,30,16,24,25,26,26,29,31.32,18,19,23,26,27,31, AE 33
332,20.24,25,26,27,28,22,24,23,26,27,28,19,23,24,25,26,27,31.32,24. AE 34
425,26,29,23,24,25,26,30,31,24,25,26,27,28,30,32,23,24,23,26,27,28, AE 35
530,31.24,25,26,27,28,29,30,31.32,26,27,28,21.11,26.16,31,22,9,24,2 AE 36
65,18,4,23.26,15,27,31.32.19.6,21.17,9,10.12,13,24,25,7.18,3,1,4,23 AE 37
7, 19,12, 13,24,25, 18,3,4,23,26,27,28,29,8,30, 14, 16,20, 19,21, 17,22,11 AE 3O
8, 12, 13,24,25.18,23,26,2,29,30,16,19,21,17,12. 13,24,25,27,2B.29.B/ AE 39
DATA 1X3/30,14,16,20,21,17,22.11.26.28,31,32.24,25,26,27,28.29,8,2 AE 40
14,25,26,27,20,30.14.23.26,31,23,26,29,32,19,231,210,109,225,3,24,2 AE 41
26,18,24,25,23,24,25,18,23,18,24,25,27.29,22,23,20,23,21,25,27,20,2 AE 42
33,24,25,26,22,23,24,25,26,25,27,30,18,23,22,23,24,25,26.27,23,25,2 AE 43
46,27,23,24,25,26,23,24,25.26,32,22,23.24,25,26,27,23,25,26,27,23,2 AE 44
55,26,27,24,25,26,27,31,32,25,26,27,29,30,31,32,26,27,29,30.31,32.2 AE 45
67,28,29,30,31,32,28,29,30,31,32,29,30,31,32,30,31,32,31,32,32,267, AE 46
7188,205,228,255,102,73,256,189,254,223,232,230,76,172,237,191,276, AE 47
0236,194,287,243,173,178,242,251,264,124.250.126,118,200,211,227,25 AE 48
93,229,190,259,129,260,250,82.280,294,195,206,265,04,106,104,197/ AE 49
DATA 1X4/272.165.200.215.238,275.78.48.290,239,270.87,285,201,266. AE 50
1284,77.135,72,288,300.291,95,137,92.246,158,249,292,159,162,161,30 AE 51
24,305,26*0/ AE 52
END AE 53-
176
-------
Function CIRC
FUWCTION CIRC (TI.XI.TI) AF 1
DIMENSION XK3), YH3) AF 2
DX=XK3)-XI( 1) AF 3
DY=YH3)-YI( 1) AF 4
X=(XI(2)-XI( 1))/DX AF 5
Y=(YI(2)-YI< 1))/DY AF 6
T=(TI-XI( 1»/DX AF 7
IF (X. EQ.Y) GO TO 10 AF B
B=((X*X+Y*Y)*0.5-X3/(Y-X) AF 9
TT=SQRT AF 10
CX= B+TT AF 1 1
IF (X.GT.Y) CX=B-TT AF 12
IF (CX.LT.O..OU.CX.CT.1.) GO TO 10 AF 13
5 CIRC=CX*DY+YI<1) AF 14
RETUHN AF 13
10 CX=T*Y/X AF 16
IF (T.CT.X) CX=(T-X>*< l.-Y)/(l.-X>+Y AF 17
CO TO 5 AF 18
END AF 19-
177
-------
Subroutine EMISS
SUBROUTINE EMISS (NEM.EM.ESTRT,ESTOP,ESLP.EC) AC 1
CONNOR /CEAH6X A(38,3B),IX( 38),8R( 18) AC 2
DIMENSION" EM( 11), EC(38), IFLAG(ll) AC 3
EM*2 AC 11
IFLC1=1 AC 12
IF 60. AC 39
DO 55 LH" 1,3 AC 40
NM=NM1*(LM-1)+1 AC 41
DO 50 K> 1,4 AC 42
IF (LM.Ed. 1) A»-
-------
c
c
c
G
C
C
C
C
C
C
IF < IFLC1.EQ. 1.0R.EM(2).LT.EM<3» A»1.
A(3*N-2,1>»60.
A(3*N-2,2)-i80e.
EC(3*N-2)=EM( 1)
HOW SET UP REST
DO 12S I«2,NM1
J»4*l-6
SET UP THIRD ORDER
DO 60 LH>1,4
NM»NM1*»-I
T=FLOAT< I)*60.
DO 60 K"l,4
IF (LM.Ett. 1) A(NW,J+1O=T**«FLOAT< K- l)*
IF A = (T**K-**K>/FLOAT(K>
IF < LM.Ett. 4) EC(IfH)»EM(I)
IF (LM.NE.4) A(NM.J+K+4)«-A(NM,J-HD
60 CONTINUE
65 CONTINUE
NOW RESET A MATRIX ACCORDING TO THE
RESPECTIVE ORDER
IF ( IFLAG( D.EQ..3) GO TO 120
KL-4-IFLACU)
DO 120 L«2,KL
K*4*I-L
IK»I+NM1*(4-L)
IF (L.EQ.4) GO TO 70
DO 70 II>1,JK
IF »0.
IF (L.EQ.2) A(IK-1,K)"1.
IF (L.NE.2) A< IK,K)M.
GO TO 120
70 CONTINUE
IF (IFLAG(I-l)-l) 80,90,100
80 DO 80 II»1,JK
IF ( I. TO. 2) A( IK-1, II)«0.
IF (I.Ea.2) A( IK+NM1-1,II)«0.
80 A( II,K)-0.
IF (I.Ea.2) A< IK+WM1-1,K>»1.
IF (I.NE.2) A0.
A( IK+5M1-2,K)-1.
GO TO 120
AG 88
AC 09
AG 60
AG 61
AC 62
AG 63
AG 64
AG 60
AG 66
AG 67
AG 68
AG 69
AG 70
AG 71
AC 72
AC 73
AC 74
AG TO
AG 76
AG 77
AG 78
AG 79
AG 80
AG 81
AC 82
AG 83
AG 84
AG 80
AC 86
AG 87
AG 88
AG 89
AC 90
AC 91
AG 92
AG 93
AG 94
AC 90
AG 96
AC 97
AG 98
AG 99
AG 100
AG 191
AC 102
AG 103
AG 194
AG 100
AC 106
AG 107
AG 108
AG 109
AC 110
AG 111
AG 112
AG 113
AG 114
179
-------
100 DO 110 11*1,JK AC 118
IF (I.lfE.2) 00 TO 105 AC 116
IF (IFLGl.Ea.1) GO TO 108 AC 117
IF (EM(2).LT.EM(3)) A( IK+HM1-1,II)»0. AC 118
IF (EM(2) .GE.EM(S)) A(ITW1*2+1, 11) =0. AC 119
A( II,K)=0. AC 12«
GO TO lie AC 121
10S A(II,K)*0. AC 122
A(IK+WM1-1,II)=0. AC 123
110 CONTINUE AC 124
IF (I.RE.2) GO TO 1 IS AC 128
IF (IFLGl.Ea.1) GO TO 1 IS AC 126
IF » 1. AC 127
IF *60. AC 136
DO 130 1*1,4 AC 137
L*JK-4+I AC 138
A(JK-1.L)«IFLAG(I) AC 180
IR«ISAV+1 AC 181
T1=FLOAT(I-l)*60.+l. AC 182
T2»FLOAT999. AC 162
IF (TI.LT.T1.0R.TI.CT.T2) GO TO 188 AC 163
EMI»(EC*TH-EC
-------
Z2"-.Z2.LT.FLOAT*60.) 2«Z2 AC 174
IF (Zl.GT.FLOATC I-l)»60. .AlfD.Zl.LT.FLOAT< I>*60.) Z*Z1 AC 178
IF (Z.LT.0.) GO TO 155 AC 176
EMI»«Z*EC)*Z-i-EC(J-2))*Z+EC AC 177
105 VALl=«Tl*EG(J)+EC(J-l))*TH-EC(J-2))*Tl+EG(J-3) AC 178
VAL2=<
-------
Subroutine CONVT
c
c
c
c
c
c
c
c
SUBROUTINE COIfVT
SUBROUTINE CONVT CONVERTS INTEGERS TO ALPHANUMERIC FOR
PRINTING
ASSUMES VALUE OF INTEGER IS POSITIVE
DIMENSION L(3), JDIGIT<10)
DATA JDIG1T/1HO, 1H1, 1H2, 1H3, 1H4, 1H5, 1116, 1H7, 1H8, 1H9
DATA JBLANK/1H /
N=NUM
DO 5 1=1,3
L( I)=JBLAHK
5 CONTINUE
DO 10 K=l,3
I = 4-K
NEXT=N/10
NDX=(N-NEXT*10)-«-I
L( I)=JDIGIT(NDX)
NK=K
IF (NEXT.LE.0) GO TO 15
N=NEXT
19 CONTINUE
15 RETURN
END
AH
AH
AH
AH
AH
AH
AH
AH
AH
AH
AH
AH
AH
AH
AH
AH
AH
AH
AH
AH 20
AH 21
AH 22
AH 23
AH 24
AH 23
AH 26
AH 27
AH 28
AH 29
AH 30-
1
2
3
4
3
6
7
8
9
10
11
12
13
14
15
16
17
18
19
182
-------
Subroutine EDGMX
SUBROUTINE EDGMX (X, Y,W,XHX,TMX,L> AI 1
DIMENSION X(N), Y(IT) AI 2
LL»N-1 AI 3
IF (N.LE.2) GO TO 10 AI 4
NGOS9 AI 3
DO 3 I»2,LL AI «
IF.GT.Y(I-1» GO TO 3 AI 7
IF) L=I+1 AI 8
IF(Y(I).GT.YU+1)) PGO-1 AI 9
8 CONTINUE AI 9A
IF(NGO.EQ.1) GO TO 13 AI 9B
10 XMX*X(N) AI 10
YMX=Y(N) AI 11
L=N-1 AI 12
RETURN AI 13
19 L=MAX9(L-1,3) AI 14
X21 = X(L-l)-X(L-2) AI 18
X221*X-X(L-2>*X AI 16
X32»X
-------
Subroutine DEC
SUBROUTINE DEC (If, TO. A, I P.I EH) AJ 1
DIMENSION A(ND,N>, IP(N) AJ 2
L=N AJ 3
IER=0 AJ 4
IP(D = 1 AJ 5
IF (L.Ett.1) GO TO 30 AJ 6
NM1 = L-1 AJ 7
DO 25 K=1,FM1 AJ 8
K1 = K+1 AJ 9
M=K AJ ie
DO 5 I=K1.L AJ 11
5 IF H= I AJ 12
IP(K) = M AJ 13
T=A(M,K> AJ 14
IF (H.Ett.K) CO TO 10 AJ 15
IP(L)=-IP=A(i,J)+A*T AJ 29
20 CONTINUE AJ 30
25 CONTINUE AJ 31
30 K>L AJ 92
IF (A(L,L).EQ.0.) GO TO 35 AJ 33
RETURN AJ 34
35 IER=K AJ 33
IP(L>=0 AJ 36
RETURN AJ 37
END AJ 38-
184
-------
Subroutine SOL
SUBROUTINE SOL (L.1TO,A.B,J) AK 1
DIMENSION A(ND,L>, B(L>, J(L) AK 2
H=L AK 3
IF (W.Ett.1) GO TO 15 AK 4
DO 5 K=2,N AK 5
M=J(K-1) AK 6
C=B(M) AK 7
B(M)=B(K-1) AK B
B(K-1)=C AK 9
DO 5 I=K, N AK 10
B(I)=B(I)+A(I,K-1)*C AK 11
5 CONTINUE AK 12
K=N AK 13
DO 10 KB=2,N AK 14
B(K)=B(K)/A(K,K) AK 15
C=B(K) AK 16
K=K-1 AK 17
DO 10 1=1,K AK 18
B(I)=B(I)-A(I,K+J)*C AK 19
10 CONTINUE AK 20
15 B( 1)=B(1)/A(1,1) AK 21
RETURN AK 22
END AK 23-
185
-------
Subroutine VVLBLF
SUBROUTINE VVLBLF (X2.T2) AL 1
G AL 2
C *** SETS A LINE LABEL INTO A VECTOR PLOT PROVIDING THAT AL 3
C A CALL TO SUBROUTINE PLTLBL HAS PRESET THE NECESSARY AL 4
G PARAMETERS IN /WLBL/ AL B
C CW LUNDBERG/SAI DEC |77 AL 6
C AL 7
C X2.T2 THE TERMINAL POINT OF THE CURRENT VECTOR AL 8
C IN INCHES FROM PRESENT PLOT ORIGIN AL 9
C AL le
C *** NOTES — AL 11
C (1) THERE ARE THREE ENTRY POINTS ~ WLBLF SETS UP THE AL 12
C PARAMETERS FOR WLBLC WHICH ACTUALLY DOES THE LABELING. AL 13
C WLBLL CLEANS UP IN CASE THERE WAS NOT ENOUGH AL 14
C ROOM FOR THE LAST LABEL AL 15
C (2) THE LABELS ARE SEPERATED BY DI8T INCHES EXCEPT FOR AL 16
C THE FIRST LABEL WHICH STARTS FACT*DIST INCHES FROM AL 17
C THE BEGINNING OF THE VECTOR PLOT — THIS PROVIDES FOR AL 18
C STAGGERED LABELS. AL 19
C AL 26
DIMENSION XSV(20), YSV(20) AL 2l
C AL 22
C *** DIST IS THE DISTANCE IN INCHES BETWEEN LABELS. FACT AL 33
C IS THE FACTOR (0-1) OF DIST TO USE FOR THE FIRST LABEL. AL 24
C CHRSZ IS THE SIZE OF THE LABEL CHARACTERS IN INCHES. AL 25
C NCHR IS THE NUMBER OF CHARACTERS (0-10). AND LABEL AL 26
C IS THE A-FORMATED TEXT OF THE LABEL AL 27
COMMON /WLBL/ FACT,DIST, CHRSZ,NCHR.OZL AL 28
DATA MXSV/20/ AL 29
C AL 3«
C *** MOVE THE PEN TO THE FIRST POINT AL 3i
CALL PLOT (X2,Y2,3) AL 32
C AL 33
C *** IF THERE ARE TO BE NO LABELS — JUST RETURN AL 34
IF (NCHR.Ed.0) RETURN AL 35
C AL 36
C #** SET UP THE OFFSET NECESSARY TO CENTER THE LABEL AND AL 37
C THE DISTANCE REWIRED BY THE LABEL AL 38
OFF=CHRSZ/2. AL 39
SZLBLSNCHR*CHRSZ+2.*OFF-0.3*CHRSZ AL 40
C AL 41
C *** INITALIZE THE ACCUMULATED LENGTH OF THE VECTORS, THE AL 42
C LENGTH REOUIRED BEFORE FIRST LABEL, AND THE NUMBER AL 43
C OF SAVED POINTS (VECTORS) THAT MAY HAVE BEEN PREEMPTED AL 44
C BY THE LABEL AL 45
TOTSZ'0. AL 46
6KPSZ=FACT*DIST AL 47
NSV=0 AL 48
C AL 49
C *** REMEMBER THE STARTING LOCATION OF FIRST VECTOR AL Sfl
X1=X2 AL 51
Y1=Y2 AL 52
C AL 53
RETURN AL 54
C AL 55
C«*»****************«**********»***»:***»********»#x*********««« AL 56
G ENTRY WLBLC AL 57
186
-------
C********************************************M**************** AL 50
C AL 89
ENTRY WLBLC(X2,Y2> AL 60
C AL 61
C *** IF THERE ARE TO BE HO LABELS — PLOT THE VECTOR AND RETURN AL 62
IF (NCHR.GT.0) GO TO 5 AL 63
CALL PLOT (X2,Y2,2) AL 64
RETURN AL 65
C AL 66
C *** IF SEEKING ROOM FOR THE LABEL — SKIP FOLLOWING AL 67
5 IF (NSV.GT.0) GO TO 15 AL 68
C AL 69
C *** CALCULATE THIS VECTOR LENGTH AND ADD TO THE ACCUMULATED AL 70
C LENGTH. IF A LABEL IS TO START IN THIS VECTOR, SKIP TO AL 71
C 120, ELSE PLOT THE VECTOR AND RETURN AL 72
VECSZ=SQRT«X2-X1)**2-HY2-Y1)**2) AL 73
TOTSZ«TOTSZ+VEC8Z AL 74
IF (TOTSZ.GT.6KPSZ) GO TO 18 AL 75
CALL PLOT (X2.Y2.2) AL 76
X1=X2 AL 77
Y1=Y2 AL 78
RETURN AL 79
C AL 80
C *** ITS TIME FOR A LABEL — LOCATE START AL 81
10 RATIO=(VECSZ-TOTSZ+8KPSZ)/VECSZ AL 82
X1L=X1+RATIO*(X2-X1) AL 83
Y1L=Y1+RATIO*(Y2-Y1) AL 84
C AL 85
C *** PLOT SUBVECTOR AND REMEMBER THE END POINT AL 86
CALL PLOT (X1L.Y1L.2) AL 87
X1 = X1L AL 88
Y1 = Y1L AL 89
C AL 90
C *** FIND OUT IF THERE IS ENOUGH ROOM LEFT IN THIS VECTOR AL 91
C FOR THE LABEL ~ IF THERE ISNT. SAVE (X2.Y2) AND RETURN AL 92
15 HAVSZ=SQRT((X2-X1L)**2+(Y2-Y1L)**2> AL 93
IF (HAVSZ.GE.SZLBL) CO TO 20 AL 94
NSV=NSV+1 AL 95
C AL 96
C *** CHECK FOR OVERFLOW AL 97
IF (NSV.GT.MXSV) STOP AL 98
XSV(NSV)*X2 AL 99
YSV(NSV)=Y2 AL 100
X1=X2 AL 101
EFT£RN "- le2
RETURN AL le3
C AL 104
C *** CALCULATE THE END OF THE LABEL AL 105
C IM SURE THERE IS AN EASIER WAY TO DO THIS, BUT IT AL 106
C ESCAPES ME AL 107
20 A=(X2-X1)**2+(Y2-Y1)**2 AL 108
B*-2*((X1L-X1)*(X2-X1) + (Y1L-Y1)*(Y2-YD) AL 109
C=(X1L-X1)**2-MYIL-Y1)**2-SZLBL*SZLBL AL 110
SQRTD=SQRT(B*B-4*A*C) IL Ilo
T1*<-B+SORTD)/<2*A> 7T Jig
T2=(-B-SORTD)/(2*A) JL 114
187
-------
C AL 115
C *** PICK THE MIHIMUM T BETWEEN «-1 (MUST BE OJCE) AL 116
IF (Tl.LT.e.) Tl«l. AL 117
IF (T2.LT.0.) T2=l. AL 118
RATIO=AMIN1(T1,T2> AL 119
C AL 120
C *** SET LABEL END POINT AL 121
X2L=X1+RATIO*(X2-X1) AL 122
Y2L=Y1+RATIO*(Y2-Y1) AL 123
C AL 124
C *** CALCULATE LABEL ANGLE AL 125
DX=X2L-X1L AL 126
DY=Y2L-Y1L AL 127
ANG=0. AL 128
IF (DY.NE.0.) ANG=ATAN2(DY,DX) AL 129
C AL 130
XL=X1L Al. 131
YL=Y1L AL 132
COSA=COS(ANG) AL 133
SINA=SIN(ANG) AL 134
C AL 135
C *** REVERSE EVERYTHING IF ANGLE IN QUADRANTS 2 OR 3 AL 136
IF (DX.CE.0.) GO TO 25 AL 137
XL=X2L AL 138
YL=Y2L AL 139
COSA=-COSA AL 140
SINA=-SINA AL 141
IF (DY.GE.0.) ANG=ANG-3.1415926536 AL 142
IF (DY.LT.0.) ANC=ANG+3.1415926536 AL 143
25 ANGD=ANG*18e./3.1415926536 AL 144
C AL 145
C *** LOCATE AND PLOT LABEL AL 146
XL=XL+OFF*COSA+OFF*SINA AL 147
YL=YL+OFF*S1NA-OFF*COSA AL 148
IDG=NCHR-2 AL 149
CALL NUMBER (XL,YL.CHRSZ.OZL,ANGD,IDG) AL 15Q
C AL 151
C *** FINISH OFF THIS SEGMENT BY MEANS OF A PSUEDO REENTRY AL 152
TOTSZ=0. AL 183
SKPSZ=DIST AL 154
NSV=0 AL 155
X1=X2L AL 156
Y1=Y2L AL 157
CALL PLOT (X1.Y1.3) AL 158
GO TO 5 AL 109
C AL 160
£*******************#*********#********************************* AL 161
C ENTRY WLBLL AL 162
C*************************************************************** AL 163
C AL 164
ENTRY WLBLL(X2.Y2) AL 16B
C AL 1«6
C *** PLOT THE SAVED VECTORS IF ANY AL 167
IF (NSV.EQ.0) RETURN AL 168
DO 30 1*1.NSV AL 169
CALL PLOT
-------
Subroutine NEWLIN
SUBROUTIIfE HEVLIIC < If ,OT,HCT,SX,US,irE, lTL.im,XrrL,NPL,TOL, RT7L,
COMMON /WEED/ HC,XH,rm,BB,R<20) ,OZP<20) ,OZN(8.20) ,RBO(8.20)
1) ,OS(2) .HGS.XKaS.LL.HGLLO)
DIMENSIOtf JOTL<20), OT< 20) , HCT<20), YP<20>. TM<20>. NUL<20)
10)
IT=1
1SAV=0
IF ( OT< Jf- I ) . LT. TOL*OT< IO ) GO TO 3
IF (IT.LE.2) GO TO 3
DO 1 1*KS,ITE
IF(OZP(J).LE.OT GO TO 10
IF (IT.GT.0) NUL( I)=NUL< I)+l
IF NTL(I) = II
IF (ITUL( I).EO. 1) NUL(I) = II
10 XWL( I-5R)^CORV2
-------
APPENDIX C
SELECTED FLOW DIAGRAMS
190
-------
APPENDIX C
SELECTED FLOW DIAGRAMS
This appendix contains flow diagrams for some of the important
routines of the OZIPP program. The diagrams are listed as follows:
Routine in OZIPP
Program MAIN
Subroutine RLINE
Subroutine PHOT
Subroutine SIM
Subroutine DIFFUN
Subroutine OZMX
Subroutine LINER
Page Number
192
194
197
198
199
200
201
191
-------
Kln»
OFT!W. CAViL'
li 1 '.I jll 2e
Ij'.l '.-Oc,
l&'.g-:.j.ir,
:i~e zone.
i m 1 1 i i i i c
dec jra* y
OptIC: .
initidlijc
inversion
neights ard
duratioi
set ei.iisiuiii
vector c.
callinj EM15S
initialize pro-
P/lene fraction,
«.>/NO, ratio,
and alaenyle
'ractior
Flow diagram of the MAIN program, which processes the options,
reads input data, and calls subroutines as required.
192
-------
/can UfiER to\
plot
MAIN (Concluded)
193
-------
arrange (,5 cuncs.
a-. «r,ic*. uc:.;e:ris
art to t>e crawr,,
in tr.creas 'no orjer
initialije parameters
NCR't" of racie'
*. 'llcb - ' ; '1
M-'l=,• if col; Jc-
ti^i'iS i'j'i-; a ri3lol
lint; - 1
/car, s:- \
to peffcr
^•simulations at
k tne corners of
Ltne isopletti
make initial guesses of
1) initial NO, cone, at
r>:t*. initial N/'*iC cone.
ar.a 2) initial NMnC cone.
at ma*, initial tiO, cone.
that yield max. 1-hr-ave.
Os equal (a lowest 03
cone, ai wnicn an iso-
pletn is to be plotted
/ call SI* \
to perarni s
ulaiibi>s at the
.initial guesses
previous
step
120
I«J, numoer
of radial
lines
6
Flow diagram of subroutine RLINE, which performs the calculations
for the location of the ozone value on the Isopleth diagram
194
-------
estimate location of
terminal:on of reaul
1 me alon; top edge
of isosleth diajra-;
e$tii
RLINE (Continued)
195
-------
can Sin
to perform
simulations at
^coordinate? fromy
previous
ste;
interrelate to find
NH;C and TO, coordinates
on radial line at which
03 cone, eaja's lowes'
(h core, at which
isorleth is to be drawn
coordinates fro-
previous
step
rearrange radial line
ordering and Oi cones.
for later plotting
reestimate NMHC and
NO, coordinates »long
the top and right edges
of isopleth diagram
of lowest Oj cones.
at which
isopleth is to be drawn
RLINE (Concluded)
196
-------
0
ir.Uisl ue vanatles «nd
vectors gi ^er tr,e loca-
tion of interest, use da
frcr internal storage
to set ^; sjlne
rirterpolatior coeffl-
cierts jsea to calcu-
late p!.v*.jl>su ra
constarti at tre
call CLCC'
to convert
time in T.inut
to 2400 hour
/ .,',,« \
pnctolytis rc:c
ctns-jnts it tie
begirrir.g if
ca1.1 SO.;,:
call S^r.A
to calculate
hourly zenitr,
angles
to set up spline
interpolation coeffi-
cients of curves tn
^photolysis rate constants/
at the beginning of
eacn hour for
later use
call RATE
to calculate
photolysis rate
constants, kj, at
specific solar
angles
I
©
Flow diagram of subroutine PHOT, which directs
calculations of photolysis rate constants
197
-------
zerc concentration
vector
add initial WC.
NCX. and transport
conceit'at'O'S to
concentration vector
determine current d i ' u-
ti'c" rate and set cu---
rent simulation time ar.i
nex.t endina tif*, fcr
-------
initialize XT vector
of cnangei of cones.
c* all species with
dilution terrr
aflfi pollutants
froir. transport
aloft Due to
inversion rist
emissions
calculate
ysis constants at
current time
use kinetic
ar.ism to increment
X* vector
RETURN
Flow diagram of subroutine DIFFUN, which updates the concentration
vector based on current dilution rate (if any), emissions (if any),
and chemical reactions in the kinetic mechanism. The XT vector is
the vector of rates of change for each species.
199
-------
interpolate calcu-
lated 03 cones, to
cones, at exactly
one-minute
1
intervals
tine (T), con-
centration, ana
Taylor series
for 0^
lYCS
store 1-min.
03 cones, in
RUN vector
generate running
l-nr.-ave. Oj
cone. and retain
maxiiruir value
set maximum
in proper units
Flow diagram of subroutine OZMX, which monitors Interpolation
for maximum one-hour average ozone concentration
200
-------
inui al ize
variables
CALCCMP clot
ini tial ize vector'.
of NV.HC and
coordinates
lines at wn>
cones, equa
st which isc
are to se 3'
,
NO,
on radi a 1
en 03
Oi c:ncs.
ptetni
otted
call EDGSX
to locate namif-uf
-nr.-dve- 0^ ernes.
ig the toe e;ae aid
tne rignt edge of
tne Tsooleth
diagra"
iso- \
TART ONXyES
EDGE OF / *"
OPU7H /
RAM? /
f NO
set us vectors of
calculated 03 cones, at
diagram ooints on tne toa
edge of the isooleth dia-
gram for interpolation
/ call >
*-L:N \
/ to interoolate for
_/ the start'ng points of
*\ tne 03 isooletns on the
\ too edge of the iso-
\ pletn oisqran /
\ /
initialize vector of
calculated 03 cones .
at diagram points on
the left edge of the
isoolech diagram
for interpolation
\
to interpolate for
starting points- of the
isooleths on tne left edge
of the isooleth
diagram
Flow diagram of subroutine LINER, which calculates the
desired ozone isopleths and submits the isopleth diagram
to the line printer
201
-------
set vector of calculated
Ch cones, of diagram points
a-Tonq the left edge of the
isopleth diagram (at NMHC/
NO,, ratio greater than NMHC/
NOK ratio of TMX. Oj cone.
along edge)
call NEULIN
to calculate end-
ing points of 03
isopleths
AN\.
: iso-x
END ON\ YES
EDGE OF >— ••
>OPLETH/
-M»->/
set up vector containing
calculated 03 cones, at
diagram points along tne
top edge of the isopleth
diagram for interpolation
/ call NEWLIK
\
/ Co interpolate ^
_/ for ending points of
1 "C 03 isopleths on the
\ top tdge of the
\ isopleth dla- .
\ gran /
NO
/DO AN\
/OZONE JSO-\
'PLETHS START o»v!H_
THE LEFT EDGE 0&>~~"
\THE ISOPLETH/
\OJACfiA«J/
L-
set up vector containing
calculated Oj cones, at
diagram points along the
left edge of the ^sooleth
diagram for interpolation
/ call NEUIIN \
/ to interpolate for
fc / starting points of Oj
"" \ isopleths on the left
\ edge of the iso-
\ pleth diagram /
10
1*1, « of radial lines
call EDGHX
to locate nighest
max. l-hr.-ive. 03
cone, along the
r»di») line
LINER (Continued)
202
-------
set vector of calculated
0] cones. Jt diaqram
points along the racial
1 me for interpolation
cjll NE«LIN
to intercolate for
the locations of the
NM.KC and NOX coordinates on
•"e rjdiai line above tn
rj<. Cj conts . ".hat
intersect 0 •• isoolpths/
set vector of calculated
ozone cones, at diagran
points along tne rajial
line for interpolation
call HEWLIN
to calculate tne
locations of ozone iso-
pleth I ines below the
hignest Ci cone.
20
1 = 1 , * of ozone
isocleth 1ines
set uo vector of calcu-
lated diagram points on
each Oj isooletn
to be olotted
call CURVE
to place calcu-
lated diagram points
on plot and interpo-
late for other dia-
gram points on
isopleths
LINER (Concluded)
203
-------
APPENDIX D
INPUT AND OUTPUT FOR STANDARD OZONE ISOPLETH DIAGRAM EXAMPLE
204
-------
ISOP
PLOT 1.0 5.1 3.6 0.06 .042
FIGURE n-1. Input Deck For Standard Diagram Example,
205
-------
ro
O
o
70
m
o
i
STANDARD OZONE I5OPLCTN CONDITIONS
O
c
ft-
•O PHOTOLVTlC RATE CONSTANTS CALCULATED FOR
O1 LOS ANGELES. CALIF.
CO
r*
01
3
O.
a
•4*
a>
3 TIME »00 TO 1800 LOCAL DAVLISHT TIME
3
m
x
|j DILUTION DETERMINED FROM THE FOLLOWING
TO
^ INVERSION HEIGHTS INITIAL SIO. FINAL *30.
TIMING START «00. STOP 1500.
INITIAL PROPTLENE FRACTION .250 N02/NOX .250
INITIAL ALDEHYDE FRACTION »OSO
LATITUDE
LONGITUDE
TIME ZONE
DATE
TIME
34.0S8
•I IB. 250
8.0
*, 21
•00 TO
I»7S
laoo
-------
THE FOLLOWJN6 SIMULATIONS WERE DONE.
HC
•00000
-n
^ .00000
c
S 2.00000
"p 2.00000
PO
^ .66667
0
3 2.00COO
rl-
3' 1.29978
C
2. .61969
•32191
•14312
1.70176
1.1 1933
.55966
•27983
.16290
1*10352
•91S17
•18953
.25368
.|1632
1 .10528
•7829Q
.11543
.21*30
• H»1|
NOX
•00000
.28000
.28000
•OOOCO
•280CO
•01*95
..18197
.09098
.0151*
.02281
.28000
.18117
•0*208
•01601
•02516
•2BQOO
•18856
•0*766
•05061
•02919
•28000
•19833
•II2B9
.06115
•03785
RATIO
•00000
•00000
7*11286
•00000
2*38095
10*01220
7*11286
7*11286
7
7
6
6
6
6
6
5
5
5
5
5
3
3
.11286
•11286
.07771
•07771
.07771
.07771
.07771
.01256
.01256
•01256
.01256
.01256
.91712
.91712
3.91712
3
3
.91712
.91712
OZONE
.00000
•00555
«11817
•00000
• It 901
•20561
•31608
•22120
•13778
•08138
•12712
•32*16
•20832
•12881
•08318
•38897
•30236
•19173
•12319
•08329
•3|77»
•25539
•17657
•11971
•08116
NOT HAX
NOT HAX
NOT MAX
NOT MAX
NOT HAX
NOT MAX
NOT MAX
NOT MAX
NOT HAX
NOT HAX
NOT HAX
NOT HAX
NOT HAX
NOT HAX
NOT HAX
NOT HAX
NOT MAX
NOT MAX
NOT MAX
NOT HAX
-------
00
TI
*— i
CD
•30
m
o
CNJ
o
o
3
r*
~4*
3
. c
(D
0.
•80701
•61926
•13902
•29267
•201(1
•6579|
•*0070
H9120
.39923
.32019
2.00000
5.3227?
.66136
.33068
. 1 7S>1
2.00COO
1.35389
.6860''
• 3-1511
•19*05
2.0OOOO
1.10651
•75213
*
•102*1
.21092
2.00000
I .50511
•89|59
•5221«
•2*000
•2252*
•15232
•10 151
.0*978
• 2801)0
•?5S65
•21Q33
•1*991
.13639
•22789
•J5Q72
.07536
•03768
•42002
•17578
•11899
•0*029
•03033
.01723
•12367
•0»*»7
•01*51
.02189
•01189
•07|55
•0538*
«03|90
•Ol«*9
2*88227
2.88227
2*88227
2.68227
2-88227
2.31970
2.J197Q
2.3197Q
2.3197D
2.31970
8.77*22
8.77622
8.77622
8.77627
8.77622
1 1 .37803
1 1 '37803
1 1.37803
II .37803
1 1.37803
16.172*0
1*. 172*0
16.17260
16. 17260
16.17260
27.950*9
27.950*9
27.950*9
27.950*9
•1909i
•!*9S*
•13525
•10*14
•08511
•11512
• I 108Q
•101*8
•09201
•08271
•1|8I5
•3J121
•20901
•!312|
.08109
•38096
•30000
•19389
•12355
•08367
•32701
•26557
•17910
•11912
•0*508
•24923
•2|29S
•15*45
•Mill
NOT MAX
NOT NAX
NOT MAX
NOT MAX
NOT MAX
NOT MAX
NOT MAT
NOT MAX
NOT MAX
NOT MAX
NOT MAX
NOT MAX
NOT MAX
NOT MAX
NOT MAX
NOT MAX
-------
-n
i— i
CJ]
f**
73
m
a
i
ro
C"5
O
3
(-*>
—M<
3
C
n>
o.
•31191
2.00000
1.61696
1.12259
.76637
.51919
.51090
2*00000
•01223
.03*81
•03032
•020*6
• 0111 1
•01011
•28000
•01351
27*95069
51*32763
51*32763
51*32763
51*32763
51*32763
1*93177
117.71556
.0852* NOT MAX
•I73?7
•15810
•12835
.10281
•08362
•06282
•09819
ro
O
-------
c
0
>
ro
o
-
1
t
• 280* » 12 IA+ 20 21* 2890»32*3
-------
CJ
cr
73
m
<-> THE OZONE LINES ARC .08000 .12000 * I4000 .20000 .21000 tZBOOO oiOOOO cJ^OOO .31000 .JAOOO
ro .MOOOO
O
o
3
rt
•-3
C
fD
O.
ro
-------
rTTT'Ti-.'/rr "A: •' • :-:\-.-::--."r::-:-:-vtrT .•::".-. t
:::r..rr:;::r:-/ : • :\. . :
•rrrrrrr :r: : \ ' '
rrTTj-jrr/ ; : t r-~: . :-s^
-i , -)-.-.!-../.._.„ I
'••'•V<" •t>:
FIGURE D-3. CALCOMP Plot For Standard Diagram Example,
212
-------
APPENDIX E
INPUT AND OUTPUT FOR CITY-SPECIFIC DIAGRAM EXAMPLE
213
-------
.06 .08 .10 .12. .14 .16
o
CALC U) .21 I)
CALC _ TJ! _ .21
'
PLOT _ 5.1 _ 3.6 .08 .06
0.7 0.0 .06774
0.7 _ 0.14 J7315
*
0.0 0.14 .04664
0.0 0.0 .06229
ALRE 4.
.TRAN OJO
EMIS _ 3^ _ 0.36 0.16 _ 0.07
DILU 425. 1900.
TEST." RUN CITY
PLAC _ 39_. _ 77^ _ 5. 1977. 8.
CITY-SPECIFIC EXAMPLE
TITL
FIGURE E-1. Input Deck For City-specific Diagram Example,
214
-------
o
c
o
I
GO
•o
o
o
to
o»
X
Q>
T3
...j
0)
THF rOLL°wrNS RFSl'LTS Wr»F READ IN.
n- HC NIX "»TIO
T3
ro ^. .noonn .onion «ooooo .1*779
01 J .ononn ,lnnoo »0000o
-s
0 .70000 .mmo StOOOOO .17315
.00100
-------
CITY-SPECIFIC FX*«PLE
R»TC CONST«MT5 f »t CUL »TFf» FOR
•*= TFST RUM trrr
ID
T>«nnn
ro
^^ LONfilTODF 77,000
r>
5 TIT
« I 1977
c
n>
Q. '|rlf """ TO I80" LOCAL OlYLtGHT TIMt
|3l«t
!N!Tt»L
TIMING ST»»T BOO. STOP »SfO,
N02/NOX
INITIAL ALOEHYnr FRACTION .050
OZONF .100 HYDROCARBON .ono NOX 1000
CONTINUOUS FPJSSJONS (FXPRC^SE" *S THt FRACTION OF
Now-«*rr«BouNo C"NCFNTR*TION EMITTED PER
l 2 3
»-i«n .1*0 .o'o
-------
ro
o
c
ra
m
i
ro
o
0
H-
^
fD
^
TI>7
1100. .67768 .15350
1 700» ,MR15aflfl .OT'90
1800* .1^709 .in3|q
M*)ffo(Uf< 07O«r NOT »FACHF°, THF
YAMPUf
AL"FHrDF
FRICTION
.05000
.0717"
. 1 1401
.1*177
.19601
.20207
.10746
.16519
.100«
.12599
.11533
LAST ONE MOD*
NO If
TOTAL
.21000
,22767
.19*18
.15052
.10730
.06590
.01052
.02125
.01772
.0133R
•OlOflO
I AVEPAGF «»
NO? OZ^NE
FR»CT!ON i INSTANT >
,2500" ,00000
,39099 .00*31
,6528* ,03020
,837j2 .08666
,8M29 ;H797
,905i7 ,18170
,'1155 .19317
.91387 ,19051
,'239" .20001
,93572 ,70S|7
,952«|2 .20712
$ i 20615 PPM.
-------
I
1
I
T| I
£ .?I2«
C 1
3 '
+
71 '
ro I
. 177*
0 1
i [
=' '
c o t
£ o •"";
N I
E *
ro ,
03 •• I
f .104*
H |
!
*
1
I
.07V*
t
1
«
t
1
.035*
I
I
*
t
IOOOO(
I
t
t
1
«
00 0 0^0 1
000 !
0 00 001 »
o o no i
0 0 T
n «
0 0 I
00 !
00 t
I
0 •
0 t
*
T
0 t
*
I
0 T
0 T
1
0 »
0 1
0 t
0 *
00 t
0 t
0 «
ft I
0 t
0 »
0 O . I
)OoO 0 ?
.0 AO.O 12l«f 1*1.0 2<*0.0 SpO.O 340.0 120.0 IdO.O 510.0 *0nin
TIME (MlNUTFS)
-------
CITY-SPECIFIC F.XAMPLE
CONSTANTS CALCULATED FOR
10
c
I
ro
r>
o
3
C
re
a.
ro
TFST *"N CITY
LATITUDE 31
LONGITUDE 77.000
PATT K I |9»7
Tl«r «nn T0
SOL1R N00«l |1M
LOC»L
f)pTF9M'NEO FuOH THF
E|r,HTs IN!TI*U
TlM|Nr, ST»RT 800. STO»«
.250 N02/NOX
.050
*LOrT
OZONE
,lnn
HYOROC»PBON
.000
NO*
CONTINUOUS FM,SS|QNS jEXPRtsSEO AS THE FP«CTION PF
INITIAL NON-HAC^GROONO CONCENTRATION EMITTED PER HOU»I
MflU» I 2 3
FRACTION .3*0 .1*0 .070
-------
CITY-SPECIFIC C»«MPLE
n>
i
ro
n
o
ro i
8 S.
n.«ioo«ni
«. 000-03
THE E*»O« TOLF»«NCF is 1.000-02
THE «»TF COH5TtNTS USED
7.058-pl ».nOn<
I.OPO-03 1.1*6.
I .P00»in
8.000-03
1.000*05
1.500*01
1.000*03 i.ono«o3
1.000*03 1.000*03
THF PHOTOLYSIS
I
THE PHOTOLYTIC "»ATF
2.050-01
t. 700-0 A
?.'»nn<.nn
19
H
1 . Jno»0l
1.200*03
1 ,ono»n3
1 .800*03
3.0PO*P5
6.000-05
8.000*02
1 . 30TU01
8.100*03
I .200*01
1.800*03
1.000*05
2.500-03
1.000*02
«>;*on*03
•1.579-01
1.000*03
1.800*03
8,000*01
1. 500*01
1.000*02
2.7.PO»OI
?.8fl2-01
1.000*03
I .800*0.1
8.000*01
»«ono-o5
1 .000*07
5.000-O2
1.705-02
1 ,PnO»oj
1 .800*03
1 iA|5-P3
«>00-03
1^000*03
50
19
1.415-03
«7
51
2.03|-0*
8.700»|0
7.«;no«oi
i.ono«n3
-------
MC
ro
PO
t£l
c.
-i
I
ro
3
fP
o.
1 n T F R V • i
I .OOP-JO
UDT
OOP.
N07
010
MCHO
C301
5. 2<;o-o?
n.oon
7.000-02
O.DOD
o.oon
1.7] n-Q1;
P.oon
HP
PPOP
i »«Trs APT
l.nfl-p? O.PO
f.no 0,PO
n,nn
n.nn
p. oo
P. flO
P. 00
O.PO
O.PO
6.30-oR
0.00
n.nn
P.no
p. On
o.on
O.on
P. 00
p. on
O.OP
0.00
O.on
n.no
O.nn
n.no
n.no
P. no
n.no
O.no
n.no
O.PP
O.OP
O.OP
O.OP
o.no
n.oo
0.00
o.oo
o.oo
P. OP
o.oo
o.oo
O.PO
O.nn
o.nn
o.oo
O.on
o.oo
O.PO
Oio8
o.oo
O.PO
O.PO
3.73.
0«P"
o.oo
p JnO
ojpo
2.os»-ni
-------
ro
PO
PO
~n
O
->. NET R«TFS
c
re
f^
N02
010
HCMO
C303
8.902-0?
7.824-|7
2.714-02
1,831-08
7.185-04
1,119-07
1.774-01
2.31 1-07
TlMF
tLDT )
900.
MO
P»PP
• Lf?
C103
.3*7-01
.292-02
.113-02
•308-0*
. 133-pl
.S79-01
.780-01
>. 372-07
HC PWOPVLFHF
TOTHL FR»CTIOM
1.04117 .21197
n 03
*00 X
C70J 8IIT
4.729-09 8.313-03
l.*74-04 2.3**-09
3.794-07 2.034-01
2.479-05 8i704-01
2.741-04 il, |14-n4
1.40^-04 -1,700-01
»LnFHrO£
FRICTION
.07178
MO*
ME"7
SC02
1 .704-0*
7.157-07
1 .4«5-07
7.017-04
1.4dl-o7
7.815-0*
HOI
TOT»L
.227*7
N20?
»EO
C102
3.424-07
4.910-10
1 .435-07
«. 082-07
-1 .481-04
7.815-07
N0?
F«*CTlO»
.39099
HON0
C20Z
ClO
1.2»2-oS
5.918-0*
l.853-|0
1.77|-n5
3.078-0^
-8.481
2.959.f,4
7.539-n*
8.121-01
I i|47-o5
3.l54-o7
1.883-05
HnfM
C3"
• Ln1
1 ;j77-«4
1179.1-IO
1.754-01
4;7"7-n«
I5;5l9-n7
1^259-QS
THE Rr«CTION »»TES
2.91-02
1.59-09
7.83-137
5.51-06
1 .01-05
1.48-05
2.71-10
I .91-09
THF PMPTOLYTIC R»T
3.307-01
2.94-02
2,5«s-o5
7.73-08
5.51-0*
1.13-0*
1 .03-07
2.7i-|0
7,0|-10
F CONSTANTS *
2,021-02
2.88-02
8.08-O5
5.<»n-ne
1. 14-05
7.71-07
1. 15-nS
3.47-04
2*55-09
RF
2i315-0?
3.13-05
1.72-05
7.35-01
1.14-05
7.78-05
1. 14-05
7.03-04
3.97-10
9.431-ni
7.
1.
2.
1.
3.
2.
1.
2.
79-04
92-ni
.17-01
0*-H5
13-05
85-08
71-05
|7-|0
9.811-01
3;08-05
7.34-08
3.17-08
1,0«-05
1,79-05
1 .19-04
2.91-07
i;i9.09
l.OOB-ol
8
1
.1
1
1
2
1
.51-04
.10-09
.47-10
.88-05
.15-05
.13-04
,63-07
*, 515-01
7.98-04
8.01-04
9.92-1 1
1.18-05
5.55-05
5.05-0*
3.38-04
1.692-01
1 i*l-08
1 .95.0s
1 i2*-IO
5i3*-05
8.26-05
1.40-04
1. 91-09
7;*7-o7
4^81-04
7137-nl
1119-05
7;7o-n5
i;io-n6
a;92-iO
-------
ro
ro
<*>
-n
c
m
m
i
IN)
. — ,.
n
o
3
f*
3
C
a.
•^— *
TtMF
IWTFRV«L
1 ,?1*»OI
NTT fttTES
THE RE»CTIOW
*.20-0?
7.59-0?
5.82-04
1 .11-05
1 .55-05
•.80-05
7.11-0?
1.77-08
TIME HC PROpYlFNE «LBFHYO
(LOT I TOTAL TRACTION FR*CT|0
lOOn. .81ARA .7O057 .11101
NO? NO 0 03 M03
0|n POOP *0rc * »EO?
HCHO tint C20? PUT SCO?
C30J C103
I. 781-01 A.«ln-o2 |.20|-OR 3.0?f-n2 I.91?-o7
S.925* 14 5.
3.344-07 3.
I. 773-07 2.
3.940-O1 -».
-1.307-0* -1.
4.641*05 1.
1.071-01 1.
,
P«TFS ARE
5.29-02
1.03-05
1«?2-07
1 .11-05
2,*Q-p4
1 .17-07
2.11-lt
9,?5-0?
913-0' 1.27T-04 ?.
3St;-n7 1.474-04 1.
171-07
111-03 4.024-04 4.
115-01 -5.000-0* i.
iM-fll 1.777-0* -5.
|02-0*
5. 1 1-12 i ,7i(.n«
I .a«.ni 3.97.0*
7.05-07 7, an. 01
. 7| -n? 4.2| -0*^
.'19-04 1.M-05
.$0-^5 9.8A-0*
•35-05 9,4^-04
.71-08 9.61-09
d«?-n? ?.40|-Q7
774-01 5.0B7-07
I?7»n1 1.0*4-0*
g3Q-n7 7.711-OA
,71"0l S. 137-08
7,nn-O5
7.95-01
2. fl*-ni
6.70-05
". 71-nn
?.l 3-05
4.90-0?
N TOT»L
.19418
N205
MEO
C102
4.288-OA
I.17J-09
B. 057. 07
A. 410-07
-7.6flfl-0*
5.137-0*
1 ;77-01
7.9«;-07
7.15-07
6^70-05
3.50-05
3.17-04
4.57-Ofl
HOMO
C202
ClO
I ,4IO-o3
7.5*7-0'
7.757.|0
-4.oJ7.fl4
7. ?39-o8
-3.4ZO-08
| .39.01
7.06-08
1.06-09
3.77-05
7.99-05
1.19-05
7.27-06
.0302O
OH
SCO
3I735-IO
1.551-10
-3.393-07
•2. 468-08
•3.420-08
1 OB-01
S.*«;-n«;
l.08-0»
3.13-05
1 . 18-01
1 . 11-07
2.15-05
C30?
3.079-07
] . 908-0 3
1 . 95 1— n7
2.361-0*
U1I1-05
3. |1-07
8. ?4-ni(
1 .30-09
1 , | 8-nit
1,31-01
3.4J-04
1 .7'-Og
is;
1 . 1 • 7 . | 0
UJ48-03
7.0»?-n7
-7.717-ne
1 J165-05
I iT<». 07
t, J07-O5
?I**-01
7107-05
1.77-05
IJ47-05
I ', 20-oB
1.041-01
2.503-02
?.73f,-07
1.102-03
3.973-03
I.110.03
7.3*7-01
-------
TIME
HC
TIME
ro
ro
(a
c
o>
m
i
PO
n
o
ft)
Q.
R»TFS
-5.702-05
1 100.
WQ 2
010
HCHP
f 303
1.253-01
7.111-15
3.117-07
7.093-O7
1 .209-03
9.451-07
Nn
Pi»OP
»L02
C103
2.521-07
3.147-n?
3.757-0?
S. 595-07
3.739-01
-3.9BA-01
THF RF»CT1ON 9»TFS »RE
5.71-07 5.99_n2
9.10-10 2.7fc-fi5
7.11-05 I.9].o«
7.1O-05 ?.10-05
1.49-05 3.31-Q*
1.35-01 l.5R-p7
1.30-08 1.36-08
1.47-07 9.50-08
5.172-04
PROPTLENE
FRICTION
. 1 5 350
03
X
RUT
8.*A»-02
2.?71-(l9
l.13«-OI
1.933-03
.1 .1AO-04
-4.141-Ot
•LOFHyOE
FRICTION
.14177
N03
ME07
SC02
1 .1^5-0*
3.101-06
1 .«t*fl-0*
7.003-05
7.RS1-Q7
1.019-0*
NOX
TOT»L
.15052
N205
MFC
C*0
C202
ClO
9.4"»-n1
8.577-07
2.9»8-lO
• I.H5-01'
1.102-Q7
-1.113-0*
OTONE
( INST»NT1
.08648
OH
C20
5C«
2.417-oT
1.775-10
1.4«*-|0
-1.112-05
-7. 110-07
-1.113-0*
H(|2
f3B?
tLD"
2.7*9-o5
9,657-07
2.129-Q3
li|71-0«;
1.601-07
2.9a3-0*
HO^H
C3"
»Lni
l.4«7-o«l
1.133-|0
2io09-o3
5;431-OA
-7i574-07
5i371-04
5. "7-02
z.fcZ-Ol
5«74-n4
6.75-05
1 .89-06
3i59-n5
) .71-05
3.11.07
1.fl9-0l
1 .98-05
7.77-01
* .75-05
1.50-05
I -17-O1
1.13-05
9.57-08
7.77-05
8. 39-01
2.71-01
A. 43-05
5.06-05
1.71 -"7
1 .01-01
7.HA-08
1^71-01
4,11-04
9.15-07
4.43-05
1.13-05
5.07-04
1.08-05
5.73-07
j.01-03
2.23-07
7.74-08
1.39-05
3.78-05
2, 37-05
8.89-04
1 .07-03
2.38-01
7.61-09
3.90-05
1 .13-01
1 .14-07
4.18-05
7.32-04
7.58-03
8^57-09
I.ll-Pl
I.4S-01
1.42-0t
li42-07
4.37-08
7J75-05
I 107-07
1.558-01
7.8*0-02
?.«7*-0?
7.717-".1
1.71«-03
1.700-03
I.35*.03
9.5*1-01
-------
TI
— J«
c
-J
m
i
ISJ
n
o
3
ro r*
£ g
2.
TIKf >I02
I HTEHV«L ft | D
HCHQ
C303
I.?nn»ti3 9.087-07 1
I.l73t0l 5.1/.1-15 1
7.818-02 3
1.51^-0* I
MFT R»TFS -5.177-01 -1
-9.7|1-f)fl -Z
-1.377-01 -1
1i 1 9O-0* 1
TMT Rr»CT[0«| B4TES «*r
1..19-P7 1.90-02
2.72-IO |J*3-05
*• lA-ns 3.8(-n4
1.97-ns l.'Z-l?
I .19-05 2. 9l-p4
1.29-Oit 1.1D-17
3.O8-O8 3.08-0*
5.4(7-07 3.15-07
T!i*F
1 1. 0 T 1
120(1.
NO
PROP
*L"2
("PS
. t i3-n7
.423-07
.335-0?
.735-0*
.8A7-01
.204-01
.1 An-oi
.70) -08
«. 71
7»?3
1 • A8
*. f n
HC
TOT»L
.1810,
0
ion
C70.1
1 . 1 1 "-08
1 .0*0-15
9.35»-nA
-1 ,n5n-fl5
-7,ri7-,-l7
I.IOn-oH
-"7 (••
-ni i .
-n5 1 •
-"5 A.
I.73--1* 3i
3- **.
t • 59
1-13
-OS 1 «
-n? | .
-04 3»
PRORVLFnE »irFHyDF NOX
FBlfTIOM FP»CT|OH TOTAL
.|00^? .I9*0t .10730
"3 "OS W205
X tc, 8,^^-ns 1.58-05
Z9-07 7.87-07 1.77.04
nr>j
F»»CTIPW
."88?*
HO*1"
C207
fqO
1.71 l-o*
1 , 7&4-o4
2.4ll-i«)
•5 . 160-O6
1.91 l-0«
•z. 411-0*
7. 05-03
1.17-04
4.37-08
3.97.05
J.1H-OS
7.79.05
1.38-05
r>7"NE
1 INST»"J1
. 11797
CM
C7P
Sen
3.0«3-o7
1.379-10
1 .MKS-10
1 ,|78-o4
-1 .079-08
-2.612-09
2.P5-03
5.01-01
i .89-n»
3»43-05
1.73-01
1.39-17
8.50-15
r i
«n?
C30?
»L On
1.739-n5
l.9?9-04
-1 .0?7-flA
I.757-H8
•5 .231-04
i|. ^7-04
1 . A **• O \
2 » 0 A • Oft
| .73-01
1 .11-01)
«i 1 1 .04
5. 17-07
CJ"
-3,404-04
1.833-01
J.010-f)7
3.13A-0?
5.122-03
I .09)1-0)
-------
T 1 f>F HC °ITOP»LF«)E
1 1 1
ro
^_^
n
o
3
r+
-J*
3
ro c
t\> (D
O> CL
C303 C103
1.300*03 5.940-02 4.2l4-p3 B.
1.000*01 4.B83-I5 4. 083-03 9.
1.977-0? 7.535-0? 1.
2.377-04 2.430-04
NET ««Tfs -1.54I-H1 -5.777-05 -2.
7,117-09 -1.029-01 -1.
-1.351-01 -1.390-01 4.
l-»»l 1-08 J. 114-pB
THE »F»CTION WITTS *RF
2.95-07 3^9- p2 ?« 0?^02
4.27-11 7..8Q-P/4 1.47-01
4.8«-O5 5.t«-C4 7.'1*-05
I.OO-P5 1.00-05 5S01-OS
1.2>-05 2«10-O4 1.117.04
1 .PO-01 1.O4-07 %• 94.05
3. 94-08 3.94-O* 1.31-O5
*. 89-07 4, 02-Q7 |.«3-O4
THF PHPTOLTTlC "»TE CONST*NT5 »"[
1.912-01 3.|I7-(J2 3;707
|4|-09 I.8I7-PI
010-04 S.Bll-IO
21M-O5 8. 197.O2
134-07 3, 547. ol
549- pS I , )4O-o9
334-0* -3.9?1-f)1
1.80-01 4.
4.33-04 1.
5.6«-05 5.
5.01-05 1.
3.27-05 3.
1.79.01 1.
1-U-O5 4.
5.9K-07 5.
-Oy 3.47M-01
»LPFHrOf
F»*rTio>
.J0207
MO 3
f CO?
sco?
5.98 1 -04
8. lOfl-0*
1.370-04
3.41 1-0*
3.4i7-08
1. Sf 1-08
33-04
21-01
42-O5
90.05
48-05
07-07
19-05
J4-07
1."T-03
( TOT»L
.04590
H705
HfO
C102
9.0*7-05
1 .135-09
M.37B-0*
-5.392-07
-2.37S-0"
1 ^03-01
7.40-O5
9, 07-07
1.90-O5
3.00-05
1,74-04
1.57-05
2.01-04
5.297-03
NOj
.»05*7
MONO
C202
CIO
2.S01-o1
2.444-04
2.180-jO
-2.353-04
2.700-0*
-1.997-08
7.0P-03
2.77.04
7.3U.08
3.21-05
7.81.05
7.4n.05
1.39.05
1,530.03
070HF
( |MST«NT )
.18170
OH
SCO
3.391-0'
3.554-10
1.224-10
-B.777-0*
-1.107-08
-1.997-08
1.99-01
4.48-01
2.«|-00
2.98-0^
9.08-05
1.14-07
7.13-05
1.159-03
Hn?
T307
-------
~TI
•a
c:
-\
tt>
m
i
no
, — .
n
Q
3
no r+
rsj — ••
-si 3
C
(0
n
T f *T
INTERVAL
1.100*03
7.000*01
NT-T R»TES
TMF irtfTion
1 .81-07
7.25-1 |
7. 12-05
1. I7-OA
». 82-04
*. 97-05
1.01-08
I .10-04
'107
o i n
HCHD
C303
3.493-02 3
7.170-15 2
1.758-02 1
3.197-04 3
-7.937-01 -H
-1.205-0* -1
-9.S75-05 -1
7.393-0* 9
9»TE5 *Pr
2,1»-o2
1,*3-0*
5.99-0*
1.17-0*
1.88-0*
7.33-08
«. 01-08
8.33-07
Tier
(LOT )
MOO.
NO
PUOP
HD2
CIO 3
.583-03
,7O|-p3
,715-02
.431-0*
.171-05
.797-05
.177-01
. 129-08
1 .73
1 «09
2«A8
1.17
I'll
1 .98
1 .01
2-19
5
A
1
-7
-1
8
-"2
-01
-ns
-05
-»*
-•>5
-ns
-04
HC pRnpvif.iE
TOTiL FW^CTlOM
.25300 .03702
n 03
HOP X
C2f>l BUT
,457-n« |,9J7-0|
.A'i'i-n* 2.i97-|0
,3|.Qi
-*.a37-n* -*;287-o*
3.?0-rA 7>5-09
4. 11-03 Il9-ni
2.42-PH ;50-OS
4.|7-n^ J3I-O5
*.5»-0^ ;«8-05
2.83-04 ;«8-OS
1.10-Pi ;oj-07
TMF PHOTOLrilf 8»Tf CONST'NTS *«C
1.901-01 3.0*0-02 3.179-07 3. 549-03 1.947-03
. 235-03
l.5|«-03
I .1 37-03
-------
ro
ro
CO
-n
_j.
U3
c
•^f
n
n
i
ro
^^.
n
§
<-»•
3
C
fl>
Q.
T |MF
l»|TCPV»l
TI»F
(LOT
1500.
N02 »IO
Ojp PW1P
MCMO »L07
>
HC PPOPYI THE
TOT»L FftCTION
.18558 .01693
P PJ
• PD X
C203 PUT
•LOFHyDf N0»
FI?«fTlON TOT»L
.1*519 .02125
*'01 N205
ME07 CEO
SC02 C102
NO;
F8«fTlOI
,»I387
HQNO
C202
no
070Nt
4 ( |MST»NTI
.19051
OH Hp7
C20 ClO?
SCO »|_t>1
MO""
C3"
»L 03
C303 C1P3
1 ,50n»03
9.281*00
NET R«TES
THE PF«CT10M
1. 01-P7
8.99-12
6.07-05
1 .60-06
7.11-0*
1.18-05
3.57-08
1.70-06
7.217-OZ 7.
6.069-15 1.
7..78I-03 1.
1.059-06 1.
-I. 912-01 -1.
7.778-12 -1.
-6.350-pl -8.
1 .201-08 1 .
9»TFS »P.E
1 .ig-o?
2.80-04
. 15-06
.60-06
.39-06
.•0-08
.57-0»
.73-07
089-p3
P17-03
|««-02
695-06
929-05
698-05
321-05
561-08
9-
6*
7.
3.
8.
1 *
7.
2>
3
1
I
-2
-2
1
9«;-n3
8| -05
16-05
15-^5
1 l-"7
IP-IS
S5-"6
14-06
,*7p.n9 |.«o6.n|
,5Oo-n6 | ,n07- | o
.6"J-P5 1,5*1-02
. IPl-IO -1 . lH-01
.*3A-08 I.H^-11
.5«6-0* -2.257-Q1
1 .7P-01
7.11-06
1 .01-05
3.15-05
1 .9«-05
6.59-05
*.7*-06
1.01.06
4.9S7-06
1.066-05
7.909-06
-7.539-09
1.5»1-09
2.933-08
1. |0-06
1.35-01
9.K7-06
2,97-05
2.73-05
5. 79-08
2. 75-05
8,73-07
3,903-05
1.735-10
7.909-06
-3,191-07
-1 .000- 1 |
?. 933-00
1>K-01
2.13-05
2.H-O7
2,97-05
1.71-05
2.H-06
i;oi-o5
3.53-06
9.182-Q5
1.523-06
l.323-|0
-7.317-07
1.3*1-08
-1.329-|2
n. 60-01
1.87-06
1.51-08
| .88-OS
I .67-05
I. 67-05
9.00-06
3.8MI-07
7.027-JO
7.111-1 1
-1 ,705-| 1
-2.501-17
•8.710-13
8.59-01
5. ("9-01
2.P1-0«
1,70-05
3.79-05
6.70-08
3.61-05
R. 377-05
1.990-0*
1. H6-Q3
-1 .027-p7
1 ,i08-o8
-5.612-0*
1 ^91-04
5.8l-"3
2.?5-08
3.78-01;
3.81-05
2i|2-f6
1 .70-06
SiHI-03
| .739-|fl
9.6
-------
T IMF
C
n>
i
ro
n
o
3
0)
Q.
I .400*03
7.onp»oi
MFT RATES
TIME
(LOT 1
1*00.
N 0 2 M"
OIP POOP
HCHO »L"2
C301 C10J
1.437-02 1.119-03
1.752-15 1.
5.910-03 9.
1.151-0* 5.
8. 087-05 -fl.
9.71*-0* -5.
7.A2A-05 -3.
7.923-IH 1.
ATES ARF
I,3?-07
1.87-P*
5. 47-04
7.95.07
1.04-0*
3.87-ofl
2.«l-0«
1.03-0*
Hf PROPVIFNF
TOTAL FRICTION
.I*99A ,00»77
0 03
AOO X
rzoi BUT
3.P.05-09 2.000. o|
970-01 7.MR-0* 1.719-n
701-03
797-0*
709-n*
780-0*
123-05
750-09
A« 7i
1.1?
7.33
?••;*
*• 13
7.*?
5.7?
1
-7
-7
-2
-03
-05
-"5
-05
-07
-o*
-04
1 .97.06
,A7o-05 1.
.|9A-07 |.
.278-08 3.
.210-08 -5.
| .17-01
1 .3A-OA
i. 19-OA
7.5A-05
1 .5(1-05
M.AA-PS
1.81-0*
1 .03-0*
712-02
l'1-01
907-09
113-05
*.
7.
3.
2.
1.
5.
1.
8.
AL°FHYOF NOX
FRACTION TOTAL
.11308 .01772
N03 N205
HE"? MEO
SC"7 C102
8.30A-0* 3.155-05
9.909-Q4
9.737-0*
2.513-P7
-1.151-08
2.189-08
MO- 07
• 5-05
90-04
34-05
77-05
1 3-P8
7A-P5
A1-P7
3.0K-IO
9.732-0*
-7.339-07
-A, 774-10
7.138-08
1>*-01
1.98-05
1 ,oo-07
2.3A-05
1 133-05
2.11-04
e.A7-06
3. I 4-04
7
5
7
I
I
I
7
N07
F»«CTIO
,92390
MON0
C202
CIO
A. 781-05
5.300-0*
I.05|-|0
-1.5»3-07
1 .0*9-08
-I.A7»-0*
.A7-01
.54-0*
,8*-08
.11-05
.73-05
.30-05
.29-0*
P70NF
H (|NST*NT
.20001
OH
C70
SCO
3.377-07
1.531-10
5.9H-I 1
1 . 187-1 1
-2.08&-09
-1. 678-Q9
7.AO-01
1.AI-01
I .53-08
I .79-05
7. 11-05
A. 10-0*
2.A7-05
)
Mfi2
C3"7
ALO»
1.851-05
5.911-0*
1. 014-03
-1 .250-07
1.771-08
•1 .AlO-0*
1.73-OA
5.77-P3
1 .7l-o«
2.11-05
2.58-oc;
1 .93-OA
1. 89-OA
HO"H
C3"
AL"I
ill31-o3
I .331-10.
8.517-01
1 il7?-o5
-1 .775-09
-1 .813-0*
i;«?-io
1. 1 i-m
ii?l-o*
7i«8-OA
9^ 7A-OA
1 I5«t.n5
1 I 15-06
7.09-03
•".AO-17
".75-05
7.95-07
5.91-OA
2.99-05
7.SI-PO
1.B9-OA
PwOTOLVTIr PATF CONSTANT? ART
1.379-01 2.A90-02 7,»AO-0? 7.3Oq-Oi I.5AT-O] 1.358-03 1.251.03
0.19A-01
-------
re
m
ro
n
o
isj rt-
co -..
O 3
c
T|HF
INTERVAL
1 ,70P«03
2.000+01
NET R»TFS
TME RF»CTION
1.61-01
1.88-17
2.92-05
1.26-07
3.97-06
1.70-05
1.75-08
1.61-0*
NO?
010
WCMO
C303
1.752-02 8
7.919-15 7
1.616-03 7
3.989-0* 1
-1.895-05 -6
7.61«-07 -2
-I.7Q1-05 -1
-3.935-08 -5
»»TES JRF
I.0l-p2
», 85-07
1.73-06
1.76-07
7.00-07
J.73-0«
1.75-08
». 51-07
TlHF HC
HOT 1 TOTAL
1700. .15888
>>n n
PROP «00
»L07 C201
C103
.AOP-01 2.
.598-01 |.
.701-03 1.
.891-0*
.268-0* -1.
.118-0* -8.
.899-05 -1.
.090-0"
i.i| .03
7.1A-05
1 .93-05
(.75.05
q. 07-07
1.43-06
.1.37-04
1.33-06
301-09
701-0*
38n-o«i
917-0*
2*1-09
213-07
1 .
*.
1.
]•
I •
?.
2»
7.
PROPYI F«|E
FR»CTION
.00190
03
X
BUT
2.057-01
l.*0'-ll
3.953-02
5.911-05
-5.700-09
-3,19*-f)S
U-0« 3.
31-07 1,
*0-0* 1.
75-05 |.
0»-05 t.
JU-05 FHYOF N0»
FRICTION TOT»C
.12599 .01338
N03 N205
HE02 MEO
SC02 C102
1 ,OI*-05
8.53J-06
1.029-05
1.503-0*
-3.195-08
-8,690-0"
75-07
01-05
i«-06
59-05
19-05
52-08
19-O6
71-07
3.231-05
1.650-10
1 .029-05
-1.083-06
7.119-08
-8,690-08
lill-01
1.79-05
3.1«-0«
1159-05
8.75-04
i;«8-04
6.D-06
2.16-06
NP;
F**CTlO
.93572
H0"0
C207
CIO
1.334-05
5.154-0*
7.059-1 1
-3.5lO-o7
-1.2SA-08
7.1*7-0"
7.17-01
5.08-06
1.15-08
9.17-06
8.01-0*
8.37-0*
1.99.06
PZflHF
V (|NST»NT
.205(7
PH
C7"
SCO
2.157-P7
1 .005-10
3. 971-11
*.775-p»
1.696-08
7.1*7-08
7.1 1-01
7.83-01
9.79-09
8.15-0*
1.32-05
5.51-08
1.73-05
3
*
9
-2
-1
-1
1
5
Hn7
C30»
»LOi
.917-05
. 1 15-0*
.735-01
. 038-07
,*83-08
.M3|-n6
.67-06
.71-03
.01-08
.32-05
.62-05
.75-n4
.61-06
HO^M
0"
»L«>*
5io90.ps
8i7«-0-| 1
7.529-01
7,770-0*
?. 5*1. 08
-i ;50o-o*
?; 15-iP
2^1-01
l>t-n*
5:?9-06
5lc l-o*
i;o?-nR
9^57-07
TMF
**TF COMST»NTS »RE
3.705-"! 2.772-02 2.5S6-07 1.38!-O3 1.191-03
3.19t-03
9. 989
6.008-01
-------
-n
^.
(0
c
-^
05
rn
i
rsj
^^
8
\j
3
r+
_j.
3
C
rv) 05
u> O.
TlMF
ILDT I
1800.
TIMF NO? nn
INTfRW'L DIP POOP
HCHO *|_07
C303 C103
1.801*03 1.029-02 5.136-01
1.811*01 1.171-15 !,59?-n1
3.817-03 4.8*5-03
2.421-0* 3.774-0*
NET R»TrS -I.3IJ-05 -1. 185-05
3.021-04 -1.057-04
-9,A|A-CA -8,433-OA
-4.293-08 -7.991-flB
THF RF«fT!nni F M0»
rff*cTov FR*rrrOM TOTAL
.00.111 .11533 .01080
03 WO.l N205
x ^£07 HEO
B(IT SC02 C102
2.
5.
3.
3.
1 .
-1.
— ' 7,80-01 7.19-f>3 2.A4-03 9.40-05
*.70-M i.2|-n7 \.ijn
-05 2«01-C7
1,17-05 7.29-04 1,34-n; 5.
7,41-07 2,41-07 8,9H
7,01-0* 3.71-07 7,t8
7.52-0* Z. 88-08 2.72
8.74-09 8.74-09 1 . 35
9.40-07 5.12-07 4.55
TH€ PHOTOLtTIC »»TF CONSTANTS »8E
7.7|8-0| I.A28-02 2
P*X|MU
-14 ».
-n7 5.
-04 1 •
-04 I .
-07_ 3,
,057-07
v OZONr WOT
21-07
9d-04
37.04
35-05
08-OA
57-07
5.47;
RE*Ct
O71-OI 1.375-05
199. ,7 4,011-04
790-02 8,800-04
712-05 4,359-04
513-08 -5,7«I-C8
795-05 -1.307-07
2.18-07
1 .A«-05
1. »7-07
R. 1 1-06
A.m. 04
1.05-08
3.77-04
2.84-07
>-"1 7.777-01
3
i;*17-l 1
4, 754-01
7.700-04
J. | 1 7-08
.1 ir88-OA
t ;nA-|0
1 ;02-01
5170-07
?>«-"*
7177-p*
1^99-OA
5191-07
-------
I
1
I
1
.71 2.
1
r o o
• 000 000
~n i n o oo
,2^ i oo
C .177* 0
n> ' oo
! 00
m
?
I\J I 00
— > ° '
O Z .117* ft
§ 0
n- N 1 0
-*• r ,
3 l
c. I
OP,
ro — • p . ir>*»
£ M J
t o
*
1 0
I
.071* 0
J 0
I 0
• ' 0
I 00
r o
.035* 0
I 0
I 0
» r>
I 0 0
100000000 0
1
t
*
t
!
*
000 OPQl
0 t
•
I
1
*
!
1
»
I
!
«
t
J
*
1
I
«
I
1
•
I
T
4
J
I
*
1
t
4
t
I
*
!
I
60.0 l?n.o l*n,n ?i0.o 3nn.n atn.o
TI«r (MlNUTESI
-------
CITY-SPECIFIC r*»HPLE
ro
CO
CO
PHOTOLYTIC RATE CONSTANTS C»LCl>L»TEn FOR
TFST RUN CITY
•n
-J.
UD
c
-5
fl>
m
i
ro
o
o
3
r+
—M.
3
C
LATITUDE
LONGITUDF
TI«F 7"NE
PATF.
TIMF
SOL»R NOON
3» '000
77.oon
•s.ti
8 1
ftnn TO
|3l«i
IflOO
LOCAL DAYLIGHT
DILUTION OrTFUMlNf-D FpOM THF FOLLOWING
INVTRSION HEIGHT^ INITIAL 12$. FINAL
TIMING START ooo. STOP
I5°0t
INITIAL PROPYLf^'E FRACTION .250
INITIAL ALOEHVOF FRACTION .050
N02/NOX
• 250
TRAMSPORTEO
ALOFT
OZONC
,lon
HYDROCARBON
.000
«oon PPM
CONTINUOUS EH|«i C^NTFNTRATION EMlTTFO PER N°UB)
MOUo | ? t
F«»»rTlON ,3An ,|*0 .070
-------
»MF FOLLOWING SIMULATIONS wn»r OONF.
ro
co
•-n
<3"
19
i
ro
n
o
3
rt-
.«J*
3
C
fD
Q.
HC
Our TO HJSH BACKGROUND
.18159
.70000
.50807
.31091
.16618
.06667
.60815
.11830
.27932
.15305
.06568
.51679
.38935
.21778
.13782
.06111
.••2111
.33191
.71170
. 1 1869
.06367
.31S86
.28197
.17239
NOX
CONDITION; THF LOWF«;T OZONF
.11000
.0(628
. 10161
.06719
.03330
.0|133
. 11000
.10120
.06130
.03123
.01512
.11000
.10158
.06705
.03737
.01719
.11000
. 10*18
.06966
.03911
.02100
.iinoo
. 1 1135
.04978
"*TIO
PLOTTFO WILL et
1 .3|817
12.9A910
1.00000
5.00000
5.00000
5.00000
1.3O91
1.3M391
1.31391
1.31391
1.31391
3.68782
3.6R7B7
3.64787
1.68782
3.68782
3.03)77
3.03177
3.01172
3.0317?
3.03172
7.17010
2.17010
2.17010
OZONE
•08 PPM.
.0686)
. I 1206
• 11965
.17223
.10000
.08239
.16210
.11216
. 1 1830
•09801
.08258
. )177«
.13751
• I 1308
•H9551
.08267
.12917
.12005
•1058ft
.09180
.06271
.10985
.10627
.097*6
TIMF
567i
303.
NOT "Ax
NOT MAX
131.
106.
NOT MAX
NOT MAX
NOT MAX
115.
109.
NOT "AX
Nf»T MAX
NOT MAX
M57.
113.
NOT MAX
NOT MAX
NOT MAX
177.
121.
NOT MAY
NOT MA»
MOT "«X
-------
.09J«U
.06113
.29330
.25679
.12815
_^ .06107
«g .05767
-5
n> .70000
m
^ •51031
— * .32051
O
O
=» .17221
CT
3 .06877
n>
O. .70000
.51075
CO .37675
cn
.I83H
.07503
.70000
.517??
.31196
.20019
.086''*
.70000
.53219
.37020
.23|i3
. 1097*
.5726*
.13133
.03785
.07171
.linon
. I2?31
.061 17
.03058
.07.753
. 1 1790
.Ofl?31
.05170
.02777
.01 109
,0»5flO
,06760
.01005
.07715
.0092"
.05916
.01191
.02905
.01701
.00738
.03677
.07797
.n|91i
.01 ?I6
.00576
.01 13?
,O| nio
7.17010
2.17010
7,09197
2.09197
2.09197
2.09197
2.09197
6.70013
6.20013
6.7001 3
6.70013
6.20013
8. 15813
8. 15833
8. 15833
0*15833
8. 15833
| 1 .77210
1 1.77210
1 1 .77210
1 1. 7*7210
1 1.77210
(9.03923
|9. 03923
]9, 03923
19.01973
|9. 03923
12.98939
••2. 98910
.08687
.08203
.09581
.09506
.08939
.08117
.08091
. 1699)
.11651
.12J12
.09996
.08201
,1692ft
. 11529
. 12020
.09956
.08211
.1605?
. 13859
. 1 1611
.09801
.08235
. (1288
. (2606
. 10932
.09538
.08257
. 10170
.09677
161.
129,
NOT H»v
NOT "*Y
NOT M*x
HI .
135.
311.
NOT »•»*
372.
113.
101.
310.
321.
350.
399.
106.
286.
305.
336.
396.
MIO.
279.
300.
337.
101.
118.
330.
38*.
-------
n
c
r>
i
ro
o
o
ro
CO
.30211
.17770
.135**
.roono
.00701
.noil 3
.08953
.0»2U
.05911
.00150
177.
5?1.
110.
-------
1
I
. Hf>»
I
1
+
~n
U3* 1
^ .I?CU
n) i
m '
i «
IN> ,
'-^ I
S .ino*
§ 1
2, i
c »
8- w '
a. a i
— x ,oan»
i
p i
p *
M !
r\> .
CO '
~-J .TAI*
1
I
*
1 t
1
, r\M(i»
I
1
*
'
.nzn*
r
(
*
i
l
i
i
flf in* i?» i«4» i<>+ »
* * * * * t
+ * * * * t
* * « » * *
* * * * f
* * * + * r
* * * * * «
» * * * * T
* * * * T
* * * * * *
* + + * * T
* 4 * * » T
* * * *
* * + * » 1
* * * * 1
* * * » * «
'
* * » * * '
* * * * * *
t * * + « '
* * * + * f
* * + * *
* * * * * I
» * * * * * f
* * * * * *
* * * * '
» « * * I
* + * * *
* * * « '
• * * ** + 1
* * * *****
* * ***** f
* * * * * T
» « *+ * *
4 . + + + + 4 F
* + > * 4 *
* +44-+ T
* ++++^++++++*^^
* * t
,fl7 ,|« .71 ,7fl . >? .t? .1? .5* .4.1 .70
THF o/owr LIUF^ »nr .onono .innnn .iznnn «tionn .IAOOO
-------
3C, Ci 42 0.43 0
37 014
I T
•» ->o r* 7c
j t_y o • ij
0-13 0
-63 d.70
1C
FIGURE E-3, CALCOMP Plot For City-Specific Diagram Example
238
-------
il'h jSi rcaJ Ihi
TECHNICAL REPORT DATA
on rlu- rex rsc V;<./t t'l
REPORT NO.
EPA-600/8-78-014a
2.
4. TITLE AND SUBTITLE
USER'S MANUAL FOR KINETICS MODEL AND OZONE
ISOPLETH PLOTTING PACKAGE
7. AUTHOR(S)
Gary Z. Whitten and H. Hogo
8. PERFORMING ORGANIZATION REPORT NO.
RECIPIFNT S ACCESSION-NO.
REPORT DATE
July 1978
PERFORMING ORGANIZATION CODE
9. PERFORMING ORGANIZATION NAME AND ADDRESS
Systems Applications, Incorporated
950 Northgate Drive
San Rafael, California 94903
10. PROGRAM ELEMENT NO.
1AA603 (AC-181 FY 77
11. CONTRACT/GRANT NO
68-02-2428
12. SPONSORING AGENCY NAME AND ADDRESS
Environmental Sciences Research Laboratory-RTP, NC
Office of Research and Development
U.S. Environmental Protection Agency
Research Triangle Park, North Carolina 27711
13. TYPE OF REPORT AND PERIOD COVERED
Interim
14. SPONSORING AGENCY CODE
EPA/600/09
15'P?rep^Er°eEd^TinYcNoCoTpIration with the Monitoring and Data Analysis Division, Office of
Air Quality Planning and Standards, U.S. Environmental Protection Agency
16. ABSTRACT
The Kinetics Model and Ozone Isopleth Plotting Package (OZIPP) is a
computerized model that simulates ozone formation in urban atmospheres.
OZIPP calculates maximum one-hour average ozone concentrations given a
set of input assumptions about initial precursor concentrations, light
intensity, dilution, diurnal and spatial emission patterns, transported
pollutant concentrations, and reactivity of the precursor mix. The re-
sults of multiple simulations are used to produce an ozone isopleth
diagram tailored to particular cities. Such a diagram relates maximum
ozone concentrations to concentrations of non-methane hydrocarbons and
oxides of nitrogen, and can be used in the Empirical Kinetic Modeling
Approach (EKMA) to calculate emission reductions necessary to achieve
air quality standards for photochemical oxidants. This user's manual
describes the technical basis, necessary and optional input data, com-
puter code and the use of OZIPP.
I7
a.
KEY WORDS AND DOCUMENT ANALYSIS
DESCRIPTORS
b.IDENTIFIERS/OPEN fcNDEDTERMS
* Air pollution
* Ozone
* Hydrocarbons
*Chemical kinetics
* Nomographs
*Programming Manuals
* Nitrogen oxides
Meteorology
Atmospheric circulation
* >'athematical models
COSATl I icId/Group
13B
07B
07C
04B
12A
07D
20K
20A
05B
13. DISTRIBUTION STATEMENT
RELEASE TO PUBLIC
19. SECURITY CLASS (ThisReporl)
UNCLASSIFIED
21. NO. OF PAGES
251
22. PRICE
EPA Form 2220-1 (9-73)
239
------- |