Development of the Next 

Generation Air Quality 

Models for Outer Continental 

Shelf (OCS) Applications 

Final Report: Volume 2 - 

CALPUFF Users Guide 

(CALMET and Preprocessors) 

March 2006 

Prepared For: 

U.S. Department of the Interior, 

Minerals Management Service, Herndon, VA 

Contract No. 

1435-01-01-CT-31071 

Prepared By: 

Earth Tech, Inc. 

196 Baker Avenue 

Concord, Massachusetts 01742 

(978) 371-4000 

Contents

A. OVERVIEW A-1 

A.1 Background A-1 

A.2 Overview of the Modeling System A-4 

A.3 Major Model Algorithms and Options A-14 

A.4 Summary of Data and Computer Requirements A-23 

B. GEOPHYSICAL DATA PROCESSORS B-1 

B.1 TERREL Terrain Preprocessor B-3 

B.2 Land Use Data Preprocessors (CTGCOMP and CTGPROC) B-17 

B.3 MAKEGEO B-31 

B.4 NIMA DATUM REFERENCE INFORMATION B-42 

C. METEOROLOGICAL DATA PROCESSORS C-1 

C.1 READ62 UPPER AIR PREPROCESSOR C-1 

C.2 PXTRACT PRECIPITATION DATA EXTRACT PROGRAM C-12 

C.3 PMERGE PRECIPITATION DATA PREPROCESSOR C-19 

C.4 SMERGE SURFACE DATA METEOROLOGICAL PREPROCESSOR C-29 

C.5 BUOY OVER-WATER DATA METEOROLOGICAL PREPROCESSOR C-39 

D. PROGNOSTIC METEOROLOGICAL DATA PROCESSORS D-1 

D.1 CALMM5 D-1 

D.2 CALETA D-25 

D.3 CALRUC D-40 

D.4 CALRAMS D-48 

D.5 3D.DAT OUTPUT FILE D-53 

E. CALMET MODEL FILES E-1 

E.1 User Control File (CALMET.INP) E-5 

E.2 Geophysical Data File (GEO.DAT) E-49 

E.3 Upper Air Data Files (UP1.DAT, UP2.DAT,...) E-61 

E.4 Surface Meteorological Data File (SURF.DAT) E-66 

E.5 Overwater Data Files (SEA1.DAT, SEA2.DAT, ...) E-70 

E.6 Precipitation Data File (PRECIP.DAT) E-74 

E.7 Preprocessed Diagnostic Model Data File (DIAG.DAT) E-78 

E.8 Prognostic Model Data File (PROG.DAT) E-82 

E.9 3D Model Data Files (3D.DAT) E-84 

E.10 Terrain Weighting Factor Data File (WT.DAT) E-102 

E.11 CALMET Output Files E-109 

Volume II & III References 
A. OVERVIEW 

A.1 Background 

The purpose of this study is to develop an updated regulatory model for evaluating air quality impacts 

from emission sources located on federal waters of the Outer Continental Shelf (OCS). The United States

Department of the Interior Minerals Management Service (MMS) is in charge of a national program to 

develop the mineral resources, including oil and gas and alternative energy sources (such as wind power), 

on the OCS waters of the United States. The areas of development are located at distances ranging from 3 

miles to more than 100 miles from shore.

In the early 1980s the MMS developed the Offshore & Coastal Dispersion (OCD) model (Hanna et al., 

1985) to evaluate impacts from the so-called “nonreactive” pollutants (NO2, SO2, CO, PM) emitted from

point, line, or area sources located over water. Since then the science of dispersion modeling has made 

significant advances, as have the computational and data resources that support this modeling. Therefore 

the focus of this study 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. The new model 

for OCS applications is an update to the CALPUFF (Scire et al., 2000a, 2000b) modeling 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. 

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. 

MAR 2006 –Overview 

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

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. 

 

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: 

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

MAR 2006 –Overview 

A-2 
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 user’s CALMET domain. 

o The CALVIEW display system for meteorological fields and concentration/deposition 

fields using the SURFER® contouring package was extensively revised and enhanced. 

• 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 user’s CALMET domain. 

The technical formulation for CALMET is provided in Section 2 of Scire et al., 2000a and the technical 

formulation CALPUFF is provided in Section 2 of Scire et al., 2000b. Formulations for the updates to 

CALMET and CALPUFF are provided in Section 3 in Volume I of this report. Volumes II and III of this 

report contain application details for the following core system components: 

 

(Volume II) 

• Geophysical Data Processors 

• Meteorological Data Processors 

• Prognostic Meteorological Model Processors 

• CALMET 

MAR 2006 –Overview 

A-3 
(Volume III)

• CALPUFF 

• Postprocessors 

Linkages between programs are identified and the content of input and output files are provided. All of 

these programs can be used without the aid of the GUIs, but most can be accessed and configured using 

the GUI system. 

A.2 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 hourly 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 hourly concentrations or hourly 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 1-hour and 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. 

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, the modeling system interfaces to several other models, 

which is facilitated by several preprocessors and utilities. Figure A-1 displays the overall modeling 

system configuration. Two of the models plus the mesoscale meteorological models referenced in Figure 

MAR 2006 –Overview 

A-4 
Postprocessing

Dispersion M odeling

M eteorological M odeling

M eteorological &

Geophysical Data

Preprocessors

M esoscale

M eteorological

M odels

C ALPOST

Postprocessor

C ALPU FF

Dispersion M odel

Utility Programs

APPEN D , C ALSU M

K SP

Particle M odel

PRTM ET

Postprocessor

C ALGR ID

Photochemical

M odel

CALM ET

M eteorological

M odel

POSTUTIL

Postprocessor

A-1 are external models that are not included in the CALPUFF system, but they can be interfaced with 

CALPUFF modules: 

Figure A-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, and CSUMM. 

MAR 2006 –Overview 

A-5 
MM5/MM4 (Penn State/NCAR Mesoscale Model) is a prognostic wind field model with fourdimensional data assimilation. The interface program CALMM5 converts the MM5 output 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 WRF output data 

into a form 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.

CSUMM (a version of the Colorado State University Mesoscale Model) is a primitive equation 

wind field model that simulates mesoscale airflow resulting from differential surface heating and 

terrain effects. Various options for using CSUMM output with CALMET are provided. 

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 (Yamartino et al., 1989, 1992). 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 (Yamartino et al., 1996, Strimaitis et al., 1995). The output 

from CALMET may be used in KSP. 

The components in Figure A-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. 

MAR 2006 –Overview 

A-6 
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 that 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: 

READ62 is a meteorological preprocessor that 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, 

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. 

MAR 2006 –Overview 

A-7 
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 a generic land use format, and 

computes the 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. 

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 WRF, 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. 

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

OPTHILL is a processor that 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. 

MAR 2006 –Overview 

A-8 
EPM2BAEM 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 Emissions 

Production Model (EPM). 

The meteorological modeling with the CALMET model is detailed in Figure A-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 A-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 are shown in Figure A-4 and Figure A-5. 

MAR 2006 –Overview 

A-9 
(CSUMM)

Prognostic

Wind Field 

Model

Geophysical 

Data File 

(GEO.DAT)

Prognostic

Gridded Wind

Field 

(optional)

(PROG.DAT)

Upper Air 

Sounding Data

(READ62 

Format)

(UP1.DAT,

UP2.DAT...)

Preprocessed

Surface/Upper 

Air 

Meteorological

Data (optional)

(DIAG.DAT)

Surface 

Meteorological

Data File 

(SMERGE 

Format or Free 

Format)

(SURF.DAT)

Processed Hourly

Precipitation File

 (PRECIP.DAT)

Overwater Data

File

(SEA1.DAT,

SEA2.DAT)

READ62

Upper Air

Preprocessor

SMERGE 

Surface Met. 

Preprocessor

Surface Met. 

Data Files (with 

corrections)

(CD144 Format)

METSCAN

QA Program

Surface Data 

Files 

(CD144 Format)

Surface Data Files

SAMSON HUSWO TD3505 TD9956 

Buoy Data Files 

NODC

NDBC

MM5/MM4, 

 NAM(Eta), 

WRF, RUC, 

RAMS Data 

(3D.DAT, 

MM4.DAT) 

PMERGE

Precipitation

Preprocessor

Extracted Hourly

Precipitation

Data (TD -3240

Format)

(stn.DAT)

PXTRACT

Precipitation

Data Extracting

Program

Hourly

Precipitation

Data (TD -3240

Format)

(TD3240.DAT)

CALMET

Meteorological

Model

Test an

Outpu

(TE

CALMET Output

List file

(CALMET.LST)

BUOY 

Overwater Data

Preprocessor 

Upper Air Data 

TD-62-01 FSL 

MAKEGEO

TERREL

Terrain 

Processor

Elevation Data

Files

CTGPROC

Land Use Processor

CTGCOMP

Land Use 

USGS NLCD 

USGS Global

Generic 

Land Use 

USGS CTG

Gridded Hourly

Met. Files

(CALMET.DAT

or 

PACOUT.DAT)

Figure A-2. Meteorological modeling: CALMET modeling flow diagram.MAR 2006 – Overview 

A-10 
OPTHILL utility

for CTSG

Features

(optional)

Emissions 

Production

Model (EPM) 

Interface

Program

(optional)

Time-Varying

Volume Source

Emissions File

(optional)

(VOLEMARB.DAT)

CALPUFF 

Control File

(CALPUFF.INP)

User-Specified 

Deposition

Velocities

(optional)

(VD.DAT)

Hourly Met. Data

(CALMET.DAT) or

(ISCMET.DAT) or

(PLMMET.DAT) or

(SURFACE.DAT and

(PROFILE.DAT)

Time-Varying

Point Source

Emissions File

(optional)

(PTEMARB.DAT)

Complex Terrain 

(CTDM) Hill 

Data File

(optional)

(HILL.DAT)

User-Specified 

Chemical 

Conversion 

Rates

(optional)

(CHEM.DAT)

Subgr

Coastal 

F

(opt

(COAST

Time-Varying

Line Source 

Emissions File

(optional)

(LNEMARB.DAT)

Hourly Ozone 

Data File

(optional)

(OZONE.DAT)

Complex Terrain 

(CTDM) 

Receptor Data

File

(optional)

(HILLRCT.DAT)

Input Restart File

(optional)

(RESTART.DAT)

Time-Varying

Area Source 

Emissions File

(optional)

(BAEMARB.DAT)

CALPUFF

Output List File

(CALPUFF.LST)

Output Restart

File

(RESTARTE.DAT)

Predicted Wet

Flux Fields

(WFLX.DAT)

Relative 

Humidity Data 

for Visibility

Calculations

(VISB.DAT)

Predicted Dry

Flux Fields

(DFLX.DAT)

Predicted 

Concentration

Fields

(CONC.DAT)

Diagnostic Mass

Flux File

(MASSFLX.DAT)

Diagnostic Mass

Balance File

(MASSBAL.DAT)

Debug 

Trackin

(DEBUG

CALPUFF 

Gaussian Puff 

Dispersion

Model

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

MAR 2006 – Overview 

A-11 
F ro m C ALM ET

Gridded Hourly

M eteorological Fields

(C ALM ET .D AT )

P R TM ET

C ontrol File

(PR TM ET.IN P)

P R TM ET

Postprocesso r

O utput List

File

(PR TM ET .L ST )

P lo t File(s)

(optional)

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

MAR 2006 – Overview 

A-12 
From CALPUFF

CALPOST

Control

File

(CALPOST.INP)

Predicted Dry

Flux Fields

(DFLX.DAT)

Predicted

Concentration

Fields

(CONC.DAT)

Hourly

Background

Concentration/

Fluxes

(optional)

(BACK.DAT)

Relative Humidity

Data for Visibility

Calculations

(optional)

(VISB.DAT)

CALPOST

Postprocessor

Plot File(s)

(optional)

(RANK*.DAT/GRD)

(EXCEED.DAT/GRD)

(yyyy*.DAT/GRD)

(PEAKVAL*.DAT)

Timeseries File(s)

(optional)

(TSERIES*.DAT)

Hourly

Background

Extinction or

Weather File

(optional)

(VSRN.DAT)

Output List File

(CALPOST.LST)

Daily Peak Summary

File for Visibility

Calculations

(DAILY_VISIB.DAT)

Figure A.5 Postprocessing: CALPOST postprocessing flow diagram.

MAR 2006 – Overview 

A-13 
A.3 Major Model Algorithms and Options 

A.3.1 CALMET 

The CALMET meteorological model consists of a diagnostic wind field module and micrometeorological modules for overwater and overland boundary layers. The major features and options of 

the meteorological model are summarized in Table A-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 A-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 A-6) or the Step 1 wind field (pathway B in Figure A-6). 

MM4/MM5, NAM(Eta), WRF, RUC, and RAMS 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 A-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. 

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. 

MAR 2006 – Overview 

A-14 
 Table A-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) Prognostic Model Winds 

• Lambert Conformal Projection Capability

MAR 2006 – Overview 

A-15 
Step 2

(final) wind

field

Step 2

(final) wind

field

Set up initial

guess field

compute terrain

effects

minimize divergence

compute terrain

effects

minimize divergence

perform objective

analysis procedure

perform objective

analysis procedure

smooth wind field

(optional)

apply O’Brien

procedure and

minimize divergence

(optional)

smooth wind field

(optional)

apply O’Brien

procedure and

minimize divergence

(optional)

model output used

as “initial guess

field”

model output used

as “initial guess

field”

(A)

MM5

model output used

as “initial guess

field”

model output used

as “initial guess

field”

model output used

as “Step 1” field

model output used

as “Step 1” field

(B)

model output used

as “Step 1” field

MM5

model output used

as “Step 1” field

(C)

model output used

as “observations”

model output used

as “observations”

model output used

as “observations”

MM5

model output used

as “observations”

Step 1 wind

field

Step 1 wind

field

Step 1 wind

field

Step 1 wind

field

ObservationsObservations

Figure A-6. Flow diagram of the diagnostic wind model in CALMET. Winds derived from mesoscale models MM4/MM

RUC, RAMS, or CSUMM can be introduced as the initial guess field A, or the Step 1 field B. Mesoscale model wind data also be treated as “observations” C. 

MAR 2006 – Overview 

A-16 
 Slope Flows: Slope flows are computed based on the shooting flow parameterization of Mahrt

(1982). Shooting flows are buoyancy-driven flows, balanced by advective 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 and RAMS (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 

not made. A third available option in CALMET is to treat the gridded prognostic data as "observations" 

in the objective analysis procedure. 

MAR 2006 – Overview 

A-17 
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 advective effects. 

A.3.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 

(Cimorelli, et al., 2002) steady-state Gaussian models. However, such single-station winds should be 

used with caution, because they do not allow CALPUFF to take advantage of its capabilities to treat 

spatially-variable meteorological fields. 

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 

MAR 2006 – Overview 

A-18 
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 A-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 either the five species scheme (SO2, SO=

4, NOx, HNO3, and NO−3) 

employed in the MESOPUFF II model, the six species RIVAD scheme (SO2, SO=

4, NO, NO2, 

HNO3, and NO−

3) employed in the ARM3 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 and horizontal wind shear effects across individual puffs to be simulated. Differential 

MAR 2006 – Overview 

A-19 
rates of dispersion and transport occur 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.

 

MAR 2006 – Overview 

A-20 
Table A-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 and horizontal 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)

MAR 2006 – Overview 

A-21 
Table A-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 NO−3

(MESOPUFF II method) 

• Pseudo-first-order chemical mechanism for SO2, SO=

4, NO, NO2, HNO3, and NO−3

(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 

MAR 2006 – Overview 

A-22 
A.4 Summary of Data and Computer Requirements 

CALMET Data Requirements 

The input data requirements of the CALMET model are summarized in Table A-3. The modeling system

flow diagrams (Figures A-1 through A-4) provides 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 hourly 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). 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. However, the data can also be input into the model by way of free-formatted, userprepared 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 hour 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. 

MAR 2006 – Overview 

A-23 
Table A-3 

Summary of Input Data Required by CALMET 

Surface Meteorological Data

 Hourly observations of: Hourly 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 observed 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) 

MAR 2006 – Overview 

A-24 
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., 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 hourly 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, or RAMS 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 

MAR 2006 – Overview 

A-25 
file, DIAG.DAT, is compatible with the stand-alone version of the diagnostic wind field model developed 

by Douglas and Kessler (1988). 

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 A-4 (also see the modeling system flow 

diagram, Figure A-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 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 that 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 A-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 

AREMARB.DAT), line sources (default name LNEMARB.DAT), and volume sources (default name 

VOLEMARB.DAT). 

 

Hourly observations of ozone data are used in the calculation of SO2 and NOx transformation rates if the 

MESOPUFF II or RIVAD chemical transformation scheme is selected. The hourly ozone data for one or 

more ozone stations are read from a data file called OZONE.DAT. 

MAR 2006 – Overview 

A-26 
 Table A-4 

Summary of CALPUFF Input Files 

Default 

File Name

Contents Unit*

Number 

Type 

RESTARTB.DAT Input restart file containing a dump of all puff parameters 

sufficient to allow a model run to continue (optional) 

IO3 Unformatted

CALPUFF.INP Control file inputs IO5 Formatted

CALMET.DAT Geophysical and hourly meteorological data, created by the 

CALMET meteorological model

IO7 Unformatted

 or 

ISCMET.DAT Single-station ASCII meteorological data in ISCST3-format IO7 Formatted

 or 

PLMMET.DAT Single-station ASCII meteorological data in AUSPLUME 

format 

IO7 Formatted

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

PTEMARB.DAT Source and emissions data for point sources with arbitrarilyvarying emission parameters (optional)IO16 Formatted or

unformatted 

BAEMARB.DAT Emissions data for area sources with arbitrarily-varying

emission parameters. Can be derived from EPM model files 

(optional) 

IO17 Formatted

VOLEMARB.DAT Emissions data for volume sources with arbitrarily- varying 

emission parameters (optional) 

IO18 Formatted or

unformatted 

LNEMARB.DAT Emission data for line sources with arbitrarily-varying line 

source emissions (optional)

I019 Formatted

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

OZONE.DAT Hourly ozone measurements at one or more ozone stations 

(optional) 

IO22 Formatted

H202.DAT Hourly 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 

(optional) 

IO28 Formatted

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

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

for CTDMPLUS (optional) 

IO31 Formatted

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

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. 

MAR 2006 – Overview 

A-27 
Table A-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 

Hourly values of the following parameters at surface met. stations:

• air density (ρa) 

• air temperature 

• short-wave solar radiation 

• relative humidity

• precipitation type 

Meteorological Data (ISCST ISCMET.DAT)

Hourly values (standard records) 

• wind speed, flow direction

• temperature, stability class 

• mixing height (zi) for rural/urban 

Hourly values (extended records) 

• surface friction velocity (u*), Monin-Obukhov length (L) 

• surface roughness (zo) 

• precipitation code and rate 

• potential temperature gradient 

• wind speed profile power-law exponent 

• short-wave solar radiation 

• relative humidity

(Continued) 

MAR 2006 – Overview 

A-28 
Table A-5 (Continued) 

Summary of Input Data Used by CALPUFF 

Meteorological Date (AUSPLUME PLMMET.DAT)

Hourly values (standard records) 

• wind speed, wind direction 

• temperature, stability class 

• mixing height (zi) 

• turbulence (σ2) 

• wind speed profile power-law exponent 

• potential temperature gradient 

Hourly values (extended records) 

• precipitation code and rate 

• short-wave solar radiation 

• relative humidity

Meteorological Data (CTDMPLUS or AERMOD SURFACE.DAT, PROFILE.DAT)

Hourly values (SURFACE.DAT - standard records) 

• mixing height (zi) 

• surface friction velocity (u*), Monin-Obukhov length (L) 

• surface roughness (zo) 

Hourly values (SURFACE.DAT - extended records) 

• precipitation code and rate 

• short-wave solar radiation 

• relative humidity

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) 

(Continued) 

MAR 2006 – Overview 

A-29 
Table A-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 ozone measurements at one or more monitoring stations 

H2O2 Concentration Data (H2O2.DAT)

• Hourly H2O2 concentrations at one or more locations 

Chemical Transformation Data (CHEM.DAT)

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

MAR 2006 – Overview 

A-30 
Table A-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 subgridscale 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 hourly mass 

transport 

MAR 2006 – Overview 

A-31 
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 hourly 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. 

The CALPUFF output files are summarized in Table A-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 hourly changes in pollutant mass report results to the files MASSFLX.DAT and 

MAR 2006 – Overview 

A-32 
Table A-6 

Summary of CALPUFF Output Files 

Default 

File Name 

Contents Unit*

Number 

Type 

RESTARTE.DAT Output restart file containing a dump of all puff 

parameters sufficient to allow a model run to continue 

(optional) 

IO4 Unformatted

CALPUFF.LST List file produced by CALPUFF IO6 Formatted 

CONC.DAT One-hour averaged concentrations (g/m3

) at the 

gridded and discrete receptors for species selected by

the user in the control file (optional) 

IO8 Unformatted

DFLX.DAT One-hour averaged dry deposition fluxes (g/m2

/s) at 

the gridded and discrete receptors for species selected

by the user in the control file (optional) 

IO9 Unformatted

WFLX.DAT One-hour averaged wet deposition fluxes (g/m2

/s) at 

the gridded and discrete receptors for species selected

by the user in the control file (optional) 

IO10 Unformatted

VISB.DAT Relative humidity data required for visibility-related 

postprocessing (optional) 

IO11 Unformatted

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 

fog analysis postprocessors (optional) 

IO12 Unformatted

DEBUG.DAT Tables of detailed puff/slug data useful for debugging

(optional) 

IO30 Formatted

MASSFLX.DAT Hourly report of mass flux into and out of regions 

defined by the boundaries in the FLUXBDY.DAT file 

IO36 Formatted

MASSBAL.DAT Hourly report of changes in mass of all species 

modeled 

IO37 Formatted

QATERR.GRD gridded terrain elevations (mMSL) in SURFER GRD 

format, created when CALMET.DAT is used with 

variable topography

IOQA Formatted

QALUSE.GRD gridded land use in SURFER GRD format, created 

when CALMET.DAT is used 

IOQA Formatted

QAGRID.BNA borders (km) for the METEOROLOGICAL, 

COMPUTATIONAL, and SAMPLING (when 

LSAMP=T) grid domains, in Atlas Boundary File 

format 

IOQA Formatted

QARECD.DAT x,y coordinates (km), elevation (m), and height above 

ground (m) of discrete receptors, created only when 

discrete receptors are used (NREC>0) 

IOQA Formatted

MAR 2006 – Overview 

A-33 
Table A-6 (Concluded) 

Summary of CALPUFF Output Files 

Default 

File Name 

Contents Unit*

Number 

Type 

QARECG.DAT x,y coordinates (km), and elevation (m) of gridded 

receptors, created only when gridded receptors are 

used (LSAMP=T) 

IOQA Formatted

QARECT.DAT x,y coordinates (km), and elevation (m) of CTSG 

receptors, created only when CTSG receptors are used 

(NCTREC>0) 

IOQA Formatted

QAPNTS.DAT x,y coordinates (km), elevation (m), and source index 

of point sources, created only when point sources are 

used 

IOQA Formatted

QAVOLS.DAT x,y coordinates (km), elevation (m), and source index 

of volume sources, created only when volume sources

are used 

IOQA Formatted

QAAREA.BNA outlines (km) for area sources, in Atlas Boundary File

format, created only when area sources are used 

IOQA Formatted

QALINE.BNA segments (km) for buoyant line sources, in Atlas 

Boundary File format, created only when line sources 

are used 

IOQA Formatted

LUSE.CLR Default land-use color map file for SURFER, always

created 

IOQA 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., IO8 = 8). 

However, the value can be easily changed in the parameter file to accommodate reserved unit 

numbers on a particular system. 

MAR 2006 – Overview 

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

technical options, and meteorological variables such as the mean wind speed. Because each puff is 

MAR 2006 – Overview 

A-35 
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 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 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. 

MAR 2006 – Overview 

A-36 
B. 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. 

CTGCOMP is a preprocessor used to compress the data file format of a USGS land use data 

file in Composite Theme Grid (CTG) format. 

CTGPROC is a land use preprocessor which reads the compressed CTG land use data (or 

the USGS Global Dataset format) and computes the 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 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 B-1 and further described in the following sections. 

MAR 2006 -- Geophysical 

B-1
TERRAIN LAND USE

Figure B-1. Processing Geophysical Data. 

USGS LambertAzimuthal Data

(~ 1000 m) 

GTOPO30 / SRTM30 

Global Data 

900 m (30 sec)

1 Deg 

 DEM 

90 m (3 sec) 

7.5 minute 

DEM 

(30 m) 

New Zealand Generic Data 

Canadian DMDF

Data 

(~ 100 m) 

ARM3 Data 

900 m 

(30 sec) 

Generic 

Data 

TERREL 

TERREL.LST

List File 

Plot File 

(Surfer.GRD File)

USGS Composite Theme 

Grid Data (CTG) 

Compressed CTG

Data File(s) Global Data File 

Gridded 

Terrain 

Field 

.SAV 

.OUT

CTGCOMP.INP

CTGPROC 

Gridded Output LU

Data (Final run the 

output is expressed 

as fractional land 

use) 

MAKEGEO MAKEGEO.INP

LU Plot File 

(Surfer.GRD 

File) 

CTGPROC.INP

CTGPROC.LST

 Repeat for each 

file 

TERREL.INP

(Iteration

optional)

SRTM1 

30 m (1 sec)

SRTM3 

90 m (3 sec)

TERREL.INP TERREL 

TERREL.LST

Gridded Terrain 

Field 

*.DAT

*.SAV 

Coastline Data

(GSHHS) 

Plot Files 

(Surfer .GRD 

File)

CTGCOMP

GEO.DAT MAKEGEO.LST

MAR 2006 -- Geophysical 

B-2
B.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 userspecified 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 either a Universal Transverse Mercator (UTM) grid 

or a Lambert Conformal Projection (LCC). The latter should be used when the modeling domain is large, 

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. 

MAR 2006 -- Geophysical 

B-3
TERREL INPUT: 

1. Terrain database: Table B-1 defines the types of terrain databases that can be processed by TERREL. 

Eleven types of terrain data can be read, corresponding to different resolutions and formats: 30 arcseconds (-900 m spacing, GTOPO30, USGSLA, or ARM3 format), 3 arc-seconds (-90 m spacing, 

USGS DEM, SRTM3, or Rocky Mtn. Communications (3CD) format), 1 arc-second (-30 m 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), and one designed to enable a user to reformat existing gridded terrain files into a simple 

format for TERREL (GEN). The terrain data ordered from the USGS can be obtained through file 

transfer protocol (FTP) access, on CD-ROM, or on magnetic tape. 

2. Obtaining the Data: 3 arc-second terrain data are available from the USGS 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, 30-m 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. These names are listed in a USGS map index as well as on the WWW home page of the USGS. 

Select “FTP via Graphics” in the DEM section to view a map of the US and the names of the quadrants. 

3-sec terrain 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/DEM/250. 30-m terrain data must be ordered from the 

USGS. Note that the files do not contain record delimiters. These must be added as described in the 

documentation. 

The Shuttle RADAR Topography Mission (SRTM) data are available from the USGS in 1, 3, and 30 arcsecond 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 at the FTP site: ftp://edcsgs9.cr.usgs.gov/pub/data/srtm/ and also (along with 

documentation) at the WWWsite: http://edcwww.cr.usgs.gov/pub/data/srtm/ . 

30 arc-second terrain data for the globe are available from the USGS WWW site: 

(http://edcwww.cr.usgs.gov/landdaac/gtopo30/gtopo30.html ). 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 

 

MAR 2006 -- Geophysical 

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

MAR 2006 -- Geophysical 

B-5
Antarctica region where each file covers 60 degrees of longitude and 30 degrees of latitude. Figure B-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; where as 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 B-2 and a description of each input variable is provided in Table 

B-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 directly by a contouring software package such as SURFER (e.g., 

TERREL.GRD). 

3. save file: contains the intermediate binary output (e.g., TERREL.SAV). 

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

MAR 2006 -- Geophysical 

B-6
Table B-1 

Terrain Databases 

Database 

Type

Description Source File

Format

Reference

System

Spatial 

Resolution (m)

USGS90 1-deg DEM

3 arc-second data 

USGS ASCII Geographic

(lat/lon) 

-90 

USGS30 7.5 min USGS 

quadrangle 

USGS ASCII UTM 30

3CD 1-deg DEM

3 arc-second data 

Rocky Mtn 

Communications 

CD-ROM 

Binary Geographic

(lat/lon) 

-90 

SRTM1 1-deg HGT format 

1 arc-second data 

covering USA 

USGS Binary Geographic

(lat/lon) 

~30 

SRTM3 3-deg HGT format 

3 arc-second data 

covering world 

USGS Binary Geographic

(lat/lon) 

~90 

GTOPO30 

(SRTM30) 

30 second DEM 

40E lon. by 50Elat. 

covering world 

USGS Binary Geographic

(lat/lon) 

~900 

ARM3 30 second data

4 N-S sheets 

covering U.S.

CALPUFF CDROM (available 

from NTIS) 

ASCII Geographic 

(lat/lon) 

-900 

DMDF 7.5 min Alberta 

DEM 

Alberta Environ. 

Protection 

ASCII UTM ~100

USGSLA 30 sec DEM USGS Binary Lambert

Azimuthal 

~1000 

NZGEN Generic New

Zealand file format 

Misc. ASCII Geographic

(lat/lon) 

Arbitrary

GEN Generic File

format 

Misc. ASCII UTM or

Lambert 

Conformal 

Arbitrary

MAR 2006 -- Geophysical 

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

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

 (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 

 TERREL 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 

!END! 

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

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) 

MAR 2006 -- Geophysical 

B-8
Table B-2 (continued) 

Sample TERREL Control File Inputs 

(TERREL.INP) 

 (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 

 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 ! 

 Datum-region for input GSHHS Coastal Data File coordinates 

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

!END! 

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

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 

 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 

MAR 2006 -- Geophysical 

B-9
Table B-2 (continued) 

Sample TERREL Control File Inputs 

(TERREL.INP) 

 (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 

 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 

 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) 

MAR 2006 -- Geophysical 

B-10
Table B-2 (continued) 

Sample TERREL Control File Inputs 

(TERREL.INP) 

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

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

!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 

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

MAR 2006 -- Geophysical 

B-11
Table B-2 (continued) 

Sample TERREL Control File Inputs 

(TERREL.INP) 

 (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

 RLAT0 selected for convenience 

N/S) meridian of projection

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

 (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 

 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!

MAR 2006 -- Geophysical 

B-12
Table B-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 eac

 the polar grid, using a group terminator on each line. 

h ring in

 (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

MAR 2006 -- Geophysical 

B-13
Table B-3 

TERREL Control File Inputs 

Input 

Group

Variable Type Description

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

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. 

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

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) 

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. 

(0b) USGS90 

USGS30 

ARM3 

3CD 

DMDF 

SRTM1 

SRTM3 

GTOPO30 

USGSLA 

NZGEN 

GEN 

character*70 Assignment of input data file names of type 

USGS90, ARM3,... 

 (as many lines as the number of files of 

each type – the total number must be 

NTDF) 

MAR 2006 -- Geophysical 

B-14
Table B-3 (continued) 

TERREL Control File Inputs 

Input 

Group

Variable Type Description

(0c) DUSGS90

DUSGS30 

DARM3 

D3CD 

DDMDF 

DSRTM1 

DSRTM3 

DGTOPO30 

DUSGSLA 

DNZGEN 

DGEN 

DWVS 

character*8 Assignment of DATUM Code for each type 

of input data file listed in sub-group 0b. 

Note that the USGS GSHHS database file

contains information from two distinct 

databases, each with its own datum. These 

are the World Vector Shoreline (WVS) for 

“salt water” coasts, and the World Data 

Base II (WDBII) for fresh water coasts.

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

LXY logical Process discrete (x,y) locations (F=no, 

T=yes) 

NXYCOL integer No. columns in receptor file 

LINTXY logical Interpolate elevation at discrete (x,y) 

locations (F= no – take nearest maximum

terrain elevation, T= yes) 

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) 

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) 

MAR 2006 -- Geophysical 

B-15
Table B-3 (continued) 

TERREL Control File Inputs 

Input 

Group

Variable Type Description

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) 

IMODEL integer (1,..,6) Meteorological or dispersion model using 

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. 

(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 

MAR 2006 -- Geophysical 

B-16
Table B-3 (concluded) 

TERREL Control File Inputs 

Input 

Group

Variable Type Description

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,

YREFKM 

Real Reference X and Y coordinates origin (km)

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, 

NRAYS 

integer Number of rings and radials (if IGRID=3). 

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. 

(3) DISKM Real (nring

lines) 

Distance of concentric rings for polar grid 

(km). Read only if IGRID=3. 

ANGDEG real (nray

lines) 

Polar grid radials (degrees). Read only if 

IGRID=3. 

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

MAR 2006 -- Geophysical 

B-17
B.2 Land Use Data Preprocessors (CTGCOMP and CTGPROC) 

This section explains how to obtain and process 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. These files can be quite large (- 38 MB for one quadrant), therefore, the first step in 

processing these land use data is to compress the data file (CTGCOMP) and then to work (CTGPROC) 

with the much smaller compressed file (- 0.5 MB). 

B.2.1 Obtaining the Data 

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

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. Note that the CTG files (named ‘grid_cell’) do 

not contain record delimiters. These must be added as described in the documentation for the GIRAS 

files. 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. Select the “250K FTP 

via Graphics” in the LULC section to view a map of the US and the names of the quadrants. 

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

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, Windowscompatible Graphical User Interface (GUI) developed for the geophysical preprocessors (CALPRO). 

B.2.3. CTGPROC - the land use preprocessor 

CTGPROC reads a compressed USGS Land Use and Land Cover data in Composite Theme Grid (CTG) 

format, or the USGS Global Dataset format. The CTG data is available for the United States, with a 

MAR 2006 -- Geophysical 

B-18
horizontal resolution of approximately 200 m. The global dataset covers the world with a resolution of 

approximately 900 m. 

Each run of CTGPROC processes one file (i.e., one quadrant of data processed per run) and determines 

the fractional land use for each grid cell in the user-specified gridded domain. If the domain encompasses 

several CTG files (quadrants), CTGPROC must be run iteratively and the continuation flag must be 

turned on in the control file. The output from a previous run of CTGPROC can be used as an 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 landuse datapoint 

from the CTG or global dataset 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: a user input control file CTGPROC.INP (grid definition parameters must be compatible with those 

used in TERREL), and a compressed CTG data file or a global data file. The format of the CTGPROC 

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!). 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). An example of the input file 

and a description of the input variables are shown in Tables B-5 and B-6, respectively. 

Output: a list file (CTGPROC.LST), and a gridded land use data file. A sample list file is shown in Table 

B-7. 

MAR 2006 -- Geophysical 

B-19
 Table B-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 

Group

Variable Type Description

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

MAR 2006 -- Geophysical 

B-20
 Table B-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 = 6 ! 

 Other Input and Output files: 

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

 Default Name Type File Name 

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

 PREV.DAT input ! PREVDAT =lu1.dat ! 

 LU.DAT output ! LUDAT =lu2.dat ! 

 CTGPROC.LST output ! RUNLST =lu2.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 = stlcoast.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, 

 followed by a group terminator. The type of data base 

 for each file is designated by the assignment name:

MAR 2006 -- Geophysical 

B-21
Table B-5 (continued) 

Sample CTGPROC Control File Inputs 

 (CTGPROC.INP) 

 (CTG) designates USGS CTG (compressed) 

 (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 

 ! GLAZNA = noameric.lu ! !END! 

 ! GLAZSA = soameric.lu ! !END! 

 ! GLAZEU = europe.lu ! !END! 

 ! GLAZAS = asia.lu ! !END! 

 ! GLAZAF = africa.lu ! !END! 

 ! GLAZAP = auspacif.lu ! !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 ! 

 

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

 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, 

 and it may FILL empty marine cells at the end of a run with the 

 type for ocean. 

MAR 2006 -- Geophysical 

B-22
Table B-5 (continued) 

Sample CTGPROC Control File Inputs 

 (CTGPROC.INP) 

 (LMARSWAP) Default: F ! LMARSWAP = F ! 

 (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 

 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 

 LCC : Lambert Conformal Conic 

 PS : Polar Stereographic 

 EM : Equatorial Mercator 

 LAZA: Lambert Azimuthal Equal Area 

MAR 2006 -- Geophysical 

B-23
Table B-5 (continued) 

Sample CTGPROC Control File Inputs 

 (CTGPROC.INP) 

 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 

 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 = WGS-84 ! 

MAR 2006 -- Geophysical 

B-24
Table B-5 (continued) 

Sample CTGPROC Control File Inputs 

 (CTGPROC.INP) 

 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 ! 

 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) 

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

 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 

MAR 2006 -- Geophysical 

B-25
Table B-6 

Control File Inputs (CTGPROC.INP) 

Input 

Group

Variable Type Description

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

LCFILES logical Filename converted to lower case (T) or 

upper case (F) 

(0b) CTG 

NZGEN 

GLAZNA 

GLAZSA 

GLAZEU 

GLAZAS 

GLAZAF 

GLAZAP 

character*70 Assignment of input data file names of type 

CTG, NZGEN, ... 

 (as many lines as the number of files of each 

type – the total number must be NDBF) 

MAR 2006 -- Geophysical 

B-26
Table B-6 (continued) 

Control File Inputs (CTGPROC.INP) 

Input 

Group

Variable Type Description

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

LCOAST logical Process coastline data? (T=yes, F=no) 

LBLNREAD logical Read pre-processed coastline data (existing 

BLN file)? (T=yes, F=no) 

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

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 

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 

ITHRESH Integer Threshold flag in % of the average number of 

data 'hits' per cells 

MAR 2006 -- Geophysical 

B-27
Table B-6 (concluded) 

Control File Inputs (CTGPROC.INP) 

Input 

Group

Variable Type Description

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

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

XREFKM,

YREFKM 

real Reference X and Y coordinates origin (km)

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) 

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

MAR 2006 -- Geophysical 

B-28
Table B-7 

Sample CTGPROC Output List File 

(CTGPROC.LST) - Partial Listing 

 CTGPROC OUTPUT SUMMARY 

 VERSION: 2.63 LEVEL: 050128 

 Internal Coordinate Transformations by --- COORDLIB Version: 1.95 Level: 050126 

 

 

 

 

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

 SETUP Information 

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

 

 

 Control File Used ----- 

 ctgproc.inp 

 

 Processing Options ----- 

 Continues Previous Run? : F 

 Final Run in Series? : T 

 

 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 

 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 

 

 

 

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

 PROCESS Information 

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

 

 Land use data file: LEWISTON.CMP 

 

 Header of Compressed CTG data file: 

MAR 2006 -- Geophysical 

B-29
Table B-7 (concluded) 

Sample CTGPROC Output List File 

(CTGPROC.LST) - Partial Listing 

 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: 16:53:34 

 Date: 02-21-2005 

 Elapsed Clock Time: 5.0 (seconds) 

 CPU Time: 5.0 (seconds) 

MAR 2006 -- Geophysical 

B-30
B.3 MAKEGEO 

MAKEGEO generates a GEO.DAT file that provides the geophysical data inputs required by the 

CALMET model1

. 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 LU categories by remapping the USGS LU 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 B-8 and the input 

variables are described in Table B-9. 

 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. 

MAR 2006 -- Geophysical 

B-31
 Table B-8 

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 ! 

 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. 

 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 

MAR 2006 -- Geophysical 

B-32
Table B-8 (continued) 

Sample MAKEGEO Control File 

(MAKEGEO.INP) 

 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 

 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 

 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 !

MAR 2006 -- Geophysical 

B-33
Table B-8 (continued) 

Sample MAKEGEO Control File 

(MAKEGEO.INP) 

 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 

 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 ! 

 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 ! 

 (IWAT2) Default: 55 ! IWAT2 = 55 ! 

!END! 

MAR 2006 -- Geophysical 

B-34
Table B-8 (continued) 

Sample MAKEGEO Control File 

(MAKEGEO.INP) 

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

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 

 (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 

 in a cell when land use data are available 

 (FLUMIN) Default: 0.96 ! FLUMIN = 0.96 ! 

!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 

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

MAR 2006 -- Geophysical 

B-35
Table B-8 (continued) 

Sample MAKEGEO Control File 

(MAKEGEO.INP) 

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

! 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 (4c) 

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

 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. 

MAR 2006 -- Geophysical 

B-36
Table B-8 (continued) 

Sample MAKEGEO Control File 

(MAKEGEO.INP) 

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

Subgroup (4d) 

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

 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 

MAR 2006 -- Geophysical 

B-37
Table B-8 (continued) 

Sample MAKEGEO Control File 

(MAKEGEO.INP) 

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

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! 

! 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 (4c) 

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

 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. 

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

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 

MAR 2006 -- Geophysical 

B-38
Table B-8 (concluded) 

Sample MAKEGEO Control File 

(MAKEGEO.INP) 

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

Subgroup (4d) 

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

 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% 

MAR 2006 -- Geophysical 

B-39
Table B-9 

MAKEGEO Control File Inputs 

Input 

Group

Variable Type Description

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

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 

IXQA.IYQA integers I,J, indices of cell to write out for QA check (used only 

if >0) 

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

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

MAR 2006 -- Geophysical 

B-40
Table B-9 (concluded) 

MAKEGEO Control File Inputs 

Input 

Group

Variable Type Description

XREFKM,

YREFKM 

real Reference X and Y coordinates origin (km) 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) 

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

run) 

IWAT1, 

IWAT2 

integer Range of output categories assigned to water 

(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 

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) 

(4b) X 

(nincat 

entries) 

Real arrays 

(8 components) 

Arrays containing, the input land use properties 

(roughness length, albedo, Bowen ratio, soil heat flux 

parameter, anthropogenic heat flux, leaf area index) and 

the output category ID 

(4c) IWAT 

(numwat 

entries) 

integer Input LU categories defined as water (e.g., 51, 52, 53,

54 for USGS LU categories) 

(4d) XSPLIT Array

(int,int,real) 

Category split information: category ID to be split, 

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 

MAR 2006 -- Geophysical 

B-41
B.4 NIMA Datum Reference Information 

Continent Spheroid Region CODE

GLOBAL WGS-84 WGS-84 Global coverage WGS-84

GLOBAL WGS-84 EMG 96 Global coverage WGS-96 

GLOBAL WGS-84 GRS 80 Global coverage WGS-G 

GLOBAL WGS-72 WGS-72 Global coverage WGS-72 

GLOBAL NWS 6370 KM Sphere Global Sphere NWS-84 

GLOBAL ESRI REFERENCE 6371 KM Sphere Global Sphere ESR-S 

AFRICA ADINDAN Clarke 1880 MEAN FOR Ethiopia, Sudan ADI-M 

AFRICA ADINDAN Clarke 1880 Burkina Faso ADI-E 

AFRICA ADINDAN Clarke 1880 Cameroon ADI-F 

AFRICA ADINDAN Clarke 1880 Ethiopia ADI-A 

AFRICA ADINDAN Clarke 1880 Mali ADI-C 

AFRICA ADINDAN Clarke 1880 Senegal ADI-D 

AFRICA ADINDAN Clarke 1880 Sudan ADI-B 

AFRICA AFGOOYE Krassovsky 1940 Somalia AFG 

AFRICA ARC 1950 Clarke 1880 MEAN FOR Botswana, Lesotho, Malawi, 

Swaziland, Zaire, Zambia, Zimbabwe 

ARF-M 

AFRICA ARC 1950 Clarke 1880 Botswana ARF-A 

AFRICA ARC 1950 Clarke 1880 Burundi ARF-H 

AFRICA ARC 1950 Clarke 1880 Lesotho ARF-B 

AFRICA ARC 1950 Clarke 1880 Malawi ARF-C 

AFRICA ARC 1950 Clarke 1880 Swaziland ARF-D 

AFRICA ARC 1950 Clarke 1880 Zaire ARF-E 

AFRICA ARC 1950 Clarke 1880 Zambia ARF-F 

AFRICA ARC 1950 Clarke 1880 Zimbabwe ARF-G 

AFRICA ARC 1960 Clarke 1880 MEAN FOR Kenya, Tanzania ARS-M 

AFRICA ARC 1960 Clarke 1880 Kenya ARS-A 

AFRICA ARC 1960 Clarke 1880 Tanzania ARS-B 

AFRICA AYABELLE LIGHTHOUSE Clarke 1880 Djibouti PHA 

AFRICA BISSAU International 1924 Guinea-Bissau BID 

AFRICA CAPE Clarke 1880 South Africa CAP 

AFRICA CARTHAGE Clarke 1880 Tunisia CGE

AFRICA DABOLA Clarke 1880 Guinea DAL 

AFRICA EUROPEAN 1950 International 1924 Egypt EUR-F 

AFRICA EUROPEAN 1950 International 1924 Tunisia EUR-T 

AFRICA LEIGON Clarke 1880 Ghana LEH

AFRICA LIBERIA 1964 Clarke 1880 Liberia LIB 

AFRICA MASSAWA Bessel 1841 Eritrea MAS 

AFRICA MERCHICH Clarke 1880 Morocco MER 

AFRICA MINNA Clarke 1880 Cameroon MIN-A 

AFRICA MINNA Clarke 1880 Nigeria MIN-B 

AFRICA M-PORALOKO Clarke 1880 Gabon MPO 

AFRICA NORTH SAHARA 1959 Clarke 1880 Algeria NSD 

AFRICA OLD EGYPTIAN 1907 Helmert 1906 Egypt OEG 

AFRICA POINT 58 Clarke 1880 Burkina Faso, Niger PTB 

AFRICA POINTE NOIRE 1948 Clarke 1880 Congo PTN 

MAR 2006 -- Geophysical 
Continent Spheroid Region CODE

AFRICA SCHWARZECK Bessel 1841 Namibia SCK 

AFRICA SIERRA LEONE 1960 Clarke 1880 Sierra Leone SRL 

AFRICA TANANARIVE OBSERVATORY 1925 

International 1924 

Madagascar TAN

AFRICA VOIROL 1874 Clarke 1880 Tunisia, Algeria VOI 

AFRICA VOIROL 1960 Clarke 1880 Algeria VOR

ASIA AIN EL ABD 1970 International 1924 Bahrain Island AIN-A 

ASIA AIN EL ABD 1970 International 1924 Saudi Arabia AIN-B 

ASIA BUKIT RIMPAH Bessel 1841 Bangka and Belitung Islands (Indonesia) BUR 

ASIA DJAKARTA (BATAVIA) Bessel 1841 Sumatra (Indonesia) BAT

ASIA EUROPEAN 1950 International 1924 Iran EUR-H 

ASIA EUROPEAN 1950 International 1924 Iraq, Israel, Jordan, Kuwait, Lebanon, 

Saudi Arabia, Syria 

EUR-S 

ASIA GUNUNG SEGARA Bessel 1841 Kalimantan (Indonesia) GSE 

ASIA HERAT NORTH International 1924 Afghanistan HEN 

ASIA HONG KONG 1963 International 1924 Hong Kong HKD 

ASIA HU-TZU-SHAN International 1924 Taiwan HTN 

ASIA INDIAN Everest (1830) Bangladesh IND-B 

ASIA INDIAN Everest (1956) India, Nepal IND-I 

ASIA INDIAN Everest Pakistan IND-P

ASIA INDIAN 1954 Everest (1830) Thailand INF-A 

ASIA INDIAN 1960 Everest (1830) Vietnam (near 16°N) ING-A 

ASIA INDIAN 1960 Everest (1830) Con Son Island (Vietnam) ING-B 

ASIA INDIAN 1975 Everest (1830) Thailand INH-A 

ASIA INDIAN 1975 Everest (1830) Thailand INH-A1

ASIA INDONESIAN 1974 Indonesian 1974 Indonesia IDN 

ASIA KANDAWALA Everest (1830) Sri Lanka KAN 

ASIA KERTAU 1948 Everest (1948) West Malaysia, Singapore KEA 

ASIA KOREAN GEODETIC SYSTEM 1995 

WGS 84 

South Korea KGS 

ASIA NAHRWAN Clarke 1880 Masirah Island (Oman) NAH-A 

ASIA NAHRWAN Clarke 1880 United Arab Emirates NAH-B 

ASIA NAHRWAN Clarke 1880 Saudi Arabia NAH-C 

ASIA OMAN Clarke 1880 Oman FAH 

ASIA PULKOVO 1942 Krassovsky 1940 Russia PUK 

ASIA QATAR NATIONAL International 1924 Qatar QAT 

ASIA SOUTH ASIA Modified Fischer 1960 Singapore SOA 

ASIA TIMBALAI 1948 Everest Brunei, East Malaysia (Sarawak and 

Sabah) 

TIL 

ASIA TOKYO Bessel 1841 MEAN FOR Japan, Okinawa, South 

Korea 

TOY-M 

ASIA TOKYO Bessel 1841 Japan TOY-A 

ASIA TOKYO Bessel 1841 Okinawa TOY-C 

ASIA TOKYO Bessel 1841 South Korea TOY-B 

ASIA TOKYO Bessel 1841 South Korea TOY-B1 

AUSTRALIA AUSTRALIAN GEODETIC 1966 

Australian National 

Australia, Tasmania AUA 

AUSTRALIA AUSTRALIAN GEODETIC 1984 

Australian National 

Australia, Tasmania AUG 

MAR 2006 -- Geophysical 
Continent Spheroid Region CODE

EUROPE COORD SYSTEM 1937 OF ESTONIA 

Bessel 1841 

Estonia EST

EUROPE EUROPEAN 1950 International 1924 MEAN FOR Austria, Belgium, Denmark, 

Finland, France, FederalRepublic of 

Germany (Prior to 1 January 1993), 

Gibraltar, Greece, Italy, Luxembourg, 

Netherlands, Norway, Portugal, Spa 

EUR-M 

EUROPE EUROPEAN 1950 International 1924 MEAN FOR Austria, Denmark, France, 

Federal Republic of Germany (Prior to 1 

January 1993), Netherlands, Switzerland

EUR-A 

EUROPE EUROPEAN 1950 International 1924 Cyprus EUR-E 

EUROPE EUROPEAN 1950 International 1924 England, Channel Islands, Scotland, 

Shetland Islands 

EUR-G 

EUROPE EUROPEAN 1950 International 1924 England, Ireland, Scotland, Shetland 

Islands 

EUR-K 

EUROPE EUROPEAN 1950 International 1924 Greece EUR-B 

EUROPE EUROPEAN 1950 International 1924 Sardinia (Italy) EUR-I 

EUROPE EUROPEAN 1950 International 1924 Sicily (Italy) EUR-J 

EUROPE EUROPEAN 1950 International 1924 Malta EUR-L 

EUROPE EUROPEAN 1950 International 1924 Norway, Finland EUR-C 

EUROPE EUROPEAN 1950 International 1924 Portugal, Spain EUR-D 

EUROPE EUROPEAN 1979 International 1924 MEAN FOR Austria, Finland, 

Netherlands, Norway, Spain, Sweden, 

Switzerland 

EUS 

EUROPE HERMANNSKOGEL Bessel 1841 Yugoslavia (Prior to 1990), Slovenia, 

Croatia, Bosnia and Herzegovina, Serbia

HER 

EUROPE IRELAND 1965 Modified Airy Ireland IRL 

EUROPE ORD SURV OF GREAT BRITAIN 36 

Airy 

MEAN FOR England, Isle of Man, 

Scotland, Shetland Islands, Wales 

OGB-M 

EUROPE ORD SURV OF GREAT BRITAIN 36 

Airy 

England OGB-A

EUROPE ORD SURV OF GREAT BRITAIN 36 

Airy 

England, Isle of Man, Wales OGB-B 

EUROPE ORD SURV OF GREAT BRITAIN 36 

Airy 

Scotland, Shetland Islands OGB-C 

EUROPE ORD SURV OF GREAT BRITAIN 36 

Airy 

Wales OGB-D

EUROPE ROME 1940 International 1924 Sardinia MOD 

EUROPE S-42 (PULKOVO 1942) Krassovsky 

1940 

Hungary SPK-A

EUROPE S-42 (PULKOVO 1942) Krassovsky 

1940 

Poland SPK-B

EUROPE S-42 (PULKOVO 1942) Krassovsky 

1940 

Czechoslovakia (Prior to 1 January 1993) SPK-C 

EUROPE S-42 (PULKOVO 1942) Krassovsky 

1940 

Latvia SPK-D

EUROPE S-42 (PULKOVO 1942) Krassovsky 

1940 

Kazakhstan SPK-E

EUROPE S-42 (PULKOVO 1942) Krassovsky 

1940 

Albania SPK-F

EUROPE S-42 (PULKOVO 1942) Krassovsky 

1940 

Romania SPK-G

MAR 2006 -- Geophysical 
Continent Spheroid Region CODE

EUROPE S-JTSK Bessel 1841 Czechoslovakia (Prior to 1 January 1993) CCD 

NORTH 

AMERICA 

CAPE CANAVERAL Clarke 1866 Florida, Bahamas CAC 

NORTH 

AMERICA 

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

NORTH 

AMERICA 

NORTH AMERICAN 1927 Clarke 1866 MEAN FOR Arizona, Arkansas, 

California, Colorado, Idaho, Iowa, 

Kansas, Montana, Nebraska, Nevada, 

New Mexico, North Dakota, Oklahoma, 

Oregon, South Dakota, Texas, Utah, 

Washington, 

NAS-B 

NORTH 

AMERICA 

NORTH AMERICAN 1927 Clarke 1866 MEAN FOR Alabama, Connecticut, 

Delaware, District of Columbia, Florida, 

Georgia, Illinois, Indiana, Kentucky, 

Louisiana,Maine, Maryland,

Massachusetts, Michigan, Minnesota,

Missis 

NAS-A 

NORTH 

AMERICA 

NORTH AMERICAN 1927 Clarke 1866 Alaska (Excluding Aleutian Islands) NAS-D 

NORTH 

AMERICA 

NORTH AMERICAN 1927 Clarke 1866 Aleutian Islands (East of 180°W) NAS-V 

NORTH 

AMERICA 

NORTH AMERICAN 1927 Clarke 1866 Aleutian Islands (West of 180°W) NAS-W 

NORTH 

AMERICA 

NORTH AMERICAN 1927 Clarke 1866 Bahamas (Excluding San Salvador 

Island) 

NAS-Q 

NORTH 

AMERICA 

NORTH AMERICAN 1927 Clarke 1866 San Salvador Island NAS-R 

NORTH 

AMERICA 

NORTH AMERICAN 1927 Clarke 1866 MEAN FOR Canada (Including 

Newfoundland) 

NAS-E 

NORTH 

AMERICA 

NORTH AMERICAN 1927 Clarke 1866 Alberta, British Columbia NAS-F 

NORTH 

AMERICA 

NORTH AMERICAN 1927 Clarke 1866 MEAN FOR Newfoundland, New 

Brunswick, Nova Scotia, Quebec 

NAS-G 

NORTH 

AMERICA 

NORTH AMERICAN 1927 Clarke 1866 Manitoba, Ontario NAS-H 

NORTH 

AMERICA 

NORTH AMERICAN 1927 Clarke 1866 Northwest Territories, Saskatchewan NAS-I 

NORTH 

AMERICA 

NORTH AMERICAN 1927 Clarke 1866 Yukon NAS-J 

NORTH 

AMERICA 

NORTH AMERICAN 1927 Clarke 1866 Canal Zone NAS-O 

NORTH 

AMERICA 

NORTH AMERICAN 1927 Clarke 1866 MEAN FOR Antigua Island, Barbados, 

Barbuda, Caicos Islands,Cuba, 

Dominican Republic, Grand Cayman, 

Jamaica, Turks Islands 

NAS-P 

NORTH 

AMERICA 

NORTH AMERICAN 1927 Clarke 1866 MEAN FOR Belize, Costa Rica, El 

Salvador, Guatemala, Honduras, 

Nicaragua 

NAS-N 

NORTH 

AMERICA 

NORTH AMERICAN 1927 Clarke 1866 Cuba NAS-T 

NORTH 

AMERICA 

NORTH AMERICAN 1927 Clarke 1866 Greenland (Hayes Peninsula) NAS-U 

MAR 2006 -- Geophysical 
Continent Spheroid Region CODE

NORTH 

AMERICA 

NORTH AMERICAN 1927 Clarke 1866 Mexico NAS-L 

NORTH 

AMERICA 

NORTH AMERICAN 1983 GRS 80 Alaska (Excluding Aleutian Islands) NAR-A 

NORTH 

AMERICA 

NORTH AMERICAN 1983 GRS 80 Aleutian Islands NAR-E 

NORTH 

AMERICA 

NORTH AMERICAN 1983 GRS 80 Canada NAR-B 

NORTH 

AMERICA 

NORTH AMERICAN 1983 GRS 80 CONUS NAR-C 

NORTH 

AMERICA 

NORTH AMERICAN 1983 GRS 80 Hawaii NAR-H 

NORTH 

AMERICA 

NORTH AMERICAN 1983 GRS 80 Mexico, Central America NAR-D 

SOUTH 

AMERICA 

BOGOTA OBSERVATORY 

International 1924 

Colombia BOO

SOUTH 

AMERICA 

CAMPO INCHAUSPE 1969 

International 1924 

Argentina CAI

SOUTH 

AMERICA 

CHUA ASTRO International 1924 Paraguay CHU 

SOUTH 

AMERICA 

CORREGO ALEGRE International 

1924 

Brazil COA

SOUTH 

AMERICA 

PROVISIONAL S. AMERICAN 1956 

International 1924 

MEAN FOR Bolivia, Chile, Colombia, 

Ecuador, Guyana, Peru, Venezuela 

PRP-M 

SOUTH 

AMERICA 

PROVISIONAL S. AMERICAN 1956 

International 1924 

Bolivia PRP-A

SOUTH 

AMERICA 

PROVISIONAL S. AMERICAN 1956 

International 1924 

Northern Chile (near 19°S) PRP-B 

SOUTH 

AMERICA 

PROVISIONAL S. AMERICAN 1956 

International 1924 

Southern Chile (near 43°S) PRP-C 

SOUTH 

AMERICA 

PROVISIONAL S. AMERICAN 1956 

International 1924 

Colombia PRP-D

SOUTH 

AMERICA 

PROVISIONAL S. AMERICAN 1956 

International 1924 

Ecuador PRP-E

SOUTH 

AMERICA 

PROVISIONAL S. AMERICAN 1956 

International 1924 

Guyana PRP-F

SOUTH 

AMERICA 

PROVISIONAL S. AMERICAN 1956 

International 1924 

Peru PRP-G

SOUTH 

AMERICA 

PROVISIONAL S. AMERICAN 1956 

International 1924 

Venezuela PRP-H

SOUTH 

AMERICA 

PROVISIONAL S. CHILEAN 1963 

International 1924 

Southern Chile (near 53°S) HIT 

SOUTH 

AMERICA 

SOUTH AMERICAN 1969 South 

American 1969 

MEAN FOR Argentina, Bolivia, Brazil, 

Chile, Colombia, Ecuador, Guyana, 

Paraguay, Peru, Trinidad and Tobago, 

Venezuela 

SAN-M 

SOUTH 

AMERICA 

SOUTH AMERICAN 1969 South 

American 1969 

Argentina SAN-A

SOUTH 

AMERICA 

SOUTH AMERICAN 1969 South 

American 1969 

Bolivia SAN-B

SOUTH 

AMERICA 

SOUTH AMERICAN 1969 South 

American 1969 

Brazil SAN-C

MAR 2006 -- Geophysical 
Continent Spheroid Region CODE

SOUTH 

AMERICA 

SOUTH AMERICAN 1969 South 

American 1969 

Chile SAN-D

SOUTH 

AMERICA 

SOUTH AMERICAN 1969 South 

American 1969 

Colombia SAN-E

SOUTH 

AMERICA 

SOUTH AMERICAN 1969 South 

American 1969 

Ecuador (Excluding Galapagos Islands) SAN-F 

SOUTH 

AMERICA 

SOUTH AMERICAN 1969 South 

American 1969 

Baltra, Galapagos Islands SAN-J 

SOUTH 

AMERICA 

SOUTH AMERICAN 1969 South 

American 1969 

Guyana SAN-G

SOUTH 

AMERICA 

SOUTH AMERICAN 1969 South 

American 1969 

Paraguay SAN-H

SOUTH 

AMERICA 

SOUTH AMERICAN 1969 South 

American 1969 

Peru SAN-I

SOUTH 

AMERICA 

SOUTH AMERICAN 1969 South 

American 1969 

Trinidad and Tobago SAN-K 

SOUTH 

AMERICA 

SOUTH AMERICAN 1969 South 

American 1969 

Venezuela SAN-L

SOUTH 

AMERICA 

SIRGAS GRS 80 South America SIR 

SOUTH 

AMERICA 

YACARE International 1924 Uruguay YAC 

SOUTH 

AMERICA 

ZANDERIJ International 1924 Suriname ZAN 

ATLANTIC 

OCEAN 

ANTIGUA ISLAND ASTRO 1943 

Clarke 1880 

Antigua, Leeward Islands AIA 

ATLANTIC 

OCEAN 

ASCENSION ISLAND 1958 

International 1924 

Ascension Island ASC 

ATLANTIC 

OCEAN 

ASTRO DOS 71/4 International 1924 St. Helena Island SHB 

ATLANTIC 

OCEAN 

BERMUDA 1957 Clarke 1866 Bermuda Islands BER 

ATLANTIC 

OCEAN 

CAPE CANAVERAL Clarke 1866 Bahamas, Florida CAC 

ATLANTIC 

OCEAN 

DECEPTION ISLAND Clarke 1880 Deception Island (Antarctica) DID 

ATLANTIC 

OCEAN 

FORT THOMAS 1955 Clarke 1880 Nevis, St. Kitts, Leeward Islands FOT 

ATLANTIC 

OCEAN 

GRACIOSA BASE SW 1948 

International 1924 

Faial, Graciosa, Pico, Sao Jorge, 

Terceira Islands (Azores)

GRA 

ATLANTIC 

OCEAN 

HJORSEY 1955 International 1924 Iceland HJO 

ATLANTIC 

OCEAN 

ISTS 061 ASTRO 1968 International 

1924 

South Georgia Island ISG 

ATLANTIC 

OCEAN 

L. C. 5 ASTRO 1961 Clarke 1866 Cayman Brac Island LCF 

ATLANTIC 

OCEAN 

MONTSERRAT ISLAND ASTRO 1958 

Clarke 1880 

Montserrat, Leeward Islands ASM 

ATLANTIC 

OCEAN 

NAPARIMA, BWI International 1924 Trinidad and Tobago NAP 

ATLANTIC 

OCEAN 

OBSERVAT. METEOROLOGICO 1939 

International 1924 

Corvo and Flores Islands (Azores) FLO 

MAR 2006 -- Geophysical 
Continent Spheroid Region CODE

ATLANTIC 

OCEAN 

PICO DE LAS NIEVES International 

1924 

Canary Islands PLN

ATLANTIC 

OCEAN 

PORTO SANTO 1936 International 

1924 

Porto Santo, Madeira Islands POS 

ATLANTIC 

OCEAN 

PUERTO RICO Clarke 1866 Puerto Rico, Virgin Islands PUR 

ATLANTIC 

OCEAN 

QORNOQ International 1924 South Greenland QUO 

ATLANTIC 

OCEAN 

SAO BRAZ International 1924 Sao Miguel, Santa Maria Islands (Azores) SAO 

ATLANTIC 

OCEAN 

SAPPER HILL 1943 International 1924 East Falkland Island SAP 

ATLANTIC 

OCEAN 

SELVAGEM GRANDE 1938 

International 1924 

Salvage Islands SGM 

ATLANTIC 

OCEAN 

TRISTAN ASTRO 1968 International 

1924 

Tristan da Cunha TDC 

INDIAN 

OCEAN 

ANNA 1 ASTRO 1965 Australian 

National 

Cocos Islands ANO 

INDIAN 

OCEAN 

GAN 1970 International 1924 Republic of Maldives GAA 

INDIAN 

OCEAN 

ISTS 073 ASTRO 1969 International 

1924 

Diego Garcia IST 

INDIAN 

OCEAN 

KERGUELEN ISLAND 1949 

International 1924 

Kerguelen Island KEG 

INDIAN 

OCEAN 

MAHE 1971 Clarke 1880 Mahe Island MIK 

INDIAN 

OCEAN 

REUNION International 1924 Mascarene Islands REU 

PACIFIC 

OCEAN 

AMERICAN SAMOA 1962 Clarke 1866 American Samoa Islands AMA 

PACIFIC 

OCEAN 

ASTRO BEACON E 1945 International 

1924 

Iwo Jima ATF 

PACIFIC 

OCEAN 

ASTRO TERN ISLAND (FRIG) 61

International 1924 

Tern Island TRN 

PACIFIC 

OCEAN 

ASTRONOMICAL STATION 1952 

International 1924 

Marcus Island ASQ

PACIFIC 

OCEAN 

BELLEVUE (IGN) International 1924 Efate and Erromango Islands IBE 

PACIFIC 

OCEAN 

CAMP AREA ASTRO International 

1924 

Camp McMurdo Area (Antarctica) CAZ 

PACIFIC 

OCEAN 

CANTON ASTRO 1966 International 

1924 

Phoenix Islands CAO 

PACIFIC 

OCEAN 

CHATHAM ISLAND ASTRO 1971 

International 1924 

Chatham Island (New Zealand) CHI 

PACIFIC 

OCEAN 

DOS 1968 International 1924 Gizo Island (New Georgia Islands) GIZ 

PACIFIC 

OCEAN 

EASTER ISLAND 1967 International 

1924 

Easter Island EAS 

PACIFIC 

OCEAN 

GEODETIC DATUM 1949 International 

1924 

New Zealand GEO 

PACIFIC 

OCEAN 

GUAM 1963 Clarke 1866 Guam GUA 

MAR 2006 -- Geophysical 
Continent Spheroid Region CODE

PACIFIC 

OCEAN 

GUX l ASTRO International 1924 Guadalcanal Island DOB 

PACIFIC 

OCEAN 

INDONESIAN 1974 Indonesian 1974 Indonesia IDN 

PACIFIC 

OCEAN 

JOHNSTON ISLAND 1961 International 

1924 

Johnston Island JOH 

PACIFIC 

OCEAN 

KUSAIE ASTRO 1951 International 

1924 

Caroline Islands, Federal States of 

Micronesia 

KUS 

PACIFIC 

OCEAN 

LUZON Clarke 1866 Philippines (Excluding Mindanao Island) LUZ-A 

PACIFIC 

OCEAN 

LUZON Clarke 1866 Mindanao Island LUZ-B 

PACIFIC 

OCEAN 

MIDWAY ASTRO 1961 International 

1924 

Midway Islands MID 

PACIFIC 

OCEAN 

OLD HAWAIIAN Clarke 1866 MEAN FOR Hawaiian Islands OHA-M 

PACIFIC 

OCEAN 

OLD HAWAIIAN Clarke 1866 Hawaii OHA-A 

PACIFIC 

OCEAN 

OLD HAWAIIAN Clarke 1866 Kauai OHA-B 

PACIFIC 

OCEAN 

OLD HAWAIIAN Clarke 1866 Maui OHA-C 

PACIFIC 

OCEAN 

OLD HAWAIIAN Clarke 1866 Oahu OHA-D 

PACIFIC 

OCEAN 

PITCAIRN ASTRO 1967 International 

1924 

Pitcairn Island PIT 

PACIFIC 

OCEAN 

SANTO (DOS) 1965 International 1924 Espirito Santo Island SAE 

PACIFIC 

OCEAN 

VITI LEVU 1916 Clarke 1880 Viti Levu Island (Fiji Islands) MVS 

PACIFIC 

OCEAN 

WAKE-ENIWETOK 1960 Hough Marshall Islands ENW 

PACIFIC 

OCEAN 

WAKE ISLAND ASTRO 1952 

International 1924 

Wake Atoll WAK 

MAR 2006 -- Geophysical 
C. METEOROLOGICAL DATA PROCESSORS

C.1 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 C-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, Windowscompatible Graphical User Interface (GUI) developed for the geophysical preprocessors (CALPRO). A 

MAR 2006 -- MetProc 

C-1 
description of each input variable is shown in Table C-2. A sample input file is shown in Table C-3. The 

output list file is shown in Table C-4. 

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 E.3. Sample UP.DAT files in both formats 

are shown in Table C-5. 

MAR 2006 -- MetProc 

C-2 
Table C-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

 or 

NCDC_U.DAT

input 

input 

formatted 

formatted 

Upper air data in NCDC 

TD-6201 format

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.DAT Input formatted Input sounding (substitutions) 

MAR 2006 -- MetProc 

C-3 
Table C-2 

READ62 Control File Inputs 

Input Group Variable Type Description

(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 hour (00-23 UTC)

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

IEMO integer Ending month

IEDAY integer Ending day

IEHR integer Ending hour (00-23 UTC)

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 

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

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.

MAR 2006 -- MetProc 

C-4 
Table C-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 

MAR 2006 -- MetProc 

C-5 
Table C-3 

Sample READ62 Control File (READ62.INP) 

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

 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 =90010100.alb ! 

 SUBSOUND.DAT input ! SUBDAT =90010100.sub ! 

 UP.DAT output ! UPDAT =upalb.dat ! 

 READ62.LST output ! RUNLST =upalb.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 

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

 Month (IBMO) -- No default ! IBMO = 1 ! 

 Day (IBDY) -- No default ! IBDY = 8 ! 

 [00-23 UTC] Hour (IBHR) -- No default ! IBHR = 1 ! 

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

 Month (IEMO) -- No default ! IEMO = 1 ! 

 Day (IEDY) -- No default ! IEDY = 15 ! 

 [00-23 UTC] Hour (IEHR) -- No default ! IEHR = 0 ! 

MAR 2006 -- MetProc 

C-6 
Table C-3 (continued) 

Sample READ62 Control File (READ62.INP) 

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

 NOTE: The hour is defined by the time at the end of the hour 

 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) 

 --- 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 = 700. ! 

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

 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 

MAR 2006 -- MetProc 

C-7 
Table C-3 (continued) 

Sample READ62 Control File (READ62.INP)

 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! 

MAR 2006 -- MetProc 

C-8 
Table C-4 

Sample READ62 Output List file 

 READ62 OUTPUT SUMMARY 

 VERSION: 5.53 LEVEL: 040109 

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

 MISSING PROFILE DATA EXTRAPOLATED TO SURFACE ? F 

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

 FILENAMES: 

 Control file: r62chh.inp 

 Input upper air file: 90010100.chh 

 Output upper air file: upchh.dat 

 Output list file: r62chh.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: 14684 

 WBAN ID: 14684 

 WMO ID: 74494 

 

 Temperature values used in range checks: 

 TMIN = 175.0 

MAR 2006 -- MetProc 

C-9 
Table C-4 (continued) 

Sample READ62 Output List file 

 TMAX = 322.0 

 Pressure values used in range checks: 

 PMIN = 0.0 

 PMAX = 1040.0 

 THE FOLLOWING SOUNDINGS HAVE BEEN PROCESSED: 

 YEAR MONTH DAY JULIAN DAY HOUR (GMT) NO. LEVELS EXTRACTED 

 1990 1 1 1 0 28 

 1990 1 1 1 12 19 

 1990 1 2 2 0 30 

 1990 1 2 2 12 32 

 1990 1 3 3 0 24 

 1990 1 3 3 12 34 

 1990 1 4 4 0 25 

 1990 1 4 4 12 34 

 1990 1 5 5 0 22 

 1990 1 5 5 12 29 

 1990 1 6 6 0 17 

 1990 1 6 6 12 34 

 1990 1 7 7 0 19 

 1990 1 7 7 12 33 

 1990 1 8 8 0 23 

 1990 1 8 8 12 37 

 1990 1 9 9 0 38 

 1990 1 9 9 12 39 

 1990 1 10 10 0 26 

 1990 1 10 10 12 21 

 1990 1 11 11 0 29 

 1990 1 11 11 12 30 

 1990 1 12 12 0 38 

 1990 1 12 12 12 19 

 1990 1 13 13 0 27 

 1990 1 13 13 12 33 

 1990 1 14 14 0 18 

 1990 1 14 14 12 29 

 1990 1 15 15 0 23 

 1990 1 15 15 12 34 

 End of run -- Clock time: 10:51:11 

 Date: 09-08-2004 

 Elapsed Clock Time: 0.0 (seconds) 

 CPU Time: 0.0 (seconds) 

MAR 2006 -- MetProc 

C-10 
Table C-5 

Sample UP.DAT files 

(a) UP.DAT - Slash-delimited format 

UP.DAT 2.0 Header structure with coordinate parameters 

 1 

Produced by READ62 Version: 5.53 Level: 040109 

NONE 

 1990 1 0 1990 15 12 500. 2 1 

 F F F F 

 6201 14684 1990 1 1 0 54 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 14684 1990 1 112 38 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

 600.0/4081./264.4/230/ 30 550.0/4754./262.3/222/ 38 500.0/5482./259.9/219/ 53 

603.0/4042./264.5/230/ 30

(... records removed for clarity) 

 6201 14684 1990 11512 66 34 

 1029.0/ 16./273.1/150/ 4 1025.0/ 46./273.1/154/ 4 1000.0/ 243./271.4/170/ 6 992.0/ 304./999.9/175/ 7 

 956.0/ 601./269.3/200/ 8 955.0/ 609./999.9/200/ 8 950.0/ 651./269.0/202/ 8 919.0/ 914./999.9/225/ 8 

 900.0/1075./266.1/243/ 9 890.0/1162./267.5/251/ 10 884.0/1219./999.9/255/ 10 883.0/1224./268.4/254/ 10 

 850.0/1523./267.4/254/ 13 824.0/1766./267.0/246/ 14 818.0/1827./999.9/245/ 14 804.0/1959./268.3/239/ 14 

 800.0/1997./268.0/238/ 15 786.0/2132./999.9/235/ 15 776.0/2236./265.8/232/ 16 756.0/2437./999.9/230/ 18 

 750.0/2502./264.0/230/ 18 727.0/2742./999.9/230/ 18 700.0/3031./260.2/233/ 18 691.0/3130./261.1/236/ 19 

 685.0/3197./263.6/237/ 19 674.0/3323./263.9/240/ 20 650.0/3603./262.0/247/ 20 645.0/3657./999.9/250/ 20 

 600.0/4213./257.8/256/ 19 596.0/4267./999.9/255/ 19 550.0/4864./253.2/255/ 20 549.0/4875./999.9/255/ 21 

 527.0/5180./999.9/255/ 22 500.0/5564./248.1/258/ 23 

(b) UP.DAT - Comma-delimited format 

UP.DAT 2.0 Header structure with coordinate parameters 

 1 

Produced

NONE 

by READ62 Version: 5.53 Level: 040109

1990 1 0 1990

 F F F F 

15 12 500. 2 2

 6201 14684 1990 1 1 0 54 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 14684 1990 1 112 38 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,

 600.0,4081.,264.4,230, 30.0, 550.0,4754.,262.3,222, 38.0, 500.0,5482.,259.9,219, 53.0 

603.0,4042.,264.5,230, 30.0, 

(... records removed for clarity) 

 6201 14684 1990 11512 66 34 

 1029.0, 16.,273.1,150, 4.0, 1025.0, 46.,273.1,154, 4.0, 1000.0, 243.,271.4,170, 6.0, 992.0, 304.,999.9,175, 7.2, 

 956.0, 601.,269.3,200, 8.0, 955.0, 609.,999.9,200, 8.2, 950.0, 651.,269.0,202, 8.0, 919.0, 914.,999.9,225, 8.7, 

 900.0,1075.,266.1,243, 9.0, 890.0,1162.,267.5,251, 10.0, 884.0,1219.,999.9,255, 10.2, 883.0,1224.,268.4,254, 10.0, 

 850.0,1523.,267.4,254, 13.0, 824.0,1766.,267.0,246, 14.0, 818.0,1827.,999.9,245, 14.4, 804.0,1959.,268.3,239, 14.0, 

 800.0,1997.,268.0,238, 15.0, 786.0,2132.,999.9,235, 15.9, 776.0,2236.,265.8,232, 16.0, 756.0,2437.,999.9,230, 18.0, 

 750.0,2502.,264.0,230, 18.0, 727.0,2742.,999.9,230, 18.0, 700.0,3031.,260.2,233, 18.0, 691.0,3130.,261.1,236, 19.0, 

 685.0,3197.,263.6,237, 19.0, 674.0,3323.,263.9,240, 20.0, 650.0,3603.,262.0,247, 20.0, 645.0,3657.,999.9,250, 20.5, 

 600.0,4213.,257.8,256, 19.0, 596.0,4267.,999.9,255, 19.0, 550.0,4864.,253.2,255, 20.0, 549.0,4875.,999.9,255, 21.1, 

 527.0,5180.,999.9,255, 22.6, 500.0,5564.,248.1,258, 23.0 

MAR 2006 -- MetProc 

C-11 
 C.2 PXTRACT Precipitation Data Extraction 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 C.3). 

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 C-6 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 C-7. The format and contents of the file are described in Table C-8. 

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 

MAR 2006 -- MetProc 

C-12 
sample output list file is shown in Table C-9. 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 C-10. 

MAR 2006 -- MetProc 

C-13 
Table C-6 

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 

(id1 is the 

6-digit station code

for station #1, e.g., 

040001)

output formatted Precipitation data (in TD-3240) format for station #1 for the 

time period selected by the user 

Unit 7

Plus 1 

id2.DAT 

(id2 is the 

6-digit station code

for station #2, e.g., 

040002)

output formatted Precipitation data (in TD-3240) format for station #2 for the 

time period selected by the user 

. 

. 

. 

(Up to 200 new precipitation data files are allowed by PXTRACT). 

MAR 2006 -- MetProc 

C-14
Table C-7 

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 ! 

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

 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 

MAR 2006 -- MetProc 

C-15
Table C-7 (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. 

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

MAR 2006 -- MetProc 

C-16
Table C-8 

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) 

MAR 2006 -- MetProc 

C-17
Table C-9 

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 

 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) 

MAR 2006 -- MetProc 

C-18
C.3 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 

MAR 2006 -- MetProc 

C-19
by PXTRACT). The output file consists of a list file and a new unformatted or formatted data file in 

CALMET format with the data for all stations sorted by hour. Table C-11 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 userspecified 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, Windowscompatible Graphical User Interface (GUI) developed for the geophysical preprocessors (CALPRO). A 

sample PMERGE control file is shown in Table C-12, and the input variables are described in Table C13. 

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 C-14. 

MAR 2006 -- MetProc 

C-20
 Table C-11 

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

name

input unformatted Previous PMERGE data file to

which stations are to be added

(Used only if CFLAG=Y) 

ioprec user input file

name

output unformatted

or 

formatted 

Output data file created by 

PMERGE (this file is an input 

file to CALMET) 

Unit 7 user input file 

name

input formatted Precipitation data (in 

TD-3240) format for station

#1. (Output file of PXTRACT) 

Unit 7

Plus 1 

user input file

name

input formatted Precipitation data (in 

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

MAR 2006 -- MetProc 

C-21
 Table C-12 

Sample PMERGE Control File (PMERGE.INP) 

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

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

 Other Input and Output files: 

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

 Default Name Type File Name 

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

 PREV.DAT input ! PREVDAT =firstrun.dat ! 

 PRECIP.DAT output ! PRECDAT =precip.dat ! 

 PMERGE.LST output ! RUNLST =pmerge2.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 

 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 (XSTZ) for each, 

 followed by a group terminator. 

 1 ! STNFIL = 14745.dat ! 

 1 ! IFSTN = 14745 ! 

 1 ! XSTZ = 5. ! !END! 

 2 ! STNFIL = 14606.dat ! 

 2 ! IFSTN = 14606 ! 

 2 ! XSTZ = 5. ! !END! 

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

MAR 2006 -- MetProc 

C-22
Table C-12 (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 = 8 ! 

 [00-23] Hour (IBHR) -- No default ! IBHR = 1 ! 

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

 Month (IEMO) -- No default ! IEMO = 1 ! 

 Day (IEDY) -- No default ! IEDY = 15 ! 

 [00-23] Hour (IEHR) -- No default ! IEHR = 0 ! 

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

 PST = 8., MST = 7. 

 CST = 6., EST = 5. 

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

 NOTE: The hour is defined by the time at the end of the hour 

 in time zone XBTZ. 

 --- Processing Options --- 

 Maximum accumulation period accepted (hrs) 

 (MAXAP) Default: 6 ! MAXAP = 0 ! 

 --- File Options --- 

 Previous PRECIP.DAT file is used in this run? 

 (LPREV) No Default ! LPREV = T ! 

 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) 

 Format of previous PRECIP.DAT file 

 (IPFORM) Default: 2 ! IPFORM = 1 ! 

 1 = Unformatted 

 2 = Formatted 

!END! 

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

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

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

MAR 2006 -- MetProc 

C-23
Table C-12 (concluded) 

Sample PMERGE Control File (PMERGE.INP) 

 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. 

 1 * IBSTN = 14764 * *END* 

MAR 2006 -- MetProc 

C-24
 Table C-13 

PMERGE Control File Inputs (PMERGE.INP) 

Line Variable Type Description

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

LCFILES logical Convert names to lower case?

(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

XSTZ real Time zone of station (5=EST, 6=CST,

7=MST, 8=PST) 

1 IBYR integer Beginning year of data to process 

(YYYY)

IBMO integer Beginning month

IBDAY integer Beginning day

IBHR integer Beginning hour (01-24 LST) 

IEYR integer Ending year of data to process (YYYY) 

IEMO integer Ending month

IEDAY integer Ending day

IEHR integer Ending hour (01-24 LST) 

XBTZ real Time zone of output data (5=EST, 

6=CST, 7=MST, 8=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) 

MAR 2006 -- MetProc 

C-25 
Table C-13 (continued) 

PMERGE Control File Inputs (PMERGE.INP) 

 

Line Variable Type Description

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. 

MAR 2006 -- MetProc 

C-26 
 Table C-14 

Sample PMERGE Output List File (PMERGE.LST) 

 PMERGE OUTPUT SUMMARY 

 VERSION: 5.31 LEVEL: 030528 

 

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

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

 5 170273 170273.DAT 

 5 176905 176905.DAT 

 5 177325 177325.DAT 

 5 178641 178641.DAT 

 5 270741 270741.DAT 

 5 270998 270998.DAT 

 5 272842 272842.DAT 

 5 273182 273182.DAT 

 5 274732 274732.DAT 

 5 274808 274808.DAT 

 5 275639 275639.DAT 

 5 275780 275780.DAT 

 5 276234 276234.DAT 

 5 276818 276818.DAT 

 5 278885 278885.DAT 

 5 437054 437054.DAT 

 Period to Extract (in time zone 5): 1/ 1/1990 1:00 to 1/15/1990 0:00 

 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 

 Summary of Data from Formatted TD3240 Precipitation Files: 

 Valid Hours: 

MAR 2006 -- MetProc 

C-27 
Table C-14 (continued) 

Sample PMERGE Output List File (PMERGE.LST)

 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: 18:11:03 

 Date: 07-11-2003 

 Elapsed clock time: 0.0 (seconds) 

 CPU time: 0.0 (seconds) 

MAR 2006 -- MetProc 

C-28 
C.4 SMERGE Surface Meteorological Data 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 in either NCDC 80-column format (CD144 format), NCDC Solar and 

Meteorological Surface Observational Network (SAMSON) CD-ROM format, NCDC Hourly U.S. 

Weather Observations (HUSWO) CD-ROM format, or NCDC Integrated Surface hourly Data (TD3505) 

format. Note that 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. 

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 

 of feet) 

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

For example, the following variables, 

 Temperature = 273.5 deg. K 

MAR 2006 -- MetProc 

C-29 
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 C-15 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, Windowscompatible Graphical User Interface (GUI) developed for the geophysical preprocessors (CALPRO). A 

sample SMERGE control file is shown in Table C-16. The format and contents of the SMERGE control 

file are explained in Table C-17. 

The SMERGE output list file (SMERGE.LST) contains a summary of the control file inputs, 

characteristics of the output data file, and routine statistics. A sample output list file is shown in Table C18, and a sample SURF.DAT output data file is shown in Table C-19. 

MAR 2006 -- MetProc 

C-30 
Table C-15 

SMERGE Input and Output Files 

Unit File Name Type Format Description

ioprev user input file name input unformatted

or 

formatted 

Previous SMERGE data file to

which stations are to be added

(Used only if CFLAG=y) 

iosurf user input file name output unformatted 

or 

formatted 

Output data file created by 

SMERGE containing the processed 

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

MAR 2006 -- MetProc 

C-31 
Table C-16 

Sample SMERGE Control File Inputs 

(SMERGE.INP) 

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

 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 Files 

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

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

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 =surf2.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 = F ! 

 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 (XSTZ) for each file, 

 followed by a group terminator. 

 NOTE: XSTZ identifies the time zone used in the dataset. The 

 TD3505 and TD9956 data are prepared in UTC time rather than 

 local time, so XSTZ=0. is expected for these. 

 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 

MAR 2006 -- MetProc 

C-32 
Table C-16 (continued) 

Sample SMERGE Control File Inputs 

(SMERGE.INP) 

 the file. If XELEV is not assigned a value (i.e., XELEV does not 

 appear in this control file), no default elevation is available and 

 station pressure remains missing. 

 1 ! SFCMET = e:\metar\03017.144 ! 

 1 ! IFSTN = 03017 ! 

 1 ! XELEV = 91. ! 

 1 ! XSTZ = 5. ! !END! 

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

INPUT GROUP: 1 -- Run control parameters 

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

 --- Processing Period --- 

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

 Month (IBMO) -- No default ! IBMO = 1 ! 

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

 [00-23] Hour (IBHR) -- No default ! IBHR = 0 ! 

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

 Month (IEMO) -- No default ! IEMO = 12 ! 

 Day (IEDY) -- No default ! IEDY = 31 ! 

 [00-23] Hour (IEHR) -- No default ! IEHR = 23 ! 

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

 PST = 8., MST = 7. 

 CST = 6., EST = 5. 

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

 NOTE: The hour is defined by the time at the end of the hour 

 in time zone XBTZ. 

 --- File Options --- 

 Previous SURF.DAT file is used in this run? 

 (LPREV) No Default ! LPREV = F ! 

 T = PREV.DAT file is used 

 F = PREV.DAT file 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 

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

MAR 2006 -- MetProc 

C-33 
Table C-16 (continued) 

Sample SMERGE Control File Inputs 

(SMERGE.INP) 

 Type of ALL Surface Station files in this run 

 (JDAT) No Default ! JDAT = 1 ! 

 1 = CD144 

 2 = NCDC SAMSON 

 3 = NCDC HUSWO 

 4 = CD144 (extended record format with precip rate) 

 5 = TD3505(CD) - NCDC Integrated Surface Hourly CD-ROM Set 

 6 = TD3505 - NCDC Integrated Surface Hourly Database 

 7 = TD9956 - NCDC DATSAV3 Database (not abbreviated) 

 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-4; always T for JDAT = 5-7) 

 (LPCALP) Default: F ! LPCALC = T ! 

 

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

 1 * IBSTN = 14764 * *END* 

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

 Each line is treated as a separate input subgroup and therefore 

must end with an input group terminator.

MAR 2006 -- MetProc 

C-34 
Table C-17

SMERGE Control File Inputs (SMERGE.INP) 

Input Group Variable Type Description

(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 

XSTZ Real Time zone used in the input data set 

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

IBMO Integer Starting month

IBDAY integer Starting day

IBHR integer Starting hour (00-23 LST) 

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

IEMO Integer Ending month

IEDAY integer Ending day

IEHR integer Ending hour (00-23 LST) 

XBTZ integer Time zone of output data (5=EST, 6=CST,

7=MST, 8=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) 

MAR 2006 -- MetProc 

C-35 
Table C-17 (concluded) 

SMERGE Control File Inputs (SMERGE.INP) 

Input Group Variable Type Description

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

JDAT integer

Formatted input data file format 

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)

IHUSWO integer

1 = All data are in English units 

2 = All data are in Metric units 

LPCALC logical Calculation of missing station pressure from

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. 

MAR 2006 -- MetProc 

C-36 
Table C-18 

Sample SMERGE Output List File 

(SMERGE.LST) 

 SMERGE OUTPUT SUMMARY 

 VERSION: 5.55 LEVEL: 050311 

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

 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: smerge1.inp 

 Output list file name: smerge1.lst 

 Output file name: firstrun.dat 

 Continuation Run? F 

 

 Station ID Time Zone Formatted CD144 Surface Data 

 Input Files 

 14606 5 bangor.144 

 14611 5 brunswk.144 

 14745 5 concord.144 

 14742 5 burling.144 

 Period to Extract (in time zone 5): 1/ 8/1990 1:00 to 1/15/1990 0:00 

 Multiple ( 2) weather codes (10100) at:1990 11 18, Station: 14742 

 Multiple ( 2) weather codes (10100) at:1990 12 1, Station: 14606 

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

 0 0 0 0 0 0 0 

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

 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 2 14611 3 14745 4 14742 

 

 

 LAST DAY/HOUR PROCESSED: 

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

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

 Date: 03-11-2005 

 Elapsed clock time: 0.0 (seconds) 

 CPU time: 0.0 (seconds) 

MAR 2006 -- MetProc 

C-37 
Table C-19 

Sample SURF.DAT Output Data File 

(SURF.DAT)

SURF.DAT 2.0 Header structure with coordinate parameters 

 1 

Produced by SMERGE Version: 5.55 Level: 050311 

NONE 

 1990 8 1 1990 15 0 5 5 

 14606 

 14611 

 14745 

 14742 

 14764 

1990 8 1 

 0.000 0.000 50 10 270.928 85 1001.358 0 

 5.144 220.000 999 9999 273.150 61 1005.083 0 

 2.572 190.000 999 0 268.706 85 997.295 0 

 5.144 190.000 37 10 275.372 62 996.956 0 

 4.100 220.000 129 8 272.550 69 1007.000 0 

1990 8 2 

 2.572 190.000 50 9 270.928 85 1001.020 0 

 3.087 250.000 999 9999 272.594 67 1005.422 0 

 3.601 180.000 999 0 269.261 85 997.295 0 

 0.000 0.000 37 10 274.817 67 997.295 0 

 4.100 230.000 129 9 272.550 69 1007.000 0 

1990 8 3 

 0.000 0.000 50 10 271.483 85 1001.358 0 

 0.000 0.000 999 9999 272.039 66 1005.761 0 

 0.000 0.000 999 0 264.817 96 997.972 0 

 3.087 240.000 37 10 275.372 64 998.311 0 

 4.100 220.000 999 3 272.550 69 1008.000 0 

1990 8 4 

 0.000 0.000 50 10 271.483 85 1001.697 0 

 0.000 0.000 999 9999 272.039 66 1006.099 0 

 0.000 0.000 999 0 265.372 96 998.311 0 

 5.144 250.000 43 10 275.372 64 998.649 0 

 2.600 230.000 999 0 272.050 75 1008.000 0 

1990 8 5 

 0.000 0.000 50 9 271.483 85 1001.697 0 

 0.000 0.000 999 9999 272.039 66 1006.777 0 

 0.000 0.000 999 0 264.261 92 998.988 0 

 4.630 210.000 50 10 275.928 62 998.988 0 

 2.600 320.000 999 0 270.950 82 1009.000 0 

MAR 2006 -- MetProc 

C-38 
C.5 BUOY Over-water Meteorological Data Preprocessor

BUOY reads "N" data files containing sequential over-water data for a single station, and creates the 

corresponding SEA.DAT file for input to CALMET. Input data files are available from either the 

National Oceanographic Data Center (NODC) web site (http://www.nodc.noaa.gov/BUOY/buoy.html) or 

the National Data Buoy Center (NDBC) web site (www.ndbc.noaa.gov). Data from the NODC site are 

preferred at this time in part because the NODC file structure includes the station location and 

anemometer height data. Neither file format includes the height of the air and water temperature sensors,

however. These must be obtained from descriptive information posted on the NDBC web site. 

CAUTION: buoy configurations can change in time and the NDBC descriptions are for the current 

deployment. When you are using historical data, you must verify that the current description is 

applicable. 

The output file (SEA.DAT) contains the processed hourly data for the desired over-water station. It has a 

free-format file structure that can also be created by the user. This file structure relieves the user of the 

need to run the preprocessor for short CALMET runs for which the data can easily be input manually, or 

when non-standard data sources (e.g., site-specific meteorological observations) are used. 

BUOY extracts the following meteorological variables from the NDBC and NODC buoy data files: 

• wind speed 

• wind direction 

• air temperature 

• air-sea temperature difference 

• relative humidity

• precipitation 

• pressure 

• solar radiation from 0 – 3.6 μm

• solar radiation from 4.0 – 50 μm

• dominant wave period 

• significant wave height 

Additional data can be extracted when NODC data files are processed: 

• average wave period 

• mean wave direction 

• maximum wave height 

• maximum wave steepness 

• depth profile of temperature and salinity 

An option is provided to write the data to a SEA.DAT file in one of several formats. This allows BUOY

to prepare data files that are compatible with a range of CALMET versions. Any version of CALMET 

MAR 2006 -- MetProc 

C-39 
recognizes the “contemporary” version and older versions of the SEA.DAT file, but is not able to predict 

the content of newer SEA.DAT file formats. Significant differences among SEA.DAT formats are: 

Dataset Version 2.0 No wave data 

Dataset Version 2.1 Includes dominant wave period & significant wave height 

(CALMET version 5.6 and later) 

Dataset Version 2.11 Includes dominant wave period & significant wave height, and time zone 

 (CALMET version 5.613 and later) 

Dataset Version 2.2 Includes dominant wave period & significant wave height, time zone, and allows 

sub-hourly time periods 

(CALMET version 6.1 and later) 

Dataset Version 3.0 Includes extended wave parameters, water column data, time zone, and supports 

multiple stations in a single file 

(CALMET version to be determined) 

Inclusion of wave data allows such data to be used by the COARE overwater boundary layer flux module 

as an option, introduced in CALMET version 5.6. The inclusion of the time zone for the data in the file 

represents an important QA feature. Users must prepare SEA.DAT files in the same base time zone as 

that used in their CALMET application. Placing the time zone in the file allows CALMET to stop and 

report incompatible times, when found. Dataset version 2.11 or later is preferred. 

Table C-20 contains a listing of the input and output files used by BUOY. The input files consist of a 

control file (BUOY.INP) containing user inputs, and up to 150 chronological over-water data files for a 

single buoy station. The output files are the SEA.DAT and an output list file (BUOY.LST) that 

summarizes the user options and run-time statistics. Note that data version 3.0 allows multiple stations to 

be placed in a single SEA.DAT file. For this format an optional SEA.DAT data file created in a previous 

run of BUOY can be combined with the new input data. The previous SEA.DAT file must be in the same

projection and cover the same time period as the desired final output. 

The BUOY control file specifies the number and type of input data files, base time zone for the output 

data, the starting and ending dates of the period to extract, and other physical parameters. The format of 

the BUOY 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 BUOY control file is shown in Table C-21. The 

format and content of the BUOY control file are explained in Table C-22. 

The BUOY output list file (BUOY.LST) contains a summary of the control file inputs, characteristics of 

the output data file, and routine statistics. A sample output list file is shown in Table C-23, and a sample 

SEA.DAT output data file (version 2.11) is shown in Table C-24. 

MAR 2006 -- MetProc 

C-40 
Table C-20 

BUOY Input and Output Files 

Unit File Name Type Format Description

3 user input file name input formatted Previous SEA.DAT file to which

stations are to be added (Used only

if LPREV=T and Dataset=3.0) 

4 SEA.DAT output formatted Output data file for input to 

CALMET 

5 BUOY. INP input formatted Control file containing user inputs

6 BUOY.LST output formatted List file (line printer output file) 

7 user input file name input formatted Over-water data in NODC or

NDBC format 

(Up to 150 sequential over-water data files are allowed by BUOY, although this may be limited by the number of

files an operating system will allow open at one time.) 

MAR 2006 -- MetProc 

C-41 
Table C-21 

Sample BUOY Control File Inputs 

(BUOY.INP)

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

 BUOY PROCESSOR CONTROL FILE 

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

 The Buoy processor reads data from either the National Oceanographic 

 Data Center (NODC) web site or the National Data Buoy Center (NDBC) 

 web site and produces a SEA.DAT file for use with CALMET. 

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

INPUT GROUP: 0 -- Input and Output Files 

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

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

Subgroup (0a) 

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

 Number of Buoy Data Files provided in Subgroup 0b 

 (NBDF) Default: 0 ! NBDF = 3 ! 

 Output version of the SEA.DAT file 

 (DATAVER) Default: 2.11 ! DATAVER = 2.11 ! 

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

 Output dataset versions 2.0: Data format prior to 10/2005 

 with no wave data 

 2.1: Data format with 2 wave parameters 

 (not recommended) 

 2.11: Data format with 2 wave parameters 

 and base time zone record 

 2.2: Data format with sub-hourly 

 time steps. 

 3.0: Data format with sub-hourly 

 time steps, additional 

 wave records and temperature- 

 salinity profiles (for future use) 

 

 Other Input and Output files: 

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

 Default Name Type File Name 

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

 PREV.DAT input * PREVDAT =prev.dat * 

 SEA.DAT output ! OUTFIL =42039-2003.dat ! 

 BUOY.LST output ! LSTFIL =42039-2003.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 

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

!END! 

MAR 2006 -- MetProc 

C-42 
Table C-21 (continued) 

Sample BUOY Control File Inputs 

(BUOY.INP)

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

Subgroup (0b) 

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

 The following Data Files are processed in order. 

 Enter NBDF lines identifying the file name for each, 

 followed by a group terminator. Each file should 

 represent a different time period for the same buoy 

 station. The type of data base for each file is 

 designated by the assignment name: 

 (NODC) designates National Oceanagraphic Data Center (www.nodc.noaa.gov) 

 Contains all wave parameters 

 (NDBC) designates National Data Buoy Center Data (www.ndbc.noaa.gov) 

 Contains Wave Period and Wave Height for Version 2.1, 2.2 output 

 but not extended wave variables for Version 3.0 output 

 ! NODC = 42039_200301.txt ! !END! 

 ! NODC = 42039_200302.txt ! !END! 

 ! NODC = 42039_200303.txt ! !END! 

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

Subgroup (0c) 

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

 Datum-Region 

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

 The Datum-Region for coordinates in the input Data Files needs to be identified. 

 Check the file documentation and change the default if needed. The list of 

 Datum-Regions with official transformation parameters is provided by the National 

 Imagery and Mapping Agency (NIMA). 

 Datum-region for input Buoy Data File coordinates 

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

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

 !END! 

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

INPUT GROUP: 1 -- Processing Options 

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

 --- Processing Period --- 

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

 Month (IBMO) -- No default ! IBMO = 1 ! 

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

 [00-23] Hour (IBHR) -- No default ! IBHR = 1 ! 

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

 Month (IEMO) -- No default ! IEMO = 3 ! 

 Day (IEDY) -- No default ! IEDY = 1 ! 

 [00-23] Hour (IEHR) -- No default ! IEHR = 1 ! 

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

 (character*8) 

 PST = UTC-0800, MST = UTC-0700 , GMT = UTC-0000 

 CST = UTC-0600, EST = UTC-0500 

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

 NOTE: The hour is defined by the time at the end of the hour 

 in time zone ABTZ. 

MAR 2006 -- MetProc 

C-43 
Table C-21 (continued) 

Sample BUOY Control File Inputs 

(BUOY.INP)

 --- File Options --- 

 Previous BUOY.DAT file is used in this run? 

 (LPREV) No Default ! LPREV = F ! 

 T = PREV.DAT file is used 

 F = PREV.DAT file is NOT used 

! END ! 

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

INPUT GROUP: 2 -- Map Projection Information for Output 

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

 Projection 

 ---------- 

 Map projection for all X,Y (km) 

 (PMAP) Default: UTM ! PMAP = LCC ! 

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

 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 = 28.0N ! 

 (RLON0) No Default ! RLON0 = 90.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 = 23.0N ! 

 (RLAT2) No Default ! RLAT2 = 33.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)

MAR 2006 -- MetProc 

C-44 
Table C-21 (concluded) 

Sample BUOY Control File Inputs 

(BUOY.INP)

 ---------- 

 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 BUOY 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 = WGS-84 ! 

! END ! 

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

INPUT GROUP: 3 -- Station Identification Information 

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

 (BNAM) Name for Buoy Default: None ! BNAM = PENSACOLA 115 NM ESE of Pensacola FL! 

 For output dataset version 2.0 or 2.1 this 

 character string must be 4 characters or less. 

 For output dataset versions 2.11 or later it can be 

 a description of up to 132 characters. 

 (RASN) Air Temperature Sensor Height 

 Default: None ! RASN = 4.0 ! 

 (RWSN) Water Temperature Sensor Depth 

 Default: None ! RWSN = 0.6 ! 

 Additional Station Identification Information for NDBC files. 

 (These are read directly from the NODC F291 format data file) 

 ID number for Buoy 

 (IDNUM) Default: None * IDNUM =00000 * 

 Stationary Buoy Location 

 (BLAT) Station Latitude Default: None * BLAT =00.00N * 

 (BLON) Station Longitude Default: None * BLON =00.00W * 

 (BANM) Anemometer Height Default: None * BANM =0.0 * 

! 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 

MAR 2006 -- MetProc 

C-45 
Table C-22 

BUOY Control File Inputs (BUOY.INP)

Input Group Variable Type Description

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

processed 

DATAVER Real Dataset version of the SEA.DAT file to 

output: 2.0, 2.11, 2.2, or 3.0 

PREVDAT character*70 Previous SEA.DAT output data file (used

only with dataset version 3.0) 

OUTFIL character*70 Output SEA.DAT data file 

LSTFIL character*70 Output list file 

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

case (F) 

(0b) NDBC Character*70 Filename for each NBDF NDBC data file 

NODC Character*70 Filename for each NBDF NODC data file 

DNDBC Character*8 Input datum for NDBC data files 

DNODC Character*8 Input datum for NODC data files 

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

IBMO Integer Starting month

IBDAY integer Starting day

IEHR integer Starting hour (00-23 LST) 

IEYR Integer Ending year of data to process (four digit)

IEMO Integer Ending month

IEDAY integer Ending day

IEHR integer Ending hour (00-23 LST) 

ABTZ character*8 Base time zone of output data 

(UTC-0500=EST, UTC-0600=CST, 

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

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

(T: yes – F: No) 

 (used only with dataset version 3.0)

MAR 2006 -- MetProc 

C-46 
Table C-22 (concluded) 

BUOY Control File Inputs (BUOY.INP)

Input Group Variable Type Description

(2) PMAP * character*8 Map projection for output coordinates: 

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,

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

(3) BNAM character*132 Name of buoy station for NDBC files. 

BNUM Number of buoy station for NDBC files. 

(Not used for NODC files)

BLAT, BLON character*16 Location latitude and longitude (degrees) 

for NDBC station. (Not used for NODC

files) Enter numeric degrees and either N 

or S for latitude, and E or W for 

longitude. 

BANM real Station anemometer height for NDBC 

files. (Not used of NODC files) 

MAR 2006 -- MetProc 

C-47 
Table C-23 

Sample BUOY Output List File 

(BUOY.LST) 

 BUOY OUTPUT SUMMARY 

 VERSION: 1.23 LEVEL: 060119 

 

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

 SETUP Information 

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

 

 

 Control File Used ----- 

 BUOY.INP = buoy.inp 

 

 Buoy Data Input File Names ------------- 

 data files: 

 File Type: NODC 

 dbfile : 42039_200301.TXT 

 dbfile : 42039_200302.TXT 

 dbfile : 42039_200303.TXT 

 

 Input Datum-Region used -------- 

 Datum : WGS-84 

 

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

 lstfil : 42039-2003.LST 

 outfil : 42039-2003.DAT 

 

 Location Info (for output) --------------------- 

 datum : WGS-84 

 pmap : LCC 

 fEast : 0.00000000E+00 

 fNorth : 0.00000000E+00 

 rlat(N): 28.0000000 

 rlon(E): -90.0000000 

 xlat1 : 23.0000000 

 xlat2 : 33.0000000 

 

 Time Period ------- 

 Period to Extract: 1 / 1 / 2003 1 :00 to 3 / 1 / 2003 1 :00 

 

 Buoy Specifications --------- 

 Buoy Name : 'PENSACOLA 115 NM ESE OF PENSACOLA FL' 

 Buoy Number : 42039 

 Lat(N) : 28.796N 

 Lon(E) : 86.056W 

 

 

 Record of missing or replaced data 

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

 missing data record 2003 3 9 

 missing data record 2003 11 7

MAR 2006 -- MetProc 

C-48 
Table C-24 

Sample BUOY Output Data File 

(SEA.DAT)

SEA.DAT 2.11 Header structure with coordinate parameters  2 Produced by BUOY Version: 1.23 Level: 060119  Data values taken from NODC Data Format 291 LCC 28.0N 90.0W 23.0N 33.0N  0.00000000E+00 0.00000000E+00 WGS-84 02-21-2003 KM UTC-0500  2003 1 1 2003 60 1  42039 'PENSACOLA 115 NM ESE OF PENSACOLA FL'  383.560 94.092 5.0 4.0 0.6 2003 1 1 2003 1 1 -0.90 292.6 67.0 9999.0 9999.0 9999.0 9.9  383.560 94.092 5.0 4.0 0.6 2003 1 2 2003 1 2 -0.80 292.8 67.4 9999.0 9999.0 9999.0 12.1  383.560 94.092 5.0 4.0 0.6 2003 1 3 2003 1 3 -0.80 292.8 64.8 9999.0 9999.0 9999.0 12.0  383.560 94.092 5.0 4.0 0.6 2003 1 4 2003 1 4 -0.90 292.6 68.3 9999.0 9999.0 9999.0 12.2  383.560 94.092 5.0 4.0 0.6 2003 1 5 2003 1 5 -1.00 292.4 72.8 9999.0 9999.0 9999.0 11.6  383.560 94.092 5.0 4.0 0.6 2003 1 6 2003 1 6 -1.30 292.2 69.5 9999.0 9999.0 9999.0 12.4  383.560 94.092 5.0 4.0 0.6 2003 1 7 2003 1 7 -1.60 291.9 71.3 9999.0 9999.0 9999.0 13.1  383.560 94.092 5.0 4.0 0.6 2003 1 8 2003 1 8 -2.30 291.1 72.1 9999.0 9999.0 9999.0 12.9  383.560 94.092 5.0 4.0 0.6 2003 1 9 2003 1 9 -2.80 290.6 71.5 9999.0 9999.0 9999.0 12.0  383.560 94.092 5.0 4.0 0.6 2003 1 10 2003 1 10 -3.00 290.4 72.0 9999.0 9999.0 9999.0 12.6  383.560 94.092 5.0 4.0 0.6 2003 1 11 2003 1 11 -3.10 290.4 69.6 9999.0 9999.0 9999.0 12.1  383.560 94.092 5.0 4.0 0.6 2003 1 12 2003 1 12 -3.00 290.4 72.5 9999.0 9999.0 9999.0 10.0  383.560 94.092 5.0 4.0 0.6 2003 1 13 2003 1 13 -3.00 290.4 71.5 9999.0 9999.0 9999.0 10.2  383.560 94.092 5.0 4.0 0.6 2003 1 14 2003 1 14 -2.80 290.6 73.0 9999.0 9999.0 9999.0 9.3  383.560 94.092 5.0 4.0 0.6 2003 1 15 2003 1 15 -2.30 291.1 72.1 9999.0 9999.0 9999.0 8.2  383.560 94.092 5.0 4.0 0.6 2003 1 16 2003 1 16 -2.30 291.1 78.0 9999.0 9999.0 9999.0 8.2  383.560 94.092 5.0 4.0 0.6 2003 1 17 2003 1 17 -2.10 291.4 73.1 9999.0 9999.0 9999.0 7.6  383.560 94.092 5.0 4.0 0.6 2003 1 18 2003 1 18 -2.00 291.4 74.1 9999.0 9999.0 9999.0 7.2  383.560 94.092 5.0 4.0 0.6 2003 1 19 2003 1 19 -2.00 291.4 72.6 9999.0 9999.0 9999.0 6.9  383.560 94.092 5.0 4.0 0.6 2003 1 20 2003 1 20 -2.00 291.4 72.6 9999.0 9999.0 9999.0 7.0  383.560 94.092 5.0 4.0 0.6 2003 1 21 2003 1 21 -2.00 291.4 74.6 9999.0 9999.0 9999.0 6.4  383.560 94.092 5.0 4.0 0.6 2003 1 22 2003 1 22 -2.20 291.2 74.0 9999.0 9999.0 9999.0 6.7  383.560 94.092 5.0 4.0 0.6 2003 1 23 2003 1 23 -2.40 291.1 71.6 9999.0 9999.0 9999.0 6.7  383.560 94.092 5.0 4.0 0.6 2003 2 0 2003 2 0 -2.90 290.6 69.7 9999.0 9999.0 9999.0 4.5  383.560 94.092 5.0 4.0 0.6 2003 2 1 2003 2 1 -3.00 290.5 69.7 9999.0 9999.0 9999.0 4.2 MAR 2006 -- MetProc 

C-49 
ATTACHMENT A 

NATIONAL DATA BUOY CENTER (NDBC) 

DATA FORMATS 

(http://www.ndbc.noaa.gov/measdes.shtml) 

MAR 2006 -- MetProc 

C-50 
Measurement Descriptions and Units

STATION ID Five-digit WMO Station Identifier used since 1976. ID's can be reassigned to future deployments 

within the same 1 degree square.

DATE In UTC (formerly called Greenwich Mean Time - GMT)

TIME In UTC for data files/display. Station pages show current observations in station local time by

default, but can be changed by the viewer to UTC. See the Acquisition Time help topic for a more

detailed description of observation times.

Data are classified according to the following groups. Any data field that contains "9 filled" represents 

missing data for that observation hour. (Example: 999.0 99.0) 

Standard Meteorological Data 

ATMP Air temperature (Celsius). For sensor heights on buoys, see Hull Descriptions. For sensor heights at CMAN stations, see C-MAN Sensor Locations

WTMP Sea surface temperature (Celsius). For sensor depth, see Hull Description.

DEWP Dewpoint temperature taken at the same height as the air temperature measurement.

PRES Sea level pressure (hPa). For C-MAN sites and Great Lakes buoys, the recorded pressure is reduced to sea 

level using the method described in NWS Technical Procedures Bulletin 291 (11/14/80).

WSPD Wind speed (m/s) averaged over an eight-minute period for buoys and a two-minute period for land

stations. Reported Hourly. See Wind Averaging Methods.

WDIR Wind direction (the direction the wind is coming from in degrees clockwise from true N) during the same

period used for WSPD. See Wind Averaging Methods

GST Peak 5 or 8 second gust speed (m/s) measured during the eight-minute or two-minute period. The 5 or 8

second period can be determined by payload, See the Sensor Reporting, Sampling, and Accuracy section.

WVHT Significant wave height (meters) is calculated as the average of the highest one-third of all of the wave

heights during the 20-minute sampling period. See the Wave Measurements section.

APD Average wave period (seconds) of all waves during the 20-minute period. See the Wave Measurements

section.

DPD Dominant wave period (seconds) is the period with the maximum wave energy. See the Wave

Measurements section.

MWD Mean wave direction corresponding to energy of the dominant period (DOMPD). The units are degrees 

from true North just like wind direction. See the Wave Measurements section.

VIS Station visibility (statute miles). Note that buoy stations are limited to reports from 0 to 1.9 miles.

PTDY Pressure Tendency is the direction (plus or minus) and the amount of pressure change (hPa)for a three 

hour period ending at the time of observation.

TIDE The water level in feet above or below Mean Lower Low Water (MLLW).

MAR 2006 -- MetProc 

C-51 
Sample Raw NDBC Data 

YYYY MM DD hh WD WSPD GST WVHT DPD APD MWD BARO ATMP WTMP DEWP VIS TIDE 

2003 11 01 00 191 5.4 6.0 0.26 2.94 2.89 201 1018.5 16.0 11.4 999.0 99.0 99.00 

2003 11 01 01 185 4.4 5.0 0.25 2.86 2.85 197 1018.5 15.2 11.4 999.0 99.0 99.00 

2003 11 01 02 248 5.5 6.5 0.21 2.50 2.87 204 1018.8 16.6 11.4 999.0 99.0 99.00 

2003 11 01 03 211 4.6 5.0 0.17 2.56 2.71 199 1019.4 14.3 11.4 999.0 99.0 99.00 

2003 11 01 04 199 4.7 5.1 0.00 0.00 0.00 0 1019.3 14.3 11.4 999.0 99.0 99.00 

2003 11 01 05 222 3.8 4.9 0.18 2.56 2.71 206 1019.5 13.9 11.4 999.0 99.0 99.00 

2003 11 01 06 212 3.7 4.2 0.00 0.00 0.00 0 1020.1 13.7 11.4 999.0 99.0 99.00 

2003 11 01 07 215 4.7 5.0 0.00 0.00 0.00 0 1020.3 14.1 11.4 999.0 99.0 99.00 

2003 11 01 08 278 6.0 7.0 0.00 0.00 0.00 0 1020.9 13.4 11.4 999.0 99.0 99.00 

2003 11 01 09 318 3.0 4.3 0.00 0.00 0.00 0 1021.8 12.6 11.4 999.0 99.0 99.00 

2003 11 01 10 294 3.5 4.3 0.00 0.00 0.00 0 1022.5 12.5 11.4 999.0 99.0 99.00 

2003 11 01 11 282 3.3 4.0 0.00 0.00 0.00 0 1022.7 12.4 11.4 999.0 99.0 99.00 

2003 11 01 12 284 3.2 3.6 0.00 0.00 0.00 0 1023.4 12.1 11.4 999.0 99.0 99.00 

2003 11 01 13 303 2.8 3.5 0.00 0.00 0.00 0 1024.2 11.8 11.4 999.0 99.0 99.00 

2003 11 01 14 312 4.2 5.1 0.00 0.00 0.00 0 1025.0 11.7 11.4 999.0 99.0 99.00 

2003 11 01 15 324 3.7 4.3 0.00 0.00 0.00 0 1025.7 11.4 11.5 999.0 99.0 99.00 

2003 11 01 16 316 4.2 4.6 0.00 0.00 0.00 0 1025.7 11.3 11.7 999.0 99.0 99.00 

2003 11 01 17 325 2.3 2.6 0.00 0.00 0.00 0 1025.8 11.4 11.7 999.0 99.0 99.00 

2003 11 01 18 323 1.1 1.4 0.00 0.00 0.00 0 1024.9 11.4 11.7 999.0 99.0 99.00 

2003 11 01 19 296 1.0 1.2 0.00 0.00 0.00 0 1024.9 11.7 11.7 999.0 99.0 99.00 

2003 11 01 20 268 0.1 0.5 0.00 0.00 0.00 0 1024.9 11.8 11.8 999.0 99.0 99.00 

2003 11 01 21 307 0.1 0.5 0.00 0.00 0.00 0 1025.2 12.3 11.8 999.0 99.0 99.00 

2003 11 01 22 204 1.1 1.3 0.00 0.00 0.00 0 1025.2 11.4 11.8 999.0 99.0 99.00 

2003 11 01 23 242 0.9 1.2 0.00 0.00 0.00 0 1025.7 11.4 11.8 999.0 99.0 99.00 

2003 11 02 00 146 0.4 0.6 0.00 0.00 0.00 0 1025.7 11.4 11.8 999.0 99.0 99.00 

2003 11 02 01 108 0.5 0.7 0.00 0.00 0.00 0 1025.2 11.4 11.7 999.0 99.0 99.00 

2003 11 02 02 95 1.2 1.5 0.00 0.00 0.00 0 1025.2 11.4 11.7 999.0 99.0 99.00 

2003 11 02 03 134 2.7 3.7 0.00 0.00 0.00 0 1024.9 11.9 11.7 999.0 99.0 99.00 

2003 11 02 04 100 2.8 3.5 0.00 0.00 0.00 0 1024.2 12.1 11.7 999.0 99.0 99.00 

MAR 2006 -- MetProc 

C-52 
ATTACHMENT B 

NATIONAL OCEANOGRAPHIC DATA CENTER (NODC) 

DATA FORMATS 

(www.nodc.noaa.gov/General/NODC-Archive/f291.html) 

MAR 2006 -- MetProc 

C-53 
FILE TYPE 291 - METEOROLOGY OCEANOGRAPHY AND WAVE SPECTRA

THIS FORMAT IS USED TO REPORT METEOROLOGICAL, OCEANOGRAPHIC, AND WAVE 

SPECTRA DATA FROM NDBC MOORED BUOYS AND FIXED LAND STATIONS. THE FORMAT 

CONTAINS TEN DATA RECORD TYPES TO: 

• IDENTIFY THE BUOY POSITION AND OTHER DESCRIPTIVE INFORMATION; 

• REPORT THE METEOROLOGICAL MEASUREMENTS; 

• REPORT WAVE ENERGY SPECTRA AND WAVE DIRECTION; 

• REPORT SUBSURFACE PHYSICAL, BIOLOGICAL AND CHEMICAL OCEANOGRAPHIC 

MEASUREMENTS; AND 

• REPORT DETAILED INFORMATION ON CONTINUOUSLY MEASURED WIND SPEED AND 

DIRECTION. 

****NOTE**** 

THIS FORMAT REPLACES FILE TYPE 191 WHICH IN TURN REPLACED 091. 

03/30/81 - ADDED WIND SPEED AND DIRECTION TO RECORD TYPE '2' 

12/28/81 - ADDED RECORD TYPES '6' AND '7' 

11/04/85 - ADDED RECORD TYPE '8' 

01/01/88 - ADDED RECORD TYPE '9' 

01/30/91 - DESIGNED F291 TO: 

• RELABEL RECORD TYPES - RECORD TYPES 1 THROUGH 5 BECOMING A THROUGH E; ADD 

NEW RECORD TYPE F; AND RELABEL 6 THROUGH 9 AS G THROUGH J; 

• ADD A PRESENCE OF A RECORD INDICATOR IN RECORD TYPE 'A'; 

• REDEFINE RECORD TYPE B BY DELETING "HIGHEST CREST" AND "DEEPEST TROUGH" AND 

INSERTING "WATER LEVEL"; 

• IDENTIFY RECORD TYPE C AS "NON-DIRECTIONAL WAVE SPECTRA DATA RECORD"; 

• DELETE DEFINITION OF COLUMNS 27 THROUGH 33 IN RECORD C AND REPLACE WITH 7 

BLANKS; 

• ADD A DURATION OF SAMPLING FIELD AT THE END OF RECORD D; 

• DEFINE RECORD TYPE E TO PROVIDE ONLY SUBSURFACE CURRENT INFORMATION; AND

• DEFINE NEW RECORD TYPE F TO PROVIDE SUBSURFACE PHOTOSYNTHETIC ACTIVE

RADIATION. 

05/01/92 - REFINED DEFINITION OF OBSERVED TIME IN RECORDS A THROUGH J TO BE "END OF

MET. DATA ACQUISITION, ROUNDED TO THE BEGINNING OF THE NEAREST WHOLE MINUTE." 

TIME TAG OF DATA ARCHIVED PRIOR TO THIS DATE REFLECTS NEAREST WHOLE HOUR OF

MET. DATA ACQUISITION. ALSO, FOR RECORD C, BLANK SPACES 27-30 ARE DEFINED AS "END 

MAR 2006 -- MetProc 

C-54 
OF WAVE DATA ACQUISITION, ROUNDED TO THE BEGINNING OF THE NEAREST WHOLE 

MINUTE." 

01/01/95 - ADDED TWO NEW RECORDS TO 291 TO HANDLE WPM DATA: 

• DEFINED RECORD TYPE K TO PROVIDE EXPANDED RESOLUTION FOR NONDIRECTIONAL 

CENTER FREQUENCY AND WAVE SPECTRA DATA; AND 

• DEFINED RECORD TYPE L TO PROVIDE EXPANDED RESOLUTION FOR CENTER FREQUENCY

OF THE CO AND QUAD SPECTRA. THE "SENSOR OUTPUT" FIELD WAS ALSO ADDED TO

INDICATE THE TYPE OF SENSOR. 

03/17/2000 - FOUR DIGIT YEAR 

• TO ACCOMMODATE FOUR DIGIT YEARS, THE FORMER FILE DATE FIELD COL 4-9 (THAT 

WAS USED FOR YEARS FOR THE NODC REFERENCE NUMBER) IS NOW USED TO HOLD THE 

YYYYMM OF OBSERVATION AND IS CALLED OBS YEAR/MONTH.

04/21/2000 - ADDED NEW COMMENT RECORD M 

• ADDED NEW M RECORD FOR COMMENTS. IT CAN OCCUR AT ANY PLACE IN THE FILE. 

RECORD FORMAT DESCRIPTION 

RECORD NAME: Meteorology Oceanography & Wave Spectra (File Type "291")

MAR 2006 -- MetProc 

C-55 
DESCRIPTIVE HEADER RECORD (RECORD A) 

PARAMETER STARTING 

POSITION 

FIELD 

LENGTH DESCRIPTION 

FILE TYPE 1 3 "291" (constant)

OBS YEAR/MONTH 4 6 YYYYMM of Observation 

RECORD TYPE 10 1 Always 'A'

STATION 11 6 Six-character unique name of observation point 

OBSERVED DATE 17 6 YYMMDD (UTC) 

OBSERVED TIME 23 4 HHMM (UTC) - End of met. data acquisition, rounded to beginning of 

nearest whole minute 

LATITUDE 27 7 DDMMSS plus hemisphere 'N' or 'S' 

LONGITUDE 34 8 DDDMMSS plus hemisphere 'E' or 'W'

BOTTOM DEPTH 42 5 XXXXX - Meters to tenths 

MAGNETIC 

VARIATION 47 4 XXXX - Whole degrees from true North (signed value) 

BUOY HEADING 51 3 XXX - Whole degrees from true North 

SAMPLING RATE 

(WAVES) 54 4 XXXX - Original measurements per minute to tenths 

SAMPLING 

DURATION 

(WAVES)* 

58 4 

XXXX - Minutes to hundredths If equal to 40 minutes, the actual 

duration for all wave calculations varies by frequency range: .02 to .925

Hz - 40 min .1 to .35 Hz - last 20 min .365 to .485 Hz- last 10 min 

TOTAL INTERVALS

(WAVES) 62 3 XXX - Number of frequency intervals 

CHIEF SCIENTIST 65 20 20-Character field for scientist name 

INSTITUTION 85 20 20-Character field for data source 

WIND SAMPLING 

DURATION 105 3 XXX - Minutes to tenths 

PRESENCE OF 'B' 108 1 X - Y=YES; N=NO 

PRESENCE OF 'C' 109 1 X - Y=YES; N=NO 

PRESENCE OF 'D' 110 1 X - Y=YES; N=NO 

PRESENCE OF 'E' 111 1 X - Y=YES; N=NO 

PRESENCE OF 'F' 112 1 X - Y=YES; N=NO 

PRESENCE OF 'G' 113 1 X - Y=YES; N=NO 

PRESENCE OF 'H' 114 1 X - Y=YES; N=NO 

PRESENCE OF 'I' 115 1 X - Y=YES; N=NO 

PRESENCE OF 'J' 116 1 X - Y=YES; N=NO 

PRESENCE OF 'K' 117 1 X - Y=YES; N=NO 

PRESENCE OF 'L' 118 1 X - Y=YES; N=NO 

BLANKS 119 2 

MAR 2006 -- MetProc 

C-56 
ENVIRONMENTAL DATA RECORD (RECORD B) 

PARAMETER STARTING 

POSITION 

FIELD 

LENGTH DESCRIPTION 

FILE TYPE 1 3 "291" (constant)

OBS YEAR/MONTH 4 6 YYYYMM of Observation 

RECORD TYPE 10 1 Always 'B' 

STATION 11 6 Six-character unique name of observation point 

OBSERVED DATE 17 6 YYMMDD (UTC) 

OBSERVED TIME 23 4 HHMM (UTC) - End of met. data acquisition, rounded to beginning of 

nearest whole minute 

ANEMOMETER 

HEIGHT 27 3 XXX - Height above water level or ground (meters to tenths) 

AIR TEMPERATURE 30 4 XXXX - Negative temperatures are preceded by a minus sign adjacent 

to tempera- ture value Deg C to tenths 

DEW POINT 34 4 XXXX - Degrees C to tenths 

BAROMETER 38 5 XXXXX - Reduced to sea level (MB to tenths) 

WIND SPEED (AVG) 43 4 XXXX - m/sec to hundredths 

WIND DIRECTION 

(AVG) 47 4 XXXX - Degrees from true North to tenths

WEATHER 51 1 One-character weather code

VISIBILITY 52 3 XXX - Nautical miles to tenths

PRECIPITATION 55 4 XXXX - Accumulation in millimeters 

SOLAR RADIATION 

(ATMOSPHERIC 59 3 xxx - Langleys/min to hundredths, wave length less than 3.6 microns 

SOLAR RADIATION 

(ATMOSPHERIC) 62 3 XXX - Langleys/min to hundredths, wave length from 4.0 to 50 microns 

SIGNIFICANT WAVE 

HEIGHT* 65 3 XXX - Corrected for low frequency noise, etc. (meters to tenths) 

AVERAGE WAVE 

PERIOD* 68 3 XXX - Seconds to tenths 

MEAN WAVE 

DIRECTION 71 3 

XXX - Mean direction at the dominant wave period (spectral peak 

period) in whole degrees clockwise from true North to the direction 

from which the waves are coming. level; minus sign indicates below 

MLLW (meters to tenths) 

BLANKS 78 2 

TEMPERATURE (SEA 

SURFACE) 80 4 XXXX - Sea surface - Negative temperatures are preceded by a minus 

sign adjacent to temperature value-Deg C to hundredths 

PRACTICAL 

SALINITY (SEA 

SURFACE)

84 5 XXXXX - To thousandths 

CONDUCTIVITY (SEA 

SURFACE) 89 5 XXXXX - Millisiemens/cm to thousandths 

DOMINANT WAVE 

PERIOD* 94 3 XXX - Spectral peak period- Seconds to tenths 

MAXIMUM WAVE 

HEIGHT 97 3 XXX - Meters to tenths 

MAXIMUM WAVE 

STEEPNESS 100 3 XXX 

MAR 2006 -- MetProc 

C-57 
WIND GUST 103 4 XXXX - Meters/sec to hundredths 

WIND GUST 

AVERAGING PERIOD 107 2 XX - Seconds 

WIND GUST 109 4 XXXX - Meters/sec to hundredths 

WIND GUST 

AVERAGING PERIOD 113 2 XX - Seconds 

WIND SPEED (58 MIN 

AVG) 115 3 XXX - Meters/sec to tenths 

WIND DIRECTION (58 

MIN AVG) 118 3 XXX - Whole degrees 

* Significant wave height, average wave period, and dominant wave period are set to zero when significant wave height is less 

than 0.15 meters. 

MAR 2006 -- MetProc 

C-58 
NONDIRECTIONAL WAVE SPECTRA DATA RECORD (RECORD C) 

PARAMETER STARTING 

POSITION 

FIELD 

LENGTH DESCRIPTION 

FILE TYPE 1 3 "291" (constant)

OBS YEAR/MONTH 4 6 YYYYMM of Observation 

RECORD TYPE 10 1 Always 'C' 

STATION 11 6 Six-character unique name of observation point 

OBSERVED DATE 17 6 YYMMDD (UTC) 

OBSERVED TIME 23 4 HHMM (UTC) - End of met. data acquisition, rounded to

beginning of nearest whole minute 

END OF WAVE DATA 

ACQUISITION 27 4 HHMM (UTC) - Rounded to beginning of nearest whole minute 

BLANKS 31 3 

COUNT DATA 34 1 X - Number of frequencies on this record Up to 5 frequency,

resolu- tion, and density fields. Null fields are zero or blank 

FREQUENCY 35 4 XXXX - Center frequency of interval in Hertz to thousandths 

RESOLUTION 39 4 XXXX - Interval width in Hertz to ten-thousandths 

DENSITY 43 6 XXXXXX - Spectral Density, C11, in m2/Hz to thousandths 

FREQUENCY 49 4 XXXX - See above 

RESOLUTION 53 4 XXXX - See above 

DENSITY 57 6 XXXXXX - See above 

FREQUENCY 63 4 XXXX - See above 

RESOLUTION 67 4 XXXX - See above 

DENSITY 71 6 XXXXXX - See above 

FREQUENCY 77 4 XXXX - See above 

RESOLUTION 81 4 XXXX - See above 

DENSITY 85 6 XXXXXX - See above 

FREQUENCY 91 4 XXXX - See above 

RESOLUTION 95 4 XXXX - See above 

DENSITY 99 6 XXXXXX - See above 

BLANKS 105 16 

MAR 2006 -- MetProc 

C-59 
SUBSURFACE TEMPERATURE/SALINITY DATA RECORD (RECORD D) 

PARAMETER STARTING 

POSITION 

FIELD 

LENGTH DESCRIPTION 

FILE TYPE 1 3 "291" (constant)

OBS YEAR/MONTH 4 6 YYYYMM of Observation 

RECORD TYPE 10 1 Always 'D'

STATION 11 6 Six character unique name of observation point

OBSERVED DATE 17 6 YYMMDD (UTC) 

OBSERVED TIME 23 4 HHMM (UTC) - End of met. data acquisition, rounded to

beginning of nearest whole minute 

DEPTH 27 5 XXXXX - Meters from the surface to tenths 

TEMPERATURE 32 4 XXXX - Negative temperatures are preceded by a minus sign 

adjacent to temper- ature value-Deg C to hundredths 

PRACTICAL SALINITY 36 5 XXXXX - Parts per thousands reported to thousands 

CONDUCTIVITY 41 4 XXXX - Millisiemens/cm to hundredths 

DEPTH 45, 63, 81,99 5 Repeated in descending order 

TEMPERATURE 50, 68, 86, 104 4 Repeated in descending order 

PRACTICAL SALINITY 54, 72, 90, 108 5 Repeated in descending order 

CONDUCTIVITY 59, 77, 95, 113 4 Repeated in descending order 

BLANK 117 1 

DURATION OF

SAMPLING PERIOD 118 3 XXX - Minutes to tenths 

MAR 2006 -- MetProc 

C-60 
SUBSURFACE CURRENT DATA RECORD (RECORD E) 

PARAMETER STARTING 

POSITION 

FIELD 

LENGTH DESCRIPTION 

FILE TYPE 1 3 Always "291" 

OBS 

YEAR/MONTH 4 6 YYYYMM of Observation 

RECORD TYPE 10 1 Always 'E'

STATION 11 6 Six character unique name of observation point

OBSERVED DATE 17 6 YYMMDD (UTC) 

OBSERVED TIME 23 4 HHMM (UTC) - End of met. data acquisition, rounded to beginning 

of nearest whole minute 

DEPTH 27 4 XXXX - From the surface in meters 

PRESSURE 31 5 XXXXX - Hydrostatic pressure (kg/cm2) to hundredths 

U COMPONENT 36 5 XXXXX - East component from true North (cm/sec) to tenths. 

Minus sign indi- cates westward component 

V COMPONENT 41 5 XXXXX - True North component in cm/sec to tenths. Minus sign

indicates southward component

W COMPONENT 46 3 XXX - Vertical component in cm/sec to tenths. Minus sign indicates 

downward component 

DEPTH 49, 71, 93 4 Repeated in descending order 

PRESSURE 53, 75, 97 5 Repeated in descending order 

U COMPONENT 58, 80, 102 5 Repeated in descending order 

V COMPONENT 63, 85, 107 5 Repeated in descending order 

W COMPONENT 68, 90, 112 3 Repeated in descending order 

BIN WIDTH 115 2 XX - Width of each depth bin whole meters 

SAMPLING 

INTERVAL 117 3 XXX - Minutes to tenths 

BLANK 120 1 

MAR 2006 -- MetProc 

C-61 
SUBSURFACE DATA PROFILE (RECORD F) 

PARAMETER STARTING 

POSITION 

FIELD 

LENGTH DESCRIPTION 

FILE TYPE 1 3 Always "291" 

OBS YEAR/MONTH 4 6 YYYYMM of Observation 

RECORD TYPE 10 1 Always 'F'

STATION 11 6 Six-character unique name of observation point 

OBSERVED DATE 17 6 YYMMDD (UTC) 

OBSERVED TIME 23 4 HHMM (UTC) - End of met. data acquisition, rounded 

to beginning of nearest whole minute 

DEPTH 27 4 XXXX - From the surface in meters. Negative value 

indicates height in meters above water surface 

PHOTOSYNTHETIC ACTIVE 

RADIATION (PAR) 31 4 XXXX - Micromol/sec/m2 

BLANKS 35 15 15 Blanks reserved for future parameters 

DEPTH 50, 73, 96 4 Repeated in descending order 

PAR 54, 77, 100 4 Repeated in descending order 

BLANKS 58, 81, 104 15 Reserved for future parameters

BLANKS 119 2 

MAR 2006 -- MetProc 

C-62 
CO AND QUAD SPECTRA FOR DIRECTIONAL WAVES DATA RECORD (RECORD G) 

PARAMETER STARTING 

POSITION 

FIELD 

LENGTH DESCRIPTION 

FILE TYPE 1 3 Always "291" 

OBS 

YEAR/MONTH 4 6 YYYYMM of Observation 

RECORD TYPE 10 1 Always 'G'

STATION 11 6 Six character unique name of observation point

OBSERVED DATE 17 6 YYMMDD (UTC) 

OBSERVED TIME 23 4 HHMM (UTC) - End of met. data acquisition, rounded to beginning of 

nearest whole minute 

FREQUENCY 27 4 XXXX - Center frequency of interval in Hz to thousandths 

RESOLUTION 31 5 XXXXX - Spectral resolution of this frequency band to Hz to tenthousandths 

CO-SPECTRA 

(C11) 36 6 

XXXXXX - Signed uncorrected spectral density of CO spectra in m2/Hz.

Decimal assumed to be left of first digit. Subscripts are: 1=Heave, 2=E-W

slope, 3=N-S slope

EXPONENT* 42 2 XX - First space is the sign

CO-SPECTRA 

(C22) 44 6 XXXXXX - See above 

EXPONENT* 50 2 XX - See above 

CO-SPECTRA 

(C33) 52 6 XXXXXX - See above 

EXPONENT* 58 2 XX - See above 

CO-SPECTRA 

(C12) 60 6 XXXXXX - See above 

EXPONENT* 66 2 XX - See above 

QUAD-SPECTRA 

(Q12) 68 6 XXXXXX - See above 

EXPONENT* 74 2 XX - See above 

CO-SPECTRA 

(C13) 76 6 XXXXXX - See above 

EXPONENT* 82 2 XX - See above 

QUAD-SPECTRA 

(Q13) 84 6 XXXXXX - See above 

EXPONENT* 90 2 XX - See above 

CO-SPECTRA C23) 92 6 XXXXXX - See Above 

EXPONENT* 98 2 XX - See above 

QUAD-SPECTRA 

(Q23) 100 6 XXXXXX - See above 

EXPONENT* 106 2 XX - See above 

SPECTRA (C22-

C33) 108 6 XXXXXX - See Above 

EXPONENT* 114 2 XX - See above 

BLANKS 116 5 - 

* If this exponent is less than -9, the exponent and its associated spectra will be zero. 

MAR 2006 -- MetProc 

C-63 
DIRECTIONAL WAVE FOURIER COEFFICIENT DATA RECORD (RECORD H) 

PARAMETER STARTING 

POSITION 

FIELD 

LENGTH DESCRIPTION 

FILE TYPE 1 3 Always "291" 

OBS YEAR/MONTH 4 6 YYYYMM of Observation 

RECORD TYPE 10 1 Always 'H'

STATION 11 6 Six character unique name of observation point

OBSERVED DATE 17 6 YYMMDD (UTC) 

OBSERVED TIME 23 4 HHMM (UTC) - End of met. data acquisition, rounded to

beginning of nearest whole minute 

FREQUENCY 27 4 XXXX - Hz to thousandths 

RESOLUTION 31 5 XXXXX - Hz to ten- thousandths

ANGULAR FOURIER 

COEFF (a0) 36 6 XXXXXX - m2/Hz 

EXPONENT 42 2 XX 

ANGULAR FOURIER 

COEFF (a1) 44 6 XXXXXX - m2/Hz 

EXPONENT 50 2 XX 

ANGULAR FOURIER 

COEFF (b1) 52 6 XXXXXX - m2/Hz 

EXPONENT 58 2 XX 

ANGULAR FOURIER 

COEFF (a2) 60 6 XXXXXX - m2/Hz 

EXPONENT 66 2 XX 

ANGULAR FOURIER 

COEFF (b2) 68 6 XXXXXX - m2/Hz 

EXPONENT 74 2 XX 

ANGULAR FOURIER 

COEFF (a3) 76 6 XXXXXX - m2/Hz 

EXPONENT 82 2 XX 

ANGULAR FOURIER 

COEFF (b3) 84 6 XXXXXX - m2/Hz 

EXPONENT 90 2 XX 

ANGULAR FOURIER 

COEFF (a4) 92 6 XXXXXX - m2/Hz 

EXPONENT 98 2 XX 

ANGULAR FOURIER 

COEFF (b4) 100 6 XXXXXX - m2/Hz 

EXPONENT 106 2 XX 

MEAN WAVE 

DIRECTION 108 3 XXX - ARCTAN b1/a1 in whole degrees from true North 

BLANKS 111 10 

MAR 2006 -- MetProc 

C-64 
DIRECTIONAL WAVE PARAMETER DATA RECORD (RECORD I) 

PARAMETER STARTING 

POSITION 

FIELD 

LENGTH DESCRIPTION 

FILE TYPE 1 3 Always "291" 

OBS YEAR/MONTH 4 6 YYYYMM of Observation 

RECORD TYPE 10 1 Always 'I' 

STATION 11 6 Six character unique name of observation point

OBSERVED DATE 17 6 YYMMDD (UTC) 

OBSERVED TIME 23 4 HHMM (UTC) - End of met. data acquisition, rounded to

beginning of nearest whole minute 

COUNT 27 1 X - Number of frequencies on this record (1 to 3)

FREQUENCY 28 4 XXXX - Center of frequency interval in Hz to the tenthousandth 

RESOLUTION 32 4 XXXX - Resolution of interval in Hz to the ten-thousandth 

R1 36 4 XXXX - Nondimensional. Given to nearest hundredth 

R2 40 4 XXXX - Nondimensional. Given to nearest hundredth 

WAVE DIRECTION 

ALPHA1 44 4 XXXX - Direction in degrees to the tenth 

WAVE DIRECTION 

ALPHA2 48 4 XXXX - Direction in degrees to the tenth 

WAVE ESTIMATE C11 52 6 XXXXXX - Spectral value in m2/Hz to the thousandth 

FREQUENCY 58 4 XXXX - Center of frequency interval in Hz to the tenthousandth 

RESOLUTION 62 4 XXXX - Resolution of interval in Hz to the ten-thousandth 

R1 66 4 XXXX - Nondimensional. Given to nearest hundredth 

R2 70 4 XXXX - Nondimensional. Given to nearest hundredth 

WAVE DIRECTION 

ALHPA1 74 4 XXXX - Direction in degrees to the tenth 

WAVE DIRECTION 78 4 XXXX - Direction in degrees to the tenth 

WAVE C11 ESTIMATE 82 6 XXXXXX - Spectral value in m2/Hz to the thousandth 

FREQUENCY 88 4 XXXX - Center of frequency interval in Hz to the tenthousandth 

RESOLUTION 92 4 XXXX - Resolution of interval in Hz to the ten-thousandth 

R1 96 4 XXXX - Nondimemsional. Given to nearest hundredth 

R2 100 4 XXXX - Nondimensional. Given to nearest hundredth 

WAVE DIRECTION 

ALPHA1 104 4 XXXX - Direction in degrees to the tenth 

WAVE DIRECTION 

ALPHA2 108 4 XXXX - Direction in degrees to the tenth 

WAVE C11 ESTIMATE 112 6 XXXXXX - Spectral value in m2/Hz to the thousandth 

BLANKS 118 3 

NOTE: DIRECTIONAL WAVE SPECTRUM = C11(f)*D(f,A), f=frequency (Hz), A=Azimuth angle measured clockwise from 

North to the direction wave is from. D(f,A)=(1/PI)*(0.5+R1*COS(A-ALPHA1)+R2*COS(2*(A-ALPHA2))), in which R1 and

R2 are dimensionless and ALPHA1 and ALPHA2 are respectively mean and principal wave directions. In terms of LonguetHiggins Fourier Coefficients R1=(SQRT(a1*a1+b1*b1))/a0, R2=SQRT(a2*a2+b2*b2))/a0, ALPHA1=270.0-ARCTAN(b1,a1), 

ALPHA2=270.0-(0.5*ARCTAN(b2,a2)+{0. or 180.}), C11(f) is the nondirectional wave spectra data from RECORD C or 

RECORD K. 

MAR 2006 -- MetProc 

C-65 
CONTINUOUS WIND MEASUREMENT DATA RECORD (RECORD J) 

PARAMETER STARTING 

POSITION 

FIELD 

LENGTH DESCRIPTION 

FILE TYPE 1 3 Always "291" 

OBS YEAR/MONTH 4 6 YYYYMM of Observation 

RECORD TYPE 10 1 Always 'J'

STATION 11 6 Six character unique name of observation point

REPORT DATE 17 6 YYMMDD (UTC) 

REPORT TIME 23 4 HHMM (UTC) - End of met. data acquisition, rounded 

to beginning of nearest whole minute 

SPEED AVERAGING METHOD 27 1 X - 1=VECTOR, 2=SCALER 

STANDARD DEVIATION OF 

HOURLY SPEED 28 3 XXX - m/sec to tenths 

STANDARD DEVIATION OF 

HOURLY DIRECTION 31 4 XXXX - Whole degrees 

HOURLY PEAK WIND 35 3 XXX - m/sec to tenths (high- est 5 sec wind) 

DIRECTION OF HOURLY PEAK 38 3 XXX - Whole degrees 

MINUTE OF HOURLY PEAK 41 2 XX - Minutes 

END OF ACQUISITION TIME 43 4 XXXX - HHMM (UTC) 

FIRST AVERAGE DIRECTION 47 3 XXX - Whole degrees 

FIRST AVERAGE SPEED 50 3 XXX - m/sec to tenths 

SECOND AVERAGE DIRECTION 53 3 XXX - Whole degrees 

SECOND AVERAGE SPEED 56 3 XXX - m/sec to tenths 

THIRD AVERAGE DIRECTION 59 3 XXX - Whole degrees 

THIRD AVERAGE SPEED 62 3 XXX - m/sec to tenths 

FOURTH AVERAGE DIRECTION 65 3 XXX - Whole degrees 

FOURTH AVERAGE SPEED 68 3 XXX - m/sec to tenths 

FIFTH AVERAGE DIRECTION 71 3 XXX - Whole degrees 

FIFTH AVERAGE SPEED 74 3 XXX - m/sec to tenths 

SIXTH AVERAGE DIRECTION 77 3 XXX - Whole degrees 

SIXTH AVERAGE SPEED 80 3 XXX - m/sec to tenths 

BLANKS 83 38 

Ten minute average winds are measured for minutes 0-9, 10-19, 20-29, 30-39, 40-49, and 50-59. The first set is for the ten minute 

time period ending immediately before the end of acquisition time. The remaining sets go back in time. For example, if the end of

acquisition time is 1025, then the first average is 1010 to 1019, the second, 1000 to 1009, etc. If the end of acquisition time is 

1030, then the first period will be 1020 to 1029. 

MAR 2006 -- MetProc 

C-66 
EXPANDED RESOLUTION NONDIRECTIONAL WAVE SPECTRA DATA RECORD (RECORD K) 

PARAMETER STARTING 

POSITION 

FIELD 

LENGTH DESCRIPTION 

FILE TYPE 1 3 "291" (constant)

OBS YEAR/MONTH 4 6 YYYYMM of Observation 

RECORD TYPE 10 1 Always 'K'

STATION 11 6 Six-character unique name of observation point 

OBSERVED DATE 17 6 YYMMDD (UTC) 

OBSERVED TIME 23 4 HHMM (UTC) - End of met. data acquisition, rounded to

beginning of nearest whole minute 

END OF WAVE DATA 

ACQUISITION 27 4 HHMM (UTC) - Rounded to beginning of nearest whole minute 

BLANKS 31 3 

COUNT 34 1 X - Number of frequencies on this record

DATA Up to 5 frequency, resolu- tion, and density fields. Null 

fields are zero or blank

FREQUENCY 35 4 XXXX- Center frequency of interval in Hertz to tenthousandths 

RESOLUTION 39 4 XXXX - Interval width in Hertz to ten-thousandths 

DENSITY 43 9 XXXXXXXXX - Spectral Density, C11, in m2/Hz to 

hundred thousandths 

FREQUENCY 52 4 XXXX - See above 

RESOLUTION 56 4 XXXX - See above 

DENSITY 60 9 XXXXXXXXX - See above 

FREQUENCY 69 4 XXXX - See above 

RESOLUTION 73 4 XXXX - See above 

DENSITY 77 9 XXXXXXXXX - See above 

FREQUENCY 86 4 XXXX - See above 

RESOLUTION 90 4 XXXX - See above 

DENSITY 94 9 XXXXXXXXX - See above 

FREQUENCY 103 4 XXXX - See above 

RESOLUTION 107 4 XXXX - See above 

DENSITY 111 9 XXXXXXXXX - See above 

BLANKS 120 1 

MAR 2006 -- MetProc 

C-67 
EXPANDED RESOLUTION CO AND QUAD SPECTRA FOR DIRECTIONAL WAVES DATA RECORD (RECORD L) 

PARAMETER STARTING 

POSITION 

FIELD 

LENGTH DESCRIPTION 

FILE TYPE 1 3 Always "291" 

OBS YEAR/MONTH 4 6 YYYYMM of Observation 

RECORD TYPE 10 1 Always 'L'

STATION 11 6 Six character unique name of observation point

OBSERVED DATE 17 6 YYMMDD (UTC) 

OBSERVED TIME 23 4 HHMM (UTC) - End of met. data acquisition, rounded to beginning of 

nearest whole minute 

FREQUENCY 27 4 XXXX - Center frequency of interval in Hz to ten- thousandths 

RESOLUTION 31 5 XXXXX - Interval width in Hertz to ten-thousandths 

CO-SPECTRA C11)** 36 6 

XXXXXX - Signed uncorrected spectral density. Decimal assumed to 

be left of first digit. Subscripts are: 1=Heave, 2=E-W slope, 3=N-S

slope 

EXPONENT* 42 2 XX - First space is the sign

CO-SPECTRA (C22)** 44 6 XXXXXX - See above 

EXPONENT* 50 2 XX - See above 

CO-SPECTRA (C33)** 52 6 XXXXXX - See above 

EXPONENT* 58 2 XX - See above 

CO-SPECTRA (C12)** 60 6 XXXXXX - See above 

EXPONENT* 66 2 XX - See above 

QUAD-SPECTRA 

(Q12)** 68 6 XXXXXX - See above 

EXPONENT* 74 2 XX - See above 

CO-SPECTRA (C13)** 76 6 XXXXXX - See above 

EXPONENT* 82 2 XX - See above 

QUAD-SPECTRA 

(Q13)** 84 6 XXXXXX - See above 

EXPONENT* 90 2 XX - See above 

CO-SPECTRA C23)** 92 6 XXXXXX - See Above 

EXPONENT* 98 2 XX - See above 

QUAD-SPECTRA 

(Q23)** 100 6 XXXXXX - See above 

EXPONENT* 106 2 XX - See above 

SPECTRA (C22-

C33)** 108 6 XXXXXX - See Above 

EXPONENT* 114 2 XX - See above 

SENSOR OUTPUT 116 1 X - 1=Displacement; 2=Acceleration

BLANKS 117 4 

* If this exponent is less than -9, the exponent and its associated spectra will be zero. ** For displacement: C11 in m2/Hz, C22 in

1/Hz, C33 in 1/Hz, C12 in m/Hz, C13 in m/Hz, Q12 in m/Hz, Q13 in m/Hz, C23 in 1/Hz, Q23 in 1/Hz. For acceleration: C11, 

C12, C13, Q12, Q13 in [m/s2]2/Hz, C22, C33, Q23, 

MAR 2006 -- MetProc 

C-68 
COMMENT (RECORD M)

PARAMETER STARTING

POSITION 

FIELD 

LENGTH DESCRIPTION 

FILE TYPE 1 3 Always "291" 

OBS 

YEAR/MONTH 4 6 YYYYMM of Observation 

RECORD TYPE 10 1 Always "M" 

STATION 11 6 Six character unique name of observation

point

BLANK 17 1 Always blank 

COMMENT 18 103 Free form comments

MAR 2006 -- MetProc 

C-69 
Sample Raw NODC Data 

291200401A42002 0401010050251000N0942500W320040004 10244000046 NDBC 080YNNNNNNYY291200401B42002 0401010050100+238+2081022007501020 011047067 2390 067 083005 291200401I42002 0401010050303250050 03750050 04250050 291200401I42002 0401010050304750050 05250050 05750050 291200401I42002 0401010050306250050 06750050 07250050 291200401I42002 0401010050307750050 08250050 08750050 291200401I42002 0401010050309250050 10000100 110001000083004609700960 291200401I42002 04010100503120001000087006209100930 130001000084005307100710 140001000087006208400840 291200401I42002 04010100503150001000091006906700650 160001000086005907200710 170001000086005505400540 291200401I42002 04010100503180001000086005506200590 190001000081005106300590 200001000086006706200590 291200401J42002 04010100502006 084107550050101073098067101069105068102070107072 291200401K42002 04010100500039 50325005000000000003750050000000000042500500000000000475005000000000005250050000000291200401K42002 04010100500039 50575005000000000006250050000000000067500500000000000725005000000000007750050000000291200401K42002 04010100500039 50825005000000000008750050000000000092500500000000001000010000000145011000100000013291200401K42002 04010100500039 51200010000004485013000100000060398140001000000694241500010000009762916000100000033291200401K42002 04010100500039 51700010000002663218000100000049387190001000000390052000010000004485621000100000022291200401K42002 04010100500039 52200010000003927023000100000028289240001000000246062500010000002438626000100000022291200401K42002 04010100500039 52700010000002337628000100000032790290001000000099393000010000001194231000100000016291200401K42002 04010100500039 53200010000000623433000100000006424340001000000064813500010000000592536500200000006291200401K42002 04010100500039 53850020000000264740500200000001451425002000000022824450020000000145946500200000001291200401K42002 04010100500039 148500200000000971 291200401L42002 0401010050020000200+00000+0+00000+0+00000+0+00000+0+00000+0+00000+0+00000+0+00000+0 2 291200401L42002 0401010050032500050+00000+0 2 291200401L42002 0401010050037500050+00000+0 2 291200401L42002 0401010050042500050+00000+0 2 291200401L42002 0401010050047500050+00000+0 2 291200401L42002 0401010050052500050+00000+0 2 291200401L42002 0401010050057500050+00000+0 2 291200401L42002 0401010050062500050+00000+0 2 291200401L42002 0401010050067500050+00000+0 2 291200401L42002 0401010050072500050+00000+0 2 291200401L42002 0401010050077500050+00000+0 2 291200401L42002 0401010050082500050+00000+0 2 291200401L42002 0401010050087500050+21274-3 2 291200401L42002 0401010050092500050+29484-3 2 291200401L42002 0401010050100000100+26929-2 2 

MAR 2006 -- MetProc 
D. PROGNOSTIC METEOROLOGICAL DATA PROCESSORS

Optionally, CALMET can accept prognostic data extracted from models such as MM5, Eta, RUC, and 

RAMS 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, and RAMS 

output products (CALMM5, CALETA, CALRUC, and CALRAMS) are described in the following 

sections, followed by a description of the 3D.DAT file format in Section D.5. 

D.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 D-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 D-2 lists the variables in 3D.DAT and MM4.DAT. Table D-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 D-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 indicates 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 D-1). There are two sets of horizontal grid 

locations: dot points and cross points. The dimension of cross points is one less than that of 

corresponding dot points, that is, if NX in the dimension of dot points, then dimension of cross points is 

MAR 2006 – Meso3D 

D-1 
Table D-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 

MAR 2006 – Meso3D 

D-2 
Table D-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 

ground 

Y** N

Specific humidity at 2 meters above 

ground 

Y** N

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. 

MAR 2006 – Meso3D 

D-3 
Table D-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 

ground 

Y* 

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 

MAR 2006 – Meso3D 

D-4 
NX-1. 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 D-2), where sigma is calculated using Equation 

D-1 

σ = (P - PTop )/P* (D-1)

where P is pressure, and Ptop is the pressure at model top. P* is the pressure difference between the 

surface and the model top. All variables are defined at half sigma levels, except vertical velocity (W), 

which is defined on full sigma levels. Table D-4 lists defined horizontal and vertical locations for MM5 

variables used by CALMM5. 

CALMET uses a non-staggered horizontal coordinate system (see Figure D-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 D-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 (D-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 D2 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 southnorth 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 D-2). CAMM5 interpolates the vertical velocities at full sigma levels to half 

sigma levels first using Equation D-3 

w(k) = [w(k) + w(k +1)]/ 2.0 (D-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 D-3 are further interpolated to dot points using 

Equation D-2. 

MAR 2006 – Meso3D 

D-5 
Table D-4. 

Defined Horizontal and Vertical Locations for MM5 Variables Used in CALMM5 

Native MM5 Native MM5 Output from

CALMM5

Output from

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 

above ground 

Cross point Dot point 

Specific humidity at 2 meters 

above ground 

Cross point Dot point 

U-wind at 10 meters above 

ground 

Cross point Dot point 

V-wind at 10 meters above 

ground 

Cross point Dot point 

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 

 

MAR 2006 – Meso3D 

D-6 
Figure D-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). 

MAR 2006 – Meso3D 

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

MAR 2006 – Meso3D 

D-8 
Figure D-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. 

MAR 2006 – Meso3D 

D-9 
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 may be machinedependent. Compilation options (Fortran) for CALMM5 are also machine-dependent (e.g., 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. 

MAR 2006 – Meso3D 

D-10 
A sample CALMM5.INP is shown in Table D-5 and a description of each input variable is provided in 

Table D-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 D-7. 

3D.DAT, 2D.DAT

A sample 2D.DAT file is shown in Table D-8 and each variable is described in Table D-9. A sample 

3D.DAT file is shown and described in section (D.5). 

 

MAR 2006 – Meso3D 

D-11 
Table D-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 

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

MAR 2006 – Meso3D 

D-12 
Table D-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 subdomain 

2 = Use (I,J) to select a sub-domain 

6+NFILE RLATMIN/

JMIN 

real/integer Southernmost latitude or J of the sub-domain to 

extract (in degrees) 

7+NFILE RLATMAX/

JMAX 

real/integer Northernmost latitude or J of the sub-domain to 

extract (in degrees) 

8+NFILE RLONMIN/

IMIN 

real/integer Westernmost longitude or I of the sub-domain to 

extract (negative in Western hemisphere; in 

degrees) 

9+NFILE RLONMAX/

IMAX 

real/integer Easternmost longitude or I of the sub-domain to 

extract (negative in Western hemisphere; in 

degrees) 

10+NFILE IBEG integer Beginning date-hour of the period to extract 

(UTC) - Format: YYYYMMDDHH 

11+NFILE IEND integer Ending date-hour of the period to extract 

(UTC) - Format: YYYYMMDDHH 

12+NFILE IFORMAT integer Output data file format: 

1 = 3D.DAT (for CALMET) 

2 = MM4.DAT 

3 = GrADS 

4 = invalid 

5 = invalid 

6 = GRIB 

MAR 2006 – Meso3D 

D-13 
Table D-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

IOUTQ 

IOUTC* 

IOUTI* 

IOUTG* 

integer 

integer 

integer 

integer 

integer 

Flag to output vertical velocity 

Flag to output relative humidity and vapor 

mixing ratio 

Flag to output cloud and rain mixing ratios 

Flag to output ice and snow mixing ratios 

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 

MAR 2006 – Meso3D 

D-14 
Table D-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 

 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 

MAR 2006 – Meso3D 

D-15 
Table D-7 (Concluded) 

Example CALMM5 List File (CALMM5.LST) 

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

MAR 2006 – Meso3D 

D-16 
Table D-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 

 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 

MAR 2006 – Meso3D 

D-17 
Table D-8 (Concluded) 

Sample of MM5 Derived Gridded Surface 2-D Variables 

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 

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 

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 

MAR 2006 – Meso3D 

D-18 
Table D-9 

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

HEADER RECORDS 

Header Record #1 

Variable No. Variable Type Description

1 

2 

3 

CNAME 

DATAVER 

DATAMODD 

char*16 

char*16 

char*64 

Data set name

Data set version 

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) 

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 

Format (6i3) 

MAR 2006 – Meso3D 

D-19 
Table D-9 (Continued) 

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

HEADER RECORDS 

Header Record #N+2 

Variable No. Variable Type Description

1 MAPTXT char*3 Map projection in MM5 

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 MM5 

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 

MAR 2006 – Meso3D 

D-20 
Table D-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) 

MAR 2006 – Meso3D 

D-21 
Table D-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) 

MAR 2006 – Meso3D 

D-22 
Table D-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) 

MAR 2006 – Meso3D 

D-23 
Table D-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 

by nyp) 

Values of named 2-D variable 

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 

MAR 2006 – Meso3D 

D-24 
D.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 highresolution 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 D.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 D-4 and D-5. Due to large size of files, the AWIPS 

218 domain is processed into 54 tiles shown in Figure D-6. Characteristics of each of these AWIPS grid 

products are summarized in Table D-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). 

MAR 2006 – Meso3D 

D-25 
Figure D-4. Domain coverage for AWIPS 212 and 218 grids. 

MAR 2006 – Meso3D 

D-26 
Figure D-5. Domain coverage for AWIPS 245, 246, 247, 248, 249, and 250 grids. 

MAR 2006 – Meso3D 

D-27 
Figure D-6. Tiles for AWIPS 218 grid. 

MAR 2006 – Meso3D 

D-28 
Table D-10 

AWIPS Grid Formats Processed by CALETA. 

Model Output Grid 

Format 

(AWIPS)

Covered Area Grid Resolution Vertical Levels Run Time (UTC)

ETA/NAM 212 North America 40 km Lambert 

Conformal 

Surface, 1000-50 

hPa, every 25 hPa 

00, 06, 12, 18 

ETA/NAM 218 North America 

(54 tiles) 

12 km Lambert 

Conformal 

Surface, 1000-50 

hPa, every 25 hPa 

00, 06, 12, 18 

WRF/ETA 245 Eastern US 8 km Lambert 

Conformal 

Surface, 1000-50 

hPa, every 25 hPa 

18 

WRF/ETA 246 Western US 8 km Lambert 

Conformal 

Surface, 1000-200 

hPa in nine levels 

06 

WRF/ETA 247 Central US 8 km Lambert 

Conformal 

Surface, 1000-200 

hPa in nine levels 

12 

WRF/ETA 248 Puerto Rico 0.075o

 X 0.075o

Latitude/Longitude 

Surface, 1000-200 

hPa in nine levels 

06, 18 

WRF/ETA 249 Alaska 10 km Polar 

Stereographic 

Surface, 1000-200 

hPa in nine levels 

00 

WRF/ETA 250 Hawaii 0.075o

 X 0.075o

Latitude/Longitude 

Surface, 1000-200 

hPa in nine levels 

00, 12 

MAR 2006 – Meso3D 

D-29 
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 D-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 D-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 D-12 and described in Table D-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. 

MAR 2006 – Meso3D 

D-30 
Table D-11 

Sample Names of AWIPS GRIB Files 

AWIPS

Grid

Downloaded File Name Renamed File Name

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) 

MAR 2006 – Meso3D 

D-31 
Table D-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 

MAR 2006 – Meso3D 

D-32 
Table D-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/ 

RLATMAX 

real Southernmost and northernmost latitudes of the 

sub-domain to extract (positive in Northern 

hemisphere; in degrees) 

6 RLONMIN/ 

RLONMAX 

real Westernmost and Easternmost longitude of the 

sub-domain to extract (negative in Western 

hemisphere; in degrees) 

7 NZMIN/ 

NXMAX 

integer Lowest and highest vertical levels of the subdomain 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 

MAR 2006 – Meso3D 

D-33 
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 D-4 and D-5 for geographical coverage. Vertical levels in current AWIPS 

files are listed in Table D-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 D-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 D-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 D-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 D-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 D-17. 

3D.DAT

A sample 3D.DAT file is shown and described in section (D.5). 

MAR 2006 – Meso3D 

D-34 
Table D-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

MAR 2006 – Meso3D 

D-35 
Table D-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

MAR 2006 – Meso3D 

D-36 
Table D-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. 

MAR 2006 – Meso3D 

D-37 
Table D-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 

 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 

MAR 2006 – Meso3D 

D-38 
Table D-17 (Concluded) 

Example CALETA List File 

Output file:.\test.m3d 

 

AWIPS Grid File:awips212.dat 

Selected domain I: 98 101 

 J: 36 38 

 Number of Grids: 4 3 

Selected domain SW lat/lon: 30.266 -97.949 

Selected domain SW X/Y: -289.092 -517.491 

SWIPS domain Grids (NX/NY): 185 129 

SWIPS domain SW lat/lon: 12.190 -133.459 

SWIPS domain SW X/Y: -4230.687 -1939.716 

 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 

 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 

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

MAR 2006 – Meso3D 

D-39 
D.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 D.5). 

RUC datasets are available at 20km and 40km resolution, covering the same domain. A map of the 

domain is reproduced in Figure D-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. 

MAR 2006 – Meso3D 

D-40 
Figure D-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. 

MAR 2006 – Meso3D 

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

D-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 D-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 D-19 and described in Table D-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. 

MAR 2006 – Meso3D 

D-42 
Table D-18 

RUC File-Naming Conventions 

Web Site Hybrid Level Pressure Level

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

Ruc2.tHHz.bgrb20fhh (forecast-20km) 

Ruc2.tHHz.bgrbanl (Analysis-40km) 

Ruc2.tHHz.bgrbfhh (forecast-40km) 

Ruc2.tHHz.pgrb20anl (Analysis-20km) 

Ruc2.tHHz.pgrb20fhh (forecast-20km) 

Ruc2.tHHz.pgrbanl (Analysis-40km) 

Ruc2.tHHz.pgrbfhh (forecast-40km) 

NWS Fh.anal_tl.press_gr.bgrib20 (Analysis-20km) 

fh.hhhh_tl.press_gr.bgrib20 (Forecast-20km) 

fh.anal_tl.press_gr.bgrib (Analysis-40km) 

fh.hhhh_tl.press_gr.bgrib (Forecast-40km) 

fh.anal_tl.press_gr.us20 (Analysis-20km) 

fh.hhhh_tl.press_gr.us20 (Forecast-20km) 

fh.anal_tl.press_gr.us20 (Analysis-40km) 

fh.hhhh_tl.press_gr.us40 (Forecast-40km) 

Rename for use in CALRUC:

CALRUC sgpallruc20hybrX1.00.YYYMMDD.HH0000.raw.grb 

sgpallruc40hybrX1.00.YYYMMDD.HH0000.raw.grb 

sgpallruc20isobX1.00.YYYMMDD.HH0000.raw.grb 

sgpallruc40isobX1.00.YYYMMDD.HH0000.raw.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. 

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

MAR 2006 – Meso3D 

D-43 
Table D-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 subdomain 

14 RLATMIN/ 

RLATMAX or 

JMIN/JMAX 

real 

or 

integer 

Southernmost and northernmost latitudes of the subdomain to extract (positive in Northern hemisphere, 

in degrees) or minimum and maximum northing cell 

index 

15 RLONMIN/ 

RLONMAX or 

IMIN/IMAX 

real 

or 

integer 

Westernmost and Easternmost longitude of the subdomain to extract (negative in Western hemisphere; 

in degrees) or minimum and maximum easting cell 

index 

16 NZMIN/ 

NXMAX 

integer Lowest and highest vertical levels of the sub-domain 

to extract 

17 ZSHIFT real Shift in vertical geopotential height 

MAR 2006 – Meso3D 

D-44 
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 D-21. 

3D.DAT

A sample 3D.DAT file is shown and described in section (D.5). 

MAR 2006 – Meso3D 

D-45 
Table D-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 ...) 

MAR 2006 – Meso3D 

D-46 
Table D-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 

 

MAR 2006 – Meso3D 

D-47 
D.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 D.5). 

RAMS was developed at the Colorado State University and the *ASTeR division of Mission Research 

Corporation in the 1980’s. 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 D-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) 

 *V(I,J-1) 

Figure D-8. Arakawa-C grid used in RAMS. 

MAR 2006 – Meso3D 

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

top

terr

agl

Z

Z

Z Z

−

=

1

* D-4

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. 

MAR 2006 – Meso3D 

D-49 
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 D-22 and is described in Table D-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 D-24. 

3D.DAT

A sample 3D.DAT file is shown and described in section (D.5). 

MAR 2006 – Meso3D 

D-50 
Table D-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) 

Table D-23 

CALRAMS Control File Inputs (CALRAMS.INP) 

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

MAR 2006 – Meso3D 

D-51 
Table D-24 

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 

 

MAR 2006 – Meso3D 

D-52 
D.5 3D.DAT File Format 

The 3D.DAT file is the primary output from CALMM5, CALETA, CALRUC, and CALRAMS, and 

provides CALMET with a common mesoscale model data input format for all of the corresponding 

models (MM5, Eta, RUC, and RAMS). 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 D-25 and described in Table D-26. 

MAR 2006 – Meso3D 

D-53 
Table D-25 

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 

 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 

MAR 2006 – Meso3D 

D-54 
Table D-25 (Concluded) 

Sample Mesoscale Model 3-D Data File (3D.DAT) 

 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 

 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 

 ...... 

MAR 2006 – Meso3D 

D-55 
Table D-26 

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)

MAR 2006 – Meso3D 

D-56 
Table D-26 (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) 

MAR 2006 – Meso3D 

D-57 
Table D-26 (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 

5 IFRAD Integer MM5 atmospheric radiation scheme

0: none 

1: simple cooling 

2: cloud-radiation (Dudhia) 

3: CCM2 

4: RRTM longwave 

6 ISOIL Integer

MM5 soil model 

0: none 

1: multi-layer 

2: Noah LS model 

3: Pleim-Xiu LSM 

MAR 2006 – Meso3D 

D-58 
Table D-26 (Continued) 

Mesoscale Model 3-D Data File (3D.DAT) 

HEADER RECORDS 

Header Record #NCOMM+5 (Continued) 

(Note: Values set to zero for models other than MM5)

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)

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)

MAR 2006 – Meso3D 

D-59 
Table D-26 (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)

MAR 2006 – Meso3D 

D-60 
Table D-26 (Continued) 

Mesoscale Model 3-D Data File (3D.DAT) 

HEADER RECORDS 

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 (positive for the Eastern Hemisphere, negative for 

Western Hemisphere) 

5 IELEVDOT integer array Terrain elevation of the grid point in the extraction subdomain 

(m MSL) 

6 ILAND integer array Landuse categories at cross points 

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) 

MAR 2006 – Meso3D 

D-61 
Table D-26 (Continued) 

Mesoscale Model 3-D Data File (3D.DAT) 

DATA RECORDS (repeated for each grid cell in extraction subdomain) 

Data Record 

Variable 

No.

Variable Type Description

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 

7 

8 

9 

JX 

PRES 

RAIN 

SC 

integer 

real 

real 

integer 

J-index (Y direction) of grid cell 

sea level pressure (hPa) 

total rainfall accumulated on the ground for the past hour (cm)

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. 

MAR 2006 – Meso3D 

D-62 
Table D-26 (Concluded) 

Mesoscale Model 3-D Data File (3D.DAT) 

DATA RECORDS (repeated for each grid cell in extraction subdomain) 

NZP*Data Records 

Variable 

No.

Variable Type Description

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.

MAR 2006 – Meso3D 

D-63 
E. 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 starting 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. Output from CSUMM, or 

reformatted output from MM4, MM5, NAM(Eta), RUC or RAMS can be accepted. If this option is 

selected, the CSUMM gridded prognostic model wind fields are read from an unformatted data file called 

PROG.DAT; reformatted MM4/MM5 prognostic output may read from a formatted data file called 

MM4.DAT; or reformatted MM5, NAM(Eta), RUC and RAMS fields may be read from a generic 

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 

MAR 2006 -- CALMET

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

MAR 2006 -- CALMET

E-2
Table E-1 

CALMET Input and Output Files

Unit 

 Default 

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

or 

PACOUT.DAT 

 

output unformatted Output data file created by

CALMET containing hourly

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

(if IFORMS=1) 

 or 

formatted 

(if IFORMS=2) 

Hourly surface observations (Used 

only if IDIOPT4=0.) If 

IFORMS=1, use the unformatted 

output file of the SMERGE 

program. If IFORMS=2, use a 

free-formatted input file generated

either by SMERGE or the user. 

IO12 PRECIP.DAT input unformatted

(if IFORMP=1) 

 or 

formatted 

(if IFORMP=2) 

Hourly precipitation data (used if

NPSTA > 0). If IFORMP=1,

PRECIP.DAT is the unformatted 

output file of the PMERGE 

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)

MAR 2006 -- CALMET

E-3
Table E-1 (Concluded) 

CALMET Input and Output Files

Unit 

 Default 

File Name Type Format Description

IO30 

IO30+1 

IO30+2 

.

.

.

.

UP1.DAT 

UP2.DAT 

UP3.DAT 

 . 

 . 

 .. 

UPn.DAT 

input formatted Upper air data (READ62 output) for upper air 

station #n. (Used only if IDIOPT5=0.) 

(Up to "MAXUS" upper air stations allowed. MAXUS currently = 50).

IO80 

IO80+1 

IO80+2 

.

.

.

.

SEA1.DAT 

SEA2.DAT 

SEA3.DAT 

 . 

 . 

 . 

SEAn.DAT 

input formatted Overwater meteorological data for station #n. 

(Used only if NOWSTA > 0). 

(Up to "MXOWS" overwater stations allowed. MXOWS currently = 15). 

IO20 

IO20 

PROG.DAT 

(CSUMM)

or 

3D.DAT 

(MM4/MM5/3D)

input 

input 

unformatted 

formatted 

Gridded fields of prognostic wind data to use 

as input to the diagnostic wind field module. 

(Used only if IPROG > 0.) 

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

MAR 2006 -- CALMET

E-4
E.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., starting date, run length, 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 E-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 E-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 

descriptive text can be inserted within the control file to make it self-documenting. For example, the 

MAR 2006 -- CALMET

E-5
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 E-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. 

MAR 2006 -- CALMET

E-6
Table E-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 

Starting date and hour, run length, 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 

MAR 2006 -- CALMET

E-7
Table E-3 

Sample CALMET Control File (CALMET.INP) 

Run Title and Input Group 0 

CALMET TEST CASE - New input parameters: NM3D - M3DDAT - KBAR 

17 x 17 20 km meteorological grid - No MM4DAT anymore 

Met. stations used: 12 surface, 3 upper air, 0 precip., 3 overwater 

---------------- 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.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 and MM4-MM5-3D.DAT FILES: 

 Number of upper air stations (NUSTA) No default ! NUSTA = 3 ! 

 Number of overwater met stations 

 (NOWSTA) No default ! NOWSTA = 3 ! 

 Number of MM4/MM5/3D.DAT files 

 (NM3D) No default ! NM3D = 0 ! 

 !END! 

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

Subgroup (b) 

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

Upper air files (one per station) 

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

Default Name Type File Name 

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

UP1.DAT input 1 ! UPDAT=UP1.DAT! !END! 

UP2.DAT input 2 ! UPDAT=UP2.DAT! !END! 

UP3.DAT input 3 ! UPDAT=UP3.DAT! !END! 

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

Subgroup (c) 

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

Overwater station files (one per station) 

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

Default Name Type File Name 

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

SEA1.DAT input 1 ! SEADAT=SEA1.DAT! !END! 

SEA2.DAT input 2 ! SEADAT=SEA2.DAT! !END! 

SEA3.DAT input 3 ! SEADAT=SEA3.DAT! !END! 

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

MAR 2006 -- CALMET

E-8
Table E-3 (continued) 

Sample CALMET Control File (CALMET.INP) 

Run Title and Input Group 0 

Subgroup (d) 

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

MM4/MM5/3D.DAT files (consecutive or overlapping) 

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

Default Name Type File Name 

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

MM51.DAT input 1 * M3DDAT=MM5.DAT* *END* 

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

Subgroup (e) 

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

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

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

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

 (2) Subgroups (a) and (d) must have ONE 'END' (surround by 

 delimiters) at the end of the group 

 (3) Subgroups (b) and (c) must have an 'END' (surround by 

 delimiters) at the end of EACH LINE 

!END! 

MAR 2006 -- CALMET

E-9
Table E-3 (Continued) 

Sample CALMET Control File (CALMET.INP) 

Run Title and Input Group 1 ------------------------------------------------------------------------------- 

INPUT GROUP: 1 -- General run control parameters 

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

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

 Month (IBMO) -- No default ! IBMO= 7 ! 

 Day (IBDY) -- No default ! IBDY= 7 ! 

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

 Base time zone (IBTZ) -- No default ! IBTZ= 5 ! 

 PST = 08, MST = 07 

 CST = 06, EST = 05 

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

 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) 

 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! 

MAR 2006 -- CALMET

E-10
Table E-3 (Continued) 

Sample CALMET Control File (CALMET.INP) 

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 ! 

 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 

MAR 2006 -- CALMET

E-11
Table E-3 (Continued) 

Sample CALMET Control File (CALMET.INP) 

Input Group 2 Continued

 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 ! 

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

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

 Grid spacing (DGRIDKM) No default ! DGRIDKM = 20. ! 

 Units: km 

 Reference grid coordinate of 

 SOUTHWEST corner of grid cell (1,1) 

 X coordinate (XORIGKM) No default ! XORIGKM = 120.000 ! 

 Y coordinate (YORIGKM) No default ! YORIGKM = 4570.000 ! 

 Units: km 

 Vertical grid definition: 

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

 No. of vertical layers (NZ) No default ! NZ = 6 ! 

 Cell face heights in arbitrary 

 vertical grid (ZFACE(NZ+1)) No defaults 

 Units: m 

 ! ZFACE = 0.,20.,50.,100.,500.,2000.,3300. ! 

!END! 

MAR 2006 -- CALMET

E-12
Table E-3 (Continued) 

Sample CALMET Control File (CALMET.INP) 

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 ! 

 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 ! 

 

MAR 2006 -- CALMET

E-13
Table E-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 ! 

 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 ? 

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

 Print the FINAL DIVERGENCE fields ? 

 (IPR4) (0=no, 1=yes) Default: 0 ! IPR4 = 0 ! 

 

MAR 2006 -- CALMET

E-14
 Table E-3 (Continued) 

Sample CALMET Control File (CALMET.INP) 

Input Group 3 

 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! 

MAR 2006 -- CALMET

E-15
Table E-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 = 12 ! 

 Number of precipitation stations 

 (NPSTA=-1: flag for use of MM5 precip data) 

 (NPSTA) No default ! NPSTA = 0 ! 

 CLOUD DATA OPTIONS 

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

MAR 2006 -- CALMET

E-16
Table E-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 

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

 

MAR 2006 -- CALMET

E-17
Table E-3 (Continued) 

Sample CALMET Control File (CALMET.INP) 

Input Group 5 

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

 13 = Yes, use winds from MM5.DAT file as Step 1 field [IWFCOD = 0]

= Yes, use winds from MM4.DAT file as observations [IWFCOD = 1]

 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 = 1] 

 Timestep (hours) of the prognostic 

 model input data (ISTEPPG) Default: 1 ! ISTEPPG = 1 ! 

 

 RADIUS OF INFLUENCE PARAMETERS 

 Use varying radius of influence Default: F ! LVARY = T! 

 (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 = 500. ! 

 Units: km 

 Maximum radius of influence over water 

 (RMAX3) No default ! RMAX3 = 500. ! 

 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 = 10. ! 

 Units: km 

 Relative weighting of the first 

 guess field and observations in the 

 SURFACE layer (R1) No default ! R1 = 100. ! 

 (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 = 500. ! 

 (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 

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

 

MAR 2006 -- CALMET

E-18
Table E-3 (Continued) 

Sample CALMET Control File (CALMET.INP) 

Input Group 5 

 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 ! 

 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 ! 

 Critical Froude number (CRITFN) Default: 1.0 ! CRITFN = 1. ! 

 Empirical factor controlling the 

 influence of kinematic effects 

 (ALPHA) Default: 0.1 ! ALPHA = 0.1 ! 

 Multiplicative scaling factor for 

 extrapolation of surface observations 

 to upper layers (FEXTR2(NZ)) Default: NZ*0.0 

 ! FEXTR2 = 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 = 6 ! 

 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) 

 

MAR 2006 -- CALMET

E-19
Table E-3 (Continued) 

Sample CALMET Control File (CALMET.INP) 

Input Group 5 

 Surface met. station to use for 

 the surface temperature (ISURFT) No default ! ISURFT = 5 ! 

 (Must be a value from 1 to NSSTA) 

 (Used only if IDIOPT1 = 0) 

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

 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) 

 

MAR 2006 -- CALMET

E-20
Table E-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!

MAR 2006 -- CALMET

E-21
Table E-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) 

 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 Default: 1 ! IMIXH = 1 ! 

 mixing height (IMIHXH) 

 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 

 Threshold buoyancy flux required to 

 sustain convective mixing height growth 

 overland (THRESHL) Default: 0.05 !THRESHL = 0.05 ! 

 (expressed as a heat flux per meter of (units: W/m3) 

 boundary layer i.e. W/m3;) 

 Threshold buoyancy flux required to 

 sustain convective mixing height growth 

 overwater (THRESHW) Default: 0.05 !THRESHW = 0.05 ! 

 (expressed as a heat flux per meter of (units: W/m3) 

 marine boundary layer i.e. W/m3;) 

 Option for overwater lapse rates used !ITWPROG=1 ! 

 in convective mixing height growth (ITWPROG) 

 0 : use SEA.DAT (or default constant) lapse rates 

 1 : use prognostic lapse rates (only if IPROG>2) 

MAR 2006 -- CALMET

E-22
Table E-3 (Continued) 

Sample CALMET Control File (CALMET.INP) 

Input Group 6 

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

 (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=1! 

 1: on - 0: off (must be off if SST measured with 

 IR radiometer) Default: 1 

 COARE cool skin layer computation (ICOOL) !ICOOL=1! 

 1: on - 0: off (must be off if SST measured with 

 IR radiometer) Default: 1 

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) 

 2 = No surface or upper air observations 

 Use MM5/M3D for surface and upper air data 

 (only if NOOBS = 0,1,2) 

MAR 2006 -- CALMET

E-23
Table E-3 (Continued) 

Sample CALMET Control File (CALMET.INP) 

Input Group 6 

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

 (1=1/R,2=1/R**2,3=EXP/R**2) 

 Radius of Influence (km) (SIGMAP) Default = 100.0 ! SIGMAP = 1. ! 

 (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 = 1. ! 

 (values < CUTP = 0.0 mm/hr) 

!END!

MAR 2006 -- CALMET

E-24
Table E-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 ='ORH ' 94746 263.540 4683.190 5 10 ! 

! SS2 ='HYA ' 94720 393.190 4613.390 5 10 ! 

! SS3 ='PVD ' 14765 297.650 4622.780 5 10 ! 

! SS4 ='BOS ' 14739 332.600 4692.310 5 10 ! 

! SS5 ='CON ' 14745 296.880 4785.840 5 10 ! 

! SS6 ='LEB ' 94765 232.410 4836.240 5 10 ! 

! SS7 ='GFL ' 14750 125.790 4809.830 5 10 ! 

! SS8 ='ALB ' 14735 107.130 4744.020 5 10 ! 

! SS9 ='BDL ' 14740 194.630 4648.690 5 10 ! 

! SS10 ='BDR ' 94702 153.240 4565.320 5 10 ! 

! SS11 ='BTV ' 14742 169.880 4931.910 5 10 ! 

! SS12 ='PWM ' 14764 393.550 4833.630 5 10 ! 

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

 1 

 Four character string for station name 

 (MUST START IN COLUMN 9) 

 2 

 Five digit integer for station ID 

!END!

MAR 2006 -- CALMET

E-25
Table E-3 (Continued) 

Sample CALMET Control File (CALMET.INP) 

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 ='ALB ' 14735 108.638 4741.709 5 ! 

! US2 ='PWM ' 14764 395.124 4831.385 5 ! 

! US3 ='CHH ' 14684 420.891 4611.141 5 ! 

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

 1 

 Four character string for station name 

 (MUST START IN COLUMN 9) 

 2 

 Five digit integer for station ID 

!END!

MAR 2006 -- CALMET

E-26
Table E-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! 

MAR 2006 -- CALMET

E-27
Table E-4 

CALMET Control File Inputs 

Run Title

Variable Type Description Default 

Value

TITLE(3) char*80 array Run title (first three lines of CALMET control file). Read with

FORTRAN A80 format. 

- 

MAR 2006 -- CALMET

E-28
Table E-4 (Continued) 

CALMET Control File Inputs 

Input Group 0

Variable Type Description Default Value

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

(MESOPAC/MESOPUFF format) 

PACOUT.DAT 

NUSTA integer Number of upper air stations -

NOWSTA integer Number of overwater stations - 

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 files (repeated NM3D times) MM5n.DAT 

Subgroup (e)

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 

MAR 2006 -- CALMET

E-29
Table E-4 (Continued) 

CALMET Control File Inputs 

Input Group 1

Variable Type Description Default 

Value

IBYR integer Starting year of the run (four digits) - 

IBMO integer Starting month of the run - 

IBDY integer Starting day of the run - 

IBHR integer Starting hour (00-23) of the run - 

IBTZ integer Base time zone (05=EST, 06=CST, 07=MST,

08=PST) 

- 

IRLG integer Length of the run (hours) - 

IRTYPE integer Run type

0=compute wind fields only

1=compute wind fields and 

 micrometeorological variables 

(IRTYPE must be 1 to run CALPUFF or

CALGRID) 

1 

LCALGRD logical Store extra data fields required by special modules in

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) 

T 

ITEST integer Flag to stop run after setup phase 

(1 = stops run after SETUP, 2 = run continues)

2 

MAR 2006 -- CALMET

E-30
Table E-4 (Continued) 

CALMET Control File Inputs 

Input Group 2 - Grid Control Parameters

Variable Type Description Default 

Value

PMAP* character*8 Map projection

UTM : Universal Transverse Mercator

TTM : Tangential Transverse Mercator 

LCC : Lambert Conformal Conic 

PS : Polar Stereographic 

EM : Equatorial Mercator 

LAZA : Lambert Azimuthal Equal Area 

UTM

FEAST real False Easting (km) for PMAP = TTM, LCC, or 

LAZA

0.0 

FNORTH real False Northing (km) for PMAP = TTM, LCC, or 

LAZA

0.0 

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

- 

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 

XLAT2 

character*16 Latitudes (degrees) of the two matching parallels for

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 - 

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 

MAR 2006 -- CALMET

E-31
Table E-4 (Continued) 

CALMET Control File Inputs 

Input Group 3 - Output Options 

Variable Type Description Default 

Value

LSAVE logical Disk output control variable. If LSAVE=T, the 

gridded wind fields are stored in an output disk file

(CALMET.DAT). 

T 

IFORMO integer Unformatted output file type variable. If 

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

1 

LPRINT logical Printer output control variable. If LPRINT=T, the 

gridded wind fields are printed every "IPRINF" 

hours to the output list file (CALMET.LST). 

F 

IPRINF integer Printing interval for the output wind fields. Winds 

are printed every "IPRINF" hours. (Used only if

LPRINT=T.) 

1 

IUVOUT integer array Control variable determining which layers of 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.) 

NZ*0 

IWOUT integer array Control variable determining which layers of 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.) 

NZ*0 

ITOUT integer array Control variable determining which layers of 

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

NZ*0 

(Input Group 3 Continued)

MAR 2006 -- CALMET

E-32
Table E-4 (Continued) 

CALMET Control File Inputs 

Input Group 3 - Output Options 

Variable Type Description Default 

Value

STABILITY integer Control variable determining if gridded fields of PGT 

stability classes are printed. (0=do not print, 1=print.) 

(Used only if LPRINT=T.) 

0 

USTAR integer Control variable determining if gridded fields of

surface friction velocities are printed. (0=do not print, 

1=print.) (Used only if LPRINT=T.)

0 

MONIN integer Control variable determining if gridded fields of

Monin-Obukhov lengths are printed. (0=do not print, 

1=print.) (Used only if LPRINT=T.)

0 

MIXHT integer Control variable determining if gridded fields of

mixing heights are printed. (0=do not print, 1=print.) 

(Used only if LPRINT=T.) 

0 

WSTAR integer Control variable determining if gridded fields of

convective velocity scales are printed. (0=do not print, 

1=print.) (Used only if LPRINT=T.)

0 

PRECIP integer Control variable determining if gridded fields of hourly

precipitation rates are printed. (0=do not print, 

1=print.) (Used only if LPRINT=T.)

0 

SENSHEAT integer Control variable determining if gridded fields of

sensible heat fluxes are printed. (0=do not print, 

1=print.) (Used only if LPRINT=T.)

0 

CONVZI integer Control variable determining if gridded fields of

convective mixing heights are printed. (0=do not print, 

1=print.) (Used only if LPRINT=T.)

0 

(Input Group 3 Continued)

MAR 2006 -- CALMET

E-33
Table E-4 (Continued) 

CALMET Control File Inputs 

Input Group 3 - Output Options 

Variable Type Description Default 

Value

LDB* logical Control variable for printing of input 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). 

F 

NN1* integer First time step for which data controlled by LDB 

switch are printed. (Used only if LDB=T.) Note: IF 

NN1=NN2=0 and LDB=T, only time-independent data

will be printed.

0 

NN2* integer Last time step for which data controlled by LDB 

switch are printed. (Used only if LDB=T.) 

0 

IOUTD* integer Control variable for writing the computed wind fields

to the wind field test disk files. (0=do not write, 

1=write.) 

0 

NZPRN2* integer Number of levels, starting at the surface, printed to the

wind field testing and debug files (Units 41-45). 

1 

IPR0* integer Control variable for printing to the wind field test files 

the interpolated wind components. (0=do not print,

1=print.) 

0 

 

* Testing and debugging print options. 

(Input Group 3 Continued)

MAR 2006 -- CALMET

E-34
Table E-4 (Continued) 

CALMET Control File Inputs 

Input Group 3 - Output Options 

Variable Type Description Default 

Value

IPR1* integer Control variable for printing to the wind field test files 

the terrain adjusted surface wind components. (0=do 

not print, 1=print.) Used only with objective analysis. 

0 

IPR2* integer Control variable for printing to the wind field test files 

the smoothed wind components and initial divergence 

fields. (0=do not print, 1=print). 

0 

IPR3* integer Control variable for printing to the wind field test files 

the final wind speed and direction fields. (0=do not

print, 1=print.) 

0 

IPR4* integer Control variable for printing to the wind field test files 

the final divergence fields. (0=do not print, 1=print.) 

0 

IPR5* integer Control variable for printing to the wind field test files 

the wind fields after kinematic effects are added. 

(0=do not print, 1=print.) 

0 

IPR6* integer Control variable for printing to the wind field test files 

the wind fields after the Froude number adjustment is

made. (0=do not print, 1=print.) 

0 

IPR7* integer Control variable for printing to the wind field test files 

the wind fields after the slope flows are added. (0=do

not print, 1=print.) 

0 

IPR8* integer Control variable for printing to the wind field test files 

the final wind component fields. (0=do not print,

1=print.) 

0 

 

* Testing and debugging print options. 

MAR 2006 -- CALMET

E-35
Table E-4 (Continued) 

CALMET Control File Inputs 

Input Group 4 - Meteorological Data Options 

Variable Type Description Default 

Value

NOOBS integer No-Observation mode flag:

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 

0 

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) 

- 

ICLOUD integer Cloud data file options 

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

0 

IFORMS integer Control variable determining the format of the input 

surface meteorological data 

(1=unformatted, i.e., SMERGE output) 

(2=formatted, i.e., free-formatted user input or

formatted SMERGE output) 

2 

IFORMP integer Control variable determining the format of the input 

precipitation data 

(1=unformatted, i.e., PMERGE output) 

(2=formatted, i.e., free-formatted user input or

formatted PMERGE output)

2 

IFORMC integer Control variable determining the format of the 

CLOUD.DAT file 

(1 = unformatted - CALMET unformatted output) 

 2 = free formatted CALMET output or user input)

2 

MAR 2006 -- CALMET

E-36
Table E-4 (Continued) 

CALMET Control File Inputs 

Input Group 5 - Wind Field Options and Parameters 

Variable Type Description Default 

Value

IWFCOD integer Control variable determining which wind field module 

is used. (0=objective analysis only, 1=diagnostic wind

module.) 

1 

IFRADJ integer Control variable for computing Froude number 

adjustment effects. (0=do not compute, 1=compute.) 

(used only if IWFCOD=1). 

1 

IKINE integer Control variable for computing kinematic effects. 

(0=do not compute, 1=compute.) 

(used only if IWFCOD=1). 

0 

IOBR integer Control variable for using the O'Brien vertical velocity 

adjustment procedure. (0=do not use, 1=use.) 

0 

ISLOPE integer Control variable for computing slope flow effects. (0

= do not compute, 1 = compute). 

1 

IEXTRP integer Control variable for vertical extrapolation. If 

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. 

-4 

ICALM integer Control variable for extrapolation of calm surface 

winds to layers aloft. (0 = do not extrapolate calms, 1 =

extrapolate calms) 

0 

BIAS real array Layer-dependent biases modifying the weights 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. 

NZ*0

MAR 2006 -- CALMET

E-37
Table E-4 (Continued) 

CALMET Control File Inputs 

Input Group 5 - Wind Field Options and Parameters

Variable Type Description Default Value

IPROG integer Control variable determining if gridded 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) 

0 

ISTEPPG integer Timestep (hours) of the prognostic model input data 1 

LVARY logical Control variable for use of varying radius of 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.) 

F 

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

0.1 

RMIN2 real Distance (km) from an upper air station within which 

vertical extrapolation of surface station data will be

excluded. Used only if *IEXTRP* > 1. 

4.0 

TERRAD real Radius of influence of terrain features (km) - 

MAR 2006 -- CALMET

E-38
Table E-4 (Continued) 

CALMET Control File Inputs 

Input Group 5 - Wind Field Options and Parameters 

Variable Type Description Default Value

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 minimization 

procedure 

5.0E-6

NITER integer Maximum number of iterations for the divergence 

minimization procedure 

50 

NSMTH integer array Number of smoothing passes in each layer 

NZ values must be entered. 

2,(MXNZ-1)*4

NINTR2 integer array Maximum number of stations used in the 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. 

99 

CRITFN real Critical Froude number used in the evaluation of 

terrain blocking effects 

1.0 

ALPHA real Empirical parameter controlling the influence of 

kinematic effects 

0.1 

(Input Group 5 Continued)

MAR 2006 -- CALMET

E-39
Table E-4 (Continued) 

CALMET Control File Inputs 

Input Group 5 - Wind Field Options and Parameters 

Variable Type Description Default 

Value

FEXTR2 integer array Extrapolation values for layers 2 through NZ 

(FEXTR2(1) must be entered but is not used). Used

only if ABS(IEXTRP) $ 3. 

NZ*0.0 

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

diagnostic wind field module. (0=compute internally

from surface data, 1=read preprocessed values from the 

file DIAG.DAT.)

0 

ISURFT integer Surface station number (between 1 and NSSTA) used 

for the surface temperature for the diagnostic wind field 

module 

- 

IDIOPT2 integer Control variable for domain-averaged temperature lapse

rate. (0=compute internally from upper air data, 1=read

preprocessed values from the file DIAG.DAT.) 

0 

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 temperature 

lapse rate is computed

200. 

(Input Group 5 Continued)

MAR 2006 -- CALMET

E-40
Table E-4 (Continued) 

CALMET Control File Inputs 

Input Group 5 - Wind Field Options and Parameters 

Variable Type Description Default 

Value

IDIOPT3 integer Control variable for initial-guess wind components. 

(0=compute internally from upper air, 1=read

preprocessed values from the file DIAG.DAT.) 

0 

IUPWND integer Upper air station number used to compute the initialguess wind components for the diagnostic wind field 

module. Either specify one station from 1 to nusta or 

specify -1 indicating the use of 1/r

2

 interpolation to 

generate a spatially-variable initial guess field.

-1 

ZUPWND real array Bottom and top of layer through which the initial-guess 

winds are computed. Units: meters. (Used only if 

IDIOPT3=0.) Note: Two values must be entered (e.g.,

! ZUPWND=1.0, 2000. !).

1.0 

1000. 

IDIOPT4 integer Control variable for surface wind components. 

(0=compute internally from surface data, 1=read 

preprocessed values from the file DIAG.DAT.) 

0 

IDIOPT5 integer Control variable for upper air wind components. 

(0=compute internally from upper air data, 1=read

preprocessed values from the file DIAG.DAT.) 

0 

LLBREZE logical Control variable for lake breeze region option. 

LLBREZE=T, region interpolation is performed. 

LLBREZE=F, no region interpolation is performed. 

F 

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

(Input Group 5 Continued)

MAR 2006 -- CALMET

E-41
Table E-4 (Continued) 

CALMET Control File Inputs 

Input Group 5 - Wind Field Options and Parameters 

Variable Type Description Default 

Value

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

- 

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

- 

MAR 2006 -- CALMET

E-42
Table E-4 (Continued) 

CALMET Control File Inputs 

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 

layer above the current convective mixing height (deg.

K/m)

0.001 

DZZI real Depth of layer (m) above current convective mixing 

height in which lapse rate is computed. 

200. 

ZIMAX real Maximum overland mixing height (m) 3000. 

ZIMIN real Minimum overland mixing height (m) 50. 

ZIMAXW real Maximum overwater mixing height (m) (Not used if

observed overwater mixing heights are used) 

3000. 

ZIMINW real Minimum overwater mixing height (m) (Not used if

observed overwater mixing heights are used) 

50. 

IAVEZI integer Conduct spatial averaging of mixing heights (0=no,

1=yes) 

1 

MNMDAV integer Maximum search distance (in grid cells) in the spatial 

averaging process. The square box of cells averaged is 

2 x MNMDAV in length. 

1 

HAFANG real Half-angle of upwind-looking cone for spatial 

averaging (deg.) 

30. 

ILEVZI integer Layer of winds used in upwind averaging of mixing 

heights. (Must be between 1 and NZ.) 

1 

MAR 2006 -- CALMET

E-43
Table E-4 (Continued) 

CALMET Control File Inputs 

Input Group 6 - Mixing Height, Temperature, and Precipitation Parameters 

IMIXH integer

Method to compute the convective mixing height

 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 

1 

THRESHL real Threshold buoyancy flux required to sustain 

convective mixing height growth overland (expressed 

as a heat flux per meter of boundary layer i.e. W/m3) 

0.05 

THRESHW real Threshold buoyancy flux required to sustain 

convective mixing height growth overwater (expressed 

as a heat flux per meter of boundary layer i.e. W/m3) 

0.05 

ITWPROG integer Option for overwater lapse rates used in convective 

mixing height growth

0 : use SEA.DAT (or default constant) lapse rates 

1 : use prognostic lapse rates (only if IPROG>2) 

1 

ICOARE integer

Overwater surface fluxes method and parameters 

 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) 

10 

DSHELF real Coastal/Shallow water length scale (km) for modified 

z0 in shallow water (0 for deep-water form)

0. 

IWARM integer COARE warm layer computation (1: on - 0: off) must

be off if SST measured with IR radiometer 

1 

ICOOL integer COARE cool skin layer computation (1: on - 0: off)

must be off if SST measured with IR radiometer 

1 

MAR 2006 -- CALMET

E-44
Table E-4 (Continued) 

CALMET Control File Inputs 

Input Group 6 - Mixing Height, Temperature, and Precipitation Parameters 

Variable Type Description Default 

Value

ITPROG integer 3D temperature from observations or from prognostic

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) 

0 

IRAD integer Type of temperature interpolation 

(1 = 1/radius) 

(2 = 1/radius2

) 

1 

IAVET integer Conduct spatial averaging of temperatures (0 = no; 1 = 

yes) (Will use MNMDAV and HAFANG) 

1 

TRADKM real Radius of influence for temperature interpolation (km) 500. 

NUMTS integer Maximum number of stations to include in temperature 

interpolation

5 

TGDEFB real Default temperature lapse rate (K/m) below mixing 

height over water 

-0.0098 

TGDEFA real Default temperature lapse rate (K/m) above mixing 

height over water 

-0.0045 

JWAT1, JWAT2 integers Beginning land use category for temperature 

interpolation overwater. Range of land use categories 

associated with major water bodies. Used for 

overwater temperature interpolation 

999, 

999 

NFLAGP integer Method of precipitation interpolation

(1 = 1/radius interpolation) 

(2 = 1/radius2

 interpolation)

(3 = 1/radius2

 * exponential function) 

Method 3 is based on a Thiessen method for noncontinuous fields where the exponential function = 

exponent [-radius2

/SIGMAP2] and SIGMAP is defined

below 

2 

SIGMAP real If NFLAGP=1 or 2, SIGMAP is the radius of influence

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.

100.0 

CUTP real Cutoff precipitation rate (mm/hr); 

values < CUTP are set to 0.0 mm/hr 

0.01 

MAR 2006 -- CALMET

E-45
Table E-4 (Continued) 

CALMET Control File Inputs 

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

MAR 2006 -- CALMET

E-46
Table E-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). 

MAR 2006 -- CALMET

E-47
Table E-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). 

MAR 2006 -- CALMET

E-48
E.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 E-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 E-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 E-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 

range is specified to allow inclusion of multiple categories, for example "bay" and "ocean," in the 

MAR 2006 -- CALMET

E-49
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 E-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 E-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 E-8. 

MAR 2006 -- CALMET

E-50
Table E-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 

MAR 2006 -- CALMET

E-51
Table E-6 

Default CALMET Land Use Categories and Associated Geophysical Parameters

Based on the U.S. Geological Survey Land Use Classification System 

(14-Category System) 

Land Use Type Description

Surface 

Roughness (m) Albedo Bowen Ratio

Soil Heat 

Flux Parameter

Anthropog

Heat Flux (W

10 Urban or Built-up Land 1.0 0.18 1.5 .25 0.0 

20 Agricultural Land - Unirrigated 0.25 0.15 1.0 .15 0.0 

-20* Agricultural Land - Irrigated 0.25 0.15 0.5 .15 0.0 

30 Rangeland 0.05 0.25 1.0 .15 0.0 40 Forest Land 1.0 0.10 1.0 .15 0.0 51 Small Water Body 0.001 0.10 0.0 1.0 0.0 54 Bays and Estuaries 0.001 0.01 0.0 1.0 0.0 55 Large Water Body 0.001 0.10 0.0 1.0 0.0 60 Wetland 1.0 0.10 0.5 .25 0.0 61 Forested Wetland 1.0 0.1 0.5 0.25 0.0 62 Nonforested Wetland 0.2 0.1 0.1 0.25 0.0 70 Barren Land 0.05 0.30 1.0 .15 0.0 80 Tundra .20 0.30 0.5 .15 0.0 90 Perennial Snow or Ice .05 0.70 0.5 .15 0.0 

* Negative values indicate "irrigated" land use 

MAR 2006 -- CALMET

E-52
Table E-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 

12 

13 

14 

15 

16 

17 

Residential 

Commercial and Services 

Industrial 

Transportation, Communications and Utilities 

Industrial and Commercial Complexes 

Mixed Urban or Built-up Land 

Other Urban or Built-up Land 

20 Agricultural Land — 

Unirrigated 

21 

22 

23 

24 

Cropland and Pasture 

Orchards, Groves, Vineyards, Nurseries, and 

 Ornamental Horticultural Areas 

Confined Feeding Operations 

Other Agricultural Land

!20 Agricultural Land — 

Irrigated

!21 

!22 

!23 

!24 

Cropland and Pasture 

Orchards, Groves, Vineyards, Nurseries, and 

 Ornamental Horticultural Areas 

Confined Feeding Operations 

Other Agricultural Land

30 Rangeland 31

32 

33 

Herbaceous Rangeland 

Shrub and Brush Rangeland 

Mixed Rangeland 

40 Forest Land 41

42 

43 

Deciduous Forest Land 

Evergreen Forest Land 

Mixed Forest Land 

50 Water 51

52 

53 

54 

55 

Streams and Canals 

Lakes 

Reservoirs

Bays and Estuaries

Oceans and Seas 

60 Wetland 61

62 

Forested Wetland 

Nonforested Wetland 

70 Barren Land 71

72 

73 

74 

75 

76 

77 

Dry Salt Flats 

Beaches 

Sandy Areas Other than Beaches 

Bare Exposed Rock 

Strip Mines, Quarries, and Gravel Pits

Transitional Areas

Mixed Barren Land

80 Tundra 81

82 

83 

84 

85 

Shrub and Brush Tundra 

Herbaceous Tundra 

Bare Ground 

Wet Tundra 

Mixed Tundra 

90 Perennial Snow or Ice 91 

92 

Perennial Snowfields 

Glaciers 

 Note: Negative values indicate irrigated land use. 

*Values used for JWAT (Input Group 6) or IWAT (GEO.DAT Input File) 

MAR 2006 -- CALMET

E-53
Table E-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

NCOMM

+3 

PMAP * character*8 Map projection

UTM : Universal Transverse Mercator

TTM : Tangential Transverse Mercator 

LCC : Lambert Conformal Conic 

PS : Polar Stereographic 

EM : Equatorial Mercator 

LAZA : Lambert Azimuthal Equal Area 

NCOMM

+4 

IUTMZN,

UTMHEM

integer, 

character*1 

UTM zone, Hemisphere (N or S) read as format (i4,a1) 

ONLY for PMAP = UTM

NCOMM

+4 

RLAT0,

RLON0,

XLAT1,

XLAT2 

character*16 Latitude, Longitude of map projection origin, and one or

two Matching Latitude Parallels. (Degrees with either N, 

S, E, or W, e.g., 45.6N). 

ONLY for PMAP = LCC, LAZA, TTM, PS, or EM 

NCOMM

+5 

FEAST, 

FNORTH 

real False Easting and Northing (km). 

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 

(GEO.DAT File Format Continued) 

MAR 2006 -- CALMET

E-54
Table E-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

+9 or 10**

IWAT1,

IWAT2

integer Range of land use categories associated with water (i.e., 

land use categories IWAT1 to IWAT2, inclusive, are

assumed to represent water surfaces) 

NCOMM

+10 or 11**

ILUCAT integer array Array of "NLU" new user specified land use 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**

NLU lines 

{ ILU 

ZOLU

integer 

real array 

Land use type and associated surface roughness lengths

(m). Two variables per line read as: 

do 120 I=1,NLU

120 READ(iogeo,*)ILU,ZOLU(I)

NEXT***

NY lines 

ZO real array Surface roughness length (m) at each grid point (NX 

values 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 

MAR 2006 -- CALMET

E-55
Table E-8 (Continued) 

GEO.DAT File Format 

Record Variable Type Description

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

NLU lines 

{ ILU 

ALBLU 

integer 

real array 

Land use type and associated albedo. Two variables per line 

read as: 

do 120 I=1,NLU

120 READ(iogeo,*)ILU,ALBLU(I) 

NEXT***

NY lines 

ALBEDO real array Albedo at each grid point (NX values per line). The 

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 

MAR 2006 -- CALMET

E-56
Table E-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**

NLU lines {

ILU 

BOWLU 

integer 

real array 

Land use type and associated Bowen ratio. Two 

variables per line read as:

do 120 I=1,NLU

120 READ(iogeo,*)ILU,BOWLU(I) 

NEXT***

NY lines 

BOWEN real array Bowen ratio at each grid point (NX values per line). 

The 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 

MAR 2006 -- CALMET

E-57
Table E-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**

NLU lines {

ILU 

HCGLU 

integer 

real array 

Land use type and associated soil heat flux constant. 

Two variables per line read as: 

do 120 I=1,NLU

120 READ(iogeo,*)ILU,HCGLU(I) 

NEXT***

NY lines 

HCG real array Soil heat flux constant at each grid point (NX values 

per 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 

MAR 2006 -- CALMET

E-58
Table E-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**

NLU lines 

{ ILU 

QFLU

integer 

real array 

Land use type and associated anthropogenic heat 

flux (W/m2

). Two variables per line read as: 

do 120 I=1,NLU

120 READ(iogeo,*)ILU,QFLU(I) 

NEXT***

NY lines 

QF real array Anthropogenic heat flux (W/m2) at each grid

point (NX 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 

MAR 2006 -- CALMET

E-59
Table E-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**

NLU lines {

ILU 

XLAILU

integer 

real array 

Land use type and associated leaf area index values. 

Two variables per line read as: 

do 120 I=1,NLU

120 READ(iogeo,*)ILU,XLAILU(I) 

NEXT***

NY lines 

XLAI real array Leaf area index value at each grid point (NX values

per 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 

MAR 2006 -- CALMET

E-60
E.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 E-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 contains the starting 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 E-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. 

MAR 2006 -- CALMET

E-61
Table E-9 

Sample READ62 Output Data File 

(UPn.DAT) 

(a) UP.DAT - Slash-delimited format 

UP.DAT 2.0 Header structure with coordinate parameters 

 1 

Produced by READ62 Version: 5.53 Level: 040109 

NONE 

 1990 1 0 1990 15 12 500. 2 1 

 F F F F 

 6201 14684 1990 1 1 0 54 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/490

 6201 14684 1990 1 112 38 19 

5./262.2/241/ 36 500.0/5630./257.9/240/ 38

 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) 

 6201 14684 1990 11512 66 34 

 1029.0/ 16./273.1/150/ 4 1025.0/ 46./273.1/154/ 4 1000.0/ 243./271.4/170/ 6 992.0/ 304./999.9/175/ 7 

 956.0/ 601./269.3/200/ 8 955.0/ 609./999.9/200/ 8 950.0/ 651./269.0/202/ 8 919.0/ 914./999.9/225/ 8 

 900.0/1075./266.1/243/ 9 890.0/1162./267.5/251/ 10 884.0/1219./999.9/255/ 10 883.0/1224./268.4/254/ 10 

 850.0/1523./267.4/254/ 13 824.0/1766./267.0/246/ 14 818.0/1827./999.9/245/ 14 804.0/1959./268.3/239/ 14 

 800.0/1997./268.0/238/ 15 786.0/2132./999.9/235/ 15 776.0/2236./265.8/232/ 16 756.0/2437./999.9/230/ 18 

 750.0/2502./264.0/230/ 18 727.0/2742./999.9/230/ 18 700.0/3031./260.2/233/ 18 691.0/3130./261.1/236/ 19 

 685.0/3197./263.6/237/ 19 674.0/3323./263.9/240/ 20 650.0/3603./262.0/247/ 20 645.0/3657./999.9/250/ 20 

 600.0/4213./257.8/256/ 19 596.0/4267./999.9/255/ 19 550.0/4864./253.2/255/ 20 549.0/4875./999.9/255/ 21 

 527.0/5180./999.9/255/ 22 500.0/5564./248.1/258/ 23 

(b) UP.DAT - Comma-delimited format 

UP.DAT 2.0 Header structure with coordinate parameters 

 1 

Produced by READ62 Version: 5.53 Level: 040109 

NONE 

 1990 1 0 1990 15 12 500. 2 2 

 F F F F 

 6201 14684 1990 1 1 0 54 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

 6201 14684 1990 1 112 38 19 

.0,4905.,262.2,241, 36.0, 500.0,5630.,257.9,240, 38.0

 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) 

 6201 14684 1990 11512 66 34 

 1029.0, 16.,273.1,150, 4.0, 1025.0, 46.,273.1,154, 4.0, 1000.0, 243.,271.4,170, 6.0, 992.0, 304.,999.9,175, 7.2, 

 956.0, 601.,269.3,200, 8.0, 955.0, 609.,999.9,200, 8.2, 950.0, 651.,269.0,202, 8.0, 919.0, 914.,999.9,225, 8.7, 

 900.0,1075.,266.1,243, 9.0, 890.0,1162.,267.5,251, 10.0, 884.0,1219.,999.9,255, 10.2, 883.0,1224.,268.4,254, 10.0, 

 850.0,1523.,267.4,254, 13.0, 824.0,1766.,267.0,246, 14.0, 818.0,1827.,999.9,245, 14.4, 804.0,1959.,268.3,239, 14.0, 

 800.0,1997.,268.0,238, 15.0, 786.0,2132.,999.9,235, 15.9, 776.0,2236.,265.8,232, 16.0, 756.0,2437.,999.9,230, 18.0, 

 750.0,2502.,264.0,230, 18.0, 727.0,2742.,999.9,230, 18.0, 700.0,3031.,260.2,233, 18.0, 691.0,3130.,261.1,236, 19.0, 

 685.0,3197.,263.6,237, 19.0, 674.0,3323.,263.9,240, 20.0, 650.0,3603.,262.0,247, 20.0, 645.0,3657.,999.9,250, 20.5, 

 600.0,4213.,257.8,256, 19.0, 596.0,4267.,999.9,255, 19.0, 550.0,4864.,253.2,255, 20.0, 549.0,4875.,999.9,255, 21.1, 

 527.0,5180.,999.9,255, 22.6, 500.0,5564.,248.1,258, 23.0 

MAR 2006 -- CALMET

E-62
Table E-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

2-6 I5 IBYR Starting year of data in the file (YYYY) 

7-11 I5 IBDAY Starting Julian day of data in the file 

12-16 I5 IBHR Starting hour (UTC) of data in the file 

17-21 I5 IEYR Ending year of data in the file (YYYY)

22-26 I5 IEDAY Ending Julian day of data in the file

27-31 I5 IEHR Ending hour (UTC) of data in the file

32-36 

37-41 

42-46 

F5.0

I5 

I5 

PSTOP 

JDAT 

IFMT

Top pressure level (mb) of data in the file

(possible values are 850 mb, 700 mb, or 500

mb) 

Original data file type (1 = TD-6201 format

2=NCDC CD-ROM format) 

Delimiter used in the UP.DAT file 

(1 = slash (/) delimiter, 2= comma (,) 

delimiter) 

(READ62 Output File Format Continued) 

MAR 2006 -- CALMET

E-63
Table E-10 (Continued) 

READ62 Output File Format 

(Upn.DAT) 

FILE HEADER RECORD # NCOMM+5

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) 

DATA RECORDS 

For each 00 or 12 UTC 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)

13-17 A5 STNID Station ID number

21-24 I4 YEAR Year of data

25-26 I2 MONTH Month of data

27-28 I2 DAY Day of data

29-30 I2 HOUR Hour of data (UTC) 

36-37 I2 MLEV Total number of levels in the original 

sounding

69-70 I2 ISTOP Number of levels extracted from the original

sounding and stored below 

*

 Record format is (3x,i4,5x,a5,3x,i4,3i2,5x,i2,t69,i2)

(READ62 Output File Format Continued) 

MAR 2006 -- CALMET

E-64
Table E-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 

11-15 

17-21 

23-25 

27-29 

F6.1

F5.0

F5.1

I3 

I3 

PRES 

HEIGHT 

TEMP 

WD 

WS 

Pressure (mb) 

Height above sea level (m) 

Temperature (deg. K) 

Wind direction (degrees) 

Wind speed (m/s) 

33-38 

40-44 

46-50 

52-54 

56-58 

F6.1

F5.0

F5.1

I3 

I3 

PRES 

HEIGHT 

TEMP 

WD 

WS 

Pressure (mb) 

Height above sea level (m) 

Temperature (deg. K) 

Wind direction (degrees) 

Wind speed (m/s) 

62-67 

69-73 

75-79 

81-83 

85-87 

F6.1

F5.0

F5.1

I3 

I3 

PRES 

HEIGHT 

TEMP 

WD 

WS 

Pressure (mb) 

Height above sea level (m) 

Temperature (deg. K) 

Wind direction (degrees) 

Wind speed (m/s) 

91-96 

98-102

104-108

110-112

114-116

F6.1

F5.0

F5.1

I3 

I3 

PRES 

HEIGHT 

TEMP 

WD 

WS 

Pressure (mb) 

Height above sea level (m) 

Temperature (deg. K) 

Wind direction (degrees) 

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.

MAR 2006 -- CALMET

E-65
E.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 E-11. A description of each variable in the 

formatted surface data file is contained in Table E-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 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 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. 

MAR 2006 -- CALMET

E-66
Table E-11 

Sample SURF.DAT Output Data File 

(SURF.DAT)

SURF.DAT 2.0 Header structure with coordinate parameters 

 1 

Produced by SMERGE Version: 5.55 Level: 050311 

NONE 

 1993 7 0 1993 7 5 7 4 

 14606 

 14611 

 14745 

 14742 

1993 7 0 

 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 

 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 

 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 

 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 

 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 

 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 

MAR 2006 -- CALMET

E-67
Table E-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

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 hour (00-23 LST) 

4 IEYR integer Ending year

5 IEJUL integer Ending Julian day

6 IEHR integer Ending hour (00-23 LST) 

7 IBTZ integer Time zone (e.g., 05=EST, 06=CST, 07=MST, 08=PST) 

8 NSTA integer Number of stations

*

 Variables are read in FORTRAN free-format 

Next NSTA HEADER RECORDS 

Columns Fornat Variable Description

1-8 I8 IDSTA Surface station ID number 

MAR 2006 -- CALMET

E-68
Table E-12 (Continued) 

Formatted SURF.DAT File - Data Records*

Variable 

No.

Variable Type Description

1 IYR integer Year of data

2 IJUL integer Julian day

3 IHR integer Hour (00-23 LST) 

4 WS real array Wind speed (m/s) 

5 WD real array Wind direction (degrees) 

6 ICEIL integer array Ceiling height (hundreds of feet) 

7 ICC integer array Opaque sky cover (tenths) 

8 TEMPK real array Air temperature (degrees K) 

9 IRH integer array Relative humidity (percent) 

10 PRES real array Station pressure (mb) 

11 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,*)IYR,IJUL,IHR,(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)

MAR 2006 -- CALMET

E-69
E.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 E-13 contains a sample overwater input file, which contains hourly overwater data. A description 

of each input variable and format is provided in Table E-14. 

MAR 2006 -- CALMET

E-70
Table E-13 

Sample Overwater Data File (SEA1.DAT) 

SEA.DAT 2.1 Header structure with coordinate parameters  2 Produced by BUOY Version: 1.1 Level: 050826  Data values taken from NODC Data Format 291 UTM  15N NAS-C 02-21-2003 KM  42002 42002  357.21 2783.99 10.0 2004 1 0 2004 1 0 -214.3 296.9 82.3 9999.0 9999.0 9999.0 6.6 115.0 6.3 1 357.21 2783.99 10.0 2004 1 1 2004 1 1 -214.3 296.9 81.8 9999.0 9999.0 9999.0 6.1 109.0 6.7 1 357.21 2783.99 10.0 2004 1 2 2004 1 2 -214.4 296.8 83.8 9999.0 9999.0 9999.0 6.0 101.0 5.6 1 357.21 2783.99 10.0 2004 1 3 2004 1 3 -214.4 296.8 81.8 9999.0 9999.0 9999.0 7.3 101.0 4.8 1 357.21 2783.99 10.0 2004 1 4 2004 1 4 -214.4 296.8 80.3 9999.0 9999.0 9999.0 6.9 104.0 5.9 1 357.21 2783.99 10.0 2004 1 5 2004 1 5 -214.4 296.8 76.8 9999.0 9999.0 9999.0 5.8 111.0 4.5 1 357.21 2783.99 10.0 2004 1 6 2004 1 6 -214.3 296.9 76.4 9999.0 9999.0 9999.0 7.5 107.0 5.9 1 357.21 2783.99 10.0 2004 1 7 2004 1 7 -213.3 296.9 73.6 9999.0 9999.0 9999.0 7.6 115.0 7.1 1 357.21 2783.99 10.0 2004 1 8 2004 1 8 -213.0 297.1 75.0 9999.0 9999.0 9999.0 6.9 121.0 5.6 1 357.21 2783.99 10.0 2004 1 9 2004 1 9 -213.8 297.4 75.5 9999.0 9999.0 9999.0 8.1 124.0 5.0 1 357.21 2783.99 10.0 2004 1 10 2004 1 10 -213.9 297.2 79.3 9999.0 9999.0 9999.0 7.7 123.0 5.6 1 357.21 2783.99 10.0 2004 1 11 2004 1 11 -213.8 297.4 80.3 9999.0 9999.0 9999.0 7.7 127.0 5.0 1 357.21 2783.99 10.0 2004 1 12 2004 1 12 -215.1 297.0 84.9 9999.0 9999.0 9999.0 7.0 120.0 5.6 1 357.21 2783.99 10.0 2004 1 13 2004 1 13 -215.0 297.1 84.9 9999.0 9999.0 9999.0 7.0 123.0 5.6 1 357.21 2783.99 10.0 2004 1 14 2004 1 14 -216.1 297.0 86.5 9999.0 9999.0 9999.0 8.0 127.0 5.6 1 357.21 2783.99 10.0 2004 1 15 2004 1 15 -216.4 296.8 85.9 9999.0 9999.0 9999.0 9.4 126.0 5.0 1 357.21 2783.99 10.0 2004 1 16 2004 1 16 -215.1 297.0 87.5 9999.0 9999.0 9999.0 8.1 120.0 5.6 1 357.21 2783.99 10.0 2004 1 17 2004 1 17 -215.2 296.9 89.1 9999.0 9999.0 9999.0 7.8 120.0 5.6 1 357.21 2783.99 10.0 2004 1 18 2004 1 18 -215.3 296.9 88.0 9999.0 9999.0 9999.0 7.8 122.0 5.6 1 357.21 2783.99 10.0 2004 1 19 2004 1 19 -215.3 296.9 88.0 9999.0 9999.0 9999.0 7.0 122.0 6.3 1 357.21 2783.99 10.0 2004 1 20 2004 1 20 -214.3 296.9 88.6 9999.0 9999.0 9999.0 7.1 116.0 5.9 1 357.21 2783.99 10.0 2004 1 21 2004 1 21 -214.3 296.9 88.0 9999.0 9999.0 9999.0 6.7 118.0 5.9 1 357.21 2783.99 10.0 2004 1 22 2004 1 22 -214.3 296.9 88.6 9999.0 9999.0 9999.0 7.1 119.0 6.3 1 357.21 2783.99 10.0 2004 1 23 2004 1 23 -214.3 296.9 87.0 9999.0 9999.0 9999.0 7.0 122.0 5.9 1MAR 2006 -- CALMET

E-71
Table E-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

1 DATAMOD character*64 Dataset message field

2 NCOMM integer Number of comment records to follow 

NEXT

NCOMM

Lines 

TITLE character *80 Title of file (up to 80 characters) and any other 

documentation for QA

NCOMM

+3 

PMAP * character*8 Map projection

UTM : Universal Transverse Mercator

TTM : Tangential Transverse Mercator 

LCC : Lambert Conformal Conic 

PS : Polar Stereographic 

EM : Equatorial Mercator 

LAZA : Lambert Azimuthal Equal Area 

NCOMM

+4 

IUTMZN,

UTMHEM

integer, 

character*1 

UTM zone, Hemisphere (N or S) read as format (i4,a1) 

ONLY for PMAP = UTM

NCOMM

+4 

RLAT0,

RLON0,

XLAT1,

XLAT2 

character*16 Latitude, Longitude of map projection origin, and one or

two Matching Latitude Parallels. (Degrees with either N, 

S, E, or W, e.g., 45.6N). 

ONLY for PMAP = LCC, LAZA, TTM, PS, or EM 

NCOMM

+5 

FEAST, 

FNORTH 

real False Easting and Northing (km). 

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 

MAR 2006 -- CALMET

E-72
Table E-14 (Concluded) 

Overwater Data File Format (SEA1.DAT) 

DATA RECORDS 

Variable

No. *

Variable Type Description Default 

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 Starting year of the data in this record - 

6 I1JUL integer Starting Julian day of the data in this record - 

7 I1HR integer Starting 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

overwater (K/m) 

-0.0098 

16 TGRADA real Temperature lapse rate above the mixing height

overwater (K/m) 

-0.0045 

17 WSOW real Wind speed (m/s) - 

18 WDOW real Wind direction (degrees) -

18 TWAVE real Dominant Wave Period -

18 HWAVE real Significant Wave Height - 

*

 Variables are read in FORTRAN free-format 

 Missing value indicators are 9999. (real variables) 

MAR 2006 -- CALMET

E-73
E.6 Precipitation Data File (PRECIP.DAT) 

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 E-15. A description of each variable in the 

formatted surface data file is contained in Table E-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 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. 

MAR 2006 -- CALMET

E-74
Table E-15 

Sample Precipitation Data File (PRECIP.DAT) 

PRECIP.DAT 2.0 Header structure with coordinate parameters 1 

Produced by PMERGE Version: 5.31 Level: 030528

NONE 

1990 1 1 1990 2 6 5 16

 170273 

 176905 

 177325 

 178641 

 270741 

 270998 

 272842 

 273182 

 274732 

 274808 

 275639 

 275780 

 276234 

 276818 

 278885 

 437054 

 1990 1 1 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 2 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 3 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 4 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 5 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 6 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 7 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 8 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 9 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 10 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 11 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 12 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 

1990 1 13 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000

 2.032 0.000 0.000 0.000 0.000 0.000 

1990 1 14 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000

 1.524 0.000 0.000 2.540 0.000 0.000 

1990 1 15 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000

 0.762 0.000 0.000 0.000 0.000 0.000 

1990 1 16 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 

 1990 1 17 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 

1990 1 18 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 

1990 1 19 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 

1990 1 20 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 2.540 0.000 0.000 

1990 1 21 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 

1990 1 22 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 

1990 1 23 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 

1990 2 0 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 

1990 2 1 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 

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

1990 2 3 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 

1990 2 4 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 

1990 2 5 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 

1990 2 6 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 

MAR 2006 -- CALMET

E-75
Table E-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

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 hour (00-23 LST) 

4 IEYR integer Ending year

5 IEJUL integer Ending Julian day

6 IEHR integer Ending hour (00-23 LST) 

7 IBTZ integer Time zone (e.g., 05=EST, 06=CST, 07=MST, 08=PST) 

8 NSTA integer Number of stations

*

 Variables are read in FORTRAN free-format 

Next NSTA HEADER RECORDS 

Columns Fornat Variable Description

1-8 I8 IDSTA Surface station ID number 

MAR 2006 -- CALMET

E-76
Table E-16 (Concluded) 

Formatted Precipitation Data File Format (PRECIP.DAT) 

DATA RECORDS 

(Repeated for each hour of data) 

Variable * Type Description

IYR integer Year of data

IJUL integer Julian day of data 

IHR integer Hour (0-23 LST) 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,*)iyr,ijul,ihr,(XPREC(n), 

n=1,NSTA)

*

 Variables are read in FORTRAN free-format

 Missing value indicator is 9999.

MAR 2006 -- CALMET

E-77
E.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 E-17. A description of each 

variable in the file and its input format is contained in Table E-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'. 

MAR 2006 -- CALMET

E-78
Table E-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 

MAR 2006 -- CALMET

E-79
Table E-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) 

(DIAG.DAT Input File Continued)

Input format: (15X,A4,1X,3F5.1) 

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

MAR 2006 -- CALMET

E-80
Table E-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

MAR 2006 -- CALMET

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

MAR 2006 -- CALMET

E-82
Table E-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

array

Grid point heights (m) in prognostic model

grid (NZP values) 

Next 

NZP*NYP 

Records 

1 UP real

array

Prognostic model U components (cm/s) of

wind. The following statements are used to 

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 

NZP*NYP 

Records 

1 VP real

array

Prognostic model V components (cm/s) of

wind. The following statements are used to 

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)

MAR 2006 -- CALMET

E-83
E.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

weather forecasting model such as NAM(Eta), RUC, or RAMS. 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 3D.DAT (formerly MM5.DAT). Within CALMET these fields are interpolated from the 

prognostic model grid system to the CALMET grid. Note that the 3D.DAT file contains fields that are 

not provided by MM4, so the 3D.DAT file is preferred when it is available. Processors CALMM5, 

CALETA, CALRUC, and CALRAMS are available to extract model fields and create the 3D.DAT file. 

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 E-20, and a description of each record is presented in 

Table E-21. 

The 3D.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 3D.DAT file. Data records for 

MAR 2006 -- CALMET

E-84
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. 

A sample 3D.DAT file is presented in Table E-22, and a description of each record is presented in Table 

E-23. Please note that the MM5.DAT file is similar to the 3D.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. 

MAR 2006 -- CALMET

E-85
Table E-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) 

MAR 2006 -- CALMET

E-86
Table E-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 

MAR 2006 -- CALMET

E-87
Table E-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 (UTC) 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) 

MAR 2006 -- CALMET

E-88
Table E-21 (Continued) 

MM4/MM5 Derived Gridded Wind Data File Format (MM4.DAT) 

HEADER RECORDS 

Header Record #3

Variable No. Variable Type Description

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) 

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) 

MAR 2006 -- CALMET

E-89
Table E-21 (Continued) 

MM4/MM5 Derived Gridded Wind Data File Format (MM4.DAT) 

HEADER RECORDS 

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) 

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

MAR 2006 -- CALMET

E-90
Table E-21 (Concluded) 

MM4/MM5 Derived Gridded Wind Data File Format (MM4.DAT) 

DATA RECORDS (repeated for each grid cell in extraction subdomain) 

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.

 ** TTT = °C*10, odd number = negative temperature 

 even number = positive temperature 

 Examples: TTT = 202 → 20.2°C

 TTT = 203 → -20.3°C

 DD < 56 → °C*10 

 DD ≥ 56 → °C+50 

 Examples: DD = 55 → 5.5°C

 DD = 56 → 6.0°C

MAR 2006 -- CALMET

E-91
Table E-22 

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 

 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

MAR 2006 -- CALMET

E-92
Table E-22 (Concluded) 

Sample Mesoscale Model 3-D Data File (3D.DAT)

 29 14 8.0292 36.4563 1995 10 8.2005 36.6114 1856 

 651 3760 277.3 118 8.6 0.04100 7.96 0.433 0.028 0.000 0.000 

 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 

 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 

 ...... 

MAR 2006 -- CALMET

E-93
Table E-23 

Mesoscale Model 3-D Data File (3D.DAT) 

HEADER RECORDS 

Header Record #1 

Variable No. Variable Type Description

1 DATASET Char*16 

Integer Number of comment records

1 Comments (repeated NCOMM times) 

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

COMMENT Char*132

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)

MAR 2006 -- CALMET

E-94
Table E-23 (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 

NY 

11 

 

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 integer Number of grids in Y-direction (South-North) in original 

domain 

NZ integer Number of sigma layers in original domain

Format(a4,f9.4,f10.4,2f7.2,2f10.3,f8.3,2i4,i3) 

MAR 2006 -- CALMET

E-95
Table E-23 (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) 

MM5 atmospheric radiation scheme

6 MM5 soil model 

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 

5 IFRAD Integer 

0: none 

1: simple cooling 

2: cloud-radiation (Dudhia) 

3: CCM2 

4: RRTM longwave 

ISOIL Integer 0: none 

1: multi-layer 

2: Noah LS model

3: Pleim-Xiu LSM 

MAR 2006 -- CALMET

E-96
Table E-23 (Continued) 

Mesoscale Model 3-D Data File (3D.DAT) 

Integer 

HEADER RECORDS 

Header Record #NCOMM+5 (Continued) 

(Note: Values set to zero for models other than MM5)

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

Header Record #NCOMM+6 

Variable No. Variable Type Description

1

integer 

NHRSMM5

NXP 

Number of layers in the MM5 domain (half sigma 

levels) (same as number of vertical levels in data 

records) 

IBYRM integer Beginning year of the data in the file 

2 IBMOM 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 integer Length of period (hours) of the data in the file

6 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 

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

MAR 2006 -- CALMET

E-97
Table E-23 (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

NX2 

NZ2 

real

2 NY1 integer J-index (Y direction) of the lower left corner of the extraction

subdomain

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

MAR 2006 -- CALMET

E-98
Table E-23 (Continued) 

Mesoscale Model 3-D Data File (3D.DAT) 

HEADER RECORDS 

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 

5 

6 

8 

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) 

IELEVDOT integer array Terrain elevation of the grid point in the extraction

subdomain (m MSL)

ILAND integer array Landuse categories at cross points

7 XLATCRS real array Same as XLATDOT but at cross point 

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) 

MAR 2006 -- CALMET

E-99
Table E-23 (Continued) 

Mesoscale Model 3-D Data File (3D.DAT) 

DATA RECORDS (repeated for each grid cell in extraction subdomain) 

Data Record 

Variable

No.

Variable Type Description

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 

7 

9 

total rainfall accumulated on the ground for the past hour 

(cm)

Air temperature at 2 m (K), zero or blank if not exist 

8 

JX 

PRES 

RAIN 

SC 

integer 

real 

real 

integer 

J-index (Y direction) of grid cell

sea level pressure (hPa) 

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 

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. 

MAR 2006 -- CALMET

E-100
Table E-23 (Concluded) 

Mesoscale Model 3-D Data File (3D.DAT) 

DATA RECORDS (repeated for each grid cell in extraction subdomain) 

NZP*Data Records 

Variable 

No.

Variable Type Description

1 PRES integer Pressure (in millibars) 

2 Z integer Elevation (meters above m.s.l.) 

Temperature (

o

 K) 

4 WD 

3 TEMPK integer

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. 

MAR 2006 -- CALMET

E-101
E.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 E-24 contains a sample WT.DAT file for a 25 H 23 18-km CALMET grid. A detailed description 

of the contents of the WT.DAT file are contained in Table E-25. The first three lines consist of 

descriptive information on the development of the weighting factor. Records 4 and 5 describe the finescale (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. 

MAR 2006 -- CALMET

E-102
Table E-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 

MAR 2006 -- CALMET

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

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

 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 

E-103
Table E-24 (Continued) 

Sample Terrain Weighting Factor Data File (WT.DAT) 

 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 

 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 

 

MAR 2006 -- CALMET

E-104
Table E-24 (Concluded) 

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 

 : : 

 : : 

 : : 

 : : 

 : : 

 : : 

 : : 

 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 

MAR 2006 -- CALMET

E-105
Table E-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 

real Horizontal grid spacing (km) of fine grid

 format (15x,2f8.1,2i5,f8.3) 

integer Number of columns in the fine grid domain

4 NYFIN integer Number of rows in the fine grid domain 

5 DFIN

MAR 2006 -- CALMET

E-106
Table E-25 (Continued) 

Terrain Weighting Factor Data File Format (WT.DAT) 

HEADER RECORDS 

Variable No.

Header Record #5

Variable Type Description

1 

3 

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

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

MAR 2006 -- CALMET

E-107
Table E-25 (Concluded) 

Terrain Weighting Factor Data File Format (WT.DAT) 

DATA RECORDS (repeated for NZ layers)

Record Variable 

No.

Variable Type Description

1 1 

2* 

Terrain weighting factors. The following statements are 

used to read the WO array:

HT real Grid point height (m) of CALMET layers format

(12x,f12.4/)

- - - Line of text containing i indices 

Next NY

records 

1 WO real 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

MAR 2006 -- CALMET

E-108
E.11 CALMET Output Files 

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

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 E-26. 

 write(iomet) DATASET,DATAVER,DATAMOD 

CALMET.DAT File - Header Records 

The CALMET.DAT file consists of a set of up to fifteen header records, plus a variable number of 

comment records, followed by a set of hourly data records. The header records contain file identification 

labels, descriptive titles of the CALMET run (including a complete image of the CALMET control file) 

as comment records, information including the horizontal and vertical grid systems of the meteorological 

grid, the number, type, and coordinates of the meteorological stations included in the CALMET run, 

gridded fields of surface roughness lengths, land use, terrain elevations, leaf area indexes, and a precomputed field of the closest surface meteorological station number to each grid point. 

Sample FORTRAN write statements for the CALMET.DAT header records are:

c --- Header record #1 - File Declaration -- 24 words 

c --- Header record #2 - Number of comment lines -- 1 word 

 write(iomet) NCOM 

c --- Header record #3 to NCOM+2 (Comment record section) -- 33 words each 

 write(iomet) COMMENT

c --- Header record #NCOM+3 - run control parameters -- 37 words 

 write(iomet) IBYR,IBMO,IBDY,IBHR,IBTZ,IRLG,IRTYPE, 

 1 NX,NY,NZ,DGRID,XORIGR,YORIGR, IWFCOD,NSSTA,

 2 NUSTA,NPSTA,NOWSTA,NLU,IWAT1,IWAT2,LCALGRD

 3 PMAP,DATUM,DATEN,FEAST,FNORTH,UTMHEM,IUTMZN,

 4 RNLAT0,RELON0,XLAT1,XLAT2 

c --- Header record #NCOM+4 - cell face heights (NZ + 1 words) 

 write(iomet)CLAB1,IDUM,ZFACEM 

MAR 2006 -- CALMET

E-109
c --- Header records #NCOM+5 & 6 - x, y coordinates of surface stations 

c --- (NSSTA words each record) 

 if(nssta.ge.1)then 

 write(iomet)CLAB2,IDUM,XSSTA 

 write(iomet)CLAB3,IDUM,YSSTA 

 endif 

c --- Header records #NCOM+7 & 8 - x, y coordinates of upper air stations 

c --- (NUSTA words each record) 

 if(nusta.ge.1)then

c --- grid point (NX * NY words) 

 write(iomet)CLAB4,IDUM,XUSTA 

 write(iomet)CLAB5,IDUM,YUSTA 

 endif 

c --- Header records #NCOM+9 & 10 - x, y coordinates of precipitation stations 

c --- (NPSTA words each record) 

 if(npsta.ge.1)then

 write(iomet)CLAB6,IDUM,XPSTA 

 write(iomet)CLAB7,IDUM,YPSTA 

 endif 

c --- Header record #NCOM+11 - surface roughness lengths (NX * NY words) 

 write(iomet)CLAB8,IDUM,Z0 

c --- Header record #NCOM+12 - land use categories (NX * NY words) 

 write(iomet)CLAB9,IDUM,ILANDU 

c --- Header record #NCOM+13 - elevations (NX * NY words) 

 write(iomet)CLAB10,IDUM,ELEV

c --- Header record #NCOM+14 - leaf area index (NX * NY words) 

 call wrtr2d(iomet,xlai,xbuf,mxnx,mxny,nx,ny,clabel,idum) 

 write(iomet)CLAB11,IDUM,XLAI

c --- Header record #NCOM+15 - nearest surface station no. to each 

 if(nssta.ge.1)then 

 write(iomet)CLAB12,IDUM,NEARS 

 endif 

where the following declarations apply:

real ZFACEM(nz+1),XSSTA(nssta),YSSTA(nssta),XUSTA(nusta),YUSTA(nusta) 

 real XPSTA(npsta),YPSTA(npsta)

 real Z0(nx,ny),ELEV(nx,ny),XLAI(nx,ny) 

 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 

MAR 2006 -- CALMET

E-110
Table E-26 

CALMET.DAT file - Header Records 

Header 

Record No. 

Variable 

No. 

Variable Type

a Description

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 Starting year of CALMET run

NCOM+3 2 IBMO integer Starting month 

NCOM+3 3 IBDY integer Starting day 

NCOM+3 4 IBHR integer Starting hour (time at end of hour)

NCOM+3 5 IBTZ integer Base time zone (e.g., 05=EST, 06=CST, 07=MST, 

08=PST) 

NCOM+3 6 IRLG integer Run length (hours)

NCOM+3 7 IRTYPE integer Run type (0=wind fields only, 1=wind and

micrometeorological fields). IRTYPE must be run 

type 1 to drive CALGRID or options in

CALPUFF that use boundary layer parameters

NCOM+3 8 NX integer Number of grid cells in the X direction

NCOM+3 9 NY integer Number of grid cells in the Y direction

NCOM+3 10 

NCOM+3 11

NZ integer Number of vertical layers 

DGRID real Grid spacing (m)

NCOM+3 12 XORIGR real X coordinate (m) of southwest corner of grid cell

(1,1) 

NCOM+3 13 YORIGR real Y coordinate (m) of southwest corner of grid cell

(1,1) 

NCOM+3 14 IWFCOD integer Wind field module used (0=objective analysis, 

1=diagnostic model)

NCOM+3 15 NSSTA integer Number of surface meteorological stations 

NCOM+3 16 NUSTA integer Number of upper air stations

NCOM+3 17 NPSTA integer Number of precipitation stations

NCOM+3 18 NOWSTA integer Number of over water stations

a

char*N = Character*N

MAR 2006 -- CALMET

E-111
Table E-26 (Continued) 

CALMET.DAT file - Header Records 

Header 

Record No. 

Variable 

No. 

Variable Type

a Description 

NCOM+3 19 NLU integer Number of land use categories 

NCOM+3 20 IWAT1 integer Range of land use categories 

NCOM+3 21 IWAT2 integer Corresponding to water surfaces (IWAT1 or

IWAT2, inclusive) 

NCOM+3 22

NCOM+3

UTM zone for PMAP = UTM

NCOM+3

NCOM+3 32 

33 

NCOM+4

Variable not used 

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 23 PMAPb char*8 Map projectionb 

UTM : Universal Transverse Mercator 

TTM : Tangential Transverse Mercator 

LCC : Lambert Conformal Conic 

PS : Polar Stereographic 

EM : Equatorial Mercator 

LAZA : Lambert Azimuthal Equal Area

NCOM+3 24 DATUM char*8 DATUM Code for grid coordinates 

NCOM+3 25 DATEN char*12 NIMA date (MM-DD-YYYY) for datum

definitions 

NCOM+3 26 FEAST real False Easting (km) for PMAP = TTM, LCC, or 

LAZA

NCOM+3 27 FNORTH real False Northing (km) for PMAP = TTM, LCC, 

or LAZA 

28 UTMHEM char*4 Hemisphere for UTM projection (N or S) 

NCOM+3 29 IUTMZN integer 

NCOM+3 30 RNLAT0 real North latitude (degrees) for projection origin 

(for PMAP= TTM, LCC, PS, EM, or LAZA) 

31 RELON0 real East longitude (degrees) for projection origin

(for PMAP= TTM, LCC, PS, EM, or LAZA) 

XLAT1 real North latitude (degrees) of matching parallel #1

for map projection PMAP= LCC or PS 

NCOM+3 XLAT2 real North latitude (degrees) of matching parallel #2

for map projection PMAP= LCC 

1 CLAB1 char*8 Variable label ('ZFACE')

NCOM+4 2 IDUM integer

NCOM+4 3 ZFACEM real array Heights (m) of cell faces (NZ + 1 values) 

a

 char*N = Character*N b

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

 

MAR 2006 -- CALMET

E-112
Table E-26 (Continued) 

CALMET.DAT file - Header Records 

Header 

Record No. 

Variable 

No. 

Variable Type

a Description

NCOM+5b 1 CLAB2 char*8 Variable label ('XSSTA')

NCOM+5b 2 IDUM integer Variable not used

NCOM+5b 3 XSSTA real array X coordinates (m) of each surface met. station 

NCOM+6b 1 CLAB3 char*8

NCOM+6b integer Variable not used

real array 

2 IDUM 

NCOM+9d 3 

Variable label ('YSSTA')

2 IDUM

NCOM+6b 3 YSSTA real array Y coordinates (m) of each surface met. station 

NCOM+7c 1 CLAB4 char*8 Variable label ('XUSTA')

NCOM+7c 2 IDUM integer Variable not used

NCOM+7c 3 XUSTA real array X coordinates (m) of each upper air met. 

station 

NCOM+8c 1 CLAB5 char*8 Variable label ('YUSTA')

NCOM+8c 2 IDUM integer Variable not used

NCOM+8c 3 YUSTA Y coordinate (m) of each upper air met. station 

NCOM+9d 1 CLAB6 char*8 Variable label ('XPSTA')

NCOM+9d integer Variable not used

XPSTA real array X coordinate (m) of each precipitation station 

NCOM+10d 1 CLAB7 char*8 Variable label ('YPSTA')

NCOM+10d 2 IDUM integer Variable not used

NCOM+10d 3 YPSTA real array Y coordinate (m) of each precipitation station 

NCOM+11 1 CLAB8 char*8 Variable label ('Z0')

NCOM+11 2 IDUM integer Variable not used

NCOM+11 3 Z0 real array Gridded field of surface roughness lengths (m) 

for each grid cell 

a

 char*N = Character*N

b

 Included only if NSSTA > 0 c

 Included only if NUSTA > 0

d

 Included only if NPSTA > 0

MAR 2006 -- CALMET

E-113
Table E-26 (Concluded) 

CALMET.DAT file - Header Records 

Header 

Record No. 

Variable 

No. 

Variable Type

a Description

NCOM+12 1 CLAB9 char*8 Variable label ('ILANDU')

NCOM+12 2 IDUM integer Variable not used

NCOM+12 3 ILANDU integer array Gridded field of land use category for 

each grid cell 

NCOM+13 1

NCOM+13

NCOM+14 1 CLAB11

CLAB10 char*8 Variable label ('ELEV')

NCOM+13 2 IDUM integer Variable not used

3 ELEV real array Gridded field of terrain elevations for 

each grid cell 

char*8 Variable label ('XLAI')

NCOM+14 2 IDUM integer Variable not used

NCOM+14 3 XLAI real array Gridded field of leaf area index for each 

grid cell 

NCOM+15 1 CLAB12 char*8 Variable label ('NEARS')

NCOM+15 2 IDUM integer Variable not used

NCOM+15 3 NEARS integer array Nearest surface meteorological station to

each grid point 

a

char*N = Character*N

MAR 2006 -- CALMET

E-114
CALMET.DAT File - Data Records

The CALMET.DAT data records include hourly fields of winds and meteorological variables. In addition 

to the regular CALMET output variables, both CALGRID and CALPUFF require additional threedimensional fields of air temperature and vertical velocity. The presence of these fields in the CALMET 

output file is flagged by the header record logical variable, LCALGRD, having a value of TRUE. 

The data records contain three-dimensional gridded fields of U, V, and W wind components and air 

temperature, and two-dimensional fields of PGT stability class, surface friction velocity, mixing height, 

Monin-Obukhov length, convective velocity scale, precipitation rate (not used by CALGRID), nearsurface temperature, air density, short-wave solar radiation, relative humidity, and precipitation type 

codes (not used by CALGRID). A description of each variable in the data records is provided in Table E27. 

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,NDATHR,((U(i,j,k),i=1,nx),j=1,ny) 

* write(iunit)CLABV,NDATHR,((V(i,j,k),i=1,nx),j=1,ny) 

* if(LCALGRD)write(iunit)CLABW,NDATHR((W(i,j,k+1),i=1,nx),j=1,ny) 

*

*

.))) End loop over vertical layers 

c --- Write 3-D temperature field 

if(LCALGRD.and.irtype.eq.1) then 

+))) Loop over vertical layers, k 

* write(iunit)CLABT,NDATHR,((ZTEMP(i,j,k),i=1,nxm),j=1,nym)

*

.))) End loop over vertical layers 

 endif 

c --- Write 2-D meteorological fields 

 if(irtype.eq.1) then

 write(iunit)CLABSC,NDATHR,IPGT 

 write(iunit)CLABUS,NDATHR,USTAR 

 write(iunit)CLABZI,NDATHR,ZI 

 write(iunit)CLABL,NDATHR,EL 

 write(iunit)CLABWS,NDATHR,WSTAR

 write(iunit)CLABRMM,NDATHR,RMM 

 write(iunit)CLABTK,NDATHR,TEMPK

 write(iunit)CLABD,NDATHR,RHO

 write(iunit)CLABQ,NDATHR,QSW

 write(iunit)CLABRH,NDATHR,IRH

 write(iunit)CLABPC,NDATHR,IPCODE 

 endif 

MAR 2006 -- CALMET

E-115
where the following declarations apply:

 real U(nx,ny,nz),V(nx,ny,nz),W(nx,ny,nz) 

character*8 CLABU, CLABV, CLABW, CLABT, CLABSC, CLABUS, CLABZI 

 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 CLABL, CLABWS, CLABRMM, CLABTK, CLABD, CLABQ, CLABRH 

 character*8 CLABPC 

MAR 2006 -- CALMET

E-116
Table E-27 

CALMET.DAT file - Data Records 

Record 

Type 

Variable 

No. 

Variable 

Name

Typea Description

1 1 CLABU char*8 Variable label ('U-LEVxxx', where xxx indicates 

the layer number) 

1 2 NDATHR integer Year, Julian day and hour in the form

YYYYJJJHH (or YYJJJHH)

1 3 U real array U-component (m/s) of the winds at each grid

point

2 1 CLABV char*8 Variable label ('V-LEVxxx', where xxx indicates 

the layer number) 

2 2 NDATHR integer Year, Julian day and hour in the form

YYYYJJJHH (or YYJJJHH)

2 3 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 Year, Julian day and hour in the form

YYYYJJJHH (or YYJJJHH)

3b 3 W real array

CLABT

NDATHR 

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)

4b 1 char*8 Variable label ('T-LEVxxx', where xxx indicates 

the layer number) 

4b 2 integer Year, Julian day and hour in the form

YYYYJJJHH (or YYJJJHH)

4b 3 ZTEMP real array Air temperature (deg. K) at each grid point 

(Record type 4 repeated NZM times (once per layer)) 

a

 char*8 = Character*8

b

 Record types 3 and 4 are included only if LCALGRD is TRUE

MAR 2006 -- CALMET

E-117
Table E-27 (Continued) 

CALMET.DAT file - Data Records 

Record 

Type 

Variable 

No. 

Variable 

Name

Typea Description

5 1 CLABSC char*8 Variable label ('IPGT')

5 2 NDATHR integer Year, Julian day and hour in the form YYYYJJJHH (or

YYJJJHH)

5 3 IPGT integer

array

PGT stability class at each grid point 

6 1 CLABUS char*8 Variable label ('USTAR')

6 2 NDATHR integer Year, Julian day and hour in the form YYYYJJJHH (or

YYJJJHH)

6 3 USTAR real array Surface friction velocity (m/s) 

7 1 CLABZI char*8 Variable label ('ZI')

7 2 NDATHR integer Year, Julian day and hour in the form YYYYJJJHH (or

YYJJJHH)

7 3 ZI real array Mixing height (m) 

8 1 CLABL char*8 Variable label ('EL')

8 2 NDATHR integer Year, Julian day and hour in the form YYYYJJJHH (or

YYJJJHH)

8 3 EL real array Monin-Obukhov length (m)

9 1 CLABWS

real array

10

char*8 Variable label ('WSTAR')

9 2 NDATHR integer Year, Julian day and hour in the form YYYYJJJHH (or

YYJJJHH)

9 3 WSTAR Convective velocity scale (m/s) 

1 CLABRMM char*8 Variable label ('RMM')

10 2 NDATHR integer Year, Julian day and hour in the form YYYYJJJHH (or

YYJJJHH)

10 3 RMM real array Precipitation rate (mm/hr). Not used by CALGRID. 

a

 char*8 = Character*8

MAR 2006 -- CALMET

E-118
Table E-27 (Concluded) 

CALMET.DAT file - Data Records 

Record 

Type 

Variable 

No. 

Variable 

Name

Typea Description

11 1 CLABTK char*8 Variable label ('TEMPK')

11 2 NDATHR integer Year, Julian day and hour in the form YYYYJJJHH (or

YYJJJHH)

11 3 TEMPK real array Near-surface temperature (deg. K) 

12 1 CLABD char*8 Variable label ('RHO')

12 2 NDATHR integer Year, Julian day and hour in the form YYYYJJJHH (or

YYJJJHH)

12 3 RHO real array Near-surface air density (kg/m3

)

13 1 CLABQ char*8 Variable label ('QSW')

13 2 NDATHR integer Year, Julian day and hour in the form YYYYJJJHH (or

YYJJJHH)

13 3 QSW real array Short-wave solar radiation (W/m2

)

14 1 CLABRH char*8 Variable label ('IRH')

14 2 NDATHR integer Year, Julian day and hour in the form YYYYJJJHH (or

YYJJJHH)

14 3 IRH integer array Near-surface relative humidity (percent)

15 1 CLABPC char*8 Variable label ('IPCODE')

15 2 NDATHR integer Year, Julian day and hour in the form YYYYJJJHH (or

YYJJJHH)

15 3 IPCODE integer array Precipitation type code (not used by CALGRID)

0 - no precipitation 

1 to 18 - liquid precipitation 

19 to 45 - frozen precipitation 

a

 char*8 = Character*8

MAR 2006 -- CALMET

E-119 
E.11.2 PACOUT.DAT 

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

MAR 2006 -- CALMET

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

MAR 2006 -- CALMET

E-121 
+))) 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) 

MAR 2006 -- CALMET

E-122 
Table E-28 

PACOUT.DAT File - Format 

HEADER RECORDS - First six records of output file

Header Record 

No.

Variable No. Variable Type Description

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 

MAR 2006 -- CALMET

E-123 
Table E-28 (Concluded) 

PACOUT.DAT File - Format 

DATA RECORDS - Repeated for each hour of run 

Header

Record No.

Variable No. Variable Type Description

7 1 KYR integer Year

7 2 KJUL integer Julian day

7 3 KHR integer Hour (00-23) 

 

Lower-level v wind component (m/s) 

real 

 

8 1 UL real array Lower-level u wind component (m/s) 

9 1 VL real array

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

* At surface meteorological stations 

MAR 2006 -- CALMET

E-124 
VOLUME II & III REFERENCES 

Allwine, K.J. and C.D. Whiteman, 1985: MELSAR: A mesoscale air quality model for complex terrain: 

 Volume 1--Overview, technical description and user's guide. Pacific Northwest Laboratory,

Richland, Washington. 

Batchvarova, E. and S.-E. Gryning, 1991: Applied model for the growth of the daytime mixed layer. 

Boundary-Layer Meteorol., 56, 261-274. 

Batchvarova, E. and S.-E. Gryning, 1994: An applied model for the height of the daytime mixed layer 

and the entrainment zone. Boundary-Layer Meteorol., 71, 311-323. 

Bradley, E.F., C.W. Fairall, J.E. Hare, and A.A. Grachev, 2000: An old and improved bulk algorithm for 

air-sea fluxes: COARE 2.6a. 14th Symposium on Boundary Layer and Turbulence, AMS. 7-11 

August 2000, Aspen, CO, 294-296. 

Carson, D.J., 1973: The development of a dry, inversion-capped, convectively unstable boundary layer. 

Quart. J. Roy. Meteor. Soc., 99, 450-467. 

Cimorelli, A.J., S.G. Perry, A. Venkatram, J.C. Weil, R.J. Paine, R.B. Wilson, R.F. Lee, W.D. Peters, 

R.W. Brode, and J.O. Paumier, 2002: AERMOD: Description of Model Formulation. 

EPA/454/R-02-00d. U.S. Environmental Protection Agency, Research Triangle Park, NC. 

Douglas, S. and R. Kessler, 1988: User's guide to the diagnostic wind model. California Air Resources 

Board, Sacramento, CA. 

EPA, 1998: Interagency Workgroup on Air Quality Modeling (IWAQM) Phase 2 Summary report and 

recommendations for modeling long range transport and impacts on regional visibility. EPA454/R-98-019. U.S. EPA, Research Triangle Park, NC. 

EPA, 1995: User's guide for the Industrial Source Complex (ISC3) dispersion models. 

Vol. I - User instructions (EPA-454/B-95-003a). Vol. II - Description of model algorithms (EPA - 

454/B-95-003b). Vol III - Guide to programmers (EPA - 454/B-95-003c). U.S. Environmental 

Protection Agency, Research Triangle Park, NC. 

EPA, 1995: Testing of meteorological and dispersion models for use in regional air quality 

modeling. Report prepared for U.S. EPA by Sigma Research/Earth Tech, Concord, MA. 

Fairall, C.W., E.F. Bradley, J.E. Hare, A.A. Grachev, and J.B. Edson, 2002: Bulk parameterization of airsea fluxes: updates and verification for the COARE algorithm. Submitted to the WCRP/SCOR 

MAR 2006 - References 

1
Workshop on Inter-comparison and Validation of Ocean-Atmosphere Flux Fields special issue of 

the Journal of Climate. 

FLAG, 2000: Federal Land Managers’ Air Quality Related Values Workgroup (FLAG). Phase I report 

(December 2000). US Forest Service, National Park Service, U.S Fish and Wildlife Service. 

Hanna, S.R., L.L. Schulman, R.J. Paine, J.E. Pleim, and M. Baer, 1985: Development and evaluation of 

the Offshore and Coastal Diffusion Model. J. Air Poll. Control Assoc., 35, 1039-1047. 

Holtslag, A.A.M. and A.P. van Ulden, 1983: A simple scheme for daytime estimates of the surface fluxes 

from routine weather data. J. Clim. and Appl. Meteor., 22, 517-529. 

Kessler, R.C., 1989: User's Guide. Systems Applications, Inc. Version of the Colorado State University

Mesoscale Model. California Air Resources Board, Sacramento, CA. 

Lorimer, G., 1986: The AUSPLUME Gaussian plume dispersion model. Environmental Protection 

Authority of Victoria, Melbourne, Victoria, Australia. 

Liu, M.K. and M. A. Yocke, 1980: Siting of wind turbine generators in complex terrain. J. Energy, 4, 

10:16. 

Mahrt, L., 1982: Momentum balance of gravity flows. J. of Atmos. Sci., 39, 2701-2711. 

Maul, P.R., 1980: Atmospheric transport of sulfur compound pollutants. Central Electricity Generating 

Bureau MID/SSD/80/0026/R, Nottingham, England. 

O'Brien, J.J., 1970: A note on the vertical structure of the eddy exchange coefficient in the planetary

boundary layer. J. Atmos. Sci., 27, 1213-1215. 

Perry, S.G., D.J. Burns, L.H. Adams, R.J. Paine, M.G. Dennis, M.T. Mills, D.G. Strimaitis, 

R.J. Yamartino, E.M. Insley, 1989: User's Guide to the Complex Terrain Dispersion Model Plus 

Algorithms for Unstable Situations (CTDMPLUS) Volume 1: Model Description and User 

Instructions. EPA/600/8-89/041, U.S. Environmental Protection Agency, Research Triangle 

Park, NC. 

Scire, J.S., F.R. Robe, M.E. Fernau, and R.J. Yamartino, 2000a: A User’s Guide for the CALMET 

Meteorological Model (Version 5). Earth Tech, Inc., 196 Baker, Avenue, Concord, MA 01741. 

Scire, J.S., D.G. Strimaitis and R.J. Yamartino, 2000b: A User’s Guide for the CALPUFF Dispersion 

Model (Version 5). Earth Tech, Inc., 196 Baker Avenue, Concord, MA 01742. 

MAR 2006 - References 

2
Strimaitis, D.G., R.J. Yamartino, E.M. Insley, J.S. Scire, 1995: A User’s Guide for the Kinematic 

Simulation Particle (KSP) Model. Prepared for Institut fuer Meteorologie, Freie Universitaet 

Berlin, Germany, and Umwelbundesamt, Berlin, Germany, Document No. 1274-2, by Earth 

Tech, Inc, Concord, MA 

Yamartino, R.J., J.S. Scire, S.R. Hanna, G.R. Carmichael and Y.S. Chang, 1989: CALGRID: A 

Mesoscale Photochemical Grid Model. Volume I: Model Formulation Document. California Air 

Resources Board, Sacramento, CA. 

Yamartino, R.J., J.S. Scire, S.R. Hanna, G.R. Carmichael and Y.S. Chang, 1992: The 

CALGRID mesoscale photochemical grid model - I. Model formulation. Atmospheric Environ., 

26A, 1493-1512. 

Yamartino, R.J., D.G. Strimaitis, J.S. Scire, E.M. Insley, and M.J. Spitzak, 1996: Final Report on the 

Phase I Development of the Kinematic Simulation Particle (KSP) Atmospheric Dispersion 

Model, prepared for Institut fuer Meteorologie, Freie Universitaet Berlin, Germany, and 

Umwelbundesamt, Berlin, Germany, Document No. 1274-3m, by Earth Tech, Inc, Concord, MA 

MAR 2006 - References 

3