CALPUFF Version6 UserInstructions PDF
CALPUFF Version6 UserInstructions PDF
Version 6
User Instructions
April 2011
Section 1: Introduction
Table of Contents
Page
i
Section 1: Introduction
ii
Section 1: Introduction
iii
Section 1: Introduction
List of Figures
Page
Figure 1-1: Overview of the program elements in the CALMET/CALPUFF
modeling system. Also shown are the associated CALGRID
photochemical model, the KSP particle model, and mesoscale
meteorological models that may include MM5/MM4, NAM(Eta), WRF,
RUC, RAMS, TAPM and CSUMM. ................................................................... 1-10
Figure 1-2: Meteorological modeling: CALMET modeling flow diagram. ........................... 1-15
Figure 1-3: Dispersion Modeling: CALPUFF modeling flow diagram.................................. 1-16
Figure 1-4: Postprocessing: PRTMET postprocessing flow diagram..................................... 1-17
Figure 1-5: Postprocessing: CALPOST postprocessing flow diagram................................... 1-18
Figure 1-6: Flow diagram of the diagnostic wind model in CALMET. Winds
derived from mesoscale models MM4/MM5, NAM(Eta), WRF, RUC,
RAMS, TAPM or CSUMM can be introduced as the initial guess field A,
or the Step 1 field B. Mesoscale model wind data (except CSUMM) can
also be treated as observations C. Path A is recommended. ............................ 1-20
Figure 2-1: Processing Geophysical Data................................................................................ 2-2
Figure 2-2: Spatial coverage of each GTOPO30 tiles (files)................................................... 2-5
Figure 7-1: MM5 horizontal grid (Arakawa B-grid) showing the staggering of the dot
(.) and cross (x) grid points. The smaller inner box is a representative
mesh staggering for a 3:1 coarse-grid distance to fine-grid distance ratio
(from NCAR, 1998).............................................................................................. 7-7
Figure 7-2: Schematic representation of the vertical structure used in MM5. The
example is for 15 vertical layers. Dashed lines denote half-sigma levels,
solid lines denote full-sigma levels (from NCAR, 1998). ................................... 7-8
Figure 7-3: CALMET non-staggered horizontal grid system. All variables are
defined at the grid points located in the center of each grid cell. The grid
origin (Xo, Yo) is also shown. ............................................................................... 7-9
Figure 7-4: Domain coverage for AWIPS 212 and 218 grids. ............................................... 7-27
Figure 7-5: Domain coverage for AWIPS 245, 246, 247, 248, 249, and 250 grids................ 7-28
Figure 7-6: Tiles for AWIPS 218 grid. ................................................................................... 7-29
Figure 7-7: Domain coverage for RUC 20km and 40km grids. Both are denoted by
the solid-line boundary. The dashed-line boundary is the NAM/ETA
computational domain.......................................................................................... 7-43
Figure 7-8: Arakawa-C grid used in RAMS.......................................................................... 7-51
iv
Section 1: Introduction
Figure 9-1: Profile of a terrain feature along one of its two axes. A best-fit inverse
polynomial function describes this profile to CTSG. ......................................... 9-323
Figure 9-2: Map of terrain surrounding the site of the FSPS, illustrating the selection
and characterization of a terrain feature for CTSG modeling............................. 9-327
List of Tables
Page
v
Section 1: Introduction
vi
Section 1: Introduction
Table 7-8: Sample of MM5 Derived Gridded Surface 2-D Variables .................................. 7-17
Table 7-9: MM5 Derived Surface 2-D Variables File Format (2D.DAT) ............................ 7-20
Table 7-10: AWIPS Grid Formats Processed by CALETA. ................................................... 7-30
Table 7-11: Sample Names of AWIPS GRIB Files ................................................................ 7-32
Table 7-12: Example CALETA Control File (CALETA.INP) ............................................... 7-33
Table 7-13: CALETA Control File Inputs (CALETA.INP)................................................... 7-34
Table 7-14: AWIPS 212 Files in CALETA Forecast Mode for 24-Hour Period
Starting at 00 Z .................................................................................................... 7-36
Table 7-15: AWIPS 212 Files in CALETA Hybrid Mode for 24-Hour Period Starting
at 00Z ................................................................................................................... 7-37
Table 7-16: AWIPS 212 Files in CALETA Hybrid Mode for 24-Hour Period Starting
at 00Z with Missing Files .................................................................................... 7-38
Table 7-17: Example CALETA List File (CALETA.LST)..................................................... 7-39
Table 7-18: RUC File-Naming Conventions........................................................................... 7-45
Table 7-19: Example CALRUC Control File (CALRUC.INP) .............................................. 7-46
Table 7-20: CALRUC Control File Inputs (CALRUC.INP).................................................. 7-47
Table 7-21: Example CALRUC List File (CALRUC.LST).................................................... 7-49
Table 7-22: Example CALRAMS Control File (CALRAMS.INP) ........................................ 7-54
Table 7-23: Example CALRAMS List File (CALRAMS.LST).............................................. 7-55
Table 7-24: Example CALWRF Control File (CALWRF.INP)............................................. 7-57
Table 7-25: CALWRF Control File Inputs (CALWRF.INP)................................................. 7-58
Table 7-26: Example CALWRF List File (CALWRF.LST)................................................... 7-59
Table 7-27: Variables Available in CALTAPM Three-dimensional Output Files.................. 7-61
Table 7-28: CALTAPM Sample Control File (CALTAPM.INP)........................................... 7-63
Table 7-29: CALTAPM Control File Inputs (CALTAPM.INP)............................................ 7-64
Table 7-30: Example CALTAPM List File (CALTAPM.LST) .............................................. 7-65
Table 7-31: Sample of CALTAPM derived 3D.DAT file....................................................... 7-66
Table 7-32: Sample Mesoscale Model 3-D Data File (3D.DAT)............................................ 7-68
Table 7-33: Mesoscale Model 3-D Data File (3D.DAT) ........................................................ 7-71
Table 9-1: Input Groups in the CALPUFF Control File ........................................................ 9-5
Table 9-2: Sample CALPUFF Control File (CALPUFF.INP) ............................................... 9-8
Table 9-3: CALPUFF Control File Inputs - Input Group 0................................................... 9-46
vii
Section 1: Introduction
viii
Section 1: Introduction
ix
Section 1: Introduction
x
Section 1: Introduction
1. OVERVIEW
Version 6 of the CALPUFF modeling system is a full update to Version 5 of the system that allows sub-
hourly temporal resolution of both source characteristics and input meteorological fields, and sub-hourly
temporal resolution of modeled output fields. It incorporates all of the modules and features of Version 5,
which is a Guideline Model (Federal Register, 2003) recognized for regulatory use by the U.S.
Environmental Protection Agency (EPA). When data and simulations are made with a 1-hour timestep,
Version 6 is equivalent to Version 5. However, with effectively unlimited temporal resolution it provides
greater flexibility in modeling situations with complex source distributions that evolve over short
timescales.
Such a complex source treatment was needed in 1999 when a project-specific version of the CALPUFF
dispersion model was developed with funding from the National Aeronautics and Space Administration
(NASA). It was designed to accept non-gridded meteorological data and source data at sub-hourly
intervals (at time-scales as short as seconds), and to report concentrations for user-specified averaging
times as short as several minutes. Identified as CALPUFF Version 6.0, it was based on the 1-hour
version of the model that was in use at the time, CALPUFF Version 5.0. This implementation was
designed specifically for applications involving the Space Shuttle. As a result, it did not fully address all
source types available in the modeling system or any postprocessor other than CALPOST, nor did it
include the meteorological model CALMET and its preprocessors.
Significant advances had been made to CALPUFF since 1999, so CALPUFF Version 6.0 did not include
the technical enhancements and other capabilities present in the current versions of CALPUFF in 2005
when the USDA Forest Service expressed interest in coupling the CALPUFF Modeling System to its
AGDISP aerial spray dispersion model to extend its modeling capability for assessing the fate of material
that drifts downwind of application areas. Therefore, the USDA Forest Service funded the preparation of
a new version of the system that can accept variability in the meteorological fields as well as source
characteristics at sub-hourly intervals. The sub-hour time-varying structures implemented in CALPUFF
Version 6.0 have been adapted to the current version of CALPUFF and its postprocessors, making this
feature available for all options, including the ability to treat sub-hourly meteorological inputs and to
modify the output data file structures for the concentration, wet deposition flux and dry deposition flux
files to accommodate sub-hourly output. This has produced CALPUFF Version 6.1, which will become
the platform for all future model development efforts. Postprocessors modified include APPEND,
CALSUM, CALPOST, and POSTUTIL.
Sub-hourly time-varying structures were also designed and implemented in CALMET Version 6.0 and
those preprocessors that are needed to prepare the input datasets required by CALMET. This includes the
1-1
Section 1: Introduction
introduction of a sub-hourly time step within the model for purposes of computing solar radiation, wind
fields and boundary layer parameters and the modification of the structure of the output data file produced
by CALMET to allow for hourly or sub-hourly time steps. The preprocessor programs now produce
CALMET input files that contain the full begin-time / end-time structures with times resolved to the
second. However, they operate on standard available datasets that do not include sub-hourly data. Users
who have meteorological monitoring programs that report data more frequently than hourly can readily
format those data for input to CALMET using the new file formats. These formats are fully described in
this document.
The CALMET postprocessor PRTMET was also modified to deal with the additional temporal
information provided by the updated CALMET model. PRTMET allows the gridded CALMET
meteorological fields to be viewed.
The latest version of the CALPUFF Graphical User Interface (GUI) system (CALPRO) which includes
the CALVIEW plotting and visualization interface was modified to accept sub-hourly time steps.
From the perspective of current users of the system, the most notable change in using the new system is
the way time periods are identified. Version 5 had adopted nomenclature that is based on hourly periods.
All of the data coming into the system varied by the hour (or multiples of hours), and within the system
the hour was identified by the time at the end of the hour being simulated. Version 6 allows times to be
identified to the second, and most importantly, the basic time step is no longer fixed at one hour so it is
also characterized to the second. Each period is defined by both a start time and an end time. In cases
where a timestamp contains a single time, it is the time at the start of a period, not the end. For example,
the files that are generated by CALPOST and PRTMET for visualization contain a date, time, and
averaging period in the filename. The date-time is the starting time. The averaging period implicitly
identifies the ending time. Similar files produced by Version 5 placed the ending time in the filename.
The remainder of this introduction provides a brief history of the development of the modeling system
and an overview of all of the components in the system. Details for running each component in the
system are provided in subsequent sections. Users interested in preparing variable source emission files
will find the specifications in Sections 9.3 through 9.6. Formats for CALMET meteorological input files
are presented in Sections 8.3 through 8.6.
As part of a study to design and develop a generalized non-steady-state air quality modeling system for
regulatory use, Sigma Research Corporation developed the CALPUFF dispersion model and related
models and programs, including the CALMET meteorological model. The original development of
CALPUFF and CALMET was sponsored by the California Air Resources Board (CARB). Systems
1-2
Section 1: Introduction
Application, Inc. (SAI) served as a subcontractor to Sigma Research with the responsibility for
developing the wind field modeling component of the system.
The original design specifications for CALPUFF included: (1) the capability to treat time-varying
sources, (2) suitability for modeling domains from tens of meters to hundreds of kilometers from a
source, (3) predictions for averaging times ranging from one-hour to one year, (4) applicability to inert
pollutants and those subject to linear removal and chemical conversion mechanisms, and, (5) applicability
for rough or complex terrain situations. The modeling system developed to meet these objectives
consisted of three components:
CALMET, a meteorological modeling package with both diagnostic and prognostic wind field
generators
CALPUFF, a Gaussian puff dispersion model with chemical removal, wet and dry deposition,
complex terrain algorithms, building downwash, plume fumigation, and other effects
CALPOST and other postprocessing programs for the output fields of meteorological data,
concentrations and deposition fluxes.
In July, 1987, CARB initiated a second project with Sigma Research to upgrade and modernize the Urban
Airshed Model (UAM) to include state-of-the-science improvements in many of the key technical
algorithms including the numerical advection and diffusion schemes, dry deposition, chemical
mechanisms, and chemical integration solver. The new photochemical model, called CALGRID
(Yamartino et al., 1992; Scire et al., 1989), was integrated into the CALMET/CALPUFF modeling
framework to create a complete modeling system for both reactive and non-reactive pollutants. A third
component of the modeling system, a Lagrangian particle model called the Kinematic Simulation Particle
(KSP) model (Strimaitis et al., 1995; Yamartino et al., 1996), was developed under sponsorship of the
German Umweldbundesamt. All three models (CALPUFF, CALGRID, and KSP) are designed to be
compatible with the common meteorological model, CALMET, and share preprocessing and
postprocessing programs for the display of the modeling results.
CALMET, CALPUFF, and CALPOST have been substantially revised and enhanced over time, and the
modeling system has achieved regulatory status. The U.S. EPA has designated the CALPUFF modeling
system as a Guideline ("Appendix A") model for regulatory applications involving long range transport,
and on a case-by-case basis for near-field applications where non-steady-state effects (situations where
factors such as spatial variability in the meteorological fields, calm winds, fumigation, recirculation or
stagnation, and terrain or coastal effects) may be important.
In the early 1990s, the Interagency Workgroup on Air Quality Modeling (IWAQM) reviewed various
modeling approaches suitable for estimating pollutant concentrations at Class I areas, including the
individual and cumulative impacts of proposed and existing sources on Air Quality Related Values
(AQRVs), Prevention of Significant Deterioration (PSD) increments, and National Ambient Air Quality
Standards (NAAQS). IWAQM consists of representatives from the U.S. Environmental Protection
Agency (EPA), U.S. Forest Service, National Park Service, and U.S. Fish and Wildlife Service. IWAQM
1-3
Section 1: Introduction
released a Phase I report (EPA, 1993) which recommended using the MESOPUFF II dispersion model
and MESOPAC II meteorological model on an interim basis for simulating regional air quality and
visibility impacts. These recommendations were to apply until more refined (Phase 2) techniques could
be identified and evaluated. As part of the development of the Phase 2 recommendations, IWAQM
reviewed and intercompared diagnostic wind field models, tested the use of coarse gridded wind fields
from the Penn State/NCAR Mesoscale Model with four dimensional data assimilation (MM4) as input
into the diagnostic models, and evaluated the MESOPUFF II and CALPUFF modeling systems using
tracer data collected during the Cross-Appalachian Tracer Experiment (CAPTEX). The CAPTEX
evaluation results (EPA, 1995) indicated that by using the CALMET/ CALPUFF models with MM4 data,
performance could be improved over that obtained with the interim Phase I modeling approach. The
Phase 2 IWAQM report (EPA, 1998) recommends the use of the CALMET and CALPUFF models for
estimating air quality impacts relative to the National Ambient Air Quality Standards (NAAQS) and
Prevention of Significant Deterioration (PSD) increments.
The CALMET and CALPUFF models have been substantially revised and enhanced as part of work for
IWAQM, U.S. EPA, the USDA Forest Service, the US Department of the Interior Minerals Management
Service (MMS), the Environmental Protection Authority of Victoria (Australia), and private industry in
the U.S. and abroad. The improvements to CALMET included modifications to make it more suitable for
regional applications such as the use of a spatially variable initial guess field, an option for using hourly
MM4 or MM5 gridded fields as a supplement to observational data, the ability to compute Lambert
conformal map factors, a modified mixing height scheme, an option to use similarity theory to vertically
extrapolate surface wind observations, an enhanced algorithm to compute the three-dimensional
temperature fields over water bodies, improved initialization techniques, a refined slope flow
parameterization, and an optional PC-based Graphical User Interface (GUI) to facilitate model setup and
execution and to provide access to on-line Help files. Improvements to CALPUFF include new modules
to treat buoyant rise and dispersion from area sources (such as forest fires), buoyant line sources, volume
sources, an improved treatment of complex terrain, additional model switches to facilitate its use in
regulatory applications, enhanced treatment of wind shear through puff splitting, use of a probability
density function (pdf) to describe dispersion during convective conditions, and an optional GUI.
CALPUFF has been coupled to the Emissions Production Model (EPM) developed by the Forest Service
through an interface processor. EPM provides time-dependent emissions and heat release data for use in
modeling controlled burns and wildfires.
The most recent update of the system was prepared for the MMS in late 2005 as part of a multi-year study
to develop an updated regulatory model for evaluating air quality impacts from emission sources located
on federal waters of the Outer Continental Shelf (OCS). Its focus was to modify and/or enhance an
existing model so that it can be appropriately applied to overwater transport and dispersion simulations
using the most current knowledge, and is versatile enough to be used in short-range as well as long-range
regulatory applications. Changes to the system that were designed and implemented for OCS applications
include ease-of-use features as well as new and modified subroutines in both the CALMET
meteorological model and the CALPUFF dispersion model:
1-4
Section 1: Introduction
1-5
Section 1: Introduction
CALMET Updates
o An option is provided to use the COARE (Coupled Ocean Atmosphere Response
Experiment) overwater flux model, Version 2.6bw, with or without wave data.
o A convective (rather than mechanical) overwater boundary layer height is computed for
L<0 (positive surface heat flux). Note that the overwater mixing height is computed only
when it is not provided in a SEA.DAT file.
o A new convective mixing height parameterization option is provided.
o Surface winds are adjusted from anemometer height to 10m (middle of CALMET layer
1).
o Consistent similarity profile equations are used throughout system.
CALPUFF updates
o A building downwash adjustment is introduced for elevated (platform) structures with an
open area between the surface and the bulk of the structure. This platform height is
provided for point sources, and applies to the ICS downwash option.
o An option is provided for computing turbulence profiles using the AERMOD subroutines
o A diagnostic option is provided to test a Lagrangian time-scale for lateral plume growth
functions that is computed from boundary layer scales.
o An option is provided to accept the AERMET version of SURFACE and PROFILE
meteorological data files.
o An option is provided to include an adjustment for turbulence advection from regions of
larger turbulence velocity into regions of smaller turbulence velocity. This adjustment is
applied to computed (not measured) turbulence.
o The minimum lateral turbulence velocity (v) allowed is partitioned to distinguish values
appropriate for over-land cells and over-water cells.
BUOY processor
o This new processor creates revised SEA.DAT files for CALMET with wave data for the
COARE overwater flux option.
o Data files readily obtained from NODC and NDBC web sites are read.
1-6
Section 1: Introduction
The CALPUFF Modeling System includes three main components: CALMET, CALPUFF, and
CALPOST and a large set of preprocessing programs designed to interface the model to standard,
routinely-available meteorological and geophysical datasets. In the simplest terms, CALMET is a
meteorological model that develops wind and temperature fields on a three-dimensional gridded modeling
domain. Associated two-dimensional fields such as mixing height, surface characteristics, and dispersion
properties are also included in the file produced by CALMET. CALPUFF is a transport and dispersion
model that advects puffs of material emitted from modeled sources, simulating dispersion and
transformation processes along the way. In doing so it typically uses the fields generated by CALMET,
or as an option, it may use simpler non-gridded meteorological data much like existing plume models.
Temporal and spatial variations in the meteorological fields selected are explicitly incorporated in the
resulting distribution of puffs throughout a simulation period. The primary output files from CALPUFF
contain either concentrations or deposition fluxes evaluated at selected receptor locations. CALPOST is
used to process these files, producing tabulations that summarize the results of the simulation, identifying
the highest and second highest 3-hour average concentrations at each receptor, for example. When
performing visibility-related modeling, CALPOST uses concentrations from CALPUFF to compute
extinction coefficients and related measures of visibility, reporting these for selected averaging times and
locations.
1-7
Section 1: Introduction
To enhance the functionality of the modeling system, a PC-based GUI is provided for nearly every
component. The GUIs can be used to prepare the control file that configures a run, execute the
corresponding component model, and conduct file management functions. The GUIs also contain an
extensive help system that makes much of the technical information contained in this manual available to
the user on-line. The modeling system may also be setup and run without the aid of the GUIs. The
control file for each component is simply a text file that is readily edited, and it contains extensive
information about model options, default values, and units for each variable.
In addition to CALMET, CALPUFF, CALPOST, and their corresponding GUIs, the modeling system
interfaces to several other models, which is facilitated by several preprocessors and utilities. Figure 1-1
displays the overall modeling system configuration. Four of the models shown in Figure 1-1 are external
models that are not included in the CALPUFF system, but they can be interfaced with CALPUFF
modules:
MM5/MM4 (Penn State/NCAR Mesoscale Model) is a prognostic wind field model with four
dimensional data assimilation (Anthes et al., 1987; Grell et al., 1996). The interface program
(CALMM5) converts the MM5 data into a form compatible with CALMET.
NAM(formerly Eta) (North American Mesoscale model), and the WRF (Weather Research and
Forecasting) model are NCEP operational weather models. Eta/NAM/WRF model output files
are produced for use by the Advanced Weather Interactive Processing System (AWIPS) in
various AWIPS grids. The interface program CALETA converts the NAM and CALWRF
converts the WRF output data into forms compatible with CALMET.
RUC (Rapid Update Cycle) model is an NCEP operational weather model with high-frequency
(every hour) short-range weather model forecasts (out to 12+ hours). The interface program
CALRUC converts the RUC output data into a form compatible with CALMET.
RAMS (Regional Atmospheric Modeling System, Version 4.3) model is a NOAA Air Resources
Laboratory (ARL) numerical weather model that can be run at global, mesoscale, and local
scales. The interface program CALRAMS converts the RAMS output data into a form
compatible with CALMET.
TAPM (The Air Pollution Model) is a CSIRO (Commonwealth Scientific Industrial Research
Organisation) Lagrangian Part-Puff model, (Hurley 1998, 1999). The interface CALTAPM
converts the TAPM output data into a form compatible with CALMET.
CSUMM (a version of the Colorado State University Mesoscale Model) is a primitive equation
wind field model (Kessler, 1989) which simulates mesoscale airflow resulting from differential
surface heating and terrain effects. Various options for using CSUMM output with CALMET are
provided.
1-8
Section 1: Introduction
CALGRID is an Eulerian photochemical transport and dispersion model which includes modules
for horizontal and vertical advection/diffusion, dry deposition, and a detailed photochemical
mechanism. The output from CALMET may be used in CALGRID.
1-9
Section 1: Introduction
M esoscale
M eteo ro log ical
M eteo ro log ical M o deling
M o dels
C AL M E T
M eteoro log ical
M o del
K SP C AL PU F F C AL G R ID
D ispersio n M o deling Particle M o del D ispersio n M o del P ho to chem ical
M o del
Figure 1-1: Overview of the program elements in the CALMET/CALPUFF modeling system.
Also shown are the associated CALGRID photochemical model, the KSP particle
model, and mesoscale meteorological models that may include MM5/MM4,
NAM(Eta), WRF, RUC, RAMS, TAPM and CSUMM.
1-10
Section 1: Introduction
The components in Figure 1-1 that are included in the system are:
CALMET is a meteorological model which includes a diagnostic wind field generator containing
objective analysis and parameterized treatments of slope flows, kinematic terrain effects, terrain
blocking effects, and a divergence minimization procedure, and a micro-meteorological model for
overland and overwater boundary layers.
CALSUM is a postprocessor which sums and scales concentrations or wet/dry fluxes from two or
more source groups from different CALPUFF runs.
Preprocessors and utilities provided with the modeling system for use with CALMET include:
1-11
Section 1: Introduction
READ62 is a meteorological preprocessor which extracts and processes upper air wind and
temperature data from the standard NCDC TD-6201 data format or the NCDC CD-ROM FSL
rawinsonde data format.
PXTRACT is a meteorological preprocessor which extracts precipitation data for stations and a
time period of interest from a fixed length, formatted precipitation data file in NCDC TD-3240
format.
TERREL is a terrain preprocessor which coordinates the allocation of terrain elevation data from
several digitized databases to a user-specified modeling grid.
CTGCOMP is a preprocessor used to compress the data file format of a USGS land use CTG
data file.
CTGPROC is a land use preprocessor which reads compressed CTG land use data files, USGS
Global Dataset format land use data files, USGS NLCD files, or two types of generic land use
format, and computes the fractional land use for each grid cell in the user-specified modeling
domain.
PRLND1 is a land use preprocessor which reads the ARM3 data base of land use data and
computes fractional land use for each grid cell in the user-specified modeling domain.
MAKEGEO is the final preprocessor which reads the fractional land use data, user inputs which
define land use category mapping, and values relating each of the surface parameters to land use,
and (optionally) the gridded terrain data file, and produces a GEO.DAT file ready for input to
CALMET.
1-12
Section 1: Introduction
CALMM5 is a processor that extracts and interprets data in the output file from MM5 (Version
3), and creates a file of meteorological data for direct input to CALMET in either the preferred
3D.DAT format or the MM4.DAT format.
CALETA is a processor that extracts and interprets data in selected output files from NAM(Eta),
and creates a file of meteorological data for direct input to CALMET in its 3D.DAT format.
CALWRF is a processor that extracts and interprets data in selected output files from WRF (the
Weather Research and Forecasting Model), and creates a file of meteorological data for direct
input to CALMET in its 3D.DAT format.
CALRUC is a processor that extracts and interprets data in selected output files from RUC, and
creates a file of meteorological data for direct input to CALMET in its 3D.DAT format.
CALRAMS is a processor that extracts and interprets data in selected output files from RAMS,
and creates a file of meteorological data for direct input to CALMET in its 3D.DAT format.
CALTAPM is a processor that extracts and interprets data in selected output files from the
CSIROs TAPM Model (The Commonwealth Scientific and Industrial Research Organisation;
The Air Pollution Model), and creates a file of meteorological data for direct input to CALMET
in its 3D.DAT format.
Preprocessors and utilities provided with the modeling system for use with CALPUFF include:
OPTHILL is a processor program which uses topographical data (such as terrain maps) to
develop hill shape factors that are used in the subgrid scale complex terrain (CTSG) module in
CALPUFF.
FEPS2BAEM is a conversion utility which creates a time-varying emissions file for buoyant
forest fire area sources based on the output from the U.S.D.A Forest Service Fire Emissions
Production Simulator Model (FEPS).
The meteorological modeling with the CALMET model is detailed in Figure 1-2. Note that the
preprocessors for the raw meteorological data are written to accommodate the U.S. National Climatic
Data Center (NCDC) file formats. Figure 1-3 is the schematic of the CALPUFF dispersion model
indicating the model input and output files. The postprocessing approach for the meteorological and
dispersion modeling results is shown in Figure 1-4 and Figure 1-5.
A series of reports and user's guides describe the components of the modeling system. The technical
formulation for CALPUFF (Version 5) and CALPOST (Version 5) is contained in Scire et al. (2000a),
and that for CALMET (Version 5) and the meteorological and geophysical preprocessing programs are
1-13
Section 1: Introduction
contained in Scire et al. (2000b). The updates for OCS applications are described in USMMS
(2006a,b,c). The CSUMM prognostic wind field model is described in a report by Kessler (1989). A
stand-alone version of the Diagnostic Wind Model (DWM) used as the original wind field module in
CALMET is discussed by Douglas and Kessler (1988). The CALGRID model is documented in a paper
by Yamartino et al. (1992) and reports by Yamartino et al. (1989) and Scire et al. (1989). The KSP model
is described by Strimaitis et al., (1995) and Yamartino et al. (1996).
1-14
Section 1: Introduction
Land Use
Elevation Data USGS NLCD CTGCOMP PXTRACT
Files METSCAN Precipitation
USGS Global QA Program Data Extracting
Generic Program
Surface Data Files Surface Met. Buoy Data Files Extracted Hourly
TERREL CTGPROC Upper Air Data SAMSON Data Files (with Precipitation
Terrain Land Use TD-6201
- HUSWO corrections) Data (TD -3240
Processor Processor (CD144 Format) NODC Format)
FSL TD3505
TD9956 NDBC (stn.DAT)
GENERIC
(CSUMM)
MAKEGEO Prognostic READ62 SMERGE BUOY PMERGE
Wind Field Upper Air Surface Met. Precipitation
Overwater Data
Model Preprocessor Preprocessor Preprocessor
Preprocessor
MM5/MM4, Geophysical Prognostic Upper Air Preprocessed Surface Overwater Data Processed Hourly Terrain CALMET
NAM(Eta), Data File Gridded Wind Sounding Data Surface/Upper Meteorological File Precipitation File Weighting Control F ile
Field (READ62 Air Data File Factor File
WRF, RUC,
(optional) Format) Meteorological (SMERGE (optional)
RAMS, TAPM Data (optional) Format or Free
Data (UP1.DAT, Format) (SEA1.DAT,
(3D.DAT, (GEO.DAT) (PROG.DAT) UP2.DAT) (DIAG.DAT) (SURF.DAT) SEA2.DAT) (PRECIP.DAT) (WT.DAT) (CALMET.INP)
MM4 DAT)
CALMET
Meteorological
Model
(CALMET.DAT
or
PACOUT.DAT) (CALMET.LST) (TEST.*)
1-15
Section 1: Introduction
Time-Varying Time-Varying Complex Terrain Input Restart File Boundary File for
Volume Source Line Source Hourly Ozone (CTDM) (optional) Mass Flux
Emissions File Emissions File Data File Receptor Data Diagnostics
(optional) (optional) (optional) File (optional)
(optional)
(VOLEMARB.DAT) (LNEMARB.DAT) (OZONE.DAT) (HILLRCT.DAT) (RESTART.DAT) (FLUXBDY.DAT)
CALPUFF Time-Varying Time-Varying Met. Data User-Specified User-Specified Complex Terrain Subgrid Scale Boundary
Control File Point Source Area Source (CALMET.DAT) or Deposition Chemical (CTDM) Hill Coastal Boundary Condition File
Emissions File Emissions File (ISCMET.DAT) or Velocities Conversion Data File File (optional)
(optional) (optional) (PLMMET.DAT) or (optional) Rates (optional) (optional)
(SURFACE.DAT and (optional)
(CALPUFF.INP) (PTEMARB.DAT) (BAEMARB.DAT) (PROFILE.DAT) (VD.DAT) (CHEM.DAT) (HILL.DAT) (COASTLN.DAT) (BCON.DAT)
CALPUFF
Gaussian Puff
Dispersion
Model
Relative
Predicted Predicted Dry Predicted Wet Humidity Data CALPUFF Output Restart Diagnostic Mass Diagnostic Mass Debug Puff- QA Plot Files
Concentration Flux Fields Flux Fields for Visibility Output List File File Flux File Balance File Tracking File (QA *.BNA)
Fields Calculations (QA *.DAT)
(QA *.GRD)
(CONC.DAT) (DFLX.DAT) (WFLX.DAT) (VISB.DAT) (CALPUFF.LST) (RESTARTE.DAT) (MASSFLX.DAT) (MASSBAL.DAT) (DEBUG.DAT) (*.LVL)
1-16
Section 1: Introduction
F ro m C A L M E T
G rid d ed
M eteo ro lo g ica l F ie ld s
(C A L M E T .D A T )
PR T M ET
PR T M ET C o n tro l F ile
P o stp ro ces so r
(P R T M E T .IN P )
O u tp u t L ist
F ile P lo t F ile (s)
(o p tio n a l)
(P R T M E T .L ST )
1-17
Section 1: Introduction
From CALPUFF
Hourly Hourly
CALPOST Background Background Predicted Predicted Dry Relative Humidity Predicted Wet
Control Concentration/ Extinction Concentration Flux Fields Data for Visibility Flux Fields
File Fluxes Coefficient Fields Calculations
(optional) (optional) (optional)
(CALPOST.INP) (BACK.DAT) (VSRN.DAT) (CONC.DAT) (DFLX.DAT) (VISB.DAT) (WFLX.DAT)
CALPOST
Postprocessor
Timeseries File(s) One or More Plot Output List File Daily Peak Summary
(optional) Files File for Visibility
(optional) Calculations
(Rtt[].DAT/GRD)
(Xtt[].DAT/GRD)
(TStt[].DAT) (jjjtthh[].DAT/GRD) (CALPOST.LST) (V24[].DAT)
1-18
Section 1: Introduction
1.4.1 CALMET
The CALMET meteorological model consists of a diagnostic wind field module and micro-
meteorological modules for overwater and overland boundary layers. The major features and options of
the meteorological model are summarized in Table 1-1. When using large domains, the user has the
option to adjust input winds to a Lambert Conformal Projection coordinate system to account for the
Earth's curvature.
The diagnostic wind field module uses a two-step approach to the computation of the wind fields
(Douglas and Kessler, 1988), as illustrated in Figure 1-6. In the first step, an initial-guess wind field is
adjusted for kinematic effects of terrain, slope flows, and terrain blocking effects to produce a Step 1
wind field. The second step consists of an objective analysis procedure to introduce observational data
into the Step 1 wind field to produce a final wind field.
An option is provided to allow gridded prognostic wind fields to be used by CALMET, which may better
represent regional flows and certain aspects of sea breeze circulations and slope/valley circulations. Wind
fields generated by the CSUMM prognostic wind field model can be input to CALMET as either the
initial guess field (pathway A in Figure 1-6) or the Step 1 wind field (pathway B in Figure 1-6).
MM4/MM5, NAM(Eta), WRF, RUC, RAMS and TAPM model output fields can be introduced into
CALMET in one of three different ways:
as a replacement for the initial guess wind field (pathway A in Figure 1-6).
as a replacement for the Step 1 field (pathway B); or
as "observations" in the objective analysis procedure (pathway C).
The techniques used in the CALMET model are briefly described below. The recommended approach is
pathway A.
Kinematic Effects of Terrain: The approach of Liu and Yocke (1980) is used to evaluate kinematic
terrain effects. The domain-scale winds are used to compute a terrain-forced vertical velocity, subject to
an exponential, stability-dependent decay function. The kinematic effects of terrain on the horizontal
wind components are evaluated by applying a divergence-minimization scheme to the initial guess wind
field. The divergence minimization scheme is applied iteratively until the three-dimensional divergence
is less than a threshold value.
1-19
Section 1: Introduction
Observations
Set Up Initial
or
Guess Field
A
Compute Terrain Mesoscale
Effects Model Output Used
as Initial Guess
Minimize
Field
Divergence
B
Step 1 Wind Mesoscale
or
Field Model Output Used
as Step 1 Field
C
Observations Perform Objective Mesoscale
Analysis Procedure Model Output Used
as Observations
Step 2
(Final) Wind
Field
Figure 1-6: Flow diagram of the diagnostic wind model in CALMET. Winds derived from
mesoscale models MM4/MM5, NAM(Eta), WRF, RUC, RAMS, TAPM or CSUMM
can be introduced as the initial guess field A, or the Step 1 field B. Mesoscale model
wind data (except CSUMM) can also be treated as observations C. Path A is
recommended.
1-20
Section 1: Introduction
Slope Flows
Kinematic Terrain Effects
Terrain Blocking Effects
Divergence Minimization
Produces Gridded Fields of U, V, W Wind Components
Inputs Include Domain-Scale Winds, Observations, and
(optionally) Coarse-Grid Prognostic Model Winds
Lambert Conformal Projection Capability
1-21
Section 1: Introduction
Slope Flows: Slope flows are computed based on the shooting flow parameterization of Mahrt (1982).
Shooting flows are buoyancy-driven flows, balanced by adjective of weaker momentum, surface drag,
and entrainment at the top of the slope flow layer. The slope flow is parameterized in terms of the terrain
slope, distance to the crest and local sensible heat flux. The thickness of the slope flow layer varies with
the elevation drop from the crest.
Blocking Effects: The thermodynamic blocking effects of terrain on the wind flow are parameterized in
terms of the local Froude number (Allwine and Whiteman, 1985). If the Froude number at a particular
grid point is less than a critical value and the wind has an uphill component, the wind direction is adjusted
to be tangent to the terrain.
The wind field resulting from the adjustments described above of the initial-guess wind is the Step 1 wind
field. The second step of the procedure involves the introduction of observational data into the Step 1
wind field through an objective analysis procedure. An inverse-distance squared interpolation scheme is
used which weighs observational data heavily in the vicinity of the observational station, while the Step 1
wind field dominates the interpolated wind field in regions with no observational data.
The resulting wind field is subject to smoothing, an optional adjustment of vertical velocities based on the
O'Brien (1970) method, and divergence minimization to produce a final Step 2 wind field.
The CALMET model contains an option to allow the introduction of gridded wind fields generated by
MM4/MM5, NAM(Eta), WRF, RUC, RAMS and TAPM (or the CSUMM model) as input fields. The
procedure permits the prognostic model to be run with a significantly larger horizontal grid spacing and
different vertical grid resolution than that used in the diagnostic model. This option allows certain
features of the flow field such as the sea breeze circulation with return flow aloft, which may not be
captured in the surface observational data, to be introduced into the diagnostic wind field results. An
evaluation with CAPTEX tracer data indicated that the better spatial and temporal resolution offered by
the hourly MM4 fields can improve the performance of the dispersion modeling on regional scales (EPA,
1995).
If the prognostic wind data are used as the initial guess field, the coarse grid scale data are interpolated to
the CALMET fine-scale grid. The diagnostic module in CALMET will then adjust the initial guess field
for kinematic effects of terrain, slope flows and terrain blocking effects using fine-scale CALMET terrain
data to produce a Step 1 wind field. A second approach is to use prognostic wind data directly as the Step
1 wind field. This field is then adjusted using observational data, but additional terrain adjustments are
1-22
Section 1: Introduction
not made. A third available option in CALMET is to treat the gridded prognostic data as "observations"
in the objective analysis procedure.
The CALMET model contains two boundary layer models for application to overland and overwater grid
cells.
Overland Boundary Layer Model: Over land surfaces, the energy balance method of Holtslag and van
Ulden (1983) is used to compute hourly gridded fields of the sensible heat flux, surface friction velocity,
Monin-Obukhov length, and convective velocity scale. Mixing heights are determined from the
computed hourly surface heat fluxes and observed temperature soundings using either a modified Carson
(1973) method based on Maul (1980), or the method of Batchvarova and Gryning (1991,1994) which has
a newer formulation for computing the temperature jump across the entrainment zone at the top of the
layer and an explicit term for the spin-up growth early in the development of the mixed layer. Gridded
fields of PGT stability class and optional hourly precipitation rates are also determined by the model.
Overwater Boundary Layer Model: The aerodynamic and thermal properties of water surfaces require a
different method for calculating the boundary layer parameters in the marine environment. A profile
technique, using air-sea temperature differences, is used to compute the micro-meteorological parameters
in the marine boundary layer. Two options are provided: one is similar to that developed for OCD
(Hanna et al., 1985), and the other is the Coupled Ocean Atmosphere Response Experiment (COARE)
bulk flux model (Bradley et al., 2000; Fairall et al., 2002). Once the surface fluxes are computed, the
same mixing height options used over land are applied over water.
An upwind-looking spatial averaging scheme is optionally applied to the mixing heights and 3-
dimensional temperature fields in order to account for important adjective effects.
1.4.2 CALPUFF
CALPUFF is a multi-layer, multi-species non-steady-state puff dispersion model which can simulate the
effects of time- and space-varying meteorological conditions on pollutant transport, transformation, and
removal. CALPUFF can use the three dimensional meteorological fields developed by the CALMET
model, or simple, single station winds in a format consistent with the meteorological files used to drive
the ISCST3 (EPA, 1995), AUSPLUME (Lorimer, 1976), CTDMPLUS (Perry et al., 1989) or AERMOD
(EPA 2004) steady-state Gaussian models. However, single-station ISCST3, CTDMPLUS, AUSPLUME
or AERMOD winds should be used with caution, because they do not allow CALPUFF to take advantage
of its capabilities to treat spatially-variable meteorological fields.
1-23
Section 1: Introduction
CALPUFF contains algorithms for near-source effects such as building downwash, transitional plume
rise, partial plume penetration, subgrid scale terrain interactions as well as longer range effects such as
pollutant removal (wet scavenging and dry deposition), chemical transformation, vertical wind shear,
overwater transport and coastal interaction effects. It can accommodate arbitrarily-varying point source
and gridded area source emissions. Most of the algorithms contain options to treat the physical processes
at different levels of detail depending on the model application.
The major features and options of the CALPUFF model are summarized in Table 1-2. Some of the
technical algorithms are briefly described below.
Dry Deposition: A full resistance model is provided in CALPUFF for the computation of dry deposition
rates of gases and particulate matter as a function of geophysical parameters, meteorological conditions,
and pollutant species. Options are provided to allow user-specified, diurnally varying deposition
velocities to be used for one or more pollutants instead of the resistance model (e.g., for sensitivity
testing) or to by-pass the dry deposition model completely.
Wet Deposition: An empirical scavenging coefficient approach is used in CALPUFF to compute the
depletion and wet deposition fluxes due to precipitation scavenging. The scavenging coefficients are
specified as a function of the pollutant and precipitation type (i.e., frozen vs. liquid precipitation).
Subgrid Scale Complex Terrain: The complex terrain module in CALPUFF is based on the approach
used in the Complex Terrain Dispersion Model (CTDMPLUS) (Perry et al., 1989). Plume impingement
on subgrid scale hills is evaluated using a dividing streamline (Hd) to determine which pollutant material
is deflected around the sides of a hill (below Hd) and which material is advected over the hill (above Hd).
Individual puffs are split into up to three sections for these calculations.
Puff Sampling Functions: A set of accurate and computationally efficient puff sampling routines are
included in CALPUFF which solve many of the computational difficulties with applying a puff model to
near-field releases. For near-field applications during rapidly-varying meteorological conditions, an
elongated puff (slug) sampling function is used. An integrated puff approached is used during less
demanding conditions. Both techniques reproduce continuous plume results exactly under the appropriate
steady state conditions.
Wind Shear Effects: CALPUFF contains an optional puff splitting algorithm that allows vertical wind
shear effects across individual puffs to be simulated. Differential rates of dispersion and transport occur
1-24
Section 1: Introduction
on the puffs generated from the original puff, which under some conditions can substantially increase the
effective rate of horizontal growth of the plume.
Building Downwash: The Huber-Snyder and Schulman-Scire downwash models are both incorporated
into CALPUFF. An option is provided to use either model for all stacks, or make the choice on a stack-
by-stack and wind sector-by-wind sector basis. Both algorithms have been implemented in such a way as
to allow the use of wind direction specific building dimensions. The more advanced treatment of the
PRIME downwash model is also incorporated as an option. This includes treating representative
streamline patterns and diffusion rates in both the near and far wakes and recirculation effects in the
cavity zone.
Overwater and Coastal Interaction Effects: Because the CALMET meteorological model contains
both overwater and overland boundary layer algorithms, the effects of water bodies on plume transport,
dispersion, and deposition can be simulated with CALPUFF. The puff formulation of CALPUFF is
designed to handle spatial changes in meteorological and dispersion conditions, including the abrupt
changes that occur at the coastline of a major body of water. A subgrid TIBL option is also provided to
better resolve the relationship between the coastline and source locations during periods conducive to
onshore fumigation events.
Dispersion Coefficients: Several options are provided in CALPUFF for the computation of dispersion
coefficients, including the use of turbulence measurements (v and w ), the use of similarity theory to
estimate v and w from modeled surface heat and momentum fluxes, or the use of Pasquill-Gifford (PG)
or McElroy-Pooler (MP) dispersion coefficients, or dispersion equations based on the Complex Terrain
Dispersion Model (CDTM). Options are provided to apply an averaging time correction or surface
roughness length adjustments to the PG coefficients. When similarity theory is used to compute
turbulence-based dispersion coefficients, an option is also provided for a PDF treatment of dispersion in
the convective boundary layer.
1-25
Section 1: Introduction
Source types
Point sources (constant or variable emissions)
Line sources (constant or variable emissions)
Volume sources (constant or variable emissions)
Area sources (constant or variable emissions)
Plume rise
Partial penetration
Buoyant and momentum rise
Stack tip effects
Vertical wind shear
Building downwash effects
Building downwash
Huber-Snyder method
Schulman-Scire method
PRIME method
(Continued)
1-26
Section 1: Introduction
Dry Deposition
Gases and particulate matter
Three options:
- Full treatment of space and time variations of deposition with a resistance
model
- User-specified diurnal cycles for each pollutant
- No dry deposition
Wet Removal
Scavenging coefficient approach
Removal rate a function of precipitation intensity and precipitation type
1-27
Section 1: Introduction
The input data requirements of the CALMET model are summarized in Table 1-3. The modeling system
flow diagrams (Figures 1-1 through 1-4) provide an overview of the various input data sets required by
the model as well as the preprocessing steps used to produce them. CALMET is designed to require only
routinely-available surface and upper air meteorological observations, although special data inputs can be
accommodated. For example, twice-daily sounding data (e.g., at the standard sounding times of 00 and
12 GMT) are needed as a minimum, but if soundings at more frequent (even arbitrarily spaced) intervals
are available, they will be used by the model.
CALMET reads time-varying surface observations of wind speed, wind direction, temperature, cloud
cover, ceiling height, surface pressure, relative humidity, and precipitation type codes (optional, used only
if wet removal is to be modeled). Hourly measurements of these parameters are available from National
Weather Service surface stations. The preprocessors are designed to use data in the National Climatic
Data Center's (NCDC) standard data formats (e.g., CD-144 format for the surface data). However, the
data can also be input into the model by way of free-formatted, user-prepared files. This option is
provided to eliminate the need for running the preprocessors to prepare the data files for short CALMET
runs for which the input data can easily be input manually.
Missing values of temperature, cloud cover, ceiling height, surface pressure, and relative humidity at
surface stations are allowed by the program. The missing values are internally replaced by values at the
closest station with non-missing data. However, one valid value of each parameter must be available
from at least one station for each time period of the run. Missing values of the precipitation code are
passed through to the output file, since CALPUFF contains logic to handle missing values and CALGRID
does not use this parameter.
The upper air data required by CALMET include vertical profiles of wind speed, wind direction,
temperature, pressure, and elevation. As noted above, routinely-available NWS upper air data (e.g., in
TD-5600 and TD-6201 format) or non-standard sounding data can be used. The use of non-standard data
formats would require a user-prepared reformatting program to convert the data into the appropriate
CALMET format.
1-28
Section 1: Introduction
Hourly (or more frequent) observations of: Hourly (or more frequent) precipitation data:
- wind speed - precipitation rates
- wind direction - precipitation type code
- temperature (part of surface data file)
- cloud cover
- ceiling height
- surface pressure
- relative humidity
Twice-daily (or more frequent) vertical profiles of: Hourly gridded wind fields (optional)
- wind speed - MM4/MM5 output
- wind direction - NAM(Eta) output
- temperature - WRF output
- pressure - RUC output
- elevation - RAMS output
- CSUMM output
Geophysical Data
1-29
Section 1: Introduction
If the upper air wind speed, wind direction, or temperature is missing, CALMET will interpolate to
replace the missing data. Actually, the interpolation of wind data is performed with the u and v
components, so both the wind speed and direction must be present for either to be used. Because the
program does not extrapolate upper air data, the top valid level must be at or above the model domain and
the lowest (surface) level of the sounding must be valid.
For modeling applications involving overwater transport and dispersion, the CALMET boundary layer
model requires observations of the air-sea temperature difference, air temperature, relative humidity and
overwater mixing height (optional) at one or more observational sites. The model can accommodate
overwater data with arbitrary time resolution (e.g., sub-hourly, hourly, daily, or seasonal values). The
location of the overwater stations is allowed to vary in order to allow the use of observations made from
ships. CALMET optionally can use only land stations to calculate temperatures over land and only
overwater stations to calculate temperatures over water. If this option is used, vertical temperature lapse
rate information may be included at the overwater observational sites.
If the wet removal algorithm of the CALPUFF model is to be applied, CALMET can be made to produce
gridded fields of precipitation rates from precipitation observations. The routinely available NCDC
precipitation data in TD-3240 format or a free-formatted, user-prepared file of precipitation rates can be
used as input to CALMET.
CALMET also requires geophysical data including gridded fields of terrain elevations and land use
categories. Gridded fields of other geophysical parameters, if available, may be input to the model. The
optional inputs include surface roughness length, albedo, Bowen ratio, a soil heat flux parameter,
anthropogenic heat flux, and vegetation leaf area index. These parameters can be input as gridded fields
or specified as a function of land use. Default values relating the optional geophysical parameters to land
use categories are provided within CALMET.
As described in the previous section, CALMET contains an option to read as input gridded wind fields
produced by the prognostic wind field models. The CSUMM prognostic wind field model generates a file
called PROG.DAT which can be directly input into CALMET, or if using the MM4/MM5, NAM(Eta),
WRF, RUC, RAMS or TAPM derived data, a file called 3D.DAT (MM4.DAT is also accepted, but not
recommended) is required.
One of the options in CALMET is to by-pass the boundary layer model and compute only gridded wind
fields (i.e., produce U, V wind components only without the micro-meteorological variables such as
friction velocity, Monin-Obukhov length, etc.). Although the CALPUFF and CALGRID models cannot
be executed with such a file, there may be some applications in which only the wind components are of
interest. For example, a postprocessor (CAL2UAM) can be used to convert the CALMET winds into a
format suitable for input into the UAM model. If CALMET is to be run in this mode, an option is
provided to allow preprocessed surface and upper air observations to be input. The preprocessed input
file, DIAG.DAT, is compatible with the stand-alone version of the diagnostic wind field model developed
by Douglas and Kessler (1988).
1-30
Section 1: Introduction
CALMET reads the user's inputs from a "control file" with a default name of CALMET.INP. This file
contains the user's selections of the various model options, input variables, output options, etc.
The input data sets used by CALPUFF are summarized in Table 1-4 (also see the modeling system flow
diagram, Figure 1-1). CALPUFF reads user inputs from a "control file" with a default name of
CALPUFF.INP. This file contains the user's selections for the various model options, technical input
variables, output options, and other user-controllable options.
A meteorological data file (CALMET.DAT) contains hourly or sub-hourly gridded fields of micro-
meteorological parameters and three-dimensional wind and temperature fields. The meteorological data
file also contains geophysical data such as terrain heights and land use which are required by both the
meteorological model (e.g., for terrain adjustment of the wind fields) and by the CALPUFF model. The
contents of the CALMET.DAT input file and the other input data bases are summarized in Table 1-5.
Options also exist for using single-station meteorological data in ISCST3, CTDMPLUS, AERMOD, or
AUSPLUME data format.
Five files are provided for the input of emissions data. The control file, CALPUFF.INP includes point,
line, volume and area source data for sources with constant emission parameters or those that can be
described by a cycle based on time of day (24 factors), month (12 factors), hour and season (24 x 4
factors), wind speed and stability class (6 x 6 factors), or temperature (12 factors). Separate scaling
factors can be specified for each source-species combination. Arbitrarily-varying source data may be
provided in files for point sources (default name PTEMARB.DAT), area sources (default name
BAEMARB.DAT), line sources (default name LNEMARB.DAT), and volume sources (default name
VOLEMARB.DAT).
Hourly or sub-hourly observations of ozone data are used in the calculation of SO2 and NOx
transformation rates if the MESOPUFF II chemical transformation scheme is selected. Ozone data for
one or more ozone stations are read from a data file called OZONE.DAT.
1-31
Section 1: Introduction
RESTARTB.DAT Input restart file containing a dump of all puff parameters IO3 Unformatted
sufficient to allow a model run to continue (optional)
or
ISCMET.DAT Single-station ASCII meteorological data in ISCST3-format IO7 Formatted
or
PLMMET.DAT Single-station ASCII meteorological data in AUSPLUME IO7 Formatted
format
PTEMARB.DAT Source and emissions data for point sources with arbitrarily- IO16 Formatted or
varying emission parameters (optional) unformatted
BAEMARB.DAT Emissions data for area sources with arbitrarily-varying IO17 Formatted
emission parameters. Can be derived from EPM model files
(optional)
VOLEMARB.DAT Emissions data for volume sources with arbitrarily- varying IO18 Formatted or
emission parameters (optional) unformatted
LNEMARB.DAT Emission data for line sources with arbitrarily-varying line I019 Formatted
source emissions (optional)
1-32
Section 1: Introduction
* Variable shown is the parameter controlling the FORTRAN unit number associated with the file. Usually, the
value assigned to the parameter is consistent with the name (i.e., IO7 = 7). However, the value can be easily
changed in the parameter file to accommodate reserved unit numbers on a particular system.
1-33
Section 1: Introduction
1-34
Section 1: Introduction
(Continued)
1-35
Section 1: Introduction
Model puff data generated from a previous run (allows continuation of a previous model run)
1-36
Section 1: Introduction
(Continued)
1-37
Section 1: Introduction
1-38
Section 1: Introduction
1-39
Section 1: Introduction
Because of the similarity between CTDMPLUS and the CTSG option within CALPUFF, an input option
is provided for hill data and the associated receptor data in files produced for CTDMPLUS. These files,
HILL.DAT and HILLRCT.DAT can be read by CALPUFF without modification, to specify all CTSG
input requirements.
Two additional input files, VD.DAT and CHEM.DAT, contain diurnal cycles of user-specified deposition
velocities and chemical transformation rates, respectively. These files are necessary only if the user
wishes to substitute the values normally computed internally by the deposition and chemical models with
sets of time-varying but spatially-uniform externally specified values.
The optional input file, PROFILE.DAT in the CTDMPLUS or AERMOD format can also be used to
provide vertical profiles of observations of v and w. These parameters can be used to compute the
plume dispersion coefficients y and z.
CALPUFF can continue a previous simulation using an optional restart file (RESTARTB.DAT). The
restart file contains all of the puff variables at the end of the previous run needed to allow the model to
continue the simulation. The restart file used as input of a continuation run must be generated as the
output restart file in the previous CALPUFF simulation. The restart file is an optional file.
CALPUFF contains a subgrid scale coastal effects module that allows a parameterization of the Thermal
Internal Boundary Layer (TIBL) at scales smaller than the grid spacing. The user inputs the X,Y
coordinates of one or more coastlines in an optional file called COASTLN.DAT.
1-40
Section 1: Introduction
The CALPUFF output files are summarized in Table 1-6. The list file contains a copy of the inputs used
in the run, optional output fields of gridded and discrete receptor concentrations, wet deposition fluxes,
and dry deposition fluxes and other run data. The CONC.DAT, WFLX.DAT, and DFLX.DAT files
contain the output concentrations, wet and dry fluxes, respectively, in an unformatted form suitable for
further processing by the postprocessing program, CALPOST. The VISB.DAT file contains relative
humidity information which is required by CALPOST in order to perform certain visibility-related
computations. The model can generate an optional output restart file (RESTARTE.DAT) containing all
the puff parameters needed to continue the CALPUFF simulation. The output restart file can be
generated at regular intervals of the simulation to protect against loss of the simulation resulting from
power failures or other interruptions. The output restart file of a run serves as the input restart file of the
next (continuation) run.
Three additional files may be produced for diagnostic purposes. When CALPUFF is run with the debug
switch set to true, much information about specific puffs is written to the list file for specific sampling
steps. Summary information for these puffs is also written to the file DEBUG.DAT. Because of the
volume of information written to list file, the debug option is generally used for very short periods.
Options to characterize changes in pollutant mass report results to the files MASSFLX.DAT and
1-41
Section 1: Introduction
RESTARTE.DAT Output restart file containing a dump of all puff IO4 Unformatted
parameters sufficient to allow a model run to continue
(optional)
CALPUFF.LST List file produced by CALPUFF IO6 Formatted
CONC.DAT Time-averaged concentrations (g/m3) at the gridded IO8 Unformatted
and discrete receptors for species selected by the user
in the control file (optional)
DFLX.DAT Time-averaged dry deposition fluxes (g/m2/s) at the IO9 Unformatted
gridded and discrete receptors for species selected by
the user in the control file (optional)
WFLX.DAT Time-averaged wet deposition fluxes (g/m2/s) at the IO10 Unformatted
gridded and discrete receptors for species selected by
the user in the control file (optional)
VISB.DAT Relative humidity data required for visibility-related IO11 Unformatted
postprocessing (optional)
TK2D.DAT 2D temperature output file IO13 Unformatted
RHO2D.DAT 2D density output file IO14 Unformatted
FOG.DAT Water saturation information at receptors for use with IO12 Unformatted
fog analysis postprocessors (optional)
DEBUG.DAT Tables of detailed puff/slug data useful for debugging IO30 Formatted
(optional)
MASSFLX.DAT Mass flux into and out of regions defined by the IO36 Formatted
boundaries in the FLUXBDY.DAT file, each timestep
MASSBAL.DAT Changes in mass of all species modeled, each IO37 Formatted
timestep
QATERR.GRD gridded terrain elevations (mMSL) in SURFER GRD IOQA Formatted
format, created when CALMET.DAT is used with
variable topography
QALUSE.GRD gridded land use in SURFER GRD format, created IOQA Formatted
when CALMET.DAT is used
1-42
Section 1: Introduction
QARECG.DAT x,y coordinates (km), and elevation (m) of gridded IOQA Formatted
receptors, created only when gridded receptors are
used (LSAMP=T)
QARECT.DAT x,y coordinates (km), and elevation (m) of CTSG IOQA Formatted
receptors, created only when CTSG receptors are used
(NCTREC>0)
QAPNTS.DAT x,y coordinates (km), elevation (m), and source index IOQA Formatted
of point sources, created only when point sources are
used
QAVOLS.DAT x,y coordinates (km), elevation (m), and source index IOQA Formatted
of volume sources, created only when volume sources
are used
QAAREA.BNA outlines (km) for area sources, in Atlas Boundary File IOQA Formatted
format, created only when area sources are used
QALINE.BNA segments (km) for buoyant line sources, in Atlas IOQA Formatted
Boundary File format, created only when line sources
are used
LUSE.CLR Default land-use color map file for SURFER, always IOQA Formatted
created
* Variable shown is the parameter controlling the FORTRAN unit number associated with the
file. Usually, the value assigned to the parameter is consistent with the name (i.e., IO8 = 8).
However, the value can be easily changed in the parameter file to accommodate reserved unit
numbers on a particular system.
1-43
Section 1: Introduction
1-44
Section 1: Introduction
MASSBAL.DAT. MASSFLX.DAT reports the mass of selected species that cross into and out of regions
defined by the user in the file FLUXBDY.DAT. MASSBAL.DAT reports changes in the mass of all
modeled species throughout the modeling domain.
A sequence of QA files is produced during the setup phase of a run. These are designed to allow a user
to make one or more maps displaying geographical aspects of the run, including the modeling domain,
terrain elevations, gridded land use, source locations, and receptor locations. Maps of this type convey
the key spatial relationships of the model application.
Computer Requirements
The memory management scheme used in CALMET and CALPUFF is designed to allow the maximum
array dimensions in the model to be easily adjusted to match the requirements of a particular application.
An external parameter file contains the maximum array size for all of the major arrays. A re-sizing of the
program can be accomplished by modifying the appropriate variable or variables in the parameter file and
re-compiling the program. All appropriate arrays in the model will be automatically re-sized by the
updated parameter values. For example, the maximum number of horizontal grid cells allowed in the
model, MXNX and MXNY, are two of the variables which can be adjusted within the parameter file.
However, no change to the parameter file is necessary if a particular application requires a smaller array
size than the maximum values specified in the parameter file.
The memory management scheme used in CALMET and CALPUFF is designed to allow the maximum
array dimensions in the model to be easily adjusted to match the requirements of a particular application.
An external parameter file contains the maximum array size for all of the major arrays. A re-sizing of the
program can be accomplished by modifying the appropriate variable or variables in the parameter file and
re-compiling the program. All appropriate arrays in the model will be automatically re-sized by the
updated parameter values. For example, the maximum number of horizontal grid cells allowed in the
model, MXNX and MXNY, are two of the variables which can be adjusted within the parameter file.
However, no change to the parameter file is necessary if a particular application requires a smaller array
size than the maximum values specified in the parameter file.
The memory required by CALPUFF will be a strong function of the specified maximum array dimensions
in the parameter file. However, as an example, CALPUFF required approximately 300 K bytes of
memory for a test run with a 10 x 10 horizontal grid, with 5 vertical layers, and a maximum number of
puffs of 100. This type of configuration may be suitable for ISC-mode simulations of a small number of
point sources. For more typical studies, memory requirements will typically be at least 32 megabytes,
with more required for simulations involving large numbers of sources.
The run time of CALPUFF will vary considerably depending on the model application. Variations of
factors of 10-100 are likely depending of the size of the domain, the number of sources, selection of
1-45
Section 1: Introduction
technical options, and meteorological variables such as the mean wind speed. Because each puff is
treated independently, any factor which influences the number and residence time of puffs on the
computational grid, and the model sampling time step will affect the run time of the model. As an
example of the range of runtimes, an annual simulation of CALPUFF in ISC-mode for 2 sources and 64
receptors required less than one minute on a 500 MHz PC. A visibility application involving 218 sources
and 425 receptors for an annual period required approximately 9 hours of runtime for CALMET and 95
hours for CALPUFF.
Program Execution
CALPUFF (Version 4.0 and above) can be executed with the following DOS command line:
CALPUFF filename
where it is assumed that the executable file is called CALPUFF.EXE and the "filename" is the name of
the file (up to 70 characters in length) containing all of the input information for the run. The default
input file name is CALPUFF.INP. The first input group in CALPUFF.INP contains all of the other input
and output (I/O) filenames used in the run. Within this group the user can change the name of any of the
input and output files from their default names, and change the directory from which the files will be
accessed by specifying the file's full pathname.
Similarly, CALMET (Version 3.0 and above) can be executed with the following DOS command line:
CALMET filename
where the default input filename is CALMET.INP, and the executable file is assumed to be called
CALMET.EXE.
1-46
Section 2: Geophysical Data Processors
The GEO.DAT data file contains the geophysical data inputs required by the CALMET model. These
inputs include land use type, elevation, surface parameters (surface roughness length, albedo, Bowen
ratio, soil heat flux parameter, and vegetation leaf area index) and anthropogenic heat flux. The land use
and elevation data are entered as gridded fields. The surface parameters and anthropogenic heat flux can
be entered either as gridded fields or computed from the land use data at each grid point. A series of
programs have been developed to process the terrain and land use data and produce a GEO.DAT file
containing gridded fields of terrain, land use, and land use weighted fields of surface parameters and heat
flux. Creating the GEO.DAT is a three step process. The first two steps involve processing the relevant
terrain and land use data and then, in the third step, the processed files are combined into a final file
(GEO.DAT) that can be read by CALMET. The following preprocessors are used to generate a
GEO.DAT file:
CTGPROC is a land use preprocessor which reads the following datasets; (1) compressed
Composite Theme Grid (CTG) land use data, (2) USGS Global LU Dataset, (3)
National Land Cover Data set, (4) a generic format where specific Land Use
categories are mapped internally to USGS Land Use categories and (5) a
second generic format which allows the user to use any Land Use categories
and map accordingly. CTGPROC computes the fractional land use for each
grid cell in the user-specified modeling domain. If required, the preprocessor
CTGCOMP, can first be used to compress the data file format of a USGS land
use data file in Composite Theme Grid (CTG) format prior to using
CTGPROC.
MAKEGEO is the final preprocessor which reads the fractional land use data, user inputs
which define land use category mapping, and values relating each of the surface
parameters to land use and optionally, the gridded terrain file, and produces a
GEO.DAT file ready for input to CALMET. Note: if the gridded terrain data
file is not incorporated into MAKEGEO, it must be hand-edited into the
GEO.DAT file before running CALMET.
The complete process is illustrated in Figure 2-1 and further described in the following sections.
2-1CALPUFF_Version6_UserInstructions.doc
Section 2: Geophysical Data Processors
TERREL is a preprocessing program that extracts and reformats Digital Elevation Model (DEM) terrain
data according to the options selected by the user (domain, resolution, etc.). Eleven DEM formats are
currently supported. TERREL has the ability to produce Cartesian gridded fields of terrain elevations or a
polar grid of terrain elevations. For the Cartesian gridded field option, TERREL averages all of the
terrain data points which fall within the grid cell to obtain the elevation assigned to the center of the user-
specified grid cell. When using the polar grid option, TERREL uses the maximum terrain elevation in the
area either from the current ring out to the next ring (user input switch - SCREEN) or halfway between
adjacent rings (user input switch - NORMAL) and halfway between the adjacent radials. TERREL can
produce terrain data files in the formats compatible with the following models: CALMET, MESOPAC,
NUATMOS, and ISC3. TERREL requires at least one input file and produces four output files.
TERREL can first be run without any data files and the program will indicate for the user the latitude and
longitude of the four corners of the area required to cover the user-specified domain. A message indicates
how many terrain data files of each type are required based on the domain parameters supplied by the
user. This is helpful, for example, when only UTM coordinates are known, but not the latitude and
longitude of the corners of the modeling domain. Once the appropriate data files are obtained, the
TERREL input file must be modified to reflect the names and types of the data files and TERREL must
be run again to process the terrain data. This could be done in one run or as an iterative process, where
intermediate results are stored in a binary file (e.g., TERREL.SAV) and incorporated into the next
TERREL run using the next set of digital terrain input data. The .SAV file option is helpful if the user
doesn't have the available disk space to store all of the raw terrain files at once.
TERREL has an input (ITHRES) which is used for quality assurance purposes. ITHRES is a whole
number (%) identifying the acceptable threshold of variance from the average number of data points
('hits') per cell. If a particular grid cell had less than ITHRES percent of the average number of data 'hits'
per cell, a warning message is written to alert the user to check the results. If using a mix of 1-degree
DEM data and 30 meter DEM data, the grid cells using the 30 meter data will have many more 'hits' than
the 1-degree DEM grid cells. The user might want to adjust the value of ITHRES to reduce the number
of warning messages written.
TERREL has the option (variable PMAP) to define the gridded output fields for a number of map
projections. Note that CALMET currently supports Universal Transverse Mercator (UTM) grid,
Lambert Conformal Projection (LCC) and Tangential Transverse Mercator (TTM). Lambert Conformal
Projection should be used when the modeling domain is large, (> 300 km), because a Lambert Conformal
grid accounts for the earth's curvature. If the LCC option is specified, TERREL uses the user-specified
standard parallels (latitudes) and reference longitude to calculate a "cone constant" and the east-west
distance from the reference longitude. The reference longitude is the longitude at which true north and
map north are defined to be the same. It also defines where x=0 in the Lambert Conformal grid. The
reference latitude defines where y=0 in the Lambert Conformal grid.
2-3
Section 2: Geophysical Data Processors
TERREL INPUT:
1. Terrain Database: Table 2-1 defines the types of terrain databases which can be processed by
TERREL. Eleven types of terrain data can be read, corresponding to different resolutions and
formats: 30 arc-seconds (900 m spacing, GTOPO30, USGSLA, or ARM3 format), 3 arc-seconds
(90m spacing, USGS DEM, SRTM3, or Rocky Mtn. Communications (3CD) format), 1 arc-second
(30m spacing, SRTM1 format), 30 meters (7.5 minute USGS DEM format), and Canadian Digital
Map Data Format (DMDF) data (~100 m resolution). Two are generic formats, one based on a
system used in New Zealand (NZGEN), based on row#, elevation (m), latitude, longitude and one
designed to enable a user to reformat existing gridded terrain files into a simple format for TERREL
(GEN) based on (X, Y, Z) format. The terrain data ordered from the USGS can be obtained through
file transfer protocol (FTP) access, on CD-ROM, or on magnetic tape, or follow the direct links from
www.src.com. Attachment 2-A contains a complete description of the USGS Digital Elevation
Models taken fromhttp://eros.usgs.gov/#/Guides/dem.Attachment 2-G describes the Canadian
DMDF format and Attachment 2-B describes the SRTM format.
2. Obtaining the Data: Links to downloading all the terrain data can be found on
http://www.src.com/datasets/. 3 arc-second terrain data are also available from the USGS site
(http://edc2.usgs.gov/geodata/ )with file names corresponding to the 1:250,000-scale map names
followed by -e or -w for the eastern and western portions respectively. In some regions, 30m data are
also available with the names corresponding to the 1:100,000-scale map names. The user must first
identify the names of the quadrants encompassed by the domain. A copy of the USGS website is
provided in Attachment 2-C.
The Shuttle RADAR Topography Mission (SRTM) data are available in 1arc-second (30m), 3 arc-
second (90m), and 30arc-second (1000m) resolutions. The 30 arc-second data are combined with the
GTOPO30 data and processed by TERREL in the same way as the GTOPO30 data, so these data files
should be presented as GTOPO30. The 1 and 3 arc-second data files must be processed as type
SRTM1 and SRTM3, respectively. The SRTM data are available from links to the USGS site directly
from the ASG website at http://www.src.com/datasets/datasets_terrain.html documentation is
available at the Jet Propulsion laboratory, California Institute of Technology, at
http://www2.jpl.nasa.gov/srtm/and is included in Attachment 2-B.
30 arc-second terrain data for the globe are available from the USGS WWW site:
(http://eros.usgs.gov/#/Find_Data/Products_and_Data_Available/GTOPO30).
2-4
Section 2: Geophysical Data Processors
2-5
Section 2: Geophysical Data Processors
The GTOPO30 data set is divided into files (or tiles), where each file covers 40 degrees of longitude and
50 degrees of latitude, except for in the Antarctica region where each file covers 60 degrees of longitude
and 30 degrees of latitude.
Figure 2-2 shows the spatial coverage of the data files. Each file is either 57,600,000 (non-Antarctica) or
51,840,000 bytes (Antarctica) in size. These DEM data are provided in 16-bit signed integers in a simple
binary raster, with no imbedded header or trailer bytes and no internal indexing. The data are stored in
Motorola byte order, which stores the most significant byte first, i.e., big endian. The Motorola, SUN,
HP, and SGI platforms use big endian; whereas the Intel (PC) and DEC platforms use little endian.
Therefore, the user must be careful regarding the intended platform for TERREL. The code uses a logical
flag, LBIGENDIAN (set in subroutine SETGLOB), to define whether the intended platform is big endian
or little endian. LBIGENDIAN=.FALSE. is for little endian, and LBIGENDIAN=.TRUE. is for big
endian. The flag enables the porting of TERREL across different machine platforms.
3. User control file (TERREL.INP): this input file specifies the filenames and type of databases being
processed and the modeling domain related parameters. The format of the TERREL 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!). A sample file is shown in Table 2-2 and a description of each input
variable is provided in Table 2-3. Detailed information on the input variables is included in the
default input file itself.
4. Save file: this input data file contains the binary results from an intermediate run of TERREL. It is
read as input to the current run.
TERREL OUTPUT:
1. List File: echoes the selected options, reports errors and provides a listing of the gridded terrain
elevations and the number of raw data points ('hits') used to compute the terrain elevation for each
grid cell (e.g., TERREL.LST).
2. Plot File: can be read directlyCALPros CALVIEW or by a contouring software package such as
SURFER (e.g., TERREL.GRD).
2-6
Section 2: Geophysical Data Processors
4. Terrain Elevation Output File: an ASCII file in the format specified by the user. For example,
choosing the model option 'CALMET' produces a gridded terrain file which can be directly read by
MAKEGEO (e.g., TERREL.DAT) for use in CALMET.
2-7
Section 2: Geophysical Data Processors
-------------------------------------------------------------------------------
-------------------------------------------------------------------------------
-------------
Subgroup (0a)
-------------
2-8
Section 2: Geophysical Data Processors
--------------------------------------------------------------------------
Raw elevation data from the database file(s) can be echoed to an ASCII
file (defined above as RAWECHO.DAT). X and Y coordinates are in grid
units (km), and elevations are unfiltered.
(LRAWECHO) Default: F ! LRAWECHO = T !
!END!
2-9
Section 2: Geophysical Data Processors
-------------
Subgroup (0b)
-------------
-------------
Subgroup (0c)
-------------
Datum-Region
------------
The Datum-Region for coordinates in each of the input Terrain Data Files
may be identified in the header records of the file. Check the file
documentation and change these defaults if needed. The list of Datum-Regions
with official transformation parameters provided by the National Imagery and
Mapping Agency (NIMA).
!END!
2-10
Section 2: Geophysical Data Processors
--------------------------------------------------------------------------------
2-11
Section 2: Geophysical Data Processors
Search radius (km) about each (X,Y) for locating terrain peak
or for carrying out interpolation
(Used only if LXY=T)
(XYRADKM) No Default ! XYRADKM = 0.15 !
Some terrain data sets contain void areas where the data are
missing. Others may contain areas where data are inaccurate (noisy).
Both situations occur mostly over oceans or large lakes, but for SRTM
data it can also occur over land due to the data set still evolving.
These void (missing) or noisy input data can be replaced in several
ways.
2-12
Section 2: Geophysical Data Processors
latter option is best used only for oceans and lakes. For oceans
and lakes it is also possible to not use extracted elevations but
only use the default.
2-13
Section 2: Geophysical Data Processors
Coastline data are accepted in the form of either the USGS Global
Self-consistent Hierarchical High-resolution Shoreline (GSHHS) Database
file, or a BLN file produced in a previous application for the modeling
domain (it must have correct grid limits and polygon headers). The
processed coastline (BLN) file for the domain is automatically created
when the GSHHS database is input. No BLN is created when an existing
BLN file is input.
| |mainland |
| |& marine |
|ocean |islands |
------ --------- -
! INOISEREP = 0, 0 !
! ZNOISE = 0., 1. !
| |mainland |
| |& marine |
|ocean |islands |
------ --------- -
! ITERREP = 3, 0 !
! TERDEF = 0., 0. !
2-14
Section 2: Geophysical Data Processors
Terrain data may be prepared for one of several models, and the
structure of the output data file varies accordingly.
Warnings are posted to the list file if grid cells contain fewer
data points than ITHRES(%) of the mean for all cells. Such a
warning may indicate that insufficient data coverage is provided by
the terrain data files that are processed.
Several data file types contain elevation data that are stored at a fixed
interval of latitude and longitude in fractional degrees. Prior to
TERREL v3.69 the method employed to map the (latitude,longitude) locations
to the output grid coordinates (x,y) transformed the coordinates at the
4 corners of a data-sheet (e.g., a 1-degree square), and then interpolated
the interior points between these. The method introduced in TERREL v3.69
transforms the location of each individual data point read from the file.
Either method may be selected using MSHEET. Datasets affected include:
USGS90 USGS 1-deg DEM files (~90m)
ARM3 ARM3 terrain data files(~900m)
3CD 3CD (binary) 1-deg DEM files (~90m)
CDED Canadian DEM files (3 and 0.75 arcsec)
SRTM1 1-sec Shuttle RADAR Topo Mission files (~30m)
SRTM3 3-sec Shuttle RADAR Topo Mission files (~90m)
GTOPO30 GTOPO30 30-sec data (~900m)
--------------------------------------------------------------------------------
INPUT GROUP: 2 -- Map Projection and Grid Information for Output
--------------
Projection
----------
2-15
Section 2: Geophysical Data Processors
PS : Polar Stereographic
EM : Equatorial Mercator
LAZA: Lambert Azimuthal Equal Area
2-16
Section 2: Geophysical Data Processors
LCC : Projection cone slices through Earth's surface at RLAT1 and RLAT2
PS : Projection plane slices through Earth at RLAT1
(RLAT2 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
------------
Grid
----
Grid type
(IGRID) Default: 1 ! IGRID = 1 !
1 = Cartesian, with reference point at Lower Left CORNER
of cell (1,1) --- CALMET Convention ---
2 = Cartesian, with reference point at CENTER of cell (1,1)
3 = Polar, with reference point at center of rings
----------
Note: cell (1,1) is at the SW corner of the grid
2-17
Section 2: Geophysical Data Processors
in Input Group 3
(Used only if IGRID=3)
No. of rings (NRING) No default ! NRING = 0 !
No. of radials (NRAYS) No default ! NRAYS = 0 !
--------------------------------------------------------------------------------
INPUT GROUP: 3 -- Polar Grid Ring Distances (km) and Ray Angles (deg)
--------------
--------------------------------------------------------------------------------
NIMA Datum-Regions (Documentation Section)
--------------------------------------------------------------------------------
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
2-18
Section 2: Geophysical Data Processors
2-19
Section 2: Geophysical Data Processors
USGS90
(0b) character*70 Assignment of input data file names of type
USGS30
USGS90, ARM3,
ARM3
3CD (as many lines as the number of files of
DMDF each type the total number must be
CDED NTDF)
SRTM1
SRTM3
GTOPO30
USGSLA
NZGEN
GEN
GEOTIFF
2-20
Section 2: Geophysical Data Processors
2-21
Section 2: Geophysical Data Processors
2-22
Section 2: Geophysical Data Processors
2-23
Section 2: Geophysical Data Processors
2-24
Section 2: Geophysical Data Processors
2-25
Section 2: Geophysical Data Processors
(3) DISKM Real (nring Distance of concentric rings for polar grid
lines) (km). Read only if IGRID=3.
ANGDEG real (nray Polar grid radials (degrees). Read only if
lines) IGRID=3.
2-26
Section 2: Geophysical Data Processors
This section explains how to obtain and process Land Use data. CTGPROC, the Land Use pre-processor
currently supports 5 different formats of Land Use data. The USGS Land Use and Land Cover data in
Composite Theme Grid (CTG) format, the USGS Global Data Format, two generic formats and, the US
National Land Cover Dataset 1992 (NLCD92).
Composite Theme Grid (CTG) Land Use and Land Cover (LULC) data. CTG files are sequential ASCII
files which consist of five header records and then one grid cell per logical record. The land use code is
defined at the center point of each cell which are usually spaced 200 meters apart in both east-west and
north-south directions. The points are oriented to the UTM projection. Because these files were
historically seen to be quite large (~ 38 MB for one quadrant), the first step in processing these land use
data was to compress the data file (CTGCOMP) and then to work (CTGPROC) with the much smaller
compressed file (~ 0.5 MB). However, this step is often ignored now since computers are easily able to
handle many large file sizes at a time.
USGS Global Data Format. USGS Global Land Use. The US Geological Survey (USGS), the University
of Nebraska-Lincoln, and the European Commissions Joint Research Centre have generated a 1-km
resolution Global Land Cover Characteristics database. Data base is available in Lambert Azimuthal
Equal Area, has a 1-km nominal spatial resolution, and are based on 1-km Advanced Very High
Resolution Radiometer (AVHRR) data spanning April 1992 through March 1993.
Generic formats. CTGPROC is able to process two different formats of Generic Data. The first Generic
data format, reads the data in the form of, Land Use category, latitude and longitude in a comma
delimited format. Numeric values of Land Use are not random and specific values need to be provided
whereafter an internal translation table converts the input data codes to the USGS codes used by the
model. The second type of generic data format allows random Land Use input data and allows the user to
map each Land Use category to specific surface parameters, that do not have to use the USGS defaults in
the model.
National Land Cover Dataset 1992 (NLCD 1992). This dataset was derived from the early to mid-1990s
Landsat Thematic Mapper satellite data, the NLCD is a 21-class land cover classification scheme applied
consistently over the United States. The spatial resolution is 30 meters and mapped in the Albers Conic
Equal Area projection, NAD-83.
Follow the links on www.src.com for the Global Land Cover Database Land Use and Land Cover Data
are available from the USGS at the 1:250,000-scale with file names corresponding to the 1:250,000-scale
2-27
Section 2: Geophysical Data Processors
map names. In some regions, land use data are also available at the 1:100,000-scale. Land use and land
cover types are divided into 37 categories. A description of the USGS LULC data is provided in
Attachment 2-B.
The user must first identify the names of the quadrants encompassed by the domain. These names are
listed in a USGS map index as well as on the WWW home page of the USGS. A copy of the USGS
webpage is provided in Attachment 2-C. Select the 250K FTP via Graphics in the LULC section to
view a map of the US and the names of the quadrants.
Follow the links on www.src.com for the USGS CTG Land Use/Land Cover (LULC) data. The LULC
data consists of historical land use and land cover classification data that was based primarily on the
manual interpretation of 1970s and 1980s aerial photography. Secondary sources included land use
maps and surveys. A copy of the webpage is shown in Attachment 2-E and a copy of the readme file for
the 1:250,000 maps is shown in Attachment 2-F. Note that the CTG files (named grid_cell) do not
contain record delimiters; the latter must be added as described in Attachment 2-E for the GIRAS files.
CTG LULC data are available by anonymous ftp from: edcftp.cr.usgs.gov, or can be downloaded from
the WWW site: http://edcftp.cr.usgs.gov/pub/data/LULC. FTP File Access information is presented in
Attachment 2-E.
CTGPROC supports two types of generic data formats where the Land Use data does not conform to
eitherNLCD, USGS CTG or global Land Use cover. The formats of these files are described in more
depth in Section 2.2.4. The first data set is of the form; row number, Land Use category, latitude
(negative for Southern Hemisphere) and, longitude (negative for Western Hemisphere). This data set uses
non-random Land Use categories which are mapped to the USGS categories. The second data set is of
the form; Land Use category, longitude (negative for Western Hemisphere) and, latitude (positive for
Northern Hemisphere). This data set uses random Land Use categories and the user can map the random
Land Use values to the appropriate default or user defined surface parameters independently of the
models default USGS categories.
Follow the links on www.src.com for the 1992 National Land Cover Dataset (NLCD). Then click on the
link Click here to link to the NLCD 92 data by state which takes you to
(http://edcftp.cr.usgs.gov/pub/data/landcover/states/) . The data are distributed on a state by state basis.
The NLCD data have been compressed using gzip utility and are stored as generic binary flat files.
2-28
Section 2: Geophysical Data Processors
These files are directly compatible with the CALPro GUI. A description of the NLCD data set is easily
accessed from http://landcover.usgs.gov/natllandcover.php.
CTG LULC data files retrieved from the ftp/web sites are ASCII files which are quite large, and it is
useful to compress the data. CTGCOMP reads an uncompressed CTG file and produces a compressed
CTG file. Both files are in ASCII format. Table 2-4 gives details of this file format.
CTGCOMP requires an input file called "CTGCOMP.INP" in which the user specifies the uncompressed
CTG land use data file name and the compressed output file name. A list file (CTGCOMP.LST) is
created which echoes the header records of the land use data file and provides summary information about
the run. CTGCOMP must be run for each CTG data file. CTGCOMP.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 the geophysical preprocessors (CALPRO).
CTGPROC currently supports five different formats of Land Use data. The USGS Land Use and Land
Cover data in Composite Theme Grid (CTG) format, the USGS Global Data Format, two generic formats
and, the National Land Cover Dataset 1992 (NLCD92).
CTGPROC is able to process multiple files in one run and from more than one data set in a single run.
However, there is also the option to perform multiple applications of CTGPROC, a typical example may
be insufficient hard drive space to store all large ASCII Land Use files. When this option is invoked all
runs must be written in a continuation format, except for the final run which must be written in the
fractional Land Use format that MAKEGEO expects as input.
CALMET grid cells are often large enough to include more than one land use data point: CTGPROC
keeps track of the number of process 'hits' of each land use category for each grid cell and in the final run
of an iteration compiles final fractional land use categories for each grid cell. A hit is a Land Use
datapoint from one of the Land Use datasets that falls within a grid cell defined by CTGPROC. If the
number of hits for a given grid cell is less than a user-specified threshold of the domain average number
of hits, the program flags possibly missing data in a list file (or possibly incorrectly specified domain
parameters).
Input: The user can access the user input control file of CTGPROC through the Geophysical Data on
the front screen of the CALPro GUI. The control file can either be created from within the GUI or
independently using an editor. The user control input file, CTGPROC.INP (whose grid definition
parameters must be compatible with those used in TERREL), and one or more of a compressed CTG data
file, global data file, NLCD data file or generic format file must be read. The format of the CTGPROC
control input file follows the same rules as those used in the CALMET.INP file (refer to the CALMET
2-29
Section 2: Geophysical Data Processors
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!). If the user wants to first compress the CTG Land Use data files (seldom
used), the compressing utility, CTGCOMP.INP may be created/edited directly using a conventional
editor, or it may be created/edited indirectly by means of the CALPro GUI. The PC-based, Windows-
compatible Graphical User Interface (GUI) developed for the geophysical preprocessors. An example of
the input file and a description of the input variables are shown in Tables 2-5 and 2-6, respectively.
Output: a list file (CTGPROC.LST), and a gridded land use data file. A sample list file is shown in Table
2-7.
2.2.4 Generic Land Use Data set (non random Land Use categories mapped to USGS defaults)
A generic data set of the form; row number, Land Use category, latitude (negative for Southern
Hemisphere), longitude (negative for Western Hemisphere), can be created by the user if own Land Use
data is used, regardless of Land Use resolution. The program CTGPROC converts the latitude and
longitude information into grid kilometers and converts the Land Use categories detailed in Table 2-9 into
the equivalent USGS directly suitable for CALMET. A sample Generic Land Use data file is included in
Table 2-10 and the internal translation table that maps the non-random LU categories to the model default
USGS categories is shown in Table 2-11.
2.2.5 Generic Land Use Data set (random Land Use categories not mapped to USGS defaults)
A generic data set of the form; Land Use category, longitude (negative for Western Hemisphere), latitude
(negative for Southern Hemisphere), can be created by the user if own Land Use data is used, regardless
of Land Use resolution. The program CTGPROC converts the latitude and longitude information into grid
kilometers and reads random Land Use categories to compute the fractional Land Use per cell. A sample
Generic Land Use data file is included in Table 2-13and file inputs described in Table 2-12.
The user is required to map the unique random Land Use categories to surface parameters, albedo,
roughness length, Bowen ratio, leaf area index and anthropogenic heat flux in MAKEGEO.
2-30
Section 2: Geophysical Data Processors
-------------------------------------------------------------------------------
USGS Composite Theme Grid (CTG) format Land Use and Land Cover
(LULC) data files must be compressed prior to use in the CTGPROC
utility processor. Use CTGCOMP to compress the data file.
-------------------------------------------------------------------------------
--------------------------------------------------------------------------------
All file names will be converted to lower case if LCFILES = T
Otherwise, if LCFILES = F, file names will be converted to UPPER CASE
!END!
2-31
Section 2: Geophysical Data Processors
CTGPROC reads a Land Use and Land Cover (LULC) data file and determines
fractional land use for each grid cell in a user-specified gridded
domain. If the domain requires multiple files, CTGPROC is applied
iteratively (continuation option) to build the land use grid
incrementally. The LULC file must be either a compressed USGS
Composite Theme Grid (CTG) format (available for the U.S.), a
USGS Global format, or the New Zealand Generic format.
-------------------------------------------------------------------------------
INPUT GROUP: 0 -- Input and Output Files
--------------
-------------
Subgroup (0a)
-------------
!END!
-------------
Subgroup (0b)
-------------
2-32
Section 2: Geophysical Data Processors
2-33
Section 2: Geophysical Data Processors
--------------------------------------------------------------------------------
Control for distributing input land use within its cell to improve
the sampling density. A mesh density greater than one is used to
split each input cell into a finer grid of cells. A density of 2
creates 2 cells per side; 3 creates 3 cells per side. The input
land use is assigned to the center of each of the new cells.
Specify a mesh density for CTG and USGS GLAZ file types:
(MESHCTG) Default=1 ! MESHCTG = 1 !
(MESHGLAZ) Default=1 ! MESHGLAZ = 1 !
2-34
Section 2: Geophysical Data Processors
Coastline processing method for points offshore may SWAP a land use
type as it is read from an input data file with the type for ocean,
Input(Datum - Region)
------------------
The Datum-Region for coordinates in the input LULC Data File may be
identified in the header records of the file. Check the file documentation
and change these defaults as needed. The list of Datum-Regions with
official transformation parameters is provided by the National Imagery and
and Mapping Agency (NIMA).
2-35
Section 2: Geophysical Data Processors
Note: the input Datum-Region for LULC = 11, the GENERIC format, has
no default, and is provided in the header of the file
!END!
--------------------------------------------------------------------------------
Projection
----------
2-36
Section 2: Geophysical Data Processors
LCC : Projection cone slices through Earth's surface at RLAT1 and RLAT2
PS : Projection plane slices through Earth at RLAT1
(RLAT2 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
Output Datum-Region
-------------------
Grid
----
!END!
--------------------------------------------------------------------------------
NIMA Datum-Regions (Documentation Section)
2-37
Section 2: Geophysical Data Processors
--------------------------------------------------------------------------------
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
2-38
Section 2: Geophysical Data Processors
2-39
Section 2: Geophysical Data Processors
2-40
Section 2: Geophysical Data Processors
2-41
Section 2: Geophysical Data Processors
2-42
Section 2: Geophysical Data Processors
2-43
Section 2: Geophysical Data Processors
--------------------------
SETUP Information
--------------------------
QA Threshold (%) = 75
luindat: LEWISTON.CMP
(USGS CTG - compressed)
luindat: PORTLAND.CMP
(USGS CTG - compressed)
2-44
Section 2: Geophysical Data Processors
99 I 25 25 25 25 25 25 25 25 25 25 25 25 25 25 25 25 25 25 25 25 25 25 25 25 25 25 25 25 25 25
I + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
98 I 25 25 25 25 25 25 25 25 25 25 25 25 25 25 25 25 25 25 25 25 25 25 25 25 25 25 25 25 25 25
I + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
97 I 25 25 25 25 25 25 25 25 25 25 25 25 25 25 25 25 25 25 25 25 25 25 25 25 25 25 25 25 25 25
I + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
96 I 25 25 25 25 25 25 25 25 25 25 25 25 25 25 25 25 25 25 25 25 25 25 25 25 25 25 25 25 25 25
I + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
2-45
Section 2: Geophysical Data Processors
Table 2-8: NZ Generic Land Use Input File (Translation to USGS categories is conducted
internally)
Table 2-9: Sample File of NZ Generic Land Use Data set (comma delimited file)
1,30,-35.5173137156338,174.409732258548
2,30,-35.5172985229084,174.410834392973
3,30,-35.5172833200875,174.411936526922
4,20,-35.5172681071709,174.413038660396
5,20,-35.5172528841586,174.414140793393
6,20,-35.5172376510503,174.415242925913
7,20,-35.5172224078459,174.416345057955
8,20,-35.5172071545452,174.417447189519
9,20,-35.5171918911481,174.418549320603
10,20,-35.5171766176543,174.419651451208
2-46
Section 2: Geophysical Data Processors
Table 2-10: Non Random Specific Land Use Categories for the NZ Generic Land Use Input File
0 Sea
1 Sea
10 Urban
20 Primarily Pastoral
21 Primarily Horticultural
30 Indigenous Forest
31 Planted Forest
40 Scrub
43 Mangrove
50 Inland Water
60 Inland Wetlands
61 Coastal Wetlands
71 Coastal Sands
72 Bare Ground
2-47
Section 2: Geophysical Data Processors
Table 2-11: Translation Table of Non Random Specific Land Use Categories to USGS Equivalent Categories(done internally within
CTGPROC)
____________________________________________________________________________________________________________
Generic Generic USGS LU Default Description
Land Use Land Use Equivalent USGS LU 14 USGS 14 USGS
Numeric Description Numeric Description LU Categories LU Categories
Value Value used in model used in model
____________________________________________________________________________________________________________
____________________________________________________________________________________________________________
2-48
Section 2: Geophysical Data Processors
Table 2-12: Generic Land Use Input File (no internal translation to USGS categories)
2-49
Section 2: Geophysical Data Processors
2-50
Section 2: Geophysical Data Processors
2.3 MAKEGEO
MAKEGEO generates a GEO.DAT file that provides the geophysical data inputs required by the
CALMET model 1 . These inputs include land use types, elevation, surface parameters (surface roughness
length, albedo, Bowen ratio, soil heat flux parameter, vegetation leaf area index), and anthropogenic heat
flux. An extensive description of GEO.DAT is provided in Section 8.
MAKEGEO requires 3 input files: a gridded elevation file (e.g. produced by TERREL) 2 , a gridded land
use file (e.g. generated by CTGPROC), and a user input control file (MAKEGEO.INP).
MAKEGEO reads gridded fractional land use, calculates dominant land use categories, as well as
weighted surface parameters and remaps to new LULC categories, if desired. In MAKEGEO.INP, the
user can define new Land Use categories by remapping the USGS Land Use categories. For example, the
USGS land use category system has 7 types of urban or built-up land and these would all be mapped to
one land use category for urban or built-up land in CALMET if using the 14 category system (see Table
8-6).
A value of each surface parameter is provided by the user for each land use category in the MAKEGEO
control input file. MAKEGEO computes area weighted values for each grid cell based on the amount of
area each land use category covers in the grid cell. For example, a grid cell which is half water and half
forest would have surface parameters that would reflect 50% of the value assigned to water and 50% of
the value assigned to forest categories. An arithmetic weighting is computed for albedo, Bowen ratio, soil
heat flux, vegetation leaf area index and anthropogenic heat flux. For the surface roughness, a
logarithmic weighting is used.
The format of the MAKEGEO 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!). MAKEGEO.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 the geophysical
preprocessors (CALPRO). A sample MAKEGEO.INP file is provided in Table 2-14 and the input
variables are described in Table 2-15.
1
MAKEGEO also produces a binary terrain file suitable for input into UAM.
2
MAKEGEO will run if a gridded elevation file is not supplied, but gridded terrain elevations must then
be manually inserted into GEO.DAT before using as input for CALMET.
2-51
Section 2: Geophysical Data Processors
Demo Application
--------------------- Run title (1 line) --------------------------------------
MAKEGEO creates the geophysical data file (GEO.DAT) for CALMET. Using
the fractional land use data from CTGPROC (LU.DAT), it calculates the
dominant land use for each cell and computes weighted surface parameters.
It may also remap land use categories if desired. Terrain data can
be obtained from TERREL, or provided in a file of similar format
(TERR.DAT).
-------------------------------------------------------------------------------
!END!
--------------------------------------------------------------------------------
2-52
Section 2: Geophysical Data Processors
2-53
Section 2: Geophysical Data Processors
US daily SNODAS gridded snow data can be used to modify the surface
landuse properties in the modeling grid to create one or more GEO.DAT
files that can be used in individual CALMET runs during the winter.
!END!
!END!
--------------------------------------------------------------------------------
Projection
----------
2-54
Section 2: Geophysical Data Processors
LCC : Projection cone slices through Earth's surface at RLAT1 and RLAT2
PS : Projection plane slices through Earth at RLAT1
(RLAT2 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
2-55
Section 2: Geophysical Data Processors
Output Datum-Region
-------------------
Grid
----
!END!
--------------------------------------------------------------------------------
-------------
Subgroup (3a)
-------------
2-56
Section 2: Geophysical Data Processors
!END!
-------------
Subgroup (3b)
-------------
a
OUTPUT LAND USE CATEGORIES (NOUTCAT entries)
--------------------------------------------
-------------
a
List categories in ascending order (absolute value), with up to 10
per line. Each line is treated as a separate input subgroup and
therefore must end with an input group terminator.
--------------------------------------------------------------------------------
INPUT GROUP: 4 -- Input Land Use (Defaults are set for USGS categories)
--------------
-------------
Subgroup (4a)
-------------
2-57
Section 2: Geophysical Data Processors
!END!
!END!
-------------
Subgroup (4b)
-------------
a
LAND USE PROPERTIES AND OUTPUT MAP (NINCAT entries)
---------------------------------------------------
2-58
Section 2: Geophysical Data Processors
-------------
a
Data for each land use category are treated as a separate input
subgroup and therefore must end with an input group terminator.
---------------------------------------------------------------------------
Subgroup (4b) -- Example Values for WINTER Conditions Without Snow Cover --
Alternate -- (replace non-winter values above with similar values) --
---------------------------------------------------------------------------
2-59
Section 2: Geophysical Data Processors
-------------
Subgroup (4c) (Read only when LSNOW=T)
-------------
a, b
SNOW-COVERED LAND USE PROPERTIES AND OUTPUT MAP (NINCAT entries)
----------------------------------------------------------------
2-60
Section 2: Geophysical Data Processors
* XS = , , , , , , , * *END*
* XS = , , , , , , , * *END*
* XS = , , , , , , , * *END*
* XS = , , , , , , , * *END*
* XS = , , , , , , , * *END*
* XS = , , , , , , , * *END*
* XS = , , , , , , , * *END*
* XS = , , , , , , , * *END*
* XS = , , , , , , , * *END*
* XS = , , , , , , , * *END*
* XS = , , , , , , , * *END*
* XS = , , , , , , , * *END*
* XS = , , , , , , , * *END*
* XS = , , , , , , , * *END*
* XS = , , , , , , , * *END*
* XS = , , , , , , , * *END*
* XS = , , , , , , , * *END*
* XS = , , , , , , , * *END*
* XS = , , , , , , , * *END*
* XS = , , , , , , , * *END*
* XS = , , , , , , , * *END*
* XS = , , , , , , , * *END*
* XS = , , , , , , , * *END*
-------------
a
Data for each land use category are treated as a separate input
subgroup and therefore must end with an input group terminator.
b
Subgroup 4c is read only when LSNOW=T. When LSNOW=F, this section
must not be active. To de-activate, change the delimiters to a
comment marker such as '*'. To activate, change the delimiters to
an exclamation point.
-------------
Subgroup (4d) (Read only when LSNOW=T)
-------------
a, b
SNOW-AGE TIME SCALE AND ALBEDO REDUCTION FACTOR
-----------------------------------------------
(With snow cover)
2-61
Section 2: Geophysical Data Processors
-------------
a
Data for each land use category are treated as a separate input
subgroup and therefore must end with an input group terminator.
b
Subgroup 4d is read only when LSNOW=T. When LSNOW=F, this section
must not be active. To de-activate, change the delimiters to a
2-62
Section 2: Geophysical Data Processors
-------------
Subgroup (4e)
-------------
a
INPUT CATEGORIES DEFINED AS WATER (NUMWAT entries)
--------------------------------------------------
! IWAT = 51 ! !END!
! IWAT = 52 ! !END!
! IWAT = 53 ! !END!
! IWAT = 54 ! !END!
! IWAT = 55 ! !END!
-------------
a
Each water category ID is read as a separate input
subgroup and therefore must end with an input group terminator.
-------------
Subgroup (4f)
-------------
a
CATEGORY SPLIT INFORMATION (NSPLIT Categories)
----------------------------------------------
Split To Amount
Category Category of Split
ID ID (%)
-------- -------- --------
* XSPLIT = 14, 76, 15.8 * *END*
* XSPLIT = 14, 77, 84.2 * *END*
-------------
a
Each assignment is read as a separate input subgroup and therefore
must end with an input group terminator. A total of NSPLIT input
land use categories must be listed, and the % split from each one
of these to all receiving land use categories must sum to 100.0%
--------------------------------------------------------------------------------
NIMA Datum-Regions (Documentation Section)
--------------------------------------------------------------------------------
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
2-63
Section 2: Geophysical Data Processors
2-64
Section 2: Geophysical Data Processors
2-65
Section 2: Geophysical Data Processors
(2) character*1 Use (N) northern or (S) southern hemisphere for UTM
projection
UTMHEM
RLAT0, character*16 Reference latitude and longitude (degrees) for PMAP =
RLON0 TTM, LCC, PS, EM, or LAZA. Enter numeric degrees
and either N or S for latitude, or E or W for longitude.
RLAT1, character*16 Two standard parallels of latitude for PMAP= LCC or
RLAT2 PS. Enter numeric degrees and either N or S.
DATUM character*8 Datum Code for output grid
XREFKM, real Reference X and Y coordinates origin (km) of the
YREFKM output grid.
(3a) NOUTCAT integer Number of output categories (14 for default CALMET
run)
2-66
Section 2: Geophysical Data Processors
2-67
Section 2: Geophysical Data Processors
(4a) HSCL integer Height scale (m) for computing effective obstacle height
(used only if LSNOW=T)
MSRL integer Method to obtain surface roughness when the surface is
covered in snow (used only if LSNOW=T)
MSAL integer Method to obtain surface albedo when the surface is
covered in snow (used only if LSNOW = T)
SDPMIN real Minimum snow depth (m) when surface roughness is
affected by snow
(4b) X Real arrays Arrays containing, the input land use properties
(nincat (8 components) (roughness length, albedo, Bowen ratio, soil heat flux
entries) parameter, anthropogenic heat flux, leaf area index) and
the output category ID. Non-winter values and model
defaults.
(NINCAT) Example values for winter conditions
without snow cover follow. These can replace the non-
winter values above.
(4c) XS Real arrays Snow-covered Land Use properties, only used when
(nincat (8 components) LSNOW = T. Arrays containing the input land use
entries) properties (roughness length, albedo, Bowen ratio, soil
heat flux parameter, anthropogenic heat flux, leaf area
index) and the output category ID.
(4d) XF entries Real array Parameters for Snow-age time scale and albedo
reduction factor. Only read when LSNOW = T.
(4e) IWAT integer Input LU categories defined as water (e.g., 51, 52, 53,
(numwat 54 for USGS LU categories)
entries)
2-68
Section 2: Geophysical Data Processors
2-69
Section 3: READ62 Upper Air Preprocessor
READ62 is a preprocessing program that extract and process upper air wind and temperature data from
standard NCDC data formats into a form required by the CALMET meteorological model. READ62
processes data in TD-6201 format or the NCDC FSL rawinsonde data format. Note that the user must
specifically request the TD-6201 format when ordering upper air data from NCDC, if this format is
desired.
User options are specified in a control file. In the control file, the user selects the starting and ending
dates of the data to be extracted, the top pressure level, the type of input data, and the format of the output
file. Also selected are processing options determining how missing data are treated. The programs will
either flag or eliminate sounding levels with missing data.
If the user selects the option to flag (rather than eliminate) levels with missing data, the data field of the
missing variables are flagged with a series of nines. If the option to eliminate levels with missing data is
chosen, only sounding levels with all values valid will be included in the output data file. It is generally
recommended that the levels with missing data be retained in order to avoid eliminating levels that might
have some valid data.
Although CALMET allows missing values of wind speed, wind direction, and temperature at intermediate
levels (i.e., levels other than the surface and model top), the user is cautioned against using soundings
with significant gaps due to missing data. For example, adequate vertical resolution of the morning
temperature structure near the surface is especially important to the model for predicting daytime mixing
heights. It should be kept in mind that the model will fill in missing data by assuming that a straight-line
interpolation between valid levels is appropriate. If this assumption is questionable, the sounding should
not be used with the model.
Two input files are required by the preprocessor: a user input control file and the NCDC upper air data
file. Two output files are produced. A list file summarizes the options selected, provides a summary of
the soundings processed, and contains informational messages indicating problems in the data set. The
second output file contains the processed upper air data in a CALMET-ready format. Table 3-1 contains
a listing of the input and output files for READ62.
The format of the READ62 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!). READ62.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 the geophysical preprocessors (CALPRO). A
description of each input variable is shown in Table 3-2. A sample input file is shown in Table 3-3. The
output list file is shown in Table 3-4.
3-1
Section 3: READ62 Upper Air Preprocessor
3-2
Section 3: READ62 Upper Air Preprocessor
3-3
Section 3: READ62 Upper Air Preprocessor
3-4
Section 3: READ62 Upper Air Preprocessor
PSTOP Real Top pressure level (mb) for which data are
extracted (e.g., 850, 700, 500). The output
file will contain data from the surface to the
PSTOP pressure level.
3-5
Section 3: READ62 Upper Air Preprocessor
3-6
Section 3: READ62 Upper Air Preprocessor
CALMET accepts upper air data (wind and temperature soundings) from
UP.DAT files, where each UP.DAT file contains data for one station.
READ62 processes soundings from standard NCDC data formats, reports
problems with data entries, and produces an output file in the UP.DAT
format. NCDC formats supported include TD-6201 and FSL.
-------------------------------------------------------------------------------
!END!
--------------------------------------------------------------------------------
3-7
Section 3: READ62 Upper Air Preprocessor
---------------
NOTE: Explicit times with seconds (not hour-ending times)
in Universal Time (UTC), also known as Greenwich Mean
Time (GMT).
3-8
Section 3: READ62 Upper Air Preprocessor
Top pressure (mb) level for which data are extracted (e.g., 850 mb,
700 mb, 500 mb, etc.). Pressure level must correspond to a height
that equals or exceeds the top of the CALMET modeling domain, or
else CALMET will stop with an error message.
(PSTOP) Default: 700. ! PSTOP = 500 !
!END!
3-9
Section 3: READ62 Upper Air Preprocessor
-------------------------------------------------
NOTICE: Starting year in control file sets the
expected century for the simulation. All
YY years are converted to YYYY years in
the range: 1939 2038
-------------------------------------------------
SURFACE TO 500. MB
3-10
Section 3: READ62 Upper Air Preprocessor
FILENAMES:
Control file: r62pwm.inp
Input upper air file: 90010100.pwm
Output upper air file: uppwm.dat
Output list file: r62pwm.lst
-------------------------------------------------
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
-------------------------------------------------
3-11
Section 3: READ62 Upper Air Preprocessor
1990 1 1 1 0 30
1990 1 1 1 12 31
1990 1 2 2 0 28
1990 1 2 2 12 32
1990 1 3 3 0 33
1990 1 3 3 12 35
1990 1 4 4 0 41
1990 1 4 4 12 38
1990 1 5 5 0 37
1990 1 5 5 12 28
1990 1 6 6 0 19
1990 1 6 6 12 37
1990 1 7 7 0 20
1990 1 7 7 12 32
1990 1 8 8 0 35
1990 1 8 8 12 19
1990 1 9 9 0 35
1990 1 9 9 12 39
1990 1 10 10 0 37
1990 1 10 10 12 30
1990 1 11 11 0 26
1990 1 11 11 12 35
1990 1 12 12 0 37
1990 1 12 12 12 31
1990 1 13 13 0 27
1990 1 13 13 12 31
1990 1 14 14 0 29
1990 1 14 14 12 18
1990 1 15 15 0 33
1990 1 15 15 12 38
3-12
Section 3: READ62 Upper Air Preprocessor
The output data file (UP.DAT) produced by READ62 is a formatted file containing the pressure,
elevation, temperature, wind speed, and wind direction at each sounding level. The first level of each
sounding is assumed to represent surface-level observations. If the surface level is missing from the
sounding, it must be filled in before running CALMET.
READ62 allows the user to select either a slash (/) delimiter format (the original format), or a comma
delimiter format for the UP.DAT file. The comma-delimited form of the UP.DAT file facilitates the use
by CALMET of non-NCDC data sources, such as SODAR data. In CALMET, a slash-delimited file is
read using FORTRAN format statements, while the comma-delimited file is read using Fortran free read
statements. READ62 can be by-passed, and a comma-delimited UP.DAT file can be easily prepared from
non-NCDC data by following the format discussed in Section 8.3. Sample UP.DAT files in both formats
are shown in Table 3-5.
3-13
Section 3: READ62 Upper Air Preprocessor
3-14
Section 4: PXTRACT Precipitation Data Extract Program
PXTRACT is a preprocessor program which extracts precipitation data for stations and time periods of
interest from a formatted precipitation data file in NCDC TD-3240 format. The TD-3240 data used by
PXTRACT can be in either the fixed record length format or the variable record length format. The fixed
record length format reports each hourly precipitation event in a separate record, whereas the variable
record length format reports all hourly precipitation events that occur on a single day in a single record,
and also includes the daily total. The hourly precipitation data usually come in large blocks of data sorted
by station. For example, a typical TD-3240 file for California may contain data from over 100 stations
statewide in blocks of time of 30 years or more. Modeling applications require the data sorted by time
rather than station, and involve specific spatial domains and time periods from less than one year up to
five years. PXTRACT allows data for a particular model run to be extracted from the larger data file and
creates a set of station files that are used as input files by the second-stage precipitation preprocessor,
PMERGE (see Section 5.0).
NOTE: If wet removal is not to be considered by the CALPUFF or MESOPUFF II dispersion models, no
precipitation processing needs to be done. PXTRACT (and PMERGE) are required only if wet removal
is an important removal mechanism for the modeling application of interest. In addition, if wet removal
is a factor, the user has the option of creating a free-formatted precipitation data file that can be read by
CALMET. This option eliminates the need to run the precipitation preprocessing programs for short
CALMET runs (e.g., screening runs) for which the data can easily be input manually.
The input files used by PXTRACT include a control file (PXTRACT.INP) containing user inputs, and a
data file (TD3240.DAT) containing the NCDC data in TD-3240 format. The precipitation data for
stations selected by the user are extracted from the TD3240.DAT file and stored in separate output files
(one file per station) called xxxxxx.DAT, where xxxxxx is the station identification code. PXTRACT
also creates an output list file (PXTRACT.LST) which contains the user options and summarizes the
station data extracted. Table 4-1 contains a summary of PXTRACT's input and output files.
The PXTRACT control file contains the user-specified variables which determine the method used to
extract precipitation data from the input data file (i.e., by state, by station, or all stations), the appropriate
state or station codes, and the time period to be extracted. A sample PXTRACT control file is shown in
Table 4-2. The format and contents of the file are described in Table 4-3.
The PXTRACT output list file (PXTRACT.LST) contains a listing of the control file inputs and options.
It also summarizes the station data extracted from the input TD-3240 data file, including the starting and
ending date of the data for each station and the number of data records found. Since the TD-3240 data are
not hourly, PXTRACT will extract the records that cover the period requested by the user. Therefore, the
dates of the data extracted from different stations may be different although the same time period was
requested by the user. If the starting (or ending) record has a data flag, the previous (or next) record will
also be extracted to complete the information necessary for PMERGE to interpret the data correctly. A
4-1
Section 4: PXTRACT Precipitation Data Extract Program
sample output list file is shown in Table 4-4. The PXTRACT output data files consist of precipitation
data in TD-3240 format for the time period selected by the user. Each output data file contains the data
for one station. A sample output file is shown in Table 4-5.
IO6 PXTRACT.LST output formatted List file (line printer output file)
Unit 7 id1.DAT output formatted Precipitation data (in TD-3240) format for station #1 for the
(id1 is the time period selected by the user
6-digit station code
for station #1, e.g.,
040001)
Unit 7 id2.DAT output formatted Precipitation data (in TD-3240) format for station #2 for the
Plus 1 (id2 is the time period selected by the user
6-digit station code
for station #2, e.g.,
040002)
.
.
.
(Up to 200 new precipitation data files are allowed by PXTRACT).
4-2
Section 4: PXTRACT Precipitation Data Extract Program
-------------------------------------------------------------------------------
-------------------------------------------------------------------------------
!END!
--------------------------------------------------------------------------------
-------------
4-3
Section 4: PXTRACT Precipitation Data Extract Program
4-4
Section 4: PXTRACT Precipitation Data Extract Program
!END!
--------------------------------------------------------------------------------
! IDSTATE = 34 ! !END!
! IDSTATE = 41 ! !END!
-------------
Each line is treated as a separate input subgroup and therefore
must end with an input group terminator.
--------------------------------------------------------------------------------
4-5
Section 4: PXTRACT Precipitation Data Extract Program
(IDSTN) No Default
-------------
Each line is treated as a separate input subgroup and therefore
must end with an input group terminator.
4-6
Section 4: PXTRACT Precipitation Data Extract Program
(2) IDSTATE 2-digit integer 2-digit code for each state selected (NSTA
lines; used only if ICODE=1)
(3) IDSTN 6-digit integer 6-digit ID for each station selected (NSTA
lines ; used only if ICODE=2)
4-7
Section 4: PXTRACT Precipitation Data Extract Program
-------------------------------------------------
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
-------------------------------------------------
FILENAMES:
Control file: pxtract.inp
Input TD3240 file: TD3240.DAT
Output list file: PXTRACT.LST
4-8
Section 4: PXTRACT Precipitation Data Extract Program
4-9
Section 5: PMERGE Precipitation Data Preprocessor
PMERGE reads, processes and reformats the precipitation data files created by the PXTRACT program,
and creates either a formatted or an unformatted data file for input into the CALMET meteorological
model. The output file (e.g., PRECIP.DAT) contains the precipitation data sorted by hour, as required by
CALMET, rather than by station. The program can also read an existing unformatted output file and add
stations to it, creating a new output file. PMERGE also resolves "accumulation periods" and flags
missing or suspicious data.
Accumulation periods are intervals during which only the total amount of precipitation is known. The
time history of precipitation within the accumulation period is not available. For example, it may be
known that within a six-hour accumulation period, a total of a half inch of precipitation fell, but
information on the hourly precipitation rates within the period is unavailable. PMERGE resolves
accumulation periods such as this by assuming a constant precipitation rate during the accumulation
period. For modeling purposes, this assumption is suitable as long as the accumulation time period is
short (e.g., a few hours). However, for longer accumulation periods, the use of precipitation data with
poor temporal resolution is not recommended. PMERGE will eliminate and flag as missing any
accumulation periods longer than a user-defined maximum length.
PMERGE provides an option to "pack" the precipitation data in the unformatted output in order to reduce
the size of the file. A "zero packing" method is used to pack the precipitation data. Because many of the
precipitation values are zero, strings of zeros are replaced with a coded integer identifying the number of
consecutive zeros that are being represented. For example, the following record with data from 20
stations 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,
where five zero values are replaced by -5., six zero values are replaced by -6., etc. With many stations
and a high frequency of zeros, very high packing ratios can be obtained with this simple method. All of
the packing and unpacking operations are performed internally by PMERGE and CALMET, and are
transparent to the user. The header records of the data file contain information flagging the file to
CALMET as a packed or unpacked file. If the user selects the unpacked format, each precipitation value
is assigned one full word.
The input files used by PMERGE include a control file (PMERGE.INP), an optional unformatted data file
created in a previous run of PMERGE, and up to 150 TD-3240 precipitation station files (e.g., as created
by PXTRACT). The output file consists of a list file and a new unformatted or formatted data file in
5-10
Section 5: PMERGE Precipitation Data Preprocessor
CALMET format with the data for all stations sorted by hour. Table 5-1 lists the name, type, format, and
contents of PMERGE's input and output data files.
The PMERGE control file (PMERGE.INP) contains the user-specified input variables indicating the
number of stations to be processed, a flag indicating if data are to be added to an existing, unformatted
data file, the maximum length of an accumulation period, packing options, station data, and time zone
data. PMERGE allows data from different time zones to be merged by time-shifting the data to a user-
specified base time zone.
The format of the PMERGE 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!). PMERGE.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 the geophysical preprocessors (CALPRO). A
sample PMERGE control file is shown in Table 5-2, and the input variables are described in Table 5-3.
The PMERGE output list file (PMERGE.LST) contains a listing of the control file inputs and options. It
also summarizes the number of valid and invalid hours for each station including information on the
number of hours with zero or non-zero precipitation rates and the number of accumulation period hours.
Additional statistics provide information by station on the frequency and type of missing data in the file
(i.e., data flagged as missing in the original data file, data which are part of an excessively long
accumulation period, or data missing from the input files before (after) the first (last) valid record. A
sample output file is shown in Table 5-4.
5-11
Section 5: PMERGE Precipitation Data Preprocessor
Ioprev user input file input unformatted Previous PMERGE data file to
name which stations are to be added
(Used only if CFLAG=Y)
ioprec user input file output unformatted Output data file created by
name or PMERGE (this file is an input
formatted file to CALMET)
.
.
.
(Up to 150 new precipitation data files are allowed by PMERGE although this may be limited by
the number of files an operating system will allow open at one time. Multiple runs of PMERGE
may be necessary.)
5-12
Section 5: PMERGE Precipitation Data Preprocessor
-------------------------------------------------------------------------------
-------------
Subgroup (0a)
-------------
!END!
-------------
Subgroup (0b)
-------------
! STNFIL = 170273.DAT!
5-13
Section 5: PMERGE Precipitation Data Preprocessor
! IFSTN = 170273 !
! ASTZ = UTC-0500 ! !END!
! STNFIL = 176905.DAT!
! IFSTN = 176905 !
! ASTZ = UTC-0500 ! !END!
5-14
Section 5: PMERGE Precipitation Data Preprocessor
! STNFIL = 177325.DAT!
! IFSTN = 177325 !
! ASTZ = UTC-0500 ! !END!
! STNFIL = 178641.DAT!
! IFSTN = 178641 !
! ASTZ = UTC-0500 ! !END!
! STNFIL = 270741.DAT!
! IFSTN = 270741 !
! ASTZ = UTC-0500 ! !END!
! STNFIL = 270998.DAT!
! IFSTN = 270998 !
! ASTZ = UTC-0500 ! !END!
! STNFIL = 272842.DAT!
! IFSTN = 272842 !
! ASTZ = UTC-0500 ! !END!
! STNFIL = 273182.DAT!
! IFSTN = 273182 !
! ASTZ = UTC-0500 ! !END!
! STNFIL = 274732.DAT!
! IFSTN = 274732 !
! ASTZ = UTC-0500 ! !END!
! STNFIL = 274808.DAT!
! IFSTN = 274808 !
! ASTZ = UTC-0500 ! !END!
! STNFIL = 275639.DAT!
! IFSTN = 275639 !
! ASTZ = UTC-0500 ! !END!
! STNFIL = 275780.DAT!
! IFSTN = 275780 !
! ASTZ = UTC-0500 ! !END!
! STNFIL = 276234.DAT!
! IFSTN = 276234 !
! ASTZ = UTC-0500 ! !END!
! STNFIL = 276818.DAT!
! IFSTN = 276818 !
! ASTZ = UTC-0500 ! !END!
! STNFIL = 278885.DAT!
! IFSTN = 278885 !
! ASTZ = UTC-0500 ! !END!
! STNFIL = 437054.DAT!
! IFSTN = 437054 !
! ASTZ = UTC-0500 ! !END!
5-15
Section 5: PMERGE Precipitation Data Preprocessor
5-16
Section 5: PMERGE Precipitation Data Preprocessor
--------------------------------------------------------------------------------
-----------------------
NOTE: Use explicit times in hours and seconds in time zone ABTZ.
5-17
Section 5: PMERGE Precipitation Data Preprocessor
!END!
5-18
Section 5: PMERGE Precipitation Data Preprocessor
--------------------------------------------------------------------------------
IFSTN integer Six digit station id number (SSIIII), where SS=two digit
state code, IIII is the station id
ASTZ character*8 Time zone used in the input data set (UTC-0500=EST,
UTC-0600=CST, UTC-0700=MST, UTC-0800=PST)
5-19
Section 5: PMERGE Precipitation Data Preprocessor
5-20
Section 5: PMERGE Precipitation Data Preprocessor
2 IBSTN integer 6-digit station ids requested from binary input file (1
station id per record), NBSTN records in all.
5-21
Section 5: PMERGE Precipitation Data Preprocessor
-------------------------------------------------
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
-------------------------------------------------
5-22
Section 5: PMERGE Precipitation Data Preprocessor
Table 5-4
Sample PMERGE Output List File (PMERGE.LST)
Valid Hours:
Invalid Hours:
5-23
Section 6: SMERGE Surface Data Meteorological Preprocessor
SMERGE processes and reformats hourly surface observations, and creates either a formatted or an
unformatted file which is used as input by the CALMET model. It is assumed that the observations have
been validated by METSCAN (for CD144 formatted data) or similar utility. SMERGE reads "N" data
files containing surface data from the following formats: (1) NCDC 80-column format (CD144 format),
(2) NCDC Solar and Meteorological Surface Observational Network (SAMSON) CD-ROM format, (3)
NCDC Hourly U.S. Weather Observations (HUSWO) CD-ROM format, (4) NCDCs ISHWO, Integrated
Surface Hourly Weather Observations, (5) NCDCs TD-3505 data Integrated Surface Hourly Data
(ISHD) format, (6) NCDCs Air Force Datasav3 surface hourly data (TD-9956), (7) Generic data format
of the type comma delimited file which will process hourly observational data which is not of the form of
any of 1-6 above. Note that for (3) all parameters need to be extracted from the CD-ROM datasets, and
if the HUSWO CD-ROM data are used, they must be extracted using the English units options. Finally,
there is a further stand-alone program, SURFCSV which will process any incremental time interval
from sub-hourly data to multi-hour data. This utility is not currently part of SMERGE and is discussed in
Section 6.1.2.
The output file (e.g., SURF.DAT) contains the processed hourly data for all the stations. SMERGE can
also add stations to an existing formatted or unformatted output file. A free-formatted SURF.DAT file
can be created by the user and read by CALMET. This option relieves the user of the need to run the
preprocessor for short CALMET runs for which the surface data can easily be input manually, or when
non-standard data sources (e.g., site-specific meteorological observations) are used.
SMERGE extracts the following variables from the NCDC surface data files: wind speed, wind direction,
air temperature, ceiling height, cloud cover, surface pressure, relative humidity, and precipitation type
code.
An option is provided to allow the surface data stored in the unformatted output file to be "packed."
Packing reduces the size of the data file by storing more than one variable in each word. If the packing
option is used, the eight hourly meteorological variables for each station are stored in three words:
6-1
Section 6: SMERGE Surface Data Meteorological Preprocessor
of feet)
SSSS = wind speed (XX.XX m/s)
All of the packing and unpacking operations are performed internally by SMERGE and CALMET, and
are transparent to the user. The header records of the data file contain information flagging the file to
CALMET as a packed or unpacked file. If the user selects the unpacked format, eight full 4-byte words
are used to store the data for each station.
The input files used by SMERGE consist of a control file (SMERGE.INP) containing user inputs, up to
150 surface data files (one per surface station), and an optional SMERGE data file (formatted or
unformatted) created in a previous run of SMERGE. The data from the formatted surface station files are
combined with the data in the existing SMERGE data file. A new SMERGE output file (formatted or
unformatted) containing all the data is created by the program. In addition, SMERGE creates an output
list file (SMERGE.LST) which summarizes the user options and run time statistics. Table 6-3 contains a
listing of the input and output files used by SMERGE.
The SMERGE control file specifies the number and type of input data files, time zone of output data,
packing flag, station data (two lines per station), and the starting and ending dates of the period to extract.
The format of the SMERGE 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!). SMERGE.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 the geophysical preprocessors (CALPRO). A
sample SMERGE control file is shown in Table 6-4. The format and contents of the SMERGE control
file are explained in Table 6-5.
The SMERGE output list file (SMERGE.LST) contains a summary of the control file inputs,
6-2
Section 6: SMERGE Surface Data Meteorological Preprocessor
characteristics of the output data file, and routine statistics. A sample output list file is shown in Table 6-
6, and a sample SURF.DAT output data file is shown in Table 6-7.
For hourly surface observational data that do not conform to any of the data sets above, a user can
develop a comma delimited generic data file that SMERGE is able to reformat into a surface data file for
direct use in CALMET. The data must be hourly and it must also be in the exact comma delimited format
in order for it to be processed by SMERGE. The comma delimited data is most easily created from a
spreadsheet such as Excel which can be used to process the raw data and align the data into the specific
columns required for this data processing option. Note that no blank data are allowed. All hours are
multiplied by 100 and missing data must be represented by 9999.00. In the event of no cloud
information, the value 999 means clear skies. The first three lines of text must not be altered other than
the ID number of the meteorological site, all other column headers and text should remain unchanged.
Only one generic observation file can be processed at a time. Once the file has been created in an Excel
spreadsheet or similar it must be saved as a comma delimited file. Note that no blank spaces are allowed
in-between the commas. A sample of this file as the final saved comma delimited version is detailed in
Table 6-1 below, Table 6-2 shows the same table in spreadsheet format. The data requirements per
column and units are clear from Table 6-2.
6-3
Section 6: SMERGE Surface Data Meteorological Preprocessor
Table 6-1: Sample of Generic Input Meteorological Data File Comma Delimited Input File
Ready for SMERGE
6-4
Section 6: SMERGE Surface Data Meteorological Preprocessor
6-5
Section 6: SMERGE Surface Data Meteorological Preprocessor
ioprev user input file name Input unformatted Previous SMERGE data file to
or which stations are to be added
formatted (Used only if CFLAG=y)
iosurf user input file name output unformatted Output data file created by
or SMERGE containing the processed
formatted hourly surface data (this file is the
SURF.DAT input file to
CALMET)
io5 SMERGE. INP input formatted Control file containing user inputs
io6 SMERGE.LST output formatted List file (line printer output file)
Unit 7 user input file name input formatted Surface data in one of three NCDC
formats for station #1
Unit 7 plus 1 user input file name input formatted Surface data in one of three NCDC
formats for station #2
(Up to 150 new surface data files are allowed by SMERGE, although this may be limited by the number of files
an operating system will allow open at one time. Multiple runs of SMERGE may be necessary.)
6-6
Section 6: SMERGE Surface Data Meteorological Preprocessor
-------------------------------------------------------------------------------
--------------
Subgroup (0a)
--------------
!END!
-------------
Subgroup (0b)
-------------
6-7
Section 6: SMERGE Surface Data Meteorological Preprocessor
NOTE: ASTZ identifies the time zone used in the dataset. The
TD3505 and TD9956 data are prepared in UTC time rather than
local time, so ASTZ = UTC+0000. is expected for these.
6-8
Section 6: SMERGE Surface Data Meteorological Preprocessor
! SFCMET = PORTLND.CDR!
! IFSTN = 14764 !
! ASTZ = UTC-0500 ! !END!
-----------------------------------------------------------------------------
INPUT GROUP: 1 -- Run control parameters
---------------
-----------------------
NOTE: Use explicit times in hours and seconds in time zone ABTZ.
6-9
Section 6: SMERGE Surface Data Meteorological Preprocessor
!END!
-----------------------------------------------------------------------------
INPUT GROUP: 2 -- Stations used from previous SURF.DAT file
---------------
6-10
Section 6: SMERGE Surface Data Meteorological Preprocessor
-----------------------
Each line is treated as a separate input subgroup and therefore
must end with an input group terminator.
6-11
Section 6: SMERGE Surface Data Meteorological Preprocessor
ASTZ character*8 Time zone used in the input data set (UTC-
0500=EST, UTC-0600=CST, UTC-
0700=MST, UTC-0800=PST)
6-12
Section 6: SMERGE Surface Data Meteorological Preprocessor
6-13
Section 6: SMERGE Surface Data Meteorological Preprocessor
-------------------------------------------------
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
-------------------------------------------------
********************
********************
Error in Subr. RDWRITS: Next date and hour from the existing surface data input file, 199000823
does not match the expected date and hour, 199000900
6-14
Section 6: SMERGE Surface Data Meteorological Preprocessor
********************
6-15
Section 6: SMERGE Surface Data Meteorological Preprocessor
Time Zone: 5
File Format (1=unformatted, 2=formatted): 2
6-16
Section 6: SMERGE Surface Data Meteorological Preprocessor
6-17
Section 6: SMERGE Surface Data Meteorological Preprocessor
For sub-hourly or any time interval surface observation data that do not conform to any of the data sets
above, a user can develop a generic comma delimited data file and process it through a stand alone
program, SURFCSV to create a SURF.DAT file with one single station. The purpose of SURFCSV is to
read a comma delimited format meteorological data file, extract the surface data at fixed intervals and
output as SURF.DAT v2.1 with beginning and ending times that span the interval requested. This
program is different to the Generic option (Section 6.1.1) offered in SMERGE which only processes
hourly surface observation data which must be in the exact comma-delimited format as shown in Table 6-
1. SURFCSV on the other hand is not part of SMERGE and must be executed separate of the GUI.
Unlike the Generic format, SURFCSV does not require the user to have the data in specific columns but
allows much more flexibility through the use of a user control input file where the user specifically states
what data is available, what column the said data is in and accounts for any time period interval to the
nearest minute. SURFCSV will then process the comma delimited file and create a surface data file
which can be read directly into CALMET. No QA steps are employed so the user must take responsibility
for the adequacy of the data. Furthermore, the single observation nearest the end of the output interval
selected may be used if the exact time at the end of an interval is not in the file (missing data). No
averaging is done.
The data record can be of any user defined time increment, i.e., from one minute to multi-hours. The user
is required to give an output starting time and output ending time specifying the data record to the nearest
minute interval. The data interval to the nearest minute is also specified. The user has the choice to use
two different date/time stamp formats, either YYYY-MM-DD hh:mm or, MM/DD/YYYY hh:mm. It is
up to the user to make sure the time and date stamp conform to either of these formats. This can be done
using Excel. The SURFCSV control file requests specific information as to which column the wind speed,
wind direction, temperature, relative humidity, pressure, cloud cover and cloud ceiling height can be
found. A choice of units is available for each variable which saves the user time in having to first convert
the data into the correct format, prior to processing.
The comma delimited format required for SURFCSV is specifically designed to allow users to make use
of spreadsheets where the raw data can most easily be observed and sorted. Unlike the hourly Generic
format where missing data in the file must be replaced with the missing value indicator of 9999.00 for
real numbers and 9999 for integers, missing values are automatically replaced in SURFCSV.
Table 6.8 provides a sample control input file required for SURFCSV, while Table 6.9 provides detailed
information of the control input file. A sample CSV.DAT file is shown in Table 6.10. Note that the first
line of the sample control input file (Table 6.8) must remain unchanged as it provides the default file
name and version number. The second line refers to the number of lines of comment records which
follows immediately afterward. The rest of the parameters are detailed in Table 6.9. Note that both the
input control file must be called SURFCSV.INP and the comma delimited data file (6.10), CSV.DAT, so
this processor is best run using a "batch" file that renames files specific to an application. Data records
6-18
Section 6: SMERGE Surface Data Meteorological Preprocessor
within the file are identified by portions of the text field that follow the delimiter character '#', so these
should not be altered. The order of the data records is not important, but should be similar to the standard
example for clarity.
SURFCSV.INP 1.0
1
Sample input control file (Any order but keep exact RHS text and # delimiter)
106645 #Station_ID integer
UTC-0500 #Time_Zone (EST=UTC-0500)
2010 01 01 00 15 #Output Starting_Time (YYYY MM DD hh mm)
2010 02 01 00 00 #Output Ending_Time (YYYY MM DD hh mm)
00 15 #Output Time_Increment (hh mm)
1 #Output Time_Method (1=exact, 2=nearest)
1 #SKIP_headers (number of rows before data)
1 #DATE_column
1 #TIME_column (may be same as date column)
YYYY-MM-DD hh:mm #DATETIME_format (YYYY-MM-DD hh:mm), or
(MM/DD/YYYY hh:mm)
11 #WINDSPEED_column (0 = NA)
14 #WINDDIRECTION_column (0 = NA)
4 #TEMPERATURE_column (0 = NA)
8 #RELHUMIDITY_column (0 = NA)
0 #PRESSURE_column (0 = NA)
0 #CLOUD_column (0 = NA) typically cloud+height
0 #CEILING_column (0 = NA)
0 #CLOUDCOVER_column (0 = NA)
MPH #WINDSPEED_units (MPH, MPS, KTS)
DEG #WINDDIRECTION_units (DEG, NSEW)
F #TEMPERATURE_units (F, C, K)
% #RELHUMIDITY_units (%,FRAC)
MB #PRESSURE_units (MB, IN, ATM)
FT #CEILING_units (FT, 100FT, M, KM)
TENTHS #CLOUDCOVER_units (TENTHS)
6-19
Section 6: SMERGE Surface Data Meteorological Preprocessor
6-20
Section 6: SMERGE Surface Data Meteorological Preprocessor
6-21
Section 6: SMERGE Surface Data Meteorological Preprocessor
Time,TemperatureF,DewpointF,PressureIn,WindDirection,WindDirectionDegrees,WindSpeedMPH
,WindSpeedGustMPH,Humidity,HourlyPrecipIn,Conditions,Clouds,dailyrainin,SoftwareType
1/1/2011 0:00,61.1,52.1,30.11,ESE,108,0,0,72,0,,,0,WxSolution 1.8.5.6
1/1/2011 0:05,61.1,52.1,30.12,SE,142,0,0,72,0,,,0,WxSolution 1.8.5.6
1/1/2011 0:10,61.1,52.1,30.12,SE,143,0,0,72,0,,,0,WxSolution 1.8.5.6
1/1/2011 0:11,61,52,30.12,SE,143,0,0,72,0,,,0,WxSolution 1.8.5.6
1/1/2011 0:15,60.9,51.9,30.12,SE,143,0,0,72,0,,,0,WxSolution 1.8.5.6
1/1/2011 0:16,60.9,51.9,30.12,SE,143,0,0,72,0,,,0,WxSolution 1.8.5.6
1/1/2011 0:21,60.8,51.9,30.11,East,90,0,0,73,0,,,0,WxSolution 1.8.5.6
1/1/2011 0:26,60.6,51.8,30.11,ESE,123,0,0,73,0,,,0,WxSolution 1.8.5.6
1/1/2011 0:27,60.6,51.8,30.11,ESE,123,0,0,73,0,,,0,WxSolution 1.8.5.6
1/1/2011 0:32,60.5,51.7,30.11,ESE,123,0,0,73,0,,,0,WxSolution 1.8.5.6
1/1/2011 0:33,60.5,51.7,30.11,ESE,123,0,0,73,0,,,0,WxSolution 1.8.5.6
1/1/2011 0:37,60.4,51.7,30.11,ESE,123,0,0,73,0,,,0,WxSolution 1.8.5.6
1/1/2011 0:38,60.3,51.5,30.11,ESE,123,0,0,73,0,,,0,WxSolution 1.8.5.6
1/1/2011 0:43,60.2,51.5,30.1,ESE,109,0,0,73,0,,,0,WxSolution 1.8.5.6
1/1/2011 0:44,60.3,51.7,30.1,ESE,109,0,0,73,0,,,0,WxSolution 1.8.5.6
1/1/2011 0:48,60.1,51.7,30.1,ENE,77,0,0,74,0,,,0,WxSolution 1.8.5.6
1/1/2011 0:49,60.2,51.8,30.1,ENE,77,0,0,74,0,,,0,WxSolution 1.8.5.6
1/1/2011 0:54,60.1,51.9,30.1,ESE,102,0,0,74,0,,,0,WxSolution 1.8.5.6
1/1/2011 0:59,60,51.9,30.1,SE,135,0,0,75,0,,,0,WxSolution 1.8.5.6
1/1/2011 1:04,60.1,52.1,30.1,ENE,71,0,0,75,0,,,0,WxSolution 1.8.5.6
1/1/2011 1:09,59.9,51.8,30.1,ENE,71,0,0,75,0,,,0,WxSolution 1.8.5.6
1/1/2011 1:14,59.8,51.9,30.09,ENE,68,0,0,75,0,,,0,WxSolution 1.8.5.6
1/1/2011 1:19,59.7,51.9,30.09,East,99,0,0,75,0,,,0,WxSolution 1.8.5.6
1/1/2011 1:24,59.5,51.9,30.09,ESE,112,0,0,76,0,,,0,WxSolution 1.8.5.6
1/1/2011 1:30,59.5,52,30.09,SE,132,0,0,76,0,,,0,WxSolution 1.8.5.6
1/1/2011 1:35,59.4,52.4,30.09,East,91,3,3,78,0,,,0,WxSolution 1.8.5.6
1/1/2011 1:40,59.3,52.2,30.09,East,92,0,0,77,0,,,0,WxSolution 1.8.5.6
1/1/2011 1:45,59.4,52.2,30.09,SE,132,3,3,77,0,,,0,WxSolution 1.8.5.6
1/1/2011 1:46,59.5,52.4,30.09,SSE,149,0,0,77,0,,,0,WxSolution 1.8.5.6
1/1/2011 1:50,59.2,52.2,30.09,NE,45,1,1,78,0,,,0,WxSolution 1.8.5.6
1/1/2011 1:51,59.3,52.3,30.09,NE,45,0,0,78,0,,,0,WxSolution 1.8.5.6
1/1/2011 1:55,59.3,52.2,30.09,SE,127,3,3,77,0,,,0,WxSolution 1.8.5.6
1/1/2011 1:56,59.3,52.2,30.09,SE,126,3,3,77,0,,,0,WxSolution 1.8.5.6
1/1/2011 1:57,59.3,52.4,30.09,SSE,151,0,0,78,0,,,0,WxSolution 1.8.5.6
1/1/2011 2:00,59.2,52.3,30.09,ESE,118,1,1,78,0,,,0,WxSolution 1.8.5.6
1/1/2011 2:01,59.1,52.3,30.09,ESE,118,0,0,78,0,,,0,WxSolution 1.8.5.6
1/1/2011 2:02,59.2,52.3,30.09,ESE,120,3,3,78,0,,,0,WxSolution 1.8.5.6
1/1/2011 2:05,59.3,52.4,30.09,SE,127,0,0,78,0,,,0,WxSolution 1.8.5.6
1/1/2011 2:06,59.3,52.4,30.09,ESE,119,2,2,78,0,,,0,WxSolution 1.8.5.6
1/1/2011 2:10,59.3,52.3,30.1,ESE,116,0,0,78,0,,,0,WxSolution 1.8.5.6
1/1/2011 2:11,59.3,52.3,30.1,ESE,116,0,0,78,0,,,0,WxSolution 1.8.5.6
1/1/2011 2:16,59.2,52.2,30.1,ESE,123,0,0,78,0,,,0,WxSolution 1.8.5.6
1/1/2011 2:21,59.3,52.2,30.1,ENE,63,2,2,77,0,,,0,WxSolution 1.8.5.6
1/1/2011 2:26,59.4,52.3,30.1,SE,133,0,0,77,0,,,0,WxSolution 1.8.5.6
1/1/2011 2:27,59.4,52.3,30.1,SE,133,0,0,77,0,,,0,WxSolution 1.8.5.6
6-22
Section 6: SMERGE Surface Data Meteorological Preprocessor
6-23
Section 7: Prognostic Meteorological Interfaces
Optionally, CALMET can accept prognostic data extracted from models such as MM5, Eta, RUC,
RAMS, WRF and TAPM and incorporate them in the computation of its own gridded meteorological
fields. Prognostic data for CALMET are typically prepared as a 3D.DAT file. Earlier formats for these
data are also supported: MM4.DAT and MM5.DAT, referring to the most likely origin of these earlier
data sets, i.e. the PSU/NCAR Mesoscale Modeling System 4 (MM4) or the PSU/NCAR Mesoscale
Modeling System 5 (MM5). However, not all modeling options in CALMET may be available if an
earlier file format is used. Interface programs that create the 3D.DAT files for CALMET from MM5, Eta,
RUC, RAMS and TAPM output products (CALMM5, CALETA, CALRUC, CALRAMS, CALWRF and
CALTAPM) are described in the following sections, followed by a description of the 3D.DAT file format
in Section 7.7.
CALMM5 operates on the output from the PSU/NCAR Mesoscale Modeling System 5 (MM5), Version
3. It contains options to output the following MM5 variables: horizontal and vertical velocity
components, pressure, temperature, relative humidity, and water vapor, cloud, rain, snow, ice and graupel
mixing ratios (if available in MM5). Table 7-1 lists user-controlled options in CALMM5.INP.
The recommended format of the output file from CALMM5 for CALMET applications is the 3D.DAT
file format. Other output formats are available, including the old MM4.DAT format, but these are
intended for specialty uses. A 2D.DAT file may also be requested for surface variables (those without a
vertical profile). Table 7-2 lists the variables in 3D.DAT and MM4.DAT. Table 7-3 lists the variables in
2D.DAT files. Note that in 3D.DAT files, the five mixing ratios of cloud, rain, ice, snow, and graupel in
Table 7-2 can be zeros in most of profiles. To reduce file size in these cases, the zeros are compressed
using a negative value. For example, -5 means all five mixing ratios are zero.
CALMM5 reads and interprets all information contained in the MM5 header (physical options, dates, grid
size and location, etc.). Note that the MM5 header is read only once, for the first MM5 record in the MM5
file. MM5 grid specifications (latitude, longitude) are therefore saved at that time and assumed valid for
all subsequent times. This assumption fails if MM5 grid has moved during the MM5 simulation. The
output files from CALMM5 preserves some of the information of original MM5 configuration. In the
latest 3D.DAT/2D.DAT files (Data set Version 2.0), the header records have been modified to include
comment lines. These lines can be used to preserve detailed MM5 configurations in the further
development of CALMM5.
Data processing in CALMM5 is mainly due to the differences of coordinate systems between MM5 and
CALMET. In MM5, an Arakawa B-grid is used (Figure 7-1). There are two sets of horizontal grid
7-1
Section 7: Prognostic Meteorological Interfaces
locations: dot points and cross points. The dimension of cross points is one less than that of dot points,
that is, if NX in the dimension of dot points, then dimension of cross points is NX-1.
7-2
Section 7: Prognostic Meteorological Interfaces
7-3
Section 7: Prognostic Meteorological Interfaces
Variables 2D.DAT
Ground temperature Y
PBL height Y
Sensible heat flux Y
Latent heat flux Y
Frictional velocity Y
Short wave radiation at surface Y
Long wave radiation at surface Y
Air temperature at 2 m above ground Y*
Specific humidity at 2 m above the Y*
ground
U-wind at 10 m above the ground Y*
V-wind at 10 m above the ground Y*
Sea surface temperature Y
* Exists only when available in MM5 output
7-4
Section 7: Prognostic Meteorological Interfaces
MM5 defines U and V wind components on dot points, and all other variables on cross points. In the
vertical direction, MM5 uses sigma coordinate (Figure 7-2), where sigma is calculated using Equation 7-1
where P is pressure, and Ptop is the pressure at model top. P* is the pressure difference between the
surface and the model top. All variables are defined at half sigma levels, except vertical velocity (W),
which is defined on full sigma levels. Table 7-4 lists defined horizontal and vertical locations for MM5
variables used by CALMM5.
CALMET uses a non-staggered horizontal coordinate system (see Figure 7-3) and a terrain-following
vertical coordinate system. In horizontal, all variables are defined at the center of each grid cell.
Therefore the staggered MM5 variables have to be interpolated to one of its two set grid locations, either
dot points or cross points. Horizontal wind is the most important in air pollution modeling, which is
defined at MM5 dot points. To keep it unaffected, all MM5 variables defined at MM5 cross points are
interpolated to dot points using Equation 7-2 for internal grids
where xd is the value at a dot points, and xc is the value at four surrounding cross points. For a dot point
along the model boundary, only the two cross points next to it are used. The interpolation in Equation 7-2
is based on actual horizontal spatial distance in meters, not on latitude and longitude degrees. The X and
Y, or I and J, in MM5 horizontal coordinate system are confusing. MM5 uses X (or I) as its south-north
coordinate, and Y (or J) as its west-east coordinate, which is opposite to the conventional use of X and Y.
To eliminate this confusion, the output from CALMM5 uses conventional X and Y definition, that is, X
(or I) represents the west-east direction, and Y (or J) the south-north direction.
In the vertical direction, MM5 vertical velocities (present in MM5 Version 3 and only in non-hydrostatic
runs in MM5 Version 2) are computed at full sigma levels while all other variables are defined at half
sigma levels (see Figure 7-2). CAMM5 interpolates the vertical velocities at full sigma levels to half
sigma levels first using Equation 7-3
where k is vertical level index starting from the model top. Since the vertical velocity in MM5 is defined
at cross point, the vertical velocities from Equation 7-3 are further interpolated to dot points using
Equation 7-2.
7-5
Section 7: Prognostic Meteorological Interfaces
Table 7-4: Defined Horizontal and Vertical Locations for MM5 Variables Used in CALMM5
7-6
Section 7: Prognostic Meteorological Interfaces
Figure 7-1: MM5 horizontal grid (Arakawa B-grid) showing the staggering of the dot (.) and
cross (x) grid points. The smaller inner box is a representative mesh staggering for a
3:1 coarse-grid distance to fine-grid distance ratio (from NCAR, 1998).
7-7
Section 7: Prognostic Meteorological Interfaces
Figure 7-2: Schematic representation of the vertical structure used in MM5. The example is for
15 vertical layers. Dashed lines denote half-sigma levels, solid lines denote full-
sigma levels (from NCAR, 1998).
7-8
Section 7: Prognostic Meteorological Interfaces
Figure 7-3: CALMET non-staggered horizontal grid system. All variables are defined at the
grid points located in the center of each grid cell. The grid origin (Xo, Yo) is also
shown.
7-9
Section 7: Prognostic Meteorological Interfaces
CALMM5 must be run on the platform where MM5 was initially run or a system with compatible binary
format. This constraint arises from the fact that MM5 output is binary and therefore machine-dependent.
Compilation options (Fortran) for CALMM5 are also machine-dependent (e.g., on a Cray: cf77 calmm5.f
; on a Dec Alpha: f77 -convert big_endian calmm5.f ). But the CALMM5 output files is itself machine-
independent (currently only in ASCII format).
Detailed information about MM5 settings is included in the list file (CALMM5.LST). Information
needed for consistency in CALMET is included in the 3D.DAT header records as well. In particular, the
type of map projection used in MM5 is listed. Note that CALMET does not handle polar stereographic
projection and, in that case, CALMM5 simply converts (U, V) to wind speed and wind direction without
further processing of the wind direction. For Lambert conformal projection however, CALMM5 converts
the MM5 (U, V) to wind speed and wind direction with respect to true North.
CALMM5 preprocessor requires a set of common block and parameter files for compiling. It needs one
user-input file to run (CALMM5.INP, hard-wired filename), and produces two or three output files
(CALMM5.LST and 3D.DAT, and 2D.DAT if users select). Output filenames are determined by users.
CALMM5.INP
In CALMM5.INP, the user can specify the input and output file names, the period and the boundaries of
the subdomain to extract, the output format (3D.DAT), and which of the optional variables are output.
There are six sets of variables a user can request, in addition to the default output variables (pressure,
elevation, temperature, wind speed and wind direction):
1. Vertical velocity
2. Relative humidity and vapor mixing ratio
3. Cloud and rain mixing ratios (only combined with option 2)
4. Ice and snow mixing ratios (only combined with options 2+3)
5. Graupel mixing ratio (only combined with options 2+3+4)
6. Surface 2-D variables
If the user requests output variables unavailable in MM5, CALMM5 issues a warning in the list file
(CALMM5.LST or user-defined filename) and stops. For example, vertical velocity is only available in
non-hydrostatic MM5 runs.
7-10
Section 7: Prognostic Meteorological Interfaces
A sample CALMM5.INP is shown in Table 7-5 and a description of each input variable is provided in
Table 7-6.
CALMM5.LST
The list file contains information about the MM5 file and reports on CALMM5 processing, including
warnings and error messages. A sample list file is shown in Table 7-7.
3D.DAT, 2D.DAT
A sample 2D.DAT file is shown in Table 7-8 and each variable is described in Table 7-9. A sample
3D.DAT file is shown and described in section (7.7).
7-11
Section 7: Prognostic Meteorological Interfaces
7-12
Section 7: Prognostic Meteorological Interfaces
7-13
Section 7: Prognostic Meteorological Interfaces
7-14
Section 7: Prognostic Meteorological Interfaces
7-15
Section 7: Prognostic Meteorological Interfaces
mm5 options:
nx in MM5 (east) : 35
ny in MM5 (north) : 35
nz in MM5 (vertical): 32
dxy in MM5 (km) : 80.00000
Selected domain I: 5 8
J: 3 6
Number of Grids: 4 4
Selected domain SW lat/lon: 35.170 40.796
Selected domain SW X/Y: -1040.013 -1200.089
from grid point x= 5 to 8
from grid point y= 3 to 6
latitude range: 35.170 to: 37.648
longitude range: 40.390 to: 43.471
Data Created
---- Successful Calmm5 Run -----
7-16
Section 7: Prognostic Meteorological Interfaces
7-17
Section 7: Prognostic Meteorological Interfaces
0.262
0.168
0.059
5 3 35.1695 40.7959 274 19 35.5861 41.1768 266
6 3 35.2723 41.6849 236 8 35.6855 42.0720 272
7 3 35.3671 42.5765 194 8 35.7768 42.9698 209
8 3 35.4537 43.4707 192 8 35.8599 43.8701 293
5 4 35.8957 40.6638 330 8 36.3136 41.0481 388
6 4 35.9999 41.5625 333 8 36.4144 41.9532 405
7 4 36.0959 42.4641 337 8 36.5069 42.8611 462
8 4 36.1837 43.3681 440 6 36.5912 43.7715 796
5 5 36.6232 40.5287 445 6 37.0424 40.9165 510
6 5 36.7287 41.4374 470 2 37.1445 41.8318 577
7 5 36.8260 42.3490 614 6 37.2383 42.7499 1011
8 5 36.9150 43.2632 976 10 37.3237 43.6706 1637
5 6 37.3518 40.3905 684 6 37.7724 40.7818 814
6 6 37.4588 41.3094 718 6 37.8758 41.7075 970
7 6 37.5574 42.2313 1035 7 37.9708 42.6360 1582
8 6 37.6475 43.1559 1600 6 38.0574 43.5673 2172
2001122912 GROUND T
283.313 283.112 281.149 277.878
286.168 285.459 284.243 281.851
287.755 287.333 286.963 286.019
288.913 289.806 289.942 289.571
2001122912 PBL HGT
705.050 631.557 673.477 864.322
595.731 434.415 389.173 502.431
406.427 320.297 313.579 317.165
323.061 255.215 205.607 329.696
2001122912 SHFLUX
-1.269 -4.073 -3.807 0.320
4.609 -1.589 -2.952 -1.557
4.200 1.176 -1.228 -1.915
2.375 3.327 0.784 -2.030
7-18
Section 7: Prognostic Meteorological Interfaces
2001122912 LHFLUX
11.769 14.301 10.768 2.953
15.595 15.261 12.458 5.726
4.389 5.470 8.807 7.591
4.104 3.340 6.409 7.585
2001122912 UST
0.322 0.415 0.411 0.432
0.239 0.304 0.340 0.288
0.129 0.180 0.242 0.208
0.118 0.118 0.135 0.142
2001122912 SWDOWN
60.960 58.894 47.135 25.467
110.909 71.010 44.944 28.382
93.124 56.395 41.772 31.818
71.378 59.747 59.475 42.385
2001122912 LWDOWN
347.519 346.362 341.203 334.386
344.357 353.104 354.527 348.864
355.508 363.698 367.030 366.451
366.351 373.049 375.877 380.738
2001122912 T2
283.360 283.205 281.250 277.917
286.005 285.499 284.339 281.925
287.394 287.186 287.038 286.141
288.660 289.507 289.850 289.919
2001122912 Q2
7.899 7.788 7.184 6.346
8.475 8.350 7.938 7.394
8.843 8.819 8.655 8.460
8.766 8.958 8.886 8.489
2001122912 U10
-0.795 -2.630 -2.086 0.795
-0.621 -3.063 -3.624 -1.749
-0.133 -2.153 -3.236 -2.766
0.754 -0.480 -1.581 -2.042
7-19
Section 7: Prognostic Meteorological Interfaces
2001122912 V10
3.266 3.591 3.807 4.077
2.310 2.142 1.870 2.067
0.982 0.524 0.013 0.016
-0.763 -1.064 -0.813 -0.093
2001122912 TSEASFC
281.832 280.856 278.425 275.254
282.847 282.850 282.031 279.004
283.728 284.459 284.794 283.493
285.112 286.237 286.885 287.299
Table 7-9: MM5 Derived Surface 2-D Variables File Format (2D.DAT)
HEADER RECORDS
Header Record #1
Header Record #2
7-20
Section 7: Prognostic Meteorological Interfaces
7-21
Section 7: Prognostic Meteorological Interfaces
HEADER RECORDS
7-22
Section 7: Prognostic Meteorological Interfaces
HEADER RECORDS
Format (i4,3i2,i5,4i4)
Format (6i4,2f10.4,2f9.4)
7-23
Section 7: Prognostic Meteorological Interfaces
HEADER RECORDS
7-24
Section 7: Prognostic Meteorological Interfaces
DATA RECORDS
Data Record #1
Data Record #2
7-25
Section 7: Prognostic Meteorological Interfaces
CALETA operates on the output from the National Centers for Environmental Prediction (NCEP)
operational North American Mesoscale (NAM) model, formerly known as the Eta model, and the high-
resolution simulation products from the Weather Research and Forecasting (WRF) model.
Eta/NAM/WRF model output files are produced for use by the Advanced Weather Interactive Processing
System (AWIPS) in various AWIPS grids. Gridded model output is stored in GRIB format, and consists
of analysis and forecast fields for multiple parameters and levels. CALETA extracts and reformats a
subset of these fields, and creates a 3D.DAT file for CALMET (see section 7.5).
Several datasets are available, corresponding to AWIPS grids that cover the United States at various
spatial resolutions:
Maps of these domains are reproduced in Figures 7-4 and 7-5. Due to large size of files, the AWIPS 218
domain is processed into 54 tiles shown in Figure 7-6. Characteristics of each of these AWIPS grid
products are summarized in Table 7-10. For AWIPS 212, 218, and 245, the vertical resolution is 25 hPa
from 1000 hPa to 50 hPa, for a total of 39 levels. Nine vertical levels are available (1000, 925, 850, 700,
600, 500, 400, 300 and to 200 hPa.) for the other AWIPS grids.
The run frequency is four times per day for AWIPS 212 and 218, at initial hours of 00, 06, 12, and 18
UTC. It is once per day for AWIPS 245, 246, 247, and 249; and twice per day for AWIPS 248 and 250.
The initial time is 00 UTC for Alaska (AWIPS 249), 06 UTC for the western US (AWIPS 246), 12 UTC
for the central US (AWIPS 247), and 18 UTC for the eastern US (AWIPS 245). The initial time is 00, 12
UTC for Hawaii (AWIPS 250) and 06, 18UTC for Puerto Rico (AWIPS 248).
7-26
Section 7: Prognostic Meteorological Interfaces
Figure 7-4: Domain coverage for AWIPS 212 and 218 grids.
7-27
Section 7: Prognostic Meteorological Interfaces
Figure 7-5: Domain coverage for AWIPS 245, 246, 247, 248, 249, and 250 grids.
7-28
Section 7: Prognostic Meteorological Interfaces
7-29
Section 7: Prognostic Meteorological Interfaces
Model Output Grid Covered Area Grid Resolution Vertical Levels Run Time (UTC)
Format
(AWIPS)
ETA/NAM 212 North America 40 km Lambert Surface, 1000-50 00, 06, 12, 18
Conformal hPa, every 25 hPa
ETA/NAM 218 North America 12 km Lambert Surface, 1000-50 00, 06, 12, 18
(54 tiles) Conformal hPa, every 25 hPa
WRF/ETA 245 Eastern US 8 km Lambert Surface, 1000-50 18
Conformal hPa, every 25 hPa
WRF/ETA 246 Western US 8 km Lambert Surface, 1000-200 06
Conformal hPa in nine levels
WRF/ETA 247 Central US 8 km Lambert Surface, 1000-200 12
Conformal hPa in nine levels
WRF/ETA 248 Puerto Rico 0.075o X 0.075o Surface, 1000-200 06, 18
Latitude/Longitude hPa in nine levels
WRF/ETA 249 Alaska 10 km Polar Surface, 1000-200 00
Stereographic hPa in nine levels
WRF/ETA 250 Hawaii 0.075o X 0.075o Surface, 1000-200 00, 12
Latitude/Longitude hPa in nine levels
7-30
Section 7: Prognostic Meteorological Interfaces
All AWIPS files used by CALETA can be downloaded for the NCEP web site:
ftpprd.ncep.noaa.gov:/pub/data/nccf/com/nam/prod/
AWIPS 212 files also exist at the NWS web site:
tgftp.nws.noaa.gov:/SL.us008001/ST.opnl.
The content of AWIPS212 files on these two web sites is the same, but the naming convention is
different. Examples of file names on these web sites are listed in Table 7-11. These names do not contain
the date associated with the start of each model application period. Therefore, the files must either be
stored in separate folders or renamed. If files are not renamed, they should be placed in folders that carry
the date and time of the run in the form: YYYYMMDDHH. If they are renamed, CALETA expects an
extension at the end of the original name. The form of this extension is AWIPSXXX_YYYYMMDD
for files downloaded from the NCEP web site, and AWIPSXXX_YYYYMMDDHH for files
downloaded from the NWS web site, where XXX is the AWIPS grid and YYYYMMDDHH is the
UTC year, month, day and hour of initial date and time. Examples of renamed files are also listed in
Table 7-11.
CALETA.INP
In CALETA.INP, the user specifies the path of input AWIPS files, output file name, horizontal and
vertical ranges for extraction, the AWIPS grid format, beginning and ending dates, time interval of initial
hours of the runs, and three flags identifying the running mode and file naming convention. An example
of CALETA.INP is given in Table 7-12 and described in Table 7-13. In CALETA.INP, the content after
!is made up of comments that are not read by the program. There should be no blank space at the
beginning of any records, but there should be at least on blank space before ! if it exists.
Record 2 of CALETA.INP is the path of downloaded AWIPS files. For original AWIPS file names, files
must reside in subdirectories of this path with a name of the form YYYYMMDDHH. For example, if
Record 2 is d:\task2\eta\ and users want to create a 3D.DAT file using the simulation run at initial hour
06 UTC on April 2, 2005, AWIPS GRIB files should reside in the directory d:\task2\eta\2005040206\.
The subdirectory 2005040206 should not be included in Record 2, since the code will add this
subdirectory name to the path listed in Record 2. For renamed AWIPS file names, Record 2 is the actual
path of renamed files. For example, all files should be in the d:\task2\eta\ if downloaded files have
been renamed. The back slash (\) at the end of the path is needed; otherwise errors will occur. If the
path is current directory, .\ should be used.
7-31
Section 7: Prognostic Meteorological Interfaces
7-32
Section 7: Prognostic Meteorological Interfaces
7-33
Section 7: Prognostic Meteorological Interfaces
7-34
Section 7: Prognostic Meteorological Interfaces
Users are responsible for choosing correct horizontal and vertical ranges and correct AWIPS grid format
in Records 5-8, especially for the high-resolution WRF domains, although the code will check for
consistency. Extracted horizontal and vertical ranges should be within corresponding AWIPS domains.
Users should consult Figures 7-4 and 7-5 for geographical coverage. Vertical levels in current AWIPS
files are listed in Table 7-10. Selected vertical range in Line 7 should be within these limits.
Line 11 is the time interval in hours of initial ETA/NAM runs. The interval is 6 hours for AWIPS 212
and 218, 24 hours for AWIPS 245-247, 249, and 12 hours for AWIPS 248 and 250.
Line 12 is the flag for file naming convention. It should be 1 if file names have been renamed
following the rule in Table 7-11. It should be 0 if files keep their downloaded names; again users are
reminded to put files in date-hour subdirectories in this case.
Line 13 is the flag for run mode. The flag is 0 if running CALETA in the forecast mode, and it is 1
for the hybrid mode (see below).
Line 14 is the flag for the web site, where AWIPS files are downloaded. This flag should be 1 if files
are downloaded from the NCEP wet site, and it is 0 for files from the NWS web site. Since only
AWIPS 212 files from the NWS web site can be used to create 3D.DAT file, this flag may be set to zero
only for AWIPS 212 files. For all other AWIPS files, this flag must be set to 1.
CALETA can be applied in both forecast mode and historical mode (hybrid mode). In the forecast mode,
CALETA uses AWIPS files from one run to create a 3D.DAT file. Table 7-14 gives an example for
AWIPS 212 GRIB files used in a 24-hour 3D.DAT file in this mode. In the hybrid mode, CALETA uses
the latest AWIPS files from multiple ETA/NAM runs to create a 3D.DAT file (Table 7-15). In this mode,
if there are any missing files in the processing period, the latest existing files from previous runs will be
used as substitutes within a 48-hour limit (Table 7-16).
CALETA.LST
The list file of CALETA records various information from processing, including user-specified input
controls, configurations of AWIPS files, processed files etc. This file should be consulted if CALETA
fails to produce a complete 3D.DAT. An example of list file is given in Table 7-17.
3D.DAT
A sample 3D.DAT file is shown and described in section (7.7).
7-35
Section 7: Prognostic Meteorological Interfaces
Table 7-14: AWIPS 212 Files in CALETA Forecast Mode for 24-Hour Period Starting at 00 Z
(Files in red are those used to create 3D.DAT)
7-36
Section 7: Prognostic Meteorological Interfaces
Table 7-15: AWIPS 212 Files in CALETA Hybrid Mode for 24-Hour Period Starting at 00Z
(Files in red are those used to create 3D.DAT)
7-37
Section 7: Prognostic Meteorological Interfaces
Table 7-16: AWIPS 212 Files in CALETA Hybrid Mode for 24-Hour Period Starting at 00Z
with Missing Files
(Files in red are those used to create 3D.DAT)
The missing file at ETA-12Z 3-hour forecast is substituted using the file at ETA 06Z 9-hour forecast.
X marks a missing file.
7-38
Section 7: Prognostic Meteorological Interfaces
Control file:caleta_212.inp
latitude range: 30.00 31.00
longitude range: -98.00 -96.50
Vertical Levels: 1 25
AWIPS Grid Format: 212
7-39
Section 7: Prognostic Meteorological Interfaces
16 625.000000
17 600.000000
18 575.000000
19 550.000000
20 525.000000
21 500.000000
22 475.000000
23 450.000000
24 425.000000
25 400.000000
26 375.000000
27 350.000000
28 325.000000
29 300.000000
30 275.000000
31 250.000000
32 225.000000
33 200.000000
34 175.000000
35 150.000000
36 125.000000
37 100.000000
38 75.0000000
39 50.0000000
7-40
Section 7: Prognostic Meteorological Interfaces
7-41
Section 7: Prognostic Meteorological Interfaces
CALRUC operates on the output from the National Centers for Environmental Prediction (NCEP)
operational Rapid Update Cycle (RUC) model. Gridded model output is stored in GRIB format, and
consists of analysis and forecast fields for multiple parameters and levels. CALRUC extracts and
reformats a subset of these fields, and creates a 3D.DAT file for CALMET (see section 7.5).
RUC datasets are available at 20km and 40km resolution, covering the same domain. A map of the
domain is reproduced in Figure 7-7. The NOAA/Earth System Research Laboratory RUC development
group report that the key features of RUC include:
high-frequency (every hour) short-range weather model forecasts (out to 12+ hours)
high-frequency (every hour) 3-D objective analyses over the contiguous United States,
assimilating the following types of observations:
o commercial aircraft
o wind profilers
o surface reporting stations and buoys (including cloud, visibility, current weather)
The run frequency is hourly, with hourly analysis fields. Forecast fields are produced for the subsequent
3 hours. Additional forecasts for +6, +9, and +12 hours are made every 3 hours starting at 00 UTC.
7-42
Section 7: Prognostic Meteorological Interfaces
Figure 7-7: Domain coverage for RUC 20km and 40km grids. Both are denoted by the solid-
line boundary. The dashed-line boundary is the NAM/ETA computational domain.
7-43
Section 7: Prognostic Meteorological Interfaces
RUC model output files can be downloaded directly from the NCEP or NWS web site. The NCEP web
site address is
ftpprd.ncep.noaa.gov:/pub/data/nccf/com/ruc/prod/
The NWS web site address is
tgftp.nws.noaa.gov:/SL.us008001/ST.opnl.
File names at NCEP and NMS are different, but the contents of corresponding files are the same. Table
7-18 lists the file name formats. In the table, HH represents initial time of RUC runs, and hh or hhhh
represents valid forecast hours corresponding to the initial hour of the RUC run. The current version of
CALRUC uses a different naming convention, as indicated in Table 7-18. Files downloaded from NCEP
or NWS web sites must be renamed as indicated prior to running CALRUC. Note that the hybrid level
versions of the RUC GRIB files are preferred for preparing 3D.DAT files for CALMET.
CALRUC.INP
In CALRUC.INP, the user specifies the beginning and ending dates, output time interval, path of input
CALRUC files, output file names, the RUC grid and data type, the output format, horizontal and vertical
ranges for extraction, and a user-defined shift to apply to geopotential heights. An example of
CALRUC.INP is given in Table 7-19 and described in Table 7-20. In CALRUC.INP, the content after
! is made up of comments that are not read by the program. There should be no blank space at the
beginning of any records, but there should be at least on blank space before ! if it exists.
7-44
Section 7: Prognostic Meteorological Interfaces
HH is the initial hour in UTC for RUC runs; hh or hhhh is the forecast hours corresponding to an initial
hour RUC run. YYYYMMDD in file names is the 4-digit year, and 2-digit month and day.
7-45
Section 7: Prognostic Meteorological Interfaces
7-46
Section 7: Prognostic Meteorological Interfaces
7-47
Section 7: Prognostic Meteorological Interfaces
CALRUC.LST
The list file of CALRUC records various information from processing, including user-specified input
controls, configurations of RUC files, processed files etc. This file should be consulted if CALRUC fails
to produce a complete 3D.DAT. An example of list file is given in Table 7-21.
3D.DAT
A sample 3D.DAT file is shown and described in section (7.7).
7-48
Section 7: Prognostic Meteorological Interfaces
3D
Output CALRUC/3D.DAT file: TEST.dat
calruc log file: TEST.lst
Selected domain I: 10 15
J: 10 15
Number of Grids: 6 6
Selected domain SW lat/lon: 20.181 -123.533
Selected domain SW X/Y: -2681.928 -1909.858
SWIPS domain Grids (NX/NY): 151 113
SWIPS domain SW lat/lon: 16.281 -126.138
SWIPS domain SW X/Y: -3332.034 -2214.661
AWIPS Fake Center I/J & Latc/Lonc: 76 57 39.4600 -95.0000
AWIPS True Lat1/Lat2 & Lon_ref: 25.0000 25.0000 95.0000
AWIPS Grid size: 40.6353
7-49
Section 7: Prognostic Meteorological Interfaces
7-50
Section 7: Prognostic Meteorological Interfaces
CALRAMS operates on the output from the NOAA Air Resources Laboratory (ARL) Regional
Atmospheric Modeling System (RAMS), Version 4.3. It extracts and reformats a subset of the gridded
model output fields, and creates a 3D.DAT file for CALMET (see section 7.5).
RAMS was developed at the Colorado State University and the *ASTeR division of Mission Research
Corporation in the 1980s. The main goal of the modeling system is for simulating and forecasting
mesoscale meteorological fields, although it may be applied at both smaller and global scales.
Specialized studies have applied RAMS at scales as small as 1m for boundary layer simulations and flows
around individual buildings. RAMS can be initialized from NCEP model fields (Eta, AVN, NGM, etc.)
in ARL packed form. Many different spatially varying surface variables such as soil moisture, soil and
vegetation type, canopy temperature and water content, terrain height, land roughness, land percentage
and sea surface temperature (SST) are ingested into RAMS on the model grid.
The horizontal coordinate used in RAMS is the Arakawa-C staggered grid of thermodynamic and
momentum variables. The advantage of this staggered grid coordinating is to reduce finite differencing
errors. The grid configuration is shown in Figure 7-8. The momentum variables of wind U and V
components are defined at * points, while the thermodynamic variables of temperature (T), specific
humidity (Q), pressure (P) are defined at + points.
*V(I,J)
T,Q,P
U(I-1,J) * + *
U(I,J)
(I,J)
7-51
Section 7: Prognostic Meteorological Interfaces
Zagl
Z* 7-4
Zterr
1
Ztop
where Zagl is the height above the ground, the Zterr is the topographical height at grid, and Ztop is the height
of model top. In this coordinate system, each level is a given fraction of the distance between the surface
and the model top. The variables are staggered in vertical. The horizontal momentum of U and V
components and all thermodynamic variables are defined at the full Z* levels, while the vertical velocity
(W) is defined at half-Z* levels. The model top height is usually about 15-20 km above the ground.
The 3D.DAT file for CALMET needs a uniform coordinate system in both horizontal and vertical
directions. Since most variables are at thermodynamic points, a two-grid averaging is used to interpolate
momentum variables of U, V, and W in the staggered Arakawa-C coordinate system to its thermodynamic
point. The set of thermodynamic point coordinates is used in the 3D.DAT file.
The CALRAMS processor runs on a UNIX platform and includes a host program called CALRAMS.F90
and a set of subroutines that perform various functions.
CALRAMS was designed for a particular application of RAMS, with specific file names. Each RAMS
file consists of one hour of model output for one nest. The naming convention is:
iw-A-YYYY-MM-DD-HH0000-g1.vfm
iw-A-YYYY-MM-DD-HH0000-g2.vfm
iw-A-YYYY-MM-DD-HH0000-g3.vfm
iw-A-YYYY-MM-DD-HH0000-g4.vfm
iw-A-YYYY-MM-DD-HH0000-head.txt
where YYYY is the 4-digit year, MM is the 2-digit month, DD is the 2-digit day, and HH is the 2-digit
hour. The file with head.txt is the header file providing the RAMS configuration and output variables.
The part -g1 g2 g3 g4 represents the nesting levels for the output. Because many hours are typically
processed in one simulation, creating a 3D.DAT file requires many RAMS files. These file names are
constructed by CALRAMS for the processing period, so all RAMS files for the period must reside in a
single directory. Applications that use different file names will require changes to the CALRAMS code.
7-52
Section 7: Prognostic Meteorological Interfaces
CALRAMS.INP
In CALRUC.INP, the user specifies the names of the output 3D.DAT file and list file, and the directory
that contains the RAMS output files. The user may extract a subset of both the RAMS grid and the
RAMS simulation period by specifying the beginning and ending indices of the RAMS grid in the easting
(X), northing (Y), and surface to top (Z) directions and the beginning and ending dates for the desired
processing period. There is more than one nesting in RAMS, and each nested domain usually covers a
different area. The nest must be identified in the control file.
CALRAMS.LST
The list file of CALRAMS records various information from processing, including user-specified input
controls, configurations of RAMS files, processed files etc. This file should be consulted if CALRAMS
fails to produce a complete 3D.DAT. An example list file is given in Table 7-24.
3D.DAT
A sample 3D.DAT file is shown and described in section (7.7).
7-53
Section 7: Prognostic Meteorological Interfaces
7-54
Section 7: Prognostic Meteorological Interfaces
7-55
Section 7: Prognostic Meteorological Interfaces
WRF has been a collaborative partnership, principally among the National Center for Atmospheric
Research (NCAR), the National Oceanic and Atmospheric Administration (the National Centers for
Environmental Prediction (NCEP) and the Forecast Systems Laboratory (FSL), the Air Force Weather
Agency (AFWA), the Naval Research Laboratory, the University of Oklahoma, and the Federal Aviation
Administration (FAA). WRF features multiple dynamical cores, a 3-dimensional variational (3DVAR)
data assimilation system, and a software architecture allowing for computational parallelism and system
extensibility.
CALWRF
CALWRF.INP
In CALWRF.INP, the user specifies the names of the output 3D.DAT file and list file, and the directory
that contains the WRF output files. The user may extract a subset of both the WRF grid and the WRF
simulation period by specifying the beginning and ending indices of the WRF grid in the easting (X),
northing (Y), and surface to top (Z) directions and the beginning and ending dates for the desired
processing period.
An example of CALWRF.INP is given in Table 7-29 and is described in Table 7-30. In CALWRF.INP,
the content after ! is made up of comments that are not read by the program. There should be no blank
space at the beginning of any records, but there should be at least one blank space before ! if it exists.
CALWRF.LST
The list file of CALWRF records various information from processing, including user-specified input
controls, configurations of WRF files, processed files etc. This file should be consulted if CALWRF fails
to produce a complete 3D.DAT. An example list file is given in Table 7-31.
7-56
Section 7: Prognostic Meteorological Interfaces
7-57
Section 7: Prognostic Meteorological Interfaces
7-58
Section 7: Prognostic Meteorological Interfaces
7-59
Section 7: Prognostic Meteorological Interfaces
CALTAPM operates on the output from CSIROs Division of Atmospheric Research, The Air Pollution
Model, (TAPM). It outputs all the TAPM 3D variables: wind speed, wind direction, temperature, relative
humidity, potential temperature and turbulent kinetic energy. It also outputs the 2D variables total solar
radiation, net radiation, sensible heat flux, evaporative heat flux, friction velocity, potential virtual
temperature scale, potential temperature scale, convective velocity scale, mixing height, surface
temperature and rainfall. Table 7-32 lists the variables extracted using CALTAPM which are output to the
3D.DAT file format.
CALTAPM reads and interprets all information contained in the TAPM configuration input file headers
(physical options, dates, grid size and location, etc.). TAPM requires a grid centre coordinate of latitude
and longitude corresponding to the centre of the chosen grid domains. TAPM uses a Cartesian system
where the x is positive from west to east and y is positive from south to north and specifies the centre of
the local system with respect to the latitude and longitude of the grid centre. CALTAPM assumes the
TAPM coordinate system is UTM and Datum of WGS-84 and uses this system directly in the 3D data
file. Like CALMET TAPM uses a non-staggered horizontal coordinate system (see Figure 7-3) and a
terrain-following vertical coordinate system. In the horizontal, all variables are defined at the center of
each grid cell and the first level is 10m. The vertical levels of TAPM are used directly with no
transformation to sigma levels in the 3D data file.
7-60
Section 7: Prognostic Meteorological Interfaces
Variables 3D.DAT
Vertical profile
Pressure Y
Height above M.S.L Y
Temperature Y
Wind direction Y
Wind speed Y
Vertical velocity Y
Relative humidity Y
Vapor mixing ratio Y
Surface variables in header
Sea level pressure Y
Rain fall Y
Snow cover Y**
Short wave radiation at surface Y
Long wave radiation at surface Y
Air temperature at 2 meters above ground Y**
Specific humidity at 2 meters above ground Y**
Wind direction at 10m meters above ground Y**
Wind speed at 10 meters above ground Y**
Sea surface temperature Y
* Exists only when available in TAPM output.
** Set to zero or blank if not available.
7-61
Section 7: Prognostic Meteorological Interfaces
The output from TAPM is an ASCII file and is machine-independent. CALTAPM simply transforms the
data into the correct file format compatible with CALMET. CALTAPM is easily executed on a pc.
Detailed information about TAPM settings is included in the list file (CALTAPM.LST) as shown in
Table 7-33. Information needed for consistency in CALMET is included in the 3D.DAT header records
as well. CALTAPM preprocessor requires a set of common block and parameter files for compiling. It
needs one user-input file to run (CALTAPM.INP, hard-wired filename), and produces two output files
(CALTAPM.LST and 3D.DAT). Output filenames are determined by users.
TAPM The following steps below must be followed in order to generate a 3-Dimensional data file
(3D.DAT) from TAPM using CALTAPM.
1. First run TAPM according to the instruction manual prepared by CSIRO (Hurley 2005). It is
recommended to run TAPM using multiple nested grids, at least 3 nests with > 30 vertical levels.
2. Once TAPM has finished executing, use the Utilities command found on the File Menu
Command of the TAPM GUI to convert the TAPM binary output file, *.OUT to an ASCII
*.OUTA file. Usually the innermost nest is converted since it has the finest resolution and detail.
CALTAPM.INP
In CALTAPM.INP, the user can specify the input and output file names and the period to extract. The
boundaries of the domain are not required as CALTAPM will transform the entire domain. It is up to the
user to select the correct model domain when creating a 3D.DAT file from TAPM model output.
A sample CALTAPM.INP is shown in Table 7-26 and a description of each input variable is provided in
Table 7-6.
CALTAPM.LST
The list file contains information about the TAPM file and reports on CALTAPM processing, including
warnings and error messages. A sample list file is shown in Table 7-26.
3D.DAT
A sample 3D.DAT file is shown and described in section (7.7).
7-62
Section 7: Prognostic Meteorological Interfaces
7-63
Section 7: Prognostic Meteorological Interfaces
7-64
Section 7: Prognostic Meteorological Interfaces
NX = 41 NY = 41 NZ = 20
DX = 10000.0000 DY = 10000.0000
ZS(1,1) = 873.080017 ZS(nx,ny) = 0.00000000E+00
Z(1,1,1) = 9.02999973 Z(nx,ny,nz) = 8000.00000
Etc.
7-65
Section 7: Prognostic Meteorological Interfaces
1997 33115 1 1 915.9 0.00 0 0.0 -97.6 278.9 4.53 163.0 3.0 278.9
915 882 279.0 163 3.0 0.00 72 4.63
911 918 278.7 163 6.0 0.00 74 4.63
906 963 278.3 162 7.1 0.00 74 4.53
7-66
Section 7: Prognostic Meteorological Interfaces
The 3D.DAT file is the primary output from CALMM5, CALETA, CALRUC, CALWRF, CALRAMS
and CALTAPM, and provides CALMET with a common mesoscale model data input format for all of the
corresponding models (MM5, Eta, RUC, RAMS, WRF and TAPM). The format of the 3D.DAT file
originated with the CALMM5 processor and contains some information from MM5 that is not provided
or needed to document other models. When this is the case, such fields are either set to zero, or to
missing values (usually negative numbers).
A sample 3D.DAT file is provided in Table 7-32 and described in Table 7-33.
7-67
Section 7: Prognostic Meteorological Interfaces
7-68
Section 7: Prognostic Meteorological Interfaces
7-69
Section 7: Prognostic Meteorological Interfaces
7-70
Section 7: Prognostic Meteorological Interfaces
HEADER RECORDS
Header Record #1
Variable No. Variable Type Description
1 DATASET Char*16 Dataset name (3D.DAT)
2 DATAVER Char*16 Dataset version
3 DATAMOD Char*64 Dataset message field
Format(2a16,a64)
7-71
Section 7: Prognostic Meteorological Interfaces
HEADER RECORDS
Format(a4,f9.4,f10.4,2f7.2,2f10.3,f8.3,2i4,i3)
7-72
Section 7: Prognostic Meteorological Interfaces
7-73
Section 7: Prognostic Meteorological Interfaces
7-74
Section 7: Prognostic Meteorological Interfaces
7-75
Section 7: Prognostic Meteorological Interfaces
HEADER RECORDS
format (6i4,2f10.4,2f9.4)
7-76
Section 7: Prognostic Meteorological Interfaces
HEADER RECORDS
7-77
Section 7: Prognostic Meteorological Interfaces
8 RAIN real total rainfall accumulated on the ground for the past
hour (cm)
9 SC integer snow cover indicator (0 or 1, where 1 = snow cover was
determined to be present for the MM5 simulation)
10* RADSW real Short wave radiation at the surface (W/m**2)
11* RADLW real long wave radiation at the top (W/m**2)
12* T2 real Air temperature at 2 m (K), zero or blank if not exist
13* Q2 real Specific humidity at 2 m (g/kg), zero or blank if not
exist
14* WD10 real Wind direction of 10-m wind (m/s), zero or blank if not
exist
15* WS10 Real Wind speed of 10-m wind (m/s), zero or blank if not
exist
16* SST real Sea surface temperature (K), zero or blank if not exist
format(i4,3i2,2i3,f7.1,f5.2,i2,3f8.1,f8.2,3f8.1)
* Set to all zero if not existing in output of MM5 or other models
MM5 Note: WD10 and WS10 are MM5 output at dot points, other meteorological variables are
interpolated in CALMM5 to dot points from MM5 output at cross points.
7-78
Section 7: Prognostic Meteorological Interfaces
Format( i4,i6,f6.1,i4,f5.1,f6.2,i3,f5.2,5f6.3)
MM5 Note: WD and WS are MM5 output at dot points,
other variables are interpolated in CALMM5 to dot
points from MM5 output at cross points.
w
Variable present in the record only if IOUTW = 1
q
Variable present in the record only if IOUTQ = 1
c
Variable present in the record only if IOUTC = 1 (possible only if IOUTQ=1)
I
Variable present in the record only if IOUTI = 1 (possible only if IOUTQ = IOUTC = 1)
g
Variable present in the record only if IOUTG = 1 (possible only if IOUTQ = IOUTC = IOUTI=1)
* Output for variables 9 13 will be compressed using a negative number if ALL are zero. -5.0 represents all five variables
are zero.
7-79
Section 8: CALMET Model Files
The CALMET model obtains the necessary control information and input meteorological data from a
number of different input files. The control file (CALMET.INP) contains the data that define a particular
model run, such as beginning and ending date and time, horizontal and vertical grid data, and model
option flags. Geophysical data, including terrain elevations, land use, and surface characteristics, are read
from a formatted data file called GEO.DAT.
The hourly surface meteorological observations are contained in the surface data file (SURF.DAT). If
overwater temperatures are being calculated separately, this file must contain only land stations. This file
can be either a formatted or an unformatted file generated by the SMERGE preprocessor program or a
free-formatted, user-prepared file, depending on options specified in the control file. Upper air
meteorological data are read from a series of data files called UPn.DAT, where n is the upper air station
number (e.g., n=1,2,3,...). The data for each upper air station are stored in a separate data file.
Hourly precipitation observations are contained in a file called PRECIP.DAT. This file can be a
formatted or an unformatted file generated by the PMERGE preprocessor program or a free-formatted,
user-prepared file. Overwater meteorological data are read from a series of data files called SEAn.DAT,
where n is the overwater station number (e.g., n= 1,2,3,...). The data for each overwater station are stored
in a separate file. If overwater default parameters for temperature, air-sea temperature difference, etc. are
being used and separate overwater temperatures are not being calculated, then overwater stations can be
placed in the SURF.DAT file.
CALMET contains an option to use gridded prognostic model output from CSUMM, MM4, or MM5 as
model input. If this option is selected, the CSUMM gridded prognostic model wind fields are read from
an unformatted data file called PROG.DAT, the MM4/MM5 prognostic output are read from a formatted
data file called MM4.DAT, or the MM5 fields may be read from a formatted file called 3D.DAT
(formerly MM5.DAT).
In its default mode, CALMET computes domain-averaged winds, temperature lapse rates and surface
temperatures from the hourly surface observations and twice-daily upper air data contained in the
SURF.DAT, UPn.DAT, and, if present, SEAn.DAT files. However, the model contains an option for the
user to specify pre-computed values for these parameters from an optional file DIAG.DAT.
The main CALMET output files are a list file (CALMET.LST) containing a listing of the model inputs
and user-selected printouts of the output meteorological values and an optional, unformatted disk file
(CALMET.DAT or PACOUT.DAT) containing the hourly gridded meteorological data produced by the
model. In addition, several additional optional list files (TEST.PRT, TEST.OUT, TEST.KIN,
TEST.FRD, and TEST.SLP) can be created. These files, provided primarily for model testing purposes,
contain intermediate versions of the wind fields at various points in the diagnostic wind field analysis
8-1
Section 8: CALMET Model Files
(e.g., after evaluation of kinematic effects, slope flows, terrain blocking effects, divergence minimization,
etc.).
The CALMET input and output files are listed in Table 8-1. The table shows the FORTRAN unit
numbers associated with each file. These unit numbers are specified in a parameter file, PARAMS.MET,
and can easily be modified to accommodate system-dependent restrictions on allowable unit numbers.
The user should make sure that the beginning and total number of UPn.DAT and SEAn.DAT files are
defined such that there is no overlap among unit numbers.
The name and full path of each of the CALMET input and output files (except one) is assigned in the
control file (CALMET.INP) which is specified on the command line. For example, on a DOS system,
CALMET d:\CALMET\CALMET.INP
will execute the CALMET code (CALMET.EXE) and read the input and output filenames from
d:\CALMET\CALMET.INP. If not specified on the command line, the default name of the control file is
CALMET.INP in the current working directory.
In the following sections, the contents and format of each CALMET input file are described in detail.
8-2
Section 8: CALMET Model Files
IO6 CALMET.LST output formatted List file (line printer output file)
created by CALMET.
8-3
Section 8: CALMET Model Files
Default
Unit File Name Type Format Description
IO30 UP1.DAT input formatted Upper air data (READ62 output) for upper air
IO30+1 UP2.DAT station #n. (Used only if IDIOPT5=0.)
IO30+2 UP3.DAT
UPn.DAT
IO80 SEA1.DAT input formatted Overwater meteorological data for station #n.
IO80+1 SEA2.DAT (Used only if NOWSTA > 0).
IO80+2 SEA3.DAT
SEAn.DAT
IO20 PROG.DAT input unformatted Gridded fields of prognostic wind data to use
(CSUMM) as input to the diagnostic wind field module.
or (Used only if IPROG > 0.)
IO20 M3DDAT.DAT input formatted
(MM4/MM5/3D)
IO21 TEST.PRT output unformatted Intermediate winds and misc. input and
internal variables. (Created only if at least one
wind field print option activated (IPR0-IPR8).)
IO22 TEST.OUT output formatted Final wind fields. (Created only if IPR8=1 and
IOUTD=1.)
IO23 TEST.KIN output formatted Wind fields after kinematic effects. (Created
only if IPR5=1 and IOUTD=1.)
IO24 TEST.FRD output formatted Wind fields after Froude No. effects. (Created
only if IPR6=1 and IOUTD=1.)
IO25 TEST.SLP output formatted Wind fields after slope flow effects. (Created
only if IPR7=1 and IOUTD=1.)
8-4
Section 8: CALMET Model Files
The selection and control of CALMET options are determined by user-specified inputs contained in a file
called the control file. This file, CALMET.INP, contains all the information necessary to define a model
run (e.g., beginning and ending date and time, grid specifications, technical options, output options, etc.).
CALMET.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
CALMET.
The CALMET 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. Although the model can be set up and run entirely within the
GUI system, the interface is designed to always create the ASCII CALMET.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 CALMET.INP file should be directly
transportable to virtually any non-PC system.
When CALMET is setup and run entirely on a non-PC system, or if the GUI is not used on a PC, the
control file CALMET.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 CALMET list file when CALMET is executed
from the command line. Note, however, that the GUI always writes the standard comments to
CALMET.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 CALMET 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 10 major Input Groups preceded by a three line run title (see Table 8-2).
The Input Groups must appear in order, i.e., Input Group 0 followed by Input Group 1, etc. However, the
variables within an Input Group may appear in any order. Each Input Group must end with an Input
Group terminator consisting of the word END between two delimiters (i.e., !END!). Even a blank Input
Group (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. Note that Input Group 0 consists of four
subgroups.
A sample control file is shown in Table 8-3. It is designed to be flexible and easy to use. The control file
is read by a set of FORTRAN text processing routines contained within CALMET which allow the user
considerable flexibility in designing and customizing the input file. An unlimited amount of optional
8-5
Section 8: CALMET Model Files
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 user comment information and is echoed back but otherwise ignored by the
input module. 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 !). The variable name can be lower or upper case, or a mixture of both (i.e.,
XX, xx, Xx are all equivalent). The variable can be a real, integer or logical array or 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. 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 user comment information 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'). Input Groups 7-9 are handled differently (making use of FORTRAN free
reads), because they contain Character*4 input data. The data portion of each record in Input Groups 7-9
must start in Column 9 or greater of the record.
Each CALMET control file input variable is described in Table 8-4. The control file module has a list of
the variable names and array dimensions for each Input Group. Checks are performed to ensure that the
proper variable names are entered by the user, 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.
Note that if LLCONF=T, then all x,y coordinates in the CALMET.INP file must be specified on the
chosen Lambert Conformal projection grid, rather than in UTM coordinates.
A standard control file is provided along with the CALMET test case run. It is recommended that a copy
of the standard control file be permanently stored as a backup. Working copies of the control file may be
made and then edited and customized by the user for a particular application.
8-6
Section 8: CALMET Model Files
* Run Title
First three lines of control file (up to 80 characters/line)
3 Output Options
Printer control variables, and disk output control variables
8-7
Section 8: CALMET Model Files
-------------------------------------------------------------------------------
Subgroup (a)
------------
Default Name Type File Name
------------ ---- ---------
GEO.DAT input ! GEODAT=GEO.DAT !
SURF.DAT input ! SRFDAT=SURF_10M.DAT !
CLOUD.DAT input * CLDDAT= *
PRECIP.DAT input * PRCDAT= *
WT.DAT input * WTDAT= *
8-8
Section 8: CALMET Model Files
--------------------------------------------------------------------------------
Subgroup (b)
---------------------------------
Upper air files (one per station)
---------------------------------
Default Name Type File Name
------------ ---- ---------
UP1.DAT input 1 ! UPDAT=UP_30M.DAT! !END!
--------------------------------------------------------------------------------
Subgroup (c)
-----------------------------------------
Overwater station files (one per station)
-----------------------------------------
Default Name Type File Name
------------ ---- ---------
SEA1.DAT input 1 ! SEADAT=SEA.DAT! !END!
Subgroup (d)
-------------------------------------------------
MM4/MM5/M3D.DAT files (consecutive or overlapping)
-------------------------------------------------
Default Name Type File Name
------------ ---- ---------
MM51.DAT input 1 * M3DDAT=MM5.DAT* *END*
Subgroup (e)
-------------------------------------------------
IGF-CALMET.DAT files (consecutive or overlapping)
-------------------------------------------------
Default Name Type File Name
------------ ---- ---------
IGFn.DAT input 1 * IGFDAT=CALMET0.DAT * *END*
--------------------------------------------------------------------------------
Subgroup (f)
----------------
Other file names
----------------
8-9
Section 8: CALMET Model Files
!END!
-------------------------------------------------------------------------------
8-10
Section 8: CALMET Model Files
!END!
Input Group 2
Map projection
(PMAP) Default: UTM ! PMAP = UTM !
8-11
Section 8: CALMET Model Files
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
------------
8-12
Section 8: CALMET Model Files
!END!
Input Group 3
-------------------------------------------------------------------------------
8-13
Section 8: CALMET Model Files
Print interval
(IPRINF) in hours Default: 1 ! IPRINF = 6 !
(Meteorological fields are printed
every 6 hours)
8-14
Section 8: CALMET Model Files
Variable Print ?
(0 = do not print,
1 = print)
-------- ------------------
8-15
Section 8: CALMET Model Files
!END!
8-16
Section 8: CALMET Model Files
-------------------------------------------------------------------------------
FILE FORMATS
!END!
8-17
Section 8: CALMET Model Files
-------------------------------------------------------------------------------
8-18
Section 8: CALMET Model Files
! BIAS = -1 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 !
8-19
Section 8: CALMET Model Files
Units: km
Relative weighting of the first
guess field and observations in the
SURFACE layer (R1) No default ! R1 = 50. !
(R1 is the distance from an Units: km
observational station at which the
observation and first guess field are
equally weighted)
8-20
Section 8: CALMET Model Files
BARRIER INFORMATION
X coordinate of BEGINNING
of each barrier (XBBAR(NBAR)) ! XBBAR = 0. !
Y coordinate of BEGINNING
of each barrier (YBBAR(NBAR)) ! YBBAR = 0. !
X coordinate of ENDING
of each barrier (XEBAR(NBAR)) ! XEBAR = 0. !
Y coordinate of ENDING
of each barrier (YEBAR(NBAR)) ! YEBAR = 0. !
8-21
Section 8: CALMET Model Files
8-22
Section 8: CALMET Model Files
!END!
Input Group 6
8-23
Section 8: CALMET Model Files
Input Group 6
8-24
Section 8: CALMET Model Files
8-25
Section 8: CALMET Model Files
Input Group 6
8-26
Section 8: CALMET Model Files
TEMPERATURE PARAMETERS
8-27
Section 8: CALMET Model Files
Interpolation type
(1 = 1/R ; 2 = 1/R**2) Default:1 ! IRAD = 1 !
8-28
Section 8: CALMET Model Files
Input Group 7
-------------------------------------------------------------------------------
1 2
Name ID X coord. Y coord. Time Anem.
(km) (km) zone Ht.(m)
----------------------------------------------------------
! SS1 ='SS1 ' 1 277.000 3206.500 6 10 !
-------------------
1
Four character string for station name
(MUST START IN COLUMN 9)
2
Five digit integer for station ID
!END!
Input Group 8
-------------------------------------------------------------------------------
1 2
Name ID X coord. Y coord. Time zone
(km) (km)
-----------------------------------------------
! US1 ='UP1 ' 0 276.800 3206.400 6 !
-------------------
1
Four character string for station name
(MUST START IN COLUMN 9)
2
Five digit integer for station ID
!END!
8-29
Section 8: CALMET Model Files
Input Group 9
-------------------------------------------------------------------------------
1 2
Name Station X coord. Y coord.
Code (km) (km)
------------------------------------
-------------------
1
Four character string for station name
(MUST START IN COLUMN 9)
2
Six digit station code composed of state
code (first 2 digits) and station ID (last
4 digits)
!END!
8-30
Section 8: CALMET Model Files
DATASET C*16 File type definition record (first record of file) read with CALMET.INP
FORTRAN format (2a16,a64)
DATAVER C*16 2.1
DATAMOD C*64 -
TITLE(3) char*80 array Run title (lines 2-4 of CALMET control file). Read -
with FORTRAN A80 format.
Subgroup (a)
WTDAT C*70 Gridded weighting obs. vs. MM4 data file WT.DAT
Subgroup (b)
UPDAT C*70 Upper air data files (repeated NUSTA times) UPn.DAT
Subgroup (c)
Subgroup (d)
Subgroup (e)
8-31
Section 8: CALMET Model Files
Subgroup (f)
TSTKIN C*70 Test file containing winds after kinematic effects TEST.KIN
TSTFRD C*70 Test file containing winds after Froude number effects TEST.FRD
TSTSLP C*70 Test file containing winds after slope flow effects TEST.SLP
Input Group 1
Variable Type Description Default Value
8-32
Section 8: CALMET Model Files
Input Group 1
Variable Type Description Default Value
8-33
Section 8: CALMET Model Files
Input Group 1
Variable Type Description Default Value
RLON0 character*16 Reference longitude (degrees) of origin of map -
projection. Enter numerical value followed by E for
East Longitude or W for West Longitude. Used only
if PMAP= TTM, LCC, PS, EM, or LAZA
XLAT1 character*16 Latitudes (degrees) of the two matching parallels for -
XLAT2 map projection (Used only if PMAP= LCC or PS).
Enter numerical value followed by N for North
Latitude or S for South Latitude.
DATUM character*8 DATUM Code for grid coordinates. WGS-G
NX integer Number of grid cells in the X direction -
NY integer Number of grid cells in the Y direction -
8-34
Section 8: CALMET Model Files
8-35
Section 8: CALMET Model Files
8-36
Section 8: CALMET Model Files
8-37
Section 8: CALMET Model Files
8-38
Section 8: CALMET Model Files
*
Testing and debugging print options.
8-39
Section 8: CALMET Model Files
8-40
Section 8: CALMET Model Files
8-41
Section 8: CALMET Model Files
8-42
Section 8: CALMET Model Files
RMIN2 real Distance (km) from an upper air station within 4.0
which vertical extrapolation of surface station
data will be excluded. Used only if IEXTRP >
1.
8-43
Section 8: CALMET Model Files
8-44
Section 8: CALMET Model Files
8-45
Section 8: CALMET Model Files
8-46
Section 8: CALMET Model Files
ZUPWND real array Bottom and top of layer through which the initial-guess
winds are computed. Units: meters. (Used only if 1.0
IDIOPT3=0.) Note: Two values must be entered (e.g., 1000.
! ZUPWND=1.0, 2000. !).
XG1 real array 1st x-grid line to define box. (Used only if
-
LLBREZE=T.) (One for each box.)
XG2 real array 2nd x-grid line to define box. (Used only if
-
LLBREZE=T.) (One for each box.)
YG1 real array 1st y-grid line to define box. (Used only if
-
LLBREZE=T.) (One for each box.)
YG2 real array 2nd y-grid line to define box. (Used only if -
LLBREZE=T.) (One for each box.)
8-47
Section 8: CALMET Model Files
DPTMIN real Minimum potential temperature lapse rate in the stable 0.001
layer above the current convective mixing height (deg.
K/m)
DZZI real Depth of layer (m) above current convective mixing 200.
height in which lapse rate is computed.
8-48
Section 8: CALMET Model Files
ZIMAXW real Maximum overwater mixing height (m) (Not used if 3000.
observed overwater mixing heights are used)
ZIMINW real Minimum overwater mixing height (m) (Not used if 50.
observed overwater mixing heights are used)
MNMDAV integer Maximum search distance (in grid cells) in the spatial 1
averaging process. The square box of cells averaged is
2 x MNMDAV in length.
8-49
Section 8: CALMET Model Files
8-50
Section 8: CALMET Model Files
TGDEFB real Default temperature lapse rate (K/m) below mixing -0.0098
height over water
TGDEFA real Default temperature lapse rate (K/m) above mixing -0.0045
height over water
8-51
Section 8: CALMET Model Files
XSTZ real Time zone of the station (e.g., 05=EST, 06=CST, 07=MST,
08=PST.)
8-52
Section 8: CALMET Model Files
One line of data is entered for each upper air station. Each line contains the following parameters read in free
format: CUNAM, IDUSTA, XUSTA, YUSTA, XUTZ. The data for each station are preceded by ! USn=..., where
n is the upper air station number (e.g., ! US1=... for station #1, ! US2=... for station #2, etc.). The station variables
(US1, US2, etc.) must start in Column 3. The data must start in Column 9 or greater of each record. See the sample
control file for an example.
8-53
Section 8: CALMET Model Files
One line of data is entered for each precipitation station. Each line contains the following parameters read in free
format: CPNAM, IDPSTA, XPSTA, and YPSTA. The data for each station are preceded by ! PSn=..., where n is
the station number (e.g., ! PS1=... for station #1, ! PS2=... for station #2, etc.). The station variables (PS1, PS2,
etc.) must start in Column 3. The data must start in Column 9 or greater of each record. See the sample control file
for an example.
8-54
Section 8: CALMET Model Files
The GEO.DAT data file contains the geophysical data inputs required by the CALMET model. These
inputs include land use type, elevation, surface parameters (surface roughness, length, albedo, Bowen
ratio, soil heat flux parameter, and vegetation leaf area index) and anthropogenic heat flux. The land use
and elevation data are entered as gridded fields. The surface parameters and anthropogenic heat flux can
be entered either as gridded fields or computed from the land use data at each grid point. Default values
relating each of these parameters to land use are provided in the model.
A sample GEO.DAT file is shown in Table 8-5. The first line of the file identifies the file and its format
to CALMET. The second line provides the number of comment lines (character strings of up to 80
characters in length) to follow that are read but are not interpreted by the model. One of these may
typically contain a title to identify the data set. The next block of 5 to 6 lines contains map projection,
datum, and grid information such as the number of grid cells, grid spacing, and reference coordinates.
These variables define the mapping coordinates used for the modeling and are checked by CALMET for
consistency and compatibility with the CALMET control file inputs. Eight sets of flags and data records
follow for the land use, elevation, surface parameters, and anthropogenic heat flux data.
The default CALMET land use scheme is based on the U.S. Geological Survey (USGS) land use
classification system. The USGS primary land use categories are shown in Table 8-6. Two Level I
USGS categories (water and wetlands) are subdivided into subcategories. Along with the default
CALMET land use, the default values of the other geophysical parameters for each land use type are also
shown. The default land use classification scheme contains 14 land use types. Note that a negative value
of land use by CALMET is used as a flag to indicate irrigated land. Irrigated land may be assigned a
different Bowen ratio than unirrigated land, and the CALPUFF dry deposition module uses the irrigated
land use flag in computing the effect of moisture stress on stomatal resistance. (If the land is irrigated, it
is assumed that the vegetation is not moisture stressed.)
CALMET allows a more detailed breakdown of land use or a totally different classification scheme to be
used by providing the option for user-defined land use categories. Currently, up to 52 user-specified land
use categories are allowed. An extended 52-class land use scheme based on the USGS Level I and Level
II land use categories is shown in Table 8-7. The user can specify up to "MXLU" land use categories
along with new values of the other geophysical parameters for each land use type. The parameter MXLU
is specified in the CALMET parameter file (PARAMS.MET).
CALMET contains an option, in which temperatures over water bodies such as the ocean or large lakes
are calculated by using data from only those observation stations (SEA.DAT files, usually buoys) located
in it, while only land stations (SURF.DAT file) will be used to calculate temperatures over the rest of the
grid. The variables JWAT1 and JWAT2 in CALMET.INP Input Group #6 specify the range of land use
categories defining the water body for which this land/water temperature scheme will be implemented. A
8-55
Section 8: CALMET Model Files
range is specified to allow inclusion of multiple categories, for example "bay" and "ocean," in the
definition of the water body. To disable the overwater option, JWAT1 and JWAT2 are set to values
greater than the highest land use category listed in the GEO.DAT file. The default values of JWAT1 and
JWAT2 are both 999, indicating the overwater interpolation scheme is not applied in default mode.
Because the temperature of any grid cell whose land use is included in the range defined by JWAT1 and
JWAT2 will be determined by a weighting of all overwater data (SEA#.DAT files), it is recommended
that smaller or distant water bodies be assigned land use categories that are distinct from those used in
JWAT1 and JWAT2, to avoid use of inappropriate data in determining their surface temperatures. Thus a
small reservoir will have its temperature determined by surrounding land stations, rather than by ocean
buoy data. After viewing the initial temperature field that results from the CALMET run, the user may
wish to "fine tune" the fields using the extended, 52-class land use system in Table 8-7 and by altering the
land use assignments of particular grid cells or changing the land uses included in the JWAT1-JWAT2
range. For instance, by limiting the range to "ocean" only and then changing which near-shore cells are
considered to be "bay" and which are "ocean" the user can control the appearance of the temperature field
in the vicinity of the coastline.
The values of IWAT1 and IWAT2 (GEO.DAT Input File) are used to determine whether the overland or
overwater method will be used to produce a mixing height value for a particular grid cell. The default
values of IWAT1 and IWAT2 are both 55, restricting the overwater mixing height scheme to "large"
bodies of water. The user may change the values of IWAT1 and IWAT2 on a case-by-case basis to
include or exclude other water bodies from being considered as overwater. For instance, the user's
domain may have a bay where the mixing height should be determined using the overwater method but a
series of small lakes where the overland method would be more appropriate, so the "lake" category would
be excluded from the IWAT range. Alternatively, if one has a large lake that should be considered to be
"overwater" and a smaller lake that should be considered to be "overland", then the land use category for
the smaller lake could be changed to reflect some other category not in the IWAT range, such as forest or
wetland. It is recommended that if the user creates his or her own GEO.DAT fields for roughness length,
albedo, etc., they be weighted by the actual percentage of each land use in a given cell. That method is
more accurate and, if one subsequently changes the dominant land use category, the variables used to
calculate mixing height will still reflect the fact that there is water present in the grid cell.
The surface elevation data field is entered in "user units" along with a scaling factor to convert user units
to meters. The sample GEO.DAT file shown in Table 8-5 contains elevations in meters.
The gridded fields are entered with the 'NXM' values on a line. NXM is the number of grid cells in the X
direction. The data from left to right correspond to X=1 through NXM. The top line of a gridded field
correspond to Y=NYM, the next line to Y=NYM-1, etc. All of the GEO.DAT inputs are read in
FORTRAN free format. A detailed description of the GEO.DAT variables is contained in Table 8-8.
8-56
Section 8: CALMET Model Files
8-57
Section 8: CALMET Model Files
Table 8-6: Default CALMET Land Use Categories and Associated Geophysical Parameters Based on the U.S. Geological Survey
Land Use Classification System (14-Category System)
-20* Agricultural Land - Irrigated 0.25 0.15 0.5 .15 0.0 3.0
8-58
Section 8: CALMET Model Files
Table 8-7: Extended CALMET Land Use Categories Based on the U.S. Geological Survey
Land Use and Land Cover Classification System (52-Category System)
Level I Level II
8-59
Section 8: CALMET Model Files
NEXT NCOMM Lines TITLEGE character *80 Title of file (up to 80 characters) and any other
documentation for QA
Map projection
NCOMM+3 PMAP * character*8
UTM : Universal Transverse Mercator
TTM : Tangential Transverse Mercator
LCC : Lambert Conformal Conic
PS : Polar Stereographic
EM : Equatorial Mercator
LAZA : Lambert Azimuthal Equal Area
NCOMM+4 RLAT0, character*16 Latitude, Longitude of map projection origin, and one or
RLON0, two Matching Latitude Parallels. (Degrees with either N,
XLAT1, S, E, or W, e.g., 45.6N).
XLAT2
ONLY for PMAP = LCC, LAZA, TTM, PS, or EM
*
PMAP projections PS, EM, and LAZA are NOT AVAILABLE in CALMET
8-60
Section 8: CALMET Model Files
NCOMM IWAT1, integer Range of land use categories associated with water
+9 or 10** IWAT2 (i.e., land use categories IWAT1 to IWAT2,
inclusive, are assumed to represent water surfaces)
NCOMM +10 or ILUCAT integer array Array of "NLU" new user specified land use
11** categories
NEXT NY lines ILANDU integer array Land use types for cell grid point (NX values per
line). The following statements are used to read the
data:
do 20 J=NY,1,-1
20 READ (iogeo,*)(ILANDU(n,j), n=1, nx)
NEXT line HTFAC real Multiplicative scaling factor to convert terrain heights
from user units to meters (e.g., HTFAC = 0.3048 for
user units of ft, 1.0 for user units of meters)
NEXT NY lines ELEV real array Terrain elevations (user units) for each grid point
(NX values for line). The following statements are
used to read the data:
do 30 J=NY,1,-1
30 READ(iogeo,*)(ELEV(n,j),n=1,NX)
NEXT line IOPT2 integer Option flag for input of surface roughness lengths
(z0)
0=compute gridded z0 values from land use
types using default z0 land use table
1=compute gridded z0 values from land use
types using new, user-specified z0 land use table
2=input a gridded z0 field
NEXT** ILU integer
Land use type and associated surface roughness
NLU lines ZOLU real array lengths (m). Two variables per line read as:
do 120 I=1,NLU
120 READ(iogeo,*)ILU,ZOLU(I)
8-61
Section 8: CALMET Model Files
NEXT*** ZO real array Surface roughness length (m) at each grid point (NX values
NY lines per line). The following statements are used to read the
data:
do 150 J=NY,1,-1
150 READ(iogeo,*)(ZO(n,j),n=1,NX)
**
Included only if IOPT2 = 1
***
Included only if IOPT2 = 2
NEXT*** ALBEDO real array Albedo at each grid point (NX values per line). The
NY lines following statements are used to read the data:
do 150 J=NY,1,-1
150 READ(iogeo,*)(ALBEDO(n,j),n=1,NX)
**
Included only if IOPT3 = 1
***
Included only if IOPT3 = 2
8-62
Section 8: CALMET Model Files
NEXT line IOPT4 integer Option flag for input of Bowen ratio
0=compute gridded Bowen ratio values from
land use types using default Bowen
ratio-land use table
1=compute gridded Bowen ratio values from
land use types using new, user-specified
Bowen ratio-land use table
2=input a gridded Bowen ratio field
NEXT** ILU integer Land use type and associated Bowen ratio. Two variables
NLU lines BOWLU real array per line read as:
do 120 I=1,NLU
120 READ(iogeo,*)ILU,BOWLU(I)
NEXT*** BOWEN real array Bowen ratio at each grid point (NX values per line). The
NY lines following statements are used to read the data:
do 150 J=NY,1,-1
150 READ(iogeo,*)(BOWEN(n,j),n=1,NX)
**
Included only if IOPT4 = 1
***
Included only if IOPT4 = 2
8-63
Section 8: CALMET Model Files
NEXT line IOPT5 integer Option flag for input of soil heat flux constant
0=compute gridded soil heat flux constant
values from land use types using the
default soil heat flux constant-land use
table
1=compute gridded soil heat flux constant
values from land use types using new,
user-specified soil heat flux constant-land
use table
2=input a gridded soil heat flux constant field
NEXT** ILU integer Land use type and associated soil heat flux constant. Two
NLU lines HCGLU real array variables per line read as:
do 120 I=1,NLU
120 READ(iogeo,*)ILU,HCGLU(I)
NEXT*** NY HCG real array Soil heat flux constant at each grid point (NX values per
lines line). The following statements are used to read the data:
do 150 J=NY,1,-1
150 READ(iogeo,*)(HCG(n,j),n=1,NX)
**
Included only if IOPT5 = 1
***
Included only if IOPT5 = 2
8-64
Section 8: CALMET Model Files
NEXT line IOPT6 integer Option flag for input of anthropogenic heat flux (W/m2)
0=compute gridded anthropogenic heat flux
values from land use types using default
anthropogenic heat flux-land use table
1=compute gridded anthropogenic heat flux
values from land use types using new,
user-specified anthropogenic heat flux-land
use table
2=input a gridded anthropogenic heat flux
field
NEXT** ILU
integer Land use type and associated anthropogenic heat flux
NLU lines real array (W/m2). Two variables per line read as:
QFLU
do 120 I=1,NLU
120 READ(iogeo,*)ILU,QFLU(I)
NEXT*** NY QF real array Anthropogenic heat flux (W/m2) at each grid point (NX
lines values per line). The following statements are used to read
the data:
do 150 J=NY,1,-1
150 READ(iogeo,*)(QF(n,j),n=1,NX)
**
Included only if IOPT6 = 1
***
Included only if IOPT6 = 2
8-65
Section 8: CALMET Model Files
NEXT line IOPT7 integer Option flag for input of leaf area index
0=compute gridded leaf area index values
from land use types using default leaf
area index-land use table
1=compute gridded leaf area index values
from land use types using new,
user-specified leaf area index-land use table
2=input a gridded leaf area index field
NEXT** ILU integer Land use type and associated leaf area index values. Two
NLU lines XLAILU real array variables per line read as:
do 120 I=1,NLU
120 READ(iogeo,*)ILU,XLAILU(I)
NEXT*** XLAI real array Leaf area index value at each grid point (NX values per
NY lines line). The following statements are used to read the data:
do 150 J=NY,1,-1
150 READ(iogeo,*)(XLAI(n,j),n=1,NX)
**
Included only if IOPT7 = 1
***
Included only if IOPT7 = 2
8-66
Section 8: CALMET Model Files
The upper air data used by CALMET are read from upper air data files called UPn.dat, where n is the
upper air station number (n=1,2,3, etc.). The upper air data files can be created by the READ62
preprocessor program from standard NCDC upper air data formats or by application-specific
reformatting programs. Observations made at non-standard sounding times can be used by CALMET.
The UPn.DAT files are formatted, user-editable files containing at least five header records followed by
groups of data records. A sample upper air data file generated by READ62 and hand-edited to remove
informational messages and to fill in missing soundings is shown in Table 8-9. The first line of the file
identifies the file and its format to CALMET. The second line provides the number of comment lines
(character strings of up to 80 characters in length) to follow that are read but are not interpreted by the
model. One of these may typically contain a title to identify the data set. The next line after all comment
records identifies the map projection for any locations provided in the file. Presently, the projection is
NONE as no locations are provided. The next record identifies the time zone of the data in the file, which
is typically UTC (e.g., the zone is UTC+0000). The next record contains the beginning and ending dates
of data contained in the file and the top pressure level of the sounding data. The last header record
contains the READ62 data processing options used in the creation of the file.
The data records consist of a one-record header listing the origin of the data (6201 for NCDC data or
9999 for non-NCDC data), station ID number, date and time, and information on the number of sounding
levels. Following this are the pressure, elevation, temperature, wind direction, and wind speed for each
sounding level. The format of the UPn.dat file is shown in Table 8-10.
As discussed in Section 3.0, the model allows missing values of wind speed, wind direction, and
temperature in the UP.DAT files at intermediate levels. The model will linearly interpolate between valid
levels to fill in the missing data. The user is cautioned against using soundings for which this
interpolation would be inappropriate. Missing soundings should be replaced with soundings for the same
time period from a representative substitute station. Each data set must be processed on a case-by-case
basis with careful consideration given to how to deal with missing data.
8-67
Section 8: CALMET Model Files
8-68
Section 8: CALMET Model Files
8-69
Section 8: CALMET Model Files
42-46 F5.0 PSTOP Top pressure level (mb) of data in the file
(possible values: 850mb, 700mb, or 500mb)
Original data file type (1 = TD-6201 format
47-51 I5 JDAT 2=NCDC CD-ROM format)
Delimiter used in the UP.DAT file
52-56 I5 IFMT (1 = slash (/) delimiter, 2= comma (,)
delimiter)
8-70
Section 8: CALMET Model Files
DATA RECORDS
For each sounding, a one-record data header is used followed by "N" records of data. Each record contains up to
four sounding levels.
DATA HEADER RECORD
*
Record format is (3x,i4,2x,i8,2(4x,i4,i4,i3,i3,i5),8x,i5)
(READ62 Output File Format Continued)
8-71
Section 8: CALMET Model Files
*
Record format is (4(3x,f6.1,'/',f5.0,'/',f5.1,'/',i3,'/',i3))
Missing value indicators are 99.9 for pressure, 9999. for height, 999.9 for temperature, and
999 for wind speed and direction.
8-72
Section 8: CALMET Model Files
CALMET provides two options for the format of the surface meteorological data input file, SURF.DAT.
The first is to use the unformatted file created by the SMERGE meteorological preprocessor program.
SMERGE processes and reformats hourly surface observations in standard NCDC formats into a form
compatible with CALMET. It is best used for large data sets with many surface stations.
The second format allowed by CALMET for the SURF.DAT file is a free-formatted option. This option
allows the user the flexibility of either running the SMERGE preprocessor to create a formatted data file
or for short CALMET runs, manually entering the data.
The selection of which surface data input format is used by CALMET is made by the user with the
control file variable, IFORMS (see Input Group 4 of the control file in Section 8.1).
A sample formatted SURF.DAT file is shown in Table 8-11. A description of each variable in the
formatted surface data file is contained in Table 8-12. The first line of the file identifies the file and its
format to CALMET. The second line provides the number of comment lines (character strings of up to
80 characters in length) to follow that are read but are not interpreted by the model. One of these may
typically contain a title to identify the data set. The next line after all comment records identifies the map
projection for any locations provided in the file. Presently, the projection is NONE as no locations are
provided. The next record identifies the time zone of the data in the file, which is denoted as the time to
add to UTC (e.g., the Eastern Standard Time zone in the USA is UTC-0500). The next line identifies the
beginning and ending dates and times of data in the file and the number of stations. Finally, one record
per station follows with the station ID for each. One data record per hour follows the header records.
Each data record contains the date and time and for each station, the wind speed, wind direction, ceiling
height, cloud cover, temperature, relative humidity, station pressure, and a precipitation code.
Buoy and other overwater data are normally input through the SEAn.DAT files. If the overwater method
is not used, the buoy data can be either the SURF.DAT file or SEAn.DAT files. In any case, buoy data
for a given station should not be in both files.
8-73
Section 8: CALMET Model Files
8-74
Section 8: CALMET Model Files
8-75
Section 8: CALMET Model Files
*
The data records are read in free format with the following statement:
READ(io,*)IYRB,IJULB,IHRB,ISECB, IYRE,IJULE,IHRE,ISECE, (WS(n),WD(n),ICEIL(n),
1 ICC(n),TEMPK(n),IRH(n),PRES(n),IPCODE(n),
1 n=1,NSTA)
Missing value indicators are 9999. (real variables) and 9999 (integer variables)
8-76
Section 8: CALMET Model Files
If the modeling application involves overwater transport and dispersion, the CALMET boundary layer
model requires observations of the air-sea temperature difference, air temperature, relative humidity and
overwater mixing height. If the overwater temperature method is used, vertical temperature gradient
information is also necessary, however defaults are specified in the CALMET.INP file. The special
overwater observations, along with wind speed and direction, are contained in a set of files named
SEAn.DAT, where n is a station number (1,2,3,...). If SEAn.DAT files are not used, the overwater station
and its standard surface parameters (e.g., wind speed and direction, etc.) can be treated as a regular
surface station. Additionally, any overwater site that should not be used in the overwater temperature
interpolation scheme should be placed in the SURF.DAT file instead of a SEA.DAT file. For instance, a
user may want to include wind information from a lake buoy but not have the buoy influence
temperatures over the ocean.
The overwater data files are structured to allow the use of data with arbitrary time resolution. For
example, hourly or daily air-sea temperature difference data, if available, can be entered into the files.
Otherwise, monthly or seasonal data can be used. However, any station that is reporting non-missing
wind speed and direction should use hourly data resolution or inaccuracies will be introduced into the
wind field. The inaccuracy results from the fact that the variables retain their current values each hour
until a new observation is encountered, at which time they are updated. Thus, long periods of missing
wind data between valid observations should receive hourly records with the wind data set to missing. A
similar argument applies to temperature and vertical temperature gradient information if the overwater
temperature method is used. All times must match the base time zone of the CALMET run (variable
IBTZ).
The location of the overwater site is specified for each observation. This allows the use of data collected
from ships with time-varying locations. The data for each observation station (fixed or moving) must be
stored in a separate overwater data file.
Table 8-13 contains a sample overwater input file, which contains hourly overwater data. A description
of each input variable and format is provided in Table 8-14.
8-77
Section 8: CALMET Model Files
8-78
Section 8: CALMET Model Files
HEADER RECORDS
NEXT NCOMM TITLE character *80 Title of file (up to 80 characters) and any other
Lines documentation for QA
Map projection
NCOMM+3 PMAP * character*8
UTM : Universal Transverse Mercator
TTM : Tangential Transverse Mercator
LCC : Lambert Conformal Conic
PS : Polar Stereographic
EM : Equatorial Mercator
LAZA : Lambert Azimuthal Equal Area
NCOMM+4 RLAT0, character*16 Latitude, Longitude of map projection origin, and one or
RLON0, two Matching Latitude Parallels. (Degrees with either N,
XLAT1, S, E, or W, e.g., 45.6N).
XLAT2
ONLY for PMAP = LCC, LAZA, TTM, PS, or EM
*
PMAP projections PS, EM, and LAZA are NOT AVAILABLE in CALMET
8-79
Section 8: CALMET Model Files
DATA RECORDS
4 ZOWSTA real Measurement height (m) above the surface of the water -
of the air temperature and air-sea temperature difference
7 I1HR integer Beginning hour (00-23 LST) of the data in this record -
10 I2HR integer Ending hour (00-23 LST) of the data in this record -
15 TGRADB real Temperature lapse rate below the mixing height -0.0098
overwater (K/m)
16 TGRADA real Temperature lapse rate above the mixing height -0.0045
overwater (K/m)
*
Variables are read in FORTRAN free-format
Missing value indicators are 9999. (real variables)
8.6 Precipitation Data File (PRECIP.DAT)
8-80
Section 8: CALMET Model Files
If the wet removal algorithm of the CALPUFF or MESOPUFF II models is to be applied, CALMET must
produce gridded fields of hourly precipitation rates from observations. The PXTRACT and PMERGE
preprocessing programs process and reformat the NWS precipitation data in TD-3240 format into a
formatted or unformatted file called PRECIP.DAT. The output file of PMERGE is directly compatible
with the input requirements of CALMET. The user needs to set the precipitation file format variable,
IFORMP, in the CALMET control file to one when using PMERGE unformatted output. Otherwise, set
IFORMP to two for a formatted file either prepared by the user or generated by PMERGE. This option is
provided to allow the user an easy way to manually enter precipitation data for short CALMET runs.
A sample free-formatted PRECIP.DAT file is shown in Table 8-15. A description of each variable in the
formatted surface data file is contained in Table 8-16. The first line of the file identifies the file and its
format to CALMET. The second line provides the number of comment lines (character strings of up to
80 characters in length) to follow that are read but are not interpreted by the model. One of these may
typically contain a title to identify the data set. The next line after all comment records identifies the map
projection for any locations provided in the file. Presently, the projection is NONE as no locations are
provided. The next record identifies the time zone of the data in the file, which is denoted as the time to
add to UTC (e.g., the Eastern Standard Time zone in the USA is UTC-0500). The next line identifies the
beginning and ending dates and times of data in the file, the reference time zone for these, and the number
of stations. Finally, one record per station follows with the station ID for each. One data record must
follow for each hour. Each data record contains the date and time and the precipitation rate (mm/hr) for
each station.
8-81
Section 8: CALMET Model Files
8-82
Section 8: CALMET Model Files
HEADER RECORDS
8-83
Section 8: CALMET Model Files
DATA RECORDS
(Repeated for each hour of data)
8-84
Section 8: CALMET Model Files
The CALMET control file contains variables which determine how the meteorological data required by
the diagnostic wind field module are entered into the program. The variables IDIOPT1 through IDIOPT5
of Input Group 5 in the control file determine whether the hourly station observation and domain-scale
average surface temperature, lapse rate, and wind components are internally computed from the data in
the surface and upper air data files or read directly from a separate file, DIAG.DAT.
The DIAG.DAT file allows the user to bypass the internal CALMET computation involving the
interpolation and spatial averaging of the meteorological inputs to the model by specifying these inputs
directly. This option has been retained in the operational version of the model although it was intended
primarily as a testing tool. The use of the DIAG.DAT file requires that the time interpolation of the
sounding data and routine averaging of upper layer winds through the depth of each vertical layer, as well
as conversion of the wind components from wind speed and direction to U and V components, all be
performed externally.
A sample DIAG.DAT file containing two hours of data is shown in Table 8-17. A description of each
variable in the file and its input format is contained in Table 8-18. The variables included in the
DIAG.DAT file depend on the option selected in the CALMET control file. A value of one for the
following control file parameters is used to flag input of the corresponding meteorological variable via the
DIAG.DAT file. A value of zero indicates the meteorological variable is internally computed by the
model from the data in the SURF.DAT and UPn.DAT files. The default value for each control file
parameter is set to compute the meteorological variables internally.
The wind observations in DIAG.DAT are entered with data for one station per line. The end of the
surface data and upper air data are both flagged by a record with a station name of 'LAST'.
8-85
Section 8: CALMET Model Files
TINF: 300.15
GAMMA hr 1 2.5
UM hr 1 -1.8
VM hr 1 -0.9
SURFACE WIND 0 PTM1 1.0 -0.6 -0.8
SURFACE WIND 0 PLGN 1.0 3.0 -2.6
SURFACE WIND 0 LAST
UPPER WIND 0 LCMB 1.0999.0999.0 -0.9 0.0 -1.1 0.2 -0.3 0.1 -0.2 -0.3
UPPER WIND 0 OFLT 1.0 -0.2 -0.1 -0.1 -0.5 -0.3 -0.8 -0.4 -0.5 -2.2 -1.5
UPPER WIND 0 LAST
TINF: 300.15
GAMMA hr 2 3.5
UM hr 2 -1.8
VM hr 2 -0.9
SURFACE WIND 1 PTM1 1.0 0.0 0.0
SURFACE WIND 1 PLGN 1.0 4.9 -3.3
SURFACE WIND 1 LAST
UPPER WIND 1 LCMB 1.0999.0999.0 -1.3 -0.2 -0.6 0.3 -0.9 0.8 -0.9 1.1
UPPER WIND 1 OFLT 1.0 -0.1 0.0 0.2 0.1 -0.3 -1.3 -0.2 -0.9 0.3 -0.4
UPPER WIND 1 LAST
8-86
Section 8: CALMET Model Files
a
Record included only if control file variable IDIOPT1=1
b
Record included only if control file variable IDIOPT2=1
c
Record included only if control file variable IDIOPT3=1
d
Record included only if control file variable IDIOPT4=1
8-87
Section 8: CALMET Model Files
e
Record included only if control file variable IDIOPT5=1
8-88
Section 8: CALMET Model Files
The CALMET model allows the use of gridded prognostic model (CSUMM) winds to be used as the
initial guess field or Step 1 wind field in the diagnostic model analysis procedure as a substitute for the
normal Step 1 analysis. The use of the prognostic wind field option is controlled by the variable IPROG
in Input Group 5 of the CALMET control file. If IPROG is set equal to one or two, the gridded
prognostic model wind fields are read from a file called PROG.DAT. These winds are interpolated from
the prognostic model grid system to the CALMET grid to produce either the initial guess field or the Step
1 wind field.
The PROG.DAT file is an unformatted data file containing the time, grid specifications, vertical layer
structure, and three-dimensional fields of U and V wind fields. Table 8-19 contains a description of the
variables included in each hourly set of winds.
Note that CSUMM does not allow the use of a Lambert conformal projection, so the coordinate system
must be a UTM system when CSUMM data are used (i.e., IPROG = 1 or 2).
8-89
Section 8: CALMET Model Files
Table 8-19: Gridded Prognostic Model Wind Field Input File (PROG.DAT)
8-90
Section 8: CALMET Model Files
The CALMET model allows as input the use of gridded prognostic winds from MM4, MM5 or any
operational weather forecasting model such as Eta or RUC. The use of the prognostic wind field option is
controlled by the variable IPROG in Input Group 5 of the CALMET control file. A choice of six methods
of incorporating the MM4/MM5/3D wind data into the model is available.
If IPROG = 3 use MM4/MM5 (MM4.DAT) winds as the Step 1 field when using the
objective analysis
IPROG = 4 use MM4/MM5 (MM4.DAT) winds as the initial guess field when using
the diagnostic module
IPROG = 5 treat MM4/MM5 (MM4.DAT) winds as observations.
IPROG = 13 use MM5/3D (MM5.DAT/3D.DAT) winds as the Step 1 field when
using the objective analysis
IPROG = 14 use MM5/3D (MM5.DAT/3D.DAT) winds as the initial guess field when
using the diagnostic module
IPROG = 15 treat MM5/3D (MM5.DAT/3D.DAT) winds as observations.
If one of the first three methods is chosen, the gridded MM4/MM5 fields are read from a file called
MM4.DAT. If one of the second three methods is chosen, the gridded MM5/3D fields are read from a file
called MM5.DAT/3D.DAT. Note that the MM5.DAT/3D.DAT file contains fields provided by MM5
that are not provided by MM4. Within CALMET these fields are interpolated from the prognostic model
grid system to the CALMET grid.
The MM4.DAT file is a formatted data file containing header records describing the date, time, and
domain of the prognostic model run. The extraction subdomain is defined in terms of (I,J) and latitude
and longitude. Terrain elevation and land use description code are also provided for each grid cell in the
subdomain. The sigma-p values used by MM4/MM5/3D to define each of the vertical layers are also
contained in the header records of MM4.DAT.
The data records consist of a date and time record, then a data record consisting of elevation (m MSL) and
winds at each grid cell for each vertical level. The surface level is followed by the mandatory levels of
1000, 925, 850, 700, 500, 400, and 300 mb. All subterranean mandatory levels will have wind direction
and wind speed of 0.
A sample MM4.DAT file is presented in Table 8-20, and a description of each record is presented in
Table 8-21.
The MM5.DAT file is also a formatted data file similar to the MM4.DAT file. Header records describe
the prognostic model run and the subdomain and time period extracted to the MM5.DAT file. Data
8-91
Section 8: CALMET Model Files
records for each time period are provided for each grid cell in the extracted subdomain. Sea level
pressure, rainfall, and snow cover are provided for the surface, and pressure, elevation, temperature, wind
speed, and wind direction are always provided at each vertical level. Other variables that may be
provided at each vertical level include the vertical velocity, relative humidity, vapor mixing ratio, cloud
mixing ratio, rain mixing ratio, ice mixing ratio, and grouped mixing ratio.
The 3D.DAT file is exactly similar to the MM5.DAT file with a minor exception. In the 3D.DAT file, the
user can add comments to the file header. These comments are particularly useful in tracing the history of
the file.
A sample 3D.DAT file is presented in Table 8-22, and a description of each record is presented in Table
8-23. Please note that the MM5.DAT file is similar to the file described in Tables 8-22 and 8-23.
8-92
Section 8: CALMET Model Files
Table 8-20: Sample MM4/MM5 Derived Gridded Wind Data File (MM4.DAT)
(Continued)
8-93
Section 8: CALMET Model Files
8-94
Section 8: CALMET Model Files
Table 8-21: MM4/MM5 Derived Gridded Wind Data File Format (MM4.DAT)
HEADER RECORDS
Header Record #1
Header Record #2
9 PTOPMM4 real Top pressure level (mb) of the data in the file
format (4i2,4i4,f6.1)
Header Record #3
format (4i4)
8-95
Section 8: CALMET Model Files
HEADER RECORDS
1 SIGMA real array Sigma-p values used by MM4/MM5 to define each of the
NZP layers
Read as:
do 10 I=1,NZP
10 READ(iomm4,20)SIGMA(I)
20 FORMAT(F6.4)
6 ILUDOT integer array Land use description code of the grid point in the
extraction subdomain
format (2i3,f7.3,f8.3,i5,i3)
8-96
Section 8: CALMET Model Files
Data Record
Data Records (one record for each mandatory Level(8)* plus `NZP' significant levels)
* The surface level is followed by the mandatory levels of 1000, 925, 850, 700, 500, 400, and 300 mb. All
subterranean mandatory levels will have wind direction and wind speed of 0.
8-97
Section 8: CALMET Model Files
DD < 56 C*10
DD 56 C+50
Examples: DD = 55 5.5C
DD = 56 6.0C
8-98
Section 8: CALMET Model Files
Table 8-22: Sample MM5/RUC Derived Gridded Wind Data File (3D.DAT)
8-99
Section 8: CALMET Model Files
8-100
Section 8: CALMET Model Files
540 5260 269.1 87 7.2 0.03 99 5.15 0.024 0.123 0.000 0.000
498 5894 265.4 78 7.3 0.01 93 3.96 0.023 0.071 0.000 0.000
462 6474 262.3 79 8.4 -0.01 66 2.37-4.000
430 7028 259.8 88 9.9 -0.02 57 1.82-4.000
2004013006 26 10 1012.3 0.01 0 40.2 402.0 292.5 14.16 50.4 2.0
290.7
875 1275 292.3 52 2.4 -0.01 8813.88-4.000
873 1298 292.1 52 2.9 -0.01 8713.58-4.000
8-101
Section 8: CALMET Model Files
Table 8-23: MM5/RUC Derived Gridded Wind Data File Format (3D.DAT)
HEADER RECORDS
Header Record #1
Variable No. Variable Type Description
1 DATASET Char*16 Dataset name (3D.DAT)
2 DATAVER Char*16 Dataset version
3 DATAMOD Char*64 Dataset message field
Format(2a16,a64)
8-102
Section 8: CALMET Model Files
HEADER RECORDS
Format(a4,f9.4,f10.4,2f7.2,2f10.3,f8.3,2i4,i3)
8-103
Section 8: CALMET Model Files
HEADER RECORDS
Header Record #NCOMM+5 (not used by RUC)
Variable No. Variable Type Description
1 INHYD Integer 0: hydrostatic MM5 run - 1: non-hydrostatic
2 IMPHYS Integer MM5 moisture options.
1: dry
2: removal of super saturation
3: warm rain (Hsie)
4: simple ice scheme (Dudhia)
5: mixed phase (Reisner)
6: mixed phase with graupel (Goddard)
7: mixed phase with graupel (Reisner)
8: mixed phase with graupel (Schultz)
3 ICUPA Integer MM5 cumulus parameterization
1: none
2: Anthes-Kuo
3: Grell
4: Arakawa-Schubert
5: Fritsch-Chappel
6: Kain-Fritsch
7: Betts-Miller
8: Kain-Fritsch
4 IBLTYP Integer MM5 planetary boundary layer (PBL) scheme
0: no PBL
1: bulk PBL
2: Blackadar PBL
3: Burk-Thompson PBL
4: ETA PBL
5: MRF PBL
6: Gayno-Seaman PBL
7: Pleim-Chang PBL
8-104
Section 8: CALMET Model Files
HEADER RECORDS
Header Record #NCOMM+5 (not used by RUC)
Variable No. Variable Type Description
5 IFRAD Integer MM5 atmospheric radiation scheme
0: none
1: simple cooling
2: cloud-radiation (Dudhia)
3: CCM2
4: RRTM longwave
MM5 soil model
6 ISOIL Integer
0: none
1: multi-layer
2: Noah LS model
3: Pleim-Xiu LSM
7 IFDDAN Integer 1: FDDA grid analysis nudging - 0: no FDDA
8 IFDDAOB Integer 1: FDDA observation nudging - 0: no FDDA
9- FLAGS_2D Integer 1/0: Flags for output variables in 2D.DAT (not
used in 3D.DAT)
Format(30i3)
Note: Set to zero for model output other than
MM5
8-105
Section 8: CALMET Model Files
HEADER RECORDS
Header Record #NCOMM+6
Variable No. Variable Type Description
1 IBYRM integer Beginning year of the data in the file
2 IBMOM integer Beginning month of the data in the file
3 IBDYM integer Beginning day of the data in the file
4 IBHRM integer Beginning hour (GMT) of the data in the file
5 NHRSMM5 integer Length of period (hours) of the data in the file
6 NXP integer Number of grid cells in the X direction in the
extraction subdomain
7 NYP integer Number of grid cells in the Y direction in the
extraction subdomain
8 NZP integer Number of layers in the MM5 domain (half
sigma levels) (same as number of vertical
levels in data records)
format (i4, 3i2,i5,3i4)
8-106
Section 8: CALMET Model Files
HEADER RECORDS
Header Record #NCOMM+7
format (6i4,2f10.4,2f9.4)
8-107
Section 8: CALMET Model Files
HEADER RECORDS
8-108
Section 8: CALMET Model Files
Data Record
8 RAIN real total rainfall accumulated on the ground for the past
hour (cm)
9 SC integer snow cover indicator (0 or 1, where 1 = snow cover
was determined to be present for the MM5
simulation)
8-109
Section 8: CALMET Model Files
Data Record
NZP*Data Records
8-110
Section 8: CALMET Model Files
NZP*Data Records
format( i4,i6,f6.1,i4,f5.1,f6.2,i3,f5.2,5f6.3)
Note: WD and WS are MM5 output at dot points,
other variables are interpolated in CALMM5 to dot
points from MM5 output at cross points.
w
Variable present in the record only if IOUTW = 1
q
Variable present in the record only if IOUTQ = 1
c
Variable present in the record only if IOUTC = 1 (possible only if IOUTQ=1)
I
Variable present in the record only if IOUTI = 1 (possible only if IOUTQ = IOUTC = 1)
g
Variable present in the record only if IOUTG = 1 (possible only if IOUTQ = IOUTC =
IOUTI=1)
* Output for variables 9 13 will be compressed using a negative number if ALL are zero. -5.0
represents all five variables are zero.
8-111
Section 8: CALMET Model Files
CALMET contains several options for introducing MM4/MM5 winds into the calculation of the wind
fields. These include the use of the MM4/MM5 winds as:
If the MM4/MM5 fields are used as an initial guess field for CALMET, the MM4/MM5 winds are subject
to a full diagnostic adjustment for terrain effects on the fine-scale (CALMET) grid. But if the
MM4/MM5 winds are used as either a Step 1 field or as "observations," CALMET does not perform
additional terrain adjustment to the MM4/MM5 winds. When combining these MM4/MM5 winds with
observed winds, local near-surface effects captured in the observations may be lost due to the scale of the
terrain used in the MM4/MM5 simulations (e.g., 80 km resolution). To avoid this, CALMET accepts a
three-dimensional grid of terrain weighting factors. The weight Wo is applied to the observation, and its
complement (1-Wo) is applied to the MM4/MM5 wind. The factors used to determine this weighting are
assumed to be a function of the fine-scale terrain unresolved by the MM4/MM5 grid, and height above
the surface.
The WT.DAT file contains the terrain-weighting factor. This file is required only if IPROG = 3, 13 or
IPROG = 5, 15 (i.e., MM4/MM5 data are used as the Step 1 field or as "observations").
Table 8-24 contains a sample WT.DAT file for a 25 23 18-km CALMET grid. A detailed description
of the contents of the WT.DAT file are contained in Table 8-25. The first three lines consist of
descriptive information on the development of the weighting factor. Records 4 and 5 describe the fine-
scale (CALMET) grid system and the coarse-scale (MM4/MM5) grid. These are followed by a set of NZ
groups of records, one for each CALMET layer, which contain the actual weighting factors.
8-112
Section 8: CALMET Model Files
Height(m) = 10.0000
i= 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22
23 24 25
j= 23 .51 .56 .53 .51 .48 .45 .44 .43 .42 .41 .42 .45 .48 .52 .52 .40 .28 .16 .03 .00 .00 .00
.00 .00 .00
j= 22 .51 .56 .53 .51 .48 .45 .44 .43 .42 .41 .42 .45 .48 .52 .52 .40 .28 .16 .03 .00 .00 .00
.00 .00 .00
j= 21 .49 .54 .51 .49 .46 .44 .43 .41 .40 .38 .40 .43 .47 .50 .51 .40 .28 .17 .05 .02 .02 .02
.02 .02 .01
j= 20 .43 .48 .46 .44 .42 .40 .38 .36 .34 .32 .34 .38 .41 .45 .47 .38 .29 .21 .12 .09 .09 .08
.08 .07 .05
j= 19 .37 .41 .40 .39 .38 .37 .34 .31 .29 .26 .28 .32 .36 .41 .43 .37 .31 .24 .18 .16 .15 .14
.13 .12 .09
j= 18 .31 .35 .35 .34 .34 .33 .30 .27 .23 .20 .21 .26 .31 .36 .39 .35 .32 .28 .24 .22 .21 .20
.19 .17 .13
j= 17 .26 .29 .29 .29 .30 .30 .26 .22 .18 .14 .15 .21 .26 .31 .35 .34 .33 .32 .30 .29 .28 .26
.25 .22 .17
j= 16 .25 .29 .30 .31 .31 .32 .28 .25 .21 .18 .19 .24 .29 .33 .37 .35 .34 .32 .31 .30 .29 .29
.28 .26 .20
j= 15 .26 .30 .31 .33 .34 .35 .32 .29 .27 .24 .25 .29 .32 .36 .39 .37 .34 .32 .30 .30 .30 .30
.31 .29 .22
j= 14 .27 .31 .33 .35 .36 .38 .36 .34 .32 .29 .30 .33 .36 .39 .41 .38 .35 .32 .29 .30 .31 .32
.34 .32 .25
j= 13 .27 .32 .34 .37 .39 .41 .40 .38 .37 .35 .36 .38 .40 .42 .43 .40 .36 .32 .29 .29 .32 .34
.36 .36 .27
j= 12 .28 .33 .35 .38 .40 .42 .41 .41 .40 .39 .40 .41 .43 .44 .45 .41 .36 .32 .28 .29 .33 .36
.39 .39 .31
j= 11 .31 .35 .36 .38 .39 .40 .40 .40 .41 .41 .42 .43 .44 .45 .45 .41 .36 .32 .27 .29 .34 .38
.42 .44 .37
j= 10 .33 .37 .37 .37 .38 .38 .39 .40 .41 .43 .43 .44 .45 .46 .45 .41 .36 .31 .27 .29 .35 .40
.45 .48 .43
j= 9 .35 .39 .38 .37 .37 .36 .38 .40 .42 .44 .45 .46 .46 .46 .46 .41 .36 .31 .26 .29 .35 .42
.48 .52 .49
j= 8 .37 .41 .39 .37 .36 .34 .37 .40 .43 .46 .47 .47 .47 .47 .46 .41 .35 .30 .25 .29 .36 .44
.51 .56 .55
j= 7 .31 .35 .35 .34 .34 .34 .36 .39 .41 .44 .44 .44 .44 .44 .43 .41 .38 .36 .33 .37 .43 .49
.55 .59 .57
j= 6 .26 .30 .31 .32 .33 .34 .36 .37 .39 .41 .42 .42 .41 .41 .41 .41 .41 .41 .41 .45 .50 .55
.59 .62 .58
j= 5 .20 .24 .26 .29 .31 .33 .35 .36 .38 .39 .39 .39 .38 .38 .38 .41 .44 .47 .50 .53 .56 .60
.63 .65 .60
j= 4 .15 .18 .22 .26 .30 .33 .34 .35 .36 .37 .37 .36 .35 .35 .35 .41 .46 .52 .58 .61 .63 .65
.67 .68 .62
j= 3 .15 .19 .23 .27 .31 .35 .36 .36 .37 .37 .37 .37 .37 .36 .37 .43 .49 .55 .60 .63 .65 .66
.68 .68 .62
j= 2 .20 .25 .28 .32 .35 .39 .39 .39 .39 .40 .40 .41 .41 .42 .43 .47 .51 .55 .58 .61 .62 .64
.65 .65 .61
8-113
Section 8: CALMET Model Files
j= 1 .26 .31 .34 .37 .40 .42 .42 .42 .42 .42 .43 .45 .46 .48 .49 .51 .53 .55 .56 .58 .60 .61
.63 .63 .60
i= 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22
23 24 25
Height(m) = 50.0000
i= 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22
23 24 25
j= 23 .11 .11 .10 .08 .07 .05 .05 .04 .04 .03 .03 .04 .05 .05 .06 .04 .03 .02 .00 .00 .00 .00
.00 .00 .00
j= 22 .11 .11 .10 .08 .07 .05 .05 .04 .04 .03 .03 .04 .05 .05 .06 .04 .03 .02 .00 .00 .00 .00
.00 .00 .00
j= 21 .10 .11 .09 .08 .07 .05 .05 .04 .03 .03 .03 .04 .04 .05 .05 .04 .03 .02 .01 .00 .00 .00
.00 .00 .00
j= 20 .09 .09 .08 .07 .06 .05 .04 .03 .03 .02 .02 .03 .03 .04 .04 .04 .03 .02 .01 .01 .01 .01
.00 .00 .00
j= 19 .07 .08 .07 .06 .05 .04 .03 .03 .02 .02 .02 .02 .03 .03 .03 .03 .03 .02 .02 .01 .01 .01
.01 .01 .00
j= 18 .06 .06 .05 .05 .04 .03 .03 .02 .02 .01 .01 .01 .02 .02 .02 .02 .02 .02 .02 .02 .02 .01
.01 .01 .01
j= 17 .04 .05 .04 .04 .03 .03 .02 .02 .01 .00 .00 .01 .01 .01 .01 .02 .02 .02 .03 .03 .02 .02
.01 .01 .01
j= 16 .06 .06 .06 .06 .05 .05 .04 .03 .02 .01 .01 .01 .02 .02 .02 .02 .02 .03 .03 .03 .02 .02
.02 .01 .01
j= 15 .08 .09 .08 .08 .08 .07 .06 .05 .04 .02 .02 .02 .02 .03 .03 .03 .03 .03 .03 .03 .02 .02
.02 .02 .01
j= 14 .09 .11 .11 .10 .10 .10 .08 .07 .05 .03 .03 .03 .03 .04 .04 .04 .03 .03 .03 .03 .03 .02
.02 .02 .01
j= 13 .11 .13 .13 .13 .13 .13 .11 .08 .06 .04 .04 .04 .04 .05 .05 .04 .04 .04 .03 .03 .03 .03
.02 .02 .02
j= 12 .12 .13 .13 .13 .14 .14 .12 .10 .08 .06 .05 .05 .05 .06 .06 .05 .04 .04 .03 .03 .03 .03
.03 .03 .03
j= 11 .10 .11 .11 .12 .12 .12 .11 .10 .09 .08 .07 .07 .07 .07 .07 .06 .05 .04 .03 .03 .03 .04
.04 .05 .04
j= 10 .08 .09 .10 .10 .10 .11 .11 .10 .10 .10 .10 .09 .09 .09 .08 .07 .05 .04 .02 .03 .03 .04
.05 .06 .06
j= 9 .06 .07 .08 .08 .09 .09 .10 .11 .11 .12 .12 .11 .11 .10 .09 .07 .05 .04 .02 .02 .04 .05
.07 .08 .08
j= 8 .05 .06 .06 .07 .07 .08 .10 .11 .13 .14 .14 .13 .12 .11 .10 .08 .06 .04 .01 .02 .04 .06
.08 .09 .10
j= 7 .04 .04 .05 .05 .06 .07 .08 .09 .11 .12 .12 .11 .11 .10 .09 .11 .12 .13 .15 .14 .14 .13
.13 .12 .12
j= 6 .03 .03 .04 .04 .05 .05 .06 .07 .09 .10 .10 .09 .09 .08 .09 .13 .18 .23 .28 .27 .24 .20
.17 .15 .14
j= 5 .02 .02 .03 .03 .03 .04 .05 .06 .07 .07 .08 .07 .07 .07 .08 .16 .24 .33 .41 .39 .33 .28
.22 .17 .16
j= 4 .01 .01 .01 .02 .02 .02 .03 .04 .04 .05 .06 .05 .05 .05 .07 .19 .31 .42 .54 .51 .43 .35
.27 .20 .18
j= 3 .02 .02 .02 .02 .02 .03 .03 .04 .05 .06 .07 .08 .09 .11 .14 .25 .36 .48 .59 .56 .48 .40
.33 .26 .22
j= 2 .04 .04 .04 .04 .05 .05 .06 .07 .07 .08 .11 .14 .18 .21 .26 .34 .42 .49 .57 .56 .50 .45
.39 .34 .28
j= 1 .06 .07 .07 .07 .07 .07 .08 .09 .10 .11 .15 .21 .27 .32 .38 .42 .47 .51 .56 .55 .52 .49
.46 .41 .35
8-114
Section 8: CALMET Model Files
i= 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22
23 24 25
Height(m) = 100.000
i= 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22
23 24 25
j= 23 .03 .03 .02 .02 .02 .01 .01 .01 .01 .01 .01 .01 .01 .01 .01 .01 .01 .00 .00 .00 .00 .00
.00 .00 .00
j= 22 .03 .03 .02 .02 .02 .01 .01 .01 .01 .01 .01 .01 .01 .01 .01 .01 .01 .00 .00 .00 .00 .00
.00 .00 .00
j= 21 .03 .03 .02 .02 .02 .01 .01 .01 .01 .01 .01 .01 .01 .01 .01 .01 .01 .00 .00 .00 .00 .00
.00 .00 .00
j= 20 .02 .02 .02 .02 .01 .01 .01 .01 .01 .01 .01 .01 .01 .01 .01 .01 .01 .00 .00 .00 .00 .00
.00 .00 .00
j= 19 .02 .02 .02 .01 .01 .01 .01 .01 .01 .00 .00 .01 .01 .01 .01 .01 .01 .01 .00 .00 .00 .00
.00 .00 .00
j= 18 .01 .02 .01 .01 .01 .01 .01 .01 .00 .00 .00 .00 .00 .01 .01 .01 .01 .01 .01 .00 .00 .00
.00 .00 .00
j= 17 .01 .01 .01 .01 .01 .01 .01 .00 .00 .00 .00 .00 .00 .00 .00 .00 .01 .01 .01 .01 .01 .00
.00 .00 .00
j= 16 .01 .02 .02 .01 .01 .01 .01 .01 .01 .00 .00 .00 .00 .00 .01 .01 .01 .01 .01 .01 .01 .01
.00 .00 .00
j= 15 .02 .02 .02 .02 .02 .02 .02 .01 .01 .01 .00 .01 .01 .01 .01 .01 .01 .01 .01 .01 .01 .01
.00 .00 .00
j= 14 .02 .03 .03 .03 .03 .03 .02 .02 .01 .01 .01 .01 .01 .01 .01 .01 .01 .01 .01 .01 .01 .01
.01 .00 .00
j= 13 .03 .03 .03 .03 .03 .03 .03 .02 .02 .01 .01 .01 .01 .01 .01 .01 .01 .01 .01 .01 .01 .01
.01 .01 .00
j= 12 .03 .03 .03 .03 .03 .03 .03 .02 .02 .01 .01 .01 .01 .01 .01 .01 .01 .01 .01 .01 .01 .01
.01 .01 .01
j= 11 .02 .03 .03 .03 .03 .03 .03 .02 .02 .02 .02 .02 .02 .02 .02 .01 .01 .01 .01 .01 .01 .01
.01 .01 .01
j= 10 .02 .02 .02 .03 .03 .03 .03 .03 .03 .02 .02 .02 .02 .02 .02 .02 .01 .01 .01 .01 .01 .01
.01 .02 .02
j= 9 .02 .02 .02 .02 .02 .02 .03 .03 .03 .03 .03 .03 .03 .02 .02 .02 .01 .01 .00 .01 .01 .01
.02 .02 .02
j= 8 .01 .01 .02 .02 .02 .02 .02 .03 .03 .04 .04 .03 .03 .03 .03 .02 .01 .01 .00 .01 .01 .01
.02 .02 .02
j= 7 .01 .01 .01 .01 .01 .02 .02 .02 .03 .03 .03 .03 .03 .02 .02 .03 .03 .03 .04 .04 .03 .03
.03 .03 .03
j= 6 .01 .01 .01 .01 .01 .01 .02 .02 .02 .02 .02 .02 .02 .02 .02 .03 .05 .06 .07 .07 .06 .05
.04 .04 .03
j= 5 .00 .01 .01 .01 .01 .01 .01 .01 .02 .02 .02 .02 .02 .02 .02 .04 .06 .08 .10 .10 .08 .07
.06 .04 .04
j= 4 .00 .00 .00 .00 .00 .01 .01 .01 .01 .01 .01 .01 .01 .01 .02 .05 .08 .11 .14 .13 .11 .09
.07 .05 .04
j= 3 .00 .00 .01 .01 .01 .01 .01 .01 .01 .01 .02 .02 .02 .03 .04 .08 .12 .15 .19 .19 .17 .14
.12 .10 .08
j= 2 .01 .01 .01 .01 .01 .01 .01 .02 .02 .02 .03 .04 .05 .06 .08 .12 .17 .22 .27 .27 .25 .23
.21 .19 .15
j= 1 .01 .02 .02 .02 .02 .02 .02 .02 .02 .03 .04 .06 .07 .09 .11 .17 .23 .29 .35 .35 .34 .32
.30 .27 .22
i= 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22
23 24 25
8-115
Section 8: CALMET Model Files
Height(m) = 400.000
i= 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22
23 24 25
j= 23 .00 .00 .00 .00 .00 .00 .00 .00 .00 .00 .00 .00 .00 .00 .00 .00 .00 .00 .00 .00 .00 .00
.00 .00 .00
j= 22 .00 .00 .00 .00 .00 .00 .00 .00 .00 .00 .00 .00 .00 .00 .00 .00 .00 .00 .00 .00 .00 .00
.00 .00 .00
j= 21 .00 .00 .00 .00 .00 .00 .00 .00 .00 .00 .00 .00 .00 .00 .00 .00 .00 .00 .00 .00 .00 .00
.00 .00 .00
j= 20 .00 .00 .00 .00 .00 .00 .00 .00 .00 .00 .00 .00 .00 .00 .00 .00 .00 .00 .00 .00 .00 .00
.00 .00 .00
j= 19 .00 .00 .00 .00 .00 .00 .00 .00 .00 .00 .00 .00 .00 .00 .00 .00 .00 .00 .00 .00 .00 .00
.00 .00 .00
j= 18 .00 .00 .00 .00 .00 .00 .00 .00 .00 .00 .00 .00 .00 .00 .00 .00 .00 .00 .00 .00 .00 .00
.00 .00 .00
j= 17 .00 .00 .00 .00 .00 .00 .00 .00 .00 .00 .00 .00 .00 .00 .00 .00 .00 .00 .00 .00 .00 .00
.00 .00 .00
j= 16 .00 .00 .00 .00 .00 .00 .00 .00 .00 .00 .00 .00 .00 .00 .00 .00 .00 .00 .00 .00 .00 .00
.00 .00 .00
j= 15 .00 .00 .00 .00 .00 .00 .00 .00 .00 .00 .00 .00 .00 .00 .00 .00 .00 .00 .00 .00 .00 .00
.00 .00 .00
j= 14 .00 .00 .00 .00 .00 .00 .00 .00 .00 .00 .00 .00 .00 .00 .00 .00 .00 .00 .00 .00 .00 .00
.00 .00 .00
j= 13 .00 .00 .00 .00 .00 .00 .00 .00 .00 .00 .00 .00 .00 .00 .00 .00 .00 .00 .00 .00 .00 .00
.00 .00 .00
j= 12 .00 .00 .00 .00 .00 .00 .00 .00 .00 .00 .00 .00 .00 .00 .00 .00 .00 .00 .00 .00 .00 .00
.00 .00 .00
j= 11 .00 .00 .00 .00 .00 .00 .00 .00 .00 .00 .00 .00 .00 .00 .00 .00 .00 .00 .00 .00 .00 .00
.00 .00 .00
j= 10 .00 .00 .00 .00 .00 .00 .00 .00 .00 .00 .00 .00 .00 .00 .00 .00 .00 .00 .00 .00 .00 .00
.00 .00 .00
j= 9 .00 .00 .00 .00 .00 .00 .00 .00 .00 .00 .00 .00 .00 .00 .00 .00 .00 .00 .00 .00 .00 .00
.00 .00 .00
j= 8 .00 .00 .00 .00 .00 .00 .00 .00 .00 .00 .00 .00 .00 .00 .00 .00 .00 .00 .00 .00 .00 .00
.00 .00 .00
j= 7 .00 .00 .00 .00 .00 .00 .00 .00 .00 .00 .00 .00 .00 .00 .00 .00 .00 .00 .00 .00 .00 .00
.00 .00 .00
j= 6 .00 .00 .00 .00 .00 .00 .00 .00 .00 .00 .00 .00 .00 .00 .00 .00 .00 .00 .00 .00 .00 .00
.00 .00 .00
j= 5 .00 .00 .00 .00 .00 .00 .00 .00 .00 .00 .00 .00 .00 .00 .00 .00 .00 .01 .01 .01 .01 .00
.00 .00 .00
j= 4 .00 .00 .00 .00 .00 .00 .00 .00 .00 .00 .00 .00 .00 .00 .00 .00 .00 .01 .01 .01 .01 .01
.00 .00 .00
j= 2 .00 .00 .00 .00 .00 .00 .00 .00 .00 .00 .00 .00 .00 .00 .00 .01 .01 .01 .02 .02 .02 .01
.01 .01 .01
j= 1 .00 .00 .00 .00 .00 .00 .00 .00 .00 .00 .00 .00 .00 .01 .01 .01 .01 .02 .02 .02 .02 .02
.02 .02 .01
i= 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22
23 24 25
8-116
Section 8: CALMET Model Files
Height(m) = 800.000
i= 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22
23 24 25
j= 23 .00 .00 .00 .00 .00 .00 .00 .00 .00 .00 .00 .00 .00 .00 .00 .00 .00 .00 .00 .00 .00 .00
.00 .00 .00
j= 22 .00 .00 .00 .00 .00 .00 .00 .00 .00 .00 .00 .00 .00 .00 .00 .00 .00 .00 .00 .00 .00 .00
.00 .00 .00
j= 21 .00 .00 .00 .00 .00 .00 .00 .00 .00 .00 .00 .00 .00 .00 .00 .00 .00 .00 .00 .00 .00 .00
.00 .00 .00
j= 20 .00 .00 .00 .00 .00 .00 .00 .00 .00 .00 .00 .00 .00 .00 .00 .00 .00 .00 .00 .00 .00 .00
.00 .00 .00
j= 19 .00 .00 .00 .00 .00 .00 .00 .00 .00 .00 .00 .00 .00 .00 .00 .00 .00 .00 .00 .00 .00 .00
.00 .00 .00
j= 18 .00 .00 .00 .00 .00 .00 .00 .00 .00 .00 .00 .00 .00 .00 .00 .00 .00 .00 .00 .00 .00 .00
.00 .00 .00
j= 17 .00 .00 .00 .00 .00 .00 .00 .00 .00 .00 .00 .00 .00 .00 .00 .00 .00 .00 .00 .00 .00 .00
.00 .00 .00
j= 16 .00 .00 .00 .00 .00 .00 .00 .00 .00 .00 .00 .00 .00 .00 .00 .00 .00 .00 .00 .00 .00 .00
.00 .00 .00
j= 15 .00 .00 .00 .00 .00 .00 .00 .00 .00 .00 .00 .00 .00 .00 .00 .00 .00 .00 .00 .00 .00 .00
.00 .00 .00
j= 14 .00 .00 .00 .00 .00 .00 .00 .00 .00 .00 .00 .00 .00 .00 .00 .00 .00 .00 .00 .00 .00 .00
.00 .00 .00
j= 13 .00 .00 .00 .00 .00 .00 .00 .00 .00 .00 .00 .00 .00 .00 .00 .00 .00 .00 .00 .00 .00 .00
.00 .00 .00
j= 12 .00 .00 .00 .00 .00 .00 .00 .00 .00 .00 .00 .00 .00 .00 .00 .00 .00 .00 .00 .00 .00 .00
.00 .00 .00
j= 11 .00 .00 .00 .00 .00 .00 .00 .00 .00 .00 .00 .00 .00 .00 .00 .00 .00 .00 .00 .00 .00 .00
.00 .00 .00
j= 10 .00 .00 .00 .00 .00 .00 .00 .00 .00 .00 .00 .00 .00 .00 .00 .00 .00 .00 .00 .00 .00 .00
.00 .00 .00
j= 9 .00 .00 .00 .00 .00 .00 .00 .00 .00 .00 .00 .00 .00 .00 .00 .00 .00 .00 .00 .00 .00 .00
.00 .00 .00
j= 8 .00 .00 .00 .00 .00 .00 .00 .00 .00 .00 .00 .00 .00 .00 .00 .00 .00 .00 .00 .00 .00 .00
.00 .00 .00
j= 7 .00 .00 .00 .00 .00 .00 .00 .00 .00 .00 .00 .00 .00 .00 .00 .00 .00 .00 .00 .00 .00 .00
.00 .00 .00
j= 6 .00 .00 .00 .00 .00 .00 .00 .00 .00 .00 .00 .00 .00 .00 .00 .00 .00 .00 .00 .00 .00 .00
.00 .00 .00
j= 5 .00 .00 .00 .00 .00 .00 .00 .00 .00 .00 .00 .00 .00 .00 .00 .00 .00 .00 .00 .00 .00 .00
.00 .00 .00
j= 4 .00 .00 .00 .00 .00 .00 .00 .00 .00 .00 .00 .00 .00 .00 .00 .00 .00 .00 .00 .00 .00 .00
.00 .00 .00
j= 3 .00 .00 .00 .00 .00 .00 .00 .00 .00 .00 .00 .00 .00 .00 .00 .00 .00 .00 .00 .00 .00 .00
.00 .00 .00
j= 2 .00 .00 .00 .00 .00 .00 .00 .00 .00 .00 .00 .00 .00 .00 .00 .00 .00 .00 .00 .00 .00 .00
.00 .00 .00
j= 1 .00 .00 .00 .00 .00 .00 .00 .00 .00 .00 .00 .00 .00 .00 .00 .00 .00 .00 .01 .01 .01 .00
.00 .00 .00
i= 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22
23 24 25
8-117
Section 8: CALMET Model Files
Height(m) = 3500.00
i= 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22
23 24 25
j= 23 .00 .00 .00 .00 .00 .00 .00 .00 .00 .00 .00 .00 .00 .00 .00 .00 .00 .00 .00 .00 .00 .00
.00 .00 .00
j= 22 .00 .00 .00 .00 .00 .00 .00 .00 .00 .00 .00 .00 .00 .00 .00 .00 .00 .00 .00 .00 .00 .00
.00 .00 .00
j= 21 .00 .00 .00 .00 .00 .00 .00 .00 .00 .00 .00 .00 .00 .00 .00 .00 .00 .00 .00 .00 .00 .00
.00 .00 .00
j= 20 .00 .00 .00 .00 .00 .00 .00 .00 .00 .00 .00 .00 .00 .00 .00 .00 .00 .00 .00 .00 .00 .00
.00 .00 .00
j= 19 .00 .00 .00 .00 .00 .00 .00 .00 .00 .00 .00 .00 .00 .00 .00 .00 .00 .00 .00 .00 .00 .00
.00 .00 .00
j= 18 .00 .00 .00 .00 .00 .00 .00 .00 .00 .00 .00 .00 .00 .00 .00 .00 .00 .00 .00 .00 .00 .00
.00 .00 .00
j= 17 .00 .00 .00 .00 .00 .00 .00 .00 .00 .00 .00 .00 .00 .00 .00 .00 .00 .00 .00 .00 .00 .00
.00 .00 .00
j= 16 .00 .00 .00 .00 .00 .00 .00 .00 .00 .00 .00 .00 .00 .00 .00 .00 .00 .00 .00 .00 .00 .00
.00 .00 .00
j= 15 .00 .00 .00 .00 .00 .00 .00 .00 .00 .00 .00 .00 .00 .00 .00 .00 .00 .00 .00 .00 .00 .00
.00 .00 .00
j= 14 .00 .00 .00 .00 .00 .00 .00 .00 .00 .00 .00 .00 .00 .00 .00 .00 .00 .00 .00 .00 .00 .00
.00 .00 .00
j= 13 .00 .00 .00 .00 .00 .00 .00 .00 .00 .00 .00 .00 .00 .00 .00 .00 .00 .00 .00 .00 .00 .00
.00 .00 .00
j= 12 .00 .00 .00 .00 .00 .00 .00 .00 .00 .00 .00 .00 .00 .00 .00 .00 .00 .00 .00 .00 .00 .00
.00 .00 .00
j= 11 .00 .00 .00 .00 .00 .00 .00 .00 .00 .00 .00 .00 .00 .00 .00 .00 .00 .00 .00 .00 .00 .00
.00 .00 .00
j= 10 .00 .00 .00 .00 .00 .00 .00 .00 .00 .00 .00 .00 .00 .00 .00 .00 .00 .00 .00 .00 .00 .00
.00 .00 .00
j= 9 .00 .00 .00 .00 .00 .00 .00 .00 .00 .00 .00 .00 .00 .00 .00 .00 .00 .00 .00 .00 .00 .00
.00 .00 .00
j= 8 .00 .00 .00 .00 .00 .00 .00 .00 .00 .00 .00 .00 .00 .00 .00 .00 .00 .00 .00 .00 .00 .00
.00 .00 .00
j= 7 .00 .00 .00 .00 .00 .00 .00 .00 .00 .00 .00 .00 .00 .00 .00 .00 .00 .00 .00 .00 .00 .00
.00 .00 .00
j= 6 .00 .00 .00 .00 .00 .00 .00 .00 .00 .00 .00 .00 .00 .00 .00 .00 .00 .00 .00 .00 .00 .00
.00 .00 .00
j= 5 .00 .00 .00 .00 .00 .00 .00 .00 .00 .00 .00 .00 .00 .00 .00 .00 .00 .00 .00 .00 .00 .00
.00 .00 .00
j= 4 .00 .00 .00 .00 .00 .00 .00 .00 .00 .00 .00 .00 .00 .00 .00 .00 .00 .00 .00 .00 .00 .00
.00 .00 .00
j= 3 .00 .00 .00 .00 .00 .00 .00 .00 .00 .00 .00 .00 .00 .00 .00 .00 .00 .00 .00 .00 .00 .00
.00 .00 .00
j= 2 .00 .00 .00 .00 .00 .00 .00 .00 .00 .00 .00 .00 .00 .00 .00 .00 .00 .00 .00 .00 .00 .00
.00 .00 .00
j= 1 .00 .00 .00 .00 .00 .00 .00 .00 .00 .00 .00 .00 .00 .00 .00 .00 .00 .00 .00 .00 .00 .00
.00 .00 .00
i= 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22
23 24 25
8-118
Section 8: CALMET Model Files
HEADER RECORDS
Header Record #1
Header Record #2
Header Record #3
Header Record #4
format (15x,2f8.1,2i5,f8.3)
8-119
Section 8: CALMET Model Files
HEADER RECORDS
Header Record #5
format (15x,2f8.1,2i5,f8.3,//)
8-120
Section 8: CALMET Model Files
8.11.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.
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 pre-
computed 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 8-26.
Sample FORTRAN write statements for the CALMET.DAT header records are:
8-121
Section 8: CALMET Model Files
4 NUSTA,NPSTA,NOWSTA,NLU,IWAT1,IWAT2,LCALGRD
5 PMAP,DATUM,DATEN,FEAST,FNORTH,UTMHEM,IUTMZN,
6 RNLAT0,RELON0,XLAT1,XLAT2
c
c --- Header record #NCOM+4 - cell face heights (NZ + 1 words)
write(iomet)CLAB1,IDUM,IDUM,IDUM,IDUM,ZFACEM
8-122
Section 8: CALMET Model Files
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)
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
8-123
Section 8: CALMET Model Files
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 13 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
8-124
Section 8: CALMET Model Files
NCOM+3 18 XORIGR real X coordinate (m) of southwest corner of grid cell (1,1)
NCOM+3 19 YORIGR real Y coordinate (m) of southwest corner of grid cell (1,1)
NCOM+3 28 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 32 FEAST real False Easting (km) for PMAP = TTM, LCC, or LAZA
NCOM+3 33 FNORTH real False Northing (km) for PMAP = TTM, LCC, or LAZA
a
char*N = Character*N
8-125
Section 8: CALMET Model Files
NCOM+3 36 RNLAT0 real North latitude (degrees) for projection origin (for PMAP=
TTM, LCC, PS, EM, or LAZA)
NCOM+3 37 RELON0 real East longitude (degrees) for projection origin (for PMAP=
TTM, LCC, PS, EM, or LAZA)
NCOM+3 38 XLAT1 real North latitude (degrees) of matching parallel #1 for map
projection PMAP= LCC or PS
NCOM+3 39 XLAT2 real North latitude (degrees) of matching parallel #2 for map
projection PMAP= LCC
NCOM+4 6 ZFACEM real array Heights (m) of cell faces (NZ + 1 values)
NCOM+5b 6 XSSTA real array X coordinate (m) of each surface met. station
NCOM+6b 6 YSSTA real array Y coordinate (m) of each surface met. station
NCOM+7c 6 XUSTA real array X coordinate (m) of each upper air met. station
NCOM+8c 6 YUSTA real array Y coordinate (m) of each upper air met. station
8-126
Section 8: CALMET Model Files
NCOM+11 6 Z0 real array Gridded field of surface roughness lengths (m) for each grid
cell
NCOM+12 6 ILANDU integer array Gridded field of land use category for each grid cell
NCOM+13 6 ELEV real array Gridded field of terrain elevations for each grid cell
NCOM+14 6 XLAI real array Gridded field of leaf area index for each grid cell
NCOM+15 6 NEARS integer array Nearest surface meteorological station to each grid point
a
char*N = Character*N
b
Included only if NSSTA > 0
c
Included only if NUSTA > 0
d
Included only if NPSTA > 0
8-127
Section 8: CALMET Model Files
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 three-
dimensional 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), near-
surface 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 8-
27.
Sample FORTRAN write statements for the CALMET.DAT data records are:
write(iunit)CLABSC, NDATHRB,IBSEC,NDATHRE,IESEC,IPGT
write(iunit)CLABUS, NDATHRB,IBSEC,NDATHRE,IESEC,USTAR
write(iunit)CLABZI, NDATHRB,IBSEC,NDATHRE,IESEC,ZI
write(iunit)CLABL, NDATHRB,IBSEC,NDATHRE,IESEC,EL
write(iunit)CLABWS, NDATHRB,IBSEC,NDATHRE,IESEC,WSTAR
write(iunit)CLABRMM, NDATHRB,IBSEC,NDATHRE,IESEC,RMM
8-128
Section 8: CALMET Model Files
write(iunit)CLABTK, NDATHRB,IBSEC,NDATHRE,IESEC,TEMPK
write(iunit)CLABD, NDATHRB,IBSEC,NDATHRE,IESEC,RHO
write(iunit)CLABQ, NDATHRB,IBSEC,NDATHRE,IESEC,QSW
write(iunit)CLABRH, NDATHRB,IBSEC,NDATHRE,IESEC,IRH
write(iunit)CLABPC, NDATHRB,IBSEC,NDATHRE,IESEC,IPCODE
endif
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
8-129
Section 8: CALMET Model Files
1 1 CLABU char*8 Variable label ('U-LEVxxx', where xxx indicates the layer
number)
1 2 NDATHR integer Beginning year, Julian day and hour in the form YYYYJJJHH
B (or YYJJJHH)
1 4 NDATHRE integer Ending year, Julian day and hour in the form YYYYJJJHH (or
YYJJJHH)
2 1 CLABV char*8 Variable label ('V-LEVxxx', where xxx indicates the layer
number)
2 2 NDATHR integer Beginning year, Julian day and hour in the form YYYYJJJHH
B (or YYJJJHH)
2 4 NDATHRE integer Ending year, Julian day and hour in the form YYYYJJJHH (or
YYJJJHH)
3b 1 CLABW char*8 Variable label ('WFACExxx"), where xxx indicates the layer
number)
3b 2 NDATHR integer Beginning year, Julian day and hour in the form YYYYJJJHH
B (or YYJJJHH)
3b 4 NDATHRE integer Ending year, Julian day and hour in the form YYYYJJJHH (or
YYJJJHH)
a
char*8 = Character*8
b
Record type 3 is included only if LCALGRD is TRUE
8-130
Section 8: CALMET Model Files
4b 1 CLABT char*8 Variable label ('T-LEVxxx', where xxx indicates the layer
number)
4b 2 NDATHRB integer Beginning year, Julian day and hour in the form YYYYJJJHH
(or YYJJJHH)
4b 4 NDATHRE integer Ending year, Julian day and hour in the form YYYYJJJHH (or
YYJJJHH)
5 2 NDATHRB integer Beginning year, Julian day and hour in the form YYYYJJJHH
(or YYJJJHH)
5 4 NDATHRE integer Ending year, Julian day and hour in the form YYYYJJJHH (or
YYJJJHH)
6 2 NDATHRB integer Beginning year, Julian day and hour in the form YYYYJJJHH
(or YYJJJHH)
6 4 NDATHRE integer Ending year, Julian day and hour in the form YYYYJJJHH (or
YYJJJHH)
8-131
Section 8: CALMET Model Files
7 2 NDATHRB integer Beginning year, Julian day and hour in the form YYYYJJJHH
(or YYJJJHH)
7 4 NDATHRE integer Ending year, Julian day and hour in the form YYYYJJJHH (or
YYJJJHH)
8 2 NDATHRB integer Beginning year, Julian day and hour in the form YYYYJJJHH
(or YYJJJHH)
8 4 NDATHRE integer Ending year, Julian day and hour in the form YYYYJJJHH (or
YYJJJHH)
9 2 NDATHRB integer Beginning year, Julian day and hour in the form YYYYJJJHH
(or YYJJJHH)
9 4 NDATHRE integer Ending year, Julian day and hour in the form YYYYJJJHH (or
YYJJJHH)
a
char*8 = Character*8
8-132
Section 8: CALMET Model Files
10 2 NDATHRB integer Beginning year, Julian day and hour in the form YYYYJJJHH
(or YYJJJHH)
10 4 NDATHRE integer Ending year, Julian day and hour in the form YYYYJJJHH (or
YYJJJHH)
11 2 NDATHRB integer Beginning year, Julian day and hour in the form
YYYYJJJHH (or YYJJJHH)
11 4 NDATHRE integer Ending year, Julian day and hour in the form
YYYYJJJHH (or YYJJJHH)
12 2 NDATHRB integer Beginning year, Julian day and hour in the form
YYYYJJJHH (or YYJJJHH)
12 4 NDATHRE integer Ending year, Julian day and hour in the form
YYYYJJJHH (or YYJJJHH)
a
char*8 = Character*8
8-133
Section 8: CALMET Model Files
13 2 NDATHRB integer Beginning year, Julian day and hour in the form
YYYYJJJHH (or YYJJJHH)
13 4 NDATHRE integer Ending year, Julian day and hour in the form YYYYJJJHH
(or YYJJJHH)
14 2 NDATHRB integer Beginning year, Julian day and hour in the form
YYYYJJJHH (or YYJJJHH)
14 4 NDATHRE integer Ending year, Julian day and hour in the form
YYYYJJJHH (or YYJJJHH)
15 2 NDATHRB integer Beginning year, Julian day and hour in the form
YYYYJJJHH (or YYJJJHH)
15 4 NDATHRE integer Ending year, Julian day and hour in the form
YYYYJJJHH (or YYJJJHH)
8-134
Section 8: CALMET Model Files
a
char*8 = Character*8
8-135
Section 8: CALMET Model Files
8.1.1 PACOUT.DAT
When run with an hourly timestep, CALMET has the option to output the unformatted meteorological
data file in a form compatible with MESOPUFF II. If IFORMO is set to two in Input Group 3 of the
CALMET control file, the output data file is called PACOUT.DAT.
The PACOUT.DAT output meteorological file consists of six header records followed by a set of twelve
data records for each hour. The header records contain the date and length of the run, grid size and
spacing, land use categories and surface roughness lengths at each grid point, as well as other information
required by MESOPUFF II. A description of each variable in the header records is provided in Table 8-
28. Sample FORTRAN write statements for the PACOUT.DAT header records are:
real XSCOOR(nssta),YSCOOR(nssta),XUCOOR(nusta),YUCOOR(nusta)
real Z0(nx,ny)
integer ILANDU(nx,ny)NEARS(nx,ny)
8-136
Section 8: CALMET Model Files
The data records of the PACOUT.DAT are repeated once each hour. A description of each variable in the
data records is provided in Table 8-28. Sample FORTRAN write statements for the data records are:
8-137
Section 8: CALMET Model Files
c --- Write average surface air density, air temperature, total solar radiation,
relative humidity, and precipitation code
write(io7)AVRHO,TEMPK,SRAD,IRH,IPCODE
real UL(nx,ny),VL(nx,ny),UUP(nx,ny),VUP(nx,ny)
real HTMIX(nx,ny),USTAR(nx,ny),WSTAR(nx,ny)
real XMONIN(nx,ny),RMM(nx,ny)
real TEMPK(nssta),SRAD(nssta)
integer IPGT(nx,ny)
integer IRH(nssta),IPCODE(nssta)
8-138
Section 8: CALMET Model Files
5 1 NEARS integer array Station number of closest surface station to each grid
point
8-139
Section 8: CALMET Model Files
8-140
Section 8: CALMET Model Files
8-141
Section 8: CALMET Model Files
The CALMET meteorological model generates a large, binary meteorological file of hourly or subhourly
data which includes gridded wind fields at multiple levels and 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
many 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.
Option to print or suppress printing of the gridded meteorological fields (wind fields and
surface meteorological variables).
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 gridpoint, in a separate file
compatible with Excel (column format)
Option to print or suppress printing of the gridded geophysical variables (surface roughness
lengths, land use categories, terrain elevations).
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.
8-142
Section 8: CALMET Model Files
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.
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 8-29 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, Windows-
compatible Graphical User Interface (GUI) developed for the geophysical preprocessors (CALPRO). A
sample input file is presented in Table 8-30. A description of each of the inputs is provided in Table 8-31.
PRTMET extracts and prints the data selected by the user from the CALMET data file. A sample output
file is shown in Table 8-32. A sample contour plot file and a sample vector plot file are shown in Table 8-
33 and Table 8-34, respectively. A sample time-series output file is shown in Table 8-35.
8-143
Section 8: CALMET Model Files
8-144
Section 8: CALMET Model Files
8-145
Section 8: CALMET Model Files
(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)
LUPC logical Control variable for printing of X,Y upper air station
coordinates.
(F=do not print, T=print)
(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)
8-146
Section 8: CALMET Model Files
8-147
Section 8: CALMET Model Files
FSTAB integer Output format for PGT stability class. USED ONLY
IF IPSC=1.
(0=self-scaling exponential format, 1=fixed format)
8-148
Section 8: CALMET Model Files
WSFAC real Wind speed units conversion factor. (1.0 for m/s,
1.944 for knots, 2.237 for miles/hour)
8-149
Section 8: CALMET Model Files
(2b) X (N3D entries) integer arrays Data for each layer printed: layer # , horizontal
wind, vertical velocity, temperature (1: print, 0:
do not pring)
(3a) LVECT logical Create plot files of wind vectors 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)
LIPGT logical Create plot files of PGT class for each CALMET
layer each hour (T: Yes ; F: No)
8-150
Section 8: CALMET Model Files
NMEAN x XXXX char*4 = integer Variable to plot (same variable options as for
2-line snapshots), layer number
entries
8-151
Section 8: CALMET Model Files
-------------------------------------------------------------------------------
a
INPUT GROUP: 0 -- Input and Output Files
--------------
-------------
a
Additional output files may be defined in Input Groups 3 and 4 when
specific snapshot plots or average field plots are requested.
!END!
--------------------------------------------------------------------------------
---------------
NOTE: The date/time is in the base time zone of the CALMET run.
8-152
Section 8: CALMET Model Files
!END!
8-153
Section 8: CALMET Model Files
-------------
Subgroup (2a)
-------------
8-154
Section 8: CALMET Model Files
!END!
8-155
Section 8: CALMET Model Files
-------------
Subgroup (2b)
-------------
a,b
DATA FOR EACH LAYER PRINTED (N3D entries)
-----------------------------------------
c
U,V
or
LAYER WS,WD W TEMPERATURE
----- ----- ----- -----
! X = 1, 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 timestep 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_Mmm_Ddd_hhmm(UTC+hhmm)_Lzz_tMIN.* or
yyyy_Mmm_Ddd_hhmm(UTC+hhmm)_Lzz_tHR.* where
8-156
Section 8: CALMET Model Files
Specific snapshot plotfiles can also be created for selected CALMET layers
and timesteps in the processing period identified in Group 1. Plotfiles
are compatible with the SURFER graphics system and are given names by the
user.
8-157
Section 8: CALMET Model Files
-------------
Subgroup (3b)
-------------
a,b
LAYERS AUTOMATICALLY PLOTTED (NZPLOT entries)
---------------------------------------------
-------------
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.
-------------
Subgroup (3c)
-------------
a,b
EXPLICIT SNAPSHOT DEFINITION (NSNAP 2-line entries)
---------------------------------------------------
* 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 & timestep.
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.
--------------------------------------------------------------------------------
-------------
Subgroup (4a)
-------------
8-158
Section 8: CALMET Model Files
!END!
8-159
Section 8: CALMET Model Files
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)
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.
8-160
Section 8: CALMET Model Files
-------------------------------------------------
NOTICE: Starting year in control file sets the
expected century for the simulation. All
YY years are converted to YYYY years in
the range: 1952 2051
-------------------------------------------------
--------------------------
SETUP Information
--------------------------
Beginning X point 12
Beginning Y point 12
Ending X point 16
Ending Y point 16
8-161
Section 8: CALMET Model Files
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
8-162
Section 8: CALMET Model Files
8-163
Section 8: CALMET Model Files
3 1 1
4 0 0
5 1 1
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
8-164
Section 8: CALMET Model Files
------------------------------------------------------------------------------------------------------------------------------
------------------------------------------------------------------------------------------------------------------------------
8-165
Section 8: CALMET Model Files
IBHR = 4
IBSEC = 0
IEYR = 2002
IEMO = 1
IEDY = 5
IEHR = 19
IESEC = 0
AXTZ = UTC-0600
IBTZ = 6
IRLG = 15
IRTYPE = 1
LCALGRD = T
8-166
Section 8: CALMET Model Files
------------------------------------------------------------------------------------------------------------------------------
------------------------------------------------------------------------------------------------------------------------------
Wind Speed (m/s) -- Level: 1 Beginning year: 2002 month: 1 day: 5 Julian day: 5 hour: 6 second: 600
Ending year: 2002 month: 1 day: 5 Julian day: 5 hour: 6 second:1200
Multiply all values by 10 ** -3
Wind Direction (deg.) -- Level: 1 Beginning year: 2002 month: 1 day: 5 Julian day: 5 hour: 6 second: 600
Ending year: 2002 month: 1 day: 5 Julian day: 5 hour: 6 second:1200
Multiply all values by 10 ** -1
Mixing height (m) Beginning year: 2002 month: 1 day: 5 Julian day: 5 hour: 6 second: 600
8-167
Section 8: CALMET Model Files
8-168
Section 8: CALMET Model Files
Wind Speed (m/s) -- Level: 1 Beginning year: 2002 month: 1 day: 5 Julian day: 5 hour: 6 second:1200
Ending year: 2002 month: 1 day: 5 Julian day: 5 hour: 6 second:1800
Multiply all values by 10 ** -3
Wind Direction (deg.) -- Level: 1 Beginning year: 2002 month: 1 day: 5 Julian day: 5 hour: 6 second:1200
Ending year: 2002 month: 1 day: 5 Julian day: 5 hour: 6 second:1800
Multiply all values by 10 ** -1
Mixing height (m) Beginning year: 2002 month: 1 day: 5 Julian day: 5 hour: 6 second:1200
Ending year: 2002 month: 1 day: 5 Julian day: 5 hour: 6 second:1800
Multiply all values by 10 ** -1
( Records removed )
8-169
Section 8: CALMET Model Files
DSAA
5 5
271.5000 275.5000
3206.5002 3210.5002
0.1527E+03 0.1698E+03
1.5267E+02 1.6283E+02 1.6208E+02 1.6193E+02 1.5840E+02
1.5410E+02 1.6098E+02 1.6193E+02 1.6305E+02 1.6191E+02
1.6455E+02 1.6385E+02 1.6324E+02 1.6258E+02 1.6221E+02
1.6852E+02 1.6595E+02 1.6489E+02 1.6360E+02 1.6294E+02
1.6980E+02 1.6826E+02 1.6636E+02 1.6457E+02 1.6351E+02
8-170
Section 8: CALMET Model Files
Timeseries at gridpoint ( 15 , 15 )
YEAR MONTH DAY HOUR SEC YEAR MONTH DAY HOUR SEC WS WD T Mix.Hgt
(m/s) (deg) (K) (m)
Layer 1 Layer 1 Layer 1 Layer
2002 1 5 5 600 2002 1 5 5 1200 2.20 331.39 295.52 100.62
2002 1 5 5 1200 2002 1 5 5 1800 2.30 330.83 295.53 101.62
2002 1 5 5 1800 2002 1 5 5 2400 2.40 330.31 295.55 112.80
2002 1 5 5 2400 2002 1 5 5 3000 2.50 329.84 295.57 125.90
2002 1 5 5 3000 2002 1 5 5 3600 2.60 329.40 295.58 139.34
2002 1 5 6 0 2002 1 5 6 600 2.70 329.00 295.60 153.13
2002 1 5 6 600 2002 1 5 6 1200 2.72 329.17 295.72 154.89
2002 1 5 6 1200 2002 1 5 6 1800 2.73 329.34 295.83 156.99
2002 1 5 6 1800 2002 1 5 6 2400 2.75 329.51 295.95 159.21
2002 1 5 6 2400 2002 1 5 6 3000 2.77 329.68 296.07 161.43
2002 1 5 6 3000 2002 1 5 6 3600 2.78 329.84 296.18 163.60
2002 1 5 7 0 2002 1 5 7 600 2.80 330.00 296.30 165.82
2002 1 5 7 600 2002 1 5 7 1200 2.83 329.65 296.58 170.17
2002 1 5 7 1200 2002 1 5 7 1800 2.87 329.30 296.87 174.70
2002 1 5 7 1800 2002 1 5 7 2400 2.90 328.97 297.15 179.73
2002 1 5 7 2400 2002 1 5 7 3000 2.93 328.64 297.43 184.10
2002 1 5 7 3000 2002 1 5 7 3600 2.97 328.32 297.72 188.50
2002 1 5 8 0 2002 1 5 8 600 3.00 328.00 298.00 396.68
2002 1 5 8 600 2002 1 5 8 1200 3.01 329.03 298.37 345.56
2002 1 5 8 1200 2002 1 5 8 1800 3.03 330.04 298.73 346.12
2002 1 5 8 1800 2002 1 5 8 2400 3.05 331.05 299.10 348.83
2002 1 5 8 2400 2002 1 5 8 3000 3.06 332.04 299.47 351.56
2002 1 5 8 3000 2002 1 5 8 3600 3.08 333.03 299.83 354.38
2002 1 5 9 0 2002 1 5 9 600 3.10 334.00 300.20 412.01
2002 1 5 9 600 2002 1 5 9 1200 3.14 335.79 300.47 387.42
2002 1 5 9 1200 2002 1 5 9 1800 3.19 337.54 300.73 380.07
8-171
Section 9: CALPUFF
9. CALPUFF
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 1-4. A
sample of the main control file (CALPUFF.INP) containing the user-specified model options and switch
settings is shown in Table 9-2. The model creates several output files, which are listed in Table 1-6.
Detailed information on the structure and content of each of the input and output files is provided in this
section.
Tables 1-4 and 1-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 system-
dependent 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 system-
dependent 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.
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
9-1
Section 9: CALPUFF
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.
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 9-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 9-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.
9-2
Section 9: CALPUFF
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
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.
9-3
Section 9: CALPUFF
For example, by replacing the delimiter characters ("!") with "*", 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
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.
9-4
Section 9: CALPUFF
Input
Group Description
* Run title
First three lines of control file (up to 80 characters/line)
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
5 Output options
Printer control variables, disk output control variables
9-5
Section 9: CALPUFF
Input
Group Description
11 Chemistry parameters
Control variables for input of ozone data, background ozone and ammonia
concentrations, nighttime transformation rates
9-6
Section 9: CALPUFF
9-7
Section 9: CALPUFF
Input Group 0
CALPUFF Example
40 x 40 meteorological grid
All source types represented; CTSG hill
---------------- Run title (3 lines) ------------------------------------------
-------------------------------------------------------------------------------
--------------
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 = *
9-8
Section 9: CALPUFF
9-9
Section 9: CALPUFF
-------------
Subgroup (0a)
-------------
a
The name for each CALMET domain and each CALMET.DAT file is treated
as a separate input subgroup and therefore must end with an input
group terminator.
b
Use DOMAIN1= to assign the name for the outermost CALMET domain.
Use DOMAIN2= to assign the name for the next inner CALMET domain.
Use DOMAIN3= to assign the name for the next inner CALMET domain, etc.
--------------------------------------------------------------------
| When inner domains with equal resolution (grid-cell size) |
| overlap, the data from the FIRST such domain in the list will |
| be used if all other criteria for choosing the controlling |
| grid domain are inconclusive. |
--------------------------------------------------------------------
c
Use METDAT1= to assign the file names for the outermost CALMET domain.
Use METDAT2= to assign the file names for the next inner CALMET domain.
Use METDAT3= to assign the file names for the next inner CALMET domain, etc.
9-10
Section 9: CALPUFF
d
The filenames for each domain must be provided in sequential order
-------------
Subgroup (0b)
-------------
-------------
Subgroup (0d)
-------------
--------------------------------------------------------------------------------
9-11
Section 9: CALPUFF
Restart Configuration:
9-12
Section 9: CALPUFF
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)
METFM = 5 - AERMET tower file (PROFILE.DAT) and
surface parameters file (SURFACE.DAT)
!END!
9-13
Section 9: CALPUFF
-------------------------------------------------------------------------------
9-14
Section 9: CALPUFF
Restrictions:
9-15
Section 9: CALPUFF
- MDRY = 1
- NSPEC = 1 (must be particle species as well)
- sg = 0 GEOMETRIC STANDARD DEVIATION in Group 8 is
set to zero for a single particle diameter
[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
9-16
Section 9: CALPUFF
[DIAGNOSTIC FEATURE]
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
9-17
Section 9: CALPUFF
------------
Subgroup (3a)
------------
9-18
Section 9: CALPUFF
! 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.
-------------------------------------------------------------------------------
Map projection
(PMAP) Default: UTM ! PMAP = UTM !
9-19
Section 9: CALPUFF
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
------------
9-20
Section 9: CALPUFF
METEOROLOGICAL grid:
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
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.
9-21
Section 9: CALPUFF
!END!
-------------------------------------------------------------------------------
INPUT GROUP: 5 -- Output Options
--------------
* *
FILE DEFAULT VALUE VALUE THIS RUN
---- ------------- --------------
*
0 = Do not create file, 1 = create file
9-22
Section 9: CALPUFF
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.
9-23
Section 9: CALPUFF
!END!
-------------------------------------------------------------------------------
INPUT GROUP: 6a, 6b, & 6c -- Subgrid scale complex terrain inputs
-------------------------
---------------
Subgroup (6a)
---------------
Number of terrain features (NHILL) Default: 0 ! NHILL = 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!
9-24
Section 9: CALPUFF
---------------
Subgroup (6c)
---------------
-------------------
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
**
NOTE: DATA for each hill and CTSG receptor are treated as a separate
input subgroup and therefore must end with an input group terminator.
-------------------------------------------------------------------------------
SPECIES DIFFUSIVITY ALPHA STAR REACTIVITY MESOPHYLL RESISTANCE HENRY'S LAW COEFFICIENT
NAME (cm**2/s) (s/cm) (dimensionless)
------- ----------- ---------- ---------- -------------------- -----------------------
9-25
Section 9: CALPUFF
!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.
!END!
-------------------------------------------------------------------------------
INPUT GROUP: 9 -- Miscellaneous dry deposition parameters
!END!
-------------------------------------------------------------------------------
9-26
Section 9: CALPUFF
!END!
-------------------------------------------------------------------------------
INPUT GROUP: 11a, 11b -- Chemistry Parameters
---------------------
---------------
Subgroup (11a)
---------------
Several parameters are needed for one or more of the chemical transformation
mechanisms. Those used for each mechanism are:
M B
A B R R R C B N
B V C N N N M K C O D
C M G K I I I H H K F V E
M K N N N T T T 2 2 P R C C
O O H H H E E E O O M A N A
Mechanism (MCHEM) Z 3 3 3 3 1 2 3 2 2 F C X Y
-------------------- --------------------------------------------
0 None . . . . . . . . . . . . . .
1 MESOPUFF II X X . . X X X X . . . . . .
2 User Rates . . . . . . . . . . . . . .
3 RIVAD X X . . X . . . . . . . . .
4 SOA X X . . . . . . . . X X X .
5 Radioactive Decay . . . . . . . . . . . . . X
6 RIVAD/ISORRPIA X X X X X X . . X X . . . .
7 RIVAD/ISORRPIA/SOA X X X X X X . . X X X X . .
9-27
Section 9: CALPUFF
Default: 12*10.
! BCKNH3 = 10.00, 10.00, 10.00, 10.00, 10.00, 10.00, 10.00, 10.00, 10.00, 10.00, 10.00, 10.00 !
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.
9-28
Section 9: CALPUFF
Input Group 11
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.
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.
!END!
--------------
Subgroup (11b)
--------------
Each species modeled may be assigned a decay half-life (sec), and the associated
mass lost may be assigned to one or more other modeled species using a mass yield
factor. This information is used only for MCHEM=5.
Provide NDECAY blocks assigning the half-life for a parent species and mass yield
factors for each child species (if any) produced by the decay.
Set HALF_LIFE=0.0 for NO decay (infinite half-life).
a b
SPECIES Half-Life Mass Yield
NAME (sec) Factor
------- --------- ----------
9-29
Section 9: CALPUFF
--------
a
Specify a half life that is greater than or equal to zero for 1 parent species
in each block, and set the yield factor for this species to -1
b
Specify a yield factor that is greater than or equal to zero for 1 or more child
species in each block, and set the half-life for each of these species to -1
-------------------------------------------------------------------------------
9-30
Section 9: CALPUFF
9-31
Section 9: CALPUFF
! SVMIN = 0.500, 0.500, 0.500, 0.500, 0.500, 0.500, 0.370, 0.370, 0.370, 0.370, 0.370, 0.370!
! SWMIN = 0.200, 0.120, 0.080, 0.060, 0.030, 0.016, 0.200, 0.120, 0.080, 0.060, 0.030, 0.016!
9-32
Section 9: CALPUFF
Stability Class : A B C D E F
--- --- --- --- --- ---
! PLX0 = 0.07, 0.07, 0.10, 0.15, 0.35, 0.55 !
VERTICAL SPLIT
--------------
9-33
Section 9: CALPUFF
HORIZONTAL SPLIT
----------------
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. !
9-34
Section 9: CALPUFF
!END!
-------------------------------------------------------------------------------
INPUT GROUPS: 13a, 13b, 13c, 13d -- Point source parameters
--------------------------------
---------------
Subgroup (13a)
---------------
Number of source-species
combinations with variable
emissions scaling factors
provided below in (13d) (NSPT1) Default: 0 ! NSPT1 = 1 !
(If NPT2 > 0, these point source emissions are read from the file: PTEMARB.DAT)
!END!
---------------
Subgroup (13b)
---------------
9-35
Section 9: CALPUFF
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.
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)
---------------
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.!
9-36
Section 9: CALPUFF
---------------
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!
--------
9-37
Section 9: CALPUFF
a
Data for each species are treated as a separate input subgroup
and therefore must end with an input group terminator.
-------------------------------------------------------------------------------
Number of source-species
combinations with variable
emissions scaling factors
provided below in (14d) (NSAR1) Default: 0 ! NSAR1 = 4 !
!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!
9-38
Section 9: CALPUFF
--------
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).
---------------
Subgroup (14c)
---------------
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!
---------------
Subgroup (14d)
---------------
a
AREA SOURCE: VARIABLE EMISSIONS DATA
--------------------------------------
9-39
Section 9: CALPUFF
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!
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!
--------
-------------------------------------------------------------------------------
---------------
Subgroup (15a)
---------------
9-40
Section 9: CALPUFF
Number of source-species
combinations with variable
emissions scaling factors
provided below in (15c) (NSLN1) Default: 0 ! NSLN1 = 1 !
The following variables are required only if NLINES > 0. They are
used in the buoyant line source plume rise calculations.
!END!
---------------
Subgroup (15b)
---------------
9-41
Section 9: CALPUFF
Input Group 15
--------
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
----------------------------------------------
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!
9-42
Section 9: CALPUFF
--------
a
Data for each species are treated as a separate input subgroup
and therefore must end with an input group terminator.
-------------------------------------------------------------------------------
---------------
Subgroup (16a)
---------------
Number of source-species
combinations with variable
emissions scaling factors
provided below in (16c) (NSVL1) Default: 0 ! NSVL1 = 0 !
!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,
9-43
Section 9: CALPUFF
--------
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).
---------------
Subgroup (16c)
---------------
a
VOLUME SOURCE: VARIABLE EMISSIONS DATA
----------------------------------------
--------
a
Data for each species are treated as a separate input subgroup
and therefore must end with an input group terminator.
-------------------------------------------------------------------------------
---------------
Subgroup (17a)
---------------
9-44
Section 9: CALPUFF
!END!
---------------
Subgroup (17b)
---------------
a
NON-GRIDDED (DISCRETE) RECEPTOR DATA
------------------------------------
b
Receptor height above ground is optional. If no value is entered,
the receptor is placed on the ground.
9-45
Section 9: CALPUFF
Input Files
AUXEXT character*70 Extension added to METDAT filename/s for files with AUX
auxiliary 2D and 3D data
9-46
Section 9: CALPUFF
9-47
Section 9: CALPUFF
Output Files
VISDAT character*70 Output relative humidity file (needed for visibility VISB.DAT
calculations in CALPOST)
RISDAT character*70 Plume rise properties for each rise increment for each RISE.DAT
model timestep
9-48
Section 9: CALPUFF
Input Group 0 consists of several parts. The first part contains the control variables NMETDAT,
NMETDOM, 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. Further
provision is made to provide multiple CALMET domains through NMETDOM > 1. 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:
--------------
Default Name Type File Name
------------ ---- ---------
CALMET.DAT input * METDAT = *
or
ISCMET.DAT input ! ISCDAT = ISCMET.DAT !
or
--------------
Default Name Type File Name
------------ ---- ---------
CALMET.DAT input ! METDAT = CALMET.DAT !
or
ISCMET.DAT input * ISCDAT = *
9-49
Section 9: CALPUFF
--------------
Default Name Type File Name
------------ ---- ---------
CALMET.DAT input * METDAT = *
or
ISCMET.DAT input * ISCDAT = *
9-50
Section 9: CALPUFF
and provide all of the CALMET file names in Input Group 0a:
-------------
Subgroup (0a)
-------------
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:
--------------
Default Name Type File Name
------------ ---- ---------
PTEMARB.DAT input ! PTDAT = pts1.dat !
9-51
Section 9: CALPUFF
--------------
Default Name Type File Name
------------ ---- ---------
PTEMARB.DAT input * PTDAT = *
9-52
Section 9: CALPUFF
9-53
Section 9: CALPUFF
9-54
Section 9: CALPUFF
9-55
Section 9: CALPUFF
9-56
Section 9: CALPUFF
9-57
Section 9: CALPUFF
9-58
Section 9: CALPUFF
9-59
Section 9: CALPUFF
9-60
Section 9: CALPUFF
9-61
Section 9: CALPUFF
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
9-62
Section 9: CALPUFF
9-63
Section 9: CALPUFF
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 five-
species SOx, NOx run with MCHEM=1 would be:
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.
9-64
Section 9: CALPUFF
Species-groups can be used to allow mass distributions of particles to be source-specific. In the example
provided in Table 9-2, we have defined six particle-sizes as individual species:
! 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)
-------------
9-65
Section 9: CALPUFF
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.
9-66
Section 9: CALPUFF
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
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).
9-67
Section 9: CALPUFF
9-68
Section 9: CALPUFF
9-69
Section 9: CALPUFF
LCOMPRS logical Use data compression on output file (T = true or, F = false) T
9-70
Section 9: CALPUFF
9-71
Section 9: CALPUFF
INRISE integer Create a file with plume properties for each rise increment 0
for each model time step (0 = no, 1 = yes)
IDPRT integer Control variable for printing of dry flux fields to the output 0
list file (CALPUFF.LST).
(0 = do not print any dry fluxes,
1 = print dry fluxes indicated in output table)
IWPRT integer Control variable for printing of wet flux fields to the output 0
list file (CALPUFF.LST).
(0 = do not print any wet fluxes,
1 = print wet fluxes indicated in output table) 0
IDFRQ integer Printing interval for the dry flux fields. Dry fluxes are 1
printed every IDFRQ time steps. (Used only if IDPRT =
1.)
IWFRQ integer Printing interval for the wet flux fields. Wet fluxes are 1
printed every IWFRQ time steps. (Used only if IWPRT =
1.)
9-72
Section 9: CALPUFF
IPRTU integer Control variable for selecting units used for concentrations 1
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 = odor units (OU)
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 output species names, which would be the
species-group names if any species were grouped in Input Group 4.
9-73
Section 9: CALPUFF
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 !
9-74
Section 9: CALPUFF
MHILL integer 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)).
XHILL2M real Factor to convert horizontal dimensions to meters (used only if 1.0
MHILL = 1)
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 -
9-75
Section 9: CALPUFF
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 -
9-76
Section 9: CALPUFF
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!).
9-77
Section 9: CALPUFF
ZRCT real Height (m) of the ground above mean sea level at the -
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
-------------------
** 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!).
9-78
Section 9: CALPUFF
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:
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.
--------------------------------------------------------------------------------------------------------------
SPECIES DIFFUSIVITY ALPHA STAR REACTIVITY MESOPHYLL RESISTANCE HENRY'S LAW COEFFICIENT
NAME (cm**2/s) (s/cm) (dimensionless)
------- ----------- ---------- ---------- -------------------- -----------------------
!END!
9-79
Section 9: CALPUFF
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.
--------------------------------------------------------------------------------------------------------------
!END!
9-80
Section 9: CALPUFF
Input Group 10 consists of a table containing pollutant-dependent values of the scavenging coefficient, ,
for both liquid and frozen precipitation types. The format of the input table is shown below.
----------------------------------------------------------------------------------------------
!END!
9-81
Section 9: CALPUFF
CALPUFF contains several chemical transformation mechanisms. The parameters required for each
chemical mechanism are included in this table below. The various chemical names are; MOZ, BCKO3,
MNH3, MAVGNH3, BCKNH3, RNITE1, RNITE2, RNITE3, MH2O2, BCKH2O2, BCKPMF, OFRAC,
VCNX, NDECAY.
M B M M B R R R M B B O V N
O C N A C N N N H C C F C D
Mechanism Z K H V K I I I 2 K K R N E
(MCHEM) O 3 G N T T T O H P A X C
3 N H E E E 2 2 M C A
H 3 1 2 3 O F Y
3 2
0 none - - - - - - - - - - - - - -
1 MESOPUFF II X X - - X X X X - - - - - -
2 User Rates - - - - - - - - - - - - - -
3 RIVAD X X - - X - - - - - - - - -
4 SOA X X - - - - - - - - X X X -
5 Radioactive - - - - - - - - - - - - - X
Decay
6 RIVAD/ISORRPIA X X X X X X - - X X - - - -
7 X X X X X X - - X X X X - -
RIVAD/ISORRPIA/SOA
MOZ integer Control variable for the input of ozone data used in the 1
chemical transformation module
(Used only if MCHEM = 1,3,4)
0 = use a monthly background ozone value
in chemistry calculation
1 = use ozone concentrations from
the OZONE.DAT data file
9-82
Section 9: CALPUFF
MH2O2 integer Control variable for the input of hourly ozone data 1
used in the chemical transformation module
(Used only if MCHEM = 6 or 7 and MAQCHEM =1)
0 = use a monthly background H2O2 value
1 = use H2O2 concentrations from
the H2O2.DAT data file
BCKPMF(12) real array Data for Secondary Organic Aerosol (SOA) (Used
only if MCHEM=4 or 7). For MCHEM = 4 SOA
uses monthly values of fine particulate concentration
in ug/m3
for Clean Continental (default) 12*1
for Clean Marine (surface) (12*0.5)
for Urban low biogenic (controls present) (12*30)
for Urban high biogenic (controls present) (12*60)
Regional Plume (12*20)
Urban (no controls present) (12*100)
9-83
Section 9: CALPUFF
OFRAC(12) real array Data for Secondary Organic Aerosol (SOA) (Used
only if MCHEM = 4 or 7). For MCHEM = 4 SOA
uses monthly organic fraction of fine particulate
for Clean Continental (default) 2*0.15, 9*0.20,
for Clean Marine (surface) (2*0.25, 9*30, 0.25) 0.15
for Urban low biogenic (2*0.2,6*0.25,4*0.20)
for Urban high biogenic (2*0.25,3*0.3,3*0.55,3*0.35,
1*0.25)
Regional Plume (2*0.2,1*0.25,1*0.35,1*0.25, 3*0.4,3*0.3,
1*0.2)
Urban (no controls) - (2*0.3,3*0.35,3*0.55,3*0.35, 1*0.3
VCNX(12) real Data for Secondary Organic Aerosol (SOA) (Used only if
array MCEHM = 4). Monthly VOC / NOX ratio (after reaction)
for Clean Continental (default) 12*50.0
for Clean Marine (surface) (12*50.0)
for Urban low biogenic (controls present) (12*4.0)
for Urban high biogenic (controls present) (12*15.0)
Regional plume (12*15.0)
Urban no controls present (12*2.0)
9-84
Section 9: CALPUFF
Input Group 11b consists of a table containing the number of half-life decay specifications for each
radioactive species specified in Input Group 3. The 24 radioactive species of Input Group 3 are;
! CSPEC = H-3 ! !END!
! CSPEC = HE-3 ! !END!
! CSPEC = C-14 ! !END!
! CSPEC = N-14 ! !END!
! CSPEC = CO-58 ! !END!
! CSPEC = FE-58 ! !END!
! CSPEC = CO-60 ! !END!
! CSPEC = NI-60 ! !END!
! CSPEC = KR-85 ! !END!
! CSPEC = RB-85 ! !END!
! CSPEC = I-131 ! !END!
! CSPEC = XE-131M ! !END!
! CSPEC = XE-131 ! !END!
! CSPEC = I-133 ! !END!
! CSPEC = XE-133M ! !END!
! CSPEC = XE-133 ! !END!
! CSPEC = CS-133 ! !END!
! CSPEC = CS-134 ! !END!
! CSPEC = BA-134 ! !END!
! CSPEC = XE-134 ! !END!
! CSPEC = CS-137 ! !END!
! CSPEC = BA-137M ! !END!
! CSPEC = BA-137 ! !END!
Each species modeled is assigned a decay half-life (sec), and the associated mass lost may be
assigned to one or more other modeled species using a mass yield factor. CALPUFF includes
NDECAY blocks which assign the half-life for a parent species and mass yield factors for each child
species (if any) produced by the decay. An example of the CALPUFF default values for the 23
radioactive species is as follows;
9-86
Section 9: CALPUFF
SYTDEP real Horizontal size of a puff (m) beyond which the time- 550.
dependent dispersion equation of Heffter (1965)
MHFTRZ integer Use Heffter formulas for z ? (0 = no; 1 = yes). If yes, the 0
distance at which the Heffter formula will be applied for
z is determined by when y switches to Heffter's eqn.
(see SYTDEP).
JSUP integer Stability class used to determine dispersion rates for puffs 5
above the boundary layer (e.g., 6 = F stability)
IURB1, integer Land use categories associated with urban areas. If 10,19
IURB2 MDISP = 3 or 4, MP dispersion coefficients are used
when puff is over land use type IURB1 through IURB2
*XLATIN real North Latitude (deg) of station; positive for the northern -999.
hemisphere, negative for the southern hemisphere (used
for solar angle in RIVAD/ARM3 chem. transformation)
*XLONIN real West Longitude (deg) of station; positive west of 0.0, -999.
negative east of 0.0 (used for solar angle in
RIVAD/ARM3 chem. transformation)
9-87
Section 9: CALPUFF
*ANEMHT real Anemometer height (m) (used only if METFM = 2,3) 10.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 1.0
units) during one sampling step
SWMIN real Minimum turbulence w (m/s) -- 6 LAND, 6 WATER .20, .12, .08,
.06, .03,0.016,
.20, .12, .08,
.06, .03,0.016
9-88
Section 9: CALPUFF
CDIV(2) real Divergence criterion for dw/dz in met cell used to 0.0, 0.0
initiate adjustment for horizontal convergence (l/s).
Partial adjustment starts at CDIV(1), and full
adjustment is reached at CDIV(2)
NLUTIBL integer Search radius (no. of cells) for nearest land and water 4
cells used in subgrid TIBL module
WSCALM real Minimum wind speed allowed for non-calm conditions. 0.5
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.
Table 9-3 (Continued)
CALPUFF Control File Inputs - Input Group 12
Dispersion and Computational Parameters
WSCAT(5) real array Upper bounds on the first 5 wind speed classes (m/s); 1.54, 3.09,
The last class has no upper limit 5.14, 8.23, 10.8
PLX0(6) real array Wind speed profile power-law exponents for stabilities 0.07, 0.07,
A-F 0.10, 0.15,
0.35, 0.55
PTG0(2) real array Potential temperature gradient (deg. k/m) for stability .020, .035
classes E and F
PPC(6) real array Default plume path coefficients for each stability class 0.50, 0.50,
(used when option for partial plume height terrain 0.50, 0.50,
adjustment is selected, MCTADJ = 3) 0.35, 0.35
*NSPLIT integer Number of puffs that result every time a puff is split; 3
nsplit=2 means that 1 puff splits into 2
*IRESPLIT integer array Time(s) of a day when split puffs are eligible to be split 17*0, 1, 6*0
(24) 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
9-89
Section 9: CALPUFF
*ZISPLIT real Split is allowed only if last hour's mixing height (m) 100.0
exceeds this minimum value
*ROLDMAX real Split is allowed only if ratio of last hour's mixing ht to 0.25
the maximum mixing ht experienced by the puff is less
than this maximum value (this postpones a split until a
nocturnal layer develops)
*NSPLITH integer Number of puffs that result every time a puff is split - 5
nsplith=5 means that 1 puff splits into 5
*SYSPLITH integer Minimum sigma-y (Grid Cells Units) of puff before it 1.0
may be split
*CNSPLITH integer array Minimum concentration (g/m3) of each species in puff 1.0E-07
(mxspec) before it may be split. Enter array of NSPEC values; if a
single value is entered, it will be used for ALL species
*DSRISE real Trajectory step length (m) for numerical rise 1.0
integration.
*HTMINBC real Minimum height (m) to which BC puffs are mixed as 500.
they are emitted (MBCON=2 ONLY). Actual height is
reset to the current mixing height at the release point if
greater than this minimum.
*RSAMPBC real Search radius (km) about a receptor for sampling 10.
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.
9-90
Section 9: CALPUFF
9-91
Section 9: CALPUFF
IPTU integer Units choice for emission rates from point sources 1
1 = g/s
2 = kg/hr
3 = lb/hr
4 = tons/yr
5 = Odor Units * m3/s (vol. flux of compound)
6 = Odor Units * m3/min
7 = metric tons/yr
8 = Bq/s (Bq = becquerel = disintegration/s)
9 = GBq/yr
(Input Group 13b - Point Source Data for Sources with Constant Stack Parameters or -
Variable Emission Rate Scale Factors)
SELEV real Stack base elevation (m) above mean sea level -
9-92
Section 9: CALPUFF
SIGMAYI real Initial sigma-y (m) associated with the release from this 0.0
source -
SIGMAZI real Initial sigma-z (m) associated with the release from this 0.0
source
FMFAC real is a vertical momentum flux factor (0. or 1.0) used to 1.0
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).
ZPLTFM real is the platform height (m) for sources influenced by an 0.0
isolated structure that has a significant open area between
the surface and the bulk of the structure
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. These records must be placed before the input group terminates (i.e., !END!)
for the point source.
9-93
Section 9: CALPUFF
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.7, 1.0, 0.01, 0.1, 0.2,
0.24,0.25, 0.20 !
1 ! SIGYZI = 3., 1.5 !
1 ! FMFAC = 1. !
1 ! ZPLTFM = 0. ! !END!
9-94
Section 9: CALPUFF
* 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 xb-
adjusts, 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!).
9-95
Section 9: CALPUFF
---------------
Subgroup (13c)
---------------
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.
9-96
Section 9: CALPUFF
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 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
9-97
Section 9: CALPUFF
9-98
Section 9: CALPUFF
---------------
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.
9-99
Section 9: CALPUFF
IARU integer Units choice for emission rates from area sources 1
1 = g/m2/s
2 = kg/m2/hr
3 = lb/m2/hr
4 = tons/m2/yr
5 = Odor Units * m/s (vol. flux/m2 of
compound)
6 = Odor Units * m/min
7 = metric tons/m2/yr
8 = Bq/m2/s (Bq = becquerel = disintegration/s)
9 = GHq/m2/yr
(Input Group 14b - Area Source Data for Sources with Constant Parameters or
Emissions Scale Factors)
The variables in Input Group 14b are entered for each of the "NAR1" area sources. The data for each
9-100
Section 9: CALPUFF
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.
9-101
Section 9: CALPUFF
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).
9-102
Section 9: CALPUFF
(Input Group 14c - Vertex Data for Area Sources with Constant Parameters or
Emissions Scale Factors)
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.
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.
9-103
Section 9: CALPUFF
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 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
9-104
Section 9: CALPUFF
9-105
Section 9: CALPUFF
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.
9-106
Section 9: CALPUFF
MXNSEG integer Maximum number of line segments into which each line 7
may be divided (if MSLUG=1); Actual number of virtual
points which will be used to represent each line (if
MSLUG=0)
(Input Group 15b - Buoyant Line Source Data) - repeated for each line source
9-107
Section 9: CALPUFF
9-108
Section 9: CALPUFF
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)
---------------
--------
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).
9-109
Section 9: CALPUFF
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 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
9-110
Section 9: CALPUFF
9-111
Section 9: CALPUFF
---------------
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.
9-112
Section 9: CALPUFF
(Input Group 16b - Volume Source Data for Sources with Constant Parameters or
Variable Emission Scaling Factors (repeated for each volume source (NVL1))
9-113
Section 9: CALPUFF
9-114
Section 9: CALPUFF
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).
9-115
Section 9: CALPUFF
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
9-116
Section 9: CALPUFF
9-117
Section 9: CALPUFF
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.
9-118
Section 9: CALPUFF
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
------------------------------------
-------------
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
9-119
Section 9: CALPUFF
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!).
9-120
Section 9: CALPUFF
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 9.2.1.
Alternatively, CALPUFF will accept single station meteorological data in the ISC3 format, CTDMPLUS
/ AERMET format, or AUSPLUME format. The ISC3 meteorological data file (ISCMET.DAT) is
described in Section 9.2.2, the AUSPLUME file (PLMMET.DAT) is described in Section 9.2.3, and the
CTDMPLUS meteorological data files SURFACE.DAT and PROFILE.DAT are described in Section
9.2.4.
9.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.
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 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 pre-
computed 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 9-4.
9-121
Section 9: CALPUFF
Sample FORTRAN write statements for the CALMET.DAT header records are:
9-122
Section 9: CALPUFF
if(nssta.ge.1)then
write(iomet)CLAB12,IDUM,IDUM,IDUM,IDUM,NEARS
endif
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)
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
The CALMET.DAT data records include time-varying fields of winds and meteorological variables. In
addition to the regular CALMET output variables, both CALGRID and CALPUFF require additional
three-dimensional 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), near-
surface 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 9-
5.
Sample FORTRAN write statements for the CALMET.DAT data records are:
9-123
Section 9: CALPUFF
write(iunit)CLABSC, NDATHRB,IBSEC,NDATHRE,IESEC,IPGT
write(iunit)CLABUS, NDATHRB,IBSEC,NDATHRE,IESEC,USTAR
write(iunit)CLABZI, NDATHRB,IBSEC,NDATHRE,IESEC,ZI
write(iunit)CLABL, NDATHRB,IBSEC,NDATHRE,IESEC,EL
write(iunit)CLABWS, NDATHRB,IBSEC,NDATHRE,IESEC,WSTAR
write(iunit)CLABRMM, NDATHRB,IBSEC,NDATHRE,IESEC,RMM
write(iunit)CLABTK, NDATHRB,IBSEC,NDATHRE,IESEC,TEMPK
write(iunit)CLABD, NDATHRB,IBSEC,NDATHRE,IESEC,RHO
write(iunit)CLABQ, NDATHRB,IBSEC,NDATHRE,IESEC,QSW
write(iunit)CLABRH, NDATHRB,IBSEC,NDATHRE,IESEC,IRH
write(iunit)CLABPC, NDATHRB,IBSEC,NDATHRE,IESEC,IPCODE
endif
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
9-124
Section 9: CALPUFF
NCOM+3 13 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
9-125
Section 9: CALPUFF
a
char*N = Character*N
9-126
Section 9: CALPUFF
NCOM+3 32 FEAST real False Easting (km) for PMAP = TTM, LCC, or
LAZA
NCOM+3 33 FNORTH real False Northing (km) for PMAP = TTM, LCC,
or LAZA
9-127
Section 9: CALPUFF
a
char*N = Character*N
b
PMAP = EM, PS, and LAZA is NOT AVAILABLE in CALMET
9-128
Section 9: CALPUFF
NCOM+4 6 ZFACEM real array Heights (m) of cell faces (NZ + 1 values)
NCOM+5b 6 XSSTA real array X coordinates (m) of each surface met. station
NCOM+6b 6 YSSTA real array Y coordinates (m) of each surface met. station
NCOM+7c 6 XUSTA real array X coordinates (m) of each upper air met.
station
NCOM+8c 6 YUSTA real array Y coordinate (m) of each upper air met. station
9-129
Section 9: CALPUFF
a
char*N = Character*N
b
Included only if NSSTA > 0
c
Included only if NUSTA > 0
d
Included only if NPSTA > 0
9-130
Section 9: CALPUFF
NCOM+12 6 ILANDU integer array Gridded field of land use category for
each grid cell
NCOM+14 6 XLAI real array Gridded field of leaf area index for each
grid cell
a
char*N = Character*N
9-131
Section 9: CALPUFF
1 2,3 NDATHRB, integer Year, Julian day and hour (YYYYJJJHH) and
NSECB seconds (SSSS)
Year, Julian day and hour (YYYYJJJHH) and
1 4,5 NDATHRE, integer
seconds (SSSS)
NSECB
2 2,3 NDATHRB, integer Year, Julian day and hour (YYYYJJJHH) and
NSECB seconds (SSSS)
2 4,5 NDATHRE, integer Year, Julian day and hour (YYYYJJJHH) and
NSECB seconds (SSSS)
3b 2,3 NDATHRB, integer Year, Julian day and hour (YYYYJJJHH) and
NSECB seconds (SSSS)
3b 4,5 NDATHRE, integer Year, Julian day and hour (YYYYJJJHH) and
NSECB seconds (SSSS)
4b 2,3 NDATHRB, integer Year, Julian day and hour (YYYYJJJHH) and
NSECB seconds (SSSS)
4b 4,5 NDATHRE, integer Year, Julian day and hour (YYYYJJJHH) and
NSECB seconds (SSSS)
9-132
Section 9: CALPUFF
a
char*8 = Character*8
b
Record types 3 and 4 are included only if LCALGRD is TRUE
9-133
Section 9: CALPUFF
5 2,3 NDATHRB, integer Year, Julian day and hour (YYYYJJJHH) and seconds
NSECB (SSSS)
5 4,5 NDATHRE, integer Year, Julian day and hour (YYYYJJJHH) and seconds
NSECB (SSSS)
6 2,3 NDATHRB, integer Year, Julian day and hour (YYYYJJJHH) and seconds
NSECB (SSSS)
6 4,5 NDATHRE, integer Year, Julian day and hour (YYYYJJJHH) and seconds
NSECB (SSSS)
7 2,3 NDATHRB, integer Year, Julian day and hour (YYYYJJJHH) and seconds
NSECB (SSSS)
7 4,5 NDATHRE, integer Year, Julian day and hour (YYYYJJJHH) and seconds
NSECB (SSSS)
8 2,3 NDATHRB, integer Year, Julian day and hour (YYYYJJJHH) and seconds
NSECB (SSSS)
8 4,5 NDATHRE, integer Year, Julian day and hour (YYYYJJJHH) and seconds
NSECB (SSSS)
9 2,3 NDATHRB, integer Year, Julian day and hour (YYYYJJJHH) and seconds
NSECB (SSSS)
9 4,5 NDATHRE, integer Year, Julian day and hour (YYYYJJJHH) and seconds
NSECB (SSSS)
9-134
Section 9: CALPUFF
a
char*8 = Character*8
9-135
Section 9: CALPUFF
10 2,3 NDATHRB, integer Year, Julian day and hour (YYYYJJJHH) and seconds
NSECB (SSSS)
10 4,5 NDATHRE, integer Year, Julian day and hour (YYYYJJJHH) and seconds
NSECB (SSSS)
11 2,3 NDATHRB, integer Year, Julian day and hour (YYYYJJJHH) and seconds
NSECB (SSSS)
11 4,5 NDATHRE, integer Year, Julian day and hour (YYYYJJJHH) and seconds
NSECB (SSSS)
12 2,3 NDATHRB, integer Year, Julian day and hour (YYYYJJJHH) and seconds
NSECB (SSSS)
12 4,5 NDATHRE, integer Year, Julian day and hour (YYYYJJJHH) and seconds
NSECB (SSSS)
13 2,3 NDATHRB, integer Year, Julian day and hour (YYYYJJJHH) and seconds
NSECB (SSSS)
13 4,5 NDATHRE, integer Year, Julian day and hour (YYYYJJJHH) and seconds
NSECB (SSSS)
14 2,3 NDATHRB, integer Year, Julian day and hour (YYYYJJJHH) and seconds
NSECB (SSSS)
14 4,5 NDATHRE, integer Year, Julian day and hour (YYYYJJJHH) and seconds
NSECB (SSSS)
9-136
Section 9: CALPUFF
a
char*8 = Character*8
9-137
Section 9: CALPUFF
15 2,3 NDATHRB, integer Year, Julian day and hour (YYYYJJJHH) and seconds
NSECB (SSSS)
15 4,5 NDATHRE, integer Year, Julian day and hour (YYYYJJJHH) and seconds
NSECB (SSSS)
a
char*8 = Character*8
9.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 an 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. This extended ISC3-type data file format has been modified further to allow sub-
hourly time steps. 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 two-
dimensional fields of mixing heights and other meteorological variables (see CALMET.DAT in Section
9.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
9-138
Section 9: CALPUFF
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 time-varying 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, time-varying 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, time-varying values of short-wave solar radiation and relative humidity can also be included in
the extended record. In addition, time-varying values of the potential temperature lapse rate (d/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 period. The only exceptions are d/dz and p, which can be entered
for some periods and not others. If values of d/dz or p are missing (i.e., blank) for a given period, the
model will use its default or user-specified stability-dependent values (see the PLX0 and PTG0 variables
in Input Group 12 of the control file).
Sample ISCMET.DAT files are shown in Tables 9-6(a-c). 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, and the form
of the extended record data with sub-hourly time steps is shown in Part (c). Table 9-7 lists the contents of
the ISCMET.DAT header records, and Table 9-8 describes the data records. Note that neither version of
the fully extended data record formats is produced by any available processing program. These formats
are defined here for those users who wish to transform non-standard data sources into a single-station
format file for use in CALPUFF.
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
9-139
Section 9: CALPUFF
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).
9-140
Section 9: CALPUFF
1
Prepared by user
NONE
UTC-0500
1990 01 01 00 0000 1990 01 01 02 1800
94728 90 14735 90
90 1 1 0 090 1 1 01800 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 0180090 1 1 03600 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 1 090 1 1 11800 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 1180090 1 1 13600 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 2 090 1 1 21800 103.0000 3.0866 279.8 5 974.2 53.0 0.33 355. 0.25 0 0.0 .022 0. 75
| | | | | | | | | | | | | | | | | | | | | | | | |
yr dy sec yr dy sec WD vect WS Temp rural urban u* L zo p precip. d/dz p SW rh
mo hr mo hr stab zi zi code amt. rad. %
9-141
Section 9: CALPUFF
9-142
Section 9: CALPUFF
9-143
Section 9: CALPUFF
Base Data
Extended data
9-144
Section 9: CALPUFF
9-145
Section 9: CALPUFF
9.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 two-
dimensional fields of mixing heights and other meteorological variables (see CALMET.DAT in Section
9.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 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 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 270), while ISCMET.DAT uses flow vector (i.e., winds from the west toward the east have
a vector direction of 90). The PLMMET.DAT format also contains data for the horizontal component of
turbulence (). If both components of turbulence are available, they should be entered through the use
of the PROFILE.DAT data file (see Section 9.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 Monin-
Obukhov 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 9-9(a) and 9-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
9-146
Section 9: CALPUFF
table. A description of the contents of the header record is provided in Table 9-10, and the data records
are described in Table 9-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).
9-147
Section 9: CALPUFF
9-148
Section 9: CALPUFF
Record 1. Title.
9-149
Section 9: CALPUFF
Base Data
Extended Data
9-150
Section 9: CALPUFF
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 and PROFILE.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. This extended SURFACE.DAT and PROFILE.DAT formats have been modified further to allow
sub-hourly time steps.
CALPUFF is normally run with a full three-dimensional wind field and temperature field, as well as two-
dimensional fields of mixing heights and other meteorological variables (see CALMET.DAT in Section
9.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 (w, and either v or ) 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 270).
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,
9-151
Section 9: CALPUFF
available temperature gradient data are used to estimate the inversion strength.
Precipitation data, solar radiation, and relative humidity are not required in CTDMPLUS. They may be
added to SURFACE.DAT in an extended 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 9-12(a-c). Part (a) of the table shows the standard
SURFACE.DAT data record. The extended data record is shown in Part (b) of the table, and the form of
the extended record data with sub-hourly time steps is shown in Part (c). Similarly, sample
PROFILE.DAT files are shown in Table 9-13. Data records for SURFACE.DAT are described in Table
9-14, and data records for PROFILE.DAT are described in Table 9-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 v and can be made.
9-152
Section 9: CALPUFF
SURFACE.DAT 2.1 Header comments, begin/end times with seconds, time zone
1
Prepared by user
NONE
UTC-0500
1995 7 20 4 0000 1995 7 20 5 1800
1995 7 20 201 4 0 1995 7 20 201 4 900 600.0 600.0 0.0332 14.1 0.1000 0 0.0 0. 65
1995 7 20 201 4 900 1995 7 20 201 4 1800 600.0 600.0 0.0360 14.1 0.1000 0 0.0 0. 65
1995 7 20 201 4 1800 1995 7 20 201 4 2700 600.0 600.0 0.0309 14.1 0.1000 0 0.0 0. 69
1995 7 20 201 4 2700 1995 7 20 201 4 3600 600.0 600.0 0.0323 14.1 0.1000 0 0.0 0. 70
1995 7 20 201 5 0 1995 7 20 201 5 900 600.0 600.0 0.0264 14.1 0.1000 0 0.0 0. 74
1995 7 20 201 5 900 1995 7 20 201 5 1800 600.0 600.0 0.0185 14.1 0.1000 0 0.0 0. 75
| | | | | | | | | | | | | | | | | | | | |
Yr Mo Dy Jul Hr Sec Yr Mo Dy Jul Hr Sec Ziobs Zipre Ustar Monin Zo p precip. SW rh
Dy Dy Obukhov code amount rad. %
9-153
Section 9: CALPUFF
9-154
Section 9: CALPUFF
PROFILE.DAT 2.1 Header comments, begin/end times with seconds, time zone
1
Prepared by user
NONE
UTC-0500
1995 7 20 4 0000 1995 7 20 6 3600
1995 7 20 4 0 1995 7 20 4 900 10.0 0 196.20 1.33 298.330 7.080 -999.9 -999.9
1995 7 20 4 0 1995 7 20 4 900 60.0 1 226.40 3.86 299.798 3.652 -999.9 -999.9
1995 7 20 4 900 1995 7 20 4 1800 10.0 0 191.50 1.44 298.230 8.630 -999.9 -999.9 .5
1995 7 20 4 900 1995 7 20 4 1800 60.0 1 224.40 3.91 299.865 6.260 -999.9 -999.9
1995 7 20 4 1800 1995 7 20 4 2700 10.0 0 179.70 1.19 298.230 11.150 -999.9 -999.9
1995 7 20 4 1800 1995 7 20 4 2700 60.0 1 210.00 3.84 299.601 3.404 -999.9 -999.9
1995 7 20 4 2700 1995 7 20 4 3600 10.0 0 196.70 1.24 298.220 9.950 -999.9 -999.9
1995 7 20 4 2700 1995 7 20 4 3600 60.0 1 214.80 4.70 299.793 3.403 -999.9 -999.9
1995 7 20 5 0 1995 7 20 5 900 10.0 0 203.00 1.01 298.210 12.390 -999.9 -999.9
1995 7 20 5 0 1995 7 20 5 900 60.0 1 217.10 4.07 299.434 4.793 -999.9 -999.9
1995 7 20 5 900 1995 7 20 5 1800 10.0 0 200.40 0.70 298.280 16.920 -999.9 -999.9
1995 7 20 5 900 1995 7 20 5 1800 60.0 1 218.80 3.57 299.092 6.622 -999.9 -999.9
1995 7 20 5 1800 1995 7 20 5 2700 10.0 0 180.00 0.74 298.320 17.980 -999.9 -999.9
1995 7 20 5 1800 1995 7 20 5 2700 60.0 1 223.00 3.53 299.306 5.789 -999.9 -999.9
1995 7 20 5 2700 1995 7 20 5 3600 10.0 0 203.50 1.15 298.490 7.190 -999.9 -999.9
1995 7 20 5 2700 1995 7 20 5 3600 60.0 1 235.20 3.79 299.759 1.726 -999.9 -999.9
1995 7 20 6 0 1995 7 20 6 900 10.0 0 217.90 1.02 298.720 16.610 -999.9 -999.9
1995 7 20 6 0 1995 7 20 6 900 60.0 1 242.60 3.21 299.844 4.261 -999.9 -999.9
1995 7 20 6 900 1995 7 20 6 1800 10.0 0 239.80 0.78 299.280 22.060 -999.9 -999.9
1995 7 20 6 900 1995 7 20 6 1800 60.0 1 248.90 2.13 299.752 3.823 -999.9 -999.9
1995 7 20 6 1800 1995 7 20 6 2700 10.0 0 242.60 0.92 299.800 15.180 -999.9 -999.9 .18
1995 7 20 6 1800 1995 7 20 6 2700 60.0 1 251.00 2.30 299.849 5.116 -999.9 -999.9
1995 7 20 6 2700 1995 7 20 6 3600 10.0 0 257.00 1.29 300.540 16.340 -999.9 -999.9
1995 7 20 6 2700 1995 7 20 6 3600 60.0 1 257.90 2.25 300.149 10.386 -999.9 -999.9
| | | | | | | | | | | | | | | | | | |
9-155
Section 9: CALPUFF
9-156
Section 9: CALPUFF
9-157
Section 9: CALPUFF
Base Data
Extended Data
* Free format
9-158
Section 9: CALPUFF
* Free format
9-159
Section 9: CALPUFF
9-160
Section 9: CALPUFF
Base Data
Extended Data
9-161
Section 9: CALPUFF
Base Data
9-162
Section 9: CALPUFF
9.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 is a free-formatted ASCII data file (see Table 9-16 for an example). Multiple files may
be provided if groups of sources possess very different time-variability. 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 for a particular map projection and datum,
and CALPUFF converts these coordinates to the map projection and datum used in the modeling grid.
Header records of the PTEMARB.DAT file (see Table 9-17) contain the coordinate definitions, number
of sources, starting and ending time periods of data in the file, the time zone, and a list of the emitted
species and the corresponding molecular weights.
The PTEMARB.DAT file contains two types of data records. A set of time-invariant records (see Table
9-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
rain hats. A set of time-varying data follows (see Table 9-19). The time-varying records contain the
stack temperature, exit velocity, initial plume size (y and z), and emission rate for each species.
9-163
Section 9: CALPUFF
PTEMARB.DAT 2.1 Comments, times with seconds, time zone, coord info
1
Test Example
UTM
19N
NAS-C 02-21-2003
KM
UTC-0500
1988 11 0 0000 1988 11 23 3600
3 2
'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
18.590 18.590 18.590 18.590 18.590 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
1988 11 00 0000 1988 11 00 3600
'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
1988 11 01 0000 1988 11 01 3600
'Source 1' 279.27 8.50 0.0 0.0 0.449538E+01 0.204942E+02
'Source 2' 380.4 8.66 0.0 0.0 0.0 0.0
'Source 3' 279.27 2.66 0.0 0.0 0.449538E+01 0.204942E+02
1988 11 02 0000 1988 11 02 3600
'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
1988 11 03 0000 1988 11 22 3600
'Source 1' 277.97 8.41 0.0 0.0 0.430570E+01 0.207542E+02
'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
1988 11 23 0000 1988 11 23 3600
'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
.
.
.
9-164
Section 9: CALPUFF
NEXT TITLE character *80 Title of file (up to 80 characters) and any other documentation
NCOMM for QA
Lines
Map projection
NCOMM+3 PMAP * character*8
UTM : Universal Transverse Mercator
TTM : Tangential Transverse Mercator
LCC : Lambert Conformal Conic
PS : Polar Stereographic
EM : Equatorial Mercator
LAZA : Lambert Azimuthal Equal Area
NCOMM+4 RLAT0, character*16 Latitude, Longitude of map projection origin, and one or two
RLON0, Matching Latitude Parallels. (Degrees with either N, S, E, or
XLAT1, W, e.g., 45.6N).
XLAT2
ONLY for PMAP = LCC, LAZA, TTM, PS, or EM
9-165
Section 9: CALPUFF
9-166
Section 9: CALPUFF
NCOMM+8 or 9 IBJUL integer Julian day of beginning of data in the file (JJJ)
NCOMM+8 or 9 IEJUL integer Julian day of end of data in the file (JJJ)
. . . .
. . . .
. . . .
*
"NSE" elements of CSLST2 array
a
C*12 = Character*12
9-167
Section 9: CALPUFF
. . . .
. . . .
. . . .
NSE real Molecular weight for species "NSE" 46. (NOX as NO2)
*
"NSE" elements of XMWEM2 array
9-168
Section 9: CALPUFF
2b 1-36 BHT real Controlling building heights (m) for each 10 flow
direction, starting 10 from North
3b 1-36 BWD real Controlling building width (m) for each 10 flow
direction, starting 10 from North
4c 1-36 BLN real Controlling building length (m) for each 10 flow
direction, starting 10 from North
5c 1-36 XBADJ real Along-wind distance (m) from the source to the
center of the upwind face of the building for each
10 flow direction, starting 10 from North
6c 1-36 YBADJ real Cross-wind distance (m) from the source to the
center of the upwind face of the building for each
10 flow direction, starting 10 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
9-169
Section 9: CALPUFF
downwash
c
Time-invariant data Records 4 through 6 are provided only for those sources identified as being subject to
building downwash when using the PRIME downwash option
9-170
Section 9: CALPUFF
1 IBYEAR integer Beginning year for which data in this set is valid (YYYY)
2 IBJUL integer Beginning Julian day for which data in this set is valid (JJJ)
3 IBHOUR Integer Beginning hour for which data in this set is valid (HH)
4 IBSEC Integer Beginning second for which data in this set is valid (SSSS)
5 IEYEAR integer Ending year for which data in this set is valid (YYYY)
6 IEJUL integer Ending Julian day for which data in this set is valid (JJJ)
7 IEHOUR Integer Ending hour for which data in this set is valid (HH)
8 IESEC Integer Ending second for which data in this set is valid (SSSS)
Next QEMIT real array Emission rates (g/s) for each species in the order specified in
NSE2 Header Record 2
a
C*16 = Character*16
9-171
Section 9: CALPUFF
9-172
Section 9: CALPUFF
9.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 9-20 for an example). Multiple files may
be provided if groups of sources possess very different time-variability. 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 for a particular map projection and datum,
and CALPUFF converts these coordinates to the map projection and datum used in the modeling grid.
Header records of the BAEMARB.DAT file (see Table 9-21) contain the coordinate definitions, number
of sources, starting and ending time periods of data in the file, the time zone, and a list of the emitted
species and the corresponding molecular weights.
The BAEMARB.DAT file contains two types of data records. A set of time-invariant records (see Table
9-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 9-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.
9-173
Section 9: CALPUFF
BAEMARB.DAT 2.1 Comments, times with seconds, time zone, coord info
2
Prepared by user
NOX_FIRE_RUN
LCC
40.5N 90.0W 30.0N 60.0N
0.00000000E+00 0.00000000E+00
NWS-84 02-21-2003
KM
UTC-0500
1994 365 23 0000 1995 142 12 0000
3 3
'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
1994 365 23 0000 1995 142 09 3600
'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
1995 142 10 0000 1995 142 11 3600
'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
9-174
Section 9: CALPUFF
NEXT NCOMM TITLE character *80 Title of file (up to 80 characters) and any other documentation
Lines for QA
Map projection
NCOMM+3 PMAP * character*8
UTM : Universal Transverse Mercator
TTM : Tangential Transverse Mercator
LCC : Lambert Conformal Conic
PS : Polar Stereographic
EM : Equatorial Mercator
LAZA : Lambert Azimuthal Equal Area
NCOMM+4 RLAT0, character*16 Latitude, Longitude of map projection origin, and one or two
RLON0, Matching Latitude Parallels. (Degrees with either N, S, E, or
XLAT1, W, e.g., 45.6N).
XLAT2
ONLY for PMAP = LCC, LAZA, TTM, PS, or EM
NCOMM+8 or 9 IBJUL integer Julian day of beginning of data in the file (JJJ)
9-175
Section 9: CALPUFF
NCOMM+8 or 9 IEJUL integer Julian day of end of data in the file (JJJ)
. . . .
. . . .
. . . .
*
"NSE" elements of CSLST3 array
a
C*12 = Character*12
. . . .
9-176
Section 9: CALPUFF
. . . .
. . . .
NSE real Molecular weight for Species "NSE" 46. (NOX as NO2)
*
"NSE" elements of XMWEM3 array
9-177
Section 9: CALPUFF
a
C*16 = Character*16
1 IBYEAR integer Beginning year for which data in this set is valid (YYYY)
2 IBJUL integer Beginning Julian day for which data in this set is valid (JJJ)
3 IBHOUR Integer Beginning hour for which data in this set is valid (HH)
4 IBSEC Integer Beginning second for which data in this set is valid (SSSS)
5 IEYEAR integer Ending year for which data in this set is valid (YYYY)
6 IEJUL integer Ending Julian day for which data in this set is valid (JJJ)
7 IEHOUR Integer Ending hour for which data in this set is valid (HH)
8 IESEC Integer Ending second for which data in this set is valid (SSSS)
9-178
Section 9: CALPUFF
25 VERTX real array X-coordinate (km) of each of the four vertices defining the
perimeter of the area source
69 VERTY real array Y-coordinate (km) of each of the four vertices defining the
perimeter of the area source
Next QEMIT real array Emission rates (g/s or g/m2/s) for each species in the order
NSE3 specified in Header Record 2
a
C*16 = Character*16
9-179
Section 9: CALPUFF
9.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.
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 for a particular map projection and datum, and
CALPUFF converts these coordinates to the map projection and datum used in the modeling grid.
LNEMARB.DAT is a free-formatted ASCII data file (see Table 9-24 for an example). The header
records of the LNEMARB.DAT file (see Table 9-25) contain the maximum number of lines in the group,
starting and ending time periods of data in the file, time zone, map projection and datum, and a list of the
emitted species. A set of time-invariant records (see Table 9-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. The time varying emissions and source parameter data follow in
subsequent records (see Table 9-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.
9-180
Section 9: CALPUFF
LNEMARB.DAT 2.1 Comments, times with seconds, time zone, coord info
1
Test Example
UTM
19N
NAS-C 02-21-2003
KM
UTC-0500
1988 1 0 0000 1988 366 23 3600
2 1
'SO2'
64.
7 6
'Line_Source_1' 'Line_Source_2'
1988 01 00 0000 1988 01 06 3600
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
1988 01 07 0000 1988 01 12 3600
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. 2.3
1988 01 13 0000 1988 02 02 3600
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
1988 02 03 0000 1988 366 23 3600
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
9-181
Section 9: CALPUFF
NEXT NCOMM TITLE character *80 Title of file (up to 80 characters) and any other documentation
Lines for QA
Map projection
NCOMM+3 PMAP * character*8
UTM : Universal Transverse Mercator
TTM : Tangential Transverse Mercator
LCC : Lambert Conformal Conic
PS : Polar Stereographic
EM : Equatorial Mercator
LAZA : Lambert Azimuthal Equal Area
NCOMM+4 RLAT0, character*16 Latitude, Longitude of map projection origin, and one or two
RLON0, Matching Latitude Parallels. (Degrees with N, S, E or W, e.g.,
XLAT1, 45.6N).
XLAT2
ONLY for PMAP = LCC, LAZA, TTM, PS, or EM
NCOMM+8 or 9 IBJUL integer Julian day of beginning of data in the file (JJJ)
9-182
Section 9: CALPUFF
NCOMM+8 or 9 IEJUL integer Julian day of end of data in the file (JJJ)
. . . .
. . . .
. . . .
*
"NSE" elements of CSLST5 array
a
C*12 = Character*12
. . . .
. . . .
. . . .
9-183
Section 9: CALPUFF
*
"NSE" elements of XMWEM5 array
9-184
Section 9: CALPUFF
a
C*16 = Character*16
1 IBYEAR integer Beginning year for which data in this set is valid (YYYY)
2 IBJUL integer Beginning Julian day for which data in this set is valid (JJJ)
3 IBHOUR Integer Beginning hour for which data in this set is valid (HH)
4 IBSEC Integer Beginning second for which data in this set is valid (SSSS)
5 IEYEAR integer Ending year for which data in this set is valid (YYYY)
6 IEJUL integer Ending Julian day for which data in this set is valid (JJJ)
7 IEHOUR Integer Ending hour for which data in this set is valid (HH)
8 IESEC Integer Ending second for which data in this set is valid (SSSS)
9-185
Section 9: CALPUFF
1 NGROUPS integer Number of groups of line sources active this time period
1 CID C*16 Source identifier (must match one of the values in time-
invariant records)
6 HTL real Release height (m) of the emissions above the ground
Next NSE QL real Emission rates for each species in the order specified in
array Header Record
9-186
Section 9: CALPUFF
a
C*16 = Character*16
9-187
Section 9: CALPUFF
9.6 Volume Source Emissions File (VOLEMARB.DAT) with Arbitrarily Varying Emissions
The VOLEMARB.DAT file contains volume source data for sources with detailed, arbitrarily varying
characteristics in time. Such volume sources may have time-varying emission rates, time-varying initial
size, and time-varying location (they may move).
VOLEMARB.DAT is a free-formatted ASCII data file (see Table 9-28 for an example). Multiple files
may be provided if groups of sources possess very different time-variability. 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.
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 for a particular map projection and datum, and
CALPUFF converts these coordinates to the map projection and datum used in the modeling grid.
The header records of the VOLEMARB.DAT file (see Table 9-29) contain the number of sources,
starting and ending time periods of data in the file, time zone, map projection and datum, and a list of the
emitted species. When more than one file is used, the species information in each file must be the same.
The number of sources NSRC must identify the number of sources in the file, and the sum of the NSRC
values from all files must equal the total number of sources (NVL2) provided in Subgroup (16a) of the
control file. A set of time-invariant records (see Table 9-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 9-31). The time-varying records contain the source location, its effective height
above ground, the elevation (MSL) at the location, the initial y and z, and the emission rate for each
species.
9-188
Section 9: CALPUFF
VOLEMARB.DAT 2.1 Comments, times with seconds, time zone, coord info
1
Example using Lambert Conformal coordinates
LCC
44.0N 80.0W 30.0N 60.0N
0.00000000E+00 0.00000000E+00
WGS-84 02-21-2003
KM
UTC-0500
1988 11 00 0000 1988 11 23 3600
3 2
'POL1' 'POL2'
30.000 30.000
'Source 1' 0
'Source 2' 0
'Source 3' 0
1988 011 00 0000 1988 011 00 3600
'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
1988 011 01 0000 1988 011 01 3600
'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
1988 011 02 0000 1988 011 02 3600
'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
1988 011 03 0000 1988 011 22 3600
'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
1988 011 23 0000 1988 011 23 3600
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
9-189
Section 9: CALPUFF
NEXT NCOMM TITLE character *80 Title of file (up to 80 characters) and any other documentation
Lines for QA
Map projection
NCOMM+3 PMAP * character*8
UTM : Universal Transverse Mercator
TTM : Tangential Transverse Mercator
LCC : Lambert Conformal Conic
PS : Polar Stereographic
EM : Equatorial Mercator
LAZA : Lambert Azimuthal Equal Area
NCOMM+4 RLAT0, character*16 Latitude, Longitude of map projection origin and one or two
RLON0, Matching Latitude Parallels. (Degrees with N, S, E or W, e.g.,
XLAT1, 45.6N).
XLAT2
ONLY for PMAP = LCC, LAZA, TTM, PS, or EM
NCOMM+8 or 9 IBJUL integer Julian day of beginning of data in the file (JJJ)
9-190
Section 9: CALPUFF
NCOMM+8 or 9 IEJUL integer Julian day of end of data in the file (JJJ)
9-191
Section 9: CALPUFF
. . . .
. . . .
. . . .
*
"NSE" elements of CSLST4 array
a
C*12 = Character*12
. . . .
. . . .
. . . .
NSE real Molecular weight for species "NSE" 46. (NOX as NO2)
9-192
Section 9: CALPUFF
*
"NSE" elements of XMWEM4 array
9-193
Section 9: CALPUFF
a
C*16 = Character*16
1 IBYEAR integer Beginning year for which data in this set is valid (YYYY)
2 IBJUL integer Beginning Julian day for which data in this set is valid (JJJ)
3 IBHOUR Integer Beginning hour for which data in this set is valid (HH)
4 IBSEC Integer Beginning second for which data in this set is valid (SSSS)
5 IEYEAR integer Ending year for which data in this set is valid (YYYY)
6 IEJUL integer Ending Julian day for which data in this set is valid (JJJ)
7 IEHOUR Integer Ending hour for which data in this set is valid (HH)
8 IESEC Integer Ending second for which data in this set is valid (SSSS)
9-194
Section 9: CALPUFF
9-195
Section 9: CALPUFF
Next NSE QEMIT real array Emission rates (g/s) for each species in the order specified in
Header Record 2
a
C*16 = Character*16
9-196
Section 9: CALPUFF
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 9-32, and a description of the input parameters is provided in Table 9-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
9-197
Section 9: CALPUFF
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 air-
mass 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).
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).
9-198
Section 9: CALPUFF
-----------------------------------------------------------------------
CALPUFF Boundary Condition Data File
-----------------------------------------------------------------------
Constant or factored
variation [Group 3] (NTYPEBC1) No Default ! NTYPEBC1 = 3 !
Arbitrary time
variation [Group 5] (NTYPEBC2) No Default ! NTYPEBC2 = 1 !
--------
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!
-------------------------------------------------------------------------------
9-199
Section 9: CALPUFF
* SO2 = *
* SO4 = *
*END*
-----------------------------------------------------------------------
9-200
Section 9: CALPUFF
-------------
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
--------------------------
9-201
Section 9: CALPUFF
9-202
Section 9: CALPUFF
! 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.
-----------------------------------------------------------------------
-----------------------------------------------------------------------
9-203
Section 9: CALPUFF
9-204
Section 9: CALPUFF
-------------
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)
-------------
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).
9-205
Section 9: CALPUFF
9-206
Section 9: CALPUFF
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
9-207
Section 9: CALPUFF
NTYPEBC2 integer Number of air-mass types that are varied hourly (Group 5) 2
XMWTBC real array Molecular weight (g/mole) for each species (used ONLY 64., ...
(mxspec) if IBCU=3,4 to convert to mass concentration), assigned
by species dictionary name
9-208
Section 9: CALPUFF
CONBC real array Concentration of each species for Air-mass type .1, .11., .34,
(1 to NSPECBC, .52,.6
IAM)
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
9-209
Section 9: CALPUFF
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.
9-210
Section 9: CALPUFF
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-to-
last row from the 'bottom'.
SOUTH integer array Air-mass type index for each cell along the southern 4,1,8*2, ...
boundary of the computational grid
IBHH integer Starting hour (HH), identified by the time at the END 01
of the hour (00-23 LST)
IEHH integer Ending hour (HH), identified by the time at the END 00
of the hour (00-23 LST)
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.
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).
9-211
Section 9: CALPUFF
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.
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.
An example of a user-specified VD.DAT file is shown in Table 9-34. The VD.DAT file uses a control
file format (see Section 9.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!).
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.
9-212
Section 9: CALPUFF
Table 9-34: 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.
SPECIES
NAME Deposition Velocities (m/s)
------- ---------------------------
!END!
9-213
Section 9: CALPUFF
OZONE.DAT is a sequential, formatted data file containing three types of records: header records, time-
invariant data records, and ozone data records. A sample OZONE.DAT file is shown in Table 9-35. The
header record contains information on the number of stations in the data set, the time period and time
zone of the data, the coordinate map projection and datum, and descriptive information regarding the file.
Horizontal coordinates are specified in this particular map projection and datum, and CALPUFF converts
these coordinates to the map projection and datum used in the modeling grid.
A set of time-invariant records are read after the header records. These records specify the coordinates of
each ozone station (see Table 9-37). A set of time-varying data follows, which contain the hourly ozone
concentration (in ppb) for each station (see Table 9-38).
9-214
Section 9: CALPUFF
OZONE.DAT 2.1 Comments, times with seconds, time zone, coord info
1
Prepared by user
UTM
11N
NWS-84 02-21-2003
KM
UTC-0800
1979 365 23 0000 1980 001 23 3600
3
'STATION 1' 168.000 3840.000
'STATION 2' 200.000 3880.000
'STATION 3' 180.000 3860.000
1979 365 23 0000 1979 365 23 3600 9999. 62. 50.
1980 001 00 0000 1980 001 00 3600 9999. 9999. 9999.
1980 001 01 0000 1980 001 01 3600 68. 61. 9999.
1980 001 02 0000 1980 001 02 3600 66. 9999. 9999.
1980 001 03 0000 1980 001 03 3600 9999. 9999. 53.
1980 001 04 0000 1980 001 04 3600 9999. 9999. 9999.
1980 001 05 0000 1980 001 05 3600 9999. 9999. 9999.
1980 001 06 0000 1980 001 06 3600 9999. 9999. 9999.
1980 001 07 0000 1980 001 07 3600 69. 68. 60.
1980 001 08 0000 1980 001 08 3600 72. 75. 65.
1980 001 09 0000 1980 001 09 3600 74. 78. 69.
1980 001 10 0000 1980 001 10 3600 87. 85. 74.
1980 001 11 0000 1980 001 11 3600 102. 99. 84.
1980 001 12 0000 1980 001 12 3600 109. 105. 92.
1980 001 13 0000 1980 001 13 3600 120. 118. 102.
1980 001 14 0000 1980 001 14 3600 116. 116. 95.
1980 001 15 0000 1980 001 15 3600 103. 100. 97.
1980 001 16 0000 1980 001 16 3600 98. 90. 88.
1980 001 17 0000 1980 001 17 3600 89. 82. 83.
1980 001 18 0000 1980 001 18 3600 9999. 9999. 80.
1980 001 19 0000 1980 001 19 3600 9999. 9999. 78.
1980 001 20 0000 1980 001 20 3600 9999. 9999. 74.
1980 001 21 0000 1980 001 21 3600 9999. 9999. 69.
1980 001 22 0000 1980 001 22 3600 9999. 9999. 69.
1980 001 23 0000 1980 001 23 3600 9999. 9999. 68.
9-215
Section 9: CALPUFF
NEXT NCOMM TITLE character *80 Title of file (up to 80 characters) and any other documentation
Lines for QA
Map projection
NCOMM+3 PMAP * character*8
LL: Latitude/Longitude
UTM : Universal Transverse Mercator
TTM : Tangential Transverse Mercator
LCC : Lambert Conformal Conic
PS : Polar Stereographic
EM : Equatorial Mercator
LAZA : Lambert Azimuthal Equal Area
NCOMM+4 RLAT0, character*16 Latitude, Longitude of map projection origin, and one or two
RLON0, Matching Latitude Parallels. (Degrees with N, S, E or W, e.g.,
XLAT1, 45.6N).
XLAT2
ONLY for PMAP = LCC, LAZA, TTM, PS, or EM
NCOMM+8 or 9 IBJUL integer Julian day of beginning of data in the file (JJJ)
9-216
Section 9: CALPUFF
NCOMM+8 or 9 IEJUL integer Julian day of end of data in the file (JJJ)
or or
or or
a
C*16 = Character*16, placed in quotes
b
Latitude and longitude are provided as quoted strings: 45.85N 90.6W
9-217
Section 9: CALPUFF
1 IBYEAR integer Beginning year for which data in this set is valid (YYYY)
2 IBJUL integer Beginning Julian day for which data in this set is valid (JJJ)
3 IBHOUR Integer Beginning hour for which data in this set is valid (HH)
4 IBSEC Integer Beginning second for which data in this set is valid (SSSS)
5 IEYEAR integer Ending year for which data in this set is valid (YYYY)
6 IEJUL integer Ending Julian day for which data in this set is valid (JJJ)
7 IEHOUR Integer Ending hour for which data in this set is valid (HH)
8 IESEC Integer Ending second for which data in this set is valid (SSSS)
Next "NSTA" 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.)
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:
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 NO3) 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 9-39. The CHEM.DAT file uses a control
file format (see Section 9.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).
9-218
Section 9: CALPUFF
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).
9-219
Section 9: CALPUFF
Table 9-39: Sample User-Specified Chemical Transformation Rate Data File (CHEM.DAT)
The first value correspond to the period from 0:00 to 1:00, and the 24th value corresponds to
23:00-0:00.
! 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!
9-220
Section 9: CALPUFF
CALPUFF provides several options for computing the dispersion coefficients, y and z. 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 v and w read from a data file
(PROFILE.DAT),
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.
If Option 1 or Option 5 is selected, the user must prepare a data file with hourly values of v and w. This
option is intended primarily for application to a single source or facility with onsite measurements of v
and w. 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 9.2.4.
9-221
Section 9: CALPUFF
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 9.15, 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 9-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 9-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 9-42 (HILL.DAT) and 9-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.
9-222
Section 9: CALPUFF
9-223
Section 9: CALPUFF
9-224
Section 9: CALPUFF
9-225
Section 9: CALPUFF
3 61-70 SCALMA real Inverse polynomial length scale for major axis
3 71-80 SCALMI real Inverse polynomial length scale for minor axis
9-226
Section 9: CALPUFF
9-227
Section 9: CALPUFF
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 9-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.
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 9-45). A
sample Fortran read statement for the header record is:
READ(iunit,*)FNAMEC,NCOAST,IUTMCST,VRSCST,LABCST
CHARACTER*12 FNAMEC,VRSCST,LABCST.
9-228
Section 9: CALPUFF
Table 9-44: Sample Subgrid Scale Coastal Boundary Data File (COASTLN.DAT)
9-229
Section 9: CALPUFF
a
C*12 = Character*12
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 9-46) followed by a variable number of
data records (see Table 9-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.
9-230
Section 9: CALPUFF
REAL XKM(mxcoast,mxptcst),YKM(mxcoast,mxptcst)
CHARACTER*2 ADIR
CHARACTER*12 ALABEL
(Data header and data point set repeated for each coastline)
a
C*2 = Character*2
C*16= Character*16
(Data header and data point set repeated for each coastline)
9-231
Section 9: CALPUFF
9-232
Section 9: CALPUFF
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 9-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.
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 9-49). A
sample Fortran read statement for the header record is:
READ(iunit,*)DATATYPE,NBNDRY,IUTMBDY,VRSBDY,LABBDY
CHARACTER*12 DATATYPE,VRSBDY,LABBDY.
9-233
Section 9: CALPUFF
9-234
Section 9: CALPUFF
a
C*12 = Character*12
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 9-50) followed by a variable number of
data records (see Table 9-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.
9-235
Section 9: CALPUFF
REAL XKM(mxbndry,mxptbdy),YKM(mxbndry,mxptbdy)
CHARACTER*2 ADIR
CHARACTER*12 ALABEL
(Data header and data point set repeated for each boundary)
a
C*2 = Character*2
C*16= Character*16
(Data header and data point set repeated for each boundary)
9-236
Section 9: CALPUFF
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 9.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 9.15.7.
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 9.1). RESTARTE.DAT is an unformatted data file that contains information
9-237
Section 9: CALPUFF
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.
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
9.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.
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 9-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.
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,NSPOUT,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)CSOUT
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
9-238
Section 9: CALPUFF
IF(NVL1.GT.0) READ(iunit)ISTYPE,CNAMVL1
IF(NVL2.GT.0) READ(iunit)ISTYPE,CNAMVL2
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(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)
Logical LCOMPR
9-239
Section 9: CALPUFF
9-240
Section 9: CALPUFF
9-241
Section 9: CALPUFF
a
C*12 = Character*12
9-242
Section 9: CALPUFF
9-243
Section 9: CALPUFF
a
C*N = Character*N
9-244
Section 9: CALPUFF
a
C*N = Character*N
a
C*80 = Character*80
9-245
Section 9: CALPUFF
1-NSPEC CSOUT C*15 Species name (characters 1-12) and layer (characters 13-15)
array 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.
3 ZREC real array Ground level elevation (m) of each discrete receptor
9-246
Section 9: CALPUFF
3 ZRCT real array Ground level elevation (m) of each complex terrain receptor
9-247
Section 9: CALPUFF
C*16 = Character*16
C*16 = Character*16
9-248
Section 9: CALPUFF
C*16 = Character*16
9-249
Section 9: CALPUFF
C*16 = Character*16
C*16 = Character*16
9-250
Section 9: CALPUFF
C*16 = Character*16
9-251
Section 9: CALPUFF
C*16 = Character*16
C*16 = Character*16
9-252
Section 9: CALPUFF
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 9-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
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:
9-253
Section 9: CALPUFF
9-254
Section 9: CALPUFF
a
C*16 = Character*16
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.)
9-255
Section 9: CALPUFF
Next CONCG real array "IAVG" - hour averaged concentrations (g/m3) for each
NXG*NYG sampling grid point.
a
C*15 = Character*15
b
Dots (....) indicate spaces.
9-256
Section 9: CALPUFF
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 CONCD real array "IAVG" - hour averaged concentrations (g/m3) for each
NDREC discrete receptor
a
C*15 = Character*15
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.
9-257
Section 9: CALPUFF
9-258
Section 9: CALPUFF
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
9.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.
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 9-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.
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
9-259
Section 9: CALPUFF
IF(NVL1.GT.0) READ(iunit)ISTYPE,CNAMVL1
IF(NVL2.GT.0) READ(iunit)ISTYPE,CNAMVL2
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
9-260
Section 9: CALPUFF
9-261
Section 9: CALPUFF
9-262
Section 9: CALPUFF
a
C*12 = Character*12
9-263
Section 9: CALPUFF
9-264
Section 9: CALPUFF
a
C*N = Character*N
9-265
Section 9: CALPUFF
a
C*N = Character*N
a
C*80 = Character*80
9-266
Section 9: CALPUFF
a
C*15 = Character*15
b
Dots (....) indicate spaces.
9-267
Section 9: CALPUFF
3 ZREC real array Ground level elevation (m) of each discrete receptor
3 ZRCT real array Ground level elevation (m) of each complex terrain receptor
C*16 = Character*16
9-268
Section 9: CALPUFF
9-269
Section 9: CALPUFF
C*16 = Character*16
C*16 = Character*16
C*16 = Character*16
9-270
Section 9: CALPUFF
9-271
Section 9: CALPUFF
C*16 = Character*16
C*16 = Character*16
C*16 = Character*16
9-272
Section 9: CALPUFF
9-273
Section 9: CALPUFF
C*16 = Character*16
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 9-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
Character*15 CDFG,CDFD
Real DFLXG(nxg,nyg),DFLXD(NDREC)
and
9-274
Section 9: CALPUFF
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.
9-275
Section 9: CALPUFF
a
C*16 = Character*16
9-276
Section 9: CALPUFF
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 DFLXG real array "IAVG" - hour averaged dry deposition fluxes (g/m2/s) for
NXG*NYG each gridded receptor
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 DFLXD real array "IAVG" - hour averaged dry deposition fluxes (g/m2/s) for
NDREC each discrete receptor
a
C*15 = Character*15
b
Dots (....) indicate spaces.
9-277
Section 9: CALPUFF
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
9.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.
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 9-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.
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
9-278
Section 9: CALPUFF
IF(NVL1.GT.0) READ(iunit)ISTYPE,CNAMVL1
IF(NVL2.GT.0) READ(iunit)ISTYPE,CNAMVL2
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
9-279
Section 9: CALPUFF
9-280
Section 9: CALPUFF
9-281
Section 9: CALPUFF
a
C*12 = Character*12
9-282
Section 9: CALPUFF
9-283
Section 9: CALPUFF
a
C*N = Character*N
9-284
Section 9: CALPUFF
a
C*N = Character*N
a
C*80 = Character*80
9-285
Section 9: CALPUFF
a
C*15 = Character*15
b
Dots (....) indicate spaces.
9-286
Section 9: CALPUFF
3 ZREC real array Ground level elevation (m) of each discrete receptor
3 ZRCT real array Ground level elevation (m) of each complex terrain receptor
9-287
Section 9: CALPUFF
C*16 = Character*16
9-288
Section 9: CALPUFF
C*16 = Character*16
C*16 = Character*16
9-289
Section 9: CALPUFF
C*16 = Character*16
9-290
Section 9: CALPUFF
C*16 = Character*16
C*16 = Character*16
9-291
Section 9: CALPUFF
C*16 = Character*16
9-292
Section 9: CALPUFF
C*16 = Character*16
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 9-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
Character*15 CWFG,CWFD
9-293
Section 9: CALPUFF
Real WFLXG(nxg,nyg),WFLXD(NDREC)
and
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.
9-294
Section 9: CALPUFF
a
C*16 = Character*16
9-295
Section 9: CALPUFF
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 DWLXG real array "IAVG" - hour averaged wet deposition fluxes (g/m2/s) for
NXG*NYG each gridded receptor
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 WFLXD real array "IAVG" - hour averaged wet deposition fluxes (g/m2/s) for
NDREC each discrete receptor
a
C*15 = Character*15
b
Dots (....) indicate spaces.
9-296
Section 9: CALPUFF
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 9.1) must be set equal to one
in order to create the VISB.DAT file.
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 9-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.
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
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
Character*132 COMMENT
Character*80 TITLE(3)
Character*64 DATAMOD
Character*16 DATASET, DATAVER, CLAT0, CLON0, CLAT1, CLAT2
9-297
Section 9: CALPUFF
Real XREC(NREC),YREC(NREC),ZREC(NREC)
Real XRCT(NCTREC),YRCT(NCTREC),ZRCT(NCTREC)
Integer IHILL(NCTREC)
Logical LCOMPR
9-298
Section 9: CALPUFF
9-299
Section 9: CALPUFF
a
C*12 = Character*12
9-300
Section 9: CALPUFF
9-301
Section 9: CALPUFF
a
C*N = Character*N
9-302
Section 9: CALPUFF
a
C*N = Character*N
a
C*80 = Character*80
9-303
Section 9: CALPUFF
a
C*15 = Character*15
b
Dots (....) indicate spaces.
9-304
Section 9: CALPUFF
3 ZREC real array Ground level elevation (m) of each discrete receptor
3 ZRCT real array Ground level elevation (m) of each complex terrain receptor
C*16 = Character*16
9-305
Section 9: CALPUFF
9-306
Section 9: CALPUFF
C*16 = Character*16
C*16 = Character*16
9-307
Section 9: CALPUFF
C*16 = Character*16
9-308
Section 9: CALPUFF
C*16 = Character*16
C*16 = Character*16
C*16 = Character*16
9-309
Section 9: CALPUFF
9-310
Section 9: CALPUFF
C*16 = Character*16
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
9-59).
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
Character*15 CNAME
Integer IRHSS(NSSTA)
Integer IRH2D(nxm,nym)
9-311
Section 9: CALPUFF
a
C*16 = Character*16
(Next Record)
Next NSSTA IRHSS integer array Relative humidity (%) reported as an integer for each
surface meteorological station
(if I2DRH = 0)
Next IRH2D integer array Relative humidity (%) reported as an integer for each
NXM*NYM CALMET meteorological grid cell
(if I2DRH = 1)
9-312
Section 9: CALPUFF
a
C*15 = Character*15
9-313
Section 9: CALPUFF
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 9.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 9-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 9-
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.
9-314
Section 9: CALPUFF
9-315
Section 9: CALPUFF
4 CD 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
12 = Slug within mixed layer & uniform
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
12 ZIMAX Largest mixing height (m) for this puff (10000 m used for
unlimited mixing)
9-316
Section 9: CALPUFF
9-317
Section 9: CALPUFF
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 9-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.
9-318
Section 9: CALPUFF
---------------
Mass Flux
(g/s)
---------------
Square 1KM Box Diamond 1KM Box Square 5KM Box Diamond 5KM Box
Yr Day Hr Sec Species In Out In Out In Out In Out
1988 189 1 0000 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 0000 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 0000 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 0000 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 0000 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 0000 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 0000 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 0000 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 0000 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 0000 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 0000 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 0000 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
9-319
Section 9: CALPUFF
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 9-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.
9-320
Section 9: CALPUFF
-----------------------
Mass Balance (Timestep)
(g)
-----------------------
1990 9 4 1800 SO2 1.80000E+04 0.00000E+00 -9.17624E+00 0.00000E+00 1.97986E+00 1.79888E+04 1.79888E+04 0.00000E+00
1990 9 4 1800 SO4 0.00000E+00 0.00000E+00 1.37545E+01 0.00000E+00 6.53565E-05 1.37545E+01 1.37545E+01 0.00000E+00
1990 9 4 1800 NO 7.20000E+03 0.00000E+00 -6.78762E+03 0.00000E+00 0.00000E+00 4.12364E+02 4.12364E+02 0.00000E+00
1990 9 4 1800 NO2 1.80000E+03 0.00000E+00 1.01455E+04 0.00000E+00 1.37590E+00 1.19442E+04 1.19442E+04 0.00000E+00
1990 9 4 1800 HNO3 0.00000E+00 0.00000E+00 6.16501E-01 0.00000E+00 1.53495E-04 6.16350E-01 6.16350E-01 0.00000E+00
1990 9 4 1800 NO3 0.00000E+00 0.00000E+00 3.52697E+02 0.00000E+00 1.80578E-03 3.52695E+02 3.52695E+02 0.00000E+00
1990 9 4 1800 PM10 1.80000E+04 0.00000E+00 0.00000E+00 0.00000E+00 6.71997E-02 1.79999E+04 1.79999E+04 0.00000E+00
1990 9 5 0 SO2 1.80000E+04 0.00000E+00 -2.71013E+01 0.00000E+00 1.73306E+02 3.57884E+04 3.32807E+04 2.50777E+03
1990 9 5 0 SO4 0.00000E+00 0.00000E+00 4.06383E+01 0.00000E+00 1.04447E-02 5.43821E+01 4.74453E+01 6.93675E+00
1990 9 5 0 NO 7.20000E+03 0.00000E+00 -7.19998E+03 0.00000E+00 2.92154E-06 4.12365E+02 4.12365E+02 4.61526E-04
1990 9 5 0 NO2 1.80000E+03 0.00000E+00 1.05778E+04 0.00000E+00 8.39207E+01 2.42381E+04 2.25070E+04 1.73115E+03
1990 9 5 0 HNO3 0.00000E+00 0.00000E+00 1.07672E+00 0.00000E+00 1.33487E-02 1.67972E+00 1.52543E+00 1.54297E-01
1990 9 5 0 NO3 0.00000E+00 0.00000E+00 6.21701E+02 0.00000E+00 1.75748E-01 9.74221E+02 8.84016E+02 9.02054E+01
1990 9 5 0 PM10 1.80000E+04 0.00000E+00 0.00000E+00 0.00000E+00 5.17953E+00 3.59948E+04 3.34503E+04 2.54442E+03
1990 9 5 1800 SO2 1.80000E+04 0.00000E+00 -4.47896E+01 0.00000E+00 3.27171E+02 5.34165E+04 3.91207E+04 1.42958E+04
1990 9 5 1800 SO4 0.00000E+00 0.00000E+00 6.71752E+01 0.00000E+00 3.80584E-02 1.21518E+02 7.30463E+01 4.84721E+01
1990 9 5 1800 NO 7.20000E+03 0.00000E+00 -7.22879E+03 0.00000E+00 1.48103E-05 3.83576E+02 3.83573E+02 3.18023E-03
1990 9 5 1800 NO2 1.80000E+03 0.00000E+00 1.06269E+04 0.00000E+00 1.66231E+02 3.64988E+04 2.66292E+04 9.86964E+03
1990 9 5 1800 HNO3 0.00000E+00 0.00000E+00 1.33111E+00 0.00000E+00 2.52885E-02 2.98553E+00 2.01056E+00 9.74977E-01
1990 9 5 1800 NO3 0.00000E+00 0.00000E+00 6.14703E+02 0.00000E+00 4.94974E-01 1.58843E+03 1.06781E+03 5.20621E+02
1990 9 5 1800 PM10 1.80000E+04 0.00000E+00 0.00000E+00 0.00000E+00 1.42185E+01 5.39806E+04 3.94881E+04 1.44924E+04
9-321
Section 9: CALPUFF
9.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 9.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.
CTSG requires information on the location, orientation, size, and shape of each terrain feature being
modeled. The variables that contain this information are:
The profile of the terrain along each axis of the feature is prescribed by the following equation:
expo
1 (x/axmax)
ht(x) = * relief (9-1)
1 + (x/scale) expo
where ht(x) is the height of the profile above the base of the feature, at a distance x from the peak (Figure
9-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.
9-322
Section 9: CALPUFF
Figure 9-1: Profile of a terrain feature along one of its two axes. A best-fit inverse polynomial
function describes this profile to CTSG.
9-323
Section 9: CALPUFF
The following procedure is recommended to determine the terrain inputs for the CALPUFF CTSG
algorithm from a topographic map.
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.
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.
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.
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.
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 height-
profile data from step c. can be put through OPTHILL to obtain "expo" and "scale" for each axis.
9-324
Section 9: CALPUFF
Table 9-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 9-65.
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 9-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 9-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 9-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 9-67 and 9-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.
9-325
Section 9: CALPUFF
9-326
Section 9: CALPUFF
Figure 9-2: Map of terrain surrounding the site of the FSPS, illustrating the selection and
characterization of a terrain feature for CTSG modeling.
9-327
Section 9: CALPUFF
9-328
Section 9: CALPUFF
*** Optimal SCALE and EXPO factors -- Axis #1 of example problem ***
CALCULATIONS STARTED
PARAMETER VALUES:
RELIEF = 300.00000
AXMAX = 2000.00000
EXPO = 1.90651
SCALE = 1522.94500
9-329
Section 9: CALPUFF
.*** Optimal SCALE and EXPO factors -- Axis #2 of example problem ***
CALCULATIONS STARTED
PARAMETER VALUES:
RELIEF = 300.00000
AXMAX = 1500.00000
EXPO = 1.23912
SCALE = 2895.90200
9-330
Section 9: CALPUFF
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:
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:
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:
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 9-1), rather than just the portion of the function that is fit to the profile of the terrain. In Figure
9-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.
9-331
Section 10: POSTPROCESSORS
10. POSTPROCESSORS
After making one or more CALPUFF simulations, 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:
CALSUM is a postprocessor which sums and scales concentrations or wet/dry fluxes from
two or more source groups from different CALPUFF runs.
10-1
Section 10: POSTPROCESSORS
10.1 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 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 10-1 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 10-2, and a sample control file is listed in Table 10-3.
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 10-4.
10-2
Section 10: POSTPROCESSORS
10-3
Section 10: POSTPROCESSORS
1+2* 1 CFILE character*7 File name for last CALPUFF data RUN3.CON
NFILE (NFILES) 0 file in the sequence that will be
S array appended
3+2* 1 CFILOUT character*7 File name for the new CALPUFF CONC.DA
NFILE 0 data file (all periods) T
S array
10-4
Section 10: POSTPROCESSORS
10-5
Section 10: POSTPROCESSORS
10-6
Section 10: POSTPROCESSORS
10-7
Section 10: POSTPROCESSORS
IBSAMP: 29
IESAMP: 48
JBSAMP: 40
JESAMP: 70
MESHDN: 1
NREC: 0
NCTREC: 0
LSGRID: T
LCOMPR: T
NSPOUT: 7
MSOURCE: 0
10-8
Section 10: POSTPROCESSORS
10.2 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 10-5 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 10-6, and a sample control file is listed in Table 10-7.
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 10-8.
10-9
Section 10: POSTPROCESSORS
10-10
Section 10: POSTPROCESSORS
10-11
Section 10: POSTPROCESSORS
NFILE (2) 0
S array
10-12
Section 10: POSTPROCESSORS
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
10-13
Section 10: POSTPROCESSORS
Scaling factors (of form X(new) = X(old)*ASCALE + BSCALE) for each species
BSCALE is in grams/m**3
10-14
Section 10: POSTPROCESSORS
10-15
Section 10: POSTPROCESSORS
10.3 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:
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 10-9 lists the default name of each input and output file associated with POSTUTIL.
10-16
Section 10: POSTPROCESSORS
10-17
Section 10: POSTPROCESSORS
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 132 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 10-10.
A sample control file that illustrates a common POSTUTIL application for obtaining total sulfur and total
nitrogen deposition fluxes is provided in Table 10-11. 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 to 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:
10-18
Section 10: POSTPROCESSORS
UTLLST character*132 File name of list file of information output from POSTUTIL.LST
POSTUTIL application, including path if desired
UTLDAT character*132 File name of CALPUFF format data file created MODEL.DAT
by POSTUTIL application, including path if
desired
BCKGALM character*132 File name of background data in CALPUFF BCKGALM.DAT
output format containing the following species
NO3, SO4, HNO3 and TNH3
NFILES integer Number of CALPUFF data files input for 1
processing
METFM integer Type of meteorological data file to use 0 (3D file 0
in CALMET format), 1 (1D file) or 2 (three 2D
files output of CALPUFF).
UTLMET character*132 NMET file names of CALMET data files needed MET.DAT
by POSTUTIL application if METFM = 0,
including path if desired (used only if
MNITRATE = 1 or 3)
MET1D character*132 File name of a 1D meteorological file needed by MET_1D.DAT
POSTUTIL application if METFM=1, including
path if desired (used only if MNITRATE = 1 or 3)
M2DRHU character_132 File name of a 2D relative humidity file created M2DRHU
by CALPUFF needed by POSTUIL application if
METFM=2, including path if desired (used only if
MNITRATE=1 or 3)
M2DTMP character_132 File name of a 2D temperature file created by M2DTMP
CALPUFF needed by POSTUIL application if
METFM=2, including path if desired (used only if
10-19
Section 10: POSTPROCESSORS
MNITRATE=1 or 3)
M2DRHO character_132 File name of a 2D density file created by M2DRHO
CALPUFF needed by POSTUIL application if
METFM=2, including path if desired (used only if
MNITRATE=1 or 3)
10-20
Section 10: POSTPROCESSORS
10-21
Section 10: POSTPROCESSORS
BCKNH3 real Background ammonia concentration (ppb) used to -999 (not used)
repartition nitrates when ammonia is NOT a
modeled species (used only when MNITRATE=1
or 3 and BCKTNH3 is not used)
BCKTNH3 real Background total ammonia concentration (ppb) -999 (not used)
used to repartition nitrates when ammonia is NOT
a modeled species (used only when MNITRATE
=1 or 3 and BCKNH3 is not used)
10-22
Section 10: POSTPROCESSORS
10-23
Section 10: POSTPROCESSORS
-------------------------------------------------------------------------------
-------------
Subgroup (0a)
-------------
Output Files
------------
Input Files
-----------
10-24
Section 10: POSTPROCESSORS
Default: 0 ! METFM = 0 !
!END!
-----------------------------------------------------------
NOTE: file/path names can be up to 70 characters in length
-----------------------------------------------------------
10-25
Section 10: POSTPROCESSORS
-------------
Note: provide NMET lines of the form * UTLMET = name * *END*
10-26
Section 10: POSTPROCESSORS
--------------------------------------------------------------------------------
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).
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.
10-27
Section 10: POSTPROCESSORS
SOURCE OF AMMONIA:
10-28
Section 10: POSTPROCESSORS
!END!
10-29
Section 10: POSTPROCESSORS
-------------
Subgroup (2a)
-------------
-------------
Subgroup (2b)
-------------
! ASPECO = N ! !END!
! ASPECO = S ! !END!
! ASPECO = PM10 ! !END!
-------------
Subgroup (2c)
-------------
! 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!
-------------
10-30
Section 10: POSTPROCESSORS
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*
10-31
Section 10: POSTPROCESSORS
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.
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:
10-32
Section 10: POSTPROCESSORS
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 10-12. 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.
10-33
Section 10: POSTPROCESSORS
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
10-34
Section 10: POSTPROCESSORS
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
10-35
Section 10: POSTPROCESSORS
10-36
Section 10: POSTPROCESSORS
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 2 0
nlines,nvols = 0 0
ndrec,nctrec,LSGRID = 0 0 T
10-37
Section 10: POSTPROCESSORS
N TF
S TF
PM10 TF
10-38
Section 10: POSTPROCESSORS
--------------------------------------------------------------------------------------------------------------
INPUT FILES
-------------------------------------------------------------------------------------------------------------
OUTPUT FILES
10-39
Section 10: POSTPROCESSORS
10.4 CALPOST
The CALPOST program is a postprocessor designed to average and report concentration or wet/dry
deposition flux results based on the 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:
10-40
Section 10: POSTPROCESSORS
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 plot-
files selected to characterize the extinction coefficient results.
Table 10-13 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 system-
dependent 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-Packard Unix systems, DATETM.SUN is for Sun Unix systems,
DATETM.LAH is for Lahey FORTRAN-compiled PC-applications, and DATETM.MS is for
Microsoft FORTRAN-compiled PC applications. By appending the correct system-dependent
DATETM file onto the main CALPOST code, the code should run without any modifications.
10-41
Section 10: POSTPROCESSORS
mapu RANK(ALL)_ASPEC_ttHR_C output formatted Top Nth Rank Plot File in DATA
ONC_TUNAM.DAT format
RANK(ii)_ASPEC_ttHR_CON
C_TUNAM.GRD 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) (HR or MIN)
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 Surfer plotting software
10-42
Section 10: POSTPROCESSORS
10-43
Section 10: POSTPROCESSORS
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) (HR or MIN)
yyyy = year mm = month dd = day hh = starting hour (00-23) mm = starting minute (00-59)
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 Surfer plotting software
10-44
Section 10: POSTPROCESSORS
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_0000(UTC-0500)_L00_ASPEC_08HR_CONC.GRD
1995_M04_D22_0800(UTC-0500)_L00_ASPEC_08HR_CONC.GRD
1995_M04_D22_1600(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.
10-45
Section 10: POSTPROCESSORS
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 10-14, and a sample input file is presented in
Table 10-15. This control file uses the same self-documenting control file format as CALPUFF. See
Section 9.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 new control
file with all of the standard options and comments by saving the NEW.INP file from the GUI to disk.
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 9-13.
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.
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
10-46
Section 10: POSTPROCESSORS
IMPROVE format. Example records for this file are listed in Table 10-18. 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 10-19.
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 "meas" is the extinction coefficient (Mm-1):
Transmissometer Data:
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 :
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.
10-47
Section 10: POSTPROCESSORS
VISDAT character*70 File name of input relative humidity data file, VISB.DAT
including full path if desired (for visibility)
10-48
Section 10: POSTPROCESSORS
10-49
Section 10: POSTPROCESSORS
10-50
Section 10: POSTPROCESSORS
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.
10-51
Section 10: POSTPROCESSORS
NDRECP integer aray Select specific discrete receptors (used only if LD=T) -1
-1 = process ALL discrete receptorsc
0 = discrete receptor not processed
1 = discrete receptor processed
(Enter NREC values using repeated-value notation)d
IBGRID integer X grid index of lower left corner of subset of gridded -1c
receptors to process if LG = T (-1e or 1 to NX)
JBGRID integer Y grid index of lower left corner of subset of gridded -1c
receptors
to process if LG = T (-1e or 1 to NY)
IEGRID integer X grid index of upper right corner of subset of gridded -1c
receptors to process if LG = T (-1e or IBGRID to NX)
JEGRID integer Y grid index of upper right corner of subset of gridded -1c
receptors to process if LG = T (-1e or JBGRID to NY)
NGXRECP integer array Sequence of 0,1 values (one for each gridded receptor in a 1
row of the sampling grid) used to select individual
10-52
Section 10: POSTPROCESSORS
gridded receptors
0 = gridded receptor not processed
1 = gridded receptor processed
(Repeated value notation may be used)f
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 receptors to be
excluded and ending with row 1 to the south (none may be skipped).
10-53
Section 10: POSTPROCESSORS
SPECPMC character*12 Species name for coarse particulates in MODEL. DAT PMC
SPECPMF character*12 Species name for coarse particulates in MODEL. DAT PMF
10-54
Section 10: POSTPROCESSORS
10-55
Section 10: POSTPROCESSORS
LAVER logical Method used for the 24h-average of percent change of light F
extinction: Hourly ratio of source light extinction / background light
extinction is averaged?
10-56
Section 10: POSTPROCESSORS
10-57
Section 10: POSTPROCESSORS
10-58
Section 10: POSTPROCESSORS
10-59
Section 10: POSTPROCESSORS
ITOP(4) integer array Specific ranks of "top" values reported (e.g., values of 1, 1,2,3,4
2, 5 and 48 would produce the highest, 2nd highest, 5th
10-60
Section 10: POSTPROCESSORS
THRESH1 real Exceedance threshold (output units) for 1-hr averages -1g
g
Exceedance processing is only performed for selected averaging times with thresholds greater than or equal to zero.
THRESH3 real Exceedance threshold (output units) for 3-hr averages -1g
THRESH24 real Exceedance threshold (output units) for 24-hr averages -1g
g
Exceedance processing is only performed for selected averaging times with thresholds greater than or equal to zero.
IECHO(366 integer array Array of days selected to print data for all selected 366*0
) averaging times
(0 = do not print, 1 = print)
LTIME logical Output timeseries for all selected receptors for all F
10-61
Section 10: POSTPROCESSORS
h
GRID format is compatible with the Surfer 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).
10-62
Section 10: POSTPROCESSORS
CALPUFF Demonstration
-------------------------------------------------------------------------------
Input Files
-----------
Output Files
------------
Timeseries TSERIES_ASPEC_ttHR_CONC_TSUNAM.DAT
* TSUNAM = *
* TUNAM = *
* XUNAM = *
Echo Plot
(Specific Days)
yyyy_Mmm_Ddd_hhmm(UTCszzzz)_L00_ASPEC_ttHR_CONC.DAT
10-63
Section 10: POSTPROCESSORS
or yyyy_Mmm_Ddd_hhmm(UTCszzzz)_L00_ASPEC_ttHR_CONC.GRD
--------------------------------------------------------------------------------
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
10-64
Section 10: POSTPROCESSORS
!END!
--------------------------------------------------------------------------------
All times are in the base time zone of the CALPUFF simulation.
CALPUFF Dataset Version 2.1 contains the zone, but earlier versions
do not, and the zone must be specified here. The zone is the
number of hours that must be ADDED to the time to obtain UTC (or GMT).
Identify the Base Time Zone for the CALPUFF simulation
(BTZONE) -- No default ! BTZONE = 5.!
10-65
Section 10: POSTPROCESSORS
10-66
Section 10: POSTPROCESSORS
Source information
------------------
Receptor information
--------------------
10-67
Section 10: POSTPROCESSORS
!END!
10-68
Section 10: POSTPROCESSORS
(NGXRECP) -- Default: 1
-------------------------------------------------------------------------------
10-69
Section 10: POSTPROCESSORS
10-70
Section 10: POSTPROCESSORS
10-71
Section 10: POSTPROCESSORS
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.
10-72
Section 10: POSTPROCESSORS
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.
!END!
-------------------------------------------------------------------------------
Documentation
-------------
Output Units
------------
Units for All Output (IPRTU) -- Default: 1 ! IPRTU = 3 !
for for
Concentration Deposition
10-73
Section 10: POSTPROCESSORS
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
10-74
Section 10: POSTPROCESSORS
10-75
Section 10: POSTPROCESSORS
Accumulation period(Days)
(NDAY) -- Default: 0 ! NDAY = 0 !
Number of exceedances allowed
(NCOUNT) -- Default: 1 ! NCOUNT = 1 !
10-76
Section 10: POSTPROCESSORS
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.
!END!
10-77
Section 10: POSTPROCESSORS
Header Record
10-78
Section 10: POSTPROCESSORS
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
10-79
Section 10: POSTPROCESSORS
Field Description
10-80
Section 10: POSTPROCESSORS
10-81
Section 10: POSTPROCESSORS
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 RH RH-SD # RH-PR N/A
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.17 1.06 12 2.00XXXX
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.03 0.93 12 2.00XXXX
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.49 0.72 12 2.00XXXX
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.49 1.40 12 2.00XXXX
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.56 0.84 12 2.00XXXX
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.87 1.13 12 2.00XXXX
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.12 1.44 12 2.00XXXX
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.14 2.20 12 2.00XXXX
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.82 1.82 12 2.00XXXX
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.75 1.18 12 2.00XXXX
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.34 1.71 12 2.00XXXX
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.90 1.48 12 2.00XXXX
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.31 1.93 12 2.00XXXX
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.82 4.01 10 2.00XXXX
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.25 2.95 12 2.00XXXX
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.14 1.11 12 2.00XXXX
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.88 1.66 12 2.00XXXX
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.44 2.77 12 2.00XXXX
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.90 1.04 12 2.00XXXX
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.36 1.23 12 2.00XXXX
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.45 0.99 12 2.00XXXX
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.21 0.41 12 2.00XXXX
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.33 1.55 12 2.00XXXX
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.41 0.78 12 2.00XXXX
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.51 1.46 12 2.00XXXX
Field Description
10-82
Section 10: POSTPROCESSORS
10-83
Section 10: POSTPROCESSORS
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 10-20, with the first logical section removed (the image of the input control
file).
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.
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.
10.6.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 user-
specified 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 10-21. 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 10-22. The
second format, called the GRID format is appropriate for gridded receptor fields only. It is directly
compatible with the contouring option of the Surfer 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 10-23, and an example is shown in Table 10-24.
10-84
Section 10: POSTPROCESSORS
CALPOST can generate a set of optional timeseries 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 five
timeseries files generated (1-period, 1-hour, 3-hour, 24-hour and N-user averages). The period covered
by the timeseries is controlled by the selected day option as well as the period processed. No timeseries
output is generated if no days are selected. All averages in the period processed are written to the
timeseries file(s) if all days are selected.
For a given time (e.g, the 3-hour period beginning 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 timeseries option should be used with a manageable subset of the
receptors contained in the CALPUFF simulation.
The format of the timeseries file is described in Table 10-25. 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 timeseries file for 30-minute averages of SO2 at one gridded receptor
for a single 4-hour period is shown in Table 10-26.
10-85
Section 10: POSTPROCESSORS
SAMPLER option
Processing method: 0
0= SAMPLER option not used
1= Report total modeled impact (list file)
2= TRACEBACK mode (DAT files)
3= TRACEBACK mode with sampling factor (DAT files)
Source information
Source contribution processing: 0
0= No source contributions
1= Contributions are summed
2= TRACEBACK mode for 1 receptor
3= Reported TOTAL is processed
Receptor information
Gridded receptors processed?: T
Discrete receptors processed?: F
CTSG Complex terrain receptors processed?: F
Begin at ix: 10
End at ix: 15
Begin at iy: 15
End at iy: 20
10-86
Section 10: POSTPROCESSORS
--------------------------------------------------------------------------------------------------------------------------------
-
10-87
Section 10: POSTPROCESSORS
INPUT FILES
30 MINUTE AVERAGE CONCENTRATION AT EACH RECEPTOR FOR THE PERIOD STARTING YEAR: 1990 DAY: 9 HOUR: 4 SEC: 0
GRIDDED RECEPTORS:
SO2 1
1 HOUR AVERAGE CONCENTRATION AT EACH RECEPTOR FOR THE PERIOD STARTING YEAR: 1990 DAY: 9 HOUR: 4 SEC: 0
GRIDDED RECEPTORS:
SO2 1
20 I 0 0 0 0 0 0
I + + + + + +
19 I 0 0 0 0 0 0
I + + + + + +
18 I 0 0 0 0 0 0
I + + + + + +
17 I 62 300 6 0 0 0
I + + + + + +
16 I 3555 892 7 0 0 0
I + + + + + +
15 I 58 0 0 0 0 0
I + + + + + +
-----------------------------------
10 11 12 13 14 15
10-88
Section 10: POSTPROCESSORS
SO2 1
20 I 0 0 0 0 0 0
I + + + + + +
19 I 0 0 0 0 0 0
I + + + + + +
18 I 0 0 0 0 0 0
I + + + + + +
17 I 123 600 13 0 0 0
I + + + + + +
16 I 7110 1784 13 0 0 0
I + + + + + +
15 I 116 0 0 0 0 0
I + + + + + +
-----------------------------------
10 11 12 13 14 15
30 MINUTE AVERAGE CONCENTRATION AT EACH RECEPTOR FOR THE PERIOD STARTING YEAR: 1990 DAY: 9 HOUR: 5 SEC: 0
GRIDDED RECEPTORS:
SO2 1
20 I 0 0 0 6 6 0
I + + + + + +
19 I 0 0 4 115 39 0
I + + + + + +
18 I 0 0 86 323 16 0
I + + + + + +
17 I 5 419 816 207 0 0
I + + + + + +
16 I 1276 2323 434 2 0 0
I + + + + + +
15 I 99 18 0 0 0 0
I + + + + + +
-----------------------------------
10 11 12 13 14 15
1 HOUR AVERAGE CONCENTRATION AT EACH RECEPTOR FOR THE PERIOD STARTING YEAR: 1990 DAY: 9 HOUR: 5 SEC: 0
GRIDDED RECEPTORS:
SO2 1
20 I 0 0 0 75 310 44
I + + + + + +
19 I 0 0 7 321 223 2
I + + + + + +
18 I 0 0 108 562 46 0
I + + + + + +
17 I 2 320 917 322 0 0
I + + + + + +
16 I 1153 2558 652 8 0 0
I + + + + + +
15 I 119 32 0 0 0 0
I + + + + + +
-----------------------------------
10 11 12 13 14 15
10-89
Section 10: POSTPROCESSORS
SO2 1
20 I 0 0 0 144 613 89
I + + + + + +
19 I 0 0 10 527 408 4
I + + + + + +
18 I 0 0 131 802 76 0
I + + + + + +
17 I 0 220 1018 436 0 0
I + + + + + +
16 I 1029 2792 871 14 0 0
I + + + + + +
15 I 139 45 0 0 0 0
I + + + + + +
-----------------------------------
10 11 12 13 14 15
30 MINUTE AVERAGE CONCENTRATION AT EACH RECEPTOR FOR THE PERIOD STARTING YEAR: 1990 DAY: 9 HOUR: 6 SEC: 0
GRIDDED RECEPTORS:
SO2 1
1 HOUR AVERAGE CONCENTRATION AT EACH RECEPTOR FOR THE PERIOD STARTING YEAR: 1990 DAY: 9 HOUR: 6 SEC: 0
GRIDDED RECEPTORS:
SO2 1
10-90
Section 10: POSTPROCESSORS
SO2 1
20 I 0 0 0 72 334 59
I + + + + + +
19 I 0 0 5 275 220 3
I + + + + + +
18 I 0 0 77 453 44 0
I + + + + + +
17 I 3 165 631 259 0 0
I + + + + + +
16 I 740 1796 591 9 0 0
I + + + + + +
15 I 134 50 0 0 0 0
I + + + + + +
-----------------------------------
10 11 12 13 14 15
30 MINUTE AVERAGE CONCENTRATION AT EACH RECEPTOR FOR THE PERIOD STARTING YEAR: 1990 DAY: 9 HOUR: 6 SEC: 1800
GRIDDED RECEPTORS:
SO2 1
30 MINUTE AVERAGE CONCENTRATION AT EACH RECEPTOR FOR THE PERIOD STARTING YEAR: 1990 DAY: 9 HOUR: 7 SEC: 0
GRIDDED RECEPTORS:
SO2 1
10-91
Section 10: POSTPROCESSORS
SO2 1
30 MINUTE AVERAGE CONCENTRATION AT EACH RECEPTOR FOR THE PERIOD STARTING YEAR: 1990 DAY: 9 HOUR: 7 SEC: 1800
GRIDDED RECEPTORS:
SO2 1
10-92
Section 10: POSTPROCESSORS
SO2 1
1 RANKED 30 MINUTE AVERAGE CONCENTRATION VALUES AT EACH GRIDDED RECEPTOR (YEAR,DAY,START TIME) (ug/m**3)
10-93
Section 10: POSTPROCESSORS
SO2 1
1 RANKED 3 HOUR AVERAGE CONCENTRATION VALUES AT EACH GRIDDED RECEPTOR (YEAR,DAY,START TIME) (ug/m**3)
20 I 0 0 0 72 334 59
I + + + + + +
19 I 0 0 5 275 220 3
I + + + + + +
18 I 0 0 77 453 44 0
I + + + + + +
17 I 3 165 631 259 0 0
I + + + + + +
16 I 740 1796 591 9 0 0
I + + + + + +
15 I 134 50 0 0 0 0
I + + + + + +
-----------------------------------
10 11 12 13 14 15
10-94
Section 10: POSTPROCESSORS
SO2 1
1 RANKED 1 HOUR AVERAGE CONCENTRATION VALUES AT EACH GRIDDED RECEPTOR (YEAR,DAY,START TIME) (ug/m**3)
10-95
Section 10: POSTPROCESSORS
SO2 1 (ug/m**3)
20 I 0 0 0 0 0 0
I + + + + + +
19 I 0 0 0 0 0 0
I + + + + + +
18 I 0 0 0 0 0 0
I + + + + + +
17 I 0 0 1 0 0 0
I + + + + + +
16 I 2 6 3 0 0 0
I + + + + + +
15 I 0 0 0 0 0 0
I + + + + + +
-----------------------------
10 11 12 13 14 15
*********************************************************************************************************************************
*
CALPOST Version 6.11 Level 051012
*********************************************************************************************************************************
*
SO2 1 (ug/m**3)
20 I 0 0 0 0 0 0
I + + + + + +
19 I 0 0 0 0 0 0
I + + + + + +
18 I 0 0 0 0 0 0
I + + + + + +
17 I 0 0 0 0 0 0
I + + + + + +
16 I 0 1 0 0 0 0
I + + + + + +
15 I 0 0 0 0 0 0
I + + + + + +
-----------------------------
10 11 12 13 14 15
10-96
Section 10: POSTPROCESSORS
*********************************************************************************************************************************
*
CALPOST Version 6.11 Level 051012
*********************************************************************************************************************************
*
SO2 1 (ug/m**3)
20 I 0 0 0 0 0 0
I + + + + + +
19 I 0 0 0 0 0 0
I + + + + + +
18 I 0 0 0 0 0 0
I + + + + + +
17 I 0 0 0 0 0 0
I + + + + + +
16 I 1 3 2 0 0 0
I + + + + + +
15 I 0 0 0 0 0 0
I + + + + + +
-----------------------------
10 11 12 13 14 15
*********************************************************************************************************************************
*
CALPOST Version 6.11 Level 051012
*********************************************************************************************************************************
*
SUMMARY SECTION
SO2 1
(ug/m**3)
RECEPTOR COORDINATES (km) TYPE PEAK (YEAR,DAY,START TIME) FOR RANK FOR AVERAGE PERIOD
10-97
Section 10: POSTPROCESSORS
Header Records
1 Line 1 character Title line identifying averaging time, type of output, and units
2 (blank)
4 (blank)
6 (blank)
10-98
Section 10: POSTPROCESSORS
10-99
Section 10: POSTPROCESSORS
10-100
Section 10: POSTPROCESSORS
10-101
Section 10: POSTPROCESSORS
Footer Records
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)
10-102
Section 10: POSTPROCESSORS
DSAA
8 8
270.000 410.000
4720.000 4860.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
SO2 1
RANK 1
10-103
Section 10: POSTPROCESSORS
Header Records
1 Line 1 character Title line identifying file type and species processed
2 (blank)
5 (blank)
7 Line 5 character Receptor ID or Easting cell index for each receptor processed
11 (blank)
13 (blank)
10-104
Section 10: POSTPROCESSORS
10-105
Section 10: POSTPROCESSORS
Type: GRID
ix: 8
iy: 15
x(km): 3.455000E+02
y(km): 4.873500E+03
10-106