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 
-------
   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

-------