United States
Environmental Protection
Agency
G*fice of Air Quahtv
Plannmg ana Standards
Research Triangle Park MC 277' 1
EPA-450/4-85-009
July 1985
Air
EPA
User's Guide for the
Multiple Airshed
(MASH) Model
-------
EPA-450/4-85-009
USER'S GUIDE FOR THE MULTIPLE
AIRSHED (MASH) MODEL
By
Roy A Paul
PEI Associates, Inc.
Durham, North Carolina 27701
Contract No 68-02-3512
EPA Project Officer: Keith Baugues
U.S. Environmental Proie"'i0->
Bogion 5, 7 :?>r?r/ i ,..'"
230 3. Deal-Do,., ^^i, 7; ' , .
Chicago, IL 60604 ' "" ""
U.S. ENVIRONMENTAL PROTECTION AGENCY
Office Of Air And Radiation
Office Of Air Quality Planning And Standards
Research Triangle Park, North Carolina 2771 1
July 1985
-------
This report has been reviewed by the Office Of Air Quality Planning And Standards U S. Environmental
Protection Agency, and approved for publication as received from the contractor Approval does not signify
that the contents necessarily reflect the views and policies of the Agency, neither does mention of trade
names or commercial products constitute endorsement or recommendation for use.
EPA-450/4-85-009
-------
CONTENTS
Figures iv
Tables v
Acknowledgment vi
1. Introduction 1
2. Processing Ozone Data 6
3. Processing Meteorological Data 10
4. Establishing a File of Instructions 15
5. Operating the Main Program 19
6. Formatting the Outputs 23
-------
FIGURES
Number Page
i Flow of data processing for MASH analysis 2
2 A runstream for processing ozone data 7
3 A runstream for calculating daily resultant wind directions . 12
4 Sample records (lines) from the instructions file 16
5 A runstream for printing the instructions file 17
6 A partial runstream for sorting the instructions file .... 18
7 A runstream for executing the main MASH program 20
8 A runstream for combining outputs into a formatted table. . . 24
-------
TABLES
Number Page
1 Hourly Meteorological Data Received in 1984 From National
Climatic Center 11
-------
ACKNOWLEDGMENT
The Multiple Airshed (MASH) model was based on concepts originating
within the Monitoring Data and Analysis Division (MDAD), and was initiated
under the auspices of the Strategies and Air Standards Division (SASD).
Both Divisions are within the Office of Air Quality Planning and Standards
(OAQPS) of the U.S. Environmental Protection Agency (EPA). Special recog-
nition is given to Dr. Edwin L. Meyer and Mr. Gerald P. Gipson of MDAD who
specified methods to distinguish different airsheds and who provided detailed
technical guidelines on allocating hourly ozone values at specific monitoring
sites.
Mr. Thomas R. McCurdy of SASD originated this project as a part of the
analysis of risks associated with alternative National Ambient Air Quality
Standards (NAAQS) for ozone. Dr. David J. McKee (SASD) supervised the first
phase of the project. Mr. Keith A. Baugues (MDAD) supervised the second
phase and provided technical direction. Mr. Warren P. Freas (MDAD) recom-
mended a system for combining data sets, which was incorporated into the
model.
The successful completion of this work is largely due to the excellent
administrative and technical guidance received by the author from the above
named people.
-------
SECTION 1
INTRODUCTION
The ozone (03) problem in the United States is sometimes characterized
by long-range transport of 03 and/or its precursors. In such situations,
observed high concentrations of 03 are not necessarily attributable to
nearby, obvious potential sources (i.e., cities). The most desirable way
to determine cause/effect relationships is to perform a detailed case-by-
case analysis. This is the procedure recommended and followed in 03 modeling
analyses performed as part of the State Implementation Planning (SIP)
process. However, in regulatory impact analyses (RIA), it is often necessary
to consider the impact of proposed regulations in or near dozens of cities.
Under such circumstances detailed case-by-case analyses are not feasible.
This document describes an automated procedure, the Multiple Airshed (MASH)
model, in which wind data and time of occurrence of high 03 values are used
to identify the city (or SMSA) whose emissions are most likely associated
with each observed high concentration of 03. When an observed 03 concentration
is assigned to an SMSA, it is assumed that the particular monitoring site
is located within an airshed whose source area consists of the city or SMSA
to which the 03 value has been assigned.
Multiple airshed (MASH) model calculates design values for each of a
series of ozone monitoring sites in the U.S. Each monitor is assigned to
various airsheds, depending on time of day and the resultant wind direction
for each day. Using a list of high values for each airshed, one design value
is selected for each airshed and monitor combination. The design value
associated with a particular SMSA can be selected from the resulting list
of site-specific design values which the program generates for each airshed.
Input data for MASH are 1) hourly ozone values from monitors, 2) daily
-------
Component
Data
sources
Utilities
Intermediate
files
Special
programs
Ozone
data
Meteorological
data
Instructions
data
MASH
files
Main
program
Output
files
Formatting
program
Combined
output
file
Figure 1. Flow of data processing for MASH analysis.
-------
resultant wind directions at selected meteorological stations, and 3) a
coded set of instructions telling how to allocate hourly ozone values to
various airsheds based on wind direction.
Air quality data are obtained from the Storage and Retrieval of
Aerometric Data (SAROAD) data base maintained on UNIVAC by the National Air
Data Branch (NADB) within Monitoring Data and Analysis Division (MDAD). A
utility program developed by NADB called NA205 is used to select hourly
ozone data from selected monitors over a selected 3-year period (Figure 1).
These hourly data are placed in a mass storage file. Program 03-VALID,
developed by PEI Associates, Inc. (PEI) reads this file and applies certain
validity criteria specified by MDAD. The screened and validated data are
placed into a second mass storage file in a format suitable for MASH.
Limits on the number of monitors that can be specified for NA205 and practical
limits on the size of mass storage files require that a series of validation
runs and MASH runs be executed to process all ozone monitoring sites in the
U.S. Further information on air quality processing may be found in Section 2.
Meteorological data are obtained from a historical data tape produced
by the National Climatic Center (NCC) in Asheville, North Carolina (Figure
1). A standard utility program developed by the U.S. Environmental Protection
Agency (EPA) National Computer Center (NCC) called COPIE may be used to
select 3 years of data from each station during a 3-year period (the same
time period used for air quality data). Each 3-year set of meteorological
data is placed into a separate mass storage file. Program WIND-DIRECT,
developed by PEI, is used to read each of these files and calculate a
resultant wind direction for each day of the year. A resultant wind
direction is the weighted average of each hourly wind vector (wind
direction and speed) over the 9-hour time period 8:00 a.m. to 4:00 p.m. If
the meteorological stations only takes measurements every 3 hours, then
these observations occurring within the same 8-hour period are used. The
UNIVAC Editor is used to combine output files from several runs of WIND-
DIRECT into one wind direction file for use in MASH. Further information
on meteorological data may be found in Section 3.
-------
The instructions file used in MASH is created by the UNIVAC Editor
using information from various documents, guidelines, and analyses produced
by MDAD (Figure 1). The file containing current instructions for all
qualified ozone monitors in the U.S. is MDAD*INSTRUCT-USA. More information
on the instructions file may be found in Section 4.
The main MASH program processes air quality data by (a) determining
which airshed is associated with each hourly value, (b) saving the highest
value associated with each airshed during each day, and (c) determining
whether each saved value is one of the four highest values for the airshed
(Figure 1). The particular value selected as the design value for the
monitor-airshed combination depends upon whether the monitor is located in
the source area of the airshed (locally generated ozone) or in an impact area
of the airshed (transported ozone). If the ozone is locally generated, then
the design value is the N + 1 highest observation, where n is the number of
valid site-years of data according to Guidelines for the Interpretation of
Ozone Air Quality Standards, EPA-430/4-79-003. If an observed ozone concen-
tration is attributable to transport of emissions from a distant source
area, it is assumed that it is that source area's responsibility to reduce
the observed concentration to the level of the NAAQS. This assumption
holds, even if the observed concentration is the highest concentration re-
corded at the particular site. Ordinarily such a procedure has little
effect on the design value associated with the distant source area. This
follows, because usually the higest 03 concentrations (recorded anywhere)
which are associated with a source area occur in relatively close proximity
to the source area. As such, they are regarded as locally generated, and
the "N + 1" rule described above governs selection of a design value.
However, occasionally, the highest 03 concentration attributed to a source
area at a remote site may exceed the N + 1 highest concentration at a local
site attributed to the same area. Under these circumstances, the highest
63 concentration at the remote site which is attributable to the source
area is assumed to be the design value.
Design values for monitor-airshed combinations are placed into an output
file. Outputs from a series of MASH runs may be combined into one file
-------
using the Editor, sorted using the utility @SORT, and placed into an easy-to-
read table using program MASH/HEADINGS. Further information is found in
Section 6.
For the convenience of users, all program source codes pertaining to
MASH have been placed in program file MDAD*PROG. This file has a write-key
to protect the programs from unauthorized changes. Runstreams to implement
MASH programs are located in file MDAD*RUN, and elements of this file are
described in the following section. These descriptions assume a working
knowledge of the UNIVAC computer, executive control language (ECL), and
the principal utilities available at the NCC.
-------
SECTION 2
PROCESSING OZONE DATA
Processing of ozone data begins by retrieving selected data from the
SAROAD data base and then reviewing these data for validity. Retrieval of
hourly data is carried out by program NA205 and validity checks are performed
by program 03-VALID. Both programs may be executed by a single runstream,
exemplified by element NA205-VALID/TEST1 of file MDAD*RUN, shown in Figure
2. This runstream is annotated by comments that follow the symbol )4.j6 on
most lines of the runstream. Explanation of this runstream follows:
Line 1: The run card, identified by @RUN, should contain an appropriate
run-Id and account number authorized for the user. In the example, bin
number 06, user initials RP, and run series 1A are shown on the run ID.
Run series 1A matches the last two characters on the alternate print
file $03$RP1A and the output file TEST1A used in this run. Note that
run series IB (a different runstream) will execute a MASH analysis that
uses the ozone data file TEST1A produced by this" run. Run elements
following the account number should be specified as shown in the
example.
Lines 2-7: An alternate print file, $03$RP1A, is established which can
be maintained in the computer after the run is completed. Additional
copies may be obtained by submitting the command shown on line 7 at a
demand terminal, substituting the number of copies desired for 'I1 and
substituting PR for RM95PR if better quality printing is desired.
Lines 9-15: A temporary file called "cards" is established which contains
data selection specifications for program NA205. Letter 's' on line 10
indicates the type of output desired, in this case a standard data file
(SDF) on mass storage. Lines 11 through 14 are SAROAD select cards
wherein specific fields (columns) give different specifications. These
cards MUST be in ascending order by SAROAD code so that subsequent files
will be in proper order. Columns 1 through 12 indicate the SAROAD code
for a monitoring site. Columns 13 through 17 indicate the pollutant code
(44201 = ozone). Columns 18 and 19 indicate the method code (** = all
methods). Column 20 indicates the interval code (1=1 hour averages).
Columns 21 through 32 indicate the beginning and ending dates of a 3-
year period from which data is to be selected. In the example, data from
the period January 1, 1981 through December 31, 1983, are to be selected.
Columns 33 through 43 are used only if particular AQCR's, counties, or
States are to be selected. The user is advised to select certain
-------
1:®RUN,R/R 06RP1A,ACCOUNT.MDAD/SA3DP,9,200
2:aSYM.D PRINT*. . DELETE FIRST PRINT FILE.
3:(SCAT,P *03*RPlA(i-l). . NEW CYCLE OF ALT. PRINT FILE.
4:aCOND , . PROCESS IN ORDER.
5:aBRKPT PRINT*/*O34RP1A . USE ALTERNATE PRINT FILE.
£:aTIME . RECORD RUN DATE Sc TIME.
7:aSYM,U *03*RP1A.,1,RM95PR . 1 PRINTOUT TO MUTUAL BLDG.
3:a . THE FOLLOWING CARDS SELECT SAMPLE DATA FROM CALIFORNIA:
9s«ELT,IL CARDS . TEMPORARY DATA FILE
10:3
11i0524&OOO210144201**1310101331231***********
12'. 055320OO310144201 ** 1310101331231 ***********
13!056320O06101442O1**13101O1331231***********
14!057690001101442O1**1310101331231***********
13:a£OF
17:aCOND
13: SCAT, P
19:aCOND
20:aASG,A
21!<3A30,A
25s 8FREE
2&s8ADD,PL
29J8FREE
30SSMAP.N
31SIN
32SLIB
33!END
34:aASG,A
3£:SDELETE,C
37:aCOND
33:SCAT,P
39!3COND
4l:£U3E
42S-4XQT
43:SBRKPT
SDF-FILE.
SDF-FILE..F///999
•
SDF-FILE.
NADB*NADB-ND-INDX.
NADB*NADB-ND-BULK.
NADB*NADB-RUN/SDS.
NADB*NADB-RUN.NAR205 .
NADB*NADB-RUN.
NAR205
PROG.
PROG.03-VALID,03-VALID
PROG.
,TPF*.03-VALID
TPF*.03-VALID
LIB*PL1.
SDF-FILE.
VAL ID03, SDF-FILE.
TE3T1A.
TEST1A..F///999
TEST1A.
VALIDOS,TEST1A.
03-VALID
PRINT*
REUSABLE OUTPUT FILE.
PROCESS IN ORDER.
LARGE FILE SOMETIMES NEEDED.
PROCESS IN ORDER.
OUTPUT FILE FOR NA205
SAROAD INDEX FILE - 1930+
3AROAD DATA FILE — 1980+
FILE OF NADS RUNSTREAMS.
COPY ONE RUNSTREAM.
FREE FILE FOR OTHER USERS.
START NA205 RUNSTREAM.
FILE FOR MASH SOURCE CODES.
. COMPILE PROGRAM.
FREE FILE FOR OTHER USERS.
CREATE AN ABSOLUTE IN TPF*.
COMPILED RELATIVE ELEMENT.
PL1 LIBRARY SUBROUTINES.
END OF MAPPING INSTRUCTIONS.
OZONE DATA FROM PROGRAM NA205.
INTERNAL NAME USED IN 03-VALID.
CLEAR OUTPUT FILE NAME.
PROCESS IN ORDER.
LARGE FILE NEEDED SOMETIMES.
PROCESS IN ORDER.
OUTPUT FOR PROGRAM 03-VALID.
INTERNAL NAME USED IN PROGRAM.
EXECUTE PROGRAM 03-VALID.
END ALTERNATE FILE PRINTING.
END OF ALL PROCESSING.
Figure 2. A runstream for processing ozone data,
-------
monitoring sites rather than certain areas because airshed allocation
instructions are only available for urban or downwind sites. Limit the
number of selection cards to 50 or less. Since hundreds of ozone moni-
tors have been established, a series of runs are required to process all
ozone data in the U.S.
Lines 16-20: An output data file for NA205. The file name is deleted
in case it was used by a previous run, then recatalogued. If the current
run bombs, the output file may still be examined.
Lines 21-22: The SAROAD files containing recent air quality data are
assigned. Historical data (prior to 1980) may be obtained from an
analagous set of files (NADB*NADB-HD-INDX and NADB*NADB-HD-BULK). If
needed, two lines should be added to assign these two files to the run.
Lines 23-26: A runstream is copied from an NADB file and is dynamically
started (including execution of program NA205).
Lines 27-29: The source code for program 03-VALID is compiled into
assembly code and a relative element is created in TPF$.
Lines 30-33: The assembly code routines, including PL1 library routines,
are mapped so they can be executed. The resulting absolute element is
placed into temporary file TPF$. 03-VALID is a program that is executed
infrequently; therefore, computer storage costs can be reduced by saving
only the source code element between executions.
Lines 34-35: The ozone file from NA205 is reassigned and given an
alternate name used in program 03-VALID.
Lines 36-41: An output file is established for program 03-VALID and
an equivalent internal name is provided.
Line 42: Program 03-VALID is executed using files named in this run-
stream.
Line 43: End of printing to alternate print file.
Line 44: End of run.
Use of the Runstream:
1. Use the UNIVAC editor to copy this runstream to a new element of
the file, e.g., MDAD*RUN.NA205-VALID/GIPSON3A.
2. In this new runstream, change the run card to show the desired bin
number, user initials, and run series.
3. Change the name of the alternate print file, $03$RP1A, to reflect
the correct user initials and run series (e.g., $03$JG3A).
-------
4. Change the name of the valid hourly ozone file, TEST1A, to reflect
the run series (e.g, OZONE-3A).
5. Change the SAROAD select cards to reflect the monitors and years of
data desired. A limit of 50 cards is recommended for a single run.
6. Free file MDAD*RUN and start the runstream (e.g., @START
MDAD*RUN.NA205-VALID/GIPSON3A).
-------
SECTION 3
PROCESSING METEOROLOGICAL DATA
Processing meteorological (met) data involves mounting tapes on UNIVAC,
copying data from tapes to mass storage files, and calculating daily wind
directions. Table 1 lists cities and dates for which meteorological data
were obtained from the National Climatological Center in 1984. When the tapes
were delivered to EPA's National Computer Center at Research Triangle Park,
a foreign tape number was assigned to each one (e.g., B10107).
The second stage is to read data from tape to mass storage by means of
the COPIE processor. The following statements show how the data may be read
in demand mode:
@ASG,TO TAPE1..36N,810107,0
@ASG,UP MET-LA.,F///1800
@US*ER.COPIE,S CONVER/ANSIF/SDFSEQ.,TAPE1/80/10.192836/131472,MET-LA.
In the first statement, a met tape is assigned to the run, stating as
equivalent tape name (TAPE1), a tape reading device.(36N), and the foreign
tape name (B10107). In the second statement, a new mass storage file is
assigned with maximum space of 1800 tracks. In the third statement, the
COPIE processor is used to copy selected data from tape to mass storage. Three
directions separated by commas specify the type of operation, the input format,
and the output format. The type of operation specified is a conversion (CONVER)
from a tape in fixed block format of the American National Standards Institute
(ANSIF) to a sequential standard data file (SDFSEQ). The input format for
TAPE1 is 80 characters per record with a blocking factor of 10. The number
of records to be read is 131,472 starting at record 192,836. The output file
is SDF file MET-LA.
The next step in processing meteorological data is to use the met data
established on mass storage files to calculate daily resultant wind directions.
A special program, WIND-DIRECT, was written to perform these calculations.
Figure 3 shows a runstream, located in MDAD*RUN.WIND-DIRECT/SAMPLE, that
builds a single file of resultant wind directions from a series of run
10
-------
TABLE 1. HOURLY METEOROLOGICAL DATA RECEIVED IN 1984 FROM NATIONAL
CLIMATIC CENTER
Tape
number
1
2
3
4
5
6
7
8
9
10
11
12
. 13
14
15
16
17
18
19
20
Station
number
14739
94746
14765
14764
14740
14745
93730
14734
13739
14737
14751
13781
93814
93815
94846
94822
14839
14837
23174
23188
City
Boston, MA
Worcester, MA
Providence, RI
Portland, ME
Hartford, CT
Concord, NH
Atlantic City, NJ
Newark, NJ
Philadelphia, PA
Allentown, PA
Harrisburg, PA
Wilmington, DE
Cincinnati, OH
Dayton, OH
Chicago, IL
Rockford, IL
Milwaukee, WI
Madison, WI
Los Angeles, CA
San Diego, CA
Begin
date
1/1/45
1/1/49
1/1/48
1/1/48
1/1/49
1/1/48
6/1/58
1/1/48
1/1/41
1/1/48
1/1/48
1/1/48
1/1/48
1/1/48
11/1/58
1/1/51
1/1/48
1/1/48
1/1/47
1/1/48
End
date
12/31/83
12/31/83
12/31/83
12/31/83
12/31/83
12/31/83
12/31/83
12/31/83
12/31/83
12/31/83
12/31/83
12/31/83
12/31/83
12/31/83
12/31/83
12/31/83
12/31/83
12/31/83
12/31/83
12/31/83
11
-------
l!SRUN,D/R
06RPOO/75, ACCOUNT, MDAD/'3ASDD, 60, 500
'3: SCAT, P
4:.
PRINT*/*03*RPOO
4034RPOO.,1.RM93PR
PROG.
PROG.WIND-DIRECT,WIND-DIRECT
,TPF*.WIND-DIRECT
TPF*.WIND-DIRECT
LIB*PL1.
RUN.MET-FILE3
DELETE FIRST PRINT FILE.
NEW CYCLE OF ALT. PRINT FILE.
PROCESS IN ORDER.
USE ALTERNATE PRINT FILE.
RECORD RUN DATE b TIME.
1 PRINTOUT TO MUTUAL BLDG.
FILE OF SOURCE CODES.
COMPILE INTO TPF*.
. CREATE ABSOLUTE IN TPF*.
. RELOCATABLE IS IN TPFs.
. LIBRARY OF PL1 ROUTINES.
. END MAPPING INSTRUCTIONS.
. STATS ON ALL MET FILES.
13:a . REPEAT THE FOLLOWING SECTION FOR EACH MET STATION:
17:@USE
13:aDELETE,C
19:SCOND
20: SCAT, P
21:<5COND
22:aASG,A
23:aiJSE
24:2XQT
25: YEARS- 1981,
26: ALLENTOWN
27:a£D,U
23s ADD
29: EX IT
30: i2 . REPEAT
31 s eftSC, A
32s«USE
33:<5D£L£TE,C
34:<»COND
33s SCAT, P
36:aCOND
37:@ASG, A
40: YEARS= 19:31
41: SAN DIEGO
42:<*ED,U
43: ADD
44:EXIT
45:<2BRKPT
43SLNP1
4'?:aFIN
HOURLY MET DATA FILE.
. NAME USED BY WIND-DIRECT.
CLEAR THIS FILE NAME.
PROCESS IN ORDER.
RECREATE SAME FILE NAME.
PROCESS IN ORDER.
ASSIGN MORE FILE SPACE.
NAME USED BY WIND-DIRECT.
. EXECUTE PROGRAM.
N_3TATION3=01 . INPUT DATA
. INPUT DATA
. FILE ALREADY CATALOGUED.
. ADD OUTPUTS FROM THIS RUN.
. END OF EDITING.
THE FOLLOWING SECTION FOR EACH MET STATION:
STDS*MET-SANDI. . HOURLY MET DATA FIL£.
METDATA,3TDS»MET-SANDI . NAME USED BY WIND-DIRECT.
CLEAR THIS FILE NAME.
PROCESS IN ORDER.
RECREATE SAME FILE NAME.
PROCESS IN ORDER.
ASSIGN MORE FILE SPACE.
NAME USED BY WIND-DIRECT.
. EXECUTE PROGRAM.
N_STATIONS=01 . INPUT DATA
. INPUT DATA
. FILE ALREADY CATALOGUED.
. ADD OUTPUTS FROM THIS RUN.
. END OF EDITING.
. END PRINTING TO ALT. FILE.
. NEXT FILE PRINTED AT RTP.
. REVIEW OUTPUTS CREATED.
. PRINT ALL LINES.
. END OF RUN.
STDS*MET-ALLEN.
METDATA,STDS*MET-ALLEN
WINDS-ALLEN.
WINDS-ALLEN.
WINDS-ALLEN. , F///99-? .
RESULTS,WINDS-ALLEN
WIND-DIRECT
1932,19133
14737
WINDS-NE2.
WINDS-ALLEN.
WINDS-SAND I.
WINDS-SAND I.
WINDS-SAND I. ,
RESULTS , W I NDS-SAND I
WIND-DIRECT
1932, 19S3
14737
WINDS-NE2.
WINDS-SAND I.
PRINT*
PRINT*, l.PR
WINDS-NE2.
Figure 3. A runstream for calculating daily resultant
wind directions.
-------
executions. Each run execution uses one data file from one met station.
Explanation of the runstream follows:
Line 1: The @RUN card is similar to the cards used previously, with
bin number and user's initials shown in the run-ID.
Lines 2-7: Establishes an alternate print file and causes one copy to
be printed at the Mutual building.
Lines 8-13: Compiles and maps the program (WIND-DIRECT) into an element
of the temporary file for the run (TPF$).
Line 14: Prints statistics (e.g., file size, data created, and disc
usage) for each meteorological data file created in 1984.
Lines 15-29: Executes program WIND-DIRECT for a sample meteorological
station, Allentown, Pennsylvania. First the met file for Allentown is
assigned to the run and given an internal name used by the program.
Then an output file is established and given an internal name. The
program is executed using these files and the input data following the
@XQT statement. Years of data to use in calculations are indicated by
three 2-digit numbers in line 25, columns 9-10, 14-15, and 19-20. Number
of met stations (columns 40-41) should always be '!'. Other characters
in the line are to help the user, but are not read by the program. The
next line shows the name of the city (columns 1-12) and the ZIP code
(columns 20-24) in which the met station is located (Table 1). After
the execution, an already catalogued data file is edited by adding to
it the data file from this run.
Lines 30-44. Executes program WIND-DIRECT for a second sample meteo-
rological station, San Diego, California.
Lines 45-49. Ends the alternate print file, then lists the contents of
the combined output file in a standard print file. This standard file
is printed at a high quality printer, then the run is ended.
To Use the Runstream:
1. Catalogue a file to receive all daily resultant wind directions over
a 3-year period. Use of a removable disk pack should ensure that
it is retained on the system rather than being automatically re-
moved after 60 days (e.g, @CAT,P RESULTS-USA.,F33,NCC075).
2. Copy the runstream to a new file element (e.g., WIND-DIRECT/1985).
3. Use the editor to change the run card to reflect the desired bin
number and user's initials. Change the name of the alternate print
file to reflect user's initials.
4. Delete this line or create an analagous file element (other than
MET-FILES) that shows actual input files to be used.
13
-------
5. Change the name of input and output files in lines 15-29 to indi-
cate the correct met stations. Indicate the correct 3-year period
following @XQT, maintaining column alignment. Indicate the correct
station name and ZIP code, maintaining column alignment.
6. Use the correct combined data file name in lines 27 and 47.
7. Delete lines 30-44, then ditto lines 15-29 one or more times. In
jeach ditto'd section, name a different met file to use in each
execution. Note that the present version of MASH is limited to 20
met stations.
8. Exit and free the file. Start the runstream (e.g., @START MDAD*RUN.
WIND-DIRECT/1985).
14
-------
SECTION 4
ESTABLISHING A FILE OF INSTRUCTIONS
The i-nstructions file is used by the MASH program to allocate hourly
ozone values to airsheds. This file consists of a series of records whereby
each record shows a range of times of day and a range of resultant wind
directions that associate a particular monitor with a particular airshed.
The format of the instructions file, MDAD*INSTRUCT-USA, is shown in Figure 4.
The first item on each record is the SAROAD code for the monitor
(columns 1 to 12). The second datum is the area name (county or city) in
which the monitor is located. This is the name corresponding to the SAROAD
4.-digit area code within the 12-digit monitor code. Columns 29-32 show the
Federal Information Processing Standards (FIPS) code'for the Standard Metro-
politan Statistical AREA (SMSA) in which the monitor is located.
The next two items are the names of two meteorological stations (trun-
cated to eight characters) from which wind data are to be used for this moni-
tor. If data from only one station is to be used, then the second name is
filled with asterisks. If no wind data are to be used, then both station names
are filled with asterisks and all hourly ozone values will be allocated to one
local airshed named on this record. Only one instruction (record) should
exist for a monitor if no wind data are used.
Instructions for each monitor are given in two 2-digit integers and
two 3-digit integers. The first pair of integers (columns 52-53 and 55-56)
indicate the range of hours of the day (0 to 24). The second pair of integers
(columns 58-60 and 62-64) indicate the resultant wind direction for the day
in compass degrees (0 to 360). Note that the first integer must always be
less than the second integer in order for the instructions to be processed
properly. For example, a wind direction range from 270° to 10° should be
represented by two different records with ranges 270° to 360° and 0° to 10°.
In cases where allocation instructions do not cover all possible conditions,
values not covered will be automatically allocated to a dummy airshed called
"discard."
15
-------
CODED INSTRUCTIONS FOR MONITORING SITES
Paae 25
Monitor
221210001F01
2212200O3F01
221 39200 1A05
221520003F01
221 79200 1F01
221300005F01
22130O007F01
221330002F01
222100003F01
2221 600 14F01
2221 '-'600 1F01
22225200 1F01
22236000 1F01
222330005F01
2226400 12F01
22 26400 15F01
Monitor
Ci tv
MEDFIELD
MEDFORO
MONTAGUE
NEWBURyPORT
PEPPERELL
PITTS-FIELD
PITTS-FIELD
QUIIMCY
SOMERVILLE
SPRINGFIELD
SUDBURY
TEWH SBURY
WARE
WATERTOWN
WORCESTER
WORCESTER
Monitor MET Station
SMSA 1 2
1120
11 2O
9099
9999
99^9
6320
6320
1120
1120
30OO
1120
4560
.3900
1120
"'240
•"'24O
HARTFORD
****»**<,
HARTFORD
****•»•»**
*#•******
***•»»•»••»*
**#*•*#**
BOSTON
BOSTON
HARTFORD
BOSTON
BOSTON
HARTFORD
BOSTON
WORCESTE
WORCESTE
— -
**•»•»*•»#*
********
******#•»
*********
*•»*#*•*•»*•
********
PROVIDEN
PROVIDEN
********
PROVIDEN
PROVIDEN
********
PROVIDEN
**•»•»-»*»*•
........
Wind Airshed
Hours Direct SMSA
11-15
16-24
0-24
0-24
11-15
0-24
0-24
0-24
0-24
13-24
0-24
13-24
0-24
14-13
13-24
11-15
11-15
13-24
0-24
13-2-1
0-24
16-24
11-15
13-24
0-24
0-24
16-24
11-15
16-24
0-24
11-15
130-230
130-270
0- 360
0-360
160-200
0- 360
0-360
0- 360
0-360
130-250
0-360
130-250
0-360
130-270
130-270
150-210
1 30-230
130-250
0- 360
130-250
0-360
130-250
230-260
130-250
0—360
30— 130
130-250
0- 360
130-250
30-130
0—360
TRANS
TRANS
LOCAL
LOCAL
LOCAL
TRANS
LOCAL
LOCAL
LOCAL
TRANS
LOCAL
TRANS
LOCAL
TRANS
TRANS
LOCAL
TRANS
TRANS
LOCAL
TRAMS
LOCAL
TRANS
LOCAL
TRANS
LOCAL
TRANS
TRANS
LOCAL
TRANS
TRANS
LOCAL
6430
5600
1120
1120
3000
1120
1120
6320
6320
5600
1120
5600
1120
C OWN
5600
3000
6430
5600
1120
5600
1120
5600
3000
5600
1120
1 1 20
5600
•"'240
5600
1120
•5240
Figure 4. Sample records (lines) from the instructions file.
16
-------
Columns 66-70 indicate whether the airshed allocation in this record was
based on ozone precursers transported from a distant SMSA (TRANS) or was
generated within the local SMSA (LOCAL). Columns 72-75 indicate the FIPS
code of the SMSA of the airshed.
The instructions file may be modified by changing one of the records,
removing records, or adding new records. The user may need to review the con-
tents of the file in a easy-to-read table with appropriate headings. Such a
table may be generated by using the runstream MDAD*RUN.PRINT/INSTRUCT shown
in Figure 5. Change the run - ID to reflect the correct bin number and user
-ID, then submit an @START command at the terminal.
l:SRUN,R/R
3: SCAT, P
4 ; @COND
6:STIME
7: . . NEW CYCLE OF ALT. PRINT FILE.
. PROCESS IN ORDER.
PRINT*/*03SRP . USE ALTERNATE PRINT FILE.
. RECORD RUN DATE & TIME.
*03*RP. , 1, RM9'3FR . 1 PRINTOUT TO MUTUAL BLDO.
PROi3. . PROGRAM SOURCE CODE FILE.
PROO.PRINT/INSTRUCT,PRINT/INSTRUCT . COMPILE PROGRAM.
PROG.
,TPF*.PRINT/INSTRUCT
TPF*.PRI NT/INSTRUCT
LIB*PL1.
INSTRUCT-USA.
INSTRUCT,INSTRUCT-USA.
PRINT/INSTRUCT
PRINT*
FREE FILE FOR OTHER USERS.
CREATE ABSOLUTE IN TPf*.
RELATIVE LOCATED IN TPFS.
PL1 SUBROUTINE LIBRARY.
END MAPPING INSTRUCTIONS.
FILE TO BE PRINTED.
. NAME USED IN PRINT/INSTRUCT.
EXECUTE PRINTING PROGRAM.
END PRINTING TO ALT. PRINT FILE.
END OF RUN.
Figure 5. A runstream for printing the instuctions file,
17
-------
Proper processing by MASH requires that records within the instructions
file be in the proper order. MASH searches for an instruction with a monitor
code matching a monitor in the ozone file. If the program finds a monitor
code higher than the ozone file monitor, the search is stopped and a message
is printed stating that no instruction was found for this monitor. This
technique works only if records within the instruction file are sorted in
ascending order of SAROAD code.
Within each SAROAD code, records should be sorted in descending order of
transport value (TRANS, then LOCAL). Instructions allocating all transported
ozone are read and used before any instructions for the local airshed. Once
a value is allocated, no other instructions are used because only one air-
shed is allocated each hour. This protocol saves space in the file because
fewer local records are required. For example, if wind directions 60° to 180°
represent transported 03 and all other directions are local, then only one
local record is required for directions 0 to 360 rather than 0 to 59 and
181 to 360. Any wind direction 60° to 180° will cause the first instruction
to be activated and the second one ignored. Any wind direction outside this
range will cause the first instruction to be bypassed and the second instruc-
tion utilized.
The instructions file may be sorted in proper order by using the partial
runstream MDAD*RUN.SORT/INSTRUCT, as shown in Figure 6. No change in the run-
stream is required; simply submit @ADD,PL MDAD*RUN.SORT/INSTRUCT in demand
mode.
2:i2DELETE,C
3:<2COND
4:<»CAT,P
6:fiASG. A
7:@USE
3:3USE
INSTRUCT-USA.
*O2*OUT.
*02*OUT.
*O2*QUT.
INPUT.,INSTRUCT-USA.
OUTPUT.,*O2*QUT.
K>:FILEIN= INPUT
1 1 = FILEOUT=OUTFUT
12:MODE=SDF
1 4: DAT A= ASCI I
15:KEY=1, 1.2,Si
16:RECORD=2
17:i2EOF
COL 1-12
FILE TO BE SORTED.
CLEAR OUTPUT FILE NAME.
PROCESS IN ORDER.
NEW OUTPUT FILE.
PROCESS IN ORDER.
TO BE USED BY SSORT.
INTERNAL NAME FOR ©SORT.
INTERNAL NAME FOR (2SORT.
CALL PROCESSOR.
ANOTHER INTERNAL NAME.
ANOTHER INTERNAL NAME.
INPUT IS STANDARD FILE.
RECORD SIZE = 132 CHAR.
INPUT FILE CODING.
S=ALPHANUMERIC» A-ASCENDINO.
2000 RECORDS < OR LESS >.
END SORT INSTRUCTIONS.
Figure 6. A partial runstream for sorting the instructions file.
18
-------
SECTION 5
OPERATING THE MAIN PROGRAM
Operation of the main program of MASH requires the assignment of four
input data files and two output files.
Input files for MASH include a file of resultant daily wind directions
from selected meteorological stations and a file of instructions on how to
allocate hourly ozone values to various airsheds based on wind directions.
Note that the meteorological stations named in the instructions file must
match the stations in the wind directions file. As of this date, file
MDAD*WINDS-USA contains wind data for 20 meteorological stations across the
U.S. for all days from 1981 through 1983. These stations match the stations
named in file MDAD*INSTRUCT-USA. Other input files include a small, temporary
file of run options and a file of valid hourly ozone data from program 03-VALID.
Outputs are 1) a file of design values for each airshed monitor combina-
tion, and 2) a file of nonzero hourly values that were not allocated to any
airshed (discards). The design value file is called a "raw" value file with
one line of data for each design value. These outputs are to be combined
with other files and sorted before being placed in a formal table (Section
6). The "discard" file lists hourly values from a monitor not assigned to a
specific airshed. These discard values may be useful in expanding the in-
structions for future runs.
Operation of the main program is exemplified in element MASH/TEST1 of
file MDAD*RUN as shown in Figure 7. Functions of this runstream are described
in the comments on each line and in the following:
Line 1; The @RUN card indicates a routine batch run that can operate
during normal operating times of the NCC. The run identification, 06RP1B,
indicates bin number 6, user initials RP, and run series IB. Note that
run series IB is intended to use the ozone date file TEST1 from 03-VALID
created by runs series 1A (Section 2). The main program requires about
65,000 words in core, indicated by 65 on the run card. An appropriate
account number may be inserted. Other elements of the run card must
remain as shown, except that more than 9 minutes could be required for
a very large ozone file.
19
-------
1:<2RUN,R/R
2:<»3YM,D
3: SCAT, P
4:QCOND
•5: SBRKPT
06RPIB/65, ACCOUNT,MDAD/3ASDP,9,200
7:aSYM,U
3:SA3G,A
9:eCOPY,A
10:aFREE
13:<2ASi3,A
14:aUSE
13:eASG, A
17:aASC,T
19:N_STATIQNS=
20: YEAR1 = 19:31
2 1 : (2EOF
22:®DELETE,C
23 SECOND
24: SCAT, P
25:SCOND
26:eASG, A
27:@USE
23:@DELETE,C
29:@COND
30: SCAT, P
3 1 : @C OND
32:<§A3G,A
33:@U5E
34:. TIME.
1 PRINTOUT TO MUTUAL BLDG.
FILE FOR MASH SOURCE CODES.
COPY ABSOLUTE TO TPF*.
FREE FILE FOR OTHER USERS.
WINDS ® 20 MET. STATIONS.
INTERNAL NAME USED IN MASH.
03 DATA FROM NA205.
INTERNAL NAME USED IN MASH.
AIRSHED ALLOCATION INSTRUCTIONS,
. INTERNAL NAME USED IN MASH.
TEMPORARY DATA FILE.
PLACE DATA INTO TEMP. FILE.
PRINT_WINDS=YES
EOL
END OF TEMPORARY DATA FILE.
CLEAR OUTPUT FILE NAME.
PROCESS IN ORDER.
RECATALOGUE SAME NAME.
PROCESS IN ORDER.
OUTPUT FILE ASSIC-NED TO RUM.
DESIONVALUES, RAW-VALUESl.
INTERNAL FILE NAME.
TEST 1-DISC.
TEST1-DISC.
TEST1-DISC. ,F///999
DI3CARDS,TEST1-DISC.
MASH
RAW-VALUES 1.
TEST1-DISC.
1 50
PRINT*
CLEAR 2ND OUTPUT FILE NAME.
PROCESS IN ORDER.
RECATALOGUE SAME NAME.
PROCESS IN ORDER.
ASSIGN WITH LARGER SPACE.
INTERNAL NAME USED IN MASH.
SET CORE ACCOUNTING FOR MASH.
EXECUTE PROGRAM MASH.
REVIEW OUTPUT FILE #1.
PRINT ALL LINES.
REVIEW OUTPUT FILE #2.
PRINT SAMPLE — 50 LINES.
END PRINTING TO ALT. PRINT FILE.
END OF RUN.
Figure 7. A runstream for executing the main MASH program.
20
-------
Lines 2-5: Establishes an alternate print file so that results of the
run may be reviewed after run completion, even if an error is encountered.
Line 6: The first data printed in the alternate print file will be the
date and time of the run.
Line 7: Causes one copy of the alternate print file to be printed at the
Mutual Building printer.
Lines 8-10: Copies an absolute file element of MASH to the run's
temporary file (TPF$) for execution.
Lines 11-16: Assigns three input files to the run and assigns internal
names used by MASH.
Lines 17-21: Establishes a temporary data file giving certain run options
to the program.
Lines 22-23: Establishes two output files and provides internal names
for use in MASH.
Line 34: Sets a value in a portion of the condition word associated
with each run in UNIVAC. Option 0 was established by NCC to turn on an
accounting system during the execution of a program. At the end of the
execution (either normal or error) a statement is printed showing the
standard units of processing (SUPS) and core space used.
Line 35: Executes program MASH using the files named in this run.
Lines 36-39: Prints certain lines of the output files so the user may
check the run's success.
Line 40: Signals end of printing to the alternate print file.
Line 41: End of run.
Use of the Runstream:
1. Copy this runstream to a new element of the file (e.g.,
MDAD*RUN.MASH/1985-IB).
2. Change the run card to show the desired bin number, user initials,
and run series.
3. Change the name of the alternate print file, $03$RP1B, to reflect
the correct user initials and run series.
4. Change the name of the valid ozone data file, TEST1, to reflect the
correct file to be used.
21
-------
Check the name and contents
to ensure that instructions
ozone data file.
of the instructions file, INSTRUCT-USA.,
exist for the monitors named in the valid
Check the name and contents of
to ensure that wind data exist
instructions file.
the wind directions file, WINDS-USA.
for all stations referenced in the
Change the runstream options in file RUNINPUT as follows:
(a) Keep the maximum number of stations (columns 12-13) at 20, the
present capacity of MASH.
(b) Limit the maximum number of monitors to be processed (line
19, columns 30-32) in one run to 50, a limit that keeps file
sizes and run costs to a reasonable level.
(c) If a list of wind data is to be printed in the alternate print
file, maintain the value of print-winds as "yes" in line 19,
columns 55-57. Otherwise change to "no."
(d) Indicate year No. 1, year No. 2, and year No. 3 of the hourly
data file by entering three two-digit numbers beginning in line
20, columns 10, 22, and 34. Other characters on lines 19 and
20 are comments that help maintain column alignment.
Exit and free file MDAD*RUN.
MDAD*RUN.MASH/1985-IB).
Start the runstream (e.g., @START
22
-------
SECTION 6
FORMATTING THE OUTPUTS
When using the MASH model, a series of valid ozone data files are created
to incorporate all ozone monitors in the U.S. These valid ozone data are
processed by a series of MASH runs that produce a series of design value files.
The final step is to combine all design value files into one file, sort this
file by design value within each airshed, and print design values in an easy-
to-read table with column headings. A runstream for carrying out this process
located in MDAD*RUN.MASH/HEADINGS, is shown in Figure 8.
Line 1 is a run card similar to other runs shown in this guideline.
Lines 2-7 establish an alternate print file with one copy to be printed at
the Mutual Building. Lines 9-13 establish a temporary file and add together
all design values into the file. Lines 14-18 establish an output file for
the UNIVAC sorting utility, @SQRT. Lines 21-29 provide instructions to @SORT
for sorting the input file by airshed and by design value. In lines 30-31 a
sample of the output file, RAW-SORTED, is printed for quality assurance check-
ing. In lines 32-37 a special program, MASH/HEADINGS, is compiled and mapped
so it can be executed. Lines 38-43 establish an output file for this program.
Lines 44-45 assign an input file consisting of FIPS codes and names for all
SMSA's, including special names used only in this program. The SMSA file is
needed because the design value table uses SMSA names as names of airsheds
rather than using SMSA codes. Line 46 established a name used in MASH/HEADINGS.
Line 47 turns on the accounting system. Line 48 executes the program. Lines
48-49 prints the output file for checking. Line 51 terminates printing to the
alternate print file. Line 52 terminates the run.
Use of the Runstream:
1. Use the UNIVAC editor to change the bin number, initials, and
account number in the run card as needed.
2. Change the name of the alternate print file to match the user's
initials.
23
-------
l:»RUNiR/R
06RP5,ACCOUNT,MDAD/3ASDP, 4, 200
PRINT*
3: SCAT, P
4: aCOND
5:fiBRKPT
7:<23YM,U
3:@ASG,T
9:©ED, IQ
10:
11:ADD
12:ADD
13:EXIT
14:<2DELETE,C
PRINT*/*034RP5
*0.3*RP5. , , RM'P'SPR
RAW-VALUES.
RAW-VALUES.
DELETE FIRST PRINT FILE.
NEW CYCLE OF ALT. PRINT FILE.
PROCESS IN ORDER.
USE ALTERNATE PRINT FILE.
DATE S< TIME OF THIS RUN.
1 PRINTOUT TO MUTUAL BLDO.
TEMPORARY FILE FOR THIS RUN.
PUT DATA INTO TEMP. FILE.
16:8CAT,P
17:<2COND
13:@A3G, A
RAW-VALUES1.
RAW-VALUES2.
RAW-SORTED.
RAW-SORTED.
31JLNP 1 100
33:fiPLl,SE
:-!4:<*MAP,N
35: IN
36: LIB
37: END
33:<20ELETE
. ADD DATA FROM A MASH RUN.
. ADD DATA FROM A MASH PUN.
. END OF NEW DATA.
. CLEAR THIS FILE NAME.
. PROCESS IN ORDER.
. RECREATE SAME FILE NAME.
. PROCESS IN ORDER-.
. OUTPUT FILE FOR asORT.
. INTERNAL NAME FOR 2SORT.
. INTERNAL NAME FOR (5SORT.
. CALL SORTING UTILITY PROGRAM.
. ANOTHER INTERNAL FILE NAME.
. ANOTHER INTERNAL FILE NAME.
. INPUT IS STANDARD FILE.
. RECORD SIZE = 132 CHAR.
. FILE CODING'IS ASCII.
SORT BY AIRSHED SM3A, THEN DESIGN VALUE.
. 40OO RECORDS lOR LESS)
.'END aSORT INSTRUCTIONS.
. CHECK-SORTED FILE.
. PRINT 10O LINES.
PROG. . FILE OF SOURCE CODES.
PROG.MASH/HEADINGS,MASH/HEADINGS . COMPILE.
RAW-SORTED.
INPUT..RAW-VALUES.
OUTPUT..RAW-SORTED
21:<23GRT,ES
22:FILEIN=INPUT
23:FILEOUT=OUTPUT
24:MODE=SDF.
25:RSZ=132
26:DATA=ASCII
27: KEY=i , 4, S, A: 49,5, S, D
23:RECORD=4
RAW-SORTED.
4O:2CAT,P
4USCOND
42:@ASG,A
43:aU3E
44 : (2A3G , A
47:<*SETC,0
50: P1
5l:«BRKPT
52:<»FIN
iTPF*.MASH/HEADINGS
TPF*.MASH/HEADINGS
LIB*PL1.
DV-S1-33.
DV-S1-33.
DV-31-S3.
DESIGNV ALUES •, DV-31 -33.
SMSA-NAMES.
SMSANAMES.SMSA-NAMES. .
RAWSGRTED,RAW-SORTED. .
MASH/HEADINGS
DV-31-33.
PRINT*
CREATE ABSOLUTE IN TPF4.
RELATIVE LOCATED IN TPF*.
PL1 SUBROUTINE LIBRARY.
END OF MAP INSTRUCTIONS.
CLEAR THIS FILE NAME.
PROCESS IN ORDER.
RECREATE THIS FILE NAME.
PROCESS IN ORDER.
OUTPUT FILE FOR MASH/HEADINGS.
. INTERNAL NAME USED.
FILE OF SM3A CODES ?< NAMES.
NAME USED BY MASH/HEADINGS.
NAME USED BY MASH/HEADINGS.
TURN ON CORE ACCOUNTING SYSTEM.
EXECUTE HEADINGS PROGRAM.
CHECK OUTPUT FILE.
PRINT ENTIRE FILE.
END PRINTING TO ALT. PRINT FILE.
END OF RUN.
Figure 8. A runstream for combining outputs into a formatted table.
24
-------
3. Changes names of MASH files in lines 11-12 as needed to reflect
actual file names that were created. Add more lines if needed.
4. Exit from the file and start the runstream (e.g., (PSTART
MDAD*RUN.MASH/HEADINGS).
25
-------
TECHNICAL REPORT DATA
(Please read Instructions on the reverse before completing}
1. REPORT NO. 2.
EPA-450/4-85-009
4. TITLE ANDSUBTITLE
User's Guide For The Multiple Airshed (MASH) Model
7. AUTHOR(S)
Roy A. Paul
9. PERFORMING ORGANIZATION NAME AND ADDRESS
PEI Associates, Inc
Durham, NC 27701
12. SPONSORING AGENCY NAME AND ADDRESS
Office Of Air Duality Planning And Standards
US EPA (MD 14)
Research Triangle Park, NC 27711
3. RECIPIENT'S ACCESSION NO.
5. REPORT DATE
July 1985
6. PERFORMING ORGANIZATION CODE
8. PERFORMING ORGANIZATION REPORT NO.
10. PROGRAM ELEMENT NO.
11. CONTRACT/GRANT NO.
68-02-3512
13. TYPE OF REPORT AND PERIOD COVERED
14. SPONSORING AGENCY CODE
15. SUPPLEMENTARY NOTES
EPA Project Officer: Keith Baugues
16. ABSTRACT
Multiple airshed (MASH) model calculates design values for each of a series of
ozone monitoring sites in the U. S. Each monitor is assigned to various airsheds,
depending on time of day and the resultant wind direction for each day. Using a list
of high values for each airshed, one design value is selected for each airshed and
monitor combination. The design value associated with a particular SMSA can be
selected from the resulting list of site specific design values which the program
generates for each airshed. Input data for MASH are 1) hourly ozone values from
monitors, 2) daily.resultant wind directions at selected meteorological stations, and
3) a coded set of instructions telling how to allocate hourly ozone values to various
airsheds based on wind direction.
17. KEY WORDS AND DOCUMENT ANALYSIS
a. DESCRIPTORS
18. DISTRIBUTION STATEMENT
b. IDENTIFIERS/OPEN ENDED TERMS
19. SECURITY CLASS (This Report)
20. SECURITY CLASS (This page/
c. COSATI Field/Group
21. NO. OF PAGES
34
22. PRICE |
EPA Form 2220-1 (Rey. 4-77) PREVIOUS EDITION is OBSOLETE
-------
DATE DUE
------- |