0% found this document useful (0 votes)
239 views873 pages

CALPUFF Version6 UserInstructions PDF

Uploaded by

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

CALPUFF Version6 UserInstructions PDF

Uploaded by

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

CALPUFF Modeling System

Version 6
User Instructions

April 2011
Section 1: Introduction

Table of Contents

Page

1. OVERVIEW ...................................................................................................................... 1-1


1.1 CALPUFF Version 6 Modeling System ............................................................... 1-1
1.2 Historical Background .......................................................................................... 1-2
1.3 Overview of the Modeling System ....................................................................... 1-7
1.4 Major Model Algorithms and Options................................................................. 1-19
1.4.1 CALMET ................................................................................................ 1-19
1.4.2 CALPUFF............................................................................................... 1-23
1.5 Summary of Data and Computer Requirements .................................................. 1-28
2. GEOPHYSICAL DATA PROCESSORS.......................................................................... 2-1
2.1 TERREL Terrain Preprocessor ............................................................................. 2-3
2.2 Land Use Data Preprocessors (CTGCOMP and CTGPROC) ............................. 2-27
2.2.1 Obtaining the Data .................................................................................. 2-27
2.2.2 CTGCOMP - the CTG land use data compression program .................. 2-29
2.2.3 CTGPROC - the land use preprocessor .................................................. 2-29
2.2.4 Generic Land Use Data set (non random Land Use categories
mapped to USGS defaults) ..................................................................... 2-30
2.2.5 Generic Land Use Data set (random Land Use categories not
mapped to USGS defaults) ..................................................................... 2-30
2.3 MAKEGEO ......................................................................................................... 2-51
3. READ62 UPPER AIR PREPROCESSOR ........................................................................ 3-1
4. PXTRACT PRECIPITATION DATA EXTRACT PROGRAM ...................................... 4-1
5. PMERGE PRECIPITATION DATA PREPROCESSOR ................................................ 5-10
6. SMERGE SURFACE DATA METEOROLOGICAL PREPROCESSOR ....................... 6-1
6.1 Generic Hourly Surface Data File......................................................................... 6-3
6.1.1 Generic Multi Time Interval Surface Data File ...................................... 6-18
7. PROGNOSTIC METEOROLOGICAL DATA PROCESSORS ...................................... 7-1
7.1 CALMM5 Preprocessor........................................................................................ 7-1
7.2 CALETA Preprocessor ........................................................................................ 7-26
7.3 CALRUC Preprocessor........................................................................................ 7-42
7.4 CALRAMS Preprocessor .................................................................................... 7-51

i
Section 1: Introduction

7.5 CALWRF Preprocessor ....................................................................................... 7-56


7.6 CALTAPM Preprocessor..................................................................................... 7-60
7.7 3D.DAT File Format............................................................................................ 7-67
8. CALMET MODEL FILES ................................................................................................ 8-1
8.1 User Control File (CALMET.INP) ....................................................................... 8-5
8.2 Geophysical Data File (GEO.DAT)..................................................................... 8-55
8.3 Upper Air Data Files (UP1.DAT, UP2.DAT,...).................................................. 8-67
8.4 Surface Meteorological Data File (SURF.DAT) ................................................. 8-73
8.5 Overwater Data Files (SEA1.DAT, SEA2.DAT, ...) ........................................... 8-77
8.6 Precipitation Data File (PRECIP.DAT) ............................................................... 8-80
8.7 Preprocessed Diagnostic Model Data File (DIAG.DAT) .................................... 8-85
8.8 Prognostic Model Data File (PROG.DAT).......................................................... 8-89
8.9 MM4/MM5/3D Model Data Files (MM4.DAT, MM5.DAT, 3D.DAT) ............. 8-91
8.10 Terrain Weighting Factor Data File (WT.DAT)................................................. 8-112
8.11 CALMET Output Files ....................................................................................... 8-121
8.11.1 CALMET.DAT...................................................................................... 8-121
8.11.2 PACOUT.DAT ...................................................................................... 8-136
8.12 PRTMET Meteorological Display Program ....................................................... 8-142
9. CALPUFF.......................................................................................................................... 9-1
9.1 User Control File .................................................................................................. 9-1
9.2 Meteorological Data Files................................................................................... 9-121
9.2.1 CALMET.DAT...................................................................................... 9-121
9.2.2 ISCMET.DAT ....................................................................................... 9-138
9.2.3 PLMMET.DAT...................................................................................... 9-146
9.2.4 SURFACE.DAT and PROFILE.DAT ................................................... 9-151
9.3 Point Source Emissions File With Arbitrarily Varying Emissions (PTEMARB.DAT)
9-163
9.4 Buoyant Area Source Emissions File With Arbitrarily Varying Emissions
(BAEMARB.DAT).......................................................................................................... 9-173
9.5 Line Source Emissions File with Arbitrarily Varying Emissions (LNEMARB.DAT)
9-180
9.6 Volume Source Emissions File (VOLEMARB.DAT) with Arbitrarily Varying Emissions
9-188
9.7 Boundary Concentration Module File (BCON.DAT)......................................... 9-197
9.8 User-Specified Deposition Velocity Data File (VD.DAT) ................................. 9-212
9.9 Ozone Data File (OZONE.DAT)........................................................................ 9-214
9.10 User-Specified Chemical Transformation Rate Data File (CHEM.DAT) .......... 9-218
9.11 Site-Specific Turbulence Data (PROFILE.DAT) ............................................... 9-221
9.12 CTDMPLUS Terrain Feature Description and Receptors (HILL.DAT, HILLRCT.DAT)
9-222

ii
Section 1: Introduction

9.13 Subgrid Scale Coastal Boundary Data File (COASTLN.DAT).......................... 9-228


9.14 Mass Flux Boundary Data File (FLUXBDY.DAT)............................................ 9-233
9.15 CALPUFF Output Files ...................................................................................... 9-237
9.15.1 List File (CALPUFF.LST)..................................................................... 9-237
9.15.2 Restart File (RESTARTE.DAT)............................................................ 9-237
9.15.3 Concentration File (CONC.DAT).......................................................... 9-238
9.15.4 Dry Flux File (DFLX.DAT) .................................................................. 9-259
9.15.5 Wet Flux File (WFLX.DAT) ................................................................. 9-278
9.15.6 Relative Humidity File for Visibility Processing in CALPOST
(VISB.DAT) .......................................................................................... 9-297
9.15.7 Debug Puff-Tracking File (DEBUG.DAT) ........................................... 9-314
9.15.8 Mass Flux List File (MASSFLX.DAT) ................................................. 9-318
9.15.9 Mass Balance List File (MASSBAL.DAT) ........................................... 9-320
9.16 OPTHILL............................................................................................................ 9-322
9.16.1 CTSG Terrain Information .................................................................... 9-322
9.16.2 Example OPTHILL Application............................................................ 9-325
10. POSTPROCESSORS........................................................................................................ 10-1
10.1 APPEND.............................................................................................................. 10-2
10.2 CALSUM............................................................................................................. 10-9
10.3 POSTUTIL.......................................................................................................... 10-16
10.4 CALPOST........................................................................................................... 10-40
10.5 Input Files ........................................................................................................... 10-46
10.5.1 User Control File (CALPOST.INP)....................................................... 10-46
10.5.2 CALPUFF Output Files (MODEL.DAT and VISB.DAT) .................... 10-46
10.5.3 Background Concentrations/Deposition Fluxes (BACK.DAT)............. 10-46
10.5.4 Visibility Measurements (VSRN.DAT)................................................. 10-46
10.6 Output Files......................................................................................................... 10-84
10.6.1 List File (CALPOST.LST) .................................................................... 10-84
10.6.2 Visibility File (DAILY_VISIB_VUNAM.DAT) .................................. 10-84
10.6.3 Plot-file(s) .............................................................................................. 10-84
10.6.4 Timeseries File(s) .................................................................................. 10-85

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

Table 1-1: Major Features of the CALMET Meteorological Model..................................... 1-21


Table 1-2: Major Features of the CALPUFF Model ............................................................. 1-26
Table 1-3: Summary of Input Data Required by CALMET.................................................. 1-29
Table 1-4: Summary of CALPUFF Input Files..................................................................... 1-32
Table 1-5: Summary of Input Data Used by CALPUFF ....................................................... 1-34
Table 1-6: Summary of CALPUFF Output Files .................................................................. 1-42
Table 2-1: Terrain Databases ................................................................................................. 2-7
Table 2-2: Sample TERREL Control File Inputs ................................................................... 2-8
Table 2-3: TERREL Control File Inputs ............................................................................... 2-19
Table 2-4: Sample CTGCOMP Control File Inputs(CTGCOMP.INP) ................................ 2-31
Table 2-5: Sample CTGPROC Control File Inputs(CTGPROC.INP) .................................. 2-32
Table 2-6: Control File Inputs (CTGPROC.INP).................................................................. 2-39
Table 2-7: Sample CTGPROC Output List File(CTGPROC.LST) - Partial Listing ............ 2-44
Table 2-8: NZ Generic Land Use Input File (Translation to USGS categories is
conducted internally) ........................................................................................... 2-46
Table 2-9: Sample File of NZ Generic Land Use Data set (comma delimited file).............. 2-46
Table 2-10: Non Random Specific Land Use Categories for the NZ Generic Land
Use Input File....................................................................................................... 2-47
Table 2-11: Translation Table of Non Random Specific Land Use Categories to
USGS Equivalent Categories(done internally within CTGPROC)...................... 2-48
Table 2-12: Generic Land Use Input File (no internal translation to USGS categories)......... 2-49
Table 2-13: Sample File of Generic Land Use Data set .......................................................... 2-50
Table 2-14: Sample MAKEGEO Control File(MAKEGEO.INP) .......................................... 2-52
Table 2-15: MAKEGEO Control File Inputs .......................................................................... 2-64

v
Section 1: Introduction

Table 3-1: READ62 Input and Output Files........................................................................... 3-3


Table 3-2: READ62 Control File Inputs ................................................................................ 3-4
Table 3-3: Sample READ62 Control File (READ62.INP) .................................................... 3-7
Table 3-4: Sample READ62 Output List file ........................................................................ 3-10
Table 3-5: Sample UP.DAT files .......................................................................................... 3-14
Table 4-1: PXTRACT Input and Output Files ....................................................................... 4-2
Table 4-2: Sample PXTRACT Control File (PXTRACT.INP).............................................. 4-3
Table 4-3: PXTRACT Control File Inputs (PXTRACT.INP)................................................ 4-7
Table 4-4: Sample PXTRACT Output List File (PXTRACT.LST)....................................... 4-8
Table 5-1: PMERGE Input and Output Files ........................................................................ 5-12
Table 5-2: Sample PMERGE Control File (PMERGE.INP)................................................. 5-13
Table 5-3: PMERGE Control File Inputs (PMERGE.INP)................................................... 5-19
Table 5-4: Sample PMERGE Output List File (PMERGE.LST).......................................... 5-22
Table 6-1: Sample of Generic Input Meteorological Data File Comma Delimited
Input File Ready for SMERGE............................................................................. 6-4
Table 6-2: Sample of Generic Input Meteorological File in Spreadsheet Format.................. 6-4
Table 6-3: SMERGE Input and Output Files ......................................................................... 6-6
Table 6-4: Sample SMERGE Control File Inputs (SMERGE.INP)....................................... 6-7
Table 6-5: SMERGE Control File Inputs (SMERGE.INP)................................................... 6-12
Table 6-6: Sample SMERGE Output List File (SMERGE.LST)......................................... 6-14
Table 6-7: Sample SURF.DAT Output Data File (SURF.DAT)........................................... 6-17
Table 6-8: Sample Generic SURFCSV Control Input File (SURFCSV.INP) ...................... 6-19
Table 6-9: SURFCSV Control File Inputs (SURFCSV.INP)............................................... 6-20
Table 6-10: SURFCSV Sample input file (CSV.DAT).......................................................... 6-22
Table 7-1: User-Controlled Options in CALMM5.INP ......................................................... 7-2
Table 7-2: Variables Available in CALMM5 Three-dimensional Output Files..................... 7-3
Table 7-3: Possible Variables in 2D.DAT files...................................................................... 7-4
Table 7-4: Defined Horizontal and Vertical Locations for MM5 Variables Used in
CALMM5 ............................................................................................................. 7-6
Table 7-5: CALMM5 Sample Control File (CALMM5.INP)............................................... 7-12
Table 7-6: CALMM5 Control File Inputs (CALMM5.INP)................................................ 7-13
Table 7-7: Example CALMM5 List File (CALMM5.LST) .................................................. 7-15

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

Table 9-4: CALMET.DAT file - Header Records................................................................ 9-125


Table 9-5: CALMET.DAT file - Data Records.................................................................... 9-132
Table 9-6: Sample ISCMET.DAT files................................................................................ 9-141
Table 9-7: ISCMET.DAT File - Header Record (Hourly Data File) ................................... 9-142
Table 9-8: ISCMET.DAT File - Data Records (Hourly Data File)...................................... 9-144
Table 9-9: Sample PLMMET.DAT file ............................................................................... 9-148
Table 9-10: PLMMET.DAT File - Header Record ................................................................ 9-149
Table 9-11: PLMMET.DAT File - Data Records .................................................................. 9-150
Table 9-12: Sample SURFACE.DAT file .............................................................................. 9-153
Table 9-13: Sample PROFILE.DAT file................................................................................ 9-154
Table 9-14: SURFACE.DAT File - Header Records (Sub-Hourly Data File) ....................... 9-157
Table 9-15: PROFILE.DAT File - Header Records (Sub-Hourly Data File)......................... 9-160
Table 9-16: Sample PTEMARB.DAT file ............................................................................. 9-164
Table 9-17: PTEMARB.DAT - Header Records - General Data ........................................... 9-165
Table 9-18: PTEMARB.DAT - Time-Invariant Data Record Contents................................. 9-169
Table 9-19: PTEMARB.DAT - Time-Varying Data Record Contents .................................. 9-171
Table 9-20: Sample BAEMARB.DAT file ............................................................................ 9-174
Table 9-21: BAEMARB.DAT - Header Records - General Data .......................................... 9-175
Table 9-22: BAEMARB.DAT - Time-Invariant Data Record Contents................................ 9-178
Table 9-23: BAEMARB.DAT - Time-Varying Data Record Contents ................................. 9-178
Table 9-24: Sample LNEMARB.DAT file ............................................................................ 9-181
Table 9-25: LNEMARB.DAT - Header Records - General Data .......................................... 9-182
Table 9-26: LNEMARB.DAT - Time-Invariant Data Record Contents ................................ 9-185
Table 9-27: LNEMARB.DAT - Time-Varying Data Record Contents ................................. 9-185
Table 9-28: Sample VOLEMARB.DAT file.......................................................................... 9-189
Table 9-29: VOLEMARB.DAT - Header Records - General Data ....................................... 9-190
Table 9-30: VOLEMARB.DAT - Time-Invariant Data Record Contents ............................. 9-194
Table 9-31: VOLEMARB.DAT - Time-Varying Data Record Contents .............................. 9-194
Table 9-32: Boundary Condition File (BCON.DAT)............................................................. 9-199
Table 9-33: BCON.DAT File Inputs...................................................................................... 9-208
Table 9-34: Sample User-Specified Deposition Velocity File for Two Species .................... 9-213

viii
Section 1: Introduction

Table 9-35: Sample Ozone Data File (OZONE.DAT) ........................................................... 9-215


Table 9-36: OZONE.DAT - Header Records - General Data ................................................ 9-216
Table 9-37: OZONE.DAT - Time-Invariant Data Record Contents ...................................... 9-217
Table 9-38: OZONE.DAT - Time-Varying Data Record Contents ....................................... 9-217
Table 9-39: Sample User-Specified Chemical Transformation Rate Data File
(CHEM.DAT) ..................................................................................................... 9-220
Table 9-40: Sample CTDMPLUS Terrain Feature File (HILL.DAT) ................................... 9-223
Table 9-41: Sample CTDMPLUS Receptor File (HILLRCT.DAT)...................................... 9-224
Table 9-42: HILL.DAT File - Record Group Structure ......................................................... 9-226
Table 9-43: HILLRCT.DAT File - Data Records ................................................................. 9-227
Table 9-44: Sample Subgrid Scale Coastal Boundary Data File (COASTLN.DAT)............. 9-229
Table 9-45: COASTLN.DAT - Header Record - General Data ............................................. 9-230
Table 9-46: COASTLN.DAT - Data Header Record Contents.............................................. 9-231
Table 9-47: COASTLN.DAT - Data Record Contents .......................................................... 9-231
Table 9-48: Sample Mass Flux Boundary Data File (FLUXBDY.DAT)............................... 9-234
Table 9-49: FLUXBDY.DAT - Header Record - General Data............................................ 9-235
Table 9-50: FLUXBDY.DAT - Data Header Record Contents ............................................. 9-236
Table 9-51: FLUXBDY.DAT - Data Record Contents.......................................................... 9-236
Table 9-52: Unformatted CONC.DAT file - Header.............................................................. 9-239
Table 9-53: Unformatted CONC.DAT File - Data Records................................................... 9-255
Table 9-54: Unformatted DFLX.DAT file - Header .............................................................. 9-260
Table 9-55: Unformatted DFLX.DAT File - Data Records ................................................... 9-275
Table 9-56: Unformatted WFLX.DAT file - Header ............................................................. 9-279
Table 9-57: Unformatted WFLX.DAT File - Data Records .................................................. 9-294
Table 9-58: Unformatted VISB.DAT file - Header................................................................ 9-298
Table 9-59: Unformatted VISB.DAT File - Data Records..................................................... 9-312
Table 9-60: Sample Debug Puff-Tracking File (DEBUG.DAT) ........................................... 9-315
Table 9-61: DEBUG.DAT - Data Record .............................................................................. 9-316
Table 9-62: Sample Mass Flux List File (MASSFLX.DAT) ................................................. 9-319
Table 9-63: Sample Mass Balance List File (MASSBAL.DAT) ........................................... 9-321
Table 9-64: OPTHILL Input and Output Files....................................................................... 9-326

ix
Section 1: Introduction

Table 9-65: OPTHILL Control File Inputs (OPTHILL.INP)................................................. 9-326


Table 9-66: Sample OPTHILL Input Files............................................................................. 9-328
Table 9-67: OPTHILL Output File for Axis #1 of Sample Hill............................................. 9-329
Table 9-68: OPTHILL Output File for Axis #2 of Sample Hill ............................................. 9-330
Table 10-1: APPEND Input and Output Files ......................................................................... 10-3
Table 10-2: APPEND Control File Structure.......................................................................... 10-4
Table 10-3: Sample APPEND Control File (APPEND.INP) .................................................. 10-6
Table 10-4: Sample APPEND List File (APPEND.LST) ....................................................... 10-7
Table 10-5: CALSUM Input and Output Files....................................................................... 10-10
Table 10-6: CALSUM Control File Structure........................................................................ 10-11
Table 10-7: Sample CALSUM Control File (CALSUM.INP)............................................... 10-13
Table 10-8: Sample CALSUM List File (CALSUM.LST) .................................................... 10-14
Table 10-9: POSTUTIL Input and Output Files..................................................................... 10-17
Table 10-10: POSTUTIL Control File Inputs - Input Group 0 ................................................ 10-19
Table 10-11: Sample POSTUTIL Control File (POSTUTIL.INP) .......................................... 10-24
Table 10-12: Sample POSTUTIL List File (POSTUTIL.LST)................................................ 10-34
Table 10-13: CALPOST Input and Output Files...................................................................... 10-42
Table 10-14: CALPOST Control File Inputs - Input group 0 .................................................. 10-48
Table 10-15: Sample CALPOST Control File (CALPOST.INP)............................................. 10-63
Table 10-16: BACK.DAT Record Structure ............................................................................ 10-78
Table 10-17: Sample Background Concentration File (BACK.DAT) ..................................... 10-79
Table 10-18: Sample Transmissometer File (VSRN.DAT) ..................................................... 10-80
Table 10-19: Sample Nephelometer File (VSRN.DAT) .......................................................... 10-82
Table 10-20: Sample CALPOST Output File (CALPOST.LST) ............................................. 10-86
Table 10-21: Plot-File DATA Record Structure ...................................................................... 10-98
Table 10-22: Sample DATA Plot-File ..................................................................................... 10-99
Table 10-23: Plot-File GRID Record Structure....................................................................... 10-100
Table 10-24: Sample GRID Plot-File...................................................................................... 10-103
Table 10-25: Timeseries File Record Structure....................................................................... 10-104
Table 10-26: Sample Timeseries File...................................................................................... 10-106

x
Section 1: Introduction

1. OVERVIEW

1.1 CALPUFF Version 6 Modeling System

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.

1.2 Historical Background

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.

Graphical user interface (GUI) updates


o The CALPRO system for geophysical and meteorological preprocessors and CALPOST
and PRTMET postprocessors was extensively revised and enhanced.
o A GUI for the BUOY processor was developed and integrated into CALPRO.
o A GUI option was added to CALPRO for extracting a subset from the surface
meteorological data, precipitation data, and ozone data from the Gulf of Mexico dataset
for a users CALMET domain.
o The CALVIEW display system for meteorological fields and concentration/deposition
fields using the SURFER contouring package was extensively revised and enhanced.

1-6
Section 1: Introduction

Standard Gulf of Mexico Meteorology and Ozone Dataset


o Meteorological, geophysical and ozone data required for CALMET/CALPUFF
simulations within the MMS Gulf of Mexico region were prepared for year 2003.
o USGS terrain elevation files with 90m resolution and USGS land use data files with
200m resolution were assembled for the domain.
o Buoy stations in the domain were processed into 13 SEA.DAT files (1 station/file).
o Upper-air stations in the domain were processed into 21 UP.DAT files (1 station/file).
o 230 NWS hourly surface meteorological stations in the domain were processed into the
SURF.DAT file.
o 271 NWS precipitation stations in the domain were processed into the PRECIP.DAT file.
o 201 ozone data stations in the domain were processed into the OZONE.DAT file.
o One full year (2003) of gridded prognostic meteorological output fields from the Rapid
Update Cycle (RUC) mesoscale weather model were reformatted into 50 tiles (90 RUC
grid-points/tile), for the portion of the 20km RUC grid that covers the MMS Gulf of
Mexico domain.
o The RUCDECODE program was created to assemble RUC grid cell data from one or
more tiles into a 3D.DAT file for a users CALMET domain.

1.3 Overview of the Modeling System

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.

KSP is a multi-layer, multi-species Lagrangian particle model that simulates transport,


dispersion, and deposition using explicit kinematic simulation (KS) of the larger transportive and
dispersive eddies in the atmosphere. The output from CALMET may be used in KSP.

1-9
Section 1: Introduction

M eteoro log ical &


G eo physical D ata
Prepro cesso rs

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

PR T M E T PO ST U T IL C AL PO ST U tility Pro g ram s


Po stpro cessing Po stpro cesso r Po stpro cesso r Po stpro cesso r APPE N D , C AL SU M

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.

CALPUFF is a non-steady-state Lagrangian Gaussian puff model containing modules for


complex terrain effects, overwater transport, coastal interaction effects, building downwash, wet
and dry removal, and simple chemical transformation.

CALPOST is a postprocessing program with options for the computation of time-averaged


concentrations and deposition fluxes predicted by the CALPUFF and CALGRID models.
CALPOST computes visibility impacts in accordance with IWAQM recommendations and the
current Federal Land Managers Air Quality Related Values Workgroup (FLAG)
recommendations.

PRTMET is a postprocessing program which displays user-selected portions of the


meteorological data file produced by the CALMET meteorological model.

APPEND is a postprocessor which appends two or more sequential CALPUFF concentration,


wet flux, dry flux or relative humidity (visibility) files in time.

CALSUM is a postprocessor which sums and scales concentrations or wet/dry fluxes from two or
more source groups from different CALPUFF runs.

POSTUTIL is a postprocessor which operates on one or more CALPUFF concentration and


wet/dry flux files to create new species as weighted combinations of modeled species; to sum wet
and dry deposition fluxes; to merge species from different runs into a single output file; to sum
and scale results from different runs; to repartition nitric acid/nitrate based on total available
sulfate and ammonia; and to add time/space-varying background.

Preprocessors and utilities provided with the modeling system for use with CALMET include:

METSCAN is a meteorological preprocessor which performs quality assurance checks on the


hourly surface meteorological data in the U.S. National Climatic Data Center (NCDC) CD-144
format which may be used as input to the SMERGE program.

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.

SMERGE is a meteorological preprocessor that processes hourly surface observations from a


number of stations in NCDC CD-144 format, NCDC TD3505 format, NCDC TD9956 format,
ISHWO format, or generic comma delimited format file, or NCDC CD-ROM format, and
reformats the data into a single file with the data sorted by time rather than station. The CD-
ROM format contains data in either the Solar and Meteorological Surface Observational Network
(SAMSON) format or the Hourly U.S. Weather Observations (HUSWO) 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.

PMERGE is a meteorological preprocessor responsible for reformatting the precipitation data


files created by the PXTRACT program. PMERGE resolves "accumulation periods" into hourly
values and flags suspicious or missing data. The output file can be formatted or binary, which
can be directly input into the CALMET model, containing the precipitation data sorted by hour
rather than station.

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 Hourly


Surface Data Precipitation
USGS CTG Files Data (TD -3240
(CD144 Format) Format)
(TD3240.DAT)

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

Gridded CALMET Output Test and Debug


Met. Files List file Output Files

(CALMET.DAT
or
PACOUT.DAT) (CALMET.LST) (TEST.*)

Figure 1-2: Meteorological modeling: CALMET modeling flow diagram.

1-15
Section 1: Introduction

OPTHILL utility Emissions


for CTSG Production
Features Model (EPM)
(optional) Interface
Program
(optional)

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)

Figure 1-3: Dispersion Modeling: CALPUFF modeling flow diagram.

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 )

Figure 1-4: Postprocessing: PRTMET postprocessing flow diagram.

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)

Figure 1-5: Postprocessing: CALPOST postprocessing flow diagram.

1-18
Section 1: Introduction

1.4 Major Model Algorithms and Options

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.

Step 1 Wind Field

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

Smooth Wind Field


(Optional)
Apply OBrien Procedure and
Minimize Divergence
(Optional)

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

Table 1-1: Major Features of the CALMET Meteorological Model

Boundary Layer Modules of CALMET

Overland Boundary Layer - Energy Balance Method


Overwater Boundary Layer - Profile Method
Produces Gridded Fields of:
- Surface Friction Velocity
- Convective Velocity Scale
- Monin-Obukhov Length
- Mixing Height
- PGT Stability Class
- Air Temperature (3-D)
- Precipitation Rate

Diagnostic Wind Field Module of CALMET

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.

Step 2 Wind Field

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.

Introduction of Prognostic Wind Field Results

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.

CALMET Boundary Layer Models

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

Chemical Transformation: CALPUFF includes options for parameterizing chemical transformation


effects using the five species scheme (SO2, SO=4, NOx, HNO3, and NO3) employed in the MESOPUFF II
model or a set of user-specified, diurnally-varying transformation rates.

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

Table 1-2: Major Features of the CALPUFF Model

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)

Non-steady-state emissions and meteorological conditions


Gridded 3-D fields of meteorological variables (winds, temperature)
Spatially-variable fields of mixing height, friction velocity, convective velocity scale,
Monin-Obukhov length, precipitation rate
Vertically and horizontally-varying turbulence and dispersion rates
Time-dependent source and emissions data

Efficient sampling functions


Integrated puff formulation
Elongated puff (slug) formulation

Dispersion coefficient (y, z) options


Direct measurements of v and w
Estimated values of v and w based on similarity theory
PDF treatment of dispersion in convective boundary layers
Pasquill-Gifford (PG) dispersion coefficients (rural areas)
McElroy-Pooler (MP) dispersion coefficients (urban areas)
CTDM dispersion coefficients (neutral/stable)

Vertical wind shear


Puff splitting
Differential advection and dispersion

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

Table 1-2 (Concluded)


Major Features of the CALPUFF Model

Subgrid scale complex terrain


Dividing streamline, Hd:
- Above Hd, puff flows over the hill and experiences altered diffusion rates
- Below Hd, puff deflects around the hill, splits, and wraps around the hill

Interface to the Emissions Production Model (EPM)


Time-varying heat flux and emissions from controlled burns and wildfires

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

Overwater and coastal interaction effects


Overwater boundary layer parameters
Abrupt change in meteorological conditions, plume dispersion at coastal boundary
Plume fumigation
Option to introduce subgrid scale Thermal Internal Boundary Layers (TIBLs) into
coastal grid cells

Chemical transformation options


Pseudo-first-order chemical mechanism for SO2, SO=4, NOx, HNO3, and NO3
(MESOPUFF II method)
Pseudo-first-order chemical mechanism for SO2, SO=4, NO, NO2, HNO3, and NO3
(RIVAD method)
User-specified diurnal cycles of transformation rates
No chemical conversion

Wet Removal
Scavenging coefficient approach
Removal rate a function of precipitation intensity and precipitation type

Graphical User Interface


Point-and-click model setup and data input
Enhanced error checking of model inputs
On-line Help files

1-27
Section 1: Introduction

1.5 Summary of Data and Computer Requirements

CALMET Data Requirements

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

Table 1-3: Summary of Input Data Required by CALMET

Surface Meteorological Data

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

Upper Air Data

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

Overwater Observations (optional)

- air-sea temperature difference


- air temperature
- relative humidity
- overwater mixing height
- wind speed
- wind direction
- overwater temperature gradients above and
below mixing height

Geophysical Data

Gridded fields of:


- terrain elevations
- land use categories
- surface roughness length (optional)
- albedo (optional)
- Bowen ratio (optional)
- soil heat flux constant (optional)
- anthropogenic heat flux (optional)
- vegetative leaf area index (optional)

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.

CALPUFF Data Requirements

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

Table 1-4: Summary of CALPUFF Input Files

Default Contents Unit* Type


File Name Number

RESTARTB.DAT Input restart file containing a dump of all puff parameters IO3 Unformatted
sufficient to allow a model run to continue (optional)

CALPUFF.INP Control file inputs IO5 Formatted

CALMET.DAT Geophysical and time-varying meteorological data, created IO7 Unformatted


by the CALMET meteorological model

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

BCON.DAT Boundary condition concentration file (optional) IO15 Formatted

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)

VD.DAT User-specified deposition velocities (optional) IO20 Formatted

OZONE.DAT Ozone measurements at one or more ozone stations IO22 Formatted


(optional)

H202.DAT H202 monitoring data (optional) IO23 formatted

CHEM.DAT User-specified chemical transformation rates (optional) IO24 Formatted

COASTLN.DAT Subgrid scale coastal boundary file (optional) IO25 Formatted

HILL.DAT Hill specifications from CTDMPLUS terrain processor IO28 Formatted


(optional)

HILLRCT.DAT CTSG Receptors from CTDMPLUS processor (optional) IO29 Formatted

PROFILE.DAT Single-station ASCII meteorological tower data as prepared IO31 Formatted


for CTDMPLUS/AERMOD (optional)

SURFACE.DAT CTDMPLUS/AERMOD surface layer parameters (optional) IO32 Formatted

1-32
Section 1: Introduction

FLUXBDY.DAT Boundary Data for Mass flux (optional) IO35 Formatted

* 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

Table 1-5: Summary of Input Data Used by CALPUFF

Geophysical Data (CALMET.DAT)

Gridded fields of:


surface roughness lengths (zo)
land use categories
terrain elevations
leaf area indices

Meteorological Data (CALMET.DAT)

Gridded fields of:


u, v, w wind components (3-D)
air temperature (3-D)
surface friction velocity (u*)
convective velocity scale (w*)
mixing height (zi)
Monin-Obukhov length (L)
PGT stability class
Precipitation rate

Values of the following parameters at surface met. stations:


air density (a)
air temperature
short-wave solar radiation
relative humidity
precipitation type

Meteorological Data (ISCMET.DAT)

Hourly or sub-hourly values (standard content)


wind speed, flow direction
temperature, stability class
mixing height (zi) for rural/urban

Hourly or sub-hourly values (extended content)


surface friction velocity (u*), Monin-Obukhov length (L)
surface roughness (zo)
precipitation code and rate
potential temperature gradient

1-34
Section 1: Introduction

wind speed profile power-law exponent


short-wave solar radiation
relative humidity

(Continued)

1-35
Section 1: Introduction

Table 1-5 (Continued): Summary of Input Data Used by CALPUFF

Meteorological Date (PLMMET.DAT)

Hourly values (standard content)


wind speed, wind direction
temperature, stability class
mixing height (zi)
turbulence (2)
wind speed profile power-law exponent
potential temperature gradient

Hourly values (extended content)


precipitation code and rate
short-wave solar radiation
relative humidity

Meteorological Data (SURFACE.DAT, PROFILE.DAT)

Hourly or sub-hourly values (SURFACE.DAT - standard content)


mixing height (zi)
surface friction velocity (u*), Monin-Obukhov length (L)
surface roughness (zo)

Hourly or sub-hourly values (SURFACE.DAT - extended content)


precipitation code and rate
short-wave solar radiation
relative humidity

Hourly or sub-hourly values at multiple levels (PROFILE.DAT)


height
wind speed (scalar, vector)
wind direction
temperature
turbulence (v/2, w)

Restart Data (RESTARTB.DAT)

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

Table 1-5 (Continued): Summary of Input Data Used by CALPUFF

Emissions Data (CALPUFF.INP, PTEMARB.DAT, BAEMARB.DAT, VOLEMARB.DAT,


LNEMARB.DAT)

Point source emissions:


Source and emissions data for point sources with constant or cyclical emission
parameters (CALPUFF.INP)
Source and emissions data for point sources with arbitrarily-varying emission
parameters (PTEMARB.DAT)

Area source emissions


Emissions and initial size, height, and location for area sources with constant or
cyclical emission parameters (CALPUFF.INP)
Gridded emissions data for buoyant area sources with arbitrarily-varying
emission parameters (BAEMARB.DAT)

Volume source emissions


Emissions, height, size, and location of volume sources with constant or cyclical
emission parameters (CALPUFF.INP)
Emissions data for volume sources with arbitrarily-varying emission parameters
(VOLEMARB.DAT)

Line source emissions


Source and emissions data, height, length, location, spacing, and orientation of
buoyant line sources with constant or cyclical emission parameters
(CALPUFF.INP)
Emissions data for buoyant line sources with arbitrarily-varying emission
parameters (LNEMARB.DAT)

Boundary Condition Data (BCON.DAT)


Concentration of each species specified by air-mass
Air-mass types mapped to segments along boundary of computational grid

Deposition Velocity Data (VD.DAT)


Deposition velocity for each user-specified species for each hour of a diurnal
cycle

Ozone Monitoring Data (OZONE.DAT)


Hourly or sub-hourly ozone measurements at one or more monitoring stations

1-38
Section 1: Introduction

H2O2 Monitoring Data (H2O2.DAT)


Hourly or sub-hourly H2O2 measurements at one or more monitoring stations

Chemical Transformation Data (CHEM.DAT)


Species-dependent chemical transformation rates for each hour of a diurnal cycle

1-39
Section 1: Introduction

Table 1-5 (Concluded): Summary of Input Data Used by CALPUFF

Hill Data (HILL.DAT)


Hill shape and height parameters in CTDMPLUS format for use in the subgrid-
scale complex terrain module (CTSG)

CTSG Receptors (HILLRCT.DAT)


Receptor locations and associated hill ID in CTDMPLUS format

Subgrid Scale Coastal Boundary Data (COASTLN.DAT)


File containing X,Y coordinates of subgrid scale coastlines to be treated by
CALPUFF

Boundary Data for Diagnostic Mass Flux Option (FLUXBDY.DAT)


File containing X,Y coordinates of boundaries used to evaluate mass transport

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

Table 1-6: Summary of CALPUFF Output Files

Default Contents Unit* Type


File Name Number

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

QAGRID.BNA borders (km) for the METEOROLOGICAL, IOQA Formatted


COMPUTATIONAL, and SAMPLING (when
LSAMP=T) grid domains, in Atlas Boundary File
format
QARECD.DAT x,y coordinates (km), elevation (m), and height above IOQA Formatted
ground (m) of discrete receptors, created only when
discrete receptors are used (NREC>0)
Table 1-6 (Concluded):
Summary of CALPUFF Output Files

Default Contents Unit* Type


File Name Number

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

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:

TERREL is a terrain preprocessor which coordinates the allocation of terrain elevation


data from several digitized data bases to a user-specified modeling grid.

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

Figure 2-1: Processing Geophysical Data


2-2
Section 2: Geophysical Data Processors

2.1 TERREL Terrain Preprocessor

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

Figure 2-2: Spatial coverage of each GTOPO30 tiles (files).

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.

TERREL.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).

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

3. Save File: contains the intermediate binary output (e.g., TERREL.SAV).

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.

Table 2-1: Terrain Databases

Database Description Source File Reference Spatial


Type Format System Resolution (m)

USGS90 1-deg DEM USGS ASCII Geographic ~90


3 arc-second data (lat/lon)
USGS30 7.5 min USGS USGS ASCII UTM 30
quadrangle
3CD 1-deg DEM Rocky Mtn Binary Geographic ~90
3 arc-second data Communications (lat/lon)
CD-ROM
SRTM1 1-deg HGT format USGS Binary Geographic ~30
(lat/lon)
1 arc-second data
covering USA
SRTM3 3-deg HGT format USGS Binary Geographic ~90
(lat/lon)
3 arc-second data
covering world
GTOPO30 30 second DEM USGS Binary Geographic ~900
(SRTM30) 40lon. by 50lat. (lat/lon)
covering world
ARM3 30 second data CALPUFF CD- ASCII Geographic ~900
4 N-S sheets ROM (available (lat/lon)
covering U.S. from NTIS)
DMDF 7.5 min Alberta Alberta Environ. ASCII UTM ~100
DEM Protection
USGSLA 30 sec DEM USGS Binary Lambert ~1000
Azimuthal
NZGEN Generic file Misc. ASCII Geographic Arbitrary
format (lat/lon)

2-7
Section 2: Geophysical Data Processors

GEN Generic File Misc. ASCII UTM or Arbitrary


format Lambert
Conformal

Table 2-2: Sample TERREL Control File Inputs


(TERREL.INP)

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

TERREL PROCESSOR CONTROL FILE


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

TERREL accepts terrain surface elevation data from a number of


digital data bases and forms grid-cell averages or point-values for
use in particular dispersion modeling systems. For the CALPUFF
system, TERREL produces a gridded terrain file for the MAKEGEO
processor, and it produces a file of point-values for discrete
receptors for CALPUFF. Use TERREL one or more times to build the
requested file.

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

INPUT GROUP: 0 -- Input and Output Files


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

-------------
Subgroup (0a)
-------------

Number of Terrain Data Files provided in Subgroup 0b

By default, no data files are expected, and running TERREL


without input data files will allow it to complete its set-up
procedures, and report the number of data files needed to cover
the specified modeling domain. This information can be helpful
when assembling the data files for an application.

(NTDF) Default: 0 ! NTDF = 4 !

Other Input and Output files:


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

Default Name Type File Name


------------ ---- ---------
TERREL.DAT output ! OUTFIL = terr1km.dat !
TERREL.LST output ! LSTFIL = terr1km.lst !
TERREL.GRD output ! PLTFIL = qaterr.grd !
RAWECHO.DAT output ! RAWECHO = rawdata5.dat !
---------------------------------------------------------
(Save-files)
PREV.SAV input * PREVFIL = *
TERREL.SAV output ! SAVEFIL = terr1km.sav !
---------------------------------------------------------
(Discrete (X,Y) Point Files)
XYINP.DAT input * XYINP = *
XYOUT.DAT output * XYOUT = *
---------------------------------------------------------
(Coastline Data)
USGS Global Self-consistent Hierarchical High-resolution
Shoreline Database (GSHHS)
GSHHS_F.B input ! GSHHSIN = GSHHS_F.B !
Processed coastline polygons for

2-8
Section 2: Geophysical Data Processors

TERREL grid (BLN)


COAST.BLN input or ! COASTBLN = coast.bln !
output

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

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


Otherwise, if LCFILES = F, file names will be converted to UPPER CASE
(LCFILES) Default: T ! LCFILES = F !
T = lower case
F = UPPER CASE

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

!END!

2-9
Section 2: Geophysical Data Processors

Table 2-2 (continued)


Sample TERREL Control File Inputs
(TERREL.INP)

-------------
Subgroup (0b)
-------------

The following NTDF Terrain Data Files are processed.


Enter NTDF lines identifying the file name for each,
followed by a group terminator. The type of data base
for each file is designated by the assignment name:

(USGS90) designates USGS 1-deg DEM files (~90m)


(USGS30) designates USGS 7.5-min DEM files (typically 30m)
(ARM3) designates ARM3 terrain data files(~900m)
(3CD) designates 3CD (binary) 1-deg DEM files (~90m)
(DMDF) designates Canadian DMDF files (~100m)
(SRTM1) designates 1-sec Shuttle RADAR Topo Mission files (~30m)
(SRTM3) designates 3-sec Shuttle RADAR Topo Mission files (~90m)
(GTOPO30) designates GTOPO30 30-sec data (~900m)
(USGSLA) designates USGS Lambert Azimuthal data (~1000m)
(NZGEN) designates New Zealand Generic data files
(GEN) designates Generic data files
(GEOTIFF) designates GEOTIFF data files

1 !USGS90 = portland.e! !END!


2 !USGS90 = portland.w! !END!
3 !USGS90 = lewiston.w! !END!
4 !USGS90 = lewiston.e! !END!

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

Datum-region for input Terrain Data File coordinates


(DUSGS90) Default: WGS-72 ! DUSGS90 = WGS-72 !
(DUSGS30) Default: NAS-C ! DUSGS30 = NAS-C !
(DARM3) Default: NAS-C ! DARM3 = NAS-C !
(D3CD) Default: WGS-72 ! D3CD = WGS-72 !
(DDMDF) Default: NAS-C ! DDMDF = NAS-C !
(DSRTM1) Default: WGS-96 ! DSRTM1 = WGS-96 !
(DSRTM3) Default: WGS-96 ! DSRTM3 = WGS-96 !
(DGTOPO30) Default: WGS-84 ! DGTOPO30 = WGS-84 !
(DUSGSLA) Default: ESR-S ! DUSGSLA = ESR-S !
(DNZGEN) Default: WGS-84 ! DNZGEN = WGS-84 !
(DGEN) Default: WGS-84 ! DGEN = WGS-84 !
(DGEOTIFF) Default: WGS-84 ! DGEOTIFF = WGS-84 !

Datum-region for input GSHHS Coastal Data File coordinates


(DWVS) Default: WGS-84 ! DWVS = WGS-84 !

!END!

2-10
Section 2: Geophysical Data Processors

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

INPUT GROUP: 1 -- Processing Options


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

Intermediate data for the terrain grid are saved in a binary


file for subsequent applications of TERREL. When TERREL is
applied more than once (with different terrain data files), the
save file must be used to pass previous results along.

Previous SAVE file used to start this run?


(LPREV) Default: F ! LPREV = F !
T = PREV.SAV file is used
F = PREV.SAV file is NOT used

2-11
Section 2: Geophysical Data Processors

Table 2-2 (continued)


Sample TERREL Control File Inputs
(TERREL.INP)

TERREL constructs gridded terrain elevations (m MSL), and may also


estimate the terrain elevation at discrete points by selecting the
peak elevation within a prescribed distance (km) from each point.
When processing discrete points, the XYINP.DAT provides the grid
coordinates (km) of each point, and may also include a height above
ground (m) for each point (e.g. for elevated receptors). The
structure of the XYINP.DAT file is a free-format text file with
either 2 columns (X,Y) or 4 columns (X,Y,Elevation,Height). When
the 4-column form is used, data in the 3rd column are replaced
with the elevations obtained from the terrain data base files.

Report elevations for discrete (X,Y) points?


(LXY) Default: F ! LXY = F !
T = Yes (XYINP.DAT and XYOUT.DAT files are used)
F = No (XYINP.DAT and XYOUT.DAT files are NOT used)

Interpolate elevations for discrete points?


(Used only if LXY=T)
(LINTXY) Default: F ! LINTXY = T !
T = Yes (elevations will be interpolated)
F = No (elevations will be terrain peaks)

Number of data columns in XYINP.DAT file


(Used only if LXY=T)
(NXYCOL) Default: 4 ! NXYCOL = 2 !

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.

Noisy Data ---


Noise affects SRTM data for oceans and lakes and the adjacent shores,
due to the scattering effects of water on radar measurements.
The most obvious occurence of noise is negative elevations for water
and adjacent land points. This can be filtered with the specification
of a minimum acceptable elevation by water/land type. Extracted
elevations that are greater than this minimum are retained, while those
lower than this minimum value can be re-defined as missing for
subsequent treatment by the missing values processing, or can be
replaced with either the minimum value or with another default value
defined for treatment of void (missing) data. The minimum values must
be chosen judiciously for the region being treated since some regions
have valid elevations below MSL.

Missing data ---


Cells with missing elevations can be interpolated from surrounding
cells with valid values, and a maximum search radius is defined.
Also, if coastline processing has been used, default elevations for
each water/land type can be defined and used in place of voids.
This replacement can be carried out as the final step before output
on a cell-by-cell and receptor-by-receptor basis, or can be carried
out for values extracted from the terrain files as missing. This

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.

Coastline data are used to define coarse water/land type by


point or cell, for several of the options available for treating
missing or noisy data. Coarse water/land type definitions currently
available in TERREL are:
1 = ocean
2 = mainland and marine islands

2-13
Section 2: Geophysical Data Processors

Table 2-2 (continued)


Sample TERREL Control File Inputs
(TERREL.INP)

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.

Process coastline data?


(LCOAST) Default: F ! LCOAST = F !
T = Process coastline data
F = Do not process coastline data

Read pre-processed coastline data (existing BLN file)?


(LBLNREAD) Default: F ! LBLNREAD = F !
T = Use pre-processed coastline data
F = Process raw coastline data

Noisy Data Replacement Options


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

--Filtering with minimum elevations by water/land type (2 values)


(INOISEREP) Default: 0,0
0 = Do not check for noise
1 = Set values lower than minimum to missing
2 = Replace values lower than minimum with minimum value
3 = Replace values lower than minimum with default value
(set in TERDEF below)

Minimum terrain elevations (m) for noise detection (2 values)


(ZNOISE) Default: 0.,1.

| |mainland |
| |& marine |
|ocean |islands |
------ --------- -
! INOISEREP = 0, 0 !
! ZNOISE = 0., 1. !

Missing Data Replacement Options


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

--Application of default elevations by water/land type (2 values)


(ITERREP) Default: 3,0
0 = Do not replace voids
1 = Replace voids on output only
2 = Replace void point values on extraction and voids on output
3 = Always replace all values for this water type with default
(only valid for oceans and lakes)

Default terrain elevations (m) (2 values)


(TERDEF) Default: 0.,0.

| |mainland |
| |& marine |
|ocean |islands |
------ --------- -
! ITERREP = 3, 0 !
! TERDEF = 0., 0. !

2-14
Section 2: Geophysical Data Processors

--Carry out interpolation to fill void cells?


(LVOIDFILL) Default: F ! LVOIDFIL = F !
T = Try interpolation to fill void cells
F = Do not try interpolation to fill void cells

--Search radius (km) around grid cells for interpolation to fill


voids (Should be several times larger than DGRIDKM)
(Used only if LVOIDFIL=T)
(CELLRADKM) No Default ! CELLRADKM = 5. !

Terrain data may be prepared for one of several models, and the
structure of the output data file varies accordingly.

Structure of output TERREL.DAT file


(IMODEL) Default: 1 ! IMODEL = 1 !
1 = CALMET (grid-cell-average elevations)
2 = MESOPAC (grid-cell-average elevations)
3 = ISC POLAR (grid-cell-peak elevations)
4 = ISC CARTESIAN (grid-cell-peak elevations)
5 = NUATMOS (grid-cell-average elevations)
6 = Generic (grid-cell-average elevations)

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.

Threshold (%) of the average number of data points in a cell


(ITHRES) Default: 75 ! ITHRES = 75 !

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)

(MSHEET) No Default ! MSHEET = 0 !


0 = Transform 4 corners of data sheet and interpolate
--- Method used prior to TERREL v3.69
1 = Transform each data point in sheet from (latitude,longitude) to (x,y)
--- Preferred (more accurate) method
!END!

--------------------------------------------------------------------------------
INPUT GROUP: 2 -- Map Projection and Grid Information for Output
--------------

Projection
----------

Map projection for all X,Y (km)


(PMAP) Default: UTM ! PMAP = UTM !

UTM : Universal Transverse Mercator


TTM : Tangential Transverse Mercator
LCC : Lambert Conformal Conic

2-15
Section 2: Geophysical Data Processors

PS : Polar Stereographic
EM : Equatorial Mercator
LAZA: Lambert Azimuthal Equal Area

False Easting and Northing (km) at the projection origin


(Used only if PMAP= TTM, LCC, or LAZA)
(FEAST) Default=0.0 ! FEAST = 0.0 !
(FNORTH) Default=0.0 ! FNORTH = 0.0 !

UTM zone (1 to 60)


(Used only if PMAP=UTM)
(IUTMZN) No Default ! IUTMZN = 19 !

Hemisphere for UTM projection?


(Used only if PMAP=UTM)
(UTMHEM) Default: N ! UTMHEM = N !
N : Northern hemisphere projection
S : Southern hemisphere projection

Latitude and Longitude (decimal degrees) of projection origin


(Used only if PMAP= TTM, LCC, PS, EM, or LAZA)
(RLAT0) No Default * RLAT0 = *

(RLON0) No Default * RLON0 = *

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


RLAT0 selected for convenience
LCC : RLON0 identifies central (true N/S) meridian of projection

RLAT0 selected for convenience


PS : RLON0 identifies central (grid N/S) meridian of projection
RLAT0 selected for convenience
EM : RLON0 identifies central meridian of projection

2-16
Section 2: Geophysical Data Processors

Table 2-2 (continued)


Sample TERREL Control File Inputs
(TERREL.INP)

RLAT0 is REPLACED by 0.0N (Equator)


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

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


(Used only if PMAP= LCC or PS)
(RLAT1) No Default * RLAT1 = *
(RLAT2) No Default * RLAT2 = *

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

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


string. Many mapping products currently available use the model of the
Earth known as the World Geodetic System 1984 (WGS-84). Other local
models may be in use, and their selection in TERREL will make its output
consistent with local mapping products. The list of Datum-Regions with
official transformation parameters is provided by the National Imagery
and Mapping Agency (NIMA).

Datum-region for output coordinates


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

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

Reference point coordinates X,Y (km) for grid


where X is Easting, Y is Northing
(XREFKM) No Default ! XREFKM = 310.0 !
(YREFKM) No Default ! YREFKM = 4820.0 !

Cartesian grid definition


(Used only if IGRID=1,2)
No. X grid cells (NX) No default ! NX = 99 !
No. Y grid cells (NY) No default ! NY = 99 !
Grid Spacing (km)(DGRIDKM) No default ! DGRIDKM = 1. !

Polar grid definition -- enter ring distances and ray angles

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 !

Elevation processing method for polar grid


(Used only if IGRID=3)
(IPROC) Default: 2 ! IPROC = 2 !
1 = NORMAL: terrain data for point at the intersection of ring
and ray is extracted from the region bounded by
rings and radials halfway to the adjacent rings and
radials
2 = SCREEN: terrain data for point at the intersection of ring
and ray is extracted from the region bounded by the
current ring and the next larger ring, and radials
halfway to the adjacent radials
!END!

Table 2-2 (concluded)


Sample TERREL Control File Inputs
(TERREL.INP)

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

INPUT GROUP: 3 -- Polar Grid Ring Distances (km) and Ray Angles (deg)
--------------

Enter NRING lines identifying the radius (DISKM) of each ring in


the polar grid, using a group terminator on each line.
(Enter only if IGRID=3)
* DISKM = 1.5 * *END*
* DISKM = 3.0 * *END*

Enter NRAYS lines identifying the angle (ANGDEG) from North of


each radial in the polar grid, using a group terminator on each line.
(Enter only if IGRID=3)
* ANGDEG = 0. * *END*
* ANGDEG = 45. * *END*
* ANGDEG = 90. * *END*

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

Table 2-3: TERREL Control File Inputs

Input Variable Type Description


Group
(0a) NTDF integer Number of data files to process
OUTFIL character*70 Output file name of terrain elevations
(ASCII) for input to MAKEGEO
LSTFIL character*70 List file name.
PLTFIL character*70 Plot file (.GRD format) name.
RAWECHO character*70 Raw elevation dataecho file name.
PREVFIL character*70 Previous run binary output file (.SAV).
Used only if it is a continuation run.
SAVEFIL character*70 Output binary save file name.
XYINP character*70 Input file containing discrete location
coordinates (x,y) in km, (and if
NXYFIELD=4, ground elevation
placeholder and flagpole height (m))
XYOUT character*70 Output file containing (x,y, elevation,
flagpole height, with elevation filled in by
TERREL ).
GSHHSIN character*70 Input USGS Global Self-consistent
Hierarchical High-resolution Shoreline
Database (GSHHS) (See Attachment 2-I)
COASTBLN character*70 Processed coastline polygons for the current
TERREL grid (BLN format): output when
a GSHHS file is used, or may be input in
place of a GSHHS file if available.
LRAWECHO logical Echo raw data? (T or F)
LCFILES logical Conversion to upper (F) or lower (T) case

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

Table 2-3 (continued)


TERREL Control File Inputs

Input Variable Type Description


Group
DUSGS90
(0c) character*8 Assignment of DATUM Code for each type
DUSGS30
of input data file listed in sub-group 0b.
DARM3
D3CD Note that the USGS GSHHS database file
DDMDF (See Attachment 2-I) contains information
DCDED from two distinct databases, each with its
DSRTM1 own datum. These are the World Vector
DSRTM3 Shoreline (WVS) for salt water coasts,
DGTOPO30 and the World Data Base II (WDBII) for
DUSGSLA fresh water coasts.
DNZGEN
DGEN
DGEOTIFF
logical Datum-region for input GSHHS Coastal
DWVS Data File coordinates

(1) LPREV logical Continuation run flag (F=no, T=yes).


LXY logical Process discrete (x,y) locations (F=no,
T=yes)
LINTXY logical Interpolate elevation at discrete (x,y)
locations (F= no take nearest maximum
terrain elevation, T= yes)
NXYCOL integer No. columns in receptor file
XYRADKM real Search radius (km) around (x,y) for
determining maximum terrain elevation, or
for selecting elevations for interpolation
LCOAST logical Process coastline data? (T=yes, F=no)
LBLNREAD logical Read pre-processed coastline data (existing
BLN file)? (T=yes, F=no)

2-21
Section 2: Geophysical Data Processors

INOISEREP integer Filtering with minimum elevations by


water/land type (5 values)
0 = Do not check for noise
1 = Set values lower than minimum to
missing
2 = Replace values lower than minimum
with minimum value
3 = Replace values lower than minimum
with default value (set in TERDEF)
ZNOISE real Minimum terrain elevations (m) for noise
detection (5 values)

2-22
Section 2: Geophysical Data Processors

Table 2-3 (continued)


TERREL Control File Inputs

Input Variable Type Description


Group
ITERREP integer Application of default elevations by
water/land type (5 values)
0 = Do not replace voids
1 = Replace voids on output only
2 = Replace void point values on extraction
and voids on output
3 = Always replace all values for this water
type with default (only valid for oceans and
lakes)
TERDEF integer Default elevation (m) for cells or discrete
points that cannot be assigned valid data (5
values)
LVOIDFIL logical Carry out interpolation to fill void cells?
(T=yes, F=no)
CELLRADKM real Search radius (km) around grid cells for
interpolation to fill voids (Should be
several times larger than DGRIDKM)
(Used only if LVOIDFIL=T)
Meteorological or dispersion model using
IMODEL integer (1,..,6)
terrain data; options are: (1) CALMET, (2)
MESOPAC, (3) ISC3 polar grid receptor
terrain format, (4) ISC3 discrete receptor
format; (5) NUATMOS, or (6) GENERIC.
ITHRES integer Threshold flag in % of the average number
of data 'hits' per cell used for QA reporting.
MSHEET integer Choice of mapping terrain elevations.
Transform 4 corners of data sheet and
interpolate, or, transform each data point in
the sheet from lat, lon to x,y. Preferred
method MSHEET = 1. Data sets affected;
USGS90, ARM3, 3CD, CDED, SRTM1,
SRTM3, GTOPO30.

2-23
Section 2: Geophysical Data Processors

(2) PMAP * character*8 Map projection for grid:


UTM : Universal Transverse Mercator
TTM : Tangential Transverse Mercator
LCC : Lambert Conformal Conic
PS : Polar Stereographic
EM : Equatorial Mercator
LAZA: Lambert Azimuthal Equal Area
FEAST real False Easting (km) for PMAP = TTM,
LCC, or LAZA

2-24
Section 2: Geophysical Data Processors

Table 2-3 (concluded)


TERREL Control File Inputs

Input Variable Type Description


Group
FNORTH real False Northing (km) for PMAP = TTM,
LCC, or LAZA
IUTMZN integer UTM zone for PMAP = UTM
UTMHEM character*1 Use (N) northern or (S) southern
hemisphere for UTM projection
RLAT0, RLON0 character*16 Reference latitude and longitude (degrees)
for PMAP = TTM, LCC, PS, EM, or
LAZA. Enter numeric degrees and either N
or S for latitude, or E or W for longitude.
RLAT1, RLAT2 character*16 Two standard parallels of latitude for
PMAP= LCC or PS. Enter numeric degrees
and either N or S.
DATUM character*8 Datum Code for output grid
IGRID Integer Grid definitions are: (1) Cartesian-corner,
(2) Cartesian-Center, (3) Polar. For
CALMET, IGRID should be set to (1).
XREFKM, Real Reference X and Y coordinates origin (km)
YREFKM of the output grid.
NX, NY integer Number of grid cells in X and Y directions
(if IGRID=1 or 2).
DGRIDKM Real Horizontal grid spacing (km).
NRING, integer Number of rings and radials (if IGRID=3).
NRAYS
IPROC integer Terrain extraction approach for polar grid
only:
(1) NORMAL=Terrain data extracted from
the region extending halfway to previous
ring and halfway to next ring.
(2) SCREEN=Terrain data extracted from
the region extending from the current ring
out to the next ring distance.

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

2.2 Land Use Data Preprocessors (CTGCOMP and CTGPROC)

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.

2.2.1 Obtaining the Data

2.2.1.1 USGS Global Land Use Data

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.

2.2.1.2 Composite Theme Grid (CTG)

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.

2.2.1.3 Generic Data set

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.

2.2.1.4 National Land Cover Dataset (NLCD)

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.

2.2.2 CTGCOMP - the CTG land use data compression program

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

2.2.3 CTGPROC - the land use preprocessor

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

Table 2-4: Sample CTGCOMP Control File Inputs(CTGCOMP.INP)

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

CTGCOMP PROCESSOR CONTROL FILE


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

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.

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

INPUT GROUP: 0 -- Input and Output File Names


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

Default Name Type File Name


------------ ---- ---------
CTG.DAT input ! CTGFIL =ctgin.dat !
CTGCOMP.DAT output ! COMPFIL =ctgout.dat !
CTGCOMP.LST output ! COMPLST =ctgcomp.lst !

--------------------------------------------------------------------------------
All file names will be converted to lower case if LCFILES = T
Otherwise, if LCFILES = F, file names will be converted to UPPER CASE

T = lower case ! LCFILES = F !


F = UPPER CASE

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

!END!

Input Variable Type Description


Group
(0) CTGFIL character*70 Name of uncompressed CTG land use data
file (input)
COMPFIL character*70 Name of compressed CTG land use data file
(output)
COMPLST character*70 Name of list file (output)

2-31
Section 2: Geophysical Data Processors

Table 2-5: Sample CTGPROC Control File Inputs(CTGPROC.INP)


-------------------------------------------------------------------------------
CTGPROC PROCESSOR CONTROL FILE
------------------------------

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

Number of Land Use Data Files provided in Subgroup 0b

(NDBF) Default: 0 ! NDBF = 2 !

Other Input and Output files:


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

Default Name Type File Name


------------ ---- ---------
PREV.DAT input * PREVDAT = *
LU.DAT output ! LUDAT =lulc1kmo.dat !
CTGPROC.LST output ! RUNLST =ctgproco.lst !
---------------------------------------------------------
(Coastline Data)
USGS Global Self-consistent Hierarchical High-resolution
Shoreline Database (GSHHS)
GSHHS_F.B input ! GSHHSIN = GSHHS_F.B !
Processed coastline polygons for
CTGPROC grid (BLN)
COAST.BLN input or ! COASTBLN = coast.bln !
output
---------------------------------------------------------

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


Otherwise, if LCFILES = F, file names will be converted to UPPER CASE
(LCFILES) Default: T ! LCFILES = F !
T = lower case
F = UPPER CASE

NOTE: File/path names can be up to 70 characters in length;


PREV.DAT is used only if LPREV=T (Input Group 1)

!END!

-------------
Subgroup (0b)
-------------

The following NDBF Land Use Data Files are processed.


Enter NDBF lines identifying the file name for each,

2-32
Section 2: Geophysical Data Processors

followed by a group terminator. The type of data base


for each file is designated by the assignment name:

(CTG) designates USGS CTG (compressed)


(GEN) designates Generic (no USGS translation is done)
(NZGEN) designates New Zealand Generic
(GLAZNA) designates USGS Global (Lambert Azimuthal) for North America
(GLAZSA) designates USGS Global (Lambert Azimuthal) for South America
(GLAZEU) designates USGS Global (Lambert Azimuthal) for Eurasia - Europe
(GLAZAS) designates USGS Global (Lambert Azimuthal) for Eurasia - Asia
(GLAZAF) designates USGS Global (Lambert Azimuthal) for Africa
(GLAZAP) designates USGS Global (Lambert Azimuthal) for Australia-Pacific
(USGSLA) designates USGS Lambert Azimuthal data (~1000m)

2-33
Section 2: Geophysical Data Processors

Table 2-5 (continued)


Sample CTGPROC Control File Inputs
(CTGPROC.INP)
(NLCD92) designates USGS NLCD 1992
(NLCDTF) designates National Land Cover Dataset 1992 GeoTIFF
(NLCD01) designates National Land Cover Dataset 2001 GeoTIFF
(GLC2K) designates Global Land Cover 2000 GeoTIFF
(UMDGLC) designates Univ. of Maryland Global Land Cover GeoTIFF
(MODIS) designates Boston Univ. Modis Global Land Cover

! CTG = c:\calpuff\demo\ctgproc\lewiston.cmp ! !END!


! CTG = c:\calpuff\demo\ctgproc\portland.cmp ! !END!

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

INPUT GROUP: 1 -- Run control parameters


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

When multiple applications of CTGPROC are needed, the gridded land


use data file (LU.DAT) must be written in a continuation format rather
than in the fractional land use format expected by MAKEGEO. This
applies to all applications except the FINAL application, which must
be in the fractional land use format. Futhermore, if the application
is not the first one in a series, then a PREVIOUS LU.DAT file must
be identified.

Is this the final run?


(LFINAL) Default: T ! LFINAL = T !
T = LU.DAT file written in fractional land use format
F = LU.DAT file written in continuation format

Is a previous LU.DAT output file used to start this run?


(LPREV) Default: F ! LPREV = F !
T = PREV.DAT file is used
F = PREV.DAT file is NOT used

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 !

The coordinates of the center of each input landuse "cell", both


before and after applying the mesh density factor, can be written
to QA plot files named QACTG.DAT, QAGLAZ.DAT, and QAMESH.DAT.
These files can become very large for large domains.
Create QA plot files of land use data points?
(LQACELL) Default: F ! LQACELL = F !
T = QA files are created
F = QA files are not created

Daily Snow Data Processing


---------------------------
Snow grids of USA SNODAS daily snow data can be resolved for
CALMET and LU grids, so that daily snow information can be used
in MAKEGEO to create daily variable geo.dat.

Process snow grids?

2-34
Section 2: Geophysical Data Processors

(LSNOW) Default: F ! LSNOW = F !


T = Process SNODAS snow data
F = Do not process SNODAS snow data

Marine Coastline Processing


---------------------------
Land use data may be augmented with coastline information. Coastline
data are used to determine whether a particular point lies offshore,
so that it may be given a marine (ocean) land use code.

Process coastline data?


(LCOAST) Default: F ! LCOAST = F !
T = Process coastline data
F = Do not process coastline data

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,

Table 2-5 (continued)


Sample CTGPROC Control File Inputs
(CTGPROC.INP)
and it may FILL empty marine cells at the end of a run with the
type for ocean.

(LMARSWAP) Default: F ! LMARSWAP = T !


(Used only if LCOAST=T)
T = Replace land use type read from data file with type IOCEAN
F = Use land use type read from data file

(LMARFILL) Default: T ! LMARFILL = T !


(Used only if LCOAST=T and LFINAL=T)
T = Fill empty marine grid cells with land use type IOCEAN
F = Maintain empty grid cells

Marine land use type:


(Used only if LCOAST=T)
(IOCEAN) Default: 55 ! IOCEAN = 55 !

Read pre-processed coastline data (existing BLN file)?


(Used only if LCOAST=T)
(LBLNREAD) Default: F ! LBLNREAD = F !
T = Use pre-processed BLN coastline data
F = Process GSHHS coastline data and create BLN

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

Datum-region for input LULC Data File coordinates

(DCTG) Default: NAS-C ! DCTG = NAS-C !


for LULC = 1: USGS CTG (compressed)

(DUSGSLA) Default: ESR-S ! DUSGSLA = ESR-S !


for LULC = 2: USGS Global (Lambert Azimuthal)

(DNZGEN) Default: WGS-84 ! DNZGEN = WGS-84 !


for LULC = 3: New Zealand Generic

2-35
Section 2: Geophysical Data Processors

(DNLCD) Default: NAR-C ! DNLCD = NAR-C !


for LULC = 4,5, or 6: National Land Cover Dataset

(DGLC2K) Default: WGS-84 ! DGLC2K = WGS-84 !


for LULC = 8: Global Land Cover 2000

(DUMDGLC) Default: WGS-84 ! DUMDGLC = WGS-84 !


for LULC = 9: Global Land Cover 2000

(DMODIS) Default: ESR-R ! DMODIS = ESR-R !


for LULC = 10: Global Land Cover 2001

Note: the input Datum-Region for LULC = 11, the GENERIC format, has
no default, and is provided in the header of the file

QA threshold (% of average number of data points/grid cell)


for reporting cells with poor data coverage
(ITHRESH) Default: 75 ! ITHRESH = 75 !

!END!
--------------------------------------------------------------------------------

INPUT GROUP: 2 -- Map Projection and Grid Information for Output


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

Projection
----------

Map projection for all X,Y (km)


(PMAP) Default: UTM ! PMAP = UTM !

UTM : Universal Transverse Mercator


TTM : Tangential Transverse Mercator

Table 2-5 (continued)


Sample CTGPROC Control File Inputs
(CTGPROC.INP)
LCC : Lambert Conformal Conic
PS : Polar Stereographic
EM : Equatorial Mercator
LAZA: Lambert Azimuthal Equal Area

False Easting and Northing (km) at the projection origin


(Used only if PMAP= TTM, LCC, or LAZA)
(FEAST) Default=0.0 ! FEAST = 0.0 !
(FNORTH) Default=0.0 ! FNORTH = 0.0 !

UTM zone (1 to 60)


(Used only if PMAP=UTM)
(IUTMZN) No Default ! IUTMZN = 19 !

Hemisphere for UTM projection?


(Used only if PMAP=UTM)
(UTMHEM) Default: N ! UTMHEM = N !
N : Northern hemisphere projection
S : Southern hemisphere projection

Latitude and Longitude (decimal degrees) of projection origin


(Used only if PMAP= TTM, LCC, PS, EM, or LAZA)
(RLAT0) No Default ! RLAT0 = 40.0N !
(RLON0) No Default ! RLON0 = 70.0W !

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

2-36
Section 2: Geophysical Data Processors

RLAT0 selected for convenience


LCC : RLON0 identifies central (true N/S) meridian of projection
RLAT0 selected for convenience
PS : RLON0 identifies central (grid N/S) meridian of projection
RLAT0 selected for convenience
EM : RLON0 identifies central meridian of projection
RLAT0 is REPLACED by 0.0N (Equator)
LAZA: RLON0 identifies longitude of tangent-point of mapping plane
RLAT0 identifies latitude of tangent-point of mapping plane

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


(Used only if PMAP= LCC or PS)
(RLAT1) No Default ! RLAT1 = 30.0N !
(RLAT2) No Default ! RLAT2 = 60.0N !

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

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


string. Many mapping products currently available use the model of the
Earth known as the World Geodetic System 1984 (WGS-84). Other local
models may be in use, and their selection in TERREL will make its output
consistent with local mapping products. The list of Datum-Regions with
official transformation parameters is provided by the National Imagery
and Mapping Agency (NIMA).

Datum-region for output coordinates


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

Grid
----

Reference coordinates X,Y (km) assigned to the southwest corner


of grid cell (1,1) (lower left corner of grid)
(XREFKM) No Default ! XREFKM = 310.0 !
(YREFKM) No Default ! YREFKM = 4820.0 !

Table 2-5 (continued)


Sample CTGPROC Control File Inputs
(CTGPROC.INP)
Cartesian grid definition
No. X grid cells (NX) No default ! NX = 99 !
No. Y grid cells (NY) No default ! NY = 99 !
Grid Spacing (DGRIDKM) No default ! DGRIDKM = 1. !
in kilometers

!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

Table 2-6: Control File Inputs (CTGPROC.INP)

Input Variable Type Description


Group
(0a) NDBF integer Number of data files to process
PREVDAT character*70 Previous CTGPROC output data file used as
input if the run is a continuation run, (used
only if it is a continuation run)
LUDAT character*70 Name of the gridded LU output file
RUNLST character*70 Name of the output list file
GSHHSIN character*70 Input USGS Global Self-consistent
Hierarchical High-resolution Shoreline
Database (GSHHS)
COASTBLN character*70 Processed coastline polygons for the current
TERREL grid (BLN format): output when a
GSHHS file is used, or may be input in place
of a GSHHS file (See Attachment 2-I) if
available.
LCFILES logical Filename converted to lower case (T) or
upper case (F)
CTG
(0b) character*70 Assignment of input data file names of type
GEN
CTG, NZGEN,
NZGEN
GLAZNA (as many lines as the number of files of each
GLAZSA type the total number must be NDBF)
GLAZEU
GLAZAS
GLAZAF
GLAZAP
USGSLA
NLCD92
NLCDTF
NLCD01
GLC2K
UMDGLC
MODIS

2-39
Section 2: Geophysical Data Processors

Table 2-6 (continued)


Control File Inputs (CTGPROC.INP)

Input Variable Type Description


Group
(1) LFINAL logical Final run flag (F=not a final run, T=yes, a
final run)
LPREV logical Use a previous LUDAT file? (F=no, T=yes)
MESHCTG Integer Control for distributing land use (CTG)
within a cell to improve sampling density
MESHGLAZ Integer Control for distributing land use (USGS
GLAZ) within a cell to improve sampling
density
LQACELL Logical Create QA Plot files of Land Use data points
LSNOW Logical Process SNODAS snow data (T=yes, F=no)
LCOAST logical Process coastline data? (T=yes, F=no)
LMARSWAP Logical Replace land use type read from data file with
type IOCEAN
LMARFILL Logical Fill empty marine cells with Land Use type
IOCEAN
IOCEAN Integer Marine land use type
LBLNREAD logical Read pre-processed coastline data (existing
BLN file)? (T=yes, F=no)
DCTG character*8 DATUM Code for USGS CTG
DUSGSLA character*8 DATUM Code for USGS Global Lambert
Azimuthal files (GLAZNA, GLAZSA,
GLAZEU, GLAZAS, GLAZAF, GLAZAP)
DNZGEN character*8 DATUM Code for New Zealand Generic
DNLCD character*8 DATUM Code for USGS NLCD 1992
DGLC2K character*8 DATUM Code for Global Land Cover 2000
DUMDGLC character*8 DATUM Code for Global Land Cover 2000
DMODIS character*8 DATUM Code for Global Land Cover 2001

2-40
Section 2: Geophysical Data Processors

ITHRESH Integer Threshold flag in % of the average number of


data 'hits' per cells

2-41
Section 2: Geophysical Data Processors

Table 2-6 (concluded)


Control File Inputs (CTGPROC.INP)

Input Variable Type Description


Group
(2) PMAP * character*8 Map projection for grid:
UTM : Universal Transverse Mercator
TTM : Tangential Transverse Mercator
LCC : Lambert Conformal Conic
PS : Polar Stereographic
EM : Equatorial Mercator
LAZA: Lambert Azimuthal Equal Area
FEAST real False Easting (km) for PMAP = TTM, LCC,
or LAZA
FNORTH real False Northing (km) for PMAP = TTM,
LCC, or LAZA
IUTMZN integer UTM zone for PMAP = UTM
UTMHEM character*1 Use (N) northern or (S) southern
hemisphere for UTM projection
RLAT0, character*16 Reference latitude and longitude (degrees)
RLON0 for PMAP = 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
RLAT2 PMAP= LCC or 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)
YREFKM of the output grid.

NX, NY integer Number of grid cells in X and Y directions


(if IGRID=1 or 2)
DGRIDKM real Horizontal grid spacing (km)

2-42
Section 2: Geophysical Data Processors

* PMAP = PS, EM, and LAZA is NOT AVAILABLE in CALMET

2-43
Section 2: Geophysical Data Processors

Table 2-7: Sample CTGPROC Output List File(CTGPROC.LST) - Partial Listing

CTGPROC OUTPUT SUMMARY


VERSION: 2.67 LEVEL: 060519

Internal Coordinate Transformation by --- COORDLIB Version: 1.96 Level: 051010

--------------------------
SETUP Information
--------------------------

Control File Used -----


ctgproc.inp

Processing Options -----


Continues Previous Run? : F
Final Run in Series? : T
Snow grid processing? = F
Coastline processing? = F

Mesh Density for CTG files = 1


Mesh Density for GLAZ files = 1

QA Threshold (%) = 75

Input Land Use File(s) -----

luindat: LEWISTON.CMP
(USGS CTG - compressed)

luindat: PORTLAND.CMP
(USGS CTG - compressed)

Default Datum-Region for each File Type --------


CTG : NAS-C
USGSLA : ESR-S
NZGEN : WGS-84
NLCD92 : NAR-C
NLCD01 : NAR-C
GLC2000 : WGS-84
UMDGLC : WGS-84
BUMODIS : ESR-R
GSHHS : WGS-84

Output File Names -------------


runlst : CTGPROC.LST
ludat : LULC1KM.DAT
(LUDAT written in fractional land use format)

Grid data (for output) ---------------------


datum : NAS-C
pmap : UTM
Hemisphere : N
UTM zone : 19
xorigin: 310.000000
yorigin: 4820.00000
izone : 19
dgrid : 1.00000000
nx : 99
ny : 99

2-44
Section 2: Geophysical Data Processors

Table 2-7 (concluded)


Sample CTGPROC Output List File
(CTGPROC.LST) - Partial Listing
--------------------------
PROCESS Information
--------------------------
Land use data file: LEWISTON.CMP
Header of Compressed CTG data file:

575 884064 808 0 200 4 17 19 1 7874016 1973


1 1 808 575 0 556 21 0 415 13 809 20 802 575 401 373
440000 720000 450000 720000 450000 710000 450000 700000
440000 700000 440000 710000 259500 4987100 84180
LEWISTON, ME VT NH 1:250,000 QUAD LU PB CN HU

Number of records read: 73693


Number of data points read: 442039
Number of data points used to update grid: 113089
Number of data points with missing LU: 225

Land use data file: PORTLAND.CMP

Header of Compressed CTG data file:


570 757734 822 0 200 4 17 19 1 7874016 1973
1 1 822 570 0 556 20 1 421 13 822 20 815 576 408 380
430000 720000 440000 720000 440000 710000 440000 700000
430000 700000 430000 710000 255500 4876100 84180
PORTLAND, ME NH 1:250,000 QUAD LU PB CN HU

Number of records read: 89863


Number of data points read: 379005
Number of data points used to update grid: 129519
Number of data points with missing LU: 321

Number of CTG land use cell hits

Multiply all values by 10 ** 0

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

Number of land use hits low in 104 Cells


with fewer than 18 hits per cell.
INVESTIGATE cells that are partially filled.

POTENTIAL ERROR: Number of Grid Cells with no defined land use = 88


This should NOT be your LAST run unless these cells are PROPERLY filled in
with the missing value (IMISS) used in the next processing step (MAKEGEO).
Consult the gridded table printed above to identify the cells.

Land Use Processing Complete.

End of run -- Clock time: 07:58:57


Date: 05-19-2006
Elapsed Clock Time: 1.0 (seconds)

CPU Time: 1.0 (seconds)

2-45
Section 2: Geophysical Data Processors

Table 2-8: NZ Generic Land Use Input File (Translation to USGS categories is conducted
internally)

Input Variable Type Description


Group

NOBS Integer Row number of observations


NZLU Integer Land Use Category (should be of the form
see table 2-10)
RNLAT Real Latitude (decimal degrees, negative for
Southern Hemisphere)
RELON Real Longitude (decimal degrees, negative for
(Western Hemisphere)

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

11 Urban Open Space

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

70 Mines and Dumps

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
____________________________________________________________________________________________________________

0Sea 55 ocean 50 water


1 Sea 55 ocean 50 water
10 Urban 16 mixed urban/built up land 10 urban
11 Urban Open Space 14 transport communication utilities 10 urban
20 Primarily Pastoral 21 cropland and pasture 20 irrigated agriculture
21 Primarily Horticultural 22 orchards/groves/vineyard/nursery 20 irrigated agriculture
30 Indigenous Forest 43 mixed forest land 40 forest land
31 Planted Forest 43 mixed forest land 40 forest land
40 Scrub 32 Shrub and bush rangeland 30 rangeland
43 Mangrove 61 forested wetland 60 wetland
50 Inland Water 52 lakes 50 water
60 Inland Wetlands 62 non forested wetlands 60 wetland
61 Coastal Wetlands 62 non forested wetlands 60 wetland
70 Mines and Dumps 75 strip mines, quarries,gravel pits 70 barren land
71 Coastal Sands 72 beaches 70 barren land
72 Bare Ground 74 bare exposed rock 74 barren land

____________________________________________________________________________________________________________

2-48
Section 2: Geophysical Data Processors

Table 2-12: Generic Land Use Input File (no internal translation to USGS categories)

Input Group Variable Type Description


First Line DATASET character*16 Dataset name (Generic.Landuse)
DATAVER character*16 Dataset version (1.0)
DATAMOD character*64 Dataset message field
Second Line NCOMMENTS integer Number of comment records to follow
Third Line Comment Lines depending on
NCOMMENTS
CPROJI character Map Coordinates, expecting longitude
and latitude (LL)
DGENERIC, character Map Datum and Date (WGS-84 02-21-
DATENI 2003)
DEG character Map Units, expecting degrees (DEG)
NLUOUTCAT integer Number of Land Use Categories
LUOUTCAT integers List Land Use Categories
Real arrays
follow
LUCAT Integer Land Use Category
RELON Real Longitude (Eastlongitude is positive,
West longitude is negative)
RELAT Real Latitude (North latitude is positive, South
latitude is negative)
(Continue for each record)

2-49
Section 2: Geophysical Data Processors

Table 2-13: Sample File of Generic Land Use Data set

GENERIC.LANDUSE 1.0 LU, Longitude, Latitude (free-format)


2
Prepared by User
Longitude is positive to east, Latitude is positive to north
LL
WGS-84 02-21-2003
DEG
16
0 1 10 11 20 21 30 31 40 43 50 60 61 70 71 72
30 174.409729 -35.5173149
30 174.410828 -35.5172997
30 174.411942 -35.5172844
20 174.413040 -35.5172691
20 174.414139 -35.5172539
20 174.415237 -35.5172386
20 174.416351 -35.5172234
20 174.417450 -35.5172081
20 174.418549 -35.5171928
20 174.419647 -35.5171776
20 174.420761 -35.5171623
20 174.421860 -35.5171471
20 174.422958 -35.5171318
20 174.424057 -35.5171165

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

Table 2-14: Sample MAKEGEO Control File(MAKEGEO.INP)

Demo Application
--------------------- Run title (1 line) --------------------------------------

MAKEGEO PROCESSOR CONTROL FILE


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

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

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

INPUT GROUP: 0 -- Input and Output Files


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

Default Name Type File Name


------------ ---- ---------
LU.DAT input ! LUDAT =lulc1km.dat !
LU2.DAT input ! LU2DAT =luglobe.dat !
TERR.DAT input ! TERRDAT =terr1km.dat !
SNOW.DAT input * SNOWDAT = *
GEO.DAT output ! GEODAT =geo1km.dat !
MAKEGEO.LST output ! RUNLST =makegeo.lst !
QALUSE.GRD output * LUGRD =qaluse.grd *
QATERR.GRD output * TEGRD =qaterr.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
(LCFILES) Default: T ! LCFILES = T !
T = lower case
F = UPPER CASE

NOTE: File/path names can be up to 70 characters in length

!END!

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

INPUT GROUP: 1 -- Run control parameters


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

Terrain Processing Control

Read in a gridded terrain file?


(LTERR) Default: T ! LTERR = T !
T = terrain elevations in GEO.DAT read from TERR.DAT
F = terrain elevations in GEO.DAT are zero

Land Use Processing Control

A second file of fractional land use (LU2.DAT) may be provided for


use when a cell in the primary land use file (LU.DAT) has no indicated
land use. This option allows a lower resolution dataset to supplement
a higher resolution dataset where the higher resolution data are
unavailable.

2-52
Section 2: Geophysical Data Processors

Read in a second fractional land use file?


(LLU2) Default: F ! LLU2 = F !
T = supplemental fractional land use read from LU2.DAT
F = no supplemental fractional land use data are available

2-53
Section 2: Geophysical Data Processors

Table 2-14 (continued)


Sample MAKEGEO Control File
(MAKEGEO.INP)

Daily Snow Data Processing Control

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.

Process snow data?


(LSNOW) Default: F ! LSNOW = F !
T = Process SNODAS snow data
F = Do not process SNODAS snow data

Format for Time-Varying GEO.DAT output


(Used only if LSNOW = T)
(IFMTGEO) Default: 1 ! IFMTGEO = 1 !
1 = One GEO.DAT file for each day. In this format the
date stamp will be added to the GEO.DAT file name
listed in Group 0. For example, if the name chosen
for the output file is geo1km.dat, the name of the
daily file for January 10, 2008 would be
geo1km_20080110.dat
2 = One time-varying GEO.DAT file for all days in
compressed format.
(Not Available at this time)

Beginning and Ending dates (YYYYMMDD) for daily GEO.DAT


(Used only if LSNOW = T)
(IDATEBEG) No Default ! IDATEBEG = 20110404 !
(IDATEBEG) No Default ! IDATEEND = 20110404 !

!END!

QA information for 1 cell in the grid can be written to the list


file. Identify the cell by its grid location (IX,IY).
No QA output is generated if either index is outside your grid. For
example, using 0 for either turns the QA output off.

Location of grid cell for QA output


(IXQA) Default: 0 ! IXQA = 20 !
(IYQA) Default: 0 ! IYQA = 15 !

!END!

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

INPUT GROUP: 2 -- Map Projection and Grid Information for Output


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

Projection
----------

Map projection for all X,Y (km)


(PMAP) Default: UTM ! PMAP = UTM !

UTM : Universal Transverse Mercator


TTM : Tangential Transverse Mercator
LCC : Lambert Conformal Conic
PS : Polar Stereographic
EM : Equatorial Mercator

2-54
Section 2: Geophysical Data Processors

LAZA: Lambert Azimuthal Equal Area

False Easting and Northing (km) at the projection origin


(Used only if PMAP= TTM, LCC, or LAZA)
(FEAST) Default=0.0 ! FEAST = 0.0 !
(FNORTH) Default=0.0 ! FNORTH = 0.0 !

Table 2-14 (continued)


Sample MAKEGEO Control File
(MAKEGEO.INP)

UTM zone (1 to 60)


(Used only if PMAP=UTM)
(IUTMZN) No Default ! IUTMZN = 19 !

Hemisphere for UTM projection?


(Used only if PMAP=UTM)
(UTMHEM) Default: N ! UTMHEM = N !
N : Northern hemisphere projection
S : Southern hemisphere projection

Latitude and Longitude (decimal degrees) of projection origin


(Used only if PMAP= TTM, LCC, PS, EM, or LAZA)
(RLAT0) No Default ! RLAT0 = 40.0N !
(RLON0) No Default ! RLON0 = 70.0W !

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


RLAT0 selected for convenience
LCC : RLON0 identifies central (true N/S) meridian of projection
RLAT0 selected for convenience
PS : RLON0 identifies central (grid N/S) meridian of projection
RLAT0 selected for convenience
EM : RLON0 identifies central meridian of projection
RLAT0 is REPLACED by 0.0N (Equator)
LAZA: RLON0 identifies longitude of tangent-point of mapping plane
RLAT0 identifies latitude of tangent-point of mapping plane

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


(Used only if PMAP= LCC or PS)
(RLAT1) No Default ! RLAT1 = 30.0N !
(RLAT2) No Default ! RLAT2 = 60.0N !

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

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


string. Many mapping products currently available use the model of the
Earth known as the World Geodetic System 1984 (WGS-84). Other local
models may be in use, and their selection in TERREL will make its output
consistent with local mapping products. The list of Datum-Regions with
official transformation parameters is provided by the National Imagery and
and Mapping Agency (NIMA).

Datum-region for output coordinates


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

Grid
----

Reference coordinates X,Y (km) assigned to the southwest corner


of grid cell (1,1) (lower left corner of grid)
(XREFKM) No Default ! XREFKM = 310.0 !

Table 2-14 (continued)


Sample MAKEGEO Control File
(MAKEGEO.INP)

(YREFKM) No Default ! YREFKM = 4820.0 !

Cartesian grid definition


No. X grid cells (NX) No default ! NX = 99 !
No. Y grid cells (NY) No default ! NY = 99 !

Grid Spacing (DGRIDKM) No default ! DGRIDKM = 1. !


in kilometers

!END!

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

INPUT GROUP: 3 -- Output Land Use


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

-------------
Subgroup (3a)
-------------

Number of output land use categories


(NOUTCAT) Default: 14 ! NOUTCAT = 14 !

Output land use categories assigned to water


range from IWAT1 to IWAT2 (inclusive)
(IWAT1) Default: 50 ! IWAT1 = 50 !

2-56
Section 2: Geophysical Data Processors

(IWAT2) Default: 55 ! IWAT2 = 55 !

!END!

-------------
Subgroup (3b)
-------------
a
OUTPUT LAND USE CATEGORIES (NOUTCAT entries)
--------------------------------------------

! OUTCAT = 10, 20, -20, 30, 40, 51, 54, 55 ! !END!


! OUTCAT = 60, 61, 62, 70, 80, 90 ! !END!

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

Number of input land use categories


(NINCAT) Default: 38 ! NINCAT = 38 !

Number of input water categories


(NUMWAT) Default: 5 ! NUMWAT = 5 !

Number of input categories that are split


by apportioning area among the other land
use categories

Table 2-14 (continued)


Sample MAKEGEO Control File
(MAKEGEO.INP)

(NSPLIT) Default: 0 ! NSPLIT = 0 !

Minimum fraction of cell covered by water required


to define the dominant land use as water

(CFRACT) Default: 0.5 ! CFRACT = 0.5 !

Land use category assigned to cell when


no land use data are found
(IMISS) Default: 55 ! IMISS = 55 !

Minimum total fractional land use expected

2-57
Section 2: Geophysical Data Processors

in a cell when land use data are available


(FLUMIN) Default: 0.96 ! FLUMIN = 0.96 !

!END!

Method to obtain surface roughness when


the surface is covered by snow
(Used only if LSNOW = T)
(MSRL) Default: 1 ! MSRL = 1 !
1 = Computed from effective obstacle height
2 = User-defined table

Height Scale (m) for computing effective


obstacle height (method MSRL=1)
(Used only if LSNOW = T)
(HSCL) Default: 10. ! HSCL = 10 !

Method to obtain surface albedo when the


surface is covered by snow
(Used only if LSNOW = T)
(MSAL) Default: 1 ! MSAL = 1 !
1 = Computed using snow ages
2 = Use user-defined table

Minimum snow depth (meters) when surface


roughness is affected by snow
(Used only if LSNOW = T)
(SDPMIN) Default: 0.01 ! SDPMIN = 0.01 !

!END!

-------------
Subgroup (4b)
-------------
a
LAND USE PROPERTIES AND OUTPUT MAP (NINCAT entries)
---------------------------------------------------

Input Soil Anthropogenic Leaf Output


Category z0 Albedo Bowen Heat Flux Heat Flux Area Category
ID (m) (0 to 1) Ratio Parameter (W/m**2) Index ID
------ ------ ------ ------ --------- -------- ------ ------

! X = 11, 0.5, 0.18, 1.0, 0.20, 0.0, 1.0, 10 ! !END!


! X = 12, 1.0, 0.18, 1.5, 0.25, 0.0, 0.2, 10 ! !END!
! X = 13, 1.0, 0.18, 1.5, 0.25, 0.0, 0.2, 10 ! !END!
! X = 14, 1.0, 0.18, 1.5, 0.25, 0.0, 0.2, 10 ! !END!
! X = 15, 1.0, 0.18, 1.5, 0.25, 0.0, 0.2, 10 ! !END!
! X = 16, 1.0, 0.18, 1.5, 0.25, 0.0, 0.2, 10 ! !END!
! X = 17, 1.0, 0.18, 1.5, 0.25, 0.0, 0.2, 10 ! !END!
! X = 21, 0.25, 0.15, 1.0, 0.15, 0.0, 3.0, 20 ! !END!
! X = 22, 0.25, 0.15, 1.0, 0.15, 0.0, 3.0, 20 ! !END!
! X = 23, 0.25, 0.15, 1.0, 0.15, 0.0, 3.0, 20 ! !END!

Table 2-14 (continued)

2-58
Section 2: Geophysical Data Processors

Sample MAKEGEO Control File


(MAKEGEO.INP)

! X = 24, 0.25, 0.15, 1.0, 0.15, 0.0, 3.0, 20 ! !END!


! X = 31, 0.05, 0.25, 1.0, 0.15, 0.0, 0.5, 30 ! !END!
! X = 32, 0.05, 0.25, 1.0, 0.15, 0.0, 0.5, 30 ! !END!
! X = 33, 0.05, 0.25, 1.0, 0.15, 0.0, 0.5, 30 ! !END!
! X = 41, 1.0, 0.1, 1.0, 0.15, 0.0, 7.0, 40 ! !END!
! X = 42, 1.0, 0.1, 1.0, 0.15, 0.0, 7.0, 40 ! !END!
! X = 43, 1.0, 0.1, 1.0, 0.15, 0.0, 7.0, 40 ! !END!
! X = 51, 0.001, 0.1, 0.0, 1.0, 0.0, 0.0, 51 ! !END!
! X = 52, 0.001, 0.1, 0.0, 1.0, 0.0, 0.0, 51 ! !END!
! X = 53, 0.001, 0.1, 0.0, 1.0, 0.0, 0.0, 51 ! !END!
! X = 54, 0.001, 0.1, 0.0, 1.0, 0.0, 0.0, 54 ! !END!
! X = 55, 0.001, 0.1, 0.0, 1.0, 0.0, 0.0, 55 ! !END!
! X = 61, 1.0, 0.1, 0.5, 0.25, 0.0, 2.0, 61 ! !END!
! X = 62, 0.2, 0.1, 0.1, 0.25, 0.0, 1.0, 62 ! !END!
! X = 71, 0.05, 0.3, 1.0, 0.15, 0.0, 0.05, 70 ! !END!
! X = 72, 0.05, 0.3, 1.0, 0.15, 0.0, 0.05, 70 ! !END!
! X = 73, 0.05, 0.3, 1.0, 0.15, 0.0, 0.05, 70 ! !END!
! X = 74, 0.05, 0.3, 1.0, 0.15, 0.0, 0.05, 70 ! !END!
! X = 75, 0.05, 0.3, 1.0, 0.15, 0.0, 0.05, 70 ! !END!
! X = 76, 0.05, 0.3, 1.0, 0.15, 0.0, 0.05, 70 ! !END!
! X = 77, 0.05, 0.3, 1.0, 0.15, 0.0, 0.05, 70 ! !END!
! X = 81, 0.2, 0.3, 0.5, 0.15, 0.0, 0.0, 80 ! !END!
! X = 82, 0.2, 0.3, 0.5, 0.15, 0.0, 0.0, 80 ! !END!
! X = 83, 0.2, 0.3, 0.5, 0.15, 0.0, 0.0, 80 ! !END!
! X = 84, 0.2, 0.3, 0.5, 0.15, 0.0, 0.0, 80 ! !END!
! X = 85, 0.2, 0.3, 0.5, 0.15, 0.0, 0.0, 80 ! !END!
! X = 91, 0.05, 0.7, 0.5, 0.15, 0.0, 0.0, 90 ! !END!
! X = 92, 0.05, 0.7, 0.5, 0.15, 0.0, 0.0, 90 ! !END!

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

Input Soil Anthropogenic Leaf Output


Category z0 Albedo Bowen Heat Flux Heat Flux Area Category
ID (m) (0 to 1) Ratio Parameter (W/m**2) Index ID
------ ------ ------ ------ --------- -------- ------ ------

* X = 11, 0.5, 0.18, 1.0, 0.20, 0.0, 1.0, 10 * *END*


* X = 12, 1.0, 0.18, 1.5, 0.25, 0.0, 0.2, 10 * *END*
* X = 13, 1.0, 0.18, 1.5, 0.25, 0.0, 0.2, 10 * *END*
* X = 14, 1.0, 0.18, 1.5, 0.25, 0.0, 0.2, 10 * *END*
* X = 15, 1.0, 0.18, 1.5, 0.25, 0.0, 0.2, 10 * *END*
* X = 16, 1.0, 0.18, 1.5, 0.25, 0.0, 0.2, 10 * *END*
* X = 17, 1.0, 0.18, 1.5, 0.25, 0.0, 0.2, 10 * *END*
* X = 21, 0.02, 0.18, 0.7, 0.15, 0.0, 3.0, 20 * *END*
* X = 22, 0.02, 0.18, 0.7, 0.15, 0.0, 3.0, 20 * *END*
* X = 23, 0.02, 0.18, 0.7, 0.15, 0.0, 3.0, 20 * *END*
* X = 24, 0.02, 0.18, 0.7, 0.15, 0.0, 3.0, 20 * *END*
* X = 31, 0.01, 0.20, 1.0, 0.15, 0.0, 0.5, 30 * *END*
* X = 32, 0.01, 0.20, 1.0, 0.15, 0.0, 0.5, 30 * *END*
* X = 33, 0.01, 0.20, 1.0, 0.15, 0.0, 0.5, 30 * *END*
* X = 41, 0.6, 0.17, 1.0, 0.15, 0.0, 7.0, 40 * *END*
* X = 42, 1.3, 0.12, 0.8, 0.15, 0.0, 7.0, 40 * *END*
* X = 43, 0.95, 0.14, 0.9, 0.15, 0.0, 7.0, 40 * *END*

2-59
Section 2: Geophysical Data Processors

* X = 51, 0.001, 0.1, 0.0, 1.0, 0.0, 0.0, 51 * *END*


* X = 52, 0.001, 0.1, 0.0, 1.0, 0.0, 0.0, 51 * *END*
* X = 53, 0.001, 0.1, 0.0, 1.0, 0.0, 0.0, 51 * *END*
* X = 54, 0.001, 0.1, 0.0, 1.0, 0.0, 0.0, 54 * *END*
* X = 55, 0.001, 0.1, 0.0, 1.0, 0.0, 0.0, 55 * *END*

Table 2-14 (continued)


Sample MAKEGEO Control File
(MAKEGEO.INP)

* X = 61, 0.6, 0.14, 0.3, 0.25, 0.0, 2.0, 61 * *END*


* X = 62, 0.2, 0.14, 0.1, 0.25, 0.0, 1.0, 62 * *END*
* X = 71, 0.05, 0.2, 1.5, 0.15, 0.0, 0.05, 70 * *END*
* X = 72, 0.05, 0.2, 1.5, 0.15, 0.0, 0.05, 70 * *END*
* X = 73, 0.05, 0.2, 1.5, 0.15, 0.0, 0.05, 70 * *END*
* X = 74, 0.05, 0.2, 1.5, 0.15, 0.0, 0.05, 70 * *END*
* X = 75, 0.05, 0.2, 1.5, 0.15, 0.0, 0.05, 70 * *END*
* X = 76, 0.05, 0.2, 1.5, 0.15, 0.0, 0.05, 70 * *END*
* X = 77, 0.05, 0.2, 1.5, 0.15, 0.0, 0.05, 70 * *END*
* X = 81, 0.1, 0.2, 1.0, 0.15, 0.0, 0.0, 80 * *END*
* X = 82, 0.1, 0.2, 1.0, 0.15, 0.0, 0.0, 80 * *END*
* X = 83, 0.1, 0.2, 1.0, 0.15, 0.0, 0.0, 80 * *END*
* X = 84, 0.1, 0.2, 1.0, 0.15, 0.0, 0.0, 80 * *END*
* X = 85, 0.1, 0.2, 1.0, 0.15, 0.0, 0.0, 80 * *END*
* X = 91, 0.002, 0.7, 0.5, 0.15, 0.0, 0.0, 90 * *END*
* X = 92, 0.002, 0.7, 0.5, 0.15, 0.0, 0.0, 90 * *END*

-------------
Subgroup (4c) (Read only when LSNOW=T)
-------------

a, b
SNOW-COVERED LAND USE PROPERTIES AND OUTPUT MAP (NINCAT entries)
----------------------------------------------------------------

Input Soil Anthropogenic Leaf Output


Category z0 Albedo Bowen Heat Flux Heat Flux Area Category
ID (m) (0 to 1) Ratio Parameter (W/m**2) Index ID
------ ------ ------ ------ --------- -------- ------ ------
* 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*

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*

Table 2-14 (continued)


Sample MAKEGEO Control File
(MAKEGEO.INP)

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

Parameters for Snow-Age adjustment to surface albedo


Snow Time-Scale (days) : Number of days from last snow when snow becomes dirty.
Albedo Reduction Factor: Reduces albedo when snow becomes dirty.
The amount the albedo is reduced is product of this
factor and the albedo difference between the surface
with and without snow.

a, b
SNOW-AGE TIME SCALE AND ALBEDO REDUCTION FACTOR
-----------------------------------------------
(With snow cover)

2-61
Section 2: Geophysical Data Processors

Input Snow Albedo


Category Time Scale Reduction
ID (days) Factor
------ ------ ------
* XF = , , * *END*
* XF = , , * *END*
* XF = , , * *END*
* XF = , , * *END*
* XF = , , * *END*
* XF = , , * *END*
* XF = , , * *END*
* XF = , , * *END*
* XF = , , * *END*
* XF = , , * *END*
* XF = , , * *END*
* XF = , , * *END*
* XF = , , * *END*
* XF = , , * *END*
* XF = , , * *END*
* XF = , , * *END*
* XF = , , * *END*
* XF = , , * *END*
* XF = , , * *END*
* XF = , , * *END*
* XF = , , * *END*
* XF = , , * *END*
* XF = , , * *END*
* XF = , , * *END*
* XF = , , * *END*
* XF = , , * *END*
* XF = , , * *END*
* XF = , , * *END*
* XF = , , * *END*
* XF = , , * *END*
* XF = , , * *END*
* XF = , , * *END*
* XF = , , * *END*

Table 2-14 (continued)


Sample MAKEGEO Control File
(MAKEGEO.INP)
* XF = , , * *END*
* XF = , , * *END*
* XF = , , * *END*
* XF = , , * *END*
* XF = , , * *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 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

comment marker such as '*'. To activate, change the delimiters to


an exclamation point.

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

Table 2-15: MAKEGEO Control File Inputs

Input Variable Type Description


Group

(0) CTITLE character*80 Title for GEO.DAT file (first line)


LUDAT character*70 Input gridded fractional land use file
LU2DAT character*70 Second input gridded land use
TERRDAT character*70 Input gridded terrain data file (used only if CTER=y)
SNOWDAT character*70 Input gridded snow data
GEODAT character*70 Output GEO.DAT file
RUNLST character*70 Output list file
LUGRD character*70 Output land use plot (GRD) file
TEGRD character*70 Output terrain plot (GRD) file
LCFILES logical Convert filename to lower case (T) or upper case (F)
(1) LTERR logical Flag to read input gridded terrain file (T=yes, F=no)
LLU2 Logical Read in a second fractional land use file
LSNOW Logical Process SNODAS snow data (T=yes, F=no)
IFMTGEO interger Format for time-varying GEO.DAT output (used only if
LSNOW = T)
IDATEBEG integers Beginning dates (YYYYMMDD) for daily GEO.DAT
(used only if LSNOW = T)
IDATEEND integers Ending dates (YYYYMMDD) for daily GEO.DAT
(used only if LSNOW = T)
IXQA.IYQA integers I,J, indices of cell to write out for QA check (used only
if >0)

2-64
Section 2: Geophysical Data Processors

Input Variable Type Description


Group

(2) PMAP * character*8 Map projection for grid:


UTM : Universal Transverse Mercator
TTM : Tangential Transverse Mercator
LCC : Lambert Conformal Conic
PS : Polar Stereographic
EM : Equatorial Mercator
LAZA: Lambert Azimuthal Equal Area
FEAST real False Easting (km) for PMAP = TTM, LCC, or LAZA
FNORTH real False Northing (km) for PMAP = TTM, LCC, or LAZA
IUTMZN integer UTM zone for PMAP = UTM

2-65
Section 2: Geophysical Data Processors

Table 2-15 (continued)


MAKEGEO Control File Inputs
Input Variable Type Description
Group

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

NX, NY integer Number of grid cells in X and Y directions (if IGRID=1


or 2)
DGRIDKM real Horizontal grid spacing (km)

(3a) NOUTCAT integer Number of output categories (14 for default CALMET
run)

IWAT1, integer Range of output categories assigned to water


IWAT2
(3b) OUTCAT integer array List of output LU categories (14 default CALMET; see
sample MAKEGEO.INP) (up to 10 categories per line)
(4a) NINCAT integer Number of input land use categories (if USGS LULC
categories: NINCAT=38)
NUMWAT integer Number of water categories (4 for USGS LU
categories)
NSPLIT integer Number of input categories that are split among other
LU categories

2-66
Section 2: Geophysical Data Processors

Input Variable Type Description


Group

CFRACT real Fraction of the cell area covered by water required to


define the dominant land use category as water
IMISS integer Land use category assigned for missing land use data
(whenever LU data is missing for a grid cell in the
domain, IMISS will be attributed to that cell)
FLUMIN real Minimum total fractional Land Use expected

2-67
Section 2: Geophysical Data Processors

Table 2-15 (concluded)


MAKEGEO Control File Inputs

Input Variable Type Description


Group

(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

(4f) NSPLIT Array Category split information: category ID to be split,


entries (int,int,real) output category, amount of split (%). A total of
NSPLIT land use categories must be listed, and the %
split from each one must sum to 100%
* PMAP = EM, PS, and LAZA is NOT AVAILABLE in CALMET

2-69
Section 3: READ62 Upper Air Preprocessor

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

Table 3-1: READ62 Input and Output Files

Unit File Name Type Format Description


IO5 READ62.INP input formatted Control file containing user
inputs
IO6 READ62.LST* output formatted List file (line printer output file)
IO8 TD6201.DAT* input formatted Upper air data in NCDC
or TD-6201 format
NCDC_U.DAT* input formatted Upper air data in NCDC FSL
format
IO9 UP.DAT* output formatted Output file containing processed
upper air data in format required
by CALMET
IO18 SUBSOUND.DA Input formatted Input sounding (substitutions)
T

3-3
Section 3: READ62 Upper Air Preprocessor

Table 3-2: READ62 Control File Inputs

Input Group Variable Type Description

First Line DATASET character*16 Dataset name (UP.DAT)

DATAVER character*16 Dataset version

DATAMOD character*64 Dataset message field

(0) INDAT character*70 Input sounding data file name

SUBDAT character*70 Name of the substitute input data file


(optional)

UPDAT character*70 Name of the output upper air file (UP.DAT)

RUNLST character*70 Name of the output list file

LCFILES logical Convert to lower case (T) or upper case (F)

(1) IBYR integer Starting year of data to print (four digit)

IBMO integer Starting month

IBDAY integer Starting day

IBHR integer Starting time (hour 00-23 UTC)

IBSEC integer Starting time (second 0000-3599)

IEYR integer Ending year of data to print (four digit)

IEMO Integer Ending month

IEDAY Integer Ending day

IEHR Integer Ending time (hour 00-23 UTC)

IESEC Integer Ending time (second 0000-3599)

JDAT Integer Type of sounding data file - 1: TD-6204


format -2: NCDC FSL format

ISUB Integer Type of substitute up.dat input sounding


data file 0: no substitute sounding file is
used; 1: slash delimited format (wind speed
and direction are integers)- 2: comma
delimited (all data are real)

IFMT Integer Format used in UP.DAT output data record;


1: slash delimited format (wind speed and
direction are integers)- 2: comma delimited
(all data are real)

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

Table 3-2 (continued)


READ62 Control File Inputs

Input group Variable Type Description

(1) LHT Logical Height field control variable. If LHT = T, a


sounding level is eliminated if the height
field is missing. IF LHT = F, the sounding
level is included in the output file but the
height field is flagged with a "9999", if
missing.

LTEMP Logical Temperature field control variable. If


LTEMP = T, a sounding level is eliminated
if the temperature field is missing. If
LTEMP = F, the sounding level is included
in the output file but the temperature field is
flagged with a "999.9", if missing.

LWD Logical Wind direction field control variable. If


LWD = T, a sounding level is eliminated if
the wind direction field is missing. If LWD
= F, the sounding level is included in the
output file but the wind direction field is
flagged with a "999", if missing.

LWS Logical Wind speed field control variable. If LWS =


T, a sounding level is eliminated if the wind
speed is missing. If LWS = F, the sounding
level is included in the output file but the
wind speed field is flagged with a "999", if
missing.

LXTOP Logical Extrapolate missing data to from PVTOP to


PSTOP (constant wind and temperature). T:
Yes- F: No

PVTOP Real Minimum pressure above which sounding is


extrapolated (if missing)

LXSFC Logical Extrapolate missing data down to surface


(lowest wind speed extrapolate down with
neutral power law. - Temperature is not
extrapolated). T: Yes- F: No

ZVSFC Real Maximum elevation (m) of the first valid


data for extrapolation to the surface

3-6
Section 3: READ62 Upper Air Preprocessor

Table 3-3: Sample READ62 Control File (READ62.INP)

READ62.INP 2.1 Hour Start and End Times with Seconds


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

READ62 PROCESSOR CONTROL FILE


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

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.

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

INPUT GROUP: 0 -- Input and Output Files


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

Input and Output files:


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

Default Name Type File Name


------------ ---- ---------
SOUNDING.DAT input ! INDAT = td6201.dat !
SUBSOUND.DAT input * SUBDAT = *
UP.DAT output ! UPDAT = up2n.dat !
READ62.LST output ! RUNLST = read622n.lst !

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


Otherwise, if LCFILES = F, file names will be converted to UPPER CASE
(LCFILES) Default: T ! LCFILES = T !
T = lower case
F = UPPER CASE

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

!END!

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

INPUT GROUP: 1 -- Run control parameters


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

--- Processing Period ---

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


Month (IBMO) -- No default ! IBMO = 1 !
Day (IBDY) -- No default ! IBDY = 6 !
[00-23 UTC] Hour (IBHR) -- No default ! IBHR = 23 !
Second (IBSECN) -- No default ! IBSEC = 0 !

3-7
Section 3: READ62 Upper Air Preprocessor

Table 3-3 (continued)


Sample READ62 Control File (READ62.INP)

Ending date: Year (IEYR) -- No default ! IEYR = 1993 !


Month (IEMO) -- No default ! IEMO = 1 !
Day (IEDY) -- No default ! IEDY = 8 !
[00-23 UTC] Hour (IBHR) -- No default ! IEHR = 12 !
Second(IBSECN) -- No default ! IESEC = 0 !

---------------
NOTE: Explicit times with seconds (not hour-ending times)
in Universal Time (UTC), also known as Greenwich Mean
Time (GMT).

--- File Options ---

Type of NCDC input sounding data file


(JDAT) No Default ! JDAT = 1 !
1 = TD-6201 format
2 = NCDC FSL format

Type of SUBSTITUTE UP.DAT input sounding data file


(ISUB) Default: 0 ! ISUB =0 !
0 = NO substitute sounding file is used
1 = Delimiter between data in a sounding level is a slash (/)
and wind speed and direction are written as integers
2 = Delimiter between data in a sounding level is a comma (,)
and all data are written as reals (more significant digits)

Format used in UP.DAT output data records


(IFMT) Default: 2 ! IFMT = 2 !
1 = Delimiter between data in a sounding level is a slash (/)
and wind speed and direction are written as integers
2 = Delimiter between data in a sounding level is a comma (,)
and all data are written as reals (more significant digits)

3-8
Section 3: READ62 Upper Air Preprocessor

Table 3-3 (continued)


Sample READ62 Control File (READ62.INP)

--- Processing Options ---

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 !

Missing data control options to determine when a sounding level


is rejected, and when an incomplete sounding level is written to
the UP.DAT file with missing value indicators. The missing value
indicators are:
Height = 9999.
Temperature = 999.9
Wind Direction = 999
Wind Speed = 999 (999.0)
Eliminate level if at least one of the following is missing?
(LHT) Height Default: F ! LHT = F !
(LTEMP) Temperature Default: F ! LTEMP = F !
(LWD) Wind Direction Default: F ! LWD = F !
(LWS) Wind Speed Default: F ! LWS = F !

Sounding repair options to automatically fix-up certain deficiencies


identified in the sounding data. Any deficiencies not addressed will
be identified in the UP.DAT output file and must be addressed by the
user before that file can be used in CALMET. Note that the repair
options selected will be applied before any sounding replacement is
done (soundings are replaced using the SUBSOUND.DAT file only if the
ISUB variable is not zero).

(1) Extrapolation to extend missing profile data to PSTOP pressure level?


- Wind speed and direction are constant with height
- Temperature gradient is constant with height
- Valid data must exist at heights as great as PVTOP (mb) pressure level
(LXTOP) Default: F ! LXTOP = F !
(PVTOP) Default: 850. ! PVTOP = 850 !

(2) Extrapolation to extend missing profile data to surface?


- Wind direction is constant with height
- Wind speed is set with first valid speed, extrapolated to 10m
using the neutral power law
- Valid data must exist within first ZVSFC (m) of the surface
- Temperature is NOT extrapolated
(LXSFC) Default: F ! LXSFC = F !
(ZVSFC) Default: 200. ! ZVSFC = 200 !

!END!

3-9
Section 3: READ62 Upper Air Preprocessor

Table 3-4: Sample READ62 Output List file

READ62 OUTPUT SUMMARY


VERSION: 5.6 LEVEL: 041123

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

STARTING DATE: ENDING DATE:

YEAR = 1990 YEAR = 1990


JULIAN DAY = 1 JULIAN DAY = 15
HOUR = 0 (GMT) HOUR = 12 (GMT)

PRESSURE LEVELS EXTRACTED:

SURFACE TO 500. MB

INPUT FILE FORMAT (1=TD6201,2=NCDC CD-ROM): 2


OUTPUT FILE FORMAT (1=/ DELIMITED,2=COMMA DELIMITED): 1

ALT. SOUNDING FILE FOR SUBSTITUTIONS IS NOT USED

DATA LEVEL ELIMINATED IF HEIGHT MISSING ? F

DATA LEVEL ELIMINATED IF TEMPERATURE MISSING ? F

DATA LEVEL ELIMINATED IF WIND DIRECTION MISSING ? F

DATA LEVEL ELIMINATED IF WIND SPEED MISSING ? F

MISSING PROFILE DATA EXTRAPOLATED TO TOP ? F

Last valid data must be above pressure (mb): 700.0

MISSING PROFILE DATA EXTRAPOLATED TO SURFACE ? F

First valid data must be below height (m AGL): 200.0

3-10
Section 3: READ62 Upper Air Preprocessor

Table 3-4 (continued)


Sample READ62 Output List file

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

FSL Station ID used: 14764


WBAN ID: 14764
WMO ID: 72606

Temperature values used in range checks:


TMIN = 175.0
TMAX = 322.0

Pressure values used in range checks:


PMIN = 0.0
PMAX = 1040.0

3-11
Section 3: READ62 Upper Air Preprocessor

Table 3-4 (concluded)


Sample READ62 Output List file

THE FOLLOWING SOUNDINGS HAVE BEEN PROCESSED:

YEAR MONTH DAY JUL.DAY HOUR-ENDING(GMT) NO. LEVELS EXTRACTED

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

End of run -- Clock time: 17:34:13


Date: 12-15-2005

Elapsed Clock Time: 0.0 (seconds)

CPU Time: 0.0 (seconds)

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

Table 3-5: Sample UP.DAT files

(a) UP.DAT - Slash-delimited format

UP.DAT 2.1 Hour Start and End Times with Seconds


1
Produced by READ62 Version: 5.6 Level: 041123
NONE
UTC+0000
2002 2 12 0 2002 9 7 0 500. 1 1
F F F F
6201 14764 2002 1 2 12 0 2002 1 2 12 0 49 28
1007.0/ 16./279.3/160/ 10 1000.0/ 77./281.0/174/ 13 983.0/ 221./284.6/186/ 19 973.0/ 304./999.9/190/ 21
959.0/ 427./285.2/199/ 23 950.0/ 507./284.9/203/ 24 938.0/ 609./999.9/210/ 26 905.0/ 914./999.9/220/ 29
900.0/ 959./283.1/222/ 30 872.0/1219./999.9/225/ 31 850.0/1433./281.2/222/ 31 822.0/1710./278.5/223/ 30
810.0/1827./999.9/225/ 30 800.0/1931./277.6/226/ 29 780.0/2132./999.9/225/ 29 752.0/2437./999.9/225/ 28
750.0/2456./275.3/226/ 28 724.0/2742./999.9/230/ 27 708.0/2920./273.2/230/ 26 700.0/3011./272.9/231/ 26
697.0/3047./999.9/230/ 26 650.0/3601./269.6/236/ 27 645.0/3657./999.9/235/ 27 600.0/4230./266.1/240/ 31
597.0/4267./999.9/240/ 32 552.0/4875./999.9/240/ 36 550.0/4905./262.2/241/ 36 500.0/5630./257.9/240/ 38
6201 14764 2002 1 2 13 0 2002 1 2 13 0 49 19
994.0/ 16./276.5/240/ 7 979.0/ 140./279.7/250/ 11 968.0/ 233./280.3/254/ 14 950.0/ 388./280.0/254/ 18
933.0/ 536./279.6/250/ 19 900.0/ 832./280.4/243/ 22 898.0/ 852./280.5/242/ 22 850.0/1303./277.8/244/ 24
800.0/1795./275.8/251/ 29 750.0/2316./273.5/256/ 35 742.0/2402./273.1/256/ 36 728.0/2554./272.3/254/ 38
707.0/2787./273.0/249/ 39 700.0/2868./272.5/248/ 39 650.0/3457./268.6/241/ 35 603.0/4042./264.5/230/ 30
600.0/4081./264.4/230/ 30 550.0/4754./262.3/222/ 38 500.0/5482./259.9/219/ 53

(... records removed for clarity)

(b) UP.DAT - Comma-delimited format


UP.DAT 2.1 Hour Start and End Times with Seconds
1
Produced by READ62 Version: 5.6 Level: 041123
NONE
UTC+0000
2002 2 12 0 2002 9 7 0 500. 1 2
F F F F
6201 14764 2002 1 2 12 0 2002 1 2 12 0 49 28
1007.0, 16.,279.3,160, 10.0, 1000.0, 77.,281.0,174, 13.0, 983.0, 221.,284.6,186, 19.0, 973.0, 304.,999.9,190, 21.1,
959.0, 427.,285.2,199, 23.0, 950.0, 507.,284.9,203, 24.0, 938.0, 609.,999.9,210, 26.2, 905.0, 914.,999.9,220, 29.8,
900.0, 959.,283.1,222, 30.0, 872.0,1219.,999.9,225, 31.3, 850.0,1433.,281.2,222, 31.0, 822.0,1710.,278.5,223, 30.0,
810.0,1827.,999.9,225, 30.3, 800.0,1931.,277.6,226, 29.0, 780.0,2132.,999.9,225, 29.8, 752.0,2437.,999.9,225, 28.8,
750.0,2456.,275.3,226, 28.0, 724.0,2742.,999.9,230, 27.2, 708.0,2920.,273.2,230, 26.0, 700.0,3011.,272.9,231, 26.0,
697.0,3047.,999.9,230, 26.7, 650.0,3601.,269.6,236, 27.0, 645.0,3657.,999.9,235, 27.7, 600.0,4230.,266.1,240, 31.0,
597.0,4267.,999.9,240, 32.4, 552.0,4875.,999.9,240, 36.0, 550.0,4905.,262.2,241, 36.0, 500.0,5630.,257.9,240, 38.0
6201 14764 2002 1 2 13 0 2002 1 2 13 0 49 19
994.0, 16.,276.5,240, 7.0, 979.0, 140.,279.7,250, 11.0, 968.0, 233.,280.3,254, 14.0, 950.0, 388.,280.0,254, 18.0,
933.0, 536.,279.6,250, 19.0, 900.0, 832.,280.4,243, 22.0, 898.0, 852.,280.5,242, 22.0, 850.0,1303.,277.8,244, 24.0,
800.0,1795.,275.8,251, 29.0, 750.0,2316.,273.5,256, 35.0, 742.0,2402.,273.1,256, 36.0, 728.0,2554.,272.3,254, 38.0,
707.0,2787.,273.0,249, 39.0, 700.0,2868.,272.5,248, 39.0, 650.0,3457.,268.6,241, 35.0, 603.0,4042.,264.5,230, 30.0,
600.0,4081.,264.4,230, 30.0, 550.0,4754.,262.3,222, 38.0, 500.0,5482.,259.9,219, 53.0

(... records removed for clarity)

3-14
Section 4: PXTRACT Precipitation Data Extract Program

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.

Table 4-1: PXTRACT Input and Output Files

Unit File Name Type Format Description

IO5 PXTRACT.INP input formatted Control file containing user inputs

IO2 TD3240.DAT input formatted Precipitation data in NCDC TD-3240 format

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

Table 4-2: Sample PXTRACT Control File (PXTRACT.INP)

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

PXTRACT PROCESSOR CONTROL FILE


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

CALMET accepts data for a number of precipitation stations in a


single PRECIP.DAT file. These data are obtained in the NCDC TD-3240
format, with either fixed (hourly event records) or variable record
length (daily records of hourly precipitation events). This NCDC format
typically places data for many stations and long periods in a single
file. PXTRACT extracts a subset of stations, for a specific period,
into files for subsequent processing by PMERGE. Each output file
contains the data for a single station.

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

INPUT GROUP: 0 -- Input and Output Files


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

Input and Output files:


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

Default Name Type File Name


------------ ---- ---------
TD3240.DAT input ! PRECDAT =file0001.dat !
PXTRACT.LST output ! RUNLST =pxtract1.lst !

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


Otherwise, if LCFILES = F, file names will be converted to UPPER CASE
(LCFILES) Default: T ! LCFILES = F !
T = lower case
F = UPPER CASE

NOTES: 1) File/path names can be up to 70 characters in length;


2) Output files are named automatically using the state/station
ID (e.g., 412797.DAT for station 412707)

!END!

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

INPUT GROUP: 1 -- Run control parameters


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

--- Processing Period ---

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


Month (IBMO) -- No default ! IBMO = 1 !
Day (IBDY) -- No default ! IBDY = 8 !

Ending date: Year (IEYR) -- No default ! IEYR = 1990 !


Month (IEMO) -- No default ! IEMO = 1 !
Day (IEDY) -- No default ! IEDY = 15 !

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

4-3
Section 4: PXTRACT Precipitation Data Extract Program

Specify a processing period that includes a couple of days


before and after your modeling period.

--- Station Extraction Method ---

Method for selecting stations to extract


(ICODE) No Default ! ICODE = 1 !
1 = Extract all stations within specified states
(2-digit state codes are entered in Input Group 2)
2 = Extract specified stations

4-4
Section 4: PXTRACT Precipitation Data Extract Program

Table 4-2 (continued)


Sample PXTRACT Control File (PXTRACT.INP)

(6-digit station codes are entered in Input Group 3)


3 = Extract all stations in the TD3240 file

Number of states OR stations to extract


(Used only if ICODE= 1 OR 2)
(NSTA) Default: 0 ! NSTA = 2 !

!END!

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

INPUT GROUP: 2 -- State codes (used only if ICODE=1)


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

Data for all precipitation stations in one or more states can be


extracted. Specify the 2-digit code for each state selected by
entering NSTA lines.
(IDSTATE) No Default

! IDSTATE = 34 ! !END!
! IDSTATE = 41 ! !END!

-------------
Each line is treated as a separate input subgroup and therefore
must end with an input group terminator.

State/Territory Code Table:


---------------------------
01 Alabama 16 Louisiana 31 North Carolina 46 West Virginia
02 Arizona 17 Maine 32 North Dakota 47 Wisconsin
03 Arkansas 18 Maryland 33 Ohio 48 Wyoming
04 California 19 Massachusetts 34 Oklahoma 49 (not used)
05 Colorado 20 Michigan 35 Oregon 50 Alaska
06 Connecticut 21 Minnesota 36 Pennsylvania 51 Hawaii
07 Delaware 22 Mississippi 37 Rhode Island
08 Florida 23 Missouri 38 South Carolina 66 Puerto Rico
09 Georgia 24 Montana 39 South Dakota 67 Virgin Islands
10 Idaho 25 Nebraska 40 Tennessee
11 Illinois 26 Nevada 41 Texas 91 Pacific Islands
12 Indiana 27 New Hampshire 42 Utah
13 Iowa 28 New Jersey 43 Vermont
14 Kansas 29 New Mexico 44 Virginia
15 Kentucky 30 New York 45 Washington

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

INPUT GROUP: 3 -- Station codes (used only if ICODE=2)


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

Data for specific precipitation stations can be extracted.


Specify the 6-digit code for each station selected by
entering NSTA lines.

4-5
Section 4: PXTRACT Precipitation Data Extract Program

(IDSTN) No Default

* IDSTN = 341003 * *END*


* IDSTN = 342615 * *END*

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

Table 4-3: PXTRACT Control File Inputs (PXTRACT.INP)

Input Group Variable Type Description

(0) PRECDAT Character*70 Input data file (TD3240.DAT)

RUNLST Character*70 List output file

LCFILES logical Convert to upper case (F) or lower case(T)

(1) IBYR integer Beginning year of data to process (YYYY)

IBMO integer Beginning month

IBDY integer Beginning day

IEYR integer Ending year of data to process (YYYY)

IEMO integer Ending month

IEDY integer Ending day

ICODE integer Method for selecting stations to extract.

1: extract all stations within specified states

2: extract specified stations

3: extract all station in the TD3240 file

NSTA integer Number of stations to extract if ICODE =1


or 2

(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

Table 4-4: Sample PXTRACT Output List File (PXTRACT.LST)

PXTRACT OUTPUT SUMMARY


VERSION: 4.22 LEVEL: 030709

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

Data Requested by Station ID

Period to Extract: 1/ 1/1990 to 1/15/1990

Requested Precipitation Station ID Numbers -- :

No. ID No. ID No. ID No. ID

1 170273 5 270741 9 274732 13 276234


2 176905 6 270998 10 274808 14 276818
3 177325 7 272842 11 275639 15 278885
4 178641 8 273182 12 275780 16 437054

Station Starting Ending No. of


Code Date Date Records

170273 1/ 1/1990 1/17/1990 6


176905 1/ 1/1990 1/16/1990 13
177325 1/ 1/1990 1/16/1990 6
178641 1/ 1/1990 1/21/1990 6
270741 1/ 1/1990 1/16/1990 5
270998 1/ 1/1990 1/18/1990 6
272842 1/ 1/1990 1/17/1990 8
273182 1/ 1/1990 1/21/1990 6
274732 1/ 1/1990 1/16/1990 9
274808 1/ 1/1990 1/17/1990 6
275639 1/ 1/1990 1/16/1990 83
275780 1/ 1/1990 1/18/1990 5
276234 1/ 1/1990 1/17/1990 9
276818 1/ 1/1990 1/17/1990 13

4-8
Section 4: PXTRACT Precipitation Data Extract Program

278885 1/ 1/1990 1/18/1990 7


437054 1/ 1/1990 1/16/1990 5

End of run -- Clock time: 18:10:35


Date: 07-11-2003

Elapsed Clock Time: 0.0 (seconds)

CPU Time: 0.0 (seconds)

4-9
Section 5: PMERGE Precipitation Data Preprocessor

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,

These data in packed form would be represented in six words:

-5., 1.2, 3.5, -6., 0.7, -6.

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

Table 5-1: PMERGE Input and Output Files

Unit File Name Type Format Description

I05 PMERGE.INP input formatted Control file containing user


inputs

I06 PMERGE.LST output formatted List file (line printer output


file)

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)

Unit 7 user input file input formatted Precipitation data (in


name TD-3240) format for station
#1. (Output file of PXTRACT)

Unit 7 user input file input formatted Precipitation data (in


Plus 1 name TD-3240) format for station
#2. (Output file of PXTRACT)

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

Table 5-2: Sample PMERGE Control File (PMERGE.INP)

PMERGE.INP 2.1 Hour Start and End Times with Seconds


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

PMERGE PROCESSOR CONTROL FILE


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

CALMET accepts data for a number of precipitation stations in a


single PRECIP.DAT file. PMERGE creates this file from several
single-station files with precipitation event data. Use PMERGE
one or more times to build the PRECIP.DAT file.

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

INPUT GROUP: 0 -- Input and Output Files


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

-------------
Subgroup (0a)
-------------

Number of precipitation station files provided in Subgroup 0b.


Up to MXPF are allowed in 1 application, although this may be
limited by your operating system. MXPF is set in the code,
which needs to be recompiled if another value is needed.
(NPF) No Default ! NPF = 16 !

Other Input and Output files:


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

Default Name Type File Name


------------ ---- ---------
PREV.DAT input * PREVDAT = *
PRECIP.DAT output ! PRECDAT = Precip.dat !
PMERGE.LST output ! RUNLST = Pmerge.lst !

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


Otherwise, if LCFILES = F, file names will be converted to UPPER CASE
(LCFILES) Default: T ! LCFILES = T !
T = lower case
F = UPPER CASE

NOTE: File/path names can be up to 70 characters in length

!END!

-------------
Subgroup (0b)
-------------

The following NPF formatted Precipitation Station files are processed.


Enter NPF 3-line groups identifying the file name (STNFIL), the
station number (IFSTN), and the station time zone (ASTZ) for each,
followed by a group terminator.

! 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

Table 5-2 (continued)


Sample PMERGE Control File (PMERGE.INP)

! 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

Table 5-2 (continued)


Sample PMERGE Control File (PMERGE.INP)

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

INPUT GROUP: 1 -- Run control parameters


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

--- Processing Period ---

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


Month (IBMO) -- No default ! IBMO = 1 !
Day (IBDY) -- No default ! IBDY = 1 !
Hour (IBHR) -- No default ! IBHR = 0 !
Second (IBSEC) -- No default ! IBSEC = 0 !

Ending date: Year (IEYR) -- No default ! IEYR = 1990 !


Month (IEMO) -- No default ! IEMO = 1 !
Day (IEDY) -- No default ! IEDY = 14 !
Hour (IEHR) -- No default ! IEHR = 24 !
Second (IESEC) -- No default ! IESEC = 0 !

UTC time zone (char*8)(ABTZ) -- No default ! ABTZ = UTC-0500 !


PST = UTC-0800, MST = UTC-0700
CST = UTC-0600, EST = UTC-0500
GMT = UTC+0000

-----------------------
NOTE: Use explicit times in hours and seconds in time zone ABTZ.

--- Processing Options ---

Maximum accumulation period accepted (hrs)


(MAXAP) Default: 6 ! MAXAP = 12 !

--- File Options ---

Previous PRECIP.DAT file is used in this run?


(LPREV) No Default ! LPREV = F !
T = Unformatted PREV.DAT file is used
F = PREV.DAT file is NOT used

Number of stations to use from previous PRECIP.DAT file


(NBSTN) Default: 0 ! NBSTN = 0 !
0 = Use ALL stations
>0 = Use only those NBSTN stations listed in Input Group 2

--- File Formats ---

Format of output PRECIP.DAT file


(IOFORM) Default: 2 ! IOFORM = 2 !
1 = Unformatted
2 = Formatted
(IOPACK) Default: 0 ! IOPACK = 0 !
0 = NOT packed
1 = Packed (used only if IOFORM=1)

5-17
Section 5: PMERGE Precipitation Data Preprocessor

Format of previous PRECIP.DAT file


(IPFORM) Default: 2 ! IPFORM = 2 !
1 = Unformatted
2 = Formatted

!END!

5-18
Section 5: PMERGE Precipitation Data Preprocessor

Table 5-2 (concluded)


Sample PMERGE Control File (PMERGE.INP)

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

INPUT GROUP: 2 -- Stations used from previous PRECIP.DAT file


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

Data for the following NBSTN stations in the previous PRECIP.DAT


file identified as PREV.DAT are transferred to the new PRECIP.DAT
file created in this run. Enter NBSTN lines identifying the
station number (IBSTN) for each, followed by a group terminator.
This Input Group is used only if LPREV=T and NBSTN>0. All stations
from a previous PRECIP.DAT file are transferred to the new
PRECIP.DAT file if NBSTN=0.

* IBSTN = 14764 * *END*

Table 5-3: PMERGE Control File Inputs (PMERGE.INP)

Line Variable Type Description

First Line DATASET character*16 Dataset name (PMERGE.DAT)

DATAVER character*16 Dataset version

DATAMOD character*64 Dataset message field

0a NPF integer Number of formatted TD3240 data files to process

PREVDAT character*70 Previous PMERGE output data file (used only if it is a


continuation run)

PRECDAT character*70 Output data filename

RUNLST character*70 List-file name


Convert names to lower case?
LCFILES logical
(T=yes; F=no)

0b STNFIL character*70 Input file pathname for formatted data files

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)

1 IBYR integer Beginning year of data to process (YYYY)

IBMO integer Beginning month

IBDAY integer Beginning day

IBHR integer Beginning time (hour 00-23)

IBSEC integer Beginning time (second 0000-3599)

5-19
Section 5: PMERGE Precipitation Data Preprocessor

IEYR integer Ending year of data to process (YYYY)

IEMO integer Ending month

IEDAY integer Ending day

IEHR integer Ending time (hour 00-23)

IESEC integer Ending time (second 0000-3599)

5-20
Section 5: PMERGE Precipitation Data Preprocessor

Table 5-3 (continued)


PMERGE Control File Inputs (PMERGE.INP)

Line Variable Type Description

ABTZ character*8 Time zone of output data (UTC-0500=EST, UTC-


0600=CST, UTC-0700=MST, UTC-0800=PST)

MAXAP integer Maximum allowed length of an accumulation period


(hours). It is recommended that MAXAP be set to 24
hours or less.

LPREV logical Use previous PMERGE output data file? (Y=yes,


N=no)

NBSTN integer Number of stations requested from previous PMERGE


binary output file (0 = use all stations in binary file).

IOFORM integer Format of output data file (1=unformatted,


2=formatted)

IOPACK integer Flag indicating if output data are to be packed (0=no,


1=yes)

IPFORM integer Format of previous PRECIP.DAT file (1=unformatted,


2=formatted)

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

Table 5-4: Sample PMERGE Output List File (PMERGE.LST)

PMERGE OUTPUT SUMMARY


VERSION: 5.60 LEVEL: 050921

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

Control file name : c:\test\new\pmerge\pmerge.inp


Output list file name : pmerge.lst
Output file name : precip.dat
Continuation Run? : F

Time Zone Station ID Formatted TD3240 Precipitation


Input Files

UTC+0 0 170273 170273.dat


UTC+0 0 176905 176905.dat
UTC+0 0 177325 177325.dat
UTC+0 0 178641 178641.dat
UTC+0 0 270741 270741.dat
UTC+0 0 270998 270998.dat
UTC+0 0 272842 272842.dat
UTC+0 0 273182 273182.dat
UTC+0 0 274732 274732.dat
UTC+0 0 274808 274808.dat
UTC+0 0 275639 275639.dat
UTC+0 0 275780 275780.dat
UTC+0 0 276234 276234.dat
UTC+0 0 276818 276818.dat
UTC+0 0 278885 278885.dat
UTC+0 0 437054 437054.dat

Period to Extract (in time zone:UTC-0500): 1/ 1/1990 0: 0 to 1/15/1990 0: 0

Maximum Accumulation Period (hours): 12

PMERGE Stations in Output File:


No. ID No. ID No. ID No. ID

1 170273 5 270741 9 274732 13 276234


2 176905 6 270998 10 274808 14 276818
3 177325 7 272842 11 275639 15 278885
4 178641 8 273182 12 275780 16 437054

5-22
Section 5: PMERGE Precipitation Data Preprocessor

Table 5-4
Sample PMERGE Output List File (PMERGE.LST)

Summary of Data from Formatted TD3240 Precipitation Files:

Valid Hours:

Station Zero Nonzero Accum Total %


IDs Period Valid Valid
Hours Hours
170273 333 3 0 336 100.0
176905 327 9 0 336 100.0
177325 333 3 0 336 100.0
178641 333 3 0 336 100.0
270741 334 2 0 336 100.0
270998 334 2 0 336 100.0
272842 326 3 0 329 97.9
273182 334 2 0 336 100.0
274732 331 5 0 336 100.0
274808 334 2 0 336 100.0
275639 267 69 0 336 100.0
275780 334 2 0 336 100.0
276234 331 5 0 336 100.0
276818 326 10 0 336 100.0
278885 333 3 0 336 100.0
437054 334 2 0 336 100.0

Invalid Hours:

Station Flagged Excessive Missing Data Missing Data Total %


IDs Missing Accum Before First After Last Invalid Invalid
Period Valid Record Valid Record Hours Hours
170273 0 0 0 0 0 0.0
176905 0 0 0 0 0 0.0
177325 0 0 0 0 0 0.0
178641 0 0 0 0 0 0.0
270741 0 0 0 0 0 0.0
270998 0 0 0 0 0 0.0
272842 7 0 0 0 7 2.1
273182 0 0 0 0 0 0.0
274732 0 0 0 0 0 0.0
274808 0 0 0 0 0 0.0
275639 0 0 0 0 0 0.0
275780 0 0 0 0 0 0.0
276234 0 0 0 0 0 0.0
276818 0 0 0 0 0 0.0
278885 0 0 0 0 0 0.0
437054 0 0 0 0 0 0.0

LAST DAY/HOUR PROCESSED:


Year: 1990 Month: 1 Day: 15 Julian day: 15 Hour: 0

End of run -- Clock time: 11:16:59


Date: 10-06-2005

Elapsed clock time: 0.0 (seconds)

CPU time: 0.0 (seconds)

5-23
Section 6: SMERGE Surface Data Meteorological Preprocessor

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:

Word 1: TTTTPCRRR -- TTTT = temp. (XXX.X deg. K)


PC = precipitation code (XX)
RRR = relative humidity (XXX. %)

Word 2: pPPPPCCWWW -- pPPPP = station pressure (pXXX.X mb,


with p = 0 or 1 only)
CC = opaque sky cover (XX tenths)
WWW = wind direction (XXX. deg.)

Word 3: HHHHSSSS -- HHHH = ceiling height (XXXX. hundreds

6-1
Section 6: SMERGE Surface Data Meteorological Preprocessor

of feet)
SSSS = wind speed (XX.XX m/s)

For example, the following variables,

Temperature = 273.5 deg. K Precipitation code = 12


Relative humidity = 88 percent
Station pressure = 1012.4 mb
Opaque sky cover = 8 tenths
Wind direction = 160 degrees
Ceiling height = 120 hundreds of ft
Wind speed = 5.65 m/s

are stored as the following three integer words:

273512088, 1012408160, 01200565

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.

6.1 Generic Hourly Surface Data File

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

GENERIC,Version,'2.0',Manually generated,Time as ending hour,


Station,ID,=',1400,Temp,Precip,Pressure,RH,Wdir10m,Wspeed10m,Ccover,Cheight
Month,Day,Year,Hour,DegC,mm,mb,%,deg,ms-1,tenths,hundreds_of_feet
7,1,2005,0,33.2,0,997.1,16.6,262,2.7,0,999
7,1,2005,100,32.6,0,996.8,16.6,265,3.3,0,999
7,1,2005,200,31.8,0,996.6,16.5,267,3.4,0,999
7,1,2005,300,30.9,0,997,16.9,276,3.8,0,999
7,1,2005,400,30.5,0,997.6,16.8,279,4.1,0,999
7,1,2005,500,30.9,0,998.3,16.8,280,4,0,999
7,1,2005,600,33,0,998.7,15,294,3.9,0,999
7,1,2005,700,34.8,0,998.9,15.6,303,4.6,0,999
7,1,2005,800,36.6,0,999.3,26.4,328,5.5,0,999
7,1,2005,900,38.2,0,999.3,29.6,332,6.2,0,999
7,1,2005,1000,39.6,0,999.3,23.3,336,8.3,0,999
7,1,2005,1100,39.5,0,999.1,23.5,337,8.2,0,999
7,1,2005,1200,40.9,0,998.5,18.4,341,8.2,0,999
7,1,2005,1300,42.2,0,998,12.3,350,8.5,0,999
7,1,2005,1400,42.1,0,997.4,9,356,9,0,999
7,1,2005,1500,41.7,0,996.9,9.4,353,8.2,0,999
7,1,2005,1600,41.4,0,996.9,10.1,352,7.4,0,999
7,1,2005,1700,40.3,0,997,12.6,350,5.8,0,999
7,1,2005,1800,38,0,997.4,19.9,338,3.4,0,999
7,1,2005,1900,35.1,0,997.6,36.8,304,2,0,999
7,1,2005,2000,34.2,0,998.1,36.3,269,2.3,0,999
7,1,2005,2100,33.7,0,998.3,24.5,260,2.6,0,999
7,1,2005,2200,33.5,0,998.2,19.4,261,3.4,0,999
7,1,2005,2300,33.2,0,998.1,15.9,272,3.8,0,999

Table 6-2: Sample of Generic Input Meteorological File in Spreadsheet Format

GENERIC Version '2.0 Manually generated Time as ending hour


Station ID =' 1400 Temp Precip Pressure RH Wdir10m Wspeed10m Ccover Cheight
Month Day Year Hour DegC mm mb % Deg ms-1 tenths h_of_feet
7 1 2005 0 33.2 0 997.1 16.6 262 2.7 0 999
7 1 2005 100 32.6 0 996.8 16.6 265 3.3 0 999
7 1 2005 200 31.8 0 996.6 16.5 267 3.4 0 999
7 1 2005 300 30.9 0 997 16.9 276 3.8 0 999
7 1 2005 400 30.5 0 997.6 16.8 279 4.1 0 999
7 1 2005 500 30.9 0 998.3 16.8 280 4 0 999
7 1 2005 600 33 0 998.7 15 294 3.9 0 999
7 1 2005 700 34.8 0 998.9 15.6 303 4.6 0 999
7 1 2005 800 36.6 0 999.3 26.4 328 5.5 0 999
7 1 2005 900 38.2 0 999.3 29.6 332 6.2 0 999
7 1 2005 1000 39.6 0 999.3 23.3 336 8.3 0 999

6-4
Section 6: SMERGE Surface Data Meteorological Preprocessor

6-5
Section 6: SMERGE Surface Data Meteorological Preprocessor

Table 6-3: SMERGE Input and Output Files

Unit File Name Type Format Description

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

Table 6-4: Sample SMERGE Control File Inputs (SMERGE.INP)

SMERGE.INP 2.1 Hour Start and End Times with Seconds


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

SMERGE PROCESSOR CONTROL FILE


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

CALMET accepts data for a number of 'surface meteorology stations'


in a single SURF.DAT file. SMERGE creates this file from several
single-station files of hourly data. Use SMERGE one or more times
to build the SURF.DAT file.

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

INPUT GROUP: 0 -- Input and Output File Names


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

--------------
Subgroup (0a)
--------------

Number of formatted Surface Station files provided


in Subgroup 0b. Up to MXFF are allowed in 1 application,
although this may be limited by your operating system.
MXFF is set in PARAMS.SMG, which is compiled into SMERGE.EXE.
(NFF) No Default ! NFF = 1 !

Other Input and Output Files:


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

Default Name Type File Name


------------ ---- ---------
PREV.DAT input ! PREVDAT = Firstrun.dat !
SURF.DAT output ! SURFDAT = Surf.dat !
SMERGE.LST output ! RUNLST = Smerge2.lst !

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


Otherwise, if LCFILES = F, file names will be converted to UPPER CASE
(LCFILES) Default: T ! LCFILES = T !
T = lower case
F = UPPER CASE
NOTE: File/path names can be up to 70 characters in length

!END!

-------------
Subgroup (0b)
-------------

The following NFF formatted Surface Station files are processed.


Enter NFF 4-line groups identifying the file name (SFCMET), the
station number (IFSTN), the station elevation (optional) in meters
(XELEV), and the time zone of the data (ASTZ) for each file,
followed by a group terminator.

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

Table 6-4 (continued)


Sample SMERGE Control File Inputs
(SMERGE.INP)

The optional station elevation is a default value used to calculate


a station pressure from altimeter or sea-level pressure if the
station presure is missing and the station elevation is missing in
the file. If XELEV is not assigned a value (i.e. XELEV does not
appear in this control file), then no default elevation is available
and station pressure remains missing.

! SFCMET = PORTLND.CDR!
! IFSTN = 14764 !
! ASTZ = UTC-0500 ! !END!

-----------------------------------------------------------------------------
INPUT GROUP: 1 -- Run control parameters
---------------

--- Processing Period ---

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


Month (IBMO) -- No default ! IBMO = 1 !
Day (IBDY) -- No default ! IBDY = 08 !
Hour (IBHR) -- No default ! IBHR = 0 !
Second (IBSEC) -- No default ! IBSEC = 0 !

Ending date: Year (IEYR) -- No default ! IEYR = 1990 !


Month (IEMO) -- No default ! IEMO = 1 !
Day (IEDY) -- No default ! IEDY = 15 !
Hour (IEHR) -- No default ! IEHR = 0 !
Second (IESEC) -- No default ! IESEC = 0 !

UTC time zone (char*8)(ABTZ) -- No default ! ABTZ = UTC-0500 !


PST = UTC-0800, MST = UTC-0700
CST = UTC-0600, EST = UTC-0500
GMT = UTC+0000

-----------------------
NOTE: Use explicit times in hours and seconds in time zone ABTZ.

--- File Options ---

Previous SURF.DAT file is used in this run?


(LPREV) No Default ! LPREV = T !
T = Station from a previous SURF.DAT file are used
F = Previous SURF.DAT is not used

Number of stations to use from previous SURF.DAT file


(NBSTN) Default: 0 ! NBSTN = 0 !
0 = Use ALL stations
>0 = Use only those NBSTN stations listed in Input Group 2

6-9
Section 6: SMERGE Surface Data Meteorological Preprocessor

Table 6-4 (concluded)


Sample SMERGE Control File Inputs
(SMERGE.INP)

--- File Formats ---

Format of previous SURF.DAT file


(Used only if LPREV = T
(INFORM) Default: 2 ! INFORM = 2 !
1 = Unformatted
2 = Formatted

Format of output SURF.DAT FILE


(IOFORM) Default: 2 ! IOFORM = 2 !
1 = Unformatted
2 = Formatted
(IOPACK) Default: 0 ! IOPACK = 0 !
0 = NOT packed
1 = Packed (used only if IOFORM = 1)

Type of ALL Surface Station files in this run


(JDAT) No Default ! JDAT = 2 !
1 = CD144
2 = NCDC SAMSON
3 = NCDC HUSWO
5 = ISHWO
6 = TD3505
7 = TD9956 (full DATSAV3)
8 = GENERIC (.CSV format - see "sample_generic.csv")

Format of input HUSWO file


(Used only if JDAT = 3)
(IHUSWO) Default: 1 ! IHUSWO = 1 !
1 = All data are in English units
2 = All data are in Metric units

Calculate missing station pressure from altimeter or sea level


pressure?
(applies to JDAT = 1-3,8; always T for JDAT = 5-7)
(LPCALC) Default: F ! LPCALC = F !

!END!

-----------------------------------------------------------------------------
INPUT GROUP: 2 -- Stations used from previous SURF.DAT file
---------------

Data for the following NBSTN stations in the previous SURF.DAT


file identified as PREV.DAT are transferred to the new SURF.DAT
file created in this run. Enter NBSTN lines identifying the
station number (IBSTN) for each, followed by a group terminator.
This Input Group is used only if LPREV=T and NBSTN>0. All stations
from a previous SURF.DAT file are transferred to the new SURF.DAT
file if NBSTA=0.

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

Table 6-5: SMERGE Control File Inputs (SMERGE.INP)

Input Group Variable Type Description

First Line DATASET character*16 Dataset name (SMERGE.DAT)

DATAVER character*16 Dataset version

DATAMOD character*64 Dataset message field

(0a) NFF integer Number of formatted input data files to be


processed

PREVDAT character*70 Previous SMERGE output data file (used only


if it is a continuation run)

SURFDAT character*70 SMERGE output data file

RUNLST character*70 Output list file

LCFILES logical Convert filename to upper case (T) or lower


case (F)

(0b) SFCMET character*70 Input meteorological data file name

IFSTN integer Station number

XELEV real Default station elevation in MSL (Optional).


Used only if station pressure is calculated and
station elevation is not available in the data
file

ASTZ character*8 Time zone used in the input data set (UTC-
0500=EST, UTC-0600=CST, UTC-
0700=MST, UTC-0800=PST)

(1) IBYR Integer Starting year of data to print (four digit)

IBMO Integer Starting month

IBDAY integer Starting day

IBHR integer Starting time (hour 00-23)

IBSEC integer Starting time (second 0000-3599)

IEYR integer Ending year of data to print (four digit)

IEMO integer Ending month

IEDAY integer Ending day

IEHR integer Ending time (hour 00-23)

IESEC integer Ending time (second 0000-3599)

6-12
Section 6: SMERGE Surface Data Meteorological Preprocessor

Table 6-5 (concluded)


SMERGE Control File Inputs (SMERGE.INP)

Input Group Variable Type Description

(1) ABTZ character*8 Time zone of output data (UTC-0500=EST,


UTC-0600=CST, UTC-0700=MST, UTC-
0800=PST)

LPREV logical Previous SURF.DAT file is used in this run


(T: yes F: No)

NBSTN integer Number of station requested from previous


SMERGE output data file (0=use all stations
in file)

INFORM integer Format of previous data file (PREVDAT)


(1=unformatted, 2=formatte)

IOFORM integer Output file format flag (1=unformatted,


2=formatted)

IOPACK integer Flag indicating if output data are to be


packed (0=no, 1=yes). Used only if
IOFORM=1
Formatted input data file format
JDAT integer
1 = CD144
2 = NCDC SAMSON
3 = NCDC HUSWO
4 = CD144 (extended record format with
precipitation rate)
5 = TD3505(CD) NCDC Integrated Surface
Hourly CD-ROM Set
6 = TD3505 NCDC Integrated Surface
Hourly Database
7 = TD9956 (full DATSAV3)
8 = Generic (Comma delimited format)
1 = All data are in English units
IHUSWO integer
2 = All data are in Metric units
Calculation of missing station pressure from
LPCALC logical
altimeter or sea level pressure?

(2) IBSTN Integer IDs of stations used from the previous


SURF.DAT file (if any). NBSTN records
must be provided.

6-13
Section 6: SMERGE Surface Data Meteorological Preprocessor

Table 6-6: Sample SMERGE Output List File (SMERGE.LST)

SMERGE OUTPUT SUMMARY


VERSION: 5.60 LEVEL: 050921

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

Control file name: c:\test\new\smerge\smerge2.inp


Output list file name: smerge2.lst
Output file name: surf.dat
Continuation Run? T
Previous SMERGE output data file: firstrun.dat

Station ID Time Zone SAMSON Surface Data


Input Files

14764 UTC+0 0 portlnd.cdr

Period to Extract (in time zone:UTC-0500): 1/ 8/1990 0: 0 to 1/15/1990 0: 0

********************

Data Read from Existing Surface Data Input File:

SURF.DAT 2.1 Hour Start and End Times with Seconds


1
Produced by SMERGE Version: 5.60 Level: 050921
NONE
UTC-0500
Time Zone:UTC-0500
File Format (1=unformatted,2=formatted): 2
Packing Code: 0

Period (in time zoneUTC-0500): 1/ 8/1990 0: 0 to 1/15/1990 0: 0

Stations Available in Existing Surface Data Input File:


No. ID No. ID No. ID No. ID

1 14606 2 14611 3 14745 4 14742

********************

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

No. Missing Values for WS WD ICEIL ICC TEMPK IRH PRES


0 0 0 0 0 0 0

********************

6-15
Section 6: SMERGE Surface Data Meteorological Preprocessor

Table 6-6 (concluded)


Sample SMERGE Output List File
(SMERGE.LST)

Characteristics of SMERGE Output (SURF.DAT) File:

Time Zone: 5
File Format (1=unformatted, 2=formatted): 2

Surface Stations in Output File:


No. ID No. ID No. ID No. ID

1 14606 3 14745 4 14742 5 14764


2 14611

LAST DAY/HOUR PROCESSED:


Year: 1990 Month: 1 Day: 9 Julian day: 9 Hour: 0

End of run -- Clock time: 11:15:15


Date: 10-06-2005

Elapsed clock time: 0.0 (seconds)

CPU time: 0.0 (seconds)

6-16
Section 6: SMERGE Surface Data Meteorological Preprocessor

Table 6-7: Sample SURF.DAT Output Data File (SURF.DAT)

SURF.DAT 2.1 Hour Start and End Times with Seconds


1
Produced by SMERGE Version: 5.601 Level: 051005
NONE
UTC-0700
1993 7 0 0 1993 7 5 3600 4
14606
14611
14745
14742
1993 7 0 0 1993 7 0 3600
3.087 220.000 999 0 263.706 98 956.997 0
3.087 140.000 999 0 263.706 98 956.997 0
3.087 180.000 999 0 263.706 98 956.997 0
3.087 90.000 999 0 263.706 98 956.997 0
1993 7 1 0 1993 7 1 3600
3.601 220.000 999 0 263.706 98 956.319 0
3.601 140.000 999 0 263.706 98 956.319 0
3.601 180.000 999 0 263.706 98 956.319 0
3.601 90.000 999 0 263.706 98 956.319 0
1993 7 2 0 1993 7 2 3600
3.087 220.000 999 0 263.150 99 955.642 0
3.087 140.000 999 0 263.150 99 955.642 0
3.087 180.000 999 0 263.150 99 955.642 0
3.087 90.000 999 0 263.150 99 955.642 0
1993 7 3 0 1993 7 3 3600
4.116 220.000 999 0 263.150 98 955.303 0
4.116 140.000 999 0 263.150 98 955.303 0
4.116 180.000 999 0 263.150 98 955.303 0
4.116 90.000 999 0 263.150 98 955.303 0
1993 7 4 0 1993 7 4 3600
3.087 220.000 999 0 262.594 98 955.303 0
3.087 140.000 999 0 262.594 98 955.303 0
3.087 180.000 999 0 262.594 98 955.303 0
3.087 90.000 999 0 262.594 98 955.303 0
1993 7 5 0 1993 7 5 3600
1.543 220.000 999 0 262.594 98 956.319 0
1.543 140.000 999 0 262.594 98 956.319 0
1.543 180.000 999 0 262.594 98 956.319 0
1.543 90.000 999 0 262.594 98 956.319 0

6-17
Section 6: SMERGE Surface Data Meteorological Preprocessor

6.1.1 Generic Multi Time Interval Surface Data File

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.

Table 6-8: Sample Generic SURFCSV Control Input File (SURFCSV.INP)

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

Table 6-9: SURFCSV Control File Inputs (SURFCSV.INP)

Line Variable Type Description

1 Dataset character*16 Control input file dataset name


1 Dataver Character*16 Dataset Version
2 Ncom Integer Number of Comment records to
follow
3 Title character*180 Comments (Ncom Lines)
4 ID Integer Station ID Number
5 ATZONE UTC0800=PST; UTC-0700=MST;
UTC-0600=CST; UTC-0500=EST
Western hemisphere-negative
Eastern hemisphere-positive
6 IBEG Integers Output Starting time;
YYYY MM DD hh mm
7 IEND Integers Output Ending time;
YYYY MM DD hh mm
8 NHRINC Integers Output time increment; hh mm
9 MTIME Integer Output time method; (1) exact or
(2) nearest
10 NSKIP Integer Skip the header records, provide
number of rows of header records
before data starts
11 ICDATE Integer Column of data representing the
date
12 ICTIME Integer Column of data representing the
time, can be the same column as
the date
13 DATETIME Integer Format of the date and time
YYYY-MM-DD hh:mm or,
MM/DD/YYYY hh:mm
14 Integer Column of data representing wind
speed; 0 = not applicable
15 Integer Column of data representing wind
direction; 0 = not applicable
16 Integer Column of data representing
temperature; 0 = not applicable
17 Integer Column of data representing
relative humidity; 0 = not
applicable
18 Integer Column of data representing
pressure; 0 = not applicable
19 Integer Column of data representing cloud
column; typically cloud+height;
0 = not applicable
20 Integer Column of data representing the
cloud ceiling height; 0 = not
applicable
21 Integer Column of data representing cloud
cover; 0 = not applicable
22 Character Units of wind speed (mph, mps,
knots)

6-20
Section 6: SMERGE Surface Data Meteorological Preprocessor

Table 6-9 (continued)


SURFCSV Control File Inputs (SURFCSV.INP)

Line Variable Type Description

23 Character Units of wind direction (deg,


nsew)
24 Character Units of temperature (F=Farenheit,
C=degrees Celcius, K=degrees
Kelvin)
25 Character Units of relative humidity
(%=percentage, FRAC=fraction)
26 character Units of pressure (MB=millibar,
IN, ATM=atmospheres as 101325 Pa)
27 character Units of ceiling height units
(FT=feet, 100FT=hundreds of feet,
M=meters, KM=kilometers)
28 character Units of cloud cover (tenths)

6-21
Section 6: SMERGE Surface Data Meteorological Preprocessor

Table 6-10: SURFCSV Sample input file (CSV.DAT)

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

1/1/2011 2:32,59.1,52.1,30.1,SE,136,0,0,78,0,,,0,WxSolution 1.8.5.6


1/1/2011 2:34,59.2,52.3,30.1,ESE,123,3,3,78,0,,,0,WxSolution 1.8.5.6
1/1/2011 2:37,59.1,52.3,30.09,ESE,119,0,0,78,0,,,0,WxSolution 1.8.5.6
1/1/2011 2:39,59.2,52.3,30.09,ESE,119,0,0,78,0,,,0,WxSolution 1.8.5.6
1/1/2011 2:42,59.1,52.4,30.09,ESE,119,0,0,78,0,,,0,WxSolution 1.8.5.6
1/1/2011 2:44,59,52.3,30.09,East,85,0,0,78,0,,,0,WxSolution 1.8.5.6
1/1/2011 2:49,58.9,52.2,30.09,SE,137,0,0,79,0,,,0,WxSolution 1.8.5.6
1/1/2011 2:50,58.8,52.1,30.09,ESE,119,1,1,79,0,,,0,WxSolution 1.8.5.6
1/1/2011 2:54,58.7,52.1,30.09,ESE,104,3,3,79,0,,,0,WxSolution 1.8.5.6
1/1/2011 2:55,58.8,52.2,30.09,East,90,0,0,79,0,,,0,WxSolution 1.8.5.6
1/1/2011 3:00,58.7,52.3,30.09,ESE,111,0,0,79,0,,,0,WxSolution 1.8.5.

6-23
Section 7: Prognostic Meteorological Interfaces

7. PROGNOSTIC METEOROLOGICAL DATA PROCESSORS

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.

7.1 CALMM5 Preprocessor

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.

Table 7-1: User-Controlled Options in CALMM5.INP

Output Option 3D.DAT 2D.DAT MM4.DAT

Domain selection using I/J or Lat/Lon Y Y Y


Beg/End X/Y (I/J or Lat/Lon) Y Y Y
Beg/End Z (K) Y N Y
Beg/End Date Y Y Y
Output File format Y N Y
Vertical velocity (w) profile Y N N
Specific and relative humidity profile Y N N
Cloud and rain content profile Y N N
Ice and snow content profile Y N N
Graupel content profile Y N N
Output surface 2D variables Y Y N

7-2
Section 7: Prognostic Meteorological Interfaces

Table 7-2: Variables Available in CALMM5 Three-dimensional Output Files

Variables 3D.DAT MM4.DAT


Vertical profile
Pressure Y Y
Height above M.S.L Y Y
Temperature Y Y
Wind direction Y Y
Wind speed Y Y
Vertical velocity Y Y
Relative humidity Y Y (dew point depression)
Vapor mixing ratio Y N
Cloud mixing ratio Y* N
Rain mixing ratio Y* N
Ice mixing ratio Y* N
Snow mixing ratio Y* N
Graupel mixing ratio Y* N
Surface variables in header
Sea level pressure Y Y
Rain fall Y Y
Snow cover Y Y
Short wave radiation at surface Y N
Long wave radiation at surface Y N
Air temperature at 2 meters above Y** N
ground
Specific humidity at 2 meters Y** N
above ground
U-wind at 10 meters above ground Y** N
V-wind at 10 meters above ground Y** N
Sea surface temperature Y N
* Exists only when available in MM5 output.
** Set to zero or blank if not available.

7-3
Section 7: Prognostic Meteorological Interfaces

Table 7-3: Possible Variables in 2D.DAT files

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

= (P - PTop )/P * (7-1)

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

xd (i, j ) [ xc (i 1, j 1) xc (i, j 1) xc (i 1, j ) xc (i, j )] / 4.0 (7-2)

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

w(k ) [ w(k ) w(k 1)] / 2.0 (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

Output from Output from


Native MM5 Native MM5 CALMM5 CALMM5
Variables Horizontal Vertical Horizontal Vertical
Pressure Cross point Half sigma Dot point Half sigma
Temperature Cross point Half sigma Dot point Half sigma
Wind direction Dot point Half sigma Dot point Half sigma
Wind speed Dot point Half sigma Dot point Half sigma
Vertical velocity Cross point Full sigma Dot point Half sigma
Relative humidity Cross point Half sigma Dot point Half sigma
Vapor mixing ratio Cross point Half sigma Dot point Half sigma
Cloud mixing ratio Cross point Half sigma Dot point Half sigma
Rain mixing ratio Cross point Half sigma Dot point Half sigma
Ice mixing ratio Cross point Half sigma Dot point Half sigma
Snow mixing ratio Cross point Half sigma Dot point Half sigma
Graupel mixing ratio Cross point Half sigma Dot point Half sigma
Sea level pressure Cross point Dot point
Rain fall Cross point Dot point
Snow cover Cross point Dot point
Short wave radiation at surface Cross point Dot point
Long wave radiation at surface Cross point Dot point
Air temperature at 2 meters Cross point Dot point
above ground
Specific humidity at 2 meters Cross point Dot point
above ground
U-wind at 10 meters above Cross point Dot point
ground
V-wind at 10 meters above Cross point Dot point
ground
Sea surface temperature Cross point Dot point
Ground temperature Cross point Dot point
PBL height Cross point Dot point
Sensible heat flux Cross point Dot point
Latent heat flux Cross point Dot point
Frictional velocity Cross point Dot point

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

MM5 binary output file


Standard MM5 binary output file of the type: MMOUT_DOMAIN#.

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

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

Table 7-5: CALMM5 Sample Control File (CALMM5.INP)

CALMM5 VER3 for MM5 Domain 1


2 ! Number of MM5 input files (filenames follow)
MMOUT_DOMAIN1A ! MM5 input file name (no space before or within filename)
MMOUT_DOMAIN1B ! MM5 input file name (no space before or within filename)
Samp3D.dat ! CALMM5 output file name (no space before or within filename)
calmm5.lst ! CALMM5 list file name (no space before or within filename)
2 ! Options for selecting a region (1 = use lat/long; 2 = use J/I)
3 ! Southernmost latitude (in decimal, positive for NH), or J1/Y1
6 ! Northermost latitude (in decimal, positive for NH), or J2/Y2
5 ! Westernmost longitude (in decimal, negative for WH), or I1/X1
8 ! Easternmost longitude (in decimal, negative for WH), or I2/X2
2001122912 ! Starting UTC date-hour (YYYYMMDDHH)
2001122913 ! Ending UTC date-hour (YYYYMMDDHH)
1 ! Output format (1-3D.DAT, 2-MM4, 3-GrADS, 4-void, 5- void, 6-GRIB)
Keep this line - The following lines vary depending on the output format selected
11100 ! Output W, RH, cloud and rain, ice and snow, graupel (0=no;
1 ! Flag for 2-D variables output (0 = no 2-D output ; 1 = 2-D output)
samp2D.dat ! File name for 2-D variable output (needed only if 2-D Flag=1)
1 ! Lowest extraction level in MM5
32 ! Highest extraction level in MM5

7-12
Section 7: Prognostic Meteorological Interfaces

Table 7-6: CALMM5 Control File Inputs (CALMM5.INP)

Line Variable Type Description

1 TITLE character*80 Title line for CALMM5.INP


2 NFILE integer Number of MM5 files to process
3 INFILE character*80 Name of MM5 binary input file(s)
(NFILE records)
3+NFILE OUTFILE character*80 Name of output data file
4+NFILE LOGFILE character*80 Name of output list file
5+NFILE ISELECT integer Sub-domain selection method:
1 = Use latitudes and longitudes to select a sub-
domain
2 = Use (I,J) to select a sub-domain
6+NFILE RLATMIN/ real/integer Southernmost latitude or J of the sub-domain to
JMIN extract (in degrees)
7+NFILE RLATMAX/ real/integer Northernmost latitude or J of the sub-domain to
JMAX extract (in degrees)
8+NFILE RLONMIN/ real/integer Westernmost longitude or I of the sub-domain to
IMIN extract (negative in Western hemisphere; in
degrees)
9+NFILE RLONMAX/ real/integer Easternmost longitude or I of the sub-domain to
IMAX extract (negative in Western hemisphere; in
degrees)
10+NFIL IBEG integer Beginning date-hour of the period to extract
E (UTC) - Format: YYYYMMDDHH
11+NFIL IEND integer Ending date-hour of the period to extract
E (UTC) - Format: YYYYMMDDHH
12+NFIL IFORMAT integer Output data file format:
E 1 = 3D.DAT (for CALMET)
2 = MM4.DAT
3 = GrADS
4 = invalid
5 = invalid
6 = GRIB

7-13
Section 7: Prognostic Meteorological Interfaces

Table 7-6 (Concluded)


CALMM5 Control File Inputs (CALMM5.INP)

Line Variable Type Description

13+NFILE CNOTE character*80 Indicator for additional information for different


output formats
14+NFILE IOUTW integer Flag to output vertical velocity
IOUTQ integer Flag to output relative humidity and vapor
mixing ratio
IOUTC* integer Flag to output cloud and rain mixing ratios
IOUTI* integer Flag to output ice and snow mixing ratios
IOUTG* integer Flag to output graupel mixing ratio
15+NFILE IOSRF integer Flag to output surface 2-D variables
16+NFILE SRFILE character*80 Name of surface 2-D output file (IOSRF=1 only)
17+NFILE NZ1 integer Lowest sigma layer extracted (1 for first layer)
18+NFILE NZ2 integer Highest sigma layer extracted (1 for first layer)

IOUTC=1 only if IOUTQ=1


IOUTI=1 only if IOUTC=IOUTQ=1
IOUTG=1 only if IOUTI=IOUTC=IOUTQ=1

7-14
Section 7: Prognostic Meteorological Interfaces

Table 7-7: Example CALMM5 List File (CALMM5.LST)

CALMM5 Version: 2.1 Level: 040112

Output Data Set Name: 3D.DAT


Data Set Version: 2.0 Level: 040112

CALMM5 VER3 for MM5 Domain 1

Input file: MMOUT_DOMAIN1


Output file: samp.m3d
Log file: calmm5.lst

Select region based on (1, lat/lon; 2, J/I): 2


Selected I/J range from Input: 5 8 3 6
beginning date: 2001122912
ending date: 2001122913

output format: 1 -- MM5

----- Output File -----


Output File Name:samp.m3d

2-D output flag: 1


2-D output file: samp.m2d
ioutw: 1
ioutq: 1
ioutc: 1
iouti: 0
ioutg: 0
iosrf: 1

Vertical range extracted: 1 32


Porcessing mm5 big header

starting date of mm5 output data: 2001122900

7-15
Section 7: Prognostic Meteorological Interfaces

Table 7-7 (Concluded)


Example CALMM5 List File (CALMM5.LST)

Model initial hour: 1 12 29 0

mm5 options:

Fake dry run: 0


non hydrostatic run
reference pressure p0 : 100000.0 pa
reference temperature : 275.0 k
ref. temperature lapse rate : 50.0 k/500mb

Model Top Pressure: 100.0000


mm5 domain id: 1

lambert conformal map projection


center latitude (degrees): 47.00000
center longitude (degrees): 52.50000
true latitude 1 (degrees): 60.00000
true latitude 2 (degrees): 30.00000
cone factor: 0.7155668
SW dot point X/Y: -1360.000 -1360.000

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

Table 7-8: Sample of MM5 Derived Gridded Surface 2-D Variables

2D.DAT 2.0 Header Structure with Comment Lines


1
Produced by CALMM5 Version: 2.1 , Level: 040112
1 1 1 0 0 1
LCC 47.0000 52.5000 60.00 30.00 -1360.000 -1360.000 80.000 35 35 32
1 4 1 5 2 1 1 0 1 1 1 1 1 1 1 1 1 1 1 1 25
2001122912 2 4 4 32
5 3 8 6 1 32 40.3905 43.4707 35.1695 37.6475
0.998
0.995
0.992
0.988
0.983
0.978
0.972
0.966
0.959
0.951
0.942
0.931
0.920
0.907
0.892
0.876
0.857
0.837
0.813
0.787
0.758
0.725
0.688
0.646
0.599
0.547
0.487
0.421
0.346

7-17
Section 7: Prognostic Meteorological Interfaces

Table 7-8 (Continued)


Sample of MM5 Derived Gridded Surface 2-D Variables

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

Table 7-8 (Continued)


Sample of MM5 Derived Gridded Surface 2-D Variables

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

Table 7-8 (Concluded)


Sample of MM5 Derived Gridded Surface 2-D Variables

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

Variable No. Variable Type Description


1 CNAME char*16 Data set name
2 DATAVER char*16 Data set version
3 DATAMODD char*64 Data set mod
Format(2a16,a64)

Header Record #2

Variable No. Variable Type Description


1 NCOMM integer Number of comment lines
Format(i4)

Header Records #3 N (N=3+NCOMM-1)

Variable No. Variable Type Description


1 COMMENT char*132 Comment lines
Format(a132)

7-20
Section 7: Prognostic Meteorological Interfaces

Table 7-9 (Continued)


MM5 Derived Surface 2-D Variables File Format (2D.DAT)

Header Record #N+1

Variable No. Variable Type Description


1 IOUTW Integer Flag indicating if vertical velocity is recorded.
2 IOUTQ Integer Flag indicating if relative humidity and vapor mixing ratio
are recorded
3 IOUTC Integer Flag indicating if cloud and rain mixing ratios are
recorded.
4 IOUTI Integer Flag indicating if ice and snow mixing ratios are recorded.
5 IOUTG Integer Flag indicating if graupel mixing ratio is recorded.
6 IOSRF Integer Flag indicating if surface 2-D variables is recorded
7 y1dmn real SW dot point Y coordinate (km, Grid 1,1) in MM5
8 dxy real Grid size (km)
9 nx integer Number of grids in X-direction (West-East) in MM5
10 ny integer Number of grids in Y-direction (South-North) in MM5
11 nz integer Number of sigma layers in MM5
Format(a4,f9.4,f10.4,2f7.2,2f10.3,f8.3,2i4,i3)

Header Record #N+3

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

7-21
Section 7: Prognostic Meteorological Interfaces

Table 7-9 (Continued)


MM5 Derived Surface 2-D Variables File Format (2D.DAT)

HEADER RECORDS

Header Record #N+3

Variable No. Variable Type Description


4 IBLTYP integer MM5 planetary boundary layer (PBL) scheme
0: no PBL
1: bulk PBL
2: Blackadar PBL
3: Burk-Thompson PBL
5: MRF PBL
5 IFRAD integer MM5 atmospheric radiation scheme
0: none
1: simple cooling
2: cloud-radiation (Dudhia)
3: CCM2
6 ISOIL integer MM5 soil model- 0: none - 1: multi-layer
7 IFDDAN integer 1: FDDA grid analysis nudging - 0: no FDDA
8 IFDDAOB integer 1: FDDA observation nudging - 0: no FDDA
9 IGRDT integer 2D output flag for ground temperature (1/0)
10 IPBL integer 2D output f lag for PBL height (1/0)
11 ISHF integer 2D output f lag for sensible heat flux (1/0)
12 ILHF integer 2D output f lag for latent heat flux (1/0)
13 IUSTR integer 2D output f lag for frictional velocity (1/0)
14 ISWDN integer 2D output f lag for short wave downward flux (1/0)
15 ILWDN integer 2D output f lag for long wave flux (1/0)
16 IT2 integer 2D output f lag for air temperature at 2 m (1/0)
17 IQ2 integer 2D output f lag for specific humidity at 2 m (1/0)
18 IU10 integer 2D output f lag for U-wind at 10 m (1/0)
19 IV10 integer 2D output f lag for V-wind at 10 m (1/0)
20 ISST integer 2D output f lag for SST (1/0)
21 NLAND integer Number of land use categories used in MM5
Format(30i3)

7-22
Section 7: Prognostic Meteorological Interfaces

Table 7-9 (Continued)


MM5 Derived Surface 2-D Variables File Format (2D.DAT)

HEADER RECORDS

Header Record #N+4

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 (UTC) 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
extracted sub-domain
7 NYP integer Number of grid cells in the Y direction in the
extracted sub-domain
8 NZP integer Number of sigma layers in the extracted sub-domain

Format (i4,3i2,i5,4i4)

Header Record #N+5

Variable No. Variable Type Description


1 NX1 integer I-index (X direction) of the lower left corner of sub-domain
2 NY1 integer J-index (Y direction) of the lower left corner of sub-domain
3 NX2 integer I-index (X direction) of the upper right corner of sub-domain
4 NY2 integer J-index (Y direction) of the upper right corner of sub-domain
5 NZ1 integer k-index (Z direction) of lowest extracted layer
6 NZ2 integer k-index (Z direction) of hightest extracted layer
7 RXMIN real Westernmost E. longitude (degrees) in the sub-domain
8 RXMAX real Easternmost E. longitude (degrees) in the sub-domain
9 RYMIN real Southernmost N. latitude (degrees) in the sub-domain
10 RYMAX real Northernmost N. latitude (degrees) in the sub-domain

Format (6i4,2f10.4,2f9.4)

7-23
Section 7: Prognostic Meteorological Interfaces

Table 7-9 (Continued)


MM5 Derived Surface 2-D Variables File Format (2D.DAT)

HEADER RECORDS

Next NZP Records

Variable No. Variable Type Description


1 SIGMA real array Sigma values used by MM5 to define each of the
NZP layers (half-sigma levels) read as:
do 10 I=1,NZP
10 READ (iomm4,20) SIGMA(I)
20 FORMAT (F6.3)

Next NXP*NYP Records

Variable No. Variable Type Description


1 IINDEX integer I-index (X direction) of the extracted grid point in
original MM5 domain.
2 JINDEX integer J-index (Y direction) of the extracted grid point in
original MM5 domain.
3 XLATDOT real array Latitude (degrees) of the extracted grid point, positive
values for the Northern Hemisphere, negative values
for the Southern Hemisphere. 999. for missing values.
4 XLONGDOT real array Longitude (degrees) of the extracted grid point,
positive values for the Eastern Hemisphere, negative
values for the Western Hemisphere. 999. for missing
values.
5 IELEVDOT integer array Terrain elevation of the extracted grid point at dot
position (m MSL)
6 ILAND integer array MM5 landuse categories at extracted cross points (-9
for missing values)
7 XLATCRS real array Same as XLATDOT but at cross point
8 XLATCRS real array Same as XLATDOT but at cross point
9 IELEVCRS integer array Same as IELEVDOT but at cross point

Format (2i4, f9.4, f10.4, i5, i3, 1x, f9.4, f10.4,i5)

7-24
Section 7: Prognostic Meteorological Interfaces

Table 7-9 (Concluded)


MM5 Derived Surface 2-D Variables File Format (2D.DAT)

DATA RECORDS

Next N2D Record Pairs


(N2D: Number of output 2-D variables given in Header Record #N+3)

Data Record #1

Variable No. Variable Type Description


1 MYR integer Year of the 2-D variable (YYYY)
2 MMO integer Month of the 2-D variable
3 MDAY integer Day of the 2-D variable
4 MHR integer UTC Hour of the 2-D variable
5 Vname char*8 Name of 2-D variable

Data Record #2

Variable No. Variable Type Description


1 xvar real array (nxp Values of named 2-D variable
by nyp) Read using :
do j=ny2,ny1,-1
Read(iunit,1010)(xx(i,j),I=nx1,nx2)
enddo
1010 format(8f10.3)

Units: K for temperature, m for PBL height, w/m**2 for heat


flux, m/s for frictional velocity

7-25
Section 7: Prognostic Meteorological Interfaces

7.2 CALETA Preprocessor

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:

AWIPS Grid 212 -- Continental U.S., 40km (NAM)


AWIPS Grid 218 -- Continental U.S., 12km (NAM)
AWIPS Grid 245 -- Eastern U.S., 8km (WRF)
AWIPS Grid 246 -- Western U.S., 8km (WRF)
AWIPS Grid 247 -- Central U.S., 8km (WRF)
AWIPS Grid 248 -- Puerto Rico, 8km (WRF)
AWIPS Grid 249 -- Alaska, 10km (WRF)
AWIPS Grid 250 -- Hawaii, ~8km (WRF)

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

Figure 7-6: Tiles for AWIPS 218 grid.

7-29
Section 7: Prognostic Meteorological Interfaces

Table 7-10: AWIPS Grid Formats Processed by CALETA.

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

CALETA Input Files

AWIPS GRIB file

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

Table 7-11: Sample Names of AWIPS GRIB Files

AWIPS Downloaded File Name Renamed File Name


Grid

212 nam.tHHz.awip3dFH.tm00 nam.tHHz.awip3dFH.tm00.awips212_YYYYMMDD

212(NWS) fh.00FH_tl.press_gr.awip3d fh.00FH_tl.press_gr.awip3d.awips212_YYYYMMDDHH

218 nam.tHHz.awip218FH.TL nam.tHHz.awip218FH.TL.awips218_YYYYMMDD

245 eastnmm.tHHz.awfullFH.tm00 eastnmm.tHHz.awfullFH.tm00.awips245_YYYYMMDD

246 westnmm.tHHz.awpregFH.tm00 westnmm.tHHz.awpregFH.tm00.awips246_YYYYMMDD

247 centnmm.tHHz.awpregFH.tm00 centnmm.tHHz.awpregFH.tm00.awips247_YYYYMMDD

248 prnmm.tHHz.awpregFH.tm00 prnmm.tHHz.awpregFH.tm00.awips248_YYYYMMDD

249 aknmm.tHHz.awpregFH.tm00 aknmm.tHHz.awpregFH.tm00.awips249_YYYYMMDD

250 hinmm.tHHz.awpregFH.tm00 hinmm.tHHz.awpregFH.tm00.awips250_YYYYMMDD

HH is the initial hour in UTC for ETA/NAM runs


FH is the forecast hours from initial hour
TL is tile number for AWIPS 218 tiled files
YYYYMMDDHH is the 4-digit year and 2-digit month, day, and hour (UTC)

7-32
Section 7: Prognostic Meteorological Interfaces

Table 7-12: Example CALETA Control File (CALETA.INP)

ETA Model in AWIPS 212 Grid


E:\data\all\ ! Directory of Input ETA GRIB files
.\test3D.dat ! Output 3D.DAT file name (no space before or within filename)
caleta.lst ! List file name (no space before or within filename)
30,31 ! Range of Lat (positive for Northern Hemisphere),grid size
-98,-96.5 ! Range of Lon (negative for Western Hemisphere),grid size
1,25 ! Range of vertical levels selected
212 ! AWIPS Flag (212,218,245,246,247,248,249,250)
2005041418 ! Beginning UTC Date-Hour (YYYYMMDDHH) for 3D.DAT file
2005041600 ! Ending UTC Date-Hour (YYYYMMDDHH) for 3D.DAT file
6 ! Time interval (hours) between ETA runs
1 ! File naming convention (1 = renamed; 0 = original)
1 ! Run mode (1 = Hybrid; 0 = Forecast)
1 ! Web site (1 = NCEP; 0 = NWS) where ETA GRIB file downloaded

7-33
Section 7: Prognostic Meteorological Interfaces

Table 7-13: CALETA Control File Inputs (CALETA.INP)

Line Variable Type Description

1 TITLE character*80 Title for CALETA application

2 INFILE character*80 Path name of AWIPS input files

3 OUTFILE character*80 Output 3D.DAT file name

4 LOGFILE character*80 Output list file name

5 RLATMIN/ real Southernmost and northernmost latitudes of


RLATMAX the sub-domain to extract (positive in
Northern hemisphere; in degrees)

6 RLONMIN/ real Westernmost and Easternmost longitude of


RLONMAX the sub-domain to extract (negative in
Western hemisphere; in degrees)

7 NZMIN/ integer Lowest and highest vertical levels of the


NXMAX sub-domain to extract

8 IDAWP integer AWIPS grid format (212, 218, 245-250)

9 IDATEB integer Beginning UTC date-hour of 3D.DAT

10 IDATEE integer Ending UTC date-hour of 3D.DAT

11 IHRRUN integer Hours between ETA runs (6 hours for


AWIPS 212, 218; 24 hours for AWIPS 245-
247, 249; 12 hours for AWIPS 248,250)

12 IDFRMT integer Flag of file naming convention:


0 = original file name; 1 = renamed file
name

13 IDRUN integer Flag of CALETA run mode:


0 = Forecast mode; 1= Hybrid mode.

14 IDWEB integer Flag of web site for AWIPS file


downloading:
0 = NWS site; 1 = NCEP site

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

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)

Hour ETA - 00 ETA - 06 ETA - 12 ETA - 18


00 00
03 03
06 06 00
09 09 03
12 12 06 00
15 15 09 03
18 18 12 06 00
21 21 15 09 03
00 24 18 12 06
03 27 21 15 09
06 30 24 18 12
09 33 27 21 15
12 36 30 24 18
15 39 33 27 21
18 42 36 30 24
21 45 39 33 27
00 48 42 36 30
03 45 39 33
06 48 42 36
09 45 39
12 48 42
15 45
18 48

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)

Hour ETA 00 Z ETA 06 Z ETA 12 Z ETA 18 Z ETA 00 Z


00 00
03 03
06 06 00
09 09 03
12 12 06 00
15 15 09 03
18 18 12 06 00
21 21 15 09 03
00 24 18 12 06 00
03 27 21 15 09 03
06 30 24 18 12 06
09 33 27 21 15 09
12 36 30 24 18 12
15 39 33 27 21 15
18 42 36 30 24 18
21 45 39 33 27 21
00 48 42 36 30 24
03 45 39 33 27
06 48 42 36 30
09 45 39 33
12 48 42 36
15 45 39
18 48 42

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)

Hour ETA 00 Z ETA 06 Z ETA 12 Z ETA 18 Z ETA 00 Z


00 00
03 03
06 06 00
09 09 03
12 12 06 00
15 15 09 X
18 18 12 06 00
21 21 15 09 X
00 24 18 12 06 00
03 27 21 15 09 03
06 30 24 18 12 06
09 33 27 21 15 09
12 36 30 24 18 12
15 39 33 27 21 15
18 42 36 30 24 18
21 45 39 33 27 21
00 48 42 36 30 24
03 45 39 33 27
06 48 42 36 30
09 45 39 33
12 48 42 36
15 45 39
18 48 42

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

Table 7-17: Example CALETA List File (CALETA.LST)

CALETA - Version: 2.2 Level: 050414

ETA Model in AWIPS 212 Grid


Output 3D.DAT base or file: .\test.m3d
CALETA log file: caleta.lst

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

Beginning date: 2005041418


Ending Date: 2005041600
Hours between ETA Runs: 6
File name (Ren/Org): 1
Run mode (Ana/Frst): 1
Wet site (NCEP/NWS): 1
Required starting date: 2005 4 14 18 104
Required ending date: 2005 4 16 0 106
Required hours/grib files: 31 11
AWIPS format: 212 1
Vertical levels: 39
Vertical pressure levels:
1 1000.00000
2 975.000000
3 950.000000
4 925.000000
5 900.000000
6 875.000000
7 850.000000
8 825.000000
9 800.000000
10 775.000000
11 750.000000
12 725.000000
13 700.000000
14 675.000000
15 650.000000

7-39
Section 7: Prognostic Meteorological Interfaces

Table 7-17 (Continued)


Example CALETA List File

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

Processing: 1th file - d:\util_wu\caleta\Data\all\nam.t18z.awip3d00.tm00.awips212_20050414


ioutw: 1
ioutq: 1
ioutc: 0
iouti: 0
ioutg: 0
iosrf: 0

Output to M3D at 2005041418


Processing: 2th file - d:\util_wu\caleta\Data\all\nam.t18z.awip3d03.tm00.awips212_20050414
Output to M3D at 2005041421
Processing: 3th file - d:\util_wu\caleta\Data\all\nam.t00z.awip3d00.tm00.awips212_20050415
Output to M3D at 2005041500

7-40
Section 7: Prognostic Meteorological Interfaces

Table 7-17 (Concluded)


Example CALETA List File

Processing: 4th file - d:\util_wu\caleta\Data\all\nam.t00z.awip3d03.tm00.awips212_20050415


Output to M3D at 2005041503
Processing: 5th file - d:\util_wu\caleta\Data\all\nam.t06z.awip3d00.tm00.awips212_20050415
Output to M3D at 2005041506
Processing: 6th file - d:\util_wu\caleta\Data\all\nam.t06z.awip3d03.tm00.awips212_20050415
Output to M3D at 2005041509
Processing: 7th file - d:\util_wu\caleta\Data\all\nam.t12z.awip3d00.tm00.awips212_20050415
Output to M3D at 2005041512
Processing: 8th file - d:\util_wu\caleta\Data\all\nam.t12z.awip3d03.tm00.awips212_20050415
Output to M3D at 2005041515
Processing: 9th file - d:\util_wu\caleta\Data\all\nam.t12z.awip3d06.tm00.awips212_20050415
Substitute
Output to M3D at 2005041518
Processing: 10th file - d:\util_wu\caleta\Data\all\nam.t12z.awip3d09.tm00.awips212_20050415
Substitute
Output to M3D at 2005041521
Processing: 11th file - d:\util_wu\caleta\Data\all\nam.t12z.awip3d12.tm00.awips212_20050415
Substitute
Output to M3D at 2005041600
Processing succeeded
--------------------

7-41
Section 7: Prognostic Meteorological Interfaces

7.3 CALRUC Preprocessor

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 rawinsondes and special dropwinsondes

o surface reporting stations and buoys (including cloud, visibility, current weather)

o GPS total precipitable water estimates

o VAD (velocity-azimuth display) winds from NWS WSR-88D radars

o RASS (Radio Acoustic Sounding System) - experimental

o GOES total precipitable water estimates

o SSM/I total precipitable water estimates

o GOES high-density visible and IR cloud drift winds

hybrid isentropic-sigma vertical coordinate system.

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

CALRUC Input Files

RUC GRIB file

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.

The files at the NCEP web site reside in sub-directories named:


ruc2a.YYYYMMDD
or
ruc2b.YYYYMMDD
where YYYY is the 4-digit year, MM is the two-digit month, and DD is the two-digit day. Use the data
in ruc2b.YYYYMMDD if it exists.

The files at the NWS web site reside in sub-directories named:


MT.ruc_CY.HH/RD.YYYYMMDD/PT.grid.DF.gr1
where HH is the initial hour of RUC run in UTC, and YYYY is the 4-digit year, MM is the two-digit
month, and DD is the two-digit day.

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

Table 7-18: RUC File-Naming Conventions

Web Hybrid Level Pressure Level


Site

NCEP Ruc2.tHHz.bgrb20anl (Analysis-20km) Ruc2.tHHz.pgrb20anl (Analysis-20km)


Ruc2.tHHz.bgrb20fhh (forecast-20km) Ruc2.tHHz.pgrb20fhh (forecast-20km)
Ruc2.tHHz.bgrbanl (Analysis-40km) Ruc2.tHHz.pgrbanl (Analysis-40km)
Ruc2.tHHz.bgrbfhh (forecast-40km) Ruc2.tHHz.pgrbfhh (forecast-40km)
NWS Fh.anal_tl.press_gr.bgrib20 (Analysis-20km) fh.anal_tl.press_gr.us20 (Analysis-20km)
fh.hhhh_tl.press_gr.bgrib20 (Forecast-20km) fh.hhhh_tl.press_gr.us20 (Forecast-20km)
fh.anal_tl.press_gr.bgrib (Analysis-40km) fh.anal_tl.press_gr.us20 (Analysis-40km)
fh.hhhh_tl.press_gr.bgrib (Forecast-40km) fh.hhhh_tl.press_gr.us40 (Forecast-40km)

Rename for use in CALRUC:

CALRU sgpallruc20hybrX1.00.YYYMMDD.HH0000.ra sgpallruc20isobX1.00.YYYMMDD.HH0000.raw


C w.grb .grb
sgpallruc40hybrX1.00.YYYMMDD.HH0000.ra sgpallruc40isobX1.00.YYYMMDD.HH0000.raw
w.grb .grb

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

Table 7-19: Example CALRUC Control File (CALRUC.INP)

3D.DAT file Created from RUC hourly data


2005070620 ! Beginning UTC Date-Hour to process (YYYYMMDDHH)
2005070621 ! Ending UTC Date-Hour to process (YYYYMMDDHH)
1 ! Process every X hours
.\ ! Directory of Input RUC GRIB files
TEST3D.dat ! Output 3D.DAT file (no space before or within filename)
TEST.lst ! List file name (no space before or within filename)
1 ! Resolution of Input Data (0 = 20 km ; 1 = 40 km)
0 ! Type of Input File (0 = hybrid ; 1 = pressure)
0 ! Type of application (0 = analysis ; 1 = forecast)
1 ! Output Format (0 = MM5.DAT ; 1 = 3D.DAT)
1 ! Compress (0 = No ; 1 = Yes)
0 ! Grid selection type (0 = i,j ; 1 = Lat/Lon)
10,15 ! Range of Lat/J (positive for Northern Hemisphere)
10,15 ! Range of Lon/I (negative for Western Hemisphere)
1,50 ! Range of vertical levels selected
5 ! User defined shift in vertical geopotential height

7-46
Section 7: Prognostic Meteorological Interfaces

Table 7-20: CALRUC Control File Inputs (CALRUC.INP)

Line Variable Type Description

1 TITLE character*80 Title for CALRUC application

2 IDATEB integer Beginning UTC date-hour of 3D.DAT

3 IDATEE integer Ending UTC date-hour of 3D.DAT

4 NPROC integer Processing interval (hours)

5 INPATH character*80 Path name of CALRUC input file directory

6 OUTFILE character*80 Output 3D.DAT file name

7 LOGFILE character*80 Output list file name

8 IXYGRID integer RUC grid resolution (0 = 20km; 1 = 40km)

9 IZGRID integer RUC vertical grid (0 = hybrid; 1 = pressure)

10 ITYPE integer Application type (0 = analysis; 1 = forecast)

11 IFORM integer Output format (0 = MM5.DAT; 1 = 3D.DAT)


** Select 3D.DAT for CALMET**

12 ICMPRS integer Compress output fields (0 = no; 1 = yes)

13 ISELECT integer Sub-domain selection method:


0 = Use (I,J) to select a sub-domain
1 = Use latitudes and longitudes to select a sub-
domain

14 RLATMIN/ real Southernmost and northernmost latitudes of the sub-


RLATMAX or or domain to extract (positive in Northern hemisphere,
JMIN/JMAX integer in degrees) or minimum and maximum northing cell
index

15 RLONMIN/ real Westernmost and Easternmost longitude of the sub-


RLONMAX or or domain to extract (negative in Western hemisphere;
IMIN/IMAX integer in degrees) or minimum and maximum easting cell
index

16 NZMIN/ integer Lowest and highest vertical levels of the sub-domain


NXMAX to extract

17 ZSHIFT real Shift in vertical geopotential height

7-47
Section 7: Prognostic Meteorological Interfaces

CALRUC Output Files

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

Table 7-21: Example CALRUC List File (CALRUC.LST)

CALRUC - Version: 1.92 Level: 050707

3D
Output CALRUC/3D.DAT file: TEST.dat
calruc log file: TEST.lst

Resolution of Input Data (0 - 20 km, 1 - 40 km) : 1


Type of Input File (0 - hybrid, 1 - pressure) : 0
Application Type (0 - analysis, 1 - forecast): 0
Format of Output (0 - MM5.DAT, 1 - 3D.DAT): 1
Selection type (0 - i,j , 1 - Lat/Lon) : 0
J range: 10 15
I range: 10 15
Vertical Levels: 1 50
Used desired shift in Geopotential Height = 5 m

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

Number of Grib files: 2


Input RUC file # 1 .\sgpallruc40hybrX1.00.20050706.200000.raw.grb
3D Variable selected: 1 109 1 2005070620
2D Variable selected: 1 109 1
3D Variable selected: 1 109 2 2005070620
2D Variable selected: 1 109 2
3D Variable selected: 1 109 3 2005070620
2D Variable selected: 1 109 3
3D Variable selected: 1 109 4 2005070620
2D Variable selected: 1 109 4
( Records omitted for clarity )

7-49
Section 7: Prognostic Meteorological Interfaces

Table 7-21 (Concluded)


Example CALRUC List File (CALRUC.LST)

2D Variable selected: 53 105 2


2D Variable selected: 33 105 10
2D Variable selected: 34 105 10
ioutw: 1
ioutq: 1
ioutc: 1
iouti: 1
ioutg: 1
iosrf: 0
Output to 3D.DAT at 2005070620

Input RUC file # 2 .\sgpallruc40hybrX1.00.20050706.210000.raw.grb


3D Variable selected: 1 109 1 2005070621
2D Variable selected: 1 109 1
3D Variable selected: 1 109 2 2005070621
2D Variable selected: 1 109 2
3D Variable selected: 1 109 3 2005070621
2D Variable selected: 1 109 3
3D Variable selected: 1 109 4 2005070621
2D Variable selected: 1 109 4

( Records omitted for clarity )

2D Variable selected: 53 105 2


2D Variable selected: 33 105 10
2D Variable selected: 34 105 10
Output to 3D.DAT at 2005070621

7-50
Section 7: Prognostic Meteorological Interfaces

7.4 CALRAMS Preprocessor

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)

Figure 7-8: Arakawa-C grid used in RAMS.

7-51
Section 7: Prognostic Meteorological Interfaces

The vertical coordinate is the terrain-following height Z* system, with Z* is defined as

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

RAMS Output file

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.

An example of CALRAMS.INP is given in Table 7-22 and is described in Table 7-23. In


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

CALRAMS Output Files

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

Table 7-22: Example CALRAMS Control File (CALRAMS.INP)

Convert RAMS to CALMET 3D.DAT file


calrams.m3d ! Output 3D.DAT file name (no space before or within filename)
/usr1/RAMS/Data ! Directory for RAMS input data (./ for current directory)
calrams.lst ! List file name (no space before or within filename)
15 40 ! Beg/End I in RAMS for output to 3D.DAT file
5 10 ! Beg/End J in RAMS for output to 3D.DAT file
1 17 ! Beg/End K in RAMS for output to 3D.DAT file
2001041404 ! Begining date (YYYYMMDDHH - UTC)
2001041406 ! Ending date (YYYYMMDDHH - UTC)
1 ! RAMS nesting grid ID (1-4)

Line Variable Type Description

1 TITLE character*80 Header of the output 3D.DAT file

2 FIO character*80 Name of output 3D.DAT

3 FBAS character*80 Directory containing RAMS output files

4 FLG character*80 List file name

5 NXB, NXE integer Beginning and Ending I (Easting) indices in


RAMS domain extracted to 3D.DAT

6 NYB, NYE integer Beginning and Ending J (Northing) indices in


RAMS domain extracted to 3D.DAT

7 NZB, NZE integer Beginning and Ending K (Surface to top) indices


in RAMS domain extracted to 3D.DAT

8 NDATB integer Beginning UTC date-hour


(YYYYYMMDDHH)

9 NDATE integer Ending UTC date-hour (YYYYMMDDHH)

10 INGRID integer Nesting level in RAMS (e.g., 1, 2, etc.)

7-54
Section 7: Prognostic Meteorological Interfaces

Table 7-23: Example CALRAMS List File (CALRAMS.LST)

Convert RAMS to CALMET 3D.DAT file


calrams.m3d
/usr1/RAMS/Data
calrams.lst
M3D I/J/K ranges: 15 40 5 10 1 17
M3D beg/end times: 2001041404 2001041406
RAMS nesting grid ID: 1
Start/end dates 01104 4 01104 6
RAMS Header file:/usr1/RAMS/Data/iw-A-2001-04-14-040000-head.txt

Grid parameters for the input RAMS domain


NEST ID: 1
NX,NY,NZ: 50 50 33
DX: 64.
Pole lon/lat: -111.000 39.500
SW x/y corner: -1704.0 -1536.0
NE x/y corner: 1368.0 1536.0
SW thermo point: -1672.0 -1504.0
NE thermo point: 1336.0 1504.0
Date in Processing : 2001 4 14 4
RAMS file: /usr1/RAMS/Data/iw-A-2001-04-14-040000-g1.vfm
2-D output flag: 0
ioutw: 1
ioutq: 1
ioutc: 1
iouti: 1
ioutg: 1
iosrf: 0

Vertical range extracted: 0 0


nx in RAMS (east) : 50
ny in RAMS (north) : 50
nz in RAMS (vertical): 33
dxy in RAMS (km) : 64.00000

Date in Processing : 2001 4 14 5


RAMS file: /usr1/RAMS/Data/iw-A-2001-04-14-050000-g1.vfm
Date in Processing : 2001 4 14 6
RAMS file: /usr1/RAMS/Data/iw-A-2001-04-14-060000-g1.vfm

7-55
Section 7: Prognostic Meteorological Interfaces

7.5 CALWRF Preprocessor


CALWRF operates on the output from NCEP and NCARs Weather Research and Forecasting Model
(WRF). WRF is a next-generation mesoscale numerical weather prediction system designed to serve both
operational forecasting and atmospheric research needs. CALWRF extracts and reformats a subset of the
gridded model output fields, and creates a 3D.DAT file for CALMET (see section 7.7).

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.

The CALWRF processor runs on a UNIX platform.

CALWRF Input Files

WRF Output file

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

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

Table 7-24: Example CALWRF Control File (CALWRF.INP)

Create 3D.DAT file for WRF output


calwrf.lst ! Log file name
calwrf_em.m3d ! Output file name
-1,-1,-1,-1,-1,-1 ! Beg/End I/J/K ("-" for all)
-1 ! Start date (UTC yyyymmddhh, "-" for all)
-1 ! End date (UTC yyyymmddhh), "-" for all
1 ! Number of WRF output files ( 1 only now)
wrfout_d01_2007-01-01_000000 ! File name of wrf output (Loop over files)

10,20,10,20,1,27 ! Beg/End I/J/K ("-" for all)


2007010100 ! Start date (UTC yyyymmddhh, "-" for all)
2007010105 ! End date (UTC yyyymmddhh), "-" for all
***** Below are comments *****************************************
Create 3D.DAT file for WRF output
calwrf.lst ! Log file name
calwrf.hrd ! Output file name
-9,-9,-9,-9,-9,-9 ! Beg/End I/J/K ("-" for all)
-9 ! Beginning time ("-" for all)
-9 ! Ending time ("-" for all)
1 ! Number of WRF output files ( 1 only now)
wrfout_070427.dat ! File name of wrf output (Loop over files)

calwrf.lst ! Log file name


calwrf_070427.m3d ! Output file name
1,163,1,121,1,27 ! Beg/End I/J/K
2007042700 ! Beginning time
2007042704 ! Ending time
1 ! Number of WRF output files ( 1 only now)
wrfout_070427.dat ! File name of wrf output (Loop over files)

calwrf.lst ! Log file name


calwrf_d2.m3d ! Output file name
1,111,1,96,1,27, ! Beg/End I/J/K
2000012412 ! Beginning time
2000012420 ! Ending time
1 ! Number of WRF output files ( 1 only now)
wrfout_d02_000124 ! File name of wrf output (Loop over files)

7-57
Section 7: Prognostic Meteorological Interfaces

Table 7-25: CALWRF Control File Inputs (CALWRF.INP)

Line Variable Type Description


1 TITLE character*80 Header of the output 3D.DAT file

2 FLG character*80 List file name


3 FIO character*80 Name of output 3D.DAT
4 NXB, NXE integer Beginning and Ending I (Easting) indices in
WRF domain extracted to 3D.DAT
4 NYB, NYE integer Beginning and Ending J (Northing) indices
in WRF domain extracted to 3D.DAT
4 NZB, NZE integer Beginning and Ending K (Surface to top)
indices in WRF domain extracted to
3D.DAT
5 IDATEB integer Beginning UTC date-hour
(YYYYYMMDDHH)
6 IDATEE integer Ending UTC date-hour (YYYYMMDDHH)
7 IFILE integer Number of WRF output file (1 only)
8 FIN integer Name of WRF output file

7-58
Section 7: Prognostic Meteorological Interfaces

Table 7-26: Example CALWRF List File (CALWRF.LST)

CALWRF Code ----- Version:1.4 Level:100322


Create 3D.DAT file for WRF output
calwrf.inp
calwrf.lst
calwrf_em.m3d
Beg/End I/J/K: -1 -1 -1 -1 -1 -1
Beg/End Dates: -1
Beg/End Dates: -1
WRF Output files: 1
1 WRF File: wrfout_d01_2007-01-01_000000
Processing WRF File: 1 wrfout_d01_2007-01-01_000000
Warning: Attribute not exist: 3 DYN_OPT -43
Check whether this att. is critical
truelat1,truelat2,stand_lon,cone,op_rot:
0. 0. 0. 0. F
Reset I/J/K ranges to: 1 29 1 29 1 27
Reset require time range: 2007010100 2007010106
x1dmn/y1dmn: -420.00027 -419.99982
Process: 1 2007-01-01_00:00:00 2007010100
3D-variable missing: 10 QICE
3D-variable missing: 11 QSNOW
3D-variable missing: 12 QGRAUP
ioutw: 1
ioutq: 1
ioutc: 1
iouti: 0
ioutg: 0
iosrf: 0

Process: 2 2007-01-01_03:00:00 2007010103


3D-variable missing: 10 QICE
3D-variable missing: 11 QSNOW
3D-variable missing: 12 QGRAUP
Process: 3 2007-01-01_06:00:00 2007010106
3D-variable missing: 10 QICE
3D-variable missing: 11 QSNOW
3D-variable missing: 12 QGRAUP
End of WRF file: wrfout_d01_2007-01-01_000000
CALWRF succeeded

7-59
Section 7: Prognostic Meteorological Interfaces

7.6 CALTAPM Preprocessor

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

Table 7-27: Variables Available in CALTAPM Three-dimensional Output Files

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.

CALTAPM Input Files

TAPM.OUTA - TAPM ASCII output file of the type *.OUTA

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

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

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

Table 7-28: CALTAPM Sample Control File (CALTAPM.INP)

TAPM.OUTA ! TAPM OUTA file created from TAPM GUI


TAPM.DEF ! Default file which stores model selections
TAPM.TOP ! TAPM topography file
CALTAPM.LST ! CALTAPM output list file containing information about TAPM file
CALTAPM.M3D ! 3-Dimensional data output file
2001010101 : beginning date for processing (LST time - YYYYMMDDHH)
2001010105 : ending date for processing (LST time - YYYYMMDDHH)

7-63
Section 7: Prognostic Meteorological Interfaces

Table 7-29: CALTAPM Control File Inputs (CALTAPM.INP)

Line Variable Type Description

1 TAPMASC character*80 TAPM output ASCII meteorology file


(*.OUTA)
2 TAPMDEF character*80 TAPM default file name
3 TAPMTOP character*80 TAPM topography file (same nest as the
OUTA file)
4 TAPMOUT character*80 Name of output list data file
5 IBEG integer Beginning date-hour of the period to extract
(LST) - Format: YYYYMMDDHH
6 IEND integer Ending date-hour of the period to extract
(LST) - Format: YYYYMMDDHH

7-64
Section 7: Prognostic Meteorological Interfaces

Table 7-30: Example CALTAPM List File (CALTAPM.LST)

CALTAPM - Version: 1.00 Level: 090907

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

--- Reading TAPM.DEF file ---


Lat,lon of grid center -34.0333290 151.158295
Beg.date of TAPM run according to TAPM.DEF 1997 4 1
End date of TAPM run according to TAPM.DEF 1997 4 2
Real time zone in TAPM.DEF: 10.1000004
Integer time zone in CALTAPM: 10
--- Finished reading TAPM.DEF file ---

TAPM grid center (lat,lon): -34.0333290 151.158295


TAPM resolution dx and dy: 10000.0000 10000.0000
TAPM number of grdpoints nx,ny: 41 41
TAPM gridpoint (1,1) in UTM coordinates (km): 124.974121 6027.81348
TAPM gridpoint(nx,ny)in UTM coordinates (km): 524.974121 6427.81348

Processing YYYY MM DD HH (LST): 1997 4 1 1

Processing YYYY MM DD HH (LST): 1997 4 1 2

Etc.

Processing YYYY MM DD HH (LST): 1997 4 2 22

Processing YYYY MM DD HH (LST): 1997 4 2 23

--- CALTAPM Successfully Completed ---

7-65
Section 7: Prognostic Meteorological Interfaces

Table 7-31: Sample of CALTAPM derived 3D.DAT file

3D.DAT 2.12 Header Structure with Comment Lines


1
Produced by CALTAPM Version: 1.00 , Level: 090907
1 1 0 0 0 0
UTM -34.0333 151.1583 56.00 56.00 124.974 6027.813 10.000 41 41 20
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
1997 33115 47 41 41 20
1 1 41 41 1 20 -35.8240 -32.2879 148.8494 153.2652
0.000
0.000
0.000
0.000
0.000
0.000
0.000
0.000
0.000
0.000
0.000
0.000
0.000
0.000
0.000
0.000
0.000
0.000
0.000
0.000
1 1 -35.8240 148.8494 873 4
2 1 -35.8278 148.9598 873 4
3 1 -35.8314 149.0703 873 14
4 1 -35.8350 149.1807 873 14
5 1 -35.8385 149.2912 893 19

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

7.7 3D.DAT File Format

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

Table 7-32: Sample Mesoscale Model 3-D Data File (3D.DAT)

3D.DAT 2.1 Header Structure with Comment Lines


1
Produced by CALMM5 Version: 2.5 , Level: 050607
1 1 1 1 0 1
LCC 21.8530 45.0000 7.00 36.00 -1944.000 -1944.000 36.000 109 109 40
1 4 3 5 2 2 1 0 1 1 1 1 1 1 1 1 1 1 1 1 25
2004013006 2 6 6 29
25 10 30 15 1 29 35.1243 36.8535 6.6576 8.3718
0.998
0.995
0.992
0.988
0.983
0.978
0.972
0.966
0.959
0.951
0.942
0.931
0.920
0.907
0.892
0.876
0.857
0.837
0.813
0.787
0.758
0.725
0.688
0.646
0.599
0.547
0.494
0.449
0.408
25 10 6.6576 35.2281 1120 13 6.8291 35.3805 1283

7-68
Section 7: Prognostic Meteorological Interfaces

Table 7-32 (Concluded)


Sample Mesoscale Model 3-D Data File (3D.DAT)

26 10 6.6777 35.5531 1264 13 6.8489 35.7058 1426


27 10 6.6971 35.8780 1250 13 6.8680 36.0311 1422
28 10 6.7158 36.2031 1251 13 6.8864 36.3566 1430
29 10 6.7338 36.5283 1365 13 6.9042 36.6821 1456
30 10 6.7512 36.8535 1458 13 6.9212 37.0077 1433
25 11 6.9805 35.2076 1166 13 7.1523 35.3602 1415
26 11 7.0006 35.5331 1467 13 7.1721 35.6861 1745
27 11 7.0201 35.8588 1605 13 7.1913 36.0122 1828
28 11 7.0389 36.1846 1622 13 7.2098 36.3383 1807
29 11 7.0570 36.5104 1603 13 7.2276 36.6645 1721
30 11 7.0744 36.8363 1550 10 7.2447 36.9908 1590
25 12 7.3038 35.1869 1274 10 7.4759 35.3398 1668
26 12 7.3241 35.5131 1718 6 7.4958 35.6664 2045
27 12 7.3436 35.8395 1927 13 7.5151 35.9932 2090
28 12 7.3624 36.1659 1935 13 7.5336 36.3200 2014
29 12 7.3806 36.4924 1867 2 7.5515 36.6469 1925
30 12 7.3981 36.8190 1770 2 7.5687 36.9739 1843
25 13 7.6276 35.1661 1424 2 7.8000 35.3193 1768
26 13 7.6479 35.4930 1893 13 7.8200 35.6467 2089
27 13 7.6675 35.8201 2107 2 7.8393 35.9741 2205
28 13 7.6865 36.1472 2102 2 7.8579 36.3016 2099
29 13 7.7047 36.4744 1996 13 7.8758 36.6292 1945
30 13 7.7222 36.8017 1912 13 7.8930 36.9568 1934
25 14 7.9519 35.1452 1441 2 8.1245 35.2987 1567
26 14 7.9722 35.4729 1819 2 8.1445 35.6268 1851
27 14 7.9919 35.8006 2064 13 8.1639 35.9549 2110
28 14 8.0109 36.1284 2123 13 8.1826 36.2831 2079
29 14 8.0292 36.4563 1995 10 8.2005 36.6114 1856
30 14 8.0468 36.7843 1887 10 8.2179 36.9398 1811
25 15 8.2765 35.1243 1372 10 8.4494 35.2781 1420
26 15 8.2970 35.4526 1618 10 8.4695 35.6068 1636
27 15 8.3167 35.7810 1871 13 8.4889 35.9356 1887
28 15 8.3358 36.1096 2001 10 8.5077 36.2645 1930
29 15 8.3541 36.4381 1911 10 8.5257 36.5935 1779
30 15 8.3718 36.7668 1785 10 8.5431 36.9226 1695
2004013006 25 10 1012.3 0.03 0 26.5 406.8 293.1 14.17 62.2 2.1 291.0
890 1130 292.9 62 2.3 -0.01 8613.89-4.000
887 1154 292.8 62 2.8 -0.02 8513.60-4.000

7-69
Section 7: Prognostic Meteorological Interfaces

Table 7-32 (Concluded)


Sample Mesoscale Model 3-D Data File (3D.DAT)

884 1180 292.8 61 2.9 -0.02 8313.44-4.000


881 1210 292.8 60 3.1 -0.02 8213.29-4.000
878 1244 292.8 59 3.3 -0.02 8113.09-4.000
874 1282 292.7 58 3.5 -0.02 7912.85-4.000
870 1325 292.6 58 3.5 -0.02 7812.67-4.000
865 1373 292.5 58 3.4 -0.02 7812.52 0.000 0.005 0.000 0.000
859 1429 292.2 58 3.3 -0.02 7812.41 0.000 0.008 0.000 0.000
853 1491 291.9 59 3.1 -0.02 7812.33 0.000 0.010 0.000 0.000
846 1561 291.6 62 3.0 -0.02 7912.25 0.000 0.013 0.000 0.000
838 1641 291.1 68 2.9 -0.02 8012.17 0.000 0.015 0.000 0.000
830 1731 290.6 75 2.9 -0.02 8112.07 0.000 0.019 0.000 0.000
820 1834 289.9 83 2.9 -0.02 8311.98 0.000 0.021 0.000 0.000
809 1950 289.1 93 3.0 -0.02 8511.88 0.000 0.024 0.000 0.000
796 2083 288.2 102 3.2 -0.02 8811.73 0.000 0.026 0.000 0.000
782 2235 287.1 110 3.6 -0.01 9111.56 0.000 0.027 0.000 0.000
766 2408 285.9 118 4.1 -0.01 9411.29 0.000 0.027 0.000 0.000
748 2607 284.5 123 4.9 0.00 9810.90 0.000 0.029 0.000 0.000
728 2835 283.2 124 6.4 0.01 94 9.87 0.002 0.033 0.000 0.000
705 3099 281.4 124 7.5 0.02 92 8.92 0.028 0.036 0.000 0.000
680 3404 279.2 122 8.0 0.03100 8.62 0.182 0.033 0.000 0.000
651 3760 277.3 118 8.6 0.04100 7.96 0.433 0.028 0.000 0.000
618 4178 275.3 110 8.4 0.05 98 7.01 0.342 0.027 0.000 0.000
581 4671 272.9 96 7.7 0.04 90 5.77 0.009 0.059 0.000 0.000
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

7-70
Section 7: Prognostic Meteorological Interfaces

Table 7-33: Mesoscale Model 3-D Data File (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)

Header Record #2 to NCOMM+2


1 NCOMM Integer Number of comment records
1 COMMENT Char*132 Comments (repeated NCOMM times)
Format(a132)
Header Record # NCOMM+3
Variable No. Variable Type Description
1 IOUTW Integer Flag indicating if vertical velocity is recorded.
1 IOUTQ Integer Flag indicating if relative humidity and vapor mixing
ratios are recorded
1 IOUTC Integer Flag indicating if cloud and rain mixing ratios are
recorded.
1 IOUTI Integer Flag indicating if ice and snow mixing ratios are
recorded.
1 IOUTG Integer Flag indicating if graupel mixing ratio is recorded.
1 IOSRF Integer Flag indicating if surface 2-D files are created.
Format(6i3)

7-71
Section 7: Prognostic Meteorological Interfaces

Table 7-33 (Continued)


Mesoscale Model 3-D Data File (3D.DAT)

HEADER RECORDS

Header Record # NCOMM+4

Variable No. Variable Type Description

1 MAPTXT char*3 Map projection


LCC: Lambert Land Conformal Projection

2 RLATC real Center latitude (positive for northern hemisphere)

3 RLONC real Center longitude (positive for eastern hemisphere)

4 TRUELAT1 real First true latitude

5 TRUELAT2 real Second true latitude

6 X1DMN real SW dot point X coordinate (km, Grid 1,1) in original


domain

7 Y1DMN real SW dot point Y coordinate (km, Grid 1,1) in original


domain

8 DXY real Grid size (km)

9 NX integer Number of grids in X-direction (West-East) in


original domain

10 NY integer Number of grids in Y-direction (South-North) in


original domain

11 NZ integer Number of sigma layers in original domain

Format(a4,f9.4,f10.4,2f7.2,2f10.3,f8.3,2i4,i3)

7-72
Section 7: Prognostic Meteorological Interfaces

Table 7-33 (Continued)


Mesoscale Model 3-D Data File (3D.DAT)
HEADER RECORDS
Header Record #NCOMM+5
(Note: Values set to zero for models other than MM5)
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

7-73
Section 7: Prognostic Meteorological Interfaces

Table 7-33 (Continued)


Mesoscale Model 3-D Data File (3D.DAT)

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-20 FLAGS_2D Integer 1/0: Flags for output variables in 2D.DAT (not
used in 3D.DAT)

21 NLAND Integer Number of land use categories


Format(30i3)

7-74
Section 7: Prognostic Meteorological Interfaces

Table 7-33 (Continued)


Mesoscale Model 3-D Data File (3D.DAT)

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)

7-75
Section 7: Prognostic Meteorological Interfaces

Table 7-33 (Continued)


Mesoscale Model 3-D Data File (3D.DAT)

HEADER RECORDS

Header Record #NCOMM+7


Variable No. Variable Type Description
1 NX1 integer I-index (X direction) of the lower left corner of the
extraction subdomain
2 NY1 integer J-index (Y direction) of the lower left corner of the
extraction subdomain
3 NX2 integer I-index (X direction) of the upper right corner of the
extraction subdomain
4 NY2 integer J-index (Y direction) of the upper right corner of the
extraction subdomain

5 NZ1 integer k-index (Z direction) of lowest extracted layer

6 NZ2 integer k-index (Z direction) of hightest extracted layer


7 RXMIN real Westernmost E. longitude (degrees) in the subdomain
8 RXMAX real Easternmost E. longitude (degrees) in the subdomain
9 RYMIN real Southernmost N. latitude (degrees) in the subdomain
10 RYMAX real Northernmost N. latitude (degrees) in the subdomain

format (6i4,2f10.4,2f9.4)

Next NZP Records

Variable No. Variable Type Description


1 SIGMA real array Sigma-p values used by MM5 to define each of the NZP
layers (half-sigma levels)
Read as:
do 10 I=1,NZP
10 READ (iomm4,20) SIGMA(I)
20 FORMAT (F6.3)

7-76
Section 7: Prognostic Meteorological Interfaces

Table 7-33 (Continued)


Mesoscale Model 3-D Data File (3D.DAT)

HEADER RECORDS

Next NXP*NYP Records


Variable Variable Type Description
No.
1 IINDEX integer I-index (X direction) of the grid point in the extraction
subdomain
2 JINDEX integer J-index (Y direction) of the grid point in the extraction
subdomain
3 XLATDOT real array N. Latitude (degrees) of the grid point in the extraction
subdomain (positive for the Northern Hemisphere,
negative for Southern Hemisphere)
4 XLONGDOT real array E. Longitude (degrees) of the grid point in the
extraction subdomain (positive for the Eastern
Hemisphere, negative for Western Hemisphere)
5 IELEVDOT integer Terrain elevation of the grid point in the extraction
array subdomain (m MSL)
6 ILAND integer Landuse categories at cross points
array
7 XLATCRS real array Same as XLATDOT but at cross point
8 XLATCRS real array Same as XLATDOT but at cross point
9 IELEVCRS integer Same as IELEVDOT but at cross point
array
Format (2i4, f9.4, f10.4, i5, i3, 1x, f9.4, f10.4,i5)

7-77
Section 7: Prognostic Meteorological Interfaces

Table 7-33 (Continued)


Mesoscale Model 3-D Data File (3D.DAT)

DATA RECORDS (repeated for each grid cell in extraction subdomain)


Data Record
Variable Variable Type Description
No.
1 MYR integer Year of MM5 wind data (YYYY)
2 MMO integer Month of MM5 wind data (MM)
3 MDAY integer Day of MM5 wind data (DD)
4 MHR integer Hour (GMT) of MM5 wind data (HH)
5 IX integer I-index (X direction) of grid cell
6 JX integer J-index (Y direction) of grid cell

7 PRES real sea level pressure (hPa)

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

Table 7-33 (Continued)


Mesoscale Model 3-D Data File (3D.DAT)

DATA RECORDS (repeated for each grid cell in extraction subdomain)


NZP*Data Records

Variable Variable Type Description


No.
1 PRES integer Pressure (in millibars)
2 Z integer Elevation (meters above m.s.l.)
3 TEMPK integer Temperature (o K)
4 WD integer Wind direction (degrees)
5 WS real Wind speed (m/s)
6w W real Vertical velocity (m/s)
7q RH integer Relative humidity (%)
8q VAPMR real Vapor mixing ratio (g/kg)
9c * CLDMR real Cloud mixing ratio (g/kg)
10c * RAINMR real Rain mixing ratio (g/kg)
11i *
ICEMR real Ice mixing ratio (g/kg)
12i *
SNOWMR real Snow mixing ratio (g/kg)
13g *
GRPMR real Graupel mixing ratio (g/kg)

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

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

Table 8-1: CALMET Input and Output Files


Default
Unit File Name Type Format Description

IO2 DIAG.DAT input formatted File containing preprocessed


meteorological data for diagnostic
wind field module. (Used only if
IDIOPT1, IDIOPT2, IDIOPT3,
IDIOPT4, or IDIOPT5 = 1.)

IO5 CALMET.INP input formatted Control file containing user inputs.

IO6 CALMET.LST output formatted List file (line printer output file)
created by CALMET.

IO7 CALMET.DAT output unformatted Output data file created by


or CALMET containing hourly
PACOUT.DAT gridded fields of meteorological
data. (Created only if LSAVE=T.)

IO8 GEO.DAT input formatted Geophysical data fields (land use,


elevation, surface characteristics,
anthropogenic heat fluxes).

IO10 SURF.DAT input unformatted Hourly surface observations (Used


(if IFORMS=1) only if IDIOPT4=0.) If
or IFORMS=1, use the unformatted
formatted output file of the SMERGE
(if IFORMS=2) program. If IFORMS=2, use a
free-formatted input file generated
either by SMERGE or the user.

IO12 PRECIP.DAT input unformatted Hourly precipitation data (used if


(if IFORMP=1) NPSTA > 0). If IFORMP=1,
or PRECIP.DAT is the unformatted
formatted output file of the PMERGE
(if IFORMP=2) program. If IFORMP=2,
PRECIP.DAT is a free-formatted
input file generated either by
PMERGE or the user.

IO14 WT.DAT input formatted Gridded fields of terrain weighting


factors used to weight the
observed winds and the MM4
winds in the interpolation process

CALMET Input and Output Files Continued)

8-3
Section 8: CALMET Model Files

Table 8-1 (Concluded)

CALMET Input and Output 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

(Up to "MAXUS" upper air stations allowed. MAXUS currently = 50).

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

(Up to "MXOWS" overwater stations allowed. MXOWS currently = 15).

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)

Wind Field Module Test and Debug Files

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

8.1 User Control File (CALMET.INP)

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

Table 8-2: CALMET Control File Input Groups

Input Group Description

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

0 Input and Output File Names

1 General Run Control Parameters


Beginning and ending date and time, base time zone, and run type options

2 Map Projection and Grid Control Parameters


Grid spacing, number of cells, vertical layer structure, and reference coordinates

3 Output Options
Printer control variables, and disk output control variables

4 Meteorological Data Options


Number of surface, upper air, over water, and precipitation stations, input file formats, and
precipitation options

5 Wind Field Options and Parameters


Model option flags, radius of influence parameters, weighting factors, barrier data, diagnostic
module input flags, and lake breeze information

6 Mixing Height, Temperature, and Precipitation Parameters


Empirical constants for the mixing height scheme, spatial averaging parameters,
minimum/maximum overland and overwater mixing heights, temperature options, and
precipitation interpolation options

7 Surface Meteorological Station Parameters


Station name, coordinates, time zone, and anemometer height

8 Upper Air Station Parameters


Station name, coordinates, and time zone

9 Precipitation Station Parameters


Station name, station code, and coordinates

8-7
Section 8: CALMET Model Files

Table 8-3: Sample CALMET Control File (CALMET.INP)

Run Title and Input Group 0


CALMET.INP 2.1 Hour Start and End Times with Seconds
CALMET MOD6 TEST CASE -
30x30 1km km meteorological grid -
1hr met data
---------------- Run title (3 lines) ------------------------------------------

CALMET MODEL CONTROL FILE


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

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

INPUT GROUP: 0 -- Input and Output File Names

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

CALMET.LST output ! METLST=CALMET.LST !


CALMET.DAT output ! METDAT=CALMET.DAT !
PACOUT.DAT output * PACDAT= *

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

NUMBER OF UPPER AIR & OVERWATER STATIONS:

Number of upper air stations (NUSTA) No default ! NUSTA = 1 !


Number of overwater met stations
(NOWSTA) No default ! NOWSTA = 1 !
Number of MM4/MM5/M3D.DAT files
(NM3D) No default ! NM3D = 0 !

Number of IGF-CALMET.DAT files


(NIGF) No default ! NIGF = 0 !
!END!

8-8
Section 8: CALMET Model Files

Table 8-3 (continued)


Sample CALMET Control File (CALMET.INP)
Run Title and Input Group 0

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

Default Name Type File Name


------------ ---- ---------
DIAG.DAT input * DIADAT= *
PROG.DAT input * PRGDAT= *

TEST.PRT output * TSTPRT= *


TEST.OUT output * TSTOUT= *
TEST.KIN output * TSTKIN= *
TEST.FRD output * TSTFRD= *
TEST.SLP output * TSTSLP= *
DCST.GRD output * DCSTGD= *
--------------------------------------------------------------------------------

8-9
Section 8: CALMET Model Files

Table 8-3 (Continued)


Sample CALMET Control File (CALMET.INP)
Run Title and Input Group 1

NOTES: (1) File/path names can be up to 70 characters in length


(2) Subgroups (a) and (f) must have ONE 'END' (surrounded by
delimiters) at the end of the group
(3) Subgroups (b) through (e) are included ONLY if the corresponding
number of files (NUSTA, NOWSTA, NM3D, NIGF) is not 0, and each must have
an 'END' (surround by delimiters) at the end of EACH LINE

!END!
-------------------------------------------------------------------------------

INPUT GROUP: 1 -- General run control parameters


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

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


Month (IBMO) -- No default ! IBMO = 1 !
Day (IBDY) -- No default ! IBDY = 5 !
Starting time: Hour (IBHR) -- No default ! IBHR = 4 !
Second (IBSEC) -- No default ! IBSEC = 0 !

Ending date: Year (IEYR) -- No default ! IEYR = 2002 !


Month (IEMO) -- No default ! IEMO = 1 !
Day (IEDY) -- No default ! IEDY = 5 !
Ending time: Hour (IEHR) -- No default ! IEHR = 19 !
Second (IESEC) -- No default ! IESEC = 0 !

UTC time zone (ABTZ) -- No default ! ABTZ= UTC-0600 !


(character*8)
PST = UTC-0800, MST = UTC-0700 , GMT = UTC+0000
CST = UTC-0600, EST = UTC-0500

Length of modeling time-step (seconds)


Must be a fraction of 1 hour
(NSECDT) Default:3600 ! NSECDT = 600 !
Units: seconds

Run type (IRTYPE) -- Default: 1 ! IRTYPE= 1 !

0 = Computes wind fields only


1 = Computes wind fields and micrometeorological variables
(u*, w*, L, zi, etc.)
(IRTYPE must be 1 to run CALPUFF or CALGRID)

Compute special data fields required


by CALGRID (i.e., 3-D fields of W wind
components and temperature)
in additional to regular Default: T ! LCALGRD = T !
fields ? (LCALGRD)
(LCALGRD must be T to run CALGRID)

8-10
Section 8: CALMET Model Files

Table 8-3 (Continued)


Sample CALMET Control File (CALMET.INP)
Run Title and Input Group 1

Flag to stop run after


SETUP phase (ITEST) Default: 2 ! ITEST= 2 !
(Used to allow checking
of the model inputs, files, etc.)
ITEST = 1 - STOPS program after SETUP phase
ITEST = 2 - Continues with execution of
COMPUTATIONAL phase after SETUP

!END!
Input Group 2

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


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

Projection for all (X,Y):


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

Map projection
(PMAP) Default: UTM ! PMAP = UTM !

UTM : Universal Transverse Mercator


TTM : Tangential Transverse Mercator
LCC : Lambert Conformal Conic
PS : Polar Stereographic
EM : Equatorial Mercator
LAZA: Lambert Azimuthal Equal Area

False Easting and Northing (km) at the projection origin


(Used only if PMAP= TTM, LCC, or LAZA)
(FEAST) Default=0.0 ! FEAST = 0.0 !
(FNORTH) Default=0.0 ! FNORTH = 0.0 !

UTM zone (1 to 60)


(Used only if PMAP=UTM)
(IUTMZN) No Default ! IUTMZN = 19 !

Hemisphere for UTM projection?


(Used only if PMAP=UTM)
(UTMHEM) Default: N ! UTMHEM = N !
N : Northern hemisphere projection
S : Southern hemisphere projection

Latitude and Longitude (decimal degrees) of projection origin


(Used only if PMAP= TTM, LCC, PS, EM, or LAZA)
(RLAT0) No Default ! RLAT0 = 40.0N !
(RLON0) No Default ! RLON0 = 74.0W !

8-11
Section 8: CALMET Model Files

Table 8-3 (Continued)


Sample CALMET Control File (CALMET.INP)
Input Group 2

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


RLAT0 selected for convenience
LCC : RLON0 identifies central (true N/S) meridian of projection
RLAT0 selected for convenience
PS : RLON0 identifies central (grid N/S) meridian of projection
RLAT0 selected for convenience
EM : RLON0 identifies central meridian of projection
RLAT0 is REPLACED by 0.0N (Equator)
LAZA: RLON0 identifies longitude of tangent-point of mapping plane
RLAT0 identifies latitude of tangent-point of mapping plane

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


(Used only if PMAP= LCC or PS)
(XLAT1) No Default ! XLAT1 = 35.0N !
(XLAT2) No Default ! XLAT2 = 45.0N !

LCC : Projection cone slices through Earth's surface at XLAT1 and XLAT2
PS : Projection plane slices through Earth at XLAT1
(XLAT2 is not used)

----------
Note: Latitudes and longitudes should be positive, and include a
letter N,S,E, or W indicating north or south latitude, and
east or west longitude. For example,
35.9 N Latitude = 35.9N
118.7 E Longitude = 118.7E

Datum-Region
------------

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


string. Many mapping products currently available use the model of the
Earth known as the World Geodetic System 1984 (WGS-84). Other local
models may be in use, and their selection in CALMET will make its output
consistent with local mapping products. The list of Datum-Regions with
official transformation parameters is provided by the National Imagery and
Mapping Agency (NIMA).

NIMA Datum - Regions(Examples)


------------------------------------------------------------------------------
WGS-84 WGS-84 Reference Ellipsoid and Geoid, Global coverage (WGS84)
NAS-C NORTH AMERICAN 1927 Clarke 1866 Spheroid, MEAN FOR CONUS (NAD27)
NAR-C NORTH AMERICAN 1983 GRS 80 Spheroid, MEAN FOR CONUS (NAD83)
NWS-84 NWS 6370KM Radius, Sphere
ESR-S ESRI REFERENCE 6371KM Radius, Sphere

Datum-region for output coordinates


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

8-12
Section 8: CALMET Model Files

Table 8-3 (Continued)


Sample CALMET Control File (CALMET.INP)
Input Group 2 Continued

Horizontal grid definition:


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

Rectangular grid defined for projection PMAP,


with X the Easting and Y the Northing coordinate

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


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

Grid spacing (DGRIDKM) No default ! DGRIDKM = 1. !


Units: km

Reference grid coordinate of


SOUTHWEST corner of grid cell (1,1)

X coordinate (XORIGKM) No default ! XORIGKM = 260.000 !


Y coordinate (YORIGKM) No default ! YORIGKM = 3195.000 !
Units: km

Vertical grid definition:


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

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

Cell face heights in arbitrary


vertical grid (ZFACE(NZ+1)) No defaults
Units: m
! ZFACE = 0.,20.,40.,80.,160.,320.,700.,1300.,1700.,2300.,3000. !

!END!

Input Group 3

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

INPUT GROUP: 3 -- Output Options


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

DISK OUTPUT OPTION

Save met. fields in an unformatted


output file ? (LSAVE) Default: T ! LSAVE = T !
(F = Do not save, T = Save)

Type of unformatted output file:


(IFORMO) Default: 1 ! IFORMO = 1 !

8-13
Section 8: CALMET Model Files

Table 8-3 (Continued)


Sample CALMET Control File (CALMET.INP)
Input Group 3

1 = CALPUFF/CALGRID type file (CALMET.DAT)


2 = MESOPUFF-II type file (PACOUT.DAT)

LINE PRINTER OUTPUT OPTIONS:

Print met. fields ? (LPRINT) Default: F ! LPRINT = T !


(F = Do not print, T = Print)
(NOTE: parameters below control which
met. variables are printed)

Print interval
(IPRINF) in hours Default: 1 ! IPRINF = 6 !
(Meteorological fields are printed
every 6 hours)

Specify which layers of U, V wind component


to print (IUVOUT(NZ)) -- NOTE: NZ values must be entered
(0=Do not print, 1=Print)
(used only if LPRINT=T) Defaults: NZ*0
! IUVOUT = 1 , 0 , 0 , 0 , 0 , 0 !
-----------------------

Specify which levels of the W wind component to print


(NOTE: W defined at TOP cell face -- 6 values)
(IWOUT(NZ)) -- NOTE: NZ values must be entered
(0=Do not print, 1=Print)
(used only if LPRINT=T & LCALGRD=T)
-----------------------------------
Defaults: NZ*0
! IWOUT = 0 , 0 , 0 , 0 , 0 , 0 !

Specify which levels of the 3-D temperature field to print


(ITOUT(NZ)) -- NOTE: NZ values must be entered
(0=Do not print, 1=Print)
(used only if LPRINT=T & LCALGRD=T)
-----------------------------------
Defaults: NZ*0
! ITOUT = 1 , 0 , 0 , 0 , 0 , 0 !

8-14
Section 8: CALMET Model Files

Table 8-3 (Continued)


Sample CALMET Control File (CALMET.INP)
Input Group 3

Specify which meteorological fields


to print
(used only if LPRINT=T) Defaults: 0 (all variables)
-----------------------

Variable Print ?
(0 = do not print,
1 = print)
-------- ------------------

! STABILITY = 1 ! - PGT stability class


! USTAR = 1 ! - Friction velocity
! MONIN = 1 ! - Monin-Obukhov length
! MIXHT = 1 ! - Mixing height
! WSTAR = 1 ! - Convective velocity scale
! PRECIP = 1 ! - Precipitation rate
! SENSHEAT = 0 ! - Sensible heat flux
! CONVZI = 0 ! - Convective mixing ht.

Testing and debug print options for micrometeorological module

Print input meteorological data and


internal variables (LDB) Default: F ! LDB = F !
(F = Do not print, T = print)
(NOTE: this option produces large amounts of output)

First time step for which debug data


are printed (NN1) Default: 1 ! NN1 = 1 !

Last time step for which debug data


are printed (NN2) Default: 1 ! NN2 = 1 !

Print distance to land


internal variables (LDBCST) Default: F ! LDBCST = F !
(F = Do not print, T = print)
(Output in .GRD file DCST.GRD, defined in input group 0)

Testing and debug print options for wind field module


(all of the following print options control output to
wind field module's output files: TEST.PRT, TEST.OUT,
TEST.KIN, TEST.FRD, and TEST.SLP)

Control variable for writing the test/debug


wind fields to disk files (IOUTD)
(0=Do not write, 1=write) Default: 0 ! IOUTD = 0 !

Number of levels, starting at the surface,


to print (NZPRN2) Default: 1 ! NZPRN2 = 0 !

Print the INTERPOLATED wind components ?

8-15
Section 8: CALMET Model Files

Table 8-3 (Continued)


Sample CALMET Control File (CALMET.INP)
Input Group 3

(IPR0) (0=no, 1=yes) Default: 0 ! IPR0 = 0 !

Print the TERRAIN ADJUSTED surface wind


components ?
(IPR1) (0=no, 1=yes) Default: 0 ! IPR1 = 0 !

Print the SMOOTHED wind components and


the INITIAL DIVERGENCE fields ?
(IPR2) (0=no, 1=yes) Default: 0 ! IPR2 = 0 !

Print the FINAL wind speed and direction


fields ?
(IPR3) (0=no, 1=yes) Default: 0 ! IPR3 = 0 !
(IPR4) (0=no, 1=yes) Default: 0 ! IPR4 = 0 !

Print the FINAL DIVERGENCE fields ?

Print the winds after KINEMATIC effects are added ?


(IPR5) (0=no, 1=yes) Default: 0 ! IPR5 = 0 !

Print the winds after the FROUDE NUMBER


adjustment is made ?
(IPR6) (0=no, 1=yes) Default: 0 ! IPR6 = 0 !

Print the winds after SLOPE FLOWS


are added ?
(IPR7) (0=no, 1=yes) Default: 0 ! IPR7 = 0 !

Print the FINAL wind field components ?


(IPR8) (0=no, 1=yes) Default: 0 ! IPR8 = 0 !

!END!

8-16
Section 8: CALMET Model Files

Table 8-3 (Continued)


Sample CALMET Control File (CALMET.INP)
Input Group 4

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

INPUT GROUP: 4 -- Meteorological data options


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

NO OBSERVATION MODE (NOOBS) Default: 0 ! NOOBS = 0 !


0 = Use surface, overwater, and upper air stations
1 = Use surface and overwater stations (no upper air observations)
Use MM4/MM5/M3D for upper air data
2 = No surface, overwater, or upper air observations
Use MM4/MM5/M3D for surface, overwater, and upper air data

NUMBER OF SURFACE & PRECIP. METEOROLOGICAL STATIONS

Number of surface stations (NSSTA) No default ! NSSTA = 1 !

Number of precipitation stations


(NPSTA=-1: flag for use of MM5/M3D precip data)
(NPSTA) No default ! NPSTA = 0 !

CLOUD DATA OPTIONS


Gridded cloud fields:
(ICLOUD) Default: 0 ! ICLOUD = 0 !
ICLOUD = 0 - Gridded clouds not used
ICLOUD = 1 - Gridded CLOUD.DAT generated as OUTPUT
ICLOUD = 2 - Gridded CLOUD.DAT read as INPUT
ICLOUD = 3 - Gridded cloud cover from Prognostic Rel. Humidity

FILE FORMATS

Surface meteorological data file format


(IFORMS) Default: 2 ! IFORMS = 2 !
(1 = unformatted (e.g., SMERGE output))
(2 = formatted (free-formatted user input))

Precipitation data file format


(IFORMP) Default: 2 ! IFORMP = 2 !
(1 = unformatted (e.g., PMERGE output))
(2 = formatted (free-formatted user input))

Cloud data file format


(IFORMC) Default: 2 ! IFORMC = 1 !
(1 = unformatted - CALMET unformatted output)
(2 = formatted - free-formatted CALMET output or user input)

!END!

8-17
Section 8: CALMET Model Files

Table 8-3 (Continued)


Sample CALMET Control File (CALMET.INP)
Input Group 5

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

INPUT GROUP: 5 -- Wind Field Options and Parameters


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

WIND FIELD MODEL OPTIONS


Model selection variable (IWFCOD) Default: 1 ! IWFCOD = 1 !
0 = Objective analysis only
1 = Diagnostic wind module

Compute Froude number adjustment


effects ? (IFRADJ) Default: 1 ! IFRADJ = 1 !
(0 = NO, 1 = YES)

Compute kinematic effects ? (IKINE) Default: 0 ! IKINE = 0 !


(0 = NO, 1 = YES)

Use O'Brien procedure for adjustment


of the vertical velocity ? (IOBR) Default: 0 ! IOBR = 0 !
(0 = NO, 1 = YES)

Compute slope flow effects ? (ISLOPE) Default: 1 ! ISLOPE = 1 !


(0 = NO, 1 = YES)

Extrapolate surface wind observations


to upper layers ? (IEXTRP) Default: -4 ! IEXTRP = -4 !
(1 = no extrapolation is done,
2 = power law extrapolation used,
3 = user input multiplicative factors
for layers 2 - NZ used (see FEXTRP array)
4 = similarity theory used
-1, -2, -3, -4 = same as above except layer 1 data
at upper air stations are ignored

Extrapolate surface winds even


if calm? (ICALM) Default: 0 ! ICALM = 0 !
(0 = NO, 1 = YES)

Layer-dependent biases modifying the weights of


surface and upper air stations (BIAS(NZ))
-1<=BIAS<=1
Negative BIAS reduces the weight of upper air stations
(e.g. BIAS=-0.1 reduces the weight of upper air stations
by 10%; BIAS= -1, reduces their weight by 100 %)
Positive BIAS reduces the weight of surface stations
(e.g. BIAS= 0.2 reduces the weight of surface stations
by 20%; BIAS=1 reduces their weight by 100%)
Zero BIAS leaves weights unchanged (1/R**2 interpolation)
Default: NZ*0

8-18
Section 8: CALMET Model Files

Table 8-3 (Continued)


Sample CALMET Control File (CALMET.INP)
Input Group 5

! BIAS = -1 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 !

Minimum distance from nearest upper air station


to surface station for which extrapolation
of surface winds at surface station will be allowed
(RMIN2: Set to -1 for IEXTRP = 4 or other situations
where all surface stations should be extrapolated)
Default: 4. ! RMIN2 = -1.0 !

Use gridded prognostic wind field model


output fields as input to the diagnostic
wind field model (IPROG) Default: 0 ! IPROG = 0 !
(0 = No, [IWFCOD = 0 or 1]
1 = Yes, use CSUMM prog. winds as Step 1 field, [IWFCOD = 0]
2 = Yes, use CSUMM prog. winds as initial guess field [IWFCOD = 1]
3 = Yes, use winds from MM4.DAT file as Step 1 field [IWFCOD = 0]
4 = Yes, use winds from MM4.DAT file as initial guess field [IWFCOD = 1]
5 = Yes, use winds from MM4.DAT file as observations [IWFCOD = 1]
13 = Yes, use winds from MM5/M3D.DAT file as Step 1 field [IWFCOD = 0]
14 = Yes, use winds from MM5/M3D.DAT file as initial guess field [IWFCOD = 1]
15 = Yes, use winds from MM5/M3D.DAT file as observations [IWFCOD = 1]

Timestep (hours) of the prognostic


model input data (ISTEPPG) Default: 1 ! ISTEPPG = 1 !

Use coarse CALMET fields as initial guess fields (IGFMET)


(overwrites IGF based on prognostic wind fields if any)
Default: 0 ! IGFMET = 0 !
RADIUS OF INFLUENCE PARAMETERS

Use varying radius of influence Default: F ! LVARY = F!


(if no stations are found within RMAX1,RMAX2,
or RMAX3, then the closest station will be used)

Maximum radius of influence over land


in the surface layer (RMAX1) No default ! RMAX1 = 100. !
Units: km
Maximum radius of influence over land
aloft (RMAX2) No default ! RMAX2 = 100. !
Units: km
Maximum radius of influence over water
(RMAX3) No default ! RMAX3 = 100. !
Units: km

OTHER WIND FIELD INPUT PARAMETERS

Minimum radius of influence used in


the wind field interpolation (RMIN) Default: 0.1 ! RMIN = 2. !
Units: km
Radius of influence of terrain
features (TERRAD) No default ! TERRAD = 50. !

8-19
Section 8: CALMET Model Files

Table 8-3 (Continued)


Sample CALMET Control File (CALMET.INP)
Input Group 5

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)

Relative weighting of the first


guess field and observations in the
layers ALOFT (R2) No default ! R2 = 50. !
(R2 is applied in the upper layers Units: km
in the same manner as R1 is used in
the surface layer).

Relative weighting parameter of the


prognostic wind field data (RPROG) No default ! RPROG = 54. !
(Used only if IPROG = 1) Units: km
------------------------

Maximum acceptable divergence in the


divergence minimization procedure
(DIVLIM) Default: 5.E-6 ! DIVLIM= 5.0E-06 !

Maximum number of iterations in the


divergence min. procedure (NITER) Default: 50 ! NITER = 50 !

Number of passes in the smoothing


procedure (NSMTH(NZ))
NOTE: NZ values must be entered
Default: 2,(mxnz-1)*4 ! NSMTH =
2 , 8 , 8 , 12 , 12 , 12 , 0 , 0 , 0 , 0 !

Maximum number of stations used in


each layer for the interpolation of
data to a grid point (NINTR2(NZ))
NOTE: NZ values must be entered Default: 99. ! NINTR2 =
99 , 99 , 99 , 99 , 99 , 99 , 0 , 0 , 0 , 0 !

Critical Froude number (CRITFN) Default: 1.0 ! CRITFN = 1. !

Empirical factor controlling the


influence of kinematic effects
(ALPHA) Default: 0.1 ! ALPHA = 0.1 !

8-20
Section 8: CALMET Model Files

Table 8-3 (Continued)


Sample CALMET Control File (CALMET.INP)
Input Group 5

Multiplicative scaling factor for


extrapolation of surface observations
to upper layers (FEXTR2(NZ)) Default: NZ*0.0
! FEXTR2 = 0., 0., 0., 0., 0., 0., 0., 0., 0., 0. !
(Used only if IEXTRP = 3 or -3)

BARRIER INFORMATION

Number of barriers to interpolation


of the wind fields (NBAR) Default: 0 ! NBAR = 0 !

Level (1 to NZ) up to which barriers


apply (KBAR) Default: NZ * KBAR = *

THE FOLLOWING 4 VARIABLES ARE INCLUDED


ONLY IF NBAR > 0
NOTE: NBAR values must be entered No defaults
for each variable Units: km

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

DIAGNOSTIC MODULE DATA INPUT OPTIONS

Surface temperature (IDIOPT1) Default: 0 ! IDIOPT1 = 0 !


0 = Compute internally from
hourly surface observations
1 = Read preprocessed values from
a data file (DIAG.DAT)

Surface met. station to use for


the surface temperature (ISURFT) No default ! ISURFT = 1 !
(Must be a value from 1 to NSSTA)
(Used only if IDIOPT1 = 0)
--------------------------

8-21
Section 8: CALMET Model Files

Table 8-3 (Continued)


Sample CALMET Control File (CALMET.INP)
Input Group 5

Domain-averaged temperature lapse


rate (IDIOPT2) Default: 0 ! IDIOPT2 = 0 !
0 = Compute internally from
twice-daily upper air observations
1 = Read hourly preprocessed values
from a data file (DIAG.DAT)

Upper air station to use for


the domain-scale lapse rate (IUPT) No default ! IUPT = 1 !
(Must be a value from 1 to NUSTA)
(Used only if IDIOPT2 = 0)
--------------------------

Depth through which the domain-scale


lapse rate is computed (ZUPT) Default: 200. ! ZUPT = 200. !
(Used only if IDIOPT2 = 0) Units: meters
--------------------------

Domain-averaged wind components


(IDIOPT3) Default: 0 ! IDIOPT3 = 0 !
0 = Compute internally from
twice-daily upper air observations
1 = Read hourly preprocessed values
a data file (DIAG.DAT)

Upper air station to use for


the domain-scale winds (IUPWND) Default: -1 ! IUPWND = -1 !
(Must be a value from -1 to NUSTA)
(Used only if IDIOPT3 = 0)
--------------------------

Bottom and top of layer through


which the domain-scale winds
are computed
(ZUPWND(1), ZUPWND(2)) Defaults: 1., 1000. ! ZUPWND= 1., 2000. !
(Used only if IDIOPT3 = 0) Units: meters
--------------------------

Observed surface wind components


for wind field module (IDIOPT4) Default: 0 ! IDIOPT4 = 0 !
0 = Read WS, WD from a surface
data file (SURF.DAT)
1 = Read hourly preprocessed U, V from
a data file (DIAG.DAT)

Observed upper air wind components


for wind field module (IDIOPT5) Default: 0 ! IDIOPT5 = 0 !
0 = Read WS, WD from an upper
air data file (UP1.DAT, UP2.DAT, etc.)
1 = Read hourly preprocessed U, V from
a data file (DIAG.DAT)

8-22
Section 8: CALMET Model Files

Table 8-3 (Continued)


Sample CALMET Control File (CALMET.INP)
Input Group 5
LAKE BREEZE INFORMATION

Use Lake Breeze Module (LLBREZE)


Default: F ! LLBREZE = F !

Number of lake breeze regions (NBOX) ! NBOX = 0 !

X Grid line 1 defining the region of interest


! XG1 = 0. !
X Grid line 2 defining the region of interest
! XG2 = 0. !
Y Grid line 1 defining the region of interest
! YG1 = 0. !
Y Grid line 2 defining the region of interest
! YG2 = 0. !

X Point defining the coastline (Straight line)


(XBCST) (KM) Default: none ! XBCST = 0. !

Y Point defining the coastline (Straight line)


(YBCST) (KM) Default: none ! YBCST = 0. !

X Point defining the coastline (Straight line)


(XECST) (KM) Default: none ! XECST = 0. !

Y Point defining the coastline (Straight line)


(YECST) (KM) Default: none ! YECST = 0. !

Number of stations in the region Default: none ! NLB = 0 !


(Surface stations + upper air stations)

Station ID's in the region (METBXID(NLB))


(Surface stations first, then upper air stations)
! METBXID = 0 !

!END!

Input Group 6

INPUT GROUP: 6 -- Mixing Height, Temperature and Precipitation Parameters


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

EMPIRICAL MIXING HEIGHT CONSTANTS

Neutral, mechanical equation


(CONSTB) Default: 1.41 ! CONSTB = 1.41 !
Convective mixing ht. equation
(CONSTE) Default: 0.15 ! CONSTE = 0.15 !
Stable mixing ht. equation
(CONSTN) Default: 2400. ! CONSTN = 2400.!

8-23
Section 8: CALMET Model Files

Table 8-3 (Continued)


Sample CALMET Control File (CALMET.INP)

Input Group 6

INPUT GROUP: 6 -- Mixing Height, Temperature and Precipitation Parameters


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

EMPIRICAL MIXING HEIGHT CONSTANTS

Neutral, mechanical equation


(CONSTB) Default: 1.41 ! CONSTB = 1.41 !
Convective mixing ht. equation
(CONSTE) Default: 0.15 ! CONSTE = 0.15 !
Stable mixing ht. equation
(CONSTN) Default: 2400. ! CONSTN = 2400.!
Overwater mixing ht. equation
(CONSTW) Default: 0.16 ! CONSTW = 0.16 !
Absolute value of Coriolis
parameter (FCORIOL) Default: 1.E-4 ! FCORIOL = 1.0E-04!
Units: (1/s)

Overwater mixing ht. equation


(CONSTW) Default: 0.16 ! CONSTW = 0.16 !
Absolute value of Coriolis
parameter (FCORIOL) Default: 1.E-4 ! FCORIOL = 1.0E-04!
Units: (1/s)

SPATIAL AVERAGING OF MIXING HEIGHTS

Conduct spatial averaging


(IAVEZI) (0=no, 1=yes) Default: 1 ! IAVEZI = 1 !

Max. search radius in averaging


process (MNMDAV) Default: 1 ! MNMDAV = 3 !
Units: Grid
cells
Half-angle of upwind looking cone
for averaging (HAFANG) Default: 30. ! HAFANG = 30. !
Units: deg.
Layer of winds used in upwind
averaging (ILEVZI) Default: 1 ! ILEVZI = 1 !
(must be between 1 and NZ)

CONVECTIVE MIXING HEIGHT OPTIONS:


Method to compute the convective
mixing height(IMIHXH) Default: 1 ! IMIXH = 1 !
1: Maul-Carson for land and water cells
-1: Maul-Carson for land cells only -
OCD mixing height overwater
2: Batchvarova and Gryning for land and water cells

8-24
Section 8: CALMET Model Files

8-25
Section 8: CALMET Model Files

Table 8-3 (Continued)


Sample CALMET Control File (CALMET.INP)

Input Group 6

-2: Batchvarova and Gryning for land cells only


OCD mixing height overwater

Threshold buoyancy flux required to


sustain convective mixing height growth
overland (THRESHL) Default: 0.05 ! THRESHL = 0.05 !
(expressed as a heat flux units: W/m3
per meter of boundary layer)

Threshold buoyancy flux required to


sustain convective mixing height growth
overwater (THRESHW) Default: 0.05 ! THRESHW = 0.05 !
(expressed as a heat flux units: W/m3
per meter of boundary layer)

Option for overwater lapse rates used


in convective mixing height growth
(ITWPROG) Default: 0 ! ITWPROG = 0 !
0 : use SEA.DAT lapse rates and deltaT (or assume neutral
conditions if missing)
1 : use prognostic lapse rates (only if IPROG>2)
and SEA.DAT deltaT (or neutral if missing)
2 : use prognostic lapse rates and prognostic delta T
(only if iprog>12 and 3D.DAT version# 2.0 or higher)

Land Use category ocean in 3D.DAT datasets


(ILUOC3D) Default: 16 ! ILUOC3D = 16 !
Note: if 3D.DAT from MM5 version 3.0, iluoc3d = 16
if MM4.DAT, typically iluoc3d = 7

OTHER MIXING HEIGHT VARIABLES

Minimum potential temperature lapse


rate in the stable layer above the
current convective mixing ht. Default: 0.001 ! DPTMIN = 0.001 !
(DPTMIN) Units: deg. K/m
Depth of layer above current conv.
mixing height through which lapse Default: 200. ! DZZI = 200. !
rate is computed (DZZI) Units: meters

Minimum overland mixing height Default: 50. ! ZIMIN = 100. !


(ZIMIN) Units: meters
Maximum overland mixing height Default: 3000. ! ZIMAX = 3200. !
(ZIMAX) Units: meters
Minimum overwater mixing height Default: 50. ! ZIMINW = 100. !
(ZIMINW) -- (Not used if observed Units: meters
overwater mixing hts. are used)
Maximum overwater mixing height Default: 3000. ! ZIMAXW = 3200. !

8-26
Section 8: CALMET Model Files

Table 8-3 (Continued)


Sample CALMET Control File (CALMET.INP)
Input Group 6

(ZIMAXW) -- (Not used if observed Units: meters


overwater mixing hts. are used)

OVERWATER SURFACE FLUXES METHOD and PARAMETERS


(ICOARE) Default: 10 ! ICOARE = 10 !
0: original deltaT method (OCD)
10: COARE with no wave parameterization (jwave=0, Charnock)
11: COARE with wave option jwave=1 (Oost et al.)
and default wave properties
-11: COARE with wave option jwave=1 (Oost et al.)
and observed wave properties (must be in SEA.DAT files)
12: COARE with wave option 2 (Taylor and Yelland)
and default wave properties
-12: COARE with wave option 2 (Taylor and Yelland)
and observed wave properties (must be in SEA.DAT files)

Coastal/Shallow water length scale (DSHELF)


(for modified z0 in shallow water)
( COARE fluxes only)
Default : 0. ! DSHELF = 0. !
units: km

COARE warm layer computation (IWARM) ! IWARM = 0 !


1: on - 0: off (must be off if SST measured with
IR radiometer) Default: 0

COARE cool skin layer computation (ICOOL) ! ICOOL = 0 !


1: on - 0: off (must be off if SST measured with
IR radiometer) Default: 0

RELATIVE HUMIDITY PARAMETERS

3D relative humidity from observations or


from prognostic data? (IRHPROG) Default:0 ! IRHPROG = 0 !

0 = Use RH from SURF.DAT file


(only if NOOBS = 0,1)
1 = Use prognostic RH
(only if NOOBS = 0,1,2)

TEMPERATURE PARAMETERS

3D temperature from observations or


from prognostic data? (ITPROG) Default:0 !ITPROG = 0 !

0 = Use Surface and upper air stations


(only if NOOBS = 0)
1 = Use Surface stations (no upper air observations)
Use MM5/M3D for upper air data
(only if NOOBS = 0,1)

8-27
Section 8: CALMET Model Files

Table 8-3 (Continued)


Sample CALMET Control File (CALMET.INP)
Input Group 6

2 = No surface or upper air observations


Use MM5/M3D for surface and upper air data
(only if NOOBS = 0,1,2)

Interpolation type
(1 = 1/R ; 2 = 1/R**2) Default:1 ! IRAD = 1 !

Radius of influence for temperature


interpolation (TRADKM) Default: 500. ! TRADKM = 500. !
Units: km

Maximum Number of stations to include


in temperature interpolation (NUMTS) Default: 5 ! NUMTS = 5 !

Conduct spatial averaging of temp-


eratures (IAVET) (0=no, 1=yes) Default: 1 ! IAVET = 1 !
(will use mixing ht MNMDAV,HAFANG
so make sure they are correct)

Default temperature gradient Default: -.0098 ! TGDEFB = -0.0098 !


below the mixing height over
water (K/m) (TGDEFB)

Default temperature gradient Default: -.0045 ! TGDEFA = -0.0035 !


above the mixing height over
water (K/m) (TGDEFA)

Beginning (JWAT1) and ending (JWAT2)


land use categories for temperature ! JWAT1 = 55 !
interpolation over water -- Make ! JWAT2 = 55 !
bigger than largest land use to disable

PRECIP INTERPOLATION PARAMETERS

Method of interpolation (NFLAGP) Default = 2 ! NFLAGP = 2 !


(1=1/R,2=1/R**2,3=EXP/R**2)
Radius of Influence (km) (SIGMAP) Default = 100.0 ! SIGMAP = 100. !
(0.0 => use half dist. btwn
nearest stns w & w/out
precip when NFLAGP = 3)
Minimum Precip. Rate Cutoff (mm/hr) Default = 0.01 ! CUTP = 0.01 !
(values < CUTP = 0.0 mm/hr)
!END!

8-28
Section 8: CALMET Model Files

Table 8-3 (Continued)


Sample CALMET Control File (CALMET.INP)

Input Group 7

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

INPUT GROUP: 7 -- Surface meteorological station parameters


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

SURFACE STATION VARIABLES


(One record per station -- NSSTA records in all)

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

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

INPUT GROUP: 8 -- Upper air meteorological station parameters


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

UPPER AIR STATION VARIABLES


(One record per station -- NUSTA records in all)

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

Table 8-3 (Continued)


Sample CALMET Control File (CALMET.INP)

Input Group 9

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

INPUT GROUP: 9 -- Precipitation station parameters


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

PRECIPITATION STATION VARIABLES


(One record per station -- NPSTA records in all)

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

Table 8-4: CALMET Control File Inputs


File Type and Run Title
Variable Type Description Default Value

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)

GEODAT C*70 Geophysical data input file GEO.DAT

SRFDAT C*70 Hourly surface meteorological file SURF.DAT

CLDDAT C*70 Gridded cloud file CLOUD.DAT

PRCDAT C*70 Precipitation data file PRECIP.DAT

M3DDAT C*70 MM4/MM5/3D data file 3D.DAT

WTDAT C*70 Gridded weighting obs. vs. MM4 data file WT.DAT

METLST C*70 CALMET output list file CALMET.LST

METDAT C*70 Output meteorological data file (CALMET format) CALMET.DAT


Output meteorological data file
PACOUT.DAT
(MESOPAC/MESOPUFF format)

NUSTA Integer Number of upper air stations -

NOWSTA Integer Number of overwater stations -

NM3D Integer Number of 3D.Dat files used in run -

NIGF Integer Number of CALMET.Dat files used as initial guess -

LCFILES Logical Convert files names to lower case (T = yes, F = no) T

Subgroup (b)

UPDAT C*70 Upper air data files (repeated NUSTA times) UPn.DAT

Subgroup (c)

SEADAT C*70 Overwater station files (repeated NOWSTA times) SEAn.DAT

Subgroup (d)

M3DDAT C*70 M3D.DAT files (repeated NM3D times) MM5n.DAT

Subgroup (e)

IGFDAT C*70 Initial Guess CALMET.DAT files (repeated NIGF IGFn.DAT


times)

8-31
Section 8: CALMET Model Files

Table 8-4 (Continued)


Input Group 0
Variable Type Description Default Value

Subgroup (f)

DIADAT C*70 Preprocessed input met data DIAG.DAT

PRGDAT C*70 Gridded prognostic wind data file (CSUMM) PROG.DAT

TSTPRT C*70 Test file containing debug variables TEST.PRT

TSTOUT C*70 Test file containing final winds fields TEST.OUT

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

IBYR Integer Beginning year of the run (four digits) -

IBMO Integer Beginning month of the run -

IBDY Integer Beginning day of the run -

IBHR Integer Beginning Time (hour 00-23) of the run -

IBSEC Integer Beginning Time (second 0000-3599) of the run -

IEYR Integer Ending year of the run (four digits) -

IEMO Integer Ending month of the run -

IEDY Integer Ending day of the run -

IEHR Integer Ending Time (hour 00-23) of the run -

IESEC Integer Ending Time (second 0000-3599) of the run -


Base time zone (UTC-0500=EST, UTC-0600=CST,
ABTZ C*8 -
UTC-0700=MST,UTC-0800=PST)

NSECDT Integer Length of modeling time-step (seconds) 3600

IRTYPE Integer Run type 1


0=compute wind fields only
1=compute wind fields and
micrometeorological variables
(IRTYPE must be 1 to run CALPUFF or
CALGRID)

8-32
Section 8: CALMET Model Files

Table 8-4 (Continued)

Input Group 1
Variable Type Description Default Value

LCALGRD Logical Store extra data fields required by special modules in T


CALPUFF and in CALGRID
(enter T or F)
T=3-D fields of vertical velocity and
temperature stored in output file
F=these data fields are not stored in the
output file
(LCALGRD must be T to run CALGRID or
to use the subgrid scale complex terrain
option in CALPUFF)

ITEST Integer Flag to stop run after setup phase 2


(1 = stops run after SETUP, 2 = run continues)

Input Group 2 - Grid Control Parameters


Variable Type Description Default Value
PMAP* character*8 Map projection UTM
UTM : Universal Transverse Mercator
TTM : Tangential Transverse Mercator
LCC : Lambert Conformal Conic
PS : Polar Stereographic
EM : Equatorial Mercator
LAZA : Lambert Azimuthal Equal Area
FEAST real False Easting (km) for PMAP = TTM, LCC, or LAZA 0.0
FNORTH real False Northing (km) for PMAP = TTM, LCC, or 0.0
LAZA
IUTMZN integer UTM zone for PMAP = UTM -
UTMHEM character*1 Hemisphere for UTM projection (N or S) N
RLAT0 character*16 Reference latitude (degrees) of origin of map -
projection. Enter numerical value followed by N for
North Latitude or S for South Latitude. Used only if
PMAP= TTM, LCC, PS, EM, or LAZA

8-33
Section 8: CALMET Model Files

Table 8-4 (Continued)

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 -

Input Group 2 - Grid Control Parameters


Variable Type Description Default Value
DGRIDKM real Horizontal grid spacing (km) -
XORIGKM real Reference X coordinate* (km) of the southwest corner -
of grid cell (1,1)
YORIGKM real Reference Y coordinate* (km) of the southwest corner -
of grid cell (1,1)
NZ integer Number of vertical layers -
ZFACE real array Cell face heights (m). Note: Cell center height of -
layer "i" is (ZFACE(i+1) + ZFACE(i))/2. NZ+1
values must be entered.
* PMAP projections PS, EM, and LAZA are NOT AVAILABLE in CALMET

Table 8-4 (Continued)

Input Group 3 - Output Options


Variable Type Description Default Value

LSAVE logical Disk output control variable. If LSAVE=T, T


the gridded wind fields are stored in an
output disk file (CALMET.DAT).

8-34
Section 8: CALMET Model Files

IFORMO integer Unformatted output file type variable. If 1


IFORMO=1, a file suitable for input to
CALPUFF or CALGRID is generated. If
IFORMO=2, a file suitable for input to
MESOPUFF II is generated. (Used only if
LSAVE=T.)

LPRINT logical Printer output control variable. If F


LPRINT=T, the gridded wind fields are
printed every "IPRINF" hours to the output
list file (CALMET.LST).

IPRINF integer Printing interval for the output wind fields. 1


Winds are printed every "IPRINF" hours.
(Used only if LPRINT=T.)

IUVOUT integer array Control variable determining which layers of NZ*0


U and V horizontal wind components are
printed. NZ values must be entered,
corresponding to layers 1-NZ. (0=do not
print layer, 1=print layer.) Used only if
LPRINT=T.)

IWOUT integer array Control variable determining which layers of NZ*0


W vertical wind components are printed.
NZ values must be entered, corresponding to
cell face heights 2 to NZ+1. Note that W at
the ground (cell face height 1) is zero. (0=do
not print layer, 1=print layer.) (Used only if
LPRINT=T and LCALGRD=T.)

8-35
Section 8: CALMET Model Files

Table 8-4 (Continued)


Input Group 3 Output Options
Variable Type Description Default Value

ITOUT integer array Control variable determining which layers of NZ*0


temperature fields are printed. NZ values
must be entered, corresponding to cell face
heights 2 to NZ+1. (0=do not print layer,
1=print layer.) (Used only if LPRINT=T
and LCALGRD=T.)

STABILITY integer Control variable determining if gridded 0


fields of PGT stability classes are printed.
(0=do not print, 1=print.) (Used only if
LPRINT=T.)

USTAR integer Control variable determining if gridded 0


fields of surface friction velocities are
printed. (0=do not print, 1=print.) (Used
only if LPRINT=T.)

MONIN integer Control variable determining if gridded 0


fields of Monin-Obukhov lengths are
printed. (0=do not print, 1=print.) (Used
only if LPRINT=T.)

MIXHT integer Control variable determining if gridded 0


fields of mixing heights are printed. (0=do
not print, 1=print.) (Used only if
LPRINT=T.)

WSTAR integer Control variable determining if gridded 0


fields of convective velocity scales are
printed. (0=do not print, 1=print.) (Used
only if LPRINT=T.)

PRECIP integer Control variable determining if gridded 0


fields of hourly precipitation rates are
printed. (0=do not print, 1=print.) (Used
only if LPRINT=T.)

8-36
Section 8: CALMET Model Files

Table 8-4 (Continued)


Input Group 3 Output Options
Variable Type Description Default Value

SENSHEAT integer Control variable determining if gridded 0


fields of sensible heat fluxes are printed.
(0=do not print, 1=print.) (Used only if
LPRINT=T.)

CONVZI integer Control variable determining if gridded 0


fields of convective mixing heights are
printed. (0=do not print, 1=print.) (Used
only if LPRINT=T.)

LDB* logical Control variable for printing of input F


meteorological data and internal control
parameters. Useful for program testing and
debugging. If LDB=T, data will be printed
for time steps "NN1" through "NN2" to the
output list file (CALMET.LST).

NN1* integer First time step for which data controlled by 0


LDB switch are printed. (Used only if
LDB=T.) Note: IF NN1=NN2=0 and
LDB=T, only time-independent data will be
printed.

NN2* integer Last time step for which data controlled by 0


LDB switch are printed. (Used only if
LDB=T.)

LDBCST* logical Print distance to land internal variables F


switch

IOUTD* integer Control variable for writing the computed


wind fields to the wind field test disk files.
(0=do not write, 1=write.)

(Input Group 3 Continued)

8-37
Section 8: CALMET Model Files

Table 8-4 (Continued)


Input Group 3 - Output Options

Variable Type Description Default Value

NZPRN2* integer Number of levels, starting at the surface, printed 1


to the wind field testing and debug files (Units
41-45).

IPR0* integer Control variable for printing to the wind field 0


test files the interpolated wind components.
(0=do not print, 1=print.)

IPR1* integer Control variable for printing to the wind field 0


test files the terrain adjusted surface wind
components. (0=do not print, 1=print.) Used
only with objective analysis.

IPR2* integer Control variable for printing to the wind field 0


test files the smoothed wind components and
initial divergence fields. (0=do not print,
1=print).

IPR3* integer Control variable for printing to the wind field 0


test files the final wind speed and direction
fields. (0=do not print, 1=print.)

IPR4* integer Control variable for printing to the wind field 0


test files the final divergence fields. (0=do not
print, 1=print.)

IPR5* integer Control variable for printing to the wind field 0


test files the wind fields after kinematic effects
are added. (0=do not print, 1=print.)

IPR6* integer Control variable for printing to the wind field 0


test files the wind fields after the Froude number
adjustment is made. (0=do not print, 1=print.)

IPR7* integer Control variable for printing to the wind field 0


test files the wind fields after the slope flows are
added. (0=do not print, 1=print.)

(Input Group 3 Continued)

8-38
Section 8: CALMET Model Files

Table 8-4 (Continued)


Input Group 3 - Output Options

Variable Type Description Default Value

IPR8* integer Control variable for printing to the wind field 0


test files the final wind component fields.
(0=do not print, 1=print.)

*
Testing and debugging print options.

Input Group 4 - Meteorological Data Options

Variable Type Description Default Value

NOOBS integer No-Observation mode flag: 0

0 = Use surface, overwater, and upper air


stations

1 = Use surface and overwater stations (no


upper air observations); Use MM5 for upper
air data

2 = No surface, overwater, or upper air


observations; Use MM5 for surface,
overwater, and upper air data

NSSTA integer Number of surface meteorological stations -

NPSTA integer Number of precipitation stations; (NPSTA=-1: -


flag for use of MM5 precipitation data in place
of observations)

(Input Group 4 Continued)

8-39
Section 8: CALMET Model Files

Table 8-4 (Continued)


Input Group 4 - Meteorological Data Options

Variable Type Description Default Value

ICLOUD integer Cloud data file options 0


(0 = Gridded clouds not used
1 = Gridded CLOUD.DAT generated as
output
2 = Gridded CLOUD.DAT read as input
3 = Gridded cloud cover from prognostic
relative humidity)

IFORMS integer Control variable determining the format of the 2


input surface meteorological data
(1=unformatted, i.e., SMERGE output)
(2=formatted, i.e., free-formatted user input or
formatted SMERGE output)

IFORMP integer Control variable determining the format of the 2


input precipitation data
(1=unformatted, i.e., PMERGE output)
(2=formatted, i.e., free-formatted user input or
formatted PMERGE output)

IFORMC integer Control variable determining the format of the 2


CLOUD.DAT file
(1 = unformatted - CALMET unformatted
output)
2 = free formatted CALMET output or user
input)

8-40
Section 8: CALMET Model Files

Table 8-4 (Continued)


Input Group 5 - Wind Field Options and Parameters

Variable Type Description Default Value

IWFCOD integer Control variable determining which wind field 1


module is used. (0=objective analysis only,
1=diagnostic wind module.)

IFRADJ integer Control variable for computing Froude number 1


adjustment effects. (0=do not compute,
1=compute.)
(used only if IWFCOD=1).

IKINE integer Control variable for computing kinematic 0


effects. (0=do not compute, 1=compute.)
(used only if IWFCOD=1).

IOBR integer Control variable for using the O'Brien vertical 0


velocity adjustment procedure. (0=do not use,
1=use.)

ISLOPE integer Control variable for computing slope flow 1


effects. (0 = do not compute, 1 = compute).

IEXTRP integer Control variable for vertical extrapolation. If -4


ABS(IEXTRP)=1, no vertical extrapolation
from the surface wind data takes place. If
ABS(IEXTRP)=2, extrapolation is done using
a power law profile. If ABS(IEXTRP) = 3,
extrapolation is done using the values provided
in the FEXTRP array for each layer. If
ABS(IEXTRP) = 4 similarity theory is used.
If IEXTRP < 0, Layer 1 data at the upper air
stations are ignored. Layer 1 at an upper air
station is also ignored if the four-character
station name of the upper air station matches
that of a surface station.

(Input Group 5 Continued)

8-41
Section 8: CALMET Model Files

Table 8-4 (Continued)


Input Group 5 - Wind Field Options and Parameters

Variable Type Description Default Value

ICALM integer Control variable for extrapolation of calm 0


surface winds to layers aloft. (0 = do not
extrapolate calms, 1 = extrapolate calms)

BIAS real array Layer-dependent biases modifying the weights NZ*0


of surface and upper air stations. NZ values
must be entered. (-1 BIAS +1) Negative
BIAS reduces the weight of upper air stations
(e.g., BIAS = -0.1 reduces their weight by
10%). Positive BIAS reduces the weight of
surface stations (e.g., BIAS = 0.2 reduces their
weight by 20%). Zero BIAS leaves weights
unchanged.

IPROG integer Control variable determining if gridded 0


prognostic model field winds are used as input.
0 = No, (IWFCOD = 0 or 1)
1 = Yes, use CSUMM winds as Step 1 field,
(IWFCOD=0)
2 = Yes, use CSUMM winds as initial guess
field (IWFCOD=1)
3 = Yes, use winds from MM4.DAT file as
Step 1 field (IWFCOD=0)
4 = Yes, use winds from MM4.DAT file as
initial guess field (IWFCOD=1)
5 = Yes, use winds from MM4.DAT file as
observations (IWFCOD=0 or 1)
13 = Yes, use winds from MM5.DAT file as
Step 1 field (IWFCOD=0)
14 = Yes, use winds from MM5.DAT file as
initial guess field (IWFCOD=1)
15 = Yes, use winds from MM5.DAT file as
observations (IWFCOD=0 or 1)

(Input Group 5 Continued)

8-42
Section 8: CALMET Model Files

Table 8-4 (Continued)


Input Group 5 - Wind Field Options and Parameters

Variable Type Description Default Value

ISTEPPG integer Timestep (hours) of the prognostic model input 1


data

IGFMET integer Use coarse CALMET fields as initial guess 0


fields

LVARY logical Control variable for use of varying radius of F


influence. If no stations with valid data are
found within the specified radius of influence,
then the closest station with valid data will be
used. (T=use, F=do not use.)

RMAX1 real Maximum radius of influence over land in the -


surface layer (km). This parameter should
reflect the limiting influence of terrain features
on the interpolation at this level.

RMAX2 real Maximum radius of influence over land in -


layers aloft (km). RMAX2 is generally larger
than RMAX1 because the effects of terrain
decrease with height.

RMAX3 real Maximum radius of influence overwater (km). -


RMAX3 is used for all layers overwater. It
must be large enough to ensure that all grid
points over water are large enough to be within
the radius of influence of at least one
observation.

RMIN real Minimum radius of influence used in the wind 0.1


field interpolation (km). This parameter
should be assigned a small value (e.g., <1 km)
to avoid possible divide by zero errors in the
inverse-distance-squared weighting scheme.

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.

(Input Group 5 Continued)

8-43
Section 8: CALMET Model Files

Table 8-4 (Continued)


Input Group 5 - Wind Field Options and Parameters

Variable Type Description Default Value

TERRAD real Radius of influence of terrain features (km) -

R1 real Weighting parameter for the diagnostic wind -


field in the surface layer (km). This parameter
controls the relative weighting of the first-guess
wind field produced by the diagnostic wind field
model and the observations. R1 is the distance
from an observational station at which the
observation and the first-guess field are equally
weighted.

R2 real Weighting parameter for the diagnostic wind -


field in the layers aloft (km). R2 is applied in the
upper layers in the same manner as R1 is used in
the surface layer.

RPROG real Weighting parameter (km) for the prognostic -


wind field data

DIVLIM real Convergence criterion for the divergence 5.0E-6


minimization procedure

NITER integer Maximum number of iterations for the 50


divergence minimization procedure

NSMTH integer array Number of smoothing passes in each layer 2,(MXNZ-1)*4


NZ values must be entered.

NINTR2 integer array Maximum number of stations used in the 99


interpolation of data to a grid point for each layer
1-NZ. This allows only the "NINTR2" closest
stations to be included in the interpolation. The
effect of increasing NINTR2 is similar to
smoothing. NZ values must be entered.

CRITFN real Critical Froude number used in the evaluation of 1.0


terrain blocking effects

(Input Group 5 Continued)

8-44
Section 8: CALMET Model Files

Table 8-4 (Continued)


Input Group 5 - Wind Field Options and Parameters

Variable Type Description Default Value

ALPHA real Empirical parameter controlling the influence of 0.1


kinematic effects

FEXTR2 integer array Extrapolation values for layers 2 through NZ NZ*0.0


(FEXTR2(1) must be entered but is not used).
Used only if ABS(IEXTRP) 3.

NBAR integer Number of wind field interpolation barriers 0

KBAR integer Level (1 to NZ) up to which barriers apply NZ

XBBAR real array X coordinate (km) of the beginning of each -


barrier. "NBAR" values must be entered. (Used
only if NBAR > 0.)

YBBAR real array Y coordinate (km) of the beginning of each -


barrier. "NBAR" values must be entered. (Used
only if NBAR > 0.)

XEBAR real array X coordinate (km) of the end of each barrier. -


"NBAR" values must be entered. (Used only if
NBAR > 0.)

YEBAR real array Y coordinate (km) of the end of each barrier. -


"NBAR" values must be entered. (Used only if
NBAR > 0.)

IDIOPT1 integer Control variable for surface temperature input to 0


diagnostic wind field module. (0=compute
internally from surface data, 1=read preprocessed
values from the file DIAG.DAT.)

ISURFT integer Surface station number (between 1 and NSSTA) -


used for the surface temperature for the
diagnostic wind field module

(Input Group 5 Continued)

8-45
Section 8: CALMET Model Files

Table 8-4 (Continued)


Input Group 5 - Wind Field Options and Parameters

Variable Type Description Default Value

IDIOPT2 integer Control variable for domain-averaged 0


temperature lapse rate. (0=compute internally
from upper air data, 1=read preprocessed values
from the file DIAG.DAT.)

IUPT integer Upper air station number (between 1 and -


NUSTA) used to compute the domain-scale
temperature lapse rate for the diagnostic wind
field module

ZUPT real Depth (m) through which the domain-scale 200.


temperature lapse rate is computed

IDIOPT3 integer Control variable for initial-guess wind


components. (0=compute internally from upper
0
air, 1=read preprocessed values from the file
DIAG.DAT.)

IUPWND integer Upper air station number used to compute the


initial-guess wind components for the diagnostic
wind field module. Either specify one station
-1
from 1 to nusta or specify -1 indicating the use of
1/r2 interpolation to generate a spatially-variable
initial guess field.

(Input Group 5 Continued)

8-46
Section 8: CALMET Model Files

Table 8-4 (Continued)


Input Group 5 - Wind Field Options and Parameters

Variable Type Description Default Value

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. !).

IDIOPT4 integer Control variable for surface wind components.


(0=compute internally from surface data, 1=read 0
preprocessed values from the file DIAG.DAT.)

IDIOPT5 integer Control variable for upper air wind components.


(0=compute internally from upper air data, 1=read 0
preprocessed values from the file DIAG.DAT.)

LLBREZE logical Control variable for lake breeze region option.


LLBREZE=T, region interpolation is performed. F
LLBREZE=F, no region interpolation is performed.

NBOX integer Number of boxes defining region (used only if


-
LLBREZE=T)

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

XBCST real array Beginning x coordinate (km) of user defined coastline -


(straight line). (Used only if LLBREZE=T.) (One for
each box.)

YBCST real array Beiginning y coordinate (km) of user defined coastline -


(straight line). (Used only if LLBREZE=T.) (One for
each box.)

(Input Group 5 Continued)

8-47
Section 8: CALMET Model Files

Table 8-4 (Continued)


Input Group 5 - Wind Field Options and Parameters

Variable Type Description Default Value

XECST real array Beginning x coordinate (km) of user defined coastline -


(straight line). (Used only if LLBREZE=T.) (One for
each box.)

YECST real array Beginning y coordinate (km) of user defined coastline -


(straight line). (Used only if LLBREZE=T.) (One for
each box.)

NLB integer Number of meteorological stations (surface and upper -


air stations) in a box. (Used only if LLBREZE=T.)
(One for each box.)

METBXID integer Station ids of the meteorological stations within each -


box (surface stations first, then upper air stations).
(Used only if LLBREZE=T.) (One set per box.)

Input Group 6 - Mixing Height, Temperature, and Precipitation Parameters

Variable Type Description Default Value

CONSTB real Neutral mechanical mixing height constant 1.41

CONSTE real Convective mixing height constant 0.15

CONSTN real Stable mixing height constant 2400.

CONSTW real Overwater mixing height constant 0.16

FCORIOL real Absolute value of Coriolis parameter (1/s) 1.E-4

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.

ZIMAX real Maximum overland mixing height (m) 3000.

ZIMIN real Minimum overland mixing height (m) 50.

(Input Group 6 Continued)

8-48
Section 8: CALMET Model Files

Table 8-4 (Continued)


Input Group 6 - Mixing Height, Temperature, and Precipitation Parameters

Variable Type Description Default Value

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)

IAVEZI integer Conduct spatial averaging of mixing heights (0=no, 1


1=yes)

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.

HAFANG real Half-angle of upwind-looking cone for spatial 30.


averaging (deg.)

ILEVZI integer Layer of winds used in upwind averaging of mixing 1


heights. (Must be between 1 and NZ.)
Method to compute the convective mixing height
IMIXH integer 1
1: Maul-Carson for land and water cells
-1: Maul-Carson for land cells only - OCD mixing
height overwater
2: Batchvarova and Gryning for land and water cells
-2: Batchvarova and Gryning for land cells only OCD
mixing height overwater

THRESHL real Threshold buoyancy flux required to sustain 0.05


convective mixing height growth overland (expressed
as a heat flux per meter of boundary layer i.e. W/m3)

THRESHW real Threshold buoyancy flux required to sustain 0.05


convective mixing height growth overwater (expressed
as a heat flux per meter of boundary layer i.e. W/m3)
Option for overwater lapse rates used in convective
ITWPROG integer 1
mixing height growth
0 : use SEA.DAT (or default constant) lapse rates
1 : use prognostic lapse rates (only if IPROG>2)

(Input Group 6 Continued)

8-49
Section 8: CALMET Model Files

Table 8-4 (Continued)


Input Group 6 - Mixing Height, Temperature, and Precipitation Parameters

Variable Type Description Default Value


Land Use category ocean in 3D.DAT datasets: if
ILUOC3D integer 16
3D.DAT from MM5 version 3.0, iluoc3d = 16; if
MM4.DAT, typically iluoc3d = 7
Overwater surface fluxes method and parameters
ICOARE integer 10
0: original deltaT method (OCD)
10: COARE with no wave parameterization (jwave=0,
Charnock)
11: COARE with wave option jwave=1 (Oost et al)
and default wave properties
-11: COARE with wave option jwave=1 (Oost et al)
and observed wave properties (must be in SEA.DAT
files)
12: COARE with wave option 2 (Taylor and Yelland)
and default wave properties
-12: COARE with wave option 2 (Taylor and Yelland)
and observed wave properties (must be in SEA.DAT
files)

DSHELF real Coastal/Shallow water length scale (km) for modified 0.


z0 in shallow water (0 for deep-water form)

IWARM integer COARE warm layer computation (1: on - 0: off) must 1


be off if SST measured with IR radiometer

ICOOL integer COARE cool skin layer computation (1: on - 0: off) 1


must be off if SST measured with IR radiometer

IRHPROG integer 3D relative humidity from observations or from 0


prognostic data?

0 = Use RH from SURF.DAT file (if NOOBS = 0,1)


1 = Use prognostic RH (if NOOBS = 0,1,2)

(Input Group 6 Continued)

8-50
Section 8: CALMET Model Files

Table 8-4 (Continued)


Input Group 6 - Mixing Height, Temperature, and Precipitation Parameters

Variable Type Description Default Value

ITPROG integer 3D temperature from observations or from prognostic 0


data?

0 = Use surface and upper air stations (if NOOBS = 0)

1 = Use Surface stations (no upper air observations);


Use MM5 for upper air data (if NOOBS = 0,1)

2 = No surface or upper air observations; use MM5 for


surface and upper air data (if NOOBS = 0,1,2)

IRAD integer Type of temperature interpolation 1


(1 = 1/radius)
(2 = 1/radius2)

IAVET integer Conduct spatial averaging of temperatures (0 = no; 1 = 1


yes) (Will use MNMDAV and HAFANG)

TRADKM real Radius of influence for temperature interpolation (km) 500.

NUMTS integer Maximum number of stations to include in temperature 5


interpolation

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

JWAT1, integers Beginning land use category for temperature 999,


JWAT2 interpolation overwater. Range of land use categories 999
associated with major water bodies. Used for
overwater temperature interpolation

(Input Group 6 Continued)

8-51
Section 8: CALMET Model Files

Table 8-4 (Continued)


Input Group 6 - Mixing Height, Temperature, and Precipitation Parameters

Variable Type Description Default


Value

SIGMAP real If NFLAGP=1 or 2, SIGMAP is the radius of influence 100.0


for precipitation (km); if NFLAGP=3, SIGMAP is the
sigma weighting factor (km); if NFLAGP=3 and
SIGMAP=0.0, SIGMAP will be computed internally
as half of the minimum distance between any non-zero
precipitation station and any zero precipitation station.

CUTP real Cutoff precipitation rate (mm/hr); 0.01


values < CUTP are set to 0.0 mm/hr

Input Group 7 - Surface Meteorological Station Parameters


One line of data is entered for each surface station. If separate land/water interpolation is desired, this group must
include only land stations. Overwater data will be in SEAn.DAT files. Each line contains the following parameters
read in free format: CSNAM, IDSSTA, XSSTA, YSSTA, XSTZ, ZANEM. The data for each station are preceded
by ! SSn=..., where n is the station number (e.g., ! SS1=... for station #1, ! SS2=... for station #2, etc.). The station
variables (SS1, SS2, 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.
(Repeated for each of "NSSTA" Stations)

Variable Type Description

CSNAM char*4 Four-character station name. Must be enclosed within single


quotation marks (e.g., 'STA1', 'STA2', etc.). The opening
quotation mark must be in Column 9 or greater of each
record.

IDSSTA integer Station identification number

XSSTA real X coordinate* (km) of surface station

YSSTA real Y coordinate* (km) of surface station

XSTZ real Time zone of the station (e.g., 05=EST, 06=CST, 07=MST,
08=PST.)

ZANEM real Anemometer height (m)

* Coordinates are PMAP projection coordinates (see Input Group 2).

8-52
Section 8: CALMET Model Files

Table 8-4 (Continued)


CALMET Control File Inputs
Input Group 8 - Upper Air Station Parameters

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.

(Repeated for each of "NUSTA" Stations)

Variable Type Description

CUNAM char*4 Four-character upper air station name. Must be


enclosed within single quotation marks (e.g., ' STA1', '
STA2', etc.). The opening quotation mark must be in
Column 9 or greater of each record.

IDUSTA integer Station identification number

XUSTA real X coordinate* (km) of upper air station

YUSTA real Y coordinate* (km) of upper air station

XUTZ real Time zone of the station (e.g., 05=EST, 06=CST,


07=MST, 08=PST.)

* Coordinates are PMAP projection coordinates (see Input Group 2).

8-53
Section 8: CALMET Model Files

Table 8-4 (Concluded)


CALMET Control File Inputs
Input Group 9 - Precipitation Station Parameters

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.

(Repeated for each of "NPSTA" Stations)

Variable Type Description

CPNAM char*4 Four-character station name. Must be enclosed within


single quotation marks (e.g., ' PS1', 'PS2', etc.). The
opening quotation mark must be in Column 9 or
greater of each record.

IDPSTA integer Station identification number

XPSTA real X coordinate* (km) of surface station

YPSTA real Y coordinate* (km) of surface station

* Coordinates are PMAP projection coordinates (see Input Group 2).

8-54
Section 8: CALMET Model Files

8.2 Geophysical Data File (GEO.DAT)

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

Table 8-5: Sample GEO.DAT Geophysical Data File

GEO.DAT 2.0 Header structure with coordinate parameters


2
Produced by MAKEGEO Version: 2.26 Level: 041230
Demo Application
UTM
16N
NAS-C 02-21-2003
10 10 -54.000 -621.000 54.000 54.000
KM M
0 - LAND USE DATA -- 0=default lu categories, 1=new categories
40 40 40 40 40 40 40 40 40 40
40 40 40 40 40 40 40 40 40 40
40 40 40 40 40 40 40 40 40 40
40 40 40 40 40 40 40 40 40 40
40 40 40 40 40 40 40 40 40 40
40 40 40 40 40 40 40 40 40 40
40 40 40 40 40 40 40 40 40 40
40 40 40 40 40 40 40 40 40 40
40 40 40 40 40 40 40 40 40 40
40 40 40 40 40 40 40 40 40 40
1.0 - TERRAIN HEIGHTS - HTFAC - conversion to meters
185.078 147.205 146.924 156.446 139.487
138.010 173.812 203.405 232.758 222.710
221.813 144.507 142.191 136.302 123.083
133.693 158.348 192.281 224.074 247.634
316.083 189.884 139.814 144.073 122.189
123.002 146.333 195.571 215.208 263.082
253.774 157.182 121.245 121.407 137.051
144.876 152.340 200.471 246.724 318.109
182.808 98.6778 91.7038 129.091 138.407
165.023 190.390 225.489 253.910 314.988
114.193 77.9254 93.2705 115.583 141.910
190.386 187.382 204.256 306.503 448.922
78.3998 71.2785 95.3602 129.989 148.870
208.477 227.053 260.169 393.913 421.927
64.1938 79.1642 117.264 139.864 158.785
253.950 254.195 324.301 434.496 277.916
53.5650 84.5807 134.072 148.030 162.781
185.386 203.171 281.656 288.990 312.717
42.8075 71.3265 111.239 96.0823 122.349
189.143 181.916 249.689 271.627 278.849
0 - z0 --(0=default z0-lu table, 1=new z0-lu table, 2=gridded z0 field
0 - albedo --(0=default albedo-lu table,1=new albedo-lu table,2=gridded albedo field
0 - Bowen ratio --(0=default Bowen-lu table,1=new Bowen-lu table,2=gridded Bowen field
0 - soil heat flux param (HCG) --(0=default HCG-lu table,1=new HCG-lu table,2=gridded field
0 - anthropogenic heat flux (QF) --(0=default QF-lu table,1=new QF-lu table,2=gridded field
0 - leaf area index (XLAI) --(0=default XLAI-lu table,1=new XLAI-lu table,2=gridded field

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)

Surface Soil Heat Anthropogenic Leaf Area


Land Use Type Description Roughness (m) Albedo Bowen Ratio Flux Parameter Heat Flux (W/m2) Index

10 Urban or Built-up Land 1.0 0.18 1.5 .25 0.0 0.2

20 Agricultural Land - Unirrigated 0.25 0.15 1.0 .15 0.0 3.0

-20* Agricultural Land - Irrigated 0.25 0.15 0.5 .15 0.0 3.0

30 Rangeland 0.05 0.25 1.0 .15 0.0 0.5

40 Forest Land 1.0 0.10 1.0 .15 0.0 7.0

51 Small Water Body 0.001 0.10 0.0 1.0 0.0 0.0

54 Bays and Estuaries 0.001 0.01 0.0 1.0 0.0 0.0

55 Large Water Body 0.001 0.10 0.0 1.0 0.0 0.0

60 Wetland 1.0 0.10 0.5 .25 0.0 2.0

61 Forested Wetland 1.0 0.1 0.5 0.25 0.0 2.0

62 Nonforested Wetland 0.2 0.1 0.1 0.25 0.0 1.0

70 Barren Land 0.05 0.30 1.0 .15 0.0 0.05

80 Tundra .20 0.30 0.5 .15 0.0 0.0

90 Perennial Snow or Ice .05 0.70 0.5 .15 0.0 0.0


*
Negative values indicate "irrigated" land use

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

10 Urban or Built-up Land 11 Residential


12 Commercial and Services
13 Industrial
14 Transportation, Communications and Utilities
15 Industrial and Commercial Complexes
16 Mixed Urban or Built-up Land
17 Other Urban or Built-up Land

20 Agricultural Land 21 Cropland and Pasture


Unirrigated 22 Orchards, Groves, Vineyards, Nurseries, and Ornamental Horticultural Areas
23 Confined Feeding Operations
24 Other Agricultural Land

20 Agricultural Land 21 Cropland and Pasture


Irrigated 22 Orchards, Groves, Vineyards, Nurseries, and Ornamental Horticultural Areas
23 Confined Feeding Operations
24 Other Agricultural Land

30 Rangeland 31 Herbaceous Rangeland


32 Shrub and Brush Rangeland
33 Mixed Rangeland

40 Forest Land 41 Deciduous Forest Land


42 Evergreen Forest Land
43 Mixed Forest Land

50 Water 51 Streams and Canals


52 Lakes
53 Reservoirs
54 Bays and Estuaries
55 Oceans and Seas

60 Wetland 61 Forested Wetland


62 Nonforested Wetland

70 Barren Land 71 Dry Salt Flats


72 Beaches
73 Sandy Areas Other than Beaches
74 Bare Exposed Rock
75 Strip Mines, Quarries, and Gravel Pits
76 Transitional Areas
77 Mixed Barren Land

80 Tundra 81 Shrub and Brush Tundra


82 Herbaceous Tundra
83 Bare Ground
84 Wet Tundra
85 Mixed Tundra

90 Perennial Snow or Ice 91 Perennial Snowfields


92 Glaciers

Note: Negative values indicate irrigated land use.


*Values used for JWAT (Input Group 6) or IWAT (GEO.DAT Input File)

8-59
Section 8: CALMET Model Files

Table 8-8: GEO.DAT File Format


Record Variable Type Description

1 DATASET character*16 Dataset name (GEO.DAT)

1 DATAVER character*16 Dataset version

1 DATAMOD character*64 Dataset message field

2 NCOMM integer Number of comment records to follow

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 IUTMZN, integer, UTM zone, Hemisphere (N or S) read as format (i4,a1)


UTMHEM character*1
ONLY for PMAP = UTM

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

NCOMM+5 FEAST, real False Easting and Northing (km).


FNORTH
Included only if PMAP = TTM, LCC, or LAZA

NCOMM+5 or 6 DATUM character*8 DATUM Code

NCOMM+5 or 6 DATEN character*12 NIMA date (MM-DD-YYYY) for datum definitions

NCOMM+6 or 7 NXG integer Number of grid cells in the X direction

NCOMM+6 or 7 NYG integer Number of grid cells in the Y direction

NCOMM+6 or 7 XORG real Reference X coordinate of southwest corner of grid cell


(1,1)

NCOMM+6 or 7 YORG real Reference Y coordinate of southwest corner of grid cell


(1,1)

NCOMM+6 or 7 DGRIDX real Horizontal grid spacing: Easting

*
PMAP projections PS, EM, and LAZA are NOT AVAILABLE in CALMET

8-60
Section 8: CALMET Model Files

Table 8-8 (Continued)


GEO.DAT File Format
Record Variable Type Description

NCOMM +6 or 7 DGRIDY real Horizontal grid spacing: Northing (= DGRIDX)

NCOMM +7 or 8 XYUNIT character*4 Units for horizontal coordinates (KM)

NCOMM+8 or 9 IOPT1 integer Option flag for land use categories


(0=to use default land use categories)
(1=to specify new land use categories)

NCOMM +9 or 10** NLU integer Number of land use categories

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

Table 8-8 (Continued)


GEO.DAT File Format

Record Variable Type Description

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 line IOPT3 integer Option flat for input of albedo


0=compute gridded albedo values from land
use types using the default albedo-land use
table
1=compute gridded albedo values from land
use types using a new, user-specified
albedo-land use table
2=input a gridded albedo field
NEXT** ILU integer
Land use type and associated albedo. Two variables per line
NLU lines ALBLU real array read as:
do 120 I=1,NLU
120 READ(iogeo,*)ILU,ALBLU(I)

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

Table 8-8 (Continued)


GEO.DAT File Format

Record Variable Type Description

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

Table 8-8 (Continued)


GEO.DAT File Format

Record Variable Type Description

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

Table 8-8 (Continued)


GEO.DAT File Format

Record Variable Type Description

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

Table 8-8 (Concluded)


GEO.DAT File Format

Record Variable Type Description

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

8.3 Upper Air Data Files (UP1.DAT, UP2.DAT,...)

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

Table 8-9: Sample READ62 Output Data File (UPn.DAT)

(a) UP.DAT - Slash-delimited format

UP.DAT 2.1 Hour Start and End Times with Seconds


1
Produced by READ62 Version: 5.63 Level: 061020
NONE
UTC+0000
2002 2 12 0 2002 9 7 0 500. 1 1
F F F F
6201 14764 2002 1 2 12 0 2002 1 2 12 0 49 28
1007.0/ 16./279.3/160/ 10 1000.0/ 77./281.0/174/ 13 983.0/ 221./284.6/186/ 19 973.0/ 304./999.9/190/ 21
959.0/ 427./285.2/199/ 23 950.0/ 507./284.9/203/ 24 938.0/ 609./999.9/210/ 26 905.0/ 914./999.9/220/ 29
900.0/ 959./283.1/222/ 30 872.0/1219./999.9/225/ 31 850.0/1433./281.2/222/ 31 822.0/1710./278.5/223/ 30
810.0/1827./999.9/225/ 30 800.0/1931./277.6/226/ 29 780.0/2132./999.9/225/ 29 752.0/2437./999.9/225/ 28
750.0/2456./275.3/226/ 28 724.0/2742./999.9/230/ 27 708.0/2920./273.2/230/ 26 700.0/3011./272.9/231/ 26
697.0/3047./999.9/230/ 26 650.0/3601./269.6/236/ 27 645.0/3657./999.9/235/ 27 600.0/4230./266.1/240/ 31
597.0/4267./999.9/240/ 32 552.0/4875./999.9/240/ 36 550.0/4905./262.2/241/ 36 500.0/5630./257.9/240/ 38
6201 14764 2002 1 3 0 0 2002 1 3 0 0 49 19
994.0/ 16./276.5/240/ 7 979.0/ 140./279.7/250/ 11 968.0/ 233./280.3/254/ 14 950.0/ 388./280.0/254/ 18
933.0/ 536./279.6/250/ 19 900.0/ 832./280.4/243/ 22 898.0/ 852./280.5/242/ 22 850.0/1303./277.8/244/ 24
800.0/1795./275.8/251/ 29 750.0/2316./273.5/256/ 35 742.0/2402./273.1/256/ 36 728.0/2554./272.3/254/ 38
707.0/2787./273.0/249/ 39 700.0/2868./272.5/248/ 39 650.0/3457./268.6/241/ 35 603.0/4042./264.5/230/ 30
600.0/4081./264.4/230/ 30 550.0/4754./262.3/222/ 38 500.0/5482./259.9/219/ 53

(... records removed for clarity)

(b) UP.DAT - Comma-delimited format


UP.DAT 2.1 Hour Start and End Times with Seconds
1
Produced by READ62 Version: 5.63 Level: 061020
NONE
UTC+0000
2002 2 12 0 2002 9 7 0 500. 1 1
F F F F
6201 14764 2002 1 2 12 0 2002 1 2 12 0 49 28
1007.0, 16.,279.3,160, 10.0, 1000.0, 77.,281.0,174, 13.0, 983.0, 221.,284.6,186, 19.0, 973.0, 304.,999.9,190, 21.1,
959.0, 427.,285.2,199, 23.0, 950.0, 507.,284.9,203, 24.0, 938.0, 609.,999.9,210, 26.2, 905.0, 914.,999.9,220, 29.8,
900.0, 959.,283.1,222, 30.0, 872.0,1219.,999.9,225, 31.3, 850.0,1433.,281.2,222, 31.0, 822.0,1710.,278.5,223, 30.0,
810.0,1827.,999.9,225, 30.3, 800.0,1931.,277.6,226, 29.0, 780.0,2132.,999.9,225, 29.8, 752.0,2437.,999.9,225, 28.8,
750.0,2456.,275.3,226, 28.0, 724.0,2742.,999.9,230, 27.2, 708.0,2920.,273.2,230, 26.0, 700.0,3011.,272.9,231, 26.0,
697.0,3047.,999.9,230, 26.7, 650.0,3601.,269.6,236, 27.0, 645.0,3657.,999.9,235, 27.7, 600.0,4230.,266.1,240, 31.0,
597.0,4267.,999.9,240, 32.4, 552.0,4875.,999.9,240, 36.0, 550.0,4905.,262.2,241, 36.0, 500.0,5630.,257.9,240, 38.0
6201 14764 2002 1 3 0 0 2002 1 3 0 0 49 19
994.0, 16.,276.5,240, 7.0, 979.0, 140.,279.7,250, 11.0, 968.0, 233.,280.3,254, 14.0, 950.0, 388.,280.0,254, 18.0,
933.0, 536.,279.6,250, 19.0, 900.0, 832.,280.4,243, 22.0, 898.0, 852.,280.5,242, 22.0, 850.0,1303.,277.8,244, 24.0,
800.0,1795.,275.8,251, 29.0, 750.0,2316.,273.5,256, 35.0, 742.0,2402.,273.1,256, 36.0, 728.0,2554.,272.3,254, 38.0,
707.0,2787.,273.0,249, 39.0, 700.0,2868.,272.5,248, 39.0, 650.0,3457.,268.6,241, 35.0, 603.0,4042.,264.5,230, 30.0,
600.0,4081.,264.4,230, 30.0, 550.0,4754.,262.3,222, 38.0, 500.0,5482.,259.9,219, 53.0

(... records removed for clarity)

8-68
Section 8: CALMET Model Files

Table 8-10: READ62 Output File Format (Upn.DAT)

FILE HEADER RECORD #1

Columns Format Variable Description

1-16 A16 DATASET Dataset name (UP.DAT)

17-32 A16 DATAVER Dataset version

33-96 A64 DATAMOD Dataset message field

FILE HEADER RECORD #2 to NCOMM+2

Columns Format Variable Description

1-4 I4 NCOMM Number of comment records

1-80 A80 TITLE Comment (repeated NCOMM times)

FILE HEADER RECORD # NCOMM+3

Columns Format Variable Description

1-8 A8 PMAP Map projection (NONE)

FILE HEADER RECORD # NCOMM+4

Columns Format Variable Description

1-8 A8 ATZ Time Zone (UTC+hhmm) for data records

FILE HEADER RECORD # NCOMM+5

Columns Format Variable Description

2-6 I5 IBYR Beginning year of data in the file (YYYY)

7-11 I5 IBDAY Beginning Julian day of data in the file

12-16 I5 IBHR Beginning time (hour 00-23) of data in the


file

17-21 I5 IBSEC Beginning time (second 0000-3599) of data in


the file

22-26 I5 IEYR Ending year of data in the file (YYYY)

27-31 I5 IEDAY Ending Julian day of data in the file

32-36 I5 IEHR Ending time (hour 00-23) of data in the file

8-69
Section 8: CALMET Model Files

Table 8-10 (Continued)


READ62 Output File Format
(Upn.DAT)

Columns Format Variable Description

37-41 I5 IESEC Ending time (second 0000-3600) of data in


the file

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)

FILE HEADER RECORD # NCOMM+6

Columns Format Variable Description

6 L1 LHT Sounding level eliminated if height missing ?


(T=yes, F=no)

11 L1 LTEMP Sounding level eliminated if temperature


missing ? (T=yes, F=no)

16 L1 LWD Sounding level eliminated if wind direction


missing ? (T=yes, F=no)

21 L1 LWS Sounding level eliminated if wind speed


missing ? (T=yes, F=no)

8-70
Section 8: CALMET Model Files

Table 8-10 (Continued)


READ62 Output File Format
(Upn.DAT)

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

Columns Format* Variable Description

4-7 I4 ITPDK Label identifying data format of original


data (e.g., 5600 or 6201 for NCDC data or
9999 for non-NCDC data)

10-17 I8 IDSTN Station ID number

22-25 I4 IYRB Beginning Year of data

26-29 I4 IMOB Beginning Month of data

30-32 I3 IDYB Beginning Day of data

33-35 I3 IHRB Beginning Time (hour 00-23) of data

36-40 I5 ISECB Beginning Time (second 0000-3599) of data

45-48 I4 IYRE Ending Year of data

49-52 I4 IMOE Ending Month of data

53-55 I3 IDYE Ending Day of data

56-58 I3 IHRE Ending Time (hour 00-23) of data

59-63 I5 ISECE Ending Time (second 0000-3600) of data

66-70 I5 MLEV Number of levels in the original sounding

72-76 I5 ISTOP Number of levels extracted from the original


sounding and stored below

*
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

Table 8-10 (Concluded)


READ62 Output File Format
(UPn.DAT)

DATA RECORDS (Slash-delimited format)


(Up to four levels per record)

Columns Format* Variable Description

4-9 F6.1 PRES Pressure (mb)


11-15 F5.0 HEIGHT Height above sea level (m)
17-21 F5.1 TEMP Temperature (deg. K)
23-25 I3 WD Wind direction (degrees)
27-29 I3 WS Wind speed (m/s)

33-38 F6.1 PRES Pressure (mb)


40-44 F5.0 HEIGHT Height above sea level (m)
46-50 F5.1 TEMP Temperature (deg. K)
52-54 I3 WD Wind direction (degrees)
56-58 I3 WS Wind speed (m/s)

62-67 F6.1 PRES Pressure (mb)


69-73 F5.0 HEIGHT Height above sea level (m)
75-79 F5.1 TEMP Temperature (deg. K)
81-83 I3 WD Wind direction (degrees)
85-87 I3 WS Wind speed (m/s)

91-96 F6.1 PRES Pressure (mb)


98-102 F5.0 HEIGHT Height above sea level (m)
104-108 F5.1 TEMP Temperature (deg. K)
110-112 I3 WD Wind direction (degrees)
114-116 I3 WS Wind speed (m/s)

*
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

8.4 Surface Meteorological Data File (SURF.DAT)

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

Table 8-11: Sample SURF.DAT Output Data File (SURF.DAT)

SURF.DAT 2.1 Hour Start and End Times with Seconds


1
Produced by SMERGE Version: 5.601 Level: 051005
NONE
UTC-0700
1993 7 0 0 1993 7 5 3600 4
14606
14611
14745
14742
1993 7 0 0 1993 7 0 3600
3.087 220.000 999 0 263.706 98 956.997 0
3.087 140.000 999 0 263.706 98 956.997 0
3.087 180.000 999 0 263.706 98 956.997 0
3.087 90.000 999 0 263.706 98 956.997 0
1993 7 1 0 1993 7 1 3600
3.601 220.000 999 0 263.706 98 956.319 0
3.601 140.000 999 0 263.706 98 956.319 0
3.601 180.000 999 0 263.706 98 956.319 0
3.601 90.000 999 0 263.706 98 956.319 0
1993 7 2 0 1993 7 2 3600
3.087 220.000 999 0 263.150 99 955.642 0
3.087 140.000 999 0 263.150 99 955.642 0
3.087 180.000 999 0 263.150 99 955.642 0
3.087 90.000 999 0 263.150 99 955.642 0
1993 7 3 0 1993 7 3 3600
4.116 220.000 999 0 263.150 98 955.303 0
4.116 140.000 999 0 263.150 98 955.303 0
4.116 180.000 999 0 263.150 98 955.303 0
4.116 90.000 999 0 263.150 98 955.303 0
1993 7 4 0 1993 7 4 3600
3.087 220.000 999 0 262.594 98 955.303 0
3.087 140.000 999 0 262.594 98 955.303 0
3.087 180.000 999 0 262.594 98 955.303 0
3.087 90.000 999 0 262.594 98 955.303 0
1993 7 5 0 1993 7 5 3600
1.543 220.000 999 0 262.594 98 956.319 0
1.543 140.000 999 0 262.594 98 956.319 0
1.543 180.000 999 0 262.594 98 956.319 0
1.543 90.000 999 0 262.594 98 956.319 0

8-74
Section 8: CALMET Model Files

Table 8-12: Formatted SURF.DAT File - Header Records

FILE HEADER RECORD #1

Columns Format Variable Description

1-16 A16 DATASET Dataset name (SURF.DAT)

17-32 A16 DATAVER Dataset version

33-96 A64 DATAMOD Dataset message field

FILE HEADER RECORD #2 to NCOMM+2

Columns Format Variable Description

1-4 I4 NCOMM Number of comment records

1-80 A80 TITLE Comment (repeated NCOMM times)

FILE HEADER RECORD # NCOMM+3

Columns Format Variable Description

1-8 A8 PMAP Map projection (NONE)

FILE HEADER RECORD # NCOMM+4

Columns Format Variable Description

1-8 A8 ATZ Time Zone (UTC+hhmm) for data records

FILE HEADER RECORD # NCOMM+5

Variable Variable Type Description


No. *

1 IBYR integer Beginning year of the data in the file

2 IBJUL integer Beginning Julian day

3 IBHR integer Beginning time (hour 00-23)

4 IBSEC integer Beginning time (second 0000-3599)

5 IEYR integer Ending year

6 IEJUL integer Ending Julian day

7 IEHR integer Ending time (hour 00-23)

8 IESEC integer Ending time (second 0000-3600)

9 NSTA integer Number of stations


*
Variables are read in FORTRAN free-format

8-75
Section 8: CALMET Model Files

Table 8-12 (Continued)


Formatted SURF.DAT File - Data Records*

FILE HEADER RECORD # NCOMM+5

Columns Fornat Variable Description

1-8 I8 IDSTA Surface station ID number

Next NSTA HEADER RECORDS

Variable No. Variable Type Description

1 IYRB integer Beginning year of data

2 IJULB integer Beginning Julian day

3 IHRB integer Beginning time (hour 00-23)

4 ISECB integer Beginning time (second 0000-3599)

5 IYRE integer Ending year of data

6 IJULE integer Ending Julian day

7 IHRE integer Ending time (hour 00-23)

8 ISECE integer Ending time (second 0000-3600)

9 WS real array Wind speed (m/s)

10 WD real array Wind direction (degrees)

11 ICEIL integer array Ceiling height (hundreds of feet)

12 ICC integer array Opaque sky cover (tenths)

13 TEMPK real array Air temperature (degrees K)

14 IRH integer array Relative humidity (percent)

15 PRES real array Station pressure (mb)

16 IPCODE integer array Precipitation code


(0=no precipitation, 1-18=liquid precipitation, 19-
45=frozen precipitation)

*
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

8.5 Overwater Data Files (SEA1.DAT, SEA2.DAT, ...)

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

Table 8-13: Sample Overwater Data File (SEA1.DAT)

SEA.DAT 2.0 Header structure with coordinate parameters


2
Produced by BUOY Version: 1.21 Level: 051220
Data values taken from NODC Data Format 291
UTM
15N
NAS-C 02-21-2003
KM
42002 2002
357.21 2783.99 -94.417 10.0 2004 1 0 2004 1 0 -214.3 296.9 82.3 9999.0 9999.0 9999.0 6.6 115.0
357.21 2783.99 -94.417 10.0 2004 1 1 2004 1 1 -214.3 296.9 81.8 9999.0 9999.0 9999.0 6.1 109.0
357.21 2783.99 -94.417 10.0 2004 1 2 2004 1 2 -214.4 296.8 83.8 9999.0 9999.0 9999.0 6.0 101.0
357.21 2783.99 -94.417 10.0 2004 1 3 2004 1 3 -214.4 296.8 81.8 9999.0 9999.0 9999.0 7.3 101.0
357.21 2783.99 -94.417 10.0 2004 1 4 2004 1 4 -214.4 296.8 80.3 9999.0 9999.0 9999.0 6.9 104.0
357.21 2783.99 -94.417 10.0 2004 1 5 2004 1 5 -214.4 296.8 76.8 9999.0 9999.0 9999.0 5.8 111.0
357.21 2783.99 -94.417 10.0 2004 1 6 2004 1 6 -214.3 296.9 76.4 9999.0 9999.0 9999.0 7.5 107.0
357.21 2783.99 -94.417 10.0 2004 1 7 2004 1 7 -213.3 296.9 73.6 9999.0 9999.0 9999.0 7.6 115.0
357.21 2783.99 -94.417 10.0 2004 1 8 2004 1 8 -213.0 297.1 75.0 9999.0 9999.0 9999.0 6.9 121.0
357.21 2783.99 -94.417 10.0 2004 1 9 2004 1 9 -213.8 297.4 75.5 9999.0 9999.0 9999.0 8.1 124.0
357.21 2783.99 -94.417 10.0 2004 1 10 2004 1 10 -213.9 297.2 79.3 9999.0 9999.0 9999.0 7.7 123.0
357.21 2783.99 -94.417 10.0 2004 1 11 2004 1 11 -213.8 297.4 80.3 9999.0 9999.0 9999.0 7.7 127.0
357.21 2783.99 -94.417 10.0 2004 1 12 2004 1 12 -215.1 297.0 84.9 9999.0 9999.0 9999.0 7.0 120.0
357.21 2783.99 -94.417 10.0 2004 1 13 2004 1 13 -215.0 297.1 84.9 9999.0 9999.0 9999.0 7.0 123.0
357.21 2783.99 -94.417 10.0 2004 1 14 2004 1 14 -216.1 297.0 86.5 9999.0 9999.0 9999.0 8.0 127.0
357.21 2783.99 -94.417 10.0 2004 1 15 2004 1 15 -216.4 296.8 85.9 9999.0 9999.0 9999.0 9.4 126.0
357.21 2783.99 -94.417 10.0 2004 1 16 2004 1 16 -215.1 297.0 87.5 9999.0 9999.0 9999.0 8.1 120.0
357.21 2783.99 -94.417 10.0 2004 1 17 2004 1 17 -215.2 296.9 89.1 9999.0 9999.0 9999.0 7.8 120.0
357.21 2783.99 -94.417 10.0 2004 1 18 2004 1 18 -215.3 296.9 88.0 9999.0 9999.0 9999.0 7.8 122.0
357.21 2783.99 -94.417 10.0 2004 1 19 2004 1 19 -215.3 296.9 88.0 9999.0 9999.0 9999.0 7.0 122.0
357.21 2783.99 -94.417 10.0 2004 1 20 2004 1 20 -214.3 296.9 88.6 9999.0 9999.0 9999.0 7.1 116.0
357.21 2783.99 -94.417 10.0 2004 1 21 2004 1 21 -214.3 296.9 88.0 9999.0 9999.0 9999.0 6.7 118.0
357.21 2783.99 -94.417 10.0 2004 1 22 2004 1 22 -214.3 296.9 88.6 9999.0 9999.0 9999.0 7.1 119.0
357.21 2783.99 -94.417 10.0 2004 1 23 2004 1 23 -214.3 296.9 87.0 9999.0 9999.0 9999.0 7.0 122.0

8-78
Section 8: CALMET Model Files

Table 8-14: Overwater Data File Format (SEA1.DAT)

HEADER RECORDS

Record Variable Type Description

1 DATASET character*16 Dataset name (SEA.DAT)

1 DATAVER character*16 Dataset version 2.0

1 DATAMOD character*64 Dataset message field

2 NCOMM integer Number of comment records to follow

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 IUTMZN, integer, UTM zone, Hemisphere (N or S) read as format (i4,a1)


UTMHEM character*1
ONLY for PMAP = UTM

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

NCOMM+5 FEAST, real False Easting and Northing (km).


FNORTH
Included only if PMAP = TTM, LCC, or LAZA

NCOMM+5 or 6 DATUM character*8 DATUM Code

NCOMM+5 or 6 DATEN character*12 NIMA date (MM-DD-YYYY) for datum definitions

NCOMM +6 or 7 XYUNIT character*4 Units for horizontal coordinates (KM)

NCOMM +7 or 8 IDOWSTA integer 5-digit station ID number

NCOMM +7 or 8 CHOWSTA character*4 station name

*
PMAP projections PS, EM, and LAZA are NOT AVAILABLE in CALMET

8-79
Section 8: CALMET Model Files

Table 8-14 (Concluded)


Overwater Data File Format (SEA1.DAT)

DATA RECORDS

Variable Variable Type Description Default


No. * Value

1 XUTM real X coordinate (km) of the observational site -

2 YUTM real Y coordinate (km) of the observational site -

3 XOWLON real Longitude (degrees) of the observational site. Positive -


for Western Hemisphere, negative for Eastern
Hemisphere

4 ZOWSTA real Measurement height (m) above the surface of the water -
of the air temperature and air-sea temperature difference

5 I1YR integer Beginning year of the data in this record -

6 I1JUL integer Beginning Julian day of the data in this record -

7 I1HR integer Beginning hour (00-23 LST) of the data in this record -

8 I2YR integer Ending year of the data in this record -

9 I2JUL integer Ending Julian day of the data in this record -

10 I2HR integer Ending hour (00-23 LST) of the data in this record -

11 DTOW real Air-sea surface temperature difference (K) -

12 TAIROW real Air temperature (K) 288.7

13 RHOW real Relative humidity (%) 100

14 ZIOW real Overwater mixing height (m) -

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)

17 WSOW real Wind speed (m/s) -

18 WDOW real Wind direction (degrees) -

*
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

Table 8-15: Sample Precipitation Data File (PRECIP.DAT)


PRECIP.DAT 2.1 Hour Start and End Times with Seconds
1
Produced by PMERGE Version: 5.60 Level: 050921
NONE
UTC-0700
1990 1 0 0 1990 1 11 3600 16
170273
176905
177325
178641
270741
270998
272842
273182
274732
274808
275639
275780
276234
276818
278885
437054
1990 1 0 0 1990 1 0 3600
0.000 0.000 0.000 0.000 0.000 0.000 9999.000 0.000 0.000
0.000
0.254 0.000 0.000 0.000 0.000 0.000
1990 1 1 0 1990 1 1 3600
0.000 0.000 0.000 0.000 0.000 0.000 9999.000 0.000 0.000
0.000
0.762 0.000 0.000 2.540 0.000 0.000
1990 1 2 0 1990 1 2 3600
0.000 0.000 0.000 0.000 0.000 0.000 9999.000 0.000 0.000
0.000
0.762 0.000 0.000 0.000 0.000 0.000
1990 1 3 0 1990 1 3 3600
0.000 0.000 0.000 0.000 0.000 0.000 9999.000 0.000 0.000
2.540
1.016 0.000 0.000 0.000 0.000 0.000
1990 1 4 0 1990 1 4 3600
0.000 0.000 0.000 0.000 0.000 0.000 9999.000 0.000 0.000
0.000
0.762 2.540 2.540 2.540 0.000 0.000
1990 1 5 0 1990 1 5 3600
0.000 0.254 0.000 0.000 0.000 2.540 9999.000 0.000 2.540
0.000
1.016 0.000 0.000 0.000 0.000 0.000
1990 1 6 0 1990 1 6 3600
0.000 1.016 0.000 0.000 0.000 0.000 9999.000 0.000 0.000
0.000
1.524 0.000 0.000 0.000 0.000 0.000
1990 1 7 0 1990 1 7 3600
2.540 0.000 0.000 0.000 2.540 0.000 0.000 2.540 0.000
0.000
2.032 0.000 0.000 0.000 0.000 0.000
1990 1 8 0 1990 1 8 3600
0.000 0.000 2.540 0.000 0.000 0.000 0.000 0.000 0.000
0.000
2.540 0.000 0.000 0.000 0.000 0.000
1990 1 9 0 1990 1 9 3600
0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000
0.000
2.794 0.000 0.000 0.000 0.000 0.000
1990 1 10 0 1990 1 10 3600
0.000 0.000 0.000 2.540 0.000 0.000 0.000 0.000 0.000
0.000
2.540 0.000 0.000 0.000 0.000 0.000
1990 1 11 0 1990 1 11 3600
0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000
0.000
2.286 0.000 0.000 0.000 0.000 0.000

8-82
Section 8: CALMET Model Files

Table 8-16: Formatted Precipitation Data File Format (PRECIP.DAT)

HEADER RECORDS

FILE HEADER RECORD #1

Columns Format Variable Description

1-16 A16 DATASET Dataset name (PRECIP.DAT)

17-32 A16 DATAVER Dataset version

33-96 A64 DATAMOD Dataset message field

FILE HEADER RECORD #2 to NCOMM+2

Columns Format Variable Description

1-4 I4 NCOMM Number of comment records

1-80 A80 TITLE Comment (repeated NCOMM times)

FILE HEADER RECORD # NCOMM+3

Columns Format Variable Description

1-8 A8 PMAP Map projection (NONE)

FILE HEADER RECORD # NCOMM+4

Columns Format Variable Description

1-8 A8 ATZ Time Zone (UTC+hhmm) for data records

FILE HEADER RECORD # NCOMM+5

Variable No. * Variable Type Description

1 IBYR integer Beginning year of the data in the file

2 IBJUL integer Beginning Julian day

3 IBHR integer Beginning time (hour 00-23)

4 IBSEC integer Beginning time (second 00-3599)

5 IEYR integer Ending year

6 IEJUL integer Ending Julian day

7 IEHR integer Ending time (hour 00-23)

8 IESEC integer Ending time (second 00-3600)

9 NSTA integer Number of stations


*
Variables are read in FORTRAN free-format

8-83
Section 8: CALMET Model Files

Table 8-16 (Concluded)


Formatted Precipitation Data File Format (PRECIP.DAT)

Next NSTA HEADER RECORDS

Columns Fornat Variable Description

1-8 I8 IDSTA Surface station ID number

DATA RECORDS
(Repeated for each hour of data)

Variable * Type Description

IYRB integer Beginning year of data

IJULB integer Beginning Julian day of data

IHRB integer Beginning time (hour 00-23) of data

ISECB integer Beginning time (second 0000-3599) of data

IYRE integer Ending year of data

IJULE integer Ending Julian day of data

IHRE integer Ending time (hour 00-23) of data

ISECE integer Ending time (second 0000-3600) of data

XPREC real array Precipitation rates (mm/hr) for each precipitation


station in the station order specified in the header
records. Each data record is read as:
READ(io12,*) iyrb,ijulb,ihrb,isecb,
iyre,ijule,ihre,isece,
(XPREC(n),n=1,NSTA)
*
Variables are read in FORTRAN free-format
Missing value indicator is 9999.

8-84
Section 8: CALMET Model Files

8.7 Preprocessed Diagnostic Model Data File (DIAG.DAT)

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.

Control File Parameter Meteorological Variable

IDIOPT1 Domain-average surface temperature

IDIOPT2 Domain-average vertical temperature lapse rate

IDIOPT3 Domain-average winds (U and V components)

IDIOPT4 Hourly surface station winds (U and V components)

IDIOPT5 Hourly upper air station winds (U and V components)

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

Table 8-17: Sample DIAG.DAT Input Data File

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

Table 8-18: DIAG.DAT Input File

(Records 1-6 reported for each hour)

Record Variable No. Variable Type Description

1a 1 TINF real Domain-average surface temperature (deg. K). Input


format: (10X,F6.2).

2b 1 GAMMA real Domain-average temperature lapse rate (deg. K/km).


Input format: (10X,F5.1).

3c 1 UM real Domain average U wind component (m/s). Input


format: (10X,F5.1).

4c 1 VM real Domain average V wind component (m/s). Input


format: (10X,F5.1).

5d 1 CNAM char*4 Four-character surface station name ('LAST' indicates


end of surface data)

5d 1 WT real Data weighting factor (usually set to 1.0)

5d 1 US real U component of surface wind (m/s)

5d 1 VS real V component of surface wind (m/s)

(Repeated one station per record) Input format: (15X,A4,1X,3F5.1)

(DIAG.DAT Input File Continued)

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

Table 8-18 (Concluded)


DIAG.DAT Input File

Record Variable No. Variable Type Description

6e 1 CUNAM char*4 Four-character upper air station name.


('LAST' indicates end of upper air data.)

6e 2 WTU real Data weighting factor (usually set to 1.0)

6e 3 ULEV1 real U component of wind (m/s) at upper air station


for CALMET layer 1

6e 4 VELV1 real V component of wind (m/s) at upper air station


for CALMET layer 1

6e 5 ULEV2 real U component of wind (m/s) at upper air station


for CALMET layer 2

6e 6 VELV2 real V component of wind (m/s) at upper air station


for CALMET layer 2

e
Record included only if control file variable IDIOPT5=1

8-88
Section 8: CALMET Model Files

8.8 Prognostic Model Data File (PROG.DAT)

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)

Record Variable No. Variable Type Description

1 1 TIMEH real Prognostic model simulation time (hours)

2 1 NXP real Number of prognostic model grid cells in the


X direction

2 2 NYP real Number of prognostic model grid cells in the


Y direction

2 3 NZP real Number of prognostic model vertical layers

3 1 UTMXOP real Reference UTM X coordinate of prognostic


model grid origin

3 2 UTMYOP real Reference UTM Y coordinate of prognostic


model grid origin

3 3 DXKP real Grid spacing (km)

4 1 Z real Grid point heights (m) in prognostic model


array grid (NZP values)

Next 1 UP real Prognostic model U components (cm/s) of


NZP*NYP array wind. The following statements are used to
Records read the UP array:
do 10 k=1,NZP
do 10 j=1,NYP
10 READ(irdp)(UP(i,j,k),i=1,NXP)

Next 1 VP real Prognostic model V components (cm/s) of


NZP*NYP array wind. The following statements are used to
Records read the VP array:
do 20 k=1,NZP
do 20 j=1,NYP
20 READ(irdp)(VP(i,j,k)i=1,NXP)

(All records repeated each hour)

8-90
Section 8: CALMET Model Files

8.9 MM4/MM5/3D Model Data Files (MM4.DAT, MM5.DAT, 3D.DAT)

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)

THIS FILE CREATED 17:17:33 04-21-92


88071500 744 60 45 15 100.0
35 16 5 5
0.0500
0.1500
0.2500
0.3500
0.4500
0.5500
0.6500
0.7400
0.8100
0.8650
0.9100
0.9450
0.9700
0.9850
0.9950
35 16 34.756 -85.988 0272 02
36 16 34.715 -85.098 0321 06
37 16 34.666 -84.210 0386 04
38 16 34.609 -83.323 0406 04
39 16 34.544 -82.438 0319 04
35 17 35.488 -85.943 0277 04
36 17 35.447 -85.043 0343 04
37 17 35.397 -84.145 0464 04
38 17 35.340 -83.248 0581 04
39 17 35.274 -82.353 0539 04
35 18 36.222 -85.897 0252 04
36 18 36.180 -84.987 0323 04
37 18 36.130 -84.078 0443 04
38 18 36.071 -83.172 0609 04
39 18 36.004 -82.266 0670 04
35 19 36.957 -85.849 0217 02
36 19 36.914 -84.929 0282 04
37 19 36.863 -84.010 0365 04
38 19 36.804 -83.093 0504 04
39 19 36.737 -82.178 0639 04
35 20 37.693 -85.801 0192 04
36 20 37.650 -84.870 0244 02
37 20 37.599 -83.941 0293 04
38 20 37.539 -83.013 0373 04
39 20 37.470 -82.087 0509 04

(Continued)

8-93
Section 8: CALMET Model Files

Table 8-20 (Concluded)


Sample MM4/MM5 Derived Gridded Wind Data File (MM4.DAT)

88071500 35 16 1015.2 0.00 0


9849 00272 30056 24507
10000 00136 30657 00000
9250 00831 25232 26510
8500 01571 19814 29009
7000 03218 10661 03011
5000 05943 04971 07013
4000 07655 17170 05011
3000 09747 32566 05012
9805 00313 29656 24507
9716 00394 28852 24508
9584 00517 27846 25509
9362 00724 26038 26510
9053 01021 23823 27010
8654 01414 21015 28509
8168 01914 17612 30008
7548 02586 14058 00007
6752 03518 09064 03512
5867 04668 02866 05012
4982 05971 05171 07013
4097 07475 15971 05011
3212 09262 28767 05011
2327 11485 46364 05517
1442 14523 66159 02514
88071500 36 16 1015.2 0.00 0
9796 00321 29456 25007
10000 00136 30656 00000
9250 00831 25231 26511
8500 01571 20015 30009
7000 03217 10261 01510
5000 05940 04775 06512
4000 07654 17173 05513
3000 09746 32567 05014
9752 00361 29052 25007
9664 00442 28246 25007
9532 00565 27239 25509
9312 00772 25634 26511
9004 01068 23620 27010
8608 01461 20816 29509
8124 01960 17214 32009
7509 02630 13458 35509
6717 03559 08463 02011
5838 04706 02667 04011
4958 06006 05176 06513
4078 07508 16173 05513
3199 09290 28968 05012
2319 11505 46565 05018
1440 14530 66360 01515

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

Variable No. Variable Type Description

1 CTEXT char*36 Text date/time stamp for file creation

Header Record #2

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 NHRSMM4 integer Length of period (hours) of the data in the file

6 NXMM4 integer Number of columns in the MM4/MM5 domain

7 NYMM4 integer Number of rows in the MM4/MM5 domain

8 NZP integer Number of layers in the MM4/MM5 domain

9 PTOPMM4 real Top pressure level (mb) of the data in the file

format (4i2,4i4,f6.1)

Header Record #3

1 I1 integer I-index (X direction) of the lower left corner of the


extraction subdomain

2 J1 integer J-index (Y direction) of the lower left corner of the


extraction subdomain

3 NXP integer Number of grid cells in the X direction in the extraction


subdomain

4 NYP integer Number of grid cells in the Y direction in the extraction


subdomain

format (4i4)

8-95
Section 8: CALMET Model Files

Table 8-21 (Continued)


MM4/MM5 Derived Gridded Wind Data File Format (MM4.DAT)

HEADER RECORDS

Next NZP Records

Variable No. Variable Type Description

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)

Next NXP*NYP Records

Variable No. Variable Type Description


1 IINDEX integer I-index (X direction) of the grid point in the extraction
subdomain
2 JINDEX integer J-index (Y direction) of the grid point in the extraction
subdomain
3 XLATDOT real array N. Latitude (degrees) of the grid point in the extraction
subdomain (positive for the Northern Hemisphere,
negative for Southern Hemisphere)
4 XLONGDOT real array E. Longitude (degrees) of the grid point in the extraction
subdomain (N.B., the MM4/MM5 convention is different
than the CALMET convention: MM4/MM5 uses negative
values for Western Hemisphere and positive values for
Eastern Hemisphere. CALMET internally converts the
longitudes in the MM4.DAT file, so the MM4/MM5
convention must be used in the MM4.DAT file)
5 IELEVDOT integer array Terrain elevation of the grid point in the extraction
subdomain (m MSL)

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

Table 8-21 (Continued)


MM4/MM5 Derived Gridded Wind Data File Format (MM4.DAT)

DATA RECORDS (repeated for each grid cell in extraction subdomain)

Data Record

Variable No. Variable Type Description


1 MYR integer Year of MM4/MM5 wind data
2 MMO integer Month of MM4/MM5 wind data
3 MDAY integer Day of MM4/MM5 wind data
4 MHR integer Hour (GMT) of MM4/MM5 wind data
5 IX integer I-index (X direction) of grid cell
6 JX integer J-index (Y direction) of grid cell
7 PRES real surface pressure (mb)
8 RAIN real total rainfall 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 MM4 simulation
format (4i2,2i3,f7.1,f5.2,i2)

Data Records (one record for each mandatory Level(8)* plus `NZP' significant levels)

Variable No. Variable Type Description

1 - integer Pressure (tenths of millibars)

2 Z integer Elevation (meters above m.s.l.)

3** - integer Temperature/dew point depression in NWS format


(TTTDD)

4 WD integer Wind direction (degrees)

5 WS integer Wind speed (knots)

format of data (i5,3i6,5x)

format used by CALMET to read the data (5x,f6.0,6x,f4.0,f2.0)

* 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

Table 8-21 (Concluded)


MM4/MM5 Derived Gridded Wind Data File Format (MM4.DAT)

** TTT = C*10, odd number = negative temperature


even number = positive temperature
Examples: TTT = 202 20.2C
TTT = 203 -20.3C

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)

3D.DAT 2.1 Header Structure with Comment Lines


1
Produced by CALMM5 Version: 2.5 , Level: 050607
1 1 1 1 0 1
LCC 21.8530 45.0000 7.00 36.00 -1944.000 -1944.000 36.000 109 109 40
1 4 3 5 2 2 1 0 1 1 1 1 1 1 1 1 1 1 1 1 25
2004013006 2 6 6 29
25 10 30 15 1 29 35.1243 36.8535 6.6576 8.3718
0.998
0.995
0.992
0.988
0.983
0.978
0.972
0.966
0.959
0.951
0.942
0.931
0.920
0.907
0.892
0.876
0.857
0.837
0.813
0.787
0.758
0.725
0.688
0.646
0.599
0.547
0.494
0.449
0.408
25 10 6.6576 35.2281 1120 13 6.8291 35.3805 1283
26 10 6.6777 35.5531 1264 13 6.8489 35.7058 1426
27 10 6.6971 35.8780 1250 13 6.8680 36.0311 1422
28 10 6.7158 36.2031 1251 13 6.8864 36.3566 1430
29 10 6.7338 36.5283 1365 13 6.9042 36.6821 1456
30 10 6.7512 36.8535 1458 13 6.9212 37.0077 1433
25 11 6.9805 35.2076 1166 13 7.1523 35.3602 1415
26 11 7.0006 35.5331 1467 13 7.1721 35.6861 1745
27 11 7.0201 35.8588 1605 13 7.1913 36.0122 1828
28 11 7.0389 36.1846 1622 13 7.2098 36.3383 1807
29 11 7.0570 36.5104 1603 13 7.2276 36.6645 1721

8-99
Section 8: CALMET Model Files

30 11 7.0744 36.8363 1550 10 7.2447 36.9908 1590


25 12 7.3038 35.1869 1274 10 7.4759 35.3398 1668
26 12 7.3241 35.5131 1718 6 7.4958 35.6664 2045
27 12 7.3436 35.8395 1927 13 7.5151 35.9932 2090
28 12 7.3624 36.1659 1935 13 7.5336 36.3200 2014
29 12 7.3806 36.4924 1867 2 7.5515 36.6469 1925
30 12 7.3981 36.8190 1770 2 7.5687 36.9739 1843
25 13 7.6276 35.1661 1424 2 7.8000 35.3193 1768
26 13 7.6479 35.4930 1893 13 7.8200 35.6467 2089
27 13 7.6675 35.8201 2107 2 7.8393 35.9741 2205
28 13 7.6865 36.1472 2102 2 7.8579 36.3016 2099
29 13 7.7047 36.4744 1996 13 7.8758 36.6292 1945
30 13 7.7222 36.8017 1912 13 7.8930 36.9568 1934
25 14 7.9519 35.1452 1441 2 8.1245 35.2987 1567
26 14 7.9722 35.4729 1819 2 8.1445 35.6268 1851
27 14 7.9919 35.8006 2064 13 8.1639 35.9549 2110
28 14 8.0109 36.1284 2123 13 8.1826 36.2831 2079
29 14 8.0292 36.4563 1995 10 8.2005 36.6114 1856
30 14 8.0468 36.7843 1887 10 8.2179 36.9398 1811
25 15 8.2765 35.1243 1372 10 8.4494 35.2781 1420
26 15 8.2970 35.4526 1618 10 8.4695 35.6068 1636
27 15 8.3167 35.7810 1871 13 8.4889 35.9356 1887
28 15 8.3358 36.1096 2001 10 8.5077 36.2645 1930
29 15 8.3541 36.4381 1911 10 8.5257 36.5935 1779
30 15 8.3718 36.7668 1785 10 8.5431 36.9226 1695
2004013006 25 10 1012.3 0.03 0 26.5 406.8 293.1 14.17 62.2 2.1
291.0
890 1130 292.9 62 2.3 -0.01 8613.89-4.000
887 1154 292.8 62 2.8 -0.02 8513.60-4.000
884 1180 292.8 61 2.9 -0.02 8313.44-4.000
881 1210 292.8 60 3.1 -0.02 8213.29-4.000
878 1244 292.8 59 3.3 -0.02 8113.09-4.000
874 1282 292.7 58 3.5 -0.02 7912.85-4.000
870 1325 292.6 58 3.5 -0.02 7812.67-4.000
865 1373 292.5 58 3.4 -0.02 7812.52 0.000 0.005 0.000 0.000
859 1429 292.2 58 3.3 -0.02 7812.41 0.000 0.008 0.000 0.000
853 1491 291.9 59 3.1 -0.02 7812.33 0.000 0.010 0.000 0.000
846 1561 291.6 62 3.0 -0.02 7912.25 0.000 0.013 0.000 0.000
838 1641 291.1 68 2.9 -0.02 8012.17 0.000 0.015 0.000 0.000
830 1731 290.6 75 2.9 -0.02 8112.07 0.000 0.019 0.000 0.000
820 1834 289.9 83 2.9 -0.02 8311.98 0.000 0.021 0.000 0.000
809 1950 289.1 93 3.0 -0.02 8511.88 0.000 0.024 0.000 0.000
796 2083 288.2 102 3.2 -0.02 8811.73 0.000 0.026 0.000 0.000
782 2235 287.1 110 3.6 -0.01 9111.56 0.000 0.027 0.000 0.000
766 2408 285.9 118 4.1 -0.01 9411.29 0.000 0.027 0.000 0.000
748 2607 284.5 123 4.9 0.00 9810.90 0.000 0.029 0.000 0.000
728 2835 283.2 124 6.4 0.01 94 9.87 0.002 0.033 0.000 0.000
705 3099 281.4 124 7.5 0.02 92 8.92 0.028 0.036 0.000 0.000
680 3404 279.2 122 8.0 0.03100 8.62 0.182 0.033 0.000 0.000
651 3760 277.3 118 8.6 0.04100 7.96 0.433 0.028 0.000 0.000
618 4178 275.3 110 8.4 0.05 98 7.01 0.342 0.027 0.000 0.000
581 4671 272.9 96 7.7 0.04 90 5.77 0.009 0.059 0.000 0.000

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)

Header Record #2 to NCOMM+2


1 NCOMM Integer Number of comment records
1 COMMENT Char*132 Comments (repeated NCOMM times)
Format(a132)
Header Record # NCOMM+3
Variable No. Variable Type Description
1 IOUTW Integer Flag indicating if vertical velocity is recorded.
1 IOUTQ Integer Flag indicating if relative humidity and vapor mixing
ratios are recorded
1 IOUTC Integer Flag indicating if cloud and rain mixing ratios are
recorded.
1 IOUTI Integer Flag indicating if ice and snow mixing ratios are
recorded.
1 IOUTG Integer Flag indicating if graupel mixing ratio is recorded.
1 IOSRF Integer Flag indicating if surface 2-D files are created.
Format(6i3)

8-102
Section 8: CALMET Model Files

Table 8-23 (Continued)


MM5/RUC Derived Gridded Wind Data File Format (3D.DAT)

HEADER RECORDS

Header Record # NCOMM+4

Variable No. Variable Type Description

1 MAPTXT char*3 Map projection


LCC: Lambert Land Conformal Projection

2 RLATC real Center latitude (positive for northern hemisphere)

3 RLONC real Center longitude (positive for eastern hemisphere)

4 TRUELAT1 real First true latitude

5 TRUELAT2 real Second true latitude

6 X1DMN real SW dot point X coordinate (km, Grid 1,1) in original


domain

7 Y1DMN real SW dot point Y coordinate (km, Grid 1,1) in original


domain

8 DXY real Grid size (km)

9 NX integer Number of grids in X-direction (West-East) in


original domain

10 NY integer Number of grids in Y-direction (South-North) in


original domain

11 NZ integer Number of sigma layers in original domain

Format(a4,f9.4,f10.4,2f7.2,2f10.3,f8.3,2i4,i3)

8-103
Section 8: CALMET Model Files

Table 8-23 (Continued)


MM5/RUC Derived Gridded Wind Data File Format (3D.DAT)

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

Table 8-23 (Continued)


MM5/RUC Derived Gridded Wind Data File Format (3D.DAT)

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

Table 8-23 (Continued)


MM5/RUC Derived Gridded Wind Data File Format (3D.DAT)

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)

Header Record #NCOMM+7

Variable No. Variable Type Description


1 NX1 integer I-index (X direction) of the lower left corner of
the extraction subdomain
2 NY1 integer J-index (Y direction) of the lower left corner of
the extraction subdomain
3 NX2 integer I-index (X direction) of the upper right corner
of the extraction subdomain
4 NY2 integer J-index (Y direction) of the upper right corner
of the extraction subdomain

8-106
Section 8: CALMET Model Files

Table 8-23 (Continued)


MM5/RUC Derived Gridded Wind Data File Format (3D.DAT)

HEADER RECORDS
Header Record #NCOMM+7

5 NZ1 integer k-index (Z direction) of lowest extracted layer

6 NZ2 integer k-index (Z direction) of hightest extracted


layer
7 RXMIN real Westernmost E. longitude (degrees) in the
subdomain
8 RXMAX real Easternmost E. longitude (degrees) in the
subdomain
9 RYMIN real Southernmost N. latitude (degrees) in the
subdomain
10 RYMAX real Northernmost N. latitude (degrees) in the
subdomain

format (6i4,2f10.4,2f9.4)

Next NZP Records

Variable No. Variable Type Description


1 SIGMA real array Sigma-p values used by MM5 to define each of the
NZP layers (half-sigma levels)
Read as:
do 10 I=1,NZP
10 READ (iomm4,20) SIGMA(I)
20 FORMAT (F6.3)

8-107
Section 8: CALMET Model Files

Table 8-23 (Continued)


MM5/RUC Derived Gridded Wind Data File Format (3D.DAT)

HEADER RECORDS

Next NXP*NYP Records


Variable Variable Type Description
No.
1 IINDEX integer I-index (X direction) of the grid point in the
extraction subdomain
2 JINDEX integer J-index (Y direction) of the grid point in the
extraction subdomain
3 XLATDOT real array N. Latitude (degrees) of the grid point in the
extraction subdomain (positive for the Northern
Hemisphere, negative for Southern Hemisphere)
4 XLONGDOT real array E. Longitude (degrees) of the grid point in the
extraction subdomain (N.B., the MM4/MM5
convention is different than the CALMET
convention: MM4/MM5 uses negative values for
Western Hemisphere and positive values for
Eastern Hemisphere. CALMET internally
converts the longitudes in the MM5.DAT file, so
the MM4/MM5 convention must be used in the
MM5.DAT file)
5 IELEVDOT integer Terrain elevation of the grid point in the extraction
array subdomain (m MSL)
6 ILAND integer MM5 landuse categories at cross points
array
7 XLATCRS real array Same as XLATDOT but at cross point
8 XLATCRS real array Same as XLATDOT but at cross point
9 IELEVCRS integer Same as IELEVDOT but at cross point
array
Format (2i4, f9.4, f10.4, i5, i3, 1x, f9.4, f10.4,i5)

8-108
Section 8: CALMET Model Files

Table 8-23 (Continued)


MM5/RUC Derived Gridded Wind Data File Format (3D.DAT)

DATA RECORDS (repeated for each grid cell in extraction subdomain)

Data Record

Variable Variable Type Description


No.
1 MYR integer Year of MM5 wind data (YYYY)
2 MMO integer Month of MM5 wind data (MM)
3 MDAY integer Day of MM5 wind data (DD)
4 MHR integer Hour (GMT) of MM5 wind data (HH)
5 IX integer I-index (X direction) of grid cell
6 JX integer J-index (Y direction) of grid cell

7 PRES real sea level pressure (hPa)

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

8-109
Section 8: CALMET Model Files

Table 8-23 (Continued)


MM5/RUC Derived Gridded Wind Data File Format (3D.DAT)

DATA RECORDS (repeated for each grid cell in extraction subdomain)

Data Record

Variable Variable Type Description


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

NZP*Data Records

Variable Variable Type Description


No.
1 PRES integer Pressure (in millibars)
2 Z integer Elevation (meters above m.s.l.)
3 TEMPK integer Temperature (o K)
4 WD integer Wind direction (degrees)
5 WS real Wind speed (m/s)
6w W real Vertical velocity (m/s)
7q RH integer Relative humidity (%)
8q VAPMR real Vapor mixing ratio (g/kg)
9c * CLDMR real Cloud mixing ratio (g/kg)

8-110
Section 8: CALMET Model Files

Table 8-23 (Concluded)


MM5/RUC Derived Gridded Wind Data File Format (3D.DAT)

DATA RECORDS (repeated for each grid cell in extraction subdomain)

NZP*Data Records

Variable Variable Type Description


No.
10c * RAINMR real Rain mixing ratio (g/kg)
11i *
ICEMR real Ice mixing ratio (g/kg)
12i *
SNOWMR real Snow mixing ratio (g/kg)
13g *
GRPMR real Graupel mixing ratio (g/kg)

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

8.10 Terrain Weighting Factor Data File (WT.DAT)

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:

Step 1 field (IPROG = 3 or 13)


initial guess field (IPROG = 4 or 14)
"observation" (IPROG = 5 or 15)

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

Table 8-24: Sample Terrain Weighting Factor Data File (WT.DAT)

Sensitivity Power for Wz = 2.00000


Sensitivity Power for Ws = 2.00000
Significant Length-Scale (m) = 10.0000
Fine-Grid : 342.0 -135.0 25 23 18.000
Coarse-Grid : -80.0 -680.0 24 21 80.000

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

Table 8-24 (Continued)


Sample Terrain Weighting Factor Data File (WT.DAT)

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

Table 8-24 (Continued)


Sample Terrain Weighting Factor Data File (WT.DAT)

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

Table 8-24 (Continued)


Sample Terrain Weighting Factor Data File (WT.DAT)

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

Table 8-24 (Continued)


Sample Terrain Weighting Factor Data File (WT.DAT)

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

Table 8-24 (Concluded)


Sample Terrain Weighting Factor Data File (WT.DAT)

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

Table 8-25: Terrain Weighting Factor Data File Format (WT.DAT)

HEADER RECORDS

Header Record #1

Variable No. Variable Type Description

1 C1 char*42 Documentation for Wzi

Header Record #2

Variable No. Variable Type Description

1 C2 char*42 Documentation for Ws

Header Record #3

Variable No. Variable Type Description

1 C3 char*42 Documentation for RMSo

Header Record #4

Variable No. Variable Type Description

1 X0FIN real X coordinate (km) of fine grid origin (i.e., origin of


CALMET grid)

2 Y0FIN real Y coordinate (km) of fine grid origin

3 NXFIN integer Number of columns in the fine grid domain

4 NYFIN integer Number of rows in the fine grid domain

5 DFIN real Horizontal grid spacing (km) of fine grid

format (15x,2f8.1,2i5,f8.3)

8-119
Section 8: CALMET Model Files

Table 8-25 (Continued)


Terrain Weighting Factor Data File Format (WT.DAT)

HEADER RECORDS

Header Record #5

Variable No. Variable Type Description

1 X0CRS real X (km) coordinate of coarse grid origin (i.e., origin of


MM4 grid)

2 Y0CRS real Y coordinate (km) of coarse grid origin

3 NXCRS integer Number of columns in the coarse grid domain

4 NYCRS integer Number of rows in the coarse grid domain

5 DCRS real Horizontal grid spacing (km) of coarse grid

format (15x,2f8.1,2i5,f8.3,//)

DATA RECORDS (repeated for NZ layers)

Record Variable Variable Type Description


No.

1 1 HT real Grid point height (m) of CALMET layers format


(12x,f12.4/)

2* - - - Line of text containing i indices

Next NY 1 WO real array Terrain weighting factors. The following statements


records are used to read the WO array:
do 15 JJ=NYFIN,1,-1
15 READ (io99,113) (WO(i,jj,k),i=1,nxfin)
113 FORMAT (6x,150(1x,f3.2)/)

NY+3* - - - Line of text containing i indices

* Line skipped by CALMET

8-120
Section 8: CALMET Model Files

8.11 CALMET Output 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.

CALMET.DAT File - Header Records

The CALMET.DAT file consists of a set of up to fifteen header records, plus a variable number of
comment records, followed by a set of hourly data records. The header records contain file identification
labels, descriptive titles of the CALMET run (including a complete image of the CALMET control file)
as comment records, information including the horizontal and vertical grid systems of the meteorological
grid, the number, type, and coordinates of the meteorological stations included in the CALMET run,
gridded fields of surface roughness lengths, land use, terrain elevations, leaf area indexes, and a 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:

c --- Header record #1 - File Declaration -- 24 words


write(iomet) DATASET,DATAVER,DATAMOD

c --- Header record #2 - Number of comment lines -- 1 word


write(iomet) NCOM

c --- Header record #3 to NCOM+2 (Comment record section) -- 33 words each


write(iomet) COMMENT

c --- Header record #NCOM+3 - run control parameters -- 39 words


write(iomet) IBYR,IBMO,IBDY,IBHR,IBSEC,
2 IEYR,IEMO,IEDY,IEHR,IESEC,AXTZ,IRLG,IRTYPE,
3 NX,NY,NZ,DGRID,XORIGR,YORIGR, IWFCOD,NSSTA,

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

c --- Header records #NCOM+5 & 6 - x, y coordinates of surface stations


c --- (NSSTA words each record)
if(nssta.ge.1)then
write(iomet)CLAB2,IDUM,IDUM,IDUM,IDUM,XSSTA
write(iomet)CLAB3,IDUM,IDUM,IDUM,IDUM,YSSTA
endif

c --- Header records #NCOM+7 & 8 - x, y coordinates of upper air stations


c --- (NUSTA words each record)
if(nusta.ge.1)then
write(iomet)CLAB4,IDUM,IDUM,IDUM,IDUM,XUSTA
write(iomet)CLAB5,IDUM,IDUM,IDUM,IDUM,YUSTA
endif

c --- Header records #NCOM+9 & 10 - x, y coordinates of precipitation stations


c --- (NPSTA words each record)
if(npsta.ge.1)then
write(iomet)CLAB6,IDUM,IDUM,IDUM,IDUM,XPSTA
write(iomet)CLAB7,IDUM,IDUM,IDUM,IDUM,YPSTA
endif

c --- Header record #NCOM+11 - surface roughness lengths (NX * NY words)


write(iomet)CLAB8,IDUM,IDUM,IDUM,IDUM,Z0

c --- Header record #NCOM+12 - land use categories (NX * NY words)


write(iomet)CLAB9,IDUM,IDUM,IDUM,IDUM,ILANDU

c --- Header record #NCOM+13 - elevations (NX * NY words)


write(iomet)CLAB10,IDUM,IDUM,IDUM,IDUM,ELEV

c --- Header record #NCOM+14 - leaf area index (NX * NY words)


write(iomet)CLAB11,IDUM,IDUM,IDUM,IDUM,XLAI

c --- Header record #NCOM+15 - nearest surface station no. to each


c --- grid point (NX * NY words)
if(nssta.ge.1)then
write(iomet)CLAB12,IDUM,IDUM,IDUM,IDUM,NEARS
endif

8-122
Section 8: CALMET Model Files

where the following declarations apply:

real ZFACEM(nz+1),XSSTA(nssta),YSSTA(nssta),XUSTA(nusta),YUSTA(nusta)
real XPSTA(npsta),YPSTA(npsta)
real Z0(nx,ny),ELEV(nx,ny),XLAI(nx,ny)
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

Table 8-26: CALMET.DAT file - Header Records

Header Record Variable Variable Type a Description


No. No.

1 1 DATASET char*16 Dataset name (CALMET.DAT)

1 2 DATAVER char*16 Dataset version

1 3 DATAMOD char*64 Dataset message field

2 1 NCOM integer Number of comment records to follow

3 to NCOM+2 1 COMMENT char*132 Comment record (repeated NCOM times), each containing
an image of one line of the CALMET control file, or other
information

NCOM+3 1 IBYR integer Beginning year of CALMET run

NCOM+3 2 IBMO integer Beginning month

NCOM+3 3 IBDY integer Beginning day

NCOM+3 4 IBHR integer Beginning time (hour 00-23)

NCOM+3 5 IBSEC integer Beginning time (second 0000-3599)

NCOM+3 6 IEYR integer Ending year of CALMET run

NCOM+3 7 IEMO integer Ending month

NCOM+3 8 IEDY integer Ending day

NCOM+3 9 IEHR integer Ending time (hour 00-23)

NCOM+3 10 IESEC integer Ending time (second 0000-3599)

NCOM+3 11 AXTZ C*8 Base time zone (e.g., UTC-0500=EST, UTC-0600=CST,


UTC-0700=MST, UTC-0800=PST)

NCOM+3 12 IRLG integer Run length (hours)

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

NCOM+3 14 NX integer Number of grid cells in the X direction

NCOM+3 15 NY integer Number of grid cells in the Y direction

NCOM+3 16 NZ integer Number of vertical layers

NCOM+3 17 DGRID real Grid spacing (m)

8-124
Section 8: CALMET Model Files

Table 8-26 (Continued)


CALMET.DAT file - Header Records

Header Record Variable Variable Type a Description


No. No.

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 21 NSSTA integer Number of surface meteorological stations

NCOM+3 22 NUSTA integer Number of upper air stations

NCOM+3 23 NPSTA integer Number of precipitation stations

NCOM+3 24 NOWSTA integer Number of over water stations

NCOM+3 25 NLU integer Number of land use categories

NCOM+3 26 IWAT1 integer Range of land use categories

NCOM+3 27 IWAT2 integer Corresponding to water surfaces (IWAT1 or IWAT2,


inclusive)

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 29 PMAPb char*8 Map projectionb UTM :


Universal Transverse Mercator TTM : Tangential
Transverse Mercator LCC : Lambert Conformal Conic
PS : Polar Stereographic EM :
Equatorial Mercator LAZA : Lambert
Azimuthal Equal Area

NCOM+3 30 DATUM char*8 DATUM Code for grid coordinates

NCOM+3 31 DATEN char*12 NIMA date (MM-DD-YYYY) for datum definitions

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

NCOM+3 34 UTMHEM char*4 Hemisphere for UTM projection (N or S)

NCOM+3 35 IUTMZN integer UTM zone for PMAP = UTM

a
char*N = Character*N

8-125
Section 8: CALMET Model Files

Table 8-26 (Continued)


CALMET.DAT file - Header Records

Header Record Variable Variable Type a Description


No. No.

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 1 CLAB1 char*8 Variable label ('ZFACE')

NCOM+4 2-5 IDUM integer Variable not used

NCOM+4 6 ZFACEM real array Heights (m) of cell faces (NZ + 1 values)

NCOM+5b 1 CLAB2 char*8 Variable label ('XSSTA')

NCOM+5b 2-5 IDUM integer Variable not used

NCOM+5b 6 XSSTA real array X coordinate (m) of each surface met. station

NCOM+6b 1 CLAB3 char*8 Variable label ('YSSTA')

NCOM+6b 2-5 IDUM integer Variable not used

NCOM+6b 6 YSSTA real array Y coordinate (m) of each surface met. station

NCOM+7c 1 CLAB4 char*8 Variable label ('XUSTA')

NCOM+7c 2-5 IDUM integer Variable not used

NCOM+7c 6 XUSTA real array X coordinate (m) of each upper air met. station

NCOM+8c 1 CLAB5 char*8 Variable label ('YUSTA')

NCOM+8c 2-5 IDUM integer Variable not used

NCOM+8c 6 YUSTA real array Y coordinate (m) of each upper air met. station

NCOM+9d 1 CLAB6 char*8 Variable label ('XPSTA')


a b
char*N = Character*N PMAP =
EM, PS, and LAZA is NOT AVAILABLE in CALMET

8-126
Section 8: CALMET Model Files

Table 8-26 (Concluded)


CALMET.DAT file - Header Records

Header Record Variable Variable Type a Description


No. No.

NCOM+9d 2-5 IDUM integer Variable not used

NCOM+9d 6 XPSTA real array X coordinate (m) of each precipitation station

NCOM+10d 1 CLAB7 char*8 Variable label ('YPSTA')

NCOM+10d 2-5 IDUM integer Variable not used

NCOM+10d 6 YPSTA real array Y coordinate (m) of each precipitation station

NCOM+11 1 CLAB8 char*8 Variable label ('Z0')

NCOM+11 2-5 IDUM integer Variable not used

NCOM+11 6 Z0 real array Gridded field of surface roughness lengths (m) for each grid
cell

NCOM+12 1 CLAB9 char*8 Variable label ('ILANDU')

NCOM+12 2-5 IDUM integer Variable not used

NCOM+12 6 ILANDU integer array Gridded field of land use category for each grid cell

NCOM+13 1 CLAB10 char*8 Variable label ('ELEV')

NCOM+13 2-5 IDUM integer Variable not used

NCOM+13 6 ELEV real array Gridded field of terrain elevations for each grid cell

NCOM+14 1 CLAB11 char*8 Variable label ('XLAI')

NCOM+14 2-5 IDUM integer Variable not used

NCOM+14 6 XLAI real array Gridded field of leaf area index for each grid cell

NCOM+15 1 CLAB12 char*8 Variable label ('NEARS')

NCOM+15 2-5 IDUM integer Variable not used

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

CALMET.DAT File - Data Records

The CALMET.DAT data records include hourly fields of winds and meteorological variables. In addition
to the regular CALMET output variables, both CALGRID and CALPUFF require additional 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:

c --- Write U, V, W wind components


Loop over vertical layers, k

write(iunit)CLABU,NDATHRB,IBSEC,NDATHRE,IESEC,
((U(i,j,k),i=1,nx),j=1,ny)
write(iunit)CLABV, NDATHRB,IBSEC,NDATHRE,IESEC,
((V(i,j,k),i=1,nx),j=1,ny)
if(LCALGRD)write(iunit)CLABW,NDATHRB,IBSEC,NDATHRE,IESEC,
((W(i,j,k+1),i=1,nx),j=1,ny)

End loop over vertical layers

c --- Write 3-D temperature field


if(LCALGRD.and.irtype.eq.1) then
Loop over vertical layers, k

write(iunit)CLABT, NDATHRB,IBSEC,NDATHRE,IESEC,
((ZTEMP(i,j,k),i=1,nxm),j=1,nym)

End loop over vertical layers
endif

c --- Write 2-D meteorological fields


if(irtype.eq.1) then

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

where the following declarations apply:

real U(nx,ny,nz),V(nx,ny,nz),W(nx,ny,nz)
real ZTEMP(nx,ny,nz)
real USTAR(nx,ny),ZI(nx,ny),EL(nx,ny)
real WSTAR(nx,ny),RMM(nx,ny)
real TEMPK(nx,ny),RHO(nx,ny),QSW(nx,ny)
integer IPGT(nx,ny)
integer IRH(nx,ny),IPCODE(nx,ny)
character*8 CLABU, CLABV, CLABW, CLABT, CLABSC, CLABUS, CLABZI
character*8 CLABL, CLABWS, CLABRMM, CLABTK, CLABD, CLABQ, CLABRH
character*8 CLABPC

8-129
Section 8: CALMET Model Files

Table 8-27: CALMET.DAT file - Data Records

Record Variable Variable Typea Description


Type No. Name

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 3 IBSEC integer Beginning second (0000-3599)

1 4 NDATHRE integer Ending year, Julian day and hour in the form YYYYJJJHH (or
YYJJJHH)

1 5 IESEC integer Ending second (0000-3599)

1 6 U real array U-component (m/s) of the winds at each grid point

2 1 CLABV char*8 Variable label ('V-LEVxxx', where xxx indicates the layer
number)

2 2 NDATHR integer Beginning year, Julian day and hour in the form YYYYJJJHH
B (or YYJJJHH)

2 3 IBSEC integer Beginning second (0000-3599)

2 4 NDATHRE integer Ending year, Julian day and hour in the form YYYYJJJHH (or
YYJJJHH)

2 5 IESEC integer Ending second (0000-3599)

2 6 V real array V-component (m/s) of the winds at each grid point

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 3 IBSEC integer Beginning second (0000-3599)

3b 4 NDATHRE integer Ending year, Julian day and hour in the form YYYYJJJHH (or
YYJJJHH)

3b 5 IESEC integer Ending second (0000-3599)

3b 6 W real array W-component (m/s) of the winds at each grid point

(Record types 1,2,3 repeated NZ times (once per layer) as a set)

a
char*8 = Character*8
b
Record type 3 is included only if LCALGRD is TRUE

8-130
Section 8: CALMET Model Files

Table 8-27 (Continued)


CALMET.DAT file - Data Records

Record Variable Variable Typea Description


Type No. Name

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 3 IBSEC integer Beginning second (0000-3599)

4b 4 NDATHRE integer Ending year, Julian day and hour in the form YYYYJJJHH (or
YYJJJHH)

4b 5 IESEC integer Ending second (0000-3599)

4b 6 ZTEMP real array Air temperature (deg. K) at each grid point

(Record type 4 repeated NZM times (once per layer))

5 1 CLABSC char*8 Variable label ('IPGT')

5 2 NDATHRB integer Beginning year, Julian day and hour in the form YYYYJJJHH
(or YYJJJHH)

5 3 IBSEC integer Beginning second (0000-3599)

5 4 NDATHRE integer Ending year, Julian day and hour in the form YYYYJJJHH (or
YYJJJHH)

5 5 IESEC integer Ending second (0000-3599)

5 6 IPGT integer PGT stability class at each grid point


array

6 1 CLABUS char*8 Variable label ('USTAR')

6 2 NDATHRB integer Beginning year, Julian day and hour in the form YYYYJJJHH
(or YYJJJHH)

6 3 IBSEC integer Beginning second (0000-3599)

6 4 NDATHRE integer Ending year, Julian day and hour in the form YYYYJJJHH (or
YYJJJHH)

6 5 IESEC integer Ending second (0000-3599)

6 6 USTAR real array Surface friction velocity (m/s)


a
char*8 = Character*8
b
Record type 4 is included only if LCALGRD is TRUE

8-131
Section 8: CALMET Model Files

Table 8-27 (Continued)


CALMET.DAT file - Data Records

Record Variabl Variable Typea Description


Type e No. Name

7 1 CLABZI char*8 Variable label ('ZI')

7 2 NDATHRB integer Beginning year, Julian day and hour in the form YYYYJJJHH
(or YYJJJHH)

7 3 IBSEC integer Beginning second (0000-3599)

7 4 NDATHRE integer Ending year, Julian day and hour in the form YYYYJJJHH (or
YYJJJHH)

7 5 IESEC integer Ending second (0000-3599)

7 6 ZI real array Mixing height (m)

8 1 CLABL char*8 Variable label ('EL')

8 2 NDATHRB integer Beginning year, Julian day and hour in the form YYYYJJJHH
(or YYJJJHH)

8 3 IBSEC integer Beginning second (0000-3599)

8 4 NDATHRE integer Ending year, Julian day and hour in the form YYYYJJJHH (or
YYJJJHH)

8 5 IESEC integer Ending second (0000-3599)

8 6 EL real array Monin-Obukhov length (m)

9 1 CLABWS char*8 Variable label ('WSTAR')

9 2 NDATHRB integer Beginning year, Julian day and hour in the form YYYYJJJHH
(or YYJJJHH)

9 3 IBSEC integer Beginning second (0000-3599)

9 4 NDATHRE integer Ending year, Julian day and hour in the form YYYYJJJHH (or
YYJJJHH)

9 5 IESEC integer Ending second (0000-3599)

9 6 WSTAR real array Convective velocity scale (m/s)

a
char*8 = Character*8

8-132
Section 8: CALMET Model Files

Table 8-27 (Continued)


CALMET.DAT file - Data Records

Record Variabl Variable Typea Description


Type e No. Name

10 1 CLABRMM char*8 Variable label ('RMM')

10 2 NDATHRB integer Beginning year, Julian day and hour in the form YYYYJJJHH
(or YYJJJHH)

10 3 IBSEC integer Beginning second (0000-3599)

10 4 NDATHRE integer Ending year, Julian day and hour in the form YYYYJJJHH (or
YYJJJHH)

10 5 IESEC integer Ending second (0000-3599)

10 6 RMM real array Precipitation rate (mm/hr). Not used by CALGRID.

11 1 CLABTK char*8 Variable label ('TEMPK')

11 2 NDATHRB integer Beginning year, Julian day and hour in the form
YYYYJJJHH (or YYJJJHH)

11 3 IBSEC integer Beginning second (0000-3599)

11 4 NDATHRE integer Ending year, Julian day and hour in the form
YYYYJJJHH (or YYJJJHH)

11 5 IESEC integer Ending second (0000-3599)

11 6 TEMPK real array Near-surface temperature (deg. K)

12 1 CLABD char*8 Variable label ('RHO')

12 2 NDATHRB integer Beginning year, Julian day and hour in the form
YYYYJJJHH (or YYJJJHH)

12 3 IBSEC integer Beginning second (0000-3599)

12 4 NDATHRE integer Ending year, Julian day and hour in the form
YYYYJJJHH (or YYJJJHH)

12 5 IESEC integer Ending second (0000-3599)

12 6 RHO real array Near-surface air density (kg/m3)

a
char*8 = Character*8

8-133
Section 8: CALMET Model Files

Table 8-27 (Concluded)


CALMET.DAT file - Data Records

Record Variabl Variable Typea Description


Type e No. Name

13 1 CLABQ char*8 Variable label ('QSW')

13 2 NDATHRB integer Beginning year, Julian day and hour in the form
YYYYJJJHH (or YYJJJHH)

13 3 IBSEC integer Beginning second (0000-3599)

13 4 NDATHRE integer Ending year, Julian day and hour in the form YYYYJJJHH
(or YYJJJHH)

13 5 IESEC integer Ending second (0000-3599)

13 6 QSW real array Short-wave solar radiation (W/m2)

14 1 CLABRH char*8 Variable label ('IRH')

14 2 NDATHRB integer Beginning year, Julian day and hour in the form
YYYYJJJHH (or YYJJJHH)

14 3 IBSEC integer Beginning second (0000-3599)

14 4 NDATHRE integer Ending year, Julian day and hour in the form
YYYYJJJHH (or YYJJJHH)

14 5 IESEC integer Ending second (0000-3599)

14 6 IRH integer Near-surface relative humidity (percent)


array

15 1 CLABPC char*8 Variable label ('IPCODE')

15 2 NDATHRB integer Beginning year, Julian day and hour in the form
YYYYJJJHH (or YYJJJHH)

15 3 IBSEC integer Beginning second (0000-3599)

15 4 NDATHRE integer Ending year, Julian day and hour in the form
YYYYJJJHH (or YYJJJHH)

15 5 IESEC integer Ending second (0000-3599)

15 6 IPCODE integer Precipitation type code (not used by CALGRID)


array 0 - no precipitation
1 to 18 - liquid precipitation
19 to 45 - frozen precipitation

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:

c --- Header record 1 -- General run and grid information


write(io7)NYR,IDYSTR,IHRMAX,NSSTA,NUSTA,IMAX,JMAX,IBTZ,
1 ILWF,IUWF,DGRID,VK

c --- Header record 2 -- Surface station coordinates


write(io7)XSCOOR,YSCOOR

c --- Header record 3 -- Upper air station coordinates


write(io7)XUCOOR,YUCOOR

c --- Header record 4 -- Surface roughness lengths


write(io7)Z0

c --- Header record 5 -- Nearest surface station to each grid point


write(io7)NEARS

c --- Header record 6 -- Land use categories


write(io7)ILANDU

where the following declarations apply:

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:

c --- Write date and time


write(io7)KYR,KJUL,KHR

c --- Write lower level wind components

Loop over grid cells



write(io7)((UL(i,j),i=1,nx,)j=1,ny)

End loop over grid cells
Loop over grid cells

write(io7)((VL(i,j),i=1,nx,)j=1,ny)

End loop over grid cells
c --- Write upper level wind components
Loop over grid cells

write(io7)((UUP(i,j),i=1,nx,)j=1,ny)

End loop over grid cells
Loop over grid cells

write(io7)((VUP(i,j),i=1,nx,)j=1,ny)

End loop over grid cells
c --- Write mixing height
Loop over grid cells

write(io7)((HTMIX(i,j),i=1,nx,)j=1,ny)

End loop over grid cells
c --- Write friction velocity
Loop over grid cells

write(io7)((USTAR(i,j),i=1,nx,)j=1,ny)

End loop over grid cells
c --- Write convective velocity scale
Loop over grid cells

write(io7)((WSTAR(i,j),i=1,nx,)j=1,ny)

End loop over grid cells
c --- Write Monin-Obukhov length

8-137
Section 8: CALMET Model Files

Loop over grid cells



write(io7)((XMONIN(i,j),i=1,nx,)j=1,ny)

End loop over grid cells
c --- Write PGT stability class
Loop over grid cells

write(io7)((IPGT(i,j),i=1,nx,)j=1,ny)

End loop over grid cells
c --- Write precipitation code
Loop over grid cells

write(io7)((RMM(i,j),i=1,nx,)j=1,ny)

End loop over grid cells

c --- Write average surface air density, air temperature, total solar radiation,
relative humidity, and precipitation code
write(io7)AVRHO,TEMPK,SRAD,IRH,IPCODE

where the following declarations apply:

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

Table 8-28: PACOUT.DAT File - Format

HEADER RECORDS - First six records of output file

Header Record Variable No. Variable Type Description


No.

1 1 NYR integer Starting year

1 2 IDYSTR integer Starting Julian day

1 3 IHRMAX integer Number of hours in run

1 4 NSSTA integer Number of surface stations

1 5 NUSTA integer Number of rawinsonde stations

1 6 IMAX integer Number of grid points in X direction

1 7 JMAX integer Number of grid points in Y direction

1 8 IBTZ integer Reference time zone

1 9 ILWF integer Lower-level wind field code

1 10 IUWF integer Upper-level wind field code

1 11 DGRID real Grid spacing (m)

1 12 VK real von Karman constant

2 1 XSCOOR real array Surface station X coordinates (grid units)

2 2 YSCOOR real array Surface station Y coordinates (grid units)

3 1 XUCOOR real array Upper air station X coordinates (grid units)

3 2 YUCOOR real array Upper air station Y coordinates (grid units)

4 1 Z0 real array Surface roughness lengths (m)

5 1 NEARS integer array Station number of closest surface station to each grid
point

6 1 ILANDU integer array Land use categories

8-139
Section 8: CALMET Model Files

Table 8-28 (Concluded)


PACOUT.DAT File - Format

DATA RECORDS - Repeated for each hour of run

Header Record Variable No. Variable Type Description


No.

7 1 KYR integer Year

7 2 KJUL integer Julian day

7 3 KHR integer Hour (00-23)

8 1 UL real array Lower-level u wind component (m/s)

9 1 VL real array Lower-level v wind component (m/s)

10 1 UUP real array Upper-level u wind component (m/s)

11 1 VUP real array Upper-level v wind component (m/s)

12 1 HTMIX real array Mixing height (m)

13 1 USTAR real array Friction velocity (m/s)

14 1 WSTAR real array Convective velocity scale (m/s)

15 1 XMONIN real array Monin-Obukhov length (m)

16 1 IPGT integer array PGT stability class

17 1 RMM real array Hourly precipitation rate (mm/hr)

18 1 AVRHO real Average surface air density (kg/m3)

18 2 TEMPK real array Air temperature*(K)


18 3 SRAD real array Total solar radiation*(W/m2)

18 4 IRH integer array Relative humidity*(%)


18 5 IPCODE integer array Precipitation code*

8-140
Section 8: CALMET Model Files

* At surface meteorological stations

8-141
Section 8: CALMET Model Files

8.2 PRTMET Meteorological Display Program

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.

PRTMET has the following capabilities and options.

Option to print or suppress printing of the gridded meteorological fields (wind fields and
surface meteorological variables).

User-selected levels of the wind fields printed.

Option to display wind fields as U, V components or as wind speed and wind direction.

User-selected wind speed conversion factor for changing units (default units: m/s).

Option to print plot files of all the meteorological variables (horizontal slices), in a format
compatible with SURFER (contour plots and/or vector plots).

Option to print time-series of any number of variables at a single gridpoint, in a separate file
compatible with Excel (column format)

Option to produce plot files of snapshots and/or average fields.

Option to print or suppress printing of the gridded geophysical variables (surface roughness
lengths, land use categories, terrain elevations).

Option to print plot files of the gridded geophysical variables.

Option to print or suppress printing of X, Y coordinates of surface stations, upper air stations,
and precipitation stations used in the modeling.

Option to print or suppress printing of the CALMET run control variables stored in the
header records of the CALMET output file.

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.

User-selected time period(s) printed.

User-selected printing time interval.

User-selected format for display of gridded meteorological fields (self-scaling exponential


format or fixed format).

Two input files are read by PRTMET: a user-input control file and the unformatted meteorological data
file containing the gridded wind and micrometeorological fields generated by CALMET. The output file
PRTMET.LST contains the printed data selected by the user. PRTMET also produces a user defined
number of plot files. A time-series output file is created whenever a single grid point is selected for
processing. Table 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

Table 8-29: PRTMET Input and Output Files

Unit File Name Type Format Description

5 PRTMET.INP input formatted Control file containing user inputs

6 PRTMET.LST output formatted List file (line printer output file)

7 CALMET.DAT input unformatted Unformatted CALMET output file


containing meteorological and
geophysical data to be printed.

8 - output formatted Plot file. As many files as


specified in PRTMET.INP.

1 PRTTIME.TXT output formatted Time-series file. Created if a single


gridpoint is processed.

Table 8-30: PRTMET Control File Inputs (PRTMET.INP)

Input Variable Type Description


group

(0) METDAT character*132 Unformatted CALMET output file containing the


meteorological and geophysical data to be printed

RUNLST character*132 List file name.

PRTTIME character*132 Time-series file name

LCFILES logical Convert filename to upper (F) or lower (T) case

(1) IBYR integer Beginning year of data to print (four digit)

IBMO integer Beginning month

IBDAY integer Beginning day

IBHR integer Beginning time (hour 00-23)

IBSEC integer Beginning time (second 0000-3599)

IEYR integer Ending year of data to print (four digit)

IEMO integer Ending month

IEDAY integer Ending day

IEHR integer Ending hour (00-23)

IESEC integer Ending time (second 0000-3599)

ICHR integer Printing interval (time periods in CALMET file) for


printing/plotting field

8-144
Section 8: CALMET Model Files

Input Variable Type Description


group

(0) METDAT character*132 Unformatted CALMET output file containing the


meteorological and geophysical data to be printed

NBX integer X grid cell of lower left corner of grid to print

NBY integer Y grid cell of lower left corner of grid to print

NEX integer X grid cell of upper right corner of grid to print

NEY integer Y grid cell of upper right corner of grid to print

8-145
Section 8: CALMET Model Files

Table 8-30 (Continued)


PRTMET Control File Inputs (PRTMET.INP)

(2) LHDV logical Control variable for printing of CALMET run variables
stored in header records of output file.
(F=do not print, T=print)

LMETCF logical Control variable for printing full CALMET control file
image. (F=do not print, T=print)

LSFC logical Control variable for printing of X,Y surface station


coordinates.
(F=do not print, T=print)

LUPC logical Control variable for printing of X,Y upper air station
coordinates.
(F=do not print, T=print)

LPRC logical Control variable for printing of X,Y precipitation station


coordinates.
(F=do not print, T=print)

LNEARS logical Control variable for printing of nearest surface station


number to each grid point.
(F=do not print, T=print)

(2a) LSURF logical Control variable for printing of surface station number to
each grid point.
(F=do not print, T=print)

LLI logical Control variable for printing of leaf area index field.
(F=do not print, T=print)

LLU logical Control variable for printing of gridded land use


categories.
(F=do not print, T=print)

LTE logical Control variable for printing of terrain elevations.


(F=do not print, T=print)

LZ0 logical Control variable for printing of gridded surface roughness


lengths.
(F=do not print, T=print)

FLI integer Output format for leaf area index.


(0=self-scaling exponential format, 1=fixed format).

FLU integer Output format for land use categories. (0=self-scaling


exponential format, 1=fixed format).

8-146
Section 8: CALMET Model Files

FTE integer Output format for terrain elevations. (0=self-scaling


exponential format, 1=fixed format).

FZ0 integer Output format for surface roughness lengths.


(0=self-scaling exponential format, 1=fixed format).

LSTAB logical Control variable for printing of PGT stability class.


(F=do not print, T=print)

LUSTR logical Control variable for printing of friction velocity.


(F=do not print, T=print)

8-147
Section 8: CALMET Model Files

Table 8-30 (Continued)


PRTMET Control File Inputs (PRTMET.INP)

Input Variable Type Description


group

(2a) LMONL logical Control variable for printing of Monin-Obukhov


length.
(F=do not print, T=print)

LWSTR logical Control variable for printing of convective velocity


scale.
(F=do not print, T=print)

LMXHT logical Control variable for printing of mixing height.


(F=do not print, T=print)

LPRAT logical Control variable for printing of precipitation rates.


(F=do not print, T=print)

FSTAB integer Output format for PGT stability class. USED ONLY
IF IPSC=1.
(0=self-scaling exponential format, 1=fixed format)

FUSTR integer Output format for friction velocity. USED ONLY IF


IFV=1. (0=self-scaling exponential format, 1=fixed
format)

FMONL integer Output format for Monin-Obukhov length. USED


ONLY IF IMOL=1.
(0=self-scaling exponential format, 1=fixed format)

FWSTR integer Output format for the convective velocity scale.


USED ONLY IF ICVS=1. (0=self-scaling
exponential format, 1=fixed format)

FMXHT integer Output format for mixing height. USED ONLY IF


IMH=1. (0=self-scaling exponential format, 1=fixed
format)

FPRAT integer Output format for precipitation rates. USED ONLY


IF IPR=1. (0=self-scaling exponential format,
1=fixed format)

IPWS integer Control variable for display of wind field. (0=U,V


components, 1=wind speed, wind direction)

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)

FWS integer array Output format for wind speeds. (0=self-scaling


element exponential format, 1=fixed format)

N3D integer Number of layers of 3-D met data printed

8-149
Section 8: CALMET Model Files

Table 8-30 (Concluded)


PRTMET Control File Inputs (PRTMET.INP)
Input Variable Type Description
group

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

LTEMP logical Create plot files of temperature for each


CALMET layer each hour (T: Yes ; F: No)

LWSPE logical Create plot files of wind speed for each CALMET
layer each hour (T: Yes ; F: No)

LPREC logical Create plot files of precipitation for each


CALMET layer each hour (T: Yes ; F: No)

LMIXH logical Create plot files of mixing height for each


CALMET layer each hour (T: Yes ; F: No)

LIPGT logical Create plot files of PGT class for each CALMET
layer each hour (T: Yes ; F: No)

NSNAP integer Number of snapshot plot files to be created.

NSNAP x 2- FILESNAP character*132 Output file name


line entries
XXXX char*4 = Layer number, time (hour) for variable XXXX to
plot. Variable XXXX options: VECT (wind
integer, integer
field, vector plot), UVEL (u-component of wind
velocity, VVEL (v-component of wind
velocity),WVEL(w-component of wind
velocity),, TEMP (temperature),WDIR (Wind
direction), WSPE(wind speed), IPGT (PGT
class), USTA(Friction velocity), MONL(Moni-
Obukhov length, WSTA( convective velocity),
MIXH (mixing height), PREC(precipitation rate)

(4a) NMEAN integer Number of averaged field plot files to be created.

IBEGAV integer Beginning hour of the averaging period


(IBEGIN=1 corresponds to IYR, IMO, IDAY,
IHR)

IENDAV integer Ending hour of the averaging period.

8-150
Section 8: CALMET Model Files

(4b) FILEMEAN character*132 Output file name (average fields)

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

Table 8-31: Sample PRTMET Control File (PRTMET.INP)

PRTMET.INP 2.1 Hour Start and End Times with Seconds


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

PRTMET PROCESSOR CONTROL FILE


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

PRTMET reads the binary meteorological data file produced by CALMET


(CALMET.DAT), and reports selected information in formats amenable to
quantitative analysis, QA review, or visualization.

-------------------------------------------------------------------------------
a
INPUT GROUP: 0 -- Input and Output Files
--------------

Default Name Type File Name


------------ ---- ---------
CALMET.DAT input ! METDAT = ..\Calmet.dat !
PRTMET.LST output ! RUNLST = Prtmet.lst !
PRTTIME.DAT output ! PRTTIME = Prttime.dat !

Note: PRTTIME is a time-series file created only if a single point is


selected for processing/printing in Input Group 1. 2D and 3D variables
specified in Input Group 2 are written each timestep for this point.

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


Otherwise, if LCFILES = F, file names will be converted to UPPER CASE
(LCFILES) Default: T ! LCFILES = T !
T = lower case
F = UPPER CASE

NOTE: File/path names can be up to 132 characters in length

-------------
a
Additional output files may be defined in Input Groups 3 and 4 when
specific snapshot plots or average field plots are requested.

!END!

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

INPUT GROUP: 1 -- Run control parameters


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

--- Processing Period ---

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


Month (IBMO) -- No default ! IBMO = 1 !
Day (IBDY) -- No default ! IBDY = 5 !
Hour (IBHR) -- No default ! IBHR = 6 !
Second (IBSEC) -- No default ! IBSEC = 600 !

Ending date: Year (IEYR) -- No default ! IEYR = 2002 !


Month (IEMO) -- No default ! IEMO = 1 !
Day (IEDY) -- No default ! IEDY = 5 !
Hour (IEHR) -- No default ! IEHR = 7 !
Second (IESEC) -- No default ! IESEC = 1800 !

---------------
NOTE: The date/time is in the base time zone of the CALMET run.

--- Processing Options ---

Time interval between printed/plotted fields:


(number of CALMET output timesteps)
Enter 1 to print every timestep, enter 2 to
print every second timestep, etc.
(ICHR) Default: 1 ! ICHR = 1 !

Portion of meteorological grid to print/plot


Enter beginning (NBX, NBY) and ending (NEX, NEY)
cell indices (enter 0 to indicate entire grid).
(NBX) Default: 0 ! NBX = 12 !
(NBY) Default: 0 ! NBY = 12 !
(NEX) Default: 0 ! NEX = 16 !
(NEY) Default: 0 ! NEY = 16 !

Note: If only one gridpoint is specified, variables selected in


Input Group 2 are written to a separate time-series output file
defined in Input Group 0.

8-152
Section 8: CALMET Model Files

!END!

8-153
Section 8: CALMET Model Files

Table 8-31 (Continued)


Sample PRTMET Control File (PRTMET.INP)
--------------------------------------------------------------------------------

INPUT GROUP: 2 -- Listfile Output Options


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

-------------
Subgroup (2a)
-------------

Print CALMET header run variables


(e.g., grid definition, ...)?
(LHDV) Default: T ! LHDV = T !

Print full CALMET control file image?


(LMETCF) Default: F ! LMETCF = F !

Print meteorological station (X, Y)


coordinates?
(LSFC) surface Default: F ! LSFC = F !
(LUPC) upper air Default: F ! LUPC = F !
(LPRC) precipitation Default: F ! LPRC = F !

Print nearest surface station ID for


each grid point?
(LNEARS) Default: F ! LNEARS = F !

Print surface meteorological data?


(temp, rho, SW rad, rh, precip code)
(LSURF) Default: F ! LSURF = F !

Print 2-D gridded domain characteristics?


(LLI) Leaf Area Index Default: F ! LLI = F !
(LLU) Landuse Default: F ! LLU = F !
(LTE) Terrain Default: F ! LTE = F !
(LZ0) Roughness Default: F ! LZ0 = F !

Format used when printing gridded domain characteristics


(used only if corresponding LLI,LLU,LTE,LZ0 is true)
0 = use self-scaling exponential format
1 = use fixed decimal format
(FLI) Leaf Area Index Default: 0 ! FLI = 0 !
(FLU) Landuse Default: 0 ! FLU = 0 !
(FTE) Terrain Default: 0 ! FTE = 0 !
(FZ0) Roughness Default: 0 ! FZ0 = 0 !

Print 2-D gridded meteorological data?


(LSTAB) PG stability Default: F ! LSTAB = F !
(LUSTR) u-star Default: F ! LUSTR = F !
(LMOLN) Monin-Obukhov L Default: F ! LMOLN = F !
(LWSTR) w-star Default: F ! LWSTR = F !
(LMXHT) mixing ht Default: F ! LMXHT = T !
(LPRAT) precip. rate Default: F ! LPRAT = F !

Format used when printing 2-D gridded meteorological data


(used only if corresponding LSTAB,LUSTR,LMOLN,LWSTR,LMXHT,LPRAT
is true)
0 = use self-scaling exponential format
1 = use fixed decimal format
(FSTAB) PG stability Default: 0 ! FSTAB = 0 !
(FUSTR) u-star Default: 0 ! FUSTR = 0 !
(FMOLN) Monin-Obukhov L Default: 0 ! FMOLN = 0 !
(FWSTR) w-star Default: 0 ! FWSTR = 0 !
(FMXHT) mixing ht Default: 0 ! FMXHT = 0 !
(FPRAT) precip. rate Default: 0 ! FPRAT = 0 !

Present wind data as speed and direction?


(IPWS) Default: 1 ! IPWS = 1 !
0 = present as U,V components
1 = present as wind speed, direction

Scale factor to convert wind speed from m/s to other units


(WSFAC) Default: 1.0 ! WSFAC = 1.0 !
1.0 = m/s
1.944 = to knots
2.237 = to mph

Format used when printing wind speeds


0 = use self-scaling exponential format
1 = use fixed decimal format
(FWS) Default: 0 ! FWS = 0 !

8-154
Section 8: CALMET Model Files

Number of layers of 3-D meteorological data printed


(Identify data for each layer in Subgroup 2b)
(N3D) Default: 0 ! N3D = 1 !

!END!

8-155
Section 8: CALMET Model Files

Table 8-31 (Continued)


Sample PRTMET Control File (PRTMET.INP)

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

Automatically generated snapshot plotfiles


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

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

yyyy = Year (Base Time Zone)


mm = Month (Base Time Zone)
dd = Day (Base Time Zone)
hhmm = Start of Timestep: Hour & Minute (Base Time Zone)
(UTC+hhmm) = Base Time Zone definition (e.g. EST = UTC-0500)
zz = CALMET layer (00 for 2D variables)
t = Length of timestep (e.g., 1HR or 5MIN or 30MIN etc.)

Create automatic plotfiles for each timestep?


(LVECT) Wind Vectors (*.wsp,*.wdr) Default: F ! LVECT = T !
-- or -- (*.usp,*.vsp)
-- or -- (*.vec)
(LTEMP) Temperature (*.deg) Default: F ! LTEMP = F !
(LPREC) Precipitation (*.prc) Default: F ! LPREC = F !
(LMIXH) Mixing Height (*.mix) Default: F ! LMIXH = F !
(LIPGT) PGT Stability (*.pgt) Default: F ! LIPGT = F !

Force snapshot files to be ASCII (text), otherwise files


containing non-integer data will be written as BINARY
to reduce file size.
(LSNAPTXT) Default: T ! LSNAPTXT = T !

Type of file created for the Wind Vector option


(MVECT) Default: 0 ! MVECT = 0 !
0 = *.vec (SURFER POST file)
1 = *.wsp, *.wdr (speed and direction SURFER GRD files)
2 = *.usp, *.vsp (U and V speed SURFER GRD files)

Number of layers of 3-D meteorological data written to plot files.


(Identify layers in Subgroup 3b)
If set to 0, only layer 1 is provided.
(NZPLOT) Default: 0 ! NZPLOT = 3 !

Explicitly defined snapshot plotfiles


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

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.

Number of snapshot plotfiles explicitly defined in Subgroup 3c


(NSNAP) Default: 0 ! NSNAP = 0 !
!END!

8-157
Section 8: CALMET Model Files

Table 8-31 (Continued)


Sample PRTMET Control File (PRTMET.INP)

-------------
Subgroup (3b)
-------------
a,b
LAYERS AUTOMATICALLY PLOTTED (NZPLOT entries)
---------------------------------------------

LAYER WIND TEMPERATURE


----- ---- -----------
! X = 1 , 1 , 1 ! !END!
! X = 3 , 1 , 1 ! !END!
! X = 5 , 1 , 1 ! !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.

-------------
Subgroup (3c)
-------------
a,b
EXPLICIT SNAPSHOT DEFINITION (NSNAP 2-line entries)
---------------------------------------------------

Layer Timestep (position in processing period)


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

* FILESNAP = mixht1.grd *
* MIXH = 1, 3 * *END*

-------------
a
Enter information for each of the NSNAP plotfiles in 2-line groups.
One line identifies the filename (FILESNAP = outfile), and the
other line defines the type of snapshot and the layer & 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.

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

INPUT GROUP: 4 -- Average Field Output Plotfiles


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

-------------
Subgroup (4a)
-------------

Number of average field plotfiles


(NMEAN) Default: 0 ! NMEAN = 0 !

Time period to begin averaging


(timestep within processing period)
(IBEGAV) Default: 1 ! IBEGAV = 1 !

Time period to end averaging


(timestep within processing period)
(IENDAV) Default: 1 ! IENDAV = 1 !

8-158
Section 8: CALMET Model Files

!END!

8-159
Section 8: CALMET Model Files

Table 8-31 (Concluded)


Sample PRTMET Control File (PRTMET.INP)
-------------
Subgroup (4b)
-------------
a,b
AVERAGE PLOT DEFINITION (NMEAN 2-line entries)
----------------------------------------------

Layer
-----

* FILEMEAN = t1_20.grd *
* TEMP = 1 * *END*

-------------
a
Enter information for each of the NMEAN plotfiles in 2-line groups.
One line identifies the filename (FILEMEAN = outfile), and the
other line defines the type of average and the layer.
The type (e.g., MIXH =) must be one of the following:
VECT = wind field (vector plot)
UVEL = u-component of the wind (contour plot)
VVEL = v-component of the wind (contour plot)
WVEL = w-component of the wind (contour plot)
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

Table 8-32: Sample PRTMET List File (PRTMET.LST)

PRTMET OUTPUT SUMMARY


VERSION: 4.42 LEVEL: 051118

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

Control File Used -----


forlist.inp

Input MET File -----


metdat : ..\calmet.dat
Output List File -----
runlst : prtmet.lst
Domain Plot Files -----
terrain elevations : qaterr.grd
land use : qaluse.grd
surface roughness : qaz0.grd
leaf area index : qalai.grd
surface stations : qassta.dat
precip. stations : qapsta.dat
upper-air stations : qausta.dat
met grid : qametg.bna
land use color : luse.clr
PGT Class color : pgt.clr

Processing Options -----

Beginning year 2002


Beginning month 1
Beginning day 5
Beginning Julian day 5
Beginning time (hour) 6
Beginning time (second) 600
Ending year 2002
Ending month 1
Ending day 5
Ending Julian day 5
Ending time (hour) 7
Ending time (second) 1800
Print interval (timesteps) 1

Beginning X point 12
Beginning Y point 12
Ending X point 16
Ending Y point 16

Display X-Y coordinates of surface sta. ? F


Display X-Y coordinates of upper air sta. ? F
Display X-Y coordinates of precip. sta. ? F
Display nearest surface station array ? F
Display surface roughness length ? F Fixed format ? 0
Display land use categories ? F Fixed format ? 0
Display terrain elevations ? F Fixed format ? 0
Display leaf area index ? F Fixed format ? 0

Control variables for printing of 3-D fields.


LEVEL U,V W TEMP ?
1 1 0 0
2 0 0 0
3 0 0 0
4 0 0 0
5 0 0 0

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

Table 8-32 (Continued)


Sample PRTMET List File (PRTMET.LST)
21 0 0 0
22 0 0 0
23 0 0 0
24 0 0 0
25 0 0 0
26 0 0 0
27 0 0 0
28 0 0 0
29 0 0 0
30 0 0 0
31 0 0 0
32 0 0 0
33 0 0 0
34 0 0 0
35 0 0 0
36 0 0 0
37 0 0 0
38 0 0 0
39 0 0 0
40 0 0 0
41 0 0 0
42 0 0 0
43 0 0 0
44 0 0 0
45 0 0 0
46 0 0 0
47 0 0 0
48 0 0 0
49 0 0 0
50 0 0 0
51 0 0 0
52 0 0 0
53 0 0 0
54 0 0 0
55 0 0 0
56 0 0 0
57 0 0 0
58 0 0 0
59 0 0 0
60 0 0 0

Wind components (U, V) converted to WS, WD ? 1


Display wind field in fixed format ? 0

Multiplicative factor for wind units: 1.0000


(If the factor is 1.0 then units will remain in m/s)

Display PGT stability class ? F Fixed format ? 0


Display friction velocity ? F Fixed format ? 0
Display Monin-Obukhov length ? F Fixed format ? 0
Display mixing height ? T Fixed format ? 0
Display convective velocity scale ? F Fixed format ? 0
Display precipitation rate ? F Fixed format ? 0

Display surface met. station variables ? F

Snapshot Options -----

Automatic snapshot files selected:


Wind Vectors (*.VEC) T (MVECT = 0)
Temperature (*.DEG) F
Precipitation (*.PRC) F
Mixing Height (*.MIX) F
PGT Stability (*.PGT) F

All snapshot files are ASCII? T

Control variables for ploting 3-D fields.


LEVEL WIND TEMP ?
1 1 1
2 0 0

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

Table 8-32 (Continued)


Sample PRTMET List File (PRTMET.LST)
21 0 0
22 0 0
23 0 0
24 0 0
25 0 0
26 0 0
27 0 0
28 0 0
29 0 0
30 0 0
31 0 0
32 0 0
33 0 0
34 0 0
35 0 0
36 0 0
37 0 0
38 0 0
39 0 0
40 0 0
41 0 0
42 0 0
43 0 0
44 0 0
45 0 0
46 0 0
47 0 0
48 0 0
49 0 0
50 0 0
51 0 0
52 0 0
53 0 0
54 0 0
55 0 0
56 0 0
57 0 0
58 0 0
59 0 0
60 0 0

Number of specific snapshot files: 0

Average Field Options -----

Number of average field files: 0

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

Data read from header records of CALMET file:


..\calmet.dat

CALMET.DAT 2.1 No-Obs file structure with embedded control file

CALMET.INP 2.1 Hour Start and End Times with Seconds


CALMET MOD6 TEST CASE -
30x30 1km km meteorological grid -

Produced by CALMET Version: 6.01 Level: 051206

Input Group #0 parameters ---


NUSTA = 1
NOWSTA = 1

Input Group #1 parameters ---


IBYR = 2002
IBMO = 1
IBDY = 5

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

Table 8-32 (Continued)


Sample PRTMET List File (PRTMET.LST)

Input Group #2 parameters ---


PMAP = UTM
DATUM = WGS-84
NIMADATE= 02-21-2003
FEAST = 0.00000000E+00
FNORTH = 0.00000000E+00
IUTMZN = 15
UTMHEM = N
NX = 30
NY = 30
DGRID = 1000.00000
XORIGR = 260000.000
YORIGR = 3195000.00
NZ = 10
ZFACE = 0.000, 20.000, 40.000, 80.000, 160.000, 320.000, 700.000, 1300.000, 1700.000, 2300.000,
3000.000,

Land Use parameters from GEO.DAT ---


NLU = 16
IWAT1 = 50
IWAT2 = 55

Input Group #4 parameters ---


NSSTA = 1
NPSTA = 0

Input Group #5 parameters ---


IWFCOD = 1

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

No W levels were selected, therefore no W data will be displayed.


No temperature levels were selected, therefore no temperature data will be displayed.

Wind Speed (m/s) -- Level: 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

16 I 2717 2717 2717 2717 2717


I + + + + +
15 I 2717 2717 2717 2717 2717
I + + + + +
14 I 2717 2717 2717 2717 2717
I + + + + +
13 I 2717 2717 2717 2717 2717
I + + + + +
12 I 2717 2717 2717 2717 2717
I + + + + +
-----------------------------
12 13 14 15 16

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

16 I 3292 3292 3292 3292 3292


I + + + + +
15 I 3292 3292 3292 3292 3292
I + + + + +
14 I 3292 3292 3292 3292 3292
I + + + + +
13 I 3292 3292 3292 3292 3292
I + + + + +
12 I 3292 3292 3292 3292 3292
I + + + + +
-----------------------------
12 13 14 15 16

Mixing height (m) Beginning year: 2002 month: 1 day: 5 Julian day: 5 hour: 6 second: 600

8-167
Section 8: CALMET Model Files

Ending year: 2002 month: 1 day: 5 Julian day: 5 hour: 6 second:1200


Multiply all values by 10 ** -1

16 I 1605 1583 1568 1558 1543


I + + + + +
15 I 1590 1564 1555 1549 1539
I + + + + +
14 I 1552 1543 1543 1541 1533
I + + + + +
13 I 1461 1520 1534 1548 1534
I + + + + +
12 I 1450 1540 1539 1540 1505
I + + + + +
-----------------------------
12 13 14 15 16

8-168
Section 8: CALMET Model Files

Table 8-32 (Concluded)


Sample PRTMET List File (PRTMET.LST)

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

16 I 2733 2733 2733 2733 2733


I + + + + +
15 I 2733 2733 2733 2733 2733
I + + + + +
14 I 2733 2733 2733 2733 2733
I + + + + +
13 I 2733 2733 2733 2733 2733
I + + + + +
12 I 2733 2733 2733 2733 2733
I + + + + +
-----------------------------
12 13 14 15 16

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

16 I 3293 3293 3293 3293 3293


I + + + + +
15 I 3293 3293 3293 3293 3293
I + + + + +
14 I 3293 3293 3293 3293 3293
I + + + + +
13 I 3293 3293 3293 3293 3293
I + + + + +
12 I 3293 3293 3293 3293 3293
I + + + + +
-----------------------------
12 13 14 15 16

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

16 I 1626 1605 1589 1579 1564


I + + + + +
15 I 1611 1585 1576 1570 1560
I + + + + +
14 I 1572 1563 1563 1561 1554
I + + + + +
13 I 1476 1539 1554 1568 1554
I + + + + +
12 I 1464 1558 1558 1559 1524
I + + + + +
-----------------------------
12 13 14 15 16

( Records removed )

End of run -- Clock time: 14:46:53


Date: 12-15-2005

Elapsed Clock Time: 0.0 (seconds)

CPU Time: 0.0 (seconds)

8-169
Section 8: CALMET Model Files

Table 8-33: Sample contour plot file

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

Table 8-34: Sample vector plot file

x y arrow angle(-wd) length(ws)


271.500 3210.500 symbol:175 -10.79 12.50
272.500 3210.500 symbol:175 -10.81 12.51
273.500 3210.500 symbol:175 -10.83 12.52
274.500 3210.500 symbol:175 -10.84 12.53
275.500 3210.500 symbol:175 -10.85 12.54
271.500 3209.500 symbol:175 -10.81 12.51
272.500 3209.500 symbol:175 -10.83 12.52
273.500 3209.500 symbol:175 -10.84 12.54
274.500 3209.500 symbol:175 -10.85 12.55
275.500 3209.500 symbol:175 -10.86 12.55
271.500 3208.500 symbol:175 -10.82 12.52
272.500 3208.500 symbol:175 -10.84 12.53
273.500 3208.500 symbol:175 -10.85 12.55
274.500 3208.500 symbol:175 -10.86 12.55
275.500 3208.500 symbol:175 -10.87 12.56
271.500 3207.500 symbol:175 -10.83 12.52
272.500 3207.500 symbol:175 -10.85 12.54
273.500 3207.500 symbol:175 -10.86 12.55
274.500 3207.500 symbol:175 -10.87 12.56
275.500 3207.500 symbol:175 -10.88 12.56
271.500 3206.500 symbol:175 -10.83 12.53
272.500 3206.500 symbol:175 -10.85 12.54
273.500 3206.500 symbol:175 -10.86 12.55
274.500 3206.500 symbol:175 -10.87 12.56
275.500 3206.500 symbol:175 -10.88 12.57

8-170
Section 8: CALMET Model Files

Table 8-35: Sample time-series file

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.

9.1 User Control File

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

* CONDAT = CONC.OLD * - this line is a comment that does nothing

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

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

Blanks within the delimiters are ignored, and all delimiters must appear in pairs. If the optional
CALPUFF GUI is being used, the control file will automatically be correctly formatted and written to
disk for use by CALPUFF.

9-4
Section 9: CALPUFF

Table 9-1: Input Groups in the CALPUFF Control File

Input
Group Description

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

0 Input and Output filenames

1 General run control parameters


Starting/Ending date and time, time step.
Number of species.
Model restart configuration for making a series of continuation runs.
Meteorological data format and averaging time adjustment.

2 Technical options
Control variables determining methods for treating chemistry, wet deposition, dry
deposition, dispersion, plume rise, complex terrain, and near-field puff sampling
methods

3a,b Species list


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

4 Grid control parameters


Specification of meteorological, computational, and sampling grids, number of cells,
vertical layers, and reference coordinates.

5 Output options
Printer control variables, disk output control variables

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


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

7 Dry deposition parameters - Gases


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

9-5
Section 9: CALPUFF

Table 9-1 (Concluded)


Input Groups in the CALPUFF Control File

Input
Group Description

8 Dry deposition parameters - Particles


Geometric mass mean diameter, geometric standard deviation

9 Miscellaneous dry deposition parameters


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

10 Wet deposition parameters


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

11 Chemistry parameters
Control variables for input of ozone data, background ozone and ammonia
concentrations, nighttime transformation rates

12 Miscellaneous dispersion parameters and computational parameters


Vertical dispersion constants, dispersion rate above the boundary layer, crossover
distance to time-dependent dispersion coefficients, land use associated with urban
dispersion, site characterization parameters for single-point meteorological data files,
sampling constraints, puff-splitting controls, plume path coefficients, wind speed power-
law exponents, default temperature gradients and wind speed classes

13a,b,c,d Point source parameters


Point source data including source location, elevation, stack parameters, emissions, units,
building dimensions, variable emissions cycle

14a,b,c,d Area source parameters


Area source data including source location, effective height, elevation, initial sigmas,
emissions, units, variable emissions cycle

15a,b,c Line source parameters


Buoyant line source data including source location, elevation, line length, buoyancy
parameters, release height, emissions, units, variable emissions cycle

16a,b,c Volume source parameters


Volume source data including source location, elevation, effective height, initial size
data, emissions, units, variable emissions cycle

9-6
Section 9: CALPUFF

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


Receptor coordinates and ground elevation

9-7
Section 9: CALPUFF

Table 9-2: Sample CALPUFF Control File (CALPUFF.INP)

Input Group 0
CALPUFF Example
40 x 40 meteorological grid
All source types represented; CTSG hill
---------------- Run title (3 lines) ------------------------------------------

CALPUFF MODEL CONTROL FILE


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

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

INPUT GROUP: 0 -- Input and Output File Names

--------------
Default Name Type File Name
------------ ---- ---------
CALMET.DAT input ! METDAT =CALMET.DAT !
or
ISCMET.DAT input * ISCDAT = *
or
PLMMET.DAT input * PLMDAT = *
or
PROFILE.DAT input * PRFDAT = *
SURFACE.DAT input * SFCDAT = *
RESTARTB.DAT input * RSTARTB= *
--------------------------------------------------------------------------------
CALPUFF.LST output ! PUFLST =CALPUFF2.LST !
CONC.DAT output ! CONDAT =CONC2.DAT !
DFLX.DAT output ! DFDAT =DFLX2.DAT !
WFLX.DAT output * WFDAT = *

VISB.DAT output * VISDAT = *


TK2D.DAT output * T2DDAT = *
RHO2D.DAT output * RHODAT = *
RESTARTE.DAT output * RSTARTE= *
--------------------------------------------------------------------------------
Emission Files
--------------
PTEMARB.DAT input * PTDAT = *
VOLEMARB.DAT input * VOLDAT = *
BAEMARB.DAT input * ARDAT = *
LNEMARB.DAT input * LNDAT = *
--------------------------------------------------------------------------------
Other Files
-----------
OZONE.DAT input * OZDAT = *
VD.DAT input * VDDAT = *
CHEM.DAT input * CHEMDAT= *
AUX input * AUXEXT = AUX *
(Extension added to METDAT filename(s) for files
with auxiliary 2D and 3D data)
H2O2.DAT input * H2O2DAT= *
NH3Z.DAT input * NH3ZDAT= *
HILL.DAT input * HILDAT= *
HILLRCT.DAT input * RCTDAT= *
COASTLN.DAT input * CSTDAT= *
FLUXBDY.DAT input * BDYDAT= *
BCON.DAT input * BCNDAT= *
DEBUG.DAT output * DEBUG = *
MASSFLX.DAT output * FLXDAT= *

9-8
Section 9: CALPUFF

MASSBAL.DAT output * BALDAT= *


FOG.DAT output * FOGDAT= *
RISE.DAT output * RISDAT= *
--------------------------------------------------------------------------------
All file names will be converted to lower case if LCFILES = T
Otherwise, if LCFILES = F, file names will be converted to UPPER CASE
T = lower case ! LCFILES = F !
F = UPPER CASE
NOTE: (1) file/path names can be up to 132 characters in length

9-9
Section 9: CALPUFF

Table 9-2 (Continued)


Sample CALPUFF Control File (CALPUFF.INP)
Input Group 0
Provision for multiple input files
----------------------------------

Number of Modeling Domains (NMETDOM)


Default: 1 ! NMETDOM = 1 !

Number of CALMET.DAT files for run (NMETDAT)


Default: 1 ! NMETDAT = 1 !

Number of PTEMARB.DAT files for run (NPTDAT)


Default: 0 ! NPTDAT = 0 !

Number of BAEMARB.DAT files for run (NARDAT)


Default: 0 ! NARDAT = 0 !

Number of VOLEMARB.DAT files for run (NVOLDAT)


Default: 0 ! NVOLDAT = 0 !
!END!

-------------
Subgroup (0a)
-------------

Provide a name for each CALMET domain if NMETDOM > 1


Enter NMETDOM lines.
a,b
Default Name Domain Name
------------ ------------
none * DOMAIN1= * *END*
none * DOMAIN2= * *END*
none * DOMAIN3= * *END*

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

Enter NMETDAT lines, 1 line for each file name.

Default Name Type File Name


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

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

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


(Each file contains a subset of the sources, for the entire simulation)

Default Name Type File Name


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

Table 9-2 (Continued)


Sample CALPUFF Control File (CALPUFF.INP)
Input Group 1
-------------
Subgroup (0c)
-------------

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


(Each file contains a subset of the sources, for the entire simulation)

Default Name Type File Name


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

-------------
Subgroup (0d)
-------------

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


(Each file contains a subset of the sources, for the entire simulation)

Default Name Type File Name


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

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

INPUT GROUP: 1 -- General run control parameters


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

Option to run all periods found


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

METRUN = 0 - Run period explicitly defined below


METRUN = 1 - Run all periods in met. file

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


Month (IBMO) -- No default ! IBMO = 7 !
Day (IBDY) -- No default ! IBDY = 7 !
Starting time: Hour (IBHR) -- No default ! IBHR = 0 !
Minute (IBMIN) -- No Default ! IBMIN = 0 !
Second (IBSEC) -- No Default ! IBSEC = 0 !

Ending date: Year (IEYR) -- No default ! IEYR = 1988!

9-11
Section 9: CALPUFF

Month (ISMO) -- No default ! IEMO = 7 !


Day (IEDY) -- No default ! IEDY = 8 !
Ending time: Hour (IEHR) -- No default ! IEHR = 0 !
Minute (IEMIN) -- No Default ! IEMIN = 0 !
Second (IESEC) -- No Default ! IESEC = 0 !

(These are used only if METRUN = 0)

Base time zone: (ABTZ) -- No default ! ABTZ= UTC+1000 !


(character*8)
The modeling domain may span multiple time zones. ABTZ defines the
base time zone used for the entire simulation. This must match the
base time zone of the meteorological data.
Examples:
Los Angeles, USA = UTC-0800
New York, USA = UTC-0500
Santiago, Chile = UTC-0400
Greenwich Mean Time (GMT) = UTC+0000
Rome, Italy = UTC+0100
Cape Town, S.Africa = UTC+0200
Sydney, Australia = UTC+1000

Length of modeling time-step (seconds)


Equal to update period in the primary
meteorological data files, or an
integer fraction of it (1/2, 1/3 ...)
(NSECDT) Default:3600 ! NSECDT = 900 !
Units: seconds

Number of chemical species (NSPEC)


Default: 5 ! NSPEC = 8 !

Table 9-2 (Continued)


Sample CALPUFF Control File (CALPUFF.INP)
Input Group 1
Number of chemical species
to be emitted (NSE) Default: 3 ! NSE = 7 !

Flag to stop run after

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


(Used to allow checking
of the model inputs, files, etc.)
ITEST = 1 - STOPS program after SETUP phase
ITEST = 2 - Continues with execution of program
after SETUP

Restart Configuration:

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

0 = Do not read or write a restart file


1 = Read a restart file at the beginning of
the run
2 = Write a restart file during run
3 = Read a restart file at beginning of run
and write a restart file during run

Number of periods in Restart


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

0 = File written only at last period

9-12
Section 9: CALPUFF

>0 = File updated every NRESPD periods

Meteorological Data Format (METFM)


Default: 1 ! METFM = 1 !

METFM = 1 -
CALMET binary file (CALMET.MET)
METFM = 2 -
ISC ASCII file (ISCMET.MET)
METFM = 3 -
AUSPLUME ASCII file (PLMMET.MET)
METFM = 4 -
CTDM plus tower file (PROFILE.DAT) and
surface parameters file (SURFACE.DAT)
METFM = 5 - AERMET tower file (PROFILE.DAT) and
surface parameters file (SURFACE.DAT)

Meteorological Profile Data Format (MPRFFM)


(used only for METFM = 1, 2, 3)
Default: 1 ! MPRFFM = 1 !

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


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

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


Averaging Time (minutes) (AVET)
Default: 60.0 ! AVET = 60. !
PG Averaging Time (minutes) (PGTIME)
Default: 60.0 ! PGTIME = 60. !

Output units for binary concentration and flux files


written in Dataset v2.2 or later formats
(IOUTU) Default: 1 ! IOUTU = 1 !
1 = mass - g/m3 (conc) or g/m2/s (dep)
2 = odour - odour_units (conc)
3 = radiation - Bq/m3 (conc) or Bq/m2/s (dep)

Output Dataset format for binary concentration


and flux files (e.g., CONC.DAT)
(IOVERS) Default: 2 ! IOVERS = 2 !
1 = Dataset Version 2.1
2 = Dataset Version 2.2

!END!

9-13
Section 9: CALPUFF

Table 9-2 (Continued)


Sample CALPUFF Control File (CALPUFF.INP)
Input Group 2

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

INPUT GROUP: 2 -- Technical options


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

Vertical distribution used in the


near field (MGAUSS) Default: 1 ! MGAUSS = 1 !
0 = uniform
1 = Gaussian

Terrain adjustment method


(MCTADJ) Default: 3 ! MCTADJ = 0 !
0 = no adjustment
1 = ISC-type of terrain adjustment
2 = simple, CALPUFF-type of terrain
adjustment
3 = partial plume path adjustment

Subgrid-scale complex terrain


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

Near-field puffs modeled as


elongated 0 (MSLUG) Default: 0 ! MSLUG = 1 !
0 = no
1 = yes (slug model used)

Transitional plume rise modeled ?


(MTRANS) Default: 1 ! MTRANS = 0 !
0 = no (i.e., final rise only)
1 = yes (i.e., transitional rise computed)

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


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

Method used to compute plume rise for


point sources not subject to building
downwash? (MRISE) Default: 1 ! MRISE = 1 !
1 = Briggs plume rise
2 = Numerical plume rise

Method used to simulate building


downwash? (MBDW) Default: 1 ! MBDW = 1 !
1 = ISC method
2 = PRIME method

Vertical wind shear modeled above


stack top? (MSHEAR) Default: 0 ! MSHEAR = 0 !
0 = no (i.e., vertical wind shear not modeled)
1 = yes (i.e., vertical wind shear modeled)

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


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

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

9-14
Section 9: CALPUFF

0 = chemical transformation not


modeled
1 = transformation rates computed
internally (MESOPUFF II scheme)
2 = user-specified transformation
rates used
3 = transformation rates computed
internally (RIVAD/ARM3 scheme)
4 = secondary organic aerosol formation
computed (MESOPUFF II scheme for OH)
5 = user-specified half-life with or
without transfer to child species
6 = transformation rates computed
internally (Updated RIVAD scheme with
ISORROPIA equilibrium)
7 = transformation rates computed

Table 9-2 (Continued)


Sample CALPUFF Control File (CALPUFF.INP)
Input Group 2
internally (Updated RIVAD scheme with
ISORROPIA equilibrium and CalTech SOA)

Aqueous phase transformation flag (MAQCHEM)


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

0 = aqueous phase transformation


not modeled
1 = transformation rates and wet
scavenging coefficients adjusted
for in-cloud aqueous phase reactions
(adapted from RADM cloud model
implementation in CMAQ/SCICHEM)

Liquid Water Content flag (MLWC)


(Used only if MAQCHEM = 1) Default: 1 ! MLWC = 1 !
0 = water content estimated from cloud cover
and presence of precipitation
1 = gridded cloud water data read from CALMET
water content output files (filenames are
the CALMET.DAT names PLUS the extension
AUXEXT provided in Input Group 0)

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


0 = no
1 = yes

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


0 = no
1 = yes
(dry deposition method specified
for each species in Input Group 3)

Gravitational settling (plume tilt)


modeled ? (MTILT) Default: 0 ! MTILT = 0 !
0 = no
1 = yes
(puff center falls at the gravitational
settling velocity for 1 particle species)

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

Method used to compute dispersion


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

1 = dispersion coefficients computed from measured values


of turbulence, sigma v, sigma w
2 = dispersion coefficients from internally calculated
sigma v, sigma w using micrometeorological variables
(u*, w*, L, etc.)
3 = PG dispersion coefficients for RURAL areas (computed using
the ISCST multi-segment approximation) and MP coefficients in
urban areas
4 = same as 3 except PG coefficients computed using
the MESOPUFF II eqns.
5 = CTDM sigmas used for stable and neutral conditions.
For unstable conditions, sigmas are computed as in
MDISP = 3, described above. MDISP = 5 assumes that
measured values are read

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


(Used only if MDISP = 1 or 5) Default: 3 ! MTURBVW = 3 !
1 = use sigma-v or sigma-theta measurements
from PROFILE.DAT to compute sigma-y
(valid for METFM = 1, 2, 3, 4)
2 = use sigma-w measurements
from PROFILE.DAT to compute sigma-z
(valid for METFM = 1, 2, 3, 4)
3 = use both sigma-(v/theta) and sigma-w

Table 9-2 (Continued)


Sample CALPUFF Control File (CALPUFF.INP)
Input Group 2
from PROFILE.DAT to compute sigma-y and sigma-z
(valid for METFM = 1, 2, 3, 4)
4 = use sigma-theta measurements
from PLMMET.DAT to compute sigma-y
(valid only if METFM = 3)

Back-up method used to compute dispersion


when measured turbulence data are
missing (MDISP2) Default: 3 ! MDISP2 = 4 !
(used only if MDISP = 1 or 5)
2 = dispersion coefficients from internally calculated
sigma v, sigma w using micrometeorological variables

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


3 = PG dispersion coefficients for RURAL areas (computed using
the ISCST multi-segment approximation) and MP coefficients in
urban areas
4 = same as 3 except PG coefficients computed using
the MESOPUFF II eqns.

[DIAGNOSTIC FEATURE]
Method used for Lagrangian timescale for Sigma-y
(used only if MDISP=1,2 or MDISP2=1,2)
(MTAULY) Default: 0 ! MTAULY = 0 !
0 = Draxler default 617.284 (s)
1 = Computed as Lag. Length / (.75 q) -- after SCIPUFF
10 < Direct user input (s) -- e.g., 306.9

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

Method used to compute turbulence sigma-v &


sigma-w using micrometeorological variables
(Used only if MDISP = 2 or MDISP2 = 2)
(MCTURB) Default: 1 ! MCTURB = 1 !
1 = Standard CALPUFF subroutines
2 = AERMOD subroutines

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


(MROUGH)
0 = no
1 = yes
Partial plume penetration of Default: 1 ! MPARTL = 1 !
elevated inversion?
(MPARTL)
0 = no
1 = yes

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


provided in PROFILE.DAT extended records?
(MTINV)
0 = no (computed from measured/default gradients)
1 = yes

PDF used for dispersion under convective conditions?


Default: 0 ! MPDF = 0 !
(MPDF)
0 = no
1 = yes

Sub-Grid TIBL module used for shore line?


Default: 0 ! MSGTIBL = 0 !
(MSGTIBL)
0 = no
1 = yes

Boundary conditions (concentration) modeled?


Default: 0 ! MBCON = 0 !
(MBCON)

Table 9-2 (Continued)


Sample CALPUFF Control File (CALPUFF.INP)
Input Group 2
0 = no
1 = yes, using formatted BCON.DAT file
2 = yes, using unformatted CONC.DAT file

Note: MBCON > 0 requires that the last species modeled


be 'BCON'. Mass is placed in species BCON when
generating boundary condition puffs so that clean
air entering the modeling domain can be simulated
in the same way as polluted air. Specify zero
emission of species BCON for all regular sources.

9-17
Section 9: CALPUFF

Individual source contributions saved?


Default: 0 ! MSOURCE = 0 !
(MSOURCE)
0 = no
1 = yes

Analyses of fogging and icing impacts due to emissions from

arrays of mechanically-forced cooling towers can be performed


using CALPUFF in conjunction with a cooling tower emissions
processor (CTEMISS) and its associated postprocessors. Hourly
emissions of water vapor and temperature from each cooling tower
cell are computed for the current cell configuration and ambient
conditions by CTEMISS. CALPUFF models the dispersion of these
emissions and provides cloud information in a specialized format
for further analysis. Output to FOG.DAT is provided in either
'plume mode' or 'receptor mode' format.

Configure for FOG Model output?


Default: 0 ! MFOG = 0 !
(MFOG)
0 = no
1 = yes - report results in PLUME Mode format
2 = yes - report results in RECEPTOR Mode format

Test options specified to see if


they conform to regulatory
values? (MREG) Default: 1 ! MREG = 0 !

0 = NO checks are made


1 = Technical options must conform to USEPA
Long Range Transport (LRT) guidance
METFM 1 or 2
AVET 60. (min)
PGTIME 60. (min)
MGAUSS 1
MCTADJ 3
MTRANS 1
MTIP 1
MRISE 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
MPARTLBA 0
SYTDEP 550. (m)
MHFTSZ 0
SVMIN 0.5 (m/s)
!END!
-------------------------------------------------------------------------------

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


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

------------
Subgroup (3a)
------------

The following species are modeled:

Table 9-2 (Continued)

9-18
Section 9: CALPUFF

Sample CALPUFF Control File (CALPUFF.INP)


Input Group 3
! CSPEC = SO2 ! !END!
! CSPEC = NOX ! !END!
! CSPEC = PMSIZE1 ! !END!
! CSPEC = PMSIZE2 ! !END!
! CSPEC = PMSIZE3 ! !END!
! CSPEC = PMSIZE4 ! !END!
! CSPEC = PMSIZE5 ! !END!
! CSPEC = PMSIZE6 ! !END!

Dry OUTPUT GROUP


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

! SO2 = 1, 1, 1, 0 !
! NOX = 1, 1, 1, 0 !
! PMSIZE1 = 1, 1, 2, 1 !
! PMSIZE2 = 1, 1, 2, 1 !
! PMSIZE3 = 1, 1, 2, 1 !
! PMSIZE4 = 1, 1, 2, 1 !
! PMSIZE5 = 1, 1, 2, 1 !
! PMSIZE6 = 1, 1, 2, 1 !

!END!

Note: The last species in (3a) must be 'BCON' when using the
boundary condition option (MBCON > 0). Species BCON should
typically be modeled as inert (no chem transformation or
removal).

-------------
Subgroup (3b)
-------------
The following names are used for Species-Groups in which results
for certain species are combined (added) prior to output. The
CGRUP name will be used as the species name in output files.
Use this feature to model specific particle-size distributions
by treating each size-range as a separate species.
Order must be consistent with 3(a) above.

! CGRUP = PM10 ! !END!

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

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


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

Projection for all (X,Y):


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

Map projection
(PMAP) Default: UTM ! PMAP = UTM !

UTM : Universal Transverse Mercator


TTM : Tangential Transverse Mercator
LCC : Lambert Conformal Conic
PS : Polar Stereographic
EM : Equatorial Mercator
LAZA : Lambert Azimuthal Equal Area

9-19
Section 9: CALPUFF

False Easting and Northing (km) at the projection origin


(Used only if PMAP= TTM, LCC, or LAZA)
(FEAST) Default=0.0 ! FEAST = 0.000 !
(FNORTH) Default=0.0 ! FNORTH = 0.000 !

UTM zone (1 to 60)


(Used only if PMAP=UTM)
(IUTMZN) No Default ! IUTMZN = 19 !

Hemisphere for UTM projection?


(Used only if PMAP=UTM)
(UTMHEM) Default: N ! UTMHEM = N !
N : Northern hemisphere projection
S : Southern hemisphere projection

Table 9-2 (Continued)


Sample CALPUFF Control File (CALPUFF.INP)
Input Group 4
Latitude and Longitude (decimal degrees) of projection origin
(Used only if PMAP= TTM, LCC, PS, EM, or LAZA)
(RLAT0) No Default ! RLAT0 = 0N !
(RLON0) No Default ! RLON0 = 0E !

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


RLAT0 selected for convenience
LCC : RLON0 identifies central (true N/S) meridian of projection
RLAT0 selected for convenience
PS : RLON0 identifies central (grid N/S) meridian of projection
RLAT0 selected for convenience
EM : RLON0 identifies central meridian of projection
RLAT0 is REPLACED by 0.0N (Equator)
LAZA: RLON0 identifies longitude of tangent-point of mapping plane
RLAT0 identifies latitude of tangent-point of mapping plane

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


(Used only if PMAP= LCC or PS)
(XLAT1) No Default ! XLAT1 = 0N !
(XLAT2) No Default ! XLAT2 = 0N !

LCC : Projection cone slices through Earth's surface at XLAT1 and XLAT2
PS : Projection plane slices through Earth at XLAT1
(XLAT2 is not used)

----------
Note: Latitudes and longitudes should be positive, and include a
letter N,S,E, or W indicating north or south latitude, and
east or west longitude. For example,
35.9 N Latitude = 35.9N
118.7 E Longitude = 118.7E

Datum-region
------------

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


string. Many mapping products currently available use the model of the
Earth known as the World Geodetic System 1984 (WGS-84). Other local
models may be in use, and their selection in CALMET will make its output
consistent with local mapping products. The list of Datum-Regions with
official transformation parameters is provided by the National Imagery and
Mapping Agency (NIMA).

NIMA Datum - Regions(Examples)


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

9-20
Section 9: CALPUFF

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


NAS-C NORTH AMERICAN 1927 Clarke 1866 Spheroid, MEAN FOR CONUS (NAD27)
NAR-C NORTH AMERICAN 1983 GRS 80 Spheroid, MEAN FOR CONUS (NAD83)
NWS-84 NWS 6370KM Radius, Sphere
ESR-S ESRI REFERENCE 6371KM Radius, Sphere

Datum-region for output coordinates


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

METEOROLOGICAL grid:

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


No. Y grid cells (NY) No default ! NY = 40 !
No. vertical layers (NZ) No default ! NZ = 10 !

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


Units: km

Cell face heights


(ZFACE(nz+1)) No defaults
Units: m
! ZFACE = 0., 20., 50., 100., 200., 400., 600., 1000., 1500., 2000.,
3000. !

Reference Coordinates
of SOUTHWEST corner of
grid cell(1, 1):
X coordinate (XORIGKM) No default ! XORIGKM = -10. !
Y coordinate (YORIGKM) No default ! YORIGKM = -10. !
Units: km

Table 9-2 (Continued)


Sample CALPUFF Control File (CALPUFF.INP)
Input Group 4, 5
COMPUTATIONAL Grid:

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


The lower left (LL) corner of the computational grid is at grid point
(IBCOMP, JBCOMP) of the MET. grid. The upper right (UR) corner of the
computational grid is at grid point (IECOMP, JECOMP) of the MET. grid.
The grid spacing of the computational grid is the same as the MET. grid.

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


(1 <= IBCOMP <= NX)

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


(1 <= JBCOMP <= NY)

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


(1 <= IECOMP <= NX)

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


(1 <= JECOMP <= NY)

SAMPLING Grid (GRIDDED RECEPTORS):

The lower left (LL) corner of the sampling grid is at grid point
(IBSAMP, JBSAMP) of the MET. grid. The upper right (UR) corner of the
sampling grid is at grid point (IESAMP, JESAMP) of the MET. grid.
The sampling grid must be identical to or a subset of the computational
grid. It may be a nested grid inside the computational grid.
The grid spacing of the sampling grid is DGRIDKM/MESHDN.

9-21
Section 9: CALPUFF

Logical flag indicating if gridded


receptors are used (LSAMP) Default: T ! LSAMP = T !
(T=yes, F=no)

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


(IBCOMP <= IBSAMP <= IECOMP)

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


(JBCOMP <= JBSAMP <= JECOMP)

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


(IBCOMP <= IESAMP <= IECOMP)

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


(JBCOMP <= JESAMP <= JECOMP)

Nesting factor of the sampling


grid (MESHDN) Default: 1 ! MESHDN = 1 !
(MESHDN is an integer >= 1)

!END!

-------------------------------------------------------------------------------
INPUT GROUP: 5 -- Output Options
--------------
* *
FILE DEFAULT VALUE VALUE THIS RUN
---- ------------- --------------

Concentrations (ICON) 1 ! ICON = 1 !


Dry Fluxes (IDRY) 1 ! IDRY = 1 !
Wet Fluxes (IWET) 1 ! IWET = 0 !
2D Temperature (IT2D) 0 ! IT2D = 0 !
2D Density (IRHO) 0 ! IRHO = 0 !
Relative Humidity (IVIS) 1 ! IVIS = 0 !
(relative humidity file is
required for visibility
analysis)
Use data compression option in output file?
(LCOMPRS) Default: T ! LCOMPRS = T !

*
0 = Do not create file, 1 = create file

Table 9-2 (Continued)


Sample CALPUFF Control File (CALPUFF.INP)
Input Group 5

QA PLOT FILE OUTPUT OPTION:

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


locations of sources, receptors, grids ...)
suitable for plotting?
(IQAPLOT) Default: 1 ! IQAPLOT = 1 !
0 = no
1 = yes

DIAGNOSTIC MASS FLUX OUTPUT OPTIONS:

Mass flux across specified boundaries

9-22
Section 9: CALPUFF

for selected species reported hourly?


(IMFLX) Default: 0 ! IMFLX = 0 !
0 = no
1 = yes (FLUXBDY.DAT and MASSFLX.DAT filenames
are specified in Input Group 0)

Mass balance for each species


reported hourly?
(IMBAL) Default: 0 ! IMBAL = 0 !
0 = no
1 = yes (MASSBAL.DAT filename is
specified in Input Group 0)

LINE PRINTER OUTPUT OPTIONS:

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


Print dry fluxes (IDPRT) Default: 0 ! IDPRT = 0 !
Print wet fluxes (IWPRT) Default: 0 ! IWPRT = 0 !
(0 = Do not print, 1 = Print)

Concentration print interval


(ICFRQ) in hours Default: 1 ! ICFRQ = 1 !
Dry flux print interval
(IDFRQ) in hours Default: 1 ! IDFRQ = 1 !
Wet flux print interval
(IWFRQ) in hours Default: 1 ! IWFRQ = 1 !

Units for Line Printer Output


(IPRTU) Default: 1 ! IPRTU = 1 !
for for
Concentration Deposition
1 = g/m**3 g/m**2/s
2 = mg/m**3 mg/m**2/s
3 = ug/m**3 ug/m**2/s
4 = ng/m**3 ng/m**2/s
5 = Odor Units

Messages tracking progress of run


written to the screen ?
(IMESG) Default: 2 ! IMESG = 2 !
0 = no
1 = yes (advection step, puff ID)
2 = yes (YYYYJJJHH, SSSS, # old puffs, # emitted puffs)

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

---- CONCENTRATIONS ---- ------ DRY FLUXES ------ ------ WET FLUXES ------ -- MASS FLUX --
SPECIES
/GROUP PRINTED? SAVED ON DISK? PRINTED? SAVED ON DISK? PRINTED? SAVED ON DISK? SAVED ON DISK?
------- ------------------------ ------------------------ ------------------------ ---------------
! SO2 = 1, 1, 0, 1, 0, 0, 0 !
! NOX = 1, 1, 0, 1, 0, 0, 0 !
! PM10 = 1, 1, 0, 1, 0, 0, 0 !

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

OPTIONS FOR PRINTING "DEBUG" QUANTITIES (much output)

Logical for debug output


(LDEBUG) Default: F ! LDEBUG = F !

Table 9-2 (Continued)

9-23
Section 9: CALPUFF

Sample CALPUFF Control File (CALPUFF.INP)


Input Group 5, 6
First puff to track
(IPFDEB) Default: 1 ! IPFDEB = 1 !

Number of puffs to track


(NPFDEB) Default: 1 ! NPFDEB = 1 !

Met. period to start output


(NN1) Default: 1 ! NN1 = 1 !

Met. period to end output


(NN2) Default: 10 ! NN2 = 10 !

!END!
-------------------------------------------------------------------------------

INPUT GROUP: 6a, 6b, & 6c -- Subgrid scale complex terrain inputs
-------------------------
---------------
Subgroup (6a)
---------------
Number of terrain features (NHILL) Default: 0 ! NHILL = 1 !

Number of special complex terrain


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

Terrain and CTSG Receptor data for


CTSG hills input in CTDM format ?
(MHILL) No Default ! MHILL = 2 !
1 = Hill and Receptor data created
by CTDM processors & read from
HILL.DAT and HILLRCT.DAT files
2 = Hill data created by OPTHILL &
input below in Subgroup (6b);
Receptor data in Subgroup (6c)

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


to meters (MHILL=1)

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


to meters (MHILL=1)

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


CALPUFF coordinate system, in Kilometers (MHILL=1)

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


CALPUFF coordinate system, in Kilometers (MHILL=1)

! END !

---------------
Subgroup (6b)
---------------
1 **
HILL information

HILL XC YC THETAH ZGRID RELIEF EXPO 1 EXPO 2 SCALE 1 SCALE 2 AMAX1 AMAX2
NO. (km) (km) (deg.) (m) (m) (m) (m) (m) (m) (m) (m)
---- ---- ---- ------ ----- ------ ------ ------ ------- ------- ----- -----
1!HILL = 0., 0., 0., 25., 100., 2., 2., 800., 400., 1132., 566. ! !END!

9-24
Section 9: CALPUFF

---------------
Subgroup (6c)
---------------

COMPLEX TERRAIN RECEPTOR INFORMATION

XRCT YRCT ZRCT XHH


(km) (km) (m)

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

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


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

Table 9-2 (Continued)


Sample CALPUFF Control File (CALPUFF.INP)
Input Group 6, 7, 8, 9
3 !CTREC = -0.2, -0.2, 89.3, 1.0 ! !END!
4 !CTREC = -0.2, -0.3, 82.9, 1.0 ! !END!
5 !CTREC = -0.2, -0.4, 75.0, 1.0 ! !END!
6 !CTREC = -0.2, -0.5, 66.4, 1.0 ! !END!
7 !CTREC = -0.2, -0.6, 57.8, 1.0 ! !END!
8 !CTREC = -0.2, -0.7, 49.4, 1.0 ! !END!
9 !CTREC = -0.2, -0.8, 41.7, 1.0 ! !END!

-------------------
1
Description of Complex Terrain Variables:
XC, YC = Coordinates of center of hill
THETAH = Orientation of major axis of hill (clockwise from
North)
ZGRID = Height of the 0 of the grid above mean sea
level
RELIEF = Height of the crest of the hill above the grid elevation
EXPO 1 = Hill-shape exponent for the major axis
EXPO 2 = Hill-shape exponent for the major axis
SCALE 1 = Horizontal length scale along the major axis
SCALE 2 = Horizontal length scale along the minor axis
AMAX = Maximum allowed axis length for the major axis
BMAX = Maximum allowed axis length for the major axis

XRCT, YRCT = Coordinates of the complex terrain receptors


ZRCT = Height of the ground (MSL) at the complex terrain
Receptor
XHH = Hill number associated with each complex terrain receptor
(NOTE: MUST BE ENTERED AS A REAL NUMBER)

**
NOTE: DATA for each hill and CTSG receptor are treated as a separate
input subgroup and therefore must end with an input group terminator.

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

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


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

SPECIES DIFFUSIVITY ALPHA STAR REACTIVITY MESOPHYLL RESISTANCE HENRY'S LAW COEFFICIENT
NAME (cm**2/s) (s/cm) (dimensionless)
------- ----------- ---------- ---------- -------------------- -----------------------

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


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

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.

For GROUPED SPECIES, the size distribution should be explicitly


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

SPECIES GEOMETRIC MASS MEAN GEOMETRIC STANDARD


NAME DIAMETER DEVIATION
(microns) (microns)
------- ------------------- ------------------
! PMSIZE1 = 0.05, 0. !
! PMSIZE2 = 0.1, 0. !
! PMSIZE3 = 0.2, 0. !
! PMSIZE4 = 0.4, 0. !
! PMSIZE5 = 0.8, 0. !
! PMSIZE6 = 1.6, 0. !

!END!
-------------------------------------------------------------------------------
INPUT GROUP: 9 -- Miscellaneous dry deposition parameters

Table 9-2 (Continued)


Sample CALPUFF Control File (CALPUFF.INP)
Input Group 9, 10, 11
--------------

Reference cuticle resistance (s/cm)


(RCUTR) Default: 30 ! RCUTR = 30. !
Reference ground resistance (s/cm)
(RGR) Default: 10 ! RGR = 10. !
Reference pollutant reactivity
(REACTR) Default: 8 ! REACTR = 8. !

Number of particle-size intervals used to


evaluate effective particle deposition velocity
(NINT) Default: 9 ! NINT = 9 !

Vegetation state in unirrigated areas


(IVEG) Default: 1 ! IVEG = 1 !
IVEG=1 for active and unstressed vegetation
IVEG=2 for active and stressed vegetation
IVEG=3 for inactive vegetation

!END!

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

INPUT GROUP: 10 -- Wet Deposition Parameters


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

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

Pollutant Liquid Precip. Frozen Precip.

9-26
Section 9: CALPUFF

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


! SO2 = 3.0E-05, 0.0E00 !
! NOX = 0.0, 0.0 !
! PMSIZE1 = 1.0E-04, 3.0E-05 !
! PMSIZE2 = 1.0E-04, 3.0E-05 !
! PMSIZE3 = 1.0E-04, 3.0E-05 !
! PMSIZE4 = 1.0E-04, 3.0E-05 !
! PMSIZE5 = 1.0E-04, 3.0E-05 !
! PMSIZE6 = 1.0E-04, 3.0E-05 !

!END!

-------------------------------------------------------------------------------
INPUT GROUP: 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 . .

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


(Used only if MCHEM = 1, 3, or 4)
0 = use a monthly background ozone value
1 = read hourly ozone concentrations from
the OZONE.DAT data file

Monthly ozone concentrations in ppb (BCKO3)

Table 9-2 (Continued)


Sample CALPUFF Control File (CALPUFF.INP)
Input Group 11
(Used only if MCHEM = 1,3,4,6, or 7 and either
MOZ = 0, or
MOZ = 1 and all hourly O3 data missing)
Default: 12*80.
! BCKO3 = 80.00, 80.00, 80.00, 80.00, 80.00, 80.00, 80.00, 80.00, 80.00, 80.00, 80.00, 80.00 !

Ammonia data option (MNH3) Default: 0 ! MNH3 = 0 !


(Used only if MCHEM = 6 or 7)
0 = use monthly background ammonia values (BCKNH3) - no vertical variation
1 = read monthly background ammonia values for each layer from
the NH3Z.DAT data file

Ammonia vertical averaging option (MAVGNH3)


(Used only if MCHEM = 6 or 7, and MNH3 = 1)

9-27
Section 9: CALPUFF

0 = use NH3 at puff center height (no averaging is done)


1 = average NH3 values over vertical extent of puff
Default: 1 ! MAVGNH3 = 1 !

Monthly ammonia concentrations in ppb (BCKNH3)


(Used only if MCHEM = 1 or 3, or
if MCHEM = 6 or 7, and MNH3 = 0)

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 !

Nighttime SO2 loss rate in %/hour (RNITE1)


(Used only if MCHEM = 1, 6 or 7)
This rate is used only at night for MCHEM=1
and is added to the computed rate both day
and night for MCHEM=6,7 (heterogeneous reactions)
Default: 0.2 ! RNITE1 = .2 !

Nighttime NOx loss rate in %/hour (RNITE2)


(Used only if MCHEM = 1)
Default: 2.0 ! RNITE2 = 2.0 !

Nighttime HNO3 formation rate in %/hour (RNITE3)


(Used only if MCHEM = 1)
Default: 2.0 ! RNITE3 = 2.0 !

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


(Used only if MCHEM = 6 or 7, and MAQCHEM = 1)
0 = use a monthly background H2O2 value
1 = read hourly H2O2 concentrations from
the H2O2.DAT data file

Monthly H2O2 concentrations in ppb (BCKH2O2)


(Used only if MQACHEM = 1 and either
MH2O2 = 0 or
MH2O2 = 1 and all hourly H2O2 data missing)
Default: 12*1.
! BCKH2O2 = 1.00, 1.00, 1.00, 1.00, 1.00, 1.00, 1.00, 1.00, 1.00, 1.00, 1.00, 1.00 !

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


(used only if MCHEM = 4 or 7)

The MCHEM = 4 SOA module uses monthly values of:


Fine particulate concentration in ug/m^3 (BCKPMF)
Organic fraction of fine particulate (OFRAC)
VOC / NOX ratio (after reaction) (VCNX)

The MCHEM = 7 SOA module uses monthly values of:


Fine particulate concentration in ug/m^3 (BCKPMF)
Organic fraction of fine particulate (OFRAC)

These characterize the air mass when computing


the formation of SOA from VOC emissions.
Typical values for several distinct air mass types are:

Month 1 2 3 4 5 6 7 8 9 10 11 12
Jan Feb Mar Apr May Jun Jul Aug Sep Oct Nov Dec

Clean Continental
BCKPMF 1. 1. 1. 1. 1. 1. 1. 1. 1. 1. 1. 1.

Table 9-2 (Continued)


Sample CALPUFF Control File (CALPUFF.INP)

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.

Clean Marine (surface)


BCKPMF .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5 .5
OFRAC .25 .25 .30 .30 .30 .30 .30 .30 .30 .30 .30 .25
VCNX 50. 50. 50. 50. 50. 50. 50. 50. 50. 50. 50. 50.

Urban - low biogenic (controls present)


BCKPMF 30. 30. 30. 30. 30. 30. 30. 30. 30. 30. 30. 30.
OFRAC .20 .20 .25 .25 .25 .25 .25 .25 .20 .20 .20 .20
VCNX 4. 4. 4. 4. 4. 4. 4. 4. 4. 4. 4. 4.

Urban - high biogenic (controls present)


BCKPMF 60. 60. 60. 60. 60. 60. 60. 60. 60. 60. 60. 60.
OFRAC .25 .25 .30 .30 .30 .55 .55 .55 .35 .35 .35 .25
VCNX 15. 15. 15. 15. 15. 15. 15. 15. 15. 15. 15. 15.

Regional Plume
BCKPMF 20. 20. 20. 20. 20. 20. 20. 20. 20. 20. 20. 20.
OFRAC .20 .20 .25 .35 .25 .40 .40 .40 .30 .30 .30 .20
VCNX 15. 15. 15. 15. 15. 15. 15. 15. 15. 15. 15. 15.

Urban - no controls present


BCKPMF 100. 100. 100. 100. 100. 100. 100. 100. 100. 100. 100. 100.
OFRAC .30 .30 .35 .35 .35 .55 .55 .55 .35 .35 .35 .30
VCNX 2. 2. 2. 2. 2. 2. 2. 2. 2. 2. 2. 2.

Default: Clean Continental


! BCKPMF = 1.00, 1.00, 1.00, 1.00, 1.00, 1.00, 1.00, 1.00, 1.00, 1.00, 1.00, 1.00 !
! OFRAC = 0.15, 0.15, 0.20, 0.20, 0.20, 0.20, 0.20, 0.20, 0.20, 0.20, 0.20, 0.15 !
! VCNX = 50.00, 50.00, 50.00, 50.00, 50.00, 50.00, 50.00, 50.00, 50.00, 50.00, 50.00, 50.00 !

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

Number of half-life decay specification blocks provided in Subgroup 11b


(Used only if MCHEM = 5)
(NDECAY) Default: 0 ! NDECAY = 0 !

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

* SPEC1 = 3600., -1.0 * (Parent)


* SPEC2 = -1.0, 0.0 * (Child)
*END*

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

NOTE: Assignments in each block are treated as a separate input


subgroup and therefore must end with an input group terminator.
If NDECAY=0, no assignments and input group terminators should appear.

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

Table 9-2 (Continued)


Sample CALPUFF Control File (CALPUFF.INP)
Input Group 12
-------------------------------------------------------------------------------
INPUT GROUP: 12 -- Misc. Dispersion and Computational Parameters
---------------

Horizontal size of puff (m) beyond which


time-dependent dispersion equations (Heffter)
are used to determine sigma-y and
sigma-z (SYTDEP) Default: 550. ! SYTDEP = 1.0E04 !

Switch for using Heffter equation for sigma z


as above (0 = Not use Heffter; 1 = use Heffter
(MHFTSZ) Default: 0 ! MHFTSZ = 1 !

Stability class used to determine plume


growth rates for puffs above the boundary
layer (JSUP) Default: 5 ! JSUP = 5 !

Vertical dispersion constant for stable


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

Vertical dispersion constant for neutral/


unstable conditions (k2 in Eqn. 2.7-4)
(CONK2) Default: 0.1 ! CONK2 = 0.1 !

Factor for determining Transition-point from


Schulman-Scire to Huber-Snyder Building Downwash
scheme (SS used for Hs < Hb + TBD * HL)
(TBD) Default: 0.5 ! TBD = 0.5 !
TBD < 0 ==> always use Huber-Snyder
TBD = 1.5 ==> always use Schulman-Scire
TBD = 0.5 ==> ISC Transition-point

Range of land use categories for which


urban dispersion is assumed Default: 10 ! IURB1 = 10 !
(IURB1, IURB2) 19 ! IURB2 = 19 !

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


(needed for METFM = 2,3,4)

Land use category for modeling domain


(ILANDUIN) Default: 20 ! ILANDUIN = 20 !

Roughness length (m) for modeling domain


(Z0IN) Default: 0.25 ! Z0IN = 0.25 !

Leaf area index for modeling domain

9-30
Section 9: CALPUFF

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

Elevation above sea level (m)


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

Latitude (degrees) for met location


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

Longitude (degrees) for met location


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

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

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


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

Form of lateral turbulence data in PROFILE.DAT file


(Used only if METFM = 4 or MTURBVW = 1 or 3)
(ISIGMAV) Default: 1 ! ISIGMAV = 1 !
0 = read sigma-theta
1 = read sigma-v

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


(IMIXCTDM) Default: 0 ! IMIXCTDM = 0 !
0 = read PREDICTED mixing heights
1 = read OBSERVED mixing heights

Maximum length of a slug (met. grid units)


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

9-31
Section 9: CALPUFF

Table 9-2 (Continued)


Sample CALPUFF Control File (CALPUFF.INP)
Input Group 12

Maximum travel distance of a puff/slug (in


grid units) during one sampling step
(XSAMLEN) Default: 1.0 ! XSAMLEN = 1. !

Maximum Number of slugs/puffs release from


one source during one time step
(MXNEW) Default: 99 ! MXNEW = 99 !

Maximum Number of sampling steps for


one puff/slug during one time step
(MXSAM) Default: 99 ! MXSAM = 99 !

Number of iterations used when computing


the transport wind for a sampling step
that includes gradual rise (for CALMET
and PROFILE winds)
(NCOUNT) Default: 2 ! NCOUNT = 2 !

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


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

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


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

Default minimum turbulence velocities sigma-v and sigma-w


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

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


Stab Class : A B C D E F A B C D E F
--- --- --- --- --- --- --- --- --- --- --- ---
Default SVMIN : .50, .50, .50, .50, .50, .50, .37, .37, .37, .37, .37, .37
Default SWMIN : .20, .12, .08, .06, .03, .016, .20, .12, .08, .06, .03, .016

! SVMIN = 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!

Divergence criterion for dw/dz across puff


used to initiate adjustment for horizontal
convergence (1/s)
Partial adjustment starts at CDIV(1), and
full adjustment is reached at CDIV(2)
(CDIV(2)) Default: 0.0,0.0 ! CDIV = 0., 0. !

Search radius (number of cells) for nearest


land and water cells used in the subgrid
TIBL module
(NLUTIBL) Default: 4 ! NLUTIBL = 4 !

Minimum wind speed (m/s) allowed for


non-calm conditions. Also used as minimum
speed returned when using power-law
extrapolation toward surface
(WSCALM) Default: 0.5 ! WSCALM = 0.5 !

Maximum mixing height (m)


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

9-32
Section 9: CALPUFF

Minimum mixing height (m)


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

Default wind speed classes --


5 upper bounds (m/s) are entered;
the 6th class has no upper limit
(WSCAT(5)) Default :
ISC RURAL : 1.54, 3.09, 5.14, 8.23, 10,8 (10.8+)

Wind Speed Class : 1 2 3 4 5 6


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

Default wind speed profile power-law


exponents for stabilities 1-6
(PLX0(6)) Default : ISC RURAL values

Table 9-2 (Continued)


Sample CALPUFF Control File (CALPUFF.INP)
Input Group 12
ISC RURAL : .07, .07, .10, .15, .35, .55
ISC URBAN : .15, .15, .20, .25, .30, .30

Stability Class : A B C D E F
--- --- --- --- --- ---
! PLX0 = 0.07, 0.07, 0.10, 0.15, 0.35, 0.55 !

Default potential temperature gradient


for stable classes E, F (degK/m)
(PTG0(2)) Default: 0.020, 0.035
! PTG0 = 0.020, 0.035 !

Default plume path coefficients for


each stability class (used when option
for partial plume height terrain adjustment
is selected -- MCTADJ=3)
(PPC(6)) Stability Class : A B C D E F
Default PPC : .50, .50, .50, .50, .35, .35
--- --- --- --- --- ---
! PPC = 0.50, 0.50, 0.50, 0.50, 0.35, 0.35 !

Slug-to-puff transition criterion factor


equal to sigma-y/length of slug
(SL2PF) Default: 10. ! SL2PF = 10. !

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

VERTICAL SPLIT
--------------

Number of puffs that result every time a puff


is split - nsplit=2 means that 1 puff splits
into 2
(NSPLIT) Default: 3 ! NSPLIT = 3 !

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


be split once again; this is typically set once
per day, around sunset before nocturnal shear develops.
24 values: 0 is midnight (00:00) and 23 is 11 PM (23:00)
0=do not re-split 1=eligible for re-split
(IRESPLIT(24)) Default: Hour 17 = 1
! IRESPLIT = 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0 !

9-33
Section 9: CALPUFF

Split is allowed only if last hour's mixing


height (m) exceeds a minimum value
(ZISPLIT) Default: 100. ! ZISPLIT = 100. !

Split is allowed only if ratio of last hour's


mixing ht to the maximum mixing ht experienced
by the puff is less than a maximum value (this
postpones a split until a nocturnal layer develops)
(ROLDMAX) Default: 0.25 ! ROLDMAX = 0.25 !

HORIZONTAL SPLIT
----------------

Number of puffs that result every time a puff


is split - nsplith=5 means that 1 puff splits
into 5
(NSPLITH) Default: 5 ! NSPLITH = 5 !

Minimum sigma-y (Grid Cells Units) of puff


before it may be split
(SYSPLITH) Default: 1.0 ! SYSPLITH = 1.0 !

Minimum puff elongation rate (SYSPLITH/hr) due to


wind shear, before it may be split
(SHSPLITH) Default: 2. ! SHSPLITH = 2. !

Minimum concentration (g/m^3) of each


species in puff before it may be split
Enter array of NSPEC values; if a single value is
entered, it will be used for ALL species
(CNSPLITH) Default: 1.0E-07 ! CNSPLITH = 1.0E-07 !

Table 9-2 (Continued)


Sample CALPUFF Control File (CALPUFF.INP)
Input Group 12, 13
Integration control variables ------------------------

Fractional convergence criterion for numerical SLUG


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

Fractional convergence criterion for numerical AREA


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

Trajectory step-length (m) used for numerical rise


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

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

Minimum height (m) to which BC puffs are mixed as they are emitted
(MBCON=2 ONLY). Actual height is reset to the current mixing height
at the release point if greater than this minimum.
(HTMINBC) Default: 500. ! HTMINBC = 500. !

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


BC puffs are typically emitted with a spacing of one grid cell
length, so the search radius should be greater than DGRIDKM.
(RSAMPBC) Default: 10. ! RSAMPBC = 15. !

9-34
Section 9: CALPUFF

Near-Surface depletion adjustment to concentration profile used when


sampling BC puffs?
(MDEPBC) Default: 1 ! MDEPBC = 0. !
0 = Concentration is NOT adjusted for depletion
1 = Adjust Concentration for depletion

!END!

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

---------------
Subgroup (13a)
---------------

Number of point sources with


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

Units used for point source


emissions below (IPTU) Default: 1 ! IPTU = 1 !
1 = g/s
2 = kg/hr
3 = lb/hr
4 = tons/yr
5 = Odor Unit * m**3/s (vol. flux of odor compound)
6 = Odor Unit * m**3/min
7 = metric tons/yr
8 = Bq/s (Bq = becquerel = disintegrations/s)
9 = GBq/yr

Number of source-species
combinations with variable
emissions scaling factors
provided below in (13d) (NSPT1) Default: 0 ! NSPT1 = 1 !

Number of point sources with


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

(If NPT2 > 0, these point source emissions are read from the file: PTEMARB.DAT)

!END!

---------------
Subgroup (13b)
---------------

Table 9-2 (Continued)


Sample CALPUFF Control File (CALPUFF.INP)
Input Group 13
a
POINT SOURCE: CONSTANT DATA
-----------------------------
b c
Source X UTM Y UTM Stack Base Stack Exit Exit Bldg. Emission
No. Coordinate Coordinate Height Elevation Diameter Vel. Temp. Dwash Rates
(km) (km) (m) (m) (m) (m/s) (deg. K)
------ ---------- ---------- ------ ------ -------- ----- -------- ----- --------
1 ! SRCNAM = BLR1 !
1 ! X = 0.1, -3., 40., 25., 2.2, 10., 450., 1., 1.7E00, 1.0E00,
1.0E-02, 1.0E-01, 2.0E-01, 2.4E-01, 2.5E-01, 2.0E-01 !
1 ! SIGYZI = 3., 1.5 !

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.

SRCNAM is a 12-character name for a source


(No default)
X is an array holding the source data listed by the column headings
(No default)
SIGYZI is an array holding the initial sigma-y and sigma-z (m)
(Default: 0.,0.)
FMFAC is a vertical momentum flux factor (0. or 1.0) used to represent
the effect of rain-caps or other physical configurations that
reduce momentum rise associated with the actual exit velocity.
(Default: 1.0 -- full momentum used)
ZPLTFM is the platform height (m) for sources influenced by an isolated
structure that has a significant open area between the surface
and the bulk of the structure, such as an offshore oil platform.
The Base Elevation is that of the surface (ground or ocean),
and the Stack Height is the release height above the Base (not
above the platform). Building heights entered in Subgroup 13c
must be those of the buildings on the platform, measured from
the platform deck. ZPLTFM is used only with MBDW=1 (ISC
downwash method) for sources with building downwash. (Default: 0.0)

b
0. = No building downwash modeled
1. = Downwash modeled for buildings resting on the surface
2. = Downwash modeled for buildings raised above the surface (ZPLTFM > 0.)
NOTE: must be entered as a REAL number (i.e., with decimal point)

c
An emission rate must be entered for every pollutant modeled.
Enter emission rate of zero for secondary pollutants that are
modeled, but not emitted. Units are specified by IPTU
(e.g. 1 for g/s).

---------------
Subgroup (13c)
---------------

BUILDING DIMENSION DATA FOR SOURCES SUBJECT TO DOWNWASH


-------------------------------------------------------
Source a
No. Effective building height, width, length and X/Y offset (in meters)
every 10 degrees. LENGTH, XBADJ, and YBADJ are only needed for
MBDW=2 (PRIME downwash option)
------ ----------------------------------------------------------------

1 ! SRCNAM = BLR1 !
1 ! HEIGHT = 45., 45., 45., 45., 45., 45.,
45., 45., 45., 0., 0., 0.,
0., 0., 0., 0., 0., 0.,
45., 45., 45., 45., 45., 45.,
45., 45., 45., 0., 0., 0.,
0., 0., 0., 0., 0., 0.!
1 ! WIDTH = 12.5, 12.5, 12.5, 12.5, 12.5, 12.5,
12.5, 12.5, 12.5, 0., 0., 0.,
0., 0., 0., 0., 0., 0.,
12.5, 12.5, 12.5, 12.5, 12.5, 12.5,
12.5, 12.5, 12.5, 0., 0., 0.,
0., 0., 0., 0., 0., 0.!

Table 9-2 (Continued)

9-36
Section 9: CALPUFF

Sample CALPUFF Control File (CALPUFF.INP)


Input Group 13
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. The X/Y offset is the position, relative to the
stack, of the center of the upwind face of the projected building, with the
x-axis pointing along the flow direction.

---------------
Subgroup (13d)
---------------
a
POINT SOURCE: VARIABLE EMISSIONS DATA
---------------------------------------

Use this subgroup to describe temporal variations in the emission


rates given in 13b. Factors entered multiply the rates in 13b.
Skip sources here that have constant emissions. For more elaborate
variation in source parameters, use PTEMARB.DAT and NPT2 > 0.

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


(IVARY) Default: 0
0 = Constant
1 = Diurnal cycle (24 scaling factors: hours 1-24)
2 = Monthly cycle (12 scaling factors: months 1-12)
3 = Hour & Season (4 groups of 24 hourly scaling factors,
where first group is DEC-JAN-FEB)
4 = Speed & Stab. (6 groups of 6 scaling factors, where
first group is Stability Class A,
and the speed classes have upper
bounds (m/s) defined in Group 12
5 = Temperature (12 scaling factors, where temperature
classes have upper bounds (C) of:
0, 5, 10, 15, 20, 25, 30, 35, 40,
45, 50, 50+)

1 ! SRCNAM = BLR1 !
1 ! IVARY = 2 ! (12 Months)
1 ! SO2 = 0.1,0.1,0.5,0.9,2,2.2,
2.5,1.5,1.1,0.9,0.5,0.1 !
!END!
--------

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

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


--------------------------------
---------------
Subgroup (14a)
---------------

Number of polygon area sources with


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

Table 9-2 (Continued)


Sample CALPUFF Control File (CALPUFF.INP)
Input Group 14
Units used for area source
emissions below (IARU) Default: 1 ! IARU = 1 !
1 = g/m**2/s
2 = kg/m**2/hr
3 = lb/m**2/hr
4 = tons/m**2/yr
5 = Odor Unit * m/s (vol. flux/m**2 of odor compound)
6 = Odor Unit * m/min
7 = metric tons/m**2/yr
8 = Bq/m**2/s (Bq = becquerel = disintegrations/s)
9 = GBq/m**2/yr

Number of source-species
combinations with variable
emissions scaling factors
provided below in (14d) (NSAR1) Default: 0 ! NSAR1 = 4 !

Number of buoyant polygon area sources


with variable location and emission
parameters (NAR2) No default ! NAR2 = 0 !
(If NAR2 > 0, ALL parameter data for
these sources are read from the file: BAEMARB.DAT)

!END!

---------------
Subgroup (14b)
---------------
a
AREA SOURCE: CONSTANT DATA
----------------------------
b
Source Effect. Base Initial Emission
No. Height Elevation Sigma z Rates
(m) (m) (m)
------- ------ ------ -------- ---------

1! SRCNAM = AREA1 !
1! X = 1., 0., 2.5, 8.5E-01, 0.5E00, 0.0E00,
0.0E00, 0.0E00, 0.0E00, 0.0E00, 0.0E00 !
!END!
2! SRCNAM = AREA2 !
2! X = 1.5, 0., 3., 0.0E00, 0.0E00, 1.0E-01,
0.0E00, 0.0E00, 5.0E-01, 1.0E00, 1.3E00 !
!END!

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

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


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

1 ! SRCNAM = AREA1 !
1 ! XVERT = 0.5, 0.51, 0.51, 0.5!
1 ! YVERT = 1.61, 1.61, 1.6, 1.6!
!END!
2 ! SRCNAM = AREA2 !
2 ! XVERT = 0.75, 0.76, 0.76, 0.75!
2 ! YVERT = 1.81, 1.81, 1.8, 1.8!
!END!

Table 9-2 (Continued)


Sample CALPUFF Control File (CALPUFF.INP)
Input Group 14
--------
a
Data for each source are treated as a separate input subgroup
and therefore must end with an input group terminator.

---------------
Subgroup (14d)
---------------
a
AREA SOURCE: VARIABLE EMISSIONS DATA
--------------------------------------

Use this subgroup to describe temporal variations in the emission


rates given in 14b. Factors entered multiply the rates in 14b.
Skip sources here that have constant emissions. For more elaborate
variation in source parameters, use BAEMARB.DAT and NAR2 > 0.

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


(IVARY) Default: 0
0 = Constant
1 = Diurnal cycle (24 scaling factors: hours 1-24)
2 = Monthly cycle (12 scaling factors: months 1-12)
3 = Hour & Season (4 groups of 24 hourly scaling factors,
where first group is DEC-JAN-FEB)
4 = Speed & Stab. (6 groups of 6 scaling factors, where
first group is Stability Class A,
and the speed classes have upper
bounds (m/s) defined in Group 12

9-39
Section 9: CALPUFF

5 = Temperature (12 scaling factors, where temperature


classes have upper bounds (C) of:
0, 5, 10, 15, 20, 25, 30, 35, 40,
45, 50, 50+)

2 ! SRCNAM = AREA2 !
2 ! IVARY = 4 ! (6 speed classes for each stability)
2 ! PMSIZE1 = 0.1,0.1,0.5,0.9,1,1.5,
0.1,0.1,0.5,0.9,1,1.5,
0.1,0.1,0.5,0.9,1,1.5,
0.1,0.1,0.5,0.9,1,1.5,
0.1,0.1,0.5,0.9,1,1.5,
0.1,0.1,0.5,0.9,1,1.5 !
!END!
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!

--------

Table 9-2 (Continued)


Sample CALPUFF Control File (CALPUFF.INP)
Input Group 15
a
Data for each species are treated as a separate input subgroup
and therefore must end with an input group terminator.

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

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


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

---------------
Subgroup (15a)
---------------

9-40
Section 9: CALPUFF

Number of buoyant line sources


with variable location and emission
parameters (NLN2) No default ! NLN2 = 0 !

(If NLN2 > 0, ALL parameter data for


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

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

Units used for line source


emissions below (ILNU) Default: 1 ! ILNU = 1 !
1 = g/s
2 = kg/hr
3 = lb/hr
4 = tons/yr
5 = Odor Unit * m**3/s (vol. flux of odor compound)
6 = Odor Unit * m**3/min
7 = metric tons/yr
8 = Bq/s (Bq = becquerel = disintegrations/s)
9 = GBq/yr

Number of source-species
combinations with variable
emissions scaling factors
provided below in (15c) (NSLN1) Default: 0 ! NSLN1 = 1 !

Maximum number of segments used to model


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

The following variables are required only if NLINES > 0. They are
used in the buoyant line source plume rise calculations.

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


transitional rise is computed

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


(in meters)

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


(in meters)

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


(in meters)

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


(in meters)

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


(in meters)

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


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

!END!

---------------
Subgroup (15b)
---------------

BUOYANT LINE SOURCE: CONSTANT DATA


----------------------------------
a

Table 9-2 (Continued)


Sample CALPUFF Control File (CALPUFF.INP)

9-41
Section 9: CALPUFF

Input Group 15

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


No. Coordinate Coordinate Coordinate Coordinate Height Elevation Rates
(km) (km) (km) (km) (m) (m)
------ ---------- ---------- --------- ---------- ------- --------- ---------
1! SRCNAM = LINE1 !
1! X = 12., 35., 12.5, 35., 22.000, 0.000, 2.3E00, 1.1E00, 0.0E00,
0.0E00, 0.0E00, 0.0E00, 0.0E00, 0.0E00 !
!END!
2! SRCNAM = LINE2 !
2! X = 12., 35.022, 12.5, 35.022, 22.000, 0.000, 2.3E00, 1.1E00, 0.0E00,
0.0E00, 0.0E00, 0.0E00, 0.0E00, 0.0E00 !
!END!

--------

a
Data for each source are treated as a separate input subgroup
and therefore must end with an input group terminator.

b
An emission rate must be entered for every pollutant modeled.
Enter emission rate of zero for secondary pollutants that are
modeled, but not emitted. Units are specified by ILNTU
(e.g. 1 for g/s).

---------------
Subgroup (15c)
---------------
a
BUOYANT LINE SOURCE: VARIABLE EMISSIONS DATA
----------------------------------------------

Use this subgroup to describe temporal variations in the emission


rates given in 15b. Factors entered multiply the rates in 15b.
Skip sources here that have constant emissions.

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


(IVARY) Default: 0
0 = Constant
1 = Diurnal cycle (24 scaling factors: hours 1-24)
2 = Monthly cycle (12 scaling factors: months 1-12)
3 = Hour & Season (4 groups of 24 hourly scaling factors,
where first group is DEC-JAN-FEB)
4 = Speed & Stab. (6 groups of 6 scaling factors, where
first group is Stability Class A,
and the speed classes have upper
bounds (m/s) defined in Group 12
5 = Temperature (12 scaling factors, where temperature
classes have upper bounds (C) of:
0, 5, 10, 15, 20, 25, 30, 35, 40,
45, 50, 50+)

1 ! SRCNAM = LINE1 !
1 ! IVARY = 1 ! (24 Hours)
1 ! SO2 = 0.1,0.1,0.1,0.2,0.2,0.3,
0.3,0.4,0.4,0.5,0.6,1,
1,1,1,1,1,1,
0.6,0.4,0.3,0.2,0.1,0.1 !
!END!

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.

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

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


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

---------------
Subgroup (16a)

Table 9-2 (Continued)


Sample CALPUFF Control File (CALPUFF.INP)
Input Group 16

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

Number of volume sources with


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

Units used for volume source


emissions below in 16b (IVLU) Default: 1 ! IVLU = 1 !
1 = g/s
2 = kg/hr
3 = lb/hr
4 = tons/yr
5 = Odor Unit * m**3/s (vol. flux of odor compound)
6 = Odor Unit * m**3/min
7 = metric tons/yr
8 = Bq/s (Bq = becquerel = disintegrations/s)
9 = GBq/yr

Number of source-species
combinations with variable
emissions scaling factors
provided below in (16c) (NSVL1) Default: 0 ! NSVL1 = 0 !

Number of volume sources with


variable location and emission
parameters (NVL2) No default ! NVL2 = 0 !

(If NVL2 > 0, ALL parameter data for


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

!END!

---------------
Subgroup (16b)
---------------
a
VOLUME SOURCE: CONSTANT DATA
------------------------------
b
X UTM Y UTM Effect. Base Initial Initial Emission
Coordinate Coordinate Height Elevation Sigma y Sigma z Rates
(km) (km) (m) (m) (m) (m)
---------- ---------- ------ ------ -------- -------- --------

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

9-43
Section 9: CALPUFF

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

---------------
Subgroup (16c)
---------------
a
VOLUME SOURCE: VARIABLE EMISSIONS DATA
----------------------------------------

Use this subgroup to describe temporal variations in the emission


rates given in 16b. Factors entered multiply the rates in 16b.
Skip sources here that have constant emissions. For more elaborate
variation in source parameters, use VOLEM.DAT and IGRDVL = 1.

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

Table 9-2 (Continued)


Sample CALPUFF Control File (CALPUFF.INP)
Input Group 17
(IVARY) Default: 0
0 = Constant
1 = Diurnal cycle (24 scaling factors: hours 1-24)
2 = Monthly cycle (12 scaling factors: months 1-12)
3 = Hour & Season (4 groups of 24 hourly scaling factors,
where first group is DEC-JAN-FEB)
4 = Speed & Stab. (6 groups of 6 scaling factors, where
first group is Stability Class A,
and the speed classes have upper
bounds (m/s) defined in Group 12
5 = Temperature (12 scaling factors, where temperature
classes have upper bounds (C) of:
0, 5, 10, 15, 20, 25, 30, 35, 40,
45, 50, 50+)

--------
a
Data for each species are treated as a separate input subgroup
and therefore must end with an input group terminator.

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

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


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

---------------
Subgroup (17a)
---------------

9-44
Section 9: CALPUFF

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

!END!

---------------
Subgroup (17b)
---------------
a
NON-GRIDDED (DISCRETE) RECEPTOR DATA
------------------------------------

X UTM Y UTM Ground Height b


Receptor Coordinate Coordinate Elevation Above Ground
No. (km) (km) (m) (m)
-------- ---------- ---------- --------- ------------
1 ! X = 1., 1., 12.500, 0.000! !END!
2 ! X = 2.5, 4.2, 28.100, 0.000! !END!
3 ! X = 2.89, 3.2, 39.600, 0.000! !END!
-------------
a
Data for each receptor are treated as a separate input subgroup
and therefore must end with an input group terminator.

b
Receptor height above ground is optional. If no value is entered,
the receptor is placed on the ground.

9-45
Section 9: CALPUFF

Table 9-3: CALPUFF Control File Inputs - Input Group 0

Input File Names

Variable Type Description Default Value

Input Files

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

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


ISC3 format

PLMDAT character*70 Meteorological data file in AUSPLUME format or PLMMET.DAT


extended AUSPLUME format

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


format

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


format

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

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


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

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

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

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

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

OZDAT character*70 Ambient ozone measurement file OZONE.DAT

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

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

AUXEXT character*70 Extension added to METDAT filename/s for files with AUX
auxiliary 2D and 3D data

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

NH3ZDAT character*70 User-specified NH3 values for each layer NH3Z.DAT

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

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

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

BDYDAT character*70 Mass flux boundary file FLUXBDY.DAT

BCNDAT character*70 Boundary concentration file BCON.DAT

9-46
Section 9: CALPUFF

9-47
Section 9: CALPUFF

Table 9-3 (Continued)


CALPUFF Control File Inputs - Input Group 0
Output File Names

Variable Type Description Default Value

Output Files

PUFLST character*70 CALPUFF list file CALPUFF.LST

CONDAT character*70 CALPUFF output concentration file CONC.DAT

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

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

VISDAT character*70 Output relative humidity file (needed for visibility VISB.DAT
calculations in CALPOST)

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

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

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

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


.TRUE. - see Input Group 5)

FLXDAT character*70 Mass flux output (time-step) MASSFLX.DAT

BALDAT character*70 Mass balance output (time-step) MASSBAL.DAT

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

RISDAT character*70 Plume rise properties for each rise increment for each RISE.DAT
model timestep

9-48
Section 9: CALPUFF

Table 9-3 (Continued)


CALPUFF Control File Inputs - Input Group 0
Input and Output File Names

Input Group 0 consists of several parts. The first part contains the control variables NMETDAT,
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:

INPUT GROUP: 0 -- Input and Output File Names

--------------
Default Name Type File Name
------------ ---- ---------
CALMET.DAT input * METDAT = *
or
ISCMET.DAT input ! ISCDAT = ISCMET.DAT !
or

Provision for multiple input files


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

Number of CALMET.DAT files for run (NMETDAT)


Default: 1 ! NMETDAT = 0 !

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

INPUT GROUP: 0 -- Input and Output File Names

--------------
Default Name Type File Name
------------ ---- ---------
CALMET.DAT input ! METDAT = CALMET.DAT !
or
ISCMET.DAT input * ISCDAT = *

Provision for multiple input files


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

Number of CALMET.DAT files for run (NMETDAT)


Default: 1 ! NMETDAT = 1 !

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

9-49
Section 9: CALPUFF

INPUT GROUP: 0 -- Input and Output File Names

--------------
Default Name Type File Name
------------ ---- ---------
CALMET.DAT input * METDAT = *
or
ISCMET.DAT input * ISCDAT = *

Provision for multiple input files


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

Number of CALMET.DAT files for run (NMETDAT)


Default: 1 ! NMETDAT = 3 !

9-50
Section 9: CALPUFF

Table 9-3 (Continued)


CALPUFF Control File Inputs - Input Group 0
Input and Output File Names

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

-------------
Subgroup (0a)
-------------

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

Default Name Type File Name


------------ ---- ---------
none input ! METDAT= CALMET1.DAT ! !END!
none input ! METDAT= CALMET2.DAT ! !END!
none input ! METDAT= CALMET3.DAT ! !END!

Note that each filename entered in Input Group 0a is treated as a separate input subgroup and therefore
must end with the input group terminator (!END!). A total of NMETDAT lines assigning the CALMET
file names must be present, and the names must be ordered in the proper sequence (e.g., CALMET results
for June must not precede CALMET results for February).

For the emissions files, you may either place a single file name in the main section of Group 0, and place
no names in the corresponding subsection, or you may place all names in the subsection (any names
placed in the subsection replace any name specified in the main Group). Using the point source variable
emissions file as an example, if you have 1 file you may either set the name in the main group:

INPUT GROUP: 0 -- Input and Output File Names

--------------
Default Name Type File Name
------------ ---- ---------
PTEMARB.DAT input ! PTDAT = pts1.dat !

Provision for multiple input files


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

Number of PTEMARB.DAT files for run (NPTDAT)


Default: 0 ! NPTDAT = 0 !
-------------
Subgroup (0b)
-------------

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


(Any PTEMARB.DAT name provided above is replaced)

Default Name Type File Name


------------ ---- ---------
none input * PTDAT = * *END*

9-51
Section 9: CALPUFF

Table 9-3 (Continued)


CALPUFF Control File Inputs - Input Group 0
Input and Output File Names

or set the name in the subgroup:

INPUT GROUP: 0 -- Input and Output File Names

--------------
Default Name Type File Name
------------ ---- ---------
PTEMARB.DAT input * PTDAT = *

Provision for multiple input files


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

Number of PTEMARB.DAT files for run (NPTDAT)


Default: 0 ! NPTDAT = 1 !
-------------
Subgroup (0b)
-------------

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


(Any PTEMARB.DAT name provided above is replaced)

Default Name Type File Name


------------ ---- ---------
none input ! PTDAT = pts1.dat ! !END!

9-52
Section 9: CALPUFF

Table 9-3 (Continued)


CALPUFF Control File Inputs - Input Group 1
General Run Control Parameters

Variable Type Description Default Value

METRUN integer Control parameter for running all periods in met. 0


file (0=no; 1=yes)
IBYR integer Starting year of the CALPUFF run (four digits) -
IBMO integer Starting month -
IBDY integer Starting day -
IBHR, IBMIN, integer Starting time (time at the start of the first period in -
hours, minutes, seconds)
IBSEC
IEYR integer Ending year of the CALPUFF run (four digits) -
IEMO integer Ending month -
IEDY integer Ending day -
IEHR, IEMIN, integer Ending time (time at the end of the last period in -
hours, minutes, seconds)
IESEC
ABTZ integer Time zone example ; (Los Angeles, USA = UTC- -
0800)
NSECDT integer Length of modeling time-step (seconds) equal to 3600
update period in the primary meteorological data
files, or an integer fraction of it (1/2, 1/3 ...)
NSPEC integer Total number of species modeled 5
NSE integer Number of species emitted 3
ITEST integer Flag to stop run after the setup phase (1 = stops the 2
program, 2 = continues with execution after setup)

9-53
Section 9: CALPUFF

MRESTART integer Restart control may direct model to read and/or 0


write a file of puff data which allows a run to be
segmented
0 = Do not read or write a restart file
1 = Read a restart file at the beginning of the run
2 = Write a restart file during run
3 = Read a restart file at beginning of run and write
a restart file during run
NRESPD integer Number of periods in restart output cycle; a restart 0
file that is written during the run is refreshed at the
end of every cycle
0 = File written only at last period
>0 = File updated every NRESPD periods

Table 9-3 (Continued)


CALPUFF Control File Inputs - Input Group 1
General Run Control Parameters

Variable Type Description Default Value

METFM integer Meteorological data format 1


1 = CALMET unformatted file (CALMET.DAT)
2 = ISC3 ASCII file (ISCMET.DAT)
3 = AUSPLUME ASCII file (PLMMET.DAT)
4 = CTDMPLUS tower file (PROFILE.DAT) and
surface parameters file (SURFACE.DAT)
5 = AERMET tower file (PROFILE.DAT) and
surface parameters file (SURFACE.DAT)
MPRFFM integer 1 = CTDM plus tower file (PROFILE.DAT) 1
2 = AERMET tower file (PROFILE.DAT)
AVET Real Averaging time (minutes) 60.0

PG - y is adjusted by the equation


(AVET/PGTIME)0.2
PGTIME Real Averaging time (minutes) for PG - y 60.0

9-54
Section 9: CALPUFF

Output units for conc. and flux files for Dataset


IOUTU integer 1
v2.2 or later formats
1 = mass - g/m3 (conc) or g/m2/s (dep)
2 = odour OU odour units (conc)
3 = radiation Bq/m3 (conc) or Bq/m2/s
(dep)
Output Dataset format for binary conc. and flux
IOVERS integer
files
1 = Dataset Version 2.1
2 = Dataset Version 2.2

9-55
Section 9: CALPUFF

Table 9-3 (Continued)


CALPUFF Control File Inputs - Input Group 2
Technical Options

Variable Type Description Default Value

MGAUSS integer Control variable determining the vertical 1


distribution used in the near field
(0 = uniform, 1 = Gaussian)
MCTADJ integer Terrain adjustment method 3
0 = no adjustment
1 = ISC-type of terrain adjustment
2 = simple, CALPUFF-type of terrain adjustment
3 = partial plume path adjustment
MCTSG integer CALPUFF subgrid scale complex terrain module 0
(CTSG) flag
(0 = CTSG not modeled, 1 = CTSG modeled)
MSLUG integer Near-field puffs modeled as elongated "slugs" ? 0
(0 = no, 1 = yes)
MTRANS integer Transitional plume rise modeled ? 1
(0 = only final rise computed, 1 = transitional rise
computed) Note: Transitional plume rise is
always computed for sources subject to building
downwash effects.
MTIP integer Stack tip downwash modeled ? 1
0 = no (i.e., no stack tip downwash)
1 = yes (i.e., use stack tip downwash)
MRISE interger Method used to compute plume rise for point 1
sources not subject to downwash
1 = Briggs plume rise
2 = Numerical plume rise
MBDW integer Method used to simulate building downwash? 1
1 = ISC method
2 = PRIME method

9-56
Section 9: CALPUFF

MSHEAR integer Vertical wind shear above stack top modeled in 0


plume rise?
(0 = no, 1 = yes)
MSPLIT Puff splitting allowed ? 0
integer
(0 = no, 1 = yes)

Table 9-3 (Continued)


CALPUFF Control File Inputs - Input Group 2
Technical Options

Variable Type Description Default Value

MCHEM integer Chemical mechanism flag. 1


0 = chemical transformation not modeled
1 = transformation rates computed internally
(MESOPUFF II scheme)
2 = user specified transformation rates used (If
MCHEM = 2, the user must prepare a file
(CHEM.DAT) with a diurnal cycle of
transformation rates)
3 = transformation rates computed internally
(RIVAD/ARM3 scheme)
4 = secondary organic aerosol formation computed
(MESOPUFF II scheme for OH)
5 = user-specified half-life with or without transfer
to child species
6 = transformation rates computed internally
(Updated RIVAD scheme with ISORROPIA
equilibrium)
7 = transformation rates computed internally
(Updated RIVAD scheme with ISORROPIA
equilibrium and CalTech SOA
MAQCHEM integer Aqueous phase transformation modeled ? 0
(Used only if MCHEM = 6, or 7)
(0 = no, 1 = yes, transformation rates and wet
scavenging coefficients adjusted for in-cloud
aqueous phase reactions)

9-57
Section 9: CALPUFF

MLWC integer Liquid water content flag 1


(0 = water content est. from cloud cover and
precipitation; 1 = gridded cloud water data read
from CALMET)
MWET integer Wet removal modeled ? 1
(0 = no, 1 = yes)
MDRY integer Dry deposition modeled ? 1
(0 = no, 1 = yes)
Note: The method used to determine dry
deposition velocities is specified by the user on a
species-by-species basis in Input Group 3.
MTILT integer Gravitational settling (plume tilt) modeled? 0
(0= no, 1=yes)

Table 9-3 (Continued)


CALPUFF Control File Inputs - Input Group 2
Technical Options

Variable Type Description Default Value

MTURBVW integer v /, w measurements used? (Used only if 3


MDISP = 1 or 5)
1 = use v or measurements from
PROFILE.DAT to compute y (valid for
METFM = 1, 2, 3, 4)
2 = use w measurements from PROFILE.DAT to
compute z (valid for METFM = 1, 2, 3, 4)
3 = use both v / and w from
PROFILE.DAT to compute y and z (valid for
METFM = 1, 2, 3, 4)
4 = use measurements from PLMMET.DAT to
compute y (valid only if METFM = 3)

9-58
Section 9: CALPUFF

MDISP integer Method used to compute the horizontal and


vertical dispersion coefficients
1 = computed from values of v and w from
the PROFILE.DAT file
2 = computed from v and w which are
calculated internally from the
micrometeorological variables (u*, w*, L,
etc.)
3 = PG dispersion coefficients used in RURAL
areas (computed using the ISCST
multi-segment approximation) and MP
coefficients used in URBAN areas
4 = same as 3 except PG coefficients computed
using the MESOPUFF II equations
5 = CTDM sigmas used for stable and neutral
conditions, for unstable conditions, sigmas
are computed as in MDISP = 3. MDISP = 5
assumes that v and w are read from
PROFILE.DAT file.

Table 9-3 (Continued)


CALPUFF Control File Inputs - Input Group 2
Technical Options

Variable Type Description Default Value

9-59
Section 9: CALPUFF

MDISP2 integer Back-up method used to compute dispersion when 3


measured turbulence data are missing (used only if
MDISP = 1 or 5)
2 = computed from v and w which are
calculated internally from the
micrometeorological variables (u*, w*, L,
etc.)
3 = PG dispersion coefficients used in RURAL
areas (computed using the ISCST
multi-segment approximation) and MP
coefficients used in URBAN areas
4 = same as 3 except PG coefficients computed
using the MESOPUFF II equations
MTAULY integer [DIAGNOSTIC FEATURE] 0
Method used for Lagrangian timescale for Sigma-y
0=Draxler default 617.284 (s)
1=Computed (OPTION NOT IMPLEMENTED)
10<Direct user input (s) -- e.g., 307
MTAUADV integer Advective-Decay timescale (s) for Turbulence 0
0=No turbulence advection
1=Computed (OPTION NOT IMPLEMENTED)
10<Direct user input (s) -- e.g., 800
MCTURB integer Method used to compute turbulence v & w using 1
micrometeorological variables
1=Standard CALPUFF subroutines
2=AERMOD subroutines
MROUGH integer PG y and z adjusted for surface roughness ? 0
(0 = no, 1 = yes)
MPARTL integer Partial plume penetration of elevated inversion for 1
point sources ? (0 = no, 1 = yes)
MPARTLBA integer Partial plume penetration of elevated inversion for
buoyant area sources ? (0 = no, 1 = yes)
MTINV integer Strength of temperature inversion provided in 0
PROFILE.DAT extended records?
(0=no, computed from gradients; 1= yes)

9-60
Section 9: CALPUFF

MPDF integer Probability Distribution Function method used for 0


dispersion in the convective boundary layer?
(0=no, 1 = yes)

9-61
Section 9: CALPUFF

Table 9-3 (Continued)


CALPUFF Control File Inputs - Input Group 2
Technical Options

Variable Type Description Default Value

MSGTIBL integer Subgrid scale TIBL module used for shoreline? 0


(0 = no, 1 = yes)
MBCON integer Boundary conditions (concentration) modeled? 0
(0 = no, 1 = yes)
MSOURCE integer Individual source contributions saved? 0
(0=no, 1 = yes)
MFOG integer Configure for FOG Model output?
(0 = no
1 = yes - report results in PLUME Mode format
2 = yes - report results in RECEPTOR Mode
format)
MREG integer Check options for Regulatory values?
0 = NO checks are made
1 = Technical options must conform to USEPA
Long Range Transport (LRT) guidance

METFM 1 or 2
AVET 60. (min)
PGTIME 60. (min)
MGAUSS 1
MCTADJ 3
MTRANS 1
MTIP 1
MCHEM 1 or 3 (if modeling SOx, NOx)
MWET 1
MDRY 1
MDISP 2 or 3
MPDF 0 if MDISP=3
1 if MDISP=2
MROUGH 0
MPARTL 1
SYTDEP 550. (m)
MHFTSZ 0

9-62
Section 9: CALPUFF

9-63
Section 9: CALPUFF

Table 9-3 (Continued)


Control File Inputs - Input Group 3
Species List

Input Group 3 consists of two parts. The first part contains a list of species names and a table with four
integer flags for each species. These flags indicate if a pollutant is modeled (0=no, 1=yes), emitted
(0=no, 1=yes), dry deposited (0=no, 1=yes, treated as a gas with the resistance model, 2=yes, treated as a
particle with the resistance model, or 3=yes, user-specified deposition velocities used), and if the species
is to be added to group for output by specifying a group number greater than zero. The second part
allows one to name the output species groups, if any are identified in the table.

However, the user must first specify the species names to be modeled. Each species is entered on a
separate line with ! CSPEC = XXX ! !END!, where XXX is a species name (up to 12 characters in
length), and the variable delimiter and group delimiter (!END!) appears on the line. For example, a five-
species SOx, NOx run with MCHEM=1 would be:

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


-------------------
-------------
Subgroup (3a)
-------------
! CSPEC = SO2 ! !END!
! CSPEC = SO4 ! !END!
! CSPEC = NOX ! !END!
! CSPEC = HNO3 ! !END!
! CSPEC = NO3 ! !END!

The MESOPUFF II chemical transformation option (MCHEM=1) in CALPUFF is designed to simulate


the conversion of SO2 SO=4 and NOx HNO3 NO3. For this option, five pollutants in CALPUFF are
labeled as SO2, SO=4, NOx, HNO3, and NO3. If the RIVAD/ARM3 transformation option (MCHEM=3) is
selected, NO and NO2 are explicitly treated, and six pollutants are labeled as SO2, SO=4, NO, NO2, HNO3,
and NO3. However, by setting the appropriate flags controlling the various technical options (chemical
transformation, deposition, etc.), other reactive or non-reactive pollutants can be simulated.

The user has control over which species are to be emitted and dry deposited in a particular run. If the dry
deposition flag is set equal to 3 for any pollutant, a file called VD.DAT must be made available to the
model. This file contains a diurnal cycle of 24 user-specified deposition velocities for each pollutant
flagged.

The last species in (3a) must be 'BCON' when using the boundary condition option (MBCON > 0).
Species BCON does not participate in any chemical transformation mechanism and it should typically be
modeled without removal. Mass is placed in species BCON when generating boundary condition puffs so
that clean air entering the modeling domain can be simulated in the same way as polluted air.

9-64
Section 9: CALPUFF

Table 9-3 (Continued)


Control File Inputs - Input Group 3
Species List

Species-groups can be used to allow mass distributions of particles to be source-specific. In the example
provided in Table 9-2, we have defined six particle-sizes as individual species:

! CSPEC = SO2 ! !END!


! CSPEC = NOX ! !END!
! CSPEC = PMSIZE1 ! !END!
! CSPEC = PMSIZE2 ! !END!
! CSPEC = PMSIZE3 ! !END!
! CSPEC = PMSIZE4 ! !END!
! CSPEC = PMSIZE5 ! !END!
! CSPEC = PMSIZE6 ! !END!

Dry OUTPUT GROUP


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

! SO2 = 1, 1, 1, 0 !
! NOX = 1, 0, 2, 0 !
! PMSIZE1 = 1, 1, 2, 1 !
! PMSIZE2 = 1, 1, 2, 1 !
! PMSIZE3 = 1, 1, 2, 1 !
! PMSIZE4 = 1, 1, 2, 1 !
! PMSIZE5 = 1, 1, 2, 1 !
! PMSIZE6 = 1, 1, 2, 1 !

!END!

This allows each size to be modeled separately, each with its own mass emission rate and deposition
velocity. Several sources in the run could have been given different emission rates for these "species",
thereby producing unique mass distributions for their particulate emissions. Prior to reporting any
concentrations or deposition fluxes for these individual "species", however, they must be summed to
provide the total particulate concentration or deposition flux. This is done through "grouping":

-------------
Subgroup (3b)
-------------

! CGRUP = PM10 ! !END!

9-65
Section 9: CALPUFF

Table 9-3 (Continued)


Control File Inputs - Input Group 3
Species List

In this case, the species-group name provided to characterize the total concentration is "PM10". Only one
group name is required because only one non-zero group number was given in Input Group 3a. This
group name must be used later in Input Group 5 when selecting output options for the particulates, and
this is the name that will be written to the output files (the list file as well as the concentration/flux files
used by the postprocessor). Note that any species not assigned to a non-zero species-group retain the
initial species name in the output. Also, the order of names provided in Input Group 3b must be
consistent with the group numbers provided in Input Group 3a.

9-66
Section 9: CALPUFF

Table 9-3 (Continued)


CALPUFF Control File Inputs - Input Group 4
Map Projection and Grid Control Parameters

Variable Type Description Default Value

PMAP * char*8 Map projection UTM


UTM : Universal Transverse Mercator
TTM : Tangential Transverse Mercator
LCC : Lambert Conformal Conic
PS : Polar Stereographic
EM : Equatorial Mercator
LAZA : Lambert Azimuthal Equal Area

FEAST real False Easting (km) for PMAP= TTM, LCC, or LAZA 0.0

FNORTH real False Easting (km) for PMAP= TTM, LCC, or LAZA 0.0

IUTMZN integer UTM zone of coordinates for PMAP=UTM -

UTMHEM char*4 Hemisphere (N or S) for PMAP = UTM N

RLAT0 char*16 Latitude (decimal degrees N or S; e.g., 45.7N) of projection -


origin for PMAP= TTM, LCC, PS, EM, or LAZA

RLON0 char*16 Longitude (decimal degrees E or W; e.g., 75.2E) of -


projection origin for PMAP= TTM, LCC, PS, EM, or LAZA

XLAT1 char*16 Matching parallel #1 of latitude (decimal degrees N or S) for -


projection (Used only if PMAP= LCC or PS)

XLAT2 char*16 Matching parallel #2 of latitude (decimal degrees N or S) for -


projection (Used only if PMAP= LCC)

DATUM char*8 Datum code for output coordinates WGS-84

NX integer Number of grid cells in the X direction of the meteorological -


grid

NY integer Number of grid cells in the Y direction of the meteorological -


grid

NZ integer Number of vertical layers -

DGRIDKM real Grid spacing (km) of the meteorological grid -

ZFACE real array Cell face heights (m) for the meteorological grid (NX + 1 -
values must be entered). Note: Cell center (grid point)
height of layer "i" is ((ZFACE(i+1) + (ZFACE(i))/2).

9-67
Section 9: CALPUFF

XORIGKM real Reference X coordinate (km) of the southwest corner of grid -


cell (1,1) of the meteorological grid

YORIGKM real Reference Y coordinate (km) of the southwest corner of grid -


cell (1,1) of the meteorological grid

* PMAP = PS, EM, and LAZA is NOT AVAILABLE in CALMET


Table 9-3 (Continued)
CALPUFF Control File Inputs - Input Group 4
Grid Control Parameters

Variable Type Description Default Value

IBCOMP integer X index of lower left corner of the computational grid -


(1 IBCOMP < NX)

JBCOMP integer Y index of lower left corner of the computational grid -


(1 < JBCOMP < NY)

IECOMP integer X index of upper right corner of the computational grid -


(IBCOMP < IECOMP < NX)

JECOMP integer Y index of upper right corner of computational grid -


(JBCOMP < JECOMP < NY)

LSAMP integer Flag indicating if an array of gridded receptors (i.e., T


sampling grid) is used
(T = yes, F = no)

IBSAMP integer X index of lower left corner of the sampling grid -


(IBCOMP IBSAMP IECOMP)

JBSAMP integer Y index of lower left corner of the sampling grid -


(JBCOMP JBSAMP JECOMP)

IESAMP integer X index of upper right corner of the sampling grid -


(IBCOMP IESAMP IECOMP)

JESAMP integer Y index of upper right corner of the sampling gird -


(JBCOMP JESAMP JECOMP)

MESHDN integer Nesting factor of the sampling grid 1


(MESHDN > 1). The grid spacing of the sampling grid is
DGRIDKM/MESHDN. The number of sampling grid points
is NXSAM * NYSAM, where
NXSAM = MESHDN * (IESAMP - IBSAMP) + 1
NYSAM = MESHDN * (JESAMP - JBSAMP) + 1

9-68
Section 9: CALPUFF

9-69
Section 9: CALPUFF

Table 9-3 (Continued)


CALPUFF Control File Inputs - Input Group 5
Output Options

Variable Type Description Default Value

ICON integer Control variable for creation of an output disk file 1


(CONC.DAT) containing concentration fields (species
stored in this file are controlled by the output species table
described below).
(0 = do not create CONC.DAT,
1 = create CONC.DAT)

IDRY integer Control variable for creation of an output disk file 1


(DFLX.DAT) containing dry flux fields. (The species stored
in this file are controlled by the output species table in Input
Group 5 described below.)
(0 = do not create DFLX.DAT,
1 = create DFLX.DAT)

IWET integer Control variable for creation of an output disk file 1


(WFLX.DAT) containing wet flux fields. (The species
stored in this file are controlled by the output species table in
Input Group 5 described below.)
(0 = do not create WFLX.DAT,
1 = create WFLX.DAT)
Control variable for creation of an output disk file
IT2D integer 0
containing 2D temperature fields.
(0 = do not create,
1 = create)
Control variable for creation of an output disk file
IRHO integer 0
containing 2D density fields.
(0 = do not create,
1 = create)

IVIS integer Control variable for creation of an output disk file 1


containing relative humidity data required for visibility
applications

LCOMPRS logical Use data compression on output file (T = true or, F = false) T

IQAPLOT integer Create a standard series of output files (e.g. locations of 0


sources, receptors, grids ...) suitable for plotting?
(0 = do not create,
1 = create)

9-70
Section 9: CALPUFF

IMFLX integer Control variable for creating output disc file 0


(MASSFLX.DAT) for mass flux across user-specified
boundaries
(0 = do not create MASSFLX.DAT,
1 = create MASSFLX. DAT)

9-71
Section 9: CALPUFF

Table 9-3 (Continued)


CALPUFF Control File Inputs - Input Group 5
Output Options

Variable Type Description Default Value

IMBAL integer Control variable for creating output disk file 0


(MASSBAL.DAT) for mass balance results
(0 = do not create MASSBAL.DAT,
1 = create MASSBAL. DAT)

INRISE integer Create a file with plume properties for each rise increment 0
for each model time step (0 = no, 1 = yes)

ICPRT integer Control variable for printing of concentration fields to the 0


output list file (CALPUFF.LST).
(0 = do not print any dry fluxes,
1 = print dry fluxes indicated in output table)

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

ICFRQ integer Printing interval for the concentration fields. Concentrations 1


are printed every ICFRQ time steps. (Used only if ICPRT
= 1.)

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)

IMESG integer Control variable determining if messages tracking the 2


progress of the run are written to the screen
0 = no
1 = yes (advection step, puff ID)
2 = yes (YYYYJJJHH, SSSS, # old puffs, # emitted puffs)

Table 9-3 (Continued)


CALPUFF Control File Inputs - Input Group 5
Output Options

Variable Type Description Default Value

LDEBUG logical Control variable for activation of "debug" write statements F

IPFDEB integer Puff ID number to start tracking in debug option 1


(used only if LDEBUG = T)

NPFDEB integer Number of puffs to track in debug option 1


(used only if LDEBUG = T)

NN1 integer Time period to begin debug output 1


(used only if LDEBUG = T)

NN2 integer Time period to stop debug output 10


(used only if LDEBUG = T)

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

Table 9-3 (Continued)


CALPUFF Control File Inputs - Input Group 6
Subgrid Scale Complex Terrain (CTSG) Inputs

Variable Type Description Default Value

(Input Group 6a - General CTSG Parameters)

NHILL integer Number of subgrid scale terrain features 0

NCTREC integer Number of special subgrid scale complex terrain receptors 0

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)

ZHILL2M real Factor to convert vertical dimensions to meters 1.0


(used only if MHILL = 1)
-
XCTDMKM real X-origin of CTDM system relative to CALPUFF coordinate system,
in Kilometers (MHILL = 1)
-
YCTDMKM real Y-origin of CTDM system relative to CALPUFF coordinate system,
in Kilometers (MHILL = 1)

(Input Group 6b - Hill Information)

XC real UTM X coordinate (km) of the center of the hill on the -


meteorological grid

YC real UTM Y coordinate (km) of the center of the hill on the -


meteorological grid

THETAH real Orientation of the major axis of the hill (in degrees) clockwise from -
north

ZGRID real Height (m) of the "zero-plane" of the grid above mean sea level -

RELIEF real Height (m) of the crest of the hill above the grid elevation -

EXPO1 real Hill shape exponent for the major axis of the hill -

EXPO2 real Hill shape exponent for the minor axis of the hill -

SCALE1 real Horizontal length scale of the hill along the major axis -

SCALE2 real Horizontal length scale of the hill along the minor axis -

9-75
Section 9: CALPUFF

Variable Type Description Default Value

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

Table 9-3 (Continued)


CALPUFF Control File Inputs - Input Group 6
Subgrid Scale Complex Terrain (CTSG) Inputs

The variables in Input Group 6b are entered for each of the "NHILL" subgrid scale hills treated in the
model run. The data for each hill is treated as a separate input subgroup, and therefore must end with an
input group terminator (i.e., !END!). The format of Input Group 6b is shown below.

-------------
Subgroup (6b)
-------------

1 **
HILL INFORMATION

HILL XC YC THETAH ZGRID RELIEF EXPO 1 EXPO 2 SCALE 1 SCALE 2 AMAX1 AMAX2
NO. (km) (km) (deg.) (m) (m) (m) (m) (m) (m) (m) (m)
---- ---- ---- ------ ----- ------ ------ ------ ------- ------- ----- -----
1 ! HILL = 170.5, 3841.0 , 69. , 1310. , 300. , 1.91 , 1.24 , 1523. , 2896. , 2000., 1500. ! !END!
2 ! HILL = 173.0, 3839.0 , 49. , 1310. , 230. , 1.50 , 1.50 , 3000. , 1000. , 4000., 2000. ! !END!

Note that the hill number is an optional user comment which is outside of the delimiters containing the
required data. The data for each hill must follow the opening delimiter and "HILL=". The data for each
hill is followed by a closing delimiter and an input group terminator (i.e., !END!).

9-77
Section 9: CALPUFF

Table 9-3 (Continued)


CALPUFF Control File Inputs - Input Group 6
Subgrid Scale Complex Terrain (CTSG) Inputs

Variable Type Description Default


Value

(Input Group 6c - CTSG Receptor Data)

XRCT real X coordinate (km) on the meteorological grid system of a -


CTSG receptor

YRCT real Y coordinate (km) on the meteorological grid system of a -


CTSG receptor

ZRCT real Height (m) of the ground above mean sea level at the -
CTSG receptor

XHH real Hill number associated with this CTSG receptor -

The variables in Input Group 6c are entered for each of the "NCTREC" complex terrain receptors in the
model run. The data for each receptor is treated as a separate input subgroup, and therefore must end with
an input group terminator (i.e., !END!). The format of Input Group 6c is shown below.

-------------
Subgroup (6c)
-------------

1 **
COMPLEX TERRAIN RECEPTOR INFORMATION

XRCT YRCT ZRCT XHH


(km) (km) (m)
------- ------- ----- ----
! CTREC = 170.5, 3840.0 , 1430. , 1. ! !END!
! CTREC = 169.0, 3840.5 , 1430. , 1. ! !END!
! CTREC = 170.5, 3841.0 , 1580. , 1. ! !END!
! CTREC = 173.5, 3840.0 , 1525. , 2. ! !END!
! CTREC = 172.5, 3840.0 , 1430. , 2. ! !END!

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

** The data for each CTSG receptor must follow an opening delimiter and "CTREC=". The data for each
receptor is followed by a closing delimiter and an input group terminator (i.e., !END!).

9-78
Section 9: CALPUFF

Table 9-3 (Continued)


CALPUFF Control File Inputs - Input Group 7
Dry Deposition Parameters - Gases

Input Group 7 consists of a table containing the following five parameters which are required by the
resistance deposition model for computing deposition velocities for gases:

Pollutant diffusivity (cm2/s)


Aqueous phase dissociation constant, *
Pollutant reactivity
Mesophyll resistance, rm (s/cm)
Henry's Law coefficient, H (dimensionless)

These parameters must be specified for each pollutant with a dry deposition flag of "1" in the species list
(Input Group 3) indicating the use of the resistance model for a gas.

The format of the input table is shown below:

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

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


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

SPECIES DIFFUSIVITY ALPHA STAR REACTIVITY MESOPHYLL RESISTANCE HENRY'S LAW COEFFICIENT
NAME (cm**2/s) (s/cm) (dimensionless)
------- ----------- ---------- ---------- -------------------- -----------------------

! SO2 = 0.1509 , 1.00E3 , 8.0 , 0.0 , 4.e-2 !


! NOX = 0.1656 , 1.00 , 8.0 , 5.0 , 3.5 !
! HNO3 = 0.1628 , 1.00 , 18.0 , 0.0 , 8.e-8 !

!END!

9-79
Section 9: CALPUFF

Table 9-3 (Continued)


CALPUFF Control File Inputs - Input Group 8
Dry Deposition Parameters - Particles

Input Group 8 consists of a table containing the geometric mass mean diameter (microns) and the
geometric standard deviation (microns) required by the resistance deposition model for computing
deposition velocities for particulate matter.

These parameters must be specified for each pollutant with a dry deposition flag of "2" in the species list
(Input Group 3) indicating the use of the resistance model for a pollutant deposited as particulate matter.

The format of the input table is shown below:

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

INPUT GROUP: 8 -- Size parameters for dry deposition of particles


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

SPECIES GEOMETRIC MASS MEAN GEOMETRIC STANDARD


NAME DIAMETER DEVIATION
(microns) (microns)
------------ ----------------------------------------
! SO4 = 0.48 , 2.00 !
! NO3 = 0.48 , 2.00 !
! PM10 = 0.48 , 2.00 !

!END!

9-80
Section 9: CALPUFF

Table 9-3 (Continued)


CALPUFF Control File Inputs - Input Group 9
Miscellaneous Dry Deposition Parameters

Variable Type Description Default


Value

RCUTR real Reference cuticle resistance (s/cm) 30.

RGR real Reference ground resistance (s/cm) 10.

REACTR real Reference pollutant reactivity 8.

NINT integer Number of particle-size intervals used to evaluate 9


effective particle deposition velocity

IVEG integer Flag specifying the state of vegetation in unirrigated areas 1


1 = vegetation is active and unstressed
2 = vegetation is active and stressed
3 = vegetation is inactive

CALPUFF Control File Inputs - Input Group 10


Wet Deposition Parameters

Input Group 10 consists of a table containing pollutant-dependent values of the scavenging coefficient, ,
for both liquid and frozen precipitation types. The format of the input table is shown below.

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

INPUT GROUP: 10 -- Wet Deposition Parameters


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

Scavenging Coefficient -- Units: (sec)-1

Pollutant Liquid Precip. Frozen Precip.


--------- -------------- --------------
! SO2 = 3.0e-5 , 0.0 !
! SO4 = 10.0e-5 , 3.0e-5 !
! NOX = 0.0 , 0.0 !
! HNO3 = 6.0e-5 , 0.0 !
! NO3 = 10.0e-5 , 3.0e-5 !

!END!

9-81
Section 9: CALPUFF

Table 9-3 (Continued)


CALPUFF Control File Inputs - Input Group 11
Chemistry Parameters

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

Variable Type Description Default Value

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

BCKO3(12) real Monthly background ozone concentration in ppb 12*80.


array (Used only if MCHEM=1,3,4,6 or 7 and MOZ = 0 or if
(MOZ=1 and all hourly ozone data are missing))

MNH3 integer Ammonia data option (used only if MCHEM=6 or 7) 0

MAVGNH3 integer Ammonia vertical averaging option (used only if 1


MCHEM = 6 or 7, and MNH3 = 1)

9-82
Section 9: CALPUFF

BCKNH3(12) real Monthly background ammonia concentration in ppb 12*10.


(Used only if MCHEM = 1 or 3, or if MCHEM = 6 or 7
and MNH3 =0)

RNITE1 real Nighttime SO2 loss rate in percent/hour 0.2


(Used only if MCHEM = 1, 6, or 7)

RNITE2 real Nighttime NOx loss rate in percent/hour 2.0


(Used only if MCHEM = 1)

Table 9-3 (Continued)


CALPUFF Control File Inputs - Input Group 11
Chemistry Parameters

Variable Type Description Default Value

RNITE3 real Nighttime HNO3 formation rate in percent/hour 2.0


(Used only if MCHEM =1)

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

BCKH2O2(12) Real Monthly background H2O2 concentration in ppb 12*1.


(Used only if MAQCHEM=1 and MH2O2 or if
array
(MH2O2=1 and all hourly H2O2 data are missing))

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)

NDECAY integer Number of half-life decay specification blocks (Used only 0


if MCHEM = 5)

9-84
Section 9: CALPUFF

Table 9-3 (Continued)


CALPUFF Control File Inputs - Input Group 11b
Chemistry Parameters

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;

Set HALF_LIFE=0.0 for NO decay (infinite half-life).


a b
SPECIES Half-Life Mass Yield
NAME (sec) Factor
------- --------- ----------
! H-3 = 388523520.0, -1.0 ! (Parent)
! HE-3 = -1.0, 1.0 ! (Child) !END!

! C-14 = 179755200000.0, -1.0 ! (Parent)


! N-14 = -1.0, 1.0 ! (Child) !END!

! CO-58 = 6122304.0, -1.0 ! (Parent)


! FE-58 = -1.0, 1.0 ! (Child) !END!

! CO-60 = 166235716.8, -1.0 ! (Parent)


! NI-60 = -1.0, 1.0 ! (Child) !END!

! KR-85 = 339201216.0, -1.0 ! (Parent)


! RB-85 = -1.0, 1.0 ! (Child) !END!

! I-131 = 692988.48, -1.0 ! 9-85


(Parent)
! XE-131 = -1.0, .98824 ! (Child)
! XE-131M = -1.0, .011759 ! (Child) !END!
Section 9: CALPUFF

Table 9-3 (Continued)


CALPUFF Control File Inputs - Input Group 11b
Chemistry Parameters

! I-133 = 74880.0, -1.0 ! (Parent)


! XE-133 = -1.0, .97115 ! (Child)
! XE-133M = -1.0, .028846 ! (Child) !END!

! XE-133M = 189216.0, -1.0 ! (Parent)


! XE-133 = -1.0, 1.0 ! (Child) !END!

! XE-133 = 452995.2, -1.0 ! (Parent)


! CS-133 = -1.0, 1.0 ! (Child) !END!

! CS-134 = 65115540.0, -1.0 ! (Parent)


! BA-134 = -1.0, 1.0 ! (Child)
! XE-134 = -1.0, .000003 ! (Child) !END!

! CS-137 = 951336000.0, -1.0 ! (Parent)


! BA-137 = -1.0, .056005 ! (Child)
! BA-137M = -1.0, .94399 ! (Child) !END!

! BA-137M = 153.1188, -1.0 ! (Parent)


! BA-137 = -1.0, 1.0 ! (Child) !END!
--------
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

NOTE: Assignments in each block are treated as a separate input


subgroup and therefore must end with an input group terminator.
If NDECAY=0, no assignments and input group terminators should appear.

9-86
Section 9: CALPUFF

Table 9-3 (Continued)


CALPUFF Control File Inputs - Input Group 12
Dispersion and Computational Parameters

Variable Type Description Default Value

SYTDEP real Horizontal size of a puff (m) beyond which the 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)

CONK1 real Vertical dispersion constant for stable conditions 0.01

CONK2 real Vertical dispersion constant for neutral/unstable 0.10


conditions

TBD real Factor for determining transition-point from Schulman- 0.5


Scire to Huber-Snyder Building Downwash scheme (SS
used for Hs < Hb + TBD * HL)
TBD < 0 always use Huber-Snyder
TBD = 1.5 always use Schulman-Scire
TBD = 0.5 ISC transition-point

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

(Site characterization parameters for single-point met. data files*)

*ILANDUIN integer Land use category for modeling domain 20

*Z0IN real Roughness length (m) for modeling domain 0.25

*XLAIIN real Leaf area index for modeling domain 3.0

*ELEVIN real Elevation (m) above sea level 0.0

*XLATIN real North Latitude (deg) of station; positive for the northern -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

Table 9-3 (Continued)


CALPUFF Control File Inputs - Input Group 12
Dispersion and Computational Parameters

Variable Type Description Default Value

*ISIGMAV integer Form of lateral turbulence data in PROFILE.DAT file 1


(used only if METFM = 4 or MTURBVW = 1 or 3)
0 = read sigma-theta
1 = read sigma-v

*IMIXCTDM integer Choice of mixing heights (used only if METFM = 4) 0


0 = read PREDICTED mixing heights
1 = read OBSERVED mixing heights

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

MXNEW integer Maximum number of puffs or slugs released from one 99


source during one time step (serves as a cap if
XMXLEN is specified too small)

MXSAM integer Maximum number of sampling steps during one time 99


step for a puff or slug (serves as a cap if XSAMLEN is
specified too small)

NCOUNT integer Number of iterations used when computing the transport 2


wind for a sampling step that includes transitional
plume rise (used when METFM=1 or 4)

SYMIN real Minimum y (m) a new puff or slug 1.0

SZMIN real Minimum z (m) a new puff or slug 1.0

SZCAP_M real Maximum z (m) allowed to avoid numerical problem 5.0E06


in calculating virtual time/distance

SVMIN real Minimum turbulence v (m/s) -- 6 LAND, 6 WATER 6*.50, 6*.37

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

Variable Type Description Default Value

XMAXZI real Maximum mixing height (m) 3000.

XMINZI real Minimum mixing height (m) 50.

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

SL2PF real Slug-to-puff transition criterion factor (max. y/slug 10.


length before transition to puff)

(Vertical Puff-Spliting Control Variables *)

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

(Horizontal Puff-Spliting Control Variables *)

*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

*SHSPLITH integer Minimum puff elongation rate (SYSPLITH/hr) due to 2.0


wind shear, before it may be split
Table 9-3 (Continued)
CALPUFF Control File Inputs - Input Group 12
Dispersion and Computational Parameters

Variable Type Description Default Value

*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

(Integration Control Variables *)

*EPSSLUG real Fractional convergence criterion for numerical slug 1.0E-04


sampling integration

*EPSAREA real Fractional convergence criterion for numerical area 1.0E-06


source integration

*DSRISE real Trajectory step length (m) for numerical rise 1.0
integration.

(Boundary Condition Puff Control Variables *)

*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

*MDEPBC integer Near-Surface depletion adjustment to concentration 1


profile used when sampling BC puffs?

0 = Concentration is NOT adjusted for depletion


1 = Adjust Concentration for depletion

9-91
Section 9: CALPUFF

Table 9-3 (Continued)


CALPUFF Control File Inputs - Input Group 13
Point Source Parameters

Variable Type Description Default Value

(Input Group 13a - General Data)

NPT1 integer Number of point sources with constant stack parameters or -


variable emission rate scale factors

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

NSPT1 integer Number of source-species with variable emission rate 0


scaling factors provided in 13d

NPT2 integer Number of point sources with arbitrarily-varying emission -


parameters (If NPT2 > 0, the point source emissions file
PTEMARB.DAT must be provided)

(Input Group 13b - Point Source Data for Sources with Constant Stack Parameters or -
Variable Emission Rate Scale Factors)

SRCNAM character*12 Source name, used to coordinate inputs in Subgroups b,c,d -

XKM real X coordinate (km) of the stack on the meteorological grid -

YKM real Y coordinate (km) of the stack on the meteorological grid -

HSTAK real Stack height (m) -

SELEV real Stack base elevation (m) above mean sea level -

DIAM real Stack diameter (m) -

EXITW real Stack gas exit velocity (m/s) -

EXITT real Stack gas exit temperature (deg. K) -

9-92
Section 9: CALPUFF

BDOWN real Building downwash flag -


0. = building downwash not modeled,
1. = building downwash modeled

EMS real array Emission rate of each modeled species -


Note: "NSPEC" values must be entered

Table 9-3 (Continued)


CALPUFF Control File Inputs - Input Group 13
Point Source Parameters

Variable Type Description Default Value

(Optional Variables for Input Group 13b)

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

Table 9-3 (Continued)


CALPUFF Control File Inputs - Input Group 13
Point Source Parameters

Variable Type Description Default Value

(Input Group 13c - Building Dimension Data)

SRCNAM character*12 Source name, used to coordinate inputs in Subgroups -


b,c,d

HEIGHT real array Array of 36-direction-specific building heights (m) for -


flow vectors from 10-360 in 10 increments

WIDTH real array Array of 36 direction-specific building widths (m) for -


flow vectors from 10-360 in 10 increments

LENGTH* real array Array of 36 direction-specific building lengths (m) for -


flow vectors from 10-360 in 10 increments

XBADJ* real array Array of 36 direction-specific along-flow offset lengths -


(m) from the source to the center of the upwind face of
the building for flow vectors from 10-360 in 10
increments

YBADJ* real array Array of 36 direction-specific cross-flow offset lengths -


(m) from the source to the center of the upwind face of
the building for flow vectors from 10-360 in 10
increments

* LENGTH, XBADJ, and YBADJ are required only for the PRIME downwash option (MBDW=2)

The variables in Input Group 13c are entered for each point source for which IDOWN=1 in Input Group
13b. The data for each point source (i.e., source name, 36 widths and 36 heights, 36 lengths, 36 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

Table 9-3 (Continued)


CALPUFF Control File Inputs - Input Group 13
Point Source Parameters

The format of Input Group 13c is shown below.

---------------
Subgroup (13c)
---------------

BUILDING DIMENSION DATA FOR SOURCES SUBJECT TO DOWNWASH


-------------------------------------------------------
Source a
No. Effective building height, width, length and X/Y offset (in meters)
every 10 degrees. LENGTH, XBADJ, and YBADJ are only needed for
MBDW=2 (PRIME downwash option)
------ ----------------------------------------------------------------

1 ! SRCNAM = BLR1 !
1 ! HEIGHT = 45., 45., 45., 45., 45., 45., 45., 45., 45., 0., 0., 0.,
0., 0., 0., 0., 0., 0., 45., 45., 45., 45., 45., 45.,
45., 45., 45., 0., 0., 0., 0., 0., 0., 0., 0., 0. !
1 ! WIDTH = 12.5, 12.5, 12.5, 12.5, 12.5, 12.5, 12.5, 12.5, 12.5, 0., 0., 0.,
0., 0., 0., 0., 0., 0., 12.5, 12.5, 12.5, 12.5, 12.5, 12.5,
12.5, 12.5, 12.5, 0., 0., 0., 0., 0., 0., 0., 0., 0. !
1 ! LENGTH = 82.54, 87.58, 89.95, 89.59, 86.51, 80.80,
72.64, 62.26, 50.00, 62.26, 72.64, 80.80,
86.51, 89.59, 89.95, 87.58, 82.54, 75.00,
82.54, 87.58, 89.95, 89.59, 86.51, 80.80,
72.64, 62.26, 50.00, 62.26, 72.64, 80.80,
86.51, 89.59, 89.95, 87.58, 82.54, 75.00 !
1 ! XBADJ = -47.35, -55.76, -62.48, -67.29, -70.07, -70.71,
-69.21, -65.60, -60.00, -65.60, -69.21, -70.71,
-70.07, -67.29, -62.48, -55.76, -47.35, -37.50,
-35.19, -31.82, -27.48, -22.30, -16.44, -10.09,
-3.43, 3.34, 10.00, 3.34, -3.43, -10.09,
-16.44, -22.30, -27.48, -31.82, -35.19, -37.50 !
1 ! YBADJ = 34.47, 32.89, 30.31, 26.81, 22.50, 17.50,
11.97, 6.08, 0.00, -6.08, -11.97, -17.50,
-22.50, -26.81, -30.31, -32.89, -34.47, -35.00,
-34.47, -32.89, -30.31, -26.81, -22.50, -17.50,
-11.97, -6.08, 0.00, 6.08, 11.97, 17.50,
22.50, 26.81, 30.31, 32.89, 34.47, 35.00 !
!END!
--------
a
Building height, width, length, and X/Y offset from the source are treated
as a separate input subgroup for each source and therefore must end with
an input group terminator.

9-96
Section 9: CALPUFF

Table 9-3 (Continued)


CALPUFF Control File Inputs - Input Group 13
Point Source Parameters

Variable Type Description Default Value

(Input Group 13d - Variable Emissions Scale Factors)

SRCNAM character*12 Source name, used to coordinate inputs in Subgroups -


b,c,d

IVARY integer Type of scale factor variation (diurnal, monthly, etc.) 0


0= Constant
1= Diurnal cycle
(24 scaling factors: hours 1-24)
2= Monthly cycle
(12 scaling factors: months 1-12)
3= Hour & Season
(4 groups of 24 hourly scaling factors,
where first group is DEC-JAN-FEB)
4= Speed & Stab.
(6 groups of 6 scaling factors, where
first group is Stability Class A,
and the 6 speed classes have upper
bounds (m/s) defined in Group 12)
5= Temperature
(12 scaling factors, where temperature
classes have upper bounds (C) of:
0, 5, 10, 15, 20, 25, 30, 35, 40,
45, 50, 50+)

QFAC real array Array of 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

(i.e., !END!). If NSPT1=0, no scaling factors should be defined here.

9-98
Section 9: CALPUFF

Table 9-3 (Continued)


CALPUFF Control File Inputs - Input Group 13
Point Source Parameters

The format for Input Group 13d is shown below.

---------------
Subgroup (13d)
---------------
a
POINT SOURCE: VARIABLE EMISSIONS DATA
---------------------------------------

1 ! SRCNAM = BLR1 !
1 ! IVARY = 2 ! (12 Months)
1 ! SO2 = 0.1,0.1,0.5,0.9,2,2.2,
2.5,1.5,1.1,0.9,0.5,0.1 !
!END!

--------
a
Data for each species are treated as a separate input subgroup
and therefore must end with an input group terminator.

9-99
Section 9: CALPUFF

Table 9-3 (Continued)


CALPUFF Control File Inputs - Input Group 14
Area Source Parameters

Variable Type Description Default Value

(Input Group 14a - General Area Source Data)

NAR1 integer Number of area sources with constant parameters or -


variable emission rate scale factors

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

NSAR1 integer Number of source-species with variable emission rate 0


scaling factors provided in 14d

NAR2 integer Number of buoyant area sources with arbitrary varying -


emission parameters

(Input Group 14b - Area Source Data for Sources with Constant Parameters or
Emissions Scale Factors)

SRCNAM character*12 Source name, used to coordinate inputs in Subgroups -


b,c,d

HTEFF real Effective height (m) of the area source -

AELEV real Base elevation (m) above mean sea level -

SIGZI real Initial vertical dispersion coefficient (z), in meters, of -


the area source

EMIS real array Emission rate (g/s/m2) of each modeled species -


Note: "NSPEC" values must be entered

The variables in Input Group 14b are entered for each of the "NAR1" area sources. The data for each

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

Table 9-3 (Continued)


CALPUFF Control File Inputs - Input Group 14
Area Source Parameters

The format of Input Group 14b for a simulation with eight species is shown below.

---------------
Subgroup (14b)
---------------
a
AREA SOURCE: CONSTANT DATA
----------------------------
b
Source Effect. Base Initial Emission
No. Height Elevation Sigma z Rates
(m) (m) (m)
------- ------ ------ -------- ---------

1! SRCNAM = AREA1 !
1! X = 1., 0., 2.5, 8.5E-01, 0.5E00, 0.0E00,
0.0E00, 0.0E00, 0.0E00, 0.0E00, 0.0E00 !
!END!
2! SRCNAM = AREA2 !
2! X = 1.5, 0., 3., 0.0E00, 0.0E00, 1.0E-01,
0.0E00, 0.0E00, 5.0E-01, 1.0E00, 1.3E00 !
!END!

--------
a
Data for each source are treated as a separate input subgroup
and therefore must end with an input group terminator.
b
An emission rate must be entered for every pollutant modeled.
Enter emission rate of zero for secondary pollutants that are
modeled, but not emitted. Units are specified by IARU
(e.g. 1 for g/m**2/s).

9-102
Section 9: CALPUFF

Table 9-3 (Continued)


CALPUFF Control File Inputs - Input Group 14
Area Source Parameters

Variable Type Description Default Value

(Input Group 14c - Vertex Data for Area Sources with Constant Parameters or
Emissions Scale Factors)

SRCNAM character*12 Source name, used to coordinate inputs in Subgroups -


b,c,d

XVERT real X coordinates (km) of each vertex of the area source on -


the meteorological grid

YVERT real Y coordinate (km) of each vertex of the area source on -


the meteorological grid

The variables in Input Group 14c are entered for each of the "NAR1" area sources. The data for each
source is treated as a separate input subgroup, and therefore, must end with an input group terminator
(i.e., !END!). Note that the source number is an optional user comment which is outside of the delimiter
containing the required source data. The data for each source must follow an opening delimiter and "X=".
The data for each source is followed by a closing delimiter and an input group terminator.

The format of Input Group 14c is shown below.


--------------
Subgroup (14c)
---------------

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


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

1 ! SRCNAM = AREA1 !
1 ! XVERT = 0.5, 0.51, 0.51, 0.5!
1 ! YVERT = 1.61, 1.61, 1.6, 1.6!
!END!
2 ! SRCNAM = AREA2 !
2 ! XVERT = 0.75, 0.76, 0.76, 0.75!
2 ! YVERT = 1.81, 1.81, 1.8, 1.8!
!END!

--------
a
Data for each source are treated as a separate input subgroup
and therefore must end with an input group terminator.

9-103
Section 9: CALPUFF

Table 9-3 (Continued)


CALPUFF Control File Inputs - Input Group 14
Area Source Parameters

Variable Type Description Default Value

(Input Group 14d - Variable Emissions Scale Factors)

SRCNAM character*12 Source name, used to coordinate inputs in Subgroups -


b,c,d

IVARY integer Type of scale factor variation (diurnal, monthly, etc.) 0


0= Constant
1= Diurnal cycle
(24 scaling factors: hours 1-24)
2= Monthly cycle
(12 scaling factors: months 1-12)
3= Hour & Season
(4 groups of 24 hourly scaling factors,
where first group is DEC-JAN-FEB)
4= Speed & Stab.
(6 groups of 6 scaling factors, where
first group is Stability Class A,
and the 6 speed classes have upper
bounds (m/s) defined in Group 12)
5= Temperature
(12 scaling factors, where temperature
classes have upper bounds (C) of:
0, 5, 10, 15, 20, 25, 30, 35, 40,
45, 50, 50+)

QFAC real array Array of 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

(i.e., !END!). If NSAR1=0, no scaling factors should be defined here.

9-105
Section 9: CALPUFF

Table 9-3 (Continued)


CALPUFF Control File Inputs - Input Group 14
Area Source Parameters

The format of Input Group 14d is shown below.


---------------
Subgroup (14d)
---------------
a
AREA SOURCE: VARIABLE EMISSIONS DATA
--------------------------------------

2 ! SRCNAM = AREA2 !
2 ! IVARY = 4 ! (6 speed classes for each stability)
2 ! PMSIZE1 = 0.1,0.1,0.5,0.9,1,1.5,
0.1,0.1,0.5,0.9,1,1.5,
0.1,0.1,0.5,0.9,1,1.5,
0.1,0.1,0.5,0.9,1,1.5,
0.1,0.1,0.5,0.9,1,1.5,
0.1,0.1,0.5,0.9,1,1.5 !
!END!

--------
a
Data for each species are treated as a separate input subgroup
and therefore must end with an input group terminator.

9-106
Section 9: CALPUFF

Table 9-3 (Continued)


CALPUFF Control File Inputs - Input Group 15
Line Source Parameters

Variable Type Description Default Value

(Input Group 15a - General Line Source Data)

NLN2 integer Number of buoyant line sources with variable location 0


and emission parameters (all data provided in file
LNEMARB.DAT)

NLINES integer Number of buoyant line sources -

ILNU integer Units choice for line source emissions 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 = GB/yr

NSLN1 integer Number of source-species with variable emission rate 0


scaling factors provided in 15c

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)

NLRISE integer Number of distances at which transitional rise is 6


computed

XL real Average building length (m) -

HBL real Average building height (m) -

WBL real Average building width (m) -

WML real Average line source width (m) -

DXL real Average separation between buildings (m)

FPRIMEL real Average buoyancy parameter (m4/s3) -

(Input Group 15b - Buoyant Line Source Data) - repeated for each line source

SRCNAM character*12 Source name, used to coordinate inputs in Subgroups b,c -

9-107
Section 9: CALPUFF

Variable Type Description Default Value

XBEGL real Beginning X coordinate of line source (km) -

YBEGL real Beginning Y coordinate of line source (km) -

XENDL real Ending X coordinate of line source (km) -

YENDL real Ending Y coordinate of line source (km) -

9-108
Section 9: CALPUFF

Table 9-3 (Continued)


CALPUFF Control File Inputs - Input Group 15
Line Source Parameters

Variable Type Description Default Value

HTL real Release height (m) -

ELEVL real Base elevation (m) -

QL real Emissions rate (g/s) of each pollutant -

The variables in Input Group 15b are entered for each of the "NLINES" line sources. The data for each
line is treated as a separate input subgroup, and therefore, must end with an input group terminator (i.e.,
!END!). Note that the line number is an optional user comment which is outside of the delimiter
containing the required source data. The data for each line must follow an opening delimiter and "X=".
The data for each line is followed by a closing delimiter and an input group terminator.

The format of Input Group 15b for a simulation with eight species is shown below.
---------------
Subgroup (15b)
---------------

BUOYANT LINE SOURCE: CONSTANT DATA


----------------------------------
a
Source Beg. X Beg. Y End. X End. Y Release Base Emission
No. Coordinate Coordinate Coordinate Coordinate Height Elevation Rates
(km) (km) (km) (km) (m) (m)
------ ---------- ---------- --------- ---------- ------- --------- ---------
1! SRCNAM = LINE1 !
1! X = 12., 35., 12.5, 35., 22.000, 0.000, 2.3E00, 1.1E00,
0.0E00, 0.0E00, 0.0E00, 0.0E00, 0.0E00, 0.0E00 !
!END!
2! SRCNAM = LINE2 !
2! X = 12., 35.022, 12.5, 35.022, 22.000, 0.000, 2.3E00, 1.1E00,
0.0E00, 0.0E00, 0.0E00, 0.0E00, 0.0E00, 0.0E00 !
!END!

--------

a
Data for each source are treated as a separate input subgroup
and therefore must end with an input group terminator.

b
An emission rate must be entered for every pollutant modeled.
Enter emission rate of zero for secondary pollutants that are
modeled, but not emitted. Units are specified by ILNTU
(e.g. 1 for g/s).

9-109
Section 9: CALPUFF

Table 9-3 (Continued)


CALPUFF Control File Inputs - Input Group 15
Line Source Parameters

Variable Type Description Default Value

(Input Group 15c - Variable Emissions Scale Factors)

SRCNAM character*12 Source name, used to coordinate inputs in Subgroups b,c -

IVARY integer Type of scale factor variation (diurnal, monthly, etc.) 0


0= Constant
1= Diurnal cycle
(24 scaling factors: hours 1-24)
2= Monthly cycle
(12 scaling factors: months 1-12)
3= Hour & Season
(4 groups of 24 hourly scaling factors,
where first group is DEC-JAN-FEB)
4= Speed & Stab.
(6 groups of 6 scaling factors, where
first group is Stability Class A,
and the 6 speed classes have upper
bounds (m/s) defined in Group 12)
5= Temperature
(12 scaling factors, where temperature
classes have upper bounds (C) of:
0, 5, 10, 15, 20, 25, 30, 35, 40,
45, 50, 50+)

QFAC real array Array of 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

(i.e., !END!). If NSLN1=0, no scaling factors should be defined here.

9-111
Section 9: CALPUFF

Table 9-3 (Continued)


CALPUFF Control File Inputs - Input Group 15
Line Source Parameters

The format of Input Group 15c is shown below.

---------------
Subgroup (15c)
---------------
a
BUOYANT LINE SOURCE: VARIABLE EMISSIONS DATA
----------------------------------------------

1 ! SRCNAM = LINE1 !
1 ! IVARY = 1 ! (24 Hours)
1 ! SO2 = 0.1,0.1,0.1,0.2,0.2,0.3,
0.3,0.4,0.4,0.5,0.6,1,
1,1,1,1,1,1,
0.6,0.4,0.3,0.2,0.1,0.1 !
!END!

--------
a
Data for each species are treated as a separate input subgroup
and therefore must end with an input group terminator.

9-112
Section 9: CALPUFF

Table 9-3 (Continued)


CALPUFF Control File Inputs - Input Group 16
Volume Source Parameters

Variable Type Description Default Value

(Input Group 16a - General Volume Source Data)

NVL1 integer Number of volume sources with constant parameters or -


variable emission scale factors

IVLU integer Units choice for volume source emissions 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

NSVL1 integer Number of source-species with variable emission rate 0


scaling factors provided in 16c

NVL2 integer Number of volume sources with variable location and 0


emission parameters read from file VOLEMARB.DAT

(Input Group 16b - Volume Source Data for Sources with Constant Parameters or
Variable Emission Scaling Factors (repeated for each volume source (NVL1))

SRCNAM character*12 Source name, used to coordinate inputs in Subgroups b,c -

XVOL real X coordinate (km) of center of volume source -

YVOL real Y coordinate (km) of center of volume source -

HTVOL real Effective height (m) of volume source -

ELEVOL real Base elevation (m) of volume source -

SYVOL real Initial y (m) of volume source -

SZVOL real Initial z (m) of volume source -

QVOL real Emission rates (g/s) of each pollutant from volume -


source

9-113
Section 9: CALPUFF

9-114
Section 9: CALPUFF

Table 9-3 (Continued)


CALPUFF Control File Inputs - Input Group 16
Volume Source Parameters

The variables in Input Group 16b are entered for each of the "NVL1" volume sources. The data for each
source is treated as a separate input subgroup, and therefore, must end with an input group terminator
(i.e., !END!). Note that the source number is an optional user comment which is outside of the delimiter
containing the required source data. The data for each source must follow an opening delimiter and "X=".
The data for each source is followed by a closing delimiter and an input group terminator.

The format of Input Group 16b for a simulation with eight species is shown below.
---------------
Subgroup (16b)
---------------
a
VOLUME SOURCE: CONSTANT DATA
------------------------------
b
X UTM Y UTM Effect. Base Initial Initial Emission
Coordinate Coordinate Height Elevation Sigma y Sigma z Rates
(km) (km) (m) (m) (m) (m)
---------- ---------- ------ ------ -------- -------- --------

1! SRCNAM = VOLS1 !
! X = -5.6, -1.2, 10., 0., 6.2, 6.2, 2.2E00, 4.0E00, 0.0E00,
0.0E00, 0.0E00, 0.0E00, 0.0E00, 0.0E00 !
!END!

--------
a
Data for each source are treated as a separate input subgroup
and therefore must end with an input group terminator.

b
An emission rate must be entered for every pollutant modeled.
Enter emission rate of zero for secondary pollutants that are
modeled, but not emitted. Units are specified by IVLU
(e.g. 1 for g/s).

9-115
Section 9: CALPUFF

Table 9-3 (Continued)


CALPUFF Control File Inputs - Input Group 16
Volume Source Parameters

Variable Type Description Default Value

(Input Group 16c - Variable Emissions Scale Factors)

SRCNAM character*12 Source name, used to coordinate inputs in Subgroups b,c -

IVARY integer Type of scale factor variation (diurnal, monthly, etc.) 0


0= Constant
1= Diurnal cycle
(24 scaling factors: hours 1-24)
2= Monthly cycle
(12 scaling factors: months 1-12)
3= Hour & Season
(4 groups of 24 hourly scaling factors,
where first group is Dec-Jan-Feb)
4= Speed & Stab.
(6 groups of 6 scaling factors, where
first group is Stability Class A,
and the 6 speed classes have upper
bounds (m/s) defined in Group 12)
5= Temperature
(12 scaling factors, where temperature
classes have upper bounds (C) of:
0, 5, 10, 15, 20, 25, 30, 35, 40,
45, 50, 50+)

QFAC real array Array of 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

terminator (i.e., !END!). If NSVL1=0, no scaling factors should be defined here.

9-117
Section 9: CALPUFF

Table 9-3 (Continued)


CALPUFF Control File Inputs - Input Group 16
Volume Source Parameters

The format of Input Group 16c is shown below.


---------------
Subgroup (16c)
---------------
a
VOLUME SOURCE: VARIABLE EMISSIONS DATA
----------------------------------------

1 ! SRCNAM = VOLS1 !
1 ! IVARY = 1 ! (24 Hours)
1 ! SO2 = 0.1, 0.1, 0.1, 0.2, 0.2, 0.3,
0.3, 0.4, 0.4, 0.5, 0.6, 1,
1, 1, 1, 1, 1, 1,
0.6, 0.4, 0.3, 0.2, 0.1, 0.1 !
!END!

--------
a
Data for each species are treated as a separate input subgroup
and therefore must end with an input group terminator.

9-118
Section 9: CALPUFF

Table 9-3 (Concluded)


CALPUFF Control File Inputs - Input Group 17
Non-Gridded (Discrete) Receptor Data

Variable Type Description Default Value

(Input Group 17a - General Discrete Receptor Data)

NREC integer Number of non-gridded receptors -

(Input Group 17b - Discrete Receptor Data)

XKM real X coordinate (km) of the discrete receptor on the -


meteorological grid

YKM real Y coordinate (km) of the discrete receptor on the -


meteorological grid

ELEV real Ground elevation (m) above mean sea level of the receptor -

ZREC real Height (m) of discrete receptor above the ground 0.0

The variables in Input Group 17b are entered for each of the "NREC" discrete receptors. The data for
each receptor is treated as a separate input subgroup, and therefore, must end with an input group
terminator (i.e., !END!). The format of Input Group 17b is shown below.

---------------
Subgroup (17b)
---------------
a
NON-GRIDDED (DISCRETE) RECEPTOR DATA
------------------------------------

X UTM Y UTM Ground Height b


Receptor Coordinate Coordinate Elevation Above Ground
No. (km) (km) (m) (m)
-------- ---------- ---------- --------- ------------
1 ! X = 1., 1., 12.500, 0.000! !END!
2 ! X = 2.5, 4.2, 28.100, 0.000! !END!
3 ! X = 2.89, 3.2, 39.600, 0.000! !END!

-------------
a
Data for each receptor are treated as a separate input subgroup
and therefore must end with an input group terminator.

b
Receptor height above ground is optional. If no value is entered,
the receptor is placed on the ground.

Note that the receptor number is an optional user comment which is outside of the delimiter. The data for

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

9.2 Meteorological Data Files

Four types of meteorological data files can be used to drive the CALPUFF model. In order to take full
advantage of the capabilities of the model to simulate the effects spatially-varying meteorological fields,
gridded fields of winds, temperatures, mixing heights, and other meteorological variables should be input
to CALPUFF through the CALMET.DAT file. The format and contents of this file are described in
Section 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.

CALMET.DAT File - Header Records

The CALMET.DAT file consists of a set of up to fifteen header records, plus a variable number of
comment records, followed by a set of 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:

c --- Header record #1 - File Declaration -- 24 words


write(iomet) DATASET,DATAVER,DATAMOD

c --- Header record #2 - Number of comment lines -- 1 word


write(iomet) NCOM

c --- Header record #3 to NCOM+2 (Comment record section) -- 33 words each


write(iomet) COMMENT

c --- Header record #NCOM+3 - run control parameters -- 39 words


write(iomet) IBYR,IBMO,IBDY,IBHR,IBSEC,
2 IEYR,IEMO,IEDY,IEHR,IESEC,AXTZ,IRLG,IRTYPE,
3 NX,NY,NZ,DGRID,XORIGR,YORIGR, IWFCOD,NSSTA,
4 NUSTA,NPSTA,NOWSTA,NLU,IWAT1,IWAT2,LCALGRD
5 PMAP,DATUM,DATEN,FEAST,FNORTH,UTMHEM,IUTMZN,
6 RNLAT0,RELON0,XLAT1,XLAT2

c --- Header record #NCOM+4 - cell face heights (NZ + 1 words)


write(iomet)CLAB1,IDUM,IDUM,IDUM,IDUM,ZFACEM

c --- Header records #NCOM+5 & 6 - x, y coordinates of surface stations


c --- (NSSTA words each record)
if(nssta.ge.1)then
write(iomet)CLAB2,IDUM,IDUM,IDUM,IDUM,XSSTA
write(iomet)CLAB3,IDUM,IDUM,IDUM,IDUM,YSSTA
endif

c --- Header records #NCOM+7 & 8 - x, y coordinates of upper air stations


c --- (NUSTA words each record)
if(nusta.ge.1)then
write(iomet)CLAB4,IDUM,IDUM,IDUM,IDUM,XUSTA
write(iomet)CLAB5,IDUM,IDUM,IDUM,IDUM,YUSTA
endif

c --- Header records #NCOM+9 & 10 - x, y coordinates of precipitation stations


c --- (NPSTA words each record)
if(npsta.ge.1)then
write(iomet)CLAB6,IDUM,IDUM,IDUM,IDUM,XPSTA
write(iomet)CLAB7,IDUM,IDUM,IDUM,IDUM,YPSTA
endif

c --- Header record #NCOM+11 - surface roughness lengths (NX * NY words)


write(iomet)CLAB8,IDUM,IDUM,IDUM,IDUM,Z0

c --- Header record #NCOM+12 - land use categories (NX * NY words)


write(iomet)CLAB9,IDUM,IDUM,IDUM,IDUM,ILANDU

c --- Header record #NCOM+13 - elevations (NX * NY words)


write(iomet)CLAB10,IDUM,IDUM,IDUM,IDUM,ELEV

c --- Header record #NCOM+14 - leaf area index (NX * NY words)


write(iomet)CLAB11,IDUM,IDUM,IDUM,IDUM,XLAI

c --- Header record #NCOM+15 - nearest surface station no. to each


c --- grid point (NX * NY words)

9-122
Section 9: CALPUFF

if(nssta.ge.1)then
write(iomet)CLAB12,IDUM,IDUM,IDUM,IDUM,NEARS
endif

where the following declarations apply:

real ZFACEM(nz+1),XSSTA(nssta),YSSTA(nssta),XUSTA(nusta),YUSTA(nusta)
real XPSTA(npsta),YPSTA(npsta)
real Z0(nx,ny),ELEV(nx,ny),XLAI(nx,ny)
integer ILANDU(nx,ny),NEARS(nx,ny)
character*132 COMMENT(ncom)
character*64 DATAMOD
character*16 DATASET,DATAVER
character*12 DATEN
character*8 PMAP,DATUM
character*8 CLAB1,CLAB2,CLAB3,CLAB4,CLAB5,CLAB6
character*8 CLAB7,CLAB8,CLAB9,CLAB10,CLAB11,CLAB12
character*4 UTMHEM
logical LCALGRD

CALMET.DAT File - Data Records

The CALMET.DAT data records include 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:

c --- Write U, V, W wind components


Loop over vertical layers, k

write(iunit)CLABU,NDATHRB,IBSEC,NDATHRE,IESEC,
((U(i,j,k),i=1,nx),j=1,ny)
write(iunit)CLABV, NDATHRB,IBSEC,NDATHRE,IESEC,
((V(i,j,k),i=1,nx),j=1,ny)
if(LCALGRD)write(iunit)CLABW,NDATHRB,IBSEC,NDATHRE,IESEC,
((W(i,j,k+1),i=1,nx),j=1,ny)

End loop over vertical layers

9-123
Section 9: CALPUFF

c --- Write 3-D temperature field


if(LCALGRD.and.irtype.eq.1) then
Loop over vertical layers, k

write(iunit)CLABT, NDATHRB,IBSEC,NDATHRE,IESEC,
((ZTEMP(i,j,k),i=1,nxm),j=1,nym)

End loop over vertical layers
endif

c --- Write 2-D meteorological fields


if(irtype.eq.1) then

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

where the following declarations apply:

real U(nx,ny,nz),V(nx,ny,nz),W(nx,ny,nz)
real ZTEMP(nx,ny,nz)
real USTAR(nx,ny),ZI(nx,ny),EL(nx,ny)
real WSTAR(nx,ny),RMM(nx,ny)
real TEMPK(nx,ny),RHO(nx,ny),QSW(nx,ny)
integer IPGT(nx,ny)
integer IRH(nx,ny),IPCODE(nx,ny)
character*8 CLABU, CLABV, CLABW, CLABT, CLABSC, CLABUS, CLABZI
character*8 CLABL, CLABWS, CLABRMM, CLABTK, CLABD, CLABQ, CLABRH
character*8 CLABPC

9-124
Section 9: CALPUFF

Table 9-4: CALMET.DAT file - Header Records

Header Variable Variable Typea Description


Record No. No.

1 1 DATASET char*16 Dataset name (CALMET.DAT)

1 2 DATAVER char*16 Dataset version

1 3 DATAMOD char*64 Dataset message field

2 1 NCOM integer Number of comment records to follow

3 to 1 COMMENT char*132 Comment record (repeated NCOM times), each


NCOM+2 containing an image of one line of the CALMET
control file, or other information

NCOM+3 1 IBYR integer Starting year of CALMET run

NCOM+3 2 IBMO integer Starting month

NCOM+3 3 IBDY integer Starting day

NCOM+3 4 IBHR integer Starting time (hour at start)

NCOM+3 5 IBSEC integer Starting time (seconds at start, 0-3600)

NCOM+3 6 IEYR integer Starting year of CALMET run

NCOM+3 7 IEMO integer Ending month

NCOM+3 8 IEDY integer Ending day

NCOM+3 9 IEHR integer Ending time (hour at end)

NCOM+3 10 IESEC integer Ending time (seconds at end, 0-3600)

NCOM+3 11 ABTZ char*8 Base time zone (e.g., UTC-0500 =EST)

NCOM+3 12 IRLG integer Run length

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

NCOM+3 14 NX integer Number of grid cells in the X direction

NCOM+3 15 NY integer Number of grid cells in the Y direction

NCOM+3 16 NZ integer Number of vertical layers

NCOM+3 17 DGRID real Grid spacing (m)

NCOM+3 18 XORIGR real X coordinate (m) of southwest corner of grid cell


(1,1)

9-125
Section 9: CALPUFF

NCOM+3 19 YORIGR real Y coordinate (m) of southwest corner of grid cell


(1,1)

a
char*N = Character*N

9-126
Section 9: CALPUFF

Table 9-4 (Continued)


CALMET.DAT file - Header Records

Header Variable Variable Typea Description


Record No. No.

NCOM+3 20 IWFCOD integer Wind field module used (0=objective analysis,


1=diagnostic model)

NCOM+3 21 NSSTA integer Number of surface meteorological stations

NCOM+3 22 NUSTA integer Number of upper air stations

NCOM+3 23 NPSTA integer Number of precipitation stations

NCOM+3 24 NOWSTA integer Number of over water stations

NCOM+3 25 NLU integer Number of land use categories

NCOM+3 26 IWAT1 integer Range of land use categories

NCOM+3 27 IWAT2 integer Corresponding to water surfaces (IWAT1 or


IWAT2, inclusive)

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 29 PMAPb char*8 Map projectionb


UTM : Universal Transverse Mercator
TTM : Tangential Transverse Mercator
LCC : Lambert Conformal Conic
PS : Polar Stereographic
EM : Equatorial Mercator
LAZA : Lambert Azimuthal Equal Area

NCOM+3 30 DATUM char*8 DATUM Code for grid coordinates

NCOM+3 31 DATEN char*12 NIMA date (MM-DD-YYYY) for datum


definitions

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

NCOM+3 34 UTMHEM char*4 Hemisphere for UTM projection (N or S)

NCOM+3 35 IUTMZN integer UTM zone for PMAP = UTM

9-127
Section 9: CALPUFF

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)

a
char*N = Character*N
b
PMAP = EM, PS, and LAZA is NOT AVAILABLE in CALMET

9-128
Section 9: CALPUFF

Table 9-4 (Continued)


CALMET.DAT file - Header Records

Header Variable Variable Typea Description


Record No. No.

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 1 CLAB1 char*8 Variable label ('ZFACE')

NCOM+4 2-5 IDUM integer Variable not used

NCOM+4 6 ZFACEM real array Heights (m) of cell faces (NZ + 1 values)

NCOM+5b 1 CLAB2 char*8 Variable label ('XSSTA')

NCOM+5b 2-5 IDUM integer Variable not used

NCOM+5b 6 XSSTA real array X coordinates (m) of each surface met. station

NCOM+6b 1 CLAB3 char*8 Variable label ('YSSTA')

NCOM+6b 2-5 IDUM integer Variable not used

NCOM+6b 6 YSSTA real array Y coordinates (m) of each surface met. station

NCOM+7c 1 CLAB4 char*8 Variable label ('XUSTA')

NCOM+7c 2-5 IDUM integer Variable not used

NCOM+7c 6 XUSTA real array X coordinates (m) of each upper air met.
station

NCOM+8c 1 CLAB5 char*8 Variable label ('YUSTA')

NCOM+8c 2-5 IDUM integer Variable not used

NCOM+8c 6 YUSTA real array Y coordinate (m) of each upper air met. station

NCOM+9d 1 CLAB6 char*8 Variable label ('XPSTA')

NCOM+9d 2-5 IDUM integer Variable not used

NCOM+9d 6 XPSTA real array X coordinate (m) of each precipitation station

NCOM+10d 1 CLAB7 char*8 Variable label ('YPSTA')

NCOM+10d 2-5 IDUM integer Variable not used

NCOM+10d 6 YPSTA real array Y coordinate (m) of each precipitation station

NCOM+11 1 CLAB8 char*8 Variable label ('Z0')

NCOM+11 2-5 IDUM integer Variable not used

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

Table 9-4 (Concluded)


CALMET.DAT file - Header Records

Header Variable Variable Typea Description


Record No. No.

NCOM+11 6 Z0 real array Gridded field of surface roughness


lengths (m) for each grid cell

NCOM+12 1 CLAB9 char*8 Variable label ('ILANDU')

NCOM+12 2-5 IDUM integer Variable not used

NCOM+12 6 ILANDU integer array Gridded field of land use category for
each grid cell

NCOM+13 1 CLAB10 char*8 Variable label ('ELEV')

NCOM+13 2-5 IDUM integer Variable not used

NCOM+13 6 ELEV real array Gridded field of terrain elevations for


each grid cell

NCOM+14 1 CLAB11 char*8 Variable label ('XLAI')

NCOM+14 2-5 IDUM integer Variable not used

NCOM+14 6 XLAI real array Gridded field of leaf area index for each
grid cell

NCOM+15 1 CLAB12 char*8 Variable label ('NEARS')

NCOM+15 2-5 IDUM integer Variable not used

NCOM+15 6 NEARS integer array Nearest surface meteorological station to


each grid point

a
char*N = Character*N

9-131
Section 9: CALPUFF

Table 9-5: CALMET.DAT file - Data Records

Record Variable Variable Typea Description


Type No. Name

1 1 CLABU char*8 Variable label ('U-LEVxxx', where xxx indicates


the layer number)

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

1 6 U real U-component (m/s) of the winds at each grid


array point

2 1 CLABV char*8 Variable label ('V-LEVxxx', where xxx indicates


the layer number)

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)

2 6 V real V-component (m/s) of the winds at each grid


array point

3b 1 CLABW char*8 Variable label ('WFACExxx"), where xxx


indicates the layer number)

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)

3b 6 W real W-component (m/s) of the winds at each grid


array point

(Record types 1,2,3 repeated NZ times (once per layer) as a set)

4b 1 CLABT char*8 Variable label ('T-LEVxxx', where xxx indicates


the layer number)

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

4b 6 ZTEMP real Air temperature (deg. K) at each grid point


array

(Record type 4 repeated NZM times (once per layer))

a
char*8 = Character*8
b
Record types 3 and 4 are included only if LCALGRD is TRUE

9-133
Section 9: CALPUFF

Table 9-5 (Continued)


CALMET.DAT file - Data Records

Record Variable Variable Typea Description


Type No. Name

5 1 CLABSC char*8 Variable label ('IPGT')

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)

5 6 IPGT integer PGT stability class at each grid point


array

6 1 CLABUS char*8 Variable label ('USTAR')

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)

6 6 USTAR real array Surface friction velocity (m/s)

7 1 CLABZI char*8 Variable label ('ZI')

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)

7 6 ZI real array Mixing height (m)

8 1 CLABL char*8 Variable label ('EL')

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)

8 6 EL real array Monin-Obukhov length (m)

9 1 CLABWS char*8 Variable label ('WSTAR')

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

9 6 WSTAR real array Convective velocity scale (m/s)

a
char*8 = Character*8

9-135
Section 9: CALPUFF

Table 9-5 (Concluded)


CALMET.DAT file - Data Records

Record Variable Variable Typea Description


Type No. Name

10 1 CLABRMM char*8 Variable label ('RMM')

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)

10 6 RMM real array Precipitation rate (mm/hr). Not used by CALGRID.

11 1 CLABTK char*8 Variable label ('TEMPK')

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)

11 6 TEMPK real array Near-surface temperature (deg. K)

12 1 CLABD char*8 Variable label ('RHO')

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)

12 6 RHO real array Near-surface air density (kg/m3)

13 1 CLABQ char*8 Variable label ('QSW')

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)

13 6 QSW real array Short-wave solar radiation (W/m2)

14 1 CLABRH char*8 Variable label ('IRH')

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

14 6 IRH integer Near-surface relative humidity (percent)


array

a
char*8 = Character*8

9-137
Section 9: CALPUFF

Table 9-5 (Concluded)


CALMET.DAT file - Data Records

Record Variable Variable Typea Description


Type No. Name

15 1 CLABPC char*8 Variable label ('IPCODE')

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)

15 6 IPCODE integer Precipitation type code


array 0 - no precipitation
1 to 18 - liquid precipitation
19 to 45 - frozen precipitation

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

Table 9-6: Sample ISCMET.DAT files

(a) Base Data Records (hourly)


94728 90 14735 90
90 1 1 1 81.0000 3.0866 280.9 5 881.5 53.0
90 1 1 2 98.0000 1.5433 279.8 6 904.6 53.0
90 1 1 3 114.0000 2.5722 279.8 5 927.8 53.0
90 1 1 4 113.0000 4.1155 280.4 4 951.0 951.0
90 1 1 5 103.0000 3.0866 279.8 5 974.2 53.0
| | | | | | | | | |
yr dy WD vect WS Temp rural urban
mo hr stab zi zi

(b) Extended Data Records (hourly)


94728 90 14735 90
90 1 1 1 81.0000 3.0866 280.9 5 881.5 53.0 0.33 355. 0.25 0 0.0 .020 .35 0. 77
90 1 1 2 98.0000 1.5433 279.8 6 904.6 53.0 0.17 122. 0.25 0 0.0 .035 .55 0. 68
90 1 1 3 114.0000 2.5722 279.8 5 927.8 53.0 0.28 259. 0.25 0 0.0 .30 0. 72
90 1 1 4 113.0000 4.1155 280.4 4 951.0 951.0 0.45 655. 0.25 0 0.0 .15 0. 74
90 1 1 5 103.0000 3.0866 279.8 5 974.2 53.0 0.33 355. 0.25 0 0.0 .022 0. 75
| | | | | | | | | | | | | | | | | | |
yr dy WD vect WS Temp rural urban u* L zo p precip. d/dz p SW rh
mo hr stab zi zi code amt. rad. %

(c) Extended Data Records (sub-hourly)

ISCMET.DAT Header comments, begin/end times with seconds, time zone

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

Table 9-7: ISCMET.DAT File - Header Record (Hourly Data File)

Record Columns Variable Type Description

1 1-6 * integer Surface station number.


1 8-13 * integer Surface station year.
1 15-20 * integer Mixing height station number.
1 22-27 * integer Mixing height station year.
* These variables are not interpreted in CALPUFF

ISCMET.DAT File - Header Records (Sub-Hourly Data File)

Record Variable Type Description

1 DATASET character*16 Dataset name (ISCMET.DAT)

1 DATAVER character*16 Dataset version (2.1)

1 DATAMOD character*64 Dataset message field

2 NCOMM integer Number of comment records to follow

NEXT NCOMM COMMENT character *80 Other documentation


Lines

NCOMM+3 PMAP character*8 Map projection (NONE)


NCOMM+4 TZONE character*8 Time zone (UTC+hhmm)

NCOMM+5 IBYR integer Starting year

NCOMM+5 IBMO integer Starting month

NCOMM+5 IBDY integer Starting day

NCOMM+5 IBHR integer Starting time (hour 00-23)

NCOMM+5 IBSEC integer Starting time (second 0000-3600)

NCOMM+5 IEYR integer Ending year

NCOMM+5 IEMO integer Ending month

NCOMM+5 IEDY integer Ending day

NCOMM+5 IEHR integer Ending time (hour 00-23)

NCOMM+5 IESEC integer Ending time (second 0000-3600)

NCOMM+6 * integer Surface station number

NCOMM+6 * integer Surface station year.

9-142
Section 9: CALPUFF

NCOMM+6 * integer Mixing height station number

NCOMM+6 * integer Mixing height station year


* These variables are not interpreted in CALPUFF

9-143
Section 9: CALPUFF

Table 9-8: ISCMET.DAT File - Data Records (Hourly Data File)

(One record per time period)


Records 2,3,4,... Hourly Meteorological Data.

Columns Variable Type Description

Base Data

1-2 IY integer Year of data in record


3-4 IM integer Month
5-6 ID integer Day
7-8 IH integer Hour (ISC3 convention (1-24) at end of hour)
9-17 FVEC real Flow vector (deg.)
18-26 WSPD real Wind speed (m/s)
27-32 TMPK real Temperature (deg. K)
33-34 KST integer Stability class (1-6)
35-41 RMIX real Rural mixing height (m)
42-48 UMIX real Urban mixing height (m)

Extended data

49-57 USTR real Friction velocity (m/s)


58-67 XMON real Monin-Obukhov length (m)
68-75 Z0M real Surface roughness length (m)
76-79 IPC integer Precipitation type code
0 - no precipitation
1 to 18 - liquid precipitation
19 to 45 - frozen precipitation
80-86 PMMHR real Precipitation rate (mm/hr)
87-96 DTHTD real Potential temperature lapse rate (deg. K/m)
97-101 PLAW real Wind speed power law exponent
102-110 QSWRAD real Short-wave solar radiation (W/m2)
111-113 IRH integer Relative humidity (%)

Read using format(4i2,2f9.4,f6.1,i2,2f7.1,f9.4,f10.1,f8.4,i4,f7.2,f10.5,a5,a9,a3)

9-144
Section 9: CALPUFF

Table 9-8 (continued)


ISCMET.DAT File - Data Records (Sub-Hourly Data File)
(One record per time period)

Records NCOMM+7,8,9,... Sub-Hourly Meteorological Data.

Columns Variable Type Description

1-2 IBY integer Beginning year of data in record


3-4 IBM integer Beginning month
5-6 IBD integer Beginning day
7-8 IBH integer Beginning time (hour 00-23)
9-12 IBS integer Beginning time (second 0000-3600)
13-14 IEY integer Ending year of data in record
15-16 IEM integer Ending month
17-18 IED integer Ending day
19-20 IEH integer Ending time (hour 00-23)
21-24 IES integer Ending time (second 0000-3600)
25-33 FVEC real Flow vector (deg.)
34-42 WSPD real Wind speed (m/s)
43-48 TMPK real Temperature (deg. K)
49-50 KST integer Stability class (1-6)
51-57 RMIX real Rural mixing height (m)
58-64 UMIX real Urban mixing height (m)

65-73 USTR real Friction velocity (m/s)


74-83 XMON real Monin-Obukhov length (m)
84-91 Z0M real Surface roughness length (m)
92-95 IPC integer Precipitation type code
0 - no precipitation
1 to 18 - liquid precipitation
19 to 45 - frozen precipitation
96-102 PMMHR real Precipitation rate (mm/hr)
103-112 DTHTD real Potential temperature lapse rate (deg. K/m)
113-117 PLAW real Wind speed power law exponent
118-126 QSWRAD real Short-wave solar radiation (W/m2)
127-129 IRH integer Relative humidity (%)

Read using format(2(4i2,i4),2f9.4,f6.1,i2,2f7.1,f9.4,f10.1,f8.4,i4,f7.2,f10.5,a5,a9,a3)

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

Table 9-9: Sample PLMMET.DAT file

(a) Base Data Records

Sample PLMMET.DAT data file. Min. ws=1.0 m/s


94010101 19 1.0 270 F 100 17. 0.55 .035 0.
94010102 19 1.2 270 F 122 22. .030 0.
94010103 20 1.5 270 F 132 18. 0.
94010104 19 3.2 270 E 256 0.35 0.
94010105 20 1.8 270 F 103 0.45 .031 0.
94010106 20 3.3 270 E 201 0.32 .024 0.
94010107 21 5.0 270 D 284 0.25 0.
94010108 21 4.6 270 D 301 12. 0.
94010109 22 3.5 270 D 525 11. 0.
94010110 22 3.9 270 C 658 16. 0.19 0.
| | | | | | | | | | | | |
yr dy Temp WS WD zi p d/dz decay
mo hr stab

(b) Extended Data Records

Sample PLMMET.DAT data file. Min. ws=1.0 m/s


94010101 19 1.0 270 F 100 17. 0.55 .035 0. 0 0.0 0. 65
94010102 19 1.2 270 F 122 22. .030 0. 0 0.0 0. 69
94010103 20 1.5 270 F 132 18. 0. 0 0.0 0. 65
94010104 19 3.2 270 E 256 0.35 0. 0 0.0 0. 66
94010105 20 1.8 270 F 103 0.45 .031 0. 0 0.0 0. 69
94010106 20 3.3 270 E 201 0.32 .024 0. 0 0.0 0. 73
94010107 21 5.0 270 D 284 0.25 0. 1 1.80 11. 78
94010108 21 4.6 270 D 301 12. 0. 1 .95 82. 76
94010109 22 3.5 270 D 525 11. 0. 0 0.0 116. 58
94010110 22 3.9 270 C 658 16. 0.19 0. 0 0.0 250. 55
| | | | | | | | | | | | | | | | |
yr dy Temp WS WD zi p d/dz decay p precip. SW rh
mo hr stab code amount rad. %

9-148
Section 9: CALPUFF

Table 9-10: PLMMET.DAT File - Header Record

Record 1. Title.

Record Columns Variable Type Description

1 1-80 TITLE character*80 Title of file.

9-149
Section 9: CALPUFF

Table 9-11: PLMMET.DAT File - Data Records

(One record per hour)


Records 2,3,4,... Hourly meteorological data.

Columns Variable Type Description

Base Data

1-2 IY integer Year of data in record


3-4 IM integer Month
5-6 ID integer Day
7-8 IH integer Hour (1-24) time at end of hour
9-11 TMPC real Temperature (deg. C)
12-16 WSPD real Wind speed (m/s)
17-20 IWD integer Wind direction (deg.)
21-22 KST * character Stability class (A-F)
23-27 ZMIX real Mixing height (m)
28-32 SIGTHA real (deg.). Or use PROFILE.DAT file
for turbulence measurements.
33-37 PLEXP real Wind speed power law exponent
38-42 PTGDF real Potential temperature gradient (deg. K/m)
43-52 DECAY real Decay constant (s-1). Not used by CALPUFF.

Extended Data

53-55 IPC integer Precipitation type code


0 - no precipitation
1 to 18 - liquid precipitation
19 to 45 - frozen precipitation
56-64 PMMHR real Precipitation rate (mm/hr)
65-73 QSWRAD real Short-wave solar radiation (W/m2)
74-76 IRELHUM integer Relative humidity (%)

* KST is converted from character (A-F) to integer (1-6)

9-150
Section 9: CALPUFF

9.2.4 SURFACE.DAT and PROFILE.DAT

In addition to the capability to use three-dimensional wind fields generated by CALMET, a single-station
meteorological file can also be used by CALPUFF as its source of meteorological data. One form of
single station data accepted by CALPUFF is the CTDMPLUS (Perry et al., 1989) form. The standard
meteorological data files SURFACE.DAT and PROFILE.DAT can be used without modification,
although some CALPUFF options require additional meteorological variables that must be added as part
of an extended data record to SURFACE.DAT 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

Table 9-12: Sample SURFACE.DAT file

(a) Base Data Records (hourly)

94 1 1 1 1 658. 30. 0.047 15.7 0.500E+00


94 1 1 1 2 658. 37. 0.067 15.7 0.500E+00
94 1 1 1 3 658. 35. 0.060 15.7 0.500E+00
94 1 1 1 4 658. 33. 0.053 15.7 0.500E+00
94 1 1 1 5 658. 30. 0.047 15.7 0.500E+00
94 1 1 1 6 658. 35. 0.060 15.7 0.500E+00
| | |
Yr Mo Dy Jul Hr Ziobs Zipre Ustar Monin Zo
Dy Obukhov

(b) Extended Data Records (hourly)

94 1 1 1 1 658. 30. 0.047 15.7 0.500E+00 0 0.0 0. 65


94 1 1 1 2 658. 37. 0.067 15.7 0.500E+00 0 0.0 0. 69
94 1 1 1 3 658. 35. 0.060 15.7 0.500E+00 0 0.0 0. 65
94 1 1 1 4 658. 33. 0.053 15.7 0.500E+00 0 0.0 0. 66
94 1 1 1 5 658. 30. 0.047 15.7 0.500E+00 0 0.0 0. 69
94 1 1 1 6 658. 35. 0.060 15.7 0.500E+00 0 0.0 0. 73
| | | | | | | | | | | | | |
Yr Mo Dy Jul Hr Ziobs Zipre Ustar Monin Zo p precip. SW rh
Dy Obukhov code amount rad. %

(b) Extended Data Records (sub-hourly)

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

Table 9-13: Sample PROFILE.DAT file

(a) Base Data Records (hourly)


94 1 1 1 2. 0 -999.9 -9.9 259.6 -99.9 -9.90 -999.9
94 1 1 1 10. 0 156.4 0.7 263.2 42.5 0.01 -999.9
94 1 1 1 40. 0 -999.9 -9.9 265.4 -99.9 -9.90 -999.9
94 1 1 1 70. 0 177.9 2.4 266.0 18.3 0.16 -999.9
94 1 1 1 100. 0 207.1 3.0 266.3 23.9 0.20 -999.9
94 1 1 1 120. 0 218.0 2.8 -999.9 -99.9 -9.90 -999.9
94 1 1 1 150. 0 233.0 4.3 -999.9 -99.9 -9.90 -999.9
94 1 1 1 180. 0 238.0 6.0 -999.9 -99.9 -9.90 -999.9
94 1 1 1 210. 1 242.0 7.2 -999.9 -99.9 -9.90 -999.9
94 1 1 2 2. 0 -999.9 -9.9 258.9 -99.9 -9.90 -999.9
94 1 1 2 10. 0 162.9 1.0 262.1 28.8 0.01 -999.9
94 1 1 2 40. 0 -999.9 -9.9 263.9 -99.9 -9.90 -999.9
94 1 1 2 70. 0 155.6 2.2 265.4 8.9 0.09 -999.9
94 1 1 2 100. 0 179.1 1.8 266.0 10.5 0.10 -999.9
94 1 1 2 120. 0 191.0 1.8 -999.9 -99.9 -9.90 -999.9
94 1 1 2 150. 0 224.0 2.2 -999.9 -99.9 -9.90 -999.9
94 1 1 2 180. 0 246.0 3.2 -999.9 -99.9 -9.90 -999.9
94 1 1 2 210. 0 259.0 4.7 -999.9 -99.9 -9.90 -999.9
94 1 1 2 240. 0 265.0 6.1 -999.9 -99.9 -9.90 -999.9
94 1 1 2 270. 0 268.0 7.3 -999.9 -99.9 -9.90 -999.9
| | | | | | | | | | | |
Yr Mo Dy Hr Z Ilast WD WS Temp v w WS
Scalar Vector

(b) Extended Data Records (hourly)


94 1 1 13 2. 0 -999.9 -9.9 275.8 -99.9 -9.90 -999.9 .18
94 1 1 13 10. 0 162.9 0.9 275.6 51.6 0.03 -999.9
94 1 1 13 40. 0 -999.9 -9.9 274.6 -99.9 -9.90 -999.9
94 1 1 13 70. 0 176.5 2.6 274.4 8.9 0.11 -999.9
94 1 1 13 100. 0 185.3 2.7 274.1 14.0 0.10 -999.9
94 1 1 13 120. 0 194.0 2.0 -999.9 -99.9 -9.90 -999.9
94 1 1 13 150. 0 225.0 1.8 -999.9 -99.9 -9.90 -999.9
94 1 1 13 180. 0 259.0 2.3 -999.9 -99.9 -9.90 -999.9
94 1 1 13 210. 1 269.0 3.5 -999.9 -99.9 -9.90 -999.9
94 1 1 14 2. 0 -999.9 -9.9 275.8 -99.9 -9.90 -999.9
94 1 1 14 10. 0 162.9 0.9 275.6 51.6 0.03 -999.9
94 1 1 14 40. 0 -999.9 -9.9 274.6 -99.9 -9.90 -999.9
94 1 1 14 70. 0 176.5 2.6 274.4 8.9 0.11 -999.9
94 1 1 14 100. 0 185.3 2.7 274.1 14.0 0.10 -999.9
94 1 1 14 120. 0 194.0 2.0 -999.9 -99.9 -9.90 -999.9
94 1 1 14 150. 0 225.0 1.8 -999.9 -99.9 -9.90 -999.9
94 1 1 14 180. 0 259.0 2.3 -999.9 -99.9 -9.90 -999.9
94 1 1 14 210. 1 269.0 3.5 -999.9 -99.9 -9.90 -999.9
94 1 1 15 2. 0 -999.9 -9.9 275.8 -99.9 -9.90 -999.9 .5
94 1 1 15 10. 0 162.9 0.9 275.6 51.6 0.03 -999.9
94 1 1 15 40. 0 -999.9 -9.9 274.6 -99.9 -9.90 -999.9
94 1 1 15 70. 0 176.5 2.6 274.4 8.9 0.11 -999.9
94 1 1 15 100. 0 185.3 2.7 274.1 14.0 0.10 -999.9
| | | | | | | | | | | | |
Yr Mo Dy Hr Z Ilast WD WS Temp v w WS T at
Scalar Vector Inversion

9-154
Section 9: CALPUFF

Table 9-13 (continued)


Sample PROFILE.DAT file

(c) Extended Data Records (sub-hourly)

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

Yr Mo Dy Hr Sec Yr Mo Dy Hr Sec Z Ilast WD WS Temp v w WS T at


Scalar Vector Inversion

9-156
Section 9: CALPUFF

Table 9-14: SURFACE.DAT File - Header Records (Sub-Hourly Data File)

Record Variable Type Description

1 DATASET character*16 Dataset name (SURFACE.DAT)

1 DATAVER character*16 Dataset version (2.1)

1 DATAMOD character*64 Dataset message field

2 NCOMM integer Number of comment records to follow

NEXT NCOMM COMMENT character *80 Other documentation


Lines

NCOMM+3 PMAP character*8 Map projection (NONE)


NCOMM+4 TZONE character*8 Time zone (UTC+hhmm)

NCOMM+5 IBYR integer Starting year

NCOMM+5 IBMO integer Starting month

NCOMM+5 IBDY integer Starting day

NCOMM+5 IBHR integer Starting time (hour 00-23)

NCOMM+5 IBSEC integer Starting time (second 0000-3600)

NCOMM+5 IEYR integer Ending year

NCOMM+5 IEMO integer Ending month

NCOMM+5 IEDY integer Ending day

NCOMM+5 IEHR integer Ending time (hour 00-23)

NCOMM+5 IESEC integer Ending time (second 0000-3600)

9-157
Section 9: CALPUFF

Table 9-14 (continued)


SURFACE.DAT File Data Records (Hourly Data File)
(One record per hour)

Records 1,2,3,... Hourly meteorological data.

Columns Variable Type Description

Base Data

* IY integer Year of data in record (YY or YYYY format)


* IM integer Month
* ID integer Day
* IJUL integer Julian day (1-366)
* IH integer Hour (1-24) at end of hour
* ZIOBS real Observed mixing height (m)
* ZIPRE real Calculated mixing height (m)
* USTR real Surface friction velocity (m/s)
* XMON real Monin-Obukhov length (m)
* Z0M real Hourly surface roughness length (m)

Extended Data

* IPC integer Precipitation type code


0 - no precipitation
1 to 18 - liquid precipitation
19 to 45 - frozen precipitation
* PMMHR real Precipitation rate (mm/hr)
* QSWRAD real Short-wave solar radiation (W/m2)
* IRELHUM integer Relative humidity (%)

* Free format

9-158
Section 9: CALPUFF

Table 9-14 (concluded)


SURFACE.DAT File Data Records (Sub-Hourly Data File)
(One record per time period)

Records NCOMM+6,7,8,... Sub-hourly meteorological data.

Columns Variable Type Description

* IBY integer Starting year of data in record (YY or YYYY format)


* IBM integer Starting month
* IBD integer Starting day
* IBJUL integer Starting Julian day (1-366)
* IBH integer Starting time (hour 00-23)
* IBSEC integer Starting time (second 0000-3600)
* IBY integer Ending year of data in record (YY or YYYY format)
* IBM integer Ending month
* IBD integer Ending day
* IBJUL integer Ending Julian day (1-366)
* IBH integer Ending time (hour 00-23)
* IBSEC integer Ending time (second 0000-3600)
* ZIOBS real Observed mixing height (m)
* ZIPRE real Calculated mixing height (m)
* USTR real Surface friction velocity (m/s)
* XMON real Monin-Obukhov length (m)
* Z0M real Hourly surface roughness length (m)

* IPC integer Precipitation type code


0 - no precipitation
1 to 18 - liquid precipitation
19 to 45 - frozen precipitation
* PMMHR real Precipitation rate (mm/hr)
* QSWRAD real Short-wave solar radiation (W/m2)
* IRELHUM integer Relative humidity (%)

* Free format

9-159
Section 9: CALPUFF

Table 9-15: PROFILE.DAT File - Header Records (Sub-Hourly Data File)

Record Variable Type Description

1 DATASET character*16 Dataset name (PROFILE.DAT)

1 DATAVER character*16 Dataset version (2.1)

1 DATAMOD character*64 Dataset message field

2 NCOMM integer Number of comment records to follow

NEXT NCOMM COMMENT character *80 Other documentation


Lines

NCOMM+3 PMAP character*8 Map projection (NONE)


NCOMM+4 TZONE character*8 Time zone (UTC+hhmm)

NCOMM+5 IBYR integer Starting year

NCOMM+5 IBMO integer Starting month

NCOMM+5 IBDY integer Starting day

NCOMM+5 IBHR integer Starting time (hour 00-23)

NCOMM+5 IBSEC integer Starting time (second 0000-3600)

NCOMM+5 IEYR integer Ending year

NCOMM+5 IEMO integer Ending month

NCOMM+5 IEDY integer Ending day

NCOMM+5 IEHR integer Ending time (hour 00-23)

NCOMM+5 IESEC integer Ending time (second 0000-3600)

9-160
Section 9: CALPUFF

Table 9-15 (continued)


PROFILE.DAT File - Data Records (Hourly Data File)
(One or more records per hour)

Records 1,2,3,... Hourly meteorological data.

Columns Variable Type Description

Base Data

* IY integer Year of data in record (YY or YYYY format)


* IM integer Month
* ID integer Day
* IH integer Hour (1-24) time at end of hour
* ZPRF real Height of measurement above ground (m)
* ILAST integer 0 if not the highest (last) level; otherwise 1
* WDPRF real Wind direction (deg.)
* SSPRF real Scalar wind speed (m/s)
* TPRF real Ambient dry bulb temperature (K)
* SVPRF real (deg.) or v (m/s)
* SWPRF real w (m/s)
* WSPRF real Vector wind speed (m/s)

Extended Data

* DPTINV real Increase in potential temperature across the inversion at


the top of the mixed layer (K); only on first record each
hour

* Free format, one record per height in ascending order

9-161
Section 9: CALPUFF

Table 9-15 (Concluded)


PROFILE.DAT File - Data Records (Sub-Hourly Data File)
(One or more records per period)

Records NCOMM+6,7,8,... Sub-hourly meteorological data.

Columns Variable Type Description

Base Data

* IBY integer Starting year of data in record (YY or YYYY format)


* IBM integer Starting month
* IBD integer Starting day
* IBJUL integer Starting Julian day (1-366)
* IBH integer Starting time (hour 00-23)
* IBSEC integer Starting time (second 0000-3600)
* IBY integer Ending year of data in record (YY or YYYY format)
* IBM integer Ending month
* IBD integer Ending day
* IBJUL integer Ending Julian day (1-366)
* IBH integer Ending time (hour 00-23)
* IBSEC integer Ending time (second 0000-3600)
* ZPRF real Height of measurement above ground (m)
* ILAST integer 0 if not the highest (last) level; otherwise 1
* WDPRF real Wind direction (deg.)
SSPRF real Scalar wind speed (m/s)
*
TPRF real Ambient dry bulb temperature (K)
*
SVPRF real (deg.) or v (m/s)
*
SWPRF real w (m/s)
*
WSPRF real Vector wind speed (m/s)

* DPTINV real Increase in potential temperature across the inversion at


the top of the mixed layer (K); only on first record each
hour

* Free format, one record per height in ascending order

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

Table 9-16: Sample PTEMARB.DAT file

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

Table 9-17: PTEMARB.DAT - Header Records - General Data

Record Variable Type Description

1 DATASET character*16 Dataset name (PTEMARB.DAT)

1 DATAVER character*16 Dataset version (2.1)

1 DATAMOD character*64 Dataset message field

2 NCOMM integer Number of comment records to follow

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 IUTMZN, integer, UTM zone, Hemisphere (N or S) read as format (i4,a1)


UTMHEM character*1 ONLY for PMAP = UTM

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+5 FEAST, real False Easting and Northing (km).


FNORTH
Included only if PMAP = TTM, LCC, or LAZA

NCOMM+5 or DATUM character*8 DATUM Code


6

NCOMM+5 or DATEN character*12 NIMA date (MM-DD-YYYY) for datum definitions


6

NCOMM+6 or XYUNIT character*4 Horizontal map units (KM or DEG)


7

NCOMM+7 or TZONE character*8 Time zone (UTC+hhmm)


8

9-165
Section 9: CALPUFF

9-166
Section 9: CALPUFF

Table 9-17 (Continued)


PTEMARB.DAT - Header Records - General Data

Record Variable Type Description

NCOMM+8 or 9 IBYEAR integer Year of beginning of data in the file (YYYY)

NCOMM+8 or 9 IBJUL integer Julian day of beginning of data in the file (JJJ)

NCOMM+8 or 9 IBHOUR integer Time-hour at beginning of data in the file (HH)

NCOMM+8 or 9 IBSEC integer Time-second at beginning of data in the file (SSSS)

NCOMM+8 or 9 IEYEAR integer Year of end of data in the file (YYYY)

NCOMM+8 or 9 IEJUL integer Julian day of end of data in the file (JJJ)

NCOMM+8 or 9 IEHOUR integer Time-hour at end of data in the file (HH)

NCOMM+8 or 9 IESEC integer Time-second at end of data in the file (SSSS)

NCOMM+9 or 10 NSRC integer Number of sources in the file

NCOMM+9 or 10 NSE integer Number of species emitted

No.* Typea Description Sample Values

1 C*12 Species identifier for species 1 SO2

2 C*12 Species identifier for species 2 SO4

. . . .

. . . .

. . . .

NSE C*12 Species identifier for species "NSE" NOX

*
"NSE" elements of CSLST2 array
a
C*12 = Character*12

9-167
Section 9: CALPUFF

Table 9-17 (Concluded)


PTEMARB.DAT - Header Record NCOMM+11 or 12 - Molecular Weights

No.* Typea Description Sample Values

1 real Molecular weight for species 1 64. (SO2)

2 real Molecular weight for species 2 96. (SO4)

. . . .

. . . .

. . . .

NSE real Molecular weight for species "NSE" 46. (NOX as NO2)

*
"NSE" elements of XMWEM2 array

9-168
Section 9: CALPUFF

Table 9-18: PTEMARB.DAT - Time-Invariant Data Record Contents

(Repeated for each source)

Data Record Variable Variable Typea Description


No. No.

1 1 CID C*16 Source identifier (16 characters = 4 words)

1 2 TIDATA(1) real Easting UTM or Lambert conformal coordinate


(km) of the source

1 3 TIDATA(2) real Northing UTM or Lambert conformal coordinate


(km) of the source

1 4 TIDATA(3) real Stack height (m)

1 5 TIDATA(4) real Stack diameter (m)

1 6 TIDATA(5) real Stack base elevation (m)

1 7 TIDATA(6) real Building downwash flag (0 = no, 1 = yes)

1 8 TIDATA(7) real Vertical momentum flux factor (0.0 or 1.0) to


simulate structures like rain hats

1 9 TIDATA(8) real User defined flag (e.g., fuel code)

2b 1-36 BHT real Controlling building heights (m) for each 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

Table 9-19: PTEMARB.DAT - Time-Varying Data Record Contents

(First record of "NSRC"+1 records required for each time period)

No. Variable Type Description

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)

PTEMARB.DAT - Time-Varying Data Record Contents


(Next "NSRC" records)

No. Variable Typea Description

1 CID C*16 Source identifier (must match values in time-invariant records)

2 TEMPK real Exit temperature (deg. K)

3 VEXIT real Exit velocity (m/s)

4 SIGY real Initial sigma-y (m) for source

5 SIGZ real Initial sigma-z (m) for source

Next 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

Table 9-20: Sample BAEMARB.DAT file

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

Table 9-21: BAEMARB.DAT - Header Records - General Data

Record Variable Type Description

1 DATASET character*16 Dataset name (BAEMARB.DAT)

1 DATAVER character*16 Dataset version (2.1)

1 DATAMOD character*64 Dataset message field

2 NCOMM integer Number of comment records to follow

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 IUTMZN, integer, UTM zone, Hemisphere (N or S) read as format (i4,a1)


UTMHEM character*1 ONLY for PMAP = UTM

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+5 FEAST, real False Easting and Northing (km).


FNORTH
Included only if PMAP = TTM, LCC, or LAZA

NCOMM+5 or 6 DATUM character*8 DATUM Code

NCOMM+5 or 6 DATEN character*12 NIMA date (MM-DD-YYYY) for datum definitions

NCOMM+6 or 7 XYUNIT character*4 Horizontal map units (KM or DEG)

NCOMM+7 or 8 TZONE character*8 Time zone (UTC+hhmm)

NCOMM+8 or 9 IBYEAR integer Year of beginning of data in the file (YYYY)

NCOMM+8 or 9 IBJUL integer Julian day of beginning of data in the file (JJJ)

NCOMM+8 or 9 IBHOUR integer Time-hour at beginning of data in the file (HH)

NCOMM+8 or 9 IBSEC integer Time-second at beginning of data in the file (SSSS)

NCOMM+8 or 9 IEYEAR integer Year of end of data in the file (YYYY)

9-175
Section 9: CALPUFF

NCOMM+8 or 9 IEJUL integer Julian day of end of data in the file (JJJ)

NCOMM+8 or 9 IEHOUR integer Time-hour at end of data in the file (HH)

NCOMM+8 or 9 IESEC integer Time-second at end of data in the file (SSSS)

NCOMM+9 or 10 NSRC integer Number of sources in the file

NCOMM+9 or 10 NSE integer Number of species emitted

Table 9-21 (Continued)


BAEMARB.DAT - Header Record NCOMM+10 or 11 - Species List

No.* Typea Description Sample Values

1 C*12 Species identifier for species 1 SO2

2 C*12 Species identifier for species 2 SO4

. . . .

. . . .

. . . .

NSE C*12 Species identifier for species "NSE" NOX

*
"NSE" elements of CSLST3 array
a
C*12 = Character*12

BAEMARB.DAT - Header Record NCOMM+11 or 12 - Molecular Weights

No.* Typea Description Sample Values

1 real Molecular weight for Species 1 64. (SO2)

2 real Molecular weight for Species 2 96. (SO4)

. . . .

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

Table 9-22: BAEMARB.DAT - Time-Invariant Data Record Contents

(Repeated for each source)

No. Variable Variable Typea Description


No.

1 1 CID C*16 Source identifier (16 characters = 4 words)

1 2 BAEMUNIT C*16 Source Emission Rate Units (g/m2/s or


g/s)

1 3 TIDATA(1) real User defined flag (not used)

1 4 TIDATA(2) real User defined flag (not used)

a
C*16 = Character*16

Table 9-23: BAEMARB.DAT - Time-Varying Data Record Contents

(First record of "NSRC"+1 records required for each time period)

No. Variable Type Description

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

Table 9-23 (Concluded)


BAEMARB.DAT - Time-Varying Data Record Contents
(Next "NSRC" records)

No. Variable Typea Description

1 CID C*16 Source identifier (must match values in time-invariant records)

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

10 HT real Effective height (m) of the emissions above the ground

11 ELEV real Elevation of ground (m MSL)

12 TEMPK real Temperature (deg. K)

13 WEFF real Effective rise velocity (m/s)

14 REFF real Effective radius (m) for rise calculation

15 SIGZ real Initial vertical spread (m)

Next 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

Table 9-24: Sample LNEMARB.DAT file

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

Table 9-25: LNEMARB.DAT - Header Records - General Data

Record Variable Type Description

1 DATASET character*16 Dataset name (LNEMARB.DAT)

1 DATAVER character*16 Dataset version (2.1)

1 DATAMOD character*64 Dataset message field

2 NCOMM integer Number of comment records to follow

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 IUTMZN, integer, UTM zone, Hemisphere (N or S) read as format (i4,a1)


UTMHEM character*1 ONLY for PMAP = UTM

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+5 FEAST, real False Easting and Northing (km).


FNORTH
Included only if PMAP = TTM, LCC, or LAZA

NCOMM+5 or 6 DATUM character*8 DATUM Code

NCOMM+5 or 6 DATEN character*12 NIMA date (MM-DD-YYYY) for datum definitions

NCOMM+6 or 7 XYUNIT character*4 Horizontal map units (KM or DEG)

NCOMM+7 or 8 TZONE character*8 Time zone (UTC+hhmm)

NCOMM+8 or 9 IBYEAR integer Year of beginning of data in the file (YYYY)

NCOMM+8 or 9 IBJUL integer Julian day of beginning of data in the file (JJJ)

NCOMM+8 or 9 IBHOUR integer Time-hour at beginning of data in the file (HH)

NCOMM+8 or 9 IBSEC integer Time-second at beginning of data in the file (SSSS)

NCOMM+8 or 9 IEYEAR integer Year of end of data in the file (YYYY)

9-182
Section 9: CALPUFF

NCOMM+8 or 9 IEJUL integer Julian day of end of data in the file (JJJ)

NCOMM+8 or 9 IEHOUR integer Time-hour at end of data in the file (HH)

NCOMM+8 or 9 IESEC integer Time-second at end of data in the file (SSSS)

NCOMM+9 or 10 NSRC integer Number of sources in the file

NCOMM+9 or 10 NSE integer Number of species emitted

Table 9-25 (Continued)


LNEMARB.DAT - Header Record NCOMM+10 or 11 - Species List

No.* Typea Description Sample Values

1 C*12 Species identifier for species 1 PM

2 C*12 Species identifier for species 2 PM10

. . . .

. . . .

. . . .

NSE C*12 Species identifier for species "NSE" PM25

*
"NSE" elements of CSLST5 array
a
C*12 = Character*12

LNEMARB.DAT - Header Record NCOMM+11 or 12 - Molecular Weights

No.* Typea Description Sample Values

1 real Molecular weight for species 1 200.

2 real Molecular weight for species 2 200.

. . . .

. . . .

. . . .

9-183
Section 9: CALPUFF

NSE real Molecular weight for species 200.


"NSE"

*
"NSE" elements of XMWEM5 array

9-184
Section 9: CALPUFF

Table 9-26: LNEMARB.DAT - Time-Invariant Data Record Contents

No. Variable Typea Description

1 MXNSEG Integer Maximum number of segments used to model one


line

2 NLRISE Integer Number of distances at which transitional rise is


tabulated

Next CID C*16 Source identifier (16 characters = 4 words)


NSRC

a
C*16 = Character*16

Table 9-27: LNEMARB.DAT - Time-Varying Data Record Contents

(First record required for each time period)

No. Variable Type Description

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)

LNEMARB.DAT - Time-Varying Data Record Contents

9-185
Section 9: CALPUFF

(Second record required for each time period)

No. Variable Type Description

1 NGROUPS integer Number of groups of line sources active this time period

Table 9-27 (Continued)


LNEMARB.DAT - Time-Varying Data Record Contents
(First record required for each group, each time period)

No. Variable Type Description

1 NLINES integer Number of active lines

2 XL real Average building length (m)

3 HBL real Average building height (m)

4 WBL real Average building width (m)

5 WML real Average line source width (m)

6 DXL real Average separation between buildings (m)

7 FPRIMEL real Average buoyancy parameter (m4/s3)

LNEMARB.DAT - Time-Varying Data Record Contents


(Next "NLINES" records)

No. Variable Typea Description

1 CID C*16 Source identifier (must match one of the values in time-
invariant records)

2,3 XBEGL,YBEGL real X,Y-coordinates (km) of beginning of line

4,5 XENDL,YENDL real X,Y-coordinates (km) of end of line

6 HTL real Release height (m) of the emissions above the ground

7 ELEVL real Base elevation (m)

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

Table 9-28: Sample VOLEMARB.DAT file

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

Table 9-29: VOLEMARB.DAT - Header Records - General Data

Record Variable Type Description

1 DATASET character*16 Dataset name (VOLEMARB.DAT)

1 DATAVER character*16 Dataset version (2.1)

1 DATAMO character*64 Dataset message field


D

2 NCOMM integer Number of comment records to follow

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 IUTMZN, integer, UTM zone, Hemisphere (N or S) read as format (i4,a1)


UTMHEM character*1 ONLY for PMAP = UTM

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+5 FEAST, real False Easting and Northing (km).


FNORTH
Included only if PMAP = TTM, LCC, or LAZA

NCOMM+5 or 6 DATUM character*8 Datum Code

NCOMM+5 or 6 DATEN character*12 NIMA date (MM-DD-YYYY) for datum definitions

NCOMM+6 or 7 XYUNIT character*4 Horizontal map units (km or deg)

NCOMM+7 or 8 TZONE character*8 Time zone (UTC+hhmm)

NCOMM+8 or 9 IBYEAR integer Year of beginning of data in the file (YYYY)

NCOMM+8 or 9 IBJUL integer Julian day of beginning of data in the file (JJJ)

NCOMM+8 or 9 IBHOUR integer Time-hour at beginning of data in the file (HH)

NCOMM+8 or 9 IBSEC integer Time-second at beginning of data in the file (SSSS)

NCOMM+8 or 9 IEYEAR integer Year of end of data in the file (YYYY)

9-190
Section 9: CALPUFF

NCOMM+8 or 9 IEJUL integer Julian day of end of data in the file (JJJ)

NCOMM+8 or 9 IEHOUR integer Time-hour at end of data in the file (HH)

NCOMM+8 or 9 IESEC integer Time-second at end of data in the file (SSSS)

NCOMM+9 or 10 NSRC integer Number of sources in the file

NCOMM+9 or 10 NSE integer Number of species emitted

9-191
Section 9: CALPUFF

Table 9-29 (Continued)


VOLEMARB.DAT - Header Record NCOMM+10 or 11 - Species List

No.* Typea Description Sample Values

1 C*12 Species identifier for species 1 SO2

2 C*12 Species identifier for species 2 SO4

. . . .

. . . .

. . . .

NSE C*12 Species identifier for species "NSE" NOX

*
"NSE" elements of CSLST4 array
a
C*12 = Character*12

VOLEMARB.DAT - Header Record NCOMM+11 or 12 - Molecular Weights

No.* Type Description Sample Values

1 real Molecular weight for species 1 64. (SO2)

2 real Molecular weight for species 2 96. (SO4)

. . . .

. . . .

. . . .

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

Table 9-30: VOLEMARB.DAT - Time-Invariant Data Record Contents

(Repeated for each source)

Data Record Variable Variable Typea Description


No. No.

1 1 CID C*16 Source identifier (16 characters = 4 words)

1 2 TIDATA real User defined flag (e.g., fuel code)

a
C*16 = Character*16

Table 9-31: VOLEMARB.DAT - Time-Varying Data Record Contents

(First record of "NSRC"+1 records required for each time period)

No. Variable Type Description

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

Table 9-31 (Concluded)


VOLEMARB.DAT - Time-Varying Data Record Contents
(Next "NSRC" records)

No. Variable Typea Description

1 CID C*16 Source identifier (must match values in time-invariant records)

2 XKM real X-coordinate (km) for source

3 YKM real Y-coordinate (km) for source

4 HTAGL real Effective height above ground (m)

5 ELMSL real Elevation of ground (m MSL) at source

6 SIGYI real Initial y (m)

7 SIGZI real Initial z (m)

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

9.7 Boundary Concentration Module File (BCON.DAT)

The impact of significant regional pollution transport on concentrations and deposition fluxes computed
within the modeling domain can be included in a CALPUFF analysis either by adding a spatially uniform
(and either constant in time or varying by hour) field at the post-processing step with CALPOST, or by
selecting the boundary concentration (BCON) module within CALPUFF. The latter choice is preferable
if there are known spatial gradients in regional concentrations outside the modeling domain, or if
chemical transformation and removal processes associated with the regional pollution must be explicitly
modeled.

Regional air-mass characteristics are defined and assigned to segments along each boundary of the
computational domain when the boundary concentration module is used. A segment is equivalent to the
length of one side of a grid cell. The number of air-mass types can be equal to the number of cells along
the perimeter of the domain if sufficient information exists on this scale, or the number can be far fewer in
typical applications where an entire side of the domain is characterized by a single air-mass. Air-mass
characteristics include the concentration of each species advected into the domain and the thickness of the
layer that contains these species. These concentrations are used to initialize puffs that are well-mixed in
the vertical and the horizontal. The vertical depth of a puff is the thickness of the layer assigned to the
air-mass, and the radius of the puff is related to the length of the segment and the component of the
transport wind that is perpendicular to the segment (the mass flux into the domain and the initial
concentration are conserved). The concentration of each species for each air-mass type may be scaled by
factors that vary in one of the following ways: by hour of the day (24 factors); by month (12 factors); by
hour and season (96 factors); by wind speed and stability class (36 factors); or by temperature (12
factors). These are the same factors provided for sources specified in the CALPUFF control file. If more
detailed variation is needed for one or more air-mass types, air-mass characteristics for these can be
provided hourly. When this method is used, the layer thickness may change as well as the concentrations.
Otherwise, the layer thickness is constant for each air-mass type.

The configuration of the boundary properties is provided to CALPUFF in a "BCON.DAT" file. Two
formats are available for this file. The first is a formatted file prepared specifically for use with the
BCON option (MBCON = 1). It is constructed using the CALPUFF control file conventions. A sample
file is shown in Table 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).

For example, a 3-hour period would be:


1987056 23 1987057 01

and a 1-hour period would be:


1987056 23 1987056 23

Subsequent records of each time period provide the data for each air-mass. Each record contains the 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

Table 9-32: Boundary Condition File (BCON.DAT)

-----------------------------------------------------------------------
CALPUFF Boundary Condition Data File
-----------------------------------------------------------------------

INPUT GROUP: 1 -- General Specifications


--------------
a
Dataset documentation

Dataset version (VRSBC) No default ! VRSBC = 5.4 !


Dataset label (LBLBC) No default ! LBLBC = example !

Number of segments along boundaries of computational domain

North and South (NBCX) No default ! NBCX = 17 !


East and West (NBCY) No default ! NBCY = 17 !

Units for boundary concentrations


provided below (IBCU) Default: 1 ! IBCU = 2 !
1 = g/m**3
2 = ug/m**3
3 = ppm
4 = ppb

Number of air-mass types:

Constant or factored
variation [Group 3] (NTYPEBC1) No Default ! NTYPEBC1 = 3 !

Arbitrary time
variation [Group 5] (NTYPEBC2) No Default ! NTYPEBC2 = 1 !

Number of air-mass species (NSPECBC) No Default ! NSPECBC = 5 !

Number of air-mass type / species


combinations with variable
concentration scaling factors
provided below in (3b) (NSBC) Default: 0 ! NSBC = 3 !

--------
a
The form of the BCON file may change in the future. Identify
this file as being consistent with the version of CALPUFF for
which it was prepared.
(NOTE: The dataset label is processed as a 12-character name)

!END!
-------------------------------------------------------------------------------

INPUT GROUP: 2 -- Species list


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

Concentrations for the following species are provided at the boundary,


in the following order:

! CSPEC = HNO3 ! !END!


! CSPEC = NO3 ! !END!
! CSPEC = SO4 ! !END!
! CSPEC = NOX ! !END!

9-199
Section 9: CALPUFF

! CSPEC = SO2 ! !END!

Molecular weight (g/mole) for each species


(used ONLY if IBCU=3,4 to convert to mass concentration)

* SO2 = *
* SO4 = *

*END*
-----------------------------------------------------------------------

9-200
Section 9: CALPUFF

Table 9-32 (Continued)


Boundary Condition File (BCON.DAT)
INPUT GROUP: 3 -- Air-Mass Types (Constant or factored variation)
--------------

-------------
Subgroup (3a)
-------------
a
AIR-MASS DEFINITION
--------------------
b c
Type Top of Pollutant
No. Layer Concentration(s)
(m)
------ ---------- -------------------------------------
! AIRMASS = clean !
! X = 1, 3000., 1.1, 1.2, 1.3, 1.4, 1.5 ! !END!
! AIRMASS = urban !
! X = 3, 1500., 5.1, 5.2, 5.3, 5.4, 5.5 ! !END!
! AIRMASS = model !
! X = 4, 3000., 2.1, 2.2, 2.3, 2.4, 2.5 ! !END!

--------
a
Data for each air-mass type are treated as a separate input subgroup
and therefore must end with an input group terminator.

b
An INTEGER from 1 to NTYPEBC1+NTYPEBC2, with no duplications; used
for mapping air-mass types to boundary of computational grid.

c
A concentration must be entered for every species listed in Group 2,
and in the order presented in Group 2.
Units are specified by IBCU (e.g. 1 for g/m**3).

-------------
Subgroup (3b)
-------------
a
VARIABLE AIR-MASS FACTORS
--------------------------

Use this subgroup to describe temporal variations in the concentrations


for one or more air-mass types given in Group 3a. Factors entered multiply
the concentrations in Group 3a. Skip air-mass type / species combinations
that have constant concentrations. For more elaborate variations in
air-mass properties, provide specific records in Input Group 5.

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


(IVARY) Default: 0
0 = Constant
1 = Diurnal cycle (24 scaling factors: hours 1-24)
2 = Monthly cycle (12 scaling factors: months 1-12)
3 = Hour & Season (4 groups of 24 hourly scaling factors,
where first group is DEC-JAN-FEB)
4 = Speed & Stab. (6 groups of 6 scaling factors, where
first group is Stability Class A,
and the speed classes have upper
bounds (m/s) defined in Group 12
5 = Temperature (12 scaling factors, where temperature

9-201
Section 9: CALPUFF

classes have upper bounds (C) of:


0, 5, 10, 15, 20, 25, 30, 35, 40,
45, 50, 50+)

9-202
Section 9: CALPUFF

Table 9-32 (Continued)


Boundary Condition File (BCON.DAT)

! AIRMASS = clean !
! IVARY = 2 ! (12 Months)
! SO2 = 0.1, 0.1, 0.5, 0.9, 1.0, 1.0,
1.0, 1.0, 1.0, 0.9, 0.5, 0.1 !
!END!

! AIRMASS = urban !
! IVARY = 2 ! (12 Months)
! SO2 = 0.1, 0.1, 0.5, 0.9, 2.0, 2.2,
2.5, 1.5, 1.1, 0.9, 0.5, 0.1 !
!END!

! AIRMASS = model !
! IVARY = 1 ! (24 Hours)
! SO2 = 0.1, 0.1, 0.5, 0.9, 2.0, 2.2,
2.5, 2.6, 2.7, 2.8, 2.9, 3.0,
2.9, 2.8, 2.7, 2.6, 2.5, 2.4,
2.2, 2.0, 1.5, 0.9, 0.5, 0.1 !
!END!

--------
a
Data for each species are treated as a separate input subgroup
and therefore must end with an input group terminator.

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

INPUT GROUP: 4 -- Air-Mass Map


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

Use this Input Group to assign an air-mass type to each segment


along the perimeter of the computational grid. The North boundary
is listed first, then the West-East segment pairs should be listed
from North to South, followed by the South boundary. Within a row,
segments are provided from West to East.

! NORTH = 7*1, 10*2 ! !END!


! WEST_EAST = 1, 2 ! !END!
! WEST_EAST = 1, 2 ! !END!
! WEST_EAST = 4, 2 ! !END!
! WEST_EAST = 4, 2 ! !END!
! WEST_EAST = 4, 2 ! !END!
! WEST_EAST = 4, 2 ! !END!
! WEST_EAST = 4, 2 ! !END!
! WEST_EAST = 4, 2 ! !END!
! WEST_EAST = 4, 2 ! !END!
! WEST_EAST = 4, 2 ! !END!
! WEST_EAST = 4, 2 ! !END!
! WEST_EAST = 4, 2 ! !END!
! WEST_EAST = 4, 2 ! !END!
! WEST_EAST = 3, 2 ! !END!
! WEST_EAST = 3, 2 ! !END!
! WEST_EAST = 3, 2 ! !END!
! WEST_EAST = 3, 2 ! !END!
! SOUTH = 6*3, 11*2 ! !END!

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

9-203
Section 9: CALPUFF

9-204
Section 9: CALPUFF

Table 9-32 (Continued)


Boundary Condition File (BCON.DAT)

INPUT GROUP: 5 -- Air-Mass Types (Arbitrary time variation)


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

Use this Input Group to describe temporal variations in all air-mass


properties for air-mass types NOT given in Input Group 3.

-------------
Subgroup (5a)
-------------

a
AIR-MASS DEFINITION
--------------------

Type
No.
------
! AIRMASS = regional !
! X = 2 ! !END!

--------
a
Data for each air-mass type are treated as a separate input subgroup
and therefore must end with an input group terminator.
The TYPE is an INTEGER from 1 to NTYPEBC1+NTYPEBC2, with no duplications;
used for mapping air-mass types to boundary of computational grid.

-------------
Subgroup (5b)
-------------

EXPLICIT TIME-VARYING AIR-MASS PROPERTIES


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

Records following the final group terminator below provide the


layer-top and concentration(s) for each air-mass type identified
in Subgroup (5a), for the simulation period identified below.
The concentration for each species listed in Input Group 2 must
be provided in order, for each air-mass.

Simulation Period
-----------------
The date is a combined year and Julian day (YYYYJJJ).
The hour is identified by the time at the END of the hour (00-23 LST).

Starting date : (IBDAT) -- No default ! IBDAT = 1988189 !


Starting hour : (IBHH) -- No default ! IBHH = 01 !
Ending date : (IEDAT) -- No default ! IEDAT = 1988190 !
Ending hour : (IEHH) -- No default ! IEHH = 00 !

Data Record Structure


---------------------
The first record of each time period defines the range of hours
for which the concentration data are valid by listing the beginning
date(YYYYJJJ) and hour(HH), and the ending date and hour. The hour
is denoted by the time at the end of the hour (00-23 LST).

9-205
Section 9: CALPUFF

For example, a 3-hour period would be:


1987056 23 1987057 01

and a 1-hour period would be:


1987056 23 1987056 23

9-206
Section 9: CALPUFF

Table 9-32 (Concluded)


Boundary Condition File (BCON.DAT)

Subsequent records of each time period provide the data for each
air-mass. Each record contains the air-mass name (in single quotes),
the layer-top (m), and the concentration of each species (units
specified by IBCU).

-----------------------------------------------------------------------
!END! (Data records must follow immediately)
1988189 01 1988189 03
'regional' 3000., 1.11, 1.21, 1.31, 1.41, 1.51
1988189 04 1988189 06
'regional' 3000., 1.12, 1.22, 1.32, 1.42, 1.52
1988189 07 1988189 09
'regional' 3000., 1.13, 1.23, 1.33, 1.43, 1.53
1988189 10 1988189 12
'regional' 3000., 1.14, 1.24, 1.34, 1.44, 1.54
1988189 13 1988189 15
'regional' 3000., 1.15, 1.25, 1.35, 1.45, 1.55
1988189 16 1988189 18
'regional' 3000., 1.16, 1.26, 1.36, 1.46, 1.56
1988189 19 1988189 21
'regional' 3000., 1.17, 1.27, 1.37, 1.47, 1.57
1988189 22 1988190 00
'regional' 3000., 1.18, 1.28, 1.38, 1.48, 1.58

9-207
Section 9: CALPUFF

Table 9-33: BCON.DAT File Inputs

Variable Type Description Sample


Values

(Input Group 1 - General Specifications)


VRSBC character Dataset version 5.4
*12

LBLBC character Dataset label SAMPLE


*12

NBCX integer Number of segments along north or south boundary of the 50


computational domain

NBCY integer Number of segments along east or west boundary of the 50


computational domain

IBCU integer Units for boundary concentrations 2


1 = g/m**3
2 = ug/m**3
3 = ppm
4 = ppb

NTYPEBC1 integer Number of air-mass types that are treated as constant, or 3


that are varied using temporal factors (Group 3)

NTYPEBC2 integer Number of air-mass types that are varied hourly (Group 5) 2

NSPECBC integer Number of species in each air-mass 5

NSBC integer Number of air-mass type / species combinations with 10


variable concentration scaling factors provided in (3b)

(Input Group 2 - Species List)


CSPEC character Species name (NSPECBC records are required). These SO2
*12 names are passed into the data dictionary for later use
when assigning properties for particular species.

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

Table 9-33 (Continued)


BCON.DAT File Inputs

Variable Type Description Sample


Values

(Input Group 3a - Air-Mass Definiton)


AIRMASS character Air-mass name, used to coordinate inputs urban
*12

IAM integer Air-mass index, used to store properties 1

HTBC(IAM) real array Top of layer for air-mass type 1500.

CONBC real array Concentration of each species for Air-mass type .1, .11., .34,
(1 to NSPECBC, .52,.6
IAM)

(Input Group 3b - Variable Air-Mass Concentration Factors)


AIRMASS character Air-mass name, used to coordinate inputs urban
*12

IVARY integer Type of scale factor variation (diurnal, monthly, etc.) 2


0= Constant
1= Diurnal cycle
(24 scaling factors: hours 1-24)
2= Monthly cycle
(12 scaling factors: months 1-12)
3= Hour & Season
(4 groups of 24 hourly scaling factors,
where first group is DEC-JAN-FEB)
4= Speed & Stab.
(6 groups of 6 scaling factors, where
first group is Stability Class A,
and the 6 speed classes have upper
bounds (m/s) defined in Group 12)
5= Temperature
(12 scaling factors, where temperature
classes have upper bounds (C) of:
0, 5, 10, 15, 20, 25, 30, 35, 40,
45, 50, 50+)

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

Table 9-33 (Concluded)


BCON.DAT File Inputs

Variable Type Description Sample


Values

(Input Group 4 - Air-Mass Map)


NORTH integer array Air-mass type index for each cell along the northern 7*1,3, ...
boundary of the computational grid

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

(Input Group 5a - Air-Mass Definition)


AIRMASS character Air-mass name, used to coordinate inputs regional
*12

IAM integer Air-mass index, used to store properties 2

(Input Group 5b - Explicit Time-Varying Air-Mass Properties)


IBDAT integer Starting date (YYYYJJJ) 2000153

IBHH integer Starting hour (HH), identified by the time at the END 01
of the hour (00-23 LST)

IEDAT integer Ending date (YYYYJJJ) 2000345

IEHH integer Ending hour (HH), identified by the time at the END 00
of the hour (00-23 LST)

Data records follow Input Group 5b (after the !END! terminator)

The first record of each time period defines the range of hours for which the concentration data
are valid by listing the beginning date (YYYYJJJ) and hour(HH), and the ending date and hour.
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

9.8 User-Specified Deposition Velocity Data File (VD.DAT)

The CALPUFF model requires that the user specify the method for determining dry deposition velocities
for each species. In Input Group 3 of the control file, one of the following flags must be specified for
each pollutant.

0 = no dry deposition (deposition velocities set to zero)


1 = resistance model used - pollutant deposited as a gas
2 = resistance model used - pollutant deposited as a particle
3 = user-specified deposition velocities used

Note that different methods can be used for different pollutants in the same CALPUFF run.

If any species are flagged as using "user-specified" deposition velocities, CALPUFF reads a formatted
user-prepared data file with a 24-hour diurnal cycle of deposition velocities for each species flagged. The
24 values correspond to hours 01-24 (LST) of the simulated day. Twenty-four values must be entered for
each flagged pollutant, even if the model run is for less than a full diurnal cycle. The units of the
deposition velocities are m/s.

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

DEPOSITION VELOCITY FILE (VD.DAT)


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

VD.DAT contains 24-hour diurnal cycle of deposition velocities for each species flagged as using
user-specified values in the control file (CALPUFF.INP).

The first value correspond to the period from 0:00 to 1:00, and the 24th value corresponds to
23:00-0:00.

NOTE: Units are in m/s.


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

SPECIES
NAME Deposition Velocities (m/s)
------- ---------------------------

! HNO3 = 5*1.5e-2, 4*1.7e-2, 3*1.8e-2, 3*1.9e-2, 3*1.7e-2, 6*1.5e-2 !


! SO2 = 5*0.8e-2, 13*1.0e-2, 6*0.8e-2 !

!END!

9-213
Section 9: CALPUFF

9.9 Ozone Data File (OZONE.DAT)

If the MESOPUFF II or RIVAD/ARM3 chemical mechanism is used to simulate the chemical


transformation of SO2 SO=4 and NOx HNO3 NO3, estimates of background ambient ozone
concentration levels are required to compute the hourly conversion rates. CALPUFF provides two
options for the user to provide these data: (1) a single, typical background value appropriate for the
modeling region, or (2) ozone data from one or more ozone monitoring stations. The selection of Option
2 requires that a file called OZONE.DAT be created with the necessary data.

OZONE.DAT is a sequential, formatted data file containing three types of records: 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

Table 9-35: Sample Ozone Data File (OZONE.DAT)

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

Table 9-36: OZONE.DAT - Header Records - General Data

Record Variable Type Description

1 DATASET character*16 Dataset name (OZONE.DAT)

1 DATAVER character*16 Dataset version (2.1)

1 DATAMOD character*64 Dataset message field

2 NCOMM integer Number of comment records to follow

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 IUTMZN, integer, UTM zone, Hemisphere (N or S) read as format (i4,a4)


UTMHEM character*4 ONLY for PMAP = UTM

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+5 FEAST, real False Easting and Northing (km).


FNORTH
Included only if PMAP = TTM, LCC, or LAZA

NCOMM+5 or 6 DATUM character*8 Datum Code

NCOMM+5 or 6 DATEN character*12 NIMA date (MM-DD-YYYY) for datum definitions

NCOMM+6 or 7 XYUNIT character*4 Horizontal map units (km or deg)

NCOMM+7 or 8 TZONE character*8 Time zone (UTC+hhmm)

NCOMM+8 or 9 IBYEAR integer Year of beginning of data in the file (YYYY)

NCOMM+8 or 9 IBJUL integer Julian day of beginning of data in the file (JJJ)

NCOMM+8 or 9 IBHOUR integer Time-hour at beginning of data in the file (HH)

NCOMM+8 or 9 IBSEC integer Time-second at beginning of data in the file (SSSS)

NCOMM+8 or 9 IEYEAR integer Year of end of data in the file (YYYY)

9-216
Section 9: CALPUFF

NCOMM+8 or 9 IEJUL integer Julian day of end of data in the file (JJJ)

NCOMM+8 or 9 IEHOUR integer Time-hour at end of data in the file (HH)

NCOMM+8 or 9 IESEC integer Time-second at end of data in the file (SSSS)

NCOMM+9 or 10 NSTA integer Number of stations in the file

Table 9-37: OZONE.DAT - Time-Invariant Data Record Contents

(Repeated for each station)

No. Variable Typea Description

1 CID C*16 Station identifier (16 characters = 4 words)

2 XOZ Real X coordinate (km) of the ozone station

or or

C*16 Latitude (deg N or deg S)b of the ozone station

3 YOZ Real Y coordinate (km) of the ozone station

or or

C*16 Longitude (deg E or deg W)b of the ozone station

a
C*16 = Character*16, placed in quotes
b
Latitude and longitude are provided as quoted strings: 45.85N 90.6W

Table 9-38: OZONE.DAT - Time-Varying Data Record Contents

(One record per time period)

No. Variable Type Description

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

9.10 User-Specified Chemical Transformation Rate Data File (CHEM.DAT)

If chemical conversion is to be considered by CALPUFF, the user must specify a variable in the control
file, MCHEM, which determines how chemical transformation rates are computed. The options for
MCHEM are:

0 = chemical transformation is not modeled


1 = the MESOPUFF II chemical scheme is used to compute transformation rates
2 = user-specified 24-hour cycles of transformation rates are used
3 = the RIVAD/ARM3 chemical scheme is used to compute transformation

If MCHEM is set equal to 2, CALPUFF reads a formatted user-prepared data file with 24-hour diurnal
cycles of transformation rates k1, k2, k3. The nature of the equilibrium relationship assumed between
pollutants 4 and 5 (e.g., HNO3 and 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)

CHEMICAL TRANSFORMATION RATE FILE (CHEM.DAT)


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

CHEM.DAT contains a 24-hour diurnal cycle of chemical transformation


rates for the chemical transformation of SO2 to SO4, and NOx to HNO3/PAN.

k1 = SO2 to SO4 transformation rate(percent/hour)

k2 = NOx to HNO3 + PAN transformation rate (percent/hour)

k3 = NOx to HNO3 (only) transformation rate (percent/hour)

The first value correspond to the period from 0:00 to 1:00, and the 24th value corresponds to
23:00-0:00.

TRANSFORMATION RATE (percent/hour)


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

! K1 = 7*0.2, 0.4, 0.8, 1.2, 1.6, 3*2.0, 1.6, 1.2, 0.8, 0.4, 6*0.2 !
! K2 = 7*2.0, 4.0, 8.0,12.0,15.0, 3*20.0, 15.0, 12.0, 8.0, 4.0, 6*2.0 !
! K3 = 7*2.0, 3.0, 6.0, 8.0,11.0, 3*15.0, 11.0, 8.0, 6.0, 3.0, 6*2.0 !

!END!

9-220
Section 9: CALPUFF

9.11 Site-Specific Turbulence Data (PROFILE.DAT)

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

2 = dispersion coefficients determined from internally computed values of v and w based


on similarity scaling relationships,

3 = PG coefficients (computed using the ISCST multi-segment approximation) used for rural
areas and MP coefficients used in urban areas,

4 = same as 3 except that the PG coefficients are computed using the MESOPUFF II
equations.

5 = CTDMPLUS dispersion coefficients computed from v and w for neutral/stable.

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

9.12 CTDMPLUS Terrain Feature Description and Receptors (HILL.DAT, HILLRCT.DAT)

CALPUFF allows two ways of specifying the characteristics of terrain features modeled by CTSG. The
first is by means of the OPTHILL processor described in Section 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

Table 9-40: Sample CTDMPLUS Terrain Feature File (HILL.DAT)

1 20 .5000E+03 CTSG Test Hill


.000 .5000E+04 .2067E-02 180.000 2498.000 2498.000
24.000 .5000E+04 .1071E-02 180.000 2242.000 2242.000
48.000 .5000E+04 .8304E-03 180.000 1986.000 1986.000
72.000 .5000E+04 .4369E-03 180.000 1820.000 1820.000
96.000 .5000E+04 .7918E-03 180.000 1692.000 1692.000
120.000 .5000E+04 .3501E-03 180.000 1493.000 1493.000
144.000 .5000E+04-.1282E-03 180.000 1410.000 1410.000
168.000 .5000E+04 .1463E-03 180.000 1334.000 1334.000
192.000 .5000E+04 .7370E-04 180.000 1263.000 1263.000
216.000 .5000E+04 .3210E-03 180.000 1196.000 1196.000
240.000 .5000E+04-.2209E-03 180.000 1071.000 1071.000
264.000 .5000E+04 .1904E-03 180.000 1011.000 1011.000
288.000 .5000E+04-.7684E-03 180.000 951.700 951.700
312.000 .5000E+04 .7754E-03 180.000 893.300 893.300
336.000 .5000E+04 .5356E-04 180.000 835.000 835.000
360.000 .5000E+04 .5811E-03 180.000 716.400 716.400
384.000 .5000E+04-.1251E-03 180.000 654.800 654.800
408.000 .5000E+04-.1892E-04 180.000 590.400 590.400
432.000 .5000E+04 .2414E-03 180.000 521.900 521.900
456.000 .5000E+04 .7710E-04 180.000 446.900 446.900
.000 .5000E+04 .2430E-03 180.000 2.859 2.859 959.101 959.101
24.000 .5000E+04 .1997E-03 180.000 3.039 3.039 914.047 914.047
48.000 .5000E+04 .1903E-03 180.000 3.232 3.232 872.399 872.399
72.000 .5000E+04 .1296E-03 180.000 3.472 3.472 832.424 832.424
96.000 .5000E+04 .1485E-03 180.000 3.853 3.853 792.979 792.979
120.000 .5000E+04 .8714E-04 180.000 3.281 3.281 779.560 779.560
144.000 .5000E+04 .1015E-03 180.000 3.439 3.439 743.594 743.594
168.000 .5000E+04 .1086E-03 180.000 3.639 3.639 707.754 707.754
192.000 .5000E+04 .9029E-04 180.000 3.920 3.920 671.777 671.777
216.000 .5000E+04 .1062E-03 180.000 4.416 4.416 635.301 635.301
240.000 .5000E+04 .1061E-03 180.000 3.541 3.541 620.841 620.841
264.000 .5000E+04 .5922E-04 180.000 3.727 3.727 584.737 584.737
288.000 .5000E+04 .2187E-03 180.000 3.981 3.981 547.935 547.935
312.000 .5000E+04 .2005E-03 180.000 4.371 4.371 510.250 510.250
336.000 .5000E+04 .9593E-04 180.000 5.127 5.127 471.649 471.649
360.000 .5000E+04 .6310E-04 180.000 3.752 3.752 449.211 449.211
384.000 .5000E+04 .1081E-03 180.000 4.012 4.012 406.554 406.554
408.000 .5000E+04 .1295E-03 180.000 4.418 4.418 361.177 361.177
432.000 .5000E+04 .1997E-03 180.000 5.163 5.163 312.371 312.371
456.000 .5000E+04 .7139E-04 180.000 6.957 6.957 259.205 259.205

9-223
Section 9: CALPUFF

Table 9-41: Sample CTDMPLUS Receptor File (HILLRCT.DAT)

XYGauss 1 5070.00 2242.00 0.00 20.00 1


XYGauss 2 6368.67 1776.67 0.00 20.00 1
XYGauss 3 7149.66 639.60 0.00 20.00 1
XYGauss 4 7117.04 -739.29 0.00 20.00 1
XYGauss 5 6283.93 -1838.51 0.00 20.00 1
XYGauss 6 4965.10 -2242.50 0.00 20.00 1
XYGauss 7 3659.73 -1797.30 0.00 20.00 1
XYGauss 8 2860.77 -673.04 0.00 20.00 1
XYGauss 9 2871.56 706.23 0.00 20.00 1
XYGauss 10 3687.74 1818.13 0.00 20.00 1
XYGauss 11 5057.00 1819.00 0.00 60.00 1
XYGauss 12 6110.92 1441.86 0.00 60.00 1
XYGauss 13 6744.54 518.94 0.00 60.00 1
XYGauss 14 6718.43 -600.22 0.00 60.00 1
XYGauss 15 6041.93 -1492.11 0.00 60.00 1
XYGauss 16 4971.64 -1819.50 0.00 60.00 1
XYGauss 17 3911.83 -1459.18 0.00 60.00 1
XYGauss 18 3263.93 -546.19 0.00 60.00 1
XYGauss 19 3272.78 573.16 0.00 60.00 1
XYGauss 20 3934.60 1476.13 0.00 60.00 1
XYGauss 21 5050.00 1585.00 0.00 100.00 1
XYGauss 22 5968.12 1255.91 0.00 100.00 1
XYGauss 23 6520.03 451.83 0.00 100.00 1
XYGauss 24 6496.78 -523.11 0.00 100.00 1
XYGauss 25 5907.65 -1300.23 0.00 100.00 1
XYGauss 26 4975.03 -1585.50 0.00 100.00 1
XYGauss 27 4051.91 -1270.93 0.00 100.00 1
XYGauss 28 3487.48 -475.67 0.00 100.00 1
XYGauss 29 3495.20 499.44 0.00 100.00 1
XYGauss 30 4071.97 1285.80 0.00 100.00 1
XYGauss 31 5044.00 1410.00 0.00 140.00 1
XYGauss 32 5860.32 1116.84 0.00 140.00 1
XYGauss 33 6351.35 402.11 0.00 140.00 1
XYGauss 34 6331.27 -464.92 0.00 140.00 1
XYGauss 35 5807.34 -1156.04 0.00 140.00 1
XYGauss 36 4978.05 -1410.00 0.00 140.00 1
XYGauss 37 4157.13 -1130.30 0.00 140.00 1
XYGauss 38 3655.12 -423.18 0.00 140.00 1
XYGauss 39 3661.76 444.07 0.00 140.00 1
XYGauss 40 4174.62 1143.51 0.00 140.00 1
XYGauss 41 5040.00 1263.00 0.00 180.00 1
XYGauss 42 5771.26 1000.39 0.00 180.00 1
XYGauss 43 6210.87 359.85 0.00 180.00 1
XYGauss 44 6192.83 -416.93 0.00 180.00 1
XYGauss 45 5723.06 -1035.90 0.00 180.00 1
XYGauss 46 4980.14 -1263.50 0.00 180.00 1
XYGauss 47 4244.74 -1012.63 0.00 180.00 1
XYGauss 48 3794.72 -379.10 0.00 180.00 1
XYGauss 49 3800.65 398.05 0.00 180.00 1
XYGauss 50 4260.64 1024.54 0.00 180.00 1
XYGauss 51 5036.00 1132.00 0.00 220.00 1

9-224
Section 9: CALPUFF

Table 9-41 (Continued)


Sample CTDMPLUS Receptor File (HILLRCT.DAT)

XYGauss 52 5691.56 896.77 0.00 220.00 1


XYGauss 53 6085.89 322.53 0.00 220.00 1
XYGauss 54 6069.21 -373.86 0.00 220.00 1
XYGauss 55 5648.17 -928.84 0.00 220.00 1
XYGauss 56 4982.05 -1132.50 0.00 220.00 1
XYGauss 57 4322.81 -907.74 0.00 220.00 1
XYGauss 58 3919.67 -339.71 0.00 220.00 1
XYGauss 59 3925.21 356.75 0.00 220.00 1
XYGauss 60 4337.13 918.50 0.00 220.00 1
XYGauss 61 5032.00 1010.00 0.00 260.00 1
XYGauss 62 5617.35 800.64 0.00 260.00 1
XYGauss 63 5969.04 287.97 0.00 260.00 1
XYGauss 64 5953.99 -333.44 0.00 260.00 1
XYGauss 65 5578.50 -828.65 0.00 260.00 1
XYGauss 66 4984.12 -1010.50 0.00 260.00 1
XYGauss 67 4395.78 -809.99 0.00 260.00 1
XYGauss 68 4035.97 -303.20 0.00 260.00 1
XYGauss 69 4040.96 318.29 0.00 260.00 1
XYGauss 70 4408.48 819.54 0.00 260.00 1
XYGauss 71 5028.00 893.00 0.00 300.00 1
XYGauss 72 5856.38 254.71 0.00 300.00 1
XYGauss 73 5511.36 -732.35 0.00 300.00 1
XYGauss 74 4465.87 -716.09 0.00 300.00 1
XYGauss 75 4151.82 281.47 0.00 300.00 1
XYGauss 76 5024.00 775.90 0.00 340.00 1
XYGauss 77 5743.56 221.38 0.00 340.00 1
XYGauss 78 5444.40 -636.12 0.00 340.00 1
XYGauss 79 4536.07 -622.21 0.00 340.00 1
XYGauss 80 4263.52 244.28 0.00 340.00 1
XYGauss 81 5021.00 654.50 0.00 380.00 1
XYGauss 82 5627.88 186.37 0.00 380.00 1
XYGauss 83 5374.71 -536.94 0.00 380.00 1
XYGauss 84 4608.47 -524.74 0.00 380.00 1
XYGauss 85 4378.42 206.32 0.00 380.00 1
XYGauss 86 5016.00 521.70 0.00 420.00 1
XYGauss 87 5499.93 148.95 0.00 420.00 1
XYGauss 88 5299.01 -427.66 0.00 420.00 1
XYGauss 89 4688.11 -418.57 0.00 420.00 1
XYGauss 90 4504.92 164.14 0.00 420.00 1
XYGauss 91 5011.00 360.80 0.00 460.00 1
XYGauss 92 5346.09 103.16 0.00 460.00 1
XYGauss 93 5206.83 -295.73 0.00 460.00 1
XYGauss 94 4784.34 -289.23 0.00 460.00 1
XYGauss 95 4657.56 113.51 0.00 460.00 1
XYGauss 96 5000.00 0.00 0.00 500.00 1

9-225
Section 9: CALPUFF

Table 9-42: HILL.DAT File - Record Group Structure

Record Columns Variable Type Description


Group *

1 6-7 NH integer Hill ID number

1 9-10 NZ integer Number of critical elevations

1 21-30 HTP real Elevation of top of feature (user units)

1 31-45 HNAME character Hill name

2 ** 1-10 ZH real Critical elevation (user units)

2 11-20 XHW real X-coordinate of ellipse centroid (user units)

2 21-30 YHW real Y-coordinate of ellipse centroid (user units)

2 31-40 MAJORW real Orientation (deg) of major axis from North

2 41-50 MAJAXW real Semi-major axis length (user units)

2 51-60 MINAXW real Semi-minor axis length (user units)

3 ** 1-10 ZH real Critical elevation (again)

3 11-20 L(1) real X-coordinate of cut-off hill (user units)

3 21-30 L(2) real Y-coordinate of cut-off hill (user units)

3 31-40 MAJORL real Orientation (deg) of major axis of cut-off hill


from North

3 41-50 EXPOMA real Inverse polynomial exponent for major axis

3 51-60 EXPOMI real Inverse polynomial exponent for minor axis

3 61-70 SCALMA real Inverse polynomial length scale for major axis

3 71-80 SCALMI real Inverse polynomial length scale for minor axis

* Record groups are repeated for each hill in the file


** There are NZ records for group 2 followed by NZ records for group 3

9-226
Section 9: CALPUFF

Table 9-43: HILLRCT.DAT File - Data Records

(One record per CTSG receptor)

Columns Variable Type Description

1-16 RNAME character Receptor name


21-30 XR real X-coordinate (user units)
31-40 YR real Y-coordinate (user units)
41-50 ZR real Height above ground (user units)
51-60 GE real Ground-level elevation (user units)
61-65 NH * integer ID number of hill under this receptor

* Receptors with NH=0 are ignored

9-227
Section 9: CALPUFF

9.13 Subgrid Scale Coastal Boundary Data File (COASTLN.DAT)

CALPUFF contains an option to treat subgrid scale coastal effects such as the development of a Thermal
Internal Boundary Layer (TIBL) within an individual grid cell. The subgrid scale coastal module is
controlled by the MSGTIBL variable in Input Group 2 of the control file. If MSGTIBL = 1, CALPUFF
will introduce a subgrid scale TIBL along a coastal boundary specified in an external file
(COASTLN.DAT) when appropriate meteorological conditions exist. The COASTLN.DAT file contains
a set of points that serve to define the coastline. Multiple coastlines (up to "MXCOAST", see the
PARAMS.PUF file) are allowed within a single file.

The COASTLN.DAT file is a sequential, formatted data file (see Table 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.

COASTLN.DAT File - Header Record

The header record of the COASTLN.DAT file contain the name, version, and label of the data set, the
UTM zone of the coordinates, and the number of coastlines defined in the file (see Table 9-45). A
sample Fortran read statement for the header record is:

READ(iunit,*)FNAMEC,NCOAST,IUTMCST,VRSCST,LABCST

where the following declaration applies:

CHARACTER*12 FNAMEC,VRSCST,LABCST.

9-228
Section 9: CALPUFF

Table 9-44: Sample Subgrid Scale Coastal Boundary Data File (COASTLN.DAT)

'COASTLN', 2, 19, '5', 'test'


'WR','Atlantic'
242., 4568.
264., 4588.
270., 4574.
286., 4584.
298., 4602.
308., 4634.
316., 4646.
340., 4610.
354., 4624.
390., 4630.
370., 4648.
340., 4700.
356., 4738.
346., 4744.
394., 4822.
410., 4860.
454., 4862.
474., 4864.
'WL','Large Lake'
200., 4500.
176., 4588.

9-229
Section 9: CALPUFF

Table 9-45: COASTLN.DAT - Header Record - General Data

No. Variable Typea Description Sample


Values

1 FNAMEC C*12 Data set name COASTLN

2 NCOAST integer Number of coastlines in the file 2

3 ITUMCST integer UTM zone in which coastline coordinates are specified 19


(enter 0 if using Lambert conformal coordinates)

4 VRSCST C*12 Data set version 5

5 LABCST C*12 Data set label Test

a
C*12 = Character*12

COASTLN.DAT File - Data Records

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.

Sample Fortran read statements for COASTLN.DAT data records are:

Loop over "NCOAST" coastlines (i)



READ(iunit,*)ADIR, ALABEL

Loop over data points (j)

READ(iunit,*)XKM(i,j), YKM(i,j)

End loop over data points

End loop over coastlines

9-230
Section 9: CALPUFF

where the following declarations apply:

REAL XKM(mxcoast,mxptcst),YKM(mxcoast,mxptcst)
CHARACTER*2 ADIR
CHARACTER*12 ALABEL

Table 9-46: COASTLN.DAT - Data Header Record Contents

(Data header and data point set repeated for each coastline)

No. Variable Typea Description

1 ADIR C*2 Flag indicating which side of the coastline water is


located as one moves in the direction of the data
points in the file (WR indicates water is on right
side, WL indicates water is on left side).

2 ALABEL C*16 Character identifier or name of the water body

a
C*2 = Character*2
C*16= Character*16

Table 9-47: COASTLN.DAT - Data Record Contents

(Data header and data point set repeated for each coastline)

No. Variable Type Description

1 XKM real array X coordinate (km) of point defining coastline

2 YKM real array Y coordinate (km) of point defining coastline

9-231
Section 9: CALPUFF

9-232
Section 9: CALPUFF

9.14 Mass Flux Boundary Data File (FLUXBDY.DAT)

When the IMFLX variable in Input Group 5 of the control file is 1, CALPUFF will compute the hourly
mass that crosses boundaries specified in the external file FLUXBDY.DAT. This file contains a set of
points that serve to define one or more boundaries that separate regions. The mass is said to either pass
into or out of a region depending on how the user defines "in" and "out" for each boundary. Multiple
boundaries (up to "MXBNDRY", see the PARAMS.PUF file) are allowed within a single file.

The FLUXBDY.DAT file is a sequential, formatted data file (see Table 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.

FLUXBDY.DAT File - Header Record

The header record of the FLUXBDY.DAT file contains the name, version, and label of the data set, the
UTM zone of the coordinates, and the number of boundaries defined in the file (see Table 9-49). A
sample Fortran read statement for the header record is:

READ(iunit,*)DATATYPE,NBNDRY,IUTMBDY,VRSBDY,LABBDY

where the following declaration applies:

CHARACTER*12 DATATYPE,VRSBDY,LABBDY.

9-233
Section 9: CALPUFF

Table 9-48: Sample Mass Flux Boundary Data File (FLUXBDY.DAT)

'FLUXBDY', 4, 19, ' 5 ', 'test '


'IR','Square 1KM Box'
298., 4629.
298., 4631.
300., 4631.
300., 4629.
298., 4629.
'IL','Diamond 1KM Box'
299., 4629.
298., 4630.
299., 4631.
300., 4630.
299., 4629.
'IR','Square 5KM Box'
294., 4625.
294., 4635.
304., 4635.
304., 4625.
294., 4625.
'IL','Diamond 5KM Box'
299., 4625.
294., 4630.
299., 4635.
304., 4630.
299., 4625.

9-234
Section 9: CALPUFF

Table 9-49: FLUXBDY.DAT - Header Record - General Data

No. Variable Typea Description Sample


Values

1 DATATYPE C*12 Data set name FLUXBDY

2 NBNDRY integer Number of boundaries in the file 2

3 ITUMBDY integer UTM zone in which boundary coordinates are specified 19


(enter 0 if using Lambert conformal coordinates)

4 VRSBDY C*12 Data set version "5"

5 LABBDY C*12 Data set label "Test"

a
C*12 = Character*12

FLUXBDY.DAT File - Data Records

The FLUXBDY.DAT file contains "NBNDRY" groups of boundary coordinates and related data. Each
group of records consists of a single data header record (see Table 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.

Sample Fortran read statements for FLUXBDY.DAT data records are:

Loop over "NBNDRY" boundaries (i)



READ(iunit,*)ADIR, ALABEL

Loop over data points (j)

READ(iunit,*)XKM(i,j), YKM(i,j)

End loop over data points

End loop over boundaries

where the following declarations apply:

9-235
Section 9: CALPUFF

REAL XKM(mxbndry,mxptbdy),YKM(mxbndry,mxptbdy)
CHARACTER*2 ADIR
CHARACTER*12 ALABEL

Table 9-50: FLUXBDY.DAT - Data Header Record Contents

(Data header and data point set repeated for each boundary)

No. Variable Typea Description

1 ADIR C*2 Flag indicating which side of the boundary is


considered "in" as one moves in the direction of the
data points in the file (IR indicates "in" is on right
side, IL indicates "in" is on left side).

2 ALABEL C*16 Character identifier or name of the boundary

a
C*2 = Character*2
C*16= Character*16

Table 9-51: FLUXBDY.DAT - Data Record Contents

(Data header and data point set repeated for each boundary)

No. Variable Type Description

1 XKM real array X coordinate (km) of point defining boundary

2 YKM real array Y coordinate (km) of point defining boundary

9-236
Section 9: CALPUFF

9.15 CALPUFF Output Files

9.15.1 List File (CALPUFF.LST)

The general list file for your CALPUFF run, CALPUFF.LST, is an ASCII text file that may be viewed by
any standard text editor, or printed to any standard printer. It provides the primary means of documenting
the CALPUFF application, and it also contains all warning messages that may have been generated by the
application. Note that some problems detected by CALPUFF result in fatal error messages (the requested
modeling period is not simulated), while other problems are not severe enough to halt the run, and
warning messages are written to the list file. Warning messages may be located throughout the file,
whereas fatal error messages are at the end (because the run is halted). Therefore, the list file should
always be reviewed.

The contents of the control file are echoed to the first part of the list file, and header records from each
external data file for the run follow. In the case of CALMET.DAT, the header records include all of the
time-invariant data fields, so that the file can become quite large when large CALMET grids are used.
The remainder of the list file contains any hourly concentrations and deposition fluxes that are selected
for output to the printer. This selection is made in Input Group 5 (see Section 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.

9.15.2 Restart File (RESTARTE.DAT)

Information for all puffs that are still within the computational grid at the end of a CALPUFF run can be
saved to disk in RESTARTE.DAT to initialize a continuation run. This allows CALPUFF to properly
account for old material within the modeling domain at the start of the continuation run. This restart
file may also be refreshed periodically during a run, as configured by NRESPD in Input Group 1 of the
control file (see Section 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.

9.15.3 Concentration File (CONC.DAT)

The CONC.DAT file is an unformatted data file containing concentrations of one or more species
simulated by CALPUFF at each receptor, for each period in the run. The creation and contents of the
CONC.DAT file are controlled by user-specified inputs in Input Group 5 of the control file (see Section
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.

CONC.DAT File - Header Records

The CONC.DAT file consists of as many as NCOM+15 header records followed by a set of data records.
The header records contain information describing the version of the model used in the run creating the
file, horizontal and vertical grid data, a user-input title, a list of the species combinations stored in the
output file, receptor information, and source names (see Table 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.

Sample FORTRAN read statements for the header records are:

READ(iunit) DATASET,DATAVER,DATAMOD
READ(iunit) NCOM
DO n=1,NCOM
READ(iunit) COMMENT
ENDDO
READ(iunit)CMODEL,VER,LEVEL,IBYR,IBJUL,IBHR,IBSEC,XBTZ,
1 IRLG,IAVG,NSECDT,NXM,NYM,DXKM,DYKM,IONE,XORIGKM,YORIGKM,NSSTA,IBCOMP,IECOMP,
2 JBCOMP,JECOMP,IBSAMP,JBSAMP,IESAMP,JESAMP,MESHDN,NPT1,NPT2,NAR1,NAR2,NLN1,NLN2,
3 NVL1,NVL2,MSOURCE,NREC,NCTREC,LSAMP,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

where the following declarations apply:

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

Table 9-52: Unformatted CONC.DAT file - Header

Header Record 1 Dataset Definition

No. Variable Type Description Sample


Values

1 DATASET Character*16 Dataset name CONC.DAT

2 DATAVER Character *16 Dataset version 2.1

3 DATAMOD Character *64 Dataset message field -

Header Record 2 to (NCOM+2) Comments

No. Variable Type Description Sample


Values

1 NCOM integer Number of comment records to follow -

1 COMMENT Character *132 Comment (repeated NCOM times) -

9-239
Section 9: CALPUFF

9-240
Section 9: CALPUFF

Table 9-52 (Continued)


Unformatted CONC.DAT file - Header Record NCOM+3 - General Data

No. Variable Typea Description Sample


Values

1 CMODEL C*12 Model name CALPUFF

2 VER C*12 Model version number 5.72

3 LEVEL C*12 Model level number 031017

4 IBYR integer Starting year of the run 1980

5 IBJUL integer Starting Julian day 183

6 IBHR integer Time at start of first period (hour 00-23 LST) 8

7 IBSEC integer Time at start of first period (second 0000-3600 ) 0000

8 XBTZ real Base time zone (LST+XBTZ=UTC) 6.0

9 IRLG integer Length of run (timesteps) 10

10 IAVG integer Averaging time (timesteps) of output concentrations 2

11 NSECDT integer Length of a timestep (seconds) 1800

12 NXM integer Number of grid points in meteorological grid (X 20


direction)

13 NYM integer Number of grid points in meteorological grid (Y 20


direction)

14 DXKM real Grid spacing (km) in the X direction 5.

15 DYKM real Grid spacing (km) in the Y direction 5.

16 IONE integer Number of receptor layers (must be equal to one for 1


CALPUFF runs)

17 XORIGKM real Reference X coordinate (km) of the southwest corner of 190.


grid cell (1,1) of the meteorological grid

18 YORIGKM real Reference Y coordinate (km) of the southwest corner of 440.


grid cell (1,1) of the meteorological grid

19 NSSTA integer Number of surface meteorological stations 5

20 IBCOMP integer Start of computational grid in X direction 1

21 IECOMP integer End of computational grid in X direction 20

22 JBCOMP integer Start of computation grid in the Y direction 1

23 JECOMP integer End of computational grid in Y direction 20

9-241
Section 9: CALPUFF

24 IBSAMP integer Start of sampling grid in X direction 1

25 JBSAMP integer Start of sampling grid in Y direction 1

a
C*12 = Character*12

9-242
Section 9: CALPUFF

Table 9-52 (Continued)


Unformatted CONC.DAT file - Header Record NCOM+3 - General Data

No. Variable Typea Description Sample


Values

26 IESAMP integer End of sampling grid in X direction 20

27 JESAMP integer End of sampling grid in Y direction 20

28 MESHDN integer Sampling grid spacing factor 1

29 NPT1 integer Number of point sources (control file) 2

30 NPT2 integer Number of point sources (variable emissions file) 0

31 NAR1 integer Number of area sources (control file) 0

32 NAR2 integer Number of area sources (variable emissions file) 0

33 NLN1 integer Number of line sources (control file) 0

34 NLN2 integer Number of line sources (variable emissions file) 0

35 NVL1 integer Number of volume sources (control file) 0

36 NVL2 integer Number of volume sources (variable emissions file) 0

37 MSOURCE integer Individual source contribution flag : 0


0 = report just the total

1 = report individual contributions and the total

38 NDREC integer number of discrete receptors 0

39 NCTREC integer Number of complex terrain receptors 0

40 LSAMP logical Sampling grid flag (T = gridded receptors used, T


F = no gridded receptors)

41 NSPOUT integer Number of output species 5

42 LCOMPR logical Flag indicating if concentration data are compressed T


(T=yes, F=no)
RH data flag:
43 I2DMET integer 1
0 = relative humidity at surface stations (1D)
1 = relative humidity at grid points (2D)

44 IUTMZN integer UTM zone (1-60) 19

45 FEAST real False Easting of map projection (km) 0.0

46 FNORTH real False Northing of map projection (km) 0.0

47 RNLAT0 real N. latitude of origin of map projection (degrees) 45.8

9-243
Section 9: CALPUFF

48 RELON0 real E. longitude of origin of map projection (degrees) -75.2

49 XLAT1 real Matching N. latitude #1 of map projection (degrees) 30.0

50 XLAT2 real Matching N. latitude #2 of map projection (degrees) 60.0

a
C*N = Character*N

9-244
Section 9: CALPUFF

Table 9-52 (Continued)


Unformatted CONC.DAT file - Header Record NCOM+3 - General Data

No. Variable Typea Description Sample


Values

51 PMAP C*8 Map projection UTM

52 UTMHEM C*4 Hemisphere (N or S) for UTM projection N

53 DATUM C*8 Datum code WGS-84

54 DATEN C*12 NIMA date (MM-DD-YYYY) for datum definitions 10-10-2002

55 CLAT0 C*16 Latitude of origin of map projection 45.8N

56 CLON0 C*16 Longitude of origin of map projection 75.2W

57 CLAT1 C*16 Matching latitude #1 of map projection 30N

58 CLAT2 C*16 Matching latitude #2 of map projection 60N

a
C*N = Character*N

Unformatted CONC.DAT file - Header

Header Record NCOM+4 - Run Title

No. Variable Typea Description

1 TITLE (3) C*80 User-specified run title (three lines of up to 80


characters/line)

a
C*80 = Character*80

9-245
Section 9: CALPUFF

Table 9-52 (Continued)

Header Record NCOM+5 - List of Species in Output File

No. Variable Typea Description

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.

Table 9-52 (Continued)


Unformatted CONC.DAT file - Header

Header Record NCOM+6 - Discrete Receptors


(Included only if NDREC > 0)

No. Variable Type Description

1 XREC real array X-coordinate (km) of each discrete receptor

2 YREC real array Y-coordinate (km) of each discrete receptor

3 ZREC real array Ground level elevation (m) of each discrete receptor

Header Record NCOM+7 - Complex Terrain Receptors


(Included only if NCTREC > 0)

No. Variable Type Description

9-246
Section 9: CALPUFF

1 XRCT real array X-coordinate (km) of each complex terrain receptor

2 YRCT real array Y-coordinate (km) of each complex terrain receptor

3 ZRCT real array Ground level elevation (m) of each complex terrain receptor

4 IHILL integer array Hill number associated with this receptor

9-247
Section 9: CALPUFF

Table 9-52 (Continued)


Unformatted CONC.DAT file - Header

Header Record NCOM+8 Point Source Names (Control File)


(Included only if NPT1 > 0)

No. Variable Type Description

1 ISTYPE integer Source type (1)

2 CNAMPT1 C*16 array Source names

C*16 = Character*16

Header Record NCOM+9 - Point Source Names (Variable Emissions File)


(Included only if NPT2 > 0)

No. Variable Type Description

1 ISTYPE integer Source type (2)

2 CNAMPT2 C*16 array Source names

C*16 = Character*16

Header Record NCOM+10 Area Source Names (Control File)


(Included only if NAR1 > 0)

No. Variable Type Description

1 ISTYPE integer Source type (3)

2 CNAMAR1 C*16 array Source names

9-248
Section 9: CALPUFF

C*16 = Character*16

9-249
Section 9: CALPUFF

Table 9-52 (Continued)


Unformatted CONC.DAT file - Header

Header Record NCOM+11 - Area Source Names (Variable Emissions File)


(Included only if NAR2 > 0)

No. Variable Type Description

1 ISTYPE integer Source type (4)

2 CNAMAR2 C*16 array Source names

C*16 = Character*16

Header Record NCOM+12 Line Source Names (Control File)


(Included only if NLN1 > 0)

No. Variable Type Description

1 ISTYPE integer Source type (5)

2 CNAMLN1 C*16 array Source names

C*16 = Character*16

Header Record NCOM+13 - Line Source Names (Variable Emissions File)


(Included only if NLN2 > 0)

No. Variable Type Description

1 ISTYPE integer Source type (6)

2 CNAMLN2 C*16 array Source names

9-250
Section 9: CALPUFF

C*16 = Character*16

9-251
Section 9: CALPUFF

Table 9-52 (Concluded)


Unformatted CONC.DAT file - Header

Header Record NCOM+14 Volume Source Names (Control File)


(Included only if NVL1 > 0)

No. Variable Type Description

1 ISTYPE integer Source type (7)

2 CNAMVL1 C*16 array Source names

C*16 = Character*16

Header Record NCOM+15 - Volume Source Names (Variable Emissions File)


(Included only if NVL2 > 0)

No. Variable Type Description

1 ISTYPE integer Source type (8)

2 CNAMVL2 C*16 array Source names

C*16 = Character*16

9-252
Section 9: CALPUFF

CONC.DAT File - Data Records

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

LOOP OVER OUTPUT SPECIES

GRIDDED RECEPTOR CONCENTRATIONS


IF(LSGRID)READ(iunit)CSPECG,CONCG

DISCRETE RECEPTOR CONCENTRATIONS


IF(NDREC.GT.0)READ(iunit)CSPECD,CONCD

COMPLEX TERRAIN RECEPTOR CONCENTRATIONS


IF(NCTREC.GT.0)READ(iunit)CSPECCT,CONCCT

END LOOP OVER OUTPUT SPECIES

where the following declarations apply:


Character*15 CSPECG,CPSECD,CSPECCT
Character*16 SNAME
Real CONCG(nxg,nyg),CONCD(NDREC),CONCCT(NCTREC)
and
nxg = IESAMP - IBSAMP+1
nyg = JESAMP - JBSAMP+1

CALPUFF contains an option to compress the data by replacing strings of zeroes with a coded repetition
factor. The factor is a negative number whose absolute value indicates the number of consecutive zeroes
that have been replaced by the repetition factor. This method is especially useful in reducing the size of
the output file when large segments of the receptor arrays lie upwind of the puffs during an hour, thereby
producing long strings of zeroes in the output arrays. For example, the following record with data for 20
receptors requires 20 unpacked words:
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

-5., 1.2, 3.5, -6., 0.7, -6.

9-254
Section 9: CALPUFF

Table 9-53: Unformatted CONC.DAT File - Data Records

(Records 1 and 2 of each set)

No. Variable Type Description (Record 1)

1 NYRB integer Year (4 digits) at start of averaging period

2 NJULB integer Julian day at start of averaging period

3 NHRB integer Hour (00-23 LST) at start of averaging period

4 NSECB integer Second (0000-3600 LST) at start of averaging period

5 NYRE integer Year (4 digits) at end of averaging period

6 NJULE integer Julian day at end of averaging period

7 NHRE integer Hour (00-23 LST) at end of averaging period

8 NSECE integer Second (0000-3600 LST) at start of averaging period

No. Variable Typea Description (Record 2)

1 ISTYPE integer Source type

2 ISNUM integer Source number of this type

3 SNAME C*16 Source name

4 SXKM real Source X-coordinate (km) in the modeling map projection

5 SYKM real Source Y-coordinate (km) in the modeling map projection

a
C*16 = Character*16

(Next Data Record)


(Included only if LSAMP = TRUE)

No. Variable Typea Description

1 CSPECG C*15 Species name (characters 1-12) and layer (characters 13-15) of
the concentrations in this record.
For example b, "SO2...........1" indicates SO2
concentrations in Layer 1; "DIOXINP.......1" indicates
dioxin in particulate form in Layer 1. (Note: Layer is always 1
in CALPUFF output, but can be up to NZ in CALGRID.)

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

Table 9-53 (Concluded)


Unformatted CONC.DAT File - Data Records

(Next Data Record)


(Included only if NDREC > 0)

No. Variable Typea Description

1 CSPECD C*15 Species name (characters 1-12) and layer (characters 13-15)
of the concentrations in this record.
For example b, "SO2...........1" indicates SO2
concentrations in Layer 1; "DIOXINP.......1"
indicates dioxin in particulate form in Layer 1. (Note:
Layer is always 1 in CALPUFF output, but can be up to NZ
in CALGRID.)

Next CONCD real array "IAVG" - hour averaged concentrations (g/m3) for each
NDREC discrete receptor

a
C*15 = Character*15

(Next Data Record)


(Included only if NCTREC > 0)

No. Variable Type Description

1 CSPECCT C*15 Species name (characters 1-12) and layer (characters 13-15)
of the concentrations in this record.
For example b, "SO2...........1" indicates SO2
concentrations in Layer 1; "DIOXINP.......1"
indicates dioxin in particulate form in Layer 1. (Note:
Layer is always 1 in CALPUFF output, but can be up to NZ
in CALGRID.)

Next NCTREC CONCCT real array "IAVG" - hour averaged concentrations (g/m3) at each
complex terrain (CTSG) receptor

a
C*15 = Character*15
b
Dots (....) indicate spaces.

9-257
Section 9: CALPUFF

9-258
Section 9: CALPUFF

9.15.4 Dry Flux File (DFLX.DAT)

The DFLX.DAT file is an unformatted data file containing dry deposition fluxes of one or more species
simulated by CALPUFF at each receptor, for each period in the run. The creation and contents of the
DFLX.DAT file are controlled by user-specified inputs in Input Group 5 of the control file (see Section
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.

DFLX.DAT File - Header Records

The DFLX.DAT file consists of NCOM+7 header records followed by a set of data records. The header
records contain information describing the version of the model used in the run creating the file,
horizontal and vertical grid data, a user-input title, a list of the species combinations stored in the output
file, and receptor information (see Table 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.

Sample FORTRAN read statements for the header records are:

READ(iunit) DATASET,DATAVER,DATAMOD
READ(iunit) NCOM
DO n=1,NCOM
READ(iunit) COMMENT
ENDDO
READ(iunit)CMODEL,VER,LEVEL,IBYR,IBJUL,IBHR,IBSEC,XBTZ,
1 IRLG,IAVG,NSECDT,NXM,NYM,DXKM,DYKM,IONE,XORIGKM,YORIGKM,NSSTA,IBCOMP,IECOMP,
2 JBCOMP,JECOMP,IBSAMP,JBSAMP,IESAMP,JESAMP,MESHDN,NPT1,NPT2,NAR1,NAR2,NLN1,NLN2,
3 NVL1,NVL2,MSOURCE,NREC,NCTREC,LSAMP,NDFOUT,LCOMPR,
4 I2DMET,IUTMZN,FEAST,FNORTH,RNLAT0,RELON0,
5 XLAT1,XLAT2,PMAP,UTMHEM,DATUM,DATEN,
6 CLAT0,CLON0,CLAT1,CLAT2
READ(iunit)TITLE
READ(iunit)CDFOUT
IF(NDREC.GT.0) READ(iunit)XREC,YREC,ZREC
IF(NCTREC.GT.0) READ(iunit)XRCT,YRCT,ZRCT,IHILL
IF(NPT1.GT.0) READ(iunit)ISTYPE,CNAMPT1
IF(NPT2.GT.0) READ(iunit)ISTYPE,CNAMPT2
IF(NAR1.GT.0) READ(iunit)ISTYPE,CNAMAR1
IF(NAR2.GT.0) READ(iunit)ISTYPE,CNAMAR2
IF(N LN1.GT.0) READ(iunit)ISTYPE,CNAMLN1
IF(NLN2.GT.0) READ(iunit)ISTYPE,CNAMLN2

9-259
Section 9: CALPUFF

IF(NVL1.GT.0) READ(iunit)ISTYPE,CNAMVL1
IF(NVL2.GT.0) READ(iunit)ISTYPE,CNAMVL2

where the following declarations apply:

Character*132 COMMENT
Character*80 TITLE(3)
Character*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

Table 9-54: Unformatted DFLX.DAT file - Header

Header Record 1 Dataset Definition

No. Variable Type Description Sample


Values

1 DATASET Character*16 Dataset name DFLX.DAT

2 DATAVER Character *16 Dataset version 2.1

3 DATAMOD Character *64 Dataset message field -

Header Record 2 to (NCOM+2) Comments

No. Variable Type Description Sample


Values

9-260
Section 9: CALPUFF

1 NCOM integer Number of comment records to follow -

1 COMMENT Character *132 Comment (repeated NCOM times) -

9-261
Section 9: CALPUFF

Table 9-54 (Continued)


Unformatted DFLX.DAT file - Header Record NCOM+3 - General Data

No. Variable Typea Description Sample


Values

1 CMODEL C*12 Model name CALPUFF

2 VER C*12 Model version number 5.72

3 LEVEL C*12 Model level number 031017

4 IBYR integer Starting year of the run 1980

5 IBJUL integer Starting Julian day 183

6 IBHR integer Time at start of first period (hour 00-23 LST) 8

7 IBSEC integer Time at start of first period (second 0000-3600 ) 0000

8 XBTZ real Base time zone (LST+XBTZ=UTC) 6.0

9 IRLG integer Length of run (timesteps) 10

10 IAVG integer Averaging time (timesteps) of output concentrations 2

11 NSECDT integer Length of a timestep (seconds) 1800

12 NXM integer Number of grid points in meteorological grid (X 20


direction)

13 NYM integer Number of grid points in meteorological grid (Y 20


direction)

14 DXKM real Grid spacing (km) in the X direction 5.

15 DYKM real Grid spacing (km) in the Y direction 5.

16 IONE integer Number of receptor layers (must be equal to one for 1


CALPUFF runs)

17 XORIGKM real Reference X coordinate (km) of the southwest corner of 190.


grid cell (1,1) of the meteorological grid

18 YORIGKM real Reference Y coordinate (km) of the southwest corner of 440.


grid cell (1,1) of the meteorological grid

19 NSSTA integer Number of surface meteorological stations 5

20 IBCOMP integer Start of computational grid in X direction 1

21 IECOMP integer End of computational grid in X direction 20

22 JBCOMP integer Start of computation grid in the Y direction 1

23 JECOMP integer End of computational grid in Y direction 20

9-262
Section 9: CALPUFF

24 IBSAMP integer Start of sampling grid in X direction 1

25 JBSAMP integer Start of sampling grid in Y direction 1

a
C*12 = Character*12

9-263
Section 9: CALPUFF

Table 9-54 (Continued)


Unformatted DFLX.DAT file - Header Record NCOM+3 - General Data

No. Variable Typea Description Sample


Values

26 IESAMP integer End of sampling grid in X direction 20

27 JESAMP integer End of sampling grid in Y direction 20

28 MESHDN integer Sampling grid spacing factor 1

29 NPT1 integer Number of point sources (control file) 2

30 NPT2 integer Number of point sources (variable emissions file) 0

31 NAR1 integer Number of area sources (control file) 0

32 NAR2 integer Number of area sources (variable emissions file) 0

33 NLN1 integer Number of line sources (control file) 0

34 NLN2 integer Number of line sources (variable emissions file) 0

35 NVL1 integer Number of volume sources (control file) 0

36 NVL2 integer Number of volume sources (variable emissions file) 0

37 MSOURCE integer Individual source contribution flag : 0


0 = report just the total

1 = report individual contributions and the total

38 NREC integer number of discrete receptors 0

39 NCTREC integer Number of complex terrain receptors 0

40 LSAMP logical Sampling grid flag (T = gridded receptors used, T


F = no gridded receptors)

41 NDFOUT integer Number of output species 5

42 LCOMPRS logical Flag indicating if concentration data are compressed T


(T=yes, F=no)
RH data flag:
43 I2DMET integer 1
0 = relative humidity at surface stations (1D)
1 = relative humidity at grid points (2D)

44 IUTMZN integer UTM zone (1-60) 19

45 FEAST real False Easting of map projection (km) 0.0

46 FNORTH real False Northing of map projection (km) 0.0

47 RNLAT0 real N. latitude of origin of map projection (degrees) 45.8

9-264
Section 9: CALPUFF

48 RELON0 real E. longitude of origin of map projection (degrees) -75.2

49 XLAT1 real Matching N. latitude #1 of map projection (degrees) 30.0

50 XLAT2 real Matching N. latitude #2 of map projection (degrees) 60.0

a
C*N = Character*N

9-265
Section 9: CALPUFF

Table 9-54 (Continued)


Unformatted DFLX.DAT file - Header Record NCOM+3 - General Data

No. Variable Typea Description Sample


Values

51 PMAP C*8 Map projection UTM

52 UTMHEM C*4 Hemisphere (N or S) for UTM projection N

53 DATUM C*8 Datum code WGS-84

54 DATEN C*12 NIMA date (MM-DD-YYYY) for datum definitions 10-10-2002

55 CLAT0 C*16 Latitude of origin of map projection 45.8N

56 CLON0 C*16 Longitude of origin of map projection 75.2W

57 CLAT1 C*16 Matching latitude #1 of map projection 30N

58 CLAT2 C*16 Matching latitude #2 of map projection 60N

a
C*N = Character*N

Header Record NCOM+4 - Run Title

No. Variable Typea Description

1 TITLE (3) C*80 User-specified run title (three lines of up to 80


characters/line)

a
C*80 = Character*80

Header Record NCOM+5 - List of Species-Layers in Output File

No. Variable Typea Description

9-266
Section 9: CALPUFF

Species name (characters 1-12) and variable flag (characters


1-NDFOUT CDFOUT C*15
13-15) of data stored in the output file. The variable flag for
array
dry fluxes is " DF". For example b,
"SO2..........DF" corresponds to SO2 dry fluxes.

a
C*15 = Character*15
b
Dots (....) indicate spaces.

9-267
Section 9: CALPUFF

Table 9-54 (Continued)


Unformatted DFLX.DAT file - Header

Header Record NCOM+6 - Discrete Receptors


(Included only if NDREC > 0)

No. Variable Type Description

1 XREC real array X-coordinate (km) of each discrete receptor

2 YREC real array Y-coordinate (km) of each discrete receptor

3 ZREC real array Ground level elevation (m) of each discrete receptor

Header Record NCOM+7 - Complex Terrain Receptors


(Included only if NCTREC > 0)

No. Variable Type Description

1 XRCT real array X-coordinate (km) of each complex terrain receptor

2 YRCT real array Y-coordinate (km) of each complex terrain receptor

3 ZRCT real array Ground level elevation (m) of each complex terrain receptor

4 IHILL integer array Hill number associated with this receptor

Header Record NCOM+8 Point Source Names (Control File)


(Included only if NPT1 > 0)

No. Variable Type Description

1 ISTYPE integer Source type (1)

2 CNAMPT1 C*16 array Source names

C*16 = Character*16

9-268
Section 9: CALPUFF

9-269
Section 9: CALPUFF

Table 9-54 (Continued)


Unformatted DFLX.DAT file - Header

Header Record NCOM+9 - Point Source Names (Variable Emissions File)


(Included only if NPT2 > 0)

No. Variable Type Description

1 ISTYPE integer Source type (2)

2 CNAMPT2 C*16 array Source names

C*16 = Character*16

Header Record NCOM+10 Area Source Names (Control File)


(Included only if NAR1 > 0)

No. Variable Type Description

1 ISTYPE integer Source type (3)

2 CNAMAR1 C*16 array Source names

C*16 = Character*16

Header Record NCOM+11 - Area Source Names (Variable Emissions File)


(Included only if NAR2 > 0)

No. Variable Type Description

1 ISTYPE integer Source type (4)

2 CNAMAR2 C*16 array Source names

C*16 = Character*16

9-270
Section 9: CALPUFF

9-271
Section 9: CALPUFF

Table 9-54 (Continued)


Unformatted DFLX.DAT file - Header

Header Record NCOM+12 Line Source Names (Control File)


(Included only if NLN1 > 0)

No. Variable Type Description

1 ISTYPE integer Source type (5)

2 CNAMLN1 C*16 array Source names

C*16 = Character*16

Header Record NCOM+13 - Line Source Names (Variable Emissions File)


(Included only if NLN2 > 0)

No. Variable Type Description

1 ISTYPE integer Source type (6)

2 CNAMLN2 C*16 array Source names

C*16 = Character*16

Header Record NCOM+14 Volume Source Names (Control File)


(Included only if NVL1 > 0)

No. Variable Type Description

1 ISTYPE integer Source type (7)

2 CNAMVL1 C*16 array Source names

C*16 = Character*16

9-272
Section 9: CALPUFF

9-273
Section 9: CALPUFF

Table 9-54 (Concluded)


Unformatted DFLX.DAT file - Header

Header Record NCOM+15 - Volume Source Names (Variable Emissions File)


(Included only if NVL2 > 0)

No. Variable Type Description

1 ISTYPE integer Source type (8)

2 CNAMVL2 C*16 array Source names

C*16 = Character*16

DFLX.DAT File - Data Records

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

LOOP OVER DRY DEPOSITED SPECIES STORED ON DISK

GRIDDED RECEPTOR DRY FLUXES


IF(LSGRID)READ(iunit)CDFG,DFLXG

DISCRETE RECEPTOR DRY FLUXES


IF(NDREC.GT.0)READ(iunit)CDFD,DFLXD

END LOOP OVER DRY DEPOSITED SPECIES STORED ON DISK

where the following declarations apply:

Character*15 CDFG,CDFD
Real DFLXG(nxg,nyg),DFLXD(NDREC)

and

9-274
Section 9: CALPUFF

nxg = IESAMP - IBSAMP+1


nyg = JESAMP - JBSAMP+1

CALPUFF contains an option to compress the data by replacing strings of zeroes with a coded repetition
factor. The factor is a negative number whose absolute value indicates the number of consecutive zeroes
that have been replaced by the repetition factor. This method is especially useful in reducing the size of
the output file when large segments of the receptor arrays lie upwind of the puffs during an hour, thereby
producing long strings of zeroes in the output arrays. For example, the following record with data for 20
receptors requires 20 unpacked words:
0.0, 0.0, 0.0, 0.0, 0.0, 1.2, 3.5, 0.0, 0.0, 0.0,
0.0, 0.0, 0.0, 0.7, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0
These data in packed form would be represented in six words:
-5., 1.2, 3.5, -6., 0.7, -6.

Table 9-55: Unformatted DFLX.DAT File - Data Records

(Records 1 and 2 of each set)

No. Variable Type Description (Record 1)

1 NYRB integer Year (4 digits) at start of averaging period

2 NJULB integer Julian day at start of averaging period

3 NHRB integer Hour (00-23 LST) at start of averaging period

4 NSECB integer Second (0000-3600 LST) at start of averaging period

5 NYRE integer Year (4 digits) at end of averaging period

6 NJULE integer Julian day at end of averaging period

7 NHRE integer Hour (00-23 LST) at end of averaging period

8 NSECE integer Second (0000-3600 LST) at start of averaging period

No. Variable Typea Description (Record 2)

1 ISTYPE integer Source type

2 ISNUM integer Source number of this type

3 SNAME C*16 Source name

4 SXKM real Source X-coordinate (km) in the modeling map projection

5 SYKM real Source Y-coordinate (km) in the modeling map projection

9-275
Section 9: CALPUFF

a
C*16 = Character*16

9-276
Section 9: CALPUFF

Table 9-55 (Concluded)


Unformatted DFLX.DAT File - Data Records

(Next Data Record)


(Included only if LSAMP = TRUE)

No. Variable Type Description

1 CDFG C*15 Species name (characters 1-12) and variable flag (characters
13-15) of the data in this record. For example b,
"SO2..........DF" corresponds to SO2 dry flux.

Next DFLXG real array "IAVG" - hour averaged dry deposition fluxes (g/m2/s) for
NXG*NYG each gridded receptor

(Next Data Record)


(Included only if NDREC > 0)

No. Variable Typea Description

1 CDFD C*15 Species name (characters 1-12) and dry flux flag (characters
13-15) of the data in this record. For example,
"SO2..........DF" corresponds to SO2 dry fluxes.

Next 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

9.15.5 Wet Flux File (WFLX.DAT)

The WFLX.DAT file is an unformatted data file containing wet deposition fluxes of one or more species
simulated by CALPUFF at each receptor, for each period in the run. The creation and contents of the
WFLX.DAT file are controlled by user-specified inputs in Input Group 5 of the control file (see Section
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.

WFLX.DAT File - Header Records

The WFLX.DAT file consists of NCOM+7 header records followed by a set of data records. The header
records contain information describing the version of the model used in the run creating the file,
horizontal and vertical grid data, a user-input title, a list of the species combinations stored in the output
file, and receptor information (see Table 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.

Sample FORTRAN read statements for the header records are:

READ(iunit) DATASET,DATAVER,DATAMOD
READ(iunit) NCOM
DO n=1,NCOM
READ(iunit) COMMENT
ENDDO
READ(iunit)CMODEL,VER,LEVEL,IBYR,IBJUL,IBHR,IBSEC,XBTZ,
1 IRLG,IAVG,NSECDT,NXM,NYM,DXKM,DYKM,IONE,XORIGKM,YORIGKM,NSSTA,IBCOMP,IECOMP,
2 JBCOMP,JECOMP,IBSAMP,JBSAMP,IESAMP,JESAMP,MESHDN,NPT1,NPT2,NAR1,NAR2,NLN1,NLN2,
3 NVL1,NVL2,MSOURCE,NREC,NCTREC,LSAMP,NWFOUT,LCOMPR,
4 I2DMET,IUTMZN,FEAST,FNORTH,RNLAT0,RELON0,
5 XLAT1,XLAT2,PMAP,UTMHEM,DATUM,DATEN,
6 CLAT0,CLON0,CLAT1,CLAT2
READ(iunit)TITLE
READ(iunit)CWFOUT
IF(NDREC.GT.0) READ(iunit)XREC,YREC,ZREC
IF(NCTREC.GT.0) READ(iunit)XRCT,YRCT,ZRCT,IHILL
IF(NPT1.GT.0) READ(iunit)ISTYPE,CNAMPT1
IF(NPT2.GT.0) READ(iunit)ISTYPE,CNAMPT2
IF(NAR1.GT.0) READ(iunit)ISTYPE,CNAMAR1
IF(NAR2.GT.0) READ(iunit)ISTYPE,CNAMAR2
IF(N LN1.GT.0) READ(iunit)ISTYPE,CNAMLN1
IF(NLN2.GT.0) READ(iunit)ISTYPE,CNAMLN2

9-278
Section 9: CALPUFF

IF(NVL1.GT.0) READ(iunit)ISTYPE,CNAMVL1
IF(NVL2.GT.0) READ(iunit)ISTYPE,CNAMVL2

where the following declarations apply:

Character*132 COMMENT
Character*80 TITLE(3)
Character*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

Table 9-56: Unformatted WFLX.DAT file - Header

Header Record 1 Dataset Definition

No. Variable Type Description Sample


Values

1 DATASET Character*16 Dataset name WFLX.DAT

2 DATAVER Character *16 Dataset version 2.1

3 DATAMOD Character *64 Dataset message field -

Header Record 2 to (NCOM+2) Comments

No. Variable Type Description Sample


Values

1 NCOM integer Number of comment records to follow -

9-279
Section 9: CALPUFF

1 COMMENT Character *132 Comment (repeated NCOM times) -

9-280
Section 9: CALPUFF

Table 9-56 (Continued)


Unformatted WFLX.DAT file - Header Record NCOM+3 - General Data

No. Variable Typea Description Sample


Values

1 CMODEL C*12 Model name CALPUFF

2 VER C*12 Model version number 5.72

3 LEVEL C*12 Model level number 031017

4 IBYR integer Starting year of the run 1980

5 IBJUL integer Starting Julian day 183

6 IBHR integer Time at start of first period (hour 00-23 LST) 8

7 IBSEC integer Time at start of first period (second 0000-3600 ) 0000

8 XBTZ real Base time zone (LST+XBTZ=UTC) 6.0

9 IRLG integer Length of run (timesteps) 10

10 IAVG integer Averaging time (timesteps) of output concentrations 2

11 NSECDT integer Length of a timestep (seconds) 1800

12 NXM integer Number of grid points in meteorological grid (X 20


direction)

13 NYM integer Number of grid points in meteorological grid (Y 20


direction)

14 DXKM real Grid spacing (km) in the X direction 5.

15 DYKM real Grid spacing (km) in the Y direction 5.

16 IONE integer Number of receptor layers (must be equal to one for 1


CALPUFF runs)

17 XORIGKM real Reference X coordinate (km) of the southwest corner of 190.


grid cell (1,1) of the meteorological grid

18 YORIGKM real Reference Y coordinate (km) of the southwest corner of 440.


grid cell (1,1) of the meteorological grid

19 NSSTA integer Number of surface meteorological stations 5

20 IBCOMP integer Start of computational grid in X direction 1

21 IECOMP integer End of computational grid in X direction 20

22 JBCOMP integer Start of computation grid in the Y direction 1

23 JECOMP integer End of computational grid in Y direction 20

9-281
Section 9: CALPUFF

24 IBSAMP integer Start of sampling grid in X direction 1

25 JBSAMP integer Start of sampling grid in Y direction 1

a
C*12 = Character*12

9-282
Section 9: CALPUFF

Table 9-56 (Continued)


Unformatted WFLX.DAT file - Header Record NCOM+3 - General Data

No. Variable Typea Description Sample


Values

26 IESAMP integer End of sampling grid in X direction 20

27 JESAMP integer End of sampling grid in Y direction 20

28 MESHDN integer Sampling grid spacing factor 1

29 NPT1 integer Number of point sources (control file) 2

30 NPT2 integer Number of point sources (variable emissions file) 0

31 NAR1 integer Number of area sources (control file) 0

32 NAR2 integer Number of area sources (variable emissions file) 0

33 NLN1 integer Number of line sources (control file) 0

34 NLN2 integer Number of line sources (variable emissions file) 0

35 NVL1 integer Number of volume sources (control file) 0

36 NVL2 integer Number of volume sources (variable emissions file) 0

37 MSOURCE integer Individual source contribution flag : 0


0 = report just the total

1 = report individual contributions and the total

38 NREC integer number of discrete receptors 0

39 NCTREC integer Number of complex terrain receptors 0

40 LSAMP logical Sampling grid flag (T = gridded receptors used, T


F = no gridded receptors)

41 NWFOUT integer Number of output species 5

42 LCOMPRS logical Flag indicating if concentration data are compressed T


(T=yes, F=no)
RH data flag:
43 I2DMET integer 1
0 = relative humidity at surface stations (1D)
1 = relative humidity at grid points (2D)

44 IUTMZN integer UTM zone (1-60) 19

45 FEAST real False Easting of map projection (km) 0.0

46 FNORTH real False Northing of map projection (km) 0.0

47 RNLAT0 real N. latitude of origin of map projection (degrees) 45.8

9-283
Section 9: CALPUFF

48 RELON0 real E. longitude of origin of map projection (degrees) -75.2

49 XLAT1 real Matching N. latitude #1 of map projection (degrees) 30.0

50 XLAT2 real Matching N. latitude #2 of map projection (degrees) 60.0

a
C*N = Character*N

9-284
Section 9: CALPUFF

Table 9-56 (Continued)


Unformatted WFLX.DAT file - Header Record NCOM+3 - General Data

No. Variable Typea Description Sample


Values

51 PMAP C*8 Map projection UTM

52 UTMHEM C*4 Hemisphere (N or S) for UTM projection N

53 DATUM C*8 Datum code WGS-84

54 DATEN C*12 NIMA date (MM-DD-YYYY) for datum definitions 10-10-2002

55 CLAT0 C*16 Latitude of origin of map projection 45.8N

56 CLON0 C*16 Longitude of origin of map projection 75.2W

57 CLAT1 C*16 Matching latitude #1 of map projection 30N

58 CLAT2 C*16 Matching latitude #2 of map projection 60N

a
C*N = Character*N

Header Record NCOM+4 - Run Title

No. Variable Typea Description

1 TITLE (3) C*80 User-specified run title (three lines of up to 80


characters/line)

a
C*80 = Character*80

Header Record NCOM+5 - List of Species-Layers in Output File

No. Variable Typea Description

9-285
Section 9: CALPUFF

Species name (characters 1-12) and variable flag (characters


1- CWFOUT C*15
13-15) of data stored in the output file. The variable flag for
NWFOUT array
wet fluxes is " WF". For example b,
"SO2..........WF" corresponds to SO2 wet fluxes.

a
C*15 = Character*15
b
Dots (....) indicate spaces.

9-286
Section 9: CALPUFF

Table 9-56 (Continued)


Unformatted WFLX.DAT file - Header

Header Record NCOM+6 - Discrete Receptors


(Included only if NDREC > 0)

No. Variable Type Description

1 XREC real array X-coordinate (km) of each discrete receptor

2 YREC real array Y-coordinate (km) of each discrete receptor

3 ZREC real array Ground level elevation (m) of each discrete receptor

Header Record NCOM+7 - Complex Terrain Receptors


(Included only if NCTREC > 0)

No. Variable Type Description

1 XRCT real array X-coordinate (km) of each complex terrain receptor

2 YRCT real array Y-coordinate (km) of each complex terrain receptor

3 ZRCT real array Ground level elevation (m) of each complex terrain receptor

4 IHILL integer array Hill number associated with this receptor

Header Record NCOM+8 Point Source Names (Control File)


(Included only if NPT1 > 0)

No. Variable Type Description

1 ISTYPE integer Source type (1)

2 CNAMPT1 C*16 array Source names

9-287
Section 9: CALPUFF

C*16 = Character*16

9-288
Section 9: CALPUFF

Table 9-56 (Continued)


Unformatted WFLX.DAT file - Header

Header Record NCOM+9 - Point Source Names (Variable Emissions File)


(Included only if NPT2 > 0)

No. Variable Type Description

1 ISTYPE integer Source type (2)

2 CNAMPT2 C*16 array Source names

C*16 = Character*16

Header Record NCOM+10 Area Source Names (Control File)


(Included only if NAR1 > 0)

No. Variable Type Description

1 ISTYPE integer Source type (3)

2 CNAMAR1 C*16 array Source names

C*16 = Character*16

Header Record NCOM+11 - Area Source Names (Variable Emissions File)


(Included only if NAR2 > 0)

No. Variable Type Description

1 ISTYPE integer Source type (4)

2 CNAMAR2 C*16 array Source names

9-289
Section 9: CALPUFF

C*16 = Character*16

9-290
Section 9: CALPUFF

Table 9-56 (Continued)


Unformatted WFLX.DAT file - Header

Header Record NCOM+12 Line Source Names (Control File)


(Included only if NLN1 > 0)

No. Variable Type Description

1 ISTYPE integer Source type (5)

2 CNAMLN1 C*16 array Source names

C*16 = Character*16

Header Record NCOM+13 - Line Source Names (Variable Emissions File)


(Included only if NLN2 > 0)

No. Variable Type Description

1 ISTYPE integer Source type (6)

2 CNAMLN2 C*16 array Source names

C*16 = Character*16

Header Record NCOM+14 Volume Source Names (Control File)


(Included only if NVL1 > 0)

No. Variable Type Description

1 ISTYPE integer Source type (7)

2 CNAMVL1 C*16 array Source names

9-291
Section 9: CALPUFF

C*16 = Character*16

9-292
Section 9: CALPUFF

Table 9-56 (Concluded)


Unformatted WFLX.DAT file - Header

Header Record NCOM+15 - Volume Source Names (Variable Emissions File)


(Included only if NVL2 > 0)

No. Variable Type Description

1 ISTYPE integer Source type (8)

2 CNAMVL2 C*16 array Source names

C*16 = Character*16

WFLX.DAT File - Data Records

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

LOOP OVER WET DEPOSITED SPECIES STORED ON DISK



GRIDDED RECEPTOR WET FLUXES
IF(LSGRID)READ(iunit)CWFG,WFLXG

DISCRETE RECEPTOR WET FLUXES
IF(NDREC.GT.0)READ(iunit)CWFD,WFLXD

END LOOP OVER WET DEPOSITED SPECIES STORED ON DISK

where the following declarations apply:

Character*15 CWFG,CWFD

9-293
Section 9: CALPUFF

Real WFLXG(nxg,nyg),WFLXD(NDREC)

and

nxg = IESAMP - IBSAMP+1


nyg = JESAMP - JBSAMP+1

CALPUFF contains an option to compress the data by replacing strings of zeroes with a coded repetition
factor. The factor is a negative number whose absolute value indicates the number of consecutive zeroes
that have been replaced by the repetition factor. This method is especially useful in reducing the size of
the output file when large segments of the receptor arrays lie upwind of the puffs during an hour, thereby
producing long strings of zeroes in the output arrays. For example, the following record with data for 20
receptors requires 20 unpacked words:
0.0, 0.0, 0.0, 0.0, 0.0, 1.2, 3.5, 0.0, 0.0, 0.0,
0.0, 0.0, 0.0, 0.7, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0
These data in packed form would be represented in six words:
-5., 1.2, 3.5, -6., 0.7, -6.

Table 9-57: Unformatted WFLX.DAT File - Data Records


(Record 1 of each set)

No. Variable Type Description (Record 1)

1 NYRB integer Year (4 digits) at start of averaging period

2 NJULB integer Julian day at start of averaging period

3 NHRB integer Hour (00-23 LST) at start of averaging period

4 NSECB integer Second (0000-3600 LST) at start of averaging period

5 NYRE integer Year (4 digits) at end of averaging period

6 NJULE integer Julian day at end of averaging period

7 NHRE integer Hour (00-23 LST) at end of averaging period

8 NSECE integer Second (0000-3600 LST) at start of averaging period

No. Variable Typea Description (Record 2)

1 ISTYPE integer Source type

2 ISNUM integer Source number of this type

3 SNAME C*16 Source name

4 SXKM real Source X-coordinate (km) in the modeling map projection

9-294
Section 9: CALPUFF

5 SYKM real Source Y-coordinate (km) in the modeling map projection

a
C*16 = Character*16

9-295
Section 9: CALPUFF

Table 9-57 (Concluded)


Unformatted WFLX.DAT File - Data Records

(Next Data Record)


(Included only if LSAMP = TRUE)

No. Variable Type Description

1 CWFG C*15 Species name (characters 1-12) and wet flux flag (characters
13-15) of the data in this record. For example b,
"SO2..........WF" corresponds to SO2 wet fluxes.

Next DWLXG real array "IAVG" - hour averaged wet deposition fluxes (g/m2/s) for
NXG*NYG each gridded receptor

(Next Data Record)


(Included only if NDREC > 0)

No. Variable Typea Description

1 CWFD C*15 Species name (characters 1-12) and wet flux flag (characters
13-15) of the data in this record. For example b,
"SO2..........WF" corresponds to SO2 wet fluxes.

Next 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

9.15.6 Relative Humidity File for Visibility Processing in CALPOST (VISB.DAT)

The VISB.DAT file is an unformatted data file containing relative humidity data at each surface
meteorological station, for each period in the run. It is required if CALPOST will be used to assess
visibility. The variable IVIS in Input Group 5 of the control file (see Section 9.1) must be set equal to one
in order to create the VISB.DAT file.

VISB.DAT File - Header Records

The VISB.DAT file consists of at least either NCOM+7 or NCOM+10 header records followed by a set
of data records. The header records contain information describing the version of the model used in the
run creating the file, horizontal and vertical grid data, a user-input title, a list of the species combinations
stored in the output file, and receptor information (see Table 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.

Sample FORTRAN read statements for the header records are:

READ(iunit) DATASET,DATAVER,DATAMOD
READ(iunit) NCOM
DO n=1,NCOM
READ(iunit) COMMENT
ENDDO
READ(iunit)CMODEL,VER,LEVEL,IBYR,IBJUL,IBHR,IBSEC,XBTZ,
1 IRLG,IAVG,NSECDT,NXM,NYM,DXKM,DYKM,IONE,XORIGKM,YORIGKM,NSSTA,IBCOMP,IECOMP,
2 JBCOMP,JECOMP,IBSAMP,JBSAMP,IESAMP,JESAMP,MESHDN,NPT1,NPT2,NAR1,NAR2,NLN1,NLN2,
3 NVL1,NVL2,MSOURCE,NREC,NCTREC,LSAMP,NVSOUT,LCOMPR,
4 I2DMET,IUTMZN,FEAST,FNORTH,RNLAT0,RELON0,
5 XLAT1,XLAT2,PMAP,UTMHEM,DATUM,DATEN,
6 CLAT0,CLON0,CLAT1,CLAT2
READ(iunit)TITLE
READ(iunit)CVSOUT
IF(NDREC.GT.0) READ(iunit)XREC,YREC,ZREC
IF(NCTREC.GT.0) READ(iunit)XRCT,YRCT,ZRCT,IHILL
IF(NPT1.GT.0) READ(iunit)ISTYPE,CNAMPT1
IF(NPT2.GT.0) READ(iunit)ISTYPE,CNAMPT2
IF(NAR1.GT.0) READ(iunit)ISTYPE,CNAMAR1
IF(NAR2.GT.0) READ(iunit)ISTYPE,CNAMAR2
IF(N LN1.GT.0) READ(iunit)ISTYPE,CNAMLN1
IF(NLN2.GT.0) READ(iunit)ISTYPE,CNAMLN2
IF(NVL1.GT.0) READ(iunit)ISTYPE,CNAMVL1
IF(NVL2.GT.0) READ(iunit)ISTYPE,CNAMVL2

where the following declarations apply:

Character*132 COMMENT
Character*80 TITLE(3)
Character*64 DATAMOD
Character*16 DATASET, DATAVER, CLAT0, CLON0, CLAT1, CLAT2

9-297
Section 9: CALPUFF

Character*16 CNAMPT1(MXPT1),CNAMPT2(MXPT2), CNAMAR1(MXAREA),CNAMAR2(MXAREA)


Character*16 CNAMLN1(MXLINES),CNAMLN2(MXLNGRP), CNAMVL1(MXVOL),CNAMVL2(MXVOL)
Character*15 CVSOUT(NVSOUT)
Character*12 CMODEL,VER,LEVEL, DATEN
Character*8 PMAP, DATUM
Character*4 UTMHEM

Real XREC(NREC),YREC(NREC),ZREC(NREC)
Real XRCT(NCTREC),YRCT(NCTREC),ZRCT(NCTREC)

Integer IHILL(NCTREC)

Logical LCOMPR

Table 9-58: Unformatted VISB.DAT file - Header

Header Record 1 Dataset Definition

No. Variable Type Description Sample


Values

1 DATASET Character*16 Dataset name VISB.DAT

2 DATAVER Character *16 Dataset version 2.1

3 DATAMOD Character *64 Dataset message field -

Header Record 2 to (NCOM+2) Comments

No. Variable Type Description Sample


Values

1 NCOM integer Number of comment records to follow -

1 COMMENT Character *132 Comment (repeated NCOM times) -

9-298
Section 9: CALPUFF

Table 9-58 (Continued)


Unformatted VISB.DAT file - Header Record NCOM+3 - General Data

No. Variable Typea Description Sample


Values

1 CMODEL C*12 Model name CALPUFF

2 VER C*12 Model version number 5.72

3 LEVEL C*12 Model level number 031017

4 IBYR integer Starting year of the run 1980

5 IBJUL integer Starting Julian day 183

6 IBHR integer Time at start of first period (hour 00-23 LST) 8

7 IBSEC integer Time at start of first period (second 0000-3600 ) 0000

8 XBTZ real Base time zone (LST+XBTZ=UTC) 6.0

9 IRLG integer Length of run (time steps) 10

10 IAVG integer Averaging time (time steps) of output concentrations 2

11 NSECDT integer Length of a time step (seconds) 1800

12 NXM integer Number of grid points in meteorological grid (X 20


direction)

13 NYM integer Number of grid points in meteorological grid (Y 20


direction)

14 DXKM real Grid spacing (km) in the X direction 5.

15 DYKM real Grid spacing (km) in the Y direction 5.

16 IONE integer Number of receptor layers (must be equal to one for 1


CALPUFF runs)

17 XORIGKM real Reference X coordinate (km) of the southwest corner of 190.


grid cell (1,1) of the meteorological grid

18 YORIGKM real Reference Y coordinate (km) of the southwest corner of 440.


grid cell (1,1) of the meteorological grid

19 NSSTA integer Number of surface meteorological stations 5

20 IBCOMP integer Start of computational grid in X direction 1

21 IECOMP integer End of computational grid in X direction 20

22 JBCOMP integer Start of computation grid in the Y direction 1

23 JECOMP integer End of computational grid in Y direction 20

9-299
Section 9: CALPUFF

24 IBSAMP integer Start of sampling grid in X direction 1

25 JBSAMP integer Start of sampling grid in Y direction 1

a
C*12 = Character*12

9-300
Section 9: CALPUFF

Table 9-58 (Continued)


Unformatted VISB.DAT file - Header Record NCOM+3 - General Data

No. Variable Typea Description Sample


Values

26 IESAMP integer End of sampling grid in X direction 20

27 JESAMP integer End of sampling grid in Y direction 20

28 MESHDN integer Sampling grid spacing factor 1

29 NPT1 integer Number of point sources (control file) 2

30 NPT2 integer Number of point sources (variable emissions file) 0

31 NAR1 integer Number of area sources (control file) 0

32 NAR2 integer Number of area sources (variable emissions file) 0

33 NLN1 integer Number of line sources (control file) 0

34 NLN2 integer Number of line sources (variable emissions file) 0

35 NVL1 integer Number of volume sources (control file) 0

36 NVL2 integer Number of volume sources (variable emissions file) 0

37 MSOURCE integer Individual source contribution flag : 0


0 = report just the total

1 = report individual contributions and the total

38 NREC integer number of discrete receptors 0

39 NCTREC integer Number of complex terrain receptors 0

40 LSAMP logical Sampling grid flag (T = gridded receptors used, T


F = no gridded receptors)

41 NVSOUT integer Number of output species 5

42 LCOMPRS logical Flag indicating if concentration data are compressed T


(T=yes, F=no)
RH data flag:
43 I2DMET integer 1
0 = relative humidity at surface stations (1D)
1 = relative humidity at grid points (2D)

44 IUTMZN integer UTM zone (1-60) 19

45 FEAST real False Easting of map projection (km) 0.0

46 FNORTH real False Northing of map projection (km) 0.0

47 RNLAT0 real N. latitude of origin of map projection (degrees) 45.8

9-301
Section 9: CALPUFF

48 RELON0 real E. longitude of origin of map projection (degrees) -75.2

49 XLAT1 real Matching N. latitude #1 of map projection (degrees) 30.0

50 XLAT2 real Matching N. latitude #2 of map projection (degrees) 60.0

a
C*N = Character*N

9-302
Section 9: CALPUFF

Table 9-58 (Continued)


Unformatted VISB.DAT file - Header Record NCOM+3 - General Data

No. Variable Typea Description Sample


Values

51 PMAP C*8 Map projection UTM

52 UTMHEM C*4 Hemisphere (N or S) for UTM projection N

53 DATUM C*8 Datum code WGS-84

54 DATEN C*12 NIMA date (MM-DD-YYYY) for datum definitions 10-10-2002

55 CLAT0 C*16 Latitude of origin of map projection 45.8N

56 CLON0 C*16 Longitude of origin of map projection 75.2W

57 CLAT1 C*16 Matching latitude #1 of map projection 30N

58 CLAT2 C*16 Matching latitude #2 of map projection 60N

a
C*N = Character*N

Header Record NCOM+4 - Run Title

No. Variable Typea Description

1 TITLE (3) C*80 User-specified run title (three lines of up to 80


characters/line)

a
C*80 = Character*80

Header Record NCOM+5 - List of Species-Layers in Output File

No. Variable Typea Description


Data name (characters 1-15) for data stored in the output file
1-NVSOUT CVSOUT C*15
(always ' REL HUM (%) ').
array

9-303
Section 9: CALPUFF

a
C*15 = Character*15
b
Dots (....) indicate spaces.

9-304
Section 9: CALPUFF

Table 9-58 (Continued)


Unformatted VISB.DAT file - Header

Header Record NCOM+6 - Discrete Receptors


(Included only if NDREC > 0)

No. Variable Type Description

1 XREC real array X-coordinate (km) of each discrete receptor

2 YREC real array Y-coordinate (km) of each discrete receptor

3 ZREC real array Ground level elevation (m) of each discrete receptor

Header Record NCOM+7 - Complex Terrain Receptors


(Included only if NCTREC > 0)

No. Variable Type Description

1 XRCT real array X-coordinate (km) of each complex terrain receptor

2 YRCT real array Y-coordinate (km) of each complex terrain receptor

3 ZRCT real array Ground level elevation (m) of each complex terrain receptor

4 IHILL integer array Hill number associated with this receptor

Header Record NCOM+8 Point Source Names (Control File)


(Included only if NPT1 > 0)

No. Variable Type Description

1 ISTYPE integer Source type (1)

2 CNAMPT1 C*16 array Source names

C*16 = Character*16

9-305
Section 9: CALPUFF

9-306
Section 9: CALPUFF

Table 9-58 (Continued)


Unformatted VISB.DAT file - Header

Header Record NCOM+9 - Point Source Names (Variable Emissions File)


(Included only if NPT2 > 0)

No. Variable Type Description

1 ISTYPE integer Source type (2)

2 CNAMPT2 C*16 array Source names

C*16 = Character*16

Header Record NCOM+10 Area Source Names (Control File)


(Included only if NAR1 > 0)

No. Variable Type Description

1 ISTYPE integer Source type (3)

2 CNAMAR1 C*16 array Source names

C*16 = Character*16

Header Record NCOM+11 - Area Source Names (Variable Emissions File)


(Included only if NAR2 > 0)

No. Variable Type Description

1 ISTYPE integer Source type (4)

2 CNAMAR2 C*16 array Source names

9-307
Section 9: CALPUFF

C*16 = Character*16

9-308
Section 9: CALPUFF

Table 9-58 (Continued)


Unformatted VISB.DAT file - Header

Header Record NCOM+12 Line Source Names (Control File)


(Included only if NLN1 > 0)

No. Variable Type Description

1 ISTYPE integer Source type (5)

2 CNAMLN1 C*16 array Source names

C*16 = Character*16

Header Record NCOM+13 - Line Source Names (Variable Emissions File)


(Included only if NLN2 > 0)

No. Variable Type Description

1 ISTYPE integer Source type (6)

2 CNAMLN2 C*16 array Source names

C*16 = Character*16

Header Record NCOM+14 Volume Source Names (Control File)


(Included only if NVL1 > 0)

No. Variable Type Description

1 ISTYPE integer Source type (7)

2 CNAMVL1 C*16 array Source names

C*16 = Character*16

9-309
Section 9: CALPUFF

9-310
Section 9: CALPUFF

Table 9-58 (Concluded)


Unformatted VISB.DAT file - Header

Header Record NCOM+15 - Volume Source Names (Variable Emissions File)


(Included only if NVL2 > 0)

No. Variable Type Description

1 ISTYPE integer Source type (8)

2 CNAMVL2 C*16 array Source names

C*16 = Character*16

VISB.DAT File - Data Records

The VISB.DAT data records consist of a set of "NVSOUT+1" records for each hour of the CALPUFF
runs (where NVSOUT is always one). The first record of each set contains the date and hour of the data
in the records which follow it. The next "NVSOUT" records contain the relative humidity reported in %
at each meteorological surface station if I2DRH=0, or at each sampling grid cell if I2DRH=1 (see Table
9-59).

Sample FORTRAN read statements for the data records are:

READ(iunit)nyrb,njulb,nhrb,nsecb,nyre,njule,nhre,nsece
READ(iunit) istype,isnum,sname,sxkm,sykm

IF(I2DRH.EQ.0) THEN
READ(iunit)CNAME,IRHSS
ELSE
READ(iunit)CNAME,IRH2D
ENDIF

where the following declarations apply:

Character*15 CNAME
Integer IRHSS(NSSTA)
Integer IRH2D(nxm,nym)

9-311
Section 9: CALPUFF

Table 9-59: Unformatted VISB.DAT File - Data Records

(Record 1 of each set)

No. Variable Type Description (Record 1)

1 NYRB integer Year (4 digits) at start of averaging period

2 NJULB integer Julian day at start of averaging period

3 NHRB integer Hour (00-23 LST) at start of averaging period

4 NSECB integer Second (0000-3600 LST) at start of averaging period

5 NYRE integer Year (4 digits) at end of averaging period

6 NJULE integer Julian day at end of averaging period

7 NHRE integer Hour (00-23 LST) at end of averaging period

8 NSECE integer Second (0000-3600 LST) at start of averaging period

No. Variable Typea Description (Record 2)

1 ISTYPE integer Source type

2 ISNUM integer Source number of this type

3 SNAME C*16 Source name

4 SXKM real Source X-coordinate (km) in the modeling map projection

5 SYKM real Source Y-coordinate (km) in the modeling map projection

a
C*16 = Character*16

(Next Record)

No. Variable Typea Description

1 CNAME C*15 ' REL HUM (%) '

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

9.15.7 Debug Puff-Tracking File (DEBUG.DAT)

CALPUFF contains a debug option to report much information about each selected puff as it is
transported and sampled over a number of modeling periods. Most of this extra information is
written to the CALPUFF list file (see Section 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

Table 9-60: Sample Debug Puff-Tracking File (DEBUG.DAT)

---- PUFF/ Old SLUG end ---------


YYYYJJJHH SEC ipnum cd zfnl x(metG) y(metG) sigyB sigzB QM QU zimax rflctn dpbl jdstab
199000904 1800 1 1 104.1 33.2228 52.3154 100.1 28.3 3.4591E+02 0.0000E+00 10000.0 10000.0 197.1 6
199000904 1800 1 1 104.1 33.3025 52.3758 102.9 28.7 3.4591E+02 0.0000E+00 10000.0 10000.0 197.1 6
199000904 1800 1 1 104.1 33.3822 52.4362 105.6 29.1 3.4590E+02 0.0000E+00 10000.0 10000.0 197.1 6
199000904 1800 1 1 104.1 33.4620 52.4965 108.3 29.5 3.4589E+02 0.0000E+00 10000.0 10000.0 197.1 6
199000904 1800 1 1 104.1 33.5417 52.5568 111.0 29.9 3.4588E+02 0.0000E+00 10000.0 10000.0 197.1 6
199000904 1800 1 1 104.1 33.6215 52.6171 113.7 30.3 3.4587E+02 0.0000E+00 10000.0 10000.0 197.1 6
199000904 1800 1 1 104.1 33.7013 52.6774 116.4 30.7 3.4586E+02 0.0000E+00 10000.0 10000.0 197.1 6
199000904 1800 1 1 104.1 33.7811 52.7376 119.1 31.0 3.4586E+02 0.0000E+00 10000.0 10000.0 197.1 6
199000904 1800 1 1 104.1 33.8610 52.7978 121.8 31.4 3.4585E+02 0.0000E+00 10000.0 10000.0 197.1 6
199000904 1800 1 1 104.1 33.9409 52.8579 124.4 31.8 3.4584E+02 0.0000E+00 10000.0 10000.0 197.1 6
199000904 1800 1 1 104.1 34.0208 52.9181 127.1 32.5 3.4583E+02 0.0000E+00 10000.0 10000.0 197.1 6
199000904 1800 1 1 104.1 34.1009 52.9779 129.8 33.3 3.4582E+02 0.0000E+00 10000.0 10000.0 197.2 6
199000904 1800 1 1 104.1 34.1810 53.0378 132.4 34.2 3.4581E+02 0.0000E+00 10000.0 10000.0 183.1 6
199000904 1800 1 1 104.1 34.2681 53.0869 135.0 35.1 3.4580E+02 0.0000E+00 10000.0 10000.0 183.1 6
199000904 1800 1 1 104.1 34.3553 53.1359 137.7 36.0 3.4578E+02 0.0000E+00 10000.0 10000.0 183.1 6
199000904 1800 1 1 104.1 34.4425 53.1849 140.3 37.0 3.4577E+02 0.0000E+00 10000.0 10000.0 183.1 6
199000904 1800 1 1 104.1 34.5297 53.2338 142.9 37.9 3.4576E+02 0.0000E+00 10000.0 10000.0 183.1 6
199000904 1800 1 1 104.1 34.6169 53.2827 145.5 38.9 3.4574E+02 0.0000E+00 10000.0 10000.0 183.1 6
199000904 1800 1 1 104.1 34.7042 53.3315 148.2 39.8 3.4573E+02 0.0000E+00 10000.0 10000.0 183.1 6
199000904 1800 1 1 104.1 34.7915 53.3803 150.8 40.8 3.4571E+02 0.0000E+00 10000.0 10000.0 183.1 6
199000904 1800 1 1 104.1 34.8788 53.4291 153.4 41.7 3.4570E+02 0.0000E+00 10000.0 10000.0 183.1 6
199000904 1800 1 1 104.1 34.9661 53.4778 156.0 42.7 3.4568E+02 0.0000E+00 10000.0 10000.0 183.1 6
199000904 1800 1 1 104.1 35.0372 53.5174 167.1 52.6 3.4565E+02 0.0000E+00 158.7 158.7 150.8 2
199000904 1800 1 1 104.1 35.1045 53.5410 176.8 61.8 3.4562E+02 0.0000E+00 158.7 158.7 150.8 2
199000905 0 1 1 104.1 35.1966 53.5729 189.9 74.8 3.4556E+02 0.0000E+00 158.7 158.7 150.8 2
199000905 0 1 1 104.1 35.2877 53.6038 202.8 88.2 3.4547E+02 0.0000E+00 158.7 158.7 150.8 2
199000905 0 1 1 104.1 35.3774 53.6335 215.3 101.8 3.4537E+02 0.0000E+00 158.7 158.7 150.8 2
199000905 0 1 1 104.1 35.4648 53.6617 227.3 115.9 3.4525E+02 0.0000E+00 158.7 158.7 150.8 2
199000905 0 1 1 104.1 35.5519 53.6897 239.3 130.4 3.4512E+02 0.0000E+00 158.7 158.7 150.8 2
199000905 0 1 1 104.1 35.6390 53.7177 251.1 145.4 3.4499E+02 0.0000E+00 158.7 158.7 150.8 2
199000905 0 1 1 104.1 35.7261 53.7457 262.9 161.0 3.4485E+02 0.0000E+00 158.7 158.7 150.8 2
199000905 0 1 1 104.1 35.8132 53.7736 274.6 177.2 3.4472E+02 0.0000E+00 158.7 158.7 150.8 2
199000905 0 1 1 104.1 35.9003 53.8016 286.2 193.9 3.4458E+02 0.0000E+00 158.7 158.7 150.8 2

9-315
Section 9: CALPUFF

Table 9-61: DEBUG.DAT - Data Record

No. Variable Description

1 YYYYJJJHH Year-Julian Day-Hour for modeling period

2 SEC Seconds (SSSS) for modeling period

3 IPNUM Puff ID number

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

5 ZFNL Puff height (m) at final rise

6 X X-coordinate of puff or old slug-end (Met Grid Units)

7 Y Y-coordinate of puff or old slug-end (Met Grid Units)

8 SIGYB Sigma-y of puff or old slug-end (m)

9 SIGZB Sigma-z of puff or old slug-end (m)

10 QM Puff mass (g) of species 1 below mixing lid

11 QU Puff mass (g) of species 1 above mixing lid

12 ZIMAX Largest mixing height (m) for this puff (10000 m used for
unlimited mixing)

13 RFLCTN Reflecting lid height (m) for Gaussian distribution (10000 m


used for unlimited mixing)

14 DPBL Current surface boundary layer height (m)

15 JDSTAB Stability class

9-316
Section 9: CALPUFF

16 Length Emitted slug length (m)

9-317
Section 9: CALPUFF

9.15.8 Mass Flux List File (MASSFLX.DAT)

Mass flux results for those species selected in the control file are reported to the list file MASSFLX.DAT
for each boundary that is contained in the boundary file FLUXBDY.DAT. MASSFLX.DAT is a
formatted text file that identifies the CALPUFF version and level, echoes the 3-line title of the CALPUFF
simulation, identifies the output as mass flux (g/s), sets out column headings to label each variable listed,
and then reports the mass fluxes for each hour in the simulation. The boundaries are identified by the
names provided in FLUXBDY.DAT, and for each boundary, the mass flux in and out across the boundary
is reported. The date and time of each output record marks the time at the end of the hour, where
midnight is hour zero of the new day (CALPUFF convention).

An example list file is provided in Table 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

Table 9-62: Sample Mass Flux List File (MASSFLX.DAT)

CALPUFF Version: 6.1 Level: 050915


**********************************************************************************************************************

CALPUFF test case run - 3 point sources


24-Hour Simulation using CALMET met. data
Gridded receptors on 17x17 20-km met grid

---------------
Mass Flux
(g/s)
---------------

Square 1KM Box Diamond 1KM Box Square 5KM Box Diamond 5KM Box
Yr Day Hr 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

9.15.9 Mass Balance List File (MASSBAL.DAT)

Mass balance results for all species in the run are reported to the list file MASSBAL.DAT.
MASSBAL.DAT is a formatted text file that identifies the CALPUFF version and level, echoes the 3-line
title of the CALPUFF simulation, identifies the output as hourly mass balance (g), sets out column
headings to label each variable listed, and then reports changes in the mass of each species in the entire
modeling domain for each hour in the simulation. The date and time of each output record marks the time
at the end of the hour, where midnight is hour zero of the new day (CALPUFF convention).

An example list file is provided in Table 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

Table 9-63: Sample Mass Balance List File (MASSBAL.DAT)

CALPUFF Version: 6.1 Level: 050915


*********************************************************************************************************************************
CALPUFF Demonstration Run
1800 sec Steps
Emission & Sampling Limit 0.1 grid cell

-----------------------
Mass Balance (Timestep)
(g)
-----------------------

Advected Wet Dry Domain Domain Domain


Year Day Hr Sec Species Emitted Out Transformed Depletion Depletion Total Surface Aloft

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.

9.16.1 CTSG Terrain Information

CTSG requires information on the location, orientation, size, and shape of each terrain feature being
modeled. The variables that contain this information are:

xc,yc coordinates (km) of the center of the hill


thetah orientation (deg) of major axis of hill (clockwise from north)
zgrid height (m) of "grid-plane" of grid above mean sea level
relief height (m) of crest of hill above the "grid-plane" elevation
expo (1) hill-shape exponent for major axis
expo (2) hill-shape exponent for minor axis
scale(1) horizontal length scale (m) along major axis
scale(2) horizontal length scale (m) along minor axis
axmax(1) maximum allowed axis length (m) for major axis
axmax(2) maximum allowed axis length (m) for minor axis

The profile of the terrain along each axis of the feature is prescribed by the following equation:

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.

a. Identify the sub-grid terrain features to be modeled.

Such features will generally be small enough that they could be contained within one grid-square.
This does not mean that they cannot straddle two or more squares. The features should be
prominent, and possibly lie near source regions so that the additional computations required by
CTSG are warranted in resolving important pollutant impact areas.

b. Decide on the orientation of the feature.

The orientation of the feature is generally evident if the feature is longer in one direction than
another. If there is no dominant direction to the feature, model it as a symmetric feature, and
choose an orientation of north.

c. Obtain height-profiles along each axis of the feature.

Choose an approximate center for the feature and draw axes through it (one axis should lie along
the direction of orientation). Along each axis, measure the distance between approximate
intersections of the axis with marked contours. The distances so measured should extend from
the contour furthest to the south to the same contour furthest to the north (for a north-south axis).
Divide each of these distances by two, and tabulate the results.

d. Identify the maximum elevation of the feature.

Take the peak elevation directly from the map.

e. Identify the elevation at the base of the feature.

Generally, the base of the feature will be that point at which the feature becomes
indistinguishable from terrain variations around it.

f. Convert all elevations that were tabulated to heights above the base of the feature.

g. Use optimizer program (OPTHILL) to obtain shape parameters.

The "relief" parameter is just the peak elevation less the base elevation. The "axmax" value for
each axis should be representative of the maximum extent of the feature along each axis at the
elevation of the base of the feature. With these two variables fixed for each axis, the 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.

9.16.2 Example OPTHILL Application

The OPTHILL program is an optimization that takes a value of "relief" and "axmax," and a sequence of
pairs of (x,ht) values along an axis, and returns a value of "expo" and "scale" that prescribes the profile
function that best matches the (x,ht) pairs. Its use is illustrated by the following example.

Figure 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

Table 9-64: OPTHILL Input and Output Files

Unit File Name Type Format Description

5 OPTHILL.INP input formatted Control file containing user inputs

6 OPTHILL.LST output formatted List file (line printer output file)

Table 9-65: OPTHILL Control File Inputs (OPTHILL.INP)

Record Variable Variable Columns Type of Description


No. Name Format

1 1 TITLE(15) 1-60 15A4 60 character title

2 1 RELIEF * real Height (m) of the crest of the hill above


the grid elevation

3 1 AXMAX * real Maximum allowed axis length (m) for


the axis (major or minor) being
evaluated

4 1 - * - This record is skipped by the program.


May contain optional text data (see
example)

5 1 DIST * real Distance-height pairs describing the


profile of the terrain. Units: m

5 2 HGT * real Distance-height pairs describing the


profile of the terrain.
Units: m

* Entered in FORTRAN free format.

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

Table 9-66: Sample OPTHILL Input Files

(a) OPTHILL.INP for Axis #1 of the hill.

Optimal SCALE and EXPO factors -- Axis #1 of example problem


300. - Height (m) of hill crest above "zero-plane" elevation (RELIEF)
2000. - Maximum allowed length (m) for this axis (AXMAX)
--------------------------------- Distance-height pairs describing hill profile -------------------------------
564., 239. - Dist.(m) from crest, terrain ht (m) above "zero-plane" elev.
826., 178. (Repeated for each dist.-height pair)
1062., 150.
1193., 117.
1508., 56.

(b) OPTHILL.INP for Axis #2 of the hill.

Optimal SCALE and EXPO factors -- Axis #2 of example problem


300. - Height (m) of hill crest above "zero-plane" elevation (RELIEF)
1500. - Maximum allowed length (m) for this axis (AXMAX)
--------------------------------- Distance-height pairs describing hill profile -------------------------------
302., 239. - Dist.(m) from crest, terrain ht (m) above "zero-plane" elev.
551., 178. (Repeated for each dist.-height pair)
708., 150.
970., 117.
1311., 56.

9-328
Section 9: CALPUFF

Table 9-67: OPTHILL Output File for Axis #1 of Sample Hill

*** Optimal SCALE and EXPO factors -- Axis #1 of example problem ***

EVOL TIME LIMIT = 60. SECONDS SKIP = 10

NUMBER OF PARAMETERS FOR THIS STUDY : 4

PARAMETER START VALUE STEP CONTROL LOWER LIMIT UPPER LIMIT


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

1 RELIEF 0.3000E+03 0.0000E+00 0.3000E+03 0.3000E+03


2 AXMAX 0.2000E+04 0.0000E+00 0.2000E+04 0.2000E+04
3 EXPO 0.2000E+01 0.2000E+01 0.1000E+00 0.1000E+02
4 SCALE 0.2000E+04 0.1000E+04 0.2000E+02 0.2000E+06

CALCULATIONS STARTED

RETURN VALUE: 2 NORMAL RETURN FUNCTION VALUE: 0.50303

PARAMETER VALUES:
RELIEF = 300.00000
AXMAX = 2000.00000
EXPO = 1.90651
SCALE = 1522.94500

Distance Height Fitted Value

564.0 239.0 237.4


826.0 178.0 186.4
1062.0 150.0 139.9
1193.0 117.0 115.5
1508.0 56.0 63.0

9-329
Section 9: CALPUFF

Table 9-68: OPTHILL Output File for Axis #2 of Sample Hill

.*** Optimal SCALE and EXPO factors -- Axis #2 of example problem ***

EVOL TIME LIMIT = 60. SECONDS SKIP = 10

NUMBER OF PARAMETERS FOR THIS STUDY : 4

PARAMETER START VALUE STEP CONTROL LOWER LIMIT UPPER LIMIT


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

1 RELIEF 0.3000E+03 0.0000E+00 0.3000E+03 0.3000E+03


2 AXMAX 0.1500E+04 0.0000E+00 0.1500E+04 0.1500E+04
3 EXPO 0.2000E+01 0.2000E+01 0.1000E+00 0.1000E+02
4 SCALE 0.1500E+04 0.7500E+03 0.1500E+02 0.1500E+06

CALCULATIONS STARTED

RETURN VALUE: 2 NORMAL RETURN FUNCTION VALUE: 2.17504

PARAMETER VALUES:
RELIEF = 300.00000
AXMAX = 1500.00000
EXPO = 1.23912
SCALE = 2895.90200

Distance Height Fitted Value

302.0 239.0 244.0


551.0 178.0 189.1
708.0 150.0 154.7
970.0 117.0 99.5
1311.0 56.0 33.5

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:

RUNOPT file1 file2 file3

where
file1 OPTHILL.EXE executable program file
file2 user.inp input file
file3 user.out output file

The batch file copies file2 to OPTHILL.INP, runs OPTHILL.EXE which creates OPTHILL.LST, then
renames OPTHILL.LST to the name supplied as file3. For the example above, axis #1 would be
processed by typing the command:

RUNOPT OPTHILL.EXE AXIS1.INP AXIS1.LST

With these results, hill information that is independent of the choice of coordinate system and the
modeling grid for the wind model can be specified:

xc,yc (m) (depends on choice of coordinates)


thetah (deg) 69
zgrid (m) (depends on grid for wind model)
relief (m) 300.
expo (1) 1.91
expo (2) 1.24
scale (1) (m) 1523.
scale (2) (m) 2896.
axmax (1) (m) 2000.
axmax (2) (m) 1500.

Note that scale(2) is almost twice scale(1), even though axis 1 corresponds to the longer axis of the hill.
This can occur because the "scale" parameter is a property of the entire inverse-polynomial function
(Equation 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:

APPEND is a postprocessor which appends two or more sequential CALPUFF


concentration, wet flux, dry flux or relative humidity (visibility) files in time.

CALSUM is a postprocessor which sums and scales concentrations or wet/dry fluxes from
two or more source groups from different CALPUFF runs.

POSTUTIL is a postprocessor which operates on one or more CALPUFF concentration and


wet/dry flux files to create new species as weighted combinations of modeled
species; to sum wet and dry deposition fluxes; to merge species from different
runs into a single output file; to sum and scale results from different runs; to
repartition nitric acid/nitrate based on total available sulfate and ammonia; and
to add time/space-varying background.

CALPOST is a postprocessor which operates on one CALPUFF concentration or wet/dry


deposition flux file to perform visibility calculations; to average and summarize
concentrations and deposition fluxes; to determine ranked
concentration/flux/light extinction values; and to create list files and plot files.

These postprocessors are described in the following sections.

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

Table 10-1: APPEND Input and Output Files

Unit File Name Type Format Description

io5 APPEND.INP input formatted Control file containing user inputs

io6 APPEND.LST output formatted List file containing APPEND


application information

io10 MODEL.DAT output unformatted CALPUFF output data file containing


modeled concentration or deposition
flux or relative humidity data,
containing all periods

io21 MODEL1.DAT input unformatted First sequential CALPUFF output


data file containing modeled
concentration or deposition flux or
relative humidity data

io21 MODELn.DAT input unformatted Last of "n" sequential CALPUFF


+(n-1) output data files containing modeled
concentration or deposition flux or
relative humidity data

10-3
Section 10: POSTPROCESSORS

Table 10-2: APPEND Control File Structure

Record Variable Variable Type Description Sample


No. No. Values

1 1 ITYPE integer File type (1=concentration/flux, 1


2=relative humidity/visibility)

2 1 NFILES integer Number of files to append 3

3 1 CFILE character*7 File name for first CALPUFF data RUN1.CON


(1) 0 file in the sequence that will be
array appended

4 1 NSKIP integer Number of periods to skip over at 0


(1) array the start of file 1

4 2 NPDS integer Total number of periods to read 240


(1) array from file 1 (including NSKIP)

... ... ... ... ... ...

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

2+2* 1 NSKIP integer Number of periods to skip over at 0


NFILE (NFILES) array the start of the last file
S

2+2* 2 NPDS integer Total number of periods to read 240


NFILE (NFILES) array from the last file (including
S NSKIP)

3+2* 1 CFILOUT character*7 File name for the new CALPUFF CONC.DA
NFILE 0 data file (all periods) T
S array

4+2* 1 TITLEO character*8 Title record #1 for output data file -


NFILE (1) 0
S array

5+2* 1 TITLEO character*8 Title record #2 for output data file -


NFILE (2) 0
S array

10-4
Section 10: POSTPROCESSORS

6+2* 1 TITLEO character*8 Title record #3 for output data file -


NFILE (3) 0
S array

10-5
Section 10: POSTPROCESSORS

Table 10-3: Sample APPEND Control File (APPEND.INP)

1 - File type (1=conc/flux files, 2=RH/visibility files)


2 - Number of input data files
cpuf.con
0, 2
cpuf2.con
2, 4
cpufapp.con
APPEND Demonstration
Reconstructing CALPUFF concentration file
Combine 2 hours from first and 2 hours from second file

10-6
Section 10: POSTPROCESSORS

Table 10-4: Sample APPEND List File (APPEND.LST)

APPEND -- Version: 2.34 Level: 051122

Number of input files (NFILES) = 2

Names of input files:

No. 1 Filename: cpuf.con


No. 2 Filename: cpuf2.con

Output Filename: cpufapp.con

Title lines on new output file:


APPEND Demonstration
Reconstructing CALPUFF concentration file
Combine 2 hours from first and 2 hours from second file

Title lines from file No.: 1


CALPUFF Demonstration Run

Title lines from file No.: 2


CALPUFF Demonstration Run

Selected header record data


CMODEL: CALPUFF
VER: 5.727
LEVEL: 050309
IBYR: 1990
IBJUL: 9
IBHR: 4
IBSEC: 0
NSECDT: 3600
XBTZ: 5.00000000
IRLG: 4
IAVG: 1
PMAP: UTM
DATUM: NAS-C
NX: 99
NY: 99
DXKM: 1.00000000
DYKM: 1.00000000
IONE: 1
XORIGKM: 310.000000
YORIGKM: 4820.00000
NSSTA: 5
IBCOMP: 1
IECOMP: 99
JBCOMP: 1
JECOMP: 99

10-7
Section 10: POSTPROCESSORS

Table 10-4 (Concluded)


Sample APPEND List File (APPEND.LST)

IBSAMP: 29
IESAMP: 48
JBSAMP: 40
JESAMP: 70
MESHDN: 1
NREC: 0
NCTREC: 0
LSGRID: T
LCOMPR: T
NSPOUT: 7
MSOURCE: 0

File NPTS NAREAS NLINES NVOLS


1 1 0 0 0
2 1 0 0 0

SPECIES: SO2 1 SO4 1 NO 1 NO2 1 HNO3 1


NO3 1 PM10 1

File: 1 Skipping: 0 Writing: 2


File: 2 Skipping: 2 Writing: 2
Skipping YRE,DAYE,HRE,SECE = 1990 9 5 0 in File: 2
Skipping YRE,DAYE,HRE,SECE = 1990 9 6 0 in File: 2

Number of periods processed: 4

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

Table 10-5: CALSUM Input and Output Files

Unit File Name Type Format Description

io5 CALSUM.INP input formatted Control file containing user inputs

io6 CALSUM.LST output formatted List file containing CALSUM


application information

io10 MODEL.DAT output unformatted CALPUFF output data file containing


modeled concentration or deposition
flux data for all sources

io21 MODEL1.DAT input unformatted First CALPUFF output data file


containing modeled concentration or
deposition flux data for first group of
sources

io21 MODELn.DAT input unformatted Last of "n" CALPUFF output data


+(n-1) files containing modeled
concentration or deposition flux data
for source group "n"

10-10
Section 10: POSTPROCESSORS

Table 10-6: CALSUM Control File Structure

Record Variable Variable Type Description Sample


No. No. Values

1 1 NFILES integer Number of files to combine 3

2 1 CFILE character*7 File name for first CALPUFF data SRC1.CON


(1) 0 file that will be combined
array

... ... ... ... ... ...

1+ 1 CFILE character*7 File name for last CALPUFF data SRC3.CON


NFILE (NFILES) 0 file that will be combined
S array

2+ 1 CFILOUT character*7 File name for the new CALPUFF CONC.DA


NFILE 0 data file (all sources) T
S array

3+ 1 LCOMPR logical Data compression used in output T


NFILE O file? (T/F)
S

4+ 1 NSPEC integer Number of species in each of the 3


NFILE files
S

4+ 1 to ASCALE, real Scaling factors a,b for each 2.0,0.0001,


NFILE 2*NSPE BSCALE array species for the first file that will be 2.0,0.0001,
S C combined (B in g/m3 or g/m2/s) 2.0,0.0001
+1

... ... ... ... ... ...

4+2* 1 to ASCALE, real Scaling factors a,b for each 1.0,0.000,


NFILE 2*NSPE BSCALE array species for the last file that will be 1.0,0.000,
S C combined (B in g/m3 or g/m2/s) 1.0,0.000

5+2* 1 TITLEO character*8 Title record #1 for output data file -


NFILE (1) 0
S array

6+2* 1 TITLEO character*8 Title record #2 for output data file -

10-11
Section 10: POSTPROCESSORS

NFILE (2) 0
S array

7+2* 1 TITLEO character*8 Title record #3 for output data file -


NFILE (3) 0
S array

10-12
Section 10: POSTPROCESSORS

Table 10-7: Sample CALSUM Control File (CALSUM.INP)

2 - Number of files
cpuf.con - INPUT file name
cpuf2.con - INPUT file name
cpufsum.con - OUTPUT file name
T - Compression flag for OUTPUT file (T, F)
7 - Number of species
.5 .0 .5 .0 .5 .0 .5 .0 .5 .0 .5 .0 .5 .0 - Scaling factors (aX+b) for each species and file
.5 .0 .5 .0 .5 .0 .5 .0 .5 .0 .5 .0 .5 .0 - Scaling factors (file #2)
CALSUM output file - Example CALPUFF Application
Sum of concentrations from 2 identical CALPUFF Files
Scale values by 0.5 before summing

10-13
Section 10: POSTPROCESSORS

Table 10-8: Sample CALSUM List File (CALSUM.LST)

CALSUM -- Version: 1.33 Level: 051122


NFILES = 2

Names of input files:

No. 1 Filename: cpuf.con


No. 2 Filename: cpuf2.con

Name of output file:

Output Filename: cpufsum.con

Output file compressed? (LCOMPRO) = T

Scaling factors (of form X(new) = X(old)*ASCALE + BSCALE) for each species

No. species (NSPEC) = 7


File: 1(ASCALE, BSCALE):
5.00000E-01 0.00000E+00 5.00000E-01 0.00000E+00 5.00000E-01 0.00000E+00
5.00000E-01 0.00000E+00 5.00000E-01 0.00000E+00
5.00000E-01 0.00000E+00 5.00000E-01 0.00000E+00
File: 2(ASCALE, BSCALE):
5.00000E-01 0.00000E+00 5.00000E-01 0.00000E+00 5.00000E-01 0.00000E+00
5.00000E-01 0.00000E+00 5.00000E-01 0.00000E+00
5.00000E-01 0.00000E+00 5.00000E-01 0.00000E+00

BSCALE is in grams/m**3

NOTE: When using BSCALE to add a constant background concentration


this is normally done by apply BSCALE to one CALPUFF
output file only, with SCALE=0 for the other files

Title lines on new output file:


CALSUM output file - Example CALPUFF Application
Sum of concentrations from 2 identical CALPUFF Files
Scale values by 0.5 before summing

Title lines from file No.: 1


CALPUFF Demonstration Run

Title lines from file No.: 2


CALPUFF Demonstration Run

10-14
Section 10: POSTPROCESSORS

Table 10-8 (Concluded)


Sample CALSUM List File (CALSUM.LST)

Data from header records of File #1


CMODEL: CALPUFF
VER: 5.727
LEVEL: 050309
IBYR: 1990
IBJUL: 9
IBHR: 4
IBSEC: 0
NSECDT: 3600
XBTZ: 5.00000000
IRLG: 4
IAVG: 1
PMAP: UTM
DATUM: NAS-C
NX: 99
NY: 99
DXKM: 1.00000000
DYKM: 1.00000000
IONE: 1
XORIGKM: 310.000000
YORIGKM: 4820.00000
NSSTA: 5
IBCOMP: 1
IECOMP: 99
JBCOMP: 1
JECOMP: 99
IBSAMP: 29
IESAMP: 48
JBSAMP: 40
JESAMP: 70
MESHDN: 1
NREC: 0
NCTREC: 0
LSGRID: T
NSPOUT: 7
MSOURCE: 0

File NPTS NAREAS NLINES NVOLS


1 1 0 0 0
2 1 0 0 0

SPECIES: SO2 1 SO4 1 NO 1 NO2 1 HNO3 1


NO3 1 PM10 1

Sources identified in all files processed


Source type 1
STK1
STK1

Number of periods processed: 4

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:

User-selected processing period.


User-selected chemical species to process.
User-selected chemical species to output.
User-defined (new) chemical species to construct and output (e.g., total S and Total N deposition).
Option to sum wet and dry deposition fluxes to a total flux species.
Option to repartition nitric acid/nitrate based on total available sulfate and ammonia.
Option to scale all concentration/deposition flux data by means of a linear function of the form: a*X
+ b (where X is concentration or deposition, and a,b are user-supplied constants).
Option to add an hourly, receptor-specific background concentration/deposition flux.

Typical uses for POSTUTIL include:

Scaling and summing results obtained from CALPUFF applications to different source groups. This
is similar to CALSUM, but the files that are combined do not need to contain the same species.
Negative scale factors can be used to obtain difference fields suitable for assessing increment
consumption.
Combining species sets modeled in different CALPUFF applications, as when MESOPUFF II
chemical transformation is modeled in one CALPUFF application, and secondary organic aerosol
(SOA) formation is modeled in another CALPUFF application (both would be needed in one file to
assess visibility).
Summing wet and dry deposition fluxes to obtain the total deposition flux as a new species.
Computing the total sulfur and the total nitrogen deposition flux associated with ammonium sulfate
and ammonium nitrate.
Repartitioning nitrates to be consistent with the total available sulfate and ammonia due to all
sources and background, prior to assessing visibility with CALPOST.

Table 10-9 lists the default name of each input and output file associated with POSTUTIL.

10-16
Section 10: POSTPROCESSORS

Table 10-9: POSTUTIL Input and Output Files

Unit Default File Name Type Format Description

in2 POSTUTIL.INP input formatted Control file containing user inputs

in1 CALPUFF.DAT input unformatted First CALPUFF format data file


containing modeled concentration or
deposition flux data

in1 (none) input unformatted Last of "n" CALPUFF format data


+(n-1) files containing modeled
concentration or deposition flux data

in4 MET.DAT input unformatted Optional file of meteorological data


from CALMET

in5 MET_1D.DAT input unformatted Optional file of meteorological data as


a 1-dimensional file

in5 RHUMD.DAT input unformatted Optional file of surface relative


humidity as a 2-dimensional file
(output of CALPUFF)

in6 TEMP.DAT input unformatted Optional file of surface temperature as


a 2-dimensional file (output of
CALPUFF)

in7 RHOAIR.DAT input unformatted Optional file of surface density as a 2-


dimensional file (output of
CALPUFF)

in8 BCKGALM.DAT input unformatted Optional file of background


concentrations such as SO4, NO3,
HNO3 and TNH3

io1 POSTUTIL.LST output formatted List file containing POSTUTIL


application information

io2 MODEL.DAT output unformatted Data file containing POSTUTIL


results (CALPUFF format)

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:

! MODDAT =WFLX.DAT ! !END!


! MODDAT =DFLX.DAT ! !END!

10-18
Section 10: POSTPROCESSORS

Table 10-10: POSTUTIL Control File Inputs - Input Group 0

Input and Output File Names

Variable Type Description Default

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

NMET integer Number of CALMET data files or other 0


meteorological data files input for processing

LCFILES logical Control flag for converting file names to lower T


case if T, or to upper case if F

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)

MODDAT character*132 NFILES file names of CALPUFF data files CALPUFF.DAT


processed by POSTUTIL application, including
path if desired

10-20
Section 10: POSTPROCESSORS

Table 10-10 (Continued)


POSTUTIL Control File Inputs - Input Group 1
General Run Control Parameters

Variable Type Description Default

ISYR integer Starting year of data to process (four digits) -

ISMO integer Starting month -

ISDY integer Starting day -

ISHR integer Starting hour (0-23). Uses ending hour -


convention (e.g., Hour 1 refers to the period from
0:00 - 1:00).

NPER integer Number of periods to process -

NSPECINP integer Number of modeled species to process from input -


CALPUFF data files

NSPECOU integer Number of species to write to output CALPUFF -


T format data file

NSPECCM integer Number of new species computed from the -


P modeled species that are processed (must be no
greater than NSPECOUT)

MDUPLCT integer Stop run if any of the NSPECINP species names 0


are found in more than one data file
0 = no (i.e., duplicate species are summed)
1 = yes (i.e., run is halted)

NSCALED integer Number of input CALPUFF data files for which 0


scaling factors are provided in Group 2d by
species (must be no greater than NFILES)

10-21
Section 10: POSTPROCESSORS

Table 10-10 (Continued)


POSTUTIL Control File Inputs - Input Group 1
Control Parameters (continued) for HNO3/NO3 repartition

Variable Type Description Default

MNITRAT integer Option to repartition HNO3/NO3 concentrations 0


E prior to performing other actions (does not alter
deposition fluxes)
0 = no
1 = yes, for all sources combined (requires
MET.DAT)
2 = yes, for a source group, based on ratio of
species HNO3ALL/NO3ALL
3 = yes, for ALM application in one step

NH3TYP integer Option to select the input source of Ammonia No default


(NH3 or TNH3) for either MNITRATE=1 or
MNITRATE=3
0 = Ammonia from concentration file is used
alone
1 = Ammonia listed in BCKNH3 or BCKTNH3
will be added to Ammonia from the concentration
file
2 = Ammonia from background concentration file
BCKGALM will be added to Ammonia from the
concentration file
3 = Ammonia listed in BCKNH3 or NCKTNH3
will be used alone
4 = Ammonia from background concentration file
BCKGALM will be used alone

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

Table 10-10 (Concluded)


POSTUTIL Control File Inputs - Input Group 2
Species Processing Information

Variable Type Description Default

ASPECI character*12 Subgroup 2a: -


Input species names to process (NSPECINP
names)

ASPECO character*12 Subgroup 2b: -


Output species names (NSPECOUT names)

CSPECCM character*12 Subgroup 2c: (if NSPECCMP > 0) -


P Names for new species created (NSPECCMP
names), followed by the scaling factor for each of
the NSPECINP species that are processed (use
species names to assign scaling factors)

MODDAT character*70 Subgroup 2d: (if NSCALED > 0) -


File name for each input CALPUFF data file that
is scaled before being processed (NSCALED
names must be a subset of the MODDAT file
names provided in Group 0)

A,B real Subgroup 2d: (if NSCALED > 0) 1.0, 0.0


Scaling constants for linear scaling of the form
(A*x+B). Provide NSCALED groups of A,B
values, one group per input CALPUFF data file
that is scaled. Each group, consistes of the
MODDAT identifying the file, and the pair of
scaling parameters for each species in the file.

10-23
Section 10: POSTPROCESSORS

Table 10-11: Sample POSTUTIL Control File (POSTUTIL.INP)


Input Group 0
Example application for total deposition fluxes (wet & dry)
Nitrogen deposition due to NO, NO2, HNO3, NH4NO3, and (NH4)2SO4
Sulfur deposition due to SO2, (NH4)2SO4
---------------- Run title (3 lines) ------------------------------------------

POSTUTIL MODEL CONTROL FILE


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

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

INPUT GROUP: 0 -- Input and Output File Names


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

-------------
Subgroup (0a)
-------------

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

File Default File Name


---- -----------------
List File POSTUTIL.LST ! UTLLST =POSTUTIL.LST !
Data File MODEL.DAT ! UTLDAT =CALPUFF.FLX !

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

A time-varying file of "background" concentrations can be included


when the ammonia-limiting method (ALM) for setting the HNO3/NO3
concentration partition is accomplished in 1 step. This option
is selected by setting MNITRATE=3 in Input Group 1.
Species required in the "background" concentration file are:
SO4, NO3, HNO3 and TNH3 (total NH3).

File Default File Name


---- -----------------
BCKG File BCKGALM.DAT * BCKGALM =BCKGALM.DAT *

A number of CALPUFF data files may be processed in this application.


The files may represent individual CALPUFF simulations that were made
for a specific set of species and/or sources. Specify the total number
of CALPUFF runs you wish to combine, and provide the filename for each
in subgroup 0b.

Number of CALPUFF data files (NFILES)


Default: 1 ! NFILES = 2 !

10-24
Section 10: POSTPROCESSORS

Table 10-11 (Continued)


Sample POSTUTIL Control File (POSTUTIL.INP)
Input Group 0
Meteorological data files are needed for the HNO3/NO3 partition option.
Three types of meteorological data files can be used:
METFM= 0 - CALMET.DAT
METFM= 1 - 1-D file with RH, Temp and Rhoair timeseries
METFM= 2 - 2-D files with either Rh, Temp or Rhoair in each
(3 2_D files are needed)
The default is to use CALMET.DAT files.

Default: 0 ! METFM = 0 !

Multiple meteorological data files may be used in sequence to span the


processing period. Specify the number of time-period files (NMET) that
you need to use, and provide a filename for each in subgroup 0b.
- NMET is 0 if no meteorological files are provided
- NMET is 1 if METFM=1 (multiple file feature is not available)
- NMET is 1 or more if METFM=0 or 2 (multiple CALMET files or 2DMET files)

Number of meteorological data file time-periods (NMET)


Default: 0 ! NMET = 0 !

All filenames will be converted to lower case if LCFILES = T


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

Convert filenames to lower case? Default: T ! LCFILES = T !


T = lower case
F = UPPER CASE

!END!

-----------------------------------------------------------
NOTE: file/path names can be up to 70 characters in length
-----------------------------------------------------------

10-25
Section 10: POSTPROCESSORS

Table 10-11 (Continued)


Sample POSTUTIL Control File (POSTUTIL.INP)
Input Group 0b
-------------
Subgroup (0b)
-------------

NMET CALMET Data Files (METFM=0):

Input File Default File Name


---------- -----------------
1 MET.DAT * UTLMET =CALMET.DAT * *END*

NMET 1-D Data Files (METFM=1):

Input File Default File Name


---------- -----------------
1 MET_1D.DAT * MET1D = MET_1D.DAT * *END*

NMET 2-D Data Files of Each Type (METFM=2):

Input File Default File Name


---------- -----------------
1 RHUMD.DAT * M2DRHU = RELHUM.DAT * *END*
1 TEMP.DAT * M2DTMP = TEMP.DAT * *END*
1 RHOAIR.DAT * M2DRHO = RHOAIR.DAT * *END*

NFILES CALPUFF Data Files:

Input File Default File Name


---------- -----------------
1 CALPUFF.DAT ! MODDAT =CALPUFF.WET ! !END!
2 (none) ! MODDAT =CALPUFF.DRY ! !END!

-------------
Note: provide NMET lines of the form * UTLMET = name * *END*

or * MET1D = name * *END*

or * M2DRHU = name * *END*


(and) * M2DTMP = name * *END*
(and) * M2DRHO = name * *END*

and NFILES lines of the form * MODDAT = name * *END*

where the * should be replaced with an exclamation point,


the special delimiter character.

10-26
Section 10: POSTPROCESSORS

Table 10-11 (Continued)


Sample POSTUTIL Control File (POSTUTIL.INP)
Input Group 1

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

INPUT GROUP: 1 -- General run control parameters


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

Starting date: Year (ISYR) -- No default ! ISYR = 1990 !


Month (ISMO) -- No default ! ISMO = 1 !
Day (ISDY) -- No default ! ISDY = 9 !
Hour (ISHR) -- No default ! ISHR = 5 !

Number of periods to process


(NPER) -- No default ! NPER = 4 !

Number of species to process from CALPUFF runs


(NSPECINP) -- No default ! NSPECINP = 7 !

Number of species to write to output file


(NSPECOUT) -- No default ! NSPECOUT = 3 !

Number of species to compute from those modeled


(must be no greater than NSPECOUT)
(NSPECCMP) -- No default ! NSPECCMP = 2 !

When multiple files are used, a species name may appear in more than
one file. Data for this species will be summed (appropriate if the
CALPUFF runs use different source groups). If this summing is not
appropriate, remove duplicate species from the file(s).

Stop run if duplicate species names


are found? (MDUPLCT) Default: 0 ! MDUPLCT = 0 !
0 = no (i.e., duplicate species are summed)
1 = yes (i.e., run is halted)

Data for each species in a CALPUFF data file may also be scaled as
they are read. This can be done to alter the emission rate of all
sources that were modeled in a particular CALPUFF application.
The scaling factor for each species is entered in Subgroup (2d), for
each file for which scaling is requested.

Number of CALPUFF data files that will be scaled


(must be no greater than NFILES)
(NSCALED) Default: 0 ! NSCALED = 0 !

10-27
Section 10: POSTPROCESSORS

Table 10-11 (Continued)


Sample POSTUTIL Control File (POSTUTIL.INP)
Input Group 1
Ammonia-Limiting Method Option to recompute the HNO3/NO3 concentration
partition prior to performing other actions is controlled by MNITRATE.
This option will NOT alter any deposition fluxes contained in the CALPUFF
file(s). Three partition selections are provided. The first two are
typically used in sequence (POSTUTIL is run more than once). The first
selection (MNITRATE=1) computes the partition for the TOTAL (all sources)
concentration fields (SO4, NO3, HNO3; NH3), and the second (MNITRATE=2)
uses this partition (from the previous application of POSTUTIL) to
compute the partition for individual source groups. The third selection
(MNITRATE=3) can be used instead in a single POSTUTIL application if a
file of background concentrations is provided (BCKGALM in Input Group 0).

Required information for MNITRATE=1 includes:


species NO3, HNO3, and SO4
NH3 concentration(s)
met. data file for RH and T

Required information for MNITRATE=2 includes:


species NO3 and HNO3 for a source group
species NO3ALL and HNO3ALL for all source groups, properly
partitioned

Required information for MNITRATE=3 includes:


species NO3, HNO3, and SO4 for a source group
species NO3, HNO3, SO4 and TNH3 from the background BCKGALM file
If TNH3 is not in the background BCKGALM file, monthly TNH3
concentrations are used (BCKTNH3)

Recompute the HNO3/NO3 partition for concentrations?


(MNITRATE) Default: 0 ! MNITRATE = 0 !
0 = no
1 = yes, for all sources combined
2 = yes, for a source group
3 = yes, ALM application in one step

SOURCE OF AMMONIA:

Ammonia may be available as a modeled species in the CALPUFF files,


and it may or may not be appropriate to use it for repartitioning NO3/HNO3
(in option MNITRATE=1 or MNITRATE=3). Its use is contolled by NH3TYP.
When NH3 is listed as a processed species in Subgroup (2a), as one of
the NSPECINP ASPECI entries, and the right option is chosen for NH3TYP,
the NH3 modeled values from the CALPUFF concentration files will be used
in the chemical equilibrium calculation.

10-28
Section 10: POSTPROCESSORS

Table 10-11 (Continued)


Sample POSTUTIL Control File (POSTUTIL.INP)
Input Group 1
NH3TYP also controls when monthly background ammonia values are used. Both
gaseous (NH3) and total (TNH3) ammonia can be provided monthly as
BCKNH3/BCKTNH3.

What is the input source of Ammonia?


(NH3TYP) No Default ! NH3TYP = 0 !
0 = No background will be used.
ONLY NH3 from the concentration
files listed in Subgroup (2a) as
a processed species will be used.
(Cannot be used with MNITRATE=3)

1 = NH3 Monthly averaged background (BCKNH3)


listed below will be added to NH3 from
concentration files listed in Subgroup (2a)

2 = NH3 from background concentration file BCKGALM


will be added to NH3 from concentration files
listed in Subgroup (2a)
(ONLY possible for MNITRATE=3)

3 = NH3 Monthly averaged background (BCKNH3)


listed below will be used alone.

4 = NH3 from background concentration file BCKGALM


will be used alone
(ONLY possible for MNITRATE=3)

| NH3TYP | NH3 CONC | NH3 FROM BCKNH3 | NH3 FROM BCKGALM |


|--------|----------|-----------------|------------------|
| 0 | X | 0 | 0 |
|--------|----------|-----------------|------------------|
| 1 | X | X | 0 |
|--------|----------|-----------------|------------------|
| 2 | X | 0 | X |
|--------|----------|-----------------|------------------|
| 3 | 0 | X | 0 |
|--------|----------|-----------------|------------------|
| 4 | 0 | 0 | X |
|--------|----------|-----------------|------------------|

Default monthly (12 values) background ammonia concentration (ppb)


used for HNO3/NO3 partition:

Gaseous NH3 (BCKNH3) Default: -999


! BCKNH3 = 1., 1., 1., 1.1, 1.4, 1.3, 1.3, 1.2, 4*1. !

Total TNH3 (BCKTNH3) Default: -999


* BCKTNH3 = 1., 1., 1., 1.1, 1.4, 1.3, 1.3, 1.2, 4*1. *

If a single value is entered, this is used for all 12 months.


Month 1 is JANUARY, Month 12 is DECEMBER.

!END!

10-29
Section 10: POSTPROCESSORS

Table 10-11 (Concluded)


Sample POSTUTIL Control File (POSTUTIL.INP)
Input Group 2
-------------------------------------------------------------------------------

INPUT GROUP: 2 -- Species Processing Information


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

-------------
Subgroup (2a)
-------------

The following NSPECINP species will be processed:

! ASPECI = SO2 ! !END!


! ASPECI = SO4 ! !END!
! ASPECI = NO ! !END!
! ASPECI = NO2 ! !END!
! ASPECI = HNO3 ! !END!
! ASPECI = NO3 ! !END!
! ASPECI = PM10 ! !END!

-------------
Subgroup (2b)
-------------

The following NSPECOUT species will be written:

! ASPECO = N ! !END!
! ASPECO = S ! !END!
! ASPECO = PM10 ! !END!

-------------
Subgroup (2c)
-------------

The following NSPECCMP species will be computed by scaling and summing


one or more of the processed input species. Identify the name(s) of
the computed species and provide the scaling factors for each of the
NSPECINP input species (NSPECCMP groups of NSPECINP+1 lines each):

! CSPECCMP = N !
! SO2 = 0.0 !
! SO4 = 0.291667 !
! NO = 0.466667 !
! NO2 = 0.304348 !
! HNO3 = 0.222222 !
! NO3 = 0.451613 !
! PM10 = 0.0 !
!END!

! CSPECCMP = S !
! SO2 = 0.500000 !
! SO4 = 0.333333 !
! NO = 0.0 !
! NO2 = 0.0 !
! HNO3 = 0.0 !
! NO3 = 0.0 !
! PM10 = 0.0 !
!END!

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

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.

Three "nspec" variables are set:


NSPECINP identifies the number of species that are stored as the input data files are read.
NSPECOUT identifies the number of species that are written to the output data file.
NSPECCMP identifies the number of new species that are computed from those that are stored.

For example, you may wish to store 7 of 12 species from the input files, and you may wish to compute 3
new species from these 7, and write the 3 new species plus 5 of the stored species to the output data file
for analysis with CALPOST. In this sample, the 6 chemical transformation species are stored, plus the
PM10 (! NSPECINP = 7 !), because all 6 are needed to compute the 2 new species (! NSPECCMP = 2 !),
the total sulfur and the total nitrogen fluxes. The original PM10 plus the 2 new species are written to the
output data file (! NSPECOUT = 3 !) so that the sum of the wet and dry fluxes are available for further
analysis.

Input Group: 2

The NSPECINP species that are stored for processing are named in Subgroup 2a. Species names must
match those used in the CALPUFF runs, but may be entered in any order. Each is read into the data
dictionary variable ASPECI.

Similarly, the NSPECOUT species are named in Subgroup 2b. These names include the original PM10
species, plus the two new species for total sulfur (S) and total nitrogen (N). Each is read into the data
dictionary variable ASPECO.

Subgroup 2c provides the information required to compute the new species. New species concentrations
or deposition fluxes are constructed using a weighted sum of the concentrations or deposition fluxes of all
of the stored species. The weight for each species is entered here. Only SO2 and SO4 contribute sulfur
mass. Nitrogen mass is contributed by SO4 (CALPUFF tracks ammonium sulfate as SO4), NO, NO2,
HNO3, and NO3 (CALPUFF tracks ammonium nitrate as NO3). The atomic weights for the constituent
elements are sulfur = 32, oxygen = 16, nitrogen = 14, and hydrogen = 1. The molecular formula for
ammonium sulfate is (NH4)2SO4 and ammonium nitrate is (NH4)NO3. Therefore:

10-32
Section 10: POSTPROCESSORS

1 g of SO2 contributes 0.500000 g of S


1 g of SO4 contributes 0.333333 g of S

1 g of SO4 contributes 0.291667 g of N


1 g of NO contributes 0.466667 g of N
1 g of NO2 contributes 0.304348 g of N
1 g of HNO3 contributes 0.222222 g of N
1 g of NO3 contributes 0.452623 g of N

As illustrated in the sample control file, each new species is identified by name using the data dictionary
variable CSPECCMP, and then each species weight is assigned by name. These species names must
match those NSPECINP names already provided in subgroup 2a. The! END! terminates each of the
NSPECCMP groups.

Subgroup 2d is not used in this sample, and could have been deleted from the file. Its structure is similar
to that of subgroup 2c. There must be NSCALED groups provided, and each group is closed with the
!END! terminator. Within each group, the file that is scaled is identified by name, assigned to the data
dictionary variable MODDAT. This name must match one of the file names provided in subgroup 0b.
After the file is identified, the scaling parameters are assigned to each species by name. Again, the
species names must match those NSPECINP names assigned in subgroup 2a.

A sample list file is shown in Table 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

Table 10-12: Sample POSTUTIL List File (POSTUTIL.LST)


(Partial Listing)
**************************************************************************************************************
POSTUTIL Version 1.52 Level 060412
**************************************************************************************************************

POSTUTIL Control File Input Summary ------------------------

Run starting date -- year: 1990


month: 1
day: 9
Julian day: 9
time beginning - hour(0-23): 4
- second: 0
Run length (periods): 4

Note: the length of a period is controlled by


the averaging time selected in the model

Partition between HNO3 and NO3 is NOT computed


and 1-step Ammonia Limiting Method is not used

Species needed from input file --


SO2
SO4
NO
NO2
HNO3
NO3
PM10

Species written to output file --


N
S
PM10

Species computed from input species --

N =
0.0000E+00 * SO2
0.2917E+00 * SO4
0.4667E+00 * NO
0.3043E+00 * NO2
0.2222E+00 * HNO3
0.4516E+00 * NO3
0.0000E+00 * PM10

S =
0.5000E+00 * SO2
0.3333E+00 * SO4
0.0000E+00 * NO
0.0000E+00 * NO2
0.0000E+00 * HNO3
0.0000E+00 * NO3
0.0000E+00 * PM10

10-34
Section 10: POSTPROCESSORS

Table 10-12 (Continued)


Sample POSTUTIL List File (POSTUTIL.LST)
(Partial Listing)
PROCESSED MODEL FILE ---------- Number 1

CALPUFF 5.754 060202

CALPUFF Demonstration Run

Averaging time for values reported from model:


1 HOUR

Number of averaging periods in file from model:


4

Chemical species names for each layer in model:


SO2 WF
SO4 WF
NO WF
NO2 WF
HNO3 WF
NO3 WF
PM10 WF

msyr,mjsday = 1990 9
mshr,mssec = 4 0
nsecdt (period) = 3600
mnper,nszout,mavgpd = 4 7 1
xorigkm,yorigkm,nstas = 310.000000 4820.00000 5
ielmet,jelmet = 99 99
delx,dely,nz = 1.00000000 1.00000000 1
iastar,iastop,jastar,jastop = 1 99 1 99
isastr,isastp,jsastr,jsastp = 29 48 40 70
(computed) ngx,ngy = 20 31
meshdn,npts,nareas = 1 1 0
nlines,nvols = 0 0
ndrec,nctrec,LSGRID = 0 0 T

Source names stored (all files):


type: pt1 - STK1

PROCESSED MODEL FILE ---------- Number 2

CALPUFF 5.754 060202

CALPUFF Demonstration Run

Averaging time for values reported from model:


1 HOUR

Number of averaging periods in file from model:


4

10-35
Section 10: POSTPROCESSORS

Chemical species names for each layer in model:


SO2 DF
SO4 DF
NO DF
NO2 DF
HNO3 DF
NO3 DF
PM10 DF

10-36
Section 10: POSTPROCESSORS

Table 10-12 (Continued)


Sample POSTUTIL List File (POSTUTIL.LST)
(Partial Listing)

msyr,mjsday = 1990 9
mshr,mssec = 4 0
nsecdt (period) = 3600
mnper,nszout,mavgpd = 4 7 1
xorigkm,yorigkm,nstas = 310.000000 4820.00000 5
ielmet,jelmet = 99 99
delx,dely,nz = 1.00000000 1.00000000 1
iastar,iastop,jastar,jastop = 1 99 1 99
isastr,isastp,jsastr,jsastp = 29 48 40 70
(computed) ngx,ngy = 20 31
meshdn,npts,nareas = 1 2 0
nlines,nvols = 0 0
ndrec,nctrec,LSGRID = 0 0 T

Source names stored (all files):


type: pt1 - STK1
type: pt1 - STK1

************** WARNING ***************


Requested input species name exists in more
than one data file. Species will be summed
Species Name: SO2

************** WARNING ***************


Requested input species name exists in more
than one data file. Species will be summed
Species Name: SO4

************** WARNING ***************


Requested input species name exists in more
than one data file. Species will be summed
Species Name: NO

************** WARNING ***************


Requested input species name exists in more
than one data file. Species will be summed
Species Name: NO2

************** WARNING ***************


Requested input species name exists in more
than one data file. Species will be summed
Species Name: HNO3

************** WARNING ***************


Requested input species name exists in more
than one data file. Species will be summed
Species Name: NO3

************** WARNING ***************


Requested input species name exists in more
than one data file. Species will be summed
Species Name: PM10

Chemical species names written to new file:

10-37
Section 10: POSTPROCESSORS

N TF
S TF
PM10 TF

10-38
Section 10: POSTPROCESSORS

Table 10-12 (Concluded)


Sample POSTUTIL List File (POSTUTIL.LST)
(Partial Listing)

--------------------------------------------------------------------------------------------------------------
INPUT FILES

Default Name Unit No. File Name and Path


------------ -------- ------------------
POSTUTIL.INP 5 postutil.inp
CALPUFF.DAT 10 calpuff.wet
(none) 11 calpuff.dry

-------------------------------------------------------------------------------------------------------------
OUTPUT FILES

Default Name Unit No. File Name and Path


------------ -------- ------------------
POSTUTIL.LST 7 postutil.lst
MODEL.DAT 8 calpuff.flx

Skipping periods in data files


Start Time 1990 9 4 0
Data File --- Skipped Periods
1 0
2 0

Skipping periods in background pollutant files


Start Time 1990 9 4 0
Data File --- Skipped Periods
3 0

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:

User-selected processing period.


User-selected averaging times, including option for one defined by the user.
User-selected chemical species.
User-selected units for reporting concentrations or deposition fluxes.
Option to include gridded receptors, discrete receptors, and complex terrain receptors in any
combination.
Option to specify subsets of the gridded and discrete receptors.
Option to report results by receptor rings.
Option to produce tables of the "top-50" average concentration/deposition flux data (includes time
and receptor information) for specified averaging times.
Option to produce tables of up to four "top-N" (user specifies the number N) ranked average
concentration/deposition flux data at the selected receptors for specified averaging times.
Option to produce tables of the number of exceedances of user-specified threshold values at the
selected receptors for specified averaging times.
Option to produce a table of the annual (or length-of-run) average concentration/deposition flux at
the selected receptors.
Option to print concentration/deposition flux averages for selected days.
Option to produce a file of timeseries of concentration/deposition flux averages for selected days.
Option to produce files of timeseries of the peak concentration/deposition flux average over all
selected receptors for each selected averaging period. Each output file contains one averaging
period.
Option to produce plot-files in addition to the selected tables for the top-N concentrations or
deposition fluxes, the number of exceedances of the user-specified thresholds, and the
concentration/deposition flux fields for a particular day.
Option to scale all concentration/deposition flux data by means of a linear function of the form:
a*X + b (where X is concentration or deposition, and a,b are user-supplied constants).
Option to add an hourly background concentration/deposition flux from an external file.
Option to produce visibility parameters, signaled by setting the species name to "VISB". Requires
that CALPUFF is configured for visibility computations.

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

Table 10-13: CALPOST Input and Output Files

Unit File Name Type Format Description

in2 CALPOST.INP input formatted Control file containing user inputs

in1 MODEL.DAT input unformatte CALPUFF output file containing


d modeled concentration or deposition
flux data

in3 VISB.DAT input unformatte CALPUFF output file containing


d relative humidity data (required only
for visibility applications)

in4 BACK.DAT input formatted Optional file of hourly background


concentrations

in5 VSRN.DAT input formatted Optional file of hourly background


extinction coefficients from
transmissometer or nephelometer

io1 CALPOST.LST output formatted List file containing CALPOST tables


and other generated data

iot ouput formatted Timeseries of (1,3,24)-hour or N-


TSERIES_ASPEC_ttHR_CON
(1,3,2 period averages
C_TSUNAM.DAT
4,n)

iop ouput formatted Timeseries of PEAK (1,3,24)-hour or


PEAKVAL_ASPEC_ttHR_CO
(1,3,2 N-period average at selected receptors
NC_TSUNAM.DAT
4,n)

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

Table 10-13 (concluded)


CALPOST Input and Output Files

Unit File Name Type Format Description

mapu EXCEED_ASPEC_ttHR_CON output formatted Exceedance Plot File in DATA format


C_XUNAM.DAT
EXCEED_ASPEC_ttHR_CON
C_XUNAM.GRD Exceedance Plot File in GRID format

mapu yyyy_Mmm_Ddd_hh00(UTCsz output formatted Echo Plot File in DATA format


zzz)_L00_ASPEC_ttHR_CON
C.DAT Echo Plot File in GRID format
yyyy_Mmm_Ddd_hhmm(UTCs
zzzz)_L00_ASPEC_ttHR_CON
C.GRD

mapu DAILY_VISIB_VUNAM.DAT output formatted Daily Peak Summary of Visibility

Filenames for optional files are constructed using a template that includes a pathname, optional user-supplied character(s), and
automatically generated characters, where
tt = averaging period (e.g. 03) (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

10.5 Input Files

10.5.1 User Control File (CALPOST.INP)

User-specified inputs to CALPOST are read from a control file whose default name is CALPOST.INP. A
description of each input variable is shown in Table 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.

10.5.2 CALPUFF Output Files (MODEL.DAT and VISB.DAT)

The program reads the concentration/deposition flux data from an unformatted data file (default name:
MODEL.DAT) that is generated by the CALPUFF model (or CALGRID). CALPUFF also generates a
file containing relative humidity data (default name: VISB.DAT), which is read by CALPOST if needed
for the visibility option selected. The structure of these files is described in Section 9-13.

10.5.3 Background Concentrations/Deposition Fluxes (BACK.DAT)

As an option, a spatially uniform, hourly background concentration/deposition flux can be added to


modeled concentrations/deposition fluxes before averages are processed in CALPOST. These values are
provided in a formatted ASCII file (default name: BACK.DAT) prepared by the user. Table 10-16 lists
the record structure for this file, and a partial listing of a sample file is presented in Table 10-17.

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.

10.5.4 Visibility Measurements (VSRN.DAT)

CALPOST allows the use of visibility measurements to establish hourly background extinction for use in
assessing the change in visibility resulting from modeled emissions. Two formats are supported for these
data, and both are taken from the data files available on CD-ROM from the Interagency Monitoring of
Protected Visual Environments (IMPROVE) program. When background extinction method number 4 is
selected in the control file (MVISBK = 4), transmissometer measurements must be provided in the

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

Table 10-14: CALPOST Control File Inputs - Input group 0

Input and Output File Names

Variable Type Description Default

MODDAT character*70 File name of modeled concentration/deposition MODEL.DAT


data file, including full path if desired

VISDAT character*70 File name of input relative humidity data file, VISB.DAT
including full path if desired (for visibility)

BACKDAT character*70 File name of input hourly background BACK.DAT


concentration or deposition flux data file,
including full path if desired

VSRDAT character*70 File name of input hourly background light VSRN.DAT


extinction data, including full path if desired

PSTLST character*70 File name of list file of output from CALPOST.LST


CALPOST, including full path if desired

TSPATH character*70 Pathname for time-series files (optional: must (blank)


not be blank if supplied)

PLPATH character*70 Pathname for plot-files (optional: must not be (blank)


blank if supplied)

TSUNAM character*8 User-supplied characters for Timeseries file (blank)


names (optional: must not be blank if supplied)

TUNAM character*8 User-supplied characters for Top-N plot-file (blank)


names (optional: must not be blank if supplied)

XUNAM character*8 User-supplied characters for Exceedance plot- (blank)


file names (optional: must not be blank if
supplied)
EUNAM character*8 (blank)
User-supplied characters for Echo plot-file
names (optional: must not be blank if supplied)
VUNAM character*8

10-48
Section 10: POSTPROCESSORS

User-supplied characters for Visibility plot-file


names (optional: must not be blank if supplied)

LCFILES logical Control flag for converting file names to lower T


case if T, or to upper case if F

10-49
Section 10: POSTPROCESSORS

Table 10-14 (Continued)


CALPOST Control File Inputs - Input Group 1
General Run Control Parameters

Variable Type Description Default

METRUN integer Option to run all periods in CALPUFF file (0,1) 0


0 = no, run the period defined by ISYR, ISMO, ISDY,
ISHR, ISMIN, ISSEC and IEYR, IEMO, IEDY,
IEHR, IEMIN, IESEC
1 = yes, run all periods found in the file
ISYR integer Starting year of data to process (four digits) -
ISMO integer Starting month a -
ISDY integer Starting day a -
ISHR, ISMIN, integer Starting timea (hour, minutes, seconds at the start of -
ISSEC the simulation).
IEYR integer Ending year of data to process (four digits) -
IEMO integer Ending month a -
IEDY integer Ending day a -
IEHR, IEMIN, integer Ending timea (hour, minutes, seconds at the end of the -
IESEC simulation).
BTZONE real Base Time Zone (optional if CALPUFF.DAT dataset -
NREP integer 2.1) 1
Process every "NREPth "period of data
1 = process every period
2 = process every 2nd period
ASPEC character*12 5 = process every 5th period -
ILAYER integer Name of "species" to process b 1
Code indicating layer of concentrations (always "1"
when processing concentrations from CALPUFF, "-1"
for dry deposition fluxes, "-2" for wet deposition
A real fluxes, and "-3" for total deposition fluxes) 0.0
Multiplicative scaling factor applied to modeled
concentrations or deposition fluxes (not applied if
B real A = B = 0.0) 0.0
Additive factor applied to modeled concentrations or
LBACK logical deposition fluxes (not applied if A = B = 0.0) F
Add background concentrations/deposition fluxes
from external file?
a
Used only if METRUN = 0.

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

Table 10-14 (Continued)


CALPOST Control File Inputs - Input Group 1
General Run Control Parameters

Variable Type Description Default

MSOURCE integer 0 = Process only total reported contributions 0


1 = Sum all individual source contributions and process
2 = Run in TRACEBACK mode to identify source
contributions at a SINGLE receptor

LG logical Process Gridded receptors? F

LD logical Process Discrete receptors? F

LCT logical Process CTSG complex terrain receptors? F

LDRING logical Report results by receptor ring? (Used only if LD= T) F

NDRECP integer aray Select specific discrete receptors (used only if LD=T) -1
-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)

NGONOFF integer Number of gridded receptor rows provided in Subgroup 0


1a to identify specific gridded receptors to process

(Optional Input Group 1a - Specific Gridded Receptors)

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

Table 10-14 (Continued)


CALPOST Control File Inputs - Input Group 2
Visibility Parameters

Variable Type Description Default

MFRH integer 1 = IWAQM (1998) f(RH) curve (originally used with 2


MVISBK=1)
2 = FLAG (2000) f(RH) tabulation
3 = EPA (2003) f(RH) tabulation

RHMAX real Maximum relative humidity (%) used in the particle 98


growth equation for visibility processing

LVSO4 logical Include modeled sulfate in extinction (T/F) T

LVNO3 logical Include modeled nitrate in extinction (T/F) T

LVOC logical Include modeled organic carbon in extinction (T/F) T

LVPMC logical Include modeled coarse particulates in extinction (T/F) T

LVPMF logical Include modeled fine particulates in extinction (T/F) T

LVEC logical Include modeled elemental carbon (T/F) T

LVBK logical Include background in extinction when ranking for top-n, T


top-50, or exceedance tables (T/F)

SPECPMC character*12 Species name for coarse particulates in MODEL. DAT PMC

SPECPMF character*12 Species name for coarse particulates in MODEL. DAT PMF

----- Extinction Efficiencies (m2/g) -----

EEPMC real Modeled coarse particulates 0.6

EEPMF real Modeled fine particulates 1.0

EEPMCBK real Background coarse particulates 0.6

EESO4 real Ammonium Sulfate 3.0

EENO3 real Ammonium Nitrate 3.0

10-54
Section 10: POSTPROCESSORS

EEOC real Organic Carbon 4.0

EESOIL real Soil Dust 1.0

EEEC real Elemental Carbon (soot) 10.0

10-55
Section 10: POSTPROCESSORS

Table 10-14 (Continued)


CALPOST Control File Inputs - Input Group 2
Visibility Parameters

Variable Type Description Default

LAVER logical Method used for the 24h-average of percent change of light F
extinction: Hourly ratio of source light extinction / background light
extinction is averaged?

MVISBK integer Method used to obtain background extinction: 2


1 = Supply single light extinction and hygroscopic fraction
- IWAQM (1993) RH adjustment applied to hygroscopic
background and modeled sulfate and nitrate
2 = Compute extinction from speciated PM measurements (A)
- Hourly RH adjustment applied to observed and modeled sulfate
and nitrate
- RH factor is capped at RHMAX
3 = Compute extinction from speciated PM measurements (B)
- Hourly RH adjustment applied to observed and modeled sulfate
and nitrate
- Receptor-hour excluded if RH>RHMAX
- Receptor-day excluded if fewer than 6 valid receptor-hours
4 = Read hourly transmissometer background extinction data
- Hourly RH adjustment applied to modeled sulfate and nitrate
- Hour excluded if measurement invalid (missing, interference,
or large RH)
- Receptor-hour excluded if RH>RHMAX
- Receptor-day excluded if fewer than 6 valid receptor-hours
5 = Read hourly nephelometer background extinction measurements
- Rayleigh extinction value (BEXTRAY) added to measurement
- Hourly RH adjustment applied to modeled sulfate and nitrate
- Hour excluded if measurement invalid (missing, interference,
or large RH)
- Receptor-hour excluded if RH>RHMAX
6 = Compute extinction from speciated PM measurements
- FLAG RH adjustment factor applied to observed and modeled
sulfate and nitrate.
7 = Compute extinction from speciated PM measurements as in [2]
for 'unobstructed' conditions; replace with extinction from
observed visual range for fog/precipitation conditions
- Hourly RH adjustment applied to observed and modeled sulfate
and nitrate
- RH factor is capped at RHMAX
- When fog/precip is observed, replace computed Bext with:
Bext(1/Mm) = 3912/VR(km)

10-56
Section 10: POSTPROCESSORS

----- Additional MVISBK = 1 Inputs -----

BEXTBK real Background light extinction coefficient (Mm-1) -

RHFRAC real Percentage of particles affected by relative humidity -

10-57
Section 10: POSTPROCESSORS

Table 10-14 (Continued)


CALPOST Control File Inputs - Input Group 2
Visibility Parameters

Variable Type Description Default

----- Additional MVISBK = 6 Inputs -----

RHFAC integer array Monthly relative humidity factors for adjusting -


(12) extinction coefficients for hygroscopic species

----- Additional MVISBK = 7 Inputs -----

IDWSTA integer Station ID -


TZONE real Time Zone -

----- Additional MVISBK = 2,3,6,7 Inputs -----

BKSO4 real array Monthly Background Ammonium Sulfate Concentration -


(12) (g/m3)

BKNO3 real array Monthly Background Ammonium Nitrate Concentration -


(12) (g/m3)

BKPMC real array Monthly Background Coarse Particulate Concentration -


(12) (g/m3)

BKOC (12) real array Monthly Background Organic Carbon Concentration -


(g/m3)

BKSOIL real array Monthly Background Soil Dust Concentration (g/m3) -


(12)

BKEC (12) real array Monthly Background Elemental Carbon Concentration -


(g/m3)

----- Additional MVISBK = 2,3,5,6,7 Inputs -----

10-58
Section 10: POSTPROCESSORS

BEXTRAY real Extinction due to Rayleigh Scattering (Mm-1) 10.

10-59
Section 10: POSTPROCESSORS

Table 10-14 (Continued)


CALPOST Control File Inputs - Input Group 3
Output Options

Variable Type Description Default

LDOC logical Documentation records contained in the header of the F


CALPUFF output file may be written to the list file. Print
documentation image?

IPRTU integer Output units flag: (always Mm-1 for extinction) 1


For concentrations For deposition fluxes
3
1 = g/m g/m2/s
2 = mg/m3 mg/m2/s
3 = ug/m3 ug/m2/s
4 = ng/m3 ng/m2/s
5 = odor units -

L1PD logical Report 1-period averages? T


(averaging period of CALPUFF output)

L1HR logical Report 1-hr averages? T

L3HR logical Report 3-hr averages? T

L24HR logical Report 24-hr averages? T

LRUNL logical Report length-of-run averages? T

NAVGH integer User-specified averaging time (hours component) 0

NAVGM integer User-specified averaging time (minutes component) 0

NAVGS integer User-specified averaging time (seconds component) 0

LT50 logical Produce top 50 tables? T

LTOPN logical Produce top N tables? F

NTOP integer Number of "top" values at each receptor (must be 4) 4

ITOP(4) integer array Specific ranks of "top" values reported (e.g., values of 1, 1,2,3,4
2, 5 and 48 would produce the highest, 2nd highest, 5th

10-60
Section 10: POSTPROCESSORS

highest, and 48th highest concentrations at each receptor)

LEXCD logical Produce exceedance tables? F

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.

Table 10-14 (Concluded)


CALPOST Control File Inputs - Input Group 3
Output Options

Variable Type Description Default

THRESH3 real Exceedance threshold (output units) for 3-hr averages -1g

THRESH24 real Exceedance threshold (output units) for 24-hr averages -1g

THRESHN real Exceedance threshold (output units) for NAVG-hr -1g


averages

g
Exceedance processing is only performed for selected averaging times with thresholds greater than or equal to zero.

----- Multiple Exceedance Processing -----

NDAY integer Number of days to accumulate exceedance counts when 0


reporting violations (NDAY > 0 activates this processing
option)

NCOUNT integer Number of exceedances allowed in a single NDAY 1


period

LECHO logical Output selected averages on selected days? F

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

selected days for all selected averaging times?

LPLT logical Generate plot-file output? F

LGRD logical Write plot-files in GRIDh format when available? F

LDEBUG logical Activate special debug output statements? F

LVEXTHR logical Output hourly extinction information to REPORT.HRV? F

h
GRID format is compatible with the 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

Table 10-15: Sample CALPOST Control File (CALPOST.INP)

CALPUFF Demonstration

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

CALPOST MODEL CONTROL FILE


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

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

INPUT GROUP: 0 -- Input and Output File Names


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

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

File Default File Name


---- -----------------
Conc/Dep Flux File MODEL.DAT ! MODDAT =CPUF.CON !
Relative Humidity File VISB.DAT * VISDAT = *
Background Data File BACK.DAT * BACKDAT = *
Transmissometer or VSRN.DAT * VSRDAT = *
Nephelometer Data File or
DATSAV Weather Data File or
Prognostic Weather File

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

File Default File Name


---- -----------------
List File CALPOST.LST ! PSTLST =CPST.LST !

Pathname for Timeseries Files (blank) * TSPATH = *


(activate with exclamation points only if
providing NON-BLANK character string)

Pathname for Plot Files (blank) * PLPATH = *


(activate with exclamation points only if
providing NON-BLANK character string)

User Character String to augment default filenames


(activate with exclamation points only if
providing NON-BLANK character string)

Timeseries TSERIES_ASPEC_ttHR_CONC_TSUNAM.DAT

* TSUNAM = *

Top Nth Rank Plot RANK(ALL)_ASPEC_ttHR_CONC_TUNAM.DAT


or RANK(ii)_ASPEC_ttHR_CONC_TUNAM.GRD

* TUNAM = *

Exceedance Plot EXCEED_ASPEC_ttHR_CONC_XUNAM.DAT


or EXCEED_ASPEC_ttHR_CONC_XUNAM.GRD

* XUNAM = *

Echo Plot
(Specific Days)
yyyy_Mmm_Ddd_hhmm(UTCszzzz)_L00_ASPEC_ttHR_CONC.DAT

10-63
Section 10: POSTPROCESSORS

or yyyy_Mmm_Ddd_hhmm(UTCszzzz)_L00_ASPEC_ttHR_CONC.GRD

Visibility Plot DAILY_VISIB_VUNAM.DAT ! VUNAM =VTEST !


(Daily Peak Summary)

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

Table 10-15 (Continued)


Sample CALPOST Control File (CALPOST.INP)

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


NOTE: (2) Filenames for ALL PLOT and TIMESERIES FILES are constructed
using a template that includes a pathname, user-supplied
character(s), and context-specific strings, where
ASPEC = Species Name
CONC = CONC Or WFLX Or DFLX Or TFLX
tt = Averaging Period (e.g. 03)
ii = Rank (e.g. 02)
hhmm = Time(begining) in LST - hour/minute
szzzz = LST time zone shift (EST is -0500)
yyyy = Year(LST)
mm = Month(LST)
dd = day of month (LST)
are determined internally based on selections made below.
If a path or user-supplied character(s) are supplied, each
must contain at least 1 non-blank character.

!END!
--------------------------------------------------------------------------------

INPUT GROUP: 1 -- General run control parameters


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

Option to run all periods found


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

METRUN = 0 - Run period explicitly defined below


METRUN = 1 - Run all periods in CALPUFF data file(s)

Starting date: Year (ISYR) -- No default ! ISYR = 1988!


Month (ISMO) -- No default ! ISMO = 7 !
Day (ISDY) -- No default ! ISDY = 7 !
Starting time: Hour (ISHR) -- No default ! ISHR = 0 !
Minute (ISMIN) -- No Default ! ISMIN = 0 !
Second (ISSEC) -- No Default ! ISSEC = 0 !

Ending date: Year (IEYR) -- No default ! IEYR = 1988!


Month (ISMO) -- No default ! IEMO = 7 !
Day (IEDY) -- No default ! IEDY = 7 !
Ending time: Hour (IEHR) -- No default ! IEHR = 1 !
Minute (IEMIN) -- No Default ! IEMIN = 0 !
Second (IESEC) -- No Default ! IESEC = 0 !

(These are used only if METRUN = 0)

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

Process every period of data?


(NREP) -- Default: 1 ! NREP = 1 !
(1 = every period processed,
2 = every 2nd period processed,
5 = every 5th period processed, etc.)

Species & Concentration/Deposition Information


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

10-65
Section 10: POSTPROCESSORS

Species to process (ASPEC) -- No default ! ASPEC = SO2 !


(ASPEC = VISIB for visibility processing)

Layer/deposition code (ILAYER) -- Default: 1 ! ILAYER = 1 !


'1' for CALPUFF concentrations,
'-1' for dry deposition fluxes,
'-2' for wet deposition fluxes,
'-3' for wet+dry deposition fluxes.

Scaling factors of the form: -- Defaults: ! A = 0.0 !


X(new) = X(old) * A + B A = 0.0 ! B = 0.0 !
(NOT applied if A = B = 0.0) B = 0.0

Add Hourly Background Concentrations/Fluxes?


(LBACK) -- Default: F ! LBACK = F !

10-66
Section 10: POSTPROCESSORS

Table 10-15 (Continued)


Sample CALPOST Control File (CALPOST.INP)

Source information
------------------

Option to process source contributions:


0 = Process only total reported contributions
1 = Sum all individual source contributions and process
2 = Run in TRACEBACK mode to identify source
contributions at a SINGLE receptor
(MSOURCE) -- Default: 0 ! MSOURCE = 0 !

Receptor information
--------------------

Gridded receptors processed? (LG) -- Default: F ! LG = T !


Discrete receptors processed? (LD) -- Default: F ! LD = F !
CTSG Complex terrain receptors processed?
(LCT) -- Default: F ! LCT = F !

--Report results by DISCRETE receptor RING?


(only used when LD = T) (LDRING) -- Default: F ! LDRING = F !

--Select range of DISCRETE receptors (only used when LD = T):

Select ALL DISCRETE receptors by setting NDRECP flag to -1;


OR
Select SPECIFIC DISCRETE receptors by entering a flag (0,1) for each
0 = discrete receptor not processed
1 = discrete receptor processed
using repeated value notation to select blocks of receptors:
23*1, 15*0, 12*1
Flag for all receptors after the last one assigned is set to 0
(NDRECP) -- Default: -1
! NDRECP = -1 !

--Select range of GRIDDED receptors (only used when LG = T):

X index of LL corner (IBGRID) -- Default: -1 ! IBGRID = -1 !


(-1 OR 1 <= IBGRID <= NX)

Y index of LL corner (JBGRID) -- Default: -1 ! JBGRID = -1 !


(-1 OR 1 <= JBGRID <= NY)

X index of UR corner (IEGRID) -- Default: -1 ! IEGRID = -1 !


(-1 OR 1 <= IEGRID <= NX)

Y index of UR corner (JEGRID) -- Default: -1 ! JEGRID = -1 !


(-1 OR 1 <= JEGRID <= NY)

Note: Entire grid is processed if IBGRID=JBGRID=IEGRID=JEGRID=-1

--Specific gridded receptors can also be excluded from CALPOST


processing by filling a processing grid array with 0s and 1s. If the
processing flag for receptor index (i,j) is 1 (ON), that receptor
will be processed if it lies within the range delineated by IBGRID,
JBGRID,IEGRID,JEGRID and if LG=T. If it is 0 (OFF), it will not be
processed in the run. By default, all array values are set to 1 (ON).

Number of gridded receptor rows provided in Subgroup (1a) to

10-67
Section 10: POSTPROCESSORS

identify specific gridded receptors to process


(NGONOFF) -- Default: 0 ! NGONOFF = 0 !

!END!

10-68
Section 10: POSTPROCESSORS

Table 10-15 (Continued)


Sample CALPOST Control File (CALPOST.INP)
--------------
Subgroup (1a) -- Specific gridded receptors included/excluded
--------------

Specific gridded receptors are excluded from CALPOST processing


by filling a processing grid array with 0s and 1s. A total of
NGONOFF lines are read here. Each line corresponds to one 'row'
in the sampling grid, starting with the NORTHERNMOST row that
contains receptors that you wish to exclude, and finishing with
row 1 to the SOUTH (no intervening rows may be skipped). Within
a row, each receptor position is assigned either a 0 or 1,
starting with the westernmost receptor.
0 = gridded receptor not processed
1 = gridded receptor processed

Repeated value notation may be used to select blocks of receptors:


23*1, 15*0, 12*1

Because all values are initially set to 1, any receptors north of


the first row entered, or east of the last value provided in a row,
remain ON.

(NGXRECP) -- Default: 1

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

INPUT GROUP: 2 -- Visibility Parameters (ASPEC = VISIB)


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

Particle growth curve f(RH) for hygroscopic species


(MFRH) -- Default: 2 ! MFRH = 2 !

1 = IWAQM (1998) f(RH) curve (originally used with MVISBK=1)


2 = FLAG (2000) f(RH) tabulation
3 = EPA (2003) f(RH) tabulation

Maximum relative humidity (%) used in particle growth curve


(RHMAX) -- Default: 98 ! RHMAX = 95.0 !

Modeled species to be included in computing the light extinction


Include SULFATE? (LVSO4) -- Default: T ! LVSO4 = T !
Include NITRATE? (LVNO3) -- Default: T ! LVNO3 = T !
Include ORGANIC CARBON? (LVOC) -- Default: T ! LVOC = F !
Include COARSE PARTICLES? (LVPMC) -- Default: T ! LVPMC = F !
Include FINE PARTICLES? (LVPMF) -- Default: T ! LVPMF = F !
Include ELEMENTAL CARBON? (LVEC) -- Default: T ! LVEC = T !

And, when ranking for TOP-N, TOP-50, and Exceedance tables,


Include BACKGROUND? (LVBK) -- Default: T ! LVBK = T !

Species name used for particulates in MODEL.DAT file


COARSE (SPECPMC) -- Default: PMC ! SPECPMC = PMC !
FINE (SPECPMF) -- Default: PMF ! SPECPMF = PMF !

Extinction Efficiency (1/Mm per ug/m**3)


----------------------------------------
MODELED particulate species:
PM COARSE (EEPMC) -- Default: 0.6 ! EEPMC = 0.6 !
PM FINE (EEPMF) -- Default: 1.0 ! EEPMF = 1.0 !
BACKGROUND particulate species:

10-69
Section 10: POSTPROCESSORS

PM COARSE (EEPMCBK) -- Default: 0.6 ! EEPMCBK = 0.6 !


Other species:
AMMONIUM SULFATE (EESO4) -- Default: 3.0 ! EESO4 = 3.0 !
AMMONIUM NITRATE (EENO3) -- Default: 3.0 ! EENO3 = 3.0 !
ORGANIC CARBON (EEOC) -- Default: 4.0 ! EEOC = 4.0 !
SOIL (EESOIL)-- Default: 1.0 ! EESOIL = 1.0 !
ELEMENTAL CARBON (EEEC) -- Default: 10. ! EEEC = 10.0 !

Background Extinction Computation


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

Method used for the 24h-average of percent change of light extinction:


Hourly ratio of source light extinction / background light extinction
is averaged? (LAVER) -- Default: F ! LAVER = F !

10-70
Section 10: POSTPROCESSORS

Table 10-15 (Continued)


Sample CALPOST Control File (CALPOST.INP)

Method used for background light extinction


(MVISBK) -- Default: 2 ! MVISBK = 2 !

1 = Supply single light extinction and hygroscopic fraction


- IWAQM (1993) RH adjustment applied to hygroscopic background
and modeled sulfate and nitrate
2 = Compute extinction from speciated PM measurements (A)
- Hourly RH adjustment applied to observed and modeled sulfate
and nitrate
- RH factor is capped at RHMAX
3 = Compute extinction from speciated PM measurements (B)
- Hourly RH adjustment applied to observed and modeled sulfate
and nitrate
- Receptor-hour excluded if RH>RHMAX
- Receptor-day excluded if fewer than 6 valid receptor-hours
4 = Read hourly transmissometer background extinction measurements
- Hourly RH adjustment applied to modeled sulfate and nitrate
- Hour excluded if measurement invalid (missing, interference,
or large RH)
- Receptor-hour excluded if RH>RHMAX
- Receptor-day excluded if fewer than 6 valid receptor-hours
5 = Read hourly nephelometer background extinction measurements
- Rayleigh extinction value (BEXTRAY) added to measurement
- Hourly RH adjustment applied to modeled sulfate and nitrate
- Hour excluded if measurement invalid (missing, interference,
or large RH)
- Receptor-hour excluded if RH>RHMAX
- Receptor-day excluded if fewer than 6 valid receptor-hours
6 = Compute extinction from speciated PM measurements
- FLAG RH adjustment factor applied to observed and
modeled sulfate and nitrate
7 = Compute extinction from speciated PM measurements as in [2]
for 'unobstructed' conditions; replace with extinction from
observed visual range for fog/precipitation conditions
- Hourly RH adjustment applied to observed and modeled sulfate
and nitrate
- RH factor is capped at RHMAX
- When fog/precip is observed, replace computed Bext with:
Bext(1/Mm) = 3912/VR(km)

Additional inputs used for MVISBK = 1:


--------------------------------------
Background light extinction (1/Mm)
(BEXTBK) -- No default ! BEXTBK = 12.0 !
Percentage of particles affected by relative humidity
(RHFRAC) -- No default ! RHFRAC = 10.0 !

Additional inputs used for MVISBK = 6:


--------------------------------------
Extinction coefficients for hygroscopic species (modeled and
background) are computed using a monthly RH adjustment factor
in place of an hourly RH factor (VISB.DAT file is NOT needed).
Enter the 12 monthly factors here (RHFAC). Month 1 is January.

(RHFAC) -- No default ! RHFAC = 0.0, 0.0, 0.0, 0.0,


0.0, 0.0, 0.0, 0.0,
0.0, 0.0, 0.0, 0.0 !

10-71
Section 10: POSTPROCESSORS

Additional inputs used for MVISBK = 7:


--------------------------------------
The weather data file (DATSAV abbreviated space-delimited) that
is identified as VSRN.DAT may contain data for more than one
station. Identify the stations that are needed in the order in
which they will be used to obtain valid weather and visual range.
The first station that contains valid data for an hour will be
used. Enter up to MXWSTA (set in PARAMS file) integer station IDs
of up to 6 digits each as variable IDWSTA, and enter the corresponding
time zone for each, as variable TZONE (= UTC-LST).

A prognostic weather data file with Bext for weather events may be used
in place of the observed weather file. Identify this as the VSRN.DAT
file and use a station ID of IDWSTA = 999999, and TZONE = 0.

10-72
Section 10: POSTPROCESSORS

Table 10-15 (Continued)


Sample CALPOST Control File (CALPOST.INP)

NOTE: TZONE identifies the time zone used in the dataset. The
DATSAV abbreviated space-delimited data usually are prepared
with UTC time rather than local time, so TZONE is typically
set to zero.

(IDWSTA) -- No default * IDWSTA = 000000 *


(TZONE) -- No default * TZONE = 0. *

Additional inputs used for MVISBK = 2,3,6,7:


--------------------------------------------
Background extinction coefficients are computed from monthly
CONCENTRATIONS of ammonium sulfate (BKSO4), ammonium nitrate (BKNO3),
coarse particulates (BKPMC), organic carbon (BKOC), soil (BKSOIL), and
elemental carbon (BKEC). Month 1 is January.
(ug/m**3)

(BKSO4) -- No default ! BKSO4 = 0.0, 0.0, 0.0, 0.0,


0.0, 0.0, 0.0, 0.0,
0.0, 0.0, 0.0, 0.0 !
(BKNO3) -- No default ! BKNO3 = 0.0, 0.0, 0.0, 0.0,
0.0, 0.0, 0.0, 0.0,
0.0, 0.0, 0.0, 0.0 !
(BKPMC) -- No default ! BKPMC = 0.0, 0.0, 0.0, 0.0,
0.0, 0.0, 0.0, 0.0,
0.0, 0.0, 0.0, 0.0 !
(BKOC) -- No default ! BKOC = 0.0, 0.0, 0.0, 0.0,
0.0, 0.0, 0.0, 0.0,
0.0, 0.0, 0.0, 0.0 !
(BKSOIL) -- No default ! BKSOIL= 0.0, 0.0, 0.0, 0.0,
0.0, 0.0, 0.0, 0.0,
0.0, 0.0, 0.0, 0.0 !
(BKEC) -- No default ! BKEC = 0.0, 0.0, 0.0, 0.0,
0.0, 0.0, 0.0, 0.0,

0.0, 0.0, 0.0, 0.0 !

Additional inputs used for MVISBK = 2,3,5,6,7:


----------------------------------------------
Extinction due to Rayleigh scattering is added (1/Mm)
(BEXTRAY) -- Default: 10.0 ! BEXTRAY = 10.0 !

!END!
-------------------------------------------------------------------------------

INPUT GROUP: 3 -- Output options


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

Documentation
-------------

Documentation records contained in the header of the


CALPUFF output file may be written to the list file.
Print documentation image?
(LDOC) -- Default: F ! LDOC = F !

Output Units
------------
Units for All Output (IPRTU) -- Default: 1 ! IPRTU = 3 !
for for
Concentration Deposition

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

Visibility: extinction expressed in 1/Mega-meters (IPRTU is ignored)

Averaging time(s) reported


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

1-pd averages (L1PD) -- Default: F ! L1PD = T !


(pd = averaging period of model output)

1-hr averages (L1HR) -- Default: T ! L1HR = T !

3-hr averages (L3HR) -- Default: T ! L3HR = F !

10-74
Section 10: POSTPROCESSORS

Table 10-15 (Continued)


Sample CALPOST Control File (CALPOST.INP)

24-hr averages (L24HR) -- Default: T ! L24HR = F !

Run-length averages (LRUNL) -- Default: T ! LRUNL = F !

User-specified averaging time in hours, minutes, seconds


- results for this averaging time are reported if it is not zero

(NAVGH) -- Default: 0 ! NAVGH = 0 !


(NAVGM) -- Default: 0 ! NAVGM = 0 !
(NAVGS) -- Default: 0 ! NAVGS = 0 !

Types of tabulations reported


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

1) Visibility: daily visibility tabulations are always reported


for the selected receptors when ASPEC = VISIB.
In addition, any of the other tabulations listed
below may be chosen to characterize the light
extinction coefficients.
[List file or Plot/Analysis File]

2) Top 50 table for each averaging time selected


[List file only]
(LT50) -- Default: T ! LT50 = F !

3) Top 'N' table for each averaging time selected


[List file or Plot file]
(LTOPN) -- Default: F ! LTOPN = T !

-- Number of 'Top-N' values at each receptor


selected (NTOP must be <= 4)
(NTOP) -- Default: 4 ! NTOP = 1 !

-- Specific ranks of 'Top-N' values reported


(NTOP values must be entered)
(ITOP(4) array) -- Default: ! ITOP = 1 !
1,2,3,4

4) Threshold exceedance counts for each receptor and each averaging


time selected
[List file or Plot file]
(LEXCD) -- Default: F ! LEXCD = T !

-- Identify the threshold for each averaging time by assigning a


non-negative value (output units).
-- Default: -1.0
Threshold for 1-hr averages (THRESH1) ! THRESH1 = 1.000E01 !
Threshold for 3-hr averages (THRESH3) ! THRESH3 = -1.0 !
Threshold for 24-hr averages (THRESH24) ! THRESH24 = -1.0 !
Threshold for NAVG-hr averages (THRESHN) ! THRESHN = -1.0 !

-- Counts for the shortest averaging period selected can be


tallied daily, and receptors that experience more than NCOUNT
counts over any NDAY period will be reported. This type of
exceedance violation output is triggered only if NDAY > 0.

10-75
Section 10: POSTPROCESSORS

Accumulation period(Days)
(NDAY) -- Default: 0 ! NDAY = 0 !
Number of exceedances allowed
(NCOUNT) -- Default: 1 ! NCOUNT = 1 !

5) Selected day table(s)

Echo Option -- Many records are written each averaging period


selected and output is grouped by day
[List file or Plot file]
(LECHO) -- Default: F ! LECHO = F !

Timeseries Option -- Averages at all selected receptors for


each selected averaging period are written to timeseries files.
Each file contains one averaging period, and all receptors are
written to a single record each averaging time.
[TSttUUUU.DAT files]
(LTIME) -- Default: F ! LTIME = F !

10-76
Section 10: POSTPROCESSORS

Table 10-15 (Concluded)


Sample CALPOST Control File (CALPOST.INP)

-- Days selected for output


(IECHO(366)) -- Default: 366*0
! IECHO = 366*0 !
(366 values must be entered)

Plot output options


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

Plot files can be created for the Top-N, Exceedance, and Echo
tables selected above. Two formats for these files are available,
DATA and GRID. In the DATA format, results at all receptors are
listed along with the receptor location [x,y,val1,val2,...].
In the GRID format, results at only gridded receptors are written,
using a compact representation. The gridded values are written in
rows (x varies), starting with the most southern row of the grid.
The GRID format is given the .GRD extension, and includes headers
compatible with the SURFER(R) plotting software.

A plotting and analysis file can also be created for the daily
peak visibility summary output, in DATA format only.

Generate Plot file output in addition to writing tables


to List file?
(LPLT) -- Default: F ! LPLT = F !

Use GRID format rather than DATA format,


when available?
(LGRD) -- Default: F ! LGRD = F !

Additional Debug Output


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

Output selected information to List file


for debugging?
(LDEBUG) -- Default: F ! LDEBUG = F !

Output hourly extinction information to REPORT.HRV?


(Visibility Method 7)
(LVEXTHR) -- Default: F ! LVEXTHR = F !

!END!

10-77
Section 10: POSTPROCESSORS

Table 10-16: BACK.DAT Record Structure

Header Record

Record Variable Type Description Sample


No. Values

1 CONFAC real Multiplicative factor to convert background .000001


T concentrations to g/m3, or to convert background
deposition fluxes to g/m2/s. For example,
CONFACT = .000001 indicates that the
background values are in either g/m3 or g/m2/s.

Data Records (free format)

Variable Variable Type Description Sample


No. Values

1 NYR integer Year for record (YYYY) 1994

2 NJDAY integer Julian Day for record (JJJ) 210

3 NHR integer Hour for record (00-23, time ending) 13

4 XMHBU real Background Concentration/Deposition Flux 32.8

10-78
Section 10: POSTPROCESSORS

Table 10-17: Sample Background Concentration File (BACK.DAT)

0.000001
1994 2 1 23.57
1994 2 2 20.95
1994 2 3 20.95
1994 2 4 15.71
1994 2 5 23.57
1994 2 6 28.81
1994 2 7 28.81
1994 2 8 26.19
1994 2 9 31.43
1994 2 10 23.57
1994 2 11 20.95
1994 2 12 18.33
1994 2 13 15.71
1994 2 14 15.71
1994 2 15 13.09
1994 2 16 13.09
1994 2 17 13.09
1994 2 18 10.48
1994 2 19 13.09
1994 2 20 15.71
1994 2 21 13.09
1994 2 22 10.48
1994 2 23 10.48
1994 3 0 13.09

10-79
Section 10: POSTPROCESSORS

Table 10-18: Sample Transmissometer File (VSRN.DAT)


(Partial Listing)

SITE YYYYMMDD JD HHMM BEXT UC # # UT DT MAX V A AT U C RH U C DV


YOSE 19890317 76 0 19 2 1 0 -99 -991105 0 0 1 0 78 5 0 64
YOSE 19890317 76 100 17 2 1 0 -99 -991105 0 -1 1 0 84 5 0 53
YOSE 19890317 76 200 16 2 1 0 -99 -991105 0 0 1 0 80 5 0 47
YOSE 19890317 76 300 14 2 1 0 -99 -991105 0 1 1 0 65 5 0 34
YOSE 19890317 76 400 18 2 1 0 -99 -991105 0 -1 1 0 76 5 0 59
YOSE 19890317 76 500 16 2 1 0 -99 -991105 0 -1 1 0 79 5 0 47
YOSE 19890317 76 600 12 2 1 0 -99 -991105 0 -1 1 0 71 5 0 18
YOSE 19890317 76 700 16 2 1 0 -99 -991105 0 1 1 0 67 5 0 47
YOSE 19890317 76 800 16 2 1 0 -99 -991105 0 4 1 0 48 5 0 47
YOSE 19890317 76 900 20 2 1 0 -99 -991105 0 11 1 0 34 5 0 69
YOSE 19890317 76 1000 21 2 1 0 -99 -991105 0 9 1 0 32 5 0 74
YOSE 19890317 76 1100 25 2 1 0 -99 -991105 0 10 1 0 30 5 0 92
YOSE 19890317 76 1200 33 2 1 0 -99 -991105 0 9 1 0 45 5 0 119
YOSE 19890317 76 1300 45 2 1 0 -99 -991105 0 9 1 0 51 5 0 150
YOSE 19890317 76 1400 55 2 1 0 -99 -991105 0 10 1 0 58 5 0 170
YOSE 19890317 76 1500 67 2 1 0 -99 -991105 0 10 1 0 62 5 0 190
YOSE 19890317 76 1600 99 2 1 0 -99 -991105 0 8 1 0 70 5 0 229
YOSE 19890317 76 1700 60 2 1 0 -99 -991105 0 9 1 0 74 5 0 179
YOSE 19890317 76 1800 42 2 1 0 -99 -991105 0 6 1 0 84 5 0 144
YOSE 19890317 76 1900 37 2 0 1 -99 -991105 1 A 5 1 0 92 5 0 131
YOSE 19890317 76 2000 33 2 1 0 -99 -991105 0 6 1 0 82 5 0 119
YOSE 19890317 76 2100 29 2 1 0 -99 -991105 0 6 1 0 82 5 0 106
YOSE 19890317 76 2200 32 2 1 0 -99 -991105 0 6 1 0 83 5 0 116
YOSE 19890317 76 2300 30 2 1 0 -99 -991105 0 6 1 0 83 5 0 110
YOSE 19890318 77 0 35 2 1 0 -99 -991105 0 7 1 0 80 5 0 125

Field Description

SITE Site abbreviation


YYYYMMDD Date (4-digit year/month/day)
JD Julian Date
HHMM Time using a 24-hour clock in hour/minute format
BEXT bext (Mm-1)
UC bext uncertainty (Mm-1)
# Number of readings in average
# Number of readings not in average due to weather
UT Uncertainty threshold (Mm-1)
DT threshold (Mm-1)
MAX Maximum threshold (Mm-1)
V bext validity code (0=valid, 1=interference, 2=invalid, 9=suspect)
A bext validity interference subcode
AT Temperature (oC)
U Temperature uncertainty (oC)
C Temperature validity code
RH Relative humidity (%)
U Relative humidity uncertainty (%)
C Relative humidity validity code (0=valid, 2=invalid, 9=suspect)
DV Haziness (deciview x 10)

10-80
Section 10: POSTPROCESSORS

10-81
Section 10: POSTPROCESSORS

Table 10-19: Sample Nephelometer File (VSRN.DAT)


(Partial Listing)

SITE YYYYMMDD JD HHMM INS BSP PREC V A RAW-M RAW-SD # N/A SD/M DEL MAX RH 0123456789mPM0T YINTER SLOPE AT AT-SD # AT-PR CT CT-SD # CT-PR 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

SITE Site Abbreviation


YYYYMMDD Date (4-digit year/month/day)
JD Julian Date
HHMM Time using a 24-hour clock in hour/minute format
INS Nephelometer Serial Number
BSP bsp (Mm-1) Particle scattering coefficient = Total - Rayleigh
PREC bsp Estimated Precision (%/100)
V bsp Validity Code(0=valid, 1=interference, 2=invalid, 9=suspect)
A bsp Interference Code
RAW-M Raw Nephelometer Hourly Average (Counts)
RAW-SD Standard Deviation of Raw Nephelometer Average (Counts)
# Number of Data Points in Hourly Nephelometer Average
N/A (Not Used)
SD/M Standard Deviation/Mean Interference Threshold
DEL bsp Rate of Change Interference Threshold
MAX Maximum bsp Interference Threshold
RH Relative Humidity Interference Threshold
0123456789mPMOT Composite Nephelometer Code Summary
YINTER Y-intercept of Calibration Line Used to Calculate bsp
SLOPE Slope of Calibration Line Used to Calculate bsp
AT Average Ambient Temperature (C)
AT-SD Standard Deviation of Hourly AT Average
# Number of Data Points in Hourly AT Average
AT-PR Estimated Precision of Ambient Temperature
CT Average Nephelometer Chamber Temperature (C)
CD-SD Standard Deviation of Hourly CT Average
# Number of Data Points in Hourly CT Average
CT-PR Estimated Precision of Chamber Temperature
RH Average Relative Humidity (%)
RH-SD Standard Deviation of Hourly RH Average

10-82
Section 10: POSTPROCESSORS

# Number of Data Points in Hourly RH Average


RH-PR Estimated Precision of Relative Humidity

10-83
Section 10: POSTPROCESSORS

10.6 Output Files

10.6.1 List File (CALPOST.LST)

The list file has four logical sections. The first section contains an image of the control file inputs; the
second section contains a summary of these inputs and it documents the content of the CALPUFF output
file that is processed; the third section contains the tabulations of CALPOST results requested by the user;
and the fourth section reports the peak value(s) obtained for each averaging time processed. An example
list file is shown in Table 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.

10.6.2 Visibility File (DAILY_VISIB_VUNAM.DAT)

When visibility processing is selected and plot-files are requested, the peak daily average visibility
reduction tabulations written to the list file are written to disk as a visibility file as well. This facilitates
the use of subsequent analysis tools, such as spreadsheets. The record format is the same as that used in
the list file.

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

10.6.4 Timeseries File(s)

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

Table 10-20: Sample CALPOST Output File (CALPOST.LST)


(Partial Listing)
*********************************************************************************************************************************
*
CALPOST Version 6.11 Level 051012
*********************************************************************************************************************************
*

CALPOST Control File Input Summary -------------------------

Replace run data with data in Puff file 1=Y: 1


Run starting date -- year: 1988
month: 7
day: 7
Julian day: 0
Time at start of run - hour(0-23): 0
- minute: 0
- second: 0

Run ending date -- year: 1988


month: 7
day: 7
Julian day: 0
Time at end of run - hour(0-23): 1
- minute: 0
- second: 0

Base time zone: from CALPUFF

Every period of data processed -- NREP = 1

Species & Concentration/Deposition Information


Species: SO2
Layer of processed data: 1
(>0=conc, -1=dry flux, -2=wet flux, -3=wet & dry flux)
Multiplicative scaling factor: 0.0000E+00
Additive scaling factor: 0.0000E+00
Hourly background values used?: F

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

Gridded Receptors Processed

Begin at ix: 10
End at ix: 15
Begin at iy: 15
End at iy: 20

Visibility Processing is NOT Selected

10-86
Section 10: POSTPROCESSORS

Table 10-20 (Continued)


Sample CALPOST Output File (CALPOST.LST)
(Partial Listing)
Output options
Units requested for output: (ug/m**3)

Averaging time(s) selected


User-specified averaging time (hr:mm:ss): 0:60: 0
1-pd averages: T
1-hr averages: F
3-hr averages: T
24-hr averages: F
User-specified averages: T
Length of run averages: F

Output components selected


Top-50: F
Top-N values at each receptor: T
Exceedance counts at each receptor: T
Output selected information for debugging: F
Echo tables for selected days: T
Time-series for selected days: F
Peak value Time-series for selected days: F

Top "n" table control


Number of "top" values at each receptor: 1
Specific ranks of "top" values reported: 1

Plot file option


Plot files created: T
Plot file format is DATA: .DAT

Threshold Exceedance control


Exceedances of a specified value will be counted for --
3-hr averages exceeding: 1.0000E+01
User-specified averages exceeding: 1.0000E+01

Days selected for output tables


1111111111 1111111111 1111111111 1111111111 1111111111 1111111111 1111111111 1111111111 1111111111 1111111111
1111111111 1111111111 1111111111 1111111111 1111111111 1111111111 1111111111 1111111111 1111111111 1111111111
1111111111 1111111111 1111111111 1111111111 1111111111 1111111111 1111111111 1111111111 1111111111 1111111111
1111111111 1111111111 1111111111 1111111111 1111111111 1111111111 111111

IDENTIFICATION OF PROCESSED MODEL FILE ----------

CALPUFF 6.1 050915

CALPUFF Demonstration Run


1800 sec Steps
Emission & Sampling Limit 0.1 grid cell

Averaging time for values reported from model:


30 MINUTE

Number of averaging periods in file from model:


8

Chemical species names for each layer in model:


SO2 1
SO4 1
NO 1
NO2 1
HNO3 1
NO3 1
PM10 1

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

10-87
Section 10: POSTPROCESSORS

Table 10-20 (Continued)


Sample CALPOST Output File (CALPOST.LST)
(Partial Listing)

INPUT FILES

Default Name Unit No. File Name and Path


------------ -------- ------------------
CALPOST.INP 5 manual.inp
MODEL.DAT 4 cpuf.con
--------------------------------------------------------------------------------------------------------------------------------
-
OUTPUT FILES

Default Name Unit No. File Name and Path


------------ -------- ------------------
CALPOST.LST 8 manual.lst
(TOPN) 11 RANK()_SPECIES_ttHR_CONC.DAT
(EXCEED) 11 EXCEED_SPECIES_ttHR_CONC.DAT
(ECHO) 11 yyyy_Mmm_Ddd_hh00(UTC+0000)_L00_SPECIES_ttHR_CONC.DAT
-------------------------------------------------
ECHO OPTION -
-------------------------------------------------
CONCENTRATION AT EACH RECEPTOR IS PRINTED FOR THE FOLLOWING DAYS (0=NOT printed; 1=PRINTED):
1111111111 1111111111 1111111111 1111111111 1111111111 1111111111 1111111111 1111111111 1111111111 1111111111
1111111111 1111111111 1111111111 1111111111 1111111111 1111111111 1111111111 1111111111 1111111111 1111111111
1111111111 1111111111 1111111111 1111111111 1111111111 1111111111 1111111111 1111111111 1111111111 1111111111
1111111111 1111111111 1111111111 1111111111 1111111111 1111111111 111111
AND FOR THE FOLLOWING AVERAGING PERIODS: (NOTE THAT THE AVERAGING PERIOD IN MODEL IS 30 MINUTE )
3 HOUR
30 MINUTE
60 MINUTE

30 MINUTE AVERAGE CONCENTRATION AT EACH RECEPTOR FOR THE PERIOD STARTING YEAR: 1990 DAY: 9 HOUR: 4 SEC: 0
GRIDDED RECEPTORS:

SO2 1

GRID NOT PRINTED -- all values zero

1 HOUR AVERAGE CONCENTRATION AT EACH RECEPTOR FOR THE PERIOD STARTING YEAR: 1990 DAY: 9 HOUR: 4 SEC: 0
GRIDDED RECEPTORS:

SO2 1

Multiply all values by 10 ** -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 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

Table 10-20 (Continued)


Sample CALPOST Output File (CALPOST.LST)
(Partial Listing)
30 MINUTE AVERAGE CONCENTRATION AT EACH RECEPTOR FOR THE PERIOD STARTING YEAR: 1990 DAY: 9 HOUR: 4 SEC: 1800
GRIDDED RECEPTORS:

SO2 1

Multiply all values by 10 ** -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 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

Multiply all values by 10 ** -2

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

Multiply all values by 10 ** -2

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

Table 10-20 (Continued)


Sample CALPOST Output File (CALPOST.LST)
(Partial Listing)
30 MINUTE AVERAGE CONCENTRATION AT EACH RECEPTOR FOR THE PERIOD STARTING YEAR: 1990 DAY: 9 HOUR: 5 SEC: 1800
GRIDDED RECEPTORS:

SO2 1

Multiply all values by 10 ** -2

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

Multiply all values by 10 ** -2

20 I 0 0 0 143 702 135


I + + + + + +
19 I 0 0 9 515 440 8
I + + + + + +
18 I 0 0 126 801 83 0
I + + + + + +
17 I 0 171 982 444 0 0
I + + + + + +
16 I 810 2781 983 15 0 0
I + + + + + +
15 I 216 85 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: 6 SEC: 0
GRIDDED RECEPTORS:

SO2 1

Multiply all values by 10 ** -2

20 I 0 0 0 140 692 134


I + + + + + +
19 I 0 0 9 505 438 8
I + + + + + +
18 I 0 0 122 797 85 0
I + + + + + +
17 I 0 144 976 456 0 0
I + + + + + +
16 I 711 2742 1121 18 0 0
I + + + + + +
15 I 278 119 0 0 0 0
I + + + + + +
-----------------------------------
10 11 12 13 14 15

10-90
Section 10: POSTPROCESSORS

Table 10-20 (Continued)


Sample CALPOST Output File (CALPOST.LST)
(Partial Listing)
3 HOUR AVERAGE CONCENTRATION AT EACH RECEPTOR FOR THE PERIOD STARTING YEAR: 1990 DAY: 9 HOUR: 4 SEC: 0
GRIDDED RECEPTORS:

SO2 1

Multiply all values by 10 ** -2

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

Multiply all values by 10 ** -2

20 I 0 0 0 137 682 133


I + + + + + +
19 I 0 0 8 496 435 8
I + + + + + +
18 I 0 0 119 793 87 0
I + + + + + +
17 I 0 118 969 467 0 0
I + + + + + +
16 I 612 2704 1259 21 0 0
I + + + + + +
15 I 340 154 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: 7 SEC: 0
GRIDDED RECEPTORS:

SO2 1

Multiply all values by 10 ** -2

20 I 0 0 0 144 636 163


I + + + + + +
19 I 0 0 12 470 442 17
I + + + + + +
18 I 0 0 121 748 110 0
I + + + + + +
17 I 0 120 912 478 1 0
I + + + + + +
16 I 588 2408 1305 31 0 0
I + + + + + +
15 I 372 213 5 0 0 0
I + + + + + +
-----------------------------------
10 11 12 13 14 15

10-91
Section 10: POSTPROCESSORS

Table 10-20 (Continued)


Sample CALPOST Output File (CALPOST.LST)
(Partial Listing)
1 HOUR AVERAGE CONCENTRATION AT EACH RECEPTOR FOR THE PERIOD STARTING YEAR: 1990 DAY: 9 HOUR: 7 SEC: 0
GRIDDED RECEPTORS:

SO2 1

Multiply all values by 10 ** -2

20 I 0 0 0 152 589 188


I + + + + + +
19 I 0 0 18 454 432 24
I + + + + + +
18 I 1 7 145 704 121 0
I + + + + + +
17 I 21 201 896 479 9 0
I + + + + + +
16 I 576 1987 1229 70 2 0
I + + + + + +
15 I 424 306 61 7 1 0
I + + + + + +
-----------------------------------
10 11 12 13 14 15

30 MINUTE AVERAGE CONCENTRATION AT EACH RECEPTOR FOR THE PERIOD STARTING YEAR: 1990 DAY: 9 HOUR: 7 SEC: 1800
GRIDDED RECEPTORS:

SO2 1

Multiply all values by 10 ** -2

20 I 0 0 0 160 541 213


I + + + + + +
19 I 0 0 24 439 422 30
I + + + + + +
18 I 3 14 169 660 131 0
I + + + + + +
17 I 42 282 880 480 18 0
I + + + + + +
16 I 564 1567 1153 109 3 0
I + + + + + +
15 I 476 400 117 13 1 0
I + + + + + +
-----------------------------------
10 11 12 13 14 15

10-92
Section 10: POSTPROCESSORS

Table 10-20 (Continued)


Sample CALPOST Output File (CALPOST.LST)
(Partial Listing)
*********************************************************************************************************************************
*
CALPOST Version 6.11 Level 051012
*********************************************************************************************************************************
*

SO2 1

1 RANKED 30 MINUTE AVERAGE CONCENTRATION VALUES AT EACH GRIDDED RECEPTOR (YEAR,DAY,START TIME) (ug/m**3)

RECEPTOR COORDINATES (km) 1 RANK


10, 15 347.500 4873.500 4.7620E+00 (1990,009,0730)
10, 16 347.500 4874.500 1.2761E+01 (1990,009,0500)
10, 17 347.500 4875.500 4.2162E-01 (1990,009,0730)
10, 18 347.500 4876.500 2.5579E-02 (1990,009,0730)
10, 19 347.500 4877.500 0.0000E+00 (1990,009,0400)
10, 20 347.500 4878.500 0.0000E+00 (1990,009,0400)
11, 15 348.500 4873.500 3.9999E+00 (1990,009,0730)
11, 16 348.500 4874.500 2.7921E+01 (1990,009,0530)
11, 17 348.500 4875.500 4.1897E+00 (1990,009,0500)
11, 18 348.500 4876.500 1.4227E-01 (1990,009,0730)
11, 19 348.500 4877.500 3.8896E-03 (1990,009,0730)
11, 20 348.500 4878.500 0.0000E+00 (1990,009,0400)
12, 15 349.500 4873.500 1.1704E+00 (1990,009,0730)
12, 16 349.500 4874.500 1.3046E+01 (1990,009,0700)
12, 17 349.500 4875.500 1.0177E+01 (1990,009,0530)
12, 18 349.500 4876.500 1.6916E+00 (1990,009,0730)
12, 19 349.500 4877.500 2.3593E-01 (1990,009,0730)
12, 20 349.500 4878.500 4.7590E-04 (1990,009,0730)
13, 15 350.500 4873.500 1.3057E-01 (1990,009,0730)
13, 16 350.500 4874.500 1.0885E+00 (1990,009,0730)
13, 17 350.500 4875.500 4.7962E+00 (1990,009,0730)
13, 18 350.500 4876.500 8.0180E+00 (1990,009,0530)
13, 19 350.500 4877.500 5.2743E+00 (1990,009,0530)
13, 20 350.500 4878.500 1.5970E+00 (1990,009,0730)
14, 15 351.500 4873.500 1.0976E-02 (1990,009,0730)
14, 16 351.500 4874.500 3.1578E-02 (1990,009,0730)
14, 17 351.500 4875.500 1.7673E-01 (1990,009,0730)
14, 18 351.500 4876.500 1.3150E+00 (1990,009,0730)
14, 19 351.500 4877.500 4.4243E+00 (1990,009,0700)
14, 20 351.500 4878.500 7.0209E+00 (1990,009,0600)
15, 15 352.500 4873.500 0.0000E+00 (1990,009,0400)
15, 16 352.500 4874.500 0.0000E+00 (1990,009,0400)
15, 17 352.500 4875.500 0.0000E+00 (1990,009,0400)
15, 18 352.500 4876.500 5.2182E-04 (1990,009,0730)
15, 19 352.500 4877.500 3.0323E-01 (1990,009,0730)
15, 20 352.500 4878.500 2.1260E+00 (1990,009,0730)

1 - RANK HIGHEST VALUES FOR PERIOD

Multiply all values by 10 ** -2

20 I 0 0 0 160 702 213


I + + + + + +
19 I 0 0 24 527 442 30
I + + + + + +
18 I 3 14 169 802 131 0
I + + + + + +
17 I 42 419 1018 480 18 0
I + + + + + +
16 I 1276 2792 1305 109 3 0
I + + + + + +
15 I 476 400 117 13 1 0
I + + + + + +
-----------------------------------
10 11 12 13 14 15

10-93
Section 10: POSTPROCESSORS

Table 10-20 (Continued)


Sample CALPOST Output File (CALPOST.LST)
(Partial Listing)
*********************************************************************************************************************************
*
CALPOST Version 6.11 Level 051012
*********************************************************************************************************************************
*

SO2 1

1 RANKED 3 HOUR AVERAGE CONCENTRATION VALUES AT EACH GRIDDED RECEPTOR (YEAR,DAY,START TIME) (ug/m**3)

RECEPTOR COORDINATES (km) 1 RANK


10, 15 347.500 4873.500 1.3436E+00 (1990,009,0400)
10, 16 347.500 4874.500 7.3973E+00 (1990,009,0400)
10, 17 347.500 4875.500 2.8547E-02 (1990,009,0400)
10, 18 347.500 4876.500 0.0000E+00 (1990,009,0400)
10, 19 347.500 4877.500 0.0000E+00 (1990,009,0400)
10, 20 347.500 4878.500 0.0000E+00 (1990,009,0400)
11, 15 348.500 4873.500 5.0391E-01 (1990,009,0400)
11, 16 348.500 4874.500 1.7964E+01 (1990,009,0400)
11, 17 348.500 4875.500 1.6470E+00 (1990,009,0400)
11, 18 348.500 4876.500 0.0000E+00 (1990,009,0400)
11, 19 348.500 4877.500 0.0000E+00 (1990,009,0400)
11, 20 348.500 4878.500 0.0000E+00 (1990,009,0400)
12, 15 349.500 4873.500 0.0000E+00 (1990,009,0400)
12, 16 349.500 4874.500 5.9126E+00 (1990,009,0400)
12, 17 349.500 4875.500 6.3100E+00 (1990,009,0400)
12, 18 349.500 4876.500 7.6930E-01 (1990,009,0400)
12, 19 349.500 4877.500 5.3020E-02 (1990,009,0400)
12, 20 349.500 4878.500 0.0000E+00 (1990,009,0400)
13, 15 350.500 4873.500 0.0000E+00 (1990,009,0400)
13, 16 350.500 4874.500 8.6676E-02 (1990,009,0400)
13, 17 350.500 4875.500 2.5909E+00 (1990,009,0400)
13, 18 350.500 4876.500 4.5302E+00 (1990,009,0400)
13, 19 350.500 4877.500 2.7549E+00 (1990,009,0400)
13, 20 350.500 4878.500 7.1599E-01 (1990,009,0400)
14, 15 351.500 4873.500 0.0000E+00 (1990,009,0400)
14, 16 351.500 4874.500 0.0000E+00 (1990,009,0400)
14, 17 351.500 4875.500 0.0000E+00 (1990,009,0400)
14, 18 351.500 4876.500 4.3705E-01 (1990,009,0400)
14, 19 351.500 4877.500 2.2027E+00 (1990,009,0400)
14, 20 351.500 4878.500 3.3393E+00 (1990,009,0400)
15, 15 352.500 4873.500 0.0000E+00 (1990,009,0400)
15, 16 352.500 4874.500 0.0000E+00 (1990,009,0400)
15, 17 352.500 4875.500 0.0000E+00 (1990,009,0400)
15, 18 352.500 4876.500 0.0000E+00 (1990,009,0400)
15, 19 352.500 4877.500 3.4252E-02 (1990,009,0400)
15, 20 352.500 4878.500 5.9414E-01 (1990,009,0400)

1 - RANK HIGHEST VALUES FOR PERIOD

Multiply all values by 10 ** -2

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

Table 10-20 (Continued)


Sample CALPOST Output File (CALPOST.LST)
(Partial Listing)
*********************************************************************************************************************************
*
CALPOST Version 6.11 Level 051012
*********************************************************************************************************************************
*

SO2 1

1 RANKED 1 HOUR AVERAGE CONCENTRATION VALUES AT EACH GRIDDED RECEPTOR (YEAR,DAY,START TIME) (ug/m**3)

RECEPTOR COORDINATES (km) 1 RANK


10, 15 347.500 4873.500 4.2411E+00 (1990,009,0700)
10, 16 347.500 4874.500 1.1527E+01 (1990,009,0500)
10, 17 347.500 4875.500 2.1081E-01 (1990,009,0700)
10, 18 347.500 4876.500 1.2789E-02 (1990,009,0700)
10, 19 347.500 4877.500 0.0000E+00 (1990,009,0400)
10, 20 347.500 4878.500 0.0000E+00 (1990,009,0400)
11, 15 348.500 4873.500 3.0640E+00 (1990,009,0700)
11, 16 348.500 4874.500 2.7421E+01 (1990,009,0600)
11, 17 348.500 4875.500 3.1958E+00 (1990,009,0500)
11, 18 348.500 4876.500 7.1133E-02 (1990,009,0700)
11, 19 348.500 4877.500 1.9448E-03 (1990,009,0700)
11, 20 348.500 4878.500 0.0000E+00 (1990,009,0400)
12, 15 349.500 4873.500 6.1239E-01 (1990,009,0700)
12, 16 349.500 4874.500 1.2289E+01 (1990,009,0700)
12, 17 349.500 4875.500 9.7570E+00 (1990,009,0600)
12, 18 349.500 4876.500 1.4517E+00 (1990,009,0700)
12, 19 349.500 4877.500 1.7964E-01 (1990,009,0700)
12, 20 349.500 4878.500 2.3795E-04 (1990,009,0700)
13, 15 350.500 4873.500 6.5287E-02 (1990,009,0700)
13, 16 350.500 4874.500 7.0085E-01 (1990,009,0700)
13, 17 350.500 4875.500 4.7872E+00 (1990,009,0700)
13, 18 350.500 4876.500 7.9679E+00 (1990,009,0600)
13, 19 350.500 4877.500 5.0538E+00 (1990,009,0600)
13, 20 350.500 4878.500 1.5197E+00 (1990,009,0700)
14, 15 351.500 4873.500 5.4882E-03 (1990,009,0700)
14, 16 351.500 4874.500 1.5789E-02 (1990,009,0700)
14, 17 351.500 4875.500 9.3110E-02 (1990,009,0700)
14, 18 351.500 4876.500 1.2052E+00 (1990,009,0700)
14, 19 351.500 4877.500 4.3756E+00 (1990,009,0600)
14, 20 351.500 4878.500 6.9195E+00 (1990,009,0600)
15, 15 352.500 4873.500 0.0000E+00 (1990,009,0400)
15, 16 352.500 4874.500 0.0000E+00 (1990,009,0400)
15, 17 352.500 4875.500 0.0000E+00 (1990,009,0400)
15, 18 352.500 4876.500 2.6091E-04 (1990,009,0700)
15, 19 352.500 4877.500 2.3845E-01 (1990,009,0700)
15, 20 352.500 4878.500 1.8803E+00 (1990,009,0700)

1 - RANK HIGHEST VALUES FOR PERIOD

Multiply all values by 10 ** -2

20 I 0 0 0 152 692 188


I + + + + + +
19 I 0 0 18 505 438 24
I + + + + + +
18 I 1 7 145 797 121 0
I + + + + + +
17 I 21 320 976 479 9 0
I + + + + + +
16 I 1153 2742 1229 70 2 0
I + + + + + +
15 I 424 306 61 7 1 0
I + + + + + +
-----------------------------------
10 11 12 13 14 15

10-95
Section 10: POSTPROCESSORS

Table 10-20 (Continued)


Sample CALPOST Output File (CALPOST.LST)
(Partial Listing)
*********************************************************************************************************************************
*
CALPOST Version 6.11 Level 051012
*********************************************************************************************************************************
*

SO2 1 (ug/m**3)

COUNTS OF 30 MINUTE AVERAGE CONCENTRATION EXCEEDENCES AT EACH GRIDDED RECEPTOR

NUMBER OF AVERAGES > 0.1000E+02

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)

COUNTS OF 3 HOUR AVERAGE CONCENTRATION EXCEEDENCES AT EACH GRIDDED RECEPTOR

NUMBER OF AVERAGES > 0.1000E+02

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

Table 10-20 (Concluded)


Sample CALPOST Output File (CALPOST.LST)
(Partial Listing)

*********************************************************************************************************************************
*
CALPOST Version 6.11 Level 051012
*********************************************************************************************************************************
*

SO2 1 (ug/m**3)

COUNTS OF 1 HOUR AVERAGE CONCENTRATION EXCEEDENCES AT EACH GRIDDED RECEPTOR

NUMBER OF AVERAGES > 0.1000E+02

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

11, 16 348.500 4874.500 GRIDDED 2.7921E+01 (1990,009,0530) RANK 1 30 MINUTE

11, 16 348.500 4874.500 GRIDDED 1.7964E+01 (1990,009,0400) RANK 1 3 HOUR

11, 16 348.500 4874.500 GRIDDED 2.7421E+01 (1990,009,0600) RANK 1 1 HOUR

10-97
Section 10: POSTPROCESSORS

Table 10-21: Plot-File DATA Record Structure

Header Records

Record Variable Type Description


No.

1 Line 1 character Title line identifying averaging time, type of output, and units

2 (blank)

3 Line 2 character Species Processed

4 (blank)

5 Line 3 character Column Headings

6 (blank)

Data Records (free format)

Variable Variable Type Description Sample


No. Values

1 X real X-coordinate of receptor (km) 94.02

2 Y real Y-coordinate of receptor (km) 210.89

3 V1 real Value 1 213.8

4 V2 real Value 2 (optional) 132.6

5 V3 real Value 3 (optional) 16.88

6 V4 real Value 4 (optional) .009

10-98
Section 10: POSTPROCESSORS

Table 10-22: Sample DATA Plot-File


(Partial Listing)

2 RANKED 1-HOUR AVERAGE CONCENTRATION VALUES AT EACH RECEPTOR ( g/m**3)


SO2 1

RECEPTOR (x,y) km 1 RANK 2 RANK

270.000 4720.000 7.8952E-09 1.9814E-09


290.000 4720.000 5.9128E-08 1.5432E-08
310.000 4720.000 8.2049E-08 3.7027E-08
330.000 4720.000 7.2441E-08 5.9440E-08
350.000 4720.000 7.9033E-08 5.8254E-08
370.000 4720.000 7.0579E-08 4.8233E-08
390.000 4720.000 1.3587E-07 9.4182E-08
410.000 4720.000 4.7199E-08 4.6522E-08
270.000 4740.000 4.6755E-12 1.6541E-12
290.000 4740.000 9.4266E-10 6.2788E-10
310.000 4740.000 7.0272E-09 3.6496E-09
330.000 4740.000 1.8139E-08 1.2038E-08
350.000 4740.000 3.8828E-08 1.9662E-08
370.000 4740.000 5.8562E-08 4.9597E-08
390.000 4740.000 5.3909E-08 5.2398E-08
410.000 4740.000 4.5306E-07 2.8328E-07
270.000 4760.000 0.0000E+00 0.0000E+00
290.000 4760.000 1.7201E-10 1.2712E-10
310.000 4760.000 1.3340E-09 1.1862E-09
330.000 4760.000 4.5722E-09 4.4274E-09
350.000 4760.000 1.0541E-08 1.0369E-08
370.000 4760.000 3.2621E-07 6.5301E-08
390.000 4760.000 8.6671E-07 4.7615E-07
410.000 4760.000 5.4748E-07 4.4530E-07
270.000 4780.000 0.0000E+00 0.0000E+00
290.000 4780.000 1.8996E-11 1.7348E-11
310.000 4780.000 5.3253E-10 5.0730E-10
330.000 4780.000 2.2485E-09 2.2173E-09
350.000 4780.000 6.2623E-09 6.2032E-09
370.000 4780.000 1.0701E-06 1.6573E-07
390.000 4780.000 6.4020E-07 6.0337E-07
410.000 4780.000 6.3429E-07 4.6677E-07
270.000 4800.000 0.0000E+00 0.0000E+00
290.000 4800.000 0.0000E+00 0.0000E+00
310.000 4800.000 1.9163E-10 1.6276E-10
330.000 4800.000 1.1810E-09 9.1738E-10
350.000 4800.000 2.6353E-08 4.7434E-09
370.000 4800.000 1.2015E-06 1.0502E-06
390.000 4800.000 2.4910E-07 1.9500E-07
410.000 4800.000 2.9590E-07 2.0784E-07
270.000 4820.000 0.0000E+00 0.0000E+00
290.000 4820.000 0.0000E+00 0.0000E+00
310.000 4820.000 5.6655E-11 5.0932E-11
330.000 4820.000 5.0676E-10 4.5829E-10
350.000 4820.000 5.7000E-09 3.2322E-09
370.000 4820.000 8.0446E-07 4.9414E-07
390.000 4820.000 6.8545E-07 5.6447E-07
410.000 4820.000 2.5748E-07 2.0238E-07

10-99
Section 10: POSTPROCESSORS

Table 10-23: Plot-File GRID Record Structure

Header Records (free format)

Record Variable Variable Type Description Sample


No. No. Values

1 1 ID characte File type code (must be DSAA for ASCII DSAA


r file)

2 1 NX integer Number of receptors in easting direction 34

2 2 NY integer Number of receptors in northing direction 51

3 1 XBEG real X-coordinate (km) of first gridded receptor 213.75


(southwest)

3 2 YBEG real Y-coordinate (km) of first gridded receptor 439.00


(southwest)

4 1 XEND real X-coordinate (km) of last gridded receptor 222.00


(northeast)

4 2 YEND real Y-coordinate (km) of last gridded receptor 451.50


(northeast)

5 1 VMIN real Minimum value in grid 0.001

5 2 VMAX real Maximum value in grid 159.0

Data Records (free format)

Record Variable Type Description


No.

1 V1 real array NX values in first row of grid (southernmost row)

2 V2 real array NX values in second row of grid

... ... ...

NY VNY real array NX values in last row of grid (northernmost row)

10-100
Section 10: POSTPROCESSORS

10-101
Section 10: POSTPROCESSORS

Table 10-23 (Concluded)


Plot-File GRID Record Structure

Footer Records

Record Variable Type Description


No.

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

Table 10-24: Sample GRID Plot-File

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

1-HOUR AVERAGE CONCENTRATION VALUES AT EACH RECEPTOR ( g/m**3)

SO2 1

RANK 1

10-103
Section 10: POSTPROCESSORS

Table 10-25: Timeseries File Record Structure

Header Records

Record Variable Type Description


No.

1 Line 1 character Title line identifying file type and species processed

2 (blank)

3 Line 2 character Averaging time, type of output, and units

4 Line 3 character Number of receptors processed

5 (blank)

6 Line 4 character Receptor type for each receptor processed

7 Line 5 character Receptor ID or Easting cell index for each receptor processed

8 Line 6 character Northing cell index for each receptor processed

9 Line 7 character Easting coordinate (km) for each receptor processed

10 Line 8 character Northing coordinate (km) for each receptor processed

11 (blank)

12 Line 9 character Heading for year, day, time columns

13 (blank)

Data Records (free format)

Variable Variable Type Description Sample


No. Values

1 IYR integer Year (YYYY format) 1996

2 JDAY integer Julian Day (JJJ format) 216

3 ITIME integer Time at start of averaging period (HHMM 0800


format)

4 to V real Value for each of the NREC receptors processed 5.473498E-07


NREC+3 array

10-104
Section 10: POSTPROCESSORS

10-105
Section 10: POSTPROCESSORS

Table 10-26: Sample Timeseries File

TIME-SERIES Output -------- SO2 1

30 MINUTE Average CONCENTRATION Values at Selected Receptors (ug/m**3)


1 Receptors are Included

Type: GRID
ix: 8
iy: 15
x(km): 3.455000E+02
y(km): 4.873500E+03

YYYY JDY HHMM (START time)

1990 9 0400 1.002828E-02


1990 9 0430 2.671714E+01
1990 9 0500 3.384249E+01
1990 9 0530 3.526189E+01
1990 9 0600 3.907162E+01
1990 9 0630 3.778828E+01
1990 9 0700 2.984025E+01
1990 9 0730 1.953775E+01

10-106

You might also like