Development of the Next 

Generation Air Quality 

Models for Outer Continental 

Shelf (OCS) Applications 

Final Report: Volume 3 

CALPUFF Users Guide 

(CALPUFF and Postprocessors) 

March 2006 

Prepared For: 

U.S. Department of the Interior, 

Minerals Management Service, Herdon, VA 

Contract No. 

1435-01-01-CT-31071 

Prepared By: 

Earth Tech, Inc. 

196 Baker Avenue 

Concord, Massachusetts 01742 

(978) 371-4000 

Contents

F. CALPUFF MODEL FILES F-1 

F.1 User Control File (CALPUFF.INP) F-1 

F.2 Meteorological Data Files F-90 

F.3 Point Source Emissions File With Arbitrarily Varying F-117 

 Emissions (PTEMARB.DAT) 

F.4 Buoyant Area Source Emissions File With Arbitrarily Varying F-128 

 Emissions (BAEMARB.DAT) 

F.5 Line Source Emissions File With Arbitrarily Varying F-139 

 Emissions (LNEMARB.DAT) 

F.6 Volume Source Emissions File with Arbitrarily Varying F-152 

 Emissions (VOLEMARB.DAT) 

F.7 Boundary Concentration Module File (BCON.DAT) F-164 

F.8 User-Specified Deposition Velocity Data File (VD.DAT) F-174 

F.9 Hourly Ozone Data File (OZONE.DAT) F-176 

F.10 User-Specified Chemical Transformation Rate F-183 

 Data File (CHEM.DAT) 

F.11 Site-Specific Turbulence Data (PROFILE.DAT) F-185 

F.12 CTDMPLUS Terrain Feature Description and F-186 

 Receptors (HILL.DAT, HILLRCT.DAT) 

F.13 Subgrid Scale Coastal Boundary Data File (COASTLN.DAT) F-191 

F.14 Mass Flux Boundary Data File (FLUXBDY.DAT) F-198 

F.15 CALPUFF Output Files F-205 

F.16 OPTHILL F-273 

G. POSTPROCESSORS G-1 

G.1 PRTMET G-1 

G.2 APPEND G-26 

G.3 CALSUM G-32 

G.4 POSTUTIL G-38 

G.5 CALPOST G-55 

G.6 CALPOST Input Files G-60 

G.7 CALPOST Output Files G-83 

VOLUME II & III REFERENCES 
F. CALPUFF MODEL FILES

The CALPUFF model obtains information about sources, receptors, meteorological data, geophysical 

data, and model control parameters from a series of input files. These files are listed in Table A-4. The 

model creates several output files, which are listed in Table A-6. Detailed information on the structure 

and content of each of the input and output files is provided in this section. 

Tables A-4 and A-6 show the Fortran unit numbers associated with each file. These unit numbers are 

specified in the parameter file (PARAMS.PUF). They can be easily modified to accommodate systemdependent restrictions on allowable unit numbers. Any changes to variables in the parameter file are 

automatically modified throughout the CALPUFF Fortran code. The code must be re-compiled for 

changes in the parameter file to take effect, since the parameter values are set at the program compilation 

stage rather than at program execution. 

The name and full path of each CALPUFF file (except one) is assigned in the control file (CALPUFF. 

INP). The exception, the control filename itself, is assigned on the command line. For example, on a 

DOS system,

CALPUFF d:\CALPUFF\CALPUFF.INP 

will execute the CALPUFF code (CALPUFF.EXE), and read the input and output filenames for the 

current run from the file CALPUFF.INP in the directory d:\CALPUFF. If the control filename is not 

specified on the command line, the default control filename (i.e., CALPUFF.INP in the current working 

directory) will be used. The path and filename can be up to 70 characters long. 

The utility routine that delivers a command line argument is system dependent. The function that 

provides the system clock time and system CPU time are also system or compiler-specific. All systemdependent or compiler-specific routines in CALPUFF are isolated into a file called DATETM.xxx, where 

the file extension (.xxx) indicates the system for which the code is designed. For example, DATETM.HP 

contains code for Hewlett-Packard Unix systems, DATETM.SUN is for Sun Unix systems, 

DATETM.LAH is for Lahey-compiled PC-applications, and DATETM.MS is for Microsoft-compiled PC 

applications. By appending the correct system-dependent DATETM file onto the main CALPUFF code, 

the code should run without any modifications. 

F.1 User Control File (CALPUFF.INP) 

The selection and control of CALPUFF options are determined by user-specified inputs contained in a file 

called the control file. This file, which has the default name CALPUFF.INP, contains all of the 

information necessary to define a model run (e.g., starting date, run length, grid specifications, technical 

options, output options, etc.). CALPUFF.INP may be created/edited directly using a conventional editor, 

or it may be created/edited indirectly by means of the PC-based, Windows-compatible Graphical User 

Interface (GUI) developed for CALPUFF. 

MAR 2006 – CALPUFF 

F-1
The CALPUFF GUI not only prepares the control file, it also executes the model and facilitates file 

management functions; and it contains an extensive help system that makes much of the information in 

this manual available to the user on-line. When using the GUI, the source data and receptor information 

required for a CALPUFF run can be entered through the edit screens or read from external ASCII files 

(spreadsheet-compatible). Each source type (points, areas, volumes, and lines) contains an external 

ASCII file format description and sample file in the help system. 

Although the model can be set up and run entirely within the GUI system, the interface is designed to 

always create the ASCII CALPUFF.INP file. This allows runs to be set up on PC-based systems and the 

control file transferred to a workstation or a mainframe computer for computationally intensive 

applications. The ASCII CALPUFF.INP file should be directly transportable to virtually any non-PC 

system. 

When CALPUFF is setup and run entirely on a non-PC system, or if the GUI is not used on a PC, the 

control file CALPUFF.INP may be configured by using a conventional editor. This is facilitated by the 

extensive self-documenting statements contained in the standard file. As explained further below, more 

comments can be readily added by the user to document specific parameter choices used in the run. 

These comments remain in the file, and are reported to the CALPUFF list file when CALPUFF is 

executed from the command line. Note, however, that the GUI always writes the standard comments to 

CALPUFF.INP, and ignores any additional text. Furthermore, the control file is always updated by the 

GUI, even if the GUI is only used to run CALPUFF without altering the technical content of the control 

file. Thus, the user must save the control file to another filename prior to using the GUI if non-standard 

comments are to be saved. This feature of the GUI can be used to create a new copy of the standard 

control file by merely saving a “new file” to disk, so a fresh version of the control file is always available. 

The control file is organized into 18 major Input Groups and a variable number of subgroups within 

several of the major Input Groups. The first three lines of the input file consist of a run title. As shown in 

Table F-1, the major Input Groups are defined along functional lines (e.g., technical options, output 

options, subgrid scale, complex terrain inputs, etc.). Each subgroup contains a set of data such as source 

variables, subgrid scale hill descriptions, or discrete receptor information. The number of subgroups 

varies with the number of sources, hills, etc., in the model run. 

A sample control file is shown in Table F-2. The control file is read by a set of Fortran text processing 

routines contained within CALPUFF which allow the user considerable flexibility in designing and 

customizing the input file. An unlimited amount of optional descriptive text can be inserted within the 

control file to make it self-documenting. For example, the definition, allowed values, units, and default 

value of each input variable can be included within the control file. 

The control file processor searches for pairs of special delimiter characters (!). All text outside the 

delimiters is assumed to be optional documentation and is echoed back but otherwise ignored by the input

module. Only data within the delimiter characters is processed. The input data consists of a leading 

delimiter followed by the variable name, equals sign, input value or values, and a terminating delimiter 

(e.g., !XX = 12.5 !). The variable name can be lower or upper case, or a mixture of both (i.e., XX, xx, Xx 

MAR 2006 – CALPUFF 

F-2
are all equivalent). The variable type can be real, integer, logical, or character and it can be an array or a 

scalar. The use of repetition factors for arrays is allowed (e.g., ! XARRAY = 3 * 1.5 ! instead of ! 

XARRAY = 1.5, 1.5, 1.5 !). Different values must be separated by commas. Spaces within the delimiter 

pair are ignored. Exponential notation (E format) for real numbers is allowed. However, the optional 

plus sign should be omitted (e.g., enter +1.5E+10 as 1.5E10). The data may be extended over more than 

one line (except for character variables, which must be entirely on one line). The line being continued

must end with a comma. Each leading delimiter must be paired with a terminating delimiter. All text 

between the delimiters is assumed to be data, so no optional documentation is allowed to appear within 

the delimiters. The inclusion in the control file of any variable that is being assigned its default value is 

optional. The control file reader expects that logical variables will be assigned using only a one character 

representation (i.e., 'T' or 'F'). 

The major Input Groups must appear in order, i.e., Input Group 0 followed by Input Group 1 followed by

Input Group 2, etc. However, the variables within an Input Group may appear in any order. The variable 

names in each Input Group are independent, so that the same name can be repeated in different Input 

Groups (e.g., as shown in the sample control file, species names (SO2, SO4) are used in several Input 

Groups). Each Input Group and subgroup must end with an Input Group terminator consisting of the 

word END between two delimiters (i.e., !END!). Every major Input Group, even blank Input Groups 

(i.e., one in which no variables are included) must end with an Input Group terminator in order to signal 

the end of that Input Group and the beginning of another. 

The control file module has a list of variable names and array dimensions for each Input Group. Checks 

are performed to ensure that the proper variable names are used in each Input Group, and that no array

dimensions are exceeded. Error messages result if an unrecognized variable name is encountered or too 

many values are entered for a variable. 

As an example, the first group (Group 0) identifies all of the I/O files to be used in the run, except for the 

control file which is specified on the command line. Each CALPUFF input and output file has a default 

name and path (i.e., the current working directory). If the filename is not specified, the default name will 

be assumed. Each filename must be less than or equal to 70 characters long. 

All text except that between the delimiters (i.e., ! characters) is treated as optional documentation, and is 

ignored by the input module. Between the delimiters, the character filename variables (e.g., METDAT, 

PUFLST, CONDAT, etc.) must be entered as shown in the sample file. The control file reader is case 

insensitive. The filename is placed between the equals sign and the right delimiter character (!). Files 

that are not used or are not to be changed from their default names can be omitted from the I/O file. 

MAR 2006 – CALPUFF 

F-3
For example, by replacing the delimiter characters ("!"s) with "*"s, the line becomes a comment, and will 

not be interpreted by the program as data: 

 

! CONDAT = conc.dat ! - this line sets the file name of the output concentration file 

* CONDAT = conc.old * - this line is a comment that does nothing 

* PUFLST = * - this line is OK (interpreted as a comment) 

! PUFLST = ! - this is not OK (delimiters present, so file must be specified) 

Blanks within the delimiters are ignored, and all delimiters must appear in pairs. If the optional 

CALPUFF GUI is being used, the control file will automatically be correctly formatted and written to 

disk for use by CALPUFF. 

MAR 2006 – CALPUFF 

F-4
Table F-1 

Input Groups in the CALPUFF Control File 

 Input 

Group Description

 * Run title 

First three lines of control file (up to 80 characters/line) 

0 Input and Output filenames 

1 General run control parameters

Starting date and hour, run length, time step. 

 Number of species. 

Model restart configuration for making a series of continuation runs. 

Meteorological data format and averaging time adjustment. 

 2 Technical options 

Control variables determining methods for treating chemistry, wet deposition, dry 

deposition, dispersion, plume rise, complex terrain, and near-field puff sampling

methods 

 3a,b Species list 

Species names, flags for determining which species are modeled, advected, emitted, and 

dry deposited 

 4 Grid control parameters 

Specification of meteorological, computational, and sampling grids, number of cells,

vertical layers, and reference coordinates. 

 5 Output options 

Printer control variables, disk output control variables 

6a,b,c Subgrid scale complex terrain (CTSG) inputs

Information describing subgrid scale hill location, shape and height. Complex terrain

receptor locations and elevations. 

7 Dry deposition parameters - Gases 

Pollutant diffusivity, dissociation constant, reactivity, mesophyll resistance, Henry's law 

coefficient 

MAR 2006 – CALPUFF 

F-5
Table F-1 (Concluded) 

Input Groups in the CALPUFF Control File 

 Input 

Group Description

8 Dry deposition parameters - Particles 

Geometric mass mean diameter, geometric standard deviation 

9 Miscellaneous dry deposition parameters 

Reference cuticle and ground resistances, reference pollutant reactivity, vegetation state 

10 Wet deposition parameters 

Scavenging coefficients for each pollutant and precipitation type (liquid and frozen

precipitation) 

 11 Chemistry parameters 

Control variables for input of ozone data, background ozone and ammonia 

concentrations, nighttime transformation rates 

12 Miscellaneous dispersion parameters and computational parameters 

Vertical dispersion constants, dispersion rate above the boundary layer, crossover

distance to time-dependent dispersion coefficients, land use associated with urban 

dispersion, site characterization parameters for single-point meteorological data files, 

sampling constraints, puff-splitting controls, plume path coefficients, wind speed powerlaw exponents, default temperature gradients and wind speed classes 

 13a,b,c,d Point source parameters 

Point source data including source location, elevation, stack parameters, emissions, units, 

building dimensions, variable emissions cycle 

 14a,b,c,d Area source parameters 

Area source data including source location, effective height, elevation, initial sigmas, 

emissions, units, variable emissions cycle 

 15a,b,c Line source parameters 

Buoyant line source data including source location, elevation, line length, buoyancy 

parameters, release height, emissions, units, variable emissions cycle 

16a,b,c Volume source parameters 

Volume source data including source location, elevation, effective height, initial size 

data, emissions, units, variable emissions cycle 

17a,b Non-gridded (discrete) receptor information

Receptor coordinates and ground elevation 

MAR 2006 – CALPUFF 

F-6
Table F-2 

Sample CALPUFF Control File (CALPUFF.INP) 

Input Group 0 

CALPUFF Example 

40 x 40 meteorological grid 

All source types represented; CTSG hill 

---------------- Run title (3 lines) ------------------------------------------ 

 CALPUFF MODEL CONTROL FILE 

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

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

INPUT GROUP: 0 -- Input and Output File Names 

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

Default Name Type File Name 

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

CALMET.DAT input ! METDAT =CALMET.DAT ! 

 or 

ISCMET.DAT input * ISCDAT = * 

 or 

PLMMET.DAT input * PLMDAT = * 

 or 

PROFILE.DAT input * PRFDAT = * 

SURFACE.DAT input * SFCDAT = * 

RESTARTB.DAT input * RSTARTB= * 

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

CALPUFF.LST output ! PUFLST =CALPUFF2.LST ! 

CONC.DAT output ! CONDAT =CONC2.DAT ! 

DFLX.DAT output ! DFDAT =DFLX2.DAT ! 

WFLX.DAT output * WFDAT = * 

VISB.DAT output * VISDAT = * 

TK2D.DAT output * T2DDAT = * 

RHO2D.DAT output * RHODAT = * 

RESTARTE.DAT output * RSTARTE= * 

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

Emission Files 

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

PTEMARB.DAT input * PTDAT = * 

VOLEMARB.DAT input * VOLDAT = * 

BAEMARB.DAT input * ARDAT = * 

LNEMARB.DAT input * LNDAT = * 

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

Other Files 

----------- 

OZONE.DAT input * OZDAT = * 

VD.DAT input * VDDAT = * 

CHEM.DAT input * CHEMDAT= * 

H2O2.DAT input * H2O2DAT= * 

HILL.DAT input * HILDAT= * 

HILLRCT.DAT input * RCTDAT= * 

COASTLN.DAT input * CSTDAT= * 

FLUXBDY.DAT input * BDYDAT= * 

BCON.DAT input * BCNDAT= * 

DEBUG.DAT output * DEBUG = * 

MASSFLX.DAT output * FLXDAT= * 

MASSBAL.DAT output * BALDAT= * 

FOG.DAT output * FOGDAT= * 

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

All file names will be converted to lower case if LCFILES = T 

Otherwise, if LCFILES = F, file names will be converted to UPPER CASE 

 T = lower case ! LCFILES = F ! 

 F = UPPER CASE 

NOTE: (1) file/path names can be up to 70 characters in length 

MAR 2006 – CALPUFF 

F-7
Table F-2 (Continued) 

Sample CALPUFF Control File (CALPUFF.INP) 

Input Group 0 

 

Provision for multiple input files 

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

 Number of CALMET.DAT files for run (NMETDAT) 

 Default: 1 ! NMETDAT = 1 ! 

 Number of PTEMARB.DAT files for run (NPTDAT) 

 Default: 0 ! NPTDAT = 0 ! 

 Number of BAEMARB.DAT files for run (NARDAT) 

 Default: 0 ! NARDAT = 0 ! 

 Number of VOLEMARB.DAT files for run (NVOLDAT) 

 Default: 0 ! NVOLDAT = 0 ! 

!END! 

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

Subgroup (0a) 

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

 The following CALMET.DAT filenames are processed in sequence if NMETDAT>1 

Default Name Type File Name 

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

 none input * METDAT =..\testing\CALMET1.DAT * *END* 

 none input * METDAT =CALMET2.DAT * *END* 

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

Subgroup (0b) 

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

 The following PTEMARB.DAT filenames are processed if NPTDAT>0 

 (Any PTEMARB.DAT name provided above is replaced) 

Default Name Type File Name 

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

 none input * PTDAT =..\testing\PT1.DAT * *END* 

 none input * PTDAT = PT2.DAT * *END* 

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

Subgroup (0c) 

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

 The following BAEMARB.DAT filenames are processed if NARDAT>0 

 (Any BAEMARB.DAT name provided above is replaced) 

Default Name Type File Name 

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

 none input * ARDAT =..\testing\BA1.DAT * *END* 

 none input * ARDAT = BA2.DAT * *END* 

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

Subgroup (0d) 

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

 The following VOLEMARB.DAT filenames are processed if NVOLDAT>0 

 (Any VOLEMARB.DAT name provided above is replaced) 

Default Name Type File Name 

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

 none input * VOLDAT =..\testing\VOL1.DAT * *END* 

 none input * VOLDAT = VOL2.DAT * *END* 

MAR 16, 2005 – Sect9Calpuff.doc 

9-8
Table F-2 (Continued) 

Sample CALPUFF Control File (CALPUFF.INP) 

Input Group 1

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

INPUT GROUP: 1 -- General run control parameters 

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

 Option to run all periods found 

 in the met. file (METRUN) Default: 0 ! METRUN = 0 ! 

 METRUN = 0 - Run period explicitly defined below 

 METRUN = 1 - Run all periods in met. file 

 Starting date: Year (IBYR) -- No default ! IBYR = 1994 ! 

 (used only if Month (IBMO) -- No default ! IBMO = 11 ! 

 METRUN = 0) Day (IBDY) -- No default ! IBDY = 1 ! 

 Hour (IBHR) -- No default ! IBHR = 10 ! 

 Base time zone (XBTZ) -- No default ! XBTZ = 5. ! 

 PST = 8., MST = 7. 

 CST = 6., EST = 5. 

 Length of run (hours) (IRLG) -- No default ! IRLG = 2 ! 

 Number of chemical species (NSPEC) 

 Default: 5 ! NSPEC = 8 ! 

 Number of chemical species 

 to be emitted (NSE) Default: 3 ! NSE = 7 ! 

 Flag to stop run after 

 SETUP phase (ITEST) Default: 2 ! ITEST = 2 ! 

 (Used to allow checking 

 of the model inputs, files, etc.) 

 ITEST = 1 - STOPS program after SETUP phase 

 ITEST = 2 - Continues with execution of program 

 after SETUP 

 Restart Configuration: 

 Control flag (MRESTART) Default: 0 ! MRESTART = 0 ! 

 0 = Do not read or write a restart file 

 1 = Read a restart file at the beginning of 

 the run 

 2 = Write a restart file during run 

 3 = Read a restart file at beginning of run 

 and write a restart file during run 

 Number of periods in Restart 

 output cycle (NRESPD) Default: 0 ! NRESPD = 0 ! 

 0 = File written only at last period 

 >0 = File updated every NRESPD periods 

 Meteorological Data Format (METFM) 

 Default: 1 ! METFM = 1 ! 

 METFM = 1 - CALMET binary file (CALMET.MET) 

 METFM = 2 - ISC ASCII file (ISCMET.MET) 

 METFM = 3 - AUSPLUME ASCII file (PLMMET.MET) 

 METFM = 4 - CTDM plus tower file (PROFILE.DAT) and 

 surface parameters file (SURFACE.DAT) 

 Meteorological Profile Data Format (MPRFFM) 

 (used only for METFM = 1, 2, 3) 

 Default: 1 ! MPRFFM = 1 ! 

 MPRFFM = 1 - CTDM plus tower file (PROFILE.DAT) 

 MPRFFM = 2 - AERMET tower file (PROFILE.DAT) 

 PG sigma-y is adjusted by the factor (AVET/PGTIME)**0.2 

 Averaging Time (minutes) (AVET) 

 Default: 60.0 ! AVET = 60. ! 

 PG Averaging Time (minutes) (PGTIME) 

 Default: 60.0 ! PGTIME = 60. ! 

!END!

MAR 16, 2005 – Sect9Calpuff.doc 

9-9
Table F-2 (Continued) 

Sample CALPUFF Control File (CALPUFF.INP) 

Input Group 2

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

INPUT GROUP: 2 -- Technical options 

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

 Vertical distribution used in the 

 near field (MGAUSS) Default: 1 ! MGAUSS = 1 ! 

 0 = uniform 

 1 = Gaussian 

 Terrain adjustment method 

 (MCTADJ) Default: 3 ! MCTADJ = 0 ! 

 0 = no adjustment 

 1 = ISC-type of terrain adjustment 

 2 = simple, CALPUFF-type of terrain 

 adjustment 

 3 = partial plume path adjustment 

 Subgrid-scale complex terrain 

 flag (MCTSG) Default: 0 ! MCTSG = 1 ! 

 0 = not modeled 

 1 = modeled 

 Near-field puffs modeled as 

 elongated 0 (MSLUG) Default: 0 ! MSLUG = 1 ! 

 0 = no 

 1 = yes (slug model used) 

 Transitional plume rise modeled ? 

 (MTRANS) Default: 1 ! MTRANS = 0 ! 

 0 = no (i.e., final rise only) 

 1 = yes (i.e., transitional rise computed) 

 Stack tip downwash? (MTIP) Default: 1 ! MTIP = 0 ! 

 0 = no (i.e., no stack tip downwash) 

 1 = yes (i.e., use stack tip downwash) 

 Method used to simulate building 

 downwash? (MBDW) Default: 1 ! MBDW = 1 ! 

 1 = ISC method 

 2 = PRIME method 

 Vertical wind shear modeled above 

 stack top? (MSHEAR) Default: 0 ! MSHEAR = 0 ! 

 0 = no (i.e., vertical wind shear not modeled) 

 1 = yes (i.e., vertical wind shear modeled) 

 Puff splitting allowed? (MSPLIT) Default: 0 ! MSPLIT = 0 ! 

 0 = no (i.e., puffs not split) 

 1 = yes (i.e., puffs are split) 

 Chemical mechanism flag (MCHEM) Default: 1 ! MCHEM = 0 ! 

 0 = chemical transformation not 

 modeled 

 1 = transformation rates computed 

 internally (MESOPUFF II scheme) 

 2 = user-specified transformation 

 rates used 

 3 = transformation rates computed 

 internally (RIVAD/ARM3 scheme) 

 4 = secondary organic aerosol formation 

 computed (MESOPUFF II scheme for OH) 

 Aqueous phase transformation flag (MAQCHEM) 

 (Used only if MCHEM = 1, or 3) Default: 0 ! MAQCHEM = 0 ! 

 0 = aqueous phase transformation 

 not modeled 

 1 = transformation rates adjusted 

 for aqueous phase reactions 

 Wet removal modeled ? (MWET) Default: 1 ! MWET = 1 ! 

 0 = no 

 1 = yes 

 Dry deposition modeled ? (MDRY) Default: 1 ! MDRY = 1 ! 

 0 = no 

 1 = yes 

 (dry deposition method specified 

 for each species in Input Group 3) 

MAR 16, 2005 – Sect9Calpuff.doc 

9-10
Table F-2 (Continued) 

Sample CALPUFF Control File (CALPUFF.INP) 

Input Group 2

 Method used to compute dispersion 

 coefficients (MDISP) Default: 3 ! MDISP = 3 ! 

 1 = dispersion coefficients computed from measured values 

 of turbulence, sigma v, sigma w 

 2 = dispersion coefficients from internally calculated 

 sigma v, sigma w using micrometeorological variables 

 (u*, w*, L, etc.) 

 3 = PG dispersion coefficients for RURAL areas (computed using 

 the ISCST multi-segment approximation) and MP coefficients in 

 urban areas 

 4 = same as 3 except PG coefficients computed using 

 the MESOPUFF II eqns. 

 5 = CTDM sigmas used for stable and neutral conditions. 

 For unstable conditions, sigmas are computed as in 

 MDISP = 3, described above. MDISP = 5 assumes that 

 measured values are read 

 Sigma-v/sigma-theta, sigma-w measurements used? (MTURBVW) 

 (Used only if MDISP = 1 or 5) Default: 3 ! MTURBVW = 3 ! 

 1 = use sigma-v or sigma-theta measurements 

 from PROFILE.DAT to compute sigma-y 

 (valid for METFM = 1, 2, 3, 4) 

 2 = use sigma-w measurements 

 from PROFILE.DAT to compute sigma-z 

 (valid for METFM = 1, 2, 3, 4) 

 3 = use both sigma-(v/theta) and sigma-w 

 from PROFILE.DAT to compute sigma-y and sigma-z 

 (valid for METFM = 1, 2, 3, 4) 

 4 = use sigma-theta measurements 

 from PLMMET.DAT to compute sigma-y 

 (valid only if METFM = 3) 

 Back-up method used to compute dispersion 

 when measured turbulence data are 

 missing (MDISP2) Default: 3 ! MDISP2 = 4 ! 

 (used only if MDISP = 1 or 5) 

 2 = dispersion coefficients from internally calculated 

 sigma v, sigma w using micrometeorological variables 

 (u*, w*, L, etc.) 

 3 = PG dispersion coefficients for RURAL areas (computed using 

 the ISCST multi-segment approximation) and MP coefficients in 

 urban areas 

 4 = same as 3 except PG coefficients computed using 

 the MESOPUFF II eqns. 

 [DIAGNOSTIC FEATURE] 

 Method used for Lagrangian timescale for Sigma-y 

 (used only if MDISP=1,2 or MDISP2=1,2) 

 (MTAULY) Default: 0 ! MTAULY = 0 ! 

 0 = Draxler default 617.284 (s) 

 1 = Computed as Lag. Length / (.75 q) -- after SCIPUFF 

 10 < Direct user input (s) -- e.g., 306.9 

 Method used for Advective-Decay timescale for Turbulence 

 (used only if MDISP=2 or MDISP2=2) 

 (MTAUADV) Default: 0 ! MTAUADV = 0 ! 

 0 = No turbulence advection 

 1 = Computed (OPTION NOT IMPLEMENTED) 

 10 < Direct user input (s) -- e.g., 800 

 Method used to compute turbulence sigma-v & 

 sigma-w using micrometeorological variables 

 (Used only if MDISP = 2 or MDISP2 = 2) 

 (MCTURB) Default: 1 ! MCTURB = 1 ! 

 1 = Standard CALPUFF subroutines 

 2 = AERMOD subroutines 

 PG sigma-y,z adj. for roughness? Default: 0 ! MROUGH = 0 ! 

 (MROUGH) 

 0 = no 

 1 = yes 

 Partial plume penetration of Default: 1 ! MPARTL = 1 ! 

 elevated inversion? 

 (MPARTL) 

 0 = no 

 1 = yes 

MAR 16, 2005 – Sect9Calpuff.doc 

9-11
Table F-2 (Continued) 

Sample CALPUFF Control File (CALPUFF.INP) 

Input Group 2

 Strength of temperature inversion Default: 0 ! MTINV = 0 ! 

 provided in PROFILE.DAT extended records? 

 (MTINV) 

 0 = no (computed from measured/default gradients) 

 1 = yes 

 PDF used for dispersion under convective conditions? 

 Default: 0 ! MPDF = 0 ! 

 (MPDF) 

 0 = no 

 1 = yes 

 Sub-Grid TIBL module used for shore line? 

 Default: 0 ! MSGTIBL = 0 ! 

 (MSGTIBL) 

 0 = no 

 1 = yes 

 Boundary conditions (concentration) modeled? 

 Default: 0 ! MBCON = 0 ! 

 (MBCON) 

 0 = no 

 1 = yes, using formatted BCON.DAT file 

 2 = yes, using unformatted CONC.DAT file 

 Note: MBCON > 0 requires that the last species modeled 

 be 'BCON'. Mass is placed in species BCON when 

 generating boundary condition puffs so that clean 

 air entering the modeling domain can be simulated 

 in the same way as polluted air. Specify zero 

 emission of species BCON for all regular sources. 

 Individual source contributions saved? 

 Default: 0 ! MSOURCE = 0 ! 

 (MSOURCE) 

 0 = no 

 1 = yes 

 Analyses of fogging and icing impacts due to emissions from 

 arrays of mechanically-forced cooling towers can be performed 

 using CALPUFF in conjunction with a cooling tower emissions 

 processor (CTEMISS) and its associated postprocessors. Hourly 

 emissions of water vapor and temperature from each cooling tower 

 cell are computed for the current cell configuration and ambient 

 conditions by CTEMISS. CALPUFF models the dispersion of these 

 emissions and provides cloud information in a specialized format 

 for further analysis. Output to FOG.DAT is provided in either 

 'plume mode' or 'receptor mode' format. 

 Configure for FOG Model output? 

 (MFOG) Default: 0 ! MFOG = 0 ! 

 0 = no 

 1 = yes - report results in PLUME Mode format 

 2 = yes - report results in RECEPTOR Mode format 

 Test options specified to see if 

 they conform to regulatory 

 values? (MREG) Default: 1 ! MREG = 0 ! 

 0 = NO checks are made 

 1 = Technical options must conform to USEPA 

 Long Range Transport (LRT) guidance 

 METFM 1 or 2 

 AVET 60. (min) 

 PGTIME 60. (min) 

 MGAUSS 1 

 MCTADJ 3 

 MTRANS 1 

 MTIP 1 

 MCHEM 1 or 3 (if modeling SOx, NOx) 

 MWET 1 

 MDRY 1 

 MDISP 2 or 3 

 MPDF 0 if MDISP=3 

 1 if MDISP=2 

 MROUGH 0 

 MPARTL 1 

 SYTDEP 550. (m) 

 MHFTSZ 0 

!END! 

MAR 16, 2005 – Sect9Calpuff.doc 

9-12
Table F-2 (Continued) 

Sample CALPUFF Control File (CALPUFF.INP) 

Input Group 3

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

INPUT GROUP: 3a, 3b -- Species list 

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

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

Subgroup (3a) 

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

 The following species are modeled: 

! CSPEC = SO2 ! !END! 

! CSPEC = NOX ! !END! 

! CSPEC = PMSIZE1 ! !END! 

! CSPEC = PMSIZE2 ! !END! 

! CSPEC = PMSIZE3 ! !END! 

! CSPEC = PMSIZE4 ! !END! 

! CSPEC = PMSIZE5 ! !END! 

! CSPEC = PMSIZE6 ! !END! 

 Dry OUTPUT GROUP 

 SPECIES MODELED EMITTED DEPOSITED NUMBER 

 NAME (0=NO, 1=YES) (0=NO, 1=YES) (0=NO, (0=NONE, 

 (Limit: 12 1=COMPUTED-GAS 1=1st CGRUP, 

 Characters 2=COMPUTED-PARTICLE 2=2nd CGRUP, 

 in length) 3=USER-SPECIFIED) 3= etc.) 

! SO2 = 1, 1, 1, 0 ! 

! NOX = 1, 1, 1, 0 ! 

! PMSIZE1 = 1, 1, 2, 1 ! 

! PMSIZE2 = 1, 1, 2, 1 ! 

! PMSIZE3 = 1, 1, 2, 1 ! 

! PMSIZE4 = 1, 1, 2, 1 ! 

! PMSIZE5 = 1, 1, 2, 1 ! 

! PMSIZE6 = 1, 1, 2, 1 ! 

!END! 

 Note: The last species in (3a) must be 'BCON' when using the 

 boundary condition option (MBCON > 0). Species BCON should 

 typically be modeled as inert (no chem transformation or 

 removal). 

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

Subgroup (3b) 

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

 The following names are used for Species-Groups in which results 

 for certain species are combined (added) prior to output. The 

 CGRUP name will be used as the species name in output files. 

 Use this feature to model specific particle-size distributions 

 by treating each size-range as a separate species. 

 Order must be consistent with 3(a) above. 

! CGRUP = PM10 ! !END! 

MAR 2006 – CALPUFF 

F-13
Table F-2 (Continued) 

Sample CALPUFF Control File (CALPUFF.INP) 

Input Group 4

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

INPUT GROUP: 4 -- Map Projection and Grid control parameters 

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

 Projection for all (X,Y): 

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

 Map projection 

 (PMAP) Default: UTM ! PMAP = UTM ! 

 UTM : Universal Transverse Mercator 

 TTM : Tangential Transverse Mercator 

 LCC : Lambert Conformal Conic 

 PS : Polar Stereographic 

 EM : Equatorial Mercator 

 LAZA : Lambert Azimuthal Equal Area 

 False Easting and Northing (km) at the projection origin 

 (Used only if PMAP= TTM, LCC, or LAZA) 

 (FEAST) Default=0.0 ! FEAST = 0.000 ! 

 (FNORTH) Default=0.0 ! FNORTH = 0.000 ! 

 UTM zone (1 to 60) 

 (Used only if PMAP=UTM) 

 (IUTMZN) No Default ! IUTMZN = 19 ! 

 Hemisphere for UTM projection? 

 (Used only if PMAP=UTM) 

 (UTMHEM) Default: N ! UTMHEM = N ! 

 N : Northern hemisphere projection 

 S : Southern hemisphere projection 

 Latitude and Longitude (decimal degrees) of projection origin 

 (Used only if PMAP= TTM, LCC, PS, EM, or LAZA) 

 (RLAT0) No Default ! RLAT0 = 0N ! 

 (RLON0) No Default ! RLON0 = 0E ! 

 TTM : RLON0 identifies central (true N/S) meridian of projection 

 RLAT0 selected for convenience 

 LCC : RLON0 identifies central (true N/S) meridian of projection 

 RLAT0 selected for convenience 

 PS : RLON0 identifies central (grid N/S) meridian of projection 

 RLAT0 selected for convenience 

 EM : RLON0 identifies central meridian of projection 

 RLAT0 is REPLACED by 0.0N (Equator) 

 LAZA: RLON0 identifies longitude of tangent-point of mapping plane 

 RLAT0 identifies latitude of tangent-point of mapping plane 

 Matching parallel(s) of latitude (decimal degrees) for projection 

 (Used only if PMAP= LCC or PS) 

 (XLAT1) No Default ! XLAT1 = 0N ! 

 (XLAT2) No Default ! XLAT2 = 0N ! 

 LCC : Projection cone slices through Earth's surface at XLAT1 and XLAT2 

 PS : Projection plane slices through Earth at XLAT1 

 (XLAT2 is not used) 

 ---------- 

 Note: Latitudes and longitudes should be positive, and include a 

 letter N,S,E, or W indicating north or south latitude, and 

 east or west longitude. For example, 

 35.9 N Latitude = 35.9N 

 118.7 E Longitude = 118.7E 

 Datum-region 

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

 The Datum-Region for the coordinates is identified by a character 

 string. Many mapping products currently available use the model of the 

 Earth known as the World Geodetic System 1984 (WGS-84). Other local 

 models may be in use, and their selection in CALMET will make its output 

 consistent with local mapping products. The list of Datum-Regions with 

 official transformation parameters is provided by the National Imagery and 

 Mapping Agency (NIMA). 

MAR 2006 – CALPUFF 

F-14
Table F-2 (Continued) 

Sample CALPUFF Control File (CALPUFF.INP) 

Input Group 4

 NIMA Datum - Regions(Examples) 

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

 WGS-84 WGS-84 Reference Ellipsoid and Geoid, Global coverage (WGS84) 

 NAS-C NORTH AMERICAN 1927 Clarke 1866 Spheroid, MEAN FOR CONUS (NAD27) 

 NAR-C NORTH AMERICAN 1983 GRS 80 Spheroid, MEAN FOR CONUS (NAD83) 

 NWS-84 NWS 6370KM Radius, Sphere 

 ESR-S ESRI REFERENCE 6371KM Radius, Sphere 

 Datum-region for output coordinates 

 (DATUM) Default: WGS-84 ! DATUM = NAS-C ! 

METEOROLOGICAL grid: 

 No. X grid cells (NX) No default ! NX = 40 ! 

 No. Y grid cells (NY) No default ! NY = 40 ! 

 No. vertical layers (NZ) No default ! NZ = 10 ! 

 Grid spacing (DGRIDKM) No default ! DGRIDKM = 0.5 ! 

 Units: km 

 Cell face heights 

 (ZFACE(nz+1)) No defaults 

 Units: m 

 ! ZFACE = 0., 20., 50., 100., 200., 400., 600., 1000., 1500., 2000., 

 3000. ! 

 Reference Coordinates 

 of SOUTHWEST corner of 

 grid cell(1, 1): 

 X coordinate (XORIGKM) No default ! XORIGKM = -10. ! 

 Y coordinate (YORIGKM) No default ! YORIGKM = -10. ! 

 Units: km 

COMPUTATIONAL Grid: 

 The computational grid is identical to or a subset of the MET. grid. 

 The lower left (LL) corner of the computational grid is at grid point 

 (IBCOMP, JBCOMP) of the MET. grid. The upper right (UR) corner of the 

 computational grid is at grid point (IECOMP, JECOMP) of the MET. grid. 

 The grid spacing of the computational grid is the same as the MET. grid. 

 X index of LL corner (IBCOMP) No default ! IBCOMP = 1 ! 

 (1 <= IBCOMP <= NX) 

 Y index of LL corner (JBCOMP) No default ! JBCOMP = 1 ! 

 (1 <= JBCOMP <= NY) 

 X index of UR corner (IECOMP) No default ! IECOMP = 40 ! 

 (1 <= IECOMP <= NX) 

 Y index of UR corner (JECOMP) No default ! JECOMP = 40 ! 

 (1 <= JECOMP <= NY) 

MAR 2006 – CALPUFF 

F-15
Table F-2 (Continued) 

Sample CALPUFF Control File (CALPUFF.INP) 

Input Group 4

SAMPLING Grid (GRIDDED RECEPTORS): 

 The lower left (LL) corner of the sampling grid is at grid point 

 (IBSAMP, JBSAMP) of the MET. grid. The upper right (UR) corner of the 

 sampling grid is at grid point (IESAMP, JESAMP) of the MET. grid. 

 The sampling grid must be identical to or a subset of the computational 

 grid. It may be a nested grid inside the computational grid. 

 The grid spacing of the sampling grid is DGRIDKM/MESHDN. 

 Logical flag indicating if gridded 

 receptors are used (LSAMP) Default: T ! LSAMP = T ! 

 (T=yes, F=no) 

 X index of LL corner (IBSAMP) No default ! IBSAMP = 1 ! 

 (IBCOMP <= IBSAMP <= IECOMP) 

 Y index of LL corner (JBSAMP) No default ! JBSAMP = 1 ! 

 (JBCOMP <= JBSAMP <= JECOMP) 

 X index of UR corner (IESAMP) No default ! IESAMP = 40 ! 

 (IBCOMP <= IESAMP <= IECOMP) 

 Y index of UR corner (JESAMP) No default ! JESAMP = 40 ! 

 (JBCOMP <= JESAMP <= JECOMP) 

 Nesting factor of the sampling 

 grid (MESHDN) Default: 1 ! MESHDN = 1 ! 

 (MESHDN is an integer >= 1) 

!END! 

MAR 2006 – CALPUFF 

F-16
Table F-2 (Continued) 

Sample CALPUFF Control File (CALPUFF.INP) 

Input Group 5

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

INPUT GROUP: 5 -- Output Options 

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

 * * 

 FILE DEFAULT VALUE VALUE THIS RUN 

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

 Concentrations (ICON) 1 ! ICON = 1 ! 

 Dry Fluxes (IDRY) 1 ! IDRY = 1 ! 

 Wet Fluxes (IWET) 1 ! IWET = 0 ! 

 2D Temperature (IT2D) 0 ! IT2D = 0 ! 

 2D Density (IRHO) 0 ! IRHO = 0 ! 

 Relative Humidity (IVIS) 1 ! IVIS = 0 ! 

 (relative humidity file is 

 required for visibility 

 analysis) 

 Use data compression option in output file? 

 (LCOMPRS) Default: T ! LCOMPRS = T ! 

 * 

 0 = Do not create file, 1 = create file 

 QA PLOT FILE OUTPUT OPTION: 

 Create a standard series of output files (e.g. 

 locations of sources, receptors, grids ...) 

 suitable for plotting? 

 (IQAPLOT) Default: 1 ! IQAPLOT = 1 ! 

 0 = no 

 1 = yes 

 DIAGNOSTIC MASS FLUX OUTPUT OPTIONS: 

 Mass flux across specified boundaries 

 for selected species reported hourly? 

 (IMFLX) Default: 0 ! IMFLX = 0 ! 

 0 = no 

 1 = yes (FLUXBDY.DAT and MASSFLX.DAT filenames 

 are specified in Input Group 0) 

 Mass balance for each species 

 reported hourly? 

 (IMBAL) Default: 0 ! IMBAL = 0 ! 

 0 = no 

 1 = yes (MASSBAL.DAT filename is 

 specified in Input Group 0) 

 LINE PRINTER OUTPUT OPTIONS: 

 Print concentrations (ICPRT) Default: 0 ! ICPRT = 1 ! 

 Print dry fluxes (IDPRT) Default: 0 ! IDPRT = 0 ! 

 Print wet fluxes (IWPRT) Default: 0 ! IWPRT = 0 ! 

 (0 = Do not print, 1 = Print) 

 Concentration print interval 

 (ICFRQ) in hours Default: 1 ! ICFRQ = 1 ! 

 Dry flux print interval 

 (IDFRQ) in hours Default: 1 ! IDFRQ = 1 ! 

 Wet flux print interval 

 (IWFRQ) in hours Default: 1 ! IWFRQ = 1 ! 

 Units for Line Printer Output 

 (IPRTU) Default: 1 ! IPRTU = 1 ! 

 for for 

 Concentration Deposition 

 1 = g/m**3 g/m**2/s 

 2 = mg/m**3 mg/m**2/s 

 3 = ug/m**3 ug/m**2/s 

 4 = ng/m**3 ng/m**2/s 

 5 = Odour Units 

 Messages tracking progress of run 

 written to the screen ? 

 (IMESG) Default: 2 ! IMESG = 2 ! 

 0 = no 

 1 = yes (advection step, puff ID) 

 2 = yes (YYYYJJJHH, # old puffs, # emitted puffs) 

MAR 2006 – CALPUFF 

F-17
Table F-2 (Continued) 

Sample CALPUFF Control File (CALPUFF.INP) 

Input Group 5

 SPECIES (or GROUP for combined species) LIST FOR OUTPUT OPTIONS 

 ---- CONCENTRATIONS ---- ------ DRY FLUXES ------ ------ WET FLUXES ------ -- MASS FLUX -- 

 SPECIES 

 /GROUP PRINTED? SAVED ON DISK? PRINTED? SAVED ON DISK? PRINTED? SAVED ON DISK? SAVED ON DISK? 

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

! SO2 = 1, 1, 0, 1, 0, 0, 0 ! 

! NOX = 1, 1, 0, 1, 0, 0, 0 ! 

! PM10 = 1, 1, 0, 1, 0, 0, 0 ! 

 Note: Species BCON (for MBCON > 0) does not need to be saved on disk. 

 OPTIONS FOR PRINTING "DEBUG" QUANTITIES (much output) 

 Logical for debug output 

 (LDEBUG) Default: F ! LDEBUG = F ! 

 First puff to track 

 (IPFDEB) Default: 1 ! IPFDEB = 1 ! 

 Number of puffs to track 

 (NPFDEB) Default: 1 ! NPFDEB = 1 ! 

 Met. period to start output 

 (NN1) Default: 1 ! NN1 = 1 ! 

 Met. period to end output 

 (NN2) Default: 10 ! NN2 = 10 ! 

!END! 

MAR 2006 – CALPUFF 

F-18
Table F-2 (Continued) 

Sample CALPUFF Control File (CALPUFF.INP) 

Input Group 6

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

INPUT GROUP: 6a, 6b, & 6c -- Subgrid scale complex terrain inputs 

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

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

Subgroup (6a) 

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

 Number of terrain features (NHILL) Default: 0 ! NHILL = 1 ! 

 Number of special complex terrain 

 receptors (NCTREC) Default: 0 ! NCTREC = 9 ! 

 Terrain and CTSG Receptor data for 

 CTSG hills input in CTDM format ? 

 (MHILL) No Default ! MHILL = 2 ! 

 1 = Hill and Receptor data created 

 by CTDM processors & read from 

 HILL.DAT and HILLRCT.DAT files 

 2 = Hill data created by OPTHILL & 

 input below in Subgroup (6b); 

 Receptor data in Subgroup (6c) 

 Factor to convert horizontal dimensions Default: 1.0 ! XHILL2M = 1. ! 

 to meters (MHILL=1) 

 Factor to convert vertical dimensions Default: 1.0 ! ZHILL2M = 1. ! 

 to meters (MHILL=1) 

 X-origin of CTDM system relative to No Default ! XCTDMKM = 0.0E00 ! 

 CALPUFF coordinate system, in Kilometers (MHILL=1) 

 Y-origin of CTDM system relative to No Default ! YCTDMKM = 0.0E00 ! 

 CALPUFF coordinate system, in Kilometers (MHILL=1) 

! END ! 

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

Subgroup (6b) 

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

 1 ** 

 HILL information 

HILL XC YC THETAH ZGRID RELIEF EXPO 1 EXPO 2 SCALE 1 SCALE 2 AMAX1 AMAX2 

 NO. (km) (km) (deg.) (m) (m) (m) (m) (m) (m) (m) (m) 

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

1!HILL = 0., 0., 0., 25., 100., 2., 2., 800., 400., 1132., 566. ! !END! 

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

Subgroup (6c) 

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

 COMPLEX TERRAIN RECEPTOR INFORMATION 

 XRCT YRCT ZRCT XHH 

 (km) (km) (m) 

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

 1 !CTREC = -0.2, 0., 95.0, 1.0 ! !END! 

 2 !CTREC = -0.2, -0.1, 93.5, 1.0 ! !END! 

 3 !CTREC = -0.2, -0.2, 89.3, 1.0 ! !END! 

 4 !CTREC = -0.2, -0.3, 82.9, 1.0 ! !END! 

 5 !CTREC = -0.2, -0.4, 75.0, 1.0 ! !END! 

 6 !CTREC = -0.2, -0.5, 66.4, 1.0 ! !END! 

 7 !CTREC = -0.2, -0.6, 57.8, 1.0 ! !END! 

 8 !CTREC = -0.2, -0.7, 49.4, 1.0 ! !END! 

 9 !CTREC = -0.2, -0.8, 41.7, 1.0 ! !END! 

MAR 2006 – CALPUFF 

F-19
Table F-2 (Continued) 

Sample CALPUFF Control File (CALPUFF.INP) 

Input Group 6

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

1 

 Description of Complex Terrain Variables: 

 XC, YC = Coordinates of center of hill 

 THETAH = Orientation of major axis of hill (clockwise from 

 North) 

 ZGRID = Height of the 0 of the grid above mean sea 

 level 

 RELIEF = Height of the crest of the hill above the grid elevation 

 EXPO 1 = Hill-shape exponent for the major axis 

 EXPO 2 = Hill-shape exponent for the major axis 

 SCALE 1 = Horizontal length scale along the major axis 

 SCALE 2 = Horizontal length scale along the minor axis 

 AMAX = Maximum allowed axis length for the major axis 

 BMAX = Maximum allowed axis length for the major axis 

 XRCT, YRCT = Coordinates of the complex terrain receptors 

 ZRCT = Height of the ground (MSL) at the complex terrain 

 Receptor 

 XHH = Hill number associated with each complex terrain receptor 

 (NOTE: MUST BE ENTERED AS A REAL NUMBER) 

 ** 

 NOTE: DATA for each hill and CTSG receptor are treated as a separate 

 input subgroup and therefore must end with an input group terminator. 

MAR 2006 – CALPUFF 

F-20
Table F-2 (Continued) 

Sample CALPUFF Control File (CALPUFF.INP) 

Input Groups 7, 8 and 9

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

INPUT GROUP: 7 -- Chemical parameters for dry deposition of gases 

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

 SPECIES DIFFUSIVITY ALPHA STAR REACTIVITY MESOPHYLL RESISTANCE HENRY'S LAW COEFFICIENT 

 NAME (cm**2/s) (s/cm) (dimensionless) 

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

! SO2 = 0.1509, 1000., 8., 0., 0.04 ! 

! NOX = 0.1656, 1., 8., 5., 3.5 ! 

!END! 

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

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. 

 SPECIES GEOMETRIC MASS MEAN GEOMETRIC STANDARD 

 NAME DIAMETER DEVIATION 

 (microns) (microns) 

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

! PMSIZE1 = 0.05, 0. ! 

! PMSIZE2 = 0.1, 0. ! 

! PMSIZE3 = 0.2, 0. ! 

! PMSIZE4 = 0.4, 0. ! 

! PMSIZE5 = 0.8, 0. ! 

! PMSIZE6 = 1.6, 0. ! 

!END! 

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

INPUT GROUP: 9 -- Miscellaneous dry deposition parameters 

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

 Reference cuticle resistance (s/cm) 

 (RCUTR) Default: 30 ! RCUTR = 30. ! 

 Reference ground resistance (s/cm) 

 (RGR) Default: 10 ! RGR = 10. ! 

 Reference pollutant reactivity 

 (REACTR) Default: 8 ! REACTR = 8. ! 

 Number of particle-size intervals used to 

 evaluate effective particle deposition velocity 

 (NINT) Default: 9 ! NINT = 9 ! 

 Vegetation state in unirrigated areas 

 (IVEG) Default: 1 ! IVEG = 1 ! 

 IVEG=1 for active and unstressed vegetation 

 IVEG=2 for active and stressed vegetation 

 IVEG=3 for inactive vegetation 

!END! 

MAR 2006 – CALPUFF 

F-21
Table F-2 (Continued) 

Sample CALPUFF Control File (CALPUFF.INP) 

Input Groups 10 and 11

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

INPUT GROUP: 10 -- Wet Deposition Parameters 

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

 

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

 Pollutant Liquid Precip. Frozen Precip. 

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

! SO2 = 3.0E-05, 0.0E00 ! 

! NOX = 0.0, 0.0 ! 

! PMSIZE1 = 1.0E-04, 3.0E-05 ! 

! PMSIZE2 = 1.0E-04, 3.0E-05 ! 

! PMSIZE3 = 1.0E-04, 3.0E-05 ! 

! PMSIZE4 = 1.0E-04, 3.0E-05 ! 

! PMSIZE5 = 1.0E-04, 3.0E-05 ! 

! PMSIZE6 = 1.0E-04, 3.0E-05 ! 

!END! 

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

INPUT GROUP: 11 -- Chemistry Parameters 

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

 Ozone data input option (MOZ) Default: 1 ! MOZ = 0 ! 

 (Used only if MCHEM = 1, 3, or 4) 

 0 = use a monthly background ozone value 

 1 = read hourly ozone concentrations from 

 the OZONE.DAT data file 

 Monthly background ozone concentrations 

 (BCKO3) in ppb Default: 12*80. ! BCKO3 = 12*80. ! 

 (Used only if MCHEM = 1,3, or 4 and 

 MOZ = 0 or (MOZ = 1 and all hourly 

 O3 data missing) 

 Monthly background ammonia concentrations 

 (BCKNH3) in ppb Default: 12*10. ! BCKNH3 = 12*10. ! 

 Nighttime SO2 loss rate (RNITE1) 

 in percent/hour Default: 0.2 ! RNITE1 = 0.2 ! 

 Nighttime NOx loss rate (RNITE2) 

 in percent/hour Default: 2.0 ! RNITE2 = 2. ! 

 Nighttime HNO3 formation rate (RNITE3) 

 in percent/hour Default: 2.0 ! RNITE3 = 2. ! 

 H2O2 data input option (MH2O2) Default: 1 ! MH2O2 = 0 ! 

 (Used only if MAQCHEM = 1) 

 0 = use a monthly background H2O2 value 

 1 = read hourly H2O2 concentrations from 

 the H2O2.DAT data file 

 Monthly background H2O2 concentrations 

 (BCKH2O2) in ppb Default: 12*1. ! BCKH2O2 = 12*1. ! 

 (Used only if MQACHEM = 1 and 

 MH2O2 = 0 or (MH2O2 = 1 and all 

 hourly H2O2 data missing) 

MAR 2006 – CALPUFF 

F-22
Table F-2 (Continued) 

Sample CALPUFF Control File (CALPUFF.INP) 

Input Group 11

 --- Data for SECONDARY ORGANIC AEROSOL (SOA) Option 

 (used only if MCHEM = 4) 

 The SOA module uses monthly values of: 

 Fine particulate concentration in ug/m^3 (BCKPMF) 

 Organic fraction of fine particulate (OFRAC) 

 VOC / NOX ratio (after reaction) (VCNX) 

 to characterize the air mass when computing 

 the formation of SOA from VOC emissions. 

 Typical values for several distinct air mass types are: 

 Month 1 2 3 4 5 6 7 8 9 10 11 12 

 Jan Feb Mar Apr May Jun Jul Aug Sep Oct Nov Dec 

 Clean Continental 

 BCKPMF 1. 1. 1. 1. 1. 1. 1. 1. 1. 1. 1. 1. 

 OFRAC .15 .15 .20 .20 .20 .20 .20 .20 .20 .20 .20 .15 

 VCNX 50. 50. 50. 50. 50. 50. 50. 50. 50. 50. 50. 50. 

 Clean Marine (surface) 

 BCKPMF .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 

 OFRAC .25 .25 .30 .30 .30 .30 .30 .30 .30 .30 .30 .25 

 VCNX 50. 50. 50. 50. 50. 50. 50. 50. 50. 50. 50. 50. 

 Urban - low biogenic (controls present) 

 BCKPMF 30. 30. 30. 30. 30. 30. 30. 30. 30. 30. 30. 30. 

 OFRAC .20 .20 .25 .25 .25 .25 .25 .25 .20 .20 .20 .20 

 VCNX 4. 4. 4. 4. 4. 4. 4. 4. 4. 4. 4. 4. 

 Urban - high biogenic (controls present) 

 BCKPMF 60. 60. 60. 60. 60. 60. 60. 60. 60. 60. 60. 60. 

 OFRAC .25 .25 .30 .30 .30 .55 .55 .55 .35 .35 .35 .25 

 VCNX 15. 15. 15. 15. 15. 15. 15. 15. 15. 15. 15. 15. 

 Regional Plume 

 BCKPMF 20. 20. 20. 20. 20. 20. 20. 20. 20. 20. 20. 20. 

 OFRAC .20 .20 .25 .35 .25 .40 .40 .40 .30 .30 .30 .20 

 VCNX 15. 15. 15. 15. 15. 15. 15. 15. 15. 15. 15. 15. 

 Urban - no controls present 

 BCKPMF 100. 100. 100. 100. 100. 100. 100. 100. 100. 100. 100. 100. 

 OFRAC .30 .30 .35 .35 .35 .55 .55 .55 .35 .35 .35 .30 

 VCNX 2. 2. 2. 2. 2. 2. 2. 2. 2. 2. 2. 2. 

 Default: Clean Continental ! BCKPMF = 12*1.0 ! 

 ! OFRAC = 2*0.15, 9*0.20, 0.15 ! 

 ! VCNX = 12*50.0 ! 

!END! 

MAR 2006 – CALPUFF 

F-23
Table F-2 (Continued) 

Sample CALPUFF Control File (CALPUFF.INP) 

Input Group 12 ------------------------------------------------------------------------------- 

INPUT GROUP: 12 -- Misc. Dispersion and Computational Parameters 

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

 Horizontal size of puff (m) beyond which 

 time-dependent dispersion equations (Heffter) 

 are used to determine sigma-y and 

 sigma-z (SYTDEP) Default: 550. ! SYTDEP = 1.0E04 ! 

 Switch for using Heffter equation for sigma z 

 as above (0 = Not use Heffter; 1 = use Heffter 

 (MHFTSZ) Default: 0 ! MHFTSZ = 1 ! 

 Stability class used to determine plume 

 growth rates for puffs above the boundary 

 layer (JSUP) Default: 5 ! JSUP = 5 ! 

 Vertical dispersion constant for stable 

 conditions (k1 in Eqn. 2.7-3) (CONK1) Default: 0.01 ! CONK1 = 0.01 ! 

 Vertical dispersion constant for neutral/ 

 unstable conditions (k2 in Eqn. 2.7-4) 

 (CONK2) Default: 0.1 ! CONK2 = 0.1 ! 

 Factor for determining Transition-point from 

 Schulman-Scire to Huber-Snyder Building Downwash 

 scheme (SS used for Hs < Hb + TBD * HL) 

 (TBD) Default: 0.5 ! TBD = 0.5 ! 

 TBD < 0 ==> always use Huber-Snyder 

 TBD = 1.5 ==> always use Schulman-Scire 

 TBD = 0.5 ==> ISC Transition-point 

 Range of land use categories for which 

 urban dispersion is assumed 

 (IURB1, IURB2) Default: 10 ! IURB1 = 10 ! 

 19 ! IURB2 = 19 ! 

 Site characterization parameters for single-point Met data files --------- 

 (needed for METFM = 2,3,4) 

 Land use category for modeling domain 

 (ILANDUIN) Default: 20 ! ILANDUIN = 20 ! 

 Roughness length (m) for modeling domain 

 (Z0IN) Default: 0.25 ! Z0IN = 0.25 ! 

 Leaf area index for modeling domain 

 (XLAIIN) Default: 3.0 ! XLAIIN = 3. ! 

 Elevation above sea level (m) 

 (ELEVIN) Default: 0.0 ! ELEVIN = 0. ! 

 Latitude (degrees) for met location 

 (XLATIN) Default: -999. ! XLATIN = 0. ! 

 Longitude (degrees) for met location 

 (XLONIN) Default: -999. ! XLONIN = 0. ! 

 Specialized information for interpreting single-point Met data files ----- 

 Anemometer height (m) (Used only if METFM = 2,3) 

 (ANEMHT) Default: 10. ! ANEMHT = 10. ! 

 Form of lateral turbulance data in PROFILE.DAT file 

 (Used only if METFM = 4 or MTURBVW = 1 or 3) 

 (ISIGMAV) Default: 1 ! ISIGMAV = 1 ! 

 0 = read sigma-theta 

 1 = read sigma-v 

 Choice of mixing heights (Used only if METFM = 4) 

 (IMIXCTDM) Default: 0 ! IMIXCTDM = 0 ! 

 0 = read PREDICTED mixing heights 

 1 = read OBSERVED mixing heights 

MAR 2006 – CALPUFF 

F-24
Table F-2 (Continued) 

Sample CALPUFF Control File (CALPUFF.INP) 

Input Group 12

 Maximum length of a slug (met. grid units) 

 (XMXLEN) Default: 1.0 ! XMXLEN = 1. ! 

 Maximum travel distance of a puff/slug (in 

 grid units) during one sampling step 

 (XSAMLEN) Default: 1.0 ! XSAMLEN = 1. ! 

 Maximum Number of slugs/puffs release from 

 one source during one time step 

 (MXNEW) Default: 99 ! MXNEW = 99 ! 

 Maximum Number of sampling steps for 

 one puff/slug during one time step 

 (MXSAM) Default: 99 ! MXSAM = 99 ! 

 Number of iterations used when computing 

 the transport wind for a sampling step 

 that includes gradual rise (for CALMET 

 and PROFILE winds) 

 (NCOUNT) Default: 2 ! NCOUNT = 2 ! 

 Minimum sigma y for a new puff/slug (m) 

 (SYMIN) Default: 1.0 ! SYMIN = 1. ! 

 Minimum sigma z for a new puff/slug (m) 

 (SZMIN) Default: 1.0 ! SZMIN = 1. ! 

 Default minimum turbulence velocities sigma-v and sigma-w 

 for each stability class over land and over water (m/s) 

 (SVMIN(12) and SWMIN(12)) 

 ---------- LAND ---------- --------- WATER ---------- 

 Stab Class : A B C D E F A B C D E F 

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

 Default SVMIN : .50, .50, .50, .50, .50, .50, .37, .37, .37, .37, .37, .37 

 Default SWMIN : .20, .12, .08, .06, .03, .016, .20, .12, .08, .06, .03, .016 

 ! SVMIN = .500, .500, .500, .500, .500, .500, .370, .370, .370, .370, .370, .370! 

 ! SWMIN = .200, .120, .080, .060, .030, .016, .200, .120, .080, .060, .030, .016! 

 Divergence criterion for dw/dz across puff 

 used to initiate adjustment for horizontal 

 convergence (1/s) 

 Partial adjustment starts at CDIV(1), and 

 full adjustment is reached at CDIV(2) 

 (CDIV(2)) Default: 0.0,0.0 ! CDIV = 0., 0. ! 

 Minimum wind speed (m/s) allowed for 

 non-calm conditions. Also used as minimum 

 speed returned when using power-law 

 extrapolation toward surface 

 (WSCALM) Default: 0.5 ! WSCALM = 0.5 ! 

 Maximum mixing height (m) 

 (XMAXZI) Default: 3000. ! XMAXZI = 3000. ! 

 Minimum mixing height (m) 

 (XMINZI) Default: 50. ! XMINZI = 50. ! 

 Default wind speed classes -- 

 5 upper bounds (m/s) are entered; 

 the 6th class has no upper limit 

 (WSCAT(5)) Default : 

 ISC RURAL : 1.54, 3.09, 5.14, 8.23, 10,8 (10.8+) 

 Wind Speed Class : 1 2 3 4 5 6 

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

 ! WSCAT = 1.54, 3.09, 5.14, 8.23, 10.80 ! 

MAR 2006 – CALPUFF 

F-25
Table F-2 (Continued) 

Sample CALPUFF Control File (CALPUFF.INP) 

Input Group 12

 Default wind speed profile power-law 

 exponents for stabilities 1-6 

 (PLX0(6)) Default : ISC RURAL values 

 ISC RURAL : .07, .07, .10, .15, .35, .55 

 ISC URBAN : .15, .15, .20, .25, .30, .30 

 Stability Class : A B C D E F 

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

 ! PLX0 = 0.07, 0.07, 0.10, 0.15, 0.35, 0.55 ! 

 Default potential temperature gradient 

 for stable classes E, F (degK/m) 

 (PTG0(2)) Default: 0.020, 0.035 

 ! PTG0 = 0.020, 0.035 ! 

 Default plume path coefficients for 

 each stability class (used when option 

 for partial plume height terrain adjustment 

 is selected -- MCTADJ=3) 

 (PPC(6)) Stability Class : A B C D E F 

 Default PPC : .50, .50, .50, .50, .35, .35 

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

 ! PPC = 0.50, 0.50, 0.50, 0.50, 0.35, 0.35 ! 

 Slug-to-puff transition criterion factor 

 equal to sigma-y/length of slug 

 (SL2PF) Default: 10. ! SL2PF = 10. ! 

 Puff-splitting control variables ------------------------ 

 VERTICAL SPLIT 

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

 Number of puffs that result every time a puff 

 is split - nsplit=2 means that 1 puff splits 

 into 2 

 (NSPLIT) Default: 3 ! NSPLIT = 3 ! 

 Time(s) of a day when split puffs are eligible to 

 be split once again; this is typically set once 

 per day, around sunset before nocturnal shear develops. 

 24 values: 0 is midnight (00:00) and 23 is 11 PM (23:00) 

 0=do not re-split 1=eligible for re-split 

 (IRESPLIT(24)) Default: Hour 17 = 1 

 ! IRESPLIT = 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0 ! 

 Split is allowed only if last hour's mixing 

 height (m) exceeds a minimum value 

 (ZISPLIT) Default: 100. ! ZISPLIT = 100. ! 

 Split is allowed only if ratio of last hour's 

 mixing ht to the maximum mixing ht experienced 

 by the puff is less than a maximum value (this 

 postpones a split until a nocturnal layer develops) 

 (ROLDMAX) Default: 0.25 ! ROLDMAX = 0.25 ! 

MAR 2006 – CALPUFF 

F-26
Table F-2 (Continued) 

Sample CALPUFF Control File (CALPUFF.INP) 

Input Group 12

 HORIZONTAL SPLIT 

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

 Number of puffs that result every time a puff 

 is split - nsplith=5 means that 1 puff splits 

 into 5 

 (NSPLITH) Default: 5 ! NSPLITH = 5 ! 

 Minimum sigma-y (Grid Cells Units) of puff 

 before it may be split 

 (SYSPLITH) Default: 1.0 ! SYSPLITH = 1.0 ! 

 Minimum puff elongation rate (SYSPLITH/hr) due to 

 wind shear, before it may be split 

 (SHSPLITH) Default: 2. ! SHSPLITH = 2. ! 

 Minimum concentration (g/m^3) of each 

 species in puff before it may be split 

 Enter array of NSPEC values; if a single value is 

 entered, it will be used for ALL species 

 (CNSPLITH) Default: 1.0E-07 ! CNSPLITH = 1.0E-07 ! 

 Integration control variables ------------------------ 

 Fractional convergence criterion for numerical SLUG 

 sampling integration 

 (EPSSLUG) Default: 1.0e-04 ! EPSSLUG = 1.0E-04 ! 

 Fractional convergence criterion for numerical AREA 

 source integration 

 (EPSAREA) Default: 1.0e-06 ! EPSAREA = 1.0E-06 ! 

 Trajectory step-length (m) used for numerical rise 

 integration 

 (DSRISE) Default: 1.0 ! DSRISE = 1. ! 

 Boundary Condition (BC) Puff control variables ------------------------ 

 Minimum height (m) to which BC puffs are mixed as they are emitted 

 (MBCON=2 ONLY). Actual height is reset to the current mixing height 

 at the release point if greater than this minimum. 

 (HTMINBC) Default: 500. ! HTMINBC = 500. ! 

 Search radius (km) about a receptor for sampling nearest BC puff. 

 BC puffs are typically emitted with a spacing of one grid cell 

 length, so the search radius should be greater than DGRIDKM. 

 (RSAMPBC) Default: 10. ! RSAMPBC = 15. ! 

 Near-Surface depletion adjustment to concentration profile used when 

 sampling BC puffs? 

 (MDEPBC) Default: 1 ! MDEPBC = 0. ! 

 0 = Concentration is NOT adjusted for depletion 

 1 = Adjust Concentration for depletion 

!END! 

MAR 2006 – CALPUFF 

F-27
Table F-2 (Continued) 

Sample CALPUFF Control File (CALPUFF.INP) 

Input Group 13 ------------------------------------------------------------------------------- 

INPUT GROUPS: 13a, 13b, 13c, 13d -- Point source parameters 

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

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

Subgroup (13a) 

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

 Number of point sources with 

 parameters provided below (NPT1) No default ! NPT1 = 1 ! 

 Units used for point source 

 emissions below (IPTU) Default: 1 ! IPTU = 1 ! 

 1 = g/s 

 2 = kg/hr 

 3 = lb/hr 

 4 = tons/yr 

 5 = Odour Unit * m**3/s (vol. flux of odour compound) 

 6 = Odour Unit * m**3/min 

 7 = metric tons/yr 

 Number of source-species 

 combinations with variable 

 emissions scaling factors 

 provided below in (13d) (NSPT1) Default: 0 ! NSPT1 = 1 ! 

 Number of point sources with 

 variable emission parameters 

 provided in external file (NPT2) No default ! NPT2 = 0 ! 

 (If NPT2 > 0, these point 

 source emissions are read from 

 the file: PTEMARB.DAT) 

!END! 

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

Subgroup (13b) 

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

 a 

 POINT SOURCE: CONSTANT DATA 

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

 b c 

 Source X UTM Y UTM Stack Base Stack Exit Exit Bldg. Emission 

 No. Coordinate Coordinate Height Elevation Diameter Vel. Temp. Dwash Rates 

 (km) (km) (m) (m) (m) (m/s) (deg. K) 

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

 1 ! SRCNAM = BLR1 ! 

 1 ! X = 0.1, -3., 40., 25., 2.2, 10., 450., 1., 1.7E00, 1.0E00, 1.0E-02, 

 1.0E-01, 2.0E-01, 2.4E-01, 2.5E-01, 2.0E-01 ! 

 1 ! SIGYZI = 3., 1.5 ! 

 1 ! ZPLTFM = 0. ! 

 1 ! FMFAC = 1. ! !END! 

-------- 

 a 

 Data for each source are treated as a separate input subgroup 

 and therefore must end with an input group terminator. 

 SRCNAM is a 12-character name for a source 

 (No default) 

 X is an array holding the source data listed by the column headings 

 (No default) 

 SIGYZI is an array holding the initial sigma-y and sigma-z (m) 

 (Default: 0.,0.) 

 FMFAC is a vertical momentum flux factor (0. or 1.0) used to represent 

 the effect of rain-caps or other physical configurations that 

 reduce momentum rise associated with the actual exit velocity. 

 (Default: 1.0 -- full momentum used) 

MAR 2006 – CALPUFF 

F-28
Table F-2 (Continued) 

Sample CALPUFF Control File (CALPUFF.INP) 

Input Group 13

 ZPLTFM is the platform height (m) for sources influenced by an isolated 

 structure that has a significant open area between the surface 

 and the bulk of the structure, such as an offshore oil platform. 

 The Base Elevation is that of the surface (ground or ocean), 

 and the Stack Height is the release height above the Base (not 

 above the platform). Building heights entered in Subgroup 13c 

 must be those of the buildings on the platform, measured from 

 the platform deck. ZPLTFM is used only with MBDW=1 (ISC 

 downwash method) for sources with building downwash. 

 (Default: 0.0) 

 b 

 0. = No building downwash modeled 

 1. = Downwash modeled for buildings resting on the surface 

 2. = Downwash modeled for buildings raised above the surface (ZPLTFM > 0.) 

 NOTE: must be entered as a REAL number (i.e., with decimal point) c 

 An emission rate must be entered for every pollutant modeled. 

 Enter emission rate of zero for secondary pollutants that are 

 modeled, but not emitted. Units are specified by IPTU 

 (e.g. 1 for g/s). 

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

Subgroup (13c) 

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

 BUILDING DIMENSION DATA FOR SOURCES SUBJECT TO DOWNWASH 

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

Source a 

No. Effective building height, width, length and X/Y offset (in meters) 

 every 10 degrees. LENGTH, XBADJ, and YBADJ are only needed for 

 MBDW=2 (PRIME downwash option) 

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

 1 ! SRCNAM = BLR1 ! 

 1 ! HEIGHT = 45., 45., 45., 45., 45., 45., 

 45., 45., 45., 0., 0., 0., 

 0., 0., 0., 0., 0., 0., 

 45., 45., 45., 45., 45., 45., 

 45., 45., 45., 0., 0., 0., 

 0., 0., 0., 0., 0., 0.! 

 1 ! WIDTH = 12.5, 12.5, 12.5, 12.5, 12.5, 12.5, 

 12.5, 12.5, 12.5, 0., 0., 0., 

 0., 0., 0., 0., 0., 0., 

 12.5, 12.5, 12.5, 12.5, 12.5, 12.5, 

 12.5, 12.5, 12.5, 0., 0., 0., 

 0., 0., 0., 0., 0., 0.! 

!END! 

-------- 

 a 

 Building height, width, length, and X/Y offset from the source are treated 

 as a separate input subgroup for each source and therefore must end with 

 an input group terminator. 

MAR 2006 – CALPUFF 

F-29
Table F-2 (Continued) 

Sample CALPUFF Control File (CALPUFF.INP) 

Input Group 13

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

Subgroup (13d) 

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

 a 

 POINT SOURCE: VARIABLE EMISSIONS DATA 

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

 Use this subgroup to describe temporal variations in the emission 

 rates given in 13b. Factors entered multiply the rates in 13b. 

 Skip sources here that have constant emissions. For more elaborate 

 variation in source parameters, use PTEMARB.DAT and NPT2 > 0. 

 IVARY determines the type of variation, and is source-specific: 

 (IVARY) Default: 0 

 0 = Constant 

 1 = Diurnal cycle (24 scaling factors: hours 1-24) 

 2 = Monthly cycle (12 scaling factors: months 1-12) 

 3 = Hour & Season (4 groups of 24 hourly scaling factors, 

 where first group is DEC-JAN-FEB) 

 4 = Speed & Stab. (6 groups of 6 scaling factors, where 

 first group is Stability Class A, 

 and the speed classes have upper 

 bounds (m/s) defined in Group 12 

 5 = Temperature (12 scaling factors, where temperature 

 classes have upper bounds (C) of: 

 0, 5, 10, 15, 20, 25, 30, 35, 40, 

 45, 50, 50+) 

 1 ! SRCNAM = BLR1 ! 

 1 ! IVARY = 2 ! (12 Months) 

 1 ! SO2 = 0.1,0.1,0.5,0.9,2,2.2, 

 2.5,1.5,1.1,0.9,0.5,0.1 ! 

!END! 

-------- 

 a 

 Data for each species are treated as a separate input subgroup 

 and therefore must end with an input group terminator.

MAR 2006 – CALPUFF 

F-30
Table F-2 (Continued) 

Sample CALPUFF Control File (CALPUFF.INP) 

Input Group 14

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

INPUT GROUPS: 14a, 14b, 14c, 14d -- Area source parameters 

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

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

Subgroup (14a) 

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

 Number of polygon area sources with 

 parameters specified below (NAR1) No default ! NAR1 = 2 ! 

 Units used for area source 

 emissions below (IARU) Default: 1 ! IARU = 1 ! 

 1 = g/m**2/s 

 2 = kg/m**2/hr 

 3 = lb/m**2/hr 

 4 = tons/m**2/yr 

 5 = Odour Unit * m/s (vol. flux/m**2 of odour compound) 

 6 = Odour Unit * m/min 

 7 = metric tons/m**2/yr 

 Number of source-species 

 combinations with variable 

 emissions scaling factors 

 provided below in (14d) (NSAR1) Default: 0 ! NSAR1 = 4 ! 

 Number of buoyant polygon area sources 

 with variable location and emission 

 parameters (NAR2) No default ! NAR2 = 0 ! 

 (If NAR2 > 0, ALL parameter data for 

 these sources are read from the file: BAEMARB.DAT) 

!END! 

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

Subgroup (14b) 

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

 a 

 AREA SOURCE: CONSTANT DATA 

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

 b 

Source Effect. Base Initial Emission 

 No. Height Elevation Sigma z Rates 

 (m) (m) (m) 

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

 1! SRCNAM = AREA1 ! 

 1! X = 1., 0., 2.5, 8.5E-01, 0.5E00, 0.0E00, 

 0.0E00, 0.0E00, 0.0E00, 0.0E00, 0.0E00 ! 

!END! 

 2! SRCNAM = AREA2 ! 

 2! X = 1.5, 0., 3., 0.0E00, 0.0E00, 1.0E-01, 

 0.0E00, 0.0E00, 5.0E-01, 1.0E00, 1.3E00 ! 

!END! 

-------- 

 a 

 Data for each source are treated as a separate input subgroup 

 and therefore must end with an input group terminator. 

 b 

 An emission rate must be entered for every pollutant modeled. 

 Enter emission rate of zero for secondary pollutants that are 

 modeled, but not emitted. Units are specified by IARU 

 (e.g. 1 for g/m**2/s).

MAR 2006 – CALPUFF 

F-31
Table F-2 (Continued) 

Sample CALPUFF Control File (CALPUFF.INP) 

Input Group 14

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

Subgroup (14c) 

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

 COORDINATES (UTM-km) FOR EACH VERTEX(4) OF EACH POLYGON 

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

Source a 

 No. Ordered list of X followed by list of Y, grouped by source 

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

 1 ! SRCNAM = AREA1 ! 

 1 ! XVERT = 0.5, 0.51, 0.51, 0.5! 

 1 ! YVERT = 1.61, 1.61, 1.6, 1.6! 

!END! 

 2 ! SRCNAM = AREA2 ! 

 2 ! XVERT = 0.75, 0.76, 0.76, 0.75! 

 2 ! YVERT = 1.81, 1.81, 1.8, 1.8! 

!END! 

-------- 

 a 

 Data for each source are treated as a separate input subgroup 

 and therefore must end with an input group terminator. 

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

Subgroup (14d) 

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

 a 

 AREA SOURCE: VARIABLE EMISSIONS DATA 

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

 Use this subgroup to describe temporal variations in the emission 

 rates given in 14b. Factors entered multiply the rates in 14b. 

 Skip sources here that have constant emissions. For more elaborate 

 variation in source parameters, use BAEMARB.DAT and NAR2 > 0. 

 IVARY determines the type of variation, and is source-specific: 

 (IVARY) Default: 0 

 0 = Constant 

 1 = Diurnal cycle (24 scaling factors: hours 1-24) 

 2 = Monthly cycle (12 scaling factors: months 1-12) 

 3 = Hour & Season (4 groups of 24 hourly scaling factors, 

 where first group is DEC-JAN-FEB) 

 4 = Speed & Stab. (6 groups of 6 scaling factors, where 

 first group is Stability Class A, 

 and the speed classes have upper 

 bounds (m/s) defined in Group 12 

 5 = Temperature (12 scaling factors, where temperature 

 classes have upper bounds (C) of: 

 0, 5, 10, 15, 20, 25, 30, 35, 40, 

 45, 50, 50+) 

 2 ! SRCNAM = AREA2 ! 

 2 ! IVARY = 4 ! (6 speed classes for each stability) 

 2 ! PMSIZE1 = 0.1,0.1,0.5,0.9,1,1.5, 

 0.1,0.1,0.5,0.9,1,1.5, 

 0.1,0.1,0.5,0.9,1,1.5, 

 0.1,0.1,0.5,0.9,1,1.5, 

 0.1,0.1,0.5,0.9,1,1.5, 

 0.1,0.1,0.5,0.9,1,1.5 ! 

!END! 

MAR 2006 – CALPUFF 

F-32
Table F-2 (Continued) 

Sample CALPUFF Control File (CALPUFF.INP) 

Input Group 14

 2 ! SRCNAM = AREA2 ! 

 2 ! IVARY = 4 ! (6 speed classes for each stability) 

 2 ! PMSIZE4 = 0.1,0.1,0.5,0.9,1.5,2.2, 

 0.1,0.1,0.5,0.9,1.5,2.2, 

 0.1,0.1,0.5,0.9,1.5,2.2, 

 0.1,0.1,0.5,0.9,1.5,2.2, 

 0.1,0.1,0.5,0.9,1.5,2.2, 

 0.1,0.1,0.5,0.9,1.5,2.2 ! 

!END! 

 2 ! SRCNAM = AREA2 ! 

 2 ! IVARY = 4 ! (6 speed classes for each stability) 

 2 ! PMSIZE5 = 0.1,0.1,0.5,0.9,2,2.5, 

 0.1,0.1,0.5,0.9,2,2.5, 

 0.1,0.1,0.5,0.9,2,2.5, 

 0.1,0.1,0.5,0.9,2,2.5, 

 0.1,0.1,0.5,0.9,2,2.5, 

 0.1,0.1,0.5,0.9,2,2.5 ! 

!END! 

 2 ! SRCNAM = AREA2 ! 

 2 ! IVARY = 4 ! (6 speed classes for each stability) 

 2 ! PMSIZE6 = 0.1,0.1,0.5,0.9,2,2.5, 

 0.1,0.1,0.5,0.9,2,2.5, 

 0.1,0.1,0.5,0.9,2,2.5, 

 0.1,0.1,0.5,0.9,2,2.5, 

 0.1,0.1,0.5,0.9,2,2.5, 

 0.1,0.1,0.5,0.9,2,2.5 ! 

!END! 

-------- 

 a 

 Data for each species are treated as a separate input subgroup 

 and therefore must end with an input group terminator. 

MAR 2006 – CALPUFF 

F-33
Table F-2 (Continued) 

Sample CALPUFF Control File (CALPUFF.INP) 

Input Group 15

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

INPUT GROUPS: 15a, 15b, 15c -- Line source parameters 

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

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

Subgroup (15a) 

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

 Number of buoyant line sources 

 with variable location and emission 

 parameters (NLN2) No default ! NLN2 = 0 ! 

 (If NLN2 > 0, ALL parameter data for 

 these sources are read from the file: LNEMARB.DAT) 

 Number of buoyant line sources (NLINES) No default ! NLINES = 2 ! 

 Units used for line source 

 emissions below (ILNU) Default: 1 ! ILNU = 1 ! 

 1 = g/s 

 2 = kg/hr 

 3 = lb/hr 

 4 = tons/yr 

 5 = Odour Unit * m**3/s (vol. flux of odour compound) 

 6 = Odour Unit * m**3/min 

 7 = metric tons/yr 

 Number of source-species 

 combinations with variable 

 emissions scaling factors 

 provided below in (15c) (NSLN1) Default: 0 ! NSLN1 = 1 ! 

 Maximum number of segments used to model 

 each line (MXNSEG) Default: 7 ! MXNSEG = 7 ! 

 The following variables are required only if NLINES > 0. They are 

 used in the buoyant line source plume rise calculations. 

 Number of distances at which Default: 6 ! NLRISE = 6 ! 

 transitional rise is computed 

 Average building length (XL) No default ! XL = 500. ! 

 (in meters) 

 Average building height(HBL) No default ! HBL = 22. ! 

 (in meters) 

 Average building width (WBL) No default ! WBL = 18. ! 

 (in meters) 

 Average line source width (WML) No default ! WML = 3.2 ! 

 (in meters) 

 Average separation between buildings (DXL) No default ! DXL = 22. ! 

 (in meters) 

 Average buoyancy parameter (FPRIMEL) No default ! FPRIMEL = 300. ! 

 (in m**4/s**3) 

!END! 

MAR 2006 – CALPUFF 

F-34
Table F-2 (Continued) 

Sample CALPUFF Control File (CALPUFF.INP) 

Input Group 15

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

Subgroup (15b) 

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

 BUOYANT LINE SOURCE: CONSTANT DATA 

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

 a 

Source Beg. X Beg. Y End. X End. Y Release Base Emission 

 No. Coordinate Coordinate Coordinate Coordinate Height Elevation Rates 

 (km) (km) (km) (km) (m) (m) 

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

 1! SRCNAM = LINE1 ! 

 1! X = 12., 35., 12.5, 35., 22.000, 0.000, 2.3E00, 1.1E00, 0.0E00, 

 0.0E00, 0.0E00, 0.0E00, 0.0E00, 0.0E00 ! 

!END! 

 2! SRCNAM = LINE2 ! 

 2! X = 12., 35.022, 12.5, 35.022, 22.000, 0.000, 2.3E00, 1.1E00, 0.0E00, 

 0.0E00, 0.0E00, 0.0E00, 0.0E00, 0.0E00 ! 

!END! 

-------- 

 a 

 Data for each source are treated as a separate input subgroup 

 and therefore must end with an input group terminator. 

 b 

 An emission rate must be entered for every pollutant modeled. 

 Enter emission rate of zero for secondary pollutants that are 

 modeled, but not emitted. Units are specified by ILNTU 

 (e.g. 1 for g/s). 

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

Subgroup (15c) 

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

 a 

 BUOYANT LINE SOURCE: VARIABLE EMISSIONS DATA 

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

 Use this subgroup to describe temporal variations in the emission 

 rates given in 15b. Factors entered multiply the rates in 15b. 

 Skip sources here that have constant emissions. 

 IVARY determines the type of variation, and is source-specific: 

 (IVARY) Default: 0 

 0 = Constant 

 1 = Diurnal cycle (24 scaling factors: hours 1-24) 

 2 = Monthly cycle (12 scaling factors: months 1-12) 

 3 = Hour & Season (4 groups of 24 hourly scaling factors, 

 where first group is DEC-JAN-FEB) 

 4 = Speed & Stab. (6 groups of 6 scaling factors, where 

 first group is Stability Class A, 

 and the speed classes have upper 

 bounds (m/s) defined in Group 12 

 5 = Temperature (12 scaling factors, where temperature 

 classes have upper bounds (C) of: 

 0, 5, 10, 15, 20, 25, 30, 35, 40, 

 45, 50, 50+) 

 1 ! SRCNAM = LINE1 ! 

 1 ! IVARY = 1 ! (24 Hours) 

 1 ! SO2 = 0.1,0.1,0.1,0.2,0.2,0.3, 

 0.3,0.4,0.4,0.5,0.6,1, 

 1,1,1,1,1,1, 

 0.6,0.4,0.3,0.2,0.1,0.1 ! 

!END! 

-------- 

 a 

 Data for each species are treated as a separate input subgroup 

 and therefore must end with an input group terminator. 

MAR 2006 – CALPUFF 

F-35
Table F-2 (Continued) 

Sample CALPUFF Control File (CALPUFF.INP) 

Input Group 16 

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

INPUT GROUPS: 16a, 16b, 16c -- Volume source parameters 

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

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

Subgroup (16a) 

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

 Number of volume sources with 

 parameters provided in 16b,c (NVL1) No default ! NVL1 = 1 ! 

 Units used for volume source 

 emissions below in 16b (IVLU) Default: 1 ! IVLU = 1 ! 

 1 = g/s 

 2 = kg/hr 

 3 = lb/hr 

 4 = tons/yr 

 5 = Odour Unit * m**3/s (vol. flux of odour compound) 

 6 = Odour Unit * m**3/min 

 7 = metric tons/yr 

 Number of source-species 

 combinations with variable 

 emissions scaling factors 

 provided below in (16c) (NSVL1) Default: 0 ! NSVL1 = 0 ! 

 Number of volume sources with 

 variable location and emission 

 parameters (NVL2) No default ! NVL2 = 0 ! 

 (If NVL2 > 0, ALL parameter data for 

 these sources are read from the VOLEMARB.DAT file(s) ) 

!END! 

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

Subgroup (16b) 

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

 a 

 VOLUME SOURCE: CONSTANT DATA 

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

 b 

 X UTM Y UTM Effect. Base Initial Initial Emission 

 Coordinate Coordinate Height Elevation Sigma y Sigma z Rates 

 (km) (km) (m) (m) (m) (m) 

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

 1! SRCNAM = VOLS1 ! 

! X = -5.6, -1.2, 10., 0., 6.2, 6.2, 2.2E00, 4.0E00, 0.0E00, 

 0.0E00, 0.0E00, 0.0E00, 0.0E00, 0.0E00 ! 

!END! 

-------- 

 a 

 Data for each source are treated as a separate input subgroup 

 and therefore must end with an input group terminator. 

 b 

 An emission rate must be entered for every pollutant modeled. 

 Enter emission rate of zero for secondary pollutants that are 

 modeled, but not emitted. Units are specified by IVLU 

 (e.g. 1 for g/s). 

MAR 2006 – CALPUFF 

F-36
Table F-2 (Continued) 

Sample CALPUFF Control File (CALPUFF.INP) 

Input Group 16

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

Subgroup (16c) 

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

 a 

 VOLUME SOURCE: VARIABLE EMISSIONS DATA 

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

 Use this subgroup to describe temporal variations in the emission 

 rates given in 16b. Factors entered multiply the rates in 16b. 

 Skip sources here that have constant emissions. For more elaborate 

 variation in source parameters, use VOLEM.DAT and IGRDVL = 1. 

 IVARY determines the type of variation, and is source-specific: 

 (IVARY) Default: 0 

 0 = Constant 

 1 = Diurnal cycle (24 scaling factors: hours 1-24) 

 2 = Monthly cycle (12 scaling factors: months 1-12) 

 3 = Hour & Season (4 groups of 24 hourly scaling factors, 

 where first group is DEC-JAN-FEB) 

 4 = Speed & Stab. (6 groups of 6 scaling factors, where 

 first group is Stability Class A, 

 and the speed classes have upper 

 bounds (m/s) defined in Group 12 

 5 = Temperature (12 scaling factors, where temperature 

 classes have upper bounds (C) of: 

 0, 5, 10, 15, 20, 25, 30, 35, 40, 

 45, 50, 50+) 

-------- 

 a 

 Data for each species are treated as a separate input subgroup 

 and therefore must end with an input group terminator. 

MAR 2006 – CALPUFF 

F-37
Table F-2 (Concluded) 

Sample CALPUFF Control File (CALPUFF.INP) 

Input Group 17

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

INPUT GROUPS: 17a & 17b -- Non-gridded (discrete) receptor information 

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

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

Subgroup (17a) 

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

 Number of non-gridded receptors (NREC) No default ! NREC = 3 ! 

!END! 

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

Subgroup (17b) 

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

 a 

 NON-GRIDDED (DISCRETE) RECEPTOR DATA 

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

 X UTM Y UTM Ground Height b 

Receptor Coordinate Coordinate Elevation Above Ground 

 No. (km) (km) (m) (m) 

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

 1 ! X = 1., 1., 12.500, 0.000! !END! 

 2 ! X = 2.5, 4.2, 28.100, 0.000! !END! 

 3 ! X = 2.89, 3.2, 39.600, 0.000! !END! 

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

 a 

 Data for each receptor are treated as a separate input subgroup 

 and therefore must end with an input group terminator. 

 b 

 Receptor height above ground is optional. If no value is entered, 

 the receptor is placed on the ground. 

MAR 2006 – CALPUFF 

F-38
Table F-3 

CALPUFF Control File Inputs - Input Group 0 

Input File Names 

Variable Type Description Default Value

NMETDAT integer Number of CALMET files; if more than 1 CALMET 

file is used, all names must be placed in Subgroup 0a 

1 

NPTDAT integer Number of PTEMARB files placed in Subgroup 0b 0 

NARDAT integer Number of AREMARB files placed in Subgroup 0c 0 

NVOLDAT integer Number of VOLEMARB files placed in Subgroup 0d 0 

Input Files

METDAT character*70 Meteorological data file created by CALMET CALMET.DAT 

ISCDAT character*70 Meteorological data file in ISC3 format or extended 

ISC3 format 

ISCMET.DAT

PLMDAT character*70 Meteorological data file in AUSPLUME format or

extended AUSPLUME format 

PLMMET.DAT 

PRFDAT character*70 Meteorological data file in CTDM profile format PROFILE.DAT

SFCDAT character*70 Meteorological data file in CTDM surface format SURFACE.DAT 

RSTARTB character*70 Model restart file read at beginning of run RESTARTB.DAT 

PTDAT character*70 Arbitrarily-varying point source emissions file PTEMARB.DAT 

VOLDAT character*70 Arbitrarily-varying gridded volume source emissions 

file 

VOLEMARB.DAT 

ARDAT character*70 Arbitrarily-varying buoyant area source emissions file BAEMARB.DAT 

LNDAT character*70 Arbitrarily-varying buoyant line source emissions file LNEMARB.DAT 

OZDAT character*70 Hourly ambient ozone measurement file OZONE.DAT

VDDAT character*70 User-specified deposition velocity file VD.DAT 

CHEMDAT character*70 User-specified chemical transformation rate file CHEM.DAT 

H2O2DAT character*70 User-specified H2O2 measurement file H2O2.DAT 

HILLDAT character*70 Subgrid-scale terrain (hill) file in CTDM format HILL.DAT 

RCTDAT character*70 Subgrid-scale terrain receptor file in CTDM format HILLRCT.DAT 

CSTDAT character*70 Subgrid-scale coastal boundary file COASTLN.DAT

BDYDAT character*70 Mass flux boundary file FLUXBDY.DAT 

BCNDAT character*70 Boundary concentration file BCON.DAT 

MAR 2006 – CALPUFF 

F-39
Table F-3 (Continued) 

CALPUFF Control File Inputs - Input Group 0 

Output File Names 

Variable Type Description Default Value

Output Files

PUFLST character*70 CALPUFF list file CALPUFF.LST 

CONDAT character*70 CALPUFF output concentration file CONC.DAT 

DFDAT character*70 CALPUFF output dry deposition flux file DFLX.DAT 

WFDAT character*70 CALPUFF output wet deposition flux file WFLX.DAT 

VISDAT character*70 Output relative humidity file (needed for visibility 

calculations in CALPOST)

VISB.DAT 

T2DDAT character*70 Output 2D temperature file TK2D.DAT 

RHODAT character*70 Output 2D density file RHO2D.dat 

RSTARTE character*70 Model restart file written during run RESTARTE.DAT 

DEBUG character*70 Puff-tracking data file (created only if LDEBUG = 

.TRUE. - see Input Group 5) 

DEBUG.DAT

FLXDAT character*70 Mass flux output (hourly) MASSFLX.DAT

BALDAT character*70 Mass balance output (hourly) MASSBAL.DAT 

FOGDAT character*70 Fogging data output (hourly) FOG.DAT 

MAR 2006 – CALPUFF 

F-40
Table F-3 (Continued) 

CALPUFF Control File Inputs - Input Group 0 

Input and Output File Names 

Input Group 0 consists of several parts. The first part contains the control variables NMETDAT, 

NPTDAT, NARDAT, NVOLDAT, and all of the filenames listed above. The remaining parts, Input 

Groups 0a through 0d, are only needed when more than one CALMET or variable emissions files are 

used in the simulation. If a number of separate CALMET simulations are made to span the full modeling 

period, this feature allows a single application of CALPUFF to use all of the CALMET simulations in 

sequence. This feature is signaled by an NMETDAT value greater than one. Similarly, having the ability 

to use multiple emissions files allows you to place source groups with markedly different time-variations 

into separate files. 

If you have no CALMET file (i.e., you are using one of the other options for providing meteorological 

data to CALPUFF such as ISC meteorological data), set NMETDAT=0:

INPUT GROUP: 0 -- Input and Output File Names 

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

Default Name Type File Name 

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

CALMET.DAT input * METDAT = * 

 or 

ISCMET.DAT input ! ISCDAT = ISCMET.DAT ! 

Provision for multiple input files 

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

 Number of CALMET.DAT files for run (NMETDAT) 

 Default: 1 ! NMETDAT = 0 ! 

If you have a single CALMET file, set NMETDAT=1: 

INPUT GROUP: 0 -- Input and Output File Names 

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

Default Name Type File Name 

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

CALMET.DAT input ! METDAT = CALMET.DAT ! 

 or 

ISCMET.DAT input * ISCDAT = * 

Provision for multiple input files 

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

 Number of CALMET.DAT files for run (NMETDAT) 

 Default: 1 ! NMETDAT = 1 !

If you have 3 CALMET files, set NMETDAT=3: 

INPUT GROUP: 0 -- Input and Output File Names 

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

Default Name Type File Name 

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

CALMET.DAT input * METDAT = * 

 or 

ISCMET.DAT input * ISCDAT = *

Provision for multiple input files 

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

 Number of CALMET.DAT files for run (NMETDAT) 

 Default: 1 ! NMETDAT = 3 ! 

MAR 2006 – CALPUFF 

F-41
Table F-3 (Continued) 

CALPUFF Control File Inputs - Input Group 0 

Input and Output File Names

and provide all of the CALMET file names in Input Group 0a:

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

Subgroup (0a) 

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

 The following CALMET.DAT filenames are processed in sequence if NMETDAT>1 

Default Name Type File Name 

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

 none input ! METDAT= CALMET1.DAT ! !END! 

 none input ! METDAT= CALMET2.DAT ! !END! 

 none input ! METDAT= CALMET3.DAT ! !END! 

Note that each filename entered in Input Group 0a is treated as a separate input subgroup and therefore 

must end with the input group terminator (!END!). A total of NMETDAT lines assigning the CALMET 

file names must be present, and the names must be ordered in the proper sequence (e.g., CALMET results 

for June must not precede CALMET results for February). 

For the emissions files, you may either place a single file name in the main section of Group 0, and place 

no names in the corresponding subsection, or you may place all names in the subsection (any names 

placed in the subsection replace any name specified in the main Group). Using the point source variable 

emissions file as an example, if you have 1 file you may either set the name in the main group: 

INPUT GROUP: 0 -- Input and Output File Names 

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

Default Name Type File Name 

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

PTEMARB.DAT input ! PTDAT = pts1.dat ! 

Provision for multiple input files 

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

 Number of PTEMARB.DAT files for run (NPTDAT) 

 Default: 0 ! NPTDAT = 0 ! 

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

Subgroup (0b) 

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

 The following PTEMARB.DAT filenames are processed if NPTDAT>0 

 (Any PTEMARB.DAT name provided above is replaced) 

Default Name Type File Name 

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

 none input * PTDAT = * *END* 

MAR 2006 – CALPUFF 

F-42
Table F-3 (Continued) 

CALPUFF Control File Inputs - Input Group 0 

Input and Output File Names

or set the name in the subgroup: 

INPUT GROUP: 0 -- Input and Output File Names 

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

Default Name Type File Name 

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

PTEMARB.DAT input * PTDAT = * 

Provision for multiple input files 

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

 Number of PTEMARB.DAT files for run (NPTDAT) 

 Default: 0 ! NPTDAT = 1 ! 

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

Subgroup (0b) 

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

 The following PTEMARB.DAT filenames are processed if NPTDAT>0 

 (Any PTEMARB.DAT name provided above is replaced) 

Default Name Type File Name 

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

 none input ! PTDAT = pts1.dat ! !END! 

MAR 2006 – CALPUFF 

F-43
Table F-3 (Continued) 

CALPUFF Control File Inputs - Input Group 1 

General Run Control Parameters 

Variable Type Description Default Value

METRUN integer Control parameter for running all periods in met. 

file (0=no; 1=yes) 

0 

IBYR integer Starting year of the CALPUFF run (four digits) - 

IBMO integer Starting month -

IBDY integer Starting day -

IBHR integer Starting hour (time at end of hour: 00-23) - 

XBTZ integer Time zone (PST=8., MST=7., CST=6., EST=5.) - 

IRLG integer Length of the run (hours) - 

NSPEC integer Total number of species modeled 5 

NSE integer Number of species emitted 3 

ITEST integer Flag to stop run after the setup phase (1 = stops the 

program, 2 = continues with execution after setup) 

2 

MRESTART integer Restart control may direct model to read and/or 

write a file of puff data which allows a run to be 

segmented 

0 = Do not read or write a restart file 

1 = Read a restart file at the beginning of the run 

2 = Write a restart file during run 

3 = Read a restart file at beginning of run and write 

a restart file during run 

0 

NRESPD integer Number of periods in restart output cycle; a restart 

file that is written during the run is refreshed at the 

end of every cycle 

 0 = File written only at last period 

>0 = File updated every NRESPD periods 

0 

METFM integer Meteorological data format

1 = CALMET unformatted file (CALMET.DAT) 

2 = ISC3 ASCII file (ISCMET.DAT) 

3 = AUSPLUME ASCII file (PLMMET.DAT) 

4 = CTDMPLUS tower file (PROFILE.DAT) and 

 surface parameters file (SURFACE.DAT) 

5 = AERMET tower file (PROFILE.DAT) and 

surface parameters file (SURFACE.DAT) 

1 

MPRFFM integer Meteorological Profile Data Format 

1 = CTDM plus tower file (PROFILE.DAT) 

2 = AERMET tower file (PROFILE.DAT) 

1 

MAR 2006 – CALPUFF 

F-44
Table F-3 (Continued) 

CALPUFF Control File Inputs - Input Group 2 

Technical Options 

Variable Type Description Default Value

AVET real Averaging time (minutes)

PG - Fy is adjusted by the equation 

(AVET/PGTIME)0.2

60.0 

PGTIME real Averaging time (minutes) for PG - Fy 60.0 

MGAUSS integer Control variable determining the vertical 

distribution used in the near field 

(0 = uniform, 1 = Gaussian) 

1 

MCTADJ integer Terrain adjustment method

0 = no adjustment 

1 = ISC-type of terrain adjustment 

2 = simple, CALPUFF-type of terrain adjustment 

3 = partial plume path adjustment 

3 

MCTSG integer CALPUFF subgrid scale complex terrain module 

(CTSG) flag 

(0 = CTSG not modeled, 1 = CTSG modeled) 

0 

MSLUG integer Near-field puffs modeled as elongated "slugs" ? 

(0 = no, 1 = yes) 

0 

MTRANS integer Transitional plume rise modeled ? 

(0 = only final rise computed, 1 = transitional rise 

computed) Note: Transitional plume rise is 

always computed for sources subject to building 

downwash effects. 

1 

MTIP integer Stack tip downwash modeled ? 

0 = no (i.e., no stack tip downwash) 

1 = yes (i.e., use stack tip downwash) 

1 

MBDW integer Method used to simulate building downwash? 

1 = ISC method 

2 = PRIME method 

1 

MSHEAR integer Vertical wind shear above stack top modeled in 

plume rise? 

(0 = no, 1 = yes) 

0 

MSPLIT integer Puff splitting allowed ? 

(0 = no, 1 = yes) 

0 

MAR 2006 – CALPUFF 

F-45
Table F-3 (Continued) 

CALPUFF Control File Inputs - Input Group 2 

Technical Options 

Variable Type Description Default Value

MCHEM integer Chemical mechanism flag.

0 = chemical transformation not modeled 

1 = transformation rates computed internally 

(MESOPUFF II scheme) 

2 = user specified transformation rates used (If 

MCHEM = 2, the user must prepare a file 

(CHEM.DAT) with a diurnal cycle of 

ransformation rates) 

3 = transformation rates computed internally 

(RIVAD/ARM3 scheme) 

4 = secondary organic aerosol formation computed 

(MESOPUFF II scheme for OH) 

1 

MAQCHEM integer Aqueous phase transformation modeled ? 

(Used only if MCHEM = 1, or 3) 

(0 = no, 1 = yes) 

0 

MWET integer Wet removal modeled ? 

(0 = no, 1 = yes) 

1 

MDRY integer Dry deposition modeled ? 

(0 = no, 1 = yes) 

Note: The method used to determine dry 

deposition velocities is specified by the user on a 

species-by-species basis in Input Group 3. 

1 

MTURBVW integer Sigma-v/sigma-theta, sigma-w measurements

used? (Used only if MDISP = 1 or 5) 

1 = use sigma-v or sigma-theta measurements from

PROFILE.DAT to compute sigma-y (valid for 

METFM = 1, 2, 3, 4) 

2 = use sigma-w measurements from

PROFILE.DAT to compute sigma-z (valid for 

METFM = 1, 2, 3, 4) 

3 = use both sigma-(v/theta) and sigma-w from 

PROFILE.DAT to compute sigma-y and sigma-z 

(valid for METFM = 1, 2, 3, 4) 

4 = use sigma-theta measurements from 

PLMMET.DAT to compute sigma-y (valid only if 

METFM = 3) 

3 

MAR 2006 – CALPUFF 

F-46
Table F-3 (Continued) 

CALPUFF Control File Inputs - Input Group 2 

Technical Options 

Variable Type Description Default Value

MDISP integer Method used to compute the horizontal and 

vertical dispersion coefficients 

1 = computed from values of Fv and Fw from

 the PROFILE.DAT file 

2 = computed from Fv and Fw which are

 calculated internally from the 

 micrometeorological variables (u*, w*, L, 

 etc.) 

3 = PG dispersion coefficients used in RURAL 

 areas (computed using the ISCST 

 multi-segment approximation) and MP 

 coefficients used in URBAN areas 

4 = same as 3 except PG coefficients computed 

 using the MESOPUFF II equations 

5 = CTDM sigmas used for stable and neutral 

conditions, for unstable conditions, sigmas 

are computed as in MDISP = 3. MDISP = 5 

assumes that Fv and Fw are read from

PROFILE.DAT file. 

3 

MDISP2 integer Back-up method used to compute dispersion when 

measured turbulence data are missing (used only if 

MDISP = 1 or 5) 

2 = computed from Fv and Fw which are

 calculated internally from the 

 micrometeorological variables (u*, w*, L, 

 etc.) 

3 = PG dispersion coefficients used in RURAL 

 areas (computed using the ISCST 

 multi-segment approximation) and MP 

 coefficients used in URBAN areas 

4 = same as 3 except PG coefficients computed 

 using the MESOPUFF II equations 

3 

MTAUADV integer

Method used for Advective-Decay timescale for 

Turbulence 

0 = No turbulence advection 

10 < Direct user input (s) -- e.g., 800 

0 

MCTURB integer

Method used to compute turbulence sigma-v & 

sigma-w using micrometeorological variables 

1 = Standard CALPUFF subroutines 

2 = AERMOD subroutines

1 

MAR 2006 – CALPUFF 

F-47
Table F-3 (Continued) 

CALPUFF Control File Inputs - Input Group 2 

Technical Options 

Variable Type Description Default Value

MROUGH integer PG Fy and Fz adjusted for surface roughness ? 

(0 = no, 1 = yes)

0 

MPARTL integer Partial plume penetration of elevated inversion?

(0 = no, 1 = yes) 1 

MTINV integer Strength of temperature inversion provided in 

PROFILE.DAT extended records? 

(0 = no, computed from gradients; 1= yes) 

0 

MPDF integer

Probability Distribution Function method used for 

dispersion in the convective boundary layer?

(0 = no, 1 = yes) 

0 

MSGTIBL integer Subgrid scale TIBL module used for shoreline? 

(0 = no, 1 = yes) 

0 

MBCON integer Boundary conditions (concentration) modeled? 

(0 = no, 1 = yes) 

0 

MSOURCE integer

Individual source contributions saved? 

(0 = no, 1 = yes) 0 

MFOG integer Configure for FOG Model output? 

(0 = no 

 1 = yes - report results in PLUME Mode format 

 2 = yes - report results in RECEPTOR Mode 

format) 

0 

MREG integer Check options for Regulatory values? 

0 = NO checks are made 

1 = Technical options must conform to USEPA 

Long Range Transport (LRT) guidance 

 METFM 1 or 2 

 AVET 60. (min) 

 PGTIME 60. (min) 

 MGAUSS 1 

 MCTADJ 3 

 MTRANS 1 

 MTIP 1 

 MCHEM 1 or 3 (if modeling SOx, NOx) 

 MWET 1 

 MDRY 1 

 MDISP 2 or 3 

 MPDF 0 if MDISP=3 

 1 if MDISP=2 

 MROUGH 0 

 MPARTL 1 

 SYTDEP 550. (m) 

 MHFTSZ 0 

1 

MAR 2006 – CALPUFF 

F-48
Table F-3 (Continued) 

Control File Inputs - Input Group 3 

Species List 

Input Group 3 consists of two parts. The first part contains a list of species names and a table with four 

integer flags for each species. These flags indicate if a pollutant is modeled (0=no, 1=yes), emitted 

(0=no, 1=yes), dry deposited (0=no, 1=yes, treated as a gas with the resistance model, 2=yes, treated as a 

particle with the resistance model, or 3=yes, user-specified deposition velocities used), and if the species 

is to be added to group for output by specifying a group number greater than zero. The second part 

allows one to name the output species groups, if any are identified in the table. 

However, the user must first specify the species names to be modeled. Each species is entered on a 

separate line with ! CSPEC = XXX ! !END!, where XXX is a species name (up to 12 characters in 

length), and the variable delimiter and group delimiter (!END!) appears on the line. For example, a fivespecies SOx, NOx run with MCHEM=1 would be: 

INPUT GROUP: 3a, 3b -- Species list 

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

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

 Subgroup (3a) 

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

! CSPEC = SO2 ! !END! 

! CSPEC = SO4 ! !END! 

! CSPEC = NOX ! !END! 

! CSPEC = HNO3 ! !END! 

! CSPEC = NO3 ! !END! 

The MESOPUFF II chemical transformation option (MCHEM=1) in CALPUFF is designed to simulate

the conversion of SO2 6 SO=

4 and NOx 6 HNO3 : NO−3. For this option, five pollutants in CALPUFF are 

labeled as SO2, SO=

4, NOx, HNO3, and NO−3. If the RIVAD/ARM3 transformation option (MCHEM=3) is 

selected, NO and NO2 are explicitly treated, and six pollutants are labeled as SO2, SO=

4, NO, NO2, HNO3, 

and NO−

3. However, by setting the appropriate flags controlling the various technical options (chemical 

transformation, deposition, etc.), other reactive or non-reactive pollutants can be simulated. 

The user has control over which species are to be emitted and dry deposited in a particular run. If the dry

deposition flag is set equal to 3 for any pollutant, a file called VD.DAT must be made available to the 

model. This file contains a diurnal cycle of 24 user-specified deposition velocities for each pollutant 

flagged. 

The last species in (3a) must be 'BCON' when using the boundary condition option (MBCON > 0). 

Species BCON does not participate in any chemical transformation mechanism and it should typically be 

modeled without removal. Mass is placed in species BCON when generating boundary condition puffs so 

that ‘clean’ air entering the modeling domain can be simulated in the same way as ‘polluted’ air. 

MAR 2006 – CALPUFF 

F-49
Table F-3 (Continued) 

Control File Inputs - Input Group 3 

Species List 

Species-groups can be used to allow mass distributions of particles to be source-specific. In the example 

provided in Table F-2, we have defined six particle-sizes as individual species: 

! CSPEC = SO2 ! !END! 

! CSPEC = NOX ! !END! 

! CSPEC = PMSIZE1 ! !END! 

! CSPEC = PMSIZE2 ! !END! 

! CSPEC = PMSIZE3 ! !END! 

! CSPEC = PMSIZE4 ! !END! 

! CSPEC = PMSIZE5 ! !END! 

! CSPEC = PMSIZE6 ! !END! 

 Dry OUTPUT GROUP 

 SPECIES MODELED EMITTED DEPOSITED NUMBER 

 NAME (0=NO, 1=YES) (0=NO, 1=YES) (0=NO, (0=NONE, 

 (Limit: 12 1=COMPUTED-GAS 1=1st CGRUP, 

 Characters 2=COMPUTED-PARTICLE 2=2nd CGRUP, 

 in length) 3=USER-SPECIFIED) 3= etc.) 

! SO2 = 1, 1, 1, 0 ! 

! NOX = 1, 0, 2, 0 ! 

! PMSIZE1 = 1, 1, 2, 1 ! 

! PMSIZE2 = 1, 1, 2, 1 ! 

! PMSIZE3 = 1, 1, 2, 1 ! 

! PMSIZE4 = 1, 1, 2, 1 ! 

! PMSIZE5 = 1, 1, 2, 1 ! 

! PMSIZE6 = 1, 1, 2, 1 ! 

!END!

This allows each size to be modeled separately, each with its own mass emission rate and deposition 

velocity. Several sources in the run could have been given different emission rates for these "species", 

thereby producing unique mass distributions for their particulate emissions. Prior to reporting any

concentrations or deposition fluxes for these individual "species", however, they must be summed to 

provide the total particulate concentration or deposition flux. This is done through "grouping":

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

Subgroup (3b) 

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

! CGRUP = PM10 ! !END! 

MAR 2006 – CALPUFF 

F-50
Table F-3 (Continued) 

Control File Inputs - Input Group 3 

Species List 

In this case, the species-group name provided to characterize the total concentration is "PM10". Only one

group name is required because only one non-zero group number was given in Input Group 3a. This 

group name must be used later in Input Group 5 when selecting output options for the particulates, and 

this is the name that will be written to the output files (the list file as well as the concentration/flux files 

used by the postprocessor). Note that any species not assigned to a non-zero species-group retain the 

initial species name in the output. Also, the order of names provided in Input Group 3b must be 

consistent with the group numbers provided in Input Group 3a. 

MAR 2006 – CALPUFF 

F-51
Table F-3 (Continued) 

CALPUFF Control File Inputs - Input Group 4 

Map Projection and Grid Control Parameters

Variable Type Description Default Value

PMAP * char*8 Map projection 

UTM : Universal Transverse Mercator 

TTM : Tangential Transverse Mercator 

LCC : Lambert Conformal Conic 

PS : Polar Stereographic 

EM : Equatorial Mercator 

LAZA : Lambert Azimuthal Equal Area 

UTM

FEAST real False Easting (km) for PMAP= TTM, LCC, or LAZA 0.0 

FNORTH real False Easting (km) for PMAP= TTM, LCC, or LAZA 0.0 

IUTMZN integer UTM zone of coordinates for PMAP=UTM - 

UTMHEM char*4 Hemisphere (N or S) for PMAP = UTM N 

RLAT0 char*16 Latitude (decimal degrees N or S; e.g., 45.7N) of projection 

origin for PMAP= TTM, LCC, PS, EM, or LAZA

- 

RLON0 char*16 Longitude (decimal degrees E or W; e.g., 75.2E) of

projection origin for PMAP= TTM, LCC, PS, EM, or LAZA

- 

XLAT1 char*16 Matching parallel #1 of latitude (decimal degrees N or S) for 

projection (Used only if PMAP= LCC or PS)

- 

XLAT2 char*16 Matching parallel #2 of latitude (decimal degrees N or S) for 

projection (Used only if PMAP= LCC)

- 

DATUM char*8 Datum code for output coordinates WGS-84 

NX integer Number of grid cells in the X direction of the meteorological 

grid

- 

NY integer Number of grid cells in the Y direction of the meteorological 

grid

- 

NZ integer Number of vertical layers - 

DGRIDKM real Grid spacing (km) of the meteorological grid - 

ZFACE real array Cell face heights (m) for the meteorological grid (NX + 1 

values must be entered). Note: Cell center (grid point) 

height of layer "i" is ((ZFACE(i+1) + (ZFACE(i))/2). 

- 

XORIGKM real Reference X coordinate (km) of the southwest corner of grid

cell (1,1) of the meteorological grid

- 

YORIGKM real Reference Y coordinate (km) of the southwest corner of grid

cell (1,1) of the meteorological grid

- 

* PMAP = PS, EM, and LAZA is NOT AVAILABLE in CALMET

MAR 2006 – CALPUFF 

F-52
Table F-3 (Continued) 

CALPUFF Control File Inputs - Input Group 4 

Grid Control Parameters 

Variable Type Description Default Value

IBCOMP integer X index of lower left corner of the computational grid 

(1 # IBCOMP # NX)

- 

JBCOMP integer Y index of lower left corner of the computational grid

(1 # JBCOMP # NY)

-

IECOMP integer X index of upper right corner of the computational grid

(IBCOMP # IECOMP # NX)

- 

JECOMP integer Y index of upper right corner of computational grid

(JBCOMP # JECOMP # NY)

- 

LSAMP integer Flag indicating if an array of gridded receptors (i.e., 

sampling grid) is used

(T = yes, F = no) 

T 

IBSAMP integer X index of lower left corner of the sampling grid (IBCOMP 

# IBSAMP # IECOMP)

- 

JBSAMP integer Y index of lower left corner of the sampling grid (JBCOMP 

# JBSAMP # JECOMP)

- 

IESAMP integer X index of upper right corner of the sampling grid

(IBCOMP # IESAMP # IECOMP)

- 

JESAMP integer Y index of upper right corner of the sampling gird

(JBCOMP # JESAMP # JECOMP) 

- 

MESHDN integer Nesting factor of the sampling grid 

(MESHDN $ 1). The grid spacing of the sampling grid is

DGRIDKM/MESHDN. The number of sampling grid points 

is NXSAM * NYSAM, where 

NXSAM = MESHDN * (IESAMP - IBSAMP) + 1 

NYSAM = MESHDN * (JESAMP - JBSAMP) + 1 

1

MAR 2006 – CALPUFF 

F-53
Table F-3 (Continued) 

CALPUFF Control File Inputs - Input Group 5 

Output Options 

Variable Type Description Default Value

ICON integer Control variable for creation of an output disk file

(CONC.DAT) containing concentration fields (species 

stored in this file are controlled by the output species table 

described below). 

(0 = do not create CONC.DAT, 

 1 = create CONC.DAT) 

1 

IDRY integer Control variable for creation of an output disk file

(DFLX.DAT) containing dry flux fields. (The species stored 

in this file are controlled by the output species table in Input 

Group 5 described below.)

(0 = do not create DFLX.DAT, 

 1 = create DFLX.DAT) 

1 

IWET integer Control variable for creation of an output disk file

(WFLX.DAT) containing wet flux fields. (The species 

stored in this file are controlled by the output species table in

Input Group 5 described below.) 

(0 = do not create WFLX.DAT, 

 1 = create WFLX.DAT) 

1 

IT2D integer

Control variable for creation of an output disk file

containing 2D temperature fields. 

(0 = do not create, 

 1 = create) 

0 

IRHO integer

Control variable for creation of an output disk file

containing 2D density fields. 

(0 = do not create, 

 1 = create) 

0 

IVIS integer Control variable for creation of an output disk file

containing relative humidity data required for visibility 

applications

1 

IQAPLOT integer Create a standard series of output files (e.g. locations of 

sources, receptors, grids ...) suitable for plotting?

(0 = do not create, 

 1 = create) 

0 

LCOMPRS logical Control for data compression in the output files (should

usually be TRUE) 

T 

IMFLX integer Control variable for creating output disc file 

(MASSFLX.DAT) for mass flux across user-specified 

boundaries 

(0 = do not create MASSFLX.DAT, 

 1 = create MASSFLX. DAT) 

0 

MAR 2006 – CALPUFF 

F-54
Table F-3 (Continued) 

CALPUFF Control File Inputs - Input Group 5 

Output Options 

Variable Type Description Default Value

IMBAL integer Control variable for creating output disk file 

(MASSBAL.DAT) for mass balance results 

(0 = do not create MASSBAL.DAT, 

 1 = create MASSBAL. DAT) 

0 

ICPRT integer Control variable for printing of concentration fields to the 

output list file (CALPUFF.LST). 

(0 = do not print any dry fluxes, 

 1 = print dry fluxes indicated in output table)

0 

IDPRT integer Control variable for printing of dry flux fields to the output

list file (CALPUFF.LST). 

(0 = do not print any dry fluxes, 

 1 = print dry fluxes indicated in output table)

0 

MAR 2006 – CALPUFF 

F-55
Table F-3 (Continued) 

CALPUFF Control File Inputs - Input Group 5 

Output Options 

Variable Type Description Default Value

IWPRT integer Control variable for printing of wet flux fields to the output

list file (CALPUFF.LST). 

(0 = do not print any wet fluxes, 

 1 = print wet fluxes indicated in output table) 0

0 

ICFRQ integer Printing interval for the concentration fields. Concentrations

are printed every "ICFRQ" hours. (Used only if ICPRT = 

1.) 

1 

IDFRQ integer Printing interval for the dry flux fields. Dry fluxes are 

printed every "IDFRQ" hours. (Used only if IDPRT = 1.) 

1 

IWFRQ integer Printing interval for the wet flux fields. Wet fluxes are 

printed every "IWFRQ" hours. (Used only if IWPRT = 1.)

1 

IMESG integer Control variable determining if messages tracking the 

progress of the run are written to the screen

 0 = no 

 1 = yes (advection step, puff ID)

 2 = yes (YYYYJJJHH, # old puffs, # emitted puffs) 

2 

IPRTU integer Control variable for selecting units used for concentrations

and deposition fluxes reported in the list file 

 Concentration Deposition

 1 = g/m**3 g/m**2/s 

 2 = mg/m**3 mg/m**2/s 

 3 = ug/m**3 ug/m**2/s 

 4 = ng/m**3 ng/m**2/s 

 5 = Odour Units 

1 

LDEBUG logical Control variable for activation of "debug" write statements F 

IPFDEB integer Puff ID number to start tracking in debug option (used only

if LDEBUG = T) 

1 

NPFDEB integer Number of puffs to track in debug option (used only if 

LDEBUG = T)

1 

NN1 integer Time period (hour) to begin debug output (used only if

LDEBUG = T)

1 

NN2 integer Time period (hour) to stop debug output (used only if

LDEBUG = T)

10

MAR 2006 – CALPUFF 

F-56
Table F-3 (Continued) 

CALPUFF Control File Inputs - Input Group 5 

Output Options 

In addition to the variables described above, Input Group 5 also contains a table of species with a series of 

flags indicating if the pollutant's concentration and wet/dry flux fields are to be printed to the output list 

file (CALPUFF.LST) and/or stored in the output disk files (CONC.DAT, DFLX.DAT, WFLX.DAT, and 

MASSFLX.DAT). 

The format of the species output table is shown below. A value of 0 indicates "no", and a value of 1 

indicates "yes". Note that the names provided here must be the ouput species names, which would be the 

species-group names if any species were grouped in Input Group 4. 

 SPECIES (or GROUP for combined species) LIST FOR OUTPUT OPTIONS 

 ---- CONCENTRATIONS ---- ------ DRY FLUXES ------ ------ WET FLUXES ------ -- MASS FLUX -- 

 SPECIES 

 /GROUP PRINTED? SAVED ON DISK? PRINTED? SAVED ON DISK? PRINTED? SAVED ON DISK? SAVED ON DISK? 

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

! SO2 = 1, 1, 0, 1, 0, 0, 0 ! 

! NOX = 1, 1, 0, 1, 0, 0, 0 ! 

! PM10 = 1, 1, 0, 1, 0, 0, 0 ! 

Species BCON, which is required when using the boundary condition option (MBCON > 0), does not 

need to be saved on disk or written to the list file. Select all zeroes for species BCON to avoid creating 

output files that are larger than needed: 

! BCON = 0, 0, 0, 0, 0, 0, 0 ! 

MAR 2006 – CALPUFF 

F-57
Table F-3 (Continued) 

CALPUFF Control File Inputs - Input Group 6 

Subgrid Scale Complex Terrain (CTSG) Inputs 

Variable Type Description Default Value

(Input Group 6a - General CTSG Parameters)

NHILL integer Number of subgrid scale terrain features 0 

NCTREC 

MHILL 

XHILL2M

ZHILL2M 

XCTDMKM

YCTDMKM

integer 

integer 

real 

real 

real 

real 

Number of special subgrid scale complex terrain receptors

Terrain and receptor data for CTSG hills input in CTDM format ? (1 

= data created by CTDM processors and read from HILL.DAT and 

HILLRCT.DAT files; 2 = hill data created by OPTHILL & input 

below in Subgroup (6b)).

Factor to convert horizontal dimensions to meters (used only if

MHILL = 1)

Factor to convert vertical dimensions to meters 

(used only if MHILL = 1)

X-origin of CTDM system relative to CALPUFF coordinate system, 

in Kilometers (MHILL = 1)

Y-origin of CTDM system relative to CALPUFF coordinate system, 

in Kilometers (MHILL = 1)

0 

- 

1.0 

1.0 

- 

- 

(Input Group 6b - Hill Information)

XC real UTM X coordinate (km) of the center of the hill on the 

meteorological grid

- 

YC real UTM Y coordinate (km) of the center of the hill on the 

meteorological grid

- 

THETAH real Orientation of the major axis of the hill (in degrees) clockwise from

north 

- 

ZGRID real Height (m) of the "zero-plane" of the grid above mean sea level - 

RELIEF real Height (m) of the crest of the hill above the grid elevation - 

EXPO1 real Hill shape exponent for the major axis of the hill - 

EXPO2 real Hill shape exponent for the minor axis of the hill - 

SCALE1 real Horizontal length scale of the hill along the major axis - 

SCALE2 real Horizontal length scale of the hill along the minor axis - 

AMAX1 real Maximum allowed axis length of the major axis of the hill - 

AMAX2 real Maximum allowed axis length of the minor axis of the hill - 

MAR 2006 – CALPUFF 

F-58
Table F-3 (Continued) 

CALPUFF Control File Inputs - Input Group 6 

Subgrid Scale Complex Terrain (CTSG) Inputs 

The variables in Input Group 6b are entered for each of the "NHILL" subgrid scale hills treated in the 

model run. The data for each hill is treated as a separate input subgroup, and therefore must end with an 

input group terminator (i.e., !END!). The format of Input Group 6b is shown below. 

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

Subgroup (6b) 

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

 1 **

 HILL INFORMATION 

HILL XC YC THETAH ZGRID RELIEF EXPO 1 EXPO 2 SCALE 1 SCALE 2 AMAX1 AMAX2

NO. (km) (km) (deg.) (m) (m) (m) (m) (m) (m) (m) (m) 

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

 1 ! HILL = 170.5, 3841.0 , 69. , 1310. , 300. , 1.91 , 1.24 , 1523. , 2896. , 2000., 1500. ! !END! 

 2 ! HILL = 173.0, 3839.0 , 49. , 1310. , 230. , 1.50 , 1.50 , 3000. , 1000. , 4000., 2000. ! !END! 

Note that the hill number is an optional user comment which is outside of the delimiters containing the 

required data. The data for each hill must follow the opening delimiter and "HILL=". The data for each 

hill is followed by a closing delimiter and an input group terminator (i.e., !END!). 

MAR 2006 – CALPUFF 

F-59
Table F-3 (Continued) 

CALPUFF Control File Inputs - Input Group 6 

Subgrid Scale Complex Terrain (CTSG) Inputs 

Variable Type Description Default

Value 

(Input Group 6c - CTSG Receptor Data)

XRCT real UTM X coordinate (km) on the meteorological grid

system of a CTSG receptor 

- 

YRCT real UTM Y coordinate (km) on the meteorological grid

system of a CTSG receptor 

- 

ZRCT real Height (m) of the ground above mean sea level at the

CTSG receptor

- 

XHH real Hill number associated with this CTSG receptor - 

The variables in Input Group 6c are entered for each of the "NCTREC" complex terrain receptors in the 

model run. The data for each receptor is treated as a separate input subgroup, and therefore must end with 

an input group terminator (i.e., !END!). The format of Input Group 6c is shown below. 

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

Subgroup (6c) 

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

1 **

COMPLEX TERRAIN RECEPTOR INFORMATION 

XRCT YRCT ZRCT XHH 

(km) (km) (m) 

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

! CTREC = 170.5, 3840.0 , 1430. , 1. ! !END! 

! CTREC = 169.0, 3840.5 , 1430. , 1. ! !END! 

! CTREC = 170.5, 3841.0 , 1580. , 1. ! !END! 

! CTREC = 173.5, 3840.0 , 1525. , 2. ! !END! 

! CTREC = 172.5, 3840.0 , 1430. , 2. ! !END! 

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

** The data for each CTSG receptor must follow an opening delimiter and "CTREC=". The data for each 

receptor is followed by a closing delimiter and an input group terminator (i.e., !END!). 

MAR 2006 – CALPUFF 

F-60
Table F-3 (Continued) 

CALPUFF Control File Inputs - Input Group 7 

Dry Deposition Parameters - Gases 

Input Group 7 consists of a table containing the following five parameters which are required by the 

resistance deposition model for computing deposition velocities for gases: 

• Pollutant diffusivity (cm2

/s) 

• Aqueous phase dissociation constant, alpha-star 

• Pollutant reactivity

• Mesophyll resistance, rm (s/cm)

• Henry's Law coefficient, H (dimensionless) 

These parameters must be specified for each pollutant with a dry deposition flag of "1" in the species list 

(Input Group 3) indicating the use of the resistance model for a gas. 

The format of the input table is shown below: 

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

INPUT GROUP: 7 -- Chemical parameters for dry deposition of gases 

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

SPECIES DIFFUSIVITY ALPHA-STAR REACTIVITY MESOPHYLL RESISTANCE HENRY'S LAW COEFFICIENT 

 NAME (cm**2/s) (s/cm) (dimensionless) 

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

! SO2 = 0.1509 , 1.00E3 , 8.0 , 0.0 , 4.e-2 ! 

! NOX = 0.1656 , 1.00 , 8.0 , 5.0 , 3.5 ! 

! HNO3 = 0.1628 , 1.00 , 18.0 , 0.0 , 8.e-8 ! 

!END! 

MAR 2006 – CALPUFF 

F-61
Table F-3 (Continued) 

CALPUFF Control File Inputs - Input Group 8 

Dry Deposition Parameters - Particles 

Input Group 8 consists of a table containing the geometric mass mean diameter (microns) and the 

geometric standard deviation (microns) required by the resistance deposition model for computing

deposition velocities for particulate matter. 

These parameters must be specified for each pollutant with a dry deposition flag of "2" in the species list 

(Input Group 3) indicating the use of the resistance model for a pollutant deposited as particulate matter. 

The format of the input table is shown below: 

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

INPUT GROUP: 8 -- Size parameters for dry deposition of particles 

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

SPECIES GEOMETRIC MASS MEAN GEOMETRIC STANDARD 

 NAME DIAMETER DEVIATION 

(microns) (microns) 

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

! SO4 = 0.48 , 2.00 ! 

! NO3 = 0.48 , 2.00 ! 

! PM10 = 0.48 , 2.00 ! 

!END! 

MAR 2006 – CALPUFF 

F-62
Table F-3 (Continued) 

CALPUFF Control File Inputs - Input Group 9 

Miscellaneous Dry Deposition Parameters 

Variable Type Description Default

Value 

RCUTR real Reference cuticle resistance (s/cm) 30. 

RGR real Reference ground resistance (s/cm) 10. 

REACTR real Reference pollutant reactivity 8. 

NINT integer Number of particle-size intervals used to evaluate 

effective particle deposition velocity 

9 

IVEG integer Flag specifying the state of vegetation in unirrigated areas 

 1 = vegetation is active and unstressed 

 2 = vegetation is active and stressed

 3 = vegetation is inactive 

1

MAR 2006 – CALPUFF 

F-63
Table F-3 (Continued) 

CALPUFF Control File Inputs - Input Group 10 

Wet Deposition Parameters 

Input Group 10 consists of a table containing pollutant-dependent values of the scavenging coefficient, 8, 

for both liquid and frozen precipitation types. The format of the input table is shown below. 

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

INPUT GROUP: 10 -- Wet Deposition Parameters 

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

 

Scavenging Coefficient -- Units: (sec)-1

Pollutant Liquid Precip. Frozen Precip. 

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

! SO2 = 3.0e-5 , 0.0 ! 

! SO4 = 10.0e-5 , 3.0e-5 ! 

! NOX = 0.0 , 0.0 ! 

! HNO3 = 6.0e-5 , 0.0 ! 

! NO3 = 10.0e-5 , 3.0e-5 ! 

!END! 

MAR 2006 – CALPUFF 

F-64
Table F-3 (Continued) 

CALPUFF Control File Inputs - Input Group 11 

Chemistry Parameters 

Variable Type Description Default Value

MOZ integer Control variable for the input of hourly ozone data used in

the chemical transformation module 

(Used only if MCHEM = 1,3,4)

0 = use a monthly background ozone value

 in chemistry calculation

1 = use hourly ozone concentrations from

 the OZONE.DAT data file 

1 

BCKO3(12) real

array

Monthly background ozone concentration in ppb 

(Used only if MCHEM=1,3,4 and MOZ = 0 or if (MOZ=1

and all hourly ozone data are missing))

12*80. 

BCKNH3(12) real Monthly background ammonia concentration in ppb 12*10. 

RNITE1 real Nighttime SO2 loss rate in percent/hour 0.2

RNITE2 real Nighttime NOx loss rate in percent/hour 2.0

RNITE3 real Nighttime HNO3 formation rate in percent/hour 2.0

MH2O2 integer Control variable for the input of hourly ozone data used in

the chemical transformation module 

(Used only if MAQCHEM = 1)

0 = use a monthly background H2O2 value 

1 = use hourly H2O2 concentrations from

 the H2O2.DAT data file 

1 

BCKH2O2(12) real

array

Monthly background H2O2 concentration in ppb 

(Used only if MAQCHEM=1 and MH2O2 or if

(MH2O2=1 and all hourly H2O2 data are missing)) 

12*1. 

BCKPMF(12) real

array

Monthly fine particulate concentration in ug/m^3 

for SOA (Used only if MCHEM=4) 

12*1. 

OFRAC(12) real

array

Monthly organic fraction of fine particulate 

for SOA (Used only if MCHEM=4) 

2*0.15, 9*0.20, 

0.15 

VCNX(12) real

array

Monthly VOC / NOX ratio (after reaction)

for SOA (Used only if MCHEM=4) 

12*50.0

MAR 2006 – CALPUFF 

F-65
Table F-3 (Continued) 

CALPUFF Control File Inputs - Input Group 12 

Dispersion and Computational Parameters

Variable Type Description Default Value

SYTDEP real Horizontal size of a puff (m) beyond which the timedependent dispersion equation of Heffter (1965)550. 

MHFTRZ integer Use Heffter formulas for Fz ? (0 = no; 1 = yes). If yes, the 

distance at which the Heffter formula will be applied for 

Fz is determined by when Fy switches to Heffter's eqn.

(see SYTDEP). 

0 

JSUP integer Stability class used to determine dispersion rates for puffs 

above the boundary layer (e.g., 6 = F stability) 

5 

CONK1 real Vertical dispersion constant for stable conditions 0.01 

CONK2 real Vertical dispersion constant for neutral/unstable 

conditions 

0.10 

TBD real Factor for determining transition-point from SchulmanScire to Huber-Snyder Building Downwash scheme (SS 

used for Hs < Hb + TBD * HL) 

TBD < 0 always use Huber-Snyder 

TBD = 1.5 always use Schulman-Scire 

TBD = 0.5 ISC transition-point 

0.5 

IURB1, 

IURB2

integer Land use categories associated with urban areas. If 

MDISP = 3 or 4, MP dispersion coefficients are used

when puff is over land use type IURB1 through IURB2 

10,19 

(Site characterization parameters for single-point met. data files*)

*ILANDUIN integer Land use category for modeling domain 20 

*Z0IN real Roughness length (m) for modeling domain 0.25 

*XLAIIN real Leaf area index for modeling domain 3.0 

*ELEVIN real Elevation (m) above sea level 0.0 

*XLATIN real North Latitude (deg) of station; positive for the northern 

hemisphere, negative for the southern hemisphere (used

for solar angle in RIVAD/ARM3 chem. transformation)

-999. 

*XLONIN real West Longitude (deg) of station; positive west of 0.0, 

negative east of 0.0 (used for solar angle in

RIVAD/ARM3 chem. transformation) 

-999. 

*ANEMHT real Anemometer height (m) (used only if METFM = 2,3) 10.0 

MAR 2006 – CALPUFF 

F-66
Table F-3 (Continued) 

CALPUFF Control File Inputs - Input Group 12 

Dispersion and Computational Parameters

Variable Type Description Default Value

*ISIGMAV integer Form of lateral turbulence data in PROFILE.DAT file 

(used only if METFM = 4 or MTURBVW = 1 or 3) 

0 = read sigma-theta 

1 = read sigma-v 

1 

*IMIXCTDM integer Choice of mixing heights (used only if METFM = 4)

0 = read PREDICTED mixing heights 

1 = read OBSERVED mixing heights 

0 

XMXLEN real Maximum length of an emitted slug (in met. grid units) 1.0

XSAMLEN real Maximum travel distance of a slug or puff (in met. grid 

units) during one sampling step

1.0 

MXNEW integer Maximum number of puffs or slugs released from one 

source during one time step (serves as a cap if 

XMXLEN is specified too small) 

99 

MXSAM integer Maximum number of sampling steps during one time 

step for a puff or slug (serves as a cap if XSAMLEN is 

specified too small) 

99 

NCOUNT integer Number of iterations used when computing the transport 

wind for a sampling step that includes transitional 

plume rise (used when METFM=1 or 4)

2 

SYMIN real Minimum Fy (m) a new puff or slug 1.0 

SZMIN real Minimum Fz (m) a new puff or slug 1.0 

SVMIN(12) real Minimum turbulence Fv (m/s) for each stability class, 

over land and over water 

6*0.50, 

6*0.37

SWMIN(12) real Minimum turbulence Fw (m/s) for each stability class, 

over land and over water 

2*(0.20, 0.12, 

0.08, 0.06, 

0.03, 0.016)

CDIV(2) real Divergence criterion for dw/dz in met cell used to 

initiate adjustment for horizontal convergence (l/s). 

Partial adjustment starts at CDIV(1), and full 

adjustment is reached at CDIV(2) 

0.0, 0.0 

WSCALM real Minimum wind speed allowed for non-calm conditions. 

Wind speeds less than WSCALM will be considered as 

"calm" by the model. WSCALM is also used as the 

minimum speed returned from the power law 

extrapolation of the wind speed toward the surface. 

0.5 

XMAXZI real Maximum mixing height (m) 3000. 

MAR 2006 – CALPUFF 

F-67
Table F-3 (Continued) 

CALPUFF Control File Inputs - Input Group 12 

Dispersion and Computational Parameters

Variable Type Description Default Value

XMINZI real Minimum mixing height (m) 50.

SL2PF real Slug-to-puff transition criterion factor (max. σy/slug

length before transition to puff) 

10. 

WSCAT(5) real array Upper bounds on the first 5 wind speed classes (m/s);

The last class has no upper limit

1.54, 3.09, 

5.14, 8.23, 10.8

PLX0(6) real array Wind speed profile power-law exponents for stabilities 

A-F 

0.07, 0.07, 

0.10, 0.15, 

0.35, 0.55

PTG0(2) real array Potential temperature gradient (deg. k/m) for stability 

classes E and F

.020, .035 

PPC(6) real array Default plume path coefficients for each stability class 

(used when option for partial plume height terrain

adjustment is selected, MCTADJ = 3) 

0.50, 0.50, 

0.50, 0.50, 

0.35, 0.35 

(Vertical Puff-Spliting Control Variables *)

*NSPLIT integer Number of puffs that result every time a puff is split; 

nsplit=2 means that 1 puff splits into 2

3 

*IRESPLIT 

(24) 

integer array Time(s) of a day when split puffs are eligible to be split 

once again; this is typically set once per day, around

sunset before nocturnal shear develops. 24 values: 0 is 

midnight (00:00) and 23 is 11 PM (23:00) 0=do not resplit; 1=eligible for re-split 

17*0, 1, 6*0

*ZISPLIT real Split is allowed only if last hour's mixing height (m) 

exceeds this minimum value 

100 

*ROLDMAX real Split is allowed only if ratio of last hour's mixing ht to 

the maximum mixing ht experienced by the puff is less 

than this maximum value (this postpones a split until a 

nocturnal layer develops) 

0.25 

(Horizontal Puff-Spliting Control Variables *)

*NSPLITH integer Number of puffs that result every time a puff is split - 

nsplith=5 means that 1 puff splits into 5

5 

*SYSPLITH integer Minimum sigma-y (Grid Cells Units) of puff before it

may be split 

1.0 

*SHSPLITH integer Minimum puff elongation rate (SYSPLITH/hr) due to

wind shear, before it may be split 

2.0 

MAR 2006 – CALPUFF 

F-68
Table F-3 (Continued) 

CALPUFF Control File Inputs - Input Group 12 

Dispersion and Computational Parameters 

Variable Type Description Default Value

*CNSPLITH 

(mxspec) 

integer array Minimum concentration (g/m^3) of each species in puff 

before it may be split. Enter array of NSPEC values; if a 

single value is entered, it will be used for ALL species 

1.0E-07 

(Integration Control Variables *)

*EPSSLUG real Fractional convergence criterion for numerical slug 

sampling integration

1.0e-04 

*EPSAREA real Fractional convergence criterion for numerical area 

source integration

1.0e-06 

*DSRISE real Trajectory step length (m) for numerical rise 

integration.

1.0 

(Boundary Condition Puff Control Variables *)

*HTMINBC real Minimum height (m) to which BC puffs are mixed as 

they are emitted (MBCON=2 ONLY). Actual height is 

reset to the current mixing height at the release point if 

greater than this minimum.

500. 

*RSAMPBC real Search radius (km) about a receptor for sampling 

nearest BC puff. BC puffs are typically emitted with a 

spacing of one grid cell length, so the search radius

should be greater than DGRIDKM. 

10. 

*MDEPBC integer Near-Surface depletion adjustment to concentration 

profile used when sampling BC puffs?

0 = Concentration is NOT adjusted for depletion 

1 = Adjust Concentration for depletion 

0 

MAR 2006 – CALPUFF 

F-69
Table F-3 (Continued) 

CALPUFF Control File Inputs - Input Group 13 

Point Source Parameters 

Variable Type Description Default Value

(Input Group 13a - General Data)

NPT1

IPTU

NSPT1 

integer 

integer 

integer 

Number of point sources with constant stack parameters or

variable emission rate scale factors 

Units choice for emission rates from point sources 

 1 = g/s 

 2 = kg/hr 

 3 = lb/hr 

 4 = tons/yr 

 5 = Odour Unit * m**3/s (vol. flux of compound) 

 6 = Odour Unit * m**3/min 

 7 = metric tons/yr 

Number of source-species with variable emission rate 

scaling factors provided in 13d

- 

1 

0 

NPT2 integer Number of point sources with arbitrarily-varying emission

parameters (If NPT2 > 0, the point source emissions file

PTEMARB.DAT must be provided)

- 

(Input Group 13b - Point Source Data for Sources with Constant Stack Parameters or 

Variable Emission Rate Scale Factors)

- 

SRCNAM

XUTM

character*12 

real 

Source name, used to coordinate inputs in Subgroups b,c,d 

X coordinate (km) of the stack on the meteorological grid

- 

- 

YUTM real Y coordinate (km) of the stack on the meteorological grid - 

HSTAK real Stack height (m) -

SELEV real Stack base elevation (m) above mean sea level - 

DIAM real Stack diameter (m) -

EXITW real Stack gas exit velocity (m/s) - 

EXITT real Stack gas exit temperature (deg. K) - 

BDOWN real Building downwash flag

0. = building downwash not modeled,

1. = building downwash modeled

- 

EMS real array Emission rate (g/s) of each modeled species

Note: "NSPEC" values must be entered

- 

MAR 2006 – CALPUFF 

F-70
Table F-3 (Continued) 

CALPUFF Control File Inputs - Input Group 13 

Point Source Parameters

Variable Type Description Default Value

(Optional Variables for Input Group 13b)

SIGYZI(1) real Initial sigma-y (m) associated with the release from this 

source 

0.0 

- 

SIGYZI(2) real Initial sigma-z (m) associated with the release from this 

source 

0.0

FMFAC real Vertical momentum flux factor (0. or 1.0) used to represent 

the effect of rain-caps or other physical configurations that

reduce momentum rise associated with the actual exit 

velocity. FMFAC=1 is full momentum (no obstruction). 

1.0

ZPLTFM real Platform height (m) for sources influenced by an isolated 

structure that has a significant open area between the surface 

and the bulk of the structure, such as an offshore oil 

platform. 

0.0 

The variables in Input Group 13b are entered for each of the "NPT1" point sources. The data for each 

source is treated as a separate input subgroup, and therefore, must end with an input group terminator 

(i.e., !END!). Note that the source number is an optional user comment which is outside of the delimiter 

containing the required source data. The data for each source must follow an opening delimiter and "X=". 

The data for each source is followed by a closing delimiter and an input group terminator. 

The first two optional variables may be provided for point sources that have a characteristic distribution 

much like volume sources. The values are entered in order between delimiters, following “SIGYZI=”. 

The third optional variable is typically used for sources with rain-hats that eliminate the initial vertical 

momentum of the release. The fourth is for downwash calculations for a structure rests above the surface. 

These records must be placed before the input group terminates (i.e., !END!) for the point source.

The format of Input Group 13b for a simulation with eight species is shown below. 

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

Subgroup (13b) 

--------------- a 

 POINT SOURCE: CONSTANT DATA 

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

 b c 

 Source X UTM Y UTM Stack Base Stack Exit Exit Bldg. Emission 

 No. Coordinate Coordinate Height Elevation Diameter Vel. Temp. Dwash Rates 

 (km) (km) (m) (m) (m) (m/s) (deg. K) 

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

 1 ! SRCNAM = BLR1 ! 

 1 ! X = 0.1, -3., 40., 25., 2.2, 10., 450., 1., 1.7E00, 1.0E00, 

 1.0E-02, 1.0E-01, 2.0E-01, 2.4E-01, 2.5E-01, 2.0E-01 ! 

 1 ! SIGYZI = 3., 1.5 ! 

 1 ! FMFAC = 1. ! 

 1 ! ZPLTFM = 0. ! 

 !END! 

--------

MAR 2006 – CALPUFF 

F-71
Table F-3 (Continued) 

CALPUFF Control File Inputs - Input Group 13 

Point Source Parameters 

Variable Type Description Default Value

(Input Group 13c - Building Dimension Data)

SRCNAM character*12 Source name, used to coordinate inputs in Subgroups 

b,c,d 

- 

HEIGHT real array Array of 36-direction-specific building heights (m) for 

flow vectors from 10E-360E in 10E increments 

-

WIDTH real array Array of 36 direction-specific building widths (m) for 

flow vectors from 10E-360E in 10E increments

- 

LENGTH* real array Array of 36 direction-specific building lengths (m) for 

flow vectors from 10E-360E in 10E increments 

- 

XBADJ* real array Array of 36 direction-specific along-flow offset lengths 

(m) from the source to the center of the upwind face of 

the building for flow vectors from 10E-360E in 10E

increments 

- 

YBADJ* real array Array of 36 direction-specific cross-flow offset lengths

(m) from the source to the center of the upwind face of 

the building for flow vectors from 10E-360E in 10E

increments 

- 

* LENGTH, XBADJ, and YBADJ are required only for the PRIME downwash option (MBDW=2) 

The variables in Input Group 13c are entered for each point source for which IDOWN=1 in Input Group 

13b. The data for each point source (i.e., source name, 36 widths and 36 heights, 36 lengths, 36 xbadjusts, and 36 yb-adjusts) is treated as a separate input subgroup and therefore must end with an input 

group terminator (i.e., !END!). Once again, the source number is an optional user comment which is 

outside of the delimiters. The source name is used to place the building information with the correct 

source. The data for each source must follow an opening delimiter and either "WIDTH=" or

"HEIGHT=". The data for each source is followed by a closing delimiter and an input group terminator 

(i.e., !END!). 

MAR 2006 – CALPUFF 

F-72
Table F-3 (Continued) 

CALPUFF Control File Inputs - Input Group 13 

Point Source Parameters 

The format of Input Group 13c is shown below. 

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

Subgroup (13c) 

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

 BUILDING DIMENSION DATA FOR SOURCES SUBJECT TO DOWNWASH 

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

Source a 

No. Effective building height, width, length and X/Y offset (in meters) 

 every 10 degrees. LENGTH, XBADJ, and YBADJ are only needed for 

 MBDW=2 (PRIME downwash option) 

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

 1 ! SRCNAM = BLR1 ! 

1 ! HEIGHT = 45., 45., 45., 45., 45., 45., 45., 45., 45., 0., 0., 0., 

 0., 0., 0., 0., 0., 0., 45., 45., 45., 45., 45., 45., 

 45., 45., 45., 0., 0., 0., 0., 0., 0., 0., 0., 0. ! 

 1 ! WIDTH = 12.5, 12.5, 12.5, 12.5, 12.5, 12.5, 12.5, 12.5, 12.5, 0., 0., 0., 

 0., 0., 0., 0., 0., 0., 12.5, 12.5, 12.5, 12.5, 12.5, 12.5, 

 12.5, 12.5, 12.5, 0., 0., 0., 0., 0., 0., 0., 0., 0. ! 

 1 ! LENGTH = 82.54, 87.58, 89.95, 89.59, 86.51, 80.80, 

 72.64, 62.26, 50.00, 62.26, 72.64, 80.80, 

 86.51, 89.59, 89.95, 87.58, 82.54, 75.00, 

 82.54, 87.58, 89.95, 89.59, 86.51, 80.80, 

 72.64, 62.26, 50.00, 62.26, 72.64, 80.80, 

 86.51, 89.59, 89.95, 87.58, 82.54, 75.00 ! 

 1 ! XBADJ = -47.35, -55.76, -62.48, -67.29, -70.07, -70.71, 

 -69.21, -65.60, -60.00, -65.60, -69.21, -70.71, 

 -70.07, -67.29, -62.48, -55.76, -47.35, -37.50, 

 -35.19, -31.82, -27.48, -22.30, -16.44, -10.09, 

 -3.43, 3.34, 10.00, 3.34, -3.43, -10.09, 

 -16.44, -22.30, -27.48, -31.82, -35.19, -37.50 ! 

 1 ! YBADJ = 34.47, 32.89, 30.31, 26.81, 22.50, 17.50, 

 11.97, 6.08, 0.00, -6.08, -11.97, -17.50, 

 -22.50, -26.81, -30.31, -32.89, -34.47, -35.00, 

 -34.47, -32.89, -30.31, -26.81, -22.50, -17.50, 

 -11.97, -6.08, 0.00, 6.08, 11.97, 17.50, 

 22.50, 26.81, 30.31, 32.89, 34.47, 35.00 ! 

!END! 

-------- 

 a 

 Building height, width, length, and X/Y offset from the source are treated 

 as a separate input subgroup for each source and therefore must end with 

 an input group terminator.

MAR 2006 – CALPUFF 

F-73
Table F-3 (Continued) 

CALPUFF Control File Inputs - Input Group 13 

Point Source Parameters 

Variable Type Description Default Value

(Input Group 13d - Variable Emissions Scale Factors)

SRCNAM

IVARY 

character*12 

integer 

Source name, used to coordinate inputs in Subgroups 

b,c,d 

Type of scale factor variation (diurnal, monthly, etc.) 

 0 = Constant 

 1 = Diurnal cycle 

 (24 scaling factors: hours 1-24) 

 2 = Monthly cycle 

 (12 scaling factors: months 1-12) 

 3 = Hour & Season 

 (4 groups of 24 hourly scaling factors, 

 where first group is DEC-JAN-FEB) 

 4 = Speed & Stab.

 (6 groups of 6 scaling factors, where 

 first group is Stability Class A, 

 and the 6 speed classes have upper 

 bounds (m/s) defined in Group 12) 

 5 = Temperature 

 (12 scaling factors, where temperature 

 classes have upper bounds (C) of: 

 0, 5, 10, 15, 20, 25, 30, 35, 40,

 45, 50, 50+) 

- 

0 

QFAC real array Array of emissions scaling factors for this source and 

the species indicated 

-

The variables in Input Group 13d are entered for each point source - species combination indicated by

NSPT1 in Input Group 13a (e.g., only NSPT1 combinations are entered). The data for each point sourcespecies combination (i.e., source name, type of variation, and the QFAC array ) are treated as a separate 

input subgroup and therefore must end with an input group terminator (i.e., !END!). Once again, the 

source number is an optional user comment which is outside of the delimiters. The source name is used 

to place the scaling factors with the correct source. The data for each source-species combination must 

follow an opening delimiter and "(cspec)=", where (cspec) is a species name defined in Group 3. The 

data for each source-species combination is followed by a closing delimiter and an input group terminator 

(i.e., !END!). If NSPT1=0, no scaling factors should be defined here. 

MAR 2006 – CALPUFF 

F-74
Table F-3 (Continued) 

CALPUFF Control File Inputs - Input Group 13 

Point Source Parameters 

The format for Input Group 13d is shown below. 

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

Subgroup (13d) 

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

 a 

 POINT SOURCE: VARIABLE EMISSIONS DATA 

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

 

 1 ! SRCNAM = BLR1 ! 

 1 ! IVARY = 2 ! (12 Months) 

 1 ! SO2 = 0.1,0.1,0.5,0.9,2,2.2, 

 2.5,1.5,1.1,0.9,0.5,0.1 ! 

!END! 

-------- 

 a 

 Data for each species are treated as a separate input subgroup 

 and therefore must end with an input group terminator. 

MAR 2006 – CALPUFF 

F-75
Table F-3 (Continued) 

CALPUFF Control File Inputs - Input Group 14 

Area Source Parameters 

Variable Type Description Default Value

(Input Group 14a - General Area Source Data)

NAR1 

IARU

NSAR1 

integer 

integer 

integer 

Number of area sources with constant parameters or

variable emission rate scale factors 

Units choice for emission rates from area sources 

 1 = g/m**2/s 

 2 = kg/m**2/hr

 3 = lb/m**2/hr

 4 = tons/m**2/yr

 5 = Odour Unit * m/s (vol. flux/m**2 of 

compound) 

 6 = Odour Unit * m/min 

 7 = metric tons/m**2/yr 

Number of source-species with variable emission rate 

scaling factors provided in 14d

- 

1 

0 

NAR2 integer Number of buoyant area sources with arbitrary varying

emission parameters 

- 

(Input Group 14b - Area Source Data for Sources with Constant Parameters or 

Emissions Scale Factors)

SRCNAM character*12 Source name, used to coordinate inputs in Subgroups 

b,c,d 

- 

HTEFF real Effective height (m) of the area source - 

AELEV real Base elevation (m) above mean sea level - 

SIGZI real Initial vertical dispersion coefficient (Fz), in meters, of

the area source

- 

EMIS real array Emission rate (g/s/m2

) of each modeled species 

Note: "NSPEC" values must be entered

- 

The variables in Input Group 14b are entered for each of the "NAR1" area sources. The data for each 

source is treated as a separate input subgroup, and therefore, must end with an input group terminator 

(i.e., !END!). Note that the source number is an optional user comment which is outside of the delimiter 

containing the required source data. The data for each source must follow an opening delimiter and "X=". 

The data for each source is followed by a closing delimiter and an input group terminator. 

MAR 2006 – CALPUFF 

F-76
Table F-3 (Continued) 

CALPUFF Control File Inputs - Input Group 14 

Area Source Parameters 

The format of Input Group 14b for a simulation with eight species is shown below.

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

Subgroup (14b) 

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

 a 

 AREA SOURCE: CONSTANT DATA 

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

 b 

Source Effect. Base Initial Emission 

 No. Height Elevation Sigma z Rates 

 (m) (m) (m) 

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

 1! SRCNAM = AREA1 ! 

 1! X = 1., 0., 2.5, 8.5E-01, 0.5E00, 0.0E00, 

 0.0E00, 0.0E00, 0.0E00, 0.0E00, 0.0E00 ! 

 !END! 

 2! SRCNAM = AREA2 ! 

 2! X = 1.5, 0., 3., 0.0E00, 0.0E00, 1.0E-01, 

 0.0E00, 0.0E00, 5.0E-01, 1.0E00, 1.3E00 ! 

 !END! 

-------- 

 a 

 Data for each source are treated as a separate input subgroup 

 and therefore must end with an input group terminator. 

 b 

 An emission rate must be entered for every pollutant modeled. 

 Enter emission rate of zero for secondary pollutants that are 

 modeled, but not emitted. Units are specified by IARU 

 (e.g. 1 for g/m**2/s). 

MAR 2006 – CALPUFF 

F-77
Table F-3 (Continued) 

CALPUFF Control File Inputs - Input Group 14 

Area Source Parameters 

Variable Type Description Default Value

(Input Group 14c - Vertex Data for Area Sources with Constant Parameters or 

Emissions Scale Factors)

SRCNAM

XVERT

character*12 

real 

Source name, used to coordinate inputs in Subgroups 

b,c,d 

X coordinates (km) of each vertex of the area source on 

the meteorological grid

- 

- 

YVERT real Y coordinate (km) of each vertex of the area source on

the meteorological grid

-

The variables in Input Group 14c are entered for each of the "NAR1" area sources. The data for each 

source is treated as a separate input subgroup, and therefore, must end with an input group terminator 

(i.e., !END!). Note that the source number is an optional user comment which is outside of the delimiter 

containing the required source data. The data for each source must follow an opening delimiter and "X=". 

The data for each source is followed by a closing delimiter and an input group terminator. 

The format of Input Group 14c is shown below.

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

Subgroup (14c) 

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

 COORDINATES (UTM-km) FOR EACH VERTEX(4) OF EACH POLYGON 

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

Source a 

 No. Ordered list of X followed by list of Y, grouped by source 

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

 1 ! SRCNAM = AREA1 ! 

 1 ! XVERT = 0.5, 0.51, 0.51, 0.5! 

 1 ! YVERT = 1.61, 1.61, 1.6, 1.6! 

 !END! 

 2 ! SRCNAM = AREA2 ! 

 2 ! XVERT = 0.75, 0.76, 0.76, 0.75! 

 2 ! YVERT = 1.81, 1.81, 1.8, 1.8! 

 !END! 

-------- 

 a 

 Data for each source are treated as a separate input subgroup 

 and therefore must end with an input group terminator. 

MAR 2006 – CALPUFF 

F-78
Table F-3 (Continued) 

CALPUFF Control File Inputs - Input Group 14 

Area Source Parameters 

Variable Type Description Default Value

(Input Group 14d - Variable Emissions Scale Factors) 

SRCNAM

IVARY 

character*12 

integer 

Source name, used to coordinate inputs in Subgroups 

b,c,d 

Type of scale factor variation (diurnal, monthly, etc.) 

 0 = Constant 

 1 = Diurnal cycle 

 (24 scaling factors: hours 1-24) 

 2 = Monthly cycle 

 (12 scaling factors: months 1-12) 

 3 = Hour & Season 

 (4 groups of 24 hourly scaling factors, 

 where first group is DEC-JAN-FEB) 

 4 = Speed & Stab.

 (6 groups of 6 scaling factors, where 

 first group is Stability Class A, 

 and the 6 speed classes have upper 

 bounds (m/s) defined in Group 12) 

 5 = Temperature 

 (12 scaling factors, where temperature 

 classes have upper bounds (C) of: 

 0, 5, 10, 15, 20, 25, 30, 35, 40,

 45, 50, 50+) 

- 

0 

QFAC real array Array of emissions scaling factors for this source and 

the species indicated 

- 

The variables in Input Group 14d are entered for each area source - species combination indicated by

NSAR1 in Input Group 14a (e.g., only NSAR1 combinations are entered). The data for each area sourcespecies combination (i.e., source name, type of variation, and the QFAC array ) are treated as a separate 

input subgroup and therefore must end with an input group terminator (i.e., !END!). Once again, the 

source number is an optional user comment which is outside of the delimiters. The source name is used 

to place the scaling factors with the correct source. The data for each source-species combination must 

follow an opening delimiter and "(cspec)=", where (cspec) is a species name defined in Group 3. The 

data for each source-species combination is followed by a closing delimiter and an input group terminator 

(i.e., !END!). If NSAR1=0, no scaling factors should be defined here. 

MAR 2006 – CALPUFF 

F-79
Table F-3 (Continued) 

CALPUFF Control File Inputs - Input Group 14 

Area Source Parameters 

The format of Input Group 14d is shown below.

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

Subgroup (14d) 

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

 a 

 AREA SOURCE: VARIABLE EMISSIONS DATA 

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

 2 ! SRCNAM = AREA2 ! 

 2 ! IVARY = 4 ! (6 speed classes for each stability) 

 2 ! PMSIZE1 = 0.1,0.1,0.5,0.9,1,1.5, 

 0.1,0.1,0.5,0.9,1,1.5, 

 0.1,0.1,0.5,0.9,1,1.5, 

 0.1,0.1,0.5,0.9,1,1.5, 

 0.1,0.1,0.5,0.9,1,1.5, 

 0.1,0.1,0.5,0.9,1,1.5 ! 

!END! 

-------- 

 a 

 Data for each species are treated as a separate input subgroup 

 and therefore must end with an input group terminator. 

MAR 2006 – CALPUFF 

F-80
Table F-3 (Continued) 

CALPUFF Control File Inputs - Input Group 15 

Line Source Parameters 

Variable Type Description Default Value

(Input Group 15a - General Line Source Data)

NLN2 integer Number of buoyant line sources with variable location

and emission parameters (all data provided in file 

LNEMARB.DAT) 

0 

NLINES 

ILNU

Number of buoyant line sources 

NSLN1 

MXNSEG 

integer 

integer Units choice for line source emissions 

 1 = g/s 

 2 = kg/hr 

 3 = lb/hr 

 4 = tons/yr 

integer 

integer 

 5 = Odour Unit * m**3/s (vol. flux of 

compound) 

 6 = Odour Unit * m**3/min 

 7 = metric tons/yr 

Number of source-species with variable emission rate 

scaling factors provided in 15c 

Maximum number of line segments into which each line 

may be divided (if MSLUG=1); Actual number of virtual

points which will be used to represent each line (if 

MSLUG=0)

- 

1 

0 

7 

NLRISE integer Number of distances at which transitional rise is 

computed 

6 

XL real Average building length (m) - 

HBL real Average building height (m) - 

WBL real Average building width (m) - 

WML real Average line source width (m) - 

DXL real Average separation between buildings (m) 

FPRIMEL real Average buoyancy parameter (m4

/s3) -

(Input Group 15b - Buoyant Line Source Data) - repeated for each line source

SRCNAM character*12 Source name, used to coordinate inputs in Subgroups b,c - 

XBEGL real Beginning X coordinate of line source (km) - 

YBEGL real Beginning Y coordinate of line source (km) - 

XENDL real Ending X coordinate of line source (km) - 

YENDL real Ending Y coordinate of line source (km) -

MAR 2006 – CALPUFF 

F-81
Table F-3 (Continued) 

CALPUFF Control File Inputs - Input Group 15 

Line Source Parameters 

Variable Type Description Default Value

HTL real Release height (m) -

ELEVL real Base elevation (m) - 

QL real Emissions rate (g/s) of each pollutant -

The variables in Input Group 15b are entered for each of the "NLINES" line sources. The data for each 

line is treated as a separate input subgroup, and therefore, must end with an input group terminator (i.e., 

!END!). Note that the line number is an optional user comment which is outside of the delimiter 

containing the required source data. The data for each line must follow an opening delimiter and "X=". 

The data for each line is followed by a closing delimiter and an input group terminator. 

The format of Input Group 15b for a simulation with eight species is shown below. 

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

Subgroup (15b) 

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

 BUOYANT LINE SOURCE: CONSTANT DATA 

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

 a 

Source Beg. X Beg. Y End. X End. Y Release Base Emission 

 No. Coordinate Coordinate Coordinate Coordinate Height Elevation Rates 

 (km) (km) (km) (km) (m) (m) 

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

 1! SRCNAM = LINE1 ! 

 1! X = 12., 35., 12.5, 35., 22.000, 0.000, 2.3E00, 1.1E00, 

0.0E00, 0.0E00, 0.0E00, 0.0E00, 0.0E00, 0.0E00 ! 

 !END! 

 2! SRCNAM = LINE2 ! 

 2! X = 12., 35.022, 12.5, 35.022, 22.000, 0.000, 2.3E00, 1.1E00, 

0.0E00, 0.0E00, 0.0E00, 0.0E00, 0.0E00, 0.0E00 ! 

 !END! 

-------- 

 a 

 Data for each source are treated as a separate input subgroup 

 and therefore must end with an input group terminator. 

 b 

 An emission rate must be entered for every pollutant modeled. 

 Enter emission rate of zero for secondary pollutants that are 

 modeled, but not emitted. Units are specified by ILNTU 

 (e.g. 1 for g/s). 

MAR 2006 – CALPUFF 

F-82
Table F-3 (Continued) 

CALPUFF Control File Inputs - Input Group 15 

Line Source Parameters 

Variable Type Description Default Value

(Input Group 15c - Variable Emissions Scale Factors) 

SRCNAM

IVARY 

character*12 

integer 

Source name, used to coordinate inputs in Subgroups b,c

Type of scale factor variation (diurnal, monthly, etc.) 

 0 = Constant 

 1 = Diurnal cycle 

 (24 scaling factors: hours 1-24) 

 2 = Monthly cycle 

 (12 scaling factors: months 1-12) 

 3 = Hour & Season 

 (4 groups of 24 hourly scaling factors, 

 where first group is DEC-JAN-FEB) 

 4 = Speed & Stab.

 (6 groups of 6 scaling factors, where 

 first group is Stability Class A, 

 and the 6 speed classes have upper 

 bounds (m/s) defined in Group 12) 

 5 = Temperature 

 (12 scaling factors, where temperature 

 classes have upper bounds (C) of: 

 0, 5, 10, 15, 20, 25, 30, 35, 40,

 45, 50, 50+) 

- 

0 

QFAC real array Array of emissions scaling factors for this source and the

species indicated 

- 

The variables in Input Group 15c are entered for each line source - species combination indicated by

NSLN1 in Input Group 15a (e.g., only NSLN1 combinations are entered). The data for each line sourcespecies combination (i.e., source name, type of variation, and the QFAC array ) are treated as a separate 

input subgroup and therefore must end with an input group terminator (i.e., !END!). Once again, the 

source number is an optional user comment which is outside of the delimiters. The source name is used 

to place the scaling factors with the correct source. The data for each source-species combination must 

follow an opening delimiter and "(cspec)=", where (cspec) is a species name defined in Group 3. The 

data for each source-species combination is followed by a closing delimiter and an input group terminator 

(i.e., !END!). If NSLN1=0, no scaling factors should be defined here. 

MAR 2006 – CALPUFF 

F-83
Table F-3 (Continued) 

CALPUFF Control File Inputs - Input Group 15 

Line Source Parameters 

 

The format of Input Group 15c is shown below. 

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

Subgroup (15c) 

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

 a 

 BUOYANT LINE SOURCE: VARIABLE EMISSIONS DATA 

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

 1 ! SRCNAM = LINE1 ! 

 1 ! IVARY = 1 ! (24 Hours) 

 1 ! SO2 = 0.1,0.1,0.1,0.2,0.2,0.3, 

 0.3,0.4,0.4,0.5,0.6,1, 

 1,1,1,1,1,1, 

 0.6,0.4,0.3,0.2,0.1,0.1 ! 

!END! 

-------- 

 a 

 Data for each species are treated as a separate input subgroup 

 and therefore must end with an input group terminator. 

MAR 2006 – CALPUFF 

F-84
Table F-3 (Continued) 

CALPUFF Control File Inputs - Input Group 16 

Volume Source Parameters

Variable Type Description Default Value

(Input Group 16a - General Volume Source Data)

NVL1 

IVLU

NSVL1 

integer 

integer 

integer 

Number of volume sources with constant parameters or 

variable emission scale factors 

Units choice for volume source emissions 

 1 = g/s 

 2 = kg/hr 

 3 = lb/hr 

 4 = tons/yr 

 5 = Odour Unit * m**3/s (vol. flux of 

compound) 

 6 = Odour Unit * m**3/min 

 7 = metric tons/yr 

Number of source-species with variable emission rate 

scaling factors provided in 16c 

- 

1 

0 

NVL2 integer Number of volume sources with variable location and

emission parameters read from file VOLEMARB.DAT 

0 

(Input Group 16b - Volume Source Data for Sources with Constant Parameters or 

Variable Emission Scaling Factors (repeated for each volume source (NVL1))

SRCNAM

XVOL 

character*12 

real 

Source name, used to coordinate inputs in Subgroups b,c

X coordinate (km) of center of volume source

- 

- 

YVOL real Y coordinate (km) of center of volume source - 

HTVOL real Effective height (m) of volume source - 

ELEVOL real Base elevation (m) of volume source - 

SYVOL 

SZVOL 

real 

real 

Initial Fy (m) of volume source

Initial Fz (m) of volume source

- 

- 

QVOL real Emission rates (g/s) of each pollutant from volume 

source 

- 

MAR 2006 – CALPUFF 

F-85
Table F-3 (Continued) 

CALPUFF Control File Inputs - Input Group 16 

Volume Source Parameters

The variables in Input Group 16b are entered for each of the "NVL1" volume sources. The data for each 

source is treated as a separate input subgroup, and therefore, must end with an input group terminator 

(i.e., !END!). Note that the source number is an optional user comment which is outside of the delimiter 

containing the required source data. The data for each source must follow an opening delimiter and "X=". 

The data for each source is followed by a closing delimiter and an input group terminator. 

The format of Input Group 16b for a simulation with eight species is shown below. 

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

Subgroup (16b) 

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

 a 

 VOLUME SOURCE: CONSTANT DATA 

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

 b 

 X UTM Y UTM Effect. Base Initial Initial Emission 

 Coordinate Coordinate Height Elevation Sigma y Sigma z Rates 

 (km) (km) (m) (m) (m) (m) 

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

 1! SRCNAM = VOLS1 ! 

! X = -5.6, -1.2, 10., 0., 6.2, 6.2, 2.2E00, 4.0E00, 0.0E00, 

 0.0E00, 0.0E00, 0.0E00, 0.0E00, 0.0E00 ! 

!END! 

-------- 

 a 

 Data for each source are treated as a separate input subgroup 

 and therefore must end with an input group terminator. 

 b 

 An emission rate must be entered for every pollutant modeled. 

 Enter emission rate of zero for secondary pollutants that are 

 modeled, but not emitted. Units are specified by IVLU 

 (e.g. 1 for g/s). 

MAR 2006 – CALPUFF 

F-86
Table F-3 (Continued) 

CALPUFF Control File Inputs - Input Group 16 

Volume Source Parameters

Variable Type Description Default Value

(Input Group 16c - Variable Emissions Scale Factors) 

SRCNAM

IVARY 

character*12 

integer 

Source name, used to coordinate inputs in Subgroups b,c

Type of scale factor variation (diurnal, monthly, etc.) 

 0 = Constant 

 1 = Diurnal cycle 

 (24 scaling factors: hours 1-24) 

 2 = Monthly cycle 

 (12 scaling factors: months 1-12) 

 3 = Hour & Season 

 (4 groups of 24 hourly scaling factors, 

 where first group is DEC-JAN-FEB) 

 4 = Speed & Stab.

 (6 groups of 6 scaling factors, where 

 first group is Stability Class A, 

 and the 6 speed classes have upper 

 bounds (m/s) defined in Group 12) 

 5 = Temperature 

 (12 scaling factors, where temperature 

 classes have upper bounds (C) of: 

 0, 5, 10, 15, 20, 25, 30, 35, 40,

 45, 50, 50+) 

- 

0 

QFAC real array Array of emissions scaling factors for this source and the

species indicated 

- 

The variables in Input Group 16c are entered for each volume source - species combination indicated by

NSVL1 in Input Group 16a (e.g., only NSVL1 combinations are entered). The data for each volume 

source-species combination (i.e., source name, type of variation, and the QFAC array ) are treated as a 

separate input subgroup and therefore must end with an input group terminator (i.e., !END!). Once again, 

the source number is an optional user comment which is outside of the delimiters. The source name is 

used to place the scaling factors with the correct source. The data for each source-species combination 

must follow an opening delimiter and "(cspec)=", where (cspec) is a species name defined in Group 3. 

The data for each source-species combination is followed by a closing delimiter and an input group 

terminator (i.e., !END!). If NSVL1=0, no scaling factors should be defined here. 

MAR 2006 – CALPUFF 

F-87
Table F-3 (Continued) 

CALPUFF Control File Inputs - Input Group 16 

Volume Source Parameters

 The format of Input Group 16c is shown below.

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

Subgroup (16c) 

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

 a 

 VOLUME SOURCE: VARIABLE EMISSIONS DATA 

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

 1 ! SRCNAM = VOLS1 ! 

 1 ! IVARY = 1 ! (24 Hours) 

 1 ! SO2 = 0.1, 0.1, 0.1, 0.2, 0.2, 0.3, 

 0.3, 0.4, 0.4, 0.5, 0.6, 1, 

 1, 1, 1, 1, 1, 1, 

 0.6, 0.4, 0.3, 0.2, 0.1, 0.1 ! 

!END! 

-------- 

 a 

 Data for each species are treated as a separate input subgroup 

 and therefore must end with an input group terminator.

MAR 2006 – CALPUFF 

F-88
Table F-3 (Concluded) 

CALPUFF Control File Inputs - Input Group 17 

Non-Gridded (Discrete) Receptor Data 

Variable Type Description Default Value

(Input Group 17a - General Discrete Receptor Data)

NREC integer Number of non-gridded receptors -

(Input Group 17b - Discrete Receptor Data)

XUTM real X coordinate (km) of the discrete receptor on the

meteorological grid

- 

YUTM real Y coordinate (km) of the discrete receptor on the

meteorological grid

- 

ELEV real Ground elevation (m) above mean sea level of the receptor - 

ZREC real Height (m) of discrete receptor above the ground 0.0 

The variables in Input Group 17b are entered for each of the "NREC" discrete receptors. The data for 

each receptor is treated as a separate input subgroup, and therefore, must end with an input group 

terminator (i.e., !END!). The format of Input Group 17b is shown below. 

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

Subgroup (17b) 

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

 a 

 NON-GRIDDED (DISCRETE) RECEPTOR DATA 

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

 X UTM Y UTM Ground Height b 

Receptor Coordinate Coordinate Elevation Above Ground 

 No. (km) (km) (m) (m) 

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

 1 ! X = 1., 1., 12.500, 0.000! !END! 

 2 ! X = 2.5, 4.2, 28.100, 0.000! !END! 

 3 ! X = 2.89, 3.2, 39.600, 0.000! !END! 

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

 a 

 Data for each receptor are treated as a separate input subgroup 

 and therefore must end with an input group terminator. 

 b 

 Receptor height above ground is optional. If no value is entered, 

 the receptor is placed on the ground. 

Note that the receptor number is an optional user comment which is outside of the delimiter. The data for 

each receptor must follow an opening delimiter and "X=". The data for each receptor is followed by a 

closing delimiter and an input group terminator (i.e., !END!). 

MAR 2006 – CALPUFF 

F-89
F.2 Meteorological Data Files 

Four types of meteorological data files can be used to drive the CALPUFF model. In order to take full 

advantage of the capabilities of the model to simulate the effects spatially-varying meteorological fields, 

gridded fields of winds, temperatures, mixing heights, and other meteorological variables should be input

to CALPUFF through the CALMET.DAT file. The format and contents of this file are described in 

Section F.2.1.

Alternatively, CALPUFF will accept single station meteorological data in the ISC3 format, CTDMPLUS

format, or AUSPLUME format. The ISC3 meteorological data file (ISCMET.DAT) is described in 

Section F.2.2, the AUSPLUME file (PLMMET.DAT) is described in Section F.2.3, and the CTDMPLUS 

meteorological data files SURFACE.DAT and PROFILE.DAT are described in Section F.2.4. 

F.2.1 CALMET.DAT 

The CALMET.DAT file contains gridded meteorological data fields required to drive the CALPUFF 

model. It also contains certain geophysical fields, such as terrain elevations, surface roughness lengths, 

and land use types, used by both the CALMET meteorological model and CALPUFF. Although the input 

requirements of CALPUFF are designed to be directly compatible with CALMET, meteorological fields 

produced by other meteorological models can be substituted for the CALMET output as long as the 

required variables are produced and the output is reformatted to be consistent with the CALMET.DAT 

file specifications described in this section. 

CALMET.DAT File - Header Records 

The CALMET.DAT file consists of a set of up to fifteen header records, plus a variable number of 

comment records, followed by a set of hourly data records. The header records contain file identification 

labels, descriptive titles of the CALMET run (including a complete image of the CALMET control file) 

as comment records, information including the horizontal and vertical grid systems of the meteorological 

grid, the number, type, and coordinates of the meteorological stations included in the CALMET run, 

gridded fields of surface roughness lengths, land use, terrain elevations, leaf area indexes, and a precomputed field of the closest surface meteorological station number to each grid point. 

In addition to the variable number of comment records, the number of header records may also vary 

because records containing surface, upper air, and precipitation station coordinates are not included if 

these stations were not included in the run. A description of each variable in the header records is 

provided in Table F-4. 

Sample FORTRAN write statements for the CALMET.DAT header records are:

MAR 2006 – CALPUFF 

F-90
c --- Header record #1 - File Declaration -- 24 words 

 write(iomet) DATASET,DATAVER,DATAMOD 

c --- Header record #2 - Number of comment lines -- 1 word 

 write(iomet) NCOM 

c --- Header record #3 to NCOM+2 (Comment record section) -- 33 words each 

 write(iomet) COMMENT

c --- Header record #NCOM+3 - run control parameters -- 37 words 

 write(iomet) IBYR,IBMO,IBDY,IBHR,IBTZ,IRLG,IRTYPE, 

 1 NX,NY,NZ,DGRID,XORIGR,YORIGR, IWFCOD,NSSTA,

 2 NUSTA,NPSTA,NOWSTA,NLU,IWAT1,IWAT2,LCALGRD

 3 PMAP,DATUM,DATEN,FEAST,FNORTH,UTMHEM,IUTMZN,

 4 RNLAT0,RELON0,XLAT1,XLAT2 

c --- Header record #NCOM+4 - cell face heights (NZ + 1 words) 

 write(iomet)CLAB1,IDUM,ZFACEM 

c --- Header records #NCOM+5 & 6 - x, y coordinates of surface stations 

c --- (NSSTA words each record) 

 if(nssta.ge.1)then 

 write(iomet)CLAB2,IDUM,XSSTA 

 write(iomet)CLAB3,IDUM,YSSTA 

 endif 

c --- Header records #NCOM+7 & 8 - x, y coordinates of upper air stations 

c --- (NUSTA words each record) 

 if(nusta.ge.1)then

 write(iomet)CLAB4,IDUM,XUSTA 

 write(iomet)CLAB5,IDUM,YUSTA 

 endif 

c --- Header records #NCOM+9 & 10 - x, y coordinates of precipitation stations 

c --- (NPSTA words each record) 

 if(npsta.ge.1)then

 write(iomet)CLAB6,IDUM,XPSTA 

 write(iomet)CLAB7,IDUM,YPSTA 

 endif 

c --- Header record #NCOM+11 - surface roughness lengths (NX * NY words) 

 write(iomet)CLAB8,IDUM,Z0 

c --- Header record #NCOM+12 - land use categories (NX * NY words) 

 write(iomet)CLAB9,IDUM,ILANDU 

c --- Header record #NCOM+13 - elevations (NX * NY words) 

 write(iomet)CLAB10,IDUM,ELEV

c --- Header record #NCOM+14 - leaf area index (NX * NY words) 

 call wrtr2d(iomet,xlai,xbuf,mxnx,mxny,nx,ny,clabel,idum) 

 write(iomet)CLAB11,IDUM,XLAI

c --- Header record #NCOM+15 - nearest surface station no. to each 

c --- grid point (NX * NY words) 

 if(nssta.ge.1)then 

 write(iomet)CLAB12,IDUM,NEARS 

 endif 

where the following declarations apply:

real ZFACEM(nz+1),XSSTA(nssta),YSSTA(nssta),XUSTA(nusta),YUSTA(nusta) 

 real XPSTA(npsta),YPSTA(npsta)

 real Z0(nx,ny),ELEV(nx,ny),XLAI(nx,ny) 

MAR 2006 – CALPUFF 

F-91
 integer ILANDU(nx,ny),NEARS(nx,ny) 

 character*132 COMMENT(ncom)

 character*64 DATAMOD 

 character*16 DATASET,DATAVER 

 character*12 DATEN

 character*8 PMAP,DATUM 

 character*8 CLAB1,CLAB2,CLAB3,CLAB4,CLAB5,CLAB6 

 character*8 CLAB7,CLAB8,CLAB9,CLAB10,CLAB11,CLAB12 

 character*4 UTMHEM 

 logical LCALGRD 

CALMET.DAT File - Data Records 

The CALMET.DAT data records include hourly fields of winds and meteorological variables. In addition 

to the regular CALMET output variables, both CALGRID and CALPUFF require additional threedimensional fields of air temperature and vertical velocity. The presence of these fields in the CALMET 

output file is flagged by the header record logical variable, LCALGRD, having a value of TRUE. 

The data records contain three-dimensional gridded fields of U, V, and W wind components and air 

temperature, and two-dimensional fields of PGT stability class, surface friction velocity, mixing height, 

Monin-Obukhov length, convective velocity scale, precipitation rate (not used by CALGRID), nearsurface temperature, air density, short-wave solar radiation, relative humidity, and precipitation type 

codes (not used by CALGRID). A description of each variable in the data records is provided in Table F5. 

Sample FORTRAN write statements for the CALMET.DAT data records are: 

 if(irtype.eq.1) then

c --- Write U, V, W wind components 

+))) Loop over vertical layers, k 

*

* write(iunit)CLABU,NDATHR,((U(i,j,k),i=1,nx),j=1,ny) 

* write(iunit)CLABV,NDATHR,((V(i,j,k),i=1,nx),j=1,ny) 

* if(LCALGRD)write(iunit)CLABW,NDATHR((W(i,j,k+1),i=1,nx),j=1,ny) 

*

.))) End loop over vertical layers 

c --- Write 3-D temperature field 

if(LCALGRD.and.irtype.eq.1) then 

+))) Loop over vertical layers, k 

*

* write(iunit)CLABT,NDATHR,((ZTEMP(i,j,k),i=1,nxm),j=1,nym)

*

.))) End loop over vertical layers 

 endif 

c --- Write 2-D meteorological fields 

 write(iunit)CLABSC,NDATHR,IPGT 

 write(iunit)CLABUS,NDATHR,USTAR 

 write(iunit)CLABZI,NDATHR,ZI 

 write(iunit)CLABL,NDATHR,EL 

 write(iunit)CLABWS,NDATHR,WSTAR

 write(iunit)CLABRMM,NDATHR,RMM 

MAR 2006 – CALPUFF 

F-92
 write(iunit)CLABTK,NDATHR,TEMPK

 write(iunit)CLABD,NDATHR,RHO

 write(iunit)CLABQ,NDATHR,QSW

 write(iunit)CLABRH,NDATHR,IRH

 write(iunit)CLABPC,NDATHR,IPCODE 

 endif 

where the following declarations apply:

 real U(nx,ny,nz),V(nx,ny,nz),W(nx,ny,nz) 

 real ZTEMP(nx,ny,nz) 

 real USTAR(nx,ny),ZI(nx,ny),EL(nx,ny) 

 real WSTAR(nx,ny),RMM(nx,ny)

 real TEMPK(nx,ny),RHO(nx,ny),QSW(nx,ny) 

 integer IPGT(nx,ny) 

 integer IRH(nx,ny),IPCODE(nx,ny) 

character*8 CLABU, CLABV, CLABW, CLABT, CLABSC, CLABUS, CLABZI 

character*8 CLABL, CLABWS, CLABRMM, CLABTK, CLABD, CLABQ, CLABRH 

 character*8 CLABPC 

MAR 2006 – CALPUFF 

F-93
Table F-4 

CALMET.DAT file - Header Records 

Header 

Record No. 

Variable 

No. 

Variable Type

a Description

1 1 DATASET char*16 Dataset name (CALMET.DAT) 

1 char*16

3

1

Run length (hours) 

DGRID

2 DATAVER Dataset version

1 DATAMOD char*64 Dataset message field

2 1 NCOM integer Number of comment records to follow 

3 to

NCOM+2

1 COMMENT char*132 Comment record (repeated NCOM times), each 

containing an image of one line of the CALMET 

control file, or other information 

NCOM+3 IBYR integer Starting year of CALMET run

NCOM+3 2 IBMO integer Starting month 

NCOM+3 3 IBDY integer Starting day 

NCOM+3 4 IBHR integer Starting hour (time at end of hour)

NCOM+3 5 IBTZ integer Base time zone (e.g., 05=EST, 06=CST, 07=MST, 

08=PST) 

NCOM+3 6 IRLG integer

NCOM+3 7 IRTYPE integer Run type (0=wind fields only, 1=wind and

micrometeorological fields). IRTYPE must be run 

type 1 to drive CALGRID or options in

CALPUFF that use boundary layer parameters

NCOM+3 8 NX integer Number of grid cells in the X direction

NCOM+3 9 NY integer Number of grid cells in the Y direction

NCOM+3 10 NZ integer Number of vertical layers 

NCOM+3 11 real Grid spacing (m)

NCOM+3 12 XORIGR real X coordinate (m) of southwest corner of grid cell

(1,1) 

NCOM+3 13 YORIGR real Y coordinate (m) of southwest corner of grid cell

(1,1) 

NCOM+3 14 IWFCOD integer Wind field module used (0=objective analysis, 

1=diagnostic model)

NCOM+3 15 NSSTA integer Number of surface meteorological stations 

NCOM+3 16 NUSTA integer Number of upper air stations

NCOM+3 17 NPSTA integer Number of precipitation stations

NCOM+3 18 NOWSTA integer Number of over water stations

a

char*N = Character*N

MAR 2006 – CALPUFF 

F-94
Table F-4 (Continued) 

CALMET.DAT file - Header Records 

Header 

Record No. 

Variable 

No. 

Variable Type

a Description 

NCOM+3 19 NLU integer Number of land use categories 

NCOM+3 20 IWAT1 integer Range of land use categories 

NCOM+3 21 IWAT2 integer Corresponding to water surfaces (IWAT1 or

IWAT2, inclusive) 

NCOM+3

23

DATUM Code for grid coordinates 

real

False Northing (km) for PMAP = TTM, LCC, 

or LAZA 

30 

22 LCALGRD logical Flag indicating if the full set of meteorological 

parameters required by CALGRID are 

contained in the file (LCALGRD is normally

set to TRUE for CALPUFF applications) 

NCOM+3 PMAPb char*8 Map projectionb 

UTM : Universal Transverse Mercator 

TTM : Tangential Transverse Mercator 

LCC : Lambert Conformal Conic 

PS : Polar Stereographic 

EM : Equatorial Mercator 

LAZA : Lambert Azimuthal Equal Area

NCOM+3 24 DATUM char*8

NCOM+3 25 DATEN char*12 NIMA date (MM-DD-YYYY) for datum

definitions 

NCOM+3 26 FEAST False Easting (km) for PMAP = TTM, LCC, or 

LAZA

NCOM+3 27 FNORTH real

NCOM+3 28 UTMHEM char*4 Hemisphere for UTM projection (N or S) 

NCOM+3 29 IUTMZN integer UTM zone for PMAP = UTM

NCOM+3 RNLAT0 real North latitude (degrees) for projection origin 

(for PMAP= TTM, LCC, PS, EM, or LAZA) 

NCOM+3 31 RELON0 real East longitude (degrees) for projection origin

(for PMAP= TTM, LCC, PS, EM, or LAZA) 

NCOM+3 32 XLAT1 real North latitude (degrees) of matching parallel #1

for map projection PMAP= LCC or PS 

NCOM+3 33 XLAT2 real North latitude (degrees) of matching parallel #2

for map projection PMAP= LCC 

NCOM+4 1 CLAB1 char*8 Variable label ('ZFACE')

NCOM+4 2 IDUM integer Variable not used

NCOM+4 3 ZFACEM real array Heights (m) of cell faces (NZ + 1 values) 

a

 char*N = Character*N b

 PMAP = EM, PS, and LAZA is NOT AVAILABLE in CALMET

 

MAR 2006 – CALPUFF 

F-95
Table F-4 (Continued) 

CALMET.DAT file - Header Records 

Type

a Header 

Record No. 

Variable 

No. 

Variable Description

NCOM+5b 1 CLAB2 char*8 Variable label ('XSSTA') 

NCOM+5b 2 IDUM integer Variable not used

NCOM+5b 3 

CLAB3

integer 

X coordinates (m) of each upper air met. 

station 

char*8 Variable label ('YUSTA')

NCOM+8c

YUSTA 

NCOM+9d CLAB6

XPSTA 

1

NCOM+10d

Y coordinate (m) of each precipitation station 

 

XSSTA real array X coordinates (m) of each surface met. station 

NCOM+6b 1 char*8 Variable label ('YSSTA')

NCOM+6b 2 IDUM integer Variable not used

NCOM+6b 3 YSSTA real array Y coordinates (m) of each surface met. station 

NCOM+7c 1 CLAB4 char*8 Variable label ('XUSTA')

NCOM+7c 2 IDUM Variable not used

NCOM+7c 3 XUSTA real array

NCOM+8c 1 CLAB5

2 IDUM integer Variable not used

NCOM+8c 3 real array Y coordinate (m) of each upper air met. station 

1 char*8 Variable label ('XPSTA')

NCOM+9d 2 IDUM integer Variable not used

NCOM+9d 3 real array X coordinate (m) of each precipitation station 

NCOM+10d CLAB7 char*8 Variable label ('YPSTA')

2 IDUM integer Variable not used

NCOM+10d 3 YPSTA real array 

NCOM+11 1 CLAB8 char*8 Variable label ('Z0')

NCOM+11 2 IDUM integer Variable not used

NCOM+11 3 Z0 real array Gridded field of surface roughness lengths (m) 

for each grid cell 

a

 char*N = Character*N

b

 Included only if NSSTA > 0 c

 Included only if NUSTA > 0

d

 Included only if NPSTA > 0

MAR 2006 – CALPUFF 

F-96
Table F-4 (Concluded) 

CALMET.DAT file - Header Records 

Header 

Record No. 

Variable 

No. 

Variable Type

a Description

NCOM+12 1 CLAB9 char*8 Variable label ('ILANDU')

NCOM+12 2 IDUM integer Variable not used

NCOM+12 

1

Nearest surface meteorological station to

each grid point 

3 ILANDU integer array Gridded field of land use category for 

each grid cell 

NCOM+13 1 CLAB10 char*8 Variable label ('ELEV')

NCOM+13 2 IDUM integer Variable not used

NCOM+13 3 ELEV real array Gridded field of terrain elevations for 

each grid cell 

NCOM+14 1 CLAB11 char*8 Variable label ('XLAI')

NCOM+14 2 IDUM integer Variable not used

NCOM+14 3 XLAI real array Gridded field of leaf area index for each 

grid cell 

NCOM+15 CLAB12 char*8 Variable label ('NEARS')

NCOM+15 2 IDUM integer Variable not used

NCOM+15 3 NEARS integer array

a

char*N = Character*N

MAR 2006 – CALPUFF 

F-97
Table F-5 

CALMET.DAT file - Data Records 

Record 

Type 

Variable 

No. 

Variable 

Name

Typea Description

1 1 CLABU char*8 Variable label ('U-LEVxxx', where xxx indicates 

the layer number) 

1 2 Year, Julian day and hour in the form

YYYYJJJHH (or YYJJJHH)

1 3 

3 

3b

(Record types 1,2,3 repeated NZ times (once per layer) as a set)

1

Year, Julian day and hour in the form

YYYYJJJHH (or YYJJJHH)

Air temperature (deg. K) at each grid point 

NDATHR integer 

U real array U-component (m/s) of the winds at each grid

point

2 1 CLABV char*8 Variable label ('V-LEVxxx', where xxx indicates 

the layer number) 

2 2 NDATHR integer Year, Julian day and hour in the form

YYYYJJJHH (or YYJJJHH)

2 V real array V-component (m/s) of the winds at each grid

point

1 CLABW char*8 Variable label ('WFACExxx"), where xxx

indicates the layer number) 

3b 2 NDATHR integer Year, Julian day and hour in the form

YYYYJJJHH (or YYJJJHH)

3b 3 W real array W-component (m/s) of the winds at each grid

point

4b CLABT char*8 Variable label ('T-LEVxxx', where xxx indicates 

the layer number) 

4b 2 NDATHR integer 

4b 3 ZTEMP real array 

(Record type 4 repeated NZM times (once per layer)) 

a

 char*8 = Character*8

b

 Record types 3 and 4 are included only if LCALGRD is TRUE

MAR 2006 – CALPUFF 

F-98
Table F-5 (Continued) 

CALMET.DAT file - Data Records 

Record 

Type 

Variable 

No. 

Variable 

Name

Typea Description

5 1 CLABSC char*8 Variable label ('IPGT')

5 2 NDATHR integer Year, Julian day and hour in the form YYYYJJJHH (or

YYJJJHH)

5 3 IPGT integer

array

PGT stability class at each grid point 

6

Year, Julian day and hour in the form YYYYJJJHH (or

YYJJJHH)

real array 

CLABZI

2 

10

1 CLABUS char*8 Variable label ('USTAR')

6 2 NDATHR integer 

6 3 USTAR Surface friction velocity (m/s) 

7 1 char*8 Variable label ('ZI')

7 NDATHR integer Year, Julian day and hour in the form YYYYJJJHH (or

YYJJJHH)

7 3 ZI real array Mixing height (m) 

8 1 CLABL char*8 Variable label ('EL')

8 2 NDATHR integer Year, Julian day and hour in the form YYYYJJJHH (or

YYJJJHH)

8 3 EL real array Monin-Obukhov length (m)

9 1 CLABWS char*8 Variable label ('WSTAR')

9 2 NDATHR integer Year, Julian day and hour in the form YYYYJJJHH (or

YYJJJHH)

9 3 WSTAR real array Convective velocity scale (m/s) 

1 CLABRMM char*8 Variable label ('RMM')

10 2 NDATHR integer Year, Julian day and hour in the form YYYYJJJHH (or

YYJJJHH)

10 3 RMM real array Precipitation rate (mm/hr). Not used by CALGRID. 

a

 char*8 = Character*8

MAR 2006 – CALPUFF 

F-99
Table F-5 (Concluded) 

CALMET.DAT file - Data Records 

Record 

Type 

Variable 

No. 

Variable 

Name

Typea Description

11 1 CLABTK char*8 Variable label ('TEMPK')

11 2 NDATHR integer 

11

CLABPC

Year, Julian day and hour in the form YYYYJJJHH (or

YYJJJHH)

3 TEMPK real array Near-surface temperature (deg. K) 

12 1 CLABD char*8 Variable label ('RHO')

12 2 NDATHR integer Year, Julian day and hour in the form YYYYJJJHH (or

YYJJJHH)

12 3 RHO real array Near-surface air density (kg/m3

)

13 1 CLABQ char*8 Variable label ('QSW')

13 2 NDATHR integer Year, Julian day and hour in the form YYYYJJJHH (or

YYJJJHH)

13 3 QSW real array Short-wave solar radiation (W/m2

)

14 1 CLABRH char*8 Variable label ('IRH')

14 2 NDATHR integer Year, Julian day and hour in the form YYYYJJJHH (or

YYJJJHH)

14 3 IRH integer array Near-surface relative humidity (percent)

15 1 char*8 Variable label ('IPCODE')

15 2 NDATHR integer Year, Julian day and hour in the form YYYYJJJHH (or

YYJJJHH)

15 3 IPCODE integer array Precipitation type code (not used by CALGRID)

0 - no precipitation 

1 to 18 - liquid precipitation 

19 to 45 - frozen precipitation 

a

 char*8 = Character*8

MAR 2006 – CALPUFF 

F-100
F.2.2 ISCMET.DAT 

CALPUFF can be driven by a single-station standard ISC3-type of meteorological file, compatible with 

the earlier ISC2 version of the model, or the augmented ISC3-type of meteorological file. In addition, the 

ISCMET.DAT file used by CALPUFF can accommodate an extended data record that includes the 

augmented ISC3 data plus variables not found in either a standard ISC3 data record, or the augmented 

ISC3 data record. In the description to follow, we refer to the standard ISC3 file as the "base" ISC3 

format. 

CALPUFF is normally run with a full three-dimensional wind field and temperature field, as well as twodimensional fields of mixing heights and other meteorological variables (see CALMET.DAT in Section 

F.2.1). However, in some near-field applications, when spatial variability of the meteorological fields 

may not be significant (e.g., uniform terrain and land use), the single-station data file may be used. The 

model uses the data in the ISCMET.DAT file to fill the 2-D or 3-D arrays with the scalar values read from 

the file. In single-station mode, CALPUFF assigns the single value of each variable read from the 

ISCMET.DAT file to all grid points, resulting in a spatially uniform gridded field. However, the model 

does not assume that the meteorological conditions are steady-state, which allows the important effects of 

causality to be simulated even with the single-station meteorological data. For example, the time required 

for plume material to reach a receptor is accounted for in the puff formulation, and curved trajectories and 

variable dispersion and stability conditions over multiple hours of transport will result even when using 

the single-station meteorological data. However, in general, the preferred mode for most applications of 

CALPUFF is to use the spatially variable fields generated by CALMET.

The minimum data required in the ISCMET.DAT file includes hourly values of the vector flow direction, 

wind speed, temperature, stability class, and mixing height (urban or rural), which are found in the "base" 

ISC3 format. In addition, if dry or wet deposition are being modeled, or if turbulence-based dispersion 

coefficients are to be computed based on micrometeorological parameters, hourly values of the surface 

friction velocity (u*), Monin-Obukhov length (L), a time-varying surface roughness length (zo), 

precipitation rate, and precipitation type code are entered on an extended record. These additional 

variables are contained in the augmented ISC3 meteorological file. If chemical transformation is being 

modeled, hourly values of short-wave solar radiation and relative humidity can also be included in the 

extended record. In addition, hourly values of the potential temperature lapse rate (d2/dz) and power law 

profile exponent (p) can be entered. Non-missing values of the basic meteorological variables (i.e., vector 

wind direction, wind speed, temperature, stability class, and mixing height) must be provided for all 

applications. The data fields for the extended record variables (u*, L, etc.) may be left blank if the 

CALPUFF options are set so that they are not needed (e.g., no wet or dry deposition, no chemical 

transformation, no computation of turbulence-based dispersion coefficients). However, if the CALPUFF 

model options are set to require them, the model assumes that valid values of the extended record 

variables will be provided for every hour. The only exceptions are d2/dz and p, which can be entered for 

some hours and not others. If values of d2/dz or p are missing (i.e., blank) for a given hour, the model 

will use its default or user-specified stability-dependent values (see the PLX0 and PTG0 variables in 

MAR 2006 – CALPUFF 

F-101
Input Group 12 of the control file).

Sample ISCMET.DAT files are shown in Tables F-6(a) and F-6(b). Part (a) of the table shows the "base"

ISC3 meteorological data record. The fully extended data record is shown in Part (b) of the table. Table 

F-7 lists the contents of the ISCMET.DAT header records, and Table F-8 describes the data records. 

Note that other data associated with the meteorological data in ISCMET.DAT are provided in the 

CALPUFF.INP control file. These data include the anemometer height, surface roughness length, land 

use type, elevation, and leaf area index of the modeling region. The anemometer height is required in the 

vertical power law extrapolation of the wind speed. The roughness length is used if turbulence-based 

dispersion coefficients are selected, and in the calculation of dry deposition velocities, when the hourly

value is missing. The land use category is used to determine if urban or rural dispersion coefficients are 

appropriate when the Pasquill-Gifford/McElroy-Pooler dispersion coefficients are used. Also see the 

variables IURB1 and IURB2 in Input Group 12 of the control file. They define the range of land use 

categories that are to be considered urban (i.e., if the value of the land use category in the ISCMET.DAT 

file is between IURB1 and IURB2, inclusive, the modeling domain will be consider urban). Otherwise, it 

will be considered rural. The leaf area index is only used by the model if dry deposition velocities are 

being computed. The elevation is used to fill the 2-D terrain elevation array in CALPUFF that is 

normally filled from the CALMET file. This array is used to determine, through interpolation, the 

elevation of the gridded receptors generated by the model as an option. Because a single value is 

available when the ISCMET.DAT file is used, all of the gridded receptors will be assigned this elevation. 

Receptor-specific elevations are assigned to each discrete receptor by the user in the CALPUFF control 

file (see Input Group 17). 

MAR 2006 – CALPUFF 

F-102
Table F-6 

Sample ISCMET.DAT files 

(a) Base Data Records 

 94728 90 14735 90 

90 1 1 1 81.0000 3.0866 280.9 5 881.5 53.0 

90 1 1 2 98.0000 1.5433 279.8 6 904.6 53.0 

90 1 1 3 114.0000 2.5722 279.8 5 927.8 53.0 

90 1 1 4 113.0000 4.1155 280.4 4 951.0 951.0 

90 1 1 5 103.0000 3.0866 279.8 5 974.2 53.0 

90 1 1 6 102.0000 5.1444 280.4 4 997.4 997.4 

90 1 1 7 105.0000 4.6300 280.4 4 1020.6 1020.6 

90 1 1 8 73.0000 2.5722 280.4 4 1043.8 1043.8 

90 1 1 9 117.0000 4.1155 280.9 4 1067.0 1067.0 

90 1 110 141.0000 3.6011 283.7 3 1090.2 1090.2 

8 8 8 8 8 8 8 8 8 8

yr dy WD vect WS Temp rural urban 

 mo hr stab zi zi 

(b) Extended Data Records 

 94728 90 14735 90 

90 1 1 1 81.0000 3.0866 280.9 5 881.5 53.0 0.33 355. 0.25 0 0.0 .020 .35 0. 77 

90 1 1 2 98.0000 1.5433 279.8 6 904.6 53.0 0.17 122. 0.25 0 0.0 .035 .55 0. 68 

90 1 1 3 114.0000 2.5722 279.8 5 927.8 53.0 0.28 259. 0.25 0 0.0 .30 0. 72 

90 1 1 4 113.0000 4.1155 280.4 4 951.0 951.0 0.45 655. 0.25 0 0.0 .15 0. 74 

90 1 1 5 103.0000 3.0866 279.8 5 974.2 53.0 0.33 355. 0.25 0 0.0 .022 0. 75 

90 1 1 6 102.0000 5.1444 280.4 4 997.4 997.4 0.56 1025. 0.25 1 .25 .18 0. 73 

90 1 1 7 105.0000 4.6300 280.4 4 1020.6 1020.6 0.50 -1005. 0.25 0 0.0 .17 70. 71 

90 1 1 8 73.0000 2.5722 280.4 4 1043.8 1043.8 0.28 -355. 0.25 1 .75 120. 65 

90 1 1 9 117.0000 4.1155 280.9 4 1067.0 1067.0 0.45 -395. 0.25 2 2.64 .22 180. 68 

90 1 110 141.0000 3.6011 283.7 3 1090.2 1090.2 0.39 -148. 0.25 0 0.0 .12 240. 62 

8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8

yr dy WD vect WS Temp rural urban u* L zo p precip. d2/dz p SW rh 

 mo hr stab zi zi code amt. rad. % 

MAR 2006 – CALPUFF 

F-103
Table F-7 

ISCMET.DAT File - Header Record 

Record 1. Surface and mixing height station numbers, and years.

Record Columns Variable Type Description

1 

1 

1 

1 22-27 

1-6 

8-13

15-20 

* 

* 

* 

* 

integer 

integer 

integer 

integer 

Surface station number. 

Surface station year. 

Mixing height station number.

Mixing height station year. 

* These variables are not interpreted in CALPUFF 

MAR 2006 – CALPUFF 

F-104
Table F-8 

ISCMET.DAT File - Data Records 

(One record per hour) 

Records 2,3,4,... Hourly meteorological data. 

Columns Variable Type Description

 Base Data

1-2 

3-4 

5-6 

7-8 

9-17

18-26 

27-32 

33-34 

35-41 

42-48 

IY 

IM

ID 

IH 

FVEC 

WSPD

TMPK 

KST 

RMIX 

UMIX

integer 

integer 

integer 

integer 

real 

real 

real 

integer 

real 

real 

Year of data in record

Month 

Day

Hour (ISC3 convention (1-24) at end of hour) 

Flow vector (deg.)

Wind speed (m/s) 

Temperature (deg. K) 

Stability class (1-6) 

Rural mixing height (m) 

Urban mixing height (m)

 Extended data

49-57 

58-67 

68-75 

76-79 

80-86 

87-96 

97-101

102-110

111-113

USTR 

XMON

Z0M 

IPC 

PMMHR 

DTHTD 

PLAW 

QSWRAD

real 

IRH 

real 

real 

real 

integer 

real 

real 

real 

integer 

Friction velocity (m/s) 

Monin-Obukhov length (m)

Surface roughness length (m) 

Precipitation type code 

0 - no precipitation 

1 to 18 - liquid precipitation 

19 to 45 - frozen precipitation 

Precipitation rate (mm/hr) 

Potential temperature lapse rate (deg. K/m)

Wind speed power law exponent

Short-wave solar radiation (W/m2

)

Relative humidity (%) 

MAR 2006 – CALPUFF 

F-105
F.2.3 PLMMET.DAT 

In addition to the capability to use three-dimensional wind fields generated by CALMET, a single-station 

meteorological file can also be used by CALPUFF as its source of meteorological data. One form of 

single station data accepted by CALPUFF is the AUSPLUME (Lorimer, 1976) type of data file. The 

standard AUSPLUME data file can be used without modification, although some CALPUFF options 

require additional meteorological variables that must be added as part of an extended data record. 

CALPUFF is normally run with a full three-dimensional wind field and temperature field, as well as twodimensional fields of mixing heights and other meteorological variables (see CALMET.DAT in Section 

F.2.1). However, in some near-field applications, when spatial variability of the meteorological fields 

may not be significant (e.g., uniform terrain and land use), the single-station data file may be used. In 

single station mode, CALPUFF assigns the single value of each variable read from the PLMMET.DAT 

file to all grid points, resulting in a spatially uniform gridded field. However, the model does not assume

the meteorological conditions are steady-state, which allows the important effects of causality to be 

simulated even with the single-station meteorological data. For example, the time required for plume 

material to reach a receptor is accounted for in the puff formulation, and curved trajectories and variable 

dispersion and stability conditions over multiple hours of transport will result even when using the singlestation meteorological data. However, in general, the preferred mode for most applications of CALPUFF 

is to use the spatially variable fields generated by CALMET.

The PLMMET.DAT file includes the basic hourly data required by CALPUFF, including the wind 

direction, wind speed, temperature, stability class, and mixing height. Note that PLMMET.DAT uses 

wind direction in the usual meteorological convention (i.e., winds from the west blowing toward the east 

has a value of 270E), while ISCMET.DAT uses flow vector (i.e., winds from the west toward the east 

have a vector direction of 90E). The PLMMET.DAT format also contains data for the horizontal 

component of turbulence (F2). If both components of turbulence are available, they should be entered 

through the use of the PROFILE.DAT data file (see Section F.2.4). Also, CALPUFF contains several 

options for modeling chemical transformation that do not involve the use of a decay constant.

The PLMMET.DAT format does not contain micrometeorological variables (the surface friction velocity

and Monin-Obukhov length), precipitation data, solar radiation, or relative humidity. The MoninObukhov length is inferred from the stability class and the surface roughness length using the Golder 

(1972) relations. The friction velocity can then be estimated from the surface-layer similarity wind 

profile equation. The remaining variables must be added to the standard file in an exended data record. 

These fields may remain blank if they are not needed for the CALPUFF options selected. Precipitation is 

needed for wet deposition modeling, and the solar radiation and humidity data are needed for chemical 

transformation calculations. 

Sample PLMMET.DAT files are shown in Tables F-9(a) and F-9(b). Part (a) of the table shows the 

standard AUSPLUME meteorological data record. The extended data record is shown in Part (b) of the 

MAR 2006 – CALPUFF 

F-106
table. A description of the contents of the header record is provided in Table F-10, and the data records 

are described in Table F-11. The header record contains an 80-character title of the data set. 

Note that other data associated with the PLMMET.DAT are provided in the CALPUFF.INP control file. 

These data include the anemometer height, surface roughness length, land use type, elevation, and leaf 

area index of the modeling region. The anemometer height is required in the vertical power law 

extrapolation of the wind speed. The roughness length is used to estimate the micrometeorological 

variables, the turbulence-based dispersion coefficients (when selected), and in the calculation of dry

deposition velocities. The land use category is used to determine if urban or rural dispersion coefficients 

are appropriate when the Pasquill-Gifford/McElroy-Pooler dispersion coefficients are used. Also see the 

variables IURB1 and IURB2 in Input Group 12 of the control file. They define the range of land use 

categories that are to be considered urban (i.e., if the value of the land use category in the PLMMET.DAT 

file is between IURB1 and IURB2, inclusive, the modeling domain will be consider urban). Otherwise, it 

will be considered rural. The leaf area index is only used by the model if dry deposition velocities are 

being computed. The elevation is used to fill the 2-D terrain elevation array in CALPUFF that is 

normally filled from the CALMET file. This array is used to determine, through interpolation, the 

elevation of the gridded receptors generated by the model as an option. Because a single value is 

available here, all of the gridded receptors will be assigned this elevation. Receptor-specific elevations 

are assigned to each discrete receptor by the user in the CALPUFF control file (see Input Group 17). 

MAR 2006 – CALPUFF 

F-107
Table F-9 

94010110 22 3.9 270 C 658 16. 0.19 0. 

94010108 21 4.6 270 D 301 12. 0. 1 .95 82. 76 

Sample PLMMET.DAT file 

(a) Base Data Records 

Sample PLMMET.DAT data file. Min. ws=1.0 m/s 

94010101 19 1.0 270 F 100 17. 0.55 .035 0. 

94010102 19 1.2 270 F 122 22. .030 0. 

94010103 20 1.5 270 F 132 18. 0. 

94010104 19 3.2 270 E 256 0.35 0. 

94010105 20 1.8 270 F 103 0.45 .031 0. 

94010106 20 3.3 270 E 201 0.32 .024 0. 

94010107 21 5.0 270 D 284 0.25 0. 

94010108 21 4.6 270 D 301 12. 0. 

94010109 22 3.5 270 D 525 11. 0. 

8 8 8 8 8 8 8 8 8 8 8 8 8

yr dy Temp WS WD zi F2 p d2/dz decay

 mo hr stab 

(b) Extended Data Records 

Sample PLMMET.DAT data file. Min. ws=1.0 m/s 

94010101 19 1.0 270 F 100 17. 0.55 .035 0. 0 0.0 0. 65 

94010102 19 1.2 270 F 122 22. .030 0. 0 0.0 0. 69 

94010103 20 1.5 270 F 132 18. 0. 0 0.0 0. 65 

94010104 19 3.2 270 E 256 0.35 0. 0 0.0 0. 66 

94010105 20 1.8 270 F 103 0.45 .031 0. 0 0.0 0. 69 

94010106 20 3.3 270 E 201 0.32 .024 0. 0 0.0 0. 73 

94010107 21 5.0 270 D 284 0.25 0. 1 1.80 11. 78 

94010109 22 3.5 270 D 525 11. 0. 0 0.0 116. 58 

94010110 22 3.9 270 C 658 16. 0.19 0. 0 0.0 250. 55 

8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8

yr dy Temp WS WD zi F2 p d2/dz decay p precip. SW rh

 mo hr stab code amount rad. %

MAR 2006 – CALPUFF 

F-108
Table F-10 

PLMMET.DAT File - Header Record 

Record 1. Title. 

Record Columns Variable Type Description

1 1-80 TITLE character*80 Title of file. 

MAR 2006 – CALPUFF 

F-109
Table F-11 

PLMMET.DAT File - Data Records 

(One record per hour) 

Records 2,3,4,... Hourly meteorological data. 

Columns Variable Type Description

 Base Data

1-2 

SIGTHA real 

3-4 

5-6 

7-8 

9-11

12-16 

17-20 

21-22 

23-27 

28-32 

33-37 

38-42 

43-52 

IY 

IM

ID 

IH 

TMPC 

WSPD

IWD

KST * 

ZMIX 

PLEXP 

PTGDF 

DECAY 

integer 

integer 

integer 

integer 

real 

real 

integer 

character

real 

real 

real 

real 

Year of data in record

Month 

Day

Hour (1-24) time at end of hour

Temperature (deg. C) 

Wind speed (m/s) 

Wind direction (deg.)

Stability class (A-F) 

Mixing height (m)

F2 (deg.). Or use PROFILE.DAT file

for turbulence measurements. 

Wind speed power law exponent

Potential temperature gradient (deg. K/m)

Decay constant (s-1). Not used by CALPUFF.

 Extended Data

53-55 

56-64 

65-73 

74-76 

IPC 

PMMHR 

QSWRAD

IRELHUM 

integer 

real 

real 

integer 

Precipitation type code

0 - no precipitation 

1 to 18 - liquid precipitation 

19 to 45 - frozen precipitation 

Precipitation rate (mm/hr)

Short-wave solar radiation (W/m2

)

Relative humidity (%) 

* KST is converted from character (A-F) to integer (1-6) 

MAR 2006 – CALPUFF 

F-110
F.2.4 SURFACE.DAT and PROFILE.DAT 

In addition to the capability to use three-dimensional wind fields generated by CALMET, a single-station 

meteorological file can also be used by CALPUFF as its source of meteorological data. One form of 

single station data accepted by CALPUFF is the CTDMPLUS (Perry et al., 1989) form. The standard 

meteorological data files SURFACE.DAT and PROFILE.DAT can be used without modification, 

although some CALPUFF options require additional meteorological variables that must be added as part 

of an extended data record to SURFACE.DAT. Unlike the other two types of single-station data 

described above, the PROFILE.DAT file contains a vertical profile of data each hour, rather than 

measurements made at a single height above ground. In this way, more detailed data from an on-site 

tower with supporting remote measurement platforms (e.g., SODAR) can be used to define the vertical 

structure of the flow. SURFACE.DAT contains calculated micrometeorological variables and the mixing 

height. 

CALPUFF is normally run with a full three-dimensional wind field and temperature field, as well as twodimensional fields of mixing heights and other meteorological variables (see CALMET.DAT in Section 

F.2.1). However, in some near-field applications, when spatial variability of the meteorological fields 

may not be significant (e.g., uniform terrain and land use), the single-station data file may be used. In 

single station mode, CALPUFF assigns the single value of each variable read from the file to all grid 

points, resulting in a spatially uniform gridded field. However, the model does not assume the

meteorological conditions are steady-state, which allows the important effects of causality to be simulated 

even with the single-station meteorological data. For example, the time required for plume material to 

reach a receptor is accounted for in the puff formulation, and curved trajectories and variable dispersion 

and stability conditions over multiple hours of transport will result even when using the single-station 

meteorological data. However, in general, the preferred mode for most applications of CALPUFF is to 

use the spatially variable fields generated by CALMET.

SURFACE.DAT is created by the CTDMPLUS meteorological preprocessor, and the user should consult 

the CTDMPLUS documentation to learn of its use and requirements. SURFACE.DAT includes hourly

mixing height, surface friction velocity, Monin-Obukhov length, and surface roughness. PROFILE.DAT 

is created directly by the user. In standard form, it includes the hourly wind direction, wind speed (vector 

and scalar), temperature, and turbulence (Fw, and either Fv or F2) at each measurement level. Note that 

PROFILE.DAT uses wind direction in the usual meteorological convention (i.e., winds from the west 

blowing toward the east has a value of 270E).

As an option, a non-standard, or extended version of PROFILE.DAT can also be used to provide the 

temperature jump across an inversion above a mixed layer. This jump is used as a measure of the strength 

of the temperature inversion when assessing the ability of a buoyant plume to penetrate the top of the 

mixed layer (for the partial penetration option: MPARTL = 1). When a positive temperature difference is 

provided at the end of the first record for the hour, CALPUFF will recognize it and use it. Otherwise, 

available temperature gradient data are used to estimate the inversion strength.

MAR 2006 – CALPUFF 

F-111
Precipitation data, solar radiation, and relative humidity are not required in CTDMPLUS. They may be 

added to SURFACE.DAT in an exended data record. These fields may remain blank if they are not 

needed for the CALPUFF options selected. Precipitation is needed for wet deposition modeling, and the 

solar radiation and humidity data are needed for chemical transformation calculations. 

Other data associated with the SURFACE.DAT and PROFILE.DAT are provided in the CALPUFF.INP 

control file. These data include the land use type, elevation, and leaf area index of the modeling region, 

and two control variables (ISIGMAV and IMIXCTDM). The land use category is used to determine if 

urban or rural dispersion coefficients are appropriate when the Pasquill-Gifford/McElroy-Pooler

dispersion coefficients are used during convective regimes. Also see the variables IURB1 and IURB2 in 

Input Group 12 of the control file. They define the range of land use categories that are to be considered 

urban (i.e., if the value of the land use category is between IURB1 and IURB2, inclusive, the modeling 

domain will be consider urban). Otherwise, it will be considered rural. The leaf area index is only used 

by the model if dry deposition velocities are being computed. The elevation is used to fill the 2-D terrain 

elevation array in CALPUFF that is normally filled from the CALMET file. This array is used to 

determine, through interpolation, the elevation of the gridded receptors generated by the model as an 

option. Because a single value is available here, all of the gridded receptors will be assigned this 

elevation. Receptor-specific elevations are assigned to each discrete receptor by the user in the 

CALPUFF control file (see Input Group 17). ISIGMAV indicates the form of the lateral turbulence data, 

and IMIXCTDM indicates which mixing height field (observed or calculated) is to be used. 

Sample SURFACE.DAT files are shown in Tables F-12(a) and F-12(b). Part (a) of the table shows the 

standard SURFACE.DAT data record. The extended data record is shown in Part (b) of the table. A 

sample PROFILE.DAT file is shown in Table F-13. Data records for SURFACE.DAT are described in 

Table F-14, and data records for PROFILE.DAT are described in Table F-15. Note that the year may be 

specified in either a YY (e.g., 94) or YYYY (e.g., 1994) format. The YY format is the original CTDM 

PLUS format. 

The PROFILE.DAT file may also be used in conjunction with the other meteorological data options in 

CALPUFF to provide measured turbulence data, or to provide the strength of the temperature inversion. 

When turbulence data are supplied, wind speeds should be provided in the file as well as the turbulence, 

so that conversions between Fv and F2 can be made.

MAR 2006 – CALPUFF 

F-112
Table F-12 

Sample SURFACE.DAT file 

(a) Base Data Records 

94 1 1 1 1 658. 30. 0.047 15.7 0.500E+00 

94 1 1 1 2 658. 37. 0.067 15.7 0.500E+00 

94 1 1 1 3 658. 35. 0.060 15.7 0.500E+00 

94 1 1 1 4 658. 33. 0.053 15.7 0.500E+00 

94 1 1 1 5 658. 30. 0.047 15.7 0.500E+00 

94 1 1 1 6 658. 35. 0.060 15.7 0.500E+00 

94 1 1 1 7 658. 125. 0.202 61.1 0.500E+00 

94 1 1 1 8 61. 44. 0.093 15.7 0.500E+00 

94 1 1 1 9 160. 44. 0.093 15.7 0.500E+00 

94 1 1 1 10 260. 858. 0.285 -143.0 0.500E+00 

8 8 8 8 8 8 8 8 8 8

Yr Dy Jul Hr Ziobs Zipre Ustar Monin Zo 

 Mo Dy Obukhov 

(b) Extended Data Records 

94 1 1 1 1 658. 30. 0.047 15.7 0.500E+00 0 0.0 0. 65 

94 1 1 1 2 658. 37. 0.067 15.7 0.500E+00 0 0.0 0. 69 

94 1 1 1 3 658. 35. 0.060 15.7 0.500E+00 0 0.0 0. 65 

94 1 1 1 4 658. 33. 0.053 15.7 0.500E+00 0 0.0 0. 66 

94 1 1 1 5 658. 30. 0.047 15.7 0.500E+00 0 0.0 0. 69 

94 1 1 1 6 658. 35. 0.060 15.7 0.500E+00 0 0.0 0. 73 

94 1 1 1 7 658. 125. 0.202 61.1 0.500E+00 1 1.80 0. 78 

94 1 1 1 8 61. 44. 0.093 15.7 0.500E+00 1 .95 0. 76 

94 1 1 1 9 160. 44. 0.093 15.7 0.500E+00 0 0.0 6. 58 

94 1 1 1 10 260. 858. 0.285 -143.0 0.500E+00 0 0.0 250. 55 

8 8 8 8 8 8 8 8 8 8 8 8 8 8

Yr Dy Jul Hr Ziobs Zipre Ustar Monin Zo p precip. SW rh 

 Mo Dy Obukhov code amount rad. %

MAR 2006 – CALPUFF 

F-113
Table F-13 

Sample PROFILE.DAT file 

(a) Base Data Records 

 94 1 1 1 2. 0 -999.9 -9.9 259.6 -99.9 -9.90 -999.9 

 94 1 1 1 10. 0 156.4 0.7 263.2 42.5 0.01 -999.9 

 94 1 1 1 40. 0 -999.9 -9.9 265.4 -99.9 -9.90 -999.9 

 94 1 1 1 70. 0 177.9 2.4 266.0 18.3 0.16 -999.9 

 94 1 1 1 100. 0 207.1 3.0 266.3 23.9 0.20 -999.9 

 94 1 1 1 120. 0 218.0 2.8 -999.9 -99.9 -9.90 -999.9 

 94 1 1 1 150. 0 233.0 4.3 -999.9 -99.9 -9.90 -999.9 

 94 1 1 1 180. 0 238.0 6.0 -999.9 -99.9 -9.90 -999.9 

 94 1 1 1 210. 1 242.0 7.2 -999.9 -99.9 -9.90 -999.9 

 94 1 1 2 2. 0 -999.9 -9.9 258.9 -99.9 -9.90 -999.9 

 94 1 1 2 10. 0 162.9 1.0 262.1 28.8 0.01 -999.9 

 94 1 1 2 40. 0 -999.9 -9.9 263.9 -99.9 -9.90 -999.9 

 94 1 1 2 70. 0 155.6 2.2 265.4 8.9 0.09 -999.9 

 94 1 1 2 100. 0 179.1 1.8 266.0 10.5 0.10 -999.9 

 94 1 1 2 120. 0 191.0 1.8 -999.9 -99.9 -9.90 -999.9 

 94 1 1 2 150. 0 224.0 2.2 -999.9 -99.9 -9.90 -999.9 

 94 1 1 2 180. 0 246.0 3.2 -999.9 -99.9 -9.90 -999.9 

 94 1 1 2 210. 0 259.0 4.7 -999.9 -99.9 -9.90 -999.9 

 94 1 1 2 240. 0 265.0 6.1 -999.9 -99.9 -9.90 -999.9 

 94 1 1 2 270. 0 268.0 7.3 -999.9 -99.9 -9.90 -999.9 

(b) Extended Data Records 

 94 1 1 13 100. 0 185.3 2.7 274.1 14.0 0.10 -999.9 

 8 8 8 8 8 8 8 8 8 8 8 8

 Yr Mo Dy Hr Z Ilast WD WS Temp Fv Fw WS

 Scalar Vector 

 94 1 1 13 2. 0 -999.9 -9.9 275.8 -99.9 -9.90 -999.9 .18 

 94 1 1 13 10. 0 162.9 0.9 275.6 51.6 0.03 -999.9 

 94 1 1 13 40. 0 -999.9 -9.9 274.6 -99.9 -9.90 -999.9 

 94 1 1 13 70. 0 176.5 2.6 274.4 8.9 0.11 -999.9 

 94 1 1 13 120. 0 194.0 2.0 -999.9 -99.9 -9.90 -999.9 

 94 1 1 13 150. 0 225.0 1.8 -999.9 -99.9 -9.90 -999.9 

 94 1 1 13 180. 0 259.0 2.3 -999.9 -99.9 -9.90 -999.9 

 94 1 1 13 210. 1 269.0 3.5 -999.9 -99.9 -9.90 -999.9 

 94 1 1 14 2. 0 -999.9 -9.9 275.8 -99.9 -9.90 -999.9 

 94 1 1 14 10. 0 162.9 0.9 275.6 51.6 0.03 -999.9 

 94 1 1 14 40. 0 -999.9 -9.9 274.6 -99.9 -9.90 -999.9 

 94 1 1 14 70. 0 176.5 2.6 274.4 8.9 0.11 -999.9 

 94 1 1 14 100. 0 185.3 2.7 274.1 14.0 0.10 -999.9 

 94 1 1 14 120. 0 194.0 2.0 -999.9 -99.9 -9.90 -999.9 

 94 1 1 14 150. 0 225.0 1.8 -999.9 -99.9 -9.90 -999.9 

 94 1 1 14 180. 0 259.0 2.3 -999.9 -99.9 -9.90 -999.9 

 94 1 1 14 210. 1 269.0 3.5 -999.9 -99.9 -9.90 -999.9 

 94 1 1 15 2. 0 -999.9 -9.9 275.8 -99.9 -9.90 -999.9 .5 

 94 1 1 15 10. 0 162.9 0.9 275.6 51.6 0.03 -999.9 

 94 1 1 15 40. 0 -999.9 -9.9 274.6 -99.9 -9.90 -999.9 

 94 1 1 15 70. 0 176.5 2.6 274.4 8.9 0.11 -999.9 

 94 1 1 15 100. 0 185.3 2.7 274.1 14.0 0.10 -999.9 

 8 8 8 8 8 8 8 8 8 8 8 8 8

 Yr Mo Dy Hr Z Ilast WD WS Temp Fv Fw WS )T at

 Scalar Vector Inversion

MAR 2006 – CALPUFF 

F-114
Table F-14 

SURFACE.DAT File - Data Records 

(One record per hour) 

Records 1,2,3,... Hourly meteorological data. 

Columns Variable Type Description 

 Base Data

* 

* 

* 

* 

* 

* 

* 

* 

* 

* 

IY 

IM

ID 

IJUL 

IH 

ZIOBS 

ZIPRE 

USTR 

XMON

Z0M 

integer 

integer 

integer 

integer 

integer 

real 

real 

real 

real 

real 

Year of data in record (YY or YYYY format) 

Month 

Day

Julian day (1-366) 

Hour (1-24) at end of hour

Observed mixing height (m) 

Calculated mixing height (m) 

Surface friction velocity (m/s) 

Monin-Obukhov length (m)

Hourly surface roughness length (m) 

 Extended Data

* 

* 

* 

* 

IPC 

real 

Precipitation type code

1 to 18 - liquid precipitation 

PMMHR 

QSWRAD

IRELHUM 

integer 

real 

integer 

0 - no precipitation 

19 to 45 - frozen precipitation 

Precipitation rate (mm/hr)

Short-wave solar radiation (W/m2

)

Relative humidity (%) 

 * Free format 

MAR 2006 – CALPUFF 

F-115
Table F-15 

PROFILE.DAT File - Data Records 

(One or more records per hour) 

Records 1,2,3,... Hourly meteorological data. 

Columns Variable Type Description 

 Base Data 

* 

* 

* 

IM

Ambient dry bulb temperature (K) 

* 

* 

* 

* 

* 

* 

* 

* 

* 

IY 

ID 

IH 

ZPRF 

ILAST 

WDPRF 

SSPRF 

TPRF 

SVPRF 

SWPRF 

WSPRF 

integer 

integer 

integer 

integer 

real 

integer 

real 

real 

real 

real 

real 

real 

Year of data in record (YY or YYYY format) 

Month 

Day

Hour (1-24) time at end of hour

Height of measurement above ground (m) 

0 if not the highest (last) level; otherwise 1

Wind direction (deg.)

Scalar wind speed (m/s) 

F2 (deg.) or Fv (m/s)

Fw (m/s)

Vector wind speed (m/s) 

Extended Data

* DPTINV real Increase in potential temperature across the inversion at 

the top of the mixed layer (K); only on first record each 

hour

 * Free format, one record per height in ascending order 

MAR 2006 – CALPUFF 

F-116
F.3 Point Source Emissions File With Arbitrarily Varying Emissions (PTEMARB.DAT) 

The PTEMARB.DAT file contains point source emissions data for sources with detailed, arbitrarily

varying emissions parameters. In the PTEMARB.DAT file, values for the stack parameters and emission 

rates can be specified for each time step in the run. Plume rise is computed within the CALPUFF model 

for each source. 

PTEMARB.DAT may be provided as either a sequential unformatted data file, or as a free-formatted 

ASCII data file (see Table F-16 for an example). Both of these use the same record structure consisting 

of four header records, followed by a set of data records containing time-invariant source information, 

and a set of records for the time-varying data. The time-invariant records contain the stack height, 

diameter, coordinates, building downwash flag, vertical momentum flux factor, one user-defined optional 

descriptive code for each source, and controlling building heights and widths (36 values for every 10E) 

for each source identified by the building downwash flag. The time varying emissions and stack 

parameter data follow in subsequent records. One data record per source is required for each time period 

(e.g.,usually at hourly intervals). 

Multiple PTEMARB.DAT files may be provided if groups of sources possess very different timevariability. For example, group 1 may require hourly data records for the entire simulation period, while 

group 2 may produce emissions for only a few weeks during the simulation. Using a second file for 

group 2 is more economical to prepare because a single data record can be used to prescribe a long period 

with no (or constant) emissions. Each such file must cover the entire modeling period, no source may

appear in more than one file, and the species list must be identical among these files. 

The data in the PTEMARB.DAT file are independent of the horizontal and vertical grid systems being 

used in the model. The horizontal coordinates are specified in terms of the meteorological grid projection 

(UTM or Lambert conformal coordinates). The vertical layers receiving the emissions of the source are 

based on the plume rise of the source computed internally by the model. However, the PTEMARB.DAT 

file does contain time-dependent data specifying the emission parameters for a particular time period. 

NOTE: There are structural differences between the PTEMARB.DAT file accepted by the current 

version of CALPUFF and that accepted by earlier versions, so anyone familiar with the previous versions 

must be certain to review the contents of the next few pages! CALPUFF will test the variable VRS2 

contained in the header of PTEMARB.DAT to see that it identifies the correct version. If the file uses an 

older format, changing VRS2 to the correct value will disable this check, and the results of the CALPUFF 

application may be in error. Do not use an “old” version of this data file unless you are certain that the 

format is correct.

MAR 2006 – CALPUFF 

F-117
Table F-16 

Sample PTEMARB.DAT file 

 

'PTEMARB' 3 2 16 1988011 1 1988012 0 '5.4' 'EXAMPLE' 

 18.590 18.590 18.590 18.590 18.590 18.590 

'Source 2' 380.4 8.66 0.0 0.0 0.0 0.0 

'Source 1' 277.97 8.41 0.0 0.0 0.430570E+01 0.207542E+02 

 1988012 0 1988012 0 

'30.0N' '60.0N' '40.5N' '90.0W' 

'POL1' 'POL2' 

 30.000 30.000 

'Source 1' 0.13489 0.00360 18.600 9.754 88.70 1.00 1.00 0.00 

 18.590 18.590 18.590 27.430 28.960 14.330 

 18.590 18.590 18.590 18.590 28.960 18.590 

 18.590 18.590 18.590 18.590 18.590 18.590 

 18.590 18.590 18.590 27.430 28.960 28.960 

 28.960 28.960 28.960 28.960 28.960 18.590 

 19.010 26.080 22.550 96.020 88.200 14.330 

 14.200 18.480 22.160 25.660 85.390 20.820 

 21.590 21.690 22.250 22.320 21.720 20.450 

 19.010 26.080 22.550 53.360 88.200 87.590 

 84.330 85.190 87.930 88.000 85.390 20.820 

 21.590 21.690 22.250 22.320 21.720 20.450 

'Source 2' 0.07380 -0.00280 50.100 4.251 88.70 0.00 1.0 0.00 

'Source 3' 0.01272 -0.00919 35.850 3.100 88.70 0.00 1.0 0.00 

 1988011 1 1988011 1 

'Source 1' 280.55 8.66 0.0 0.0 0.468814E+01 0.202236E+02 

'Source 2' 380.4 8.66 0.0 0.0 610. 120. 

'Source 3' 280.55 2.66 0.0 0.0 0.468814E+01 0.202236E+02 

 1988011 2 1988011 2 

'Source 1' 279.27 8.50 0.0 0.0 0.449538E+01 0.204942E+02 

'Source 3' 279.27 2.66 0.0 0.0 0.449538E+01 0.204942E+02 

 1988011 3 1988011 3 

'Source 1' 279.26 8.50 0.0 0.0 0.449753E+01 0.204895E+02 

'Source 2' 380.4 8.66 0.0 0.0 0.0 

'Source 3' 279.26 2.66 0.0 0.0 0.449753E+01 0.204895E+02 

 1988011 4 1988011 23 

'Source 2' 380.4 8.66 0.0 0.0 0.0 0.0 

'Source 3' 277.97 2.66 0.0 0.0 0.430570E+01 0.207542E+02 

'Source 1' 285.82 8.90 0.0 0.0 0.553510E+01 0.189712E+02 

'Source 2' 380.4 8.66 0.0 0.0 610. 120. 

'Source 3' 285.82 2.66 0.0 0.0 0.553510E+01 0.189712E+02 

MAR 2006 – CALPUFF 

F-118
PTEMARB.DAT File - Header Records

The header records of the PTEMARB.DAT file (see Table F-17) contain the number of sources, starting 

and ending time periods of data in the file, and a list of the emitted species. Sample Fortran read 

statements for the unformatted file are: 

 READ(iunit)FNAME2,NSRC2,NSE2,IUTMZ2,IBDAT2,IBTIM2,IEDAT2,

 1 IETIM2,VRS2,LABEL2 

 READ (iunit)CLAT1,CLAT2,CLAT0,CLON0 

 READ(iunit)CSLST2 

 READ(iunit)XMWEM2 

where the following declarations apply:

 CHARACTER*12 FNAME2,VRS2,LABEL2,CSLST2(nse2) 

 CHARACTER*16 CLAT1,CLAT2,CLAT0,CLON0 

 REAL XMWEM2(nse2)

 

MAR 2006 – CALPUFF 

F-119
Table F-17 

PTEMARB.DAT - Header Record 1 - General Data 

No. Variable Typea Description Sample

Values 

1 FNAME2 C*12 Data set name PTEMARB

2 NSRC2 integer Number of sources in the file 10

(00-23, LST; end of hour)

23 

3 NSE2 integer Number of species emitted 3

4 IUTMZ2 integer UTM zone in which source coordinates are specified 

(enter 0 if using Lambert conformal coordinates) 

11 

5 IBDAT2 integer Date of beginning of data in the file (YYYYJJJ, where 

YYYY=year, JJJ=Julian day) 

1984220

6 IBTIM2 integer Hour of beginning of data in the file 00 

7 IEDAT2 integer Date of end of data in the file 

(YYYYJJJ, where YYYY=year, JJJ=Julian day)

1984224

8 IETIM2 integer Hour of end of data in the file 

(00-23, LST; end of hour)

9 VRS2 C*12 Data set version 5.4

10 LABEL2 C*12 Data set label Major pts.

a C*12 = Character*12

(Note: YYJJJ date format formerly used is also accepted.) 

MAR 2006 – CALPUFF 

F-120
Table F-17 (Continued) 

PTEMARB.DAT - Header Record 2 - Lambert Conformal Data

No. Variable Typea Description Sample

Values 

1 CLAT1 C*16 Standard parallel #1 for LC map (degrees latitude) 30.0N 

2 

40.5N 

Longitude (degrees) of origin of LC map 

a C*16 = Character*16

CLAT2 C*16 Standard parallel #2 for LC map (degrees latitude) 60.0N 

3 CLAT0 C*16 Latitude (degrees) of origin of LC map 

4 CLON0 C*16 90.0W 

MAR 2006 – CALPUFF 

F-121
Table F-17 (Continued) 

PTEMARB.DAT - Header Record 3 - Species List 

No.* Typea Description Sample Values

1 C*12 Species identifier for species 1 SO2 

2 C*12 Species identifier for species 2 SO4 

. . . .

. . . .

. . . .

NSE2 C*12 Species identifier for species "NSE2" NOX

* "NSE2" elements of CSLST2 array a C*12 = Character*12

MAR 2006 – CALPUFF 

F-122
Table F-17 (Concluded) 

PTEMARB.DAT - Header Record 4 - Molecular Weights 

No.* Typea Description Sample Values

1 real Molecular weight for species 1 64. (SO2) 

2 real Molecular weight for species 2 96. (SO4) 

. . . .

. . . .

. . . .

NSE2 real Molecular weight for species "NSE2" 46. (NOX as NO2)

* "NSE2" elements of XMWEM2 array

MAR 2006 – CALPUFF 

F-123
PTEMARB.DAT File - Data Records

The PTEMARB.DAT file contains two types of data records. A set of time-invariant records (see Table 

F-18) are read after the header records. These records specify the time-invariant source parameters, 

including the source coordinates, stack height, diameter, momentum flux factor, and building data for 

sources subject to building downwash. The vertical momentum flux factor may be either 1.0 (full vertical 

momentum flux), or 0.0 (no vertical momentum). Use 0.0 to simulate the effect of stack structures like 

rainhats. A set of time-varying data follows (see Table F-19). The time-varying records contain the stack 

temperature, exit velocity, initial plume size (Fy and Fz), and emission rate for each species.

Sample Fortran read statements for time-invariant data records in the unformatted file are: 

+)))QLoop over sources 

*

* READ(iunit)CID,TIDATA

* READ(iunit)BHT (only if TIDATA(6) = 1) 

* READ(iunit)BWD (only if TIDATA(6) = 1) 

*

.)))QEnd loop over sources 

where the following declarations apply:

CHARACTER*16 CID 

REAL TIDATA(8), BHT(36), BWD(36) 

Sample Fortran read statements for time-varying data records in the unformatted file are: 

+)))QLoop over time periods 

*

* READ(iunit)IBDAT,IBTIM,IEDAT,IETIM 

* 

* +)))QLoop over sources 

* *

* * READ(iunit)CID,TEMPK,VEXIT,SIGY,SIGZ,QEMIT

* *

* .)))QEnd loop over sources 

*

.)))QEnd loop over time periods

where the following declarations apply:

 CHARACTER*16 CID 

 REAL QEMIT(nse2) 

MAR 2006 – CALPUFF 

F-124
Table F-18 

PTEMARB.DAT - Time-Invariant Data Record Contents 

(Repeated for each source)

Data Record 

No. 

Variable 

No. 

Variable Type

a Description 

1 1 CID C*16 Source identifier (16 characters = 4 words) 

1 2 TIDATA(1) real Easting UTM or Lambert conformal coordinate

(km) of the source 

1 3 TIDATA(2) real Northing UTM or Lambert conformal coordinate

(km) of the source 

1 4 TIDATA(3) real Stack height (m)

1 5 TIDATA(4) real Stack diameter (m)

1 6 TIDATA(5) real Stack base elevation (m) 

1 7 TIDATA(6) real Building downwash flag (0 = no, 1 = yes)

1 8 TIDATA(7) real Vertical momentum flux factor (0.0 or 1.0) to

simulate structures like rain hats 

1 9 TIDATA(8) real User defined flag (e.g., fuel code) 

2b 1-36 BHT real Controlling building heights (m) for each 10E flow

direction, starting 10E from North 

3b 1-36 BWD real Controlling building width (m) for each 10E flow

direction, starting 10E from North 

a

 C*16 = Character*16

b

 Time-invariant data Records 2 and 3 are provided only for those sources identified as being subject to building

downwash

MAR 2006 – CALPUFF 

F-125
Table F-19 

PTEMARB.DAT - Time-Varying Data Record Contents 

(First record of "NSRC2"+1 records required for each time period) 

No. Variable Type Description

1 IBDAT integer Beginning date for which data in this set is valid (YYYYJJJ, 

where YYYY=year, JJJ=Julian day) 

2 IBTIM integer Beginning hour for which data in this set is valid 

(00-23, LST; end of hour)

3 IEDAT integer Ending date for which data in this set is valid (YYYYJJJ, where 

YYYY=year, JJJ=Julian day) 

4 IETIM integer Ending hour for which data in this set is valid (00-23, LST; end

of hour)

Example: 

Data on each record is valid for 1 hour: 

 IBDAT=1989183,IBTIM=00,IEDAT=1989183,IETIM=00 

 IBDAT=1989183,IBTIM=01,IEDAT=1989183,IETIM=01 

 IBDAT=1989183,IBTIM=02,IEDAT=1989183,IETIM=02 

Data on each record is valid for 3 hours:

 IBDAT=1989183,IBTIM=00,IEDAT=1989183,IETIM=02 

 IBDAT=1989183,IBTIM=03,IEDAT=1989183,IETIM=05 

 IBDAT=1989183,IBTIM=06,IEDAT=1989183,IETIM=08 

(Note: YYJJJ date format formerly used is also accepted.) 

MAR 2006 – CALPUFF 

F-126
Table F-19 (Concluded) 

PTEMARB.DAT - Time-Varying Data Record Contents 

(Next "NSRC2" records) 

No. Variable Typea Description

1 CID C*16 Source identifier (must match values in time-invariant records) 

2 TEMPK real Exit temperature (deg. K) 

3 VEXIT real Exit velocity (m/s) 

 4 SIGY real Initial sigma-y (m) for source 

 5 SIGZ real Initial sigma-z (m) for source 

Next 

NSE2

QEMIT real array Emission rates (g/s) for each species in the order specified in

Header Record 2

a

C*16 = Character*16

MAR 2006 – CALPUFF 

F-127
F.4 Buoyant Area Source Emissions File With Arbitrarily Varying Emissions (BAEMARB.DAT) 

The BAEMARB.DAT file contains buoyant area source emissions data for sources with detailed, 

arbitrarily varying emissions parameters. This file can be generated from the output of the Forest 

Service's Emissions Production Model (EPM) using a reformatting and preprocessing program provided 

with CALPUFF. In the BAEMARB.DAT file, values for the source parameters and emission rates can be 

specified for each time step in the run. Plume rise is computed within the CALPUFF model for each 

source using the numerical plume rise algorithm.

BAEMARB.DAT is a free-formatted ASCII data file (see Table F-20 for an example) consisting of four 

header records, followed by a set of data records containing source information. The time-invariant data 

records contain character source identifiers and units labels . The time varying emissions and source 

parameter data follow in subsequent records. One data record per source is required for each time period 

(e.g.,usually at hourly intervals). 

Multiple BAEMARB.DAT files may be provided if groups of sources possess very different timevariability. For example, group 1 may require hourly data records for the entire simulation period, while 

group 2 may produce emissions for only a few weeks during the simulation. Using a second file for 

group 2 is more economical to prepare because a single data record can be used to prescribe a long period 

with no (or constant) emissions. Each such file must cover the entire modeling period, no source may

appear in more than one file, and the species list must be identical among these files. 

The data in the BAEMARB.DAT file are independent of the horizontal and vertical grid systems being 

used in the model. The horizontal coordinates are specified in terms of UTM or Lambert conformal 

coordinates. The vertical layers receiving the emissions of the source are based on the plume rise of the 

source computed internally by the model. However, the BAEMARB.DAT file does contain timedependent data specifying the emission parameters for a particular time period. 

NOTE: There are structural differences between the BAEMARB.DAT file accepted by the current 

version of CALPUFF and that accepted by earlier versions, so anyone familiar with the previous versions 

must be certain to review the contents of the next few pages! CALPUFF will test the variable VRS3 

contained in the header of BAEMARB.DAT to see that it identifies the correct version. If the file uses an 

older format, changing VRS3 to the correct value will disable this check, and the results of the CALPUFF 

application may be in error. Do not use an “old” version of this data file unless you are certain that the 

format is correct.

MAR 2006 – CALPUFF 

F-128
Table F-20 

Sample BAEMARB.DAT file 

'BAEMARB' 3 3 0 1995001 0 1995142 12 '5.4' 'NOX_FIRE_RUN' 

'30.0N' '60.0N' '40.5N' '90.0W' 

'SO2' 'NO' 'NO2' 

 64.0000 30.0000 46.0000 

'Fire_Number_1' 'g/s' '0.0' '0.0' 

'Fire_Number_2' 'g/s' '0.0' '0.0' 

'Fire_Number_3' 'g/s' '0.0' '0.0' 

 1995001 0 1995142 10 

'Fire_Number_1' -84.8600 -84.7423 -84.7423 -84.8600 

 -254.620 -254.620 -254.502 -254.502 1.00000 

 2259.00 1126.35 5.76000 7.98000 10.0000 

 0.000000 0.000000 0.000000 

'Fire_Number_2' -167.190 -167.029 -167.029 -167.190 

 29.0900 29.0900 29.2514 29.2514 1.00000 

 1545.00 1126.35 2.97000 20.5500 10.0000 

 0.000000 0.000000 0.000000 

'Fire_Number_3' -65.0600 -64.9668 -64.9668 -65.0600 

 -88.9500 -88.9500 -88.8568 -88.8568 1.00000 

 1527.00 1126.35 19.1300 3.92000 10.0000 

 0.000000 0.000000 0.000000 

 1995142 11 1995142 11 

'Fire_Number_1' -84.8600 -84.7423 -84.7423 -84.8600 

 -254.620 -254.620 -254.502 -254.502 1.00000 

 2259.00 1126.35 5.76000 7.98000 10.0000 

 0.000000 3.94435 0.672000 

'Fire_Number_2' -167.190 -167.029 -167.029 -167.190 

 29.0900 29.0900 29.2514 29.2514 1.00000 

 1545.00 1126.35 2.97000 20.5500 10.0000 

 0.000000 155.367 26.4700 

'Fire_Number_3' -65.0600 -64.9668 -64.9668 -65.0600 

 -88.9500 -88.9500 -88.8568 -88.8568 1.00000 

 1527.00 1126.35 19.1300 3.92000 10.0000 

 0.000000 0.000000 0.000000 

 1995142 12 1995142 12 

'Fire_Number_1' -84.8600 -84.6562 -84.6562 -84.8600 

 -254.620 -254.620 -254.416 -254.416 1.00000 

 2259.00 1126.35 5.76000 11.2800 10.0000 

 0.000000 11.8389 2.01700 

'Fire_Number_2' -167.190 -166.910 -166.910 -167.190 

 29.0900 29.0900 29.3695 29.3695 1.00000 

 1545.00 1126.35 2.97000 29.0600 10.0000 

 0.000000 466.102 79.4100 

'Fire_Number_3' -65.0600 -64.9668 -64.9668 -65.0600 

 -88.9500 -88.9500 -88.8568 -88.8568 1.00000 

 1527.00 1126.35 19.1300 3.92000 10.0000 

 0.000000 0.000000 0.000000 

MAR 2006 – CALPUFF 

F-129
BAEMARB.DAT File - Header Records

The header records of the BAEMARB.DAT file (see Table F-21) contain the number of sources, starting 

and ending time periods of data in the file, and a list of the emitted species. Sample Fortran read 

statements are: 

 READ(iunit,*)FNAME3,NSRC3,NSE3,IUTMZ3,IBDAT3,IBTIM3,IEDAT3,

 1 IETIM3,VRS3,LABEL3 

 READ(iunit,*)CLAT1,CLAT2,CLAT0,CLON0 

 READ(iunit,*)CSLST3 

 READ(iunit,*)XMWEM3 

where the following declarations apply:

 CHARACTER*12 FNAME3,VRS3,LABEL3,CSLST3(nse3) 

 CHARACTER*16 CLAT1,CLAT2,CLAT0,CLON0 

 REAL XMWEM3(nse3)

MAR 2006 – CALPUFF 

F-130
Table F-21 

BAEMARB.DAT - Header Record 1 - General Data

No. Variable Typea Description Sample

Values

1 FNAME3 C*12 Data set name BAEMARB

2 NSRC3 integer Number of sources in the file 10

3 NSE3 integer Number of species emitted 3

4 IUTMZ3 integer UTM zone in which source coordinates are specified 

(enter 0 is using Lambert conformal coordinates) 

11 

5 IBDAT3 integer Date of beginning of data in the file (YYYYJJJ, where 

YYYY=year, JJJ=Julian day) 

1984220

6 IBTIM3 integer Hour of beginning of data in the file

(00-23, LST; end of hour)

00 

7 IEDAT3 integer Date of end of data in the file 

(YYYYJJJ, where YYYY=year, JJJ=Julian day)

1984224

8 IETIM3 integer Hour of end of data in the file 

(00-23, LST; end of hour)

23 

9 VRS3 C*12 Data set version 5.4

10 LABEL3 C*12 Data set label Burn #1

a

 C*12 = Character*12 

(Note: YYJJJ date format formerly used is also accepted.) 

MAR 2006 – CALPUFF 

F-131
Table F-21 (Continued) 

BAEMARB.DAT - Header Record 2 - Lambert Conformal Data

No. Variable Typea Description Sample

Values 

1 CLAT1 C*16 Standard parallel #1 for LC map (degrees latitude) 30.0N 

2 CLAT2 C*16 Standard parallel #2 for LC map (degrees latitude) 60.0N 

3 CLAT0 C*16 Latitude (degrees) of origin of LC map 40.5N 

4 CLON0 C*16 Longitude (degrees) of origin of LC map 90.0W 

a C*16 = Character*16

MAR 2006 – CALPUFF 

F-132
Table F-21 (Continued) 

BAEMARB.DAT - Header Record 3 - Species List 

No.* Type

a Description Sample Values

1 C*12 Species identifier for species 1 PM 

2 C*12 Species identifier for species 2 PM10 

. . . .

. . . .

. . . .

NSE3 C*12 Species identifier for species "NSE3" PM25 

*

 "NSE3" elements of CSLST3 array a

 C*12 = Character*12 

MAR 2006 – CALPUFF 

F-133
Table F-21 (Concluded) 

BAEMARB.DAT - Header Record 4 - Molecular Weights 

No.

* Typea Description Sample Values

1 real Molecular weight for species 1 200. 

2 real Molecular weight for species 2 200. 

. . . .

. . . .

. . . .

NSE3 real Molecular weight for species 

"NSE3" 

200. 

*

 "NSE3" elements of XMWEM3 array 

MAR 2006 – CALPUFF 

F-134
BAEMARB.DAT File - Data Records

The BAEMARB.DAT file contains two types of data records. A set of time-invariant records (see Table 

F-22) are read after the header records. These records specify the time-invariant source names and the 

emissions units for each source. The units must be either 'g/m2/s' or 'g/s', no other character strings will 

be accepted. Two additional fields are read as real variables, but are not used in the current version of the 

model. A set of time-varying data follows (see Table F-23). The time-varying records contain the 

coordinates of four vertices that define the perimeter of the source, effective release height, ground 

elevation, temperature, effective vertical velocity, effective radius, initial vertical spread, and an emission 

rate for each species. Note that the four vertices must be centered in sequence around the perimeter; all 

four "x" coordinates followed by all four "y" coordinates. 

Sample Fortran read statements for time-invariant data records are:

+)))QLoop over sources 

*

* READ(iunit,*)CID,BAEMUNIT,TIDATA

*

.)))QEnd loop over sources 

where the following declarations apply:

CHARACTER*16 CID,BAEMUNIT 

 REAL VERTX(4),VERTY(4)

REAL TIDATA (2)

Sample Fortran read statements for time-varying data records are:

+)))QLoop over time periods 

*

* READ(iunit,*)IBDAT,IBTIM,IEDAT,IETIM 

* 

* +)))QLoop over sources 

* *

* * READ(iunit,*)CID,VERTX,VERTY,HT,ELEV,TEMPK,WEFF,REFF,SIGZ,QEMIT

* *

* .)))QEnd loop over sources 

*

.)))QEnd loop over time periods

where the following declarations apply:

 CHARACTER*16 CID 

 REAL QEMIT(nse3) 

MAR 2006 – CALPUFF 

F-135
Table F-22 

BAEMARB.DAT - Time-Invariant Data Record Contents 

(Repeated for each source)

No. Variable

No. 

Variable Type

a Description

1 1 CID C*16 Source identifier (16 characters = 4 words) 

1 2 BAEMUNIT C*16 Source Emission Rate Units (`g/m2/sr or

`g/sr) 

1 3 TIDATA(1) real User defined flag (not used) 

1 4 TIDATA(2) real User defined flag (not used) 

a

 C*16 = Character*16 

MAR 2006 – CALPUFF 

F-136
Table F-23 

Variable

BAEMARB.DAT - Time-Varying Data Record Contents 

(First record of "NSRC3"+1 records required for each time period) 

No. Type Description

1 IBDAT integer Beginning date for which data in this set is valid (YYYYJJJ, 

where YYYY=year, JJJ=Julian day) 

2 IBTIM integer Beginning hour for which data in this set is valid 

(00-23, LST; end of hour)

3 IEDAT integer Ending date for which data in this set is valid (YYYYJJJ, where 

YYYY=year, JJJ=Julian day) 

4 IETIM integer Ending hour for which data in this set is valid (00-23, LST; end

of hour)

Example: 

Data on each record is valid for 1 hour: 

 IBDAT=1989183,IBTIM=00,IEDAT=1989183,IETIM=00 

 IBDAT=1989183,IBTIM=01,IEDAT=1989183,IETIM=01 

 IBDAT=1989183,IBTIM=02,IEDAT=1989183,IETIM=02 

Data on each record is valid for 3 hours:

 IBDAT=1989183,IBTIM=00,IEDAT=1989183,IETIM=02 

 IBDAT=1989183,IBTIM=03,IEDAT=1989183,IETIM=05 

 IBDAT=1989183,IBTIM=06,IEDAT=1989183,IETIM=08 

(Note: YYJJJ date format formerly used is also accepted.) 

MAR 2006 – CALPUFF 

F-137
Table F-23 (Concluded) 

BAEMARB.DAT - Time-Varying Data Record Contents 

(Next "NSRC3" records) 

No. Variable Typea Description

1 CID C*16 Source identifier (must match values in time-invariant records) 

2–5 VERTX real array X-coordinate (km) of each of the four vertices defining the 

perimeter of the area source 

6–9 VERTY real array

ELEV

Y-coordinate (km) of each of the four vertices defining the 

perimeter of the area source 

10 HT real Effective height (m) of the emissions above the ground 

11 real Elevation of ground (m MSL) 

12 TEMPK real Temperature (deg. K) 

13 WEFF real Effective rise velocity (m/s) 

14 REFF real Effective radius (m) for rise calculation 

15 SIGZ real Initial vertical spread (m) 

Next 

NSE3

QEMIT real array Emission rates (g/s or g/m2

/s) for each species in the order 

specified in Header Record 2 

a

C*16 = Character*16 

MAR 2006 – CALPUFF 

F-138
F.5 Line Source Emissions File With Arbitrarily Varying Emissions (LNEMARB.DAT) 

The LNEMARB.DAT file contains line source emissions data for sources with detailed, arbitrarily

varying emissions parameters. In the LNEMARB.DAT file, values for the source parameters and 

emission rates can be specified for each time step in the run. Plume rise is computed within the

CALPUFF model for groups of line sources using the buoyant line source algorithm.

LNEMARB.DAT is a free-formatted ASCII data file (see Table F-24 for an example) consisting of three 

header records, followed by a set of data records containing source information. The time-invariant data 

records contain character source identifiers for each of the individual lines, and parameters that control 

how all lines are processed. The time varying emissions and source parameter data follow in subsequent 

records. One data record per line source in each group is required for each time period (e.g., usually at 

hourly intervals). CALPUFF interprets the times obtained from the LNEMARB.DAT file as marking the 

end of the hour (e.g., 89104, hour 00 denotes the last hour of Julian day 103 in the year 1989.)

The data in the LNEMARB.DAT file are independent of the horizontal and vertical grid systems being 

used in the model. The horizontal coordinates are specified in terms of UTM or Lambert conformal 

coordinates. The vertical layers receiving the emissions of the source are based on the plume rise of the 

source computed internally by the model. However, the LNEMARB.DAT file does contain timedependent data specifying the emission parameters for a particular time period. 

MAR 2006 – CALPUFF 

F-139
Table F-24 

Sample LNEMARB.DAT file 

'LNEMARB' 2 1 12 1988001 01 1989001 00 '5.4' 'Example' 

'30.0N' '60.0N' '40.5N' '90.0W' 

'SO2' 

64. 

7 6 

'Line_Source_1' 'Line_Source_2' 

1988001 01 1988001 07 

1 

2 500. 22. 18. 3.2 22. 100. 

'Line_Source_1' 1. 3. 1.5 3. 22. 0. 1.3 

'Line_Source_2' 1. 3.022 1.5 3.022 22. 0. 3.1 

1988001 08 1988001 13 

1 

2 500. 22. 18. 3.2 22. 300. 

'Line_Source_1' 1. 3. 1.5 3. 22. 0. 2.3 

'Line_Source_2' 1. 3.022 1.5 3.022 22. 0. 3.1 

'Line_Source_2' 1. 3.022 1.5 3.022 22. 0. 2.3 

1988001 14 1988001 23 

1 

2 500. 22. 18. 3.2 22. 150. 

'Line_Source_1' 1. 3. 1.5 3. 22. 0. 1.3 

1988002 00 1989001 00 

1 

2 500. 22. 18. 3.2 22. 150. 

'Line_Source_1' 1. 3. 1.5 3. 22. 0. 1.3 

'Line_Source_2' 1. 3.022 1.5 3.022 22. 0. 3.1 

MAR 2006 – CALPUFF 

F-140
LNEMARB.DAT File - Header Records

The header records of the LNEMARB.DAT file (see Table F-25) contain the maximum number of lines 

in the group, starting and ending time periods of data in the file, and a list of the emitted species. Sample 

Fortran read statements are:

 READ(iunit,*)FNAME5,NSRC5,NSE5,IUTMZ5,IBDAT5,IBTIM5,IEDAT5,

 1 IETIM5,VRS5,LABEL5 

READ(iunit,*)CLAT1, CLAT2, CLAT0, CLON0 

 READ(iunit,*)CSLST5 

 READ(iunit,*)XMWEM5 

where the following declarations apply:

 CHARACTER*12 FNAME5,VRS5,LABEL5,CSLST5(nse5) 

CHARACTER*16 CLAT1, CLAT2, CLAT0, CLON0 

 REAL XMWEM5(nse5)

MAR 2006 – CALPUFF 

F-141
Table F-25 

LNEMARB.DAT - Header Record 1 - General Data

No. Variable Typea Description Sample

Values 

1 FNAME5 C*12 Data set name LNEMARB 

2 NSRC5 integer Maximum number of lines in any period 10 

3 NSE5 integer Number of species emitted 3

4 IUTMZ5 integer UTM zone in which source coordinates are specified 

(enter 0 is using Lambert conformal coordinates) 

11 

5 IBDAT5 integer Date of beginning of data in the file (YYYYJJJ, where 

YYYY=year, JJJ=Julian day) 

1984220

6 IBTIM5 integer Hour of beginning of data in the file

(00-23, LST; end of hour)

00 

 7 IEDAT5 integer Date of end of data in the file 

(YYYYJJJ, where YYYY=year, JJJ=Julian day)

1984224

8 IETIM5 integer Hour of end of data in the file 

(00-23, LST; end of hour)

23 

9 VRS5 C*12 Data set version 5.4 

10 LABEL5 C*12 Data set label Daily 

a

 C*12 = Character*12

(Note: YYJJJ date format formerly used is also accepted.) 

MAR 2006 – CALPUFF 

F-142
Table F-25 (Continued) 

LNEMARB.DAT - Header Record 2 - Lambert Conformal Data

No. Variable Typea Description Sample

Values 

1 CLAT1 C*16 Standard parallel #1 for LC map (degrees latitude) 30.0N 

2 CLAT2 C*16 Standard parallel #2 for LC map (degrees latitude) 60.0N 

3 CLAT0 C*16 Latitude (degrees) of origin of LC map 40.5N 

4 CLON0 C*16 Longitude (degrees) of origin of LC map 90.0W 

a C*16 = Character*16

MAR 2006 – CALPUFF 

F-143
Table F-25 (Continued) 

LNEMARB.DAT - Header Record 3 - Species List 

No.* Type

a Description Sample Values

1 C*12 Species identifier for species 1 PM 

2 C*12 

. 

. 

.

Species identifier for species 2 PM10 

. . .

. . .

. . .

NSE5 C*12 Species identifier for species "NSE5" PM25 

*

 "NSE5" elements of CSLST5 array a

 C*12 = Character*12 

MAR 2006 – CALPUFF 

F-144
Table F-25 (Concluded) 

LNEMARB.DAT - Header Record 4 - Molecular Weights 

No. Sample Values * Type

a Description

1 real Molecular weight for species 1 200. 

2 real Molecular weight for species 2 200. 

. 

. 

. . .

. . .

. . . .

NSE5 real Molecular weight for species 

"NSE5" 

200. 

*

 "NSE5" elements of XMWEM5 array 

MAR 2006 – CALPUFF 

F-145
LNEMARB.DAT File - Data Records

* READ(iunit,*)CID 

* +)))QLoop over groups 

The LNEMARB.DAT file contains two types of data records. A set of time-invariant records (see Table 

F-26) are read after the header records, to specify parameters used in modeling all line sources in the file, 

and the number of time-invariant names used to identify each line source. A set of time-varying data 

follows (see Table F-27). The first record in this group identifies the time period. The second identifies 

the number of groups of active line sources. Thereafter, a block of records must be supplied for each 

active group. The first of these identifies the number of active lines, and the average characteristics of 

this group of active lines. The remaining time-varying records in the block complete the description for 

each active line: the character name given to the line, the coordinates of the end-points, the release height, 

the elevation of the ground, and an emission rate for each species. 

Sample Fortran read statements for time-invariant data records are:

 READ(iunit,*)MXNSEG,NLRISE 

+)))QLoop over maximum number of lines (NSRC5) comprising all groups 

*

*

.)))QEnd loop over lines 

where the following declarations apply:

 CHARACTER*16 CID

Sample Fortran read statements for time-varying data records are:

+)))QLoop over time periods 

*

* READ(iunit,*)IBDAT,IBTIM,IEDAT,IETIM 

* READ(iunit,*)NGROUPS 

*

* *

* * READ(iunit,*)NLINES,XL,HBL,WBL,WML,DXL,FPRIMEL

* *

* * +)))QLoop over active lines (NLINES) 

* * *

* * * READ(iunit,*)CID,XBEGL,YBEGL,XENDL,YENDL,HTL,ELEVL,QL

* * *

* * .)))QEnd loop over active lines 

* *

* .)))QEnd loop over groups 

*

.)))QEnd loop over time periods

where the following declarations apply:

 CHARACTER*16 CID 

 REAL QL(nse5) 

MAR 2006 – CALPUFF 

F-146
Table F-26 

LNEMARB.DAT - Time-Invariant Data Record Contents 

No. Variable Typea Description

1 MXNSEG integer Maximum number of segments used to model one 

line 

2 NLRISE integer Number of distances at which transitional rise is

tabulated 

Next 

NSRC5

CID C*16 Source identifier (16 characters = 4 words) 

a

 C*16 = Character*16

MAR 2006 – CALPUFF 

F-147
Table F-27 

LNEMARB.DAT - Time-Varying Data Record Contents 

(First record required for each time period) 

No. Variable Type Description

1 IBDAT integer Beginning date for which data in this set is valid (YYYYJJJ, 

where YYYY=year, JJJ=Julian day) 

2

 

 

IBTIM integer Beginning hour for which data in this set is valid 

(00-23, LST; end of hour)

3 IEDAT integer Ending date for which data in this set is valid (YYYYJJJ, where 

YYYY=year, JJJ=Julian day) 

4 IETIM integer Ending hour for which data in this set is valid (00-23, LST; end

of hour)

Example: 

Data on each record is valid for 1 hour: 

 IBDAT=1989183,IBTIM=00,IEDAT=1989183,IETIM=00 

 IBDAT=1989183,IBTIM=01,IEDAT=1989183,IETIM=01 

 IBDAT=1989183,IBTIM=02,IEDAT=1989183,IETIM=02 

Data on each record is valid for 3 hours:

 IBDAT=1989183,IBTIM=00,IEDAT=1989183,IETIM=02 

 IBDAT=1989183,IBTIM=03,IEDAT=1989183,IETIM=05 

 IBDAT=1989183,IBTIM=06,IEDAT=1989183,IETIM=08 

(Note: YYJJJ date format formerly used is also accepted.) 

MAR 2006 – CALPUFF 

F-148
Table F-27 (Continued) 

LNEMARB.DAT - Time-Varying Data Record Contents 

Type 

(Second record required for each time period) 

No. Variable Description

1 NGROUPS integer Number of groups of line sources active this time period 

MAR 2006 – CALPUFF 

F-149
Table F-27 (Continued) 

LNEMARB.DAT - Time-Varying Data Record Contents 

(First record required for each group, each time period) 

No. Variable Type Description

1 NLINES integer Number of active lines 

2

HBL 

real

XL real Average building length (m) 

3 real Average building height (m) 

4 WBL Average building width (m) 

5 WML real Average line source width (m) 

6 DXL real Average separation between buildings (m) 

7 FPRIMEL real Average buoyancy parameter (m4

/s3) 

MAR 2006 – CALPUFF 

F-150
Table F-27 (Concluded) 

LNEMARB.DAT - Time-Varying Data Record Contents 

(Next "NLINES" records) 

No. Variable Typea Description

1 CID C*16 Source identifier (must match one of the values in timeinvariant records) 

2,3 XBEGL,YBEGL real

real

real 

real

real

array

X,Y-coordinates (km) of beginning of line 

4,5 XENDL,YENDL X,Y-coordinates (km) of end of line 

6 HTL Release height (m) of the emissions above the ground 

7 ELEVL Base elevation (m)

Next 

NSE5

QL Emission rates for each species in the order specified in 

Header Record 2

a

C*16 = Character*16

MAR 2006 – CALPUFF 

F-151
F.6 Volume Source Emissions File with Arbitrarily Varying Emissions (VOLEMARB.DAT) 

The VOLEMARB.DAT file contains volume source data for sources with detailed, arbitrarily varying 

characteristics in time (as resolved by the 1-hour timestep of CALPUFF). Such volume sources may have 

time-varying emission rates, time-varying initial size, and time-varying location (they may move). 

VOLEMARB.DAT may be provided as either a sequential unformatted data file, or as a free-formatted 

ASCII data file (see Table F-28 for an example). Both of these use the same record structure consisting 

of four header records, followed by a set of data records containing time-invariant source information, 

and a set of records for the time-varying data. The time-invariant records contain a source identifier and 

one user-defined flag for each source. The time varying emissions and source characterization data 

follow in subsequent records. One data record per source is required for each time period (e.g.,usually at 

hourly intervals). 

Multiple VOLEMARB.DAT files may be provided if groups of sources possess very different timevariability. For example, group 1 may require hourly data records for the entire simulation period, while 

group 2 may produce emissions for only a few weeks during the simulation. Using a second file for 

group 2 is more economical to prepare because a single data record can be used to prescribe a long period 

with no (or constant) emissions. Each such file must cover the entire modeling period, no source may

appear in more than one file, and the species list must be identical among these files. 

The data in the VOLEMARB.DAT file are independent of the horizontal and vertical grid systems being 

used in the model. The horizontal coordinates are specified in terms of the meteorological grid projection 

(UTM or Lambert conformal coordinates). The vertical layers receiving the emissions of the source are 

based on the effective source height provided in the file. 

NOTE: There are substantial differences between the VOLEMARB.DAT file accepted by CALPUFF 

(Version 5.4) and the VOLEM.DAT file accepted by earlier versions, so anyone familiar with the 

previous versions must be certain to review the contents of the next few pages! CALPUFF (5.4) will test 

the variables FNAME4 and VRS4 contained in the header of VOLEMARB.DAT to see that it identifies 

the correct file. Do not use an “old” VOLEM.DAT data file -- its format is no longer supported!

MAR 2006 – CALPUFF 

F-152
Table F-28 

Sample VOLEMARB.DAT file 

 

'VOLEMARB' 3 2 16 1988011 1 1988012 0 '5.4' 'EXAMPLE' 

'30.0N' '60.0N' '40.5N' '90.0W' 

'POL1' 'POL2' 

 30.000 30.000 

'Source 1' 0 

'Source 2' 0 

'Source 3' 0 

 1988011 1 1988011 1 

'Source 1' 151.034 4661.448 10.0 110.8 14.6 2.4 0.468814E+01 0.202236E+02 

'Source 2' 151.652 4661.412 7.0 115.8 10.6 3.9 610. 120. 

'Source 3' 151.111 4661.374 9.0 121.2 10.0 10.0 0.468814E+01 0.202236E+02 

 1988011 2 1988011 2 

'Source 1' 151.034 4661.448 10.0 110.8 14.6 2.4 0.449538E+01 0.204942E+02 

'Source 2' 151.652 4661.412 7.0 115.8 10.6 3.9 0.0 0.0 

'Source 3' 151.115 4661.374 9.0 121.2 10.0 10.0 0.468814E+01 0.202236E+02 

 1988011 4 1988011 23 

 1988011 3 1988011 3 

'Source 1' 151.034 4661.448 10.0 110.8 14.6 2.4 0.449753E+01 0.204895E+02 

'Source 2' 151.652 4661.412 7.0 115.8 10.6 3.9 0.0 0.0 

'Source 3' 151.120 4661.374 9.0 121.2 10.0 10.0 0.468814E+01 0.202236E+02 

'Source 1' 151.034 4661.448 10.0 110.8 14.6 2.4 0.430570E+01 0.207542E+02 

'Source 2' 151.652 4661.412 7.0 115.8 10.6 3.9 0.0 0.0 

'Source 3' 151.131 4661.374 9.0 121.2 10.0 10.0 0.468814E+01 0.202236E+02 

 1988012 0 1988012 0 

'Source 1' 151.034 4661.448 10.0 110.8 14.6 2.4 0.553510E+01 0.189712E+02 

'Source 2' 151.652 4661.412 7.0 115.8 10.6 3.9 610. 120. 

'Source 3' 151.131 4661.374 9.0 121.2 10.0 10.0 0.468814E+01 0.202236E+02 

MAR 2006 – CALPUFF 

F-153
VOLEMARB.DAT File - Header Records

The header records of the VOLEMARB.DAT file (see Table F-29) contain the number of sources, 

starting and ending time periods of data in the file, and a list of the emitted species. Sample Fortran read 

statements for the unformatted file are: 

 READ(iunit)FNAME4,NSRC4,NSE4,IUTMZ4,IBDAT4,IBTIM4,IEDAT4,

 1 IETIM4,VRS4,LABEL4 

READ(iunit)CLAT1, CLAT2, CLAT0, CLON0 READ(iunit)CSLST4 

 READ(iunit)XMWEM4 

and sample Fortran read statements for the formatted file are: 

 READ(iunit,*)FNAME4,NSRC4,NSE4,IUTMZ4,IBDAT4,IBTIM4,IEDAT4,

 1 IETIM4,VRS4,LABEL4 

 CHARACTER*12 FNAME4,VRS4,LABEL4,CSLST4(nse4) 

 READ(iunit,*)CSLST4 

 READ(iunit,*)XMWEM4 

where the following declarations apply:

CHARACTER*16 CLAT1, CLAT2, CLAT0, CLON0 

 REAL XMWEM4(nse4)

When more than one file is used, the species information (NSE4, CSLST4, and XMWEM4) in each file 

must be the same. The number of sources (NSRC4) must identify the number of sources in the file, and 

the sum of the NSRC4 values from all files must equal the total number of sources (NVL2) provided in 

Subgroup (16a) of the control file. 

MAR 2006 – CALPUFF 

F-154
Table F-29 

VOLEMARB.DAT - Header Record 1 - General Data

No. Variable Typea Description Sample

Values 

1 FNAME4 C*12 Data set name VOLEMARBb

2 NSRC4 integer Number of sources in the file 10

3 NSE4 integer Number of species emitted 3

4 IUTMZ4 integer UTM zone in which source coordinates are specified 

(enter 0 if using Lambert conformal coordinates) 

11 

5 IBDAT4 integer Date of beginning of data in the file (YYYYJJJ, where 

YYYY=year, JJJ=Julian day) 

1984220

6 IBTIM4 integer Hour of beginning of data in the file

(00-23, LST; end of hour)

00 

7 IEDAT4 integer Date of end of data in the file 

(YYYYJJJ, where YYYY=year, JJJ=Julian day)

1984224

8 IETIM4 integer Hour of end of data in the file 

(00-23, LST; end of hour)

23 

9 VRS4 C*12 Data set version 5.4b

10 LABEL4 C*12 Data set label Scenario1

a C*12 = Character*12

b These values must be provided as shown.

MAR 2006 – CALPUFF 

F-155
Table F-29 (Continued) 

VOLEMARB.DAT - Header Record 2 - Lambert Conformal Data

No. Variable Typea Description Sample

Values 

1 CLAT1 C*16 Standard parallel #1 for LC map (degrees latitude) 30.0N 

2 CLAT2 C*16 Standard parallel #2 for LC map (degrees latitude) 60.0N 

3 CLAT0 C*16 Latitude (degrees) of origin of LC map 40.5N 

4 CLON0 C*16 Longitude (degrees) of origin of LC map 90.0W 

a C*16 = Character*16

MAR 2006 – CALPUFF 

F-156
Table F-29 (Continued) 

VOLEMARB.DAT - Header Record 3 - Species List

No.* Type

a Description Sample Values

1 C*12 Species identifier for species 1 SO2 

2 C*12 Species identifier for species 2 

. 

SO4 

. . . .

. . . .

. . .

NSE4 C*12 Species identifier for species "NSE4" NOX

* "NSE4" elements of CSLST4 array a C*12 = Character*12

MAR 2006 – CALPUFF 

F-157
Table F-29 (Concluded) 

VOLEMARB.DAT - Header Record 4 - Molecular Weights 

No.* Type Description Sample Values

1 real Molecular weight for species 1 64. (SO2) 

2 real Molecular weight for species 2 96. (SO4) 

. . . .

. . . .

. . . .

NSE4 real Molecular weight for species "NSE4" 46. (NOX as NO2)

* "NSE4" elements of XMWEM4 array

MAR 2006 – CALPUFF 

F-158
VOLEMARB.DAT File - Data Records

The VOLEMARB.DAT file contains two types of data records. A set of time-invariant records (see 

Table F-30) are read after the header records. These records specify the source names, and a user-defined 

index (read but not used). A set of time-varying data follows (see Table F-31). The time-varying records 

contain the source location, its effective height above ground, the elevation (MSL) at the location, the 

initial Fy and Fz, and the emission rate for each species.

Sample Fortran read statements for time-invariant data records in the unformatted file are: 

+)))QLoop over sources 

*

* READ(iunit)CID,TIDATA

*

.)))QEnd loop over sources 

and sample Fortran read statements for time-invariant data records in the formatted file are: 

+)))QLoop over sources 

*

* READ(iunit,*)CID,TIDATA

*

.)))QEnd loop over sources 

where the following declarations apply:

CHARACTER*16 CID 

 REAL TIDATA

Sample Fortran read statements for time-varying data records in the unformatted file are: 

+)))QLoop over time periods 

*

* READ(iunit)IBDAT,IBTIM,IEDAT,IETIM 

* 

* +)))QLoop over sources 

* *

* * READ(iunit)CID,XKM,YKM,HTAGL,ELMSL,SIGYI,SIGZI,QEMIT

* *

* .)))QEnd loop over sources 

*

.)))QEnd loop over time periods

MAR 2006 – CALPUFF 

F-159
and sample Fortran read statements for time-varying data records in the formatted file are: 

+)))QLoop over time periods 

*

* READ(iunit,*)IBDAT,IBTIM,IEDAT,IETIM 

* 

* +)))QLoop over sources 

* *

* * READ(iunit,*)CID,XKM,YKM,HTAGL,ELMSL,SIGYI,SIGZI,QEMIT

* *

* .)))QEnd loop over sources 

*

.)))QEnd loop over time periods

where the following declarations apply:

 CHARACTER*16 CID 

 REAL QEMIT(nse4) 

MAR 2006 – CALPUFF 

F-160
Table F-30 

VOLEMARB.DAT - Time-Invariant Data Record Contents 

(Repeated for each source)

Data Record 

No. 

Variable 

No. 

Variable Type

a Description

1 1 CID C*16 Source identifier (16 characters = 4 words) 

1 2 TIDATA real User defined flag (e.g., fuel code) 

a

 C*16 = Character*16

MAR 2006 – CALPUFF 

F-161
Table F-31 

VOLEMARB.DAT - Time-Varying Data Record Contents 

(First record of "NSRC4"+1 records required for each time period) 

No. Variable Type Description

1 IBDAT integer Beginning date for which data in this set are valid (YYYYJJJ, 

where YYYY=year, JJJ=Julian day) 

2 IBTIM integer Beginning hour for which data in this set are valid 

(00-23, LST; end of hour)

3 IEDAT integer Ending date for which data in this set are valid (YYYYJJJ, 

where YYYY=year, JJJ=Julian day) 

4 IETIM

 

integer Ending hour for which data in this set are valid (00-23, LST; end

of hour)

Example: 

Data on each record is valid for 1 hour: 

 IBDAT=1989183,IBTIM=00,IEDAT=1989183,IETIM=00 

 IBDAT=1989183,IBTIM=01,IEDAT=1989183,IETIM=01 

 IBDAT=1989183,IBTIM=02,IEDAT=1989183,IETIM=02 

Data on each record is valid for 3 hours:

 IBDAT=1989183,IBTIM=00,IEDAT=1989183,IETIM=02 

 IBDAT=1989183,IBTIM=03,IEDAT=1989183,IETIM=05 

 IBDAT=1989183,IBTIM=06,IEDAT=1989183,IETIM=08 

MAR 2006 – CALPUFF 

F-162
Table F-31 (Concluded) 

VOLEMARB.DAT - Time-Varying Data Record Contents 

(Next "NSRC4" records) 

No. Variable Typea Description

1 CID C*16 Source identifier (must match values in time-invariant records) 

2 XKM real X-coordinate (km) for source

3 YKM real Y-coordinate (km) for source

4 HTAGL real Effective height above ground (m)

5 ELMSL real Elevation of ground (m MSL) at source 

6 SIGYI real Initial Fy (m)

7 SIGZI real Initial Fz (m)

Next 

NSE4

QEMIT real array Emission rates (g/s) for each species in the order specified in

Header Record 2

a

C*16 = Character*16

MAR 2006 – CALPUFF 

F-163
F.7 Boundary Concentration Module File (BCON.DAT) 

The impact of significant regional pollution transport on concentrations and deposition fluxes computed 

within the modeling domain can be included in a CALPUFF analysis either by adding a spatially uniform

(and either constant in time or varying by hour) field at the post-processing step with CALPOST, or by 

selecting the boundary concentration (BCON) module within CALPUFF. The latter choice is preferable 

if there are known spatial gradients in regional concentrations outside the modeling domain, or if 

chemical transformation and removal processes associated with the regional pollution must be explicitly

modeled. 

Regional air-mass characteristics are defined and assigned to segments along each boundary of the 

computational domain when the boundary concentration module is used. A segment is equivalent to the 

length of one side of a grid cell. The number of air-mass types can be equal to the number of cells along 

the perimeter of the domain if sufficient information exists on this scale, or the number can be far fewer in 

typical applications where an entire side of the domain is characterized by a single air-mass. Air-mass

characteristics include the concentration of each species advected into the domain and the thickness of the 

layer that contains these species. These concentrations are used to initialize puffs that are well-mixed in 

the vertical and the horizontal. The vertical depth of a puff is the thickness of the layer assigned to the 

air-mass, and the radius of the puff is related to the length of the segment and the component of the 

transport wind that is perpendicular to the segment (the mass flux into the domain and the initial 

concentration are conserved). The concentration of each species for each air-mass type may be scaled by

factors that vary in one of the following ways: by hour of the day (24 factors); by month (12 factors); by

hour and season (96 factors); by wind speed and stability class (36 factors); or by temperature (12 

factors). These are the same factors provided for sources specified in the CALPUFF control file. If more 

detailed variation is needed for one or more air-mass types, air-mass characteristics for these can be 

provided hourly. When this method is used, the layer thickness may change as well as the concentrations. 

Otherwise, the layer thickness is constant for each air-mass type. 

The configuration of the boundary properties is provided to CALPUFF in a "BCON.DAT" file. Two 

formats are available for this file. The first is a formatted file prepared specifically for use with the 

BCON option (MBCON = 1). It is constructed using the CALPUFF control file conventions. A sample 

file is shown in Table F-32, and a description of the input parameters is provided in Table F-33. The 

second (MBCON = 2) is a standard CALPUFF unformatted “CONC.DAT” output concentration file. 

Receptors in this file must lie along the boundary of the modeling region, providing near-surface 

concentrations for the air mass transported across the boundary into the modeling domain. This format 

may be chosen if CALPUFF results from a larger domain are available. 

Input Group 1 in the BCON.DAT file identifies the grid information for the computational domain, the 

units for the concentrations that are provided, the number of air-mass types, and the type of temporal 

variation used in describing air-mass properties. Four air-mass types are used in this example. Three of 

these use the temporal variation factors provided in Input Group 3 and one uses an explicit sequence of 

MAR 2006 – CALPUFF 

F-164
values in time provided in Input Group 5. Note that the temporal variation factors are specific to both the 

species and the air mass. Input Group 2 names the six species that will be emitted along the boundary of 

the computational domain. 

Input Group 3 defines the properties of each air-mass that is either constant, or that uses the factored time

variation. In subgroup 3a, each air-mass is given a name and an index, followed by the thickness of the 

layer associated with the air-mass, and the concentration of each species. The name is used to identify airmass properties in subsequent sections of the file, and the index is used to associate each air-mass type 

with specific cells along each boundary of the domain. Concentrations are entered in the order defined in 

Input Group 2. Here we have used generic names to suggest the characteristics of each air-mass, and 

have provided concentrations for each species. This is only intended to illustrate the structure of the 

BCON.DAT file, and should not be interpreted as typical values suitable for any application. 

Subgroup 3b provides the temporal variation factors for the number of species/air-mass combinations 

indicated in Input Group 1 (NSBC). Only SO2 for each of three air-masses (clean, urban, and model) is 

given a temporal variation here.

Input Group 4 assigns the air-mass types to cells along each boundary, using index values assigned in 

subgroups 3a and 5a. All cells along the north boundary and the south boundary are assigned to names 

NORTH and SOUTH, respectively. The cells along the west and east boundaries are entered in pairs, 

assigned to the variable name WEST-EAST. All of these assignments should be oriented to produce a 

"map-like" representation of the domain, with north at the top. 

Input Group 5 defines any remaining air-mass types with properties that may vary hourly. Subgroup 5a 

assigns the air-mass name and index, and subgroup 5b identifies the time-period that is included in the 

data records. The input group terminator (!END!) for 5b must be followed immediately by the data 

records. The first record of each time period defines the range of hours for which the concentration data 

are valid by listing the beginning date(YYYYJJJ) and hour(HH), and the ending date and hour. The hour 

is denoted by the time at the end of the hour (00-23 LST). 

 

For example, a 3-hour period would be:

1987056 23 1987057 01 

and a 1-hour period would be: 

1987056 23 1987056 23 

Subsequent records of each time period provide the data for each air-mass. Each record contains the airmass name (in single quotes), the layer-top (m), and the concentration of each species (units 

specified by IBCU). 

MAR 2006 – CALPUFF 

F-165
Table F-32 

Boundary Condition File (BCON.DAT) 

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

 CALPUFF Boundary Condition Data File 

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

INPUT GROUP: 1 -- General Specifications 

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

 a 

 Dataset documentation 

 Dataset version (VRSBC) No default ! VRSBC = 5.4 ! 

 Dataset label (LBLBC) No default ! LBLBC = example ! 

 Number of segments along boundaries of computational domain 

 North and South (NBCX) No default ! NBCX = 17 ! 

 East and West (NBCY) No default ! NBCY = 17 ! 

 Units for boundary concentrations 

 provided below (IBCU) Default: 1 ! IBCU = 2 ! 

 1 = g/m**3 

 2 = ug/m**3 

 3 = ppm 

 4 = ppb 

 Number of air-mass types: 

 Constant or factored 

 variation [Group 3] (NTYPEBC1) No Default ! NTYPEBC1 = 3 ! 

 Arbitrary time 

 variation [Group 5] (NTYPEBC2) No Default ! NTYPEBC2 = 1 ! 

 Number of air-mass species (NSPECBC) No Default ! NSPECBC = 5 ! 

 Number of air-mass type / species 

 combinations with variable 

 concentration scaling factors 

 provided below in (3b) (NSBC) Default: 0 ! NSBC = 3 ! 

-------- 

 a 

 The form of the BCON file may change in the future. Identify 

 this file as being consistent with the version of CALPUFF for 

 which it was prepared. 

 (NOTE: The dataset label is processed as a 12-character name) 

!END! 

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

INPUT GROUP: 2 -- Species list 

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

 Concentrations for the following species are provided at the boundary, 

 in the following order: 

 ! CSPEC = HNO3 ! !END! 

 ! CSPEC = NO3 ! !END! 

 ! CSPEC = SO4 ! !END! 

 ! CSPEC = NOX ! !END! 

 ! CSPEC = SO2 ! !END! 

 Molecular weight (g/mole) for each species 

 (used ONLY if IBCU=3,4 to convert to mass concentration) 

 * SO2 = * 

 * SO4 = * 

*END* 

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

MAR 2006 – CALPUFF 

F-166
Table F-32 (Continued) 

Boundary Condition File (BCON.DAT) 

INPUT GROUP: 3 -- Air-Mass Types (Constant or factored variation) 

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

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

Subgroup (3a) 

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

 a 

 AIR-MASS DEFINITION 

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

 b c 

 Type Top of Pollutant 

 No. Layer Concentration(s) 

 (m) 

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

 ! AIRMASS = clean ! 

 ! X = 1, 3000., 1.1, 1.2, 1.3, 1.4, 1.5 ! !END! 

 ! AIRMASS = urban ! 

 ! X = 3, 1500., 5.1, 5.2, 5.3, 5.4, 5.5 ! !END! 

 ! AIRMASS = model ! 

 ! X = 4, 3000., 2.1, 2.2, 2.3, 2.4, 2.5 ! !END! 

-------- 

 a 

 Data for each air-mass type are treated as a separate input subgroup 

 and therefore must end with an input group terminator. 

 b 

 An INTEGER from 1 to NTYPEBC1+NTYPEBC2, with no duplications; used 

 for mapping air-mass types to boundary of computational grid. 

 c 

 A concentration must be entered for every species listed in Group 2, 

 and in the order presented in Group 2. 

 Units are specified by IBCU (e.g. 1 for g/m**3). 

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

Subgroup (3b) 

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

 a 

 VARIABLE AIR-MASS FACTORS 

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

 Use this subgroup to describe temporal variations in the concentrations 

 for one or more air-mass types given in Group 3a. Factors entered multiply 

 the concentrations in Group 3a. Skip air-mass type / species combinations 

 that have constant concentrations. For more elaborate variations in 

 air-mass properties, provide specific records in Input Group 5. 

 IVARY determines the type of variation, and is air-mass specific: 

 (IVARY) Default: 0 

 0 = Constant 

 1 = Diurnal cycle (24 scaling factors: hours 1-24) 

 2 = Monthly cycle (12 scaling factors: months 1-12) 

 3 = Hour & Season (4 groups of 24 hourly scaling factors, 

 where first group is DEC-JAN-FEB) 

 4 = Speed & Stab. (6 groups of 6 scaling factors, where 

 first group is Stability Class A, 

 and the speed classes have upper 

 bounds (m/s) defined in Group 12 

 5 = Temperature (12 scaling factors, where temperature 

 classes have upper bounds (C) of: 

 0, 5, 10, 15, 20, 25, 30, 35, 40, 

 45, 50, 50+) 

MAR 2006 – CALPUFF 

F-167
Table F-32 (Continued) 

Boundary Condition File (BCON.DAT) 

 ! AIRMASS = clean ! 

 ! IVARY = 2 ! (12 Months) 

 ! SO2 = 0.1, 0.1, 0.5, 0.9, 1.0, 1.0, 

 1.0, 1.0, 1.0, 0.9, 0.5, 0.1 ! 

 !END! 

 ! AIRMASS = urban ! 

 ! IVARY = 2 ! (12 Months) 

 ! SO2 = 0.1, 0.1, 0.5, 0.9, 2.0, 2.2, 

 2.5, 1.5, 1.1, 0.9, 0.5, 0.1 ! 

 !END! 

 ! AIRMASS = model ! 

 ! IVARY = 1 ! (24 Hours) 

 ! SO2 = 0.1, 0.1, 0.5, 0.9, 2.0, 2.2, 

 2.5, 2.6, 2.7, 2.8, 2.9, 3.0, 

 2.9, 2.8, 2.7, 2.6, 2.5, 2.4, 

 2.2, 2.0, 1.5, 0.9, 0.5, 0.1 ! 

 !END! 

-------- 

 a 

 Data for each species are treated as a separate input subgroup 

 and therefore must end with an input group terminator. 

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

INPUT GROUP: 4 -- Air-Mass Map 

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

 Use this Input Group to assign an air-mass type to each segment 

 along the perimeter of the computational grid. The North boundary 

 is listed first, then the West-East segment pairs should be listed 

 from North to South, followed by the South boundary. Within a row, 

 segments are provided from West to East. 

 

 ! NORTH = 7*1, 10*2 ! !END! 

 ! WEST_EAST = 1, 2 ! !END! 

 ! WEST_EAST = 1, 2 ! !END! 

 ! WEST_EAST = 4, 2 ! !END! 

 ! WEST_EAST = 4, 2 ! !END! 

 ! WEST_EAST = 4, 2 ! !END! 

 ! WEST_EAST = 4, 2 ! !END! 

 ! WEST_EAST = 4, 2 ! !END! 

 ! WEST_EAST = 4, 2 ! !END! 

 ! WEST_EAST = 4, 2 ! !END! 

 ! WEST_EAST = 4, 2 ! !END! 

 ! WEST_EAST = 4, 2 ! !END! 

 ! WEST_EAST = 4, 2 ! !END! 

 ! WEST_EAST = 4, 2 ! !END! 

 ! WEST_EAST = 3, 2 ! !END! 

 ! WEST_EAST = 3, 2 ! !END! 

 ! WEST_EAST = 3, 2 ! !END! 

 ! WEST_EAST = 3, 2 ! !END! 

 ! SOUTH = 6*3, 11*2 ! !END! 

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

MAR 2006 – CALPUFF 

F-168
Table F-32 (Continued) 

Boundary Condition File (BCON.DAT) 

INPUT GROUP: 5 -- Air-Mass Types (Arbitrary time variation) 

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

 Use this Input Group to describe temporal variations in all air-mass 

 properties for air-mass types NOT given in Input Group 3. 

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

Subgroup (5a) 

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

 a 

 AIR-MASS DEFINITION 

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

 Type 

 No. 

 ------ 

 ! AIRMASS = regional ! 

 ! X = 2 ! !END! 

-------- 

 a 

 Data for each air-mass type are treated as a separate input subgroup 

 and therefore must end with an input group terminator. 

 The TYPE is an INTEGER from 1 to NTYPEBC1+NTYPEBC2, with no duplications; 

 used for mapping air-mass types to boundary of computational grid. 

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

Subgroup (5b) 

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

 EXPLICIT TIME-VARYING AIR-MASS PROPERTIES 

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

 Records following the final group terminator below provide the 

 layer-top and concentration(s) for each air-mass type identified 

 in Subgroup (5a), for the simulation period identified below. 

 The concentration for each species listed in Input Group 2 must 

 be provided in order, for each air-mass. 

 Simulation Period 

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

 The date is a combined year and Julian day (YYYYJJJ). 

 The hour is identified by the time at the END of the hour (00-23 LST). 

 Starting date : (IBDAT) -- No default ! IBDAT = 1988189 ! 

 Starting hour : (IBHH) -- No default ! IBHH = 01 ! 

 Ending date : (IEDAT) -- No default ! IEDAT = 1988190 ! 

 Ending hour : (IEHH) -- No default ! IEHH = 00 ! 

 Data Record Structure 

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

 The first record of each time period defines the range of hours 

 for which the concentration data are valid by listing the beginning 

 date(YYYYJJJ) and hour(HH), and the ending date and hour. The hour 

 is denoted by the time at the end of the hour (00-23 LST). 

 

 For example, a 3-hour period would be: 

 1987056 23 1987057 01 

 and a 1-hour period would be: 

 1987056 23 1987056 23 

MAR 2006 – CALPUFF 

F-169
Table F-32 (Concluded) 

Boundary Condition File (BCON.DAT) 

 Subsequent records of each time period provide the data for each 

 air-mass. Each record contains the air-mass name (in single quotes), 

 the layer-top (m), and the concentration of each species (units 

 specified by IBCU). 

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

!END! (Data records must follow immediately) 

 1988189 01 1988189 03 

'regional' 3000., 1.11, 1.21, 1.31, 1.41, 1.51 

 1988189 04 1988189 06 

'regional' 3000., 1.12, 1.22, 1.32, 1.42, 1.52 

 1988189 07 1988189 09 

'regional' 3000., 1.13, 1.23, 1.33, 1.43, 1.53 

 1988189 10 1988189 12 

'regional' 3000., 1.14, 1.24, 1.34, 1.44, 1.54 

 1988189 13 1988189 15 

'regional' 3000., 1.15, 1.25, 1.35, 1.45, 1.55 

 1988189 16 1988189 18 

'regional' 3000., 1.16, 1.26, 1.36, 1.46, 1.56 

 1988189 19 1988189 21 

'regional' 3000., 1.17, 1.27, 1.37, 1.47, 1.57 

 1988189 22 1988190 00 

'regional' 3000., 1.18, 1.28, 1.38, 1.48, 1.58 

MAR 2006 – CALPUFF 

F-170
Table F-33 

BCON.DAT File Inputs 

Variable Type Description Sample

Values 

(Input Group 1 - General Specifications)

VRSBC character

*12 

Dataset version 

integer 

 3 = ppm

integer Number of air-mass types that are varied hourly (Group 5) 

Number of air-mass type / species combinations with

variable concentration scaling factors provided in (3b) 

5.4 

LBLBC character Dataset label SAMPLE 

*12 

NBCX integer Number of segments along north or south boundary of the

computational domain 

50 

NBCY Number of segments along east or west boundary of the 

computational domain 

50 

IBCU integer Units for boundary concentrations 2 

 1 = g/m**3 

 2 = ug/m**3 

 4 = ppb 

NTYPEBC1 integer Number of air-mass types that are treated as constant, or 

that are varied using temporal factors (Group 3)

3 

NTYPEBC2 2 

NSPECBC integer Number of species in each air-mass 5

NSBC integer 10

(Input Group 2 - Species List)

CSPEC character Species name (NSPECBC records are required). These SO2

names are passed into the data dictionary for later use 

when assigning properties for particular species. 

*12 

XMWTBC real array Molecular weight (g/mole) for each species (used ONLY 64., ...

if IBCU=3,4 to convert to mass concentration), assigned 

by species dictionary name

(mxspec) 

MAR 2006 – CALPUFF 

F-171
Table F-33 (Continued) 

BCON.DAT File Inputs 

Variable Type Description Sample

Values 

(Input Group 3a - Air-Mass Definiton)

AIRMASS character Air-mass name, used to coordinate inputs urban 

*12 

IAM integer Air-mass index, used to store properties 1 

HTBC(IAM) real array Top of layer for air-mass type 1500. 

CONBC real array Concentration of each species for Air-mass type .1, .11., .34, 

(1 to NSPECBC, .52,.6

IAM)

(Input Group 3b - Variable Air-Mass Concentration Factors)

AIRMASS character

IVARY 

 (24 scaling factors: hours 1-24) 

 where first group is DEC-JAN-FEB) 

Air-mass name, used to coordinate inputs urban 

*12 

integer Type of scale factor variation (diurnal, monthly, etc.) 2

 0 = Constant 

 1 = Diurnal cycle 

 2 = Monthly cycle 

 (12 scaling factors: months 1-12) 

 3 = Hour & Season 

 (4 groups of 24 hourly scaling factors, 

 4 = Speed & Stab.

 (6 groups of 6 scaling factors, where 

 first group is Stability Class A, 

 and the 6 speed classes have upper 

 bounds (m/s) defined in Group 12) 

 5 = Temperature 

 (12 scaling factors, where temperature 

 classes have upper bounds (C) of: 

 0, 5, 10, 15, 20, 25, 30, 35, 40,

 45, 50, 50+) 

QFAC real array Array of concentration scaling factors for this air-mass -

and the species indicated

The variables in Input Group 3b are entered for the number of air-mass / species combination indicated by 

NSBC in Input Group 1. The data for each combination (i.e., air-mass name, type of variation, and the 

QFAC array ) are treated as a separate input subgroup and therefore must end with an input group 

terminator (i.e., !END!). The data for each source-species combination must follow an opening delimiter 

and "(cspec)=", where (cspec) is a species name defined in Group 2. The data for each combination is 

followed by a closing delimiter and an input group terminator (i.e., !END!). If NSBC=0, no scaling 

factors should be defined here.

MAR 2006 – CALPUFF 

F-172
Table F-33 (Concluded) 

BCON.DAT File Inputs 

Variable Type Description Sample

Values 

(Input Group 4 - Air-Mass Map)

NORTH integer array Air-mass type index for each cell along the northern

boundary of the computational grid

7*1,3, ... 

WEST-EAST integer array Air-mass type index for the first (west) and last (east) 1, 2 

cell of one row of the computational grid. Records 

should progress from north to south, starting with the 

second row from the 'top', and ending with the next-tolast row from the 'bottom'. 

SOUTH integer array Air-mass type index for each cell along the southern

boundary of the computational grid

4,1,8*2, ... 

(Input Group 5a - Air-Mass Definition)

AIRMASS character Air-mass name, used to coordinate inputs regional

*12 

IAM integer Air-mass index, used to store properties 2

(Input Group 5b - Explicit Time-Varying Air-Mass Properties)

IBDAT integer Starting date (YYYYJJJ) 2000153

IBHH integer Starting hour (HH), identified by the time at the END 01

of the hour (00-23 LST)

IEDAT integer Ending date (YYYYJJJ) 2000345

00

Subsequent records of each time period provide the data for each air-mass listed in Input Group 

5a. Each record contains the air-mass name (in single quotes), the layer-top (m), and the 

concentration of each species (units specified by IBCU). 

IEHH integer Ending hour (HH), identified by the time at the END 

of the hour (00-23 LST)

Data records follow Input Group 5b (after the !END! terminator) 

The first record of each time period defines the range of hours for which the concentration data 

are valid by listing the beginning date(YYYYJJJ) and hour(HH), and the ending date and hour. 

MAR 2006 – CALPUFF 

F-173
F.8 User-Specified Deposition Velocity Data File (VD.DAT) 

The CALPUFF model requires that the user specify the method for determining dry deposition velocities 

for each species. In Input Group 3 of the control file, one of the following flags must be specified for 

each pollutant.

An example of a user-specified VD.DAT file is shown in Table F-34. The VD.DAT file uses a control 

file format (see Section F.1). All text outside the delimiters (!) is considered as user comment 

information and is echoed back but otherwise ignored by the input module. Each data line consists of a 

delimiter followed by the species name, 24 deposition velocities, and a terminating delimiter. The data 

may extend over more than one line. The line being continued must end with a comma. The control file 

format allows the use of repetition factors (e.g., 3 * 1.0 instead of 1.0, 1.0, 1.0). The order in which the 

species are entered in the file is not important. However, the file must end with an input group terminator 

(i.e., !END!). 

0 = no dry deposition (deposition velocities set to zero) 

1 = resistance model used - pollutant deposited as a gas 

2 = resistance model used - pollutant deposited as a particle

3 = user-specified deposition velocities used 

Note that different methods can be used for different pollutants in the same CALPUFF run. 

If any species are flagged as using "user-specified" deposition velocities, CALPUFF reads a formatted 

user-prepared data file with a 24-hour diurnal cycle of deposition velocities for each species flagged. The 

24 values correspond to hours 01-24 (LST) of the simulated day. Twenty-four values must be entered for 

each flagged pollutant, even if the model run is for less than a full diurnal cycle. The units of the 

deposition velocities are m/s. 

The model checks that values have been entered for each species flagged as using user-specified

deposition velocities. An error message is printed and execution of the run is terminated if any values are 

missing. The run will also terminate with an error message from the input routine if too many values are 

entered (i.e., more than 24 values for a particular pollutant). The species names must match those used in 

the chemical mechanism of the model. 

MAR 2006 – CALPUFF 

F-174
Table F-34 

DEPOSITION VELOCITY FILE (VD.DAT) 

!END!

Sample User-Specified Deposition Velocity File for Two Species 

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

VD.DAT contains 24-hour diurnal cycle of deposition velocities for each species flagged as using

user-specified values in the control file (CALPUFF.INP). 

The first value correspond to the period from 0:00 to 1:00, and the 24th value corresponds to

23:00-0:00. 

NOTE: Units are in m/s. 

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

SPECIES 

 NAME Deposition Velocities (m/s) 

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

! HNO3 = 5*1.5e-2, 4*1.7e-2, 3*1.8e-2, 3*1.9e-2, 3*1.7e-2, 6*1.5e-2 ! 

! SO2 = 5*0.8e-2, 13*1.0e-2, 6*0.8e-2 ! 

MAR 2006 – CALPUFF 

F-175
F.9 Hourly Ozone Data File (OZONE.DAT) 

If the MESOPUFF II or RIVAD/ARM3 chemical mechanism is used to simulate the chemical

transformation of SO2 6 SO=

4 and NOx 6 HNO3 : NO−3, estimates of background ambient ozone 

concentration levels are required to compute the hourly conversion rates. CALPUFF provides two 

options for the user to provide these data: (1) a single, typical background value appropriate for the 

modeling region, or (2) hourly ozone data from one or more ozone monitoring stations. The selection of 

Option 2 requires that a file called OZONE.DAT be created with the necessary data. 

OZONE.DAT is a sequential, formatted data file containing three types of records: single header record, 

time-invariant data records, and hourly ozone data records. A sample OZONE.DAT file is shown in 

Table F-35. The header record contains information on the number of stations in the data set, the time 

period of the data, and descriptive information regarding the file. The time-invariant records contain the 

coordinates of each of the ozone stations. The time-varying data consists of hourly ozone concentrations 

at each of the ozone stations. 

MAR 2006 – CALPUFF 

F-176
Table F-35 

Sample Hourly Ozone Data File (OZONE.DAT) 

'OZONE', 3, 11, 1980001, 0, 1980002, 0, '5', 'Test' 

 'STATION 1', 168.000, 3840.000 

'STATION 2', 200.000, 3880.000 

 'STATION 3', 180.000, 3860.000 

1980, 001, 0, 9999., 62., 50. 

1980, 001, 1, 9999., 9999., 9999. 

1980, 001, 2, 68., 61., 9999. 

1980, 001, 3, 66., 9999., 9999. 

1980, 001, 13, 109., 105., 92. 

1980, 001, 23, 9999., 9999., 69. 

1980, 001, 4, 9999., 9999., 53. 

1980, 001, 5, 9999., 9999., 9999. 

1980, 001, 6, 9999., 9999., 9999. 

1980, 001, 7, 9999., 9999., 9999. 

1980, 001, 8, 69., 68., 60. 

1980, 001, 9, 72., 75., 65. 

1980, 001, 10, 74., 78., 69. 

1980, 001, 11, 87., 85., 74. 

1980, 001, 12, 102., 99., 84. 

1980, 001, 14, 120., 118., 102. 

1980, 001, 15, 116., 116., 95. 

1980, 001, 16, 103., 100., 97. 

1980, 001, 17, 98., 90., 88. 

1980, 001, 18, 89., 82., 83. 

1980, 001, 19, 9999., 9999., 80. 

1980, 001, 20, 9999., 9999., 78. 

1980, 001, 21, 9999., 9999., 74. 

1980, 001, 22, 9999., 9999., 69. 

1980, 002, 00, 9999., 9999., 68.

 

MAR 2006 – CALPUFF 

F-177
OZONE.DAT File - Header Record

The header records of the OZONE.DAT file contain the name, version, and label of the data set, the 

number of ozone stations, and starting and ending time periods of data in the file (see Table F-36). A 

sample Fortran read statement for the header record is: 

 READ(iunit,*)FNAMEO,NOZSTA,IUTMOZ,IBDATO,IBTIMO,IEDATO, 

 1 IETIMO,VRSOZ,LABOZ

where the following declaration applies: 

 CHARACTER*12 FNAMEO,VRSOZ,LABOZ.

MAR 2006 – CALPUFF 

F-178
Table F-36 

OZONE.DAT - Header Record - General Data 

No. Variable Typea Description Sample

Values

1 FNAMEO C*12 Data set name OZONE

2 NOZSTA integer Number of ozone stations in the file 3

3 ITUMOZ integer UTM zone in which ozone station coordinates are 

specified (enter 0 if using Lambert conformal

coordinates) 

11 

4 IBDATO integer Date of beginning of data in the file (YYYYJJJ, where 

YYYY=year, JJJ=Julian day) 

1980001

5 IBTIMO integer Hour of beginning of data in the file (00-23, LST; end of

hour) 

00 

6 IEDATO integer Date of end of data in the file (YYYYJJJ, where 

YYYY=year, JJJ=Julian day) 

1980002

7 IETIMO integer Hour of end of data in the file (00-23, LST; end of hour) 00 

8 VRSOZ C*12 Data set version = CALPUFF version 5 

9 LABOZ C*12 Data set label Test 

a

C*12 = Character*12 

(Note: YYJJJ date format formerly used is also accepted.) 

MAR 2006 – CALPUFF 

F-179
OZONE.DAT File - Data Records

The OZONE.DAT file contains two types of data records. A set of time-invariant records are read after 

the header records. These records specify the coordinates of each ozone station (see Table F-37). A set 

of time-varying data follows, which contain the hourly ozone concentration (in ppb) for each station (see 

Table F-38). 

Sample Fortran read statements for time-invariant data records are:

+))) Loop over stations

*

* READ(iunit,*)CID,XOZ,YOZ

*

.))) End loop over stations 

where the following declaration applies: 

 CHARACTER*16 CID 

Sample Fortran read statements for time-varying data records are:

+))) Loop over hours 

*

* READ(iunit,*)IYR,IJUL,IHR,OZCONC 

*

.))) End loop over hours 

where the following declaration applies: 

 REAL OZCONC(nozsta)

MAR 2006 – CALPUFF 

F-180
Table F-37 

OZONE.DAT - Time-Invariant Data Record Contents 

(Repeated for each station) 

No. Variable Typea Description

1 CID C*16 Station identifier (16 characters = 4 words) 

2 XOZ real X coordinate (km) of the ozone station 

3 YOZ real Y coordinate (km) of the ozone station 

a

C*16 = Character*16 

MAR 2006 – CALPUFF 

F-181
Table F-38 

OZONE.DAT - Time-Varying Data Record Contents

(One record per hour) 

No. Variable Type Description

1 IYR integer Year of data (four digits) 

2 IJUL integer Julian day

3 IRH integer Hour of data (00-23 LST; end of hour)

Next 

"NOZSTA" 

OZCONC real array Ozone concentration (ppb) at each ozone station (in the 

same order as the station coordinates in the time-invariant

records; missing value indicator is 9999.) 

(Note: two-digit year format formerly used is also accepted.) 

MAR 2006 – CALPUFF 

F-182
F.10 User-Specified Chemical Transformation Rate Data File (CHEM.DAT) 

If chemical conversion is to be considered by CALPUFF, the user must specify a variable in the control 

file, MCHEM, which determines how chemical transformation rates are computed. The options for 

MCHEM are:

0 = chemical transformation is not modeled 

1 = the MESOPUFF II chemical scheme is used to compute transformation rates 

2 = user-specified 24-hour cycles of transformation rates are used 

3 = the RIVAD/ARM3 chemical scheme is used to compute transformation 

If MCHEM is set equal to 2, CALPUFF reads a formatted user-prepared data file with 24-hour diurnal 

cycles of transformation rates k1, k2, k3. The nature of the equilibrium relationship assumed between 

pollutants 4 and 5 (e.g., HNO3 and NO−

3) precludes the use of a user-specified conversion rate between 

these pollutants. If NO3 is being modeled, the NH4NO3 dissociation constant is determined as a function 

of temperature and relative humidity.

A sample user-specified CHEM.DAT file is shown in Table F-39. The CHEM.DAT file uses a control 

file format (see Section F.1). All text outside the delimiters (!) is considered as user comment 

information and is echoed back but otherwise ignored by the input module. Each data line consists of a 

delimiter followed by the species name, 24 conversion rates, and a terminating delimiter. The data may

extend over more than one line. The line being continued must end with a comma. The control file 

format allows the use of repetition factors (e.g., 3 * 1.0 instead of 1.0, 1.0, 1.0). The order in which the 

species are entered in the file is not important. However, the file must end with an input group terminator 

(i.e., !END). 

The model checks that the proper number of values have been entered for each conversion rate. An error 

message is printed and execution of the run is terminated if any values are missing. The run will also 

terminate with an error message from the input routine if too many values are entered (i.e., more than 24 

values). 

MAR 2006 – CALPUFF 

F-183
Table F-39 

Sample User-Specified Chemical Transformation Rate Data File (CHEM.DAT)

CHEMICAL TRANSFORMATION RATE FILE (CHEM.DAT) 

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

CHEM.DAT contains a 24-hour diurnal cycle of chemical transformation 

rates for the chemical transformation of SO2 to SO4, and NOx to HNO3/PAN. 

 k1 = SO2 to SO4 transformation rate(percent/hour) 

 k2 = NOx to HNO3 + PAN transformation rate (percent/hour) 

 k3 = NOx to HNO3 (only) transformation rate (percent/hour) 

The first value correspond to the period from 0:00 to 1:00, and the 24th value corresponds to 

23:00-0:00. 

 TRANSFORMATION RATE (percent/hour) 

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

! K1 = 7*0.2, 0.4, 0.8, 1.2, 1.6, 3*2.0, 1.6, 1.2, 0.8, 0.4, 6*0.2 ! 

! K2 = 7*2.0, 4.0, 8.0,12.0,15.0, 3*20.0, 15.0, 12.0, 8.0, 4.0, 6*2.0 ! 

! K3 = 7*2.0, 3.0, 6.0, 8.0,11.0, 3*15.0, 11.0, 8.0, 6.0, 3.0, 6*2.0 ! 

!END!

MAR 2006 – CALPUFF 

F-184
F.11 Site-Specific Turbulence Data (PROFILE.DAT) 

CALPUFF provides several options for computing the dispersion coefficients, Fy and Fz. In Input Group

2 of the control file, the user specifies a value for the dispersion method flag, MDISP:

1 = dispersion coefficients computed from values of Fv and Fw read from a data file

(PROFILE.DAT),

2 = dispersion coefficients determined from internally computed values of Fv and Fw based 

on similarity scaling relationships,

3 = PG coefficients (computed using the ISCST multi-segment approximation) used for rural 

areas and MP coefficients used in urban areas, 

4 = same as 3 except that the PG coefficients are computed using the MESOPUFF II 

equations. 

5 = CTDMPLUS dispersion coefficients computed from Fv and Fw for neutral/stable.

If Option 1 or Option 5 is selected, the user must prepare a data file with hourly values of Fv and Fw. This 

option is intended primarily for application to a single source or facility with onsite measurements of Fv

and Fw. Therefore, only one set of observations are allowed in the data base and they are assumed to 

apply over the entire computational region.

The CTDMPLUS meteorological data file PROFILE provides for measurements of turbulence as well as 

wind speed, wind direction, and temperature at one or more heights on a tower. Because the 

PROFILE.DAT file is one of the meteorological formats accepted by CALPUFF, it may also be used for 

entering turbulence measurements for use with any of the other options. Its structure is documented in 

Section F.2.4.

MAR 2006 – CALPUFF 

F-185
F.12 CTDMPLUS Terrain Feature Description and Receptors (HILL.DAT, HILLRCT.DAT) 

CALPUFF allows two ways of specifying the characteristics of terrain features modeled by CTSG. The 

first is by means of the OPTHILL processor described in Section F.16, which provides the parameters to 

be entered in the control file CALPUFF.INP. The second approach allows the use of the terrain 

preprocessing programs provided with CTDMPLUS (Mills et al., 1987). If a user is familiar with the 

terrain preprocessor, then this may be the preferred option because the standard terrain file used in 

CTDMPLUS, "TERRAIN", can be read by CALPUFF without modification. CTDMPLUS subroutines 

that read and process the terrain data have been incorporated in CALPUFF. Similarly, CTSG receptors 

may either be entered directly into the control file, or may be read from the corresponding CTDMPLUS 

"RECEPTOR" file. Note however that any CTSG receptors that are not located on one of the hill features 

(designated by a hill ID of 0) are ignored in CALPUFF. The default filenames in CALPUFF for 

TERRAIN and RECEPTOR are HILL.DAT and HILLRCT.DAT, respectively, and they are used together 

so that both must be used if the CTDMPLUS input option is selected. 

Table F-40 illustrates a typical HILL.DAT file for one hill. This one is defined by ellipse/polynomial 

shapes determined for a range of 10 "critical elevations" from 25 m to 115 m above the base of the hill. 

After the header record, the first group of 10 records provides the ellipse parameters at each "critical 

elevation", and the second group of 10 records provides the parameters for the corresponding inverse 

polynomial shape profile fit to the portion of the hill above it. Refer to Mills et al. (1987) for more 

detailed information. Table F-41 shows a typical HILLRCT.DAT file. Data for each CTSG receptor are 

placed in one record, and identify the location, hill number (ID), ground elevation, and receptor height 

above the ground. Note that CALPUFF places all receptors on the ground. The structure of the data 

records is defined in Table F-42 (HILL.DAT) and F-43 (HILLRCT.DAT). 

Other data associated with the HILL.DAT and HILLRCT.DAT are provided in the CALPUFF.INP 

control file, in Input Group 6. These reference the coordinate system used to prepare the CTDMPLUS 

simulation to the system chosen for the CALPUFF simulation. XHILL2M and ZHILL2M are the 

conversion factors that scale the CTDMPLUS "user units" in the horizontal and vertical, respectively, to

meters. XCTDMKM and YCTDMKM define the location of the origin of the CTDMPLUS coordinate 

system in the CALPUFF coordinate system. The units used for this are kilometers. Hence, if UTM 

coordinates are used for both simulations, the origins of the two system are the same, and 

XCTDMKM=YCTDMKM=0. 

MAR 2006 – CALPUFF 

F-186
Table F-40 

Sample CTDMPLUS Terrain Feature File (HILL.DAT) 

 1 20 .5000E+03 CTSG Test Hill 

 .000 .5000E+04 .2067E-02 180.000 2498.000 2498.000

 24.000 .5000E+04 .1071E-02 180.000 2242.000 2242.000

 48.000 .5000E+04 .8304E-03 180.000 1986.000 1986.000

 72.000 .5000E+04 .4369E-03 180.000 1820.000 1820.000

 96.000 .5000E+04 .7918E-03 180.000 1692.000 1692.000

 120.000 .5000E+04 .3501E-03 180.000 1493.000 1493.000

 144.000 .5000E+04-.1282E-03 180.000 1410.000 1410.000

 168.000 .5000E+04 .1463E-03 180.000 1334.000 1334.000

 192.000 .5000E+04 .7370E-04 180.000 1263.000 1263.000

 216.000 .5000E+04 .3210E-03 180.000 1196.000 1196.000

 240.000 .5000E+04-.2209E-03 180.000 1071.000 1071.000

 264.000 .5000E+04 .1904E-03 180.000 1011.000 1011.000

 288.000 .5000E+04-.7684E-03 180.000 951.700 951.700 

 312.000 .5000E+04 .7754E-03 180.000 893.300 893.300 

 336.000 .5000E+04 .5356E-04 180.000 835.000 835.000 

 360.000 .5000E+04 .5811E-03 180.000 716.400 716.400 

 384.000 .5000E+04-.1251E-03 180.000 654.800 654.800 

 408.000 .5000E+04-.1892E-04 180.000 590.400 590.400 

 432.000 .5000E+04 .2414E-03 180.000 521.900 521.900 

 456.000 .5000E+04 .7710E-04 180.000 446.900 446.900 

 .000 .5000E+04 .2430E-03 180.000 2.859 2.859 959.101 959.101 

 24.000 .5000E+04 .1997E-03 180.000 3.039 3.039 914.047 914.047 

 48.000 .5000E+04 .1903E-03 180.000 3.232 3.232 872.399 872.399 

 72.000 .5000E+04 .1296E-03 180.000 3.472 3.472 832.424 832.424 

 96.000 .5000E+04 .1485E-03 180.000 3.853 3.853 792.979 792.979 

 120.000 .5000E+04 .8714E-04 180.000 3.281 3.281 779.560 779.560 

 144.000 .5000E+04 .1015E-03 180.000 3.439 3.439 743.594 743.594 

 168.000 .5000E+04 .1086E-03 180.000 3.639 3.639 707.754 707.754 

 192.000 .5000E+04 .9029E-04 180.000 3.920 3.920 671.777 671.777 

 216.000 .5000E+04 .1062E-03 180.000 4.416 4.416 635.301 635.301 

 240.000 .5000E+04 .1061E-03 180.000 3.541 3.541 620.841 620.841 

 264.000 .5000E+04 .5922E-04 180.000 3.727 3.727 584.737 584.737 

 288.000 .5000E+04 .2187E-03 180.000 3.981 3.981 547.935 547.935 

 312.000 .5000E+04 .2005E-03 180.000 4.371 4.371 510.250 510.250 

 336.000 .5000E+04 .9593E-04 180.000 5.127 5.127 471.649 471.649 

 360.000 .5000E+04 .6310E-04 180.000 3.752 3.752 449.211 449.211 

 384.000 .5000E+04 .1081E-03 180.000 4.012 4.012 406.554 406.554 

 408.000 .5000E+04 .1295E-03 180.000 4.418 4.418 361.177 361.177 

 432.000 .5000E+04 .1997E-03 180.000 5.163 5.163 312.371 312.371 

 456.000 .5000E+04 .7139E-04 180.000 6.957 6.957 259.205 259.205 

 

MAR 2006 – CALPUFF 

F-187
Table F-41 

Sample CTDMPLUS Receptor File (HILLRCT.DAT) 

CTSG 11 5057.00 1819.00 0.00 60.00 1 

CTSG 12 6110.92 1441.86 0.00 60.00 1 

CTSG 13 6744.54 518.94 0.00 60.00 1 

CTSG 14 6718.43 -600.22 0.00 60.00 1 

CTSG 15 6041.93 -1492.11 0.00 60.00 1 

CTSG 16 4971.64 -1819.50 0.00 60.00 1 

CTSG 17 3911.83 -1459.18 0.00 60.00 1 

CTSG 18 3263.93 -546.19 0.00 60.00 1 

CTSG 19 3272.78 573.16 0.00 60.00 1 

CTSG 20 3934.60 1476.13 0.00 60.00 1 

CTSG 31 5044.00 1410.00 0.00 140.00 1 

CTSG 32 5860.32 1116.84 0.00 140.00 1 

CTSG 33 6351.35 402.11 0.00 140.00 1 

CTSG 34 6331.27 -464.92 0.00 140.00 1 

CTSG 35 5807.34 -1156.04 0.00 140.00 1 

CTSG 36 4978.05 -1410.00 0.00 140.00 1 

CTSG 37 4157.13 -1130.30 0.00 140.00 1 

CTSG 38 3655.12 -423.18 0.00 140.00 1 

CTSG 39 3661.76 444.07 0.00 140.00 1 

CTSG 40 4174.62 1143.51 0.00 140.00 1 

CTSG 51 5036.00 1132.00 0.00 220.00 1 

CTSG 52 5691.56 896.77 0.00 220.00 1 

CTSG 53 6085.89 322.53 0.00 220.00 1 

CTSG 54 6069.21 -373.86 0.00 220.00 1 

CTSG 55 5648.17 -928.84 0.00 220.00 1 

CTSG 56 4982.05 -132.50 0.00 220.00 1 

CTSG 57 4322.81 -907.74 0.00 220.00 1 

CTSG 58 3919.67 -339.71 0.00 220.00 1 

CTSG 59 3925.21 356.75 0.00 220.00 1 

CTSG 60 4337.13 918.50 0.00 220.00 1 

CTSG 71 5028.00 893.00 0.00 300.00 1 

CTSG 72 5856.38 254.71 0.00 300.00 1 

CTSG 73 5511.36 -732.35 0.00 300.00 1 

CTSG 74 4465.87 -716.09 0.00 300.00 1 

CTSG 75 4151.82 281.47 0.00 300.00 1 

CTSG 86 5016.00 521.70 0.00 420.00 1 

CTSG 87 5499.93 148.95 0.00 420.00 1 

CTSG 88 5299.01 -427.66 0.00 420.00 1 

CTSG 89 4688.11 -418.57 0.00 420.00 1 

CTSG 90 4504.92 164.14 0.00 420.00 1 

CTSG 96 5000.00 0.00 0.00 500.00 1 

 

MAR 2006 – CALPUFF 

F-188
Table F-42 

HILL.DAT File - Record Group Structure 

 

Record 

Group * 

Columns Variable Type Description

1 6-7 NH integer Hill ID number 

1 9-10 NZ integer Number of critical elevations

1 21-30 HTP real Elevation of top of feature (user units) 

1 31-45 HNAME character Hill name

2 ** 1-10 ZH real Critical elevation (user units) 

2 11-20 XHW real X-coordinate of ellipse centroid (user units) 

2 21-30 YHW real Y-coordinate of ellipse centroid (user units) 

2 31-40 MAJORW real Orientation (deg) of major axis from North 

2 41-50 MAJAXW

Critical elevation (again) 

real Semi-major axis length (user units) 

2 51-60 MINAXW real Semi-minor axis length (user units) 

3 ** 1-10 ZH real

3 11-20 L(1) real X-coordinate of cut-off hill (user units) 

3 21-30 L(2) real Y-coordinate of cut-off hill (user units) 

3 31-40 MAJORL real Orientation (deg) of major axis of cut-off hill 

from North 

3 41-50 EXPOMA real Inverse polynomial exponent for major axis 

3 51-60 EXPOMI real Inverse polynomial exponent for minor axis 

3 61-70 SCALMA real Inverse polynomial length scale for major axis 

3 71-80 SCALMI real Inverse polynomial length scale for minor axis 

* Record groups are repeated for each hill in the file 

** There are NZ records for group 2 followed by NZ records for group 3

MAR 2006 – CALPUFF 

F-189
Table F-43 

HILLRCT.DAT File - Data Records 

(One record per CTSG receptor) 

Columns Variable Type Description

1-16

21-30 

31-40 

41-50 

51-60 

61-65 

RNAME 

XR 

YR 

ZR 

GE 

NH * 

character

real 

real 

real 

real 

integer 

Receptor name

X-coordinate (user units) 

Y-coordinate (user units) 

Height above ground (user units)

Ground-level elevation (user units) 

ID number of hill under this receptor 

* Receptors with NH=0 are ignored 

MAR 2006 – CALPUFF 

F-190
F.13 Subgrid Scale Coastal Boundary Data File (COASTLN.DAT) 

CALPUFF contains an option to treat subgrid scale coastal effects such as the development of a Thermal 

Internal Boundary Layer (TIBL) within an individual grid cell. The subgrid scale coastal module is 

controlled by the MSGTIBL variable in Input Group 2 of the control file. If MSGTIBL = 1, CALPUFF 

will introduce a subgrid scale TIBL along a coastal boundary specified in an external file 

(COASTLN.DAT) when appropriate meteorological conditions exist. The COASTLN.DAT file contains 

a set of points that serve to define the coastline. Multiple coastlines (up to "MXCOAST", see the 

PARAMS.PUF file) are allowed within a single file. 

The COASTLN.DAT file is a sequential, formatted data file (see Table F-44 for an example) consisting 

of two types of records: a single header record and a variable number of sets of data records. Each set of 

data records includes a record indicating the location of the water body relative to the coastline (i.e., left 

or right of the line as one travels in the direction of the data points in the file) and a variable number of 

records containing the coordinates of each point defining the coastline. 

MAR 2006 – CALPUFF 

F-191
Table F-44 

Sample Subgrid Scale Coastal Boundary Data File (COASTLN.DAT) 

'COASTLN', 2, 19, '5', 'test' 

 'WR','Atlantic' 

 242., 4568. 

 264., 4588. 

 270., 4574. 

 286., 4584. 

 298., 4602. 

 308., 4634. 

 316., 4646. 

 340., 4610. 

 354., 4624. 

 390., 4630. 

 370., 4648. 

 340., 4700. 

 356., 4738. 

 346., 4744. 

 394., 4822. 

 410., 4860. 

 454., 4862. 

 474., 4864. 

 'WL','Large Lake' 

 200., 4500. 

 176., 4588.

MAR 2006 – CALPUFF 

F-192
COASTLN.DAT File - Header Record

The header record of the COASTLN.DAT file contain the name, version, and label of the data set, the 

UTM zone of the coordinates, and the number of coastlines defined in the file (see Table F-45). A 

sample Fortran read statement for the header record is: 

 READ(iunit,*)FNAMEC,NCOAST,IUTMCST,VRSCST,LABCST 

where the following declaration applies: 

 CHARACTER*12 FNAMEC,VRSCST,LABCST.

MAR 2006 – CALPUFF 

F-193
Table F-45 

COASTLN.DAT - Header Record - General Data 

No. Variable Typea Description Sample

Values

1 FNAMEC C*12 Data set name COASTLN

2 NCOAST integer Number of coastlines in the file 2

3 ITUMCST integer UTM zone in which coastline coordinates are specified 

(enter 0 if using Lambert conformal coordinates) 

19 

4 VRSCST C*12 Data set version = CALPUFF version 5 

5 LABCST C*12 Data set label Test 

a

C*12 = Character*12 

MAR 2006 – CALPUFF 

F-194
COASTLN.DAT File - Data Records

* READ(iunit,*)ADIR, ALABEL 

The COASTLN.DAT file contains "NCOAST" groups of coastal coordinates and related data. Each 

group of records consists of a single data header record (see Table F-46) followed by a variable number of 

data records (see Table F-47) containing the X and Y coordinates of each point used to define the 

coastline. The number of coastlines (NCOAST) must not exceed the maximum number specified in the 

parameter file (MXCOAST), and the number of points used to define a coastline must not exceed its 

maximum (MXPTCST). See the PARAMS.PUF file for the specification of the MXCOAST and 

MXPTCST variables. 

Sample Fortran read statements for COASTLN.DAT data records are: 

+))) Loop over "NCOAST" coastlines (i) 

*

*

* +))) Loop over data points (j) 

* *

* * READ(iunit,*)XKM(i,j), YKM(i,j) 

* *

* .))) End loop over data points 

*

.))) End loop over coastlines 

where the following declarations apply:

 REAL XKM(mxcoast,mxptcst),YKM(mxcoast,mxptcst) 

 CHARACTER*2 ADIR

 CHARACTER*12 ALABEL

MAR 2006 – CALPUFF 

F-195
Table F-46 

COASTLN.DAT - Data Header Record Contents 

(Data header and data point set repeated for each coastline) 

No. Variable Typea Description

1 ADIR C*2 Flag indicating which side of the coastline water is 

located as one moves in the direction of the data 

points in the file (WR indicates water is on right

side, WL indicates water is on left side). 

2 ALABEL C*16 Character identifier or name of the water body 

a

C*2 = Character*2 

 C*16= Character*16 

MAR 2006 – CALPUFF 

F-196
Table F-47 

COASTLN.DAT - Data Record Contents 

(Data header and data point set repeated for each coastline) 

No. Variable Type Description

1 XKM real array X coordinate (km) of point defining coastline 

2 YKM real array Y coordinate (km) of point defining coastline 

MAR 2006 – CALPUFF 

F-197
F.14 Mass Flux Boundary Data File (FLUXBDY.DAT) 

When the IMFLX variable in Input Group 5 of the control file is 1, CALPUFF will compute the hourly

mass that crosses boundaries specified in the external file FLUXBDY.DAT. This file contains a set of 

points that serve to define one or more boundaries that separate regions. The mass is said to either pass 

into or out of a region depending on how the user defines "in" and "out" for each boundary. Multiple 

boundaries (up to "MXBNDRY", see the PARAMS.PUF file) are allowed within a single file. 

The FLUXBDY.DAT file is a sequential, formatted data file (see Table F-48 for an example) consisting 

of two types of records: a single header record and a variable number of sets of data records. Each set of 

data records includes one record that establishes which side of the boundary is considered "in" and 

provides a name for the boundary, and a variable number of records containing the coordinates (km) of 

each point defining the boundary. 

The side of the boundary that is considered "in" may lie either to the left or the right of the boundary as 

one travels in the direction of the data points provided in the file. The choice is made by specifying either 

IR to indicate that the region to the right is inside, or by specifying IL to indicate that the region to the left 

is inside. 

MAR 2006 – CALPUFF 

F-198
Table F-48 

Sample Mass Flux Boundary Data File (FLUXBDY.DAT) 

'FLUXBDY', 4, 19, ' 5 ', 'test ' 

'IR','Square 1KM Box' 

298., 4629. 

298., 4631. 

300., 4631. 

300., 4629. 

298., 4629. 

'IL','Diamond 1KM Box' 

299., 4629. 

298., 4630. 

299., 4631. 

300., 4630. 

299., 4629. 

'IR','Square 5KM Box' 

294., 4625. 

294., 4635. 

304., 4635. 

304., 4625. 

294., 4625. 

'IL','Diamond 5KM Box' 

299., 4625. 

294., 4630. 

299., 4635. 

304., 4630. 

299., 4625. 

MAR 2006 – CALPUFF 

F-199
FLUXBDY.DAT File - Header Record

The header record of the FLUXBDY.DAT file contains the name, version, and label of the data set, the 

UTM zone of the coordinates, and the number of boundaries defined in the file (see Table F-49). A 

sample Fortran read statement for the header record is: 

 READ(iunit,*)DATATYPE,NBNDRY,IUTMBDY,VRSBDY,LABBDY

where the following declaration applies: 

 CHARACTER*12 DATATYPE,VRSBDY,LABBDY.

MAR 2006 – CALPUFF 

F-200
Table F-49 

FLUXBDY.DAT - Header Record - General Data 

No. Variable Typea Description Sample

Values

1 DATATYPE C*12 Data set name FLUXBDY

2 NBNDRY integer Number of boundaries in the file 2

3 ITUMBDY integer UTM zone in which boundary coordinates are specified

(enter 0 if using Lambert conformal coordinates) 

19 

4

LABBDY 

VRSBDY C*12 Data set version "5"

5 C*12 Data set label "Test" 

a

C*12 = Character*12 

MAR 2006 – CALPUFF 

F-201
Sample Fortran read statements for FLUXBDY.DAT data records are: 

FLUXBDY.DAT File - Data Records

The FLUXBDY.DAT file contains "NBNDRY" groups of boundary coordinates and related data. Each 

group of records consists of a single data header record (see Table F-50) followed by a variable number of 

data records (see Table F-51) containing the X and Y coordinates of each point used to define the 

boundary. The number of boundaries (NBNDRY) must not exceed the maximum number specified in 

the parameter file (MXBNDRY), and the number of points used to define a boundary must not exceed its 

maximum (MXPTBDY). See the PARAMS.PUF file for the specification of the MXBNDRY and 

MXPTBDY variables. 

+))) Loop over "NBNDRY" boundaries (i) 

*

* READ(iunit,*)ADIR, ALABEL 

*

* +))) Loop over data points (j) 

* *

* * READ(iunit,*)XKM(i,j), YKM(i,j) 

* *

* .))) End loop over data points 

*

.))) End loop over boundaries 

where the following declarations apply:

 REAL XKM(mxbndry,mxptbdy),YKM(mxbndry,mxptbdy) 

 CHARACTER*2 ADIR

 CHARACTER*12 ALABEL

MAR 2006 – CALPUFF 

F-202
Table F-50 

FLUXBDY.DAT - Data Header Record Contents 

(Data header and data point set repeated for each boundary) 

No. Variable Typea Description

1 ADIR C*2 Flag indicating which side of the boundary is

considered "in" as one moves in the direction of the 

data points in the file (IR indicates "in" is on right 

side, IL indicates "in" is on left side). 

2 ALABEL C*16 Character identifier or name of the boundary

a

C*2 = Character*2 

 C*16= Character*16 

MAR 2006 – CALPUFF 

F-203
Table F-51 

FLUXBDY.DAT - Data Record Contents 

(Data header and data point set repeated for each boundary) 

No. Variable Type Description

1 XKM real array X coordinate (km) of point defining boundary 

2 YKM real array Y coordinate (km) of point defining boundary 

MAR 2006 – CALPUFF 

F-204
F.15 CALPUFF Output Files 

F.15.1 List File (CALPUFF.LST) 

The general list file for your CALPUFF run, CALPUFF.LST, is an ASCII text file that may be viewed by

any standard text editor, or printed to any standard printer. It provides the primary means of documenting 

the CALPUFF application, and it also contains all warning messages that may have been generated by the 

application. Note that some problems detected by CALPUFF result in fatal error messages (the requested 

modeling period is not simulated), while other problems are not severe enough to halt the run, and 

warning messages are written to the list file. Warning messages may be located throughout the file, 

whereas fatal error messages are at the end (because the run is halted). Therefore, the list file should 

always be reviewed. 

The contents of the control file are echoed to the first part of the list file, and header records from each 

external data file for the run follow. In the case of CALMET.DAT, the header records include all of the 

time-invariant data fields, so that the file can become quite large when large CALMET grids are used. 

The remainder of the list file contains any hourly concentrations and deposition fluxes that are selected 

for output to the “printer”. This selection is made in Input Group 5 (see Section F.1) where ICPRT, 

IDPRT, and IWPRT identify the types of data selected; ICFRQ, IDFRQ, and IWFRQ identify the interval 

(in hours) between the data written to the list file; and IPRTU identifies the units used for this output. 

The species written are also explicitly selected here. Because the primary data files produced by

CALPUFF are CONC.DAT, DFLX.DAT. and WFLX.DAT, which are processed by CALPOST, any data 

sent to the list file are generally for making spot-checks prior to the post-processing step, or for viewing 

the results of very short runs. 

The debug option, controlled by LDEBUG, IPFDEB, NPFDEB, NN1, and NN2 in Input Group 5, also 

places a good deal of information in the list file. Much of this uses internal parameter names, and is most 

useful for those who are tracing the treatment of a few specific puffs through the many CALPUFF 

subroutines, or for those who are preparing a run and want to obtain more information during the setup 

phase (use ITEST=1 in Input Group 1 to stop the run before going into the computational phase). If many

puffs are traced (NPFDEB) over many modeling periods (NN1 to NN2), the list file will become huge. A 

limited set of puff information is also written to DEBUG.DAT each sampling step when the debug option 

is selected. This file is described in Section F.15.7. 

F.15.2 Restart File (RESTARTE.DAT) 

Information for all puffs that are still within the computational grid at the end of a CALPUFF run can be 

saved to disk in RESTARTE.DAT to initialize a continuation run. This allows CALPUFF to properly

account for “old” material within the modeling domain at the start of the continuation run. This restart 

file may also be refreshed periodically during a run, as configured by NRESPD in Input Group 1 of the 

control file (see Section F.1). RESTARTE.DAT is an unformatted data file that contains information 

MAR 2006 – CALPUFF 

F-205
about the modeling grid, the date and time at the end of the period simulated, and all of the internal puff 

array data at the end of the simulation. Note that this file becomes the RESTARTB.DAT input file for the 

continuation run, and that all CALPUFF output files for the continuation run are “new”. For example, if a 

full year is simulated in four quarterly CALPUFF runs with three restart files, there will be four 

concentration files rather than one. 

 

F.15.3 Concentration File (CONC.DAT) 

The CONC.DAT file is an unformatted data file containing concentrations of one or more species 

simulated by CALPUFF at each receptor, for each period in the run. The creation and contents of the 

CONC.DAT file are controlled by user-specified inputs in Input Group 5 of the control file (see Section 

F.1). The control file variable ICON must be set equal to one in order to create the CONC.DAT file, and 

the file will contain only those species that are specifically “saved on disk”. 

CONC.DAT File - Header Records

The CONC.DAT file consists of as many as NCOM+15 header records followed by a set of data records. 

The header records contain information describing the version of the model used in the run creating the 

file, horizontal and vertical grid data, a user-input title, a list of the species combinations stored in the 

output file, receptor information, and source names (see Table F-52). NCOM, provided in record 2, 

defines the number of comment records that are present. Comment records are used to transfer the image 

of CALMET and CALPUFF control files used in the simulation for documentation and QA purposes. 

Sample FORTRAN read statements for the header records are: 

 READ(iunit) DATASET,DATAVER,DATAMOD 

 READ(iunit) NCOM 

 DO n=1,NCOM

 4 I2DMET,IUTMZN,FEAST,FNORTH,RNLAT0,RELON0,

 IF(NDREC.GT.0) READ(iunit)XREC,YREC,ZREC

 IF(NCTREC.GT.0) READ(iunit)XRCT,YRCT,ZRCT,IHILL

 IF(NPT2.GT.0) READ(iunit)ISTYPE,CNAMPT2 

 READ(iunit) COMMENT

 ENDDO

 READ(iunit)CMODEL,VER,LEVEL,IBYR,IBJUL,IBHR,IBSEC,XBTZ,

 1 IRLG,IAVG,NSECDT,NXM,NYM,DXKM,DYKM,IONE,XORIGKM,YORIGKM,NSSTA,IBCOMP,IECOMP,

 2 JBCOMP,JECOMP,IBSAMP,JBSAMP,IESAMP,JESAMP,MESHDN,NPT1,NPT2,NAR1,NAR2,NLN1,NLN2,

 3 NVL1,NVL2,MSOURCE,NREC,NCTREC,LSAMP,NSPOUT,LCOMPR, 

 5 XLAT1,XLAT2,PMAP,UTMHEM,DATUM,DATEN,

 6 CLAT0,CLON0,CLAT1,CLAT2 

 READ(iunit)TITLE 

 READ(iunit)CSOUT 

 IF(NPT1.GT.0) READ(iunit)ISTYPE,CNAMPT1 

 IF(NAR1.GT.0) READ(iunit)ISTYPE,CNAMAR1 

 IF(NAR2.GT.0) READ(iunit)ISTYPE,CNAMAR2 

IF(N LN1.GT.0) READ(iunit)ISTYPE,CNAMLN1

 IF(NLN2.GT.0) READ(iunit)ISTYPE,CNAMLN2

 IF(NVL1.GT.0) READ(iunit)ISTYPE,CNAMVL1 

 IF(NVL2.GT.0) READ(iunit)ISTYPE,CNAMVL2 

MAR 2006 – CALPUFF 

F-206
where the following declarations apply:

 Character*64 DATAMOD 

 Character*16 CNAMPT1(MXPT1),CNAMPT2(MXPT2), CNAMAR1(MXAREA),CNAMAR2(MXAREA) 

 Logical LCOMPR

 Character*132 COMMENT 

 Character*80 TITLE(3) 

Character*16 DATASET, DATAVER, CLAT0, CLON0, CLAT1, CLAT2 

 Character*16 CNAMLN1(MXLINES),CNAMLN2(MXLNGRP), CNAMVL1(MXVOL),CNAMVL2(MXVOL) 

 Character*15 CSOUT(NSPOUT) 

 Character*12 CMODEL,VER,LEVEL, DATEN

Character*8 PMAP, DATUM 

 Character*4 UTMHEM 

 Real XREC(NREC),YREC(NREC),ZREC(NREC) 

 Real XRCT(NCTREC),YRCT(NCTREC),ZRCT(NCTREC) 

 Integer IHILL(NCTREC) 

MAR 2006 – CALPUFF 

F-207
Table F-52 

Unformatted CONC.DAT file - Header 

No. Variable 

Header Record 1 – Dataset Definition 

Type Description Sample 

Values 

1 DATASET Character*16 Dataset name CONC.DAT 

2 DATAVER Character *16 Dataset version 2.1 

3 DATAMOD Character *64 Dataset message field - 

Header Record 2 to (NCOM+2) – Comments 

No. Variable Type Description Sample 

Values 

1 NCOM integer Number of comment records to follow - 

1 COMMENT Character *132 Comment (repeated NCOM times) - 

MAR 2006 – CALPUFF 

F-208
Table F-52 (Continued) 

Unformatted CONC.DAT file - Header Record NCOM+3 - General Data 

No. Variable Typea Description Sample

Values

1 CMODEL C*12 Model name CALPUFF

2 VER C*12 Model version number 5.72 

3 LEVEL C*12 Model level number 031017

4 IBYR integer Starting year of the run 1980

5 IBJUL integer Starting Julian day 183

6 IBHR integer Time at start of first period (hour 00-23 LST) 8 

7 IBSEC integer Time at start of first period (second 0000-3599 ) 0000

8 

10 

Averaging time (timesteps) of output concentrations 

1800

integer 

15 Grid spacing (km) in the Y direction 

16 

integer 

Start of computational grid in X direction 

End of computational grid in Y direction 

integer 

XBTZ real Base time zone (LST+XBTZ=UTC) 6.0 

9 IRLG integer Length of run (timesteps) 

10 IAVG integer 2 

11 NSECDT integer Length of a timestep (seconds) 

12 NXM Number of grid points in meteorological grid (X 

direction) 

20 

13 NYM integer Number of grid points in meteorological grid (Y 

direction) 

20 

14 DXKM real Grid spacing (km) in the X direction 5. 

DYKM real 5. 

IONE integer Number of receptor layers (must be equal to one for

CALPUFF runs) 

1 

17 XORIGKM real Reference X coordinate (km) of the southwest corner of 

grid cell (1,1) of the meteorological grid

190. 

18 YORIGKM real Reference Y coordinate (km) of the southwest corner of 

grid cell (1,1) of the meteorological grid

440. 

19 NSSTA Number of surface meteorological stations 5 

20 IBCOMP integer 1 

21 IECOMP integer End of computational grid in X direction 20 

22 JBCOMP integer Start of computation grid in the Y direction 1 

23 JECOMP integer 20 

24 IBSAMP Start of sampling grid in X direction 1

25 JBSAMP integer Start of sampling grid in Y direction 1

a

C*12 = Character*12 

MAR 2006 – CALPUFF 

F-209
Table F-52 (Continued) 

Unformatted CONC.DAT file - Header Record NCOM+3 - General Data

No. Variable Typea Description Sample

Values

26 IESAMP integer End of sampling grid in X direction 20 

27 JESAMP integer End of sampling grid in Y direction 20 

28 MESHDN integer Sampling grid spacing factor 1 

29 NPT1 integer Number of point sources (control file) 2

30 NPT2 integer Number of point sources (variable emissions file) 0 

NAR1 

32 

0 

Number of line sources (variable emissions file) 

integer 

43

1 = relative humidity at grid points (2D) 

real

31 integer Number of area sources (control file) 0 

NAR2 integer Number of area sources (variable emissions file) 0 

33 NLN1 integer Number of line sources (control file) 

34 NLN2 integer 0 

35 NVL1 Number of volume sources (control file) 0 

36 NVL2 integer Number of volume sources (variable emissions file) 0 

37 MSOURCE integer Individual source contribution flag : 

0 = report just the total 

1 = report individual contributions and the total

0 

38 NDREC integer number of discrete receptors 0 

39 NCTREC integer Number of complex terrain receptors 0 

40 LSAMP logical Sampling grid flag (T = gridded receptors used, 

F = no gridded receptors) 

T 

41 NSPOUT integer Number of output species 5 

42 LCOMPR logical Flag indicating if concentration data are compressed

(T=yes, F=no)

T 

I2DMET integer RH data flag: 

0 = relative humidity at surface stations (1D) 1 

44 IUTMZN integer UTM zone (1-60) 19 

45 FEAST real False Easting of map projection (km) 0.0 

46 FNORTH real False Northing of map projection (km) 0.0 

47 RNLAT0 real N. latitude of origin of map projection (degrees) 45.8 

48 RELON0 real E. longitude of origin of map projection (degrees) -75.2 

49 XLAT1 real Matching N. latitude #1 of map projection (degrees) 30.0 

50 XLAT2 Matching N. latitude #2 of map projection (degrees) 60.0 

a C*N = Character*N 

MAR 2006 – CALPUFF 

F-210
Table F-52 (Continued) 

Unformatted CONC.DAT file - Header Record NCOM+3 - General Data

No. Variable Typea Description Sample

Values

51 PMAP C*8 Map projection UTM

52 UTMHEM C*4 Hemisphere (N or S) for UTM projection N 

53 DATUM C*8 Datum code WGS-84

54 DATEN C*12 NIMA date (MM-DD-YYYY) for datum definitions 10-10-2002

55 CLAT0 C*16 Latitude of origin of map projection 45.8N 

56 CLON0 C*16 Longitude of origin of map projection 75.2W 

57 CLAT1 C*16 Matching latitude #1 of map projection 30N 

58 CLAT2 C*16 Matching latitude #2 of map projection 60N 

a C*N = Character*N 

MAR 2006 – CALPUFF 

F-211
Table F-52 (Continued) 

Unformatted CONC.DAT file - Header 

Header Record NCOM+4 - Run Title 

No. Variable Typea Description

1 TITLE (3) C*80 User-specified run title (three lines of up to 80

characters/line) 

a C*80 = Character*80 

Header Record NCOM+5 - List of Species in Output File 

No. Variable Typea Description

1-NSPEC CSOUT

array

C*15 Species name (characters 1-12) and layer (characters 13-15) 

of concentrations stored in the output file. 

For example b

, "SO2...........1" indicates SO2

concentrations in Layer 1; "DIOXINP.......1" indicates 

dioxin in particulate form in Layer 1. CALPUFF 

concentrations are always computed at ground-level, so 

therefore are labeled as Layer 1, but there can be up to NZ

layers in CALGRID.).

a C*15 = Character*15

b

Dots (....) indicate spaces. 

MAR 2006 – CALPUFF 

F-212
Table F-52 (Continued) 

Unformatted CONC.DAT file - Header 

Header Record NCOM+6 - Discrete Receptors 

(Included only if NDREC > 0) 

No. Variable Type Description

1 XREC real array X-coordinate (km) of each discrete receptor

2 YREC real array Y-coordinate (km) of each discrete receptor

3 ZREC real array Ground level elevation (m) of each discrete receptor 

Header Record NCOM+7 - Complex Terrain Receptors

(Included only if NCTREC > 0) 

No. Variable Type Description

1 XRCT real array X-coordinate (km) of each complex terrain receptor 

2 YRCT

ZRCT 

real array Y-coordinate (km) of each complex terrain receptor 

3 real array Ground level elevation (m) of each complex terrain receptor 

4 IHILL integer array Hill number associated with this receptor 

MAR 2006 – CALPUFF 

F-213
Table F-52 (Continued) 

Unformatted CONC.DAT file - Header 

Header Record NCOM+8 – Point Source Names (Control File) 

(Included only if NPT1 > 0)

No. Variable Type Description

1 ISTYPE integer Source type (1) 

2 CNAMPT1 C*16 array Source names 

 C*16 = Character*16

Header Record NCOM+9 - Point Source Names (Variable Emissions File) 

(Included only if NPT2 > 0)

No. Variable Type Description

1 ISTYPE integer Source type (2) 

2 CNAMPT2 C*16 array Source names 

 C*16 = Character*16

MAR 2006 – CALPUFF 

F-214
Table F-52 (Continued) 

Unformatted CONC.DAT file - Header 

Header Record NCOM+10 – Area Source Names (Control File) 

(Included only if NAR1 > 0) 

No. Variable Type Description

1 ISTYPE integer Source type (3) 

2 CNAMAR1 C*16 array Source names 

 C*16 = Character*16

Header Record NCOM+11 - Area Source Names (Variable Emissions File) 

(Included only if NAR2 > 0) 

No. Variable Type Description

1 ISTYPE integer Source type (4) 

2 CNAMAR2 C*16 array Source names 

 C*16 = Character*16

MAR 2006 – CALPUFF 

F-215
Table F-52 (Continued) 

Unformatted CONC.DAT file - Header 

Header Record NCOM+12 – Line Source Names (Control File) 

(Included only if NLN1 > 0) 

No. Variable Type Description

1 ISTYPE integer Source type (5) 

2 CNAMLN1 C*16 array

Variable

Source names 

 C*16 = Character*16

Header Record NCOM+13 - Line Source Names (Variable Emissions File) 

(Included only if NLN2 > 0) 

No. Type Description

1 ISTYPE integer Source type (6) 

2 CNAMLN2 C*16 array Source names 

 C*16 = Character*16

MAR 2006 – CALPUFF 

F-216
Table F-52 (Concluded) 

Unformatted CONC.DAT file - Header 

Header Record NCOM+14 – Volume Source Names (Control File) 

(Included only if NVL1 > 0) 

No. Variable Type Description

1 ISTYPE integer Source type (7) 

2 CNAMVL1 C*16 array Source names 

 C*16 = Character*16

Header Record NCOM+15 - Volume Source Names (Variable Emissions File) 

(Included only if NVL2 > 0) 

No. Variable Type Description

1 ISTYPE integer Source type (8) 

2 CNAMVL2 C*16 array Source names 

 C*16 = Character*16

MAR 2006 – CALPUFF 

F-217
CONC.DAT File - Data Records

* COMPLEX TERRAIN RECEPTOR CONCENTRATIONS

0.0, 0.0, 0.0, 0.0, 0.0, 1.2, 3.5, 0.0, 0.0, 0.0, 

0.0, 0.0, 0.0, 0.7, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0 

The CONC.DAT data records consist of "NSPOUT+2" sets of records for each hour of the CALPUFF run 

and for each source for each hour of the CALPUFF run if the source contribution option is selected 

(NSPOUT is the number of output species in the CALPUFF run). The first record of each set contains 

the date and time period, and the second contains the identity of the source of the data in the records 

which follow it. The next "NSPOUT" record groups contain the predicted concentrations in g/m3

, for 

each species flagged for output in the control file. If the source contribution option is active, there will be 

one output record set for each source, followed by an additional record set for the total due to all sources. 

The source name used for the total due to all sources is “TOTAL”, the type is “0”, and the number is “1”. 

Table F-53 describes the variables. 

Sample FORTRAN read statements for one data record set (in uncompressed format) are: 

 READ(iunit)nyrb,njulb,nhrb,nsecb,nyre,njule,nhre,nsece 

 READ(iunit) istype,isnum,sname,sxkm,sykm

+)) LOOP OVER OUTPUT SPECIES 

*

* GRIDDED RECEPTOR CONCENTRATIONS 

* IF(LSGRID)READ(iunit)CSPECG,CONCG

*

* DISCRETE RECEPTOR CONCENTRATIONS 

* IF(NDREC.GT.0)READ(iunit)CSPECD,CONCD 

*

* IF(NCTREC.GT.0)READ(iunit)CSPECCT,CONCCT

*

.)) END LOOP OVER OUTPUT SPECIES 

where the following declarations apply:

 Character*15 CSPECG,CPSECD,CSPECCT 

 Character*16 SNAME 

 Real CONCG(nxg,nyg),CONCD(NDREC),CONCCT(NCTREC) 

and 

nxg = IESAMP - IBSAMP+1 

nyg = JESAMP - JBSAMP+1 

CALPUFF contains an option to compress the data by replacing strings of zeroes with a coded repetition 

factor. The factor is a negative number whose absolute value indicates the number of consecutive zeroes 

that have been replaced by the repetition factor. This method is especially useful in reducing the size of 

the output file when large segments of the receptor arrays lie upwind of the puffs during an hour, thereby

producing long strings of zeroes in the output arrays. For example, the following record with data for 20 

receptors requires 20 unpacked words: 

These data in packed form would be represented in six words: 

-5., 1.2, 3.5, -6., 0.7, -6. 

MAR 2006 – CALPUFF 

F-218
Table F-53 

Unformatted CONC.DAT File - Data Records 

(Records 1 and 2 of each set) 

No. Variable Type Description (Record 1)

1 NYRB integer Year (4 digits) at start of averaging period 

2 NJULB integer Julian day at start of averaging period 

3 NHRB integer Hour (00-23 LST) at start of averaging period 

4 NSECB integer Second (0000-3599 LST) at start of averaging period 

5 NYRE integer Year (4 digits) at end of averaging period 

6 NJULE integer Julian day at end of averaging period 

7 NHRE integer Hour (00-23 LST) at end of averaging period

8 NSECE integer Second (0000-3599 LST) at start of averaging period 

No. Variable Typea Description (Record 2)

1 ISTYPE integer Source type

2 ISNUM integer Source number of this type

3 SNAME C*16 Source name

4 SXKM real Source X-coordinate (km) in the modeling map projection

5 SYKM real Source Y-coordinate (km) in the modeling map projection

a

 C*16 = Character*16 

(Next Data Record) 

(Included only if LSAMP = TRUE) 

No. Variable Typea Description

1 CSPECG C*15 Species name (characters 1-12) and layer (characters 13-15) of

the concentrations in this record.

For example b

, "SO2...........1" indicates SO2

concentrations in Layer 1; "DIOXINP.......1" indicates 

dioxin in particulate form in Layer 1. (Note: Layer is always 1 

in CALPUFF output, but can be up to NZ in CALGRID.)

Next 

NXG*NYG

CONCG real array "IAVG" - hour averaged concentrations (g/m3) for each 

sampling grid point. 

a

 C*15 = Character*15

b

 Dots (....) indicate spaces. 

MAR 2006 – CALPUFF 

F-219
Table F-53 (Concluded) 

Unformatted CONC.DAT File - Data Records 

(Next Data Record) 

(Included only if NDREC > 0) 

No. Variable Typea Description

1 CSPECD C*15 Species name (characters 1-12) and layer (characters 13-15) 

of the concentrations in this record.

For example b

, "SO2...........1" indicates SO2

concentrations in Layer 1; "DIOXINP.......1" 

indicates dioxin in particulate form in Layer 1. (Note:

Layer is always 1 in CALPUFF output, but can be up to NZ

in CALGRID.)

Next 

NDREC 

CONCD real array "IAVG" - hour averaged concentrations (g/m3) for each 

discrete receptor 

a

 C*15 = Character*15

(Next Data Record) 

(Included only if NCTREC > 0) 

No. Variable Type Description

1 CSPECCT C*15 Species name (characters 1-12) and layer (characters 13-15) 

of the concentrations in this record.

For example b

, "SO2...........1" indicates SO2

concentrations in Layer 1; "DIOXINP.......1" 

indicates dioxin in particulate form in Layer 1. (Note:

Layer is always 1 in CALPUFF output, but can be up to NZ

in CALGRID.)

Next NCTREC CONCCT real array "IAVG" - hour averaged concentrations (g/m3) at each 

complex terrain (CTSG) receptor

a

 C*15 = Character*15

b

 Dots (....) indicate spaces. 

MAR 2006 – CALPUFF 

F-220
F.15.4 Dry Flux File (DFLX.DAT) 

The DFLX.DAT file is an unformatted data file containing dry deposition fluxes of one or more species 

simulated by CALPUFF at each receptor, for each period in the run. The creation and contents of the 

DFLX.DAT file are controlled by user-specified inputs in Input Group 5 of the control file (see Section 

F.1). 

The control file variable IDRY must be set equal to one in order to create the DFLX.DAT file. The 

species saved in the output file are also controlled by the user by setting flags in the output species table 

in Input Group 5 of the control file. The model checks that only deposited species are flagged for output 

into the DFLX.DAT file. The effects of dry deposition on ambient concentrations can be evaluated 

without saving the dry fluxes in the output file if the actual values of the deposition fluxes are not of 

interest. 

DFLX.DAT File - Header Records

The DFLX.DAT file consists of NCOM+7 header records followed by a set of data records. The header 

records contain information describing the version of the model used in the run creating the file, 

horizontal and vertical grid data, a user-input title, a list of the species combinations stored in the output 

file, and receptor information (see Table F-54). NCOM, provided in record 2, defines the number of 

comment records that are present. Comment records are used to transfer the image of CALMET and 

CALPUFF control files used in the simulation for documentation and QA purposes. 

Sample FORTRAN read statements for the header records are: 

 READ(iunit) DATASET,DATAVER,DATAMOD 

 READ(iunit) NCOM 

 DO n=1,NCOM

 READ(iunit) COMMENT 

 ENDDO

 READ(iunit)CMODEL,VER,LEVEL,IBYR,IBJUL,IBHR,IBSEC,XBTZ,

 1 IRLG,IAVG,NSECDT,NXM,NYM,DXKM,DYKM,IONE,XORIGKM,YORIGKM,NSSTA,IBCOMP,IECOMP,

 2 JBCOMP,JECOMP,IBSAMP,JBSAMP,IESAMP,JESAMP,MESHDN,NPT1,NPT2,NAR1,NAR2,NLN1,NLN2,

 3 NVL1,NVL2,MSOURCE,NREC,NCTREC,LSAMP,NDFOUT,LCOMPR,

 4 I2DMET,IUTMZN,FEAST,FNORTH,RNLAT0,RELON0, 

 5 XLAT1,XLAT2,PMAP,UTMHEM,DATUM,DATEN, 

 6 CLAT0,CLON0,CLAT1,CLAT2

 READ(iunit)TITLE 

 READ(iunit)CDFOUT 

 IF(NDREC.GT.0) READ(iunit)XREC,YREC,ZREC

 IF(NCTREC.GT.0) READ(iunit)XRCT,YRCT,ZRCT,IHILL

 IF(NPT1.GT.0) READ(iunit)ISTYPE,CNAMPT1 

 IF(NPT2.GT.0) READ(iunit)ISTYPE,CNAMPT2 

 IF(NAR1.GT.0) READ(iunit)ISTYPE,CNAMAR1 

 IF(NAR2.GT.0) READ(iunit)ISTYPE,CNAMAR2 

 IF(N LN1.GT.0) READ(iunit)ISTYPE,CNAMLN1 

 IF(NLN2.GT.0) READ(iunit)ISTYPE,CNAMLN2 

 IF(NVL1.GT.0) READ(iunit)ISTYPE,CNAMVL1 

 IF(NVL2.GT.0) READ(iunit)ISTYPE,CNAMVL2 

where the following declarations apply:

MAR 2006 – CALPUFF 

F-221
 Character*132 COMMENT 

 Character*80 TITLE(3) 

 Character*64 DATAMOD 

Character*16 DATASET, DATAVER, CLAT0, CLON0, CLAT1, CLAT2 

 Character*16 CNAMPT1(MXPT1),CNAMPT2(MXPT2), CNAMAR1(MXAREA),CNAMAR2(MXAREA) 

 Character*16 CNAMLN1(MXLINES),CNAMLN2(MXLNGRP), CNAMVL1(MXVOL),CNAMVL2(MXVOL) 

 Character*15 CSOUT(NDFOUT)

 Character*12 CMODEL,VER,LEVEL, DATEN

Character*8 PMAP, DATUM 

 Character*4 UTMHEM 

 Real XREC(NREC),YREC(NREC),ZREC(NREC) 

 Real XRCT(NCTREC),YRCT(NCTREC),ZRCT(NCTREC) 

 Integer IHILL(NCTREC) 

 Logical LCOMPR

MAR 2006 – CALPUFF 

F-222
Table F-54 

Unformatted DFLX.DAT file - Header 

Header Record 1 – Dataset Definition 

No. Variable Type Description Sample 

Values 

1 DATASET Character*16 Dataset name DFLX.DAT

2 DATAVER Character *16 Dataset version 2.1 

3 DATAMOD Character *64 Dataset message field - 

Header Record 2 to (NCOM+2) – Comments 

No. Variable Type Description Sample 

Values 

1 NCOM integer Number of comment records to follow - 

1 COMMENT Character *132 Comment (repeated NCOM times) - 

MAR 2006 – CALPUFF 

F-223
Table F-54 (Continued) 

Unformatted DFLX.DAT file - Header Record NCOM+3 - General Data 

No. Variable Typea Description Sample

Values

1 CMODEL C*12 Model name CALPUFF

2 VER C*12 Model version number 5.72 

3 LEVEL C*12 Model level number 031017

4 IBYR integer Starting year of the run 1980

5 IBJUL integer Starting Julian day 183

6 IBHR integer Time at start of first period (hour 00-23 LST) 8 

Time at start of first period (second 0000-3599 )

10 

Length of a timestep (seconds) 

NYM integer 

15 

Reference X coordinate (km) of the southwest corner of 

grid cell (1,1) of the meteorological grid

440. 

NSSTA 

IBSAMP 

25

7 IBSEC integer 0000

8 XBTZ real Base time zone (LST+XBTZ=UTC) 6.0 

9 IRLG integer Length of run (timesteps) 10 

IAVG integer Averaging time (timesteps) of output concentrations 2 

11 NSECDT integer 1800

12 NXM integer Number of grid points in meteorological grid (X 

direction) 

20 

13 Number of grid points in meteorological grid (Y 

direction) 

20 

14 DXKM real Grid spacing (km) in the X direction 5. 

DYKM real Grid spacing (km) in the Y direction 5. 

16 IONE integer Number of receptor layers (must be equal to one for

CALPUFF runs) 

1 

17 XORIGKM real 190. 

18 YORIGKM real Reference Y coordinate (km) of the southwest corner of 

grid cell (1,1) of the meteorological grid

19 integer Number of surface meteorological stations 5 

20 IBCOMP integer Start of computational grid in X direction 1 

21 IECOMP integer End of computational grid in X direction 20 

22 JBCOMP integer Start of computation grid in the Y direction 1 

23 JECOMP integer End of computational grid in Y direction 20 

24 integer Start of sampling grid in X direction 1

JBSAMP integer Start of sampling grid in Y direction 1

a

C*12 = Character*12 

MAR 2006 – CALPUFF 

F-224
Table F-54 (Continued) 

Unformatted DFLX.DAT file - Header Record NCOM+3 - General Data

Typea No. Variable Description Sample

Values

26 IESAMP integer End of sampling grid in X direction 20 

27 JESAMP integer End of sampling grid in Y direction 20 

NPT2

0 

Number of volume sources (variable emissions file) 

integer 

38 

0 

Sampling grid flag (T = gridded receptors used, 

NDFOUT 

0 = relative humidity at surface stations (1D) 

IUTMZN

45 FEAST 

48 

30.0 

28 MESHDN integer Sampling grid spacing factor 1 

29 NPT1 integer Number of point sources (control file) 2

30 integer Number of point sources (variable emissions file) 0 

31 NAR1 integer Number of area sources (control file) 0 

32 NAR2 integer Number of area sources (variable emissions file) 0 

33 NLN1 integer Number of line sources (control file) 0 

34 NLN2 integer Number of line sources (variable emissions file) 0 

35 NVL1 integer Number of volume sources (control file) 

36 NVL2 integer 0 

37 MSOURCE Individual source contribution flag : 

0 = report just the total 

1 = report individual contributions and the total

0 

NREC integer number of discrete receptors 0 

39 NCTREC integer Number of complex terrain receptors 

40 LSAMP logical

F = no gridded receptors) 

T 

41 integer Number of output species 5 

42 LCOMPRS logical Flag indicating if concentration data are compressed

(T=yes, F=no)

T 

43 I2DMET integer RH data flag: 

1 = relative humidity at grid points (2D) 

1 

44 integer UTM zone (1-60) 19 

real False Easting of map projection (km) 0.0 

46 FNORTH real False Northing of map projection (km) 0.0 

47 RNLAT0 real N. latitude of origin of map projection (degrees) 45.8 

RELON0 real E. longitude of origin of map projection (degrees) -75.2 

49 XLAT1 real Matching N. latitude #1 of map projection (degrees) 

50 XLAT2 real Matching N. latitude #2 of map projection (degrees) 60.0 

a C*N = Character*N 

MAR 2006 – CALPUFF 

F-225
Table F-54 (Continued) 

Unformatted DFLX.DAT file - Header Record NCOM+3 - General Data

No. Variable Sample 

Values

Typea Description

51 PMAP C*8 Map projection UTM

52 UTMHEM C*4 Hemisphere (N or S) for UTM projection N 

53 DATUM C*8 Datum code WGS-84

54 DATEN C*12 NIMA date (MM-DD-YYYY) for datum definitions 10-10-2002

55 CLAT0 C*16 Latitude of origin of map projection 45.8N 

56 CLON0 C*16 Longitude of origin of map projection 75.2W 

57 CLAT1 C*16 Matching latitude #1 of map projection 30N 

58 CLAT2 C*16 Matching latitude #2 of map projection 60N 

a C*N = Character*N 

MAR 2006 – CALPUFF 

F-226
Table F-54 (Continued) 

Unformatted DFLX.DAT file - Header 

Header Record NCOM+4 - Run Title 

No. Variable Typea Description

1 TITLE (3) C*80 User-specified run title (three lines of up to 80

characters/line) 

a C*80 = Character*80 

Header Record NCOM+5 - List of Species-Layers in Output File 

No. Variable Typea Description

1-NDFOUT CDFOUT

array

C*15 Species name (characters 1-12) and variable flag (characters 

13-15) of data stored in the output file. The variable flag for 

dry fluxes is " DF". For example b, 

"SO2..........DF" corresponds to SO2 dry fluxes.

a C*15 = Character*15

b

Dots (....) indicate spaces. 

MAR 2006 – CALPUFF 

F-227
Table F-54 (Continued) 

Unformatted DFLX.DAT file - Header 

Header Record NCOM+6 - Discrete Receptors 

(Included only if NDREC > 0) 

No. Variable Type Description

1 XREC real array X-coordinate (km) of each discrete receptor

2 YREC real array Y-coordinate (km) of each discrete receptor

3 ZREC real array Ground level elevation (m) of each discrete receptor 

Header Record NCOM+7 - Complex Terrain Receptors

(Included only if NCTREC > 0) 

No. Variable Type Description

1 XRCT real array X-coordinate (km) of each complex terrain receptor 

2 YRCT real array Y-coordinate (km) of each complex terrain receptor 

3 ZRCT real array Ground level elevation (m) of each complex terrain receptor 

4 IHILL integer array Hill number associated with this receptor 

MAR 2006 – CALPUFF 

F-228
Table F-54 (Continued) 

Unformatted DFLX.DAT file - Header 

Header Record NCOM+8 – Point Source Names (Control File) 

(Included only if NPT1 > 0)

No. Variable Type Description

1 ISTYPE integer Source type (1) 

2 CNAMPT1 C*16 array Source names 

 C*16 = Character*16

Header Record NCOM+9 - Point Source Names (Variable Emissions File) 

(Included only if NPT2 > 0)

No. Variable Type Description

1 ISTYPE integer Source type (2) 

2 CNAMPT2 C*16 array Source names 

 C*16 = Character*16

MAR 2006 – CALPUFF 

F-229
Table F-54 (Continued) 

Unformatted DFLX.DAT file - Header 

Header Record NCOM+10 – Area Source Names (Control File) 

(Included only if NAR1 > 0) 

No. Variable Type Description

1 ISTYPE integer Source type (3) 

2 CNAMAR1 C*16 array Source names 

 C*16 = Character*16

Header Record NCOM+11 - Area Source Names (Variable Emissions File) 

(Included only if NAR2 > 0) 

No. Variable Type Description

1 ISTYPE integer Source type (4) 

2 CNAMAR2 C*16 array Source names 

 C*16 = Character*16

MAR 2006 – CALPUFF 

F-230
Table F-54 (Continued) 

Unformatted DFLX.DAT file - Header 

Header Record NCOM+12 – Line Source Names (Control File) 

(Included only if NLN1 > 0) 

No. Variable Type Description

1 ISTYPE integer Source type (5) 

2 CNAMLN1 C*16 array Source names 

 C*16 = Character*16

Header Record NCOM+13 - Line Source Names (Variable Emissions File) 

(Included only if NLN2 > 0) 

No. Variable Type Description

1 ISTYPE integer Source type (6) 

2 CNAMLN2 C*16 array Source names 

 C*16 = Character*16

MAR 2006 – CALPUFF 

F-231
Table F-54 (Concluded) 

Unformatted DFLX.DAT file - Header 

Header Record NCOM+14 – Volume Source Names (Control File) 

(Included only if NVL1 > 0) 

No. Variable Type Description

1 ISTYPE integer Source type (7) 

2 CNAMVL1 C*16 array Source names 

 C*16 = Character*16

Header Record NCOM+15 - Volume Source Names (Variable Emissions File) 

(Included only if NVL2 > 0) 

No. Variable Type Description

1 ISTYPE integer Source type (8) 

2 CNAMVL2 C*16 array Source names 

 C*16 = Character*16

MAR 2006 – CALPUFF 

F-232
DFLX.DAT File - Data Records

where the following declarations apply:

-5., 1.2, 3.5, -6., 0.7, -6. 

The DFLX.DAT data records consist of a set of "NDFOUT+1" records for each hour of the CALPUFF 

runs (NDFOUT is the number of species flagged as being stored in the output file). The first record of 

each set contains the date and hour of the data in the records which follow it. The next "NDFOUT" 

records contain predicted one-hour averaged dry deposition fluxes in g/m2

/s for each relevant species (see 

Table F-55). 

Sample FORTRAN read statements for the data records (in uncompressed format) are: 

 READ(iunit)nyrb,njulb,nhrb,nsecb,nyre,njule,nhre,nsece 

 READ(iunit) istype,isnum,sname,sxkm,sykm

+)) LOOP OVER DRY DEPOSITED SPECIES STORED ON DISK

*

* GRIDDED RECEPTOR DRY FLUXES 

* IF(LSGRID)READ(iunit)CDFG,DFLXG

*

* DISCRETE RECEPTOR DRY FLUXES 

* IF(NDREC.GT.0)READ(iunit)CDFD,DFLXD 

* 

.)) END LOOP OVER DRY DEPOSITED SPECIES STORED ON DISK

 Character*15 CDFG,CDFD 

 Real DFLXG(nxg,nyg),DFLXD(NDREC) 

and 

nxg = IESAMP - IBSAMP+1 

nyg = JESAMP - JBSAMP+1 

CALPUFF contains an option to compress the data by replacing strings of zeroes with a coded repetition 

factor. The factor is a negative number whose absolute value indicates the number of consecutive zeroes 

that have been replaced by the repetition factor. This method is especially useful in reducing the size of 

the output file when large segments of the receptor arrays lie upwind of the puffs during an hour, thereby

producing long strings of zeroes in the output arrays. For example, the following record with data for 20 

receptors requires 20 unpacked words: 

0.0, 0.0, 0.0, 0.0, 0.0, 1.2, 3.5, 0.0, 0.0, 0.0, 

0.0, 0.0, 0.0, 0.7, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0 

These data in packed form would be represented in six words: 

MAR 2006 – CALPUFF 

F-233
Table F-55 

Unformatted DFLX.DAT File - Data Records 

(Records 1 and 2 of each set) 

No. Variable Type Description (Record 1)

1 NYRB integer Year (4 digits) at start of averaging period 

2 NJULB integer Julian day at start of averaging period 

3 NHRB integer Hour (00-23 LST) at start of averaging period 

4 NSECB integer Second (0000-3599 LST) at start of averaging period 

5 NYRE integer Year (4 digits) at end of averaging period 

6 NJULE integer Julian day at end of averaging period 

7 NHRE integer Hour (00-23 LST) at end of averaging period

8 NSECE integer Second (0000-3599 LST) at start of averaging period 

No. Variable Typea Description (Record 2)

1 ISTYPE integer Source type

2 ISNUM integer Source number of this type

3 SNAME C*16 Source name

4 SXKM real Source X-coordinate (km) in the modeling map projection

5 SYKM real Source Y-coordinate (km) in the modeling map projection

a

 C*16 = Character*16 

(Next Data Record) 

(Included only if LSAMP = TRUE) 

No. Variable Type Description

1 CDFG C*15 Species name (characters 1-12) and variable flag (characters 

13-15) of the data in this record. For example b

, 

"SO2..........DF" corresponds to SO2 dry flux.

Next 

NXG*NYG

DFLXG real array "IAVG" - hour averaged dry deposition fluxes (g/m2/s) for 

each gridded receptor

MAR 2006 – CALPUFF 

F-234
Table F-55 (Concluded) 

Unformatted DFLX.DAT File - Data Records 

(Next Data Record) 

(Included only if NDREC > 0) 

No. Variable Typea Description

1 CDFD C*15 Species name (characters 1-12) and dry flux flag (characters 

13-15) of the data in this record. For example, 

"SO2..........DF" corresponds to SO2 dry fluxes.

Next 

NDREC 

DFLXD real array "IAVG" - hour averaged dry deposition fluxes (g/m2/s) for 

each discrete receptor 

a

 C*15 = Character*15

b

 Dots (....) indicate spaces. 

MAR 2006 – CALPUFF 

F-235
F.15.5 Wet Flux File (WFLX.DAT) 

The WFLX.DAT file is an unformatted data file containing wet deposition fluxes of one or more species 

simulated by CALPUFF at each receptor, for each period in the run. The creation and contents of the 

WFLX.DAT file are controlled by user-specified inputs in Input Group 5 of the control file (see Section 

F.1). 

The control file variable IWET must be set equal to one in order to create the WFLX.DAT file. The 

species saved in the output file are also controlled by the user by setting flags in the output species table 

in Input Group 5 of the control file. The model checks that only deposited species are flagged for output 

into the WFLX.DAT file. The effects of wet deposition on ambient concentrations can be evaluated 

without saving the wet fluxes in the output file if the actual values of the deposition fluxes are not of 

interest. 

WFLX.DAT File - Header Records

The WFLX.DAT file consists of NCOM+7 header records followed by a set of data records. The header 

records contain information describing the version of the model used in the run creating the file, 

horizontal and vertical grid data, a user-input title, a list of the species combinations stored in the output 

file, and receptor information (see Table F-56). NCOM, provided in record 2, defines the number of 

comment records that are present. Comment records are used to transfer the image of CALMET and 

CALPUFF control files used in the simulation for documentation and QA purposes. 

Sample FORTRAN read statements for the header records are: 

 READ(iunit) DATASET,DATAVER,DATAMOD 

 READ(iunit) NCOM 

 DO n=1,NCOM

 READ(iunit) COMMENT 

 ENDDO

 READ(iunit)CMODEL,VER,LEVEL,IBYR,IBJUL,IBHR,IBSEC,XBTZ,

 1 IRLG,IAVG,NSECDT,NXM,NYM,DXKM,DYKM,IONE,XORIGKM,YORIGKM,NSSTA,IBCOMP,IECOMP,

 2 JBCOMP,JECOMP,IBSAMP,JBSAMP,IESAMP,JESAMP,MESHDN,NPT1,NPT2,NAR1,NAR2,NLN1,NLN2,

 3 NVL1,NVL2,MSOURCE,NREC,NCTREC,LSAMP,NWFOUT,LCOMPR,

 4 I2DMET,IUTMZN,FEAST,FNORTH,RNLAT0,RELON0, 

 5 XLAT1,XLAT2,PMAP,UTMHEM,DATUM,DATEN, 

 6 CLAT0,CLON0,CLAT1,CLAT2

 READ(iunit)TITLE 

 READ(iunit)CWFOUT 

 IF(NDREC.GT.0) READ(iunit)XREC,YREC,ZREC

 IF(NCTREC.GT.0) READ(iunit)XRCT,YRCT,ZRCT,IHILL

 IF(NPT1.GT.0) READ(iunit)ISTYPE,CNAMPT1 

 IF(NPT2.GT.0) READ(iunit)ISTYPE,CNAMPT2 

 IF(NAR1.GT.0) READ(iunit)ISTYPE,CNAMAR1 

 IF(NAR2.GT.0) READ(iunit)ISTYPE,CNAMAR2 

 IF(N LN1.GT.0) READ(iunit)ISTYPE,CNAMLN1 

 IF(NLN2.GT.0) READ(iunit)ISTYPE,CNAMLN2 

 IF(NVL1.GT.0) READ(iunit)ISTYPE,CNAMVL1 

 IF(NVL2.GT.0) READ(iunit)ISTYPE,CNAMVL2 

where the following declarations apply:

MAR 2006 – CALPUFF 

F-236
 Character*132 COMMENT 

 Character*80 TITLE(3) 

 Character*64 DATAMOD 

Character*16 DATASET, DATAVER, CLAT0, CLON0, CLAT1, CLAT2 

 Character*16 CNAMPT1(MXPT1),CNAMPT2(MXPT2), CNAMAR1(MXAREA),CNAMAR2(MXAREA) 

 Character*16 CNAMLN1(MXLINES),CNAMLN2(MXLNGRP), CNAMVL1(MXVOL),CNAMVL2(MXVOL) 

 Character*15 CWFOUT(NWFOUT) 

 Character*12 CMODEL,VER,LEVEL, DATEN

Character*8 PMAP, DATUM 

 Character*4 UTMHEM 

 Real XREC(NREC),YREC(NREC),ZREC(NREC) 

 Real XRCT(NCTREC),YRCT(NCTREC),ZRCT(NCTREC) 

 Integer IHILL(NCTREC) 

 Logical LCOMPR

MAR 2006 – CALPUFF 

F-237
Table F-56 

Unformatted WFLX.DAT file - Header 

Header Record 1 – Dataset Definition 

No. Variable Type Description Sample 

Values 

1 DATASET Character*16 Dataset name WFLX.DAT 

2 DATAVER Character *16 Dataset version 2.1 

3 DATAMOD Character *64 Dataset message field - 

Header Record 2 to (NCOM+2) – Comments 

No. Variable Type Description Sample 

Values 

1 NCOM integer Number of comment records to follow - 

1 COMMENT Character *132 Comment (repeated NCOM times) - 

MAR 2006 – CALPUFF 

F-238
Table F-56 (Continued) 

Unformatted WFLX.DAT file - Header Record NCOM+3 - General Data 

No. Variable Typea Description Sample

Values

1 CMODEL C*12 Model name CALPUFF

2 

Model level number 

real 

real 

Reference X coordinate (km) of the southwest corner of 

grid cell (1,1) of the meteorological grid

440. 

IBCOMP

22 

JECOMP

1

VER C*12 Model version number 5.72 

3 LEVEL C*12 031017

4 IBYR integer Starting year of the run 1980

5 IBJUL integer Starting Julian day 183

6 IBHR integer Time at start of first period (hour 00-23 LST) 8 

7 IBSEC integer Time at start of first period (second 0000-3599 ) 0000

8 XBTZ real Base time zone (LST+XBTZ=UTC) 6.0 

9 IRLG integer Length of run (timesteps) 10 

10 IAVG integer Averaging time (timesteps) of output concentrations 2 

11 NSECDT integer Length of a timestep (seconds) 1800

12 NXM integer Number of grid points in meteorological grid (X 

direction) 

20 

13 NYM integer Number of grid points in meteorological grid (Y 

direction) 

20 

14 DXKM Grid spacing (km) in the X direction 5. 

15 DYKM Grid spacing (km) in the Y direction 5. 

16 IONE integer Number of receptor layers (must be equal to one for

CALPUFF runs) 

1 

17 XORIGKM real 190. 

18 YORIGKM real Reference Y coordinate (km) of the southwest corner of 

grid cell (1,1) of the meteorological grid

19 NSSTA integer Number of surface meteorological stations 5 

20 integer Start of computational grid in X direction 1 

21 IECOMP integer End of computational grid in X direction 20 

JBCOMP integer Start of computation grid in the Y direction 1 

23 integer End of computational grid in Y direction 20 

24 IBSAMP integer Start of sampling grid in X direction 1

25 JBSAMP integer Start of sampling grid in Y direction 

a

C*12 = Character*12 

MAR 2006 – CALPUFF 

F-239
Table F-56 (Continued) 

Unformatted WFLX.DAT file - Header Record NCOM+3 - General Data

No. Variable Typea Description Sample

Values

26 IESAMP integer End of sampling grid in X direction 20 

27 JESAMP integer End of sampling grid in Y direction 20 

28 MESHDN integer Sampling grid spacing factor 1 

29 NPT1 integer Number of point sources (control file) 2

30 

32 

Number of line sources (control file) 

0 

0 

F = no gridded receptors) 

T 

41 

logical

43 integer 

45 False Easting of map projection (km)

0.0 

N. latitude of origin of map projection (degrees) 

real

NPT2 integer Number of point sources (variable emissions file) 0 

31 NAR1 integer Number of area sources (control file) 0 

NAR2 integer Number of area sources (variable emissions file) 0 

33 NLN1 integer 0 

34 NLN2 integer Number of line sources (variable emissions file) 

35 NVL1 integer Number of volume sources (control file) 0 

36 NVL2 integer Number of volume sources (variable emissions file) 0 

37 MSOURCE integer Individual source contribution flag : 

0 = report just the total 

1 = report individual contributions and the total

0 

38 NREC integer number of discrete receptors 

39 NCTREC integer Number of complex terrain receptors 0 

40 LSAMP logical Sampling grid flag (T = gridded receptors used, 

NWFOUT integer Number of output species 5 

42 LCOMPRS Flag indicating if concentration data are compressed

(T=yes, F=no)

T 

I2DMET RH data flag: 

0 = relative humidity at surface stations (1D) 

1 = relative humidity at grid points (2D) 

1 

44 IUTMZN integer UTM zone (1-60) 19 

FEAST real 0.0 

46 FNORTH real False Northing of map projection (km)

47 RNLAT0 real 45.8 

48 RELON0 E. longitude of origin of map projection (degrees) -75.2 

49 XLAT1 real Matching N. latitude #1 of map projection (degrees) 30.0 

50 XLAT2 real Matching N. latitude #2 of map projection (degrees) 60.0 

a C*N = Character*N 

MAR 2006 – CALPUFF 

F-240
Table F-56 (Continued) 

Unformatted WFLX.DAT file - Header Record NCOM+3 - General Data

No. Variable Sample 

Values

Typea Description

51 PMAP C*8 Map projection UTM

52 UTMHEM C*4 Hemisphere (N or S) for UTM projection N 

53 DATUM C*8 Datum code WGS-84

54 DATEN C*12 NIMA date (MM-DD-YYYY) for datum definitions 10-10-2002

55 CLAT0 C*16 Latitude of origin of map projection 45.8N 

56 CLON0 C*16 Longitude of origin of map projection 75.2W 

57 CLAT1 C*16 Matching latitude #1 of map projection 30N 

58 CLAT2 C*16 Matching latitude #2 of map projection 60N 

a C*N = Character*N 

MAR 2006 – CALPUFF 

F-241
Table F-56 (Continued) 

Unformatted WFLX.DAT file - Header 

Header Record NCOM+4 - Run Title 

No. Variable Typea Description

1 TITLE (3) C*80 User-specified run title (three lines of up to 80

characters/line) 

a C*80 = Character*80 

Header Record NCOM+5 - List of Species-Layers in Output File 

No. Variable Typea Description

1-

NWFOUT

CWFOUT

array

C*15 Species name (characters 1-12) and variable flag (characters 

13-15) of data stored in the output file. The variable flag for 

wet fluxes is " WF". For example b, 

"SO2..........WF" corresponds to SO2 wet fluxes.

a C*15 = Character*15

b

Dots (....) indicate spaces. 

MAR 2006 – CALPUFF 

F-242
Table F-56 (Continued) 

Unformatted WFLX.DAT file - Header 

Header Record NCOM+6 - Discrete Receptors 

(Included only if NDREC > 0) 

No. Variable Type Description

1 XREC real array X-coordinate (km) of each discrete receptor

2 YREC real array Y-coordinate (km) of each discrete receptor

3 ZREC real array Ground level elevation (m) of each discrete receptor 

Header Record NCOM+7 - Complex Terrain Receptors

(Included only if NCTREC > 0) 

No. Variable Type Description

1 XRCT real array X-coordinate (km) of each complex terrain receptor 

2 YRCT real array

3 

Y-coordinate (km) of each complex terrain receptor 

ZRCT real array Ground level elevation (m) of each complex terrain receptor 

4 IHILL integer array Hill number associated with this receptor 

MAR 2006 – CALPUFF 

F-243
Table F-56 (Continued) 

Unformatted WFLX.DAT file - Header 

No.

Header Record NCOM+8 – Point Source Names (Control File) 

(Included only if NPT1 > 0)

Variable Type Description

1 ISTYPE integer Source type (1) 

2 CNAMPT1 C*16 array Source names 

 C*16 = Character*16

Header Record NCOM+9 - Point Source Names (Variable Emissions File) 

(Included only if NPT2 > 0)

No. Variable Type Description

1 ISTYPE integer Source type (2) 

2 CNAMPT2 C*16 array Source names 

 C*16 = Character*16

MAR 2006 – CALPUFF 

F-244
Table F-56 (Continued) 

Unformatted WFLX.DAT file - Header 

Header Record NCOM+10 – Area Source Names (Control File) 

(Included only if NAR1 > 0) 

No. Variable Type Description

1 ISTYPE integer Source type (3) 

2 CNAMAR1 C*16 array Source names 

 C*16 = Character*16

Header Record NCOM+11 - Area Source Names (Variable Emissions File) 

(Included only if NAR2 > 0) 

No. Variable Type Description

1 ISTYPE integer Source type (4) 

2 CNAMAR2 C*16 array Source names 

 C*16 = Character*16

MAR 2006 – CALPUFF 

F-245
Table F-56 (Continued) 

Unformatted WFLX.DAT file - Header 

Header Record NCOM+12 – Line Source Names (Control File) 

(Included only if NLN1 > 0) 

No. Variable Type Description

1 ISTYPE integer Source type (5) 

2 CNAMLN1 C*16 array Source names 

 C*16 = Character*16

Header Record NCOM+13 - Line Source Names (Variable Emissions File) 

Type 

(Included only if NLN2 > 0) 

No. Variable Description

1 ISTYPE integer Source type (6) 

2 CNAMLN2 C*16 array Source names 

 C*16 = Character*16

MAR 2006 – CALPUFF 

F-246
Table F-56 (Concluded) 

Unformatted WFLX.DAT file - Header 

Header Record NCOM+14 – Volume Source Names (Control File) 

(Included only if NVL1 > 0) 

No. Variable Type Description

1 ISTYPE integer Source type (7) 

2 CNAMVL1 C*16 array Source names 

 C*16 = Character*16

Header Record NCOM+15 - Volume Source Names (Variable Emissions File) 

(Included only if NVL2 > 0) 

No. Variable Type Description

1 ISTYPE integer Source type (8) 

2 CNAMVL2 C*16 array Source names 

 C*16 = Character*16

MAR 2006 – CALPUFF 

F-247
WFLX.DAT File - Data Records

where the following declarations apply:

The WFLX.DAT data records consist of a set of "NWFOUT+1" records for each hour of the CALPUFF 

runs (NWFOUT is the number of species flagged as being stored in the output file). The first record of 

each set contains the date and hour of the data in the records which follow it. The next "NWFOUT" 

records contain predicted one-hour averaged wet deposition fluxes in g/m2

/s for each relevant species (see 

Table F-57). 

Sample FORTRAN read statements for the data records (in uncompressed format) are: 

 READ(iunit)nyrb,njulb,nhrb,nsecb,nyre,njule,nhre,nsece 

 READ(iunit) istype,isnum,sname,sxkm,sykm

+)) LOOP OVER WET DEPOSITED SPECIES STORED ON DISK

*

*

* GRIDDED RECEPTOR WET FLUXES 

* IF(LSGRID)READ(iunit)CWFG,WFLXG

* 

*

* DISCRETE RECEPTOR WET FLUXES

* IF(NDREC.GT.0)READ(iunit)CWFD,WFLXD 

*

* 

.)) END LOOP OVER WET DEPOSITED SPECIES STORED ON DISK

 Character*15 CWFG,CWFD 

 Real WFLXG(nxg,nyg),WFLXD(NDREC) 

and 

nxg = IESAMP - IBSAMP+1 

nyg = JESAMP - JBSAMP+1 

CALPUFF contains an option to compress the data by replacing strings of zeroes with a coded repetition 

factor. The factor is a negative number whose absolute value indicates the number of consecutive zeroes 

that have been replaced by the repetition factor. This method is especially useful in reducing the size of 

the output file when large segments of the receptor arrays lie upwind of the puffs during an hour, thereby

producing long strings of zeroes in the output arrays. For example, the following record with data for 20 

receptors requires 20 unpacked words: 

0.0, 0.0, 0.0, 0.0, 0.0, 1.2, 3.5, 0.0, 0.0, 0.0, 

0.0, 0.0, 0.0, 0.7, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0 

These data in packed form would be represented in six words: 

-5., 1.2, 3.5, -6., 0.7, -6. 

MAR 2006 – CALPUFF 

F-248
Table F-57 

Unformatted WFLX.DAT File - Data Records 

(Record 1 of each set) 

No. Variable Type Description (Record 1)

1 NYRB integer Year (4 digits) at start of averaging period 

2 NJULB integer Julian day at start of averaging period 

3 NHRB integer Hour (00-23 LST) at start of averaging period 

4 NSECB integer Second (0000-3599 LST) at start of averaging period 

5 NYRE integer Year (4 digits) at end of averaging period 

6 NJULE integer Julian day at end of averaging period 

7 NHRE integer Hour (00-23 LST) at end of averaging period

8 NSECE integer Second (0000-3599 LST) at start of averaging period 

No. Variable Typea Description (Record 2)

1 ISTYPE integer Source type

2

3

ISNUM integer Source number of this type

SNAME C*16 Source name

4 SXKM real Source X-coordinate (km) in the modeling map projection

5 SYKM real Source Y-coordinate (km) in the modeling map projection

a

 C*16 = Character*16 

(Next Data Record) 

(Included only if LSAMP = TRUE) 

No. Variable Type Description

1 CWFG C*15 Species name (characters 1-12) and wet flux flag (characters 

13-15) of the data in this record. For example b

, 

"SO2..........WF" corresponds to SO2 wet fluxes.

Next 

NXG*NYG

DWLXG real array "IAVG" - hour averaged wet deposition fluxes (g/m2/s) for 

each gridded receptor

MAR 2006 – CALPUFF 

F-249
Table F-57 (Concluded) 

Unformatted WFLX.DAT File - Data Records 

(Next Data Record) 

(Included only if NDREC > 0) 

No. Variable Typea Description

1 CWFD C*15 Species name (characters 1-12) and wet flux flag (characters 

13-15) of the data in this record. For example b, 

"SO2..........WF" corresponds to SO2 wet fluxes.

Next 

NDREC 

WFLXD real array "IAVG" - hour averaged wet deposition fluxes (g/m2/s) for 

each discrete receptor 

a

 C*15 = Character*15

b

 Dots (....) indicate spaces. 

MAR 2006 – CALPUFF 

F-250
F.15.6 Relative Humidity File for Visibility Processing in CALPOST (VISB.DAT) 

The VISB.DAT file is an unformatted data file containing relative humidity data at each surface 

meteorological station, for each period in the run. It is required if CALPOST will be used to assess 

visibility. The variable IVIS in Input Group 5 of the control file (see Section F.1) must be set equal to 

one in order to create the VISB.DAT file. 

VISB.DAT File - Header Records

The VISB.DAT file consists of at least either NCOM+7 or NCOM+10 header records followed by a set 

of data records. The header records contain information describing the version of the model used in the 

run creating the file, horizontal and vertical grid data, a user-input title, a list of the species combinations 

stored in the output file, and receptor information (see Table F-58). NCOM, provided in record 2, defines 

the number of comment records that are present. Comment records are used to transfer the image of 

CALMET and CALPUFF control files used in the simulation for documentation and QA purposes. 

Sample FORTRAN read statements for the header records are: 

 READ(iunit) DATASET,DATAVER,DATAMOD 

 READ(iunit) NCOM 

 DO n=1,NCOM

 READ(iunit) COMMENT 

 ENDDO

 READ(iunit)CMODEL,VER,LEVEL,IBYR,IBJUL,IBHR,IBSEC,XBTZ,

 1 IRLG,IAVG,NSECDT,NXM,NYM,DXKM,DYKM,IONE,XORIGKM,YORIGKM,NSSTA,IBCOMP,IECOMP,

 2 JBCOMP,JECOMP,IBSAMP,JBSAMP,IESAMP,JESAMP,MESHDN,NPT1,NPT2,NAR1,NAR2,NLN1,NLN2,

 3 NVL1,NVL2,MSOURCE,NREC,NCTREC,LSAMP,NVSOUT,LCOMPR,

 4 I2DMET,IUTMZN,FEAST,FNORTH,RNLAT0,RELON0, 

 5 XLAT1,XLAT2,PMAP,UTMHEM,DATUM,DATEN, 

 6 CLAT0,CLON0,CLAT1,CLAT2

 READ(iunit)TITLE 

 READ(iunit)CVSOUT 

 IF(NDREC.GT.0) READ(iunit)XREC,YREC,ZREC

 IF(NCTREC.GT.0) READ(iunit)XRCT,YRCT,ZRCT,IHILL

 IF(NPT1.GT.0) READ(iunit)ISTYPE,CNAMPT1 

 IF(NPT2.GT.0) READ(iunit)ISTYPE,CNAMPT2 

 Character*64 DATAMOD 

 IF(NAR1.GT.0) READ(iunit)ISTYPE,CNAMAR1 

 IF(NAR2.GT.0) READ(iunit)ISTYPE,CNAMAR2 

 IF(N LN1.GT.0) READ(iunit)ISTYPE,CNAMLN1 

 IF(NLN2.GT.0) READ(iunit)ISTYPE,CNAMLN2 

 IF(NVL1.GT.0) READ(iunit)ISTYPE,CNAMVL1 

 IF(NVL2.GT.0) READ(iunit)ISTYPE,CNAMVL2 

where the following declarations apply:

 Character*132 COMMENT 

 Character*80 TITLE(3) 

Character*16 DATASET, DATAVER, CLAT0, CLON0, CLAT1, CLAT2 

 Character*16 CNAMPT1(MXPT1),CNAMPT2(MXPT2), CNAMAR1(MXAREA),CNAMAR2(MXAREA) 

 Character*16 CNAMLN1(MXLINES),CNAMLN2(MXLNGRP), CNAMVL1(MXVOL),CNAMVL2(MXVOL) 

 Character*15 CVSOUT(NVSOUT) 

 Character*12 CMODEL,VER,LEVEL, DATEN

Character*8 PMAP, DATUM 

 Character*4 UTMHEM 

MAR 2006 – CALPUFF 

F-251
 Real XREC(NREC),YREC(NREC),ZREC(NREC) 

 Real XRCT(NCTREC),YRCT(NCTREC),ZRCT(NCTREC) 

 Integer IHILL(NCTREC) 

 Logical LCOMPR

MAR 2006 – CALPUFF 

F-252
Table F-58 

Unformatted VISB.DAT file - Header 

Header Record 1 – Dataset Definition 

No. Variable Type Description Sample 

Values 

1 DATASET Character*16 Dataset name VISB.DAT 

2 DATAVER Character *16 Dataset version 2.1 

3 DATAMOD Character *64 Dataset message field - 

Header Record 2 to (NCOM+2) – Comments 

No. Variable Type Description Sample 

Values 

1 NCOM integer Number of comment records to follow - 

1 COMMENT Character *132 Comment (repeated NCOM times) - 

MAR 2006 – CALPUFF 

F-253
Table F-58 (Continued) 

Unformatted VISB.DAT file - Header Record NCOM+3 - General Data 

Typea No. Variable Description Sample

Values

1 CMODEL C*12 Model name CALPUFF

2 VER C*12 Model version number 5.72 

3 LEVEL C*12 Model level number 031017

4 IBYR integer Starting year of the run 1980

5 IBJUL integer Starting Julian day 183

6 IBHR integer Time at start of first period (hour 00-23 LST) 8 

7 IBSEC integer Time at start of first period (second 0000-3599 ) 0000

1800

14 DXKM 

20 

8 XBTZ real Base time zone (LST+XBTZ=UTC) 6.0 

9 IRLG integer Length of run (timesteps) 10 

10 IAVG integer Averaging time (timesteps) of output concentrations 2 

11 NSECDT integer Length of a timestep (seconds) 

12 NXM integer Number of grid points in meteorological grid (X 

direction) 

20 

13 NYM integer Number of grid points in meteorological grid (Y 

direction) 

20 

real Grid spacing (km) in the X direction 5. 

15 DYKM real Grid spacing (km) in the Y direction 5. 

16 IONE integer Number of receptor layers (must be equal to one for

CALPUFF runs) 

1 

17 XORIGKM real Reference X coordinate (km) of the southwest corner of 

grid cell (1,1) of the meteorological grid

190. 

18 YORIGKM real Reference Y coordinate (km) of the southwest corner of 

grid cell (1,1) of the meteorological grid

440. 

19 NSSTA integer Number of surface meteorological stations 5 

20 IBCOMP integer Start of computational grid in X direction 1 

21 IECOMP integer End of computational grid in X direction 20 

22 JBCOMP integer Start of computation grid in the Y direction 1 

23 JECOMP integer End of computational grid in Y direction 

24 IBSAMP integer Start of sampling grid in X direction 1

25 JBSAMP integer Start of sampling grid in Y direction 1

a

C*12 = Character*12 

MAR 2006 – CALPUFF 

F-254
Table F-58 (Continued) 

Unformatted VISB.DAT file - Header Record NCOM+3 - General Data

No. Variable Typea Description Sample

Values

26 IESAMP integer End of sampling grid in X direction 20 

27 JESAMP integer End of sampling grid in Y direction 20 

Number of volume sources (control file) 

integer 

MSOURCE

Flag indicating if concentration data are compressed

(T=yes, F=no)

real E. longitude of origin of map projection (degrees) 

50 Matching N. latitude #2 of map projection (degrees) 

28 MESHDN integer Sampling grid spacing factor 1 

29 NPT1 integer Number of point sources (control file) 2

30 NPT2 integer Number of point sources (variable emissions file) 0 

31 NAR1 integer Number of area sources (control file) 0 

32 NAR2 integer Number of area sources (variable emissions file) 0 

33 NLN1 integer Number of line sources (control file) 0 

34 NLN2 integer Number of line sources (variable emissions file) 0 

35 NVL1 integer 0 

36 NVL2 Number of volume sources (variable emissions file) 0 

37 integer Individual source contribution flag : 

0 = report just the total 

1 = report individual contributions and the total

0 

38 NREC integer number of discrete receptors 0 

39 NCTREC integer Number of complex terrain receptors 0 

40 LSAMP logical Sampling grid flag (T = gridded receptors used, 

F = no gridded receptors) 

T 

41 NVSOUT integer Number of output species 5 

42 LCOMPRS logical T 

43 I2DMET integer RH data flag: 

0 = relative humidity at surface stations (1D) 

1 = relative humidity at grid points (2D) 

1 

44 IUTMZN integer UTM zone (1-60) 19 

45 FEAST real False Easting of map projection (km) 0.0 

46 FNORTH real False Northing of map projection (km) 0.0 

47 RNLAT0 real N. latitude of origin of map projection (degrees) 45.8 

48 RELON0 -75.2 

49 XLAT1 real Matching N. latitude #1 of map projection (degrees) 30.0 

XLAT2 real 60.0 

a C*N = Character*N 

MAR 2006 – CALPUFF 

F-255
Table F-58 (Continued) 

Unformatted VISB.DAT file - Header Record NCOM+3 - General Data

No. Variable Sample 

Values

Typea Description

51 PMAP C*8 Map projection UTM

52 UTMHEM C*4 Hemisphere (N or S) for UTM projection N 

53 DATUM C*8 Datum code WGS-84

54 DATEN C*12 NIMA date (MM-DD-YYYY) for datum definitions 10-10-2002

45.8N 

C*16

30N 

55 CLAT0 C*16 Latitude of origin of map projection 

56 CLON0 Longitude of origin of map projection 75.2W 

57 CLAT1 C*16 Matching latitude #1 of map projection 

58 CLAT2 C*16 Matching latitude #2 of map projection 60N 

a C*N = Character*N 

MAR 2006 – CALPUFF 

F-256
Table F-58 (Continued) 

Unformatted VISB.DAT file - Header 

Header Record NCOM+4 - Run Title 

No. Variable Typea Description

1 TITLE (3) C*80 User-specified run title (three lines of up to 80

characters/line) 

a C*80 = Character*80 

Header Record NCOM+5 - List of Species-Layers in Output File 

No. Variable Typea Description

1-NVSOUT CVSOUT

array

C*15 Data name (characters 1-15) for data stored in the output file 

(always ' REL HUM (%) '). 

a C*15 = Character*15

b

Dots (....) indicate spaces. 

MAR 2006 – CALPUFF 

F-257
Table F-58 (Continued) 

Unformatted VISB.DAT file - Header 

Header Record NCOM+6 - Discrete Receptors 

(Included only if NDREC > 0) 

No. Variable Type Description

1 XREC real array X-coordinate (km) of each discrete receptor

2 YREC real array Y-coordinate (km) of each discrete receptor

3 ZREC real array Ground level elevation (m) of each discrete receptor 

Header Record NCOM+7 - Complex Terrain Receptors

(Included only if NCTREC > 0) 

No. Variable Type Description

1 XRCT real array X-coordinate (km) of each complex terrain receptor 

2 YRCT real array Y-coordinate (km) of each complex terrain receptor 

3 ZRCT real array Ground level elevation (m) of each complex terrain receptor 

4 IHILL integer array Hill number associated with this receptor 

MAR 2006 – CALPUFF 

F-258
Table F-58 (Continued) 

Unformatted VISB.DAT file - Header 

Header Record NCOM+8 – Point Source Names (Control File) 

(Included only if NPT1 > 0)

No. Variable Type Description

1 ISTYPE integer Source type (1) 

2 CNAMPT1 C*16 array Source names 

 C*16 = Character*16

Header Record NCOM+9 - Point Source Names (Variable Emissions File) 

(Included only if NPT2 > 0)

No. Variable Type Description

1 ISTYPE integer Source type (2) 

2 CNAMPT2 C*16 array Source names 

 

 C*16 = Character*16

MAR 2006 – CALPUFF 

F-259
Table F-58 (Continued) 

Unformatted VISB.DAT file - Header 

Header Record NCOM+10 – Area Source Names (Control File) 

(Included only if NAR1 > 0) 

No. Variable Type Description

1 ISTYPE integer Source type (3) 

2 CNAMAR1 C*16 array Source names 

 C*16 = Character*16

Header Record NCOM+11 - Area Source Names (Variable Emissions File) 

(Included only if NAR2 > 0) 

No. Variable Type Description

1 ISTYPE integer Source type (4) 

2 CNAMAR2 C*16 array Source names 

 C*16 = Character*16

MAR 2006 – CALPUFF 

F-260
(Included only if NLN1 > 0) 

Type 

Table F-58 (Continued) 

Unformatted VISB.DAT file - Header 

Header Record NCOM+12 – Line Source Names (Control File) 

No. Variable Description

1 ISTYPE integer Source type (5) 

2 CNAMLN1 C*16 array Source names 

 C*16 = Character*16

Header Record NCOM+13 - Line Source Names (Variable Emissions File) 

(Included only if NLN2 > 0) 

No. Variable Type Description

1 ISTYPE integer Source type (6) 

2 CNAMLN2 C*16 array Source names 

 C*16 = Character*16

MAR 2006 – CALPUFF 

F-261
Table F-58 (Concluded) 

Unformatted VISB.DAT file - Header 

Header Record NCOM+14 – Volume Source Names (Control File) 

(Included only if NVL1 > 0) 

No. Variable Type Description

1 ISTYPE integer Source type (7) 

2 CNAMVL1 C*16 array Source names 

 C*16 = Character*16

Header Record NCOM+15 - Volume Source Names (Variable Emissions File) 

(Included only if NVL2 > 0) 

No. Variable Type Description

1 ISTYPE integer Source type (8) 

2 CNAMVL2 C*16 array Source names 

 C*16 = Character*16

MAR 2006 – CALPUFF 

F-262
VISB.DAT File - Data Records

The VISB.DAT data records consist of a set of "NVSOUT+1" records for each hour of the CALPUFF 

runs (where NVSOUT is always one). The first record of each set contains the date and hour of the data 

in the records which follow it. The next "NVSOUT" records contain the relative humidity reported in % 

at each meteorological surface station if I2DRH=0, or at each sampling grid cell if I2DRH=1 (see Table 

F-59). 

Sample FORTRAN read statements for the data records are: 

 READ(iunit)nyrb,njulb,nhrb,nsecb,nyre,njule,nhre,nsece 

 READ(iunit) istype,isnum,sname,sxkm,sykm

 IF(I2DRH.EQ.0) THEN 

 READ(iunit)CNAME,IRHSS 

 ELSE 

 READ(iunit)CNAME,IRH2D 

 ENDIF 

where the following declarations apply:

 Character*15 CNAME 

 Integer IRHSS(NSSTA) 

 Integer IRH2D(nxm,nym) 

MAR 2006 – CALPUFF 

F-263
Table F-59 

Unformatted VISB.DAT File - Data Records 

(Record 1 of each set) 

No. Variable Type Description (Record 1)

1 NYRB integer Year (4 digits) at start of averaging period 

2 

integer 

NJULB integer Julian day at start of averaging period 

3 NHRB integer Hour (00-23 LST) at start of averaging period 

4 NSECB integer Second (0000-3599 LST) at start of averaging period 

5 NYRE integer Year (4 digits) at end of averaging period 

6 NJULE Julian day at end of averaging period 

7 NHRE integer Hour (00-23 LST) at end of averaging period

8 NSECE integer Second (0000-3599 LST) at start of averaging period 

No. Variable Typea Description (Record 2)

1 ISTYPE integer Source type

2 ISNUM integer Source number of this type

3 SNAME C*16 Source name

4 SXKM real Source X-coordinate (km) in the modeling map projection

5 SYKM real Source Y-coordinate (km) in the modeling map projection

a

 C*16 = Character*16 

MAR 2006 – CALPUFF 

F-264
Table F-59 (Concluded) 

Unformatted VISB.DAT File - Data Records 

(Next Record) 

No. Variable Typea Description

1 CNAME C*15 ' REL HUM (%) '

Next NSSTA 

(if I2DRH = 0)

IRHSS integer array Relative humidity (%) reported as an integer for each 

surface meteorological station 

Next 

NXM*NYM

(if I2DRH = 1)

IRH2D integer array Relative humidity (%) reported as an integer for each 

CALMET meteorological grid cell 

a

 C*15 = Character*15 

MAR 2006 – CALPUFF 

F-265
F.15.7 Debug Puff-Tracking File (DEBUG.DAT) 

CALPUFF contains a debug option to report much information about each selected puff as it is 

transported and sampled over a number of modeling periods. Most of this extra information is written to 

the CALPUFF list file (see Section F.15.1). A limited set of puff information is also written to 

DEBUG.DAT each sampling step when the debug option is selected. The purpose of this file is to 

provide puff characteristics at the end of each sampling step so that its location and size can be reviewed 

to visualize the combined effects of transport and diffusion at specific times. 

The DEBUG.DAT file is a sequential, formatted data file (see Table F-60 for an example) consisting of 

two types of records: two header records and a variable number of sets of data records. The header 

records name the variables that are reported in the data records (see Table F-61). Each data record 

provides information about a single puff at the end of a single sampling step. While there may be many

sampling steps over the course of an hour, the time reported for each is the end-time of the current hour. 

A series of nested loops controls the sequence in which the data records are written to the file. The 

outermost loop is over the number of modeling periods (hours) for which debug output is selected. 

Within this is a loop over the range of puffs that has been selected. The innermost loop is over the 

sampling steps for each of these puffs. Because the puff ID and the date and time are included in each 

record, this structure is readily discerned. 

Records for individual puffs are written during the selected modeling period only while that puff exists on 

the computational grid. It is not tracked before it is emitted, and it is not tracked once it leaves the 

modeling domain. 

MAR 2006 – CALPUFF 

F-266
Table F-60 

Sample Debug Puff-Tracking File (DEBUG.DAT) 

 ---- PUFF/ Old SLUG end --------- 

YYYYJJJHH ipnum cd zfnl x(metG) y(metG) sigyB sigzB QM QU zimax rflctn dpbl jdstab Length 

198818922 1 1 119.7 3.0080 2.4482 954.5 190.5 1.8000E+04 0.0000E+00 815.6 815.6 815.6 4 

198818922 1 1 119.7 3.3639 3.1576 1854.5 268.9 1.8000E+04 0.0000E+00 790.8 790.8 790.8 4 

198818922 2 1 119.7 3.0080 2.4482 954.5 190.5 1.8000E+04 0.0000E+00 815.6 815.6 815.6 4 

198818922 3 1 100.9 4.2533 3.7418 950.3 189.6 1.8000E+04 0.0000E+00 685.5 685.5 685.5 4 

198818922 3 1 100.9 4.6753 4.3929 1850.3 969.4 1.8000E+04 0.0000E+00 665.6 665.6 665.6 4 

198818923 1 1 119.7 3.5188 3.7123 2454.5 862.1 1.8000E+04 0.0000E+00 898.4 898.4 898.4 4 

198818923 1 1 119.7 3.7095 3.9935 3054.5 1084.2 1.8000E+04 0.0000E+00 898.4 898.4 898.4 4 

198818923 1 1 119.7 3.9002 4.2746 3654.5 1091.4 1.8000E+04 0.0000E+00 898.4 898.4 829.2 4 

198818923 2 1 119.7 3.1453 3.0027 1554.5 250.4 1.8000E+04 0.0000E+00 941.2 941.2 941.2 4 

198818923 2 1 119.7 3.2974 3.5544 2154.5 851.3 1.8000E+04 0.0000E+00 898.4 898.4 898.4 4 

198818923 2 1 119.7 3.4881 3.8355 2754.5 1075.4 1.8000E+04 0.0000E+00 898.4 898.4 898.4 4 

198818923 3 1 100.9 5.0467 4.8309 2750.3 1295.1 1.8000E+04 0.0000E+00 798.3 798.3 798.3 4 

198818923 3 6 100.9 5.4990 5.2454 3650.3 1295.1 1.5955E+04 2.0452E+03 798.3 707.6 707.6 4 

198819000 1 1 119.7 4.2947 4.4464 4554.5 1108.1 1.8000E+04 0.0000E+00 898.4 898.4 466.0 5 

198819000 1 1 119.7 4.7226 4.5824 5454.5 1125.2 1.8000E+04 0.0000E+00 898.4 898.4 466.0 5 

198819000 2 1 119.7 3.8793 4.0499 3654.5 1092.9 1.8000E+04 0.0000E+00 898.4 898.4 538.1 5 

198819000 2 1 119.7 4.2736 4.2213 4554.5 1109.6 1.8000E+04 0.0000E+00 898.4 898.4 466.0 5 

198819000 3 6 100.9 6.0656 5.4060 4550.3 1295.1 9.6942E+03 8.3058E+03 798.3 429.9 429.9 5 

198819000 3 6 100.9 6.6832 5.5231 5450.3 1295.1 1.0735E+04 7.2646E+03 798.3 476.1 476.1 4 

 

MAR 2006 – CALPUFF 

F-267
Table F-61 

DEBUG.DAT - Data Record 

No. Variable Description

1 YYYYJJJHH Year-Julian Day-Hour for modeling period

2 IPNUM Puff ID number

3 CD

12 = Slug within mixed layer & uniform

Puff Code

 1 = Puff within mixed layer & Gaussian

 2 = Puff within mixed layer & uniform

 3 = Puff above mixed layer & Gaussian

 4 = Puff above mixed layer & uniform

 5 = Puff currently above mixed layer 

 (but previously below) & Gaussian 

 6 = Puff currently above mixed layer 

 (but previously below) & uniform

11 = Slug within mixed layer & Gaussian

13 = Slug above mixed layer & Gaussian

14 = Slug above mixed layer & uniform

15 = Slug currently above mixed layer 

 (but previously below) & Gaussian 

16 = Slug currently above mixed layer 

 (but previously below) & uniform

99 = Puff/slug off computational grid

4 ZFNL Puff height (m) at final rise 

5 X X-coordinate of puff or old slug-end (Met Grid Units) 

6 Y Y-coordinate of puff or old slug-end (Met Grid Units) 

7 SIGYB Sigma-y of puff or old slug-end (m) 

8 SIGZB Sigma-z of puff or old slug-end (m) 

9 QM Puff mass (g) of species 1 below mixing lid

10 QU Puff mass (g) of species 1 above mixing lid

11 ZIMAX Largest mixing height (m) for this puff (10000 m used

for unlimited mixing) 

12 RFLCTN Reflecting lid height (m) for Gaussian distribution 

(10000 m used for unlimited mixing) 

13 DPBL Current surface boundary layer height (m) 

14 JDSTAB Stability class

15 Length Emitted slug length (m) 

MAR 2006 – CALPUFF 

F-268
F.15.8 Mass Flux List File (MASSFLX.DAT) 

Mass flux results for those species selected in the control file are reported to the list file MASSFLX.DAT 

for each boundary that is contained in the boundary file FLUXBDY.DAT. MASSFLX.DAT is a 

formatted text file that identifies the CALPUFF version and level, echoes the 3-line title of the CALPUFF 

simulation, identifies the output as mass flux (g/s), sets out column headings to label each variable listed, 

and then reports the mass fluxes for each hour in the simulation. The boundaries are identified by the 

names provided in FLUXBDY.DAT, and for each boundary, the mass flux in and out across the boundary

is reported. The date and time of each output record marks the time at the end of the hour, where 

midnight is hour zero of the new day (CALPUFF convention). 

An example list file is provided in Table F-62. The four boundaries are identified using the names 

provided in the boundary data file. Note that these boundaries do not surround a source, and enclose 

small regions so that the fluxes produced across each boundary are frequently both in and out as the puffs 

in this example pass through the enclosed regions. 

MAR 2006 – CALPUFF 

F-269
Table F-62 

Sample Mass Flux List File (MASSFLX.DAT) 

 CALPUFF Version: 5.2 Level: 991104 

********************************************************************************************************************************* 

CALPUFF test case run - 3 point sources 

24-Hour Simulation using CALMET met. data 

Gridded receptors on 17x17 20-km met grid 

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

 Mass Flux 

 (g/s) 

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

 Square 1KM Box Diamond 1KM Box Square 5KM Box Diamond 5KM Box 

 Yr Day Hr Species In Out In Out In Out In Out 

1988 189 1 SO2 0.00000E+00 0.00000E+00 0.00000E+00 0.00000E+00 0.00000E+00 0.00000E+00 0.00000E+00 0.00000E+00 

1988 189 2 SO2 0.00000E+00 0.00000E+00 0.00000E+00 0.00000E+00 0.00000E+00 0.00000E+00 0.00000E+00 0.00000E+00 

1988 189 3 SO2 0.00000E+00 0.00000E+00 0.00000E+00 0.00000E+00 0.00000E+00 0.00000E+00 0.00000E+00 0.00000E+00 

1988 189 4 SO2 0.00000E+00 0.00000E+00 0.00000E+00 0.00000E+00 0.50000E+01 0.00000E+00 0.00000E+00 0.00000E+00 

1988 189 5 SO2 0.00000E+00 0.00000E+00 0.00000E+00 0.00000E+00 0.50000E+01 0.10000E+02 0.10000E+02 0.10000E+02 

1988 189 6 SO2 0.00000E+00 0.00000E+00 0.00000E+00 0.00000E+00 0.00000E+00 0.00000E+00 0.00000E+00 0.00000E+00 

1988 189 7 SO2 0.25000E+01 0.25000E+01 0.25000E+01 0.25000E+01 0.50000E+01 0.50000E+01 0.50000E+01 0.50000E+01 

1988 189 8 SO2 0.00000E+00 0.00000E+00 0.00000E+00 0.00000E+00 0.25000E+01 0.25000E+01 0.25000E+01 0.25000E+01 

1988 189 9 SO2 0.00000E+00 0.00000E+00 0.00000E+00 0.00000E+00 0.50000E+01 0.00000E+00 0.00000E+00 0.50000E+01 

1988 189 10 SO2 0.25000E+01 0.25000E+01 0.25000E+01 0.25000E+01 0.50000E+01 0.75000E+01 0.50000E+01 0.00000E+00 

1988 189 11 SO2 0.50000E+01 0.50000E+01 0.00000E+00 0.00000E+00 0.50000E+01 0.25000E+01 0.00000E+00 0.50000E+01 

1988 189 12 SO2 0.00000E+00 0.00000E+00 0.00000E+00 0.00000E+00 0.00000E+00 0.50000E+01 0.50000E+01 0.00000E+00 

MAR 2006 – CALPUFF 

F-270
F.15.9 Mass Balance List File (MASSBAL.DAT) 

Mass balance results for all species in the run are reported to the list file MASSBAL.DAT. 

MASSBAL.DAT is a formatted text file that identifies the CALPUFF version and level, echoes the 3-line 

title of the CALPUFF simulation, identifies the output as hourly mass balance (g), sets out column

headings to label each variable listed, and then reports changes in the mass of each species in the entire 

modeling domain for each hour in the simulation. The date and time of each output record marks the time 

at the end of the hour, where midnight is hour zero of the new day (CALPUFF convention). 

An example list file is provided in Table F-63. The first five columns after the species name identify the 

hourly change in mass due to emissions, transport out of the domain, chemical transformation, and 

depletion (wet and dry deposition). The last three columns report the current mass totals at the end of the 

hour, and the portion that is in the surface mixed layer, and above the mixed layer. A single record is 

written for each species and each hour of the simulation. 

MAR 2006 – CALPUFF 

F-271
Table F-63 

Sample Mass Balance List File (MASSBAL.DAT) 

 

 CALPUFF Version: 5.2 Level: 991104 

********************************************************************************************************************************* 

 CALPUFF test case run - 3 point sources 

 24-Hour Simulation using CALMET met. data 

 Gridded receptors on 17x17 20-km met grid 

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

 Hourly Mass Balance 

 (g) 

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

 Advected Wet Dry Domain Domain Domain 

 Yr Day Hr Species Emitted Out Transformed Depletion Depletion Total Surface Aloft 

1988 189 1 SO2 1.08000E+05 0.00000E+00 0.00000E+00 0.00000E+00 0.00000E+00 1.08000E+05 1.08000E+05 0.00000E+00 

1988 189 2 SO2 1.08000E+05 0.00000E+00 0.00000E+00 0.00000E+00 0.00000E+00 2.16000E+05 2.16000E+05 0.00000E+00 

1988 189 3 SO2 1.08000E+05 0.00000E+00 0.00000E+00 0.00000E+00 0.00000E+00 3.24000E+05 3.24000E+05 0.00000E+00 

1988 189 4 SO2 1.08000E+05 0.00000E+00 0.00000E+00 0.00000E+00 0.00000E+00 4.32000E+05 4.32000E+05 0.00000E+00 

1988 189 5 SO2 1.08000E+05 0.00000E+00 0.00000E+00 0.00000E+00 0.00000E+00 5.40000E+05 5.40000E+05 0.00000E+00 

1988 189 6 SO2 1.08000E+05 0.00000E+00 0.00000E+00 0.00000E+00 0.00000E+00 6.48000E+05 6.48000E+05 0.00000E+00 

1988 189 7 SO2 1.08000E+05 0.00000E+00 0.00000E+00 0.00000E+00 0.00000E+00 7.56000E+05 7.55506E+05 4.94406E+02 

1988 189 8 SO2 1.08000E+05 0.00000E+00 0.00000E+00 0.00000E+00 0.00000E+00 8.64000E+05 7.67561E+05 9.64391E+04 

1988 189 9 SO2 1.08000E+05 0.00000E+00 0.00000E+00 0.00000E+00 0.00000E+00 9.72000E+05 9.03347E+05 6.86530E+04 

1988 189 10 SO2 1.08000E+05 0.00000E+00 0.00000E+00 0.00000E+00 0.00000E+00 1.08000E+06 1.04017E+06 3.98287E+04 

1988 189 11 SO2 1.08000E+05 0.00000E+00 0.00000E+00 0.00000E+00 0.00000E+00 1.18800E+06 1.13525E+06 5.27460E+04 

1988 189 12 SO2 1.08000E+05 0.00000E+00 0.00000E+00 0.00000E+00 0.00000E+00 1.29600E+06 1.23078E+06 6.52167E+04 

1988 189 13 SO2 1.08000E+05 0.00000E+00 0.00000E+00 0.00000E+00 0.00000E+00 1.40400E+06 1.32007E+06 8.39310E+04 

1988 189 14 SO2 1.08000E+05 0.00000E+00 0.00000E+00 0.00000E+00 0.00000E+00 1.51200E+06 1.42405E+06 8.79461E+04 

1988 189 15 SO2 1.08000E+05 0.00000E+00 0.00000E+00 0.00000E+00 0.00000E+00 1.62000E+06 1.54313E+06 7.68674E+04 

1988 189 16 SO2 1.08000E+05 0.00000E+00 0.00000E+00 0.00000E+00 0.00000E+00 1.72800E+06 1.65073E+06 7.72731E+04 

1988 189 17 SO2 1.08000E+05 3.60000E+04 0.00000E+00 0.00000E+00 0.00000E+00 1.80000E+06 1.68879E+06 1.11212E+05 

1988 189 18 SO2 1.08000E+05 0.00000E+00 0.00000E+00 0.00000E+00 0.00000E+00 1.90800E+06 1.76439E+06 1.43614E+05 

1988 189 19 SO2 1.08000E+05 1.80000E+04 0.00000E+00 0.00000E+00 0.00000E+00 1.99800E+06 1.82506E+06 1.72942E+05 

1988 189 20 SO2 1.08000E+05 7.20000E+04 0.00000E+00 0.00000E+00 0.00000E+00 2.03400E+06 1.62398E+06 4.10020E+05 

1988 189 21 SO2 1.08000E+05 3.60000E+04 0.00000E+00 0.00000E+00 0.00000E+00 2.10600E+06 1.64662E+06 4.59384E+05 

1988 189 22 SO2 1.08000E+05 9.00000E+04 0.00000E+00 0.00000E+00 0.00000E+00 2.12400E+06 1.63884E+06 4.85155E+05 

1988 189 23 SO2 1.08000E+05 7.20000E+04 0.00000E+00 0.00000E+00 0.00000E+00 2.16000E+06 1.55585E+06 6.04154E+05 

1988 190 0 SO2 1.08000E+05 1.62000E+05 0.00000E+00 0.00000E+00 0.00000E+00 2.10600E+06 1.42564E+06 6.80359E+05 

MAR 2006 – CALPUFF 

F-272
F.16 OPTHILL 

When the subgrid scale complex terrain (CTSG) option of the CALPUFF model is invoked, two groups 

of additional data must be prepared by the user: CTSG receptor and terrain information. These data may

be provided in external files in the format used by CTDMPLUS (Section F.12), or they may be entered 

into the CALPUFF control file. The purpose of the optimizer program OPTHILL is to provide the user 

with the means for calculating the set of terrain data that best characterizes each feature when these data 

are entered into the control file. 

F.16.1 CTSG Terrain Information 

CTSG requires information on the location, orientation, size, and shape of each terrain feature being 

modeled. The variables that contain this information are: 

xc,yc coordinates (km) of the center of the hill

thetah orientation (deg) of major axis of hill (clockwise from north) 

zgrid height (m) of "grid-plane" of grid above mean sea level 

relief height (m) of crest of hill above the "grid-plane" elevation 

expo (1) hill-shape exponent for major axis 

│ 1 – (x/axmax)expo │

ht(x) = │ ─────────── │ * relief

│ 1 + (x/scale)expo │

└ ┘

expo (2) hill-shape exponent for minor axis 

scale(1) horizontal length scale (m) along major axis 

scale(2) horizontal length scale (m) along minor axis 

axmax(1) maximum allowed axis length (m) for major axis 

axmax(2) maximum allowed axis length (m) for minor axis 

The profile of the terrain along each axis of the feature is prescribed by the following equation:

┌ ┐

(F-1) 

where ht(x) is the height of the profile above the base of the feature, at a distance x from the peak (Figure 

F-1). 

The terrain profile-optimizing program (OPTHILL) computes the hill shape exponent (EXPO) and 

horizontal terrain length scale (SCALE) parameters from a user-entered terrain profile along each of two 

axes. This terrain profile defines the height of the surface of the hill at a number of distances from the 

center of the hill, along each axis. The OPTHILL program performs computations for one axis (i.e., 

major or minor axis) of the terrain feature at a time. Therefore, two runs of OPTHILL are necessary for 

each subgrid scale terrain feature. 

MAR 2006 – CALPUFF 

F-273
Figure F-1. Profile of a terrain feature along one of its two axes. A best-fit inverse polynomial 

function describes this profile to CTSG. 

MAR 2006 – CALPUFF 

F-274
The following procedure is recommended to determine the terrain inputs for the CALPUFF CTSG 

algorithm from a topographic map. 

a. Identify the sub-grid terrain features to be modeled.

Such features will generally be small enough that they could be contained within one grid-square. 

This does not mean that they cannot straddle two or more squares. The features should be 

prominent, and possibly lie near source regions so that the additional computations required by

CTSG are warranted in resolving important pollutant impact areas. 

b. Decide on the orientation of the feature.

The orientation of the feature is generally evident if the feature is longer in one direction than

another. If there is no dominant direction to the feature, model it as a symmetric feature, and 

choose an orientation of north. 

c. Obtain height-profiles along each axis of the feature.

Choose an approximate center for the feature and draw axes through it (one axis should lie along 

the direction of orientation). Along each axis, measure the distance between approximate 

intersections of the axis with marked contours. The distances so measured should extend from

the contour furthest to the south to the same contour furthest to the north (for a north-south axis). 

Divide each of these distances by two, and tabulate the results. 

d. Identify the maximum elevation of the feature.

Take the peak elevation directly from the map. 

e. Identify the elevation at the base of the feature.

Generally, the base of the feature will be that point at which the feature becomes 

indistinguishable from terrain variations around it. 

f. Convert all elevations that were tabulated to heights above the base of the feature.

g. Use optimizer program (OPTHILL) to obtain shape parameters.

The "relief" parameter is just the peak elevation less the base elevation. The "axmax" value for 

each axis should be representative of the maximum extent of the feature along each axis at the 

elevation of the base of the feature. With these two variables fixed for each axis, the heightprofile data from step c. can be put through OPTHILL to obtain "expo" and "scale" for each axis. 

MAR 2006 – CALPUFF 

F-275
Table F-64 summarizes the OPTHILL input and output filenames. OPTHILL requires a single input file 

(OPTHILL.INP) which contains the user's inputs describing the terrain profile, each height, and 

maximum axis length. The computed values of EXPO and SCALE for one axis of the hill are listed in the 

output list file (OPTHILL.LST). The format and contents of the OPTHILL control file are explained in 

Table F-65. 

F.16.2 Example OPTHILL Application 

The OPTHILL program is an optimization that takes a value of "relief" and "axmax," and a sequence of 

pairs of (x,ht) values along an axis, and returns a value of "expo" and "scale" that prescribes the profile 

function that best matches the (x,ht) pairs. Its use is illustrated by the following example. 

Figure F-2 shows the terrain surrounding the site of EPA's "Full-Scale Plume Study" (FSPS) that was 

performed in the Truckee River Valley near Reno, NV (Strimaitis et al., 1985), as part of the Complex 

Terrain Model Development Program. Nocturnal flow in this valley is frequently channeled by the high 

terrain to the north and south of the Tracy power plant. Elevations typical of nocturnal plume heights 

(4600-4800 ft. MSL) are emphasized on the figure. Given the predominant flow to the east during stable 

conditions, there is potential for plume impact on the feature just northeast of the plant. This feature, 

marked by axes in Figure F-2, was named "Beacon Hill" during the study.

Following the procedures outlined above, axes were drawn over the feature and distances between fixed 

contour elevations were tabulated. After subtracting the elevation above sea level of the base of the 

feature (the floor of the river valley), these data were entered into two files. Table F-66 displays the 

contents of both files. The files (axis1.inp and axis2.inp) contain "relief" and the value for "axmax" for 

each axis of the hill, followed by five pairs of (x,ht) values. The first record of each file is reserved for 

comments to identify the data. Values for "relief" and "axmax" are free-format, and should be entered 

anywhere in the open space provided on the next two lines. Pairs of (x,ht) should be entered right after 

the next comment record. 

OPTHILL must be invoked separately for each of the two axes of the hill. This is accomplished by

renaming one input file (e.g., axis1.inp) to the OPTHILL input control file name (OPTHILL.INP), 

executing the program, renaming the output file (OPTHILL.LST) to a new name (e.g., axis1.lst), and then 

repeating these steps for the second axis of the hill. The output files produced by OPTHILL for the 

current example are presented in Table F-67 and F-68. The output file lists the final values of the profile 

parameters, and it also lists the profile data provided by the user along with the corresponding data 

computed from the profile parameters. 

MAR 2006 – CALPUFF 

F-276
Table F-64 

OPTHILL Input and Output Files 

Unit File Name Type Format Description

5 OPTHILL.INP input formatted Control file containing user inputs

6 OPTHILL.LST output formatted List file (line printer output file) 

MAR 2006 – CALPUFF 

F-277
Table F-65 

OPTHILL Control File Inputs (OPTHILL.INP) 

Record Variable

No. 

Variable 

Name 

Columns Type of

Format 

Description

1 1 TITLE(15) 1-60 15A4 60 character title 

2

real

1 RELIEF * real Height (m) of the crest of the hill above 

the grid elevation 

3 1 AXMAX * real Maximum allowed axis length (m) for

the axis (major or minor) being 

evaluated 

4 1 - * - This record is skipped by the program. 

May contain optional text data (see 

example) 

5 1 DIST * real Distance-height pairs describing the 

profile of the terrain. Units: m 

5 2 HGT * Distance-height pairs describing the

profile of the terrain. 

Units: m

* Entered in FORTRAN free format. 

MAR 2006 – CALPUFF 

F-278
Figure F-2 Map of terrain surrounding the site of the FSPS, illustrating the selection and 

characterization of a terrain feature for CTSG modeling. 

MAR 2006 – CALPUFF 

F-279
Table F-66 

Sample OPTHILL Input Files

 (a) OPTHILL.INP for Axis #1 of the hill. 

Optimal SCALE and EXPO factors -- Axis #1 of example problem

300. - Height (m) of hill crest above "zero-plane" elevation (RELIEF) 

2000. - Maximum allowed length (m) for this axis (AXMAX)

--------------------------------- Distance-height pairs describing hill profile ------------------------------- 

564., 239. - Dist.(m) from crest, terrain ht (m) above "zero-plane" elev.

826., 178. (Repeated for each dist.-height pair) 

 1062., 150.

 1193., 117.

 1508., 56.

 (b) OPTHILL.INP for Axis #2 of the hill. 

Optimal SCALE and EXPO factors -- Axis #2 of example problem

300. - Height (m) of hill crest above "zero-plane" elevation (RELIEF) 

1500. - Maximum allowed length (m) for this axis (AXMAX)

--------------------------------- Distance-height pairs describing hill profile ------------------------------- 

302., 239. - Dist.(m) from crest, terrain ht (m) above "zero-plane" elev.

551., 178. (Repeated for each dist.-height pair) 

 708., 150.

 970., 117.

 1311., 56.

MAR 2006 – CALPUFF 

F-280
Table F-67 

OPTHILL Output File for Axis #1 of Sample Hill

*** Optimal SCALE and EXPO factors -- Axis #1 of example problem *** 

EVOL TIME LIMIT = 60. SECONDS SKIP = 10 

4 SCALE 0.2000E+04 0.1000E+04 0.2000E+02 0.2000E+06 

Distance Height Fitted Value 

NUMBER OF PARAMETERS FOR THIS STUDY : 4 

PARAMETER START VALUE STEP CONTROL LOWER LIMIT UPPER LIMIT 

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

1 RELIEF 0.3000E+03 0.0000E+00 0.3000E+03 0.3000E+03 

2 AXMAX 0.2000E+04 0.0000E+00 0.2000E+04 0.2000E+04 

3 EXPO 0.2000E+01 0.2000E+01 0.1000E+00 0.1000E+02 

CALCULATIONS STARTED 

RETURN VALUE: 2 NORMAL RETURN FUNCTION VALUE: 0.50303 

PARAMETER VALUES: 

 RELIEF = 300.00000 

 AXMAX = 2000.00000 

 EXPO = 1.90651 

 SCALE = 1522.94500 

 

 564.0 239.0 237.4 

 826.0 178.0 186.4 

 1062.0 150.0 139.9 

 1193.0 117.0 115.5 

 1508.0 56.0 63.0 

MAR 2006 – CALPUFF 

F-281
Table F-68 

OPTHILL Output File for Axis #2 of Sample Hill

.*** Optimal SCALE and EXPO factors -- Axis #2 of example problem *** 

EVOL TIME LIMIT = 60. SECONDS SKIP = 10 

NUMBER OF PARAMETERS FOR THIS STUDY : 4 

PARAMETER START VALUE STEP CONTROL LOWER LIMIT UPPER LIMIT 

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

1 RELIEF 0.3000E+03 0.0000E+00 0.3000E+03 0.3000E+03 

 551.0 178.0 189.1 

2 AXMAX 0.1500E+04 0.0000E+00 0.1500E+04 0.1500E+04 

3 EXPO 0.2000E+01 0.2000E+01 0.1000E+00 0.1000E+02 

4 SCALE 0.1500E+04 0.7500E+03 0.1500E+02 0.1500E+06 

CALCULATIONS STARTED 

RETURN VALUE: 2 NORMAL RETURN FUNCTION VALUE: 2.17504 

PARAMETER VALUES: 

 RELIEF = 300.00000 

 AXMAX = 1500.00000 

EXPO = 1.23912 

 SCALE = 2895.90200 

Distance Height Fitted Value 

 302.0 239.0 244.0 

 708.0 150.0 154.7 

 970.0 117.0 99.5 

 1311.0 56.0 33.5 

MAR 2006 – CALPUFF 

F-282
This process is simplified somewhat if a batch file is used to manage the filenames. One such batch file 

for DOS (RUNOPT.BAT) is included with the testcase. It requires three filenames as arguments: 

RUNOPT file1 file2 file3 

where 

 file1 OPTHILL.EXE executable program file 

 file2 user.inp input file 

 file3 user.out output file 

The batch file copies file2 to OPTHILL.INP, runs OPTHILL.EXE which creates OPTHILL.LST, then 

renames OPTHILL.LST to the name supplied as file3. For the example above, axis #1 would be 

processed by typing the command: 

RUNOPT OPTHILL.EXE AXIS1.INP AXIS1.LST 

With these results, hill information that is independent of the choice of coordinate system and the 

modeling grid for the wind model can be specified: 

xc,yc (m) (depends on choice of coordinates) 

 thetah (deg) 69E

zgrid (m) (depends on grid for wind model) 

 relief (m) 300. 

 expo (1) 1.91 

 expo (2) 1.24 

scale (1) (m) 1523. 

scale (2) (m) 2896. 

axmax (1) (m) 2000. 

axmax (2) (m) 1500. 

Note that scale(2) is almost twice scale(1), even though axis 1 corresponds to the longer axis of the hill. 

This can occur because the "scale" parameter is a property of the entire inverse-polynomial function 

(Equation F-1), rather than just the portion of the function that is fit to the profile of the terrain. In Figure 

F-1, the shape of the terrain might best conform to the upper 10% of the polynomial function, in which 

case the "scale" parameter would exceed "axmax." In this example application of the OPTHILL program, 

we see that axmax(2) is substantially less than axmax(1), whereas scale(2) exceeds scale(1), indicating 

that a comparatively smaller portion of the polynomial function represents the terrain profile along the 

minor axis.

MAR 2006 – CALPUFF 

F-283
G. POSTPROCESSORS 

The CALMET meteorological model generates a large unformatted meteorological data file which 

includes hourly gridded wind fields and temperature at multiple levels and hourly gridded surface 

meteorological fields such as PGT (Pasquill-Gifford-Turner) stability class, friction velocity, MoninObukhov length, mixing height, convective velocity scale, and precipitation rate. A postprocessor is 

designed to access this file: 

PRTMET is a postprocessor intended to aid in the analysis of the CALMET output data 

file by allowing the user to display selected portions of the meteorological data. 

After making one or more CALPUFF simulations, hourly concentrations and/or deposition fluxes for 

each species at each receptor exist in several unformatted data files. A single CALPUFF application can 

produce four such files: CONC.DAT (concentrations in g/m3

); WFLUX.DAT (wet deposition fluxes in 

g/m2

/s); DFLUX.DAT (dry deposition fluxes in g/m2/s); and VISB.DAT (relative humidity for visibility

analyses). When a period is simulated as a sequence of shorter-period CALPUFF applications, as when a 

year is simulated in chunks of about four weeks, for example, each of the shorter runs produces its own 

set of files. When certain groups of sources need to be characterized separately, individual CALPUFF 

applications are required for each group, again producing a set of data files for each application. 

Similarly, certain species may be modeled separately, producing more output data files. Data in all of 

these files must be processed to obtain results that can be used to characterize air quality impacts in terms 

of multiple-hour averages, increment consumption, threshold exceedences, visibility reduction, total 

deposition, and so forth. Postprocessors designed for this work include: 

APPEND is a postprocessor which appends two or more sequential CALPUFF 

concentration, wet flux, dry flux or relative humidity (visibility) files in time. 

CALSUM is a postprocessor which sums and scales concentrations or wet/dry fluxes from

two or more source groups from different CALPUFF runs. 

POSTUTIL is a postprocessor which operates on one or more CALPUFF concentration and 

wet/dry flux files to create new species as weighted combinations of modeled 

species; to sum wet and dry deposition fluxes; to merge species from different 

runs into a single output file; to sum and scale results from different runs; to 

repartition nitric acid/nitrate based on total available sulfate and ammonia; and 

to add time/space-varying background. 

CALPOST is a postprocessor which operates on one CALPUFF concentration or wet/dry

deposition flux file to perform visibility calculations; to average and summarize 

concentrations and deposition fluxes; to determine ranked concentration/ 

flux/light extinction values; and to create list files and plot files. 

MAR 2006 -- PostProc 

G-1 
G.1 PRTMET Meteorological Display Program

The CALMET meteorological model generates a large, binary meteorological file which includes hourly

gridded wind fields at multiple levels and hourly gridded surface meteorological fields such as PGT 

(Pasquill-Gifford-Turner) stability class, friction velocity, Monin-Obukhov length, mixing height, 

convective velocity scale, and precipitation rate. For many typical applications, this output file will be 

several megabytes or more in volume. The PRTMET program is a postprocessor intended to aid in the 

analysis of the CALMET output data base by allowing the user to display selected portions of the 

meteorological data. 

PRTMET has the following capabilities and options. 

- Option to print or suppress printing of the gridded hourly meteorological fields (wind 

fields and surface meteorological variables). 

- User-selected levels of the wind fields printed. 

- Option to display wind fields as U, V components or as wind speed and wind direction. 

- User-selected wind speed conversion factor for changing units (default units: m/s). 

- Option to print plot files of all the meteorological variables (horizontal slices), in a format 

compatible with SURFER (contour plots and/or vector plots). 

- Option to print time-series of any number of variables at a single grid point, in a separate 

file compatible with Excel (column format) 

- Option to produce plot files of snapshots and/or average fields. 

- Option to print or suppress printing of the gridded geophysical variables (surface 

roughness lengths, land use categories, terrain elevations). 

- Option to print plot files of the gridded geophysical variables. 

- Option to print or suppress printing of X, Y coordinates of surface stations, upper air 

stations, and precipitation stations used in the modeling. 

- Option to print or suppress printing of the CALMET run control variables stored in the 

header records of the CALMET output file. 

MAR 2006 -- PostProc 

G-2 
- User-selected portion of horizontal grid printed for all gridded meteorological fields. 

Options include printing entire grid, subset of grid, or a single data point. 

- User-selected time period(s) printed. 

- User-selected printing time interval. 

- User-selected format for display of gridded meteorological fields (self-scaling 

exponential format or fixed format). 

Two input files are read by PRTMET: a user-input control file and the unformatted meteorological data 

file containing the gridded wind and micrometeorological fields generated by CALMET. The output file 

PRTMET.LST contains the printed data selected by the user. PRTMET also produces a user defined 

number of plot files. A time-series output file is created whenever a single grid point is selected for 

processing. Table G-1 contains a summary of the input files and output files for PRTMET. 

The format of the PRTMET control input file follows the same rules as those used in the CALMET.INP 

file (refer to the CALMET section for details). Only data within the delimiter characters (!) are processed. 

 The input data consist of a leading delimiter followed by the variable name, equals sign, input value or 

values, and a terminating delimiter (e.g., !XX = 12.5!). PRTMET.INP may be created/edited directly

using a conventional editor, or it may be created/edited indirectly by means of the PC-based, Windowscompatible Graphical User Interface (GUI) developed for the geophysical preprocessors (CALPRO). A 

sample input file is presented in Table G-2. A description of each of the inputs is provided in Table G-3. 

PRTMET extracts and prints the data selected by the user from the CALMET data file. A sample output 

file is shown in Table G-4. A sample contour plot file and a sample vector plot file are shown in Table G5 and Table G-6, respectively. A sample time-series output file is shown in Table G-7. 

MAR 2006 -- PostProc 

G-3 
Table G-1 

PRTMET Input and Output Files

Unit File Name Type Format Description

5 PRTMET.INP input formatted Control file containing user inputs 

6 PRTMET.LST output formatted List file (line printer output file) 

7 CALMET.DAT input unformatted Unformatted CALMET output file 

containing meteorological and 

geophysical data to be printed. 

8 - output formatted Plot file. As many files as 

specified in PRTMET.INP. 

1 PRTTIME.TXT output formatted Time-series file. Created if a single 

grid point is processed. 

MAR 2006 -- PostProc 

G-4 
Table G-2 

PRTMET Control File Inputs (PRTMET.INP) 

Input group Variable Type Description

(0) METDAT character*132 Unformatted CALMET output file containing the 

meteorological and geophysical data to be printed 

RUNLST character*132 List file name. 

PRTTIME Character*132 Time-series file name

LCFILES Logical Convert filename to upper (F) or lower (T) case 

(1) IBYR Integer Starting year of data to print (four digit) 

IBMO Integer Starting month

IBDAY Integer Starting day

IBHR Integer Starting hour (00-23) 

IEYR Integer Ending year of data to print (four digit) 

IEMO Integer Ending month

IEDAY Integer Ending day

IEHR Integer Ending hour (00-23) 

ICHR Integer Printing interval (hours) for printing/plotting field 

NBX Integer X grid cell of lower left corner of grid to print 

NBY Integer Y grid cell of lower left corner of grid to print 

NEX Integer X grid cell of upper right corner of grid to print 

NEY Integer Y grid cell of upper right corner of grid to print 

(2) LHDV Logical Control variable for printing of CALMET run 

variables stored in header records of output file. 

(F=do not print, T=print) 

LMETCF Logical Control variable for printing full CALMET 

control file image. (F=do not print, T=print) 

LSFC Logical Control variable for printing of X,Y surface 

station coordinates. 

(F=do not print, T=print) 

LUPC Logical Control variable for printing of X,Y upper air 

station coordinates. 

(F=do not print, T=print) 

LPRC Logical Control variable for printing of X,Y precipitation 

station coordinates. 

(F=do not print, T=print) 

LNEARS Logical Control variable for printing of nearest surface 

station number to each grid point. 

(F=do not print, T=print) 

MAR 2006 -- PostProc 

G-5 
Table G-2 (Continued) 

PRTMET Control File Inputs (PRTMET.INP) 

Input group Variable Type Description

(2a) LSURF logical Control variable for printing of surface station 

number to each grid point. 

(F=do not print, T=print) 

LLI logical Control variable for printing of leaf area index 

field. 

(F=do not print, T=print) 

LLU logical Control variable for printing of gridded land use 

categories. 

(F=do not print, T=print) 

LTE logical Control variable for printing of terrain elevations.

(F=do not print, T=print) 

LZ0 logical Control variable for printing of gridded surface 

roughness lengths. 

(F=do not print, T=print) 

FLI integer Output format for leaf area index. 

(0=self-scaling exponential format, 1=fixed 

format). 

FLU integer Output format for land use categories. (0=selfscaling exponential format, 1=fixed format). 

FTE integer Output format for terrain elevations. (0=selfscaling exponential format, 1=fixed format). 

FZ0 integer Output format for surface roughness lengths. 

(0=self-scaling exponential format, 1=fixed 

format). 

LSTAB logical Control variable for printing of PGT stability 

class. 

(F=do not print, T=print) 

LUSTR logical Control variable for printing of friction velocity. 

(F=do not print, T=print) 

LMONL logical Control variable for printing of Monin-Obukhov 

length. 

(F=do not print, T=print) 

LWSTR logical Control variable for printing of convective 

velocity scale. 

(F=do not print, T=print) 

LMXHT logical Control variable for printing of mixing height. 

(F=do not print, T=print) 

LPRAT logical Control variable for printing of precipitation rates. 

(F=do not print, T=print) 

MAR 2006 -- PostProc 

G-6 
Table G-2 (Continued) 

PRTMET Control File Inputs (PRTMET.INP) 

Input group Variable Type Description

(2a) FSTAB integer Output format for PGT stability class. USED 

ONLY IF IPSC=1. 

(0=self-scaling exponential format, 1=fixed 

format) 

FUSTR integer Output format for friction velocity. USED ONLY 

IF IFV=1. (0=self-scaling exponential format, 

1=fixed format) 

FMONL integer Output format for Monin-Obukhov length. USED 

ONLY IF IMOL=1. 

(0=self-scaling exponential format, 1=fixed 

format) 

FWSTR integer Output format for the convective velocity scale. 

USED ONLY IF ICVS=1. (0=self-scaling 

exponential format, 1=fixed format) 

FMXHT integer Output format for mixing height. USED ONLY 

IF IMH=1. (0=self-scaling exponential format, 

1=fixed format) 

FPRAT integer Output format for precipitation rates. USED 

ONLY IF IPR=1. (0=self-scaling exponential 

format, 1=fixed format) 

IPWS integer Control variable for display of wind field. 

(0=U,V components, 1=wind speed, wind 

direction) 

WSFAC real Wind speed units conversion factor. (1.0 for m/s, 

1.944 for knots, 2.237 for miles/hour) 

FWS integer array

element 

Output format for wind speeds. (0=self-scaling 

exponential format, 1=fixed format) 

N3D integer Number of layers of 3-D met data printed 

(2b) X (N3D entries) Integer arrays Data for each layer printed: layer # , horizontal 

wind, vertical velocity, temperature (1: print, 0: 

do not pring) 

MAR 2006 -- PostProc 

G-7 
 Table G-2 (Concluded) 

PRTMET Control File Inputs (PRTMET.INP) 

 

Input group Variable Type Description

(3a) LVECT logical Create plot files of wind vectors for each 

CALMET layer each hour (T: Yes ; F: No) 

LTEMP Logical Create plot files of temperature for each 

CALMET layer each hour (T: Yes ; F: No) 

LWSPE Logical Create plot files of wind speed for each CALMET 

layer each hour (T: Yes ; F: No) 

LPREC Logical Create plot files of precipitation for each 

CALMET layer each hour (T: Yes ; F: No) 

LMIXH Logical Create plot files of mixing height for each 

CALMET layer each hour (T: Yes ; F: No) 

LIPGT logical Create plot files of PGT class for each CALMET 

layer each hour (T: Yes ; F: No) 

NSNAP integer Number of snapshot plot files to be created. 

NSNAP x 2-

line entries 

FILESNAP 

XXXX 

Character*132 

Char*4= 

Integer, integer 

Output file name

Layer number, time (hour) for variable XXXX to 

plot. Variable XXXX options: VECT (wind field, 

vector plot), UVEL (u-component of wind 

velocity, VVEL (v-component of wind 

velocity),WVEL(w-component of wind velocity),, 

TEMP (temperature),WDIR (Wind direction), 

WSPE(wind speed), IPGT (PGT class), 

USTA(Friction velocity), MONL(MoninObukhov length, WSTA( convective velocity), 

MIXH (mixing height), PREC(precipitation rate) 

(4a) NMEAN integer Number of averaged field plot files to be created. 

IBEGAV integer Beginning hour of the averaging period 

(IBEGIN=1 corresponds to IYR, IMO, IDAY, 

IHR) 

IENDAV integer Ending hour of the averaging period. 

(4b) 

NMEAN x 

2-line 

entries 

FILEMEAN 

XXXX 

Character*132 

Char*4 = 

integer 

Output file name (average fields) 

Variable to plot (same variable options as for 

snapshots), layer number 

MAR 2006 -- PostProc 

G-8 
Table G-3 

Sample PRTMET Control File (PRTMET.INP) ------------------------------------------------------------------------------- 

 PRTMET PROCESSOR CONTROL FILE 

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

 PRTMET reads the binary meteorological data file produced by CALMET 

 (CALMET.DAT), and reports selected information in formats amenable to 

 quantitative analysis, QA review, or visualization. 

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

 a 

INPUT GROUP: 0 -- Input and Output Files 

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

 Default Name Type File Name 

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

 CALMET.DAT input ! METDAT =met1.dat ! 

 PRTMET.LST output ! RUNLST =prtmet1.lst ! 

 PRTTIME.DAT output ! PRTTIME =oct1_all_hours.dat ! 

 Note: PRTTIME is a time-series file created only if a single point is 

 selected for processing/printing in Input Group 1. 2D and 3D variables 

 specified in Input Group 2 are written each period for this point. 

 

 All file names will be converted to lower case if LCFILES = T 

 Otherwise, if LCFILES = F, file names will be converted to UPPER CASE 

 (LCFILES) Default: T ! LCFILES = F ! 

 T = lower case 

 F = UPPER CASE 

 NOTE: File/path names can be up to 132 characters in length 

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

 a 

 Additional output files may be defined in Input Groups 3 and 4 when 

 specific snapshot plots or average field plots are requested. 

!END! 

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

INPUT GROUP: 1 -- Run control parameters 

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

 --- Processing Period --- 

 Starting date: Year (IBYR) -- No default ! IBYR = 1990 ! 

 Month (IBMO) -- No default ! IBMO = 7 ! 

 Day (IBDY) -- No default ! IBDY = 8 ! 

 [00-23] Hour (IBHR) -- No default ! IBHR = 18 ! 

 Ending date: Year (IEYR) -- No default ! IEYR = 1990 ! 

 Month (IEMO) -- No default ! IEMO = 7 ! 

 Day (IEDY) -- No default ! IEDY = 9 ! 

 [00-23] Hour (IEHR) -- No default ! IEHR = 6 ! 

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

 NOTE: The hour is defined by the time at the end of the hour 

 --- Processing Options --- 

 Time interval between printed/plotted fields (hr) 

 Enter 1 to print every hour, enter 2 to 

 print every second hour, etc. 

 (ICHR) Default: 1 ! ICHR = 1 ! 

 Portion of meteorological grid to print/plot 

 Enter beginning (NBX,NBY) and ending (NEX,NEY) 

 cell indices (enter 0 to indicate entire grid). 

 (NBX) Default: 0 ! NBX = 0 ! 

 (NBY) Default: 0 ! NBY = 0 ! 

 (NEX) Default: 0 ! NEX = 0 ! 

 (NEY) Default: 0 ! NEY = 0 ! 

 

 Note: If only one gridpoint is specified, variables selected in 

 Input Group 2 are written to a separate time-series output file 

 defined in Input Group 0. 

!END! 

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

INPUT GROUP: 2 -- Listfile Output Options 

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

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

Subgroup (2a) 

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

MAR 2006 -- PostProc 

G-9 
Table G-3 

Sample PRTMET Control File (PRTMET.INP) 

 Print CALMET header run variables 

 (e.g., grid definition, ...)? 

 (LHDV) Default: T ! LHDV = T ! 

 Print full CALMET control file image? 

 (LMETCF) Default: F ! LMETCF = F ! 

 Print meteorological station (X,Y) 

 coordinates? 

 (LSFC) surface Default: F ! LSFC = F ! 

 (LUPC) upper air Default: F ! LUPC = F ! 

 (LPRC) precipitation Default: F ! LPRC = F ! 

 Print nearest surface station ID for 

 each grid point? 

 (LNEARS) Default: F ! LNEARS = F ! 

 Print surface meteorological data? 

 (temp, rho, SW rad, rh, precip code) 

 (LSURF) Default: F ! LSURF = F ! 

 Print 2-D gridded domain characteristics? 

 (LLI) Leaf Area Index Default: F ! LLI = F ! 

 (LLU) Landuse Default: F ! LLU = F ! 

 (LTE) Terrain Default: F ! LTE = F ! 

 (LZ0) Roughness Default: F ! LZ0 = F ! 

 Format used when printing gridded domain characteristics 

 (used only if corresponding LLI,LLU,LTE,LZ0 is true) 

 0 = use self-scaling exponential format 

 1 = use fixed decimal format 

 (FLI) Leaf Area Index Default: 0 ! FLI = 0 ! 

 (FLU) Landuse Default: 0 ! FLU = 0 ! 

 (FTE) Terrain Default: 0 ! FTE = 0 ! 

 (FZ0) Roughness Default: 0 ! FZ0 = 0 ! 

 Print 2-D gridded meteorological data? 

 (LSTAB) PG stability Default: F ! LSTAB = F ! 

 (LUSTR) u-star Default: F ! LUSTR = F ! 

 (LMOLN) Monin-Obukhov L Default: F ! LMOLN = F ! 

 (LWSTR) w-star Default: F ! LWSTR = F ! 

 (LMXHT) mixing ht Default: F ! LMXHT = F ! 

 (LPRAT) precip. rate Default: F ! LPRAT = F ! 

 Format used when printing 2-D gridded meteorological data 

 (used only if corresponding LSTAB,LUSTR,LMOLN,LWSTR,LMXHT,LPRAT 

 is true) 

 0 = use self-scaling exponential format 

 1 = use fixed decimal format 

 (FSTAB) PG stability Default: 0 ! FSTAB = 0 ! 

 (FUSTR) u-star Default: 0 ! FUSTR = 0 ! 

 (FMOLN) Monin-Obukhov L Default: 0 ! FMOLN = 0 ! 

 (FWSTR) w-star Default: 0 ! FWSTR = 0 ! 

 (FMXHT) mixing ht Default: 0 ! FMXHT = 0 ! 

 (FPRAT) precip. rate Default: 0 ! FPRAT = 0 ! 

 Present wind data as speed and direction? 

 (IPWS) Default: 1 ! IPWS = 1 ! 

 0 = present as U,V components 

 1 = present as wind speed, direction 

 Scale factor to convert wind speed from m/s to other units 

 (WSFAC) Default: 1.0 ! WSFAC = 1.0 ! 

 1.0 = m/s 

 1.944 = to knots 

 2.237 = to mph 

 Format used when printing wind speeds 

 0 = use self-scaling exponential format 

 1 = use fixed decimal format 

 (FWS) Default: 0 ! FWS = 0 ! 

 Number of layers of 3-D meteorological data printed 

 (Identify data for each layer in Subgroup 2b) 

 (N3D) Default: 0 ! N3D = 0 ! 

!END! 

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

Subgroup (2b) 

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

 a,b 

 DATA FOR EACH LAYER PRINTED (N3D entries) 

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

 c 

 U,V 

 or 

MAR 2006 -- PostProc 

G-10 
Table G-3 

Sample PRTMET Control File (PRTMET.INP) 

 LAYER WS,WD W TEMPERATURE 

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

* X = 3, 1, 0, 0 * *END* 

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

 a 

 0 = do not print this variable for this layer 

 1 = print this variable for this level 

 b 

 Each line is treated as a separate input subgroup and therefore 

 must end with an input group terminator. 

 c 

 U,V or WS,WD format is selected by variable IPWS 

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

INPUT GROUP: 3 -- Snapshot Output Plotfiles 

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

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

Subgroup (3a) 

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

 Snapshot plotfiles can be created automatically for each CALMET layer, and 

 each hour in the processing period identified in Group 1. The plotfiles 

 are compatible with the SURFER graphics system and are given names that 

 include the date-time and model layer. Filenames are of the form 

 YYYY_JJJ_HHMM(UTC+HHMM)_LZZ.* 

 YYYY = Year (Local Standard Time, LST) 

 JJJ = Julian Day (LST) 

 HHMM = Hour & minute (LST) 

 (UTC+HHMM) = LST definition (e.g. EST = UTC-0500) 

 ZZ = CALMET layer (00 for 2D variables) 

 Create plotfiles for each hour? 

 (LVECT) Wind Vectors (*.wsp,*.wdr) Default: F ! LVECT = F ! 

 -- or -- (*.usp,*.vsp) 

 -- or -- (*.vec) 

 (LTEMP) Temperature (*.deg) Default: F ! LTEMP = F ! 

 (LPREC) Precipitation (*.prc) Default: F ! LPREC = F ! 

 (LMIXH) Mixing Height (*.mix) Default: F ! LMIXH = F ! 

 (LIPGT) PGT Stability (*.pgt) Default: F ! LIPGT = F ! 

 Force snapshot files to be ASCII (text), otherwise files 

 containing non-integer data will be written as BINARY 

 to reduce file size. 

 (LSNAPTXT) Default: T ! LSNAPTXT = F ! 

 Type of file created for the Wind Vector option 

 (MVECT) Default: 0 ! MVECT = 1 ! 

 0 = *.vec (SURFER POST file) 

 1 = *.wsp, *.wdr (speed and direction SURFER GRD files) 

 2 = *.usp, *.vsp (U and V speed SURFER GRD files) 

 Number of layers of 3-D meteorological data written to plot files. 

 (Identify layers in Subgroup 3b) 

 If set to 0, only layer 1 is provided. 

 (NZPLOT) Default: 0 ! NZPLOT = 0 ! 

 

 Specific snapshot plotfiles can be created for selected CALMET layers and 

 hours in the processing period identified in Group 1. The plotfiles 

 are compatible with the SURFER graphics system and are given names by the 

 user. 

 Number of snapshot plotfiles explicitly defined in Subgroup 3c 

 (NSNAP) Default: 0 ! NSNAP = 0 ! 

!END! 

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

Subgroup (3b) 

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

 a,b 

 LAYERS PLOTTED (NZPLOT entries) 

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

 LAYER WIND TEMPERATURE 

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

* X = 3, 1, 0 * *END* 

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

 a 

 0 = do not print this variable for this layer 

 1 = print this variable for this level

MAR 2006 -- PostProc 

G-11 
Table G-3 

Sample PRTMET Control File (PRTMET.INP) 

 b 

 Each line is treated as a separate input subgroup and therefore 

 must end with an input group terminator. 

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

Subgroup (3c) 

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

 a,b 

 SNAPSHOT DEFINITION (NSNAP 2-line entries) 

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

 Layer Hour (position in processing period) 

 ----- ---- 

* FILESNAP = mixht1.grd * 

* MIXH = 1, 3 * *END* 

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

 a 

 Enter information for each of the NSNAP plotfiles in 2-line groups. 

 One line identifies the filename (FILESNAP = outfile), and the 

 other line defines the type of snapshot and the layer & time. 

 The type (e.g., MIXH =) must be one of the following: 

 VECT = wind field (vector plot) 

 UVEL = u-component of the wind (contour plot) 

 VVEL = v-component of the wind (contour plot) 

 WVEL = w-component of the wind (contour plot) 

 TEMP = temperature (contour plot) 

 WDIR = wind direction (contour plot) 

 WSPE = wind speed (contour plot) 

 IPGT = PG stability class (contour plot) 

 USTA = friction velocity u-star (contour plot) 

 MONL = Monin-Obukhov length (contour plot) 

 WSTA = convective velocity w-star (contour plot) 

 MIXH = mixing height (contour plot) 

 PREC = precipitation rate (contour plot) 

 b 

 Each pair of lines is treated as a separate input subgroup and 

 therefore must end with an input group terminator. 

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

INPUT GROUP: 4 -- Average Field Output Plotfiles 

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

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

Subgroup (4a) 

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

 Number of average field plotfiles 

 (NMEAN) Default: 0 ! NMEAN = 0 ! 

 Time period to begin averaging 

 (position within processing period) 

 (IBEGAV) Default: 1 ! IBEGAV = 1 ! 

 Time period to end averaging 

 (position within processing period) 

 (IENDAV) Default: 1 ! IENDAV = 1 ! 

!END! 

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

Subgroup (4b) 

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

 a,b 

 AVERAGE PLOT DEFINITION (NMEAN 2-line entries) 

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

 Layer 

 ----- 

* FILEMEAN = t1_20.grd * 

* TEMP = 1 * *END* 

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

 a 

 Enter information for each of the NMEAN plotfiles in 2-line groups. 

 One line identifies the filename (FILEMEAN = outfile), and the 

 other line defines the type of average and the layer. 

 The type (e.g., MIXH =) must be one of the following: 

 VECT = wind field (vector plot) 

 UVEL = u-component of the wind (contour plot) 

 VVEL = v-component of the wind (contour plot) 

 WVEL = w-component of the wind (contour plot) 

MAR 2006 -- PostProc 

G-12 
Table G-3 

Sample PRTMET Control File (PRTMET.INP) 

 TEMP = temperature (contour plot) 

 WDIR = wind direction (contour plot) 

 WSPE = wind speed (contour plot) 

 IPGT = PG stability class (contour plot) 

 USTA = friction velocity u-star (contour plot) 

 MONL = Monin-Obukhov length (contour plot) 

 WSTA = convective velocity w-star (contour plot) 

 MIXH = mixing height (contour plot) 

 PREC = precipitation rate (contour plot) 

 b 

 Each pair of lines is treated as a separate input subgroup and 

 therefore must end with an input group terminator. 

MAR 2006 -- PostProc 

G-13 
Table G-4 

Sample PRTMET List File (PRTMET.LST) 

 PRTMET OUTPUT SUMMARY 

 VERSION: 4.31 LEVEL: 050128 

 

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

 NOTICE: Starting year in control file sets the 

 expected century for the simulation. All 

 YY years are converted to YYYY years in 

 the range: 1940 2039 

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

 

 

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

 SETUP Information 

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

 

 

 Control File Used ----- 

 prtmet.inp 

 

 Input MET File ----- 

metdat : ..\calpuff\cmet.dat 

 Output List File ----- 

runlst : prtmet.lst 

 Domain Plot Files ----- 

terrain elevations : qaterr.grd 

land use : qaluse.grd 

surface roughness : qaz0.grd 

leaf area index : qalai.grd 

surface stations : qassta.dat 

precip. stations : qapsta.dat 

upper-air stations : qausta.dat 

met grid : qametg.bna 

land use color : luse.clr 

PGT Class color : pgt.clr 

 

 Processing Options ----- 

 

 Beginning year 1990 

 Beginning month 1 

 Beginning day 9 

 Beginning Julian day 9 

 Beginning hour (00 to 23) 5 

 Total number of hours 4 

 Print interval (hours) 1 

 

 Beginning X point 28 

 Beginning Y point 48 

 Ending X point 34 

 Ending Y point 54 

 

 Display X-Y coordinates of surface sta. ? F 

 Display X-Y coordinates of upper air sta. ? F 

 Display X-Y coordinates of precip. sta. ? F 

 Display nearest surface station array ? F 

 Display surface roughness length ? F Fixed format ? 0 

 Display land use categories ? F Fixed format ? 0 

 Display terrain elevations ? T Fixed format ? 0 

 Display leaf area index ? F Fixed format ? 0 

 

 Control variables for printing of 3-D fields. 

 LEVEL U,V W TEMP ? 

 1 0 0 0 

 2 0 0 0 

MAR 2006 -- PostProc 

G-14 
Table G-4 

Sample PRTMET List File (PRTMET.LST) 

 3 1 0 0 

 4 0 0 0 

 5 0 0 0 

 6 0 0 0 

 7 0 0 0 

 8 0 0 0 

 9 0 0 0 

 10 0 0 0 

 11 0 0 0 

 12 0 0 0 

 13 0 0 0 

 14 0 0 0 

 15 0 0 0 

 16 0 0 0 

 17 0 0 0 

 18 0 0 0 

 19 0 0 0 

 20 0 0 0 

 21 0 0 0 

 22 0 0 0 

 23 0 0 0 

 24 0 0 0 

 25 0 0 0 

 26 0 0 0 

 27 0 0 0 

 28 0 0 0 

 29 0 0 0 

 30 0 0 0 

 31 0 0 0 

 32 0 0 0 

 33 0 0 0 

 34 0 0 0 

 35 0 0 0 

 36 0 0 0 

 37 0 0 0 

 38 0 0 0 

 39 0 0 0 

 40 0 0 0 

 41 0 0 0 

 42 0 0 0 

 43 0 0 0 

 44 0 0 0 

 45 0 0 0 

 46 0 0 0 

 47 0 0 0 

 48 0 0 0 

 49 0 0 0 

 50 0 0 0 

 51 0 0 0 

 52 0 0 0 

 53 0 0 0 

 54 0 0 0 

 55 0 0 0 

 56 0 0 0 

 57 0 0 0 

 58 0 0 0 

 59 0 0 0 

 60 0 0 0 

 

 Wind components (U, V) converted to WS, WD ? 1 

 Display wind field in fixed format ? 1 

 

 Multiplicative factor for wind units: 1.0000 

 (If the factor is 1.0 then units will remain in m/s) 

 

 Display PGT stability class ? F Fixed format ? 0

MAR 2006 -- PostProc 

G-15 
Table G-4 

Sample PRTMET List File (PRTMET.LST) 

 Display friction velocity ? F Fixed format ? 0 

 Display Monin-Obukhov length ? F Fixed format ? 0 

 Display mixing height ? T Fixed format ? 0 

 Display convective velocity scale ? F Fixed format ? 0 

 Display precipitation rate ? F Fixed format ? 0 

 

 Display surface met. station variables ? F 

 

 

 Snapshot Options ----- 

 

 Automatic snapshot files selected: 

 Wind Vectors (*.VEC) F (MVECT = 0) 

 Temperature (*.DEG) F 

 Precipitation (*.PRC) F 

 Mixing Height (*.MIX) F 

 PGT Stability (*.PGT) F 

 

 All snapshot files are ASCII? T 

 

 Control variables for ploting 3-D fields. 

 LEVEL WIND TEMP ? 

 1 1 1 

 2 0 0 

 3 0 0 

 4 0 0 

 5 0 0 

 6 0 0 

 7 0 0 

 8 0 0 

 9 0 0 

 10 0 0 

 11 0 0 

 12 0 0 

 13 0 0 

 14 0 0 

 15 0 0 

 16 0 0 

 17 0 0 

 18 0 0 

 19 0 0 

 20 0 0 

 21 0 0 

 22 0 0 

 23 0 0 

 24 0 0 

 25 0 0 

 26 0 0 

 27 0 0 

 28 0 0 

 29 0 0 

 30 0 0 

 31 0 0 

 32 0 0 

 33 0 0 

 34 0 0 

 35 0 0 

 36 0 0 

 37 0 0 

 38 0 0 

 39 0 0 

 40 0 0 

 41 0 0 

 42 0 0 

 43 0 0 

 44 0 0 

MAR 2006 -- PostProc 

G-16 
Table G-4 

Sample PRTMET List File (PRTMET.LST) 

 45 0 0 

 46 0 0 

 47 0 0 

 48 0 0 

 49 0 0 

 50 0 0 

 51 0 0 

 52 0 0 

 53 0 0 

 54 0 0 

 55 0 0 

 56 0 0 

 57 0 0 

 58 0 0 

 59 0 0 

 60 0 0 

 

 Number of specific snapshot files: 0 

 

 Average Field Options ----- 

 

 Number of average field files: 0 

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

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

 Data read from header records of CALMET file: 

 ..\calpuff\cmet.dat 

 

 

CALMET.DAT 2.0 No-Obs file structure with embedded control file 

 

 Internal Coordinate Transformations --- COORDLIB Version: 1.95 Level: 0501 

 1 km resolution CALMET simulation for 4 hours from 5AM January 9, 1990 

 with MM4 data, 5 surface met stations, 1 overwater station, 

Produced by CALMET Version: 5.55 Level: 050217 

 

 Input Group #0 parameters --- 

 NUSTA = 3 

 NOWSTA = 1 

 

 Input Group #1 parameters --- 

 IBYR = 1990 

 IBMO = 1 

 IBDY = 9 

 IBHR = 5 

 IBTZ = 5 

 IRLG = 4 

 IRTYPE = 1 

 LCALGRD = T 

 

 Input Group #2 parameters --- 

 PMAP = UTM 

 DATUM = NAS-C 

 NIMADATE= 02-21-2003 

 FEAST = 0.00000000E+00 

 FNORTH = 0.00000000E+00 

 IUTMZN = 19 

 UTMHEM = N 

 NX = 99 

 NY = 99 

 DGRID = 1000.00000 

MAR 2006 -- PostProc 

G-17 
Table G-4 

Sample PRTMET List File (PRTMET.LST) 

 XORIGR = 310000.000 

 YORIGR = 4820000.00 

 NZ = 10 

 ZFACE = 0.000, 20.000, 40.000, 80.000, 160.000, 300.000, 600.000, 1000.000, 

 1500.000, 2200.000, 

 3000.000, 

 

 Land Use parameters from GEO.DAT --- 

 NLU = 14 

 IWAT1 = 50 

 IWAT2 = 55 

 

 Input Group #4 parameters --- 

 NSSTA = 5 

 NPSTA = 16 

 

 Input Group #5 parameters --- 

 IWFCOD = 1 

 Terrain heights (m) ELEV 

 Multiply all values by 10 ** -1 

 54 I 1365 1372 1398 1876 1878 1492 1442 

 I + + + + + + + 

 53 I 1533 1502 1665 1808 1757 1497 1344 

 I + + + + + + + 

 52 I 1764 1566 1624 1817 1804 1535 1335 

 I + + + + + + + 

 51 I 1961 1822 1663 1570 1548 1601 1391 

 I + + + + + + + 

 50 I 1915 2087 1861 1587 1523 1498 1347 

 I + + + + + + + 

 49 I 2109 2806 2808 1892 1542 1727 1748 

 I + + + + + + + 

 48 I 2253 3474 3649 2477 1825 1754 1766 

 I + + + + + + + 

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

 28 29 30 31 32 33 34 

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

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

 

 No W levels were selected, therefore no W data will be displayed. 

 

 No temperature levels were selected, therefore no temperature data will be displayed. 

 Wind Speed (m/s) -- Level: 3 year: 1990 month: 1 

day: 9 Julian day: 9 hour: 5 

 54 I 3.0 3.0 2.9 2.8 2.9 3.0 3.0 

 I + + + + + + + 

 53 I 3.0 2.9 2.6 2.4 2.7 2.9 3.0 

 I + + + + + + + 

 52 I 2.9 2.8 2.4 2.3 2.6 2.9 3.0 

 I + + + + + + + 

 51 I 2.8 2.8 2.6 2.6 2.7 2.9 2.9 

 I + + + + + + + 

 50 I 2.8 2.8 2.8 2.8 2.9 2.9 2.9 

 I + + + + + + + 

 49 I 2.7 2.8 2.9 2.9 2.9 2.8 2.7

MAR 2006 -- PostProc 

G-18 
Table G-4 

Sample PRTMET List File (PRTMET.LST) 

 I + + + + + + + 

 48 I 2.6 2.6 2.8 2.9 2.8 2.7 2.6 

 I + + + + + + + 

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

 28 29 30 31 32 33 34 

 Wind Direction (deg.) -- Level: 3 year: 1990 month: 1 

day: 9 Julian day: 9 hour: 5 

 54 I233. 229. 223. 226. 233. 236. 238. 

 I + + + + + + + 

 53 I230. 227. 220. 223. 233. 236. 237. 

 I + + + + + + + 

 52 I225. 226. 226. 235. 239. 238. 238. 

 I + + + + + + + 

 51 I218. 227. 232. 243. 244. 240. 238. 

 I + + + + + + + 

 50 I213. 227. 233. 240. 241. 239. 237. 

 I + + + + + + + 

 49 I214. 228. 234. 237. 238. 238. 239. 

 I + + + + + + + 

 48 I220. 233. 237. 237. 239. 243. 249. 

 I + + + + + + + 

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

 28 29 30 31 32 33 34 

 Mixing height (m) year: 1990 month: 1 

day: 9 Julian day: 9 hour: 5 

 Multiply all values by 10 ** -1 

 54 I 1561 1590 1483 1483 1736 1987 2088 

 I + + + + + + + 

 53 I 1623 1625 1448 1407 1625 1866 1968 

 I + + + + + + + 

 52 I 1618 1685 1508 1388 1531 1588 1659 

 I + + + + + + + 

 51 I 1513 1693 1694 1560 1504 1609 1701 

 I + + + + + + + 

 50 I 1353 1522 1683 1762 1620 1562 1517 

 I + + + + + + + 

 49 I 1221 1236 1390 1624 1640 1436 1206 

 I + + + + + + + 

 48 I 1003 1037 1116 1370 1547 1358 1240 

 I + + + + + + + 

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

 28 29 30 31 32 33 34 

 Wind Speed (m/s) -- Level: 3 year: 1990 month: 1 

day: 9 Julian day: 9 hour: 6 

 54 I 3.0 2.9 2.8 2.7 2.9 2.9 2.9 

 I + + + + + + + 

 53 I 2.9 2.8 2.6 2.4 2.7 2.9 3.0 

 I + + + + + + + 

 52 I 2.9 2.8 2.4 2.2 2.6 2.9 2.9 

 I + + + + + + + 

 51 I 2.8 2.8 2.6 2.5 2.7 2.9 2.9 

 I + + + + + + + 

 50 I 2.8 2.8 2.9 2.8 2.9 2.9 2.9 

 I + + + + + + + 

 49 I 2.8 2.8 2.9 2.9 2.9 2.8 2.7 

 I + + + + + + + 

 48 I 2.7 2.7 2.8 2.9 2.9 2.7 2.6 

 I + + + + + + + 

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

MAR 2006 -- PostProc 

G-19 
Table G-4 

Sample PRTMET List File (PRTMET.LST) 

 28 29 30 31 32 33 34 

 Wind Direction (deg.) -- Level: 3 year: 1990 month: 1 

day: 9 Julian day: 9 hour: 6 

 54 I232. 228. 222. 225. 232. 235. 237. 

 I + + + + + + + 

 53 I229. 226. 219. 222. 232. 235. 236. 

 I + + + + + + + 

 52 I224. 225. 225. 234. 238. 238. 237. 

 I + + + + + + + 

 51 I217. 226. 232. 242. 243. 239. 237. 

 I + + + + + + + 

 50 I212. 225. 232. 239. 240. 238. 237. 

 I + + + + + + + 

 49 I212. 225. 232. 236. 237. 238. 238. 

 I + + + + + + + 

 48 I214. 224. 232. 235. 238. 243. 248. 

 I + + + + + + + 

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

 28 29 30 31 32 33 34 

 Mixing height (m) year: 1990 month: 1 

day: 9 Julian day: 9 hour: 6 

 Multiply all values by 10 ** -1 

 54 I 1351 1383 1277 1274 1495 1730 1825 

 I + + + + + + + 

 53 I 1433 1429 1284 1236 1405 1612 1694 

 I + + + + + + + 

 52 I 1443 1500 1344 1226 1330 1376 1436 

 I + + + + + + + 

 51 I 1357 1523 1512 1373 1303 1406 1498 

 I + + + + + + + 

 50 I 1223 1382 1538 1580 1442 1394 1361 

 I + + + + + + + 

 49 I 1125 1137 1269 1475 1489 1306 1118 

 I + + + + + + + 

 48 I 954 982 1024 1256 1418 1252 1139 

 I + + + + + + + 

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

 28 29 30 31 32 33 34 

 Wind Speed (m/s) -- Level: 3 year: 1990 month: 1 

day: 9 Julian day: 9 hour: 7 

 54 I 3.0 3.0 2.9 2.8 2.9 3.0 3.0 

 I + + + + + + + 

 53 I 3.0 2.9 2.6 2.4 2.7 2.9 3.0 

 I + + + + + + + 

 52 I 2.9 2.8 2.4 2.3 2.7 2.9 3.0 

 I + + + + + + + 

 51 I 2.9 2.8 2.7 2.6 2.8 2.9 2.9 

 I + + + + + + + 

 50 I 2.8 2.9 2.9 2.9 2.9 2.9 2.9 

 I + + + + + + + 

 49 I 2.8 2.8 2.9 2.9 2.9 2.9 2.7 

 I + + + + + + + 

 48 I 2.7 2.7 2.8 2.9 2.9 2.8 2.6 

 I + + + + + + + 

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

 28 29 30 31 32 33 34 

 Wind Direction (deg.) -- Level: 3 year: 1990 month: 1 

day: 9 Julian day: 9 hour: 7

MAR 2006 -- PostProc 

G-20 
Table G-4 

Sample PRTMET List File (PRTMET.LST) 

 54 I231. 227. 222. 225. 231. 234. 236. 

 I + + + + + + + 

 53 I228. 225. 219. 222. 231. 234. 235. 

 I + + + + + + + 

 52 I223. 225. 225. 234. 238. 237. 236. 

 I + + + + + + + 

 51 I217. 225. 231. 242. 243. 238. 236. 

 I + + + + + + + 

 50 I212. 225. 232. 238. 240. 237. 236. 

 I + + + + + + + 

 49 I212. 224. 231. 235. 237. 237. 238. 

 I + + + + + + + 

 48 I214. 223. 231. 234. 237. 242. 248. 

 I + + + + + + + 

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

 28 29 30 31 32 33 34 

 Mixing height (m) year: 1990 month: 1 

day: 9 Julian day: 9 hour: 7 

 Multiply all values by 10 ** -1 

 54 I 1398 1435 1357 1381 1533 1746 1845 

 I + + + + + + + 

 53 I 1480 1486 1329 1259 1415 1630 1708 

 I + + + + + + + 

 52 I 1488 1549 1379 1292 1343 1383 1449 

 I + + + + + + + 

 51 I 1401 1573 1560 1407 1314 1418 1513 

 I + + + + + + + 

 50 I 1266 1431 1589 1615 1468 1415 1381 

 I + + + + + + + 

 49 I 1164 1184 1299 1505 1515 1329 1134 

 I + + + + + + + 

 48 I 979 998 1049 1267 1437 1260 1154 

 I + + + + + + + 

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

 28 29 30 31 32 33 34 

 Wind Speed (m/s) -- Level: 3 year: 1990 month: 1 

day: 9 Julian day: 9 hour: 8 

 54 I 3.0 2.9 2.8 2.7 2.8 2.9 2.9 

 I + + + + + + + 

 53 I 2.9 2.8 2.6 2.4 2.7 2.9 2.9 

 I + + + + + + + 

 52 I 2.9 2.7 2.4 2.2 2.6 2.9 2.9 

 I + + + + + + + 

 51 I 2.8 2.8 2.6 2.5 2.7 2.9 2.9 

 I + + + + + + + 

 50 I 2.8 2.8 2.8 2.8 2.8 2.9 2.9 

 I + + + + + + + 

 49 I 2.8 2.8 2.9 2.9 2.9 2.8 2.7 

 I + + + + + + + 

 48 I 2.7 2.7 2.8 2.9 2.9 2.7 2.6 

 I + + + + + + + 

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

 28 29 30 31 32 33 34 

 Wind Direction (deg.) -- Level: 3 year: 1990 month: 1 

day: 9 Julian day: 9 hour: 8 

 54 I231. 227. 222. 225. 231. 234. 236. 

 I + + + + + + + 

 53 I228. 225. 219. 222. 231. 234. 235. 

 I + + + + + + +

MAR 2006 -- PostProc 

G-21 
Table G-4 

Sample PRTMET List File (PRTMET.LST) 

 52 I224. 225. 225. 234. 238. 237. 236. 

 I + + + + + + + 

 51 I217. 225. 231. 242. 243. 239. 236. 

 I + + + + + + + 

 50 I212. 225. 232. 238. 240. 237. 236. 

 I + + + + + + + 

 49 I212. 224. 232. 235. 237. 237. 238. 

 I + + + + + + + 

 48 I214. 224. 231. 235. 237. 242. 248. 

 I + + + + + + + 

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

 28 29 30 31 32 33 34 

 Mixing height (m) year: 1990 month: 1 

day: 9 Julian day: 9 hour: 8 

 Multiply all values by 10 ** -1 

 54 I 1202 1240 1179 1211 1351 1555 1649 

 I + + + + + + + 

 53 I 1275 1289 1169 1121 1238 1439 1521 

 I + + + + + + + 

 52 I 1283 1345 1220 1144 1176 1216 1287 

 I + + + + + + + 

 51 I 1208 1373 1363 1240 1163 1241 1356 

 I + + + + + + + 

 50 I 1100 1253 1401 1424 1293 1258 1239 

 I + + + + + + + 

 49 I 1026 1043 1145 1330 1347 1182 1028 

 I + + + + + + + 

 48 I 883 903 908 1118 1278 1130 1042 

 I + + + + + + + 

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

 28 29 30 31 32 33 34 

 End of run -- Clock time: 18:15:51 

 Date: 02-21-2005 

 Elapsed Clock Time: 1.0 (seconds) 

 CPU Time: 1.0 (seconds) 

MAR 2006 -- PostProc 

G-22 
Table G-5 

Sample contour plot file 

DSAA 

 5 5 

 340.000 349.000 

 4710.00 4719.00 

 100.000 104.844 

 101.275 104.844 100.187 100.156 100.151 

 100.678 101.440 100.574 100.321 100.113 

 100.402 100.498 100.289 100.200 100.179 

 100.235 100.234 100.164 100.132 100.133 

 100.137 100.000 100.000 100.094 100.102 

MAR 2006 -- PostProc 

G-23 
Table G-6 

Sample vector plot file 

 x y arrow angle(-wd) length(ws) 

 341.000 4719.000 symbol:175 -151.88 2.12 

 343.000 4719.000 symbol:175 -162.69 2.13 

 345.000 4719.000 symbol:175 -166.83 2.07 

 347.000 4719.000 symbol:175 -173.53 2.08 

 349.000 4719.000 symbol:175 -173.07 2.26 

 341.000 4717.000 symbol:175 -151.82 2.23 

 343.000 4717.000 symbol:175 -160.90 2.10 

 345.000 4717.000 symbol:175 -164.80 2.01 

 347.000 4717.000 symbol:175 -170.83 2.07 

 349.000 4717.000 symbol:175 -169.59 2.22 

 341.000 4715.000 symbol:175 -151.44 2.14 

 343.000 4715.000 symbol:175 -156.37 1.95 

 345.000 4715.000 symbol:175 -160.66 1.83 

 347.000 4715.000 symbol:175 -166.37 1.95 

 349.000 4715.000 symbol:175 -162.93 2.06 

 341.000 4713.000 symbol:175 -150.30 2.00 

 343.000 4713.000 symbol:175 -151.21 1.91 

 345.000 4713.000 symbol:175 -156.01 1.85 

 347.000 4713.000 symbol:175 -163.65 1.97 

 349.000 4713.000 symbol:175 -164.07 2.04 

 341.000 4711.000 symbol:175 -151.51 2.04 

 343.000 4711.000 symbol:175 -149.66 2.03 

 345.000 4711.000 symbol:175 -151.89 2.08 

 347.000 4711.000 symbol:175 -159.34 2.14 

 349.000 4711.000 symbol:175 -160.90 2.15 

MAR 2006 -- PostProc 

G-24 
Table G-7 

Sample time-series file 

Timeseries at gridpoint ( 50 , 50 )  YEAR MONTH DAY HOUR U V T W U V T PG U* Lmo W* Prec.Rate Mix.H (m/s) (m/s) (K) (cm/s) (m/s) (m/s) (K) class (m/s) (m) (cm/s) (mm/hr) (m Layer 1 Layer 1 Layer 1 Layer 1 Layer 3 Layer 3 Layer 5  1999 5 5 0 -1.03 1.05 302.60 -0.01 -1.36 1.94 300.01 6.00 0.06 9.61 0.00 0.00 50. 1999 5 5 1 -1.43 1.37 302.00 -0.01 -1.83 2.22 299.85 6.00 0.08 9.61 0.00 0.00 50. 1999 5 5 2 -1.48 1.45 302.00 0.01 -2.19 2.42 299.84 6.00 0.08 9.61 0.00 0.00 52. 1999 5 5 3 -1.60 1.55 300.90 0.01 -2.37 2.57 299.85 6.00 0.09 9.61 0.00 0.00 57. 1999 5 5 4 -2.78 0.50 300.40 0.04 -3.96 0.97 301.07 6.00 0.16 22.12 0.00 0.00 101. 1999 5 5 5 -3.22 0.68 300.90 0.04 -4.33 1.33 301.16 6.00 0.22 40.23 0.00 0.00 150. 1999 5 5 6 -3.44 0.65 300.40 0.05 -4.74 1.51 301.24 5.00 0.24 48.60 0.00 0.00 171. 1999 5 5 7 -3.11 0.76 302.00 0.08 -4.57 1.39 301.35 4.00 0.28 -83.34 54.80 0.00 385. 1999 5 5 8 -0.97 0.99 305.90 -0.02 -1.58 1.60 302.04 2.00 0.17 -3.23 141.88 0.00 835. 1999 5 5 9 0.14 0.87 308.10 -0.04 0.17 1.42 303.36 2.00 0.14 -0.99 166.22 0.00 1083. 1999 5 5 10 1.30 0.90 309.30 -0.05 1.76 1.36 304.53 2.00 0.21 -2.32 226.88 0.00 1478. 1999 5 5 11 2.29 1.24 310.40 -0.04 3.16 1.82 305.45 1.00 0.29 -6.18 259.44 0.00 1866. 1999 5 5 12 3.05 1.49 310.40 -0.03 4.25 2.20 306.06 2.00 0.34 -13.50 247.61 0.00 2080. 1999 5 5 13 3.39 2.02 300.39 -0.02 4.83 2.92 306.38 2.00 0.39 -15.35 286.77 0.00 2420. 1999 5 5 14 3.88 2.00 310.40 -0.05 5.42 2.94 306.48 2.00 0.42 -19.66 294.99 0.00 2685. 1999 5 5 15 3.87 2.07 309.30 -0.09 5.45 3.00 306.28 3.00 0.41 -29.08 250.31 0.00 2648. 1999 5 5 16 3.60 1.95 300.90 -0.11 5.17 2.79 305.69 3.00 0.39 -24.09 253.93 0.00 2694. 1999 5 5 17 3.23 1.09 309.30 -0.08 4.55 1.59 304.82 3.00 0.33 -21.79 217.85 0.00 2588. 1999 5 5 18 2.28 0.64 307.60 -0.04 3.25 0.93 303.19 4.00 0.22 -28.73 130.22 0.00 2331. 1999 5 5 19 0.66 -0.13 288.80 -0.04 1.08 -0.27 301.87 6.00 0.05 31.67 0.00 0.00 50. 1999 5 5 20 -0.63 -1.41 305.90 0.00 -0.94 -2.06 301.86 6.00 0.06 9.61 0.00 0.00 50. 1999 5 5 21 -1.65 -2.33 287.50 0.01 -2.09 -3.42 302.20 6.00 0.16 20.73 0.00 0.00 85. 1999 5 5 22 -1.90 -2.69 305.40 0.03 -2.68 -3.92 302.71 6.00 0.22 41.12 0.00 0.00 136. 1999 5 5 23 -2.00 -2.24 303.10 0.07 -2.65 -3.38 303.15 6.00 0.19 29.48 0.00 0.00 109. 1999 5 6 0 -1.76 -1.68 302.60 0.10 -2.38 -2.51 303.25 5.00 0.16 35.06 0.00 0.00 113. 1999 5 6 1 -2.02 -1.10 300.90 0.11 -2.55 -1.76 303.23 6.00 0.09 9.61 0.00 0.00 63. 1999 5 6 2 -2.15 -0.80 300.90 0.11 -3.00 -1.15 303.20 6.00 0.09 9.61 0.00 0.00 63. 1999 5 6 3 -2.52 -0.42 300.40 0.11 -3.56 -0.56 303.10 6.00 0.10 9.61 0.00 0.00 75. 1999 5 6 4 -2.97 -0.10 300.40 0.09 -4.21 -0.05 303.02 6.00 0.18 27.49 0.00 0.00 116. 1999 5 6 5 -3.34 0.21 300.40 0.07 -4.70 0.45 303.13 5.00 0.22 42.23 0.00 0.00 160. 1999 5 6 6 -3.45 0.49 299.30 0.06 -4.80 0.92 303.12 5.00 0.24 47.43 0.00 0.00 170. 1999 5 6 7 -3.20 0.77 300.40 0.10 -4.44 1.39 302.92 4.00 0.29 -92.25 48.46 0.00 337. 1999 5 6 8 -0.38 1.36 305.90 0.05 -0.62 1.99 302.78 2.00 0.17 -3.38 160.81 0.00 1212. 1999 5 6 9 0.41 1.20 308.10 0.01 0.60 1.93 303.38 2.00 0.17 -2.26 182.36 0.00 1428. 1999 5 6 10 1.72 1.00 307.00 -0.01 2.33 1.54 304.25 2.00 0.24 -3.92 236.80 0.00 1698. 1999 5 6 11 2.58 1.23 307.00 -0.02 3.54 1.84 305.16 2.00 0.31 -7.72 261.82 0.00 1942.MAR 2006 -- PostProc 

G-25 
G.2 APPEND 

The APPEND program is designed to combine a set of sequential CALPUFF output data files into a 

single file with the same format, covering the entire period of the original collection of files. The files 

combined must be of the same type, containing either concentrations, wet deposition fluxes, dry

deposition fluxes, or relative humidity data. The periods contained in the files should either overlap, or 

meet exactly (files start with the time period that follows the last period in the preceding file). 

Table G-8 lists the input and output files for one application of APPEND. Both the control file name

(APPEND.INP) and the list file name (APPEND.LST) are set in the program, so the user cannot change 

these. All CALPUFF output file names must be provided by the user, and these are placed in the control 

file. The control file structure is listed in Table G-9, and a sample control file is listed in Table G-10. 

To run this program, place the executable and the control file (edited to reflect your application) in the 

same directory or folder, and enter the following command-line: 

APPEND 

The program will open the control file for your application, and follow the instructions. Messages appear 

on the screen as the program runs, and full documentation for the run is written to the list file. A sample 

list file is presented in Table G-11. 

MAR 2006 -- PostProc 

G-26 
Table G-8 

APPEND Input and Output Files 

Unit File Name Type Format Description 

io5 APPEND.INP input formatted Control file containing user inputs 

io6 APPEND.LST output formatted List file containing APPEND application 

information 

io10 MODEL.DAT output unformatted CALPUFF output data file containing 

modeled concentration or deposition flux 

or relative humidity data, containing all 

periods 

io21 MODEL1.DAT input unformatted First sequential CALPUFF output data file 

containing modeled concentration or 

deposition flux or relative humidity data 

io21 

+(n-1) 

MODELn.DAT input unformatted Last of "n" sequential CALPUFF output 

data files containing modeled 

concentration or deposition flux or 

relative humidity data 

MAR 2006 -- PostProc 

G-27 
Table G-9 

APPEND Control File Structure 

Record 

No. 

Variable 

No. 

Variable Type Description Sample 

Values 

1 1 ITYPE integer File type (1=concentration/flux, 

2=relative humidity/visibility) 

1 

2 1 NFILES integer Number of files to append 3 

3 1 CFILE 

(1) 

character*70 

array 

File name for first CALPUFF data file 

in the sequence that will be appended 

RUN1.CON 

4 1 NSKIP 

(1) 

integer 

array 

Number of periods to skip over at the 

start of file 1 

0 

4 2 NHRS 

(1) 

integer 

array 

Total number of periods to read from

file 1 (including NSKIP) 

240 

... ... ... ... ... ... 

1+2* 

NFILES 

1 CFILE 

(NFILES) 

character*70 

array 

File name for last CALPUFF data file 

in the sequence that will be appended 

RUN3.CON 

2+2* 

NFILES 

1 NSKIP 

(NFILES) 

integer 

array 

Number of periods to skip over at the 

start of the last file 

0 

2+2* 

NFILES 

2 NHRS 

(NFILES) 

integer 

array 

Total number of periods to read from

the last file (including NSKIP) 

240 

3+2* 

NFILES 

1 CFILOUT character*70 

array 

File name for the new CALPUFF data 

file (all periods) 

CONC.DAT 

4+2* 

NFILES 

1 TITLEO 

(1) 

character*80 

array 

Title record #1 for output data file - 

5+2* 

NFILES 

1 TITLEO 

(2) 

character*80 

array 

Title record #2 for output data file - 

6+2* 

NFILES 

1 TITLEO 

(3) 

character*80 

array 

Title record #3 for output data file - 

MAR 2006 -- PostProc 

G-28 
Table G-10 

Sample APPEND Control File (APPEND.INP) 

1 - File type (1=conc/flux files, 2=RH/visibility files) 

2 - Number of input data files 

cpuf.con 

0, 2 

cpuf2.con 

2, 4 

cpufapp.con 

APPEND Demonstration 

Reconstructing CALPUFF concentration file 

Combine 2 hours from first and 2 hours from second file 

MAR 2006 -- PostProc 

G-29 
Table G-11 

Sample APPEND List File (APPEND.LST)

APPEND -- Version: 2.2 Level: 030402 

 Number of input files (NFILES) = 2 

 

 Names of input files: 

 

 No. 1 Filename: cpuf.con 

 No. 2 Filename: cpuf2.con 

 

 Output Filename: cpufapp.con 

 

 Title lines on new output file: 

 APPEND Demonstration 

 Reconstructing CALPUFF concentration file 

 Combine 2 hours from first and 2 hours from second file 

 

 Title lines from file No.: 1 

 CALPUFF Demonstration Run 

 

 

 Title lines from file No.: 2 

 CALPUFF Demonstration Run 

 

 Selected header record data 

 CMODEL: CALPUFF 

 VER: 5.7 

 LEVEL: 030402 

 IBYR: 1990 

 IBJUL: 9 

 IBHR: 5 

 IRLG: 4 

 IAVG: 1 

 PMAP: UTM 

 DATUM: NAS-C 

 NX: 99 

 NY: 99 

 DXKM: 1.00000000 

 DYKM: 1.00000000 

 IONE: 1 

 XORIGKM: 310.000000 

 YORIGKM: 4820.00000 

 NSSTA: 5 

 IBCOMP: 1 

 IECOMP: 99 

 JBCOMP: 1 

 JECOMP: 99 

 IBSAMP: 29 

 IESAMP: 48 

 JBSAMP: 40 

 JESAMP: 70 

MAR 2006 -- PostProc 

G-30 
Table G-11 (Concluded) 

Sample APPEND List File (APPEND.LST)

 MESHDN: 1 

 NREC: 0 

 NCTREC: 0 

 LSGRID: T 

 NSPOUT: 7 

 File NPTS NAREAS NLINES NVOLS 

 1 1 0 0 0 

 2 1 0 0 0 

 SPECIES: SO2 1 SO4 1 NO 1 NO2 1 HNO3 1 

NO3 1 PM10 1 

 

 File: 1 Skipping: 0 Writing: 2 

 File: 2 Skipping: 2 Writing: 2 

 Skipping YR,DAY,HR = 1990 9 5 in File: 2 

 Skipping YR,DAY,HR = 1990 9 6 in File: 2 

 

 Number of hours processed: 4

MAR 2006 -- PostProc 

G-31 
G.3 CALSUM 

The CALSUM program is designed to combine a set of CALPUFF output data files for individual sources 

or source groups into a single file with the same format. The concentrations or deposition fluxes in each 

file may be scaled using a linear operator of the form (a*X+b), where 'X' represents either the 

concentration or the flux, "a" is the multiplicative constant, and "b" is the additive constant (g/m3

 or 

g/m2

/s). The files combined must be of the same type, containing either concentrations, wet deposition 

fluxes, or dry deposition fluxes. The periods contained in the files must be identical. 

Table G-12 lists the input and output files for one application of CALSUM. Both the control file name

(CALSUM.INP) and the list file name (CALSUM.LST) are set in the program, so the user cannot change 

these. All CALPUFF output file names must be provided by the user, and these are placed in the control 

file. The control file structure is listed in Table G-13, and a sample control file is listed in Table G-14. 

To run this program, place the executable and the control file (edited to reflect your application) in the 

same directory or folder, and enter the following command-line: 

CALSUM 

The program will open the control file for your application, and follow the instructions. Messages appear 

on the screen as the program runs, and full documentation for the run is written to the list file. A sample 

list file is presented in Table G-15. 

MAR 2006 -- PostProc 

G-32 
Table G-12 

CALSUM Input and Output Files 

Unit File Name Type Format Description 

io5 CALSUM.INP input formatted Control file containing user inputs 

io6 CALSUM.LST output formatted List file containing CALSUM application 

information 

io10 MODEL.DAT output unformatted CALPUFF output data file containing 

modeled concentration or deposition flux 

data for all sources 

io21 MODEL1.DAT input unformatted First CALPUFF output data file 

containing modeled concentration or 

deposition flux data for first group of 

sources 

io21 

+(n-1) 

MODELn.DAT input unformatted Last of "n" CALPUFF output data files 

containing modeled concentration or 

deposition flux data for source group "n" 

MAR 2006 -- PostProc 

G-33 
Table G-13 

CALSUM Control File Structure 

Record 

No. 

Variable 

No. 

Variable Type Description Sample 

Values 

1 1 NFILES integer Number of files to combine 3 

2 1 CFILE 

(1) 

character*70 

array 

File name for first CALPUFF data file 

that will be combined 

SRC1.CON 

... ... ... ... ... ... 

1+ 

NFILES 

1 CFILE 

(NFILES) 

character*70 

array 

File name for last CALPUFF data file 

that will be combined 

SRC3.CON 

2+ 

NFILES 

1 CFILOUT character*70 

array 

File name for the new CALPUFF data 

file (all sources) 

CONC.DAT 

3+ 

NFILES 

1 LCOMPRO logical Data compression used in output file?

(T/F) 

T 

4+ 

NFILES 

1 NSPEC integer Number of species in each of the files 3 

4+ 

NFILES 

+1 

1 to 

2*NSPEC 

ASCALE,

BSCALE 

real 

array 

Scaling factors a,b for each species for 

the first file that will be combined (B 

in g/m3

 or g/m2/s) 

2.0,0.0001, 

2.0,0.0001, 

2.0,0.0001 

... ... ... ... ... ... 

4+2* 

NFILES 

1 to 

2*NSPEC 

ASCALE,

BSCALE 

real 

array 

Scaling factors a,b for each species for 

the last file that will be combined (B 

in g/m3

 or g/m2/s) 

1.0,0.000, 

1.0,0.000, 

1.0,0.000 

5+2* 

NFILES 

1 TITLEO 

(1) 

character*80 

array 

Title record #1 for output data file - 

6+2* 

NFILES 

1 TITLEO 

(2) 

character*80 

array 

Title record #2 for output data file - 

7+2* 

NFILES 

1 TITLEO 

(3) 

character*80 

array 

Title record #3 for output data file - 

MAR 2006 -- PostProc 

G-34 
Table G-14 

Sample CALSUM Control File (CALSUM.INP) 

2 - Number of files 

cpuf.con - INPUT file name 

cpuf2.con - INPUT file name 

cpufsum.con - OUTPUT file name 

T - Compression flag for OUTPUT file (T, F) 

7 - Number of species 

.5 .0 .5 .0 .5 .0 .5 .0 .5 .0 .5 .0 .5 .0 - Scaling factors (aX+b) for each species and file 

.5 .0 .5 .0 .5 .0 .5 .0 .5 .0 .5 .0 .5 .0 - Scaling factors (file #2) 

CALSUM output file - Example CALPUFF Application 

Sum of concentrations from 2 identical CALPUFF Files 

Scale values by 0.5 before summing

MAR 2006 -- PostProc 

G-35 
Table G-15 

Sample CALSUM List File (CALSUM.LST) 

 CALSUM -- Version: 1.2 Level: 030402 

 NFILES = 2 

 

 Names of input files: 

 

 No. 1 Filename: cpuf.con 

 No. 2 Filename: cpuf2.con 

 

 Name of output file: 

 Output Filename: cpufsum.con 

 

 Output file compressed? (LCOMPRO) = T 

 Scaling factors (of form X(new) = X(old)*ASCALE + BSCALE) for each species 

 No. species (NSPEC) = 7 

 File: 1(ASCALE, BSCALE): 

 5.00000E-01 0.00000E+00 5.00000E-01 0.00000E+00 5.00000E-01 0.00000E+00 

 5.00000E-01 0.00000E+00 5.00000E-01 0.00000E+00 5.00000E-01 0.00000E+00 

 5.00000E-01 0.00000E+00 

 File: 2(ASCALE, BSCALE): 

 5.00000E-01 0.00000E+00 5.00000E-01 0.00000E+00 5.00000E-01 0.00000E+00 

 5.00000E-01 0.00000E+00 5.00000E-01 0.00000E+00 5.00000E-01 0.00000E+00 

 5.00000E-01 0.00000E+00 

 BSCALE is in grams/m**3 

 NOTE: When using BSCALE to add a constant background concentration 

 this is normally done by apply BSCALE to one CALPUFF 

 output file only, with SCALE=0 for the other files 

 

 Title lines on new output file: 

 CALSUM output file - Example CALPUFF Application 

 Sum of concentrations from 2 identical CALPUFF Files 

 Scale values by 0.5 before summing 

 

 Title lines from file No.: 1 

 CALPUFF Demonstration Run 

 

 

 Title lines from file No.: 2 

 CALPUFF Demonstration Run 

MAR 2006 -- PostProc 

G-36 
Table G-15 (Concluded) 

Sample CALSUM List File (CALSUM.LST) 

 

 Data from header records of File #1 

 CMODEL: CALPUFF 

 VER: 5.7 

 LEVEL: 030402 

 IBYR: 1990 

 IBJUL: 9 

 IBHR: 5 

 IRLG: 4 

 IAVG: 1 

 PMAP: UTM 

 DATUM: NAS-C 

 NX: 99 

 NY: 99 

 DXKM: 1.00000000 

 DYKM: 1.00000000 

 IONE: 1 

 XORIGKM: 310.000000 

 YORIGKM: 4820.00000 

 NSSTA: 5 

 IBCOMP: 1 

 IECOMP: 99 

 JBCOMP: 1 

 JECOMP: 99 

 IBSAMP: 29 

 IESAMP: 48 

 JBSAMP: 40 

 JESAMP: 70 

 MESHDN: 1 

 NREC: 0 

 NCTREC: 0 

 LSGRID: T 

 NSPOUT: 7 

 File NPTS NAREAS NLINES NVOLS 

 1 1 0 0 0 

 2 1 0 0 0 

 SPECIES: SO2 1 SO4 1 NO 1 NO2 1 HNO3 1 

NO3 1 PM10 1 

 

 Number of hours processed: 5 

MAR 2006 -- PostProc 

G-37 
G.4 POSTUTIL 

POSTUTIL operates on one or more CALPUFF concentration or wet/dry deposition flux files to create a 

new file that can be analyzed by CALPOST. Species in the new file may include all species in these files, 

they may be a subset of these, or they may be new species constructed as weighted combinations of the 

modeled species. If nitrates are modeled, the partition between nitric acid and nitrate can be recalculated 

based on total available sulfate and ammonia. Specific capabilities and options include: 

- User-selected processing period. 

- User-selected chemical species to process. 

- User-selected chemical species to output. 

- User-defined (new) chemical species to construct and output (e.g., total S and Total N 

deposition). 

- Option to sum wet and dry deposition fluxes to a total flux species. 

- Option to repartition nitric acid/nitrate based on total available sulfate and ammonia. 

- Option to scale all concentration/deposition flux data by means of a linear function of the 

form: a*X + b (where X is concentration or deposition, and a,b are user-supplied 

constants). 

- Option to add an hourly, receptor-specific background concentration/deposition flux. 

Typical uses for POSTUTIL include: 

- Scaling and summing results obtained from CALPUFF applications to different source 

groups. This is similar to CALSUM, but the files that are combined do not need to 

contain the same species. Negative scale factors can be used to obtain difference fields 

suitable for assessing increment consumption. 

- Combining species sets modeled in different CALPUFF applications, as when 

MESOPUFF II chemical transformation is modeled in one CALPUFF application, and 

secondary organic aerosol (SOA) formation is modeled in another CALPUFF application 

(both would be needed in one file to assess visibility). 

- Summing wet and dry deposition fluxes to obtain the total deposition flux as a new 

species. 

- Computing the total sulfur and the total nitrogen deposition flux associated with 

ammonium sulfate and ammonium nitrate. 

- Repartitioning nitrates to be consistent with the total available sulfate and ammonia due 

to all sources and background, prior to assessing visibility with CALPOST. 

Table G-9 lists the default name of each input and output file associated with POSTUTIL. 

MAR 2006 -- PostProc 

G-38 
Table G-16 

POSTUTIL Input and Output Files 

Unit Default File Name Type Format Description 

in2 POSTUTIL.INP input formatted Control file containing user inputs 

in1 CALPUFF.DAT input unformatted First CALPUFF format data file 

containing modeled concentration or 

deposition flux data 

in1 

+(n-1) 

(none) input unformatted Last of "n" CALPUFF format data files 

containing modeled concentration or 

deposition flux data 

in4 MET.DAT input unformatted Optional file of meteorological data from

CALMET 

io1 POSTUTIL.LST output formatted List file containing POSTUTIL 

application information 

io2 MODEL.DAT output unformatted Data file containing POSTUTIL results 

(CALPUFF format) 

MAR 2006 -- PostProc 

G-39 
The name and full path of each file (except one) is assigned in the control file. The exception, the control 

filename itself, is assigned on the command line. For example, on a DOS system, 

POSTUTIL d:\MYWORK\UTIL1.INP 

will execute the POSTUTIL code in the current working directory, and read the input and output 

filenames for the current run from the control file UTIL1.INP in the directory d:\MYWORK. If the 

control filename is not specified on the command line, the default control filename (i.e., POSTUTIL.INP 

in the current working directory) will be used. The total number of characters in the path and filename

can be up to 70 characters. 

The POSTUTIL control file is configured using any standard text editor (e.g., NOTEPAD). It uses the 

general CALPUFF control file structures, containing several input groups with module inputs set within a 

pair of special delimiter characters (!). All documentation associated with these inputs is written outside 

of these delimiters. A description of each input variable is shown in Table G-17. 

A sample control file that illustrates a common POSTUTIL application for obtaining total sulfur and total 

nitrogen deposition fluxes is provided in Table G-18. The top of the control file contains three lines that 

are reserved for identifying the application. These lines are written to the output file, and become part of 

the documentation in subsequent processing. 

Input Group: 0

Input Group 0 identifies the input and output files for the application. The output consists of a list file 

that documents how this application of POSTUTIL is configured, and a data file that is identical in form

to the binary data files created by CALPUFF. In this sample, the data file is given the generic name

'cpuf.flx' (!UTLDAT = CPUF.FLX!) to indicate that wet and dry fluxes are summed, and that total sulfur 

and total nitrogen are added the list of species in the file. The list file is given the default name

(!UTLLST = POSTUTIL.LST!). More specific names should be used in typical applications. 

Input files include one or more CALMET meteorological data files and one or more CALPUFF binary

files. A CALMET file is not needed for this application because no nitrate partitioning will be calculated 

(MNITRATE=0), but is included in the control file to illustrate the format. Two CALPUFF binary files 

are needed for this application: one for the dry deposition flux, and one for the wet deposition flux. 

Therefore !NFILES = 2! and two filenames are provided in Subgroup 0b: 

! MODDAT =WFLX.DAT ! !END! 

! MODDAT =DFLX.DAT ! !END! 

MAR 2006 -- PostProc 

G-40 
Table G-17 

POSTUTIL Control File Inputs - Input Group 0 

Input and Output File Names 

Variable Type Description Default 

UTLLST character*70 File name of list file of information output from

POSTUTIL application, including path if desired 

POSTUTIL.LST 

UTLDAT character*70 File name of CALPUFF format data file created by 

POSTUTIL application, including path if desired 

MODEL.DAT 

NMET integer Number of CALMET data files input for processing 0 

NFILES integer Number of CALPUFF data files input for processing 1 

LCFILES logical Control flag for converting file names to lower case if 

T, or to upper case if F 

T 

UTLMET character*70 NMET file names of CALMET data files needed by 

POSTUTIL application, including path if desired (used 

only if MNITRATE = 1) 

MET.DAT

MODDAT character*70 NFILES file names of CALPUFF data files processed 

by POSTUTIL application, including path if desired 

CALPUFF.DAT

MAR 2006 -- PostProc 

G-41 
Table G-17 (Continued) 

POSTUTIL Control File Inputs - Input Group 1 

General Run Control Parameters 

Variable Type Description Default 

ISYR integer Starting year of data to process (four digits) - 

ISMO integer Starting month - 

ISDY integer Starting day - 

ISHR integer Starting hour (0-23). Uses ending hour convention 

(e.g., Hour 1 refers to the period from 0:00 - 1:00). 

-

NPER integer Number of periods to process -

NSPECINP integer Number of modeled species to process from input 

CALPUFF data files 

-

NSPECOUT integer Number of species to write to output CALPUFF format 

data file 

-

NSPECCMP integer Number of new species computed from the modeled 

species that are processed (must be no greater than 

NSPECOUT) 

-

MDUPLCT integer Stop run if any of the NSPECINP species names are 

found in more than one data file 

0 = no (i.e., duplicate species are summed) 

1 = yes (i.e., run is halted) 

0 

NSCALED integer Number of input CALPUFF data files for which 

scaling factors are provided in Group 2d by species 

(must be no greater than NFILES) 

0 

MNITRATE integer Option to repartition HNO3/NO3 concentrations prior 

to performing other actions (does not alter deposition 

fluxes) 

0 = no 

1 = yes, for all sources combined (requires MET.DAT) 

2 = yes, for a source group, based on ratio of species 

 HNO3ALL/NO3ALL 

0 

BCKNH3 real Background ammonia concentration (ppb) used to 

repartition nitrates when ammonia is NOT a modeled 

species (used only when MNITRATE=1) 

10. 

MAR 2006 -- PostProc 

G-42 
Table G-17 (Concluded) 

POSTUTIL Control File Inputs - Input Group 2 

Species Processing Information 

Variable Type Description Default 

ASPECI character*12 Subgroup 2a: 

Input species names to process (NSPECINP names) 

-

ASPECO character*12 Subgroup 2b: 

Output species names (NSPECOUT names) 

-

CSPECCMP character*12 Subgroup 2c: (if NSPECCMP > 0) 

Names for new species created (NSPECCMP names), 

followed by the scaling factor for each of the 

NSPECINP species that are processed (use species 

names to assign scaling factors) 

-

MODDAT character*70 Subgroup 2d: (if NSCALED > 0) 

File name for each input CALPUFF data file that is 

scaled before being processed (NSCALED names must 

be a subset of the MODDAT file names provided in 

Group 0) 

-

A,B real Subgroup 2d: (if NSCALED > 0) 

Scaling constants for linear scaling of the form

(A*x+B). Provide NSCALED groups of A,B values, 

one group per input CALPUFF data file that is scaled. 

Each group consists of the MODDAT identifying the 

file, and the pair of scaling parameters for each species 

in the file. 

1.0, 0.0

MAR 2006 -- PostProc 

G-43 
Table G-18 

Sample POSTUTIL Control File (POSTUTIL.INP) 

Input Group 0

Example application for total deposition fluxes (wet & dry) 

Nitrogen deposition due to NO, NO2, HNO3, NH4NO3, and (NH4)2SO4 

Sulfur deposition due to SO2, (NH4)2SO4 

---------------- Run title (3 lines) ------------------------------------------ 

 POSTUTIL MODEL CONTROL FILE 

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

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

INPUT GROUP: 0 -- Input and Output File Names 

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

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

Subgroup (0a) 

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

Output Files 

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

 File Default File Name 

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

 List File POSTUTIL.LST ! UTLLST =POSTUTIL.LST ! 

 Data File MODEL.DAT ! UTLDAT =CPUF.FLX ! 

Input Files 

----------- 

 Meteorological data files are needed for the HNO3/NO3 partition option. 

 The met data file is the 'CALMET.DAT' format file used in the CALPUFF 

 simulation. If multiple CALMET files had been used in sequence, you 

 may list all of these files in subgroup 0b. Specify the total number 

 of CALMET files runs you need to use, and provide the filename for each 

 in subgroup 0b. 

 Number of CALMET data files (NFILES) 

 Default: 0 ! NMET = 1 ! 

 A number of CALPUFF data files may be processed in this application. 

 The files may represent individual CALPUFF simulations that were made 

 for a specific set of species and/or sources. Specify the total number 

 of CALPUFF runs you wish to combine, and provide the filename for each 

 in subgroup 0b. 

 Number of CALPUFF data files (NFILES) 

 Default: 1 ! NFILES = 2 ! 

 All filenames will be converted to lower case if LCFILES = T 

 Otherwise, if LCFILES = F, filenames will be converted to UPPER CASE 

 Convert filenames to lower case? Default: T ! LCFILES = T ! 

 T = lower case 

 F = UPPER CASE 

!END! 

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

 NOTE: file/path names can be up to 70 characters in length 

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

MAR 2006 -- PostProc 

G-44 
Table G-18 (Continued) 

Sample POSTUTIL Control File (POSTUTIL.INP) 

Input Group 0 

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

Subgroup (0b) 

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

NMET CALMET Data Files: 

Input File Default File Name 

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

 1 MET.DAT ! UTLMET =CALMET.DAT ! !END! 

Input File Default File Name 

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

 1 CALPUFF.DAT ! MODDAT =CPUF.WET ! !END! 

 2 (none) ! MODDAT =CPUF.DRY ! !END! 

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

Note: provide NMET lines of the form * UTLMET = name * *END* 

 and NFILES lines of the form * MODDAT = name * *END* 

 where the * should be replaced with an exclamation point, 

 the special delimiter character. 

MAR 2006 -- PostProc 

G-45 
Table G-18 (Continued) 

Sample POSTUTIL Control File (POSTUTIL.INP) 

Input Group 1 

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

INPUT GROUP: 1 -- General run control parameters 

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

 Starting date: Year (ISYR) -- No default ! ISYR = 1990 ! 

 Month (ISMO) -- No default ! ISMO = 1 ! 

 Day (ISDY) -- No default ! ISDY = 9 ! 

 Hour (ISHR) -- No default ! ISHR = 5 ! 

 Number of periods to process 

 (NPER) -- No default ! NPER = 4 ! 

 Number of species to process from CALPUFF runs 

 (NSPECINP) -- No default ! NSPECINP = 7 ! 

 Number of species to write to output file 

 (NSPECOUT) -- No default ! NSPECOUT = 3 ! 

 Number of species to compute from those modeled 

 (must be no greater than NSPECOUT) 

 (NSPECCMP) -- No default ! NSPECCMP = 2 ! 

 When multiple files are used, a species name may appear in more than 

 one file. Data for this species will be summed (appropriate if the 

 CALPUFF runs use different source groups). If this summing is not 

 appropriate, remove duplicate species from the file(s). 

 Stop run if duplicate species names 

 are found? (MDUPLCT) Default: 0 ! MDUPLCT = 0 ! 

 0 = no (i.e., duplicate species are summed) 

 1 = yes (i.e., run is halted) 

 Data for each species in a CALPUFF data file may also be scaled as 

 they are read. This can be done to alter the emission rate of all 

 sources that were modeled in a particular CALPUFF application. 

 The scaling factor for each species is entered in Subgroup (2d), for 

 each file for which scaling is requested. 

 Number of CALPUFF data files that will be scaled 

 (must be no greater than NFILES) 

 (NSCALED) Default: 0 ! NSCALED = 0 ! 

MAR 2006 -- PostProc 

G-46 
Table G-18 (Continued) 

Sample POSTUTIL Control File (POSTUTIL.INP) 

Input Group 1 

 Option to recompute the HNO3/NO3 concentration partition prior to 

 performing other actions. This option will NOT alter any deposition 

 fluxes contained in the CALPUFF file(s). Two partition selections 

 are provided. The first (MNITRATE=1) computes the partition for the 

 TOTAL (all sources) concentration fields (SO4, NO3, HNO3; NH3), and 

 the second (MNITRATE=2) uses this partition (from a previous application 

 of POSTUTIL) to compute the partition for individual source groups. 

 Required information for MNITRATE=1 includes: 

 species NO3, HNO3, and SO4 

 NH3 concentration(s) 

 met. data file for RH and T 

 Required information for MNITRATE=2 includes: 

 species NO3 and HNO3 for a source group 

 species NO3ALL and HNO3ALL for all source groups, properly 

 partitioned 

 Recompute the HNO3/NO3 partition for concentrations? 

 (MNITRATE) Default: 0 ! MNITRATE = 0 ! 

 0 = no 

 1 = yes, for all sources combined 

 2 = yes, for a source group 

 Ammonia concentrations may be available as a modeled species in 

 the CALPUFF files. When NH3 is listed as a processed species in 

 Subgroup (2a) (as one of the NSPECINP ASPECI entries), the 

 modeled values will be used in the chemical equilibrium calculation. 

 If NH3 is not on this list, the default background value listed 

 below will be used. 

 Default ammonia concentration (ppb) used for HNO3/NO3 partition: 

 (BCKNH3) in ppb Default: 10. ! BCKNH3 = 1. ! 

!END! 

MAR 2006 -- PostProc 

G-47 
Table G-18 (Concluded) 

Sample POSTUTIL Control File (POSTUTIL.INP) 

Input Group 2 

INPUT GROUP: 2 -- Species Processing Information 

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

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

Subgroup (2a) 

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

 The following NSPECINP species will be processed: 

! ASPECI = SO2 ! !END! 

! ASPECI = SO4 ! !END! 

! ASPECI = NO ! !END! 

! ASPECI = NO2 ! !END! 

! ASPECI = HNO3 ! !END! 

! ASPECI = NO3 ! !END! 

! ASPECI = PM10 ! !END! 

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

Subgroup (2b) 

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

 The following NSPECOUT species will be written: 

! ASPECO = N ! !END! 

! ASPECO = S ! !END! 

! ASPECO = PM10 ! !END! 

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

Subgroup (2c) 

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

 The following NSPECCMP species will be computed by scaling and summing 

 one or more of the processed input species. Identify the name(s) of 

 the computed species and provide the scaling factors for each of the 

 NSPECINP input species (NSPECCMP groups of NSPECINP+1 lines each): 

! CSPECCMP = N ! 

! SO2 = 0.0 ! 

! SO4 = 0.291667 ! 

! NO = 0.466667 ! 

! NO2 = 0.304348 ! 

! HNO3 = 0.222222 ! 

! NO3 = 0.451613 ! 

! PM10 = 0.0 ! 

!END! 

! CSPECCMP = S ! 

! SO2 = 0.500000 ! 

! SO4 = 0.333333 ! 

! NO = 0.0 ! 

! NO2 = 0.0 ! 

! HNO3 = 0.0 ! 

! NO3 = 0.0 ! 

! PM10 = 0.0 ! 

!END! 

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

Subgroup (2d) 

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

 Each species in NSCALED CALPUFF data files may be scaled before being 

 processed (e.g., to change the emission rate for all sources modeled 

 in the run that produced a data file). For each file, identify the 

 file name and then provide the name(s) of the scaled species and the 

 corresponding scaling factors (A,B where x' = Ax+B). 

 A(Default=1.0) B(Default=0.0) 

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

* MODDAT =NOFILES.DAT * 

* SO2 = 1.1, 0.0 * 

* SO4 = 1.5, 0.0 * 

* HNO3 = 0.8, 0.0 * 

* NO3 = 0.1, 0.0 * 

*END* 

MAR 2006 -- PostProc 

G-48 
Note the location of the input terminator !END!. This terminator signals the end of a group or a subgroup 

in the control file, and it also signals the end of an assignment for variables such as MODDAT that appear 

multiple times. 

Input Group: 1

Input Group 1 identifies the period to process, and sets parameters that configure POSTUTIL. Note that 

there is no "run all periods" option as in CALPUFF or CALPOST, so that the period must be explicitly

stated. 

Three "nspec" variables are set: 

NSPECINP identifies the number of species that are stored as the input data files are read. 

NSPECOUT identifies the number of species that are written to the output data file. 

NSPECCMP identifies the number of new species that are computed from those that are stored. 

For example, you may wish to store 7 of 12 species from the input files, and you may wish to compute 3 

new species from these 7, and write the 3 new species plus 5 of the stored species to the output data file 

for analysis with CALPOST. In this sample, the 6 chemical transformation species are stored, plus the 

PM10 (! NSPECINP = 7 !), because all 6 are needed to compute the 2 new species (! NSPECCMP = 2 !), 

the total sulfur and the total nitrogen fluxes. The original PM10 plus the 2 new species are written to the 

output data file (! NSPECOUT = 3 !) so that the sum of the wet and dry fluxes are available for further 

analysis. 

Input Group: 2

The NSPECINP species that are stored for processing are named in Subgroup 2a. Species names must 

match those used in the CALPUFF runs, but may be entered in any order. Each is read into the data 

dictionary variable ASPECI. 

Similarly, the NSPECOUT species are named in Subgroup 2b. These names include the original PM10 

species, plus the two new species for total sulfur (S) and total nitrogen (N). Each is read into the data 

dictionary variable ASPECO. 

Subgroup 2c provides the information required to compute the new species. New species concentrations 

or deposition fluxes are constructed using a weighted sum of the concentrations or deposition fluxes of all 

of the stored species. The weight for each species is entered here. Only SO2 and SO4 contribute sulfur 

mass. Nitrogen mass is contributed by SO4 (CALPUFF tracks ammonium sulfate as SO4), NO, NO2, 

HNO3, and NO3 (CALPUFF tracks ammonium nitrate as NO3). The atomic weights for the constituent 

elements are sulfur = 32, oxygen = 16, nitrogen = 14, and hydrogen = 1. The molecular formula for 

ammonium sulfate is (NH4)2SO4 and ammonium nitrate is (NH4)NO3. Therefore: 

MAR 2006 -- PostProc 

G-49 
1 g of SO2 contributes 0.500000 g of S 

1 g of SO4 contributes 0.333333 g of S 

1 g of SO4 contributes 0.291667 g of N 

1 g of NO contributes 0.466667 g of N 

1 g of NO2 contributes 0.304348 g of N 

1 g of HNO3 contributes 0.222222 g of N 

1 g of NO3 contributes 0.452623 g of N 

As illustrated in the sample control file, each new species is identified by name using the data dictionary

variable CSPECCMP, and then each species weight is assigned by name. These species names must 

match those NSPECINP names already provided in subgroup 2a. The !END! terminates each of the 

NSPECCMP groups. 

Subgroup 2d is not used in this sample, and could have been deleted from the file. Its structure is similar 

to that of subgroup 2c. There must be NSCALED groups provided, and each group is closed with the 

!END! terminator. Within each group, the file that is scaled is identified by name, assigned to the data 

dictionary variable MODDAT. This name must match one of the file names provided in subgroup 0b. 

After the file is identified, the scaling parameters are assigned to each species by name. Again, the 

species names must match those NSPECINP names assigned in subgroup 2a. 

A sample list file is shown in Table G-19. The top part of the file repeats the records from the control 

file. The remainder of the file restates the major selections, reports any warning messages, lists 

information from the header of each CALPUFF data file that is processed, and it reports the full species 

names that are read and written. 

MAR 2006 -- PostProc 

G-50 
Table G-19 

Sample POSTUTIL List File (POSTUTIL.LST) 

(Partial Listing) 

************************************************************************************************************** 

 POSTUTIL Version 1.3 Level 030402 

************************************************************************************************************** 

 

 POSTUTIL Control File Input Summary ------------------------ 

 Run starting date -- year: 1990 

 month: 1 

 day: 9 

 Julian day: 9 

 time beginning - hour(0-23): 4 

 - second: 0 

 Run length (periods): 4 

 

 Note: the length of a period is controlled by 

 the averaging time selected in the model 

 

 Partition between HNO3 and NO3 is NOT computed 

 

 Species needed from input file -- 

 SO2 

 SO4 

 NO 

 NO2 

 HNO3 

 NO3 

 PM10 

 

 Species written to output file -- 

 N 

 S 

 PM10 

 

 Species computed from input species -- 

 

 N = 

 0.0000E+00 * SO2 

 0.2917E+00 * SO4 

 0.4667E+00 * NO 

 0.3043E+00 * NO2 

 0.2222E+00 * HNO3 

 0.4516E+00 * NO3 

 0.0000E+00 * PM10 

 

 S = 

 0.5000E+00 * SO2 

 0.3333E+00 * SO4 

 0.0000E+00 * NO 

 0.0000E+00 * NO2 

 0.0000E+00 * HNO3 

 0.0000E+00 * NO3 

 0.0000E+00 * PM10 

 

MAR 2006 -- PostProc 

G-51 
Table G-19 (Continued) 

Sample POSTUTIL List File (POSTUTIL.LST) 

(Partial Listing)

 PROCESSED MODEL FILE ---------- Number 1 

 

 CALPUFF 5.7 030402 

 

 CALPUFF Demonstration Run 

 

Averaging time for values reported from model: 

 1 HOUR 

 

 Number of averaging periods in file from model: 

 4 

 

 Chemical species names for each layer in model: 

 SO2 WF 

 SO4 WF 

 NO WF 

 NO2 WF 

 HNO3 WF 

 NO3 WF 

 PM10 WF 

 

 msyr,mjsday = 1990 9 

 mshr,mssec = 4 0 

 nsecdt (period) = 3600 

 mnper,nszout,mavgpd = 4 7 1 

 xorigkm,yorigkm,nstas = 310.000000 4820.00000 5 

 ielmet,jelmet = 99 99 

 delx,dely,nz = 1.00000000 1.00000000 1 

 iastar,iastop,jastar,jastop = 1 99 1 99 

 isastr,isastp,jsastr,jsastp = 29 48 40 70 

 (computed) ngx,ngy = 20 31 

 meshdn,npts,nareas = 1 1 0 

 nlines,nvols = 0 0 

 ndrec,nctrec,LSGRID = 0 0 T 

 

 PROCESSED MODEL FILE ---------- Number 2 

 

 CALPUFF 5.7 030402 

 

 CALPUFF Demonstration Run 

 

 Averaging time for values reported from model: 

 1 HOUR 

 

 Number of averaging periods in file from model: 

 4 

 

 Chemical species names for each layer in model: 

 SO2 DF 

 SO4 DF 

 NO DF 

 NO2 DF 

 HNO3 DF 

 NO3 DF 

 PM10 DF 

MAR 2006 -- PostProc 

G-52 
Table G-19 (Continued) 

Sample POSTUTIL List File (POSTUTIL.LST) 

(Partial Listing)

 msyr,mjsday = 1990 9 

 mshr,mssec = 4 0 

 nsecdt (period) = 3600 

 mnper,nszout,mavgpd = 4 7 1 

 xorigkm,yorigkm,nstas = 310.000000 4820.00000 5 

 ielmet,jelmet = 99 99 

 delx,dely,nz = 1.00000000 1.00000000 1 

 iastar,iastop,jastar,jastop = 1 99 1 99 

 isastr,isastp,jsastr,jsastp = 29 48 40 70 

 (computed) ngx,ngy = 20 31 

 meshdn,npts,nareas = 1 1 0 

 nlines,nvols = 0 0 

 ndrec,nctrec,LSGRID = 0 0 T 

 

 

 

 

 ************** WARNING *************** 

 Requested input species name exists in more 

 than one data file. Species will be summed 

 Species Name: SO2 

 

 ************** WARNING *************** 

 Requested input species name exists in more 

 than one data file. Species will be summed 

 Species Name: SO4 

 

 ************** WARNING *************** 

 Requested input species name exists in more 

 than one data file. Species will be summed 

 Species Name: NO 

 

 ************** WARNING *************** 

 Requested input species name exists in more 

 than one data file. Species will be summed 

 Species Name: NO2 

 

 ************** WARNING *************** 

 Requested input species name exists in more 

 than one data file. Species will be summed 

 Species Name: HNO3 

 

 ************** WARNING *************** 

 Requested input species name exists in more 

 than one data file. Species will be summed 

 Species Name: NO3 

 

 ************** WARNING *************** 

 Requested input species name exists in more 

 than one data file. Species will be summed 

 Species Name: PM10 

 

 

 Chemical species names written to new file: 

 N TF 

 S TF 

 PM10 TF 

MAR 2006 -- PostProc 

G-53 
Table G-19 (Concluded) 

Sample POSTUTIL List File (POSTUTIL.LST) 

(Partial Listing)

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

 INPUT FILES 

 Default Name Unit No. File Name and Path 

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

 POSTUTIL.INP 5 postutil.inp 

 CALPUFF.DAT 10 cpuf.wet 

 (none) 11 cpuf.dry 

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

 OUTPUT FILES 

 Default Name Unit No. File Name and Path 

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

 POSTUTIL.LST 7 postutil.lst 

 MODEL.DAT 8 cpuf.flx 

 

MAR 2006 -- PostProc 

G-54 
G.5 CALPOST 

The CALPOST program is a postprocessor designed to average and report concentration or wet/dry

deposition flux results based on the hourly data contained in the CALPUFF output file. If the CALPUFF 

application had been configured to provide concentrations needed to assess visibility, CALPOST can also 

compute extinction coefficients for visibility-related impacts. A range of averaging times may be 

selected, and the results may be reported in a number of different formats (e.g. rank tables and plots; 

exceedance tables and plots). Capabilities and options include: 

- User-selected processing period. 

- User-selected averaging times, including option for one defined by the user. 

- User-selected chemical species. 

- User-selected units for reporting concentrations or deposition fluxes. 

- Option to include gridded receptors, discrete receptors, and complex terrain receptors in any

combination. 

- Option to specify subsets of the gridded and discrete receptors. 

- Option to report results by ring. 

- Option to produce tables of the "top-50" average concentration/deposition flux data (includes 

time and receptor information) for specified averaging times. 

- Option to produce tables of up to four "top-N" (user specifies the number N) ranked average 

concentration/deposition flux data at the selected receptors for specified averaging times. 

- Option to produce tables of the number of exceedances of user-specified threshold values at 

the selected receptors for specified averaging times. 

- Option to produce a table of the annual (or length-of-run) average concentration/deposition 

flux at the selected receptors. 

- Option to print concentration/deposition flux averages for selected days. 

- Option to produce a file of time-series of concentration/deposition flux averages for selected 

days. 

- Option to produce files of time-series of the peak concentration/deposition flux average over 

all selected receptors for each selected averaging period. Each output file contains one 

averaging period. 

- Option to produce plot-files in addition to the selected tables for the Atop N@ concentrations or 

deposition fluxes, the number of exceedances of the user-specified thresholds, and the 

concentration/deposition flux fields for a particular day.

- Option to scale all concentration/deposition flux data by means of a linear function of the 

form: a*X + b (where X is concentration or deposition, and a,b are user-supplied constants). 

- Option to add an hourly background concentration/deposition flux from an external file. 

- Option to produce visibility parameters, signaled by setting the species name to VISIB. 

Requires that CALPUFF is configured for visibility computations. 

MAR 2006 -- PostProc 

G-55 
When CALPOST is directed to perform visibility calculations, most of the preceding options remain valid 

and determine how the computed extinction coefficients are averaged and reported. Additional options 

are provided to configure how the extinction coefficients are computed: 

- Option to select which modeled species (sulfate, nitrate, fine/coarse particulate matter) are 

included in the extinction coefficient. 

- Option to include background extinction when forming ranked tabulations, top-50 tabulations, 

or exceedance tabulations. 

- Option to specify the extinction efficiency for each modeled species. 

- User-selected method for obtaining the background extinction coefficients (non-speciated 

extinction coefficient, monthly speciated extinction coefficients, measured hourly extinction 

coefficients) 

Whenever visibility processing is selected, the peak daily percent change in extinction and the 

corresponding change in deciview are always tabulated and reported in addition to the tables and plotfiles selected to characterize the extinction coefficient results. 

Table G-20 lists the default name of each input and output file associated with CALPOST. The plot-files 

are named automatically, with the user able to specify a pathname and character string to make the file 

names unique. The name and full path of each file (except one) is assigned in the control file. The 

exception, the control filename itself, is assigned on the command line. For example, on a DOS system, 

CALPOST d:\CALPUFF\CALPOST.INP 

will execute the CALPOST code, and read the input and output filenames for the current run from the 

control file CALPOST.INP in the directory d:\CALPUFF. If the control filename is not specified on the 

command line, the default control filename (i.e., CALPOST.INP in the current working directory) will be 

used. The total number of characters in the path and filename can be up to 70 characters. 

The utility routine that delivers a command line argument is system dependent. The function that 

provides the system clock time and system CPU time is also system or compiler-specific. All systemdependent or compiler-specific routines in CALPOST are isolated into a file called DATETM.xxx, where 

the file extension (.xxx) indicates the system for which the code is designed. For example, DATETM.HP 

contains code for Hewlett-Packard7 Unix systems, DATETM.SUN is for Sun7 Unix systems, 

DATETM.LAH is for Lahey7 FORTRAN-compiled PC-applications, and DATETM.MS is for 

Microsoft7 FORTRAN-compiled PC applications. By appending the correct system-dependent 

DATETM file onto the main CALPOST code, the code should run without any modifications. 

MAR 2006 -- PostProc 

G-56 
Table G-20 

CALPOST Input and Output Files 

Unit File Name Type Format Description 

in2 CALPOST.INP input formatted Control file containing user inputs 

in1 MODEL.DAT input unformatted CALPUFF output file containing modeled 

concentration or deposition flux data 

in3 VISB.DAT input unformatted CALPUFF output file containing relative 

humidity data (required only for visibility 

applications) 

in4 BACK.DAT input formatted Optional file of hourly background 

concentrations 

in5 VSRN.DAT input formatted Optional file of hourly background 

extinction coefficients from

transmissometer or nephelometer 

io1 CALPOST.LST output formatted List file containing CALPOST tables and 

other generated data 

iot 

(1,3,24

,n) 

TSERIES_ASPEC_ttHR_CONC_T

SUNAM.DAT 

ouput formatted Time-series of (1,3,24,N)-hour averages 

iop 

(1,3,24

,n) 

PEAKVAL_ASPEC_ttHR_CONC

_TSUNAM.DAT 

ouput formatted Time-series of PEAK (1,3,24,N)-hour 

average at selected receptors 

mapu RANK(ALL)_ASPEC_ttHR_CON

C_TUNAM.DAT 

RANK(ii)_ASPEC_ttHR_CONC_

TUNAM.GRD 

output formatted Top Nth Rank Plot File in DATA format 

Top Nth Rank Plot File in GRID format 

Filenames for optional files are constructed using a template that includes a pathname, optional user-supplied character(s), and 

automatically generated characters, where

tt = averaging period (e.g. 03) 

ii = rank (e.g. 02) 

DAT = DATA format (comma-delimited ASCII file in x, y, value1, value2, ... , value4 format) 

GRD = GRID format (only for gridded receptors) compatible with Surfer7 plotting software 

MAR 2006 -- PostProc 

G-57 
Table G-20 (concluded) 

CALPOST Input and Output Files 

Unit File Name Type Format Description 

mapu EXCEED_ASPEC_ttHR_CONC_

XUNAM.DAT 

EXCEED_ASPEC_ttHR_CONC_

XUNAM.GRD 

output formatted Exceedance Plot File in DATA format 

Exceedance Plot File in GRID format 

mapu yyyy_Mmm_Ddd_hh00(UTCszzzz

)_L00_ASPEC_ttHR_CONC.DAT 

yyyy_Mmm_Ddd_hh00(UTCszzzz

)_L00_ASPEC_ttHR_CONC.GRD 

output formatted Echo Plot File in DATA format 

Echo Plot File in GRID format 

mapu DAILY_VISIB_VUNAM.DAT output formatted Daily Peak Summary of Visibility

Filenames for optional files are constructed using a template that includes a pathname, optional user-supplied character(s), and 

automatically generated characters, where

tt = averaging period (e.g. 03)

yyyy = year mm = month dd = day hh = ending hour (00-23)

szzzz = time added to UTC to obtain base time (szzzz = -0500 for time zone 5) 

DAT = DATA format (comma-delimited ASCII file in x, y, value1, value2, ... , value4 format) 

GRD = GRID format (only for gridded receptors) compatible with Surfer7 plotting software 

MAR 2006 -- PostProc 

G-58 
CALPOST generates an output list file (default name: CALPOST.LST) and a set of optional files. The 

names for the optional files follow a fixed template, with one or more characters reserved for the user to 

specify in order to distinguish output from multiple applications. For example, a plot-file in GRID format 

containing the highest second-high 24-hour average concentration of species ASPEC at each receptor 

would be called: 

 RANK(02)_ASPEC_24HR_CONC_TEST1.grd 

where "TEST1" is the user-specified run identifier. If the user does not enter a run identifier, the file 

would be called: 

 RANK(02)_ASPEC_24HR_CONC.grd 

A plot-file in DATA format containing the number of exceedances of a 3-hour concentration threshold 

specified by the user for species ASPEC with a run identifier "TEST2" would be called: 

 EXCEED_ASPEC_03HR_CONC_TEST2.dat 

Plot-files in GRID format containing 8-hour average concentrations of species ASPEC for Julian Day 112 

in 1995 (April 22) in base time zone 5 (EST in the USA) would be called 

1995_M04_D22_hh08(UTC-0500)_L00_ASPEC_08HR_CONC.GRD

1995_M04_D22_hh16(UTC-0500)_L00_ASPEC_08HR_CONC.GRD 

1995_M04_D23_hh00(UTC-0500)_L00_ASPEC_08HR_CONC.GRD

A visibility analysis with a run identifier "TOTAL" would generate the plot-file: 

 DAILY_VISIB_TOTAL.DAT

As with CALPUFF and CALMET, CALPOST is configured by means of a parameter file, called 

PARAMS.PST, in which all of the array dimensions related to the number of gridded, discrete, and 

complex terrain receptors, the number of "top N" tables allowed, and the Fortran unit numbers associated 

with each input and output file are specified. If for a particular application, the user needs to increase the 

number of discrete receptors, for example, beyond the current maximum, a change to the value of the 

discrete receptor parameter in PARAMS.PST will automatically re-size all arrays related to this parameter 

upon recompilation of the CALPOST code. 

MAR 2006 -- PostProc 

G-59 
G.6 CALPOST Input Files 

G.6.1 User Control File (CALPOST.INP) 

User-specified inputs to CALPOST are read from a control file whose default name is CALPOST.INP. A 

description of each input variable is shown in Table G-21, and a sample input file is presented in Table G22. This control file uses the same self-documenting control file format as CALPUFF. See Section F.1 

for a description of the control file input conventions. Selections may be made by either editing an 

existing control file, or by using the CALPOST GUI. Note that you can generate a Anew@ control file 

with all of the standard options and comments by saving the ANEW.INP@ file from the GUI to disk. 

G.6.2 CALPUFF Output Files (MODEL.DAT and VISB.DAT) 

The program reads the concentration/deposition flux data from an unformatted data file (default name: 

MODEL.DAT) that is generated by the CALPUFF model (or CALGRID). CALPUFF also generates a 

file containing relative humidity data (default name: VISB.DAT), which is read by CALPOST if needed 

for the visibility option selected. The structure of these files is described in Section F-13. 

G.6.3 Background Concentrations/Deposition Fluxes (BACK.DAT) 

As an option, a spatially uniform, hourly background concentration/deposition flux can be added to 

modeled concentrations/deposition fluxes before averages are processed in CALPOST. These values are 

provided in a formatted ASCII file (default name: BACK.DAT) prepared by the user. Table G-23 lists 

the record structure for this file, and a partial listing of a sample file is presented in Table G-24. 

Units for the background values may be different from those requested from CALPOST. Therefore, the 

scaling factor placed in the header record is an important feature. It converts the native units for the 

background concentrations to g/m3

 , or it converts the native units for background deposition fluxes to 

g/m2

 /s. These are the internal units used in the CALPUFF output file. Any units conversion specified in 

the control file (parameter IPRTU) can then be applied uniformly to both the CALPUFF and background 

values. Note that the multiplicative and additive scaling factors (A, B) are not applied to the background 

values. 

G.6.4 Visibility Measurements (VSRN.DAT) 

CALPOST allows the use of visibility measurements to establish hourly background extinction for use in 

assessing the change in visibility resulting from modeled emissions. Two formats are supported for these 

data, and both are taken from the data files available on CD-ROM from the Interagency Monitoring of 

Protected Visual Environments (IMPROVE) program. When background extinction method number 4 is 

selected in the control file (MVISBK = 4), transmissometer measurements must be provided in the 

MAR 2006 -- PostProc 

G-60 
IMPROVE format. Example records for this file are listed in Table G-25. When background extinction 

method number 5 is selected in the control file (MVISBK = 5), nephelometer measurements must be 

provided in the IMPROVE format. Example records for this file are listed in Table G-26. 

CALPOST uses the content of one field in the file header record to identify which type of file is provided 

(it must be consistent with the MVISBK selection). The first 26 characters are read, and the characters in 

position 24-26 must be >INS= for the nephelometer data file. Subsequent data records are read using the 

following statements, where the variable Ameas@ is the extinction coefficient (Mm-1): 

Transmissometer Data C

 read(in5,102) iyr,ijday,ihr,meas,ivflag,irh 

102 format(7x,i2,5x,i3,1x,i2,2x,i5,22x,i2,17x,i2) 

Nephelometer Data C

 read(in5,101) iyr,ijday,ihr,meas,ivflag,rh 

101 format(7x,i2,5x,i3,1x,i2,8x,i6,8x,i2,40x,40x,40x,11x,f7.2) 

If similar measurements are available from other sources, they may be used in CALPOST by adhering to 

this file structure. Note that the transmissometer measurements are assumed to provide the total 

extinction coefficient, whereas the nephelometer measurements provide just the extinction coefficient due 

to particle scattering. 

MAR 2006 -- PostProc 

G-61 
Table G-21 

CALPOST Control File Inputs - Input group 0 

Input and Output File Names 

Variable Type Description Default 

MODDAT 

VISDAT 

BACKDAT 

VSRDAT 

PSTLST 

TSPATH 

PLPATH 

TSUNAM 

TUNAM 

XUNAM 

EUNAM 

VUNAM 

DVISDAT 

character*132 

character*132 

character*132 

character*132 

character*132 

character*132 

character*132 

character*8 

character*8 

character*8 

character*8 

character*8 

character*132 

File name of modeled concentration/deposition data 

file, including full path if desired 

File name of input relative humidity data file, 

including full path if desired (for visibility) 

File name of input hourly background concentration 

or deposition flux data file, including full path if 

desired 

File name of input hourly background light 

extinction data, including full path if desired 

File name of list file of output from CALPOST, 

including full path if desired 

Pathname for time-series files (optional: must not be 

blank if supplied) 

Pathname for plot-files (optional: must not be blank 

if supplied) 

User-supplied characters for Time-series file names 

(optional: must not be blank if supplied) 

User-supplied characters for Top-N plot-file names 

(optional: must not be blank if supplied) 

User-supplied characters for Exceedance plot-file 

names (optional: must not be blank if supplied) 

User-supplied characters for Echo plot-file names 

(optional: must not be blank if supplied) 

User-supplied characters for Visibility plot-file 

names (optional: must not be blank if supplied) 

File name for auxiliary visibility output , including 

full path if desired 

MODEL.DAT 

VISB.DAT 

BACK.DAT 

VSRN.DAT 

CALPOST.LST 

(blank) 

(blank) 

(blank) 

(blank) 

(blank) 

(blank) 

(blank) 

DELVIS.DAT 

LCFILES logical Control flag for converting file names to lower case 

if T, or to upper case if F 

T 

MAR 2006 -- PostProc 

G-62 
Table G-21 (Continued) 

CALPOST Control File Inputs - Input Group 1 

General Run Control Parameters 

Variable Type Description Default 

METRUN 

ISYR 

ISMO 

ISDY 

ISHR 

NHRS 

NREP 

ASPEC 

ILAYER 

A 

B 

LBACK 

integer 

integer 

integer 

integer 

integer 

integer 

integer 

character*12 

integer 

real 

real 

logical 

Option to run all periods in CALPUFF file (0,1) 

0 = no, run the period defined by ISYR, ISMO, ISDY, 

ISHR, and NHRS 

1 = yes, run all periods found in the file instead of any 

period defined by ISYR, ISMO, ISDY, ISHR, and NHRS 

Starting year of data to process (four digits) 

Starting month a

 

Starting day a

 

Starting hour a

 (0-23). Uses ending hour convention (e.g., 

Hour 1 refers to the period from 0:00 - 1:00). 

Number of hours to process a

 

Process every "NREPth "hour of data 

 1 = process every hour 

 2 = process every 2nd hour 

 5 = process every 5th hour 

Name of "species" to process b

 

Code indicating layer of concentrations (always "1" when 

processing concentrations from CALPUFF, "-1" for dry 

deposition fluxes, "-2" for wet deposition fluxes, and "-3" 

for total deposition fluxes) 

Multiplicative scaling factor applied to modeled 

concentrations or deposition fluxes (not applied if 

A = B = 0.0) 

Additive factor applied to modeled concentrations or 

deposition fluxes (not applied if A = B = 0.0) 

Add background concentrations/deposition fluxes from

external file?

 0 

- 

- 

- 

- 

- 

1 

- 

1 

0.0 

0.0 

F

a

 Used only if METRUN = 0.

 b Sample values of ASPEC: SO2, SO4, NOX, HNO3, NO3. For visibility calculations, the species name must be entered as VISIB, which is 

not a species name actually used in the CALPUFF run: the species included in the visibility calculations are selected by the LVSO4, LVNO3,

etc. parameters. 

MAR 2006 -- PostProc 

G-63 
Table G-21 (Continued) 

CALPOST Control File Inputs - Input Group 1 

General Run Control Parameters 

Variable Type Description Default 

MSOURCE integer 0 = Process only total reported contributions 

1 = Sum all individual source contributions and process 2 = Run in TRACEBACK mode to identify source 

 contributions at a SINGLE receptor 

0 

LG logical Process Gridded receptors? F 

LD logical Process Discrete receptors? F 

LCT logical Process CTSG complex terrain receptors? F 

LDRING logical Report results by receptor ring? (Used only if LD= T) F 

NDRECP integer aray Select specific discrete receptors (used only if LD=T) 

-1 = process ALL discrete receptorsc 

 0 = discrete receptor not processed 

 1 = discrete receptor processed 

(Enter NREC values using repeated-value notation)d

-1 

IBGRID integer X grid index of lower left corner of subset of gridded receptors 

to process if LG = T (-1e

 or 1 to NX) 

-1c

JBGRID integer Y grid index of lower left corner of subset of gridded receptors 

to process if LG = T (-1e

 or 1 to NY) 

-1c

IEGRID integer X grid index of upper right corner of subset of gridded 

receptors to process if LG = T (-1e

 or IBGRID to NX) 

-1c

JEGRID integer Y grid index of upper right corner of subset of gridded 

receptors to process if LG = T (-1e

 or JBGRID to NY) 

-1c

NGONOFF integer Number of gridded receptor rows provided in Subgroup 1a to 

identify specific gridded receptors to process 

0 

(Optional Input Group 1a - Specific Gridded Receptors) 

NGXRECP integer array Sequence of 0,1 values (one for each gridded receptor in a row 

of the sampling grid) used to select individual gridded receptors 

0 = gridded receptor not processed 

1 = gridded receptor processed 

(Repeated value notation may be used)f

1

c

 Use -1 for the first discrete receptor to signal the use of all discrete receptors in the CALPUFF file.

d

 Explicitly turn each discrete receptor on/off (1/0). NREC receptors were used in the CALPUFF run, so NREC entries are needed in this 

array. These may be entered in groups: 3*1,2*0 is equivalent to 1,1,1,0,0.

e

 Use -1 for all 4 grid cell indices to signal the use of all gridded receptors. 

f

 Enter NGONOFF lines which represent rows of the sampling grid, starting with the northernmost row that contains receptorsto be excluded 

and ending with row 1 to the south (none may be skipped). 

MAR 2006 -- PostProc 

G-64 
Table G-21 (Continued) 

CALPOST Control File Inputs - Input Group 2 

Visibility Parameters 

Variable Type Description Default 

BTZONE real Base Time Zone for the CALPUFF simulation 0. 

MFRH integer 1 = IWAQM (1998) f(RH) curve (originally used with 

MVISBK=1) 

2 = FLAG (2000) f(RH) tabulation 

3 = EPA (2003) f(RH) tabulation 

2 

RHMAX real Maximum relative humidity (%) used in the particle growth 

equation for visibility processing 

98 

LVSO4 logical Include modeled sulfate in extinction (T/F) T 

LVNO3 logical Include modeled nitrate in extinction (T/F) T 

LVOC logical Include modeled organic carbon in extinction (T/F) T 

LVPMC logical Include modeled coarse particulates in extinction (T/F) T 

LVPMF logical Include modeled fine particulates in extinction (T/F) T 

LVEC logical Include modeled elemental carbon (T/F) T 

LVBK logical Include background in extinction when ranking for top-n, top50, or exceedance tables (T/F) 

T 

SPECPMC character*12 Species name for coarse particulates in MODEL. DAT PMC 

SPECPMF character*12 Species name for coarse particulates in MODEL. DAT PMF 

----- Extinction Efficiencies (m2

/g) ----- 

EEPMC real Modeled coarse particulates 0.6 

EEPMF real Modeled fine particulates 1.0 

EEPMCBK real Background coarse particulates 0.6 

EESO4 real Ammonium Sulfate 3.0 

EENO3 real Ammonium Nitrate 3.0 

EEOC real Organic Carbon 4.0 

EESOIL real Soil Dust 1.0 

EEEC real Elemental Carbon (soot) 10.0 

MAR 2006 -- PostProc 

G-65 
Table G-21 (Continued) 

CALPOST Control File Inputs - Input Group 2 

Visibility Parameters 

Variable Type Description Default 

LAVER logical Method used for the 24h-average of percent change of light 

extinction: Hourly ratio of source light extinction / background light 

extinction is averaged?

F 

MVISBK integer Method used to obtain background extinction:

1 = Supply single light extinction and hygroscopic fraction 

 - IWAQM (1993) RH adjustment applied to hygroscopic 

 background and modeled sulfate and nitrate 

2 = Compute extinction from speciated PM measurements (A) 

 - Hourly RH adjustment applied to observed and modeled sulfate 

 and nitrate 

 - RH factor is capped at RHMAX

3 = Compute extinction from speciated PM measurements (B) 

 - Hourly RH adjustment applied to observed and modeled sulfate 

 and nitrate 

 - Receptor-hour excluded if RH>RHMAX 

 - Receptor-day excluded if fewer than 6 valid receptor-hours 

4 = Read hourly transmissometer background extinction data 

 - Hourly RH adjustment applied to modeled sulfate and nitrate 

 - Hour excluded if measurement invalid (missing, interference, 

 or large RH) 

 - Receptor-hour excluded if RH>RHMAX 

 - Receptor-day excluded if fewer than 6 valid receptor-hours 

5 = Read hourly nephelometer background extinction measurements 

 - Rayleigh extinction value (BEXTRAY) added to measurement 

 - Hourly RH adjustment applied to modeled sulfate and nitrate 

 - Hour excluded if measurement invalid (missing, interference, 

 or large RH) 

 - Receptor-hour excluded if RH>RHMAX 

6 = Compute extinction from speciated PM measurements 

 - FLAG RH adjustment factor applied to observed and 

 modeled sulfate and nitrate. 

7 = Use observed weather or prognostic weather information 

for background extinction during weather events; otherwise, 

use Method 2 

- Hourly F(RH) adjustment applied to modeled sulfate and 

nitrate 

- F(RH) factor is capped at F(RHMAX) 

- During observed weather events, compute Bext from

visual range if using an observed weather data file, or 

- During prognostic weather events, use Bext from the 

prognostic weather file 

- Use Method 2 for hours without a weather event 

2 

MAR 2006 -- PostProc 

G-66 
----- Additional MVISBK = 1 Inputs ----- 

BEXTBK real Background light extinction coefficient (Mm-1) - 

RHFRAC real Percentage of particles affected by relative humidity - 

----- Additional MVISBK = 6 Inputs ----- 

RHFAC (12) integer array Monthly relative humidity factors for adjusting extinction 

coefficients for hygroscopic species 

- 

----- Additional MVISBK = 7 Inputs ----- 

IDWSTA integer Station ID -

TZONE real Time Zone -

MAR 2006 -- PostProc 

G-67 
Table G-21 (Continued) 

CALPOST Control File Inputs - Input Group 2 

Visibility Parameters 

 Variable Type Description Default 

----- Additional MVISBK = 2,3,6,7 Inputs ----- 

BKSO4 (12) real array Monthly Background Ammonium Sulfate Concentration 

(μg/m3

) 

- 

BKNO3 (12) real array Monthly Background Ammonium Nitrate Concentration 

(μg/m3

) 

- 

BKPMC (12) real array Monthly Background Coarse Particulate Concentration (μg/m3

) - 

BKOC (12) real array Monthly Background Organic Carbon Concentration (μg/m3

) - 

BKSOIL (12) real array Monthly Background Soil Dust Concentration (μg/m3

) - 

BKEC (12) real array Monthly Background Elemental Carbon Concentration (μg/m3

) - 

----- Additional MVISBK = 2,3,5,6,7 Inputs ----- 

BEXTRAY real Extinction due to Rayleigh Scattering (Mm-1) 10.

MAR 2006 -- PostProc 

G-68 
Table G-21 (Continued) 

CALPOST Control File Inputs - Input Group 3 

Output Options 

Variable Type Description Default 

LDOC logical Documentation records contained in the header of the 

CALPUFF output file may be written to the list file. Print 

documentation image?

F 

IPRTU integer Output units flag: (always Mm-1 for extinction) 

 For concentrations For deposition fluxes 

 1 = g/m3

 g/m2/s 

 2 = mg/m3

 mg/m2/s 

 3 = ug/m3

 ug/m2/s 

 4 = ng/m3

 ng/m2/s 

 5 = odour units - 

1 

L1HR logical Report 1-hr averages? T 

L3HR logical Report 3-hr averages? T 

L24HR logical Report 24-hr averages? T 

LRUNL logical Report length-of-run averages? T 

NAVG integer User-specified averaging time (hours) 0 

LT50 logical Produce top 50 tables? T 

LTOPN logical Produce Atop N@ tables? F 

NTOP integer Number of "top" values at each receptor (must be # 4) 4 

ITOP(4) integer array Specific ranks of "top" values reported (e.g., values of 1, 2, 5 

and 48 would produce the highest, 2nd highest, 5th highest, 

and 48th highest concentrations at each receptor) 

1,2,3,4 

LEXCD logical Produce exceedance tables? F 

THRESH1 real Exceedance threshold (output units) for 1-hr averages -1g

THRESH3 real Exceedance threshold (output units) for 3-hr averages -1g

THRESH24 real Exceedance threshold (output units) for 24-hr averages -1g

THRESHN real Exceedance threshold (output units) for NAVG-hr averages -1g

g

 Exceedance processing is only performed for selected averaging times with thresholds greater than or equal to zero.

MAR 2006 -- PostProc 

G-69 
Table G-21 (Concluded) 

CALPOST Control File Inputs - Input Group 3 

Output Options

Variable Type Description Default

----- Multiple Exceedance Processing ----- 

NDAY integer Number of days to accumulate exceedance counts when 

reporting violations (NDAY > 0 activates this processing 

option) 

0 

NCOUNT integer Number of exceedances allowed in a single NDAY period 1 

LECHO logical Output selected averages on selected days? F 

IECHO(366) integer array Array of days selected to print data for all selected averaging 

times 

(0 = do not print, 1 = print) 

366*0 

LTIME logical Output time-series for all selected receptors for all selected 

days for all selected averaging times?

F 

LPEAK logical Output time-series of peak over all selected receptors for all 

selected days for all selected averaging times?

F 

LPLT logical Generate plot-file output? F 

LGRD logical Write plot-files in GRIDh

 format when available? F 

MDVIS integer Output file with the visibility change at each receptor? 0 

LDEBUG logical Activate special debug output statements? F 

LVEXTHR logical Output hourly extinction information to REPORT.HRV? F 

h

 GRID format is compatible with the Surfer7 plotting software. Only processed values obtained at gridded receptors are written in this 

format. If the GRID option is not selected, processed values obtained at all receptors are written in the comma-delimited DATA format (x, y, 

value1, value2, ... , value4). 

MAR 2006 -- PostProc 

G-70 
Table G-22 

Sample CALPOST Control File (CALPOST.INP) 

CALPUFF Demonstration 

---------------- Run title (3 lines) ------------------------------------------ 

 CALPOST MODEL CONTROL FILE 

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

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

INPUT GROUP: 0 -- Input and Output File Names 

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

Input Files 

----------- 

File Default File Name 

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

Conc/Dep Flux File MODEL.DAT ! MODDAT =CPUF.CON ! 

Relative Humidity File VISB.DAT * VISDAT = * 

Background Data File BACK.DAT * BACKDAT = * 

Transmissometer or VSRN.DAT * VSRDAT = * 

Nephelometer Data File or 

DATSAV Weather Data File or 

Prognostic Weather File 

Output Files 

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

File Default File Name 

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

List File CALPOST.LST ! PSTLST =CPST.LST ! 

Pathname for Timeseries Files (blank) * TSPATH = * 

(activate with exclamation points only if 

providing NON-BLANK character string) 

Pathname for Plot Files (blank) * PLPATH = * 

(activate with exclamation points only if 

 providing NON-BLANK character string) 

User Character String to augment default filenames 

(activate with exclamation points only if 

 providing NON-BLANK character string) 

Timeseries TSERIES_ASPEC_ttHR_CONC_TSUNAM.DAT 

Peak Value PEAKVAL_ASPEC_ttHR_CONC_TSUNAM.DAT 

 * TSUNAM = * 

Top Nth Rank Plot RANK(ALL)_ASPEC_ttHR_CONC_TUNAM.DAT 

 or RANK(ii)_ASPEC_ttHR_CONC_TUNAM.GRD 

 * TUNAM = * 

Exceedance Plot EXCEED_ASPEC_ttHR_CONC_XUNAM.DAT 

 or EXCEED_ASPEC_ttHR_CONC_XUNAM.GRD 

 * XUNAM = * 

Echo Plot 

(Specific Days) 

 yyyy_Mmm_Ddd_hh00(UTCszzzz)_L00_ASPEC_ttHR_CONC.DAT 

 or yyyy_Mmm_Ddd_hh00(UTCszzzz)_L00_ASPEC_ttHR_CONC.GRD 

Visibility Plot DAILY_VISIB_VUNAM.DAT ! VUNAM =VTEST ! 

(Daily Peak Summary) 

Auxiliary Output Files 

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

File Default File Name 

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

Visibility Change DELVIS.DAT ! DVISDAT = deciview.dat ! 

MAR 2006 -- PostProc 

G-71 
Table G-22 (Continued) 

Sample CALPOST Control File (CALPOST.INP) 

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

All file names will be converted to lower case if LCFILES = T 

Otherwise, if LCFILES = F, file names will be converted to UPPER CASE 

 T = lower case ! LCFILES = T ! 

 F = UPPER CASE 

NOTE: (1) file/path names can be up to 132 characters in length 

NOTE: (2) Filenames for ALL PLOT and TIMESERIES FILES are constructed 

 using a template that includes a pathname, user-supplied 

 character(s), and context-specific strings, where 

 ASPEC = Species Name 

 CONC = CONC Or WFLX Or DFLX Or TFLX 

 tt = Averaging Period (e.g. 03) 

 ii = Rank (e.g. 02) 

 hh = Hour(ending) in LST 

 szzzz = LST time zone shift (EST is -0500) 

 yyyy = Year(LST) 

 mm = Month(LST) 

 dd = day of month (LST) 

 are determined internally based on selections made below. 

 If a path or user-supplied character(s) are supplied, each 

 must contain at least 1 non-blank character. 

!END! 

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

INPUT GROUP: 1 -- General run control parameters 

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

 Option to run all periods found 

 in the met. file(s) (METRUN) Default: 0 ! METRUN = 1 ! 

 METRUN = 0 - Run period explicitly defined below 

 METRUN = 1 - Run all periods in CALPUFF data file(s) 

 Starting date: Year (ISYR) -- No default ! ISYR = 1990 ! 

 (used only if Month (ISMO) -- No default ! ISMO = 0 ! 

 METRUN = 0) Day (ISDY) -- No default ! ISDY = 0 ! 

 Hour (ISHR) -- No default ! ISHR = 0 ! 

 Number of hours to process (NHRS) -- No default ! NHRS = 0 ! 

 Process every hour of data?(NREP) -- Default: 1 ! NREP = 1 ! 

 (1 = every hour processed, 

 2 = every 2nd hour processed, 

 5 = every 5th hour processed, etc.) 

Species & Concentration/Deposition Information 

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

 Species to process (ASPEC) -- No default ! ASPEC = SO2 ! 

 (ASPEC = VISIB for visibility processing) 

 Layer/deposition code (ILAYER) -- Default: 1 ! ILAYER = 1 ! 

 '1' for CALPUFF concentrations, 

 '-1' for dry deposition fluxes, 

 '-2' for wet deposition fluxes, 

 '-3' for wet+dry deposition fluxes. 

 Scaling factors of the form: -- Defaults: ! A = 0.0 ! 

 X(new) = X(old) * A + B A = 0.0 ! B = 0.0 ! 

 (NOT applied if A = B = 0.0) B = 0.0 

 Add Hourly Background Concentrations/Fluxes? 

 (LBACK) -- Default: F ! LBACK = F ! 

Source information 

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

 Option to process source contributions: 

 0 = Process only total reported contributions 

 1 = Sum all individual source contributions and process 

 2 = Run in TRACEBACK mode to identify source 

 contributions at a SINGLE receptor 

 (MSOURCE) -- Default: 0 ! MSOURCE = 0 ! 

MAR 2006 -- PostProc 

G-72 
Table G-22 (Continued) 

Sample CALPOST Control File (CALPOST.INP)

Receptor information 

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

 Gridded receptors processed? (LG) -- Default: F ! LG = T ! 

 Discrete receptors processed? (LD) -- Default: F ! LD = F ! 

 CTSG Complex terrain receptors processed? 

 (LCT) -- Default: F ! LCT = F ! 

--Report results by DISCRETE receptor RING? 

 (only used when LD = T) (LDRING) -- Default: F ! LDRING = F ! 

--Select range of DISCRETE receptors (only used when LD = T): 

 Select ALL DISCRETE receptors by setting NDRECP flag to -1; 

 OR 

 Select SPECIFIC DISCRETE receptors by entering a flag (0,1) for each 

 0 = discrete receptor not processed 

 1 = discrete receptor processed 

 using repeated value notation to select blocks of receptors: 

 23*1, 15*0, 12*1 

 Flag for all receptors after the last one assigned is set to 0 

 (NDRECP) -- Default: -1 

 ! NDRECP = -1 ! 

--Select range of GRIDDED receptors (only used when LG = T): 

 X index of LL corner (IBGRID) -- Default: -1 ! IBGRID = -1 ! 

 (-1 OR 1 <= IBGRID <= NX) 

 Y index of LL corner (JBGRID) -- Default: -1 ! JBGRID = -1 ! 

 (-1 OR 1 <= JBGRID <= NY) 

 X index of UR corner (IEGRID) -- Default: -1 ! IEGRID = -1 ! 

 (-1 OR 1 <= IEGRID <= NX) 

 Y index of UR corner (JEGRID) -- Default: -1 ! JEGRID = -1 ! 

 (-1 OR 1 <= JEGRID <= NY) 

 Note: Entire grid is processed if IBGRID=JBGRID=IEGRID=JEGRID=-1 

--Specific gridded receptors can also be excluded from CALPOST 

 processing by filling a processing grid array with 0s and 1s. If the 

 processing flag for receptor index (i,j) is 1 (ON), that receptor 

 will be processed if it lies within the range delineated by IBGRID, 

 JBGRID,IEGRID,JEGRID and if LG=T. If it is 0 (OFF), it will not be 

 processed in the run. By default, all array values are set to 1 (ON). 

 Number of gridded receptor rows provided in Subgroup (1a) to 

 identify specific gridded receptors to process 

 (NGONOFF) -- Default: 0 ! NGONOFF = 0 ! 

!END! 

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

Subgroup (1a) -- Specific gridded receptors included/excluded 

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

 Specific gridded receptors are excluded from CALPOST processing 

 by filling a processing grid array with 0s and 1s. A total of 

 NGONOFF lines are read here. Each line corresponds to one 'row' 

 in the sampling grid, starting with the NORTHERNMOST row that 

 contains receptors that you wish to exclude, and finishing with 

 row 1 to the SOUTH (no intervening rows may be skipped). Within 

 a row, each receptor position is assigned either a 0 or 1, 

 starting with the westernmost receptor. 

 0 = gridded receptor not processed 

 1 = gridded receptor processed 

 Repeated value notation may be used to select blocks of receptors: 

 23*1, 15*0, 12*1 

 Because all values are initially set to 1, any receptors north of 

 the first row entered, or east of the last value provided in a row, 

 remain ON. 

 (NGXRECP) -- Default: 1 

MAR 2006 -- PostProc 

G-73 
Table G-22 (Continued) 

Sample CALPOST Control File (CALPOST.INP)

INPUT GROUP: 2 -- Visibility Parameters (ASPEC = VISIB) 

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

 Identify the Base Time Zone for the CALPUFF simulation 

 (BTZONE) -- No default * BTZONE = 0.* 

 Particle growth curve f(RH) for hygroscopic species 

 (MFRH) -- Default: 2 ! MFRH = 2 ! 

 1 = IWAQM (1998) f(RH) curve (originally used with MVISBK=1) 

 2 = FLAG (2000) f(RH) tabulation 

 3 = EPA (2003) f(RH) tabulation 

 Maximum relative humidity (%) used in particle growth curve 

 (RHMAX) -- Default: 98 ! RHMAX = 95.0 ! 

 Modeled species to be included in computing the light extinction 

 Include SULFATE? (LVSO4) -- Default: T ! LVSO4 = T ! 

 Include NITRATE? (LVNO3) -- Default: T ! LVNO3 = T ! 

 Include ORGANIC CARBON? (LVOC) -- Default: T ! LVOC = F ! 

 Include COARSE PARTICLES? (LVPMC) -- Default: T ! LVPMC = F ! 

 Include FINE PARTICLES? (LVPMF) -- Default: T ! LVPMF = F ! 

 Include ELEMENTAL CARBON? (LVEC) -- Default: T ! LVEC = T ! 

 And, when ranking for TOP-N, TOP-50, and Exceedance tables, 

 Include BACKGROUND? (LVBK) -- Default: T ! LVBK = T ! 

 Species name used for particulates in MODEL.DAT file 

 COARSE (SPECPMC) -- Default: PMC ! SPECPMC = PMC ! 

 FINE (SPECPMF) -- Default: PMF ! SPECPMF = PMF ! 

Extinction Efficiency (1/Mm per ug/m**3) 

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

 MODELED particulate species: 

 PM COARSE (EEPMC) -- Default: 0.6 ! EEPMC = 0.6 ! 

 PM FINE (EEPMF) -- Default: 1.0 ! EEPMF = 1.0 ! 

 BACKGROUND particulate species: 

 PM COARSE (EEPMCBK) -- Default: 0.6 ! EEPMCBK = 0.6 ! 

 Other species: 

 AMMONIUM SULFATE (EESO4) -- Default: 3.0 ! EESO4 = 3.0 ! 

 AMMONIUM NITRATE (EENO3) -- Default: 3.0 ! EENO3 = 3.0 ! 

 ORGANIC CARBON (EEOC) -- Default: 4.0 ! EEOC = 4.0 ! 

 SOIL (EESOIL)-- Default: 1.0 ! EESOIL = 1.0 ! 

 ELEMENTAL CARBON (EEEC) -- Default: 10. ! EEEC = 10.0 ! 

Background Extinction Computation 

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

 Method used for the 24h-average of percent change of light extinction: 

 Hourly ratio of source light extinction / background light extinction 

 is averaged? (LAVER) -- Default: F ! LAVER = F ! 

 Method used for background light extinction 

 (MVISBK) -- Default: 2 ! MVISBK = 2 ! 

 1 = Supply single light extinction and hygroscopic fraction 

 - Hourly F(RH) adjustment applied to hygroscopic background 

 and modeled sulfate and nitrate 

 2 = Compute extinction from speciated PM measurements (A) 

 - Hourly F(RH) adjustment applied to observed and modeled sulfate 

 and nitrate 

 - F(RH) factor is capped at F(RHMAX) 

 3 = Compute extinction from speciated PM measurements (B) 

 - Hourly F(RH) adjustment applied to observed and modeled sulfate 

 and nitrate 

 - Receptor-hour excluded if RH>RHMAX 

 - Receptor-day excluded if fewer than 6 valid receptor-hours 

 4 = Read hourly transmissometer background extinction measurements 

 - Hourly F(RH) adjustment applied to modeled sulfate and nitrate 

 - Hour excluded if measurement invalid (missing, interference, 

 or large RH) 

 - Receptor-hour excluded if RH>RHMAX 

 - Receptor-day excluded if fewer than 6 valid receptor-hours 

MAR 2006 -- PostProc 

G-74 
Table G-22 (Continued) 

Sample CALPOST Control File (CALPOST.INP) 

 5 = Read hourly nephelometer background extinction measurements 

 - Rayleigh extinction value (BEXTRAY) added to measurement 

 - Hourly F(RH) adjustment applied to modeled sulfate and nitrate 

 - Hour excluded if measurement invalid (missing, interference, 

 or large RH) 

 - Receptor-hour excluded if RH>RHMAX 

 - Receptor-day excluded if fewer than 6 valid receptor-hours 

 6 = Compute extinction from speciated PM measurements 

 - FLAG monthly RH adjustment factor applied to observed and 

 modeled sulfate and nitrate 

 7 = Use observed weather or prognostic weather information for 

 background extinction during weather events; otherwise, use Method 2 

 - Hourly F(RH) adjustment applied to modeled sulfate and nitrate 

 - F(RH) factor is capped at F(RHMAX) 

 - During observed weather events, compute Bext from visual range 

 if using an observed weather data file, or 

 - During prognostic weather events, use Bext from the prognostic 

 weather file 

 - Use Method 2 for hours without a weather event 

 Additional inputs used for MVISBK = 1: 

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

 Background light extinction (1/Mm) 

 (BEXTBK) -- No default ! BEXTBK = 12.0 ! 

 Percentage of particles affected by relative humidity 

 (RHFRAC) -- No default ! RHFRAC = 10.0 ! 

 Additional inputs used for MVISBK = 6: 

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

 Extinction coefficients for hygroscopic species (modeled and 

 background) are computed using a monthly RH adjustment factor 

 in place of an hourly RH factor (VISB.DAT file is NOT needed). 

 Enter the 12 monthly factors here (RHFAC). Month 1 is January. 

 (RHFAC) -- No default ! RHFAC = 0.0, 0.0, 0.0, 0.0, 

 0.0, 0.0, 0.0, 0.0, 

 0.0, 0.0, 0.0, 0.0 ! 

 Additional inputs used for MVISBK = 7: 

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

 The weather data file (DATSAV abbreviated space-delimited) that 

 is identified as VSRN.DAT may contain data for more than one 

 station. Identify the stations that are needed in the order in 

 which they will be used to obtain valid weather and visual range. 

 The first station that contains valid data for an hour will be 

 used. Enter up to MXWSTA (set in PARAMS file) integer station IDs 

 of up to 6 digits each as variable IDWSTA, and enter the corresponding 

 time zone for each, as variable TZONE (= UTC-LST). 

 A prognostic weather data file with Bext for weather events may be used 

 in place of the observed weather file. Identify this as the VSRN.DAT 

 file and use a station ID of IDWSTA = 999999, and TZONE = 0. 

 NOTE: TZONE identifies the time zone used in the dataset. The 

 DATSAV abbreviated space-delimited data usually are prepared 

 with UTC time rather than local time, so TZONE is typically 

 set to zero. 

 (IDWSTA) -- No default * IDWSTA = 000000 * 

 (TZONE) -- No default * TZONE = 0. * 

 Additional inputs used for MVISBK = 2,3,6,7: 

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

 Background extinction coefficients are computed from monthly 

 CONCENTRATIONS of ammonium sulfate (BKSO4), ammonium nitrate (BKNO3), 

 coarse particulates (BKPMC), organic carbon (BKOC), soil (BKSOIL), and 

 elemental carbon (BKEC). Month 1 is January. 

 (ug/m**3) 

 (BKSO4) -- No default ! BKSO4 = 0.0, 0.0, 0.0, 0.0, 

 0.0, 0.0, 0.0, 0.0, 

 0.0, 0.0, 0.0, 0.0 ! 

 (BKNO3) -- No default ! BKNO3 = 0.0, 0.0, 0.0, 0.0, 

 0.0, 0.0, 0.0, 0.0, 

 0.0, 0.0, 0.0, 0.0 ! 

MAR 2006 -- PostProc 

G-75 
Table G-22 (Continued) 

Sample CALPOST Control File (CALPOST.INP)

 (BKPMC) -- No default ! BKPMC = 0.0, 0.0, 0.0, 0.0, 

 0.0, 0.0, 0.0, 0.0, 

 0.0, 0.0, 0.0, 0.0 ! 

 (BKOC) -- No default ! BKOC = 0.0, 0.0, 0.0, 0.0, 

 0.0, 0.0, 0.0, 0.0, 

 0.0, 0.0, 0.0, 0.0 ! 

 (BKSOIL) -- No default ! BKSOIL= 0.0, 0.0, 0.0, 0.0, 

 0.0, 0.0, 0.0, 0.0, 

 0.0, 0.0, 0.0, 0.0 ! 

 (BKEC) -- No default ! BKEC = 0.0, 0.0, 0.0, 0.0, 

 0.0, 0.0, 0.0, 0.0, 

 0.0, 0.0, 0.0, 0.0 ! 

 Additional inputs used for MVISBK = 2,3,5,6,7: 

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

 Extinction due to Rayleigh scattering is added (1/Mm) 

 (BEXTRAY) -- Default: 10.0 ! BEXTRAY = 10.0 ! 

!END! 

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

INPUT GROUP: 3 -- Output options 

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

Documentation 

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

 Documentation records contained in the header of the 

 CALPUFF output file may be written to the list file. 

 Print documentation image? 

 (LDOC) -- Default: F ! LDOC = F ! 

Output Units 

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

 Units for All Output (IPRTU) -- Default: 1 ! IPRTU = 3 ! 

 for for 

 Concentration Deposition 

 1 = g/m**3 g/m**2/s 

 2 = mg/m**3 mg/m**2/s 

 3 = ug/m**3 ug/m**2/s 

 4 = ng/m**3 ng/m**2/s 

 5 = Odour Units 

 Visibility: extinction expressed in 1/Mega-meters (IPRTU is ignored) 

Averaging time(s) reported 

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

 1-hr averages (L1HR) -- Default: T ! L1HR = T ! 

 3-hr averages (L3HR) -- Default: T ! L3HR = F ! 

 24-hr averages (L24HR) -- Default: T ! L24HR = F ! 

 Run-length averages (LRUNL) -- Default: T ! LRUNL = F ! 

 User-specified averaging time in hours - results for 

 an averaging time of NAVG hours are reported for 

 NAVG greater than 0: 

 (NAVG) -- Default: 0 ! NAVG = 0 ! 

Types of tabulations reported 

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

 1) Visibility: daily visibility tabulations are always reported 

 for the selected receptors when ASPEC = VISIB. 

 In addition, any of the other tabulations listed 

 below may be chosen to characterize the light 

 extinction coefficients. 

 [List file or Plot/Analysis File] 

 2) Top 50 table for each averaging time selected 

 [List file only] 

 (LT50) -- Default: T ! LT50 = F ! 

MAR 2006 -- PostProc 

G-76 
Table G-22 (Continued) 

Sample CALPOST Control File (CALPOST.INP)

 3) Top 'N' table for each averaging time selected 

 [List file or Plot file] 

 (LTOPN) -- Default: F ! LTOPN = T ! 

 -- Number of 'Top-N' values at each receptor 

 selected (NTOP must be <= 4) 

 (NTOP) -- Default: 4 ! NTOP = 1 ! 

 -- Specific ranks of 'Top-N' values reported 

 (NTOP values must be entered) 

 (ITOP(4) array) -- Default: ! ITOP = 1 ! 

 1,2,3,4 

 4) Threshold exceedance counts for each receptor and each averaging 

 time selected 

 [List file or Plot file] 

 (LEXCD) -- Default: F ! LEXCD = T ! 

 -- Identify the threshold for each averaging time by assigning a 

 non-negative value (output units). 

 -- Default: -1.0 

 Threshold for 1-hr averages (THRESH1) ! THRESH1 = 1.000E01 ! 

 Threshold for 3-hr averages (THRESH3) ! THRESH3 = -1.0 ! 

 Threshold for 24-hr averages (THRESH24) ! THRESH24 = -1.0 ! 

 Threshold for NAVG-hr averages (THRESHN) ! THRESHN = -1.0 ! 

 -- Counts for the shortest averaging period selected can be 

 tallied daily, and receptors that experience more than NCOUNT 

 counts over any NDAY period will be reported. This type of 

 exceedance violation output is triggered only if NDAY > 0. 

 Accumulation period(Days) 

 (NDAY) -- Default: 0 ! NDAY = 0 ! 

 Number of exceedances allowed 

 (NCOUNT) -- Default: 1 ! NCOUNT = 1 ! 

 5) Selected day table(s) 

 Echo Option -- Many records are written each averaging period 

 selected and output is grouped by day 

 [List file or Plot file] 

 (LECHO) -- Default: F ! LECHO = F ! 

 Timeseries Option -- Averages at all selected receptors for 

 each selected averaging period are written to timeseries files. 

 Each file contains one averaging period, and all receptors are 

 written to a single record each averaging time. 

 [TSttUUUU.DAT files] 

 (LTIME) -- Default: F ! LTIME = F ! 

 Peak Value Option -- Averages at all selected receptors for 

 each selected averaging period are screened and the peak value 

 each period is written to timeseries files. 

 Each file contains one averaging period. 

 [PEAKVAL_ASPEC_ttHR_CONC_TSUNAM.DAT files] 

 (LPEAK) -- Default: F ! LPEAK = F ! 

 -- Days selected for output 

 (IECHO(366)) -- Default: 366*0 

 ! IECHO = 366*0 ! 

 (366 values must be entered) 

MAR 2006 -- PostProc 

G-77 
Table G-22 (Concluded) 

Sample CALPOST Control File (CALPOST.INP)

Plot output options 

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

 Plot files can be created for the Top-N, Exceedance, and Echo 

 tables selected above. Two formats for these files are available, 

 DATA and GRID. In the DATA format, results at all receptors are 

 listed along with the receptor location [x,y,val1,val2,...]. 

 In the GRID format, results at only gridded receptors are written, 

 using a compact representation. The gridded values are written in 

 rows (x varies), starting with the most southern row of the grid. 

 The GRID format is given the .GRD extension, and includes headers 

 compatible with the SURFER(R) plotting software. 

 A plotting and analysis file can also be created for the daily 

 peak visibility summary output, in DATA format only. 

 Generate Plot file output in addition to writing tables 

 to List file? 

 (LPLT) -- Default: F ! LPLT = F ! 

 Use GRID format rather than DATA format, 

 when available? 

 (LGRD) -- Default: F ! LGRD = F ! 

Auxiliary Output Files (for subsequent analyses) 

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

 Visibility 

 A separate output file may be requested that contains the change 

 in visibility at each selected receptor when ASPEC = VISIB. This 

 file can be processed to construct visibility measures that are 

 not available in CALPOST. 

 Output file with the visibility change at each receptor? 

 (MDVIS) -- Default: 0 ! MDVIS = 0 ! 

 0 = Do Not create file 

 1 = Create file of DAILY (24 hour) Delta-Deciview 

 2 = Create file of DAILY (24 hour) Extinction Change (%) 

 3 = Create file of HOURLY Delta-Deciview 

 4 = Create file of HOURLY Extinction Change (%) 

Additional Debug Output 

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

 Output selected information to List file 

 for debugging? 

 (LDEBUG) -- Default: F ! LDEBUG = F ! 

 Output hourly extinction information to REPORT.HRV? 

 (Visibility Method 7) 

 (LVEXTHR) -- Default: F ! LVEXTHR = F ! 

!END!

MAR 2006 -- PostProc 

G-78 
Table G-23 

BACK.DAT Record Structure 

Header Record 

Record 

No. 

Variable Type Description Sample 

Values

1 CONFACT real Multiplicative factor to convert background 

concentrations to g/m3

, or to convert background 

deposition fluxes to g/m2

/s. For example, CONFACT = 

.000001 indicates that the background values are in either 

μg/m3

 or μg/m2/s. 

.000001 

Data Records (free format) 

Variable 

No. 

Variable Type Description Sample 

Values

1 NYR integer Year for record (YYYY) 1994 

2 NJDAY integer Julian Day for record (JJJ) 210 

3 NHR integer Hour for record (00-23, time ending) 13 

4 XMHBU real Background Concentration/Deposition Flux 32.8 

MAR 2006 -- PostProc 

G-79 
Table G-24 

Sample Background Concentration File (BACK.DAT) 

 0.000001 

 1994 2 1 23.57 

 1994 2 2 20.95 

 1994 2 3 20.95 

 1994 2 4 15.71 

 1994 2 5 23.57 

 1994 2 6 28.81 

 1994 2 7 28.81 

 1994 2 8 26.19 

 1994 2 9 31.43 

 1994 2 10 23.57 

 1994 2 11 20.95 

 1994 2 12 18.33 

 1994 2 13 15.71 

 1994 2 14 15.71 

 1994 2 15 13.09 

 1994 2 16 13.09 

 1994 2 17 13.09 

 1994 2 18 10.48 

 1994 2 19 13.09 

 1994 2 20 15.71 

 1994 2 21 13.09 

 1994 2 22 10.48 

 1994 2 23 10.48 

 1994 3 0 13.09 

MAR 2006 -- PostProc 

G-80 
Table G-25 

Sample Transmissometer File (VSRN.DAT) 

(Partial Listing)

SITE YYYYMMDD JD HHMM BEXT UC # # UT DT MAX V A AT U C RH U C DV 

YOSE 19890317 76 0 19 2 1 0 -99 -991105 0 0 1 0 78 5 0 64 

YOSE 19890317 76 100 17 2 1 0 -99 -991105 0 -1 1 0 84 5 0 53 

YOSE 19890317 76 200 16 2 1 0 -99 -991105 0 0 1 0 80 5 0 47 

YOSE 19890317 76 300 14 2 1 0 -99 -991105 0 1 1 0 65 5 0 34 

YOSE 19890317 76 400 18 2 1 0 -99 -991105 0 -1 1 0 76 5 0 59 

YOSE 19890317 76 500 16 2 1 0 -99 -991105 0 -1 1 0 79 5 0 47 

YOSE 19890317 76 600 12 2 1 0 -99 -991105 0 -1 1 0 71 5 0 18 

YOSE 19890317 76 700 16 2 1 0 -99 -991105 0 1 1 0 67 5 0 47 

YOSE 19890317 76 800 16 2 1 0 -99 -991105 0 4 1 0 48 5 0 47 

YOSE 19890317 76 900 20 2 1 0 -99 -991105 0 11 1 0 34 5 0 69 

YOSE 19890317 76 1000 21 2 1 0 -99 -991105 0 9 1 0 32 5 0 74 

YOSE 19890317 76 1100 25 2 1 0 -99 -991105 0 10 1 0 30 5 0 92 

YOSE 19890317 76 1200 33 2 1 0 -99 -991105 0 9 1 0 45 5 0 119 

YOSE 19890317 76 1300 45 2 1 0 -99 -991105 0 9 1 0 51 5 0 150 

YOSE 19890317 76 1400 55 2 1 0 -99 -991105 0 10 1 0 58 5 0 170 

YOSE 19890317 76 1500 67 2 1 0 -99 -991105 0 10 1 0 62 5 0 190 

YOSE 19890317 76 1600 99 2 1 0 -99 -991105 0 8 1 0 70 5 0 229 

YOSE 19890317 76 1700 60 2 1 0 -99 -991105 0 9 1 0 74 5 0 179 

YOSE 19890317 76 1800 42 2 1 0 -99 -991105 0 6 1 0 84 5 0 144 

YOSE 19890317 76 1900 37 2 0 1 -99 -991105 1 A 5 1 0 92 5 0 131 

YOSE 19890317 76 2000 33 2 1 0 -99 -991105 0 6 1 0 82 5 0 119 

YOSE 19890317 76 2100 29 2 1 0 -99 -991105 0 6 1 0 82 5 0 106 

YOSE 19890317 76 2200 32 2 1 0 -99 -991105 0 6 1 0 83 5 0 116 

YOSE 19890317 76 2300 30 2 1 0 -99 -991105 0 6 1 0 83 5 0 110 

YOSE 19890318 77 0 35 2 1 0 -99 -991105 0 7 1 0 80 5 0 125 

Field Description 

SITE Site abbreviation 

YYYYMMDD Date (4-digit year/month/day) 

JD Julian Date 

HHMM Time using a 24-hour clock in hour/minute format 

BEXT bext (Mm-1) 

UC bext uncertainty (Mm-1) 

# Number of readings in average 

# Number of readings not in average due to weather 

UT Uncertainty threshold (Mm-1) 

DT threshold (Mm-1) 

MAX Maximum threshold (Mm-1) 

V bext validity code (0=valid, 1=interference, 2=invalid, 9=suspect) 

A bext validity interference subcode 

AT Temperature (o

C) 

U Temperature uncertainty (o

C)

C Temperature validity code 

RH Relative humidity (%) 

U Relative humidity uncertainty (%) 

C Relative humidity validity code (0=valid, 2=invalid, 9=suspect) 

DV Haziness (deciview x 10) 

MAR 2006 -- PostProc 

G-81 
Table G-26 

Sample Nephelometer File (VSRN.DAT) 

(Partial Listing) 

SITE YYYYMMDD JD HHMM INS BSP PREC V A RAW-M RAW-SD # N/A SD/M DEL MAX RH 0123456789mPM0T YINTER SLOPE AT AT-SD # AT-PR CT CT-SD # CT-PR MOZ2 19941009 282 0000 048 22 0.140 0 43.33 1.60 12 -99.0 10.0 50 5000 90 0C0000000000000 -18.9 1.12 -3.58 0.19 12 1.00 -3.01 0.14 12 1.00 85.MOZ2 19941009 282 0100 048 17 0.140 0 38.87 1.36 12 -99.0 10.0 50 5000 90 0C0000000000000 -18.9 1.12 -3.67 0.23 12 1.00 -2.79 0.10 12 1.00 82.MOZ2 19941009 282 0200 048 18 0.140 0 40.24 0.71 12 -99.0 10.0 50 5000 90 0C0000000000000 -18.8 1.12 -3.94 0.10 12 1.00 -2.94 0.05 12 1.00 84.MOZ2 19941009 282 0300 048 19 0.140 0 40.54 1.47 12 -99.0 10.0 50 5000 90 0C0000000000000 -18.7 1.12 -4.07 0.07 12 1.00 -3.06 0.04 12 1.00 84.MOZ2 19941009 282 0400 048 16 0.140 0 38.57 1.72 10 -99.0 10.0 50 5000 90 0A2000000000003 -18.7 1.12 -4.30 0.11 12 1.00 -3.19 0.09 9 1.00 82.MOZ2 19941009 282 0500 048 18 0.140 0 39.50 1.40 12 -99.0 10.0 50 5000 90 0C0000000000000 -18.7 1.12 -4.40 0.21 12 1.00 -3.33 0.13 12 1.00 82.MOZ2 19941009 282 0600 048 15 0.140 0 37.24 1.04 12 -99.0 10.0 50 5000 90 0C0000000000000 -18.7 1.12 -4.16 0.16 12 1.00 -3.05 0.20 12 1.00 79.MOZ2 19941009 282 0700 048 13 0.140 0 35.60 1.34 12 -99.0 10.0 50 5000 90 0C0000000000000 -18.7 1.12 -3.62 0.43 12 1.00 -2.23 0.41 12 1.00 76.MOZ2 19941009 282 0800 048 10 0.140 0 32.62 1.26 12 -99.0 10.0 50 5000 90 0C0000000000000 -18.7 1.12 -2.02 0.48 12 1.00 -0.29 0.63 11 1.00 69.MOZ2 19941009 282 0900 048 10 0.140 0 32.75 1.42 12 -99.0 10.0 50 5000 90 0C0000000000000 -18.7 1.12 -0.69 0.31 12 1.00 1.32 0.33 12 1.00 65.MOZ2 19941009 282 1000 048 10 0.140 0 32.94 1.73 10 -99.0 10.0 50 5000 90 0A2000000000003 -18.7 1.12 0.24 0.30 12 1.00 2.03 0.40 9 1.00 63.MOZ2 19941009 282 1100 048 15 0.140 0 37.18 1.47 12 -99.0 10.0 50 5000 90 0C0000000000000 -18.8 1.12 1.23 0.29 12 1.00 3.13 0.28 12 1.00 66.MOZ2 19941009 282 1200 048 15 0.140 0 37.44 1.76 12 -99.0 10.0 50 5000 90 0C0000000000000 -19.1 1.12 2.13 0.23 12 1.00 4.27 0.27 12 1.00 64.MOZ2 19941009 282 1300 048 12 0.140 0 35.03 1.17 12 -99.0 10.0 50 5000 90 0C0000000000000 -19.3 1.12 2.74 0.32 12 1.00 4.74 0.35 12 1.00 57.MOZ2 19941009 282 1400 048 9 0.140 0 32.69 0.83 12 -99.0 10.0 50 5000 90 0C0000000000000 -19.6 1.12 3.86 0.34 12 1.00 5.73 0.34 12 1.00 51.MOZ2 19941009 282 1500 048 10 0.140 0 33.59 0.98 12 -99.0 10.0 50 5000 90 0C0000000000000 -19.8 1.12 4.35 0.17 12 1.00 5.94 0.20 12 1.00 50.MOZ2 19941009 282 1600 048 10 0.140 0 34.10 1.64 12 -99.0 10.0 50 5000 90 0C0000000000001 -20.1 1.12 3.82 0.22 12 1.00 5.25 0.23 11 1.00 51.MOZ2 19941009 282 1700 048 11 0.140 0 34.78 1.66 10 -99.0 10.0 50 5000 90 0A2000000000002 -20.3 1.12 2.18 0.75 12 1.00 3.46 0.93 10 1.00 57.MOZ2 19941009 282 1800 048 11 0.140 0 35.13 0.73 12 -99.0 10.0 50 5000 90 0C0000000000000 -20.4 1.12 1.12 0.22 12 1.00 2.01 0.23 12 1.00 58.MOZ2 19941009 282 1900 048 10 0.140 0 34.22 0.96 12 -99.0 10.0 50 5000 90 0C0000000000000 -20.4 1.12 0.71 0.13 12 1.00 1.56 0.11 12 1.00 56.MOZ2 19941009 282 2000 048 10 0.140 0 34.27 1.51 12 -99.0 10.0 50 5000 90 0C0000000000000 -20.4 1.12 0.02 0.13 12 1.00 0.89 0.16 12 1.00 56.MOZ2 19941009 282 2100 048 9 0.140 0 33.52 0.64 12 -99.0 10.0 50 5000 90 0C0000000000000 -20.4 1.12 -0.17 0.06 12 1.00 0.61 0.06 12 1.00 55.MOZ2 19941009 282 2200 048 9 0.140 0 33.48 0.89 12 -99.0 10.0 50 5000 90 0C0000000000000 -20.5 1.12 -0.33 0.04 12 1.00 0.43 0.03 12 1.00 54.MOZ2 19941009 282 2300 048 8 0.140 0 32.90 0.77 10 -99.0 10.0 50 5000 90 0A2000000000003 -20.5 1.12 -0.26 0.08 12 1.00 0.50 0.07 9 1.00 47.MOZ2 19941010 283 0000 048 8 0.140 0 32.44 0.63 12 -99.0 10.0 50 5000 90 0C0000000000000 -20.4 1.12 -0.42 0.16 12 1.00 0.41 0.11 12 1.00 48.Field Description SITE Site Abbreviation YYYYMMDD Date (4-digit year/month/day)JD Julian Date HHMM Time using a 24-hour clock in hour/minute format INS Nephelometer Serial Number BSP bsp (Mm-1) C Particle scattering coefficient = Total - Rayleigh 

PREC bsp Estimated Precision (%/100) V bsp Validity Code(0=valid, 1=interference, 2=invalid, 9=suspect)A bsp Interference Code RAW-M Raw Nephelometer Hourly Average (Counts) RAW-SD Standard Deviation of Raw Nephelometer Average (Counts) # Number of Data Points in Hourly Nephelometer Average N/A (Not Used) SD/M Standard Deviation/Mean Interference ThresholdDEL bsp Rate of Change Interference ThresholdMAX Maximum bsp Interference ThresholdRH Relative Humidity Interference Threshold 0123456789mPMOT Composite Nephelometer Code Summary YINTER Y-intercept of Calibration Line Used to Calculate bsp SLOPE Slope of Calibration Line Used to Calculate bsp AT Average Ambient Temperature (°C) AT-SD Standard Deviation of Hourly AT Average # Number of Data Points in Hourly AT Average AT-PR Estimated Precision of Ambient Temperature CT Average Nephelometer Chamber Temperature (°C) CD-SD Standard Deviation of Hourly CT Average # Number of Data Points in Hourly CT Average CT-PR Estimated Precision of Chamber TemperatureRH Average Relative Humidity (%) RH-SD Standard Deviation of Hourly RH Average # Number of Data Points in Hourly RH Average RH-PR Estimated Precision of Relative Humidity

MAR 2006 -- PostProc 

G-82 
G.7 CALPOST Output Files 

G.7.1 List File (CALPOST.LST) 

The list file has four logical sections. The first section contains an image of the control file inputs; the 

second section contains a summary of these inputs and it documents the content of the CALPUFF output 

file that is processed; the third section contains the tabulations of CALPOST results requested by the user; 

 and the fourth section reports the peak value(s) obtained for each averaging time processed. An example 

list file is shown in Table G-27, with the first logical section removed (the input file for this example was 

shown in Table G-22). 

Each table contains specific reference to the averaging time, the pollutant species (CALPOST processes a 

single species at a time), concentration/deposition units, receptor locations, and the date and time (marked 

at the end of the averaging period). When visibility is assessed, the modeled extinction in inverse 

megameters (1/Mm) is processed and reported just like concentration or deposition. In addition, the peak 

daily average visibility reduction is reported for each day processed, characterized as either a percent 

change in extinction (from background), or as a change in deciview. 

G.7.2 Visibility File (DAILY_VISIB_VUNAM.DAT) 

When visibility processing is selected and plot-files are requested, the peak daily average visibility

reduction tabulations written to the list file are written to disk as a visibility file as well. This facilitates 

the use of subsequent analysis tools, such as spreadsheets. The record format is the same as that used in 

the list file. The user may accept the default filename (V24.DAT), or augment the default name with up 

to five additional characters. 

G.7.3 Plot-file(s) 

CALPOST can generate a set of optional plot-files containing the "top N" highest 

concentrations/deposition fluxes at each receptor, the number of exceedances of user-specified threshold 

values at each receptor and averaging time, or the values of concentration/deposition flux for userspecified time periods. Two formats are available for these plot-files. The first, called DATA format, is 

of the form: receptor (X, Y), value1, ... , value4 as described in Table G-28. This comma-delimited 

format is suitable for both gridded and discrete receptor data. It is compatible with many of the popular 

PC-based graphics and analysis packages. An example of this format is shown in Table G-29. The 

second format, called the GRID format is appropriate for gridded receptor fields only. It is directly

compatible with the contouring option of the Surfer7 plotting package (i.e., it bypasses the need to first 

interpolate the data to a regular rectangular grid by the plotting package). Its record structure is described 

in Table G-30, and an example is shown in Table G-31. 

MAR 2006 -- PostProc 

G-83 
G.7.4 Time-series File(s) 

CALPOST can generate a set of optional time-series files for the concentration, deposition flux, or 

extinction coefficient identified in the CALPOST control file, at each receptor selected, for each 

averaging time selected. Each averaging time is placed in a separate file, so there may be as many as four 

time-series files generated (1-hour, 3-hour, 24-hour and N-hour averages). The period covered by the 

time-series is controlled by the selected day option as well as the period processed. No time-series output 

is generated if no days are selected. All averages in the period processed are written to the time-series 

file(s) if all days are selected. 

For a given time (e.g, the 3-hour period ending at 0900 on Julian day 310), the current averages for all 

selected receptors are written as a single "record". The length of the record grows as the number of 

receptors increases. Therefore, the time-series option should be used with a manageable subset of the 

receptors contained in the CALPUFF simulation. 

The format of the time-series file is described in Table G-32. The file contains a number of header 

records that identify the parameter that is reported, its units and averaging time, and the number of 

receptors included. The location of each receptor is provided. Data records follow, with a single record 

for each time period. An example time-series file for 1-hour averages of SO2 at two gridded receptors for 

a single 24-hour period is shown in Table G-33. 

MAR 2006 -- PostProc 

G-84 
Table G-27 

Sample CALPOST Output File (CALPOST.LST) 

(Partial Listing) ********************************************************************************************************************************** 

 CALPOST Version 5.2 Level 991104d 

********************************************************************************************************************************** 

 CALPOST Control File Input Summary ------------------------- 

 Replace run data with data in Puff file 1=Y: 0 

 Run starting date -- year: 1988 

 month: 7 

 day: 7 

 Julian day: 189 

 Time at beginning of run - hour(0-23): 0 

 - second: 0 

 Run length (hours): 24 

 Every hour of data processed -- NREP = 1 

 Species & Concentration/Deposition Information 

 Species: VISIB 

 Layer of processed data: 1 

 (>0=conc, -1=dry flux, -2=wet flux, -3=wet & dry flux) 

 Multiplicative scaling factor: 0.0000E+00 

 Additive scaling factor: 0.0000E+00 

 Hourly background values used?: F 

 Receptor information 

 Gridded receptors processed?: T 

 Discrete receptors processed?: F 

 CTSG Complex terrain receptors processed?: F 

 Gridded Receptors Processed 

 Begin at ix: 10.00 

 End at ix: 15.00 

 Begin at iy: 10.00 

 End at iy: 15.00 

 Visibility Processing Selected 

 Extinction Computation includes: 

 SULFATES 

 NITRATES 

 Max. RH % for particle growth (%): 95.000 

 Extinction Efficiency (1/Mm per ug/m**3) 

 ammonium sulfate: 3.00 

 ammonium nitrate: 3.00 

 organic carbon: 4.00 

 soil: 1.00 

 elemental carbon: 10.00 

 MODELED coarse PM: 0.60 

 MODELED fine PM: 1.00 

 BACKGRND coarse PM: 0.60 

 Background Extinction Calculation Method 2 

 Rayleigh scattering extinction (1/Mm): 10.00 

 Monthly background conc. (ug/m**3): 

 (NH4)2SO4 (NH4)NO3 PM-C OC SOIL EC 

 1 .2000E+00 .1000E+00 .1000E+01 .0000E+00 .2000E+01 .0000E+00 

 2 .3000E+00 .2000E+00 .1000E+01 .0000E+00 .3000E+01 .0000E+00 

 3 .3000E+00 .2000E+00 .2000E+01 .0000E+00 .3000E+01 .0000E+00 

 4 .4000E+00 .2000E+00 .2000E+01 .0000E+00 .3000E+01 .0000E+00 

 5 .4000E+00 .3000E+00 .2000E+01 .0000E+00 .4000E+01 .0000E+00 

 6 .4000E+00 .3000E+00 .1000E+01 .0000E+00 .4000E+01 .0000E+00 

 7 .3000E+00 .2000E+00 .2000E+01 .0000E+00 .3000E+01 .0000E+00 

 8 .3000E+00 .2000E+00 .3200E+01 .0000E+00 .3000E+01 .0000E+00 

 9 .3000E+00 .2000E+00 .4000E+01 .0000E+00 .4000E+01 .0000E+00 

 10 .2000E+00 .1000E+00 .3330E+01 .0000E+00 .3000E+01 .0000E+00 

 11 .2000E+00 .1000E+00 .2000E+01 .0000E+00 .2000E+01 .0000E+00 

 12 .2000E+00 .1000E+00 .1000E+01 .0000E+00 .2000E+01 .0000E+00 

 Output options 

 Units requested for output: (1/Mega-m) 

 Averaging time(s) selected 

 User-specified averaging time (NAVG hours): 0 

 1-hr averages: T 

 3-hr averages: F 

 24-hr averages: F 

 NAVG-hr averages: F 

 Length of run averages: F 

 Output components selected 

 Top-50: F 

 Top-N values at each receptor: T 

MAR 2006 -- PostProc 

G-85 
Table G-27 (Continued) 

Sample CALPOST Output File (CALPOST.LST) 

(Partial Listing) 

 Exceedance counts at each receptor: F 

 Output selected information for debugging: F 

 Echo tables for selected days: F 

 Time-series for selected days: F 

 Top "n" table control 

 Number of "top" values at each receptor: 1 

 Specific ranks of "top" values reported: 1 

 Plot file option 

 Plot files created: F 

IDENTIFICATION OF PROCESSED MODEL FILE ---------- 

CALPUFF 5.4 000602_5 

CALPUFF test case run - 3 point sources : Visibility Test Case 

24-Hour Simulation using CALMET met. data 

Gridded receptors on 17x17 20-km met grid 

Averaging time for values reported from model: 

 1 HOUR 

Number of averaging periods in file from model: 

 24 

Chemical species names for each layer in model: 

SO2 1 

SO4 1 

NOX 1 

HNO3 1 

NO3 1 

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

 INPUT FILES 

 Default Name Unit No. File Name and Path 

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

 CALPOST.INP 5 CALPOST.INP 

 MODEL.DAT 4 puffvis.con 

 VISB.DAT 9 visb.dat 

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

 OUTPUT FILES 

 Default Name Unit No. File Name and Path 

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

 CALPOST.LST 8 postvis.lst 

 

********************************************************************************************************************************** 

 CALPOST Version 5.2 Level 991104d 

********************************************************************************************************************************** 

 

 VISIB ___SN__ 

1 RANKED 1 HOUR AVERAGE EXTINCTION VALUES AT EACH GRIDDED RECEPTOR (YEAR,DAY,ENDING TIME) (1/Mega-m) 

RECEPTOR COORDINATES (km) 1 RANK 

 10, 10 310.000 4760.000 3.2424E-03 (1988,189,2000) 

 10, 11 310.000 4780.000 1.0802E-03 (1988,189,2000) 

 10, 12 310.000 4800.000 5.0049E-04 (1988,189,2000) 

 10, 13 310.000 4820.000 8.9414E-05 (1988,189,2000) 

 10, 14 310.000 4840.000 0.0000E+00 (1988,189,0100) 

 10, 15 310.000 4860.000 0.0000E+00 (1988,189,0100) 

 11, 10 330.000 4760.000 1.7837E-02 (1988,189,2000) 

 11, 11 330.000 4780.000 7.6053E-03 (1988,189,2000) 

 11, 12 330.000 4800.000 2.9004E-03 (1988,189,2000) 

 11, 13 330.000 4820.000 1.1043E-03 (1988,189,2000) 

 11, 14 330.000 4840.000 1.2986E-04 (1988,189,2000) 

 11, 15 330.000 4860.000 0.0000E+00 (1988,189,0100) 

 12, 10 350.000 4760.000 4.0898E-02 (1988,189,2000) 

 12, 11 350.000 4780.000 1.9738E-02 (1988,189,2000) 

 12, 12 350.000 4800.000 9.2857E-03 (1988,189,1500) 

 12, 13 350.000 4820.000 6.3993E-03 (1988,189,1600) 

 12, 14 350.000 4840.000 1.8964E-03 (1988,189,1600) 

 12, 15 350.000 4860.000 4.3928E-04 (1988,189,2100) 

 13, 10 370.000 4760.000 2.3526E-01 (1988,189,1300) 

 13, 11 370.000 4780.000 9.0363E-01 (1988,189,0500) 

 13, 12 370.000 4800.000 1.0855E+00 (1988,189,1800) 

MAR 2006 -- PostProc 

G-86 
Table G-27 (Continued) 

Sample CALPOST Output File (CALPOST.LST) 

(Partial Listing) 

 13, 13 370.000 4820.000 1.3992E+00 (1988,189,2000) 

 13, 14 370.000 4840.000 4.6041E-02 (1988,189,1700) 

 13, 15 370.000 4860.000 1.7141E-02 (1988,189,1700) 

 14, 10 390.000 4760.000 9.0232E-01 (1988,189,0700) 

 14, 11 390.000 4780.000 2.9995E+00 (1988,189,0500) 

 14, 12 390.000 4800.000 3.3975E-01 (1988,189,1500) 

 14, 13 390.000 4820.000 1.4699E+00 (1988,190,0000) 

 14, 14 390.000 4840.000 7.3541E-01 (1988,189,2200) 

 14, 15 390.000 4860.000 2.8335E-01 (1988,189,2300) 

 15, 10 410.000 4760.000 7.6574E-01 (1988,189,0800) 

 15, 11 410.000 4780.000 2.3780E+00 (1988,189,0600) 

 15, 12 410.000 4800.000 5.2013E-01 (1988,189,0400) 

 15, 13 410.000 4820.000 4.4443E-01 (1988,189,2200) 

 1 - RANK HIGHEST VALUES FOR PERIOD 

 Multiply all values by 10 ** -3 

 15 I 0 0 0 17 283 1156 

 I + + + + + + 

 14 I 0 0 2 46 735 860 

 I + + + + + + 

 13 I 0 1 6 1399 1470 444 

 I + + + + + + 

 12 I 1 3 9 1085 340 520 

 I + + + + + + 

 11 I 1 8 20 904 3000 2378 

 I + + + + + + 

 10 I 3 18 41 235 902 766 

 I + + + + + + 

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

 10 11 12 13 14 15 

 

********************************************************************************************************************************** 

 CALPOST Version 5.2 Level 991104d 

 

********************************************************************************************************************************** 

 

 24HR VISIBILITY 

 

 VISIB ___SN__ 

 

 (1/Mega-m) 

 

 Modeled Extinction by Species 

 

YEAR DAY HR RECEPTOR COORDINATES (km) TYPE BEXT(Model) BEXT(BKG) BEXT(Total) %CHANGE F(RH) bxSO4 bxNO3 bxOC bxEC 

bxPMC bxPMF 

1988 190 0 15, 11 410.000 4780.000 G 0.370 18.023 18.392 2.05 2.548 0.210 0.159 0.000 0.000 

0.000 0.000 

 --- Number of days with Extinction Change => 5.0 % : 0 

 --- Number of days with Extinction Change => 10.0 % : 0 

 --- Largest Extinction Change = 2.05 % 

 

 

********************************************************************************************************************************** 

 CALPOST Version 5.2 Level 991104d 

 

********************************************************************************************************************************** 

 

 Run-Length VISIBILITY 

 

 VISIB ___SN__ 

 

 (1/Mega-m) 

 

 

 RECEPTOR COORDINATES (km) TYPE BEXT(Model) BEXT(BKG) BEXT(Total) %CHANGE F(RH) 

 

 15, 11 410.000 4780.000 G 0.370 18.023 18.392 2.05 2.548 

 

 --- Number of recs with Extinction Change > 1.0 % : 5 

 --- Largest Extinction Change = 2.05 % 

 

 

MAR 2006 -- PostProc 

G-87 
Table G-27 (Concluded) 

Sample CALPOST Output File (CALPOST.LST) 

(Partial Listing) 

********************************************************************************************************************************** 

 CALPOST Version 5.2 Level 991104d 

 

********************************************************************************************************************************** 

 

 24HR VISIBILITY 

 VISIB ___SN__ 

 

 (deciview) 

 % of Modeled Extinction by Species 

 

YEAR DAY HR RECEPTOR COORDINATES (km) TYPE DV(Total) DV(BKG) DELTA DV F(RH) %_SO4 %_NO3 %_OC %_EC %_PMC %_PMF 

 

1988 190 0 15, 11 410.000 4780.000 G 6.093 5.890 0.203 2.548 56.92 43.08 0.00 0.00 0.00 0.00 

 

 --- Number of days with Delta-Deciview => 0.50: 0 

 --- Number of days with Delta-Deciview => 1.00: 0 

 --- Largest Delta-Deciview = 0.203 

 

 

********************************************************************************************************************************** 

 CALPOST Version 5.2 Level 991104d 

 

********************************************************************************************************************************** 

 

 Run-Length VISIBILITY 

 

 VISIB ___SN__ 

 

 (deciview) 

 

 

 

 

 RECEPTOR COORDINATES (km) TYPE DV(Total) DV(BKG) DELTA DV F(RH) 

 

 15, 11 410.000 4780.000 G 6.093 5.890 0.203 2.548 

 

 --- Number of recs with Delta-Deciview > 0.10: 5 

 --- Largest Delta-Deciview = 0.203 

 

********************************************************************************************************************************** 

 CALPOST Version 5.2 Level 991104d 

********************************************************************************************************************************** 

 

 SUMMARY SECTION 

 VISIB ___SN__ 

 (1/Mega-m) 

 RECEPTOR COORDINATES (km) TYPE PEAK (YEAR,DAY,ENDING TIME) FOR RANK FOR AVERAGE PERIOD 

 

 14, 11 390.000 4780.000 GRIDDED 2.9995E+00 (1988,189,0500) RANK 1 1 HOUR 

MAR 2006 -- PostProc 

G-88 
Table G-28 

Plot-File DATA Record Structure 

Header Records 

Record 

No. 

Variable Type Description

1 Line 1 character Title line identifying averaging time, type of output, and units 

2 (blank) 

3 Line 2 character Species Processed 

4 (blank) 

5 Line 3 character Column Headings 

6 (blank) 

Data Records (free format) 

Variable 

No. 

Variable Type Description Sample 

Values

1 X real X-coordinate of receptor (km) 94.02 

2 Y real Y-coordinate of receptor (km) 210.89 

3 V1 real Value 1 213.8 

4 V2 real Value 2 (optional) 132.6 

5 V3 real Value 3 (optional) 16.88 

6 V4 real Value 4 (optional) .009 

MAR 2006 -- PostProc 

G-89 
Table G-29 

Sample DATA Plot-File 

(Partial Listing) 

 2 RANKED 1-HOUR AVERAGE CONCENTRATION VALUES AT EACH RECEPTOR ( g/m**3) 

 SO2 1 

 RECEPTOR (x,y) km 1 RANK 2 RANK 

 270.000 4720.000 7.8952E-09 1.9814E-09 

 290.000 4720.000 5.9128E-08 1.5432E-08 

 310.000 4720.000 8.2049E-08 3.7027E-08 

 330.000 4720.000 7.2441E-08 5.9440E-08 

 350.000 4720.000 7.9033E-08 5.8254E-08 

 370.000 4720.000 7.0579E-08 4.8233E-08 

 390.000 4720.000 1.3587E-07 9.4182E-08 

 410.000 4720.000 4.7199E-08 4.6522E-08 

 270.000 4740.000 4.6755E-12 1.6541E-12 

 290.000 4740.000 9.4266E-10 6.2788E-10 

 310.000 4740.000 7.0272E-09 3.6496E-09 

 330.000 4740.000 1.8139E-08 1.2038E-08 

 350.000 4740.000 3.8828E-08 1.9662E-08 

 370.000 4740.000 5.8562E-08 4.9597E-08 

 390.000 4740.000 5.3909E-08 5.2398E-08 

 410.000 4740.000 4.5306E-07 2.8328E-07 

 270.000 4760.000 0.0000E+00 0.0000E+00 

 290.000 4760.000 1.7201E-10 1.2712E-10 

 310.000 4760.000 1.3340E-09 1.1862E-09 

 330.000 4760.000 4.5722E-09 4.4274E-09 

 350.000 4760.000 1.0541E-08 1.0369E-08 

 370.000 4760.000 3.2621E-07 6.5301E-08 

 390.000 4760.000 8.6671E-07 4.7615E-07 

 410.000 4760.000 5.4748E-07 4.4530E-07 

 270.000 4780.000 0.0000E+00 0.0000E+00 

 290.000 4780.000 1.8996E-11 1.7348E-11 

 310.000 4780.000 5.3253E-10 5.0730E-10 

 330.000 4780.000 2.2485E-09 2.2173E-09 

 350.000 4780.000 6.2623E-09 6.2032E-09 

 370.000 4780.000 1.0701E-06 1.6573E-07 

 390.000 4780.000 6.4020E-07 6.0337E-07 

 410.000 4780.000 6.3429E-07 4.6677E-07 

 270.000 4800.000 0.0000E+00 0.0000E+00 

 290.000 4800.000 0.0000E+00 0.0000E+00 

 310.000 4800.000 1.9163E-10 1.6276E-10 

 330.000 4800.000 1.1810E-09 9.1738E-10 

 350.000 4800.000 2.6353E-08 4.7434E-09 

 370.000 4800.000 1.2015E-06 1.0502E-06 

 390.000 4800.000 2.4910E-07 1.9500E-07 

 410.000 4800.000 2.9590E-07 2.0784E-07 

 270.000 4820.000 0.0000E+00 0.0000E+00 

 290.000 4820.000 0.0000E+00 0.0000E+00 

MAR 2006 -- PostProc 

G-90 
Table G-30 

Plot-File GRID Record Structure 

Header Records (free format) 

Record 

No. 

Variable 

No. 

Variable Type Description Sample 

Values

1 1 ID character File type code (must be >DSAA= for ASCII file) DSAA 

2 1 NX integer Number of receptors in easting direction 34 

2 2 NY integer Number of receptors in northing direction 51 

3 1 XBEG real X-coordinate (km) of first gridded receptor 

(southwest) 

213.75 

3 2 YBEG real Y-coordinate (km) of first gridded receptor 

(southwest) 

439.00 

4 1 XEND real X-coordinate (km) of last gridded receptor 

(northeast) 

222.00 

4 2 YEND real Y-coordinate (km) of last gridded receptor 

(northeast) 

451.50 

5 1 VMIN real Minimum value in grid 0.001 

5 2 VMAX real Maximum value in grid 159.0 

Data Records (free format) 

Record 

No. 

Variable Type Description

1 V1 real array NX values in first row of grid (southernmost row) 

2 V2 real array NX values in second row of grid 

... ... ... 

NY VNY real array NX values in last row of grid (northernmost row) 

MAR 2006 -- PostProc 

G-91 
Table G-30 (Concluded) 

Plot-File GRID Record Structure 

Footer Records 

Record 

No. 

Variable Type Description

1-5 (blank) 

6 Line 1 character Title line identifying averaging time, type of output, and units 

7 (blank) 

8 Line 2 character Species Processed or other information (varies with type of data) 

9 (blank) 

10 Line 3 character Species Processed or other information (varies with type of data) 

MAR 2006 -- PostProc 

G-92 
Table G-31 

Sample GRID Plot-File 

 4720.000 4860.000 

DSAA 

 8 8 

 270.000 410.000 

 0.0000E+00 0.1202E-05 

7.8952E-09 5.9128E-08 8.2049E-08 7.2441E-08 7.9033E-08 7.0579E-08 1.3587E-07 4.7199E-08 

4.6755E-12 9.4266E-10 7.0272E-09 1.8139E-08 3.8828E-08 5.8562E-08 5.3909E-08 4.5306E-07 

0.0000E+00 1.7201E-10 1.3340E-09 4.5722E-09 1.0541E-08 3.2621E-07 8.6671E-07 5.4748E-07 

0.0000E+00 1.8996E-11 5.3253E-10 2.2485E-09 6.2623E-09 1.0701E-06 6.4020E-07 6.3429E-07 

0.0000E+00 0.0000E+00 1.9163E-10 1.1810E-09 2.6353E-08 1.2015E-06 2.4910E-07 2.9590E-07 

0.0000E+00 0.0000E+00 5.6655E-11 5.0676E-10 5.7000E-09 8.0446E-07 6.8545E-07 2.5748E-07 

0.0000E+00 0.0000E+00 0.0000E+00 2.0870E-10 2.1584E-09 3.1430E-08 5.1841E-07 2.4384E-07 

0.0000E+00 0.0000E+00 0.0000E+00 6.9000E-11 4.3005E-10 1.0159E-08 1.3561E-07 3.3995E-07 

 1-HOUR AVERAGE CONCENTRATION VALUES AT EACH RECEPTOR ( g/m**3) 

 SO2 1 

 RANK 1 

MAR 2006 -- PostProc 

G-93 
Table G-32 

Time-series File Record Structure 

Header Records 

Record 

No. 

Variable Type Description

1 Line 1 character Title line identifying file type and species processed 

2 (blank) 

3 Line 2 character Averaging time, type of output, and units 

4 Line 3 character Number of receptors processed 

5 (blank) 

6 Line 4 character Receptor type for each receptor processed 

7 Line 5 character Receptor ID or Easting cell index for each receptor processed 

8 Line 6 character Northing cell index for each receptor processed 

9 Line 7 character Easting coordinate (km) for each receptor processed 

10 Line 8 character Northing coordinate (km) for each receptor processed 

11 (blank) 

12 Line 9 character Heading for year, day, time columns 

13 (blank) 

Data Records (free format) 

Variable 

No. 

Variable Type Description Sample 

Values

1 IYR integer Year (YYYY format) 1996 

2 JDAY integer Julian Day (JJJ format) 216 

3 ITIME integer Time at end of averaging period (HHMM format) 0800 

4 to 

NREC+3 

V real 

array 

Value for each of the NREC receptors processed 5.473498E-07

MAR 2006 -- PostProc 

G-94 
Table G-33 

Sample Time-series File 

TIMESERIES Output -------- SO2 1 

 1 HOUR Average CONCENTRATION Values at Selected Receptors ( g/m**3) 

 ix: 6 8 

 YYYY JDY HHMM 

 1988 189 0100 0.000000E+00 0.000000E+00 

 1988 189 0300 3.400294E-07 0.000000E+00 

 1988 189 0500 1.251997E-07 0.000000E+00 

 1988 189 0800 0.000000E+00 8.213156E-10 

 1988 189 1000 0.000000E+00 0.000000E+00 

 1988 189 1700 1.831459E-07 9.404808E-08 

 1988 189 1900 3.688035E-08 1.607274E-07 

 2 Receptors are Included 

 Type: GRID GRID 

 iy: 4 5 

 x(km): 2.300000E+02 2.700000E+02 

 y(km): 4.640000E+03 4.660000E+03 

 1988 189 0200 1.916138E-08 0.000000E+00 

 1988 189 0400 3.968533E-07 0.000000E+00 

 1988 189 0600 5.473498E-07 0.000000E+00 

 1988 189 0700 4.170044E-08 1.020110E-09 

 1988 189 0900 0.000000E+00 0.000000E+00 

 1988 189 1100 3.724512E-08 0.000000E+00 

 1988 189 1200 9.805949E-08 6.046957E-09 

 1988 189 1300 9.109576E-08 2.053027E-08 

 1988 189 1400 8.968187E-08 3.515141E-08 

 1988 189 1500 1.855247E-07 4.744752E-08 

 1988 189 1600 2.432677E-07 6.169984E-08 

 1988 189 1800 9.832471E-08 1.438350E-07 

 1988 189 2000 4.669193E-09 1.218663E-07 

 1988 189 2100 1.730192E-10 5.904977E-08 

 1988 189 2200 3.505524E-11 2.744583E-08 

 1988 189 2300 0.000000E+00 4.535747E-09 

 1988 190 0000 0.000000E+00 3.198288E-10 

MAR 2006 -- PostProc 

G-95 
VOLUME II & III REFERENCES 

Allwine, K.J. and C.D. Whiteman, 1985: MELSAR: A mesoscale air quality model for complex terrain: 

 Volume 1--Overview, technical description and user's guide. Pacific Northwest Laboratory,

Richland, Washington. 

Batchvarova, E. and S.-E. Gryning, 1991: Applied model for the growth of the daytime mixed layer. 

Boundary-Layer Meteorol., 56, 261-274. 

Batchvarova, E. and S.-E. Gryning, 1994: An applied model for the height of the daytime mixed layer 

and the entrainment zone. Boundary-Layer Meteorol., 71, 311-323. 

Bradley, E.F., C.W. Fairall, J.E. Hare, and A.A. Grachev, 2000: An old and improved bulk algorithm for 

air-sea fluxes: COARE 2.6a. 14th Symposium on Boundary Layer and Turbulence, AMS. 7-11 

August 2000, Aspen, CO, 294-296. 

Carson, D.J., 1973: The development of a dry, inversion-capped, convectively unstable boundary layer. 

Quart. J. Roy. Meteor. Soc., 99, 450-467. 

Cimorelli, A.J., S.G. Perry, A. Venkatram, J.C. Weil, R.J. Paine, R.B. Wilson, R.F. Lee, W.D. Peters, 

R.W. Brode, and J.O. Paumier, 2002: AERMOD: Description of Model Formulation. 

EPA/454/R-02-00d. U.S. Environmental Protection Agency, Research Triangle Park, NC. 

Douglas, S. and R. Kessler, 1988: User's guide to the diagnostic wind model. California Air Resources 

Board, Sacramento, CA. 

EPA, 1998: Interagency Workgroup on Air Quality Modeling (IWAQM) Phase 2 Summary report and 

recommendations for modeling long range transport and impacts on regional visibility. EPA454/R-98-019. U.S. EPA, Research Triangle Park, NC. 

EPA, 1995: User's guide for the Industrial Source Complex (ISC3) dispersion models. 

Vol. I - User instructions (EPA-454/B-95-003a). Vol. II - Description of model algorithms (EPA - 

454/B-95-003b). Vol III - Guide to programmers (EPA - 454/B-95-003c). U.S. Environmental 

Protection Agency, Research Triangle Park, NC. 

EPA, 1995: Testing of meteorological and dispersion models for use in regional air quality 

modeling. Report prepared for U.S. EPA by Sigma Research/Earth Tech, Concord, MA. 

Fairall, C.W., E.F. Bradley, J.E. Hare, A.A. Grachev, and J.B. Edson, 2002: Bulk parameterization of airsea fluxes: updates and verification for the COARE algorithm. Submitted to the WCRP/SCOR 

MAR 2006 - References 

1
Workshop on Inter-comparison and Validation of Ocean-Atmosphere Flux Fields special issue of 

the Journal of Climate. 

FLAG, 2000: Federal Land Managers’ Air Quality Related Values Workgroup (FLAG). Phase I report 

(December 2000). US Forest Service, National Park Service, U.S Fish and Wildlife Service. 

Hanna, S.R., L.L. Schulman, R.J. Paine, J.E. Pleim, and M. Baer, 1985: Development and evaluation of 

the Offshore and Coastal Diffusion Model. J. Air Poll. Control Assoc., 35, 1039-1047. 

Holtslag, A.A.M. and A.P. van Ulden, 1983: A simple scheme for daytime estimates of the surface fluxes 

from routine weather data. J. Clim. and Appl. Meteor., 22, 517-529. 

Kessler, R.C., 1989: User's Guide. Systems Applications, Inc. Version of the Colorado State University

Mesoscale Model. California Air Resources Board, Sacramento, CA. 

Lorimer, G., 1986: The AUSPLUME Gaussian plume dispersion model. Environmental Protection 

Authority of Victoria, Melbourne, Victoria, Australia. 

Liu, M.K. and M. A. Yocke, 1980: Siting of wind turbine generators in complex terrain. J. Energy, 4, 

10:16. 

Mahrt, L., 1982: Momentum balance of gravity flows. J. of Atmos. Sci., 39, 2701-2711. 

Maul, P.R., 1980: Atmospheric transport of sulfur compound pollutants. Central Electricity Generating 

Bureau MID/SSD/80/0026/R, Nottingham, England. 

O'Brien, J.J., 1970: A note on the vertical structure of the eddy exchange coefficient in the planetary

boundary layer. J. Atmos. Sci., 27, 1213-1215. 

Perry, S.G., D.J. Burns, L.H. Adams, R.J. Paine, M.G. Dennis, M.T. Mills, D.G. Strimaitis, 

R.J. Yamartino, E.M. Insley, 1989: User's Guide to the Complex Terrain Dispersion Model Plus 

Algorithms for Unstable Situations (CTDMPLUS) Volume 1: Model Description and User 

Instructions. EPA/600/8-89/041, U.S. Environmental Protection Agency, Research Triangle 

Park, NC. 

Scire, J.S., F.R. Robe, M.E. Fernau, and R.J. Yamartino, 2000a: A User’s Guide for the CALMET 

Meteorological Model (Version 5). Earth Tech, Inc., 196 Baker, Avenue, Concord, MA 01741. 

Scire, J.S., D.G. Strimaitis and R.J. Yamartino, 2000b: A User’s Guide for the CALPUFF Dispersion 

Model (Version 5). Earth Tech, Inc., 196 Baker Avenue, Concord, MA 01742. 

MAR 2006 - References 

2
Strimaitis, D.G., R.J. Yamartino, E.M. Insley, J.S. Scire, 1995: A User’s Guide for the Kinematic 

Simulation Particle (KSP) Model. Prepared for Institut fuer Meteorologie, Freie Universitaet 

Berlin, Germany, and Umwelbundesamt, Berlin, Germany, Document No. 1274-2, by Earth 

Tech, Inc, Concord, MA 

Yamartino, R.J., J.S. Scire, S.R. Hanna, G.R. Carmichael and Y.S. Chang, 1989: CALGRID: A 

Mesoscale Photochemical Grid Model. Volume I: Model Formulation Document. California Air 

Resources Board, Sacramento, CA. 

Yamartino, R.J., J.S. Scire, S.R. Hanna, G.R. Carmichael and Y.S. Chang, 1992: The 

CALGRID mesoscale photochemical grid model - I. Model formulation. Atmospheric Environ., 

26A, 1493-1512. 

Yamartino, R.J., D.G. Strimaitis, J.S. Scire, E.M. Insley, and M.J. Spitzak, 1996: Final Report on the 

Phase I Development of the Kinematic Simulation Particle (KSP) Atmospheric Dispersion 

Model, prepared for Institut fuer Meteorologie, Freie Universitaet Berlin, Germany, and 

Umwelbundesamt, Berlin, Germany, Document No. 1274-3m, by Earth Tech, Inc, Concord, MA 

MAR 2006 - References 

3