0% found this document useful (0 votes)
98 views67 pages

CALPUFF v7 UserGuide Addendum

The document describes updates to the CALPUFF modeling system to add modeling capabilities for flares, roadways, and aerial sprays. It details the new source types that have been added, including the flare module and how to define emissions for each source type using external variable emissions files or the CALPUFF input file. It also describes new post-processing capabilities and the formats of the emissions input files.

Uploaded by

nimaaandm
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
98 views67 pages

CALPUFF v7 UserGuide Addendum

The document describes updates to the CALPUFF modeling system to add modeling capabilities for flares, roadways, and aerial sprays. It details the new source types that have been added, including the flare module and how to define emissions for each source type using external variable emissions files or the CALPUFF input file. It also describes new post-processing capabilities and the formats of the emissions input files.

Uploaded by

nimaaandm
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 67

Atmospheric Sciences

CALPUFF Version 7
Users Guide Addendum
CALPUFF Version 7
Users Guide Addendum

Prepared by

Exponent
1 Mill and Main Place
Suite 150
Maynard, MA 01754

October 2019

 Exponent, Inc.

Doc. no. Z170308064614 - 0072


Contents

Page

List of Figures 3

List of Tables 4

Introduction 5

1 CALPUFF Flare Module 7


1.1 Introduction 7
1.2 CALPUFF System Flare Enhancements 8
1.2.1 CALPUFF 8
1.2.2 CALPUFF Input File 9
1.2.3 FLARE External Variable Emissions File (FLEMARB.DAT) 12
1.2.4 METSERIES V7.0.0 18
1.3 Post-Processing 20
1.3.1 Overview 20
1.3.2 CALAVE 23
1.3.3 CALMAX 24
1.3.4 CALRANK 25
1.3.5 EXAMPLE 26

2 Roadway 29
2.1 Introduction 29
2.2 Modeling Procedures 29
2.3 Road Emission File (RDEMARB.DAT) 31

3 Spray 38
3.1 Introduction 38
3.2 CALPUFF Code Updates 38
3.3 Control File Updates 39
3.4 External Variable Emissions SPRAY File (SPEMARB.DAT) 44
3.5 Preparation of External Variable Emissions Files from AGDISP Output. 49
3.5.1 Header Records 50

Z170308064614 - 0072
1
3.5.2 Time Invariant Records 50
3.5.3 Time Varying Records 50

Appendix A
Appendix B
Appendix C

Z170308064614 - 0072
2
List of Figures

Page

Figure 2-1 Post-Processing Flow 22


Figure 2-2 Simulation sequence for short-lived, short-range events which can occur any
time of the year. Example illustrates 24 simulations with independent events
starting every 24 hours in a cyclic fashion can be run instead of 8,760
individual runs (hour-long events are shown here). 23

Z170308064614 - 0072
3
List of Tables

Page

Table 2-1 New Flare Variables in Input Group 0 of the CALPUFF.INP v7.0 Control
File 10
Table 2-2 New Flare Variables in Input Group 2 of the CALPUFF.INP v7.0 Control
File 10
Table 2-3 New Flare Input Group 17 of the CALPUFF.INP v7.0 Control File 11
Table 2-4 Example Flare Emissions File With Arbitrarily Varying Data
(FLEMARB.DAT) 14
Table 2-5 Flare Emissions File With Arbitrarily Varying Data (FLEMARB.DAT):
Description of Header Variables 15
Table 2-6 Flare Emissions File With Arbitrarily Varying Data (FLEMARB.DAT):
Description of Time-Invariant Data 16
Table 2-7 Flare Emissions File With Arbitrarily Varying Data (FLEMARB.DAT):
Description of Time-Varying Data 17
Table 2-8 Example TIMESERIES.TSF file (with CALMET surface pressure output) 19
Table 3-1 Example Road Emissions File with Arbitrarily Varying Data
(RDEMARB.DAT) 33
Table 3-2 RDEMARB.DAT Header Record Variables 34
Table 3-3 RDEMARB.DAT Time-Invariant Data Records 35
Table 3-4 RDEMARB.DAT Time-Varying Data Records 36
Table 3-5 RDEMARB.DAT Map Projection Records 37
Table 4-1 Example Spray Emissions File with Arbitrarily Varying Data
(SPEMARB.DAT) 45
Table 4-2 Spray Emissions File With Arbitrarily Varying Data (SPEMARB.DAT):
Description of Header Variables 46
Table 4-3 Spray Emissions File With Arbitrarily Varying Data (SPEMARB.DAT):
Description of Time-Invariant Data 47
Table 4-4 Spray Emissions File With Arbitrarily Varying Data (SPEMARB.DAT):
Description of Time-Varying Data 48

Z170308064614 - 0072
4
Introduction

With the release by Exponent of CALPUFF Version 71, several new capabilities have been
added to the CALPUFF modeling system. These include the ability to model flares,
roadways and aerial spray sources. Each of these potential sources is included as a new
source type within the CALPUFF model. The new source types are used to develop realistic
emission profiles at the point of emission. All of the new source types fit within the existing
dispersion frame work of CALPUFF.

The following sections detail the setup and use of the new source type modules. For all
three source types, external variable emissions files can be used to define emissions. For the
new Roadway source, constant emissions or emissions based on simple temporal profiles
can alternatively be defined in the CALPUFF input file. Spray and Flare emissions and
locations cannot be defined within the CALPUFF input file and require an external variable
emission file.

The formats of the external variable emissions files are also detailed in the sections which
follow. External variable emissions files are in ASCII format and can be generated by the
user. For the Spray source type, recent versions of the AGDISP code distributed by the US
Forest Service will produce many of the necessary input blocks for the external variable
emissions files. Similarly, emissions files for the Flare source can be generated by external
software including ABFLARE, which is available for download from Zelt PSI
(http://www.zeltpsi.com/aertools.html).

This User’s Guide Addendum serves as a supplement to the available CALPUFF Version 5
and Version 6 documentation. For additional information on the use and setup of
CALPUFF Version 7, the reader is referred to the “CALPUFF Modeling System Version 6
User Instructions” (April 2011). Background information on CALPUFF model theory is

1
CALPUFF modeling software, including EPA approved versions, is distributed by Exponent, Inc. to those that
wish to apply the CALPUFF model for a particular situation. User’s may download a copy of CALPUFF
source code at the www.src.com website after their explicit acceptance of the CALPUFF End User License
terms published on that website.

Z170308064614 - 0072
5
also available in the “Version 5 CALPUFF User Guide” (January 2000). All documentation
is available on the CALPUFF website at www.src.com.

Z170308064614 - 0072
6
1 CALPUFF Flare Module

1.1 Introduction

The CALPUFF model has been enhanced with new modeling capabilities to model flares.
The development work was sponsored by an Alberta Upstream Petroleum Research Fund
(AUPRF) grant funded by the Petroleum Technology Alliance Canada (PTAC) under
subcontract to Zelt Professional Services Inc (Zelt PSI). The CALPUFF model reads inputs
computed by external programs including the ERCB Flare Spreadsheet and ABFLARE
(available from Zelt PSI at http://www.zeltpsi.com/aertools.html).

The new developments include a new CALPUFF source-type, FLARE, which is a point
source with all arbitrarily-varying emissions parameters, including (potentially) varying
location and stack height. FLARE source specific processing flags can be turned on and off,
independently of the general processing flags which apply to all other sources in a given
CALPUFF simulation. Those FLARE-specific switches relate to the plume rise method and
stack-tip downwash.

Exponent also created a series of new postprocessors to compute time-averages, maxima, nth
ranked and percentile concentrations (and deposition fluxes). Those new postprocessors are
CALAVE, CALMAX and CALRANK. One of the applications for this new set of
CALPUFF postprocessors is to meet emergency flaring impact assessment requirements in
general and in the Province of Alberta (Canada) in particular. This new set of postprocessors
streamlines the computation of the maximum (or nth highest, or percentile) impact created by
a short-lived event that can occur anytime during the year. This type of situation is typical
for emergency events or upset conditions.

The new features are available when using CALPUFF v7.2.0 and METSERIES v7.0.0. The
new postprocessors, CALAVE, CALMAX and CALRANK are distributed as new stand-
alone FORTRAN codes.

Z170308064614 - 0072
7
1.2 CALPUFF System Flare Enhancements

1.2.1 CALPUFF

The developers of the CALPUFF modeling system (Scire et al., 2000a, 2000b) added a new
flare source type to CALPUFF v7.2.0. In CALPUFF terms, a FLARE is a point source with
arbitrarily-varying emissions parameters, including (potentially) varying location and stack
height. FLARE source specific processing flags can be turned on and off, independently of
the general processing flags which apply to all other sources in a given CALPUFF
simulation. Those flare-specific flags are:

1) MRISE_FL: determines the plume rise module for flare sources. Available selection is
either Briggs plume rise (MRISE_FL=1) or CALPUFF numerical plume rise
(MRISE_FL=2). The numerical plume rise model is recommended for flares and is set as
the default. The CALPUFF numerical plume rise algorithm is recommended for flares
because:
- Flares are very hot sources and the Boussinesq approximation, one of the Briggs plume
rise assumptions, is not valid when the plume density is much smaller than the ambient air
density.
- Flares generate highly buoyant plumes and the ambient air stratification and vertical
wind shear above stack top should be taken into account during plume rise calculations
(Briggs plume rise does not take either into account).

2) MTIP_FL: determines whether stack-tip downwash is applied to FLARE sources in


CALPUFF. Although stack tip downwash may affect flares, stack-tip downwash should be
applied to flare sources in CALPUFF only if it has not been taken into account already when
the effective flare source parameters were computed. In particular, if the flare effective
parameters were computed with the Alberta Flare module (either ERCB Flare spreadsheet or
ABFLARE), then stack-tip downwash is already taken into account when computing the
flame length and effective stack height. In this case stack-tip downwash should be turned-off
in CALPUFF to avoid double-counting its effect.

Z170308064614 - 0072
8
1.2.2 CALPUFF Input File

Input Group 0 of the updated CALPUFF input control file (CALPUFF.INP Version 7.0)
includes variables to define the number and names of the external variable emissions files
for FLARE sources (FLEMARB.DAT). More details on the format of the new external
variable emissions files are included in Section 2.2.3 of this report. The updates to Input
Group 0 are shown in Table 1-1.

The two new processing flags, MTIP_FL and MRISE_FL, are defined in Input Group 2 and
the input format for these two new variables is shown in Table 1-2. As usual, all key
information must be specified between exclamation point delimiters.

A new Input Group 17 has been added to the updated CALPUFF input control file. This
allows the user to define the total number of Flare sources contained in the external variable
emissions files. The format of Input Group 17 is shown in Table 1-3. Note that, unlike
other source types (points, volumes, roads), Flare sources require the use of an external
variable emissions file. Constant source parameters cannot be defined directly in the
CALPUFF input file.

Z170308064614 - 0072
9
Table 1-1 New FLARE Variables in Input Group 0 of the CALPUFF.INP v7.0 Control File

INPUT GROUP: 0 -- Input and Output File Names


--------------

Number of FLARE source files (FLEMARB.DAT)


with time-varying data (NFLDAT)
Default: 0 ! NFLDAT = 2 !

-------------
Subgroup (0e) – FLEMARB.DAT files
-------------

FLARE Source File Names


The following FLEMARB.DAT filenames are processed if NFLDAT>0
A total of NFLDAT lines is expected with one file name assigned per line
Each line is treated as an input group and must terminate with END
(surrounded by delimiters)
(Each file contains emissions parameters for the entire period modeled
for 1 or more sources)

Default Name Type File Name


------------ ---- ---------
none input ! FLDAT=FLEMARB01.DAT ! !END!
none input ! FLDAT=FLEMARB02.DAT ! !END!

Table 1-2 New FLARE Variables in Input Group 2 of the CALPUFF.INP v7.0 Control File

-------------------------------------------------------------------------------

INPUT GROUP: 2 -- Technical options


---------------


Apply stack-tip downwash to FLARE sources?
(MTIP_FL) Default: 0 ! MTIP_FL = 0 !
0 = no (no stack-tip downwash)
1 = yes (apply stack-tip downwash)

Plume rise module for FLARE sources


(MRISE_FL) Default: 2 ! MRISE_FL = 2 !
1 = Briggs module
2 = Numerical rise module

Z170308064614 - 0072
10
Table 1-3 New FLARE Input Group 17 of the CALPUFF.INP v7.0 Control File

INPUT GROUP: 17 -- FLARE source control parameters (variable emissions file)


---------------
Number of flare sources defined in FLEMARB.DAT file(s)
(NFL2) Default: 0 ! NFL2 = 2 !

(At least 1 FLEMARB.DAT file is needed if NFL2 > 0)

!END!

Z170308064614 - 0072
11
1.2.3 FLARE External Variable Emissions File (FLEMARB.DAT)

CALPUFF v7.2.0 accepts a new type of emission source suitable for emergency flare modeling,
namely a point source for which all parameters can arbitrarily vary in time. This new format,
dubbed FLEMARB.DAT, is an extension of the point-varying emission source format,
PTEMARB.DAT.

FLARES are treated as arbitrarily-varying point sources with the added flexibility of time-
varying location and height in order to track the location of the flame tip. No building
downwash is allowed.

The file format is designed to be as general as possible in order to allow additional variables to
be used by CALPUFF in the future without a change to the FLEMARB.DAT format. There are
8 time invariant variables defined for each source (labeled Var1 through Var8). Currently only
Var1 is used. The remaining seven variables are retained for possible future use.

The variable Var1 allows alternative formats for the source data to be used. Setting Var1=1
specifies that source parameters will include values of exit temperature (T) and exit velocity
(u,v,w). Note that though all three vector components of the exit velocity (u, v, w) have to be
specified for each time record, only the vertical exit velocity (w) is currently used by the
CALPUFF code. Setting Var1 to a value other than 1 allows for alternate data formats such as
the use of buoyancy (Fb) and momentum (Fmx, Fmy, Fmz), though these input options are not
currently implemented in CALPUFF.

A FLEMARB.DAT file can contain multiple sources and species. The beginning and ending
times of each record are specified in year, Julian day, hour and seconds, and can be of arbitrarily
varying duration. However, the ending time of one record must be equal to the beginning time
of the next record and periods of inactivity (zero emission) must be explicitly defined (zero
emission rates), so that there are no time gaps in the FLEMARB.DAT file.

Z170308064614 - 0072
12
The FLEMARB.DAT record description and format are detailed in Table 1-4 through Table 1-7.
Not all records in a FLEMARB.DAT file are “free reading” and attention must be paid to the
length of each variable, type, and spacing in between them.

Z170308064614 - 0072
13
Table 1-4 Example FLARE Emissions File with Arbitrarily Varying Data (FLEMARB.DAT)
FLEMARB.DAT 1.0 Initial configuration
9
Header records are a mix of formatted and free-format structures
Time-invariant data records are free-format
Time-invariant data records have 8 assignments per source (2-8 are not currently used)
var1=1: stack inputs are T(K), U, V, W (m/s)
var1=2: stack inputs are Fb, Fmx, Fmy, Fmz (i.e., buoyancy and momentum fluxes)
Time-variable data records are free-format
Time-variable data records contain (if var1=1)
X(km), Y(km), H(mAGL), Elev(mMSL), D(m), T(K), U, V, W, Sigy(m), Sigz(m), Q(g/s)...
Time-variant records contain (if var1=2) --- Not currently available!
UTM
19N
NAS-C 02-21-2003
KM
UTC-0500
1990 009 04 0000 1990 009 10 0000
3 4
'SO2' 'NO' 'NO2' 'PM10'
30.000 30.000 30.000 30.000
'Source 1' 1.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0
'Source 2' 1.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0
'Source 3' 1.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0
1990 009 04 0000 1990 009 05 0000
'Source 1' 340.011 4870.443 18.6 160.4 9.754 280.55 0.0 0.0 8.66 1.0 1.0 10.0 4.0 1.0 10.0
'Source 2' 340.486 4870.640 50.1 160.7 4.251 380.4 0.0 0.0 7.66 1.0 1.0 10.0 4.0 1.0 10.0
'Source 3' 341.051 4870.048 35.85 160.9 3.1 289.9 0.0 0.0 2.66 1.0 1.0 10.0 4.0 1.0 10.0
1990 009 05 0000 1990 009 10 0000
'Source 1' 340.011 4870.443 18.6 160.4 9.754 280.55 0.0 0.0 8.66 1.0 1.0 10.0 4.0 1.0 10.0
'Source 2' 340.486 4870.640 50.1 160.7 4.251 380.4 0.0 0.0 7.66 1.0 1.0 10.0 4.0 1.0 10.0
'Source 3' 341.051 4870.048 35.85 160.9 3.1 289.9 0.0 0.0 2.66 1.0 1.0 10.0 4.0 1.0 10.0

Example header records for alternative map projection (either 2 or 3 records)


Sample file above shows UTM projection. Other options provided below:

Universal Transverse Mercator


UTM
19N

Lambert Conformal Conic


LCC
40.5N 90.0W 30.0N 60.0N
0.00000000E+00 0.00000000E+00

Tangential Transverse Mercator


TTM
40.5N 90.0W
0.00000000E+00 0.00000000E+00

Polar Stereographic
PS
40.5N 90.0W 30.0N

Equatorial Mercator
EM
0.0N 90.0W

Lambert Azimuthal Equal Area


LAZA
40.5N 90.0W
0.00000000E+00 0.00000000E+00

Z170308064614 - 0072
14
Table 1-5 FLARE Emissions File with Arbitrarily Varying Data (FLEMARB.DAT): Description of Header Variables
FLEMARB.DAT 1.0 Initial configuration Dataset Name, Dataset Version, Dataset Message
(char*16, char*16, char*64) Format: (2a16,a64)
9 Number of comment lines to follow (integer) Free-Format
Header records are a mix of formatted and free-format structures Comment lines (80 characters per record are read)
Time-invariant data records are free-format
Time-invariant data records have 8 assignments per source (2-8 not used)
var1=1: stack inputs are T(K), U, V, W (m/s)
var1=2: stack inputs are Fb, Fmx, Fmy, Fmz (not currently available)
Time-variable data records are free-format
Time-variable records(if var1=1) X,Y,H,Elev,D,T,U,V,W,Sigy,Sigz,Q(g/s)..
Time-variable records(if var1=2) --- var1=2 Not currently available!
UTM - Map Projection (char*8) Format: (a8)
19N - UTM Zone, Hemisphere (integer,char*1) Format: (i4,a1)

Map Projections (Select One)


LCC - Map Projection (char*8) Format: (a8)
40.5N 90.0W 30.0N 60.0N - Origin Latitude, Origin Longitude, and 2 matching parallels (char*16) Format: (4a16)
0.00000000E+00 0.00000000E+00 - False Easting and Northing km (real) Free-Format
TTM - Map Projection (char*8) Format: (a8)
40.5N 90.0W - Origin Latitude, Origin Longitude (char*16) Format: (2a16)
0.00000000E+00 0.00000000E+00 - False Easting and Northing km (real) Free-Format
PS - Map Projection (char*8) Format: (a8)
40.5N 90.0W 30.0N - Origin Latitude, Origin Longitude, and 1 matching parallel (char*16) Format: (3a16)
EM - Map Projection (char*8) Format: (a8)
0.0N 90.0W - Origin Latitude, Origin Longitude (char*16) Format: (2a16)
LAZA - Map Projection (char*8) Format: (a8)
40.5N 90.0W - Origin Latitude, Origin Longitude (char*16) Format: (2a16)
0.00000000E+00 0.00000000E+00 - False Easting and Northing km (real) Free-Format
NAS-C 02-21-2003 DATUM code, date (char*8, char*12) Format: (a8,a12)
KM Map units are KM (char*4) Format: (a4)
UTC-0500 Time Zone as (UTC+hhmm) (char*8) Format: (a4)
1990 009 04 0000 1990 009 10 0000 Start time and end time of data in file as Year, Julian Day, Hour, Second(0-3599) (integer)
Free-Format
3 4 Number of sources, Number of species
(integer) Free-Format
'SO2' 'NO' 'NO2' 'PM10' Species names (char*16) Free-Format (quotes required)
30.000 30.000 30.000 30.000 Molecular weights for species (real) Free-Format

Z170308064614 - 0072

15
Table 1-6 FLARE Emissions File with Arbitrarily Varying Data (FLEMARB.DAT): Description of Time-Invariant Data
'Source 1' 1.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 Source Name, Var1 - Var8 (char*16, real)
'Source 2' 1.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0
'Source 3' 1.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 Free-Format (quotes required on Source Name)

Source Name Var1 Var2 Var3 Var4 Var5 Var6 Var7 Var8

Time-invariant data must be assigned to each of the sources, which are identified by name.
In this example, there are 3 sources so there are 3 records.

Only the first variable (Var1) is currently defined for use, but all 8 variables must have values. Zeros are used for variables Var2-Var8.

The Variable Var1 defines the type of source characterization


Var1 = 1 : stack inputs are provided in this variable emissions file as T(K), U, V, W (m/s)
Var1 = 2 : stack inputs are provided in this variable emissions file as Fb, Fmx, Fmy, Fmz (i.e., buoyancy and momentum fluxes)

Z170308064614 - 0072

16
Table 1-7 FLARE Emissions File with Arbitrarily Varying Data (FLEMARB.DAT): Description of Time-Varying Data
1990 009 04 0000 1990 009 05 0000
'Source 1' 340.011 4870.443 18.6 160.4 9.754 280.55 0.0 0.0 8.66 1.0 1.0 10.0 4.0 1.0 10.0
'Source 2' 340.486 4870.640 50.1 160.7 4.251 380.4 0.0 0.0 7.66 1.0 1.0 10.0 4.0 1.0 10.0
'Source 3' 341.051 4870.048 35.85 160.9 3.1 289.9 0.0 0.0 2.66 1.0 1.0 10.0 4.0 1.0 10.0

Source Name X Y H Elev D T U V W Sigmay Sigmaz Q1 Q2 Q3 Q4 (4 species here)


(KM) (KM) (mAGL) (mMSL) (m) (K) (m/s) (m/s) (m/s) (m) (m) (g/s) (g/s) (g/s) (g/s)

Time-varying data must be assigned to each of the sources, which are identified by name. These are matched to the names entered in the time-
invariant data section. In this example, there are 3 sources and 4 records. The first record contains the start-time and end-time for the period in
which the data are valid. The source data follow in the form determined by the value of Var1 entered in the time-invariant data section (current
implementation recognizes Var1=1). This set of records is repeated for all time periods in the file.

Record 1: (8 variables)

Start Year, Julian Day, Hour, Second (0-3599), End Year, Julian Day, Hour, Second(0-3599) (integers) Free-Format

(Var1=1)
Record 2 through NSRC+1 (NSRC=number of sources):

Source Name, X, Y, H, Elev, D, T, U, V, W, Sigmay, Sigmaz, (Q(n), n=1,NSPEC) (char*16, reals) Free-Format (quotes required on Source Name)

- X,Y,H Flare-tip location


- Elev Elevation of the surface above sea level at the flare location
- D Effective flare diameter
- T Effective flare temperature
- U,V,W Effective initial flare velocity components (U along X, V along Y, W vertical)
- Sigmay Initial sigma-y for flare
- Sigmaz Initial sigma-z for flare
- Q(n) Emission rate for each species, in the order defined by the species names in the header

Z170308064614 - 0072

17
1.2.4 METSERIES V7.0.0

Modifications to METSERIES v1.81 Level 110308 allow the CALMET surface pressure to be
written out in the TIMESERIES output file (TSF file). METSERIES Version 7.0.0, outputs the
CALMET surface pressure along with the “OTHER” CALMET micrometeorological variables
when the input parameter OTHER is set to 1 in the METSERIES.INP input file. The CALMET
surface pressure is flagged by the symbol “SFC_PRESS”, written in the last column of the TSF
records, and expressed in millibar units. A TIMESERIES example is displayed in Table 1-8.

With this modification, all the variables that are needed by ABFLARE to compute the flame
length, combustion efficiency and flare emissions can be extracted at the location of the flare
stack and height of the flame by METSERIES, either from a CALMET dataset or from a
MM5/WRF file (in M3D format).

Additionally, a bug in the prior versions of METSERIES has been fixed and will now avoid run
termination when processing a SURF.DAT file with missing records.

Z170308064614 - 0072
18
Table 1-8 Example TIMESERIES.TSF file (with CALMET surface pressure output)

TIMESERIES.TSF 1.3 Full location/date/time documentation


3 --- comment lines
Created by METSERIES (Version 1.81FL, Level 121201)
Time series from a CALMET.DAT file
NEUTRAL wind profiling method is used
4 --- station information lines
(11)
CALMET.DAT: Nearest Grid Pt [(I,J)=( 7.000, 7.000)])][(X,Y)km=( 250.000, 4700.000) in MODEL Projection]
Input location: (X,Y)km=( 250.000 4700.000) in UTM Projection below
Nearest Grid Pt: (X,Y)km=( 250.000 4700.000) in UTM Projection below
UTM
19N
NAS-C 02-21-2003
KM
UTC-0500
GREGORIAN_YMD
1988 7 7 5 0000 1988 7 7 9 0000 3600
13 --- measure, units, mol.wt., missing, Z_m, X or LON, Y or LAT
WDIR DEGREES -1.000 9999.000 10.000 250.000 4700.000
WSPEED M/S -1.000 9999.000 10.000 250.000 4700.000
TEMP K -1.000 9999.000 10.000 250.000 4700.000
SHUMID G/KG -1.000 9999.000 1.000 250.000 4700.000
MIXHGT METERS -1.000 9999.000 0.000 250.000 4700.000
PRECIP_RATE MM/HR -1.000 9999.000 0.000 250.000 4700.000
USTAR M/S -1.000 9999.000 0.000 250.000 4700.000
MONIN_OB METERS -1.000 9999.000 0.000 250.000 4700.000
CONV_VEL_S M/S -1.000 9999.000 0.000 250.000 4700.000
SHORT_WAVE W/M*2 -1.000 9999.000 0.000 250.000 4700.000
STAB_CLASS CLASS -1.000 9999.000 0.000 250.000 4700.000
RH_HUMIDITY % -1.000 9999.000 2.000 250.000 4700.000
SFC_PRESS MB -1.000 9999.000 0.000 250.000 4700.000
1988 7 7 5 0000 1988 7 7 6 0000 262.041 3.376 293.750 12.739 510.963 9999.000 0.599 -6.84096E+02 0.507 123.383 4 82 983.072
1988 7 7 6 0000 1988 7 7 7 0000 263.098 4.115 295.240 12.960 524.072 9999.000 0.729 -7.50690E+02 0.661 159.348 4 76 983.411
1988 7 7 7 0000 1988 7 7 8 0000 284.855 3.459 297.105 13.964 446.886 9999.000 0.629 -2.95951E+02 0.846 239.618 4 73 983.749

Z170308064614 - 0072

19
1.3 Post-Processing

1.3.1 Overview

Exponent created a series of new postprocessors to compute time-averages, maxima, nth


ranked and percentile concentrations (and deposition fluxes). One of the applications for
this new set of CALPUFF postprocessors is to meet emergency flaring impact assessment
requirements in general and in the Province of Alberta (Canada) in particular.

This new set of postprocessors streamlines the computation of the maximum (or nth highest,
or percentile) impact created by a short-lived event that can occur anytime during the year.
This type of situation is typical for emergency events or upset conditions. In order to assess
the potential impact of such an event, ideally 8,760 (8,784 in a leap year) simulations should
be run, averages (if non-hourly averaging times are of interest e.g. daily averages) should be
taken for each simulation, maxima should be identified, and then statistics (nth highest,
percentile) should be computed across all simulations. The suite of CALAVE-CALMAX-
CALRANK postprocessors streamlines this approach as illustrated in Figure 1-1.

For short-lived events (couple of hours) and short-range impacts, it may not be necessary to
run 8,760 (8,784) simulations. The number of simulations could for example be reduced to
24, with each simulation dealing with events starting at one of the 24 hours of the day, and
repeating the event at this hour for each day of the year (Simulation 1 would model releases
starting during the first hour of each day, Simulation 2 would model releases starting during
the second hour of each day, etc.). Because the events and their impacts are short-lived,
events on successive days are effectively independent of each other. This approach is often
used for the assessment of emergency flaring and is illustrated in Figure 1-2. In any case,
whether explicit simulations are run for each possible start time, or whether they are
combined, the CALAVE-CALMAX-CALRANK suite can compute the necessary statistics.

Furthermore, any ranked-value or percentile can be computed with CALRANK, which thus
extends the CALPOST nth rank capability. Additionally, because specific percentile(s) can

Z170308064614 - 0072
20
be requested explicitly, the user does not have to convert the percentile into an nth rank
equivalent before conducting the post-processing.

Z170308064614 - 0072
21
Figure 1-1 Post-Processing Flow

Z170308064614 - 0072
22
Figure 1-2 Simulation sequence for short-lived, short-range events which can occur any
time of the year. Example illustrates 24 simulations with independent events
starting every 24 hours in a cyclic fashion can be run instead of 8,760 individual
runs (hour-long events are shown here).

1.3.2 CALAVE

CALAVE processes one or more CALPUFF binary output files (dataset v2.1 [CALPUFF output
file created by CALPUFF prior to v6.41] or v2.2 [current output format with CALPUFF v6.42
and v7.2.0]) and computes either running-averages or block-averages of concentrations, dry
deposition fluxes, or wet deposition fluxes for each file. The user instructs CALAVE when to
start the averaging and what averaging time to use. A binary output file with a format similar to
that of a binary CALPUFF output file is generated for each CALPUFF binary file that is being
processed. When block averages are produced, the output file is the ‘standard’ CALPUFF file
that can be processed by any of the postprocessors in the CALPUFF system. Running averages
use the same format, but because begin and end-times for each average span a duration longer
than the interval between the reported values, most of the postprocessors will not accept the
running averages.

A sample CALAVE.INP file is included in Appendix A.

Z170308064614 - 0072
23
1.3.2.1 Mode 1: Running Averages

In Mode 1, CALAVE reads a CALPUFF output file (CONC, WET, DRY) and creates a running
average of its contents. These averages are reported from a specified start-time and are written
for each original data-period thereafter.

For example, if 24-hour averages starting at 10 a.m. (start time = 1000) are requested and the
original CALPUFF output file contains half-hour values beginning at 0930 on March 13, the
following averages will be computed:

1) First 24-hour average: 1000 (March 13) to 1000 (March 14)


2) Second 24-hour average: 1030 (March 13) to 1030 (March 14)
3) Third 24-hour average: 1100 (March 13) to 1100 (March 14)
4) The last 24-hour period will end at the end of the last 30-minute period in the file

1.3.2.2 Mode 2: Block Averages

In Mode 2, CALAVE reads a CALPUFF output file (CONC, WET, DRY) and creates a block
average of its contents. These averages are reported from the specified start-time and are
written end-to-end thereafter.

For example, if calendar-day 24-hour averages are requested (start time = 0000) and the original
CALPUFF output file contains half-hour values beginning at 0930 on March 13, the following
averages will be computed:

1) First 24-hour average: 0000 (March 14) to 0000 (March 15)


2) Second 24-hour average: 0000 (March 15) to 0000 (March 16)
3) Third 24-hour average: 0000 (March 16) to 0000 (March 17)
4) The last 24-hour period will end at the end of the last full day in the file

1.3.3 CALMAX

CALMAX reads a set of CALPUFF-type binary output files either created by CALPUFF
directly or averaged with CALAVE, and selects the maximum value at each receptor for each

Z170308064614 - 0072
24
time period, for each species. The output time periods are contiguous blocks starting at a user-
selected date and time, and the averaging time found in the data files determines the length of
the block. All input data with a start-time within a block are associated with that block
regardless of whether such data include times outside of the block. For example, a 3-hour
running-average starting at 0700 covers the period 0700-1000. A CALMAX application with a
start-time of 0000 will associate this running-average with the block from 0600-0900.

Many such files can be included without limit and CALMAX will cycle through all, selecting
the maximum modeled value for each location and time. Since the main output file from
CALMAX is also a CALPUFF-type binary file of “block-averages”, CALMAX can be applied
sequentially, using a mix of ‘regular’ CALPUFF files, CALAVE output files, and CALMAX
files. The averaging time, receptors and species must be the same in all files.

A CALMAX application creates two output data files:

1. An ASCII time series file (PERIODMAX.OUT) of the maximum value over all
receptors for each block of time for each species (one value per species per period).
2. A binary CALPUFF-format file of all maximum values (one maximum value at each
receptor for each species and ‘timestep’).

A sample CALMAX input file and PERIODMAX.OUT output file is displayed in Appendix B.

1.3.4 CALRANK

CALRANK reads a CALPUFF-type concentration/flux output file (Dataset v2.1 or v2.2), ranks
the time series for each species at each receptor for the entire application period, and identifies
the nth-highest values and the percentile values requested in the CALRANK.INP input file.
More than one rank or percentile can be requested in a single run, and because of the overhead
of ranking all of the values at each receptor, a single application with all desired ranks is
normally prepared.

Z170308064614 - 0072
25
Individual plot-files are created for each requested rank/percentile, and include the location of
each receptor, the value of the requested rank/percentile at that receptor, and the date and time at
which that value occurred. If more than one species is in the file, this information is provided
for each species. Additionally, the largest among all receptors is tabulated for each requested
rank/percentile and species in the CALRANK.LST file.

Sample CALRANK.INP (input), CALRANK.LST (output) and CALRANK_PLOT_PCTL-


75.00.DAT (75th percentile output) files are displayed in Appendix C

1.3.5 EXAMPLE

Generate a 90th percentile plot for hourly average impact of an unplanned


two-hour long emergency flaring event

Step 1: CALPUFF

Run 24 CALPUFF annual simulations, with 24 FLEMARB.DAT emissions files starting on


each hour of each day. Each emission profile lasts for 2 hours and is deemed independent and
non-interacting with the next one in the same file (starting at the same hour on the following
day). The emission profiles are generated with small timesteps and CALPUFF is run with 5
minute timesteps. The set up takes into account the fact that unplanned emergency flaring could
start on any hour of the year and the set of meteorological conditions should be taken into
account. The 24 CALPUFF simulations are run with the following FLEMARB.DAT emissions
files and generate the following binary output files (CALPUFF_HH.CON):

1. FLEMARB_00.DAT (CALPUFF Emission starting at 0000 on Days 1, 2, 3 ….Day 365)


→ CALPUFF_00.CON

2. FLEMARB_01.DAT (CALPUFF Emission starting at 0100 on Days 1, 2, 3 ….Day 365)


→ CALPUFF_01.CON

… (2 - 22 removed)

24. FLEMARB_23.DAT (CALPUFF Emission starting at 2300 on Days 1, 2, 3 ….Day 365)


→ CALPUFF_23.CON

Z170308064614 - 0072
26
Step 2: CALAVE

Run a single CALAVE simulation which will compute 1 hour block averages for each of the 24
annual CALPUFF simulations at each receptor, and create 24 annual CALPUFF binary output
files with hourly timesteps (i.e. the 5 minute concentrations within every hour will be averaged
to hourly values). CALAVE should be set up with:

 24 CALPUFF_HH.CON files as input

 1 hour averaging period (AVGPD_HH = 1 ; AVGPD_MM = 0)

 Mode =2 (block averages)

 Start time (00)

 → 24 output files:

CALPUFF_00.CON.1BLOCK

CALPUFF_01.CON.1BLOCK

CALPUFF_23.CON.1BLOCK

Z170308064614 - 0072
27
Step 3: CALMAX

Run a single CALMAX simulation to compute the maximum hourly concentrations at each
receptor for each hour of the year. The maximum at each receptor is taken across the 24
CALPUF.CON.1BLOCK files generated by CALAVE.

 Input files: CALPUFF_01.CON.1BLOCK, … CALPUFF_23.CON.1BLOCK

 Output file: CALMAX_1hr.CON

Step 4: CALRANK

Run a single CALRANK simulation requesting the 90th percentile (90th percentile at each
receptor for each species, date and time at which it occurred)

 Input file: CALMAX_1hr.CON

 Statistic parameter: PERCENTILE = 90 (specified in CALRANK.INP)

 Output plot file: PLOT_PCTL-90.000.DAT

Z170308064614 - 0072
28
2 Roadway

2.1 Introduction

Emissions from roadways are typically characterized by a distribution of sources located along
each road. Commonly applied methods use strings of closely-spaced point/volume sources
distributed along the roads. For large or complex road networks that can incur significant
computational expense due to the large number of sources required, CALPUFF Version 7
introduces the capability of modeling the transport and dispersion of roadway emissions more
efficiently than was previously possible.

The new approach simulates line sources such as roadways using the concept of rod-like puffs,
or simply “rods”. Emitting rods follow the same rules as emitting horizontally symmetric
Gaussian puffs, but far fewer rods aligned with road segments are needed to emulate the
uniform distribution of emissions along a road segment. Furthermore, the notion of a rod
release can be applied to individual intermittent roadway sources, with a representative temporal
pattern specified through the use of the module’s variable emissions input file.

A rod represents a special case of the CALPUFF slug formulation in which all properties are
uniformly distributed along its axis. This allows all transport and dispersion after release to be
accomplished using the slug algorithms already in place. Reduced simulation times for larger
domains are expected while maintaining the near-field details embodied in the initial effective
source distributions. Near-field “hot spots” can be resolved as well as the drift of pollutants to
sensitive areas further away.

2.2 Modeling Procedures

Each roadway link in a simulation is treated as a discrete, named source and is defined as a
section of the road for which emissions (g/m/s) are uniform. Link properties include the
effective height above ground, the initial concentration distribution width (y) and height (z)
perpendicular to the link axis, and the emission rate for all emitted species. Links with constant
properties for the simulation period can be described in the model control file. Some variability

Z170308064614 - 0072
29
in emission rates may be included using emission factors for selected links and species. These
factors can be specified by time-of-day, day-of-week, month, temperature, etc., so simple
emissions profiles can be accommodated. Much more variation can be obtained using external
variable emissions (RDEMARB.DAT) files which can include sub-hourly updates that do not
need to be uniform in time.

A link is located by a series of two or more coordinate triples (x,y,z) that describe its path,
where the vertical coordinate is the road elevation above mean sea level. A long, winding
isolated road might be characterized by a single link made up of many coordinate triples. These
points should be sufficient to resolve curves, but need not have uniform spacing. For example, a
straight flat segment can be defined by 2 points, regardless of the distance covered. All line
segments are automatically divided further within the model into segments that are limited by
the modeling grid-cell boundaries (no segment may extend across multiple meteorological grid
cells). One emission rate for each species is used for the entire link. Near a congested
intersection, many short links may be required to resolve the spatial and temporal distribution of
emissions.

Individual segments of a link emit rod-like puffs with the long axis aligned with the segment.
Like symmetric puffs, many discrete rods are emitted sequentially in time and concentrations
are obtained at receptors by integrating their impact during a sampling period as they are
transported by the wind. A rod has a uniform mass distribution along its length and a single
Gaussian lateral (σy) and vertical (σz) distribution across it and at each end. The ends of the rod
have identical properties, as there is no difference in “age”. Unlike slugs emitted from point
sources, rods do not elongate in the transport direction during the emission time step, and so
they have no young and old ends. Otherwise, they are treated just like slugs in the sampling
routines. As the σy at the ends of a rod grow with time and become large compared to its length,
the elongation of the rod becomes imperceptible and each eventually converts to a symmetric
puff. Because puffs are sampled more quickly than slugs, this improves the overall efficiency of
the simulation.

Z170308064614 - 0072
30
2.3 Road Emission File (RDEMARB.DAT)

This CALPUFF emissions file characterizes the distribution of one or more pollutants resulting
from activities that are distributed along a network of roads or similar line-segments. Each
segment generates an elongated puff or ‘tube’, which is described by the location and height of
the endpoints of the segment and the effective vertical and horizontal cross-segment distribution
sigmas at these points. Mass emissions per unit length along the segment are provided for all
species modeled.

Roads are described by a sequence of coordinates provided for each road-link. Each link is
entered as a discrete, named source and is defined as a section of the road for which emissions
are uniform. A long, winding isolated road might be characterized by a single link made up of
many coordinate triples (x,y,z) that describe its pathway. These points should be sufficient to
resolve curves, but need not have uniform spacing. For example, a straight flat segment can be
defined by two points, regardless of the distance covered. Long line segments are automatically
divided further within the model into segments that are limited by the grid-cell boundaries (no
segment may extend across multiple cells). One emission rate (in grams per second per meter)
for each species is used for the entire road-link. Near a congested intersection, many short links
might be required to resolve the spatial and temporal distribution of emissions. Each is entered
and modeled as a discrete source.

The sequence of coordinates (x,y,z) that defines each link appears in the header, and so is
constant for the simulation. The sequence may be specified in a coordinate system other than
that used in the dispersion model, and will be transformed within the model. Time-varying
properties are provided in the data records that follow the header, and include the height above
ground, the initial distribution parameters (y and z,) and the emission rate for all emitted
species.

The beginning and ending times of each data record are specified as year, Julian-day, hour and
seconds, and can be of arbitrarily varying duration. However, as for all other arbitrarily-varying
emissions files, the ending time of one record must be equal to the beginning time of the next

Z170308064614 - 0072
31
record and periods of inactivity (zero emission) must be explicitly defined with zero emission
rates.

The RDEMARB.DAT record description and format are detailed in Table 2-1 through Table
2-5. As some records in the RDEMARB.DAT file are processed via a formatted read in
CALPUFF, attention must be paid to the length, type, and spacing in between each variable
when preparing the RDEMARB.DAT file.

Z170308064614 - 0072
32
Table 2-1 Example Road Emissions File with Arbitrarily Varying Data (RDEMARB.DAT)

RDEMARB.DAT 1.0 Initial configuration


3
Comment Line 1
Comment Line 2
Comment Line 3
UTM
19N
NAS-C 02-21-2003
KM
UTC-0500
2002 009 00 0000 2002 009 20 0000
2 1
'SO2'
30.000
'MAIN_ST_32' 8
1. 340.000 4875.500 101.000 0.000 0.000 0.000 0.000
2. 342.087 4875.492 100.500 0.000 0.000 0.000 0.000
3. 344.171 4872.470 103.000 0.000 0.000 0.000 0.000
4. 344.250 4871.433 105.000 0.000 0.000 0.000 0.000
5. 345.321 4868.383 101.000 0.000 0.000 0.000 0.000
6. 343.383 4865.321 105.000 0.000 0.000 0.000 0.000
7. 341.433 4860.250 110.040 0.000 0.000 0.000 0.000
8. 340.470 4861.171 108.600 0.000 0.000 0.000 0.000
'CENTRAL' 4
1. 339.000 4879.500 96.000 0.000 0.000 0.000 0.000
2. 334.021 4876.600 101.000 0.000 0.000 0.000 0.000
3. 336.370 4876.400 108.000 0.000 0.000 0.000 0.000
4. 338.750 4877.503 113.000 0.000 0.000 0.000 0.000
2002 009 00 0000 2002 009 05 0000
'MAIN_ST_32' 2.0 4.2 3.0 .040
'CENTRAL' 1.0 3.5 1.5 .020
2002 009 05 0000 2002 009 06 0000
'MAIN_ST_32' 2.0 4.2 3.0 .050
'CENTRAL' 1.0 3.5 1.5 .021
2002 009 06 0000 2002 009 20 0000
'MAIN_ST_32' 2.2 4.2 3.5 .060
'CENTRAL' 1.1 3.5 1.6 .025

Z170308064614 - 0072
33
Table 2-2 RDEMARB.DAT Header Record Variables

RDEMARB.DAT 1.0 Initial configuration Dataset Name, Dataset Version, Dataset Message
(char*16, char*16, char*64)
Format: (2a16,a64)
3 Number of comment lines to follow (integer)
Free-Format
Comment Line 1 Comment lines (80 characters per record are read)
Comment Line 2
Comment Line 3
UTM Map Projection Type (char*8)
19N Format: (a8)
UTM Zone, Hemisphere (integer,char*1)
Format: (i4,a1)
[See Table 3-5 for alternate map projection records]
NAS-C 02-21-2003 DATUM code and date (char*8, char*12)
Format: (a8,a12)
KM Map units are kilometers (char*4)
Format: (a4)
UTC-0500 Time Zone as (UTC+hhmm) (char*8)
Format: (a4)
2002 009 00 0000 2002 009 20 0000 Start time and end time of data in file as Year, Julian Day,
Hour, Second (0-3599) (integer)
Free-Format
2 1 Number of sources, Number of species (integer)
Free-Format
'SO2' Species names (char*16)
Free-Format (single quotes required)
30.000 Molecular weights for species (real)
Free-Format

Z170308064614 - 0072

34
Table 2-3 RDEMARB.DAT Time-Invariant Data Records

'MAIN_ST_32' 8 Source 1 to N (number of sources):


1. 340.000 4875.500 101.000 0.000 0.000 0.000 0.000
Name and number of points (char*16, integer)
2. 342.087 4875.492 100.500 0.000 0.000 0.000 0.000
3. 344.171 4872.470 103.000 0.000 0.000 0.000 0.000 Free-Format
4. 344.250 4871.433 105.000 0.000 0.000 0.000 0.000 (single quotes required around Source Name)
5. 345.321 4868.383 101.000 0.000 0.000 0.000 0.000
6. 343.383 4865.321 105.000 0.000 0.000 0.000 0.000 Coordinates with elevation for each point (reals)
7. 341.433 4860.250 110.040 0.000 0.000 0.000 0.000 Point number, X(km), Y(km), Z(m MSL), NULL(4)
8. 340.470 4861.171 108.600 0.000 0.000 0.000 0.000 Free-Format
'CENTRAL' 4
1. 339.000 4879.500 96.000 0.000 0.000 0.000 0.000
2. 334.021 4876.600 101.000 0.000 0.000 0.000 0.000
3. 336.370 4876.400 108.000 0.000 0.000 0.000 0.000
4. 338.750 4877.503 113.000 0.000 0.000 0.000 0.000

 Time-invariant data must be assigned to each of the sources (identified by Source Name). In the example above, there are two sources
('MAIN_ST_32' and 'CENTRAL') with a corresponding block of time-invariant data records for each.

 Coordinates are in the map projection defined in the header (see CALPUFF documentation for supported projection and datum codes).

 The NULL variables are currently placeholders and should be entered with zero values as shown above.

Z170308064614 - 0072

35
Table 2-4 RDEMARB.DAT Time-Varying Data Records

2002 009 00 0000 2002 009 05 0000 Time Period 1 to N (spanning start to end time in file):
'MAIN_ST_32' 2.0 4.2 3.0 .040 Period start and end times (integers)
'CENTRAL' 1.0 3.5 1.5 .020 Start Year, Julian Day, Hour, Second(0-3599),
2002 009 05 0000 2002 009 06 0000 End Year, Julian Day, Hour, Second(0-3599)
'MAIN_ST_32' 2.0 4.2 3.0 .050 Free-Format
'CENTRAL' 1.0 3.5 1.5 .021
2002 009 06 0000 2002 009 20 0000 Time-varying data (repeated for Source 1 to N)
'MAIN_ST_32' 2.2 4.2 3.5 .060 Name (char*16; single quotes required)
'CENTRAL' 1.1 3.5 1.6 .025 Height above ground of initial distribution (real)
(meters above ground level)
Initial sigma-y (across the ‘tube’) (real)
(meters)
Initial sigma-z (real)
(meters)
Emission rate (repeated for each species in the
order defined by the species names in the
header) (real)
(grams per second per meter)
Free-Format

 Time-varying data must be entered for each source matching the source names entered in the time-invariant data section.

 In the example above, there are three time periods (spanning the start to end times of the data in the file) with a corresponding block of time-
varying data for each of the two sources ('MAIN_ST_32' and 'CENTRAL') below each.

Z170308064614 - 0072

36
Table 2-5 RDEMARB.DAT Map Projection Records

UTM Universal Transverse Mercator


19N Map Projection Type (char*8)
Format: (a8)
UTM Zone, Hemisphere (integer,char*1)
Format: (i4,a1)
LCC Lambert Conformal Conic
40.5N 90.0W 30.0N 60.0N Map Projection Type (char*8)
0.00000000E+00 0.00000000E+00 Format: (a8)
Origin Latitude, Origin Longitude, and two matching
parallels (char*16)
Format: (4a16)
False Easting and Northing km (real)
Free-Format
TTM Tangential Transverse Mercator
40.5N 90.0W Map Projection Type (char*8)
0.00000000E+00 0.00000000E+00 Format: (a8)
Origin Latitude, Origin Longitude (char*16)
Format: (2a16)
False Easting and Northing km (real)
Free-Format
PS Polar Stereographic
40.5N 90.0W 30.0N Map Projection Type (char*8)
Format: (a8)
Origin Latitude, Origin Longitude, and 1 matching parallel
(char*16)
Format: (3a16)
EM Equatorial Mercator
0.0N 90.0W Map Projection Type (char*8)
Format: (a8)
Origin Latitude, Origin Longitude (char*16)
Format: (2a16)
LAZA Lambert Azimuthal Equal Area
40.5N 90.0W Map Projection Type (char*8)
0.00000000E+00 0.00000000E+00 Format: (a8)
Origin Latitude, Origin Longitude (char*16)
Format: (2a16)
False Easting and Northing km (real)
Free-Format

Z170308064614 - 0072

37
3 Spray

3.1 Introduction

Exponent was retained by the U.S. Department of Agriculture (USDA) Forest Service to update
the CALPUFF model in order to accommodate emissions produced during aerial spraying
activities. The emissions input to the CALPUFF model are produced by the model AGDISP
which predicts the motion of spray material released from aircraft, including evaporation and
turbulent dispersion within the aircraft wake. The hand-off to CALPUFF will be executed at a
time after release when all turbulent vortices have died down and evaporation of the droplet
volatile fraction is complete. AGDISP will export the position, elevation, final droplet diameter
and emissions associated with the range of particle sizes released from each aircraft nozzle.
These values will be accepted by CALPUFF version 7.3.0 and used to define sources for the
purpose of predicting further down-wind dispersion and deposition.

3.2 CALPUFF Code Updates

The CALPUFF version 7.3 code was updated to include a new SPRAY source type. This
source type has been developed in order to represent the distribution of liquid droplets which are
generated by aerial spraying applications or similar activities. Conceptually, this new source
corresponds to a set of line-sources or ‘tubes’, which are described by the location and height of
the endpoints of the flight track and an effective initial vertical and horizontal cross-track
distribution (x and y) at these points. The concentration distribution for each tube is
essentially equivalent to the distribution which would be achieved through the use of a large
number of adjacent volume sources and is similar to the configuration used for the ROAD
source introduced in CALPUFF version 7.2. Mass emissions per unit length per second along
the track are provided for all species modeled. Each ‘tube’ will contain droplets of a single
diameter size and all species are modeled as being contained within the common droplets.
Multiple ‘tubes’ in the same spray-track can be used to represent the distribution of different
droplet diameters.

Z170308064614 - 0072
38
The SPRAY source and CALPUFF code have been designed conceptually to allow the
evaporation calculations present in the AGDISP model to be continued in the CALPUFF
simulation after hand-off. At the present time, the values necessary to perform these
calculations have been included in an updated CALPUFF control file and external variable
emissions file, but the evaporation option is not active. It is anticipated that for the initial
situation under consideration, evaporation will be complete within a reasonably short period
after the release, so that further evaporation in CALPUFF is not presently required.

In order to implement this new SPRAY source type, updates have been made to the CALPUFF
input control file and a new variable emissions file for SPRAY sources (SPEMARB.DAT) has
been created. The sections below detail the changes and updates which have been made.

3.3 Control File Updates

The CALPUFF version 7.0 control file has been updated to version 7.01 in order to accept
parameters necessary to model the SPRAY source. The following additions were made to the
control file structure.

Input Group 0 (Added parameter):


Number of SPRAY source files (SPEMARB.DAT)
with time-varying data (NSPDAT)
Default: 0 ! NSPDAT = 1 !

The value of NSPDAT reflects the number of external time varying emissions files which will
be provided. The external time varying emissions files follow a format which will be explained
in section 4.

Z170308064614 - 0072
39
Input Group 0g (Added field)

-------------
Subgroup (0g) – SPEMARB.DAT files
-------------

SPRAY Source File Names


The following SPEMARB.DAT filenames are processed if NRDDAT>0
A total of NSPDAT lines is expected with one file name assigned per line
Each line is treated as an input group and must terminate with END
(surrounded by delimiters)
(Each file contains emissions parameters for the entire period modeled
for 1 or more sources)

Default Name Type File Name


------------ ---- ---------
none input ! SPDAT= SPEMARB.DAT ! !END!

The name and path (if required) of each time varying emissions file is provided in input group
0g.

Input Group 2 (Added parameter)

Evaporation modeled ? (MEVAP) Default: 0 ! MEVAP = 0 !


0 = no
1 = yes (evaporation rates specified -[not currently available])
2 = yes (evaporation rates internally calculated -[not currently
available])

The parameter MEVAP has been added to the control file structure in order to allow for future
implementation of evaporation within the CALPUFF model. The option is not presently
implemented and use of any value other than 0 will result in a warning message and termination
of the run.

Input Group 3a (Table format modified)


OUTPUT GROUP
SPECIES MODELED EMITTED DEPOSITED DROPLETS NUMBER
NAME (0=NO, 1=YES) (0=NO, 1=YES) (0=NO, (0=NO, 1=YES) (0=NONE,
(Limit: 12 1=COMPUTED-GAS 1=1st CGRUP,
Characters 2=COMPUTED-PARTICLE 2=2nd CGRUP,
in length) 3=USER-SPECIFIED) 3= etc.)
! ACT1 = 1, 1, 2, 1, 0 !
! ADD1 = 1, 1, 2, 1, 0 !

The table in Input Group 3a has been modified to include a column (column 5) noting which
species will be modeled as droplets. Species which are modeled as droplets will all have a
common diameter defined by the diameter of the droplet. Any modification to the droplet

Z170308064614 - 0072
40
diameter will affect all species contained within it. Presently droplets can only be emitted from
SPRAY sources and a run which includes droplets cannot contain other non-droplet species.

Input Group 8 (Modified Documentation)


INPUT GROUP: 8 -- Size parameters for dry deposition of particles
--------------
For SINGLE SPECIES, the mean and standard deviation are used to
compute a deposition velocity for NINT (see group 9) size-ranges,
and these are then averaged to obtain a mean deposition velocity.

For GROUPED SPECIES, the size distribution should be explicitly


specified (by the 'species' in the group), and the standard deviation
for each should be entered as 0. The model will then use the
deposition velocity for the stated mean diameter.

For DROPLET species, the GEOMETRIC MASS MEAN DIAMETER is included


in the external variable emissions file. Values should not be
reported here for droplet species

SPECIES GEOMETRIC MASS MEAN GEOMETRIC STANDARD


NAME DIAMETER DEVIATION
(microns) (microns)
------- ------------------- ------------------

!END!

Input Group 8 provides for the input of size parameters for dry deposition of particles. Droplets
are modeled as particles, but size parameters are not entered in this input group for species
included in droplets. For these species, the size parameters will be provided in the external
variable emissions file. Documentation has been added in this section to clarify use when
modeling droplets.

Z170308064614 - 0072
41
Input Group 10b (New Input Group)
---------------
Subgroup (10b)
---------------

Scavenging Coefficient for droplet species


All species contained in a drop will have
common scavenging coefficients based on the
droplet.
(SCSPRAY)

Scavenging Coefficient -- Units: (sec)**(-1)

Liquid Precip. Frozen Precip.


-------------- --------------
! SCSPRAY = 1.0E-04, 3.0E-5 !

!END!

Input Group 10b provides wet deposition scavenging coefficients for species modeled as
droplets. For non-droplet species, these parameters are provided for each species in Input
Group 10a (which in previous input file formats was labeled as Input Group 10). Droplet
species will all have common values.

Input Group 11c (New Input Group)


--------------
Subgroup (11c)
--------------

Each species modeled as evaporating in Input Group 3a


should have an evaporation rate set here. (Current code does
not include evaporation. – Option is not Active)

Evaporation Rates -- Units: (um2/deg C/sec)

Pollutant Evaporation Rate


--------- --------------
! H2O = 84.76 !
! END !

Input Group 11c was implemented to accept an evaporation rate consistent with the evaporation
calculations made in AGDISP. The option to calculate evaporation is not presently active in
CALPUFF so this value is not used in the current version of the code.

Z170308064614 - 0072
42
Input Group 19 (New Input Group)

---------------
Subgroup (19)
---------------

Emissions from spray lines are generated from individual line segments
defined by a sequence of coordinates provided for each spray-link. Each
link is entered as a discrete source and is defined as a section of the
spray line for which emissions are uniform.

Long spray line segments are automatically


divided further within the model into segments that are limited by the
grid-cell boundaries (no segment may extend across multiple cells).
One emission rate (g/m/s) for each species is used for the entire line.

Number of spray-lines with arbitrarily time-varying


emission parameters (NSP2) No default ! NSP2 = 2 !
(If NSP2 > 0, ALL variable road data
are read from the file: SPEMARB.DAT)

!END!

Input Group 19 is a new input group to accept the SPRAY emission source. The variable NSP2
denotes the number of spray-lines which will be included in the external variable emissions file
(SPEMARB.DAT).

Z170308064614 - 0072
43
3.4 External Variable Emissions SPRAY File (SPEMARB.DAT)

The CALPUFF external variable spray emissions file characterizes the distribution of air-born
droplets or particulates resulting from spraying operations carried out from a moving platform
(e.g., aircraft, truck, etc.) where the speed of the spray-craft dominates the geometry of the
emitted trail.

The tracks locations, droplet diameters and mass emission rates are specified in
SPEMARB.DAT. Coordinate projection parameters and time zones are defined in the header
and so may be independent of the map projection and time zone selected for the CALPUFF
simulations.

The beginning and ending times of each record are specified as year, Julian-day, hour and
seconds, and can be of arbitrarily varying duration. However, as for all other arbitrarily-varying
emissions files, the ending time of one record must be equal to the beginning time of the next
record and periods of inactivity (zero emission) must be explicitly defined with zero emission
rates.

The SPEMARB.DAT record description and format are detailed in Table 3-1 through Table 3-4.
Not all records in a SPEMARB.DAT file are “free reading” and attention must be paid to the
length of each variable, type, and spacing in between them.

Z170308064614 - 0072
44
Table 3-1 Example SPRAY Emissions File with Arbitrarily Varying Data (SPEMARB.DAT)
SPEMARB.DAT 1.0 Initial configuration
6
Header records are a mix of formatted and free-format structures
Time-invariant data records are free-format
Time-invariant data records allow 3 assignments per source (none are currently used)
Time-variable data records are free-format
Time-variable data records contain
X1(km),Y1(km),Z1(mASL),H1(mAGL),Sigy1(m),Sigz1(m),X2(km),Y2(km),Z2(mASL),H2(mAGL),Sigy2(m),Sigz2(m),
Pdiam(um),Dcut(um),Q(g/m/s)...
UTM
19N
NAS-C 02-21-2003
KM
UTC-0500
1990 009 04 0000 1990 009 10 0000
3 2
‘NONVOLATILE’ 'ACTIVE1'
30.00 30.000
'Source 1' 0.0 0.0 0.0
'Source 2' 0.0 0.0 0.0
'Source 3' 0.0 0.0 0.0
1990 009 04 0000 1990 009 04 0001
'Source 1' 340.486 4870.640 10.0 9.4 5.1 5.1 341.051 4870.048 10.0 9.4 5.1 5.1 3.0 2.0 .10 .05
'Source 2' 340.486 4870.640 10.0 6.9 5.8 5.8 341.051 4870.048 10.0 6.9 5.8 5.8 3.0 2.0 .10 .05
'Source 3' 340.486 4870.640 10.0 5.9 5.9 5.9 341.051 4870.048 10.0 5.9 5.9 5.9 3.0 2.0 .10 .05
1990 009 04 0001 1990 009 04 1835
'Source 1' 340.486 4870.640 10.0 9.4 5.1 5.1 341.051 4870.048 10.0 9.4 5.1 5.1 3.0 2.0 .00 .00
'Source 2' 340.486 4870.640 10.0 6.9 5.8 5.8 341.051 4870.048 10.0 6.9 5.8 5.8 3.0 2.0 .00 .00
'Source 3' 340.486 4870.640 10.0 5.9 5.9 5.9 341.051 4870.048 10.0 5.9 5.9 5.9 3.0 2.0 .00 .00
1990 009 04 1835 1990 009 10 1836
'Source 1' 341.486 4871.640 10.0 9.4 5.1 5.1 342.051 4871.048 10.0 9.4 5.1 5.1 3.0 2.0 .10 .05
'Source 2' 341.486 4871.640 10.0 6.9 5.8 5.8 342.051 4871.048 10.0 6.9 5.8 5.8 3.0 2.0 .10 .05
'Source 3' 341.486 4871.640 10.0 5.9 5.9 5.9 342.051 4871.048 10.0 5.9 5.9 5.9 3.0 2.0 .10 .05
1990 009 04 1836 1990 009 10 0000
'Source 1' 341.486 4871.640 10.0 9.4 5.1 5.1 342.051 4871.048 10.0 9.4 5.1 5.1 3.0 2.0 .00 .00
'Source 2' 341.486 4871.640 10.0 6.9 5.8 5.8 342.051 4871.048 10.0 6.9 5.8 5.8 3.0 2.0 .00 .00
'Source 3' 341.486 4871.640 10.0 5.9 5.9 5.9 342.051 4871.048 10.0 5.9 5.9 5.9 3.0 2.0 .00 .00
Example header records for each map projection (either 2 or 3 records):

Universal Transverse Mercator


UTM
19N

Lambert Conformal Conic


LCC
40.5N 90.0W 30.0N 60.0N
0.00000000E+00 0.00000000E+00

Tangential Transverse Mercator


TTM
40.5N 90.0W
0.00000000E+00 0.00000000E+00

Polar Stereographic
PS
40.5N 90.0W 30.0N

Equatorial Mercator
EM
0.0N 90.0W

Lambert Azimuthal Equal Area


LAZA
40.5N 90.0W
0.00000000E+00 0.00000000E+00

Z170308064614 - 0072
45
Table 3-2 SPRAY Emissions File With Arbitrarily Varying Data (SPEMARB.DAT): Description of Header Variables
SPEMARB.DAT 1.0 Initial configuration Dataset Name, Dataset Version, Dataset Message
(char*16, char*16, char*64) Format: (2a16,a64)
6 Number of comment lines to follow (integer) Free-Format
Header records are a mix of formatted and free-format structures Comment lines (80 characters per record are read)
Time-invariant data records are free-format
Time-invariant data records allow 3 assignments per source (none are currently used) These should provide any information related to the model
Time-variable data records are free-format application. Here, the comments provide some
Time-variable data records contain documentation on the file structure.
X1(km),Y1(km),Z1(mASL),H1(mAGL),Sigy1(m),Sigz1(m),X2(km),Y2(km),Z2(mASL),H2(mAGL),Si
gy2(m),Sigz2(m), Pdiam(um),Dcut(um),Q(g/m/s)...

UTM - Map Projection (char*8) Format: (a8)


19N
- UTM Zone, Hemisphere (integer,char*1) Format: (i4,a1)
LCC - Map Projection (char*8) Format: (a8)
40.5N 90.0W 30.0N 60.0N
- Origin Latitude, Origin Longitude, and 2 matching parallels (char*16)
0.00000000E+00 0.00000000E+00
Format: (4a16)
- False Easting and Northing km (real) Free-Format
TTM - Map Projection (char*8) Format: (a8)
40.5N 90.0W
- Origin Latitude, Origin Longitude (char*16) Format: (2a16)
0.00000000E+00 0.00000000E+00
- False Easting and Northing km (real) Free-Format
PS - Map Projection (char*8) Format: (a8)
40.5N 90.0W 30.0N
- Origin Latitude, Origin Longitude, and 1 matching parallel (char*16)
Format: (3a16)
EM - Map Projection (char*8) Format: (a8)
0.0N 90.0W
- Origin Latitude, Origin Longitude (char*16) Format: (2a16)
LAZA - Map Projection (char*8) Format: (a8)
40.5N 90.0W
- Origin Latitude, Origin Longitude (char*16) Format: (2a16)
0.00000000E+00 0.00000000E+00
- False Easting and Northing km (real) Free-Format
NAS-C 02-21-2003 DATUM code, date (char*8, char*12) Format: (a8,a12)
KM Map units are KM (char*4) Format: (a4)
UTC-0500 Time Zone as (UTC+hhmm) (char*8) Format: (a4)
1990 009 04 0000 1990 009 10 0000 Start time and end time of data in file as Year, Julian Day,
Hour, Second(0-3599) (integer) Free-Format
3 2 Number of sources, Number of species
(integer) Free-Format
‘NONVOLATILE’ 'ACTIVE1' Species names (char*16) Free-Format (quotes required)
30.000 30.000 Molecular weights for species (real) Free-Format

Z170308064614 - 0072

46
Table 3-3 SPRAY Emissions File With Arbitrarily Varying Data (SPEMARB.DAT): Description of Time-Invariant Data
'Source 1' 0.0 0.0 0.0 Source Name, Var1 - Var3 (char*16, real)
'Source 2' 0.0 0.0 0.0
'Source 3' 0.0 0.0 0.0 Free-Format (quotes required on Source Name)

Time-invariant data must be assigned to each of the sources, which are identified by name. In this example, there are 3 sources so there are 3
records.
None of “Var” values are currently defined for use, but all 3 columns must have values (zeros).

Z170308064614 - 0072

47
Table 3-4 SPRAY Emissions File With Arbitrarily Varying Data (SPEMARB.DAT): Description of Time-Varying Data
1990 009 04 0000 1990 009 04 0001
'Source 1' 340.486 4870.640 10.0 9.4 5.1 5.1 341.051 4870.048 10.0 9.4 5.1 5.1 3.0 2.0 .10 .05
'Source 2' 340.486 4870.640 10.0 6.9 5.8 5.8 341.051 4870.048 10.0 6.9 5.8 5.8 3.0 2.0 .10 .05
'Source 3' 340.486 4870.640 10.0 5.9 5.9 5.9 341.051 4870.048 10.0 5.9 5.9 5.9 3.0 2.0 .10 .05

Source Name X1 Y1 Z1 H1 Sigmay1 Sigmaz1 X2 Y2 Z2 H2 Sigmay2 Sigmaz2 Pdiam Dcut Q…


(KM) (KM) (mASL) (mAGL) (m) (m) (KM) (KM) (mASL) (mAGL) (m) (m) (um) (um) (g/m/s)

Time-varying data must be assigned to each of the sources, which are identified by name. These are matched to the names entered in the time-
invariant data section. In this example, there are 3 sources and 4 records. The first record contains the start-time and end-time for the period in
which the data are valid. The entries when the source is emitting are 1 second long which is used to represent an instantaneous release. The
source data follow. This set of records is repeated for all time periods in the file.

Record 1: (5 variables)

Year, Julian Day, Hour, Second(0-3599), Number of Active Sources for this Release (integers) Free-Format

Record 2 through NSRC+1 (NSRC=number of sources):

Source Name, X1, Y1, Z1,Sigmay1,Sigmaz1, H1, X2, Y2, Z2, H2, Sigmay2, Sigmaz2, Pdiam, Dcut, (Q(n), n=1,NSPEC) (char*16, reals)
Free-Format (quotes required on Source Name)

- X1,Y1,Z1,H1 Location of end 1 of track (X1,Y1,Z1 coordinate and H1 Height above ground)
- Sigmay1, Sigmaz1 Initial sigma-y across the ‘tube’ and initial sigma-z at end 1
- X2,Y2,Z1,H2 Location of end 2 of track (X1,Y1,Z1 coordinate and H1 Height above ground)
- Sigmay2, Sigmaz2 Initial sigma-y across the ‘tube’ and initial sigma-z at end 2
- Pdiam Aerodynamic particle size (um)
- Dcut Minimum diameter for evaporation (um)
- Q(n) Instantaneous Emission rate for each species (g/m/s), in the order defined by the species names in the header

Z170308064614 - 0072

48
3.5 Preparation of External Variable Emissions Files from
AGDISP Output.

Coupling between AGDISP and CALPUFF is accomplished through an output file generated by
AGDISP which can be used to produce a SPRAY External Variable Emissions file
(SPEMARB.DAT) readable by CALPUFF. In AGDISP, an option must be selected under
“Advanced Settings” specifying that the model should “Save CALPUFF data”. After
completion of the AGDISP run, the user can then select the menu option to “Export CALPUFF
Data” which will open a screen for data input. The “Export CALPUFF Data” screen will allow
input of 5 values:

 SPRAY Line Beginning X Coordinate (km)


 SPRAY Line Beginning Y Coordinate (km)
 Base Z Elevation (m)
 Spray Line Length (km)
 Flight Direction (0 deg = North) (deg)

Values for the SPRAY Line Beginning X and Y coordinates should be entered in a coordinate
system consistent with the configuration of the CALPUFF run. Base Z Elevation represents a
single base elevation representative of the field being sprayed. It will be used as the base
elevation for all sources produced by AGDISP. The SPRAY Line Length and Flight Direction
define the length and direction of the spray line relative to the beginning point.

The output file generated by AGDISP does not represent a complete SPRAY External Variable
Emissions file (SPEMARB.DAT). Additional user editing is necessary to configure the data file
for use in CALPUFF. A SPEMARB.DAT file consists of 3 main sections: Header Records
(described in Table 3-2), Time Invariant Records (described in Table 3-3) and Time Varying
Records (described in Table 3-4). The following sections describe generation of each of these
record sections for a simple CALPUFF application using AGDISP output.

Z170308064614 - 0072
49
3.5.1 Header Records

The header records must be generated by the user and, consistent with Table 3-2, contain the
following fields:

 A user defined number of comment lines


 Geographic projection information which should be consistent with the coordinates
entered in the AGDISP “Export CALPUFF Data” screen
 Time zone and time period which should cover the full length of the desired CALPUFF
simulation
 The number of sources and number of species. The number of sources can be
determined based on the numbered sources listed in the AGDISP output file. The
number of species will always be 2 for runs using an AGDISP output file. The two
species produced by AGDISP are the Nonvolatile and Active portions of the spray.
Those two species should be listed here
 The Species name, which must be consistent with the species name used in the
CALPUFF input control file
 The Species molecular weight (a parameter not presently used in any CALPUFF
calculations, but which must be present)

3.5.2 Time Invariant Records

The time invariant records contain a list of the modeled sources and their format is summarized
in Table 3-3. No user editing is required in this section. Time invariant data is provided in the
first portion of the output file generated by AGDISP. Each line contains a source name in
quotes, followed by 3 numerical fields, each containing a value of 0.0. The numerical fields are
not presently used by the CALPUFF code, but must be present. The number of lines of data
defined in this section should match the number of sources listed in the Header Records.

3.5.3 Time Varying Records

Time varying records must be provided to cover the entire period of the CALPUFF run. Each
time varying record includes a line containing a time beginning and time ending stamp for the
emissions data. It then includes emissions data for each modeled source. The format is
documented in Table 3-4. Data must be provided both for the time when the spray is released
and the periods of time between spraying releases. The periods of time between releases
include records for all sources, but emissions are zero for every source.

Z170308064614 - 0072
50
The output file generated by AGDISP provides blocks of time varying data required to define
the source and emissions for multiple aerial passes. It includes records both for the spray
emission periods, and the times between spray emissions. The user is required to edit the time
beginning and ending fields, as described on the next page. Each time varying data record will
contain multiple rod sources with differing locations and/or droplet diameters. The source and
emissions data represent the values at the handoff time between AGDISP and CALPUFF. The
fields contained in the AGDISP output file include:

 X coordinate for beginning of rod – X1 (km)


 Y coordinate for beginning of rod – Y1 (km)
 Base elevation for beginning of rod – Z1 (m)
 Height above ground for beginning of rod – H1 (m)
 sigma y for beginning of rod – σy1 (m)
 sigma z for beginning of rod – σz1 (m)
 X coordinate for ending of rod – X2 (km)
 Y coordinate for ending of rod – Y2 (km)
 Base elevation for ending of rod – Z2 (m)
 Height above ground for ending of rod – H2 (m)
 y for ending of rod – σy2 (m)
 z for ending of rod – σz2 (m)
 Droplet diameter (µm)
 Cut-off diameter for evaporation (µm)
 Nonvolatile emissions for this droplet diameter and position (g/m)
 Active emissions for this droplet diameter and position (g/m)

Note that the emissions provided by AGDISP are in units of g/m. In order to ensure that these
units are consistent with the CALPUFF units of g/m/s, the length of the timestep when the spray
is emitting will need to be defined to be 1 second long (See Table 3-1 for an example).

Z170308064614 - 0072
51
Each block of time varying data output by AGDISP begins with a place-holder string of text
which reads “YYYY DDD HH SSSS YYYY DDD HH SSSS”. These fields must be replaced
by the user with the year, Julian day, hour, and second representing the beginning and ending
time of the represented period. For periods when a spray is emitted, the total length of time
between the beginning and ending time must be 1 second. For example, to represent a spray
release which occurs at 10 am on July 1st (Julian Day 182), 2010 the following beginning and
ending time stamps should be used.

2010 182 10 0000 2010 182 10 0001

Time varying records must also be supplied for periods between spray releases. AGDISP will
produce a second time varying block of data for this period with zero emissions for all sources.
This block of data will again include a place-holder string of text which must be updated by the
user. The time stamps used for this section should represent the period of time between the end
of the last spray release and the beginning of the next release. For example, if spray releases are
spaced 30 seconds apart, the time varying record representing the period between releases (with
zero emissions) should use the following beginning and ending time stamps.

2010 182 10 0001 2010 182 10 0030

The time stamps for the next emitting spray line with a period of 1 second would be:

2010 182 10 0030 2010 182 10 0031

If AGDISP is configured to model multiple aerial passes, the output file will contain multiple sets of
emitting and non-emitting time varying records. Each record will require the user to provide time
stamps which follow the above pattern. The final non-emitting time varying record should cover the
full time from the end of the last emitting spray to the end of the CALPUFF run.

Z170308064614 - 0072
52
Appendix A

Sample CALAVE.INP
CALAVE.INP

CALAVE.INP 1.0 Test Configuration


-----------------------------------------------------------------------------

CALAVE Processor CONTROL FILE


-----------------------------
PURPOSE
-------

Mode 1: Running averages

This utility reads a CALPUFF output file (CONC, WET, DRY) and creates a running
average of its contents. These averages are reported from a specified start-time
and are written for each data period thereafter.

For example, if 24-hour averages starting at 10AM (start time = 10:00) are
requested and the original CALPUFF output file contains half-hour values
beginning at 0930 on March 13:

First 24-hour average: 1000 (March 13) to 1000 (March 14)


Second 24-hour average: 1030 (March 13) to 1030 (March 14)
Third 24-hour average: 1100 (March 13) to 1100 (March 14)

The last 24-hour period will end at the end of the last 30-minute period in the file.

Mode 2: Block averages

This utility reads a CALPUFF output file (CONC, WET, DRY) and creates a blocked
average of its contents. These averages are reported from a specified start-time
and are written end-to-end thereafter.

For example, if calendar-day 24-hour averages are requested (start time = 00:00)
and the original CALPUFF output file contains half-hour values beginning at 0930
on March 13:

First 24-hour average: 0000 (March 14) to 0000 (March 15)


Second 24-hour average: 0000 (March 15) to 0000 (March 16)
Third 24-hour average: 0000 (March 16) to 0000 (March 17)

The last 24-hour period will end at the end of the last full day in the file.

--------------------------------------------------------------------------------

Processing Options
-------------------

Define the output averaging period in hours and minutes. Typically, the
hours will be zero when minutes are non-zero, and minutes will be zero
when hours are non-zero.

Averaging Period (hours) Default: 0 ! AVGPD_HH = 3 !


Averaging Period (minutes) Default: 0 ! AVGPD_MM = 0 !

Mode No Default ! MODE = 1 !


1 = Running averages
2 = Block averages

Starting time (HHMM) Default: 0000 ! START_HHMM = 0000 !

Output Files
------------

Output files are named by adding characters to the end of the input filenames
in the form of a new extension. For example, if an extension '.24_running'
is entered, the output associated with the first file above would be named
'source1.dat.24_running'. Enter the extension, including any punctuation
(must resolve to a legal file name) between delimiters:

Output data file extension Default: .ave ! OUT_EXT = .24run !

Name of output list file for run:

List-file name Default: CALAVE.LST ! LSTFILE = calave.lst !

All file names will be converted to either lower or upper case


T = lower case (LCFILES) Default: F ! LCFILES = F !
F = UPPER CASE

Input Files
-----------

Provide one or more filenames for CALPUFF files to process


(place assignments between delimiters):

! INPFILE = source1.dat !
! INPFILE = source2.dat !
! INPFILE = source3.dat !
! INPFILE = source4.dat !
! INPFILE = source5.dat !
! INPFILE = source6.dat !
Appendix B

Sample CALMAX.INP and


PERIODMAX.OUT
CALMAX.INP
CALMAX.INP 1.0 Test Configuration
--------------------------------------------------------------------------------

CALMAX Processor CONTROL FILE


-----------------------------
PURPOSE
-------

This utility reads a set of CALPUFF-format output files (CONC, WET, or DRY)
and selects the maximum value at each receptor for each block of time. These
time-blocks start at the beginning of the processing period defined below,
and the length of each block is equal to the averaging time of the data in the
input files (averaging time in all input files must match). The input data
may consist of block-averages or running-averages. The start of each average
may be different among the set of input files. All averages with a start-time
that falls within an output time-block are compared when selecting the maximum
for the time-block. If the period of data in a file begins later or ends
earlier than the processing period, CALMAX assumes that those data are zero at
these times.

Example:

Time File 1 File2 Output Block


(3-hr Avg) (3-hr Avg) (3-hr Avg)
----------------------------------------------------
0000 x x 1 (start)
0100 x 1 (start) | File2(1)
0200 x | |
----------------------------------------------------
0300 x | 2
0400 x 2 | File2(2)
0500 x | |
----------------------------------------------------
0600 1 (start) | 3
0700 | 3 | MAX(File1(1),File2(3))
0800 | | |
----------------------------------------------------
0900 2 | 4
1000 | 4 | MAX(File1(2),File2(4))
1100 | | |
----------------------------------------------------
1200 3 | 5
1300 | x | File1(3)
1200 | x |
----------------------------------------------------

Many CALPUFF output files can be included without limit and CALMAX will cycle
through all. Receptors and species must be the same in all files.

CALMAX creates a binary CALPUFF-format file of maximum values for each


species and each receptor for each time-block, which can be processed like any
standard CALPUFF file. It also creates an ASCII timeseries file of the maximum
across all receptors for each time-block and each species.
--------------------------------------------------------------------------------

Processing Period
-------------------

Starting date: Year (S_YEAR) -- No default ! S_YEAR = 1995 !


Month (S_MONTH) -- No default ! S_MONTH = 6 !
Day (S_DAY) -- No default ! S_DAY = 30 !
Starting time: HH:MM:SS (S_TIME) -- No default ! S_TIME = 16:00:00 !

Ending date: Year (E_YEAR) -- No default ! E_YEAR = 1995 !


Month (E_MONTH) -- No default ! E_MONTH = 7 !
Day (E_DAY) -- No default ! E_DAY = 31 !
Ending time: HH:MM:SS (E_TIME) -- No default ! E_TIME = 20:00:00 !

Output Files
------------

ASCII file of Time-Block-Maximum values:

File name No Default ! PERFILE = calmax_period_blk_s.con !

Binary CALPUFF-format file of all maximum values:

File name No Default ! BINFILE = calmax_test_blk_s.bin !

Name of output list file for run:

List-file name Default: CALAVE.LST ! LSTFILE = calmax_test_blk_s.lst !

All file names will be converted to either lower or upper case


T = lower case (LCFILES) Default: F ! LCFILES = F !
F = UPPER CASE

Input Files
-----------

Provide two or more filenames for CALPUFF files to process


(place assignments between delimiters):

! INPFILE = flare.con.01-03blk !
! INPFILE = flare.con.02-03blk !
! INPFILE = flare.con.03-03blk !
! INPFILE = flare.con.04-03blk !
! INPFILE = flare.con.05-03blk !
! INPFILE = flare.con.06-03blk !
! INPFILE = flare.con.07-03blk !
! INPFILE = flare.con.08-03blk !
! INPFILE = flare.con.09-03blk !
! INPFILE = flare.con.10-03blk !
! INPFILE = flare.con.11-03blk !
! INPFILE = flare.con.12-03blk !
! INPFILE = flare.con.13-03blk !
! INPFILE = flare.con.14-03blk !
! INPFILE = flare.con.15-03blk !
! INPFILE = flare.con.16-03blk !
! INPFILE = flare.con.17-03blk !
! INPFILE = flare.con.18-03blk !
! INPFILE = flare.con.19-03blk !
! INPFILE = flare.con.20-03blk !
! INPFILE = flare.con.21-03blk !
! INPFILE = flare.con.22-03blk !
! INPFILE = flare.con.23-03blk !
! INPFILE = flare.con.24-03blk !
PERIODMAX.OUT
PERIODMAX.OUT 1.0
8
---------------------------------------------------------------------------
Prepared by CALMAX Version 1.1 Level 120915
Maxima from a set of CALPUFF output files; information about first is:
Processed by CALAVE Version 1.1 Level 120915
Original CALPUFF output is averaged to 3-hour, 0-minute periods
Averaging Method for Output: RUNNING
CALPUFF Version 6.42 Level 110325
---------------------------------------------------------------------------
START(YYYYJJJHHSSSS) = 1995181160000
END (YYYYJJJHHSSSS) = 1995212190000
NUMBER_PERIODS = 249
NUMBER_SPECIES = 2
'SO2 1' 'g/m3 '
'SO4 1' 'g/m3 '
1995181160000 1995181190000 0.0000000E+00 0.0000000E+00
1995181190000 1995181220000 0.1236652E-06 0.4296419E-06
1995181220000 1995182010000 0.1620922E-06 0.4367350E-06
1995182010000 1995182040000 0.1920760E-06 0.5641223E-06
1995182040000 1995182070000 0.2449551E-06 0.6999548E-06
1995182070000 1995182100000 0.2414128E-06 0.7225233E-06
1995182100000 1995182130000 0.2257391E-06 0.8143888E-06
1995182130000 1995182160000 0.2091050E-06 0.7982892E-06
1995182160000 1995182190000 0.1993398E-06 0.7821818E-06
1995182190000 1995182220000 0.1405862E-06 0.8824974E-06
1995182220000 1995183010000 0.1541312E-06 0.7509557E-06
1995183010000 1995183040000 0.1941535E-06 0.7105132E-06
1995183040000 1995183070000 0.2419434E-06 0.7160419E-06
1995183070000 1995183100000 0.2379932E-06 0.7245426E-06
1995183100000 1995183130000 0.2252482E-06 0.7410509E-06
1995183130000 1995183160000 0.2118052E-06 0.7659141E-06
1995183160000 1995183190000 0.2213503E-06 0.6943087E-06
1995183190000 1995183220000 0.2206614E-06 0.7885833E-06
1995183220000 1995184010000 0.1754233E-06 0.6280415E-06
. . . (records removed)
1995211040000 1995211070000 0.2389819E-06 0.9125792E-06
1995211070000 1995211100000 0.2448705E-06 0.9817674E-06
1995211100000 1995211130000 0.2148565E-06 0.9891634E-06
1995211130000 1995211160000 0.2138693E-06 0.8830513E-06
1995211160000 1995211190000 0.2050581E-06 0.8602494E-06
1995211190000 1995211220000 0.1671577E-06 0.8617992E-06
1995211220000 1995212010000 0.1653654E-06 0.7678133E-06
1995212010000 1995212040000 0.1733464E-06 0.7147995E-06
1995212040000 1995212070000 0.2328687E-06 0.7122401E-06
1995212070000 1995212100000 0.2320222E-06 0.4438733E-06
1995212100000 1995212130000 0.2211245E-06 0.4894759E-06
1995212130000 1995212160000 0.2021380E-06 0.5094999E-06
1995212160000 1995212190000 0.1918380E-06 0.5112856E-06
Appendix C

Sample CALRANK.INP,
CALRANK.LST, and
CALRANK_PLOT_PCTL.DAT
CALRANK.INP
CALRANK.INP 1.0 Test Configuration
--------------------------------------------------------------------------------

CALRANK Processor CONTROL FILE


------------------------------
PURPOSE
-------

This utility reads a CALPUFF-type concentration/flux output file (dataset v2.1


or v2.2), ranks the timeseries for each species at each receptor, and identifies
the nth-highest values and the percentile values requested below.
Plot-files are created for each requested rank/percentile, and the largest among
all receptors is tabulated for each rank/percentile and species.
--------------------------------------------------------------------------------

Input File
----------

File of modeled data (include path if desired):

File name No Default ! DATFILE = CALMAX_TEST_BLK.BIN !

Results File
------------

Name of output list file of results for run (include path if desired):

File name Default: CALRANK.LST ! LSTFILE = calrank_test_blk.lst !

Plot Files
----------

Plot files are created for each rank/percentile requested, reporting the ranked value
of each species for each receptor with records containing x,y,v(1),v(2),...,v(nspec).
The filenames have a default structure composed of the results file name [LSTFILE]
with the rank or percentile appended.

Nth-Rank Plot File [LSTFILE]_PLOT_RANK-nnnn.DAT


Pth-Percentile Plot File [LSTFILE]_PLOT_PCTL-pp.ppp.DAT

All file names will be converted to either lower or upper case


T = lower case (LCFILES) Default: F ! LCFILES = F !
F = UPPER CASE
Processing Options
-------------------

Report values corresponding to the following Nth-highest and percentile values.


Enter specific ranks using either NTH_HIGHEST or PERCENTILE within
delimiters (exclamation point), placing one assignment per line

! NTH_HIGHEST = 2 !
! NTH_HIGHEST = 8 !
! NTH_HIGHEST = 12 !

! PERCENTILE = 98 !
! PERCENTILE = 95 !
! PERCENTILE = 90 !
! PERCENTILE = 75 !

Reported mass units


(MASS_UNIT) Default: 1 ! MASS_UNIT = 3 !

1: g/m**3 or g/m**2/s grams


2: mg/m**3 or mg/m**2/s milligrams (1.0e-03 g)
3: ug/m**3 or ug/m**2/s micrograms (1.0e-06 g)
4: ng/m**3 or ng/m**2/s nanograms (1.0e-09 g)
5: pg/m**3 or pg/m**2/s picograms (1.0e-12 g)

Peak values that are ranked may be restricted to no more than 1 per calendar
day (e.g., the calendar-day maximum). The day in which a value is placed is
determined by its start-time.

Report as Calendar-Day maximums?


(ICDAY) Default: 0 ! ICDAY = 0 !
0 = No : all values at each receptor are ranked
(more than 1 rank may be in same day)
1 = Yes : peak value in calendar day at each receptor is ranked
CALRANK.LST
CALRANK RESULTS SUMMARY
VERSION:1.1 LEVEL:120915

File Processed: CALMAX_TEST_BLK.BIN

Selected Header Information From File:


-----------------------------------------------------------------------------------
Processed by CALMAX Version 1.0 Level 120915
Maxima from the set of CALPUFF output files is obtained
Processed by CALAVE Version 1.0 Level 120915
Original CALPUFF output is averaged to 3-hour, 0-minute periods
Averaging Method for Output: BLOCK
Produced by CALPUFF Version: 6.42 Level: 110325
-----------------------------------------------------------------------------------
Information about data in file

Averages (DAY,HH,MM,SS) = 0 3 0 0
Type of Averaging = BLOCK
Number of averages/day = 8
Number of days = 32
Number of receptors = 20
Number of species = 6
First day (YYYYJJJ) = 1995181 UTC-0700
Last day (YYYYJJJ) = 1995212 UTC-0700

Model data for each receptor are ranked over all times based on magnitude and
the requested Nth-Highest and/or Percentile values are reported for each receptor
in the output files:

CALRANK_TEST_BLK_UG.LST_PLOT_RANK-0002.DAT
CALRANK_TEST_BLK_UG.LST_PLOT_RANK-0008.DAT
CALRANK_TEST_BLK_UG.LST_PLOT_RANK-0012.DAT
CALRANK_TEST_BLK_UG.LST_PLOT_PCTL-98.000.DAT
CALRANK_TEST_BLK_UG.LST_PLOT_PCTL-95.000.DAT
CALRANK_TEST_BLK_UG.LST_PLOT_PCTL-90.000.DAT
CALRANK_TEST_BLK_UG.LST_PLOT_PCTL-75.000.DAT
The largest of these for each rank are tabulated below with the location and time

--------------------------------------------
Tabulation for Requested Nth-Highest Values
Results for the Maximum Receptor
All Values in Each Day are Included
--------------------------------------------
Location Starting UTC-0700
X Y Date Time
N Percentile Species - Level Modeled Units (KM) (KM) (YYYY_JJJ)(HH:MM:SS)

2 99.414 SO2 1 6.4238036E-01 ug/m3 -45.636 17.249 1995_210 09:00:00


8 97.070 SO2 1 5.7844645E-01 ug/m3 -45.636 17.249 1995_190 15:00:00
12 95.508 SO2 1 5.4899251E-01 ug/m3 -22.266 -5.743 1995_190 06:00:00
2 99.414 SO4 1 2.0132611E+00 ug/m3 -49.056 20.559 1995_192 09:00:00
8 97.070 SO4 1 1.3413306E+00 ug/m3 -23.587 19.800 1995_187 21:00:00
12 95.508 SO4 1 1.2776209E+00 ug/m3 -22.266 -5.743 1995_188 00:00:00
2 99.414 NO 1 2.4241890E-01 ug/m3 -86.380 90.776 1995_186 06:00:00
8 97.070 NO 1 2.1577983E-01 ug/m3 -86.380 90.776 1995_205 06:00:00
12 95.508 NO 1 1.7484842E-01 ug/m3 -86.380 90.776 1995_201 06:00:00
2 99.414 NO2 1 5.8553219E-01 ug/m3 -86.380 90.776 1995_208 00:00:00
8 97.070 NO2 1 5.5068791E-01 ug/m3 -86.380 90.776 1995_208 03:00:00
12 95.508 NO2 1 5.4399544E-01 ug/m3 -86.380 90.776 1995_204 00:00:00
2 99.414 HNO3 1 1.6972790E+00 ug/m3 -73.181 19.414 1995_187 15:00:00
8 97.070 HNO3 1 1.5065962E+00 ug/m3 -23.587 19.800 1995_191 15:00:00
12 95.508 HNO3 1 1.4168251E+00 ug/m3 -45.636 17.249 1995_193 15:00:00
2 99.414 NO3 1 2.4409448E-01 ug/m3 -23.587 19.800 1995_200 15:00:00
8 97.070 NO3 1 9.6489988E-02 ug/m3 -36.765 7.793 1995_193 00:00:00
12 95.508 NO3 1 7.0543371E-02 ug/m3 -95.958 46.149 1995_183 00:00:00

--------------------------------------------
Note: number of times in period = 256

--------------------------------------------
Tabulation for Requested Percentile Values
Results for the Maximum Receptor
All Values in Each Day are Included
--------------------------------------------
Location Starting UTC-0700
X Y Date Time
N Percentile Species - Level Modeled Units (KM) (KM) (YYYY_JJJ)(HH:MM:SS)

6 98.000 SO2 1 6.0360593E-01 ug/m3 -22.266 -5.743 1995_193 09:00:00


14 95.000 SO2 1 5.3457832E-01 ug/m3 -22.266 -5.743 1995_193 12:00:00
27 90.000 SO2 1 4.5703641E-01 ug/m3 -23.587 19.800 1995_191 12:00:00
65 75.000 SO2 1 2.2311690E-01 ug/m3 -45.636 17.249 1995_182 06:00:00
6 98.000 SO4 1 1.3920479E+00 ug/m3 -82.802 31.563 1995_191 03:00:00
14 95.000 SO4 1 1.2384740E+00 ug/m3 -23.587 19.800 1995_190 06:00:00
27 90.000 SO4 1 1.0732707E+00 ug/m3 -56.449 16.810 1995_188 00:00:00
65 75.000 SO4 1 7.2078431E-01 ug/m3 -45.636 17.249 1995_197 09:00:00
6 98.000 NO 1 2.2316346E-01 ug/m3 -86.380 90.776 1995_204 06:00:00
14 95.000 NO 1 1.5821451E-01 ug/m3 -86.380 90.776 1995_198 09:00:00
27 90.000 NO 1 1.3154908E-01 ug/m3 -86.380 90.776 1995_205 09:00:00
65 75.000 NO 1 8.1808403E-02 ug/m3 -86.380 90.776 1995_195 09:00:00
6 98.000 NO2 1 5.5393910E-01 ug/m3 -86.380 90.776 1995_185 21:00:00
14 95.000 NO2 1 5.3284913E-01 ug/m3 -86.380 90.776 1995_210 21:00:00
27 90.000 NO2 1 4.9811035E-01 ug/m3 -86.380 90.776 1995_185 03:00:00
65 75.000 NO2 1 3.8550305E-01 ug/m3 -86.380 90.776 1995_194 03:00:00
6 98.000 HNO3 1 1.5779656E+00 ug/m3 -45.636 17.249 1995_191 15:00:00
14 95.000 HNO3 1 1.3985200E+00 ug/m3 -22.266 -5.743 1995_190 06:00:00
27 90.000 HNO3 1 1.2455554E+00 ug/m3 -22.266 -5.743 1995_193 09:00:00
65 75.000 HNO3 1 1.0136856E+00 ug/m3 -22.266 -5.743 1995_183 09:00:00
6 98.000 NO3 1 1.3482775E-01 ug/m3 -95.958 46.149 1995_193 21:00:00
14 95.000 NO3 1 6.2677436E-02 ug/m3 -56.449 16.810 1995_203 03:00:00
27 90.000 NO3 1 3.5989128E-02 ug/m3 -95.958 46.149 1995_192 12:00:00
65 75.000 NO3 1 2.1382032E-03 ug/m3 -56.449 16.810 1995_197 21:00:00

--------------------------------------------
Note: number of times in period = 256
CALRANK_PLOT_PCTL.DAT

---------------------------------------------
Requested Values for Percentile (%) = 75.000
Corresponding Nth-Highest N = 65
All Values in Each Day are Included
Number of times in period = 256
---------------------------------------------

Model data for each receptor are ranked over all times based on magnitude and
the requested Nth-Highest and/or Percentile values are reported for each receptor

Location Species - Level Starting UTC-0700 Species - Level Starting UTC-0700


X Y SO2 1 Date Time SO4 1 Date Time
(KM) (KM) ug/m3 (YYYY_JJJ)(HH:MM:SS) ug/m3 (YYYY_JJJ)(HH:MM:SS)

-112.534 73.569 2.1135101E-01 1995_208 12:00:00 6.5649730E-01 1995_206 12:00:00


-96.928 42.265 2.1820070E-01 1995_196 09:00:00 6.7459333E-01 1995_198 15:00:00
-22.266 -5.743 2.2265026E-01 1995_187 09:00:00 7.0490843E-01 1995_187 00:00:00
-23.587 19.800 2.1413609E-01 1995_195 09:00:00 6.9981647E-01 1995_194 12:00:00
-86.380 90.776 2.2001354E-01 1995_208 15:00:00 6.5835202E-01 1995_210 03:00:00
-87.952 52.945 2.1083651E-01 1995_183 15:00:00 6.7068070E-01 1995_194 15:00:00
-49.056 20.559 2.1864684E-01 1995_196 09:00:00 7.0782602E-01 1995_211 00:00:00
-48.990 18.439 2.1931919E-01 1995_187 06:00:00 6.8925285E-01 1995_209 12:00:00
-35.131 7.998 2.1881981E-01 1995_194 09:00:00 6.9019318E-01 1995_211 15:00:00
-86.481 69.038 2.1725047E-01 1995_183 15:00:00 6.5713358E-01 1995_206 12:00:00
-61.098 34.721 2.1867444E-01 1995_210 12:00:00 6.8315142E-01 1995_192 00:00:00
-45.636 17.249 2.2311690E-01 1995_182 06:00:00 7.2078431E-01 1995_197 09:00:00
-36.765 7.793 2.1968804E-01 1995_194 09:00:00 6.9777107E-01 1995_206 00:00:00
-100.509 80.586 2.1060951E-01 1995_194 09:00:00 6.5706438E-01 1995_195 15:00:00
-108.462 60.535 2.1599288E-01 1995_208 15:00:00 6.6985178E-01 1995_189 15:00:00
-56.449 16.810 2.1571998E-01 1995_182 06:00:00 7.0858204E-01 1995_211 18:00:00
-82.802 31.563 2.2208786E-01 1995_189 09:00:00 6.7448241E-01 1995_197 15:00:00
-73.181 19.414 2.2289866E-01 1995_183 09:00:00 7.1023667E-01 1995_183 18:00:00
-38.410 4.943 2.1189842E-01 1995_188 03:00:00 6.8579751E-01 1995_209 12:00:00
-95.958 46.149 2.1288925E-01 1995_183 15:00:00 6.7593855E-01 1995_201 12:00:00

You might also like