CALMET UsersGuide PDF
CALMET UsersGuide PDF
Prepared by:
Joseph S. Scire
Francoise R. Robe
Mark E. Fernau
Robert J. Yamartino
January 2000
TABLE OF CONTENTS
PAGE NO.
1. OVERVIEW . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1-1
1.1
Background . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1-1
1.2
Overview of the CALPUFF Modeling System . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1-3
1.3
Major Model Algorithms and Options . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1-12
1.4
Summary of Data and Computer Requirements . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1-15
2. TECHNICAL DESCRIPTION . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2-1
2.1
Grid System . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2-1
2.2
Wind Field Module . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2-3
2.2.1 Step 1 Formulation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2-3
2.2.2 Step 2 Formulation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2-8
2.2.3 Incorporation of Prognostic Model Output . . . . . . . . . . . . . . . . . . . . . . . 2-17
2.2.3.1 Terrain Weighting Factor . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2-19
2.3
Micrometeorological Model . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
2.3.1 Surface Heat and Momentum Flux Parameters . . . . . . . . . . . . . . . . . . . . . . .
2.3.2 Three-dimensional Temperature Field . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
2.3.2.1 Overwater Temperatures . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
2.3.3 Precipitation Interpolation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
2-22
2-22
2-31
2-33
2-33
4.3.2
4.3.3
4.3.4
4.3.5
4.3.6
4.3.7
4.3.8
4.3.9
4.3.10
4.3.11
4.4
4-132
4-144
4-149
4-153
4-156
4-160
4-164
4-166
4-183
4-190
4-190
4-206
5. REFERENCES . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5-1
APPENDIX A
Subroutine/Function Calling Structure . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . A-1
APPENDIX B
Description of Each CALMET Subroutine and Function . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . B-1
APPENDIX C
Equations Used in Lambert Conformal Conversions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . C-1
APPENDIX D
The Universal Transverse Mercator (UTM) Grid . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . D-1
1. OVERVIEW
1.1
Background
As part of a study to design and develop a generalized non-steady-state air quality modeling system for
regulatory use, Sigma Research Corporation (now part of Earth Tech, Inc.), developed the CALPUFF
dispersion model and related models and programs, including the CALMET meteorological model. The
original development of CALPUFF and CALMET was sponsored by the California Air Resources Board
(CARB). Systems Application, Inc. (SAI) served as a subcontractor to Sigma Research with the
responsibility for developing the original wind field modeling component of the CALMET model.
The original design specifications for the modeling system included: (1) the capability to treat timevarying point and area 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 (Scire et al., 1990a, 1990b) developed to meet these objectives consisted of three
components: (1) a meteorological modeling package with both diagnostic and prognostic wind field
generators, (2) a Gaussian puff dispersion model with chemical removal, wet and dry deposition,
complex terrain algorithms, building downwash, plume fumigation, and other effects, and (3)
postprocessing programs for the output fields of meteorological data, concentrations and deposition
fluxes.
In July, 1987, CARB initiated a second project with Sigma Research to upgrade and modernize the
Urban Airshed Model (UAM) to include state-of-the-science improvements in many of the key technical
algorithms including the numerical advection and diffusion schemes, dry deposition, chemical
mechanisms, and chemical integration solver. The new photochemical model, called CALGRID
(Yamartino et al., 1992; Scire et al., 1989), was integrated into the CALMET/CALPUFF modeling
framework to create a complete modeling system for both reactive and non-reactive pollutants. A third
component of the modeling system, a Lagrangian particle model called the Kinematic Simulation Particle
(KSP) model (Strimaitis et al., 1995; Yamartino et al., 1996), was developed under sponsorship of the
German Umweldbundesamt. All three models (CALPUFF, CALGRID, and KSP) are designed to be
compatible with the common meteorological model, CALMET, and share preprocessing and
postprocessing programs for the display of the modeling results.
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
I:\calmet\nov99\sect1.wpd
1-1
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, 1993a) which recommended using the MESOPUFF II dispersion model
and MESOPAC II meteorological model on an interim basis for simulating regional air quality and
visibility impacts. These recommendations were to apply until more refined (Phase 2) techniques could
be identified and evaluated. As part of the development of the Phase 2 recommendations, IWAQM
reviewed and intercompared diagnostic wind field models, tested the use of coarse gridded wind fields
from the Penn State/NCAR Mesoscale Model with four dimensional data assimilation (MM4) as input
into the diagnostic models, and evaluated the MESOPUFF II and CALPUFF modeling systems using
tracer data collected during the Cross-Appalachian Tracer Experiment (CAPTEX). The CAPTEX
evaluation results (EPA, 1995) indicated that by using the CALMET/ CALPUFF models with MM4 data,
performance could be improved over that obtained with the interim Phase I modeling approach. The
Phase 2 IWAQM report (EPA, 1998) recommends the use of the CALMET and CALPUFF models for
estimating air quality impacts relative to the National Ambient Air Quality Standards (NAAQS) and
Prevention of Significant Deterioration (PSD) increments. The U.S. EPA has proposed 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.
The CALMET and CALPUFF models have been substantially revised and enhanced as part of work for
IWAQM, U.S. EPA, the U.S.D.A. Forest Service, the Environmental Protection Authority of Victoria
(Australia), and private industry in the U.S. and abroad. The improvements to CALMET included
modifications to make it more suitable for regional applications such as the use of a spatially variable
initial guess field, an option for using hourly MM4 or MM5 gridded fields as a supplement to
observational data, the ability to compute Lambert conformal map factors, a modified mixing height
scheme, an option to use similarity theory to vertically extrapolate surface wind observations, an
enhanced algorithm to compute the three-dimensional temperature fields over water bodies, improved
initialization techniques, a refined slope flow parameterization, and an optional PC-based Graphical User
Interface (GUI) to facilitate model setup and execution and to provide access to on-line Help files.
Improvements to CALPUFF include new modules to treat buoyant rise and dispersion from area sources
(such as forest fires), buoyant line sources, volume sources, an improved treatment of complex terrain,
additional model switches to facilitate its use in regulatory applications, enhanced treatment of wind
shear through puff splitting, use of a probability density function (pdf) to describe dispersion during
convective conditions, and an optional GUI. CALPUFF has been coupled to the Emissions Production
I:\calmet\nov99\sect1.wpd
1-2
Model (EPM) developed by the Forest Service through an interface processor. EPM provides timedependent emissions and heat release data for use in modeling controlled burns and wildfires.
1.2
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 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.
Most applications of the system are built around these three components. To enhance their functionality,
a PC-based GUI is provided for each major component. The GUIs can be used to prepare the control file
that configures a run, execute the corresponding component model, and conduct file management
functions. The GUIs also contain an extensive help system that makes much of the technical information
contained in this manual available to the user on-line. The modeling system may also be setup and run
without the aid of the GUIs. The control file for each component is simply a text file that is readily
edited, and it contains extensive information about model options, default values, and units for each
variable.
In addition to CALMET, CALPUFF, CALPOST, and their corresponding GUIs, the modeling system
interfaces to several other models, which is facilitated by several preprocessors and utilities. Figure 1-1
displays the overall modeling system configuration. Four of the models shown in Figure 1-1 are external
models that are not included in the CALPUFF system, but they can be interfaced with CALPUFF
modules:
I:\calmet\nov99\sect1.wpd
1-3
Figure 1-1.
I:\calmet\nov99\sect1.wpd
1-4
MM5/MM4 (Penn State/NCAR Mesoscale Model) is a prognostic wind field model with four
dimensional data assimilation (Anthes et al., 1987; Grell et al., 1996). The diagnostic wind field
model within CALMET contains options that allow wind fields produced by MM5 or MM4 to be
used as an initial guess field, or pseudo-observations and combined with other data sources as
part of the CALMET objective analysis procedure. An interface program (CALMM5) converts
the MM5 data into a form compatible with CALMET.
CSUMM (a version of the Colorado State University Mesoscale Model) is a primitive equation
wind field model (Kessler, 1989) which simulates mesoscale airflow resulting from differential
surface heating and terrain effects. Various options for using CSUMM output with CALMET
are provided.
The other two external models may use the output file from CALMET for their meteorological fields:
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.
KSP is a multi-layer, multi-species Lagrangian particle model that simulates transport,
dispersion, and deposition using explicit kinematic simulation (KS) of the larger transportive and
dispersive eddies in the atmosphere.
The components in Figure 1-1 that are included in the system are:
CALMET is a meteorological model which includes a diagnostic wind field generator
containing objective analysis and parameterized treatments of slope flows, kinematic terrain
effects, terrain blocking effects, and a divergence minimization procedure, and a micrometeorological model for overland and overwater boundary layers.
CALPUFF is a non-steady-state Lagrangian Gaussian puff model containing modules for
complex terrain effects, overwater transport, coastal interaction effects, building downwash, wet
and dry removal, and simple chemical transformation.
CALPOST is a postprocessing program with options for the computation of time-averaged
concentrations and deposition fluxes predicted by the CALPUFF and CALGRID models.
CALPOST computes visibility impacts in accordance with IWAQM recommendations and the
current Federal Land Managers Air Quality Related Values Workgroup (FLAG
recommendations.
I:\calmet\nov99\sect1.wpd
1-5
I:\calmet\nov99\sect1.wpd
1-6
PRLND1 is a land use preprocessor which reads the ARM3 data base of land use data and
computes fractional land use for each grid cell in the user-specified modeling domain.
MAKEGEO is the final preprocessor which reads the fractional land use data, user inputs which
define land use category mapping, and values relating each of the surface parameters to land use,
and (optionally) the gridded terrain data file, and produces a GEO.DAT file ready for input to
CALMET.
CALMM5 is a processor that extracts and interprets data in the output file from MM5 (Version
2), and creates a file of meteorological data for direct input to CALMET in either its MM4.DAT
format or its MM5.DAT format.
Preprocessors and utilities provided with the modeling system for use with CALPUFF include:
OPTHILL is a processor program which uses topographical data (such as terrain maps) to
develop hill shape factors that are used in the subgrid scale complex terrain (CTSG) module in
CALPUFF.
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 1-2. Note that the
preprocessors for the raw meteorological data are written to accommodate the U.S. National Climatic
Data Center (NCDC) file formats. Figure 1-3 is the schematic of the CALPUFF dispersion model
indicating the model input and output files. The postprocessing approach for the meteorological and
dispersion modeling results is shown in Figure 1-4.
A series of reports and user's guides describe the components of the modeling system. The technical
formulation and user instructions for the revised CALMET (Version 5) model and the meteorological
and geophysical preprocessing programs are contained in this report. Documentation for CALPUFF
(Version 5) and CALPOST (Version 5) is contained in Scire et al. (1999). The CSUMM prognostic
wind field model is described in a report by Kessler (1989). A stand-alone version of the Diagnostic
Wind Model (DWM) used as the original wind field module in CALMET is discussed by Douglas and
Kessler (1988). The CALGRID model is documented in a paper by Yamartino et al. (1992) and reports
by Yamartino et al. (1989) and Scire et al. (1989). The KSP model is described by Strimaitis et al.,
(1995) and Yamartino et al. (1996).
I:\calmet\nov99\sect1.wpd
1-7
Land Use
Data Files
Elevation Data
Files
CTGCOMP
TERREL
Terrain
Processor
CTGPROC
Land Use
Processor
MAKEGEO
(CSUMM)
Prognostic
Wind Field
Model
READ62
Upper Air
Preprocessor
MM5/MM4
Data
Geophysical
Data File
Prognostic
Gridded Wind
Field
(optional)
Upper Air
Sounding Data
(READ62
Format)
(MM5.DAT
MM4.DAT)
(GEO.DAT)
(PROG.DAT)
(UP1.DAT,
UP2.DAT)
(Surface Data
Files)
(SAMSON
Format)
Surface Data
Files
(CD144 Format)
Hourly
Precipitation
Data (TD-3240
Format)
(TD3240.DAT)
METSCAN
QA Program
PXTRACT
Precipitation
Data Extracting
Program
Surface Met.
Data Files (with
corrections)
(CD144 Format)
Surface Data
Files
(HUSWO
Format)
SMERGE
Surface Met.
Preprocessor
Preprocessed
Surface/Upper
Air
Meteorological
Data (optional)
(DIAG.DAT)
Surface
Meteorological
Data File
(SMERGE
Format or Free
Format)
(SURF.DAT)
Extracted Hourly
Precipitation
Data (TD-3240
Format)
(stn.DAT)
PMERGE
Precipitation
Preprocessor
Overwater Data
File
Processed Hourly
Precipitation File
MM4 Terrain
Weighting
Factor File
(optional)
CALMET
Control File
(SEA1.DAT,
SEA2.DAT)
(PRECIP.DAT)
(WT.DAT)
(CALMET..INP)
CALMET
Meteorological
Model
Gridded Hourly
Met. Files
CALMET Output
List file
(CALMET.DAT
or
PACOUT.DAT)
(CALMET.LST)
(TEST.*)
I:\calmet\nov99\sect1.wpd
1-9
From CALPUFF
Predicted
Concentration
Fields
Predicted Dry
Flux Fields
(CONC.DAT)
(DFLX.DAT)
CALPOST
CONTROL FILE
(CALPOST.INP)
Relative
Humidity Data
for Visibility
Calculations
(VISB.DAT)
Hourly Background
Concentration/Fluxes
(optional)
(BACK.DAT)
From CALMET
Predicted Wet
Flux Fields
CALPUFF
Output List File
(WFLX.DAT)
(CALPUFF.LST)
Gridded Hourly
Wind Fields
(CALMET.DAT)
Hourly Background
Extinction Coefficient
(optional)
(VSRN.DAT)
PRTMET
Control File
(PRTMET.INP)
PRTMET
Postprocessor
CALPOST
Postprocessor
Timeseries File(s)
(Optional)
(TStt[].DAT)
(CALPOST.LST)
Daily Peak
Summary File for
Visibility
Calculations
(V24[].DAT)
Plot File(s)
(Optional)
(PRTMET.LST)
[USER NAME]
Figure 1-5.
Flow diagram of the diagnostic wind model in CALMET. Winds derived from
MM4/MM5 (or CSUMM) can be introduced as the initial guess field ,
A or the Step 1
field .
B MM4/MM5 wind data can also be treated as "observations" .
C
I:\calmet\nov99\sect1.wpd
1-11
1.3
The CALMET meteorological model consists of a diagnostic wind field module and micrometeorological modules for overwater and overland boundary layers. When using large domains, the
user has the option to adjust input winds to a Lambert Conformal Projection coordinate system to
account for Earth's curvature. The diagnostic wind field module uses a two step approach to the
computation of the wind fields (Douglas and Kessler, 1988), as illustrated in Figure 1-5. 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 module can be input to CALMET as either the initial
guess field or the Step 1 wind field. The MM4-MM5 prognostic data can be introduced into CALMET
in three different ways:
]
]
]
The major features and options of the meteorological model are summarized in Table 1-1. 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.
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.
I:\calmet\nov99\sect1.wpd
1-12
Table 1-1
Major Features of the CALMET and CSUMM Meteorological Models
Slope Flows
Kinematic Terrain Effects
Terrain Blocking Effects
Divergence Minimization
Produces Gridded Fields of U, V, W Wind Components
Inputs Include Domain-Scale Winds, Observations, and
(optionally) Coarse-Grid Prognostic Model Winds
` Lambert Conformal Projection Capability
I:\calmet\nov99\sect1.wpd
1-13
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
the MM4/MM5 model (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 MM4 or MM5 wind data are used as the initial guess field, the coarse grid scale MM4/MM5 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 finescale CALMET terrain data to produce a Step 1 wind field. A second approach is to use MM4/MM5
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
MM4/MM5 data as "observations" in the objective analysis procedure.
CALMET Boundary Layer Models
The CALMET model contains two boundary layer models for application to overland and overwater grid
cells.
I:\calmet\nov99\sect1.wpd
1-14
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 a modified Carson (1973) method based on Maul (1980). 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
suggest that a different method is best suited for calculating the boundary layer parameters in the
marine environment. A profile technique, using air-sea temperature differences, is used in
CALMET to compute the micrometeorological parameters in the marine boundary layer.
An upwind-looking spatial averaging scheme is optionally applied to the mixing heights and 3dimensional temperature fields in order to account for important advective effects.
1.4
The input data requirements of the CALMET model are summarized in Table 1-2. The modeling system
flow diagrams (Figures 1-1 through 1-4) provide an overview of the various input data sets required by
the model as well as the preprocessing steps used to produce them. CALMET is designed to require only
routinely-available surface and upper air meteorological observations, although special data inputs can be
accommodated. For example, twice-daily sounding data (e.g., at the standard sounding times of 00 and
12 GMT) are needed as a minimum, but if soundings at more frequent (even arbitrarily spaced) intervals
are available, they will be used by the model.
CALMET reads 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 (e.g., CD-144 format for the surface data). However, the data can also be input
into the model by way of free-formatted, user-prepared files. This option is provided to eliminate the
need for running the preprocessors to prepare the data files for short CALMET runs for which the input
data can easily be input manually.
I:\calmet\nov99\sect1.wpd
1-15
Table 1-2
Summary of Input Data Required by CALMET
Surface Meteorological Data
Hourly observations of:
- wind speed
- wind direction
- temperature
- cloud cover
- ceiling height
- surface pressure
- relative humidity
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)
I:\calmet\nov99\sect1.wpd
1-16
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.
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
I:\calmet\nov99\sect1.wpd
1-17
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, MM4/MM5 or CSUMM. 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 derived wind data, a file called MM4.DAT is required or MM5.DAT (MM5 results can be
translated into either the MM4.DAT or the MM5.DAT file format).
One of the options in CALMET is to bypass the boundary layer model and compute only gridded wind
fields (i.e., produce U, V wind components only without the micro-meteorological variables such as
friction velocity, Monin-Obukhov length, etc.). Although the CALPUFF and CALGRID models cannot
be executed with such a file, there may be some applications in which only the wind components are of
interest. For example, a postprocessor (CAL2UAM) can be used to convert the CALMET winds into a
format suitable for input into the UAM model. If CALMET is to be run in this mode, an option is
provided to allow preprocessed surface and upper air observations to be input. The preprocessed input
file, DIAG.DAT, is compatible with the stand-alone version of the diagnostic wind field model
developed by Douglas and Kessler (1988).
CALMET reads the user's inputs from a "control file" with a default name of CALMET.INP. This file
contains the user's selections of the various model options, input variables, output options, etc. The
CALMET control file and other input files are described in detail in Section 4.
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 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
I:\calmet\nov99\sect1.wpd
1-18
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
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
CALMET (Version 3.0 and above) can be executed with the following DOS command line:
CALMET filename
where it is assumed that the executable file is called CALMET.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 CALMET.INP. The first input group in CALMET.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.
I:\calmet\nov99\sect1.wpd
1-19
2. TECHNICAL DESCRIPTION
2.1
Grid System
The CALMET model uses a grid system consisting of NZ layers of NX by NY square horizontal grid
cells. Figure 2-1 illustrates one layer of grid cells for a 7 x 4 grid. The "grid point" refers to the center of
the grid cell in both the horizontal and vertical dimensions. The "cell face" refers to either the horizontal
or vertical boundary between two adjacent cells. In CALMET, the horizontal wind components (u and
v) are defined at each grid point. The vertical wind component (w) is defined at the vertical cell faces.
The position of the meteorological grid in real space is determined by the reference coordinates
(XORIGKM, YORIGKM) of the southwest corner of grid cell (1,1). Thus, grid point (1,1), the cell
center, is located at (XORIGKM + DGRIDKM/2., YORIGKM + DGRIDKM/2.), where DGRIDKM is
the length of one side of the grid square.
It is assumed that the orientation of the X and Y axes of the CALMET grid are west-east and south-north,
respectively. In this way, the grid system is compatible with the usual definition of the u and v horizontal
wind components as the easterly and northerly components of the wind, respectively. One commonlyused grid system compatible with CALMET is the Universal Transverse Mercator (UTM) Grid (see
Appendix D for a description).
If the chosen CALMET domain is large, the user, through input variable LLCONF, can exercise the
option to fit the observed winds to a Lambert Conformal grid to account for the Earth's curvature.
CALMET uses the user-specified standard latitudes and reference longitude to calculate a "cone
constant" and the east-west distance of the observations from the reference longitude. These quantities
are then used to adjust observed and prognostic winds to fit the Lambert Conformal mapping. If
LLCONF = T, the user also must define XORIGKM, YORIGKM and all x,y coordinates of observation
stations, coastlines and barriers to fit the chosen Lambert Conformal grid. The default values of the
standard latitudes and reference longitude are set to be consistent with the U.S. EPA's MM4-FDDA data
base. If a different set of parameters are required, the user can set them in Input Group 2. The equations
for the cone constant and the coordinate conversion are given in Appendix C.
The CALMET model operates in a terrain-following vertical coordinate system.
Z z ht
where Z
z
ht
(2-1)
I:\calmet\nov99\sect2.wpd
2-1
GRID CELL
DGRIDKM
1
DGRIDKM
GRID POINT
Figure 2-1.
I:\calmet\nov99\fig2_1.wpd
2-2
W w u
where w
u,v
jh t
jx
v
jh t
jy
(2-2)
2.2
2.2.1
Step 1 Formulation
The CALMET diagnostic wind field model uses a two-step approach to the computation of the wind
fields. In Step 1, an initial guess wind field is adjusted for:
The initial guess wind field can be a three-dimensional wind field or a constant (domain-mean) wind
used throughout the grid. The domain mean wind components can be computed internally by vertically
averaging and time-interpolating upper air sounding data or simply specified by the user. If the domain
mean winds are computed, the user specifies the vertical layer through which the winds are to be
averaged and either which upper air station is to be used for determining the domain mean wind or that
all stations should be included in a 1/r2 interpolation to produce a spatially varying initial guess field.
CALMET has been modified to also allow two additional options for the intitial guess field. Hourly
surface observations can be extrapolated vertically using similarity theory (van Ulden and Holtslag,
1985) to determine the initial guess field. Previously this was done at the Step 2 objective analysis stage,
but not in the computation of the initial guess field. Without this extrapolation, the initial guess field at
layers above the surface layer are derived solely from upper air soundings (assuming prognostic data are
not used). When the sounding is taken from a distant upper air station outside the valley, this may
produce a poor initial guess field. Although the Step 1 procedure modifies the initial guess field to
reflect fine-scale terrain effects, it is sometimes difficult for the model to overcome a poorly-defined
initial guess field. In many cases, the surface observations, extended with the similarity profile will
produce a superior initial guess field and final wind field.
I:\calmet\nov99\sect2.wpd
2-3
The second modification involves the addition of factors for each CALMET layer to determine the
relative weight that is given to the vertically extrapolated surface observations versus the upper air
sounding data. For example, distant upper air sounding data can be given little weight within the valley,
where the surface observation may better reflect wind conditions, but heavy weight above the top of the
valley. Likewise, the influence of the surface observations can be eliminated above the top of the valley.
The spatially-variable initial guess field is computed as an inverse distance weighting of the surface and
upper air observations, modified by height-dependent bias factors, BIAS, ranging from -1 (i.e., weighting
of the upper air station wind is reduced to zero) to +1 (i.e., weighting of the surface station wind is
reduced to zero). For example, BIAS=+0.5 reduces the weight of a surface station wind by 50%, and
BIAS=-0.5 reduces the weight of upper air data by 50%. Values of zero for BIAS result in no change of
weight from the normal inverse distance squared weighting.
CALMET provides two options for bypassing the Step 1 procedure. The first is to specify that the final
winds be based on objective analysis alone. This option is controlled by the control file variable,
IWFCOD, in Input Group 5 (see Section 4.2.1).
The second option is the input of an externally generated, gridded Step 1 wind field. Typically, this
would be the output of another model, such as a prognostic wind field model. The control file variable,
IPROG, of Input Group 5 controls this option.
The externally-generated Step 1 wind field need not use the same horizontal grid as that used in the
CALMET simulation. For example, the computationally intensive prognostic wind field model can be
executed on a relatively coarse grid to develop the vertical structure of a lake breeze circulation and
provide information for areas of the grid with no observational data. The prognostic model results are
then combined with the available wind observations in the Step 2 objective analysis procedure to develop
the final wind field.
The parameterization used in the internal computation of a Step 1 wind field, i.e., simulation of kinematic
effects of terrain, slope flows, blocking effects, and divergence minimization, are described in the
following sections. This discussion is largely derived from Douglas and Kessler (1988).
Kinematic Effects
CALMET parameterizes the kinematic effects of terrain using the approach of Liu and Yocke (1980).
The Cartesian vertical velocity, w, is computed as:
w V ] ih t exp kz
I:\calmet\nov99\sect2.wpd
2-4
(2-3)
where V
ht
k
z
k
N
where N
g
*V *
(2-4)
1/2
d
dz
(2-5)
is the Brunt-Visl frequency (1/s) in a layer from the ground through a userinput height of "ZUPT" m,
is the potential temperature (deg K),
is the acceleration due to gravity (m/s2), and,
is the speed of the domain-mean wind.
The initial-guess domain-mean wind is then used to compute the terrain-forced Cartesian vertical
velocity, w, into a terrain-following vertical velocity, W (Eqn. 2-2). The kinematic effects of terrain on
the horizontal wind components are then evaluated by applying a divergence-minimization scheme to the
initial guess wind field. The divergence minimization scheme iteratively adjusts the horizontal wind
components until the three-dimensional divergence is less than a user-specified maximum value.
Slope Flows
CALMET uses an empirical scheme to estimate the magnitude of slope flows in complex terrain. The
direction of the slope flow is assumed to be oriented in the drainage direction. The slope flow vector is
added into the Step 1 gridded wind field in order to produce an adjusted Step 1 wind field.
where (u1,v1)
(us,vs)
I:\calmet\nov99\sect2.wpd
u1k u1 u s
(2-6)
v1 k v1 v s
(2-7)
are the components of the Step 1 wind field (m/s) before considering
slope flow effects,
are the slope flow wind components (m/s), and,
2-5
(u1k,v1k)
are the components of the Step 1 wind field (m/s) after considering slope
flow effects.
As described by Scire and Robe (1997), a new slope flow parameterization has been implemented into
CALMET. It is based on the shooting flow parameterization of Mahr (1982). Shooting flows are
buoyancy-driven flows, balanced by advection of weaker momentum, surface drag, and entrainment at
the top of the slope flow layer. Following Mahrt, it is assumed, for the derivation of the slope flow speed
only, that the flow is steady, its depth is constant, and the terrain slope is constant. Coriolis effects and
cross-slope components are neglected. The slope flow speed can be expressed as:
S = Se [ 1 - exp(-x/L e)]
(2-8)
(2-9)
Le = h / (CD + k)
(2-10)
I:\calmet\nov99\sect2.wpd
2-6
d(h )/dt = Qh / ( cp T)
(2-11)
(2-12)
Substituting (2-12) into (2-9), and then into (2-8), yields the following equation for the speed of the slope
flow:
S = {[Qh g x sin / [( cp T) (CD + k)]}1/3 [ 1 - exp(-x/L e)]1/3
(2-13)
For downslope flows, values of CD = K = 4 x 10-2 are within the range of observed values in vegetationcovered areas (e.g., Briggs, 1981, Mahrt, 1982, Horst and Doran, 1986).
The thickness of the slope flow layer is observed to be approximately 5% of the elevation drop from the
crest (Z) (Horst and Doran, 1986).
h = 0.05 Z
(2-14)
The value of h in (2-14) is used to determine which CALMET layers are affected by the slope flow. In
the modified version of CALMET, the slope winds are no longer restricted to the first layer, but instead
can affect upper layers of the flow depending on the depth of the slope flow itself.
In order to avoid unrealistically large slope flow speeds far away from the crest (potentially a problem
with coarse grid resolutions), the local slope angle is bounded by the average slope angle to the crest, i.e.,
sin = minimum (sinGlocal , Z/x )
(2-15)
Upslope flows have been less studied. They depend more on the stratification of the surface layer and do
not accelerate as rapidly as downslope flows. For upslope flows, large values of (CD + k) ~ 1 are
selected to take into account the resistance due to stratification. Such values of CD are observed in
canopy-covered areas (Briggs, 1981). For upslope flows, (2-13) can be written as:
S {[ Qh g x sin / [( cp T) (CD + k)]}1/3
[ Qh g Z / ( cp T) ]1/3
(2-16)
where Z is the elevation gain from the bottom of the valley, and x in (2-16) is the distance from the
valley floor.
I:\calmet\nov99\sect2.wpd
2-7
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).
Fr
V
Nh t
(2-17)
ht hmax (z)ijk
ij
where Fr
V
N
ht
(hmax)ij
(z)ijk
The Froude number is computed for each grid point. If Fr is less than a critical Froude number
(CRITFN) and the wind at the grid point has an uphill component, the wind direction is adjusted to be
tangent to the terrain. The wind speed is unchanged. If Fr exceeds the critical Froude number, no
adjustment is made to the flow.
Input Group 5 of the control file contains the user input parameters to the terrain blocking module. The
radius of influence of terrain features, TERRAD, is a function of the dominant scale of the terrain. The
critical Froude Number, CRITFN, is the threshold for blocking effects. It has a default value of 1.0.
2.2.2 Step 2 Formulation
The second step in the processing of the wind field by the diagnostic model is the introduction of
observational data into the Step 1 gridded wind field. The Step 2 procedure consists of four substeps
(Douglas and Kessler, 1988).
]
]
]
]
Interpolation
Smoothing
O'Brien adjustment of vertical velocities
Divergence minimization
I:\calmet\nov99\sect2.wpd
2-8
The user optionally can invoke a lake breeze routine between the smoothing and O'Brien steps to
simulate wind flow in the vicinity of a coastline.
Interpolation
An inverse-distance method is used to introduce observational data into the Step 1 wind field.
(u,v)1
(u,v)2k
2
Rk
R2
where (uobs,vobs)k
(u,v)1
(u,v)2k
Rk
R
uobs,vobs
(2-18)
Rk
This interpolation scheme allows observational data to be heavily weighted 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 weighting procedure described by Eqn. (2-18) is applied independently to
each vertical layer. Surface observations are used only for the lowest wind field layers appropriate for
whatever option for vertical extrapolation of the observational data is selected (see the variable IEXTRP
in Input Group 5 of the control file).
The user specified parameter, R, determines the relative weighting given to the Step 1 wind field.
Different values of R are used in the surface layer (R1), and layers aloft (R2). R1 and R2 are also entered
in Input Group 5 of the control file.
An observation is excluded from interpolation if the distance from the observational station to a
particular grid point exceeds a maximum radius of influence. Three separate maximum radius of
influence parameters are used in the diagnostic wind module (i.e., when IWFCOD=1):
]
]
]
I:\calmet\nov99\sect2.wpd
2-9
If the option to perform objective analysis only (IWFCOD=0) is selected, RMAX1 is used as the
maximum radius of influence for all layers and all land use types. That is, RMAX2 and RMAX3 are not
used when IWFCOD=0.
CALMET is also equipped with a varying radius of influence option, LVARY. When invoked, it allows
the model to use the closest observation station with valid data to a grid point if that grid point is outside
the user specified radius of influence of any observation stations. The LVARY option applies with either
IWFCOD=0 (objective analysis) or IWFCOD=1 (diagnostic wind module). If the LVARY option is
turned off, the radius of influence parameters must be selected so that every grid point is inside the radius
of influence of at least one observational station.
The number of observational stations that will be included in the interpolation can be limited by an
additional input parameter, NINTR2. This variable is an array of "NZ" elements, one for each vertical
layer, specifying the maximum number of stations that can be used in the interpolation at a given grid
point. If the number of stations inside the radius of influence is greater than NINTR2, the closest
NINTR2 stations will be used.
The region influenced by an observation can be limited by user-specified "barriers." These barriers
consist of line segments which define the boundaries of the region of the grid which can be influenced by
a particular observation. Any time a barrier exists between a grid point and an observation site, the
observational data are omitted for the interpolation. For example, user-specified barrier segments can be
defined to prevent observational data from a station in a well-defined valley from being applied outside
the valley region. At this time the barriers extend to the top of the model domain. In the future,
modifications may be made to limit their vertical extent.
Vertical Extrapolation of Surface Wind Observations
Before performing the horizontal spatial interpolation of the winds, the surface winds at each
observational station can be, as an option, extrapolated to higher layers. The control of the extrapolation
option is through the variable IEXTRP in Input Group 5 of the CALMET.INP file. The options are:
GIEXTRPG=
I:\calmet\nov99\sect2.wpd
In addition to being a flag controlling the vertical extrapolation of surface winds, IEXTRP also is an
indicator of whether data from upper air stations are used in the surface layer (Layer 1). If IEXTRP is
negative, data from upper air stations are ignored (treated as missing) in the development of the surface
layer wind field. If the four-character station name of the upper air station is the same as that of a surface
station (indicating the stations are co-located), the Layer 1 data from the upper air station is ignored,
regardless of the value of IEXTRP.
Also, the vertical extrapolation of data from a surface station is skipped if the surface station is close to
an upper air station with valid data. The variable, RMIN2 (in Input Group 5) defines the distance from
an upper air station that a surface station must exceed in order for the extrapolation to take place. The
default value of RMIN2 is set to 4 km, so that surface stations within 4 km of an upper air station will not
be subject to vertical extrapolation with any of the IEXTRP options.
If IEXTRP = 2, the following power law equation is used to adjust the surface layer winds to Layer 2
through the top of the model domain:
u z um ] z /z m
(2-19)
where z is the height (m) of the midpoint of the CALMET grid cell,
zm is the measurement height (m) of the surface wind observation,
um is the measured u-component of the wind (m/s),
uz is the extrapolated u-component of the wind (m/s) at height z, and
P is the power law exponent.
A similar equation applies to the v-component of the wind.
Following Douglas and Kessler (1988) in the DWM, a value of P of 0.143 is used over land, and P of
0.286 is used over water. A cell-averaged terrain elevation of zero is used as a flag for water cells.
With IEXTRP = 3, the user defines a set of scaling factors, one for each CALMET layer above the
surface (see the FEXTRP array in Input Group 5). The winds at Layers 2 through NZ are computed as:
ui u1 ] FEXTRP i
(2-20)
2-11
(2-21)
where D(z) is the turning angle at layer height center z, D(h) is the turning angle at a reference height, h,
and d1 = 1.58 and d2 = 1.0 are empirical constants. Table 2-1 gives the empirical data from which D(h) is
interpolated.
In the implementation of the scheme in CALMET, first the mixing height and Monin-Obukhov length at
every eligible station are determined using the methods described in Section 2.3. Using the calculated
mixing height and Monin-Obukhov length, the amount of turning, D(h), in the wind direction at the
reference height (h) of 200 m is determined by interpolating in inverse Monin-Obukhov length (1/L),
from Table 2-1, based on observed data reported by van Ulden and Holtslag (1985). The reference
turning angle is then used in Eqn. (2-16) to yield the turning angle (D1) at the CALMET height, z. Eqn.
(2-16) is applied with the same h = 200 m and D(h) with z equal to the anemometer height of the
observational station to obtain the turning angle from the ground to the anemometer height (D2). The
wind direction correction at CALMET height z from the anemometer height is then applied (i.e.,
correction angle = D1 > D2).
The wind speed profile calculations are based on the Monin-Obukhov similarity theory for the surface
layer as described by van Ulden and Holtslag (1985). Depending on the stability, Eqns. (2-23) or (2-24)
are used to determine the stability function based on height and Monin-Obukhov length. The stability
function, the measurement height, the layer center height, and the roughness length in the grid cell in
which the station is located are then used in Eqn.(2-21) to obtain the wind speed at the layer center
height. The altered wind speed and direction are then converted back to u and v wind components for
use in the interpolation routines. After calculating the turning angle, it is added to the wind direction in
the Northern hemisphere (winds veer clockwise), and subtracted in the Southern hemisphere (winds back
counterclockwise).
I:\calmet\nov99\sect2.wpd
2-12
Table 2-1
Turning of the Wind with Height, D(h), in Degrees Clockwise, at a
Reference Height (h) of 200m, as Observed at Cabauw, Netherlands.
(from van Ulden and Holtslag, 1985)
Monin-Obukhov
length (m)
I:\calmet\nov99\sect2.wpd
-30
12
-100
10
-370
104
12
350
18
130
28
60
35
20
38
39
2-13
Eqn. (2-22) gives the similarity theory equation used to calculate the wind speed profile:
ln
U z U z1
ln
z
zo
z1
zo
M
M
z
L
z1
(2-22)
where U(z) is the wind speed at the center of the CALMET layer, U(z1) is the wind speed at the
anemometer height, zo is the roughness length, z1 is the anemometer height, and M is the stability
function.
Eqn. (2-23) gives the stability function for unstable conditions:
M 2 ln
1x
2
ln
1x 2
2 tan 1 (x) /2
2
x (116 z/L)1/4
(2-23)
(2-24)
(2-25)
I:\calmet\nov99\sect2.wpd
2-14
Smoothing
The intermediate Step 2 wind field resulting from the addition of observational data into the Step 1 wind
field is subject to smoothing in order to reduce resulting discontinuities in the wind field. The
smoothing formula used in CALMET is:
ui, j l 0.5 ui, j 0.125 ui1, j ui1, j ui, j1 ui, j1
2
where (ui,j)l
(ui,j)
(2-26)
(2-27)
This mass-consistent vertical velocity is used as the final vertical velocity (i.e., w = w1) if Method 1 is
selected.
I:\calmet\nov99\sect2.wpd
2-15
Also, with this method, no further adjustment is made to the horizontal wind components. The final
horizontal winds are the smoothed winds resulting from Eqn. (2-26).
Godden and Lurmann (1983) suggest that this procedure may sometimes lead to unrealistically large
vertical velocities in the top layers of the grid. In order to avoid this problem, an option is provided to
use a procedure suggested by O'Brien (1970) to adjust w1.
w2(z) w1(z) z/ztop w1 z ztop
(2-28)
The O'Brien procedure forces the vertical velocity at the top of the model domain to be zero. Because the
horizontal winds are not mass consistent with the adjusted vertical velocities, the horizontal winds are
subject to adjustment by the divergence minimization scheme described in Section 2.3.4. The divergence
minimization procedure iteratively adjusts the u and v components to within a user-specified divergence
threshold while holding the vertical velocity field (w = w2) constant.
There are situations where the use of the O'Brien procedure is not warranted. For example, if the top of
the modeling grid is within a sea-breeze convergence zone, the large vertical velocities resulting from
application of Eqn. (2-27) may be realistic. Therefore, the use of the O'Brien procedure is an optional
feature of CALMET.
Divergence Minimization Procedure
Three-dimensional divergence in the wind field is minimized by a procedure described by Goodin et al.
(1980). This procedure iteratively adjusts the horizontal wind components (u,v) for a fixed vertical
velocity field so that at each grid point, the divergence is less than a user-specified maximum value.
du
dv
dw
<
dx
dy
dz
where u,v
w
(2-29)
In CALMET, the horizontal wind components are defined at the grid points. Vertical velocities are
defined at the vertical grid cell faces. Therefore, the divergence, D, at grid point (i,j,k) is:
Dijk
I:\calmet\nov99\sect2.wpd
2-16
vi,j1, k vi,j1, k
2y
(2-30)
where x and y are the sizes of the grid cell in the x and y directions, respectively.
For each grid point, divergence is computed. The u and v wind components at the surrounding cells are
adjusted so that the divergence at the grid point is zero. The adjustments are:
unew
i1,j, k
ui1,j, k uadj
(2-31)
unew
i1,j, k
ui1,j, k uadj
(2-32)
vnew
i, j1,k
(2-33)
vnew
i, j1,k
(2-34)
uadj
vadj
Dijk x
2
Dijk y
2
(2-35)
(2-36)
Each time the divergence is eliminated at a particular grid point, divergence is created at surrounding
points. However, by applying the procedure iteratively, the divergence is gradually reduced below the
threshold value, , throughout the grid.
2.2.3
The CALMET model contains an option to allow the initial guess field or the Step 1 wind field used by
CALMET to be replaced by gridded wind fields generated by the MM4 or MM5 prognostic
meteorological models, or the CSUMM version of the prognostic Colorado State University Mesoscale
Model. The procedure allows for the prognostic model to be run with a significantly larger 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 lake breeze circulation with a return flow aloft, which may not be
captured in the surface observational data base, to be introduced into the diagnostic wind field results.
The prognostic model (MM4/MM5/CSUMM) output can also be introduced into CALMET as pseudo
observations.
I:\calmet\nov99\sect2.wpd
2-17
The first step is to interpolate the gridded prognostic model winds to the CALMET horizontal and
vertical levels. The linear interpolation is performed to convert winds at the prognostic model's vertical
levels to the CALMET levels. An inverse distance squared (1/R2) weighting procedure is used in the
horizontal to interpolate the prognostic model winds to the CALMET grid points. Once the prognostic
winds have been defined at the CALMET grid points, the Step 2 wind field is generated and computed in
the following way.
(u,v)prog
(u,v)2k
uobs,vobs
prog
1
R 2prog
2
Rk
k
(2-37)
Rk
where (u,v)prog are the wind components generated by the prognostic wind field model, and
Rprog is a user-specified weighting parameter for the prognostic wind field data.
The other variables were defined in Section 2.2.2.
The CALMET model contains three options for treating gridded prognostic wind fields such as MM4FDDA fields as input:
]
]
]
When used as the initial guess field, the prognostic winds are first interpolated to the fine-scale
CALMET grid. The normal diagnostic adjustments for the fine-scale terrain are then made. This
produces a Step 1 field which is then subject to an objective analysis procedure using the observed wind
data. Thus, in this mode, the prognostic winds are adjusted for the fine-scale terrain effects and
observations.
In the second option, the prognostic winds are interpolated to the CALMET grid and then are used as the
Step 1 field. Thus, the prognostic winds are not adjusted for the fine-scale terrain effects, but rather they
are assumed to already contain the most significant terrain effects. The Step 1 winds are combined with
observations using an objective analysis procedure to produce the final Step 2 winds.
I:\calmet\nov99\sect2.wpd
2-18
In the third case, the prognostic winds are treated in exactly the same manner as the observations. If the
diagnostic wind option is used in CALMET, a Step 1 wind field is produced by adjusting the domainscale wind for the fine-scale terrain effects. The actual observations and MM4-FDDA "pseudoobservations" are then used to modify the Step 1 fields using the objective analysis procedure. If the
"objective-analysis-only" option is selected in CALMET, the computation of the Step 1 wind field is
eliminated, and the final winds are based on the objective analysis of the MM4-FDDA winds and the
actual observational data. Note that in this case, both the observations and MM4-FDDA winds are given
a high weight in the analysis procedure.
The potential drawback to this approach is that no distinction is made in the relative confidence we may
have in the MM4-FDDA simulations and the observed wind data. For example, when winds are
interpolated to the modeling grid, nearby wind observations are treated in the same way as nearby MM4FDDA winds, even though local circulations embodied in the observed winds may be "missed" by the
coarser resolution of the MM4-FDDA simulation.
The representativeness on a fine-scale grid of the observed point-value winds as compared with winds
derived from the MM4-FDDA on a coarse grid is expected to depend on such factors as the height above
the surface, subgrid-scale terrain variations, and the ratio of the coarse-grid to fine-grid size. For
example, a coarse grid of MM4-FDDA winds will not reflect potentially important local features of the
surface flow field induced by terrain variations which can not be resolved by this coarse MM4-FDDA
grid. On the other hand, the point-value "snapshot" observations in such areas do not necessarily
represent larger-scale flow fields as well as the MM4-FDDA fields. Therefore, a weighting factor based
on the subgrid-scale terrain variations within each grid cell must be derived.
2.2.3.1 Terrain Weighting Factor
Although the use of MM4-FDDA winds are expected in many circumstances to improve the diagnostic
model's wind fields, MM4-FDDA may not produce winds "near" the surface that are representative if
much terrain is poorly resolved by the scale of the grid used for the MM4-FDDA simulations. When this
is the case, local observations might be given more weight than the MM4-FDDA winds in interpolating
winds to the grid used for the diagnostic models. The method employed for altering weights involves (1)
computing t, the standard deviation of the departure of the "actual" terrain elevations from the gridaverage terrain elevation, (2) defining a weight Wo that is a function of t, and (3) weighting observed
wind by Wo, and MM4-FDDA winds by (1 - Wo) when performing the interpolation process.
To derive the weights, first quantify the differences between the terrain as represented by a "coarse" grid
used in the MM4-FDDA simulations and the terrain as represented on the "fine-grid". Then, calculate
the root-mean-square (RMS) of the difference between the original terrain and the "coarse-grid" terrain
I:\calmet\nov99\sect2.wpd
2-19
elevations within a region about each point in the "coarse" grid. The difference in elevation, (hori - hcrs),
should be calculated with a resolution equal to that of the original gridded terrain data, where hori is the
elevation of a point contained in the original terrain file and bilinear interpolation is used to find hcrs at
the same location. A similar procedure should also be used to calculate RMS(hfin - hcrs), where hfin
denotes elevations in the "fine-grid" used by the diagnostic models. The difference in elevation (hfin hcrs) can be found at the same locations used for (hori - hcrs), using bilinear interpolation within both the
fine and coarse grids. Therefore, RMS(hfin - hcrs) is zero if the same grid is used by both the MM4-FDDA
and the diagnostic models.
A simple formulation that allows near-surface adjustments to the MM4-FDDA winds is a product
relationship:
Wo W z Ws
(2-38)
where Ws is the weighting factor near the surface, and Wz is a height-dependent modifier. Wz tends
toward zero if the model-layer being processed is well above the terrain, or if there are no sub-grid
variations in the terrain (e.g., if the terrain is flat). Using the mean elevation of the layer above the
surface, denoted as zi, and the RMS(hfin - hcrs), denoted simply as RMSfin,
Wzi MIN RMSfin / 2zi , 1.0
(2-39)
has the desired properties. The MIN function refers to the minimum of the two arguments (i.e.,
RMSfin/2zi and 1.0). When the terrain resolved by the fine-scale grid used by the diagnostic model has a
characteristic departure from the coarse-grid terrain (quantified as RMSfin) that is less than the height of
the layer, Wzi will be less than 1, which will reduce the magnitude of Wo, indicating that the subgrid
terrain is less important for this layer than for any closer to the surface. As higher layers are processed,
Wzi approaches zero, which emphasizes the use of the MM4-FDDA winds in the diagnostic model. If the
fine-scale grid should have the same resolution as the coarse grid, RMSfin = 0 and Wz = 0, so that the
MM4-FDDA winds are used in preference to the observed winds at all levels.
The near-surface factor, Ws, makes use of both RMSfin and RMSori, where
RMSori RMS hori hcrs
(2-40)
The scale of the departure of the original terrain from that resolved by the coarse-grid, RMSori, is used to
scale the departure of the terrain resolved by the fine grid from that resolved by the coarse grid. The
ratio RMSfin/RMSori has a range of 0 to 1.0, provided that RMSori is not zero. When RMSfin is zero, or
when RMSfin/RMSori is nearly zero, Ws should be nearly zero, thereby indicating that the MM4-FDDA
winds should be preferred over any observed winds (the observed winds have already been "used" within
I:\calmet\nov99\sect2.wpd
2-20
MM4-FDDA). On the contrary, when RMSfin/RMSori approaches 1.0, local subgrid terrain could be
important, and local observations or diagnostic wind estimates near the surface should be emphasized.
Hence, Ws can be given by
Ws RMSfin / RMSori RMS o
(2-41)
For n > 1, smaller values of Ws will be produced, thereby making it more "difficult" to ignore the MM4FDDA winds in favor of observed winds. For n < 1, the opposite trait is favored.
RMSo is added to RMSori in the denominator to avoid a problem that arises if terrain variations are
"small". Ws may be nearly 1.0 (which emphasizes the observed winds) in some cases in which terrain
variations are small enough that the MM4-FDDA winds are indeed representative in the surface-based
layer, in spite of Ws. To address this case, a condition that the terrain variations be "significant" is
added. That is, the denominator is never allowed to fall below some specified length-scale, RMSo.
Because the center of the surface-based layer is 10 m in these applications, a length scale of 10 m has
been adopted for "significance". All cells in the coarse grid that are so characterized as having
insignificant terrain variation from that resolved by the fine grid will thereby promote the use of MM4FDDA winds in preference to observed winds at nearby grid-points.
In the sensitivity analyses (Scire et al., 1994), all three methods of incorporating the MM4-FDDA field
into CALMET were examined. The weighing factor, Wo, discussed above, was applied as follows:
In the first case, the terrain-weighting factor is not used because the MM4-FDDA coarse-grid winds are
subject to the full adjustment for the fine-scale terrain data by the diagnostic model, whereas in the other
two cases, the MM4-FDDA winds are not adjusted for the effects of the fine-scale terrain.
I:\calmet\nov99\sect2.wpd
2-21
2.3
Micrometeorological Model
2.3.1
A number of significant advances have been made in recent years in our understanding and
characterization of the structure of the planetary boundary layer (PBL) (e.g., see Weil, 1985; Briggs,
1985). As noted by van Ulden and Holtslag (1985) and others, the use of the appropriate boundary layer
scaling parameters can improve the quality of dispersion predictions. The principal parameters needed to
describe the boundary layer structure are the surface heat flux (Qh), surface momentum flux ( u*2), and
the boundary layer height (h). Several additional parameters, including the friction velocity (u*),
convective velocity scale (w*), and the Monin-Obukhov length (L), are derived from these.
As part of the Electric Power Research Institute (EPRI) Advanced Plume project, Hanna et al. (1986)
have evaluated several models for the prediction of these boundary layer parameters from "routinely"1
available meteorological observations. Two basic methods are commonly used to estimate the surface
heat and momentum fluxes. The first method is referred to as the profile method. It requires at a
minimum the measurement of the wind speed at one height and the temperature difference between two
heights in the surface layer, as well as knowledge of the air temperature and roughness characteristics of
the surface. Monin-Obukhov similarity theory is then used to solve for the surface fluxes by iteration.
The second approach, called the energy budget method, computes the surface heat flux by parameterizing
the unknown terms of the surface energy budget equation.
Hanna et al. (1986) tested the following four energy budget models and two profile schemes:
Energy Budget Models
]
]
]
]
Profile Schemes
]
]
The major conclusion drawn from the comparison of the six schemes was that the energy budget methods
were superior because of the sensitivity of the profile method to small errors in the measured temperature
1
Temperature difference is not routinely reported at NWS meteorological stations. However, it typically is available at the many
non-NWS sites with meteorological towers.
I:\calmet\nov99\sect2.wpd
2-22
difference. However, as discussed below, this conclusion does not apply to the marine boundary layer,
where a profile method based on the air-sea temperature difference is recommended. The relative
performance of all of the energy budget methods was similar. An intercomparison of the u* predictions
of each of the energy budget methods showed a very high correlation with the other energy budget
schemes (r2 from 0.98 to 0.99 and RMS errors from 0.027 to 0.055 m/s). The correlation coefficient of
the energy budget schemes with observed u* ranged from 0.63 to 0.65 and RMS errors from 0.20 to 0.21
m/s.
Overland Boundary Layer
An energy budget method, based primarily on Holtslag and van Ulden (1983), is used over land surfaces
in the CALMET micrometeorological model. The energy balance at the surface can be written as:
Q Qf QH Qe Qg
(2-42)
Qh
(2-43)
Qe
The model will require gridded values of the Bowen ratio. Seasonal default values, based on land use
categories, will be provided. The Bowen ratio is important in determining the degree of convective
turbulence because it reflects the partitioning of the available energy into sensible and latent heat flux.
Typical values of B range from 0.1 over water bodies to A 10 for deserts. In the summertime over parts
of Australia, values of B 5-10 are expected.
The flux of heat into the soil or building materials, Qg, is usually parameterized during the daytime in
terms of the net radiation (e.g., Oke, 1978; Holtslag and van Ulden, 1983):
Qg cg Q
(2-44)
where the constant cg is a function of the properties of the surface. Oke (1982) suggests values for cg of
0.05-0.25 for rural areas and 0.25-0.30 for urban areas. The larger values for urban areas reflect the
I:\calmet\nov99\sect2.wpd
2-23
greater thermal conductivity and heat capacity of building materials. Holtslag and van Ulden (1983) use
a value of 0.1 for a grass covered surface.
The anthropogenic heat flux, Qf, is a function of the population density and per capita energy usage. Oke
(1978) summarizes annual and seasonally- averaged Qf values for several urban areas. Although the Qf
term has been retained for generality, it is usually small compared to the other terms.
The net radiation, Q*, is the residual of incoming (short-wave plus long-wave) radiation and outgoing
(long-wave) radiation. Q* can be expressed (Holtslag and van Ulden, 1983; Lansberg, 1981) as:
Q Qsw (1 A) Q1wd Q1wu
where, Qsw
A
Q1w-d
Q1w-u
(2-45)
The method of Holtslag and van Ulden (1983) is used to estimate Q*. The result of their parameterization
of each of the terms in Eqn. (2-44) is:
Q
b2
(2-46)
(2-47)
I:\calmet\nov99\sect2.wpd
2-24
Table 2-2
Net Radiation Constants (Holtslag and van Ulden, 1983)
Constant
I:\calmet\nov99\sect2.wpd
Value
c1
c2
60 W/m2
c3
0.12
a1
990 W/m2
a2
-30 W/m2
b1
-0.75
b2
3.4
2-25
Using Eqns. (2-42) to (2-47), the daytime sensible heat flux can be expressed in terms of only known
quantities:
Qh
B
Q 1 c g Qf
1 B
(2-48)
Once the sensible heat flux is known, the Monin-Obukhov length and surface friction velocity are
computed by iteration.
u k u / ln z / zo m z / L m zo / L
where, zo
m
k
u
(2-49)
L
where, T
cp
cp T u
k g Qh
(2-50)
Eqn. (2-49) is used to obtain an initial guess for u* assuming neutral conditions (L = Q). This value of u*
is used in Eqn. (2-50) to estimate L. A new value for u* is then computed with Eqn. (2-49) and L. The
procedure is repeated until convergence is obtained. Holtslag and van Ulden (1983) report that three
iterations are usually sufficient.
During stable conditions, Weil and Brower (1983) compute u* with the following method based on
Venkatram (1980a):
u
I:\calmet\nov99\sect2.wpd
CDN u
2
1 C 1/2
2-26
(2-51)
C 1
4uo
(2-52)
zm g
uo
where, CDN
zm
(C A 0)
CDN u 2
(2-53)
(2-54)
(2-55)
and *2 is:
2
T CDN u 2
(2-56)
4 zm g
(2-57)
I:\calmet\nov99\sect2.wpd
2
ht
2 Qh 1 E dt
1 c p
2 dt ht
2-27
1/2
dtdt
1
(2-58)
dtdt
where, 1
d
E
2 1 E Q h d t
1/2
cp
(2-59)
The potential temperature lapse rate is determined through a layer above the previous hour's convective
mixing height. If only routinely available, twice-daily sounding data are available, the morning (1200
GMT) sounding at the nearest upper air station is used to determine 1 up to 2300 GMT. After 2300
GMT, the afternoon sounding (0000 GMT) is used. If more frequent sounding data are available at nonstandard sounding times, the latest sounding (day or night) is used to determine 1.
The neutral (mechanical) boundary layer height is estimated by Venkatram (1980b) as:
h
where, f
B
NB
B u
f NB 1/2
(2-60)
The daytime mixing height could then be taken as the maximum of the convective and mechanical values
predicted by Eqns. (2-58) and (2-60), however, such a procedure could cause the resulting x-y field of
mixing heights to have unreasonably large cell-to-cell variations, as each grid cell's values of ht and h are
computed independently. Such an independent, cell-by-cell computation would also not include
important advective effects on the mixing depths, such as the significant reduction of inland mixing
depths during sea or lake breeze conditions.
Several researchers (e.g., Wheeler, 1990; Tesche et al., 1988; Steyn and Oke, 1982) have suggested
various upwind-looking mixing depth averaging schemes involving estimation of back trajectories or
computation of lateral advection of heat fluxes. As CALMET is explicitly marched in time, a rather
simple scheme has been incorporated which approximates the back trajectory methodology. For a given
grid cell (i,j), the most upwind grid cell which could directly impact cell (i,j) during the time step, dt, is
computed as (iu = i - u`dt, ju = j - v`dt), where (u,v) are the wind components at cell (i,j). An
upwind-looking cone, originating at (i,j) and having a user-selected, half-opening-angle of HAFANG
(i.e., a full cone opening angle of twice HAFANG), is then generated such that grid point (iu,ju) sits at the
I:\calmet\nov99\sect2.wpd
2-28
middle of the base of the triangular cone. For each grid cell (ik,jk) lying within or on the boundaries of
the triangular region, upwind and crosswind distances, du and dc, respectively, are computed in units of
number of grid cells, and a weighting factor,
2
wk 1 / d u 1 dc 2 ,
(2-61)
wk
wn
(2-62)
where the sum on n extends over all the grid points encompassed by the triangle. In addition, weights
computed via Eqn. (2-61) are also computed for a square box of user-defined half-width of MNMDAV
grid cells and centered on cell (i,j). The purpose of including this supplementary square box region is to
allow some intercell averaging to occur even when the mean advective wind goes to zero. Hence, a
reasonable value for MNMDAV would be of order v`dtDdx, which is usually of order unity in many
mesoscale applications. For those cells which are actually downwind, such that du < 0, the quantity du in
the Eqn. (2-61) weight is replaced by the quantity duk = - du, where is the Courant number or the height
of the triangle from its base at (iu,ju) to the vertex at (i,j). This ensures that downwind cells receive rather
small weighting but ensures complete azimuthal symmetry as the wind speed (and ) goes to zero.
The weights, wik, appropriately normalized via Eqn. (2-62) for all points lying in the triangular or square
box regions, are then applied to the fields of convective and effective daytime (i.e., the maximum of ht
and h) mixing depths to produce smoothed equivalents, and these fields are stored for use in the current
hour. In addition, it is the spatially smoothed convective ht which is used for the next hour's computation
using Eqn. (2-58). Thus, there is a cumulative effect on the convective ht calculation, comparable to the
effect of computing a multiple time step, back trajectory.
The user may switch the spatial averaging option on or off via the control file variable IAVEZI (see Input
Group 6 variables). Also specified are the half-width of the square box for averaging (MNMDAV), the
half-opening-angle of the upwind sector (HAFANG), and the layer of winds to use for the advection
calculation (ILEVZI).
In the stable boundary layer, mechanical turbulence production determines the vertical extent of
dispersion. Venkatram (1980a) provides the following empirical relationship to estimate the stable
mixing height:
3/2
h1 B2 u
I:\calmet\nov99\sect2.wpd
2-29
(2-63)
uL
(2-64)
CALMET defines the stable overland boundary layer height as the minimum of h1 and h2.
In the convective boundary layer, the appropriate velocity scale is w*, which can be computed directly
from its definition using the results of Eqns. (2-48) and (2-58).
w g Qh h t / T cp
1/3
(2-65)
(2-66)
The friction velocity can then be determined from the definition of the drag coefficient:
1/2
u u CuN
(2-67)
Because of the importance of the latent heat flux over water, virtual potential temperatures are used in the
definition of the Monin-Obukhov length. Hanna et al. (1985) express L as:
I:\calmet\nov99\sect2.wpd
2-30
3/2
L
v Cun u 2
E2 v vs
(2-68)
where, v, vs are the virtual potential temperatures (NK) of the air and water,
u
is the 10-m wind speed (m/s), and
is a constant (5.096 x 10-3).
E2
Over water, due to the effect of the wind on wave height, the surface roughness length varies. CALMET
employs a relationship derived by Hosker (1974) to express the surface roughness (m) in terms of the 10
m wind speed (m/s):
z0 2.0 x 106 u 2.5
(2-69)
Hosker's result is based on the analysis of Kitaigorodskii (1973) showing zo B u*2 and the logarithmic
wind speed profile relating wind speed and u*.
The overwater mixing height can be specified by the user in the mixing height field of the SEA.DAT
files (see Section 4.2.5) or computed internally using the neutral barotropic scaling relationship
(Blackadar and Tennekes, 1968):
hwater
where cw
u*
f
c w . u
(2-70)
is a constant (J0.16),
is the friction velocity (m/s), and
is the Coroilis parameter (J 10-4 s-1).
The values of cw and f can be changed by the user from their default values (see the variables CONSTW
and FCORIOL in Input Group 6).
If the overwater mising heights are specified in the SEA.DAT files, the gridded overwater mixing height
field is calculated using a 1/r2 weighting of all non-missing mixing heights specified in the files.
2.3.2
When the CALMET model is run with the CALGRID output flag set (i.e., LCALGRD = .TRUE.), a
module is called which simulates a three-dimensional temperature field based on upper air and surface
I:\calmet\nov99\sect2.wpd
2-31
temperature data and on an estimate of the local convective mixing depth, previously determined using
the energy balance method. Additionally, overwater temperatures optionally can be treated separately
(see Section 2.3.2.1). The principal steps involved in generating the temperature field include the
following:
1)
linear spatial interpolation of the upper air temperature data from each sounding onto the desired
vertical mesh;
2)
3)
computation of the 1/r2 relative weights of each upper air station to the (i,j)th grid column in
question. (The distance is formulated in dimensionless units of grid cells with a maximum
weight of 1.0 equivalent to an upper air station in the adjacent grid cell.);
4)
use of these 1/r2 weights to compute a spatially-averaged temperature field in each column (i,j)
and at all vertical levels, k. (This 3-D temperature field Tijk is based solely on upper air data.);
5)
replacement of the surface level temperatures, Tijk, with a spatially weighted average of surface
station temperature observations for the current hour. (The dimensionless weighting factors, are
based on the distance, r, from the (i,j)th grid cell to the various surface meteorological stations
and can be defined to be 1/r or 1/r2 through the IRAD input variable . A maximum weight of 1.0
is allowed.); and
6)
recomputation of the temperatures above the surface and up to and including the layer containing
the convective mixing height by assuming an adiabatic lapse rate, , of -0.0098 bC/m between
the surface and the convective layer height. (It should be noted that temperatures in the level
containing the convective mixing lid are computed as a layer-thickness-weighted, 3-point average
involving the two cell-face temperatures and the temperature at the lid height.)
all available upper air station data for the most current soundings straddling the current
time,
ii)
iii)
I:\calmet\nov99\sect2.wpd
2-32
The user optionally can apply the spatial averaging method described in Section 2.3.1 to the threedimensional temperature field (through input variable IAVET), using the MNMDAV and HAFANG
values specified for mixing heights.
2.3.2.1 Overwater Temperatures
Because of the important effect of water bodies on temperature and the strong temperature gradients that
can exist at coastal boundaries, CALMET can calculate overwater temperatures separately by use of
overwater data (e.g., buoy data in the SEA.DAT files). Over land, temperatures still are calculated as
described above, with the exception that overwater stations are not included in the surface-level
interpolation. Spatial averaging optionally can be applied to the entire temperature field through use of
IAVET options (see Input Group 6). Such averaging may be desirable to moderate the temperatures
along the coastline.
The overwater interpolation of temperatures is user-controlled by the selection of the land use categories
for which the overwater data in the SEA.DAT file is applied (see JWAT1, JWAT2 in Input Group 6).
For example, the default values of JWAT1 and JWAT2 are set so that the SEA.DAT temperature
interpolation scheme is applied only to oceans and seas, rather than smaller water bodies, such as lakes or
ponds. To disable the overwater temperature interpolation scheme, JWAT1 and JWAT2 can be set to
large values, outside the range of the land use data in the GEO.DAT file (e.g., 9999).
For the specified water body, surface temperatures (CALMET Layer 1) are based only on the overwater
station observations found in the SEAn.DAT input files. Temperatures in the remaining vertical layers
over water are based on user-specified, time-varying lapse rates (from the SEAn.DAT files) or constant
default lapse rates. Separate lapse rates are specified below and above the overwater mixing height. The
default values for the lapse rates are >0.0098 K/m below the mixing height (dry adiabatic lapse rate) and
>0.0045 K/m above the mixing height (moist adiabatic lapse rates). Spatially-weighted averaging can be
based on either 1/r or 1/r2, depending on the IRAD switch.
2.3.3
Precipitation Interpolation
CALMET uses observations of hourly precipitation amounts to produce gridded precipitation fields.
There are three options available for computing the precipitation fields:
1/d interpolation
1/d2 interpolation
1/d2-exponential interpolation function
I:\calmet\nov99\sect2.wpd
2-33
The selection of the interpolation method is controlled by the NFLAGP variable in Input Group 6 of the
CALMET control file. The default method in CALMET is the 1/d2 technique (NFLAGP = 2), based on
the recommendations of Dean and Snydor (1977), Wei and McGuinness (1973).
In the 1/d and 1/d2 methods, the precipitation at grid point (i,j) is given by:
n
R k /dk
Ri, j
(2-71)
1 /dk
K
Ri,j
Rk ] e
dk
(2-72)
I:\calmet\nov99\sect2.wpd
d k /2
d k /2
2
dk
2-34
where is a distance weighting factor (km), and the other variables are as defined above.
The 1/d2-exponential weighting option is selected by setting NFLAG = 3 in the CALMET control file. In
this instance, the "radius of influence" concept is replaced by the exponential weighting factor. The
variable SIGMAP in the control file is used to specify the value of . The minimum values of d and ri,j
discussed above also apply if Eqn. (2-72) is used.
The user has the option to internally compute the distance weighting factor, , dynamically by setting the
value of SIGMAP to zero in the control file. CALMET will compute each hour as one-half the
minimum distance between any two observational stations with non-zero precipitation rates.
I:\calmet\nov99\sect2.wpd
2-35
Memory Management
A flexible memory management system is used in CALMET which facilitates the user's ability to alter
the dimension of the major arrays within the code. Arrays dealing with the number of horizontal or
vertical grid cells, meteorological stations, barriers, land use types, and several other internal parameters
are dimensioned throughout the code with parameter statements. The declaration of the values of the
parameters are stored in a file called "PARAMS.MET." This file is automatically inserted into any
CALMET subroutine or function requiring one of its parameters via FORTRAN "include" statements.
Thus, a global redimensioning of all of the model arrays dealing with the number of vertical layers, for
example, can be accomplished simply by modifying the PARAMS.MET file and recompiling the
program.
The parameter file contains variables which set the array dimensions or the maximum allowed number of
vertical layers, or horizontal grid cells, etc. The actual value of the variables for a particular run is set
within the user input file (i.e., the control file), and can be less than or equal to the maximum value set by
the parameter file.
A sample parameter file is shown in Table 3-1. In addition to the parameters specifying the maximum
array dimensions of the major model arrays, the parameter file also contains variables determining the
Fortran I/O unit numbers associated with each input and output file. For example, the input control file
(IO5) and output list file (IO6) are usually associated with unit numbers 5 and 6. However, if these units
are reserved on a particular computer system, these files can be redirected to other non-reserved units by
setting IO5 and IO6 equal to 15 and 16, for example, in the PARAMS.MET file.
It is important to note that the unit numbers associated with the upper air data files and the overwater
station files require a range of values, starting at IO30 and IO80, respectively. For example, in a run with
10 upper air stations and IO30 = 30, unit numbers 30 through 39 would be assigned to the UP.DAT files.
If the user redefines the maximum number of upper air stations (MXUS) or overwater stations
(MXOWS), it may be necessary to also redefine some of the unit number parameters to avoid conflicts
involving overlapping unit numbers.
3.2
Execution of the CALMET model is divided into three major phases: setup, computational, and
termination (see Figure 3-1). In the setup phase of the model execution, a variety of initialization and
one-time I/O and computational operations are performed, including the following:
I:\calmet\nov99\SECT3.wpd
3-1
Table 3-1
Sample CALMET Parameter File
c---------------------------------------------------------------------c --- PARAMETER statements -- CALMET model
c---------------------------------------------------------------------c
c --- Specify model version
character*8 mver,mlevel
parameter(mver='5.1',mlevel='991104')
c
c --- Specify parameters
parameter(mxnx=110,mxny=110,mxnz=12)
parameter(mxss=25,mxus=20,mxps=60,mxows=15)
parameter(mxlev=79,mxlu=52)
parameter(mxbar=20,mxbox=5,mxwb = 1)
parameter(mxsg=9,mxvar=60,mxcol=132)
parameter(mxnxp=40,mxnyp=40,mxnzp=30)
parameter(io5=15,io6=16)
parameter(io2=2,io7=7,io8=8,io10=10,io12=12)
parameter(io19=19,io20=20)
parameter(io21=21,io22=22,io23=23,io24=24,io25=25,io26=26)
parameter(io30=30)
parameter(io80=80)
parameter(io98=98)
c
c --- Compute derived parameters
parameter(mxwnd=mxss+mxows+mxus)
parameter(mxtmp=mxss+mxows)
parameter(mxnzp1=mxnz+1)
parameter(mxnzm1=mxnz-1)
parameter(mxxy=mxnx*mxny)
parameter(mxbxwnd=mxwnd*mxbox)
parameter(mxxyz=mxnx*mxny*mxnz)
parameter(mxadd=mxlev+mxnzp1)
parameter(mxwk3=mxwnd+2*mxnz+3)
c
c --- GENERAL GRID and MET. definitions:
c
MXNX
- Maximum number of X grid cells
c
MXNY
- Maximum number of Y grid cells
c
MXNZ
- Maximum number of layers
c
MXSS
- Maximum number of surface meteorological stations
c
MXUS
- Maximum number of upper air stations
c
MXPS
- Maximum number of precipitation stations
c
MXOWS
- Maximum number of overwater stations
c
MXBAR
- Maximum number of barriers allowed
c
MXBOX
- Maximum number of seabreeze regions allowed
c
MXWB
- Maximum number of water bodies that will be treated
c
separately in the temperature interpolation
c
(currently must be 1!)
c
MXLEV
- Maximum number of vertical levels in upper air
c
data input files
c
MXLU
- Maximum number of land use categories
c
MXNXP
- Maximum number of X grid cells in the prognostic
c
wind model's grid
c
MXNYP
- Maximum number of Y grid cells in the prognostic
c
wind model's grid
c
MXNZP
- Maximum number of layers in the prognostic
c
wind model's grid
c
c --- CONTROL FILE READER definitions:
c
MXSG
- Maximum number of input groups in control file
c
MXVAR
- Maximum number of variables in each input group
c
MXCOL
- Maximum length (bytes) of a control file input record
c
c --- FORTRAN I/O unit numbers:
c
IO5
- Control file (CALMET.INP)
- input - formatted
c
c
IO6
- List file (CALMET.LST)
- output - formatted
c
c
IO2
- Preprocessed met. data for
- input - formatted
c
diagnostic wind module
c
(DIAG.DAT)
I:\calmet\nov99\SECT3.wpd
3-2
I:\calmet\nov99\SECT3.wpd
3-3
Start
SETUP
Computational phase - basic time loop with time-dependent I/O and all
scientific modules.
COMP
FIN
STOP
Figure 3-1.
Flow diagram showing the subroutine calling sequence in the CALMET MAIN
program.
I:\calmet\nov99\SECT3.wpd
3-4
I:\calmet\nov99\SECT3.wpd
3-5
I:\calmet\nov99\SECT3.wpd
3-6
Enter SETUP
DATETM
READCF
WRFILES
OPENOT
READGE
SETCOM
READHD
MICROI
- Read the header records of the input meteorological data files and
perform consistency checks with the control file inputs.
- Perform setup computations for the boundary layer models.
DIAGI
OUTHD
OUTPC1
or
RDWT
Figure 3-2.
Flow diagram showing the subroutine/function calling sequence in the subroutine SETUP
(Setup Phase).
I:\calmet\nov99\SECT3.wpd
3-7
Enter COMP
+)))
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
GRDAY
SOLAR
+))))
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
Figure 3-3.
RDS
MISSFC
RDCLD
OUT
RDP
RDOW
DIAG2
INDECR
+))))
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
.))))
RDUP
DEDAT
DELTT
VERTAV
FACET
Flow diagram showing the subroutine/function calling sequence in the subroutine COMP
(Computational Phase).
I:\calmet\nov99\SECT3.wpd
3-8
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
PREPDI
Write the gridded PGT stability class field to the output list file
(CALMET.LST).
Compute the sensible heat flux at grid points over land using
the energy balance method.
DIAGNO
OUT
WATER
PGTSTB
OUT
HEATFX
AIRDEN
ELUSTR
OUT
MIXHT
AVEMIX -
OUT
WSTARR -
OUT
GRIDE
OUT
I:\calmet\nov99\SECT3.wpd
3-9
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
.)))
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
.)))))
TEMP3D
OUT
OUTHR
OR
PACAVE -
OUTPC
OUTCLD
3-10
Enter DIAGNO
XMIT
+)))
*
*
*
*
*
.)))
XMIT
TOPOF2
MINIM
WINDPR
OUTFIL
(Continued)
Figure 3-4.
Flow diagram showing the subroutine calling sequence in the major wind field computational routine
(subroutine DIAGNO).
I:\calmet\nov99\SECT3.wpd
3-11
FRADJ
WINDPR2
OUTFIL
HEATFX
AIRDEN
ELUSTR
SLOPE
WINDPR2
OUTFIL
WINDBC
- Print a gridded map of U,V wind fields after slope flow effects to
the output file TEST.PRT (if IPR7=1).
- Write gridded U,V fields in F7.2 format and W fields in E8.2 format to the
output file TEST.SLP (if IPR7=1 and IOUTD=1).
- Recompute boundary conditions (Final diagnostic Step 1 wind field).
AS
PROGRD
- Read and interpolate the CSUMM prognostic model results to CALMET grid
system (Final prognostic Step 1 wind field) (if IPROG=1 and IWFCOD=0).
RDMM4
OR
I:\calmet\nov99\SECT3.wpd
3-12
OR
RDMM5
INTER2
INTERP
LLBREEZ
WNDPR2
- Print gridded maps of interpolated U,V wind fields (if IPRO > 0).
ADJUST
WINDBC
WNDPR2
- Print gridded maps of the adjusted U,V wind fields (if IPR1 > 0).
SMOOTH
DIVCEL
WINDBC
Apply the O'Brien procedure to adjust the vertical velocity field (if IOBR=1).
WINDPR
DIVPR
- Print gridded maps of the U,V,W wind fields to the output file TEST.PRT
(if IPR2>0).
- Print the divergence fields to the output file TEST.PRT (if IPR2>0).
MINIM
WINDPR
- Print gridded maps of the final U,V,W wind fields to the output file TEST.PRT
(if IPR8>0).
3-13
DIVPR
RTHETA
OUTFIL
Return to COMP
I:\calmet\nov99\SECT3.wpd
3-14
4. USER INSTRUCTIONS
4.1 Meteorological Preprocessor Programs
4.1.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 CD-ROM 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 4-1 contains
a listing of the input and output files for READ62.
I:\calmet\nov99\sect4.wpd
4-1
The READ62 control file includes two records of data entered in FORTRAN free format, followed by
three lines containing file names in character format. A description of each input variable is shown in
Table 4-2. A sample input file is shown in Table 4-3. The output list file is shown in Table 4-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 bypassed, and a comma-delimited UP.DAT file can be easily prepared from
non-NCDC data by following the format discussed in Section 4.3.3. Sample UP.DAT files in both formats
are shown in Table 4-5.
I:\calmet\nov99\sect4.wpd
4-2
Table 4-1
READ62 Input and Output Files
Unit
File Name
Type
Format
Description
READ62.INP
input
formatted
READ62.LST*
output
formatted
TD6201.DAT*
or
NCDC_U.DAT*
input
formatted
input
formatted
UP.DAT*
output
formatted
Default file names. Actual file names are specified by the user in the control file (READ62.INP). Note that
the control file must be called READ62.INP.
I:\calmet\nov99\sect4.wpd
4-3
Table 4-2
READ62 Control File Inputs
RECORD 1
Columns
Variable
Type
Description
IBYR
integer
IBDAY
integer
IBHR
integer
IEYR
integer
IEDAY
integer
IEHR
integer
PSTOP
real
JDAT
integer
IFMT
integer
I:\calmet\nov99\sect4.wpd
4-4
RECORD 2.
Columns
Variable
Type
Description
LHT
logical
LTEMP
logical
LWD
logical
LWS
logical
I:\calmet\nov99\sect4.wpd
4-5
Record
3
File names.
Variable
Default
Type*
Description
INDATFIL
td6201.dat
or
ncdc_u.dat
a70
a70
UPDATFIL
up.dat
a70
LSTFIL
read62.lst
a70
READ62 constructs the file name from the first 70 characters in each record. Leading blanks are stripped
from the file name, and characters within the 70-character field after the end of the file name (defined by the first
blank character after the file name) are ignored. Thus, comments within the 70-character field are allowed. Records
3, 4, and 5 must be present in the control file. However, if they contain blank fields, READ62 will assign the
default file names.
I:\calmet\nov99\sect4.wpd
4-6
Table 4-3
Sample READ62 Control File (READ62.INP)
td6201.dat
up.dat
read62.lst
I:\calmet\nov99\sect4.wpd
4-7
Table 4-4
Sample READ62 Output List file
READ62
STARTING DATE:
VERSION 4.0
LEVEL 961113
ENDING DATE:
YEAR =
JULIAN DAY =
HOUR =
93
7
0 (GMT)
YEAR =
JULIAN DAY =
HOUR =
93
8
0 (GMT)
500. MB
DATA FILENAMES:
Input upper air file: td6201.dat
Output upper air file: up.dat
Output list file:
read62.lst
THE FOLLOWING SOUNDINGS HAVE BEEN PROCESSED:
YEAR
MONTH
93
93
93
1
1
1
DAY
7
7
8
JULIAN DAY
7
7
8
EOF ON INPUT
LAST YR,DAY READ =
I:\calmet\nov99\sect4.wpd
HOUR (GMT)
0
12
0
93,
4-8
Table 4-5
Sample UP.DAT files
(a)
93
7
0
93
8
0 500.
1
1
F
F
F
F
6201
01
93 1 7 0
40
917.0/1350./269.0/160/ 2
850.0/1650./266.0/160/
500.0/5510./264.0/210/ 8
6201
01
93 1 712
72
917.0/1350./263.0/160/ 0
850.0/1650./264.0/160/
6201
01
93 1 8 0
79
917.0/1350./269.0/160/ 2
850.0/1650./266.0/160/
(b)
5
800.0/1850./264.0/160/
2
0
4
800.0/1850./264.0/160/
4
800.0/1850./264.0/160/
790.0/1870./263.9/165/
500.0/5510./264.0/210/
500.0/5510./264.0/210/
95
32
0
95 292
F
F
F
F
9999
00005
95 2
826.0,1695.,281.5, 0,
784.0,2130.,280.2,125,
676.0,3327.,273.3,307,
600.0,4277.,267.8,323,
520.0,5393.,261.6,316,
I:\calmet\nov99\sect4.wpd
23 500.
1 0
0.2
1.1
18.5
29.3
26.2
57
824.0,1720.,280.9, 0,
750.0,2492.,277.7,309,
650.0,3644.,271.0,315,
595.0,4345.,267.8,323,
500.0,5685.,259.6,310,
1.1
3.2
20.7
29.6
27.3
18
816.0,1795.,281.3,318, 1.4
715.0,2876.,276.6,308, 10.1
626.0,3939.,268.9,320, 24.2
550.0,4955.,263.6,322, 30.2
4-9
800.0,1962.,280.7,220, 1.2
700.0,3052.,275.3,306, 13.2
605.0,4206.,267.8,322, 28.5
549.0,4969.,263.4,322, 29.6
4.1.2
METSCAN is a meteorological preprocessing program which screens a data file containing hourly
surface observations for missing, duplicate, or invalid data. METSCAN operates on a data file in the
NCDC 80-Column format (CD-144) or the NCDC CD-ROM (SAMSON) surface data format. The
program performs quality assurance checks on the wind speed, wind direction, temperature, opaque cloud
cover, ceiling height and relative humidity fields. The value of each variable is compared to an allowed
range (e.g., wind direction in tens of degrees must be within the range from 0-36). Consistency checks
are performed between the cloud cover and ceiling height variables (e.g., only an "unlimited" ceiling
height is allowed under clear conditions). In addition, large hourly changes in temperature and relative
humidity are flagged.
METSCAN flags records if any meteorological variable checked is outside its "normal" range. A
warning message is written indicating which variable is triggering the flag, followed by the CD144 data
record read from the file.
Two input files are required by METSCAN: a user input control file (METSCAN.INP) and the NCDC
80-column surface data file (CD144.DAT). The program writes the warning messages to an output file
(METSCAN.LST). The contents and format of the METSCAN input and output files are summarized in
Table 4-6.
The METSCAN control file uses the FORTRAN Namelist input format. The variables in the control file
allow the user to set the variable ranges so that excessive spurious warning messages can be avoided. A
description of each METSCAN input variable is contained in Table 4-7. A sample input file is shown in
Table 4-8.
The user should check each warning message written to the output list file (METSCAN.LST) to see if the
data flagged are valid. A sample output file containing typical warning messages is shown in Table 4-9.
It should be noted that an error in the date/hour field of a data record, indicating a missing or duplicate
record, will produce a fatal error resulting in the termination of the METSCAN run. Validity of
barometric pressure is not checked by METSCAN, and should be verified by the user.
I:\calmet\nov99\sect4.wpd
4-10
Table 4-6
METSCAN Input and Output Files
Unit
File Name
Type
Format
Description
METSCAN.INP
input
formatted
METSCAN.LST
output
formatted
CD144.DAT
input
formatted
I:\calmet\nov99\sect4.wpd
4-11
Table 4-7
METSCAN Control File Inputs (Namelist Format)
NAMELIST: OPTS
Variable
Type
Description
Default
Value
ID
integer
Station ID (5 digits)
IYR
integer
IEXPMO
integer
IEXPDY
integer
IEXPHR
integer
JWSMN
integer
JWSMX
integer
40
JTMIN
integer
JTMX
integer
100
JDELT
integer
15
JTOLD
integer
IDELT
integer
20
JRHOLD
integer
Relative humidity (%) for the hour preceding the first hour
of the data file (used to evaluate the hourly relative
humidity change for the first hour of the run)
60
JCMX
integer
350
MINCC
integer
JRHMIN
integer
10
IHROP(0:23)
integer array
24*1
JDAT
integer
*
**
I:\calmet\nov99\sect4.wpd
4-12
Table 4-8
Sample METSCAN Control File (METSCAN.INP)
I:\calmet\nov99\sect4.wpd
4-13
Table 4-9
Sample METSCAN Output List File (METSCAN.LST)
RUNTIME CALL NO.:
DATE: 04/01/94
TIME: 12:55:38.59
year: 89
&OPTS ID=23023,IYR=89,IEXPMO=1,IEXPDY=1,IEXPHR=0,JWSMN=2,JWSMX=40,
JTMX=105,JTMIN=0,JDELT=15,JTOLD=35,MINCC=3,JCMX=350,IHROP=1,1,1,1,1,1,
1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,JRHMIN=5 &END
delta temp. flag -- jtemp =
2302389 1 610---
55
47
jtold = 39
28 4
jdelt = 15
55
40
jtold = 32
28 4
jdelt = 15
47
34
jmo =
I:\calmet\nov99\sect4.wpd
jday = 16
jhr =
TIME: 12:55:39.57
4-14
4.1.3
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 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, or NCDC Hourly U.S. Weather Observations (HUSWO) CDROM 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
PC
RRR
Word 2:
pPPPPCCWWW --
pPPPP
CC
WWW
Word 3:
HHHHSSSS --
HHHH
SSSS
I:\calmet\nov99\sect4.wpd
4-15
Temperature
Precipitation code
Relative humidity
Station pressure
Opaque sky cover
Wind direction
Ceiling height
Wind speed
= 273.5 deg. K
= 12
= 88 percent
= 1012.4 mb
= 8 tenths
= 160 degrees
= 120 hundreds of ft
= 5.65 m/s
I:\calmet\nov99\sect4.wpd
4-16
Table 4-10
SMERGE Input and Output Files
Unit
File Name
Type
Format
Description
input
unformatted
or
formatted
output
unformatted
or
formatted
SMERGE. INP
input
formatted
SMERGE.LST
output
formatted
input
formatted
input
formatted
.
.
.
(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.)
I:\calmet\nov99\sect4.wpd
4-17
Table 4-11
Sample SMERGE Control File Inputs
(SMERGE.INP)
(a)
7
2
0
1
93 01 07 00 93 01 07 05
firstrun.dat
N
3
cd144.in1
00001 7
cd144.in2
00002 7
cd144.in3
00003 7
(b)
!
!
!
!
!
!
!
!
!
!
!
!
7
2
0
1
93 01 07 00 93 01 07 05
surf.dat
Y
firstrun.dat
1
cd144.in4
00004 7
2 -999
I:\calmet\nov99\sect4.wpd
!
!
!
!
!
!
!
!
!
4-18
Table 4-12
SMERGE Control File Inputs (SMERGE.INP)
Line
Variable
Type
Description
IOTZ
integer
IOFORM
integer
IOPACK
integer
JDAT
integer
IBYR
integer
IBMO
integer
Beginning month
IBDAY
integer
Beginning day
IBHR
integer
IEYR
integer
IEMO
integer
Ending month
IEDAY
integer
Ending day
IEHR
integer
OUTFIL
character*70
CFLAG
character*1
PREVFIL
character*70
NFF
integer
6a
CFFILES
character*70
6b
IFSTN
integer
Station ID number
6b
ISTZ
integer
I:\calmet\nov99\sect4.wpd
4-19
-------------------------------------------------------------------------------------------The next records are read only if using input data from a previous SMERGE surface data file
(CFLAG=y)
Line
Variable
Type
Description
INFORM
integer
NBSTN
integer
NEXT RECORDS.
Line
Variable
Type
Description
7a
IBSTN
integer
I:\calmet\nov99\sect4.wpd
4-20
Table 4-13
Sample SMERGE Output List File
(SMERGE.LST)
Station
ID
Time Zone
14764
WS
0
1/ 8/90
WD ICEIL
0
0
1:00
ICC TEMPK
0
0
to
1/15/90
IRH
0
PRES
0
0:00
********************
Data Read from Existing Surface Data Input File:
Time Zone:
5
File Format (1=unformatted,2=formatted):
Packing Code: 0
Period (in time zone 5):
1/ 8/90
1:00
to
1/15/90
14606
14611
14745
0:00
No.
4
ID
14742
********************
14606
14611
I:\calmet\nov99\sect4.wpd
14745
2
No.
4
4-21
ID
14742
No.
5
ID
14764
Table 4-14
Sample SURF.DAT Output Data File
(SURF.DAT)
90
8
14606
90
8
0.000
5.144
2.572
5.144
4.100
90
8
2.572
3.087
3.601
0.000
4.100
90
8
0.000
0.000
0.000
3.087
4.100
90
8
0.000
0.000
0.000
5.144
2.600
90
8
0.000
0.000
0.000
4.630
2.600
90
8
2.572
0.000
0.000
4.116
1.500
1 90
8
6
5
5
14611
14745
14742
14764
1
0.000
50
10 270.928
85
220.000 999 9999 273.150
61
190.000 999
0 268.706
85
190.000
37
10 275.372
62
220.000 129
8 272.550
69
2
190.000
50
9 270.928
85
250.000 999 9999 272.594
67
180.000 999
0 269.261
85
0.000
37
10 274.817
67
230.000 129
9 272.550
69
3
0.000
50
10 271.483
85
0.000 999 9999 272.039
66
0.000 999
0 264.817
96
240.000
37
10 275.372
64
220.000 999
3 272.550
69
4
0.000
50
10 271.483
85
0.000 999 9999 272.039
66
0.000 999
0 265.372
96
250.000
43
10 275.372
64
230.000 999
0 272.050
75
5
0.000
50
9 271.483
85
0.000 999 9999 272.039
66
0.000 999
0 264.261
92
210.000
50
10 275.928
62
320.000 999
0 270.950
82
6
220.000 999
2 272.039
89
0.000 999 9999 270.928
69
0.000 999
0 263.706
92
210.000
50
10 275.928
59
200.000 999
0 269.850
85
I:\calmet\nov99\sect4.wpd
1001.358
1005.083
997.295
996.956
1007.000
0
0
0
0
0
1001.020
1005.422
997.295
997.295
1007.000
0
0
0
0
0
1001.358
1005.761
997.972
998.311
1008.000
0
0
0
0
0
1001.697
1006.099
998.311
998.649
1008.000
0
0
0
0
0
1001.697
1006.777
998.988
998.988
1009.000
0
0
0
0
0
1002.036
1007.454
1000.004
999.665
1009.000
0
0
0
0
0
4-22
4.1.4
PXTRACT is a preprocessor program which extracts precipitation data for stations and time periods of
interest from a fixed length, formatted precipitation data file in NCDC TD-3240 format. The TD-3240
data used by PXTRACT must be in fixed record length format (as opposed to the variable record length
format, which is also available from NCDC). 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 usually involve limited spatial domains of tens of kilometers or
less 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 4.1.5).
NOTE: If wet removal is not to be considered by the CALPUFF or MESOPUFF II dispersion models, no
precipitation processing needs to be done. PXTRACT (and PMERGE) are required only if wet removal
is an important removal mechanism for the modeling application of interest. In addition, if wet removal
is a factor, the user has the option of creating a free-formatted precipitation data file that can be read by
CALMET. This option eliminates the need to run the precipitation preprocessing programs for short
CALMET runs (e.g., screening runs) for which the data can easily be input manually.
The input files used by PXTRACT include a control file (PXTRACT.INP) containing user inputs, and a
data file (TD3240.DAT) containing the NCDC data in TD-3240 format. The precipitation data for
stations selected by the user are extracted from the TD3240.DAT file and stored in separate output files
(one file per station) called xxxxxx.DAT, where xxxxxx is the station identification code. PXTRACT
also creates an output list file (PXTRACT.LST) which contains the user options and summarizes the
station data extracted. Table 4-15 contains a summary of PXTRACT's input and output files.
The PXTRACT control file contains the user-specified variables which determine the method used to
extract precipitation data from the input data file (i.e., by state, by station, or all stations), the appropriate
state or station codes, and the time period to be extracted. A sample PXTRACT control file is shown in
Table 4-16. The format and contents of the file are described in Table 4-17.
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)
I:\calmet\nov99\sect4.wpd
4-23
record will also be extracted to complete the information necessary for PMERGE to interpret the data
correctly. A sample output list file is shown in Table 4-18. The PXTRACT output data files consist of
precipitation data in TD-3240 format for the time period selected by the user. Each output data file
contains the data for one station. A sample output file is shown in Table 4-19.
I:\calmet\nov99\sect4.wpd
4-24
Table 4-15
PXTRACT Input and Output Files
Unit
File Name
Type
Format
Description
PXTRACT.INP
input
formatted
TD3240.DAT
input
formatted
PXTRACT.LST
output
formatted
id1.DAT
(id1 is the
6-digit station
code for station
#1, e.g., 040001)
output
formatted
id2.DAT
(id2 is the
6-digit station
code for station
#2, e.g., 040002)
output
formatted
.
.
.
(Up to 200 new precipitation data files are allowed by PXTRACT).
I:\calmet\nov99\sect4.wpd
4-25
Table 4-16
Sample PXTRACT Control File (PXTRACT.INP)
2
17
412360
417943
417945
412797
415890
410174
411492
412679
412811
415048
415596
416104
416736
416792
418023
418252
419270
89 01 01 01 89 01 15 24
I:\calmet\nov99\sect4.wpd
4-26
Table 4-17
PXTRACT Control File Inputs (PXTRACT.INP)
RECORD 1.
Columns
Variable
Type
Description
ICODE
integer
Selection code:
I:\calmet\nov99\sect4.wpd
4-27
1=
2=
3=
RECORD 2.
Columns
Variable
Type
Description
integer
If ICODE = 1:
Number of state codes to follow
If ICODE = 2:
Number of station codes to
follow
I:\calmet\nov99\sect4.wpd
4-28
Columns
Format
Variable
Description
1-6
I6
IDAT
If ICODE = 1:
State code (two digits)
If ICODE = 2:
Station code (six digits)
consisting of state code (two
digits) followed by station ID
(four digits)
I:\calmet\nov99\sect4.wpd
4-29
NEXT RECORD.
Columns
Format*
Variable
Description
1-2
I2
IBYR
4-5
I2
IBMO
Beginning month
7-8
I2
IBDAY
Beginning day
10-11
I2
IBHR
13-14
I2
IEYR
16-17
I2
IEMO
Ending month
19-20
I2
IEDAY
Ending day
22-23
I2
IEHR
I:\calmet\nov99\sect4.wpd
4-30
Table 4-18
Sample PXTRACT Output List File (PXTRACT.LST)
PXTRACT OUTPUT SUMMARY
VERSION: 1.0
LEVEL: 901130
RUNTIME CALL NO.:
DATE: 04/04/94
TIME: 13:35:33.67
1/ 1/89
1:00
to
1/15/89
24:00
ID
No.
ID
No.
ID
No.
ID
1
2
3
4
5
410174
411492
412360
412679
412797
6
7
8
9
412811
415048
415596
415890
10
11
12
13
416104
416736
416792
417943
14
15
16
17
417945
418023
418252
419270
Station
Code
Starting
Date
Ending
Date
410174
411492
412360
412679
412797
412811
415048
415596
415890
416736
417943
417945
418023
418252
1/ 1/89
1/ 1/89
1/ 1/89
1/ 1/89
1/ 1/89
1/ 1/89
1/ 1/89
12/10/88
1/ 1/89
1/ 1/89
1/ 1/89
1/ 1/89
1/ 1/89
1/ 1/89
1/19/89
1/19/89
1/19/89
1/19/89
1/27/89
1/26/89
1/19/89
1/19/89
1/27/89
1/19/89
1/26/89
1/19/89
1/19/89
1/19/89
No. of
Records
3
3
3
3
5
5
5
10
7
3
9
23
3
3
The following stations were not found in the precipitation data file
for the requested time period:
416104
416792
419270
I:\calmet\nov99\sect4.wpd
TIME: 13:36:42.16
4-31
Table 4-19
Sample TD-3240 Format Precipitation Data File (415596.DAT)
HPD41559600HPCPHT19881200100011200000010
HPD41559600HPCPHT19890100010010100099999D
HPD41559600HPCPHT19890100050011800099999D
HPD41559600HPCPHT19890100050011900099999M
HPD41559600HPCPHT19890100100011600099999M
HPD41559600HPCPHT19890100190011300000010
I:\calmet\nov99\sect4.wpd
4-32
I:\calmet\nov99\sect4.wpd
4-33
The input files used by PMERGE include a control file (PMERGE.INP), an optional unformatted data
file created in a previous run of PMERGE, and up to 150 TD-3240 precipitation station files (e.g., as
created by PXTRACT). The output file consists of a list file and a new unformatted or formatted data
file in CALMET format with the data for all stations sorted by hour. Table 4-20 lists the name, type,
format, and contents of PMERGE's input and output data files.
The PMERGE control file (PMERGE.INP) contains the user-specified input variables indicating the number
of stations to be processed, a flag indicating if data are to be added to an existing, unformatted data file, the
maximum length of an accumulation period, packing options, station data, and time zone data. PMERGE
allows data from different time zones to be merged by time-shifting the data to a user-specified base time
zone. Sample PMERGE control files are shown in Table 4-21. Sample 1 shows an input file to merge data
from 10 precipitation stations into one unformatted output file. The unformatted output file can then be used
to merge data from 4 more precipitation stations to the 10 already processed (Sample 2). The combination
of station data in multiple runs of PMERGE is sometimes necessary because the number of files which can
be opened at one time is limited under some operating systems (e.g., DOS). The output file from Sample 2
is a formatted file containing data from 14 precipitation stations. This formatted file can be directly input to
CALMET. The format and contents of the PMERGE control file are described in Table 4-22.
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 4-23.
I:\calmet\nov99\sect4.wpd
4-34
Table 4-20
PMERGE Input and Output Files
Unit
File Name
Type
Format
Description
input
unformatted
output
unformatted
or
formatted
PMERGE.INP
input
formatted
PMERGE.LST
output
formatted
input
formatted
input
formatted
.
.
.
(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.)
I:\calmet\nov99\sect4.wpd
4-35
Table 4-21
Sample PMERGE Control File (PMERGE.INP)
Sample 1
12
6
1
1
89 01 01 01 89 01 15 24
firstrun.dat
N
10
../precip/412360.dat
412360 6
../precip/417943.dat
417943 6
../precip/417945.dat
417945 6
../precip/412797.dat
412797 7
../precip/415890.dat
415890 6
../precip/410174.dat
410174 6
../precip/411492.dat
411492 6
../precip/412679.dat
412679 6
../precip/412811.dat
412811 6
../precip/415048.dat
415048 6
I:\calmet\nov99\sect4.wpd
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
4-36
Sample 2
12
6
2
0
89 01 01 01 89 01 15 24
precip.dat
Y
firstrun.dat
4
../precip/415596.dat
415596 6
../precip/416736.dat
416736 6
../precip/418023.dat
418023 6
../precip/418252.dat
418252 6
-999
I:\calmet\nov99\sect4.wpd
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
4-37
Table 4-22
PMERGE Control File Inputs (PMERGE.INP)
Line
Variable
Type
Description
MAXAP
integer
IOTZ
integer
IOFORM
integer
IOPACK
integer
IBYR
integer
IBMO
integer
Beginning month
IBDAY
integer
Beginning day
IBHR
integer
IEYR
integer
IEMO
integer
Ending month
IEDAY
integer
Ending day
IEHR
integer
OUTFIL
character*70
CFLAG
character*1
PREVFIL
character*70
NFF
integer
6a
CFFILES
character*70
6b
IFSTN
integer
6b
ISTZ
integer
I:\calmet\nov99\sect4.wpd
4-38
The next records are ncessary only if CFLAG=y, i.e., reading data from a previous PMERGE
binary output file.
Line
Variable
Type
Description
NBSTN
integer
NEXT RECORDS.
7a
I:\calmet\nov99\sect4.wpd
IBSTN
(Necessary only if CFLAG=y and NBSTN -999, one record for each
binary station requested, i.e., NBSTN lines.)
integer
4-39
Table 4-23
Sample PMERGE Output List File (PMERGE.LST)
PMERGE OUTPUT SUMMARY
VERSION: 4.0
LEVEL: 961113
Output file name:
precip.dat
Continuation Run? Y
Previous PMERGE output data file:
firstrun.dat
Time Zone
Station ID
6
6
6
6
415596
416736
418023
418252
../precip/415596.dat
../precip/416736.dat
../precip/418023.dat
../precip/418252.dat
1/ 1/89
1:00
to
1/15/89
24:00
********************
Data Read from Binary Input File:
Time Zone:
Packing Code:
6
1
1/ 1/89
1:00
412360
417943
417945
4
5
6
412797
415890
410174
to
1/15/89
No.
ID
7
8
411492
412679
No.
ID
24:00
No.
9
10
ID
412811
415048
********************
PMERGE Stations in Output File:
No.
ID
No.
ID
1
2
3
4
412360
417943
417945
412797
5
6
7
8
415890
410174
411492
412679
9
10
11
412811
415048
415596
No.
12
13
14
ID
416736
418023
418252
Zero
415596
416736
418023
418252
128
360
360
360
Nonzero
Accum
Period
0
0
0
0
0
0
0
0
Total
Valid
Hours
128
360
360
360
%
Valid
Hours
35.6
100.0
100.0
100.0
Invalid Hours:
Station
IDs
415596
416736
418023
418252
Flagged
Missing
232
0
0
0
I:\calmet\nov99\sect4.wpd
Excessive
Accum
Period
0
0
0
0
Missing Data
Before First
Valid Record
0
0
0
0
Missing Data
After Last
Valid Record
0
0
0
0
4-40
Total
Invalid
Hours
232
0
0
0
%
Invalid
Hours
64.4
0.0
0.0
0.0
4.1.6
CALMM5 Program
Optionally, CALMET can process prognostic wind data and incorporate them in the computation of its
own wind fields. Prognostic data can be read by CALMET in either of two formats: MM4.DAT and
MM5.DAT, referring to the most likely origin of these data sets, i.e. the PSU/NCAR Mesoscale
Modeling System 4 (MM4) or the PSU/NCAR Mesoscale Modeling System 5 (MM5). An interface
between MM5 (Version 2) and CALMET has been developed to extract and reformat the output of
MM5 in either the MM4.DAT or the MM5.DAT form. That preprocessor is called CALMM5.
4.1.6.1 CALMM5 preprocessor
CALMM5 contains options to output the following MM5 variables in a format CALMET can access:
horizontal and vertical velocity components, pressure, temperature, relative humidity, and vapor, cloud,
rain, snow, ice and graupel mixing ratios (if available in MM5). The number of variables in the output is
selected by the user but CALMM5 internally checks the availability of these data in the MM5 file.
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.
As MM5 and CALMET use an Arakawa B-grid and a non-staggered grid respectively (see Figures 4-1
and 4-2), MM5 scalar variables are interpolated to gridpoints where horizontal velocities are defined
(dot points). A four-point average is used to that effect. MM5 horizontal velocities are unaffected
during that process. In the vertical, MM5 vertical velocities (present only in non-hydrostatic runs) are
computed at full sigma levels while all other variables are defined at half sigma levels (see Figure 4-3). In
CALMM5, vertical velocities are interpolated to half sigma levels (two-point average) and then from
cross points to dot points where horizontal velocities are defined. In CALMET, along the vertical,
vertical velocities are defined on cell faces, while the other variables are defined in the middle of the
cells.
Owing to the sigma-p coordinates (Equation 4-1), all MM5 variables are scaled by the reference pressure
(P*= PSurface-PTop) defined in MM5. CALMM5 divides all variables by P* to output in Cartesian units
(e.g., m/s, K,...):
(PPTop)/P
I:\calmet\nov99\sect4.wpd
4-41
(4-1)
Figure 4-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).
I:\calmet\nov99\sect4.wpd
4-42
GRID CELL
1
DGRIDKM
DGRIDKM
GRID POINT
Figure 4-2.
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
(from Scire et al., 1998).
I:\calmet\nov99\sect4.wpd
4-43
Figure 4-3.
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).
I:\calmet\nov99\sect4.wpd
4-44
CALMM5 must be run on the platform where MM5 was initially run or a system with compatible binary
formats. This constraint arises from the fact that MM5 output is binary and therefore machine-dependent.
Compilation options (Fortran) for CALMM5 are also machine-dependent (e.g., on a Cray: cf77
calmm5.f; on a Dec Alpha: f77 -convert big_endian calmm5.f ). The CALMM5 output file (MM5.DAT)
is itself machine-independent (currently only in ASCII format). Note that a switch can be set in
CALMM5.INP to output the MM5 prognostic winds in a MM4.DAT format.
Detailed information about the MM5 run is included in the log file (CALMM5.LST). Information
needed for consistency in CALMET are included in the MM5.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 requires one user-input file (CALMM5.INP, hard-wired filename), and produces two output
files (CALMM5.LST and MM5.DAT, filenames selected by user). An include file specifying the
maximum array sizes , CALMM5.INC, is required to compile the code.
4.1.6.2 CALMM5 input
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 (currently only ASCII: MM5.DAT or MM4.DAT), and the
variables to output.
There are 5 sets of variables a user can request, in addition to the default output variables (pressure,
elevation, temperature, wind speed and wind direction):
1.
2.
3.
4.
5.
Vertical velocity
Relative humidity and vapor mixing ratio
Cloud and rain mixing ratios (only combined with option 2)
Ice and snow mixing ratios (only combined with options 2+3)
Graupel mixing ratio (only combined with options 2+3+4)
If the user requests output variables unavailable in MM5, CALMM5 issues a warning in the log file
(CALMM5.LST or user-defined filename) and stops. For example, vertical velocity is only available in
non-hydrostatic MM5 runs.
I:\calmet\nov99\sect4.wpd
4-45
A sample CALMM5.INP is shown in Table 4-24 and a description of each input variable is provided in
Table 4-25.
4.1.6.3 CALMM5 output
CALMM5 generates 2 output files. A data file, in either MM4.DAT or MM5.DAT formats depending on
the user choice, and a log file.
MM5.DAT
A sample MM5.DAT file is shown in Table 4-26 and each variable is described in Table 4-27.
MM4.DAT
A sample MM4.DAT file is shown in Table 4-28 and each variable is described in Table 4-29.
CALMM5.LST
The log file contains information about the MM5 file and reports on CALMM5 processing, including
warnings and error messages.
A sample log file is shown in Table 4-30.
I:\calmet\nov99\sect4.wpd
4-46
Table 4-24
CALMM5 Sample Control File
(CALMM5.INP)
MM5 for Alberta and British Columbia, Canada
mm5_dmn2.950301 ! MM5 data input file name (no space before or within filename)
samp.mm5
! 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)
11
! Minimum cell index (Y direction) or Southernmost N. latitude(positive for Northern Hemisphere)
14
! Maximum cell index (Y direction) or Northernmost N. latitude (in degrees - decimals)
37
! Minimum cell index (X direction) or Westernmost E. longitude (negative for Western Hemisphere)
39
! Maximum cell index (X direction) or Easternmost E. longitude (in degrees - decimals)
95030100
! Starting date (year-month-day-UTC hour)(yymmddhh)
95030101
! Ending date
1
! Output format (1-5, for MM5 format)
Keep this line - The following lines vary depending on the output format selected
1 1 1 1 1
! Output W, RH, cloud and rain, ice and snow, graupel
I:\calmet\nov99\sect4.wpd
4-47
Table 4-25
CALMM5 Control File Inputs (CALMM5.INP)
Line
Variable
Type
Description
HEADER
character*128
INFILE
character*128
OUTFILE
character*128
LOGFILE
character*128
ISELECT
integer
RLATMIN/
JMIN
real/integer
RLATMAX/
JMAX
real/integer
RLONMIN/
IMIN
real/integer
RLONMAX/
IMAX
real/integer
10
IBEG
integer
11
IEND
integer
12
IFORMAT
integer
13
CNOTE
character*128
I:\calmet\nov99\sect4.wpd
4-48
Line
Variable
Type
Description
14
IOUTW
IOUTQ
integer
integer
IOUTC*
IOUTI*
IOUTG*
integer
integer
integer
I:\calmet\nov99\sect4.wpd
4-49
Table 4-26
Sample MM5 Derived Gridded Wind Data File (MM5.DAT)
I:\calmet\nov99\sect4.wpd
4-50
0.00
0.00
0.00
0.00
0.00
0.00
0.00
0.00
0.00
0.00
0.00
0.00
I:\calmet\nov99\sect4.wpd
39
41
28
12
10
0.36
0.17
0.04
0.01
0.01
0.00
0.00
0.00
0.00
0.00
0.00
0.00
0.00
0.00
0.00
0.00
0.00
0.00
0.00
0.00
0.00
0.00
0.00
0.00
0.00
0.00
0.00
0.00
0.00
0.00
42
40
37
35
32
29
27
25
22
19
28
36
41
43
27
12
10
2.88
2.65
2.37
2.17
1.86
1.54
1.25
0.98
0.72
0.54
0.64
0.57
0.35
0.17
0.04
0.01
0.02
0.00
0.00
0.00
0.00
0.00
0.00
0.00
0.00
0.00
0.00
0.00
0.00
0.00
0.00
0.00
0.00
0.00
0.00
0.00
0.00
0.00
0.00
0.00
0.00
0.00
0.00
0.00
0.00
0.00
0.00
0.00
0.00
0.00
0.00
0.00
0.00
0.00
0.00
0.00
0.00
0.00
0.00
0.00
0.00
0.00
0.00
0.00
0.00
0.00
0.00
0.00
0.00
0.00
0.00
0.00
0.00
0.00
0.00
0.00
0.00
0.00
0.00
0.00
0.00
0.00
0.00
0.00
0.00
0.00
0.00
0.00
0.00
0.00
0.00
0.00
0.00
0.00
0.00
0.00
0.00
0.00
0.00
0.00
0.00
0.00
4-51
Table 4-27
MM5 Derived Gridded Wind Data File Format (MM5.DAT)
HEADER RECORDS
Header Record #1
Variable No.
Variable
Type
Description
HEADER
char
File description
Header Record #2
Variable No.
Variable
Type
Description
IOUTW
integer
IOUTQ
integer
IOUTC
integer
IOUTI
integer
IOUTG
integer
Header Record #3
Variable No.
1
Variable
Type
Description
MAPTXT
char
I:\calmet\nov99\sect4.wpd
4-52
HEADER RECORDS
Header Record #4
Variable No.
Variable
Type
Description
INHYD
integer
IMPHYS
integer
ICUPA
integer
IBLTYP
integer
IFRAD
integer
ISOIL
integer
IFDDAN
integer
IFDDAOB
integer
I:\calmet\nov99\sect4.wpd
4-53
HEADER RECORDS
Header Record #5
Variable No.
Variable
Type
Description
IBYRM
integer
IBMOM
integer
IBDYM
integer
IBHRM
integer
NHRSMM5
integer
NXP
integer
NYP
integer
NZP
integer
format (4i2,i5,3i4)
I:\calmet\nov99\sect4.wpd
4-54
HEADER RECORDS
Header Record #6
Variable No.
Variable
Type
Description
NX1
integer
NY1
integer
NX2
integer
NY2
integer
RXMIN
real
RXMAX
real
RYMIN
real
RYMAX
real
format (4i2,4f8.2)
Variable
Type
Description
SIGMA
real array
I:\calmet\nov99\sect4.wpd
4-55
Variable
Type
Description
IINDEX
integer
JINDEX
integer
XLATDOT
real array
XLONGDOT
real array
IELEVDOT
integer array
ILAND
integer array
XLATCRS
real array
XLATCRS
real array
I:\calmet\nov99\sect4.wpd
4-56
Variable
Type
Description
MYR
integer
MMO
integer
MDAY
integer
MHR
integer
IX
integer
JX
integer
PRES
real
RAIN
real
total rainfall accumulated on the ground for the past hour (cm)
SC
integer
I:\calmet\nov99\sect4.wpd
4-57
Variable
Type
Description
PRES
integer
integer
TEMPK
integer
Temperature (o K)
WD
integer
WS
real
6w
real
7q
RH
integer
8q
VAPMR
real
9c
CLDMR
real
10c
RAINMR
real
11i
ICEMR
real
12i
SNOWMR
real
13g
GRPMR
real
Variable present in the record only if IOUTI = 1 (possible only if IOUTQ = IOUTC = 1)
Variable present in the record only if IOUTG = 1 (possible only if IOUTQ = IOUTC =
IOUTI=1)
I:\calmet\nov99\sect4.wpd
4-58
Table 4-28
Sample MM4 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)
I:\calmet\nov99\sect4.wpd
4-59
16 1015.2 0.00 0
30056 24507
30657 00000
25232 26510
19814 29009
10661 03011
04971 07013
17170 05011
32566 05012
29656 24507
28852 24508
27846 25509
26038 26510
23823 27010
21015 28509
17612 30008
14058 00007
09064 03512
02866 05012
05171 07013
15971 05011
28767 05011
46364 05517
66159 02514
16 1015.2 0.00 0
29456 25007
30656 00000
25231 26511
20015 30009
10261 01510
04775 06512
17173 05513
32567 05014
29052 25007
28246 25007
27239 25509
25634 26511
23620 27010
20816 29509
17214 32009
13458 35509
08463 02011
02667 04011
05176 06513
16173 05513
28968 05012
46565 05018
66360 01515
I:\calmet\nov99\sect4.wpd
4-60
Table 4-29
MM4 Derived Gridded Wind Data File Format (MM4.DAT)
HEADER RECORDS
Header Record #1
Variable No.
1
Variable
Type
Description
CTEXT
char*36
Variable No.
Variable
Type
Description
IBYRM
integer
IBMOM
integer
IBDYM
integer
IBHRM
integer
NHRSMM4
integer
NXMM4
integer
NYMM4
integer
NZP
integer
PTOPMM4
real
I:\calmet\nov99\sect4.wpd
4-61
HEADER RECORDS
Header Record #3
Variable No.
Variable
Type
Description
I1
integer
J1
integer
NXP
integer
NYP
integer
I:\calmet\nov99\sect4.wpd
Variable
Type
Description
SIGMA
real array
4-62
HEADER RECORDS
Next NXP*NYP Records
Variable
No.
Variable
Type
Description
IINDEX
integer
JINDEX
integer
XLATDOT
real array
XLONGDOT
real array
IELEVDOT
integer array
ILUDOT
integer array
Type
Description
MYR
integer
MMO
integer
MDAY
integer
MHR
integer
IX
integer
JX
integer
PRES
real
RAIN
real
SC
integer
Variable
No.
format (4i2,2i3,f7.1,f5.2,i2)
I:\calmet\nov99\sect4.wpd
4-63
Variable No.
Variable
Type
Description
integer
integer
3**
integer
WD
integer
WS
integer
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 = bC*10,
Examples:
DD < 56 S bC*10
DD A 56 S bC+50
Examples:
DD = 55 S 5.5bC
DD = 56 S 6.0bC
I:\calmet\nov99\sect4.wpd
4-64
Table 4-30
CALMM5 Sample Log File (CALMM5.LST)
Level: 990318
mm5_dmn2.950301
Output file:
samp.mm5
Log file:
calmm5.lst
1 -- MM5
1
1
1
1
1
95030100
mm5 options:
non hydrostatic run
reference pressure p0 :
100000.0 pa
reference temperature :
275.0 k
ref. temperature lapse rate : 50.0 k/500mb
lambert conformal map projection
center latitude (degrees):
54.11700
center longitude (degrees):
-119.8540
true latitude 1 (degrees):
60.00000
true latitude 2 (degrees):
30.00000
cone factor
0.7155668
mm5 domain id:
nx in MM5 (east)
:
ny in MM5 (north)
:
nz in MM5 (vertical):
dxy in MM5 (km)
:
2
115
73
17
20.00000
I:\calmet\nov99\sect4.wpd
4-65
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
15:
16:
17:
0.050
0.150
0.250
0.350
0.450
0.550
0.625
0.675
0.725
0.775
0.825
0.870
0.910
0.945
0.970
0.985
0.995
I:\calmet\nov99\sect4.wpd
4-66
4.2
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
CTGCOMP
CTGPROC
PRLND1
MAKEGEO
The complete process is illustrated in Figure 4-4 and further described in the following sections.
I:\calmet\nov99\sect4.wpd
4-67
TERRAIN
GTOPO30
Global Data
900 m (30 sec)
1 Deg DEM
90 m (3 sec)
LAND USE
7.5 minute DEM
(30 m)
ARM3 Data
(GIS.DAT)
PRELND.INP
CTGCOMP.INP
PRELND1
CTGCOMP
Canadian DMDF
Data
(~ 100 m)
ARM3 Data
900 m (30 sec)
TERREL.INP
TERREL
CTGPROC.INP
CTGPROC
TERREL.LST
List File
Gridded
Terrain
Field
.SAV
.OUT
Plot File
(SURFER
.GRD File)
(Iterative)
Gridded
Output LU Data
(Final run the
output is expressed
as fractional land use)
CTGPROC.LST
(Optional)
MAKEGEO.INP
MAKEGEO
GEO.DAT
I:\CALMET\Nov99\Figure4-4
MAKEGEO.LST
Gridded LU Data
4.2.1
TERREL is a preprocessing program that extracts and reformats USGS Digital Elevation Model (DEM)
data, ARM3 digital terrain data, and Canadian (Alberta) DEM terrain data according to the options
selected by the user (domain, resolution, etc.). TERREL has the ability to produce gridded fields of
terrain elevations or a polar grid of terrain elevations. For the gridded field option, TERREL averages all
of the terrain data points which fall in the grid cell to obtain the elevation at 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 which will be written.
TERREL has the option (variable OUTMAP) to define the gridded fields as either a Universal
Transverse Mercator (UTM) grid or using 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
I:\calmet\nov99\sect4.wpd
4-69
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.
TERREL INPUT:
1. Terrain database: Table 4-31 defines the types of terrain databases which can be processed by
TERREL. Six types of terrain data can be read, corresponding to different resolutions and formats: 30
arc-seconds (J900 m spacing, USGS GTOPO30 or ARM3 format), 3 arc-seconds (J90 m spacing, 1
degree DEM, USGS or Rocky Mtn. Communications (3CD) format), 30 meters (7.5 minute DEM, USGS
format), and Canadian Digital Map Data Format (DMDF) data (~100 m resolution). The terrain data
ordered from the USGS can be obtained through file transfer protocol (FTP) access, on CD-ROM or
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.
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
Antarctica region where each file covers 60 degrees of longitude and 30 degrees of latitude. Figure 4-5
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.
I:\calmet\nov99\sect4.wpd
4-70
Figure 4.5
4-71
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. A sample file is shown in Table 4-32 and a
description of each input variable is provided in Table 4-33.
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.OUT).
I:\calmet\nov99\sect4.wpd
4-72
Table 4-31
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)
J90
USGS30
USGS
ASCII
UTM
30
3CD
1-deg DEM
3 arc-second data
Rocky Mtn
Communications
CD-ROM
Binary
Geographic
(lat/lon)
J90
GTOPO30
30 second DEM
40b lon. by 50blat.
covering world
USGS
Binary
Geographic
(lat/lon)
~900
ARM3
30 second data
4 N-S sheets
covering U.S.
7.5 min Alberta
DEM
ASCII
Geographic
(lat/lon)
J900
ASCII
UTM
~100
DMDF
I:\calmet\nov99\sect4.wpd
4-73
Table 4-32
Sample TERREL Control File Inputs
(TERREL.INP)
testv2.lst
! List-File (a70)
testv2.grd
! Plot-File (a70) [GGS .grd]
testv2.out
! Gridded output file (a70)
testv2.sav
! Save-File created by current run (a70)
y
! Continuation run flag (n=no, y=yes)
firstrun.sav
! Previous save file (a70) (read as input)
UTM
! GRID TYPE:
utm OR lcc
CORNER
! GRID DEF : center OR corner OR polar
CALMET
! Model: NUATMOS,CALMET,MESOPAC,ISCPOLR,ISCCART,GENERIC
1
! No. of USGS 1-deg DEM files (~90m)
..\terrain\canton.e
! filename (a70)
0
! No. of USGS 30-meter DEM files
0
! No. of ARM3 terrain data files (~900m)
0
! No. of 3CD (binary) 1-deg DEM files (~90m)
0
! No. of Canadian DMDF DEM files (~100 m)
0
! No. Of GTOPO30 30-sec DEM files (~900m)
75
! Threshold value for QA (%)
529.0
4464.0
17
! xorgk,yorgk,izone
40 80
.25
! nx,ny,sizek (km)
N
! Hemisphere (N=northern,S=southern)
40.3
80.7
! Reference latitude and longitude of LCC grid
30. 60.
! Standard parallels of latitude used for LCC projection
NORMAL
! NORMAL or SCREEN for polar grid
.2 .4 .6 .8 1. 1.2 1.4 1.6
1.8 2. 2.5 3. 3.5 4. 4.5 5.
6. 7. 8. 9. 10. 12. 14.
! Enter ring distances (km) for POLAR grid
10 20 30 40 50 60 70 80 90 100 110 120
130 140 150 160 170 180 190 200 210 220
230 240 250 260 270 280 290 300 310 320
330 340 350 360
! Radials (degrees) for POLAR grid
I:\calmet\nov99\sect4.wpd
4-74
Table 4-33
TERREL Control File Inputs
Lines
Variable
Type
Description
LSTFIL
character*70
PLTFIL
character*70
GRDFIL
character*70
SAVFIL
character*70
CFLAG
character*1
SAVINFIL
character*70
OUTMAP
character*3
GRDTYP
character*6
MODEL
character*10
10
NUSGS90
integer
next
NUSGS90
lines*
DATAFIL
character*70
11
NUSGS30
integer
next
NUSGS30
lines*
DATAFIL
character*70
12
NARM3
integer
I:\calmet\nov99\sect4.wpd
4-75
Table 4-33
TERREL Control File Inputs
Lines
Variable
Type
Description
next
NARM3
lines*
DATAFIL
character*70
13
N3CD
integer
next
N3CD
lines*
DATAFIL
character*70
14
NCND
integer
next
NCND
lines*
DATAFIL
character*70
15
NGTOPO30
integer
next
NGTOPO
30 lines*
DATAFIL
character*70
16
ITHRES
integer
17
XORGK,YORGK,
real
IZONE
integer
18
NX, NY,
SIZEK
integer
real
19
AHEMI
character*1
I:\calmet\nov99\sect4.wpd
4-76
Table 4-33
TERREL Control File Inputs
Lines
Variable
Type
Description
20
RLAT, RLONG
real
XLAT1, XLAT2
real
22
DRANGE
character*6
23
DISK
real array
24
ANG
real array
I:\calmet\nov99\sect4.wpd
4-77
4.2.2
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 (J 38 MB for one quadrant), therefore, the first step
in processing the land use data is to compress the data file (CTGCOMP) and then to work (CTGPROC)
with the much smaller compressed file (J 0.5 MB). Other types of land use data are available, but must
be processed adequately before using in MAKEGEO: for example, ARM3 data can be processed using
PRELND1.
4.2.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.
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.
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.
4.2.2.2 CTGCOMP - the CTG land use data compression program
CTG LULC data files retrieved from the ftp/web sites are ASCII files which are quite large, and it is
useful to compress the data. CTGCOMP reads an uncompressed CTG file and produces a compressed
CTG file. Both files are in ASCII.
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.
I:\calmet\nov99\sect4.wpd
4-78
I:\calmet\nov99\sect4.wpd
4-79
Table 4-34
Sample CTGCOMP Control File Inputs
(CTGCOMP.INP)
..\pocatell.ctg
..\pocatell.cmp
Line
Variable
Type
Description
CTGFIL
character*70
COMPFIL
character*70
I:\calmet\nov99\sect4.wpd
4-80
Table 4-35
Sample CTGPROC Control File Inputs
(CTGPROC.INP)
The following information is provided for the various global dataset files. The appropriate information
must be input in the last 5 lines of the file when using the global dataset.
For different regions, the last five lines of this control file should be
different. For the sake of easy use, the numbers to be used in different
regions are listed below. You need to choose one of the groups listed
below to replace the last five effective lines.
----------North America-----------------------------------------------------------------9223
8996
! Number of elements in X and Y input
1.0
1.0
! Cell size in X and Y input (km)
-4487. -4515.
! The input LZ origin X and Y (km)
50.0
-100.
! Reference latitude and longitude (degrees)
0
0
! False postion offset
----------Eurasia (Optimized for Europe)------------------------------------------------13000
13000
! Number of elements in X and Y input
1.0
1.0
! Cell size in X and Y input (km)
-3000. -4999.
! The input LZ origin X and Y (km)
55.0
20.
! Reference latitude and longitude (degrees)
0
0
! False postion offset
----------Eurasia (Optimized for Asia)--------------------------------------------------13000
12000
! Number of elements in X and Y input
1.0
1.0
! Cell size in X and Y input (km)
-8000. -5499.
! The input LZ origin X and Y (km)
45.0
100.
! Reference latitude and longitude (degrees)
0
0
! False postion offset
----------South America-----------------------------------------------------------------6000
8000
! Number of elements in X and Y input
1.0
1.0
! Cell size in X and Y input (km)
-3000. -4899.
! The input LZ origin X and Y (km)
-15.0
-60.
! Reference latitude and longitude (degrees)
0
0
! False postion offset
----------Africa------------------------------------------------------------------------8350
9276
! Number of elements in X and Y input
1.0
1.0
! Cell size in X and Y input (km)
-4458. -4795.
! The input LZ origin X and Y (km)
5.0
20.
! Reference latitude and longitude (degrees)
0
0
! False postion offset
----------Australia Pacific-------------------------------------------------------------9300
8000
! Number of elements in X and Y input
1.0
1.0
! Cell size in X and Y input (km)
-5000. -3944.891
! The input LZ origin X and Y (km)
-15.0
135.
! Reference latitude and longitude (degrees)
0
0
! False postion offset
I:\calmet\nov99\sect4.wpd
4-81
Table 4-36
Control File Inputs (CTGPROC.INP)
Line
Variable
Type
Description
XORG
real
YORG
real
IZONE
integer
DGRID
NX
NY
real
integer
integer
AHEMI
character*1
ATYPE
character*1
INFILE
character*70
OUTFILE
character*70
CFLAG
character*1
PREVFILE
character*70
ITHRES
integer
FFLAG
character*1
10
REFLAT
real
REFLON
real
XLAT1
XLAT2
real
real
11
I:\calmet\nov99\sect4.wpd
4-82
Line
Variable
Type
Description
12
13
NXI
integer
NYI
integer
DXI
real
DYI
real
XORG
real
YORG
real
RLAT
real
RLONG
real
NXOFF
integer
NYOFF
integer
14
15
16
17
I:\calmet\nov99\sect4.wpd
4-83
Table 4-37
Sample CTGPROC Output List File
(CTGPROC.LST) - Partial Listing
CTGPROC
Version 1.0
Level 000112
file.
read:
73689
used to update data:
LU categories:
19
1
809
20
710000
4987100
7874016
802 575
450000
84180
1973
401 373
700000
113094
218
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
+
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
+
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
+
25
+
25
+
25
+
25
+
25
+
25
+
25
+
25
+
25
+
25
+
25
+
25
+
0
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
+
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
+
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
+
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
+
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
+
25
+
25
+
25
+
25
+
25
+
25
+
25
+
25
+
25
+
25
+
25
+
25
+
25
+
25
+
25
+
25
+
25
+
25
+
25
+
25
+
.....
I:\calmet\nov99\sect4.wpd
4-84
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
+
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
+
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
+
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
+
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
+
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
+
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
+
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
+
4.2.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 4.3.2.
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 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 4-27).
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.
A sample MAKEGEO.INP file is provided in Table 4-38 and the input variables are described in Table
4-39.
MAKEGEO also produces a binary terrain file suitable for input into UAM.
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.
I:\calmet\nov99\sect4.wpd
4-85
Table 4-38
Sample MAKEGEO Control File
(MAKEGEO.INP)
..\new\landuse.dat
geo1km.dat
Y
..\..\terrain\ter1km.out
1 1.0
40
30
370.
4730.
1.
12
37
11 12 13 14 15 16 17 21 22 23 24
.5
1. 1. 1. 1. 1. 1. .25 .25 .25 .25
.18 .18 .18 .18 .18 .18 .18 .15 .15 .15 .15
1. 1.5 1.5 1.5 1.5 1.5 1.5 1. 1. 1. 1.
.2 .25 .25 .25 .25 .25 .25 .15 .15 .15 .15
0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0.
1. .2 .2 .2 .2 .2 .2 3. 3. 3. 3.
1. 1. 1. 1. 1. 1. 1. 1. 1. 1. 1.
54
0.5
5
51 52 53 54 55
0
0
0
0
0
0
0
0
0
0
0
14
10 20 -20 30 40 51 54 55 60 61 62 70 80 90
51 55
10 10 10 10 10 10 10 20 20 20 20
Y
10 4
Y
terrain.bin
IFILE
|TERRAIN
NOTE
|UAM Terrain not used in
idate,begtim
|
88001
0.
jdate,endtim
|
88366
23.
xorg,yorg,utmzone |
0.0
0.0
utm x & y sw cor(m)| 291000.0 4552000.0
delta x & y (m)
|
250.0
250.0
nx, ny, nz
|
40
40
nzlower & nzupper |
2
3
htsur,htlow,htupp |
0.
50.
ix,iy,nxcll,nycll |
0
0
I:\calmet\nov99\sect4.wpd
31 32 33 41 42
.05 .05 .05 1. 1.
.25 .25 .25 .1 .1
1. 1. 1. 1. 1.
.15 .15 .15 .15 .15
0. 0. 0. 0. 0.
.5 .5 .5 7. 7.
1. 1. 1. 1. 1.
30
30
30
40
40
CALMET
18
5
100.
40
40
4-86
84
.05
.3
1.
.15
0.
.05
1.
85
.05
.3
1.
.15
0.
.05
1.
91
.05
.3
1.
.15
0.
.05
1.
92
.05
.3
1.
.15
0.
.05
1.
|
|
|
|
|
|
|
|
input categories
z0
albedo
bowen ratio
soil heat flux
anthropogenic flux
leaf area index
vegetation factors
80
80
90
90 | input:output mapping
Table 4-39
MAKEGEO Control File Inputs
Line
Variable
Type
Description
INFIL
char*70
OUTFIL
char*70
CTER
char*1
TERFIL
char*70
IFLIP
integer
HTFAC
real
NX
integer
NY
integer
XORK
real
YORK
real
10
DELX
real
11
IZONE
integer
UTM zone
12
NINCAT
integer
13
NCAT
real array
14
Z0LU
real array
15
ALBLU
real array
16
BOWLU
real array
17
SOILU
real array
18
QFLU
real array
I:\calmet\nov99\sect4.wpd
4-87
Table 4-39
MAKEGEO Control File Inputs
Line
Variable
Type
Description
19
LAILU
real array
Leaf area index value for each input land use category
20
VFLU
real array
21
IMISS
integer
22
CFRACT
real
23
NUMWAT
integer
24
IWAT
integer array
25
IREDEF
integer
The next lines are read only if IREDEF is 1 for one or several categories. For each category to
be redefined, 3 lines must be entered. The sets of 3 lines must follow the same order as the input
categories (e.g. if categories 5 and 20 are redefined, the first set of 3 lines correspond to category 5
and the next set to category 20)
25a
NREC
integer
25b
IREC
integer array
25c
PREC
integer array
26
NOUTCAT
integer
27
OUTCAT
integer array
28
IWAT1,
IWAT2
integer
I:\calmet\nov99\sect4.wpd
4-88
Table 4-39
MAKEGEO Control File Inputs
Line
Variable
Type
Description
29
MAPCAT
integer array
30
CQA
char*1
31
NLX,NLY
integers
32
CUAMTE
R
char*1
The next 12 lines are irrelevant for GEO.DAT (CALMET), and are only read if CUAMTER=Y.
32a
UTERFIL
char*70
IFILE
char*1 array
32c
NOTE
char*1 array
Comment line
32d
IDATE,
BEGTIM
integer, real
32e
JDAT,
ENDTIM
integer, real
32f
XOR,YOR
IZN
real, real
integer
32g
UTMX,
UTMY
real
32h
DX,DY
real
32i
MX,MY,
MZ
integer
32j
IZLOW,
IZUP
integer
32k
HTSUR,
HTLOW,
HTUPP
real
I:\calmet\nov99\sect4.wpd
4-89
Table 4-39
MAKEGEO Control File Inputs
Line
Variable
Type
Description
32l
IZ,IY,ICL,
JCL
integer
I:\calmet\nov99\sect4.wpd
4-90
4.3
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 from CSUMM, MM4, or MM5 as
model input. If this option is selected, the CSUMM gridded prognostic model wind fields are read from
an unformatted data file called PROG.DAT, the MM4/MM5 prognostic fields are read from a formatted
data file called MM4.DAT, or the MM5 fields may be read from a formatted file called 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,
I:\calmet\nov99\sect4.wpd
4-91
contain intermediate versions of the wind fields at various points in the diagnostic wind field analysis
(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 4-40. 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.
I:\calmet\nov99\sect4.wpd
4-92
Table 4-40
CALMET Input and Output Files
Unit
Default
File Name
Type
Format
Description
IO2
DIAG.DAT
input
formatted
IO5
CALMET.INP
input
formatted
IO6
CALMET.LST
output
formatted
IO7
CALMET.DAT
or
PACOUT.DAT
output
unformatted
IO8
GEO.DAT
input
formatted
IO10
SURF.DAT
input
unformatted
(if IFORMS=1)
or
formatted
(if IFORMS=2)
IO12
PRECIP.DAT
input
unformatted
(if IFORMP=1)
or
formatted
(if IFORMP=2)
IO14
WT.DAT
input
formatted
I:\calmet\nov99\sect4.wpd
4-93
Default
File Name
IO30
IO30+1
IO30+2
]
]
]
]
UP1.DAT
UP2.DAT
UP3.DAT
] ]
] ]
] ]
UPn.DAT
Type
Format
Description
input
formatted
IO80
IO80+1
IO80+2
]
]
]
]
input
formatted
IO20
PROG.DAT
(CSUMM)
or
MM4.DAT
(MM4/MM5)
input
unformatted
input
formatted
TEST.PRT
output
unformatted
IO22
TEST.OUT
output
formatted
IO23
TEST.KIN
output
formatted
IO24
TEST.FRD
output
formatted
IO25
TEST.SLP
output
formatted
I:\calmet\nov99\sect4.wpd
4-94
4.3.1
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 441). 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 4-42. 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
I:\calmet\nov99\sect4.wpd
4-95
user considerable flexibility in designing and customizing the input file. An unlimited amount of
optional descriptive text can be inserted within the control file to make it self-documenting. For
example, the definition, allowed values, units, and default value of each input variable can be included
within the control file.
The control file processor searches for pairs of special delimiter characters (!). All text outside the
delimiters is assumed to be 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 4-43. 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.
I:\calmet\nov99\sect4.wpd
4-96
Table 4-41
CALMET Control File Input Groups
Input Group
Description
Run Title
First three lines of control file (up to 80 characters/line)
Output Options
Printer control variables, and disk output control variables
I:\calmet\nov99\sect4.wpd
4-97
Table 4-42
Sample CALMET Control File (CALMET.INP)
Run Title and Input Group 0
CALMET TEST CASE
17 x 17 20 km meteorological grid -- wind & met model
Met. stations used: 12 surface, 3 upper air, 2 precip., 3 overwater
CALMET MODEL CONTROL FILE
-------------------------INPUT GROUP: 0 -- Input and Output File Names
Subgroup (a)
-----------Default Name Type
File Name
------------ -----------GEO.DAT
input
! GEODAT=C:\PUFMENU\GEO.DAT
!
SURF.DAT
input
! SRFDAT=C:\PUFMENU\SURF.DAT
!
CLOUD.DAT
input
* CLDDAT=
*
PRECIP.DAT
input
! PRCDAT=precip.dat
!
MM4.DAT
input
* MM4DAT=
*
WT.DAT
input
* WTDAT=
*
CALMET.LST
output
* METLST=
*
CALMET.DAT
output
* METDAT=
*
PACOUT.DAT
output
* PACDAT=
*
All file names will be converted to lower case if LCFILES = T
Otherwise, if LCFILES = F, file names will be converted to UPPER CASE
T = lower case
! LCFILES = T !
F = UPPER CASE
NUMBER OF UPPER AIR & OVERWATER STATIONS:
Number of upper air stations (NUSTA) No default
! NUSTA = 3 !
Number of overwater met stations
(NOWSTA) No default
! NOWSTA = 3 !
!END!
-------------------------------------------------------------------------------Subgroup (b)
Upper air files (one per station)
--------------------------------Default Name Type
File Name
------------ -----------UP1.DAT
input
! UPDAT=c:\pufmenu\up1.dat ! !END!
UP2.DAT
input
! UPDAT=c:\pufmenu\up2.dat ! !END!
UP3.DAT
input
! UPDAT=c:\pufmenu\up3.dat ! !END!
-------------------------------------------------------------------------------Subgroup (c)
Overwater station files (one per station)
----------------------------------------Default Name Type
File Name
------------ -----------SEA1.DAT
input
! SEADAT=c:\pufmenu\sea1.dat ! !END!
SEA2.DAT
input
! SEADAT=c:\pufmenu\sea2.dat ! !END!
SEA3.DAT
input
! SEADAT=c:\pufmenu\sea3.dat ! !END!
-------------------------------------------------------------------------------Subgroup (d)
Other file names
---------------Default Name Type
File Name
------------ -----------DIAG.DAT
input
! DIADAT= diag.dat!
PROG.DAT
input
* PRGDAT=
*
TEST.PRT
output
* TSTPRT=
*
TEST.OUT
output
* TSTOUT=
*
TEST.KIN
output
* TSTKIN=
*
TEST.FRD
output
* TSTFRD=
*
TEST.SLP
output
* TSTSLP=
*
-------------------------------------------------------------------------------NOTES: (1) File/path names can be up to 70 characters in length
(2) Subgroups (a) and (d) must have ONE "END" (surrounded by
delimiters) at the end of the group
(3) Subgroups (b) and (c) must have an "END" (surrounded by
delimiters) at the end of EACH LINE
!END!
I:\calmet\nov99\sect4.wpd
4-98
Year
Month
Day
Hour
(IBYR)
(IBMO)
(IBDY)
(IBHR)
-----
No
No
No
No
default
default
default
default
!
!
!
!
IBYR=
IBMO=
IBDY=
IBHR=
88 !
7 !
7 !
0 !
! IBTZ=
! IRLG=
24
Run type
! IRTYPE=
0 = Computes
1 = Computes
(u*, w*,
(IRTYPE must
(IRTYPE) -- Default: 1
!
!
I:\calmet\nov99\sect4.wpd
4-99
! LCALGRD = T !
! ITEST=
No default
No default
! NX =
! NY =
17
17
!
!
No default
Units: km
! DGRIDKM= 20. !
REFERENCE COORDINATES
of SOUTHWEST corner of grid point (1,1)
X coordinate (XORIGKM)
Y coordinate (YORIGKM)
Latitude (XLAT0)
Longitude (XLON0)
UTM ZONE (IUTMZN)
No default
No default
Units: km
No default
No default
! XORIGKM=
! YORIGKM=
No default
! IUTMZN=
! XLAT0 = 36.283 !
! XLON0 = 108.563!
19
! LLCONF = F !
120.000 !
4570.000 !
! XLAT1 = 35.000 !
! XLAT2 = 45.000 !
No default
! NZ =
14
Default: T
Default: 1
I:\calmet\nov99\sect4.wpd
4-100
! LSAVE = T !
! IFORMO =
Default: 1
! LPRINT = T !
! IPRINF =
0 ,
0 ,
0 ,
0 ,
0 ,
0 ,
0 ,
0 ,
0 ,
0 ,
Print ?
(0 = do not print,
1 = print)
------------------
-------!
!
!
!
!
!
!
!
STABILITY
USTAR
MONIN
MIXHT
WSTAR
PRECIP
SENSHEAT
CONVZI
=
=
=
=
=
=
=
=
1
1
1
1
1
1
1
1
!
!
!
!
!
!
!
!
I:\calmet\nov99\sect4.wpd
4-101
! NN1 =
! NN2 =
! IOUTD =
! NZPRN2 =
IPR0 =
IPR1 =
IPR2 =
IPR3 =
IPR4 =
IPR5 =
IPR6 =
IPR7 =
IPR8 =
!END!
I:\calmet\nov99\sect4.wpd
4-102
0
0
!
!
No default
! NSSTA =
12
No default
! NPSTA =
!
!
! ICLOUD =
! IFORMS =
! IFORMP =
(IFORMC) Default: 2
! IFORMC =
(1 = unformatted - CALMET unformatted output)
(2 = formatted
- free-formatted CALMET output or user input)
FILE FORMATS
Surface meteorological data file format
(IFORMS) Default: 2
(1 = unformatted (e.g., SMERGE output))
(2 = formatted
(free-formatted user input))
Precipitation data file format
(IFORMP) Default: 2
(1 = unformatted (e.g., PMERGE output))
(2 = formatted
(free-formatted user input))
Cloud data file format
!END!
------------------------------------------------------------------------------INPUT GROUP: 5 -- Wind Field Options and Parameters
-------------WIND FIELD MODEL OPTIONS
Model selection variable (IWFCOD)
0 = Objective analysis only
1 = Diagnostic wind module
Compute Froude number adjustment
effects ? (IFRADJ)
(0 = NO, 1 = YES)
Compute kinematic effects ? (IKINE)
(0 = NO, 1 = YES)
Use O'Brien procedure for adjustment
of the vertical velocity ? (IOBR)
(0 = NO, 1 = YES)
Compute slope flows?
(0 = NO, 1 = YES)
Default: 1
! IWFCOD =
Default: 1
! IFRADJ =
Default: 0
! IKINE
= 0
Default: 0
! IOBR =
Default: 1
! ISLOPE = 1 !
I:\calmet\nov99\sect4.wpd
4-103
! IEXTRP =
Default : 0
! ICALM = 0!
1. ,
1 ,
! RMIN2 = -1
= 1)
1)
= 1)
1)
! LVARY =
T!
! RMAX1 = 100. !
! RMAX2 = 500. !
! RMAX3 = 500. !
I:\calmet\nov99\sect4.wpd
Default: 0.1
Units: km
! RMIN = 2. !
No default
Units: km
! TERRAD = 10. !
4-104
1 ,
2 ,
99 ,
! R1 = 100. !
No default
Units: km
! R2 = 500. !
No default
Units: km
! RPROG = 54. !
Default: 5.E-6
! DIVLIM= 5.0E-06 !
Default: 50
! NITER =
20 ,
20 ,
40 ,
40 ,
50
40 ,
40
! NINTR2 =
99 , 99 ,
Default: 1.0
! CRITFN = 1. !
Default: 0.1
! ALPHA = 0.1 !
99 ,
Default: 0
BEGINNING
(XBBAR(NBAR))
BEGINNING
(YBBAR(NBAR))
X coordinate of
of each barrier
Y coordinate of
of each barrier
ENDING
(XEBAR(NBAR))
ENDING
(YEBAR(NBAR))
I:\calmet\nov99\sect4.wpd
! XBBAR = 0. !
! YBBAR = 0. !
! XEBAR = 0. !
! YEBAR = 0. !
4-105
! NBAR =
99
use for
(ISURFT)
to NSSTA)
0)
Default: 0
No default
! IDIOPT1 =
! ISURFT =
! IDIOPT2 =
! IUPT
! ZUPT = 200. !
! IDIOPT3 =
! IUPWND = -1
I:\calmet\nov99\sect4.wpd
4-106
! IDIOPT4 =
! IDIOPT5 =
(LLBREZE)
Default: F
! LLBREZE = F !
! NBOX =
NLB = *1 *
I:\calmet\nov99\sect4.wpd
4-107
Default: 1.41
! CONSTB = 1.41 !
Default: 0.15
! CONSTE = 0.15 !
Default: 2400.
! CONSTN = 2400.!
Default: 0.16
! CONSTW = 0.16 !
Default: 1.E-4
Units: (1/s)
! FCORIOL = 1.0E-04!
Default: 1
! IAVEZI =
Default: 1
Units: Grid
cells
! MNMDAV =
Default: 30.
Units: deg.
! HAFANG = 30. !
No default
! ILEVZI =
! DZZI = 200. !
Default:
50.
Units: meters
Default: 3000.
Units: meters
Default:
50.
Units: meters
! ZIMIN = 100. !
Default: 3000.
Units: meters
! ZIMAX = 3200. !
! ZIMINW = 100. !
! ZIMAXW = 3200. !
TEMPERATURE PARAMETERS
Interpolation type
(1 = 1/R ; 2 = 1/R**2)
Radius of influence for temperature
interpolation (TRADKM)
I:\calmet\nov99\sect4.wpd
Default:1
! IRAD =
Default: 500
Units: km
! TRADKM = 100. !
4-108
Default: 1
! NUMTS = 5
! IAVET =
!
!
! JWAT1 =
! JWAT2 =
55
55
!
!
Default = 2
! NFLAGP =
Default = 100.0
! SIGMAP = 1. !
Default = 0.01
! CUTP = 1. !
I:\calmet\nov99\sect4.wpd
4-109
12
records in all)
2
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!
------------------------------------------------------------------------------INPUT GROUP: 8 -- Upper air meteorological station parameters
-------------UPPER AIR STATION VARIABLES
(One record per station -- 3
1
Name
records in all)
2
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!
I:\calmet\nov99\sect4.wpd
4-110
2
Station
X coord. Y coord.
Code
(km)
(km)
-----------------------------------! PS1 = 'DELR', 412360,
103.6,
4680.0
! PS2 = 'SANG', 417943,
167.3,
4705.5
!
!
------------------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!
I:\calmet\nov99\sect4.wpd
4-111
Table 4-43
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.
I:\calmet\nov99\sect4.wpd
4-112
Type
Description
Default Value
GEODAT
C*70
GEO.DAT
SRFDAT
C*70
SURF.DAT
CLDDAT
C*70
CLOUD.DAT
PRCDAT
C*70
PRECIP.DAT
MM4DAT
C*70
MM4.DAT
WTDAT
C*70
WT.DAT
METLST
C*70
CALMET.LST
METDAT
C*70
CALMET.DAT
PACOUT.DAT
Subgroup (a)
NUSTA
integer
NOWSTA
integer
LCFILES
logical
C*70
UPn.DAT
C*70
SEAn.DAT
DIADAT
C*70
DIAG.DAT
PRGDAT
C*70
PROG.DAT
TSTPRT
C*70
TEST.PRT
TSTOUT
C*70
TEST.OUT
TSTKIN
C*70
TEST.KIN
TSTFRD
C*70
TEST.FRD
TSTSLP
C*70
TEST.SLP
Subgroup (b)
UPDAT
Subgroup (c)
SEADAT
Subgroup (d)
I:\calmet\nov99\sect4.wpd
4-113
Type
Description
Default
Value
IBYR
integer
IBMO
integer
IBDY
integer
IBHR
integer
IBTZ
integer
IRLG
integer
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)
LCALGRD
logical
ITEST
integer
I:\calmet\nov99\sect4.wpd
4-114
Type
Description
Default
Value
NX
integer
NY
integer
NZ
integer
DGRIDKM
real
XORIGKM
real
YORIGKM
real
XLAT0
real
XLON0
real
IUTMZN
integer
ZFACE
real array
LLCONF
logical
XLAT1
XLAT2
real
30.; 60.
RLON0
real
90bW
RLAT0
real
40bN
I:\calmet\nov99\sect4.wpd
4-115
Type
Description
Default
Value
LSAVE
logical
IFORMO
integer
LPRINT
logical
IPRINF
integer
IUVOUT
integer array
NZ*0
IWOUT
integer array
NZ*0
ITOUT
integer array
NZ*0
I:\calmet\nov99\sect4.wpd
4-116
Type
Description
Default
Value
STABILITY
integer
USTAR
integer
MONIN
integer
MIXHT
integer
WSTAR
integer
PRECIP
integer
SENSHEAT
integer
CONVZI
integer
I:\calmet\nov99\sect4.wpd
4-117
Type
Description
Default
Value
LDB*
logical
NN1*
integer
NN2*
integer
IOUTD*
integer
NZPRN2*
integer
IPR0*
integer
I:\calmet\nov99\sect4.wpd
4-118
Type
Description
Default
Value
IPR1*
integer
IPR2*
integer
IPR3*
integer
IPR4*
integer
IPR5*
integer
IPR6*
integer
IPR7*
integer
IPR8*
integer
I:\calmet\nov99\sect4.wpd
4-119
Type
Description
Default
Value
NSSTA
integer
NPSTA
integer
ICLOUD
integer
IFORMS
integer
IFORMP
integer
IFORMC
integer
I:\calmet\nov99\sect4.wpd
4-120
Type
Description
Default
Value
IWFCOD
integer
IFRADJ
integer
IKINE
integer
IOBR
integer
ISLOPE
integer
IEXTRP
integer
-4
ICALM
integer
BIAS
real array
NZ*0
I:\calmet\nov99\sect4.wpd
4-121
Type
Description
Default
Value
IPROG
integer
LVARY
logical
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
RMAX3
real
RMIN
real
0.1
RMIN2
real
4.0
TERRAD
real
I:\calmet\nov99\sect4.wpd
4-122
Type
Description
Default
Value
R1
real
R2
real
RPROG
real
DIVLIM
real
5.0E-6
NITER
integer
50
NSMTH
integer array
2,(MXNZ-1)*4
NINTR2
integer array
99
CRITFN
real
1.0
ALPHA
real
0.1
I:\calmet\nov99\sect4.wpd
4-123
Type
Description
Default
Value
FEXTR2
integer array
NZ*0.0
NBAR
integer
XBBAR
real array
YBBAR
real array
XEBAR
real array
YEBAR
real array
IDIOPT1
integer
ISURFT
integer
IDIOPT2
integer
IUPT
integer
ZUPT
real
200.
I:\calmet\nov99\sect4.wpd
4-124
Type
Description
IDIOPT3
integer
-1
IUPWND
integer
Default
Value
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
IDIOPT5
LLBREZE
integer
logical
NBOX
integer
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.)
I:\calmet\nov99\sect4.wpd
4-125
Type
Description
Default
Value
YG2
real array
XBCST
real array
YBCST
real array
XECST
real array
YECST
real array
NLB
integer
METBXID
integer
I:\calmet\nov99\sect4.wpd
4-126
Type
Description
Default
Value
CONSTB
real
1.41
CONSTE
real
0.15
CONSTN
real
2400.
CONSTW
real
0.16
FCORIOL
real
1.E-4
DPTMIN
real
0.001
DZZI
real
200.
ZIMAX
real
3000.
ZIMIN
real
50.
ZIMAXW
real
3000.
ZIMINW
real
50.
IAVEZI
integer
MNMDAV
integer
HAFANG
real
30.
ILEVZI
integer
I:\calmet\nov99\sect4.wpd
4-127
Type
Description
Default
Value
IRAD
integer
IAVET
integer
TRADKM
real
500.
NUMTS
integer
TGDEFB
real
-0.0098
TGDEFA
real
-0.0045
JWAT1,
JWAT2
integers
999,
999
NFLAGP
integer
SIGMAP
real
100.0
CUTP
real
0.01
I:\calmet\nov99\sect4.wpd
4-128
Type
Description
CSNAM
char*4
IDSSTA
integer
XSSTA
real
YSSTA
real
XSTZ
real
ZANEM
real
I:\calmet\nov99\sect4.wpd
4-129
Type
Description
CUNAM
char*4
IDUSTA
integer
XUSTA
real
YUSTA
real
XUTZ
real
I:\calmet\nov99\sect4.wpd
4-130
Type
Description
CPNAM
char*4
IDPSTA
integer
XPSTA
real
YPSTA
real
I:\calmet\nov99\sect4.wpd
4-131
4.3.2
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 4-44. The first line of the file contains a character string of
up to 80 characters in length which can be used to identify the data set. The second line contains grid
information such as the number of grid cells, grid spacing, reference coordinates and reference UTM
zone. These variables 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 4-45. 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 4-46. 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
I:\calmet\nov99\sect4.wpd
4-132
range is specified to allow inclusion of multiple categories, for example "bay" and "ocean," in the
definition of the water body. To disable the overwater option, JWAT1 and JWAT2 are set to values
greater than the highest land use category listed in the GEO.DAT file. The default values of JWAT1 and
JWAT2 are both 999, indicating the overwater interpolation scheme is not applied in default mode.
Because the temperature of any grid cell whose land use is included in the range defined by JWAT1 and
JWAT2 will be determined by a weighting of all overwater data (SEA#.DAT files), it is recommended
that smaller or distant water bodies be assigned land use categories that are distinct from those used in
JWAT1 and JWAT2, to avoid use of inappropriate data in determining their surface temperatures. Thus
a small reservoir will have its temperature determined by surrounding land stations, rather than by ocean
buoy data. After viewing the initial temperature field that results from the CALMET run, the user may
wish to "fine tune" the fields using the extended, 52-class land use system in Table 4-46 and by altering
the land use assignments of particular grid cells or changing the land uses included in the JWAT1JWAT2 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 4-44 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 4-47.
I:\calmet\nov99\sect4.wpd
4-133
Table 4-44
Sample GEO.DAT Geophysical Data File
I:\calmet\nov99\sect4.wpd
4-134
Table 4-45
Default CALMET Land Use Categories and Associated Geophysical Parameters
Based on the U.S. Geological Survey Land Use Classification System
(14-Category System)
Surface
Roughness (m)
Albedo
Bowen Ratio
Soil Heat
Flux Parameter
Anthropogenic
Heat Flux (W/m2)
Leaf Area
Index
1.0
0.18
1.5
.25
0.0
0.2
0.25
0.15
1.0
.15
0.0
3.0
0.25
0.15
0.5
.15
0.0
3.0
30
Rangeland
0.05
0.25
1.0
.15
0.0
0.5
40
Forest Land
1.0
0.10
1.0
.15
0.0
7.0
51
0.001
0.10
0.0
1.0
0.0
0.0
54
0.001
0.10
0.0
1.0
0.0
0.0
55
0.001
0.10
0.0
1.0
0.0
0.0
60
Wetland
1.0
0.10
0.5
.25
0.0
2.0
61
Forested Wetland
1.0
0.1
0.5
0.25
0.0
2.0
62
Nonforested Wetland
0.2
0.1
0.1
0.25
0.0
1.0
70
Barren Land
0.05
0.30
1.0
.15
0.0
0.05
80
Tundra
.20
0.30
0.5
.15
0.0
0.0
90
.20
0.70
0.5
.15
0.0
0.0
Description
I:\calmet\nov99\sect4.wpd
4-135
Table 4-46*
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
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
>20
Agricultural Land
Irrigated
>21
>22
>23
>24
30
Rangeland
31
32
33
Herbaceous Rangeland
Shrub and Brush Rangeland
Mixed Rangeland
40
Forest Land
41
42
43
50
Water
51
52
53
54
55
60
Wetland
61
62
Forested Wetland
Nonforested Wetland
70
Barren Land
71
72
73
74
75
76
77
80
Tundra
81
82
83
84
85
90
91
92
Perennial Snowfields
Glaciers
I:\calmet\nov99\sect4.wpd
4-136
Table 4-47
GEO.DATA File Format
Record
Variable
Type
Description
TITLEGE
char*80
NXG
integer
NYG
integer
DGRIDG
real
XORG
real
YORG
real
IUTMG
integer
IOPT1
integer
4*
NLU
integer
IWAT1
integer
4*
IWAT2
integer
5*
ILUCAT
integer array
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
I:\calmet\nov99\sect4.wpd
4-137
Variable
Type
Description
NEXT NY
lines
ELEV
real array
NEXT line
IOPT2
integer
ILU
integer
ZOLU
real array
NEXT**
NLU lines
NEXT***
NY lines
**
***
ZO
real array
I:\calmet\nov99\sect4.wpd
4-138
Variable
Type
Description
NEXT line
IOPT3
integer
ILU
integer
ALBLU
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**
NLU lines
NEXT***
NY lines
**
***
ALBEDO
real array
I:\calmet\nov99\sect4.wpd
4-139
Variable
Type
Description
NEXT line
IOPT4
integer
ILU
integer
BOWLU
real array
NEXT**
NLU lines
NEXT***
NY lines
**
***
BOWEN
real array
I:\calmet\nov99\sect4.wpd
4-140
Variable
Type
Description
NEXT line
IOPT5
integer
ILU
integer
HCGLU
real array
NEXT**
NLU lines
NEXT***
NY lines
**
***
HCG
real array
I:\calmet\nov99\sect4.wpd
4-141
Variable
Type
Description
NEXT line
IOPT6
integer
ILU
integer
QFLU
real array
NEXT**
NLU lines
NEXT***
NY lines
**
***
QF
real array
I:\calmet\nov99\sect4.wpd
4-142
Variable
Type
Description
NEXT line
IOPT7
integer
ILU
integer
XLAILU
real array
NEXT**
NLU lines
NEXT***
NY lines
XLAI
**
***
real array
I:\calmet\nov99\sect4.wpd
4-143
4.3.3
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 READ56 or
READ62 preprocessor programs 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 two 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 4-48. The first header record
contains the starting and ending dates of data contained in the file and the top pressure level of the
sounding data. The second header record contains the READ56/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 (5600 or 6201 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 4-49.
As discussed in Section 4.1.5, 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.
I:\calmet\nov99\sect4.wpd
4-144
Table 4-48
Sample READ56/READ62 Output Data File
(UPn.DAT)
89
1
0
89
4
F
F
F
F
6201
23044
89 1
880.5/1199./283.9/240/
750.0/2512./275.9/268/
608.0/4182./266.7/247/
6201
23044
89 1
881.0/1199./269.9/ 0/
850.0/1489./280.5/ 29/
750.0/2516./277.5/215/
650.0/3662./269.6/210/
500.0/5686./255.0/228/
6201
23044
89 1
879.5/1199./287.6/ 20/
785.0/2145./281.0/131/
676.0/3353./270.7/242/
585.0/4488./264.1/235/
6201
23044
89 1
882.0/1199./277.7/310/
850.0/1503./283.2/ 13/
700.0/3094./273.8/217/
650.0/3686./271.3/230/
550.0/4985./259.9/261/
6201
23044
89 1
882.6/1199./286.5/350/
762.0/2418./279.5/200/
673.0/3425./273.1/238/
550.0/5014./263.0/258/
6201
23044
89 1
888.0/1199./277.7/ 20/
800.0/2065./279.8/227/
750.0/2595./279.6/233/
643.0/3849./273.3/290/
574.0/4745./266.2/232/
6201
23044
89 1
888.7/1199./288.2/ 20/
800.0/2079./281.3/148/
650.0/3778./274.0/228/
553.0/5053./263.3/314/
6201
23044
89 1
887.0/1199./280.0/ 30/
850.0/1554./283.4/130/
750.0/2596./281.1/187/
600.0/4399./268.9/222/
550.0/5079./264.7/227/
I:\calmet\nov99\sect4.wpd
12 500.
1 0
3
11
12
112
3
2
5
14
15
2 0
2
1
14
25
212
2
1
10
10
9
3 0
2
8
11
26
312
3
7
10
11
7
4 0
2
6
6
6
412
3
4
11
22
22
48
878.0/1223./283.5/242/
700.0/3067./273.3/262/
600.0/4285./265.9/247/
62
878.0/1226./272.3/ 2/
832.0/1665./281.2/ 29/
702.0/3050./273.3/208/
600.0/4291./266.9/223/
60
875.0/1242./287.3/ 25/
750.0/2519./277.7/252/
650.0/3664./269.1/236/
550.0/4964./262.6/246/
51
879.0/1227./279.7/313/
800.0/2005./281.1/212/
692.0/3186./273.1/217/
642.0/3784./270.7/232/
500.0/5706./256.3/257/
49
880.0/1224./286.0/353/
750.0/2548./279.3/199/
650.0/3703./272.2/252/
500.0/5740./257.5/259/
55
882.0/1255./280.7/ 7/
787.0/2199./278.9/228/
735.0/2761./280.8/240/
624.0/4088./271.0/288/
550.0/5077./264.3/244/
50
886.0/1225./287.6/ 25/
750.0/2611./280.3/185/
642.0/3877./273.3/233/
550.0/5095./263.2/314/
39
879.0/1274./281.3/ 49/
817.0/1885./284.1/159/
700.0/3161./277.0/206/
582.0/4638./267.0/224/
510.0/5659./259.2/226/
3
11
13
3
1
11
14
2
1
20
21
2
3
10
11
23
2
10
11
29
2
8
10
10
9
2
9
5
6
3
9
17
21
21
12
850.0/1491./281.4/257/
696.0/3113./273.1/260/
550.0/4956./260.3/248/
17
872.0/1281./273.1/ 6/
800.0/1988./280.1/ 0/
700.0/3073./273.1/207/
596.0/4344./266.6/224/
5
11
15
800.0/1988./278.2/275/ 9
650.0/3657./269.9/250/ 11
500.0/5674./254.1/254/ 13
3
0
12
14
861.0/1384./279.1/ 18/ 2
772.0/2280./279.3/215/ 3
652.0/3638./269.7/210/ 14
550.0/4965./261.3/232/ 14
16
850.0/1485./285.0/ 50/ 2
705.0/3018./273.2/251/ 7
619.0/4048./267.1/229/ 25
520.0/5394./261.2/247/ 25
18
870.0/1311./279.5/324/ 1
775.0/2267./280.3/212/ 6
666.0/3492./270.9/225/ 9
600.0/4316./265.8/234/ 9
14
850.0/1514./284.1/ 4/ 3
742.0/2636./279.1/200/ 11
642.0/3802./271.8/258/ 12
19
866.0/1407./284.2/272/
776.0/2315./279.9/229/
700.0/3161./279.0/263/
600.0/4398./268.4/270/
500.0/5810./260.0/244/
15
850.0/1574./285.2/ 84/
731.0/2823./279.9/187/
600.0/4416./269.2/278/
500.0/5826./259.7/243/
19
871.0/1350./283.6/ 73/
800.0/2060./283.4/164/
650.0/3761./273.7/218/
576.0/4719./265.9/225/
500.0/5809./258.7/226/
4-145
800.0/1989./281.8/110/ 1
700.0/3075./272.8/249/ 8
600.0/4291./265.5/230/ 26
500.0/5692./258.5/243/ 26
857.0/1435./283.6/ 2/ 1
750.0/2536./278.3/214/ 8
655.0/3625./271.6/229/ 10
558.0/4875./260.4/255/ 9
800.0/2017./281.6/207/ 4
700.0/3109./275.1/225/ 12
600.0/4337./268.0/262/ 17
2
10
9
6
13
850.0/1563./284.0/241/ 4
760.0/2486./278.9/231/ 10
650.0/3762./274.1/288/ 11
593.0/4490./267.5/253/ 6
3
10
3
4
805.0/2027./281.6/137/
700.0/3178./277.7/197/
585.0/4615./267.6/305/
2
10
22
21
22
859.0/1466./283.3/100/ 3
759.0/2497./281.8/182/ 10
645.0/3823./273.3/218/ 23
566.0/4856./266.7/226/ 22
6
8
3
Table 4-49
READ56/READ62 Output File Format
(Upn.DAT)
FILE HEADER RECORD #1
Columns
Format
Variable
Description
2-6
I5
IBYR
7-11
I5
IBDAY
12-16
I5
IBHR
17-21
I5
IEYR
22-26
I5
IEDAY
27-31
I5
IEHR
32-36
F5.0
PSTOP
37-41
I5
JDAT
42-46
I5
IFMT
Format
Variable
Description
L1
LHT
11
L1
LTEMP
16
L1
LWD
21
L1
LWS
I:\calmet\nov99\sect4.wpd
4-146
Format*
Variable
Description
4-7
I4
ITPDK
13-17
A5
STNID
Station ID number
23-24
I2
YEAR
Year of data
25-26
I2
MONTH
Month of data
27-28
I2
DAY
Day of data
29-30
I2
HOUR
36-37
I2
MLEV
69-70
I2
ISTOP
I:\calmet\nov99\sect4.wpd
4-147
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)
I:\calmet\nov99\sect4.wpd
4-148
4.3.4
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 4.3.1).
A sample formatted SURF.DAT file is shown in Table 4-50. A description of each variable in the
formatted surface data file is contained in Table 4-51. The file contains two header records with the
beginning and ending dates and times of data in the file, reference time zone, and number of stations in
the first record and the station ID number in the second record. The data are read in FORTRAN free
format. 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.
I:\calmet\nov99\sect4.wpd
4-149
Table 4-50
Sample SURF.DAT Output Data File
(SURF.DAT)
90
8
14606
90
8
0.000
5.144
2.572
5.144
4.100
90
8
2.572
3.087
3.601
0.000
4.100
90
8
0.000
0.000
0.000
3.087
4.100
90
8
0.000
0.000
0.000
5.144
2.600
90
8
0.000
0.000
0.000
4.630
2.600
90
8
2.572
0.000
0.000
4.116
1.500
1 90
8
6
5
5
14611
14745
14742
14764
1
0.000
50
10 270.928
85
220.000 999 9999 273.150
61
190.000 999
0 268.706
85
190.000
37
10 275.372
62
220.000 129
8 272.550
69
2
190.000
50
9 270.928
85
250.000 999 9999 272.594
67
180.000 999
0 269.261
85
0.000
37
10 274.817
67
230.000 129
9 272.550
69
3
0.000
50
10 271.483
85
0.000 999 9999 272.039
66
0.000 999
0 264.817
96
240.000
37
10 275.372
64
220.000 999
3 272.550
69
4
0.000
50
10 271.483
85
0.000 999 9999 272.039
66
0.000 999
0 265.372
96
250.000
43
10 275.372
64
230.000 999
0 272.050
75
5
0.000
50
9 271.483
85
0.000 999 9999 272.039
66
0.000 999
0 264.261
92
210.000
50
10 275.928
62
320.000 999
0 270.950
82
6
220.000 999
2 272.039
89
0.000 999 9999 270.928
69
0.000 999
0 263.706
92
210.000
50
10 275.928
59
200.000 999
0 269.850
85
I:\calmet\nov99\sect4.wpd
1001.358
1005.083
997.295
996.956
1007.000
0
0
0
0
0
1001.020
1005.422
997.295
997.295
1007.000
0
0
0
0
0
1001.358
1005.761
997.972
998.311
1008.000
0
0
0
0
0
1001.697
1006.099
998.311
998.649
1008.000
0
0
0
0
0
1001.697
1006.777
998.988
998.988
1009.000
0
0
0
0
0
1002.036
1007.454
1000.004
999.665
1009.000
0
0
0
0
0
4-150
Table 4-51
Formatted SURF.DAT File - Header Records
HEADER RECORD #1
Variable
No.
Variable
Type
Description
IBYR
integer
IBJUL
integer
IBHR
integer
IEYR
integer
Ending year
IEJUL
integer
IEHR
integer
IBTZ
integer
NSTA
integer
Number of stations
HEADER RECORD #2
Variable
No.
Variable
Type
Description
IDSTA
integer array
I:\calmet\nov99\sect4.wpd
4-151
Variable
Type
Description
IYR
integer
Year of data
IJUL
integer
Julian day
IHR
integer
WS
real array
WD
real array
ICEIL
integer array
ICC
integer array
TEMPK
real array
IRH
integer array
10
PRES
real array
11
IPCODE
integer array
Precipitation code
(0=no precipitation, 1-18=liquid precipitation, 1945=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)
I:\calmet\nov99\sect4.wpd
4-152
4.3.5
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 4-52 contains a sample overwater input file, which contains hourly overwater data. A description
of each input variable and format is provided in Table 4-53.
I:\calmet\nov99\sect4.wpd
4-153
Table 4-52
Sample Overwater Data File (SEA1.DAT)
'4005',11000
536.07 4721.83
536.07 4721.83
536.07 4721.83
536.07 4721.83
536.07 4721.83
536.07 4721.83
536.07 4721.83
536.07 4721.83
536.07 4721.83
536.07 4721.83
536.07 4721.83
536.07 4721.83
536.07 4721.83
536.07 4721.83
536.07 4721.83
536.07 4721.83
536.07 4721.83
536.07 4721.83
536.07 4721.83
536.07 4721.83
536.07 4721.83
536.07 4721.83
536.07 4721.83
536.07 4721.83
536.07 4721.83
68.560
68.560
68.560
68.560
68.560
68.560
68.560
68.560
68.560
68.560
68.560
68.560
68.560
68.560
68.560
68.560
68.560
68.560
68.560
68.560
68.560
68.560
68.560
68.560
68.560
I:\calmet\nov99\sect4.wpd
10.0
10.0
10.0
10.0
10.0
10.0
10.0
10.0
10.0
10.0
10.0
10.0
10.0
10.0
10.0
10.0
10.0
10.0
10.0
10.0
10.0
10.0
10.0
10.0
10.0
87
87
87
87
87
87
87
87
87
87
87
87
87
87
87
87
87
87
87
87
87
87
87
87
87
226
226
226
226
226
226
226
226
226
226
226
226
226
226
226
226
226
226
226
226
226
226
226
226
227
0
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
0
87
87
87
87
87
87
87
87
87
87
87
87
87
87
87
87
87
87
87
87
87
87
87
87
87
226
226
226
226
226
226
226
226
226
226
226
226
226
226
226
226
226
226
226
226
226
226
226
226
227
0
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
0
9999.0
9999.0
9999.0
9999.0
9999.0
9999.0
9999.0
9999.0
9999.0
9999.0
9999.0
9999.0
9999.0
9999.0
9999.0
9999.0
9999.0
9999.0
9999.0
9999.0
9999.0
9999.0
9999.0
9999.0
9999.0
290.9
290.9
290.9
290.9
290.9
290.9
290.9
291.5
291.5
291.5
291.5
291.5
291.5
292.0
292.0
292.0
292.0
292.0
292.0
291.5
291.5
291.5
291.5
290.9
291.5
4-154
9999.0
9999.0
9999.0
9999.0
9999.0
9999.0
9999.0
9999.0
9999.0
9999.0
9999.0
9999.0
9999.0
9999.0
9999.0
9999.0
9999.0
9999.0
9999.0
9999.0
9999.0
9999.0
9999.0
9999.0
9999.0
9999.0
9999.0
9999.0
9999.0
9999.0
9999.0
9999.0
9999.0
9999.0
9999.0
9999.0
9999.0
9999.0
9999.0
9999.0
9999.0
9999.0
9999.0
9999.0
9999.0
9999.0
9999.0
9999.0
9999.0
9999.0
9999.0000
9999.0000
9999.0000
9999.0000
9999.0000
9999.0000
9999.0000
9999.0000
9999.0000
9999.0000
9999.0000
9999.0000
9999.0000
9999.0000
9999.0000
9999.0000
9999.0000
9999.0000
9999.0000
9999.0000
9999.0000
9999.0000
9999.0000
9999.0000
9999.0000
9999.0000
9999.0000
9999.0000
9999.0000
9999.0000
9999.0000
9999.0000
9999.0000
9999.0000
9999.0000
9999.0000
9999.0000
9999.0000
9999.0000
9999.0000
9999.0000
9999.0000
9999.0000
9999.0000
9999.0000
9999.0000
9999.0000
9999.0000
9999.0000
9999.0000
4.1
4.1
3.6
4.1
3.6
3.1
2.6
2.6
2.6
2.6
3.1
3.6
3.6
4.1
4.6
4.6
3.6
3.6
3.6
3.6
4.6
4.6
5.1
7.2
6.2
180.0
180.0
200.0
200.0
200.0
200.0
210.0
210.0
200.0
200.0
190.0
190.0
190.0
200.0
190.0
200.0
200.0
200.0
190.0
190.0
180.0
190.0
190.0
210.0
220.0
Table 4-53
Overwater Data File Format* (SEA1.DAT)
HEADER RECORD #1
Variable
No.
Variable
Type
Description
Default
Value
CHOWSTA
char*4
station name
IDOWSTA
integer
DATA RECORDS
Variable
No.
Variable
Type
Description
Default
Value
XUTM
real
YUTM
real
XOWLON
real
ZOWSTA
real
I1YR
integer
I1JUL
integer
I1HR
integer
I2YR
integer
I2JUL
integer
10
I2HR
integer
11
DTOW
real
12
TAIROW
real
288.7
13
RHOW
real
100
14
ZIOW
real
15
TGRADB
real
-0.0098
16
TGRADA
real
-0.0045
17
WSOW
real
18
WDOW
real
I:\calmet\nov99\sect4.wpd
4-155
4.3.6
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.
An option is provided in CALMET to read the hourly precipitation data from a free-formatted, userprepared input file (i.e., IFORMP=2). This option is provided to allow the user an easy way to manually
enter precipitation data for short CALMET runs. The use of the formatted PRECIP.DAT option can also
be used with the formatted output file from PMERGE.
A sample free-formatted PRECIP.DAT file is shown in Table 4-54. The file includes two header records
containing the beginning and ending dates and time of the data in the file, base time zone, number of
stations, and station ID codes. One data record must follow each hour. Each data record contains the
date and time and the precipitation rate (mm/hr) for each station. The details of the format and definition
of each variable in the free-formatted PRECIP.DAT file is provided in Table 4-55.
I:\calmet\nov99\sect4.wpd
4-156
Table 4-54
Sample Free-Formatted Precipitation Data File (PRECIP.DAT)
89
1
1
89
2
9
6
14
0
412360 417943 417945 412797 415890 410174 411492 412679 412811 415048
89
1
1
0.000
0.000
0.000 9999.000
0.000
0.000
9999.000
0.000
0.000
0.000
89
1
2
0.000
0.000
0.000
0.000
0.000
0.000
9999.000
0.000
0.000
0.000
89
1
3
0.000
0.000
0.000
0.000
0.000
0.000
9999.000
0.000
0.000
0.000
89
1
4
0.000
0.000
0.000
0.000
0.000
0.000
9999.000
0.000
0.000
0.000
89
1
5
0.000
0.000
0.000
0.000
0.000
0.000
9999.000
0.000
0.000
0.000
89
1
6
0.000
0.000
0.000
0.000
0.000
0.000
9999.000
0.000
0.000
0.000
89
1
7
0.000
0.000
0.000
0.000
0.000
0.000
9999.000
0.000
0.000
0.000
89
1
8
0.000
0.000
0.000
0.000
0.000
0.000
9999.000
0.000
0.000
0.000
89
1
9
0.000
0.000
0.000
0.000
0.000
0.000
9999.000
0.000
0.000
0.000
89
1 10
0.000
0.000
0.000
0.000
0.000
0.000
9999.000
0.000
0.000
0.000
89
1 11
0.000
0.000
0.254
0.000
0.000
0.000
9999.000
0.000
0.000
0.000
89
1 12
0.000
0.000
0.254
0.000
0.000
0.000
9999.000
0.000
0.000
0.000
89
1 13
0.000
0.000
0.254
0.000
0.000
0.000
9999.000
0.000
0.000
0.000
89
1 14
0.000
0.000
0.000
0.000
0.000
0.000
9999.000
0.000
0.000
0.000
89
1 15
0.000
0.000
0.000
0.000
0.000
0.000
9999.000
0.000
0.000
0.000
89
1 16
0.000
0.000
0.000
0.000
0.000
0.000
9999.000
0.000
0.000
0.000
89
1 17
0.000
0.000
0.254
0.000
0.000
0.000
9999.000
0.000
0.000
0.000
89
1 18
0.000
0.000
0.254
0.000
0.000
0.000
9999.000
0.000
0.000
0.000
89
1 19
0.000
0.000
0.000
0.000
0.762
0.000
9999.000
0.000
0.000
0.000
89
1 20
0.000
0.000
0.000
0.000
0.762
0.000
9999.000
0.000
0.000
0.000
89
1 21
0.000
0.000
0.000
0.000
0.000
0.000
9999.000
0.000
0.000
0.000
89
1 22
0.000
0.000
0.000
0.000
0.000
0.000
9999.000
0.000
0.000
0.000
89
1 23
0.000
0.000
0.000
0.000
0.000
0.000
9999.000
0.000
0.000
0.000
89
1 24
0.000
0.000
0.000
0.000
0.000
0.000
9999.000
0.000
0.000
0.000
89
2
1
0.000
0.000
0.000
0.000
0.000
0.000
9999.000
0.000
0.000
0.000
89
2
2
0.000
0.000
0.000
0.000
0.000
0.000
9999.000
0.000
0.000
0.000
89
2
3
0.000
0.000
0.000
0.000
0.000
0.000
9999.000
0.000
0.000
0.000
89
2
4
0.000
0.000
0.000
0.000
0.000
0.000
9999.000
0.000
0.000
0.000
89
2
5
0.000
0.000
0.000
0.000
0.000
0.000
9999.000
0.000
0.000
0.000
89
2
6
0.000
0.000
0.000
0.000
0.000
0.000
9999.000
0.000
0.000
0.000
89
2
7
0.000
0.000
0.000
0.000
0.000
0.000
9999.000
0.000
0.000
0.000
89
2
8
0.000
0.000
0.000
0.000
0.000
0.000
9999.000
0.000
0.000
0.000
89
2
9
0.000
0.000
0.000
0.000
0.000
0.000
9999.000
0.000
0.000
0.000
I:\calmet\nov99\sect4.wpd
4-157
0.000
0.000
0.000
0.000
0.000
0.000
0.000
0.000
0.000
0.000
0.000
0.000
0.000
0.000
0.000
0.000
0.000
0.000
0.000
0.000
0.000
0.000
0.000
0.000
0.000
0.000
0.000
0.000
0.000
0.000
0.000
0.000
0.000
0.000
0.000
0.000
0.000
0.000
0.000
0.000
0.000
0.000
0.000
0.000
0.000
0.000
0.000
0.000
0.000
0.000
0.000
0.000
0.000
0.000
0.000
0.000
0.000
0.000
0.000
0.000
0.000
0.000
0.000
0.000
0.000
0.000
0.000
0.000
0.000
0.000
0.000
0.000
0.000
0.000
0.000
0.000
0.000
0.000
0.000
0.000
0.000
0.000
0.000
0.000
0.000
0.000
0.000
0.000
0.000
0.000
0.000
0.000
0.000
0.000
0.000
0.000
0.000
0.000
0.000
0.000
0.000
0.000
0.000
0.000
0.000
0.000
0.000
0.000
0.000
0.000
0.000
0.000
0.000
0.000
0.000
0.000
0.000
0.000
0.000
0.000
0.000
0.000
0.000
0.000
0.000
0.000
0.000
Table 4-55
Free-Formatted Precipitation Data File Format (PRECIP.DAT)
HEADER RECORDS
Head Record #1
Variable No.
Variable
Type
Description
IBYR
integer
IBJUL
integer
IBHR
integer
IEYR
integer
IEJUL
integer
IEHR
integer
IBTZ
integer
NSTA
integer
Variable No.
Variable
Type
Description
IDSTA
integer array
I:\calmet\nov99\sect4.wpd
4-158
DATA RECORDS
(Repeated for each hour of data)
Variable
Type
Description
IYR
integer
Year of data
IJUL
integer
IHR
integer
XPREC
real array
I:\calmet\nov99\sect4.wpd
4-159
4.3.7
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 4-56. A description of each
variable in the file and its input format is contained in Table 4-57. 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
IDIOPT2
IDIOPT3
IDIOPT4
IDIOPT5
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'.
I:\calmet\nov99\sect4.wpd
4-160
Table 4-56
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
I:\calmet\nov99\sect4.wpd
4-161
Table 4-57
DIAG.DAT Input File
(Records 1-6 reported for each hour)
Record
Variable No.
Variable
Type
Description
1a
TINF
real
2b
GAMMA
real
3c
UM
real
4c
VM
real
5d
CNAM
char*4
5d
WT
real
5d
US
real
5d
VS
real
I:\calmet\nov99\sect4.wpd
4-162
Record
Variable No.
Variable
Type
Description
6e
CUNAM
char*4
6e
WTU
real
6e
ULEV1
real
6e
VELV1
real
6e
ULEV2
real
6e
VELV2
real
]
]
]
]
]
]
]
]
]
I:\calmet\nov99\sect4.wpd
4-163
4.3.8
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 4-58 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).
I:\calmet\nov99\sect4.wpd
4-164
Table 4-58
Gridded Prognostic Model Wind Field Input File (PROG.DAT)
Record
Variable No.
Variable
Type
Description
TIMEH
real
NXP
real
NYP
real
NZP
real
UTMXOP
real
UTMYOP
real
DXKP
real
real
array
Next
NZP*NYP
Records
UP
real
array
Next
NZP*NYP
Records
VP
real
array
I:\calmet\nov99\sect4.wpd
4-165
4.3.9
The CALMET model allows the use of gridded MM4 or MM5 prognostic winds to be used as input. 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 wind data into the
model is available.
If
IPROG = 3
IPROG = 4
IPROG = 5
IPROG = 13
IPROG = 14
IPROG = 15
use MM4/MM5 (MM4.DAT) winds as the Step 1 field when using the
objective analysis
use MM4/MM5 (MM4.DAT) winds as the initial guess field when using
the diagnostic module
treat MM4/MM5 (MM4.DAT) winds as observations.
use MM5 (MM5.DAT) winds as the Step 1 field when using the
objective analysis
use MM5 (MM5.DAT) winds as the initial guess field when using the
diagnostic module
treat MM5 (MM5.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 fields are read from a file
called MM5.DAT. Note that the MM5.DAt file contains fields provided by MM5 that are not provided
by MM4. Within CALMET these fields are interpolated from the prognostic model grid system to the
CALMET grid.
The MM4.DAT file is a formatted data file containing header records describing the date, time, and
domain of the prognostic model run. The extraction subdomain is defined in terms of (I,J) and latitude
and longitude. Terrain elevation and land use description code are also provided for each grid cell in the
subdomain. The sigma-p values used by MM4/MM5 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 4-59, and a description of each record is presented in
Table 4-60.
I:\calmet\nov99\sect4.wpd
4-166
The MM5.DAT file is also a formatted data file similar to the MM4.DAT file. Header records describe
the prognostic model run and the subdomain and time period extracted to the MM5.DAT file. Data
records for each time period are provided for each grid cell in the extracted subdomain. Sea level
pressure, rainfall, and snow cover are provided for the surface, and pressure, elevation, temperature, wind
speed, and wind direction are always provided at each vertical level. Other variables that may be
provided at each vertical level include the vertical velocity, relative humidity, vapor mixing ratio, cloud
mixing ratio, rain mixing ratio, ice mixing ratio, and grouped mixing ratio.
A sample MM5.DAT file is presented in Table 4-61, and a description of each record is presented in
Table 4-62.
I:\calmet\nov99\sect4.wpd
4-167
Table 4-59
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)
I:\calmet\nov99\sect4.wpd
4-168
16 1015.2 0.00 0
30056 24507
30657 00000
25232 26510
19814 29009
10661 03011
04971 07013
17170 05011
32566 05012
29656 24507
28852 24508
27846 25509
26038 26510
23823 27010
21015 28509
17612 30008
14058 00007
09064 03512
02866 05012
05171 07013
15971 05011
28767 05011
46364 05517
66159 02514
16 1015.2 0.00 0
29456 25007
30656 00000
25231 26511
20015 30009
10261 01510
04775 06512
17173 05513
32567 05014
29052 25007
28246 25007
27239 25509
25634 26511
23620 27010
20816 29509
17214 32009
13458 35509
08463 02011
02667 04011
05176 06513
16173 05513
28968 05012
46565 05018
66360 01515
I:\calmet\nov99\sect4.wpd
4-169
Table 4-60
MM4/MM5 Derived Gridded Wind Data File Format (MM4.DAT)
HEADER RECORDS
Header Record #1
Variable No.
1
Variable
Type
Description
CTEXT
char*36
Variable No.
Variable
Type
Description
IBYRM
integer
IBMOM
integer
IBDYM
integer
IBHRM
integer
NHRSMM4
integer
NXMM4
integer
NYMM4
integer
NZP
integer
PTOPMM4
real
I:\calmet\nov99\sect4.wpd
4-170
HEADER RECORDS
Header Record #3
Variable No.
Variable
Type
Description
I1
integer
J1
integer
NXP
integer
NYP
integer
I:\calmet\nov99\sect4.wpd
Variable
Type
Description
SIGMA
real array
4-171
HEADER RECORDS
Next NXP*NYP Records
Variable
No.
Variable
Type
Description
IINDEX
integer
JINDEX
integer
XLATDOT
real array
XLONGDOT
real array
IELEVDOT
integer array
ILUDOT
integer array
Type
Description
MYR
integer
MMO
integer
MDAY
integer
MHR
integer
IX
integer
JX
integer
PRES
real
RAIN
real
SC
integer
Variable
No.
format (4i2,2i3,f7.1,f5.2,i2)
I:\calmet\nov99\sect4.wpd
4-172
Variable No.
Variable
Type
Description
integer
integer
3**
integer
WD
integer
WS
integer
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.
**
I:\calmet\nov99\sect4.wpd
4-173
Table 4-61
Sample MM5 Derived Gridded Wind Data File (MM5.DAT)
I:\calmet\nov99\sect4.wpd
4-174
0.00
0.00
0.00
0.00
0.00
0.00
0.00
0.00
0.00
0.00
0.00
0.00
I:\calmet\nov99\sect4.wpd
39
41
28
12
10
0.36
0.17
0.04
0.01
0.01
0.00
0.00
0.00
0.00
0.00
0.00
0.00
0.00
0.00
0.00
0.00
0.00
0.00
0.00
0.00
0.00
0.00
0.00
0.00
0.00
0.00
0.00
0.00
0.00
0.00
42
40
37
35
32
29
27
25
22
19
28
36
41
43
27
12
10
2.88
2.65
2.37
2.17
1.86
1.54
1.25
0.98
0.72
0.54
0.64
0.57
0.35
0.17
0.04
0.01
0.02
0.00
0.00
0.00
0.00
0.00
0.00
0.00
0.00
0.00
0.00
0.00
0.00
0.00
0.00
0.00
0.00
0.00
0.00
0.00
0.00
0.00
0.00
0.00
0.00
0.00
0.00
0.00
0.00
0.00
0.00
0.00
0.00
0.00
0.00
0.00
0.00
0.00
0.00
0.00
0.00
0.00
0.00
0.00
0.00
0.00
0.00
0.00
0.00
0.00
0.00
0.00
0.00
0.00
0.00
0.00
0.00
0.00
0.00
0.00
0.00
0.00
0.00
0.00
0.00
0.00
0.00
0.00
0.00
0.00
0.00
0.00
0.00
0.00
0.00
0.00
0.00
0.00
0.00
0.00
0.00
0.00
0.00
0.00
0.00
0.00
4-175
Table 4-62
MM5 Derived Gridded Wind Data File Format (MM5.DAT)
HEADER RECORDS
Header Record #1
Variable No.
Variable
Type
Description
HEADER
char
File description
Header Record #2
Variable No.
Variable
Type
Description
IOUTW
integer
IOUTQ
integer
IOUTC
integer
IOUTI
integer
IOUTG
integer
Header Record #3
Variable No.
1
I:\calmet\nov99\sect4.wpd
Variable
Type
Description
MAPTXT
char
4-176
HEADER RECORDS
Header Record #4
Variable No.
Variable
Type
Description
INHYD
integer
IMPHYS
integer
ICUPA
integer
IBLTYP
integer
IFRAD
integer
ISOIL
integer
IFDDAN
integer
IFDDAOB
integer
I:\calmet\nov99\sect4.wpd
4-177
HEADER RECORDS
Header Record #5
Variable No.
Variable
Type
Description
IBYRM
integer
IBMOM
integer
IBDYM
integer
IBHRM
integer
NHRSMM5
integer
NXP
integer
NYP
integer
NZP
integer
format (4i2,i5,3i4)
I:\calmet\nov99\sect4.wpd
4-178
HEADER RECORDS
Header Record #6
Variable No.
Variable
Type
Description
NX1
integer
NY1
integer
NX2
integer
NY2
integer
RXMIN
real
RXMAX
real
RYMIN
real
RYMAX
real
format (4i2,4f8.2)
Variable
Type
Description
SIGMA
real array
I:\calmet\nov99\sect4.wpd
4-179
Variable
Type
Description
IINDEX
integer
JINDEX
integer
XLATDOT
real array
XLONGDOT
real array
IELEVDOT
integer array
ILAND
integer array
XLATCRS
real array
XLATCRS
real array
I:\calmet\nov99\sect4.wpd
4-180
Variable
Type
Description
MYR
integer
MMO
integer
MDAY
integer
MHR
integer
IX
integer
JX
integer
PRES
real
RAIN
real
total rainfall accumulated on the ground for the past hour (cm)
SC
integer
I:\calmet\nov99\sect4.wpd
4-181
Variable
Type
Description
PRES
integer
integer
TEMPK
integer
Temperature (o K)
WD
integer
WS
real
6w
real
7q
RH
integer
8q
VAPMR
real
9c
CLDMR
real
10c
RAINMR
real
11i
ICEMR
real
12i
SNOWMR
real
GRPMR
real
13
Variable present in the record only if IOUTI = 1 (possible only if IOUTQ = IOUTC = 1)
Variable present in the record only if IOUTG = 1 (possible only if IOUTQ = IOUTC =
IOUTI=1)
I:\calmet\nov99\sect4.wpd
4-182
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 4-63 contains a sample WT.DAT file for a 25 23 18-km CALMET grid. A detailed description
of the contents of the WT.DAT file are contained in Table 4-64. 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.
I:\calmet\nov99\sect4.wpd
4-183
Table 4-63
Sample Terrain Weighting Factor Data File (WT.DAT)
Sensitivity Power for Wz
=
Sensitivity Power for Ws
=
Significant Length-Scale (m) =
Fine-Grid
:
342.0 -135.0
Coarse-Grid :
-80.0 -680.0
Height(m)
i=
1
j= 23 .51
j= 22 .51
j= 21 .49
j= 20 .43
j= 19 .37
j= 18 .31
j= 17 .26
j= 16 .25
j= 15 .26
j= 14 .27
j= 13 .27
j= 12 .28
j= 11 .31
j= 10 .33
j= 9 .35
j= 8 .37
j= 7 .31
j= 6 .26
j= 5 .20
j= 4 .15
j= 3 .15
j= 2 .20
j= 1 .26
i=
1
Height(m)
i=
1
j= 23 .11
j= 22 .11
j= 21 .10
j= 20 .09
j= 19 .07
j= 18 .06
j= 17 .04
j= 16 .06
j= 15 .08
j= 14 .09
j= 13 .11
j= 12 .12
j= 11 .10
j= 10 .08
j= 9 .06
j= 8 .05
j= 7 .04
j= 6 .03
j= 5 .02
j= 4 .01
j= 3 .02
j= 2 .04
j= 1 .06
i=
1
=
2
.56
.56
.54
.48
.41
.35
.29
.29
.30
.31
.32
.33
.35
.37
.39
.41
.35
.30
.24
.18
.19
.25
.31
2
=
2
.11
.11
.11
.09
.08
.06
.05
.06
.09
.11
.13
.13
.11
.09
.07
.06
.04
.03
.02
.01
.02
.04
.07
2
10.0000
3
4
5
.53 .51 .48
.53 .51 .48
.51 .49 .46
.46 .44 .42
.40 .39 .38
.35 .34 .34
.29 .29 .30
.30 .31 .31
.31 .33 .34
.33 .35 .36
.34 .37 .39
.35 .38 .40
.36 .38 .39
.37 .37 .38
.38 .37 .37
.39 .37 .36
.35 .34 .34
.31 .32 .33
.26 .29 .31
.22 .26 .30
.23 .27 .31
.28 .32 .35
.34 .37 .40
3
4
5
50.0000
3
4
5
.10 .08 .07
.10 .08 .07
.09 .08 .07
.08 .07 .06
.07 .06 .05
.05 .05 .04
.04 .04 .03
.06 .06 .05
.08 .08 .08
.11 .10 .10
.13 .13 .13
.13 .13 .14
.11 .12 .12
.10 .10 .10
.08 .08 .09
.06 .07 .07
.05 .05 .06
.04 .04 .05
.03 .03 .03
.01 .02 .02
.02 .02 .02
.04 .04 .05
.07 .07 .07
3
4
5
I:\calmet\nov99\sect4.wpd
2.00000
2.00000
10.0000
25
23 18.000
24
21 80.000
6
.45
.45
.44
.40
.37
.33
.30
.32
.35
.38
.41
.42
.40
.38
.36
.34
.34
.34
.33
.33
.35
.39
.42
6
7
.44
.44
.43
.38
.34
.30
.26
.28
.32
.36
.40
.41
.40
.39
.38
.37
.36
.36
.35
.34
.36
.39
.42
7
8
.43
.43
.41
.36
.31
.27
.22
.25
.29
.34
.38
.41
.40
.40
.40
.40
.39
.37
.36
.35
.36
.39
.42
8
9
.42
.42
.40
.34
.29
.23
.18
.21
.27
.32
.37
.40
.41
.41
.42
.43
.41
.39
.38
.36
.37
.39
.42
9
10
.41
.41
.38
.32
.26
.20
.14
.18
.24
.29
.35
.39
.41
.43
.44
.46
.44
.41
.39
.37
.37
.40
.42
10
11
.42
.42
.40
.34
.28
.21
.15
.19
.25
.30
.36
.40
.42
.43
.45
.47
.44
.42
.39
.37
.37
.40
.43
11
12
.45
.45
.43
.38
.32
.26
.21
.24
.29
.33
.38
.41
.43
.44
.46
.47
.44
.42
.39
.36
.37
.41
.45
12
13
.48
.48
.47
.41
.36
.31
.26
.29
.32
.36
.40
.43
.44
.45
.46
.47
.44
.41
.38
.35
.37
.41
.46
13
14
.52
.52
.50
.45
.41
.36
.31
.33
.36
.39
.42
.44
.45
.46
.46
.47
.44
.41
.38
.35
.36
.42
.48
14
15
.52
.52
.51
.47
.43
.39
.35
.37
.39
.41
.43
.45
.45
.45
.46
.46
.43
.41
.38
.35
.37
.43
.49
15
16
.40
.40
.40
.38
.37
.35
.34
.35
.37
.38
.40
.41
.41
.41
.41
.41
.41
.41
.41
.41
.43
.47
.51
16
17
.28
.28
.28
.29
.31
.32
.33
.34
.34
.35
.36
.36
.36
.36
.36
.35
.38
.41
.44
.46
.49
.51
.53
17
18
.16
.16
.17
.21
.24
.28
.32
.32
.32
.32
.32
.32
.32
.31
.31
.30
.36
.41
.47
.52
.55
.55
.55
18
19
.03
.03
.05
.12
.18
.24
.30
.31
.30
.29
.29
.28
.27
.27
.26
.25
.33
.41
.50
.58
.60
.58
.56
19
20
.00
.00
.02
.09
.16
.22
.29
.30
.30
.30
.29
.29
.29
.29
.29
.29
.37
.45
.53
.61
.63
.61
.58
20
21
.00
.00
.02
.09
.15
.21
.28
.29
.30
.31
.32
.33
.34
.35
.35
.36
.43
.50
.56
.63
.65
.62
.60
21
22
.00
.00
.02
.08
.14
.20
.26
.29
.30
.32
.34
.36
.38
.40
.42
.44
.49
.55
.60
.65
.66
.64
.61
22
23
.00
.00
.02
.08
.13
.19
.25
.28
.31
.34
.36
.39
.42
.45
.48
.51
.55
.59
.63
.67
.68
.65
.63
23
24
.00
.00
.02
.07
.12
.17
.22
.26
.29
.32
.36
.39
.44
.48
.52
.56
.59
.62
.65
.68
.68
.65
.63
24
25
.00
.00
.01
.05
.09
.13
.17
.20
.22
.25
.27
.31
.37
.43
.49
.55
.57
.58
.60
.62
.62
.61
.60
25
6
.05
.05
.05
.05
.04
.03
.03
.05
.07
.10
.13
.14
.12
.11
.09
.08
.07
.05
.04
.02
.03
.05
.07
6
7
.05
.05
.05
.04
.03
.03
.02
.04
.06
.08
.11
.12
.11
.11
.10
.10
.08
.06
.05
.03
.03
.06
.08
7
8
.04
.04
.04
.03
.03
.02
.02
.03
.05
.07
.08
.10
.10
.10
.11
.11
.09
.07
.06
.04
.04
.07
.09
8
9
.04
.04
.03
.03
.02
.02
.01
.02
.04
.05
.06
.08
.09
.10
.11
.13
.11
.09
.07
.04
.05
.07
.10
9
10
.03
.03
.03
.02
.02
.01
.00
.01
.02
.03
.04
.06
.08
.10
.12
.14
.12
.10
.07
.05
.06
.08
.11
10
11
.03
.03
.03
.02
.02
.01
.00
.01
.02
.03
.04
.05
.07
.10
.12
.14
.12
.10
.08
.06
.07
.11
.15
11
12
.04
.04
.04
.03
.02
.01
.01
.01
.02
.03
.04
.05
.07
.09
.11
.13
.11
.09
.07
.05
.08
.14
.21
12
13
.05
.05
.04
.03
.03
.02
.01
.02
.02
.03
.04
.05
.07
.09
.11
.12
.11
.09
.07
.05
.09
.18
.27
13
14
.05
.05
.05
.04
.03
.02
.01
.02
.03
.04
.05
.06
.07
.09
.10
.11
.10
.08
.07
.05
.11
.21
.32
14
15
.06
.06
.05
.04
.03
.02
.01
.02
.03
.04
.05
.06
.07
.08
.09
.10
.09
.09
.08
.07
.14
.26
.38
15
16
.04
.04
.04
.04
.03
.02
.02
.02
.03
.04
.04
.05
.06
.07
.07
.08
.11
.13
.16
.19
.25
.34
.42
16
17
.03
.03
.03
.03
.03
.02
.02
.02
.03
.03
.04
.04
.05
.05
.05
.06
.12
.18
.24
.31
.36
.42
.47
17
18
.02
.02
.02
.02
.02
.02
.02
.03
.03
.03
.04
.04
.04
.04
.04
.04
.13
.23
.33
.42
.48
.49
.51
18
19
.00
.00
.01
.01
.02
.02
.03
.03
.03
.03
.03
.03
.03
.02
.02
.01
.15
.28
.41
.54
.59
.57
.56
19
20
.00
.00
.00
.01
.01
.02
.03
.03
.03
.03
.03
.03
.03
.03
.02
.02
.14
.27
.39
.51
.56
.56
.55
20
21
.00
.00
.00
.01
.01
.02
.02
.02
.02
.03
.03
.03
.03
.03
.04
.04
.14
.24
.33
.43
.48
.50
.52
21
22
.00
.00
.00
.01
.01
.01
.02
.02
.02
.02
.03
.03
.04
.04
.05
.06
.13
.20
.28
.35
.40
.45
.49
22
23
.00
.00
.00
.00
.01
.01
.01
.02
.02
.02
.02
.03
.04
.05
.07
.08
.13
.17
.22
.27
.33
.39
.46
23
24
.00
.00
.00
.00
.01
.01
.01
.01
.02
.02
.02
.03
.05
.06
.08
.09
.12
.15
.17
.20
.26
.34
.41
24
25
.00
.00
.00
.00
.00
.01
.01
.01
.01
.01
.02
.03
.04
.06
.08
.10
.12
.14
.16
.18
.22
.28
.35
25
4-184
Height(m)
i=
1
j= 23 .03
j= 22 .03
j= 21 .03
j= 20 .02
j= 19 .02
j= 18 .01
j= 17 .01
j= 16 .01
j= 15 .02
j= 14 .02
j= 13 .03
j= 12 .03
j= 11 .02
j= 10 .02
j= 9 .02
j= 8 .01
j= 7 .01
j= 6 .01
j= 5 .00
j= 4 .00
j= 3 .00
j= 2 .01
j= 1 .01
i=
1
Height(m)
i=
1
j= 23 .00
j= 22 .00
j= 21 .00
j= 20 .00
j= 19 .00
j= 18 .00
j= 17 .00
j= 16 .00
j= 15 .00
j= 14 .00
j= 13 .00
j= 12 .00
j= 11 .00
j= 10 .00
j= 9 .00
j= 8 .00
j= 7 .00
j= 6 .00
j= 5 .00
j= 4 .00
j= 2 .00
j= 1 .00
i=
1
=
2
.03
.03
.03
.02
.02
.02
.01
.02
.02
.03
.03
.03
.03
.02
.02
.01
.01
.01
.01
.00
.00
.01
.02
2
=
2
.00
.00
.00
.00
.00
.00
.00
.00
.00
.00
.00
.00
.00
.00
.00
.00
.00
.00
.00
.00
.00
.00
2
100.000
3
4
5
.02 .02 .02
.02 .02 .02
.02 .02 .02
.02 .02 .01
.02 .01 .01
.01 .01 .01
.01 .01 .01
.02 .01 .01
.02 .02 .02
.03 .03 .03
.03 .03 .03
.03 .03 .03
.03 .03 .03
.02 .03 .03
.02 .02 .02
.02 .02 .02
.01 .01 .01
.01 .01 .01
.01 .01 .01
.00 .00 .00
.01 .01 .01
.01 .01 .01
.02 .02 .02
3
4
5
400.000
3
4
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 .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 .00
.00 .00 .00
.00 .00 .00
.00 .00 .00
.00 .00 .00
.00 .00 .00
3
4
5
I:\calmet\nov99\sect4.wpd
6
.01
.01
.01
.01
.01
.01
.01
.01
.02
.03
.03
.03
.03
.03
.02
.02
.02
.01
.01
.01
.01
.01
.02
6
7
.01
.01
.01
.01
.01
.01
.01
.01
.02
.02
.03
.03
.03
.03
.03
.02
.02
.02
.01
.01
.01
.01
.02
7
8
.01
.01
.01
.01
.01
.01
.00
.01
.01
.02
.02
.02
.02
.03
.03
.03
.02
.02
.01
.01
.01
.02
.02
8
9
.01
.01
.01
.01
.01
.00
.00
.01
.01
.01
.02
.02
.02
.03
.03
.03
.03
.02
.02
.01
.01
.02
.02
9
10
.01
.01
.01
.01
.00
.00
.00
.00
.01
.01
.01
.01
.02
.02
.03
.04
.03
.02
.02
.01
.01
.02
.03
10
11
.01
.01
.01
.01
.00
.00
.00
.00
.00
.01
.01
.01
.02
.02
.03
.04
.03
.02
.02
.01
.02
.03
.04
11
12
.01
.01
.01
.01
.01
.00
.00
.00
.01
.01
.01
.01
.02
.02
.03
.03
.03
.02
.02
.01
.02
.04
.06
12
13
.01
.01
.01
.01
.01
.00
.00
.00
.01
.01
.01
.01
.02
.02
.03
.03
.03
.02
.02
.01
.02
.05
.07
13
14
.01
.01
.01
.01
.01
.01
.00
.00
.01
.01
.01
.01
.02
.02
.02
.03
.02
.02
.02
.01
.03
.06
.09
14
15
.01
.01
.01
.01
.01
.01
.00
.01
.01
.01
.01
.01
.02
.02
.02
.03
.02
.02
.02
.02
.04
.08
.11
15
16
.01
.01
.01
.01
.01
.01
.00
.01
.01
.01
.01
.01
.01
.02
.02
.02
.03
.03
.04
.05
.08
.12
.17
16
17
.01
.01
.01
.01
.01
.01
.01
.01
.01
.01
.01
.01
.01
.01
.01
.01
.03
.05
.06
.08
.12
.17
.23
17
18
.00
.00
.00
.00
.01
.01
.01
.01
.01
.01
.01
.01
.01
.01
.01
.01
.03
.06
.08
.11
.15
.22
.29
18
19
.00
.00
.00
.00
.00
.01
.01
.01
.01
.01
.01
.01
.01
.01
.00
.00
.04
.07
.10
.14
.19
.27
.35
19
20
.00
.00
.00
.00
.00
.00
.01
.01
.01
.01
.01
.01
.01
.01
.01
.01
.04
.07
.10
.13
.19
.27
.35
20
21
.00
.00
.00
.00
.00
.00
.01
.01
.01
.01
.01
.01
.01
.01
.01
.01
.03
.06
.08
.11
.17
.25
.34
21
22
.00
.00
.00
.00
.00
.00
.00
.01
.01
.01
.01
.01
.01
.01
.01
.01
.03
.05
.07
.09
.14
.23
.32
22
23
.00
.00
.00
.00
.00
.00
.00
.00
.00
.01
.01
.01
.01
.01
.02
.02
.03
.04
.06
.07
.12
.21
.30
23
24
.00
.00
.00
.00
.00
.00
.00
.00
.00
.00
.01
.01
.01
.02
.02
.02
.03
.04
.04
.05
.10
.19
.27
24
25
.00
.00
.00
.00
.00
.00
.00
.00
.00
.00
.00
.01
.01
.02
.02
.02
.03
.03
.04
.04
.08
.15
.22
25
6
.00
.00
.00
.00
.00
.00
.00
.00
.00
.00
.00
.00
.00
.00
.00
.00
.00
.00
.00
.00
.00
.00
6
7
.00
.00
.00
.00
.00
.00
.00
.00
.00
.00
.00
.00
.00
.00
.00
.00
.00
.00
.00
.00
.00
.00
7
8
.00
.00
.00
.00
.00
.00
.00
.00
.00
.00
.00
.00
.00
.00
.00
.00
.00
.00
.00
.00
.00
.00
8
9
.00
.00
.00
.00
.00
.00
.00
.00
.00
.00
.00
.00
.00
.00
.00
.00
.00
.00
.00
.00
.00
.00
9
10
.00
.00
.00
.00
.00
.00
.00
.00
.00
.00
.00
.00
.00
.00
.00
.00
.00
.00
.00
.00
.00
.00
10
11
.00
.00
.00
.00
.00
.00
.00
.00
.00
.00
.00
.00
.00
.00
.00
.00
.00
.00
.00
.00
.00
.00
11
12
.00
.00
.00
.00
.00
.00
.00
.00
.00
.00
.00
.00
.00
.00
.00
.00
.00
.00
.00
.00
.00
.00
12
13
.00
.00
.00
.00
.00
.00
.00
.00
.00
.00
.00
.00
.00
.00
.00
.00
.00
.00
.00
.00
.00
.00
13
14
.00
.00
.00
.00
.00
.00
.00
.00
.00
.00
.00
.00
.00
.00
.00
.00
.00
.00
.00
.00
.00
.01
14
15
.00
.00
.00
.00
.00
.00
.00
.00
.00
.00
.00
.00
.00
.00
.00
.00
.00
.00
.00
.00
.00
.01
15
16
.00
.00
.00
.00
.00
.00
.00
.00
.00
.00
.00
.00
.00
.00
.00
.00
.00
.00
.00
.00
.01
.01
16
17
.00
.00
.00
.00
.00
.00
.00
.00
.00
.00
.00
.00
.00
.00
.00
.00
.00
.00
.00
.00
.01
.01
17
18
.00
.00
.00
.00
.00
.00
.00
.00
.00
.00
.00
.00
.00
.00
.00
.00
.00
.00
.01
.01
.01
.02
18
19
.00
.00
.00
.00
.00
.00
.00
.00
.00
.00
.00
.00
.00
.00
.00
.00
.00
.00
.01
.01
.02
.02
19
20
.00
.00
.00
.00
.00
.00
.00
.00
.00
.00
.00
.00
.00
.00
.00
.00
.00
.00
.01
.01
.02
.02
20
21
.00
.00
.00
.00
.00
.00
.00
.00
.00
.00
.00
.00
.00
.00
.00
.00
.00
.00
.01
.01
.02
.02
21
22
.00
.00
.00
.00
.00
.00
.00
.00
.00
.00
.00
.00
.00
.00
.00
.00
.00
.00
.00
.01
.01
.02
22
23
.00
.00
.00
.00
.00
.00
.00
.00
.00
.00
.00
.00
.00
.00
.00
.00
.00
.00
.00
.00
.01
.02
23
24
.00
.00
.00
.00
.00
.00
.00
.00
.00
.00
.00
.00
.00
.00
.00
.00
.00
.00
.00
.00
.01
.02
24
25
.00
.00
.00
.00
.00
.00
.00
.00
.00
.00
.00
.00
.00
.00
.00
.00
.00
.00
.00
.00
.01
.01
25
4-185
Height(m)
i=
1
j= 23 .00
j= 22 .00
j= 21 .00
j= 20 .00
j= 19 .00
j= 18 .00
j= 17 .00
j= 16 .00
j= 15 .00
j= 14 .00
j= 13 .00
j= 12 .00
j= 11 .00
j= 10 .00
j= 9 .00
j= 8 .00
j= 7 .00
j= 6 .00
j= 5 .00
j= 4 .00
j= 3 .00
j= 2 .00
j= 1 .00
i=
1
Height(m)
i=
1
j= 23 .00
j= 22 .00
j= 21 .00
j= 20 .00
j= 19 .00
j= 18 .00
j= 17 .00
j= 16 .00
j= 15 .00
j= 14 .00
j= 13 .00
j= 12 .00
j= 11 .00
j= 10 .00
j= 9 .00
j= 8 .00
j= 7 .00
j= 6 .00
j= 5 .00
j= 4 .00
j= 3 .00
j= 2 .00
j= 1 .00
i=
1
2
.00
.00
.00
.00
.00
.00
.00
.00
.00
.00
.00
.00
.00
.00
.00
.00
.00
.00
.00
.00
.00
.00
.00
2
2
.00
.00
.00
.00
.00
.00
.00
.00
.00
.00
.00
.00
.00
.00
.00
.00
.00
.00
.00
.00
.00
.00
.00
2
800.000
3
4
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 .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 .00
.00 .00 .00
.00 .00 .00
.00 .00 .00
.00 .00 .00
.00 .00 .00
.00 .00 .00
3
4
5
:
:
:
:
:
:
:
3500.00
3
4
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 .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 .00
.00 .00 .00
.00 .00 .00
.00 .00 .00
.00 .00 .00
.00 .00 .00
.00 .00 .00
3
4
5
I:\calmet\nov99\sect4.wpd
6
.00
.00
.00
.00
.00
.00
.00
.00
.00
.00
.00
.00
.00
.00
.00
.00
.00
.00
.00
.00
.00
.00
.00
6
7
.00
.00
.00
.00
.00
.00
.00
.00
.00
.00
.00
.00
.00
.00
.00
.00
.00
.00
.00
.00
.00
.00
.00
7
8
.00
.00
.00
.00
.00
.00
.00
.00
.00
.00
.00
.00
.00
.00
.00
.00
.00
.00
.00
.00
.00
.00
.00
8
9
.00
.00
.00
.00
.00
.00
.00
.00
.00
.00
.00
.00
.00
.00
.00
.00
.00
.00
.00
.00
.00
.00
.00
9
10
.00
.00
.00
.00
.00
.00
.00
.00
.00
.00
.00
.00
.00
.00
.00
.00
.00
.00
.00
.00
.00
.00
.00
10
11
.00
.00
.00
.00
.00
.00
.00
.00
.00
.00
.00
.00
.00
.00
.00
.00
.00
.00
.00
.00
.00
.00
.00
11
12
.00
.00
.00
.00
.00
.00
.00
.00
.00
.00
.00
.00
.00
.00
.00
.00
.00
.00
.00
.00
.00
.00
.00
12
13
.00
.00
.00
.00
.00
.00
.00
.00
.00
.00
.00
.00
.00
.00
.00
.00
.00
.00
.00
.00
.00
.00
.00
13
:
:
:
:
:
:
:
14
.00
.00
.00
.00
.00
.00
.00
.00
.00
.00
.00
.00
.00
.00
.00
.00
.00
.00
.00
.00
.00
.00
.00
14
15
.00
.00
.00
.00
.00
.00
.00
.00
.00
.00
.00
.00
.00
.00
.00
.00
.00
.00
.00
.00
.00
.00
.00
15
16
.00
.00
.00
.00
.00
.00
.00
.00
.00
.00
.00
.00
.00
.00
.00
.00
.00
.00
.00
.00
.00
.00
.00
16
17
.00
.00
.00
.00
.00
.00
.00
.00
.00
.00
.00
.00
.00
.00
.00
.00
.00
.00
.00
.00
.00
.00
.00
17
18
.00
.00
.00
.00
.00
.00
.00
.00
.00
.00
.00
.00
.00
.00
.00
.00
.00
.00
.00
.00
.00
.00
.00
18
19
.00
.00
.00
.00
.00
.00
.00
.00
.00
.00
.00
.00
.00
.00
.00
.00
.00
.00
.00
.00
.00
.00
.01
19
20
.00
.00
.00
.00
.00
.00
.00
.00
.00
.00
.00
.00
.00
.00
.00
.00
.00
.00
.00
.00
.00
.00
.01
20
21
.00
.00
.00
.00
.00
.00
.00
.00
.00
.00
.00
.00
.00
.00
.00
.00
.00
.00
.00
.00
.00
.00
.01
21
22
.00
.00
.00
.00
.00
.00
.00
.00
.00
.00
.00
.00
.00
.00
.00
.00
.00
.00
.00
.00
.00
.00
.00
22
23
.00
.00
.00
.00
.00
.00
.00
.00
.00
.00
.00
.00
.00
.00
.00
.00
.00
.00
.00
.00
.00
.00
.00
23
24
.00
.00
.00
.00
.00
.00
.00
.00
.00
.00
.00
.00
.00
.00
.00
.00
.00
.00
.00
.00
.00
.00
.00
24
25
.00
.00
.00
.00
.00
.00
.00
.00
.00
.00
.00
.00
.00
.00
.00
.00
.00
.00
.00
.00
.00
.00
.00
25
6
.00
.00
.00
.00
.00
.00
.00
.00
.00
.00
.00
.00
.00
.00
.00
.00
.00
.00
.00
.00
.00
.00
.00
6
7
.00
.00
.00
.00
.00
.00
.00
.00
.00
.00
.00
.00
.00
.00
.00
.00
.00
.00
.00
.00
.00
.00
.00
7
8
.00
.00
.00
.00
.00
.00
.00
.00
.00
.00
.00
.00
.00
.00
.00
.00
.00
.00
.00
.00
.00
.00
.00
8
9
.00
.00
.00
.00
.00
.00
.00
.00
.00
.00
.00
.00
.00
.00
.00
.00
.00
.00
.00
.00
.00
.00
.00
9
10
.00
.00
.00
.00
.00
.00
.00
.00
.00
.00
.00
.00
.00
.00
.00
.00
.00
.00
.00
.00
.00
.00
.00
10
11
.00
.00
.00
.00
.00
.00
.00
.00
.00
.00
.00
.00
.00
.00
.00
.00
.00
.00
.00
.00
.00
.00
.00
11
12
.00
.00
.00
.00
.00
.00
.00
.00
.00
.00
.00
.00
.00
.00
.00
.00
.00
.00
.00
.00
.00
.00
.00
12
13
.00
.00
.00
.00
.00
.00
.00
.00
.00
.00
.00
.00
.00
.00
.00
.00
.00
.00
.00
.00
.00
.00
.00
13
14
.00
.00
.00
.00
.00
.00
.00
.00
.00
.00
.00
.00
.00
.00
.00
.00
.00
.00
.00
.00
.00
.00
.00
14
15
.00
.00
.00
.00
.00
.00
.00
.00
.00
.00
.00
.00
.00
.00
.00
.00
.00
.00
.00
.00
.00
.00
.00
15
16
.00
.00
.00
.00
.00
.00
.00
.00
.00
.00
.00
.00
.00
.00
.00
.00
.00
.00
.00
.00
.00
.00
.00
16
17
.00
.00
.00
.00
.00
.00
.00
.00
.00
.00
.00
.00
.00
.00
.00
.00
.00
.00
.00
.00
.00
.00
.00
17
18
.00
.00
.00
.00
.00
.00
.00
.00
.00
.00
.00
.00
.00
.00
.00
.00
.00
.00
.00
.00
.00
.00
.00
18
19
.00
.00
.00
.00
.00
.00
.00
.00
.00
.00
.00
.00
.00
.00
.00
.00
.00
.00
.00
.00
.00
.00
.00
19
20
.00
.00
.00
.00
.00
.00
.00
.00
.00
.00
.00
.00
.00
.00
.00
.00
.00
.00
.00
.00
.00
.00
.00
20
21
.00
.00
.00
.00
.00
.00
.00
.00
.00
.00
.00
.00
.00
.00
.00
.00
.00
.00
.00
.00
.00
.00
.00
21
22
.00
.00
.00
.00
.00
.00
.00
.00
.00
.00
.00
.00
.00
.00
.00
.00
.00
.00
.00
.00
.00
.00
.00
22
23
.00
.00
.00
.00
.00
.00
.00
.00
.00
.00
.00
.00
.00
.00
.00
.00
.00
.00
.00
.00
.00
.00
.00
23
24
.00
.00
.00
.00
.00
.00
.00
.00
.00
.00
.00
.00
.00
.00
.00
.00
.00
.00
.00
.00
.00
.00
.00
24
25
.00
.00
.00
.00
.00
.00
.00
.00
.00
.00
.00
.00
.00
.00
.00
.00
.00
.00
.00
.00
.00
.00
.00
25
4-186
Table 4-64
Terrain Weighting Factor Data File Format (WT.DAT)
HEADER RECORDS
Header Record #1
Variable No.
1
Variable
Type
Description
C1
char*42
Variable No.
1
Variable
Type
Description
C2
char*42
Documentation for Ws
Header Record #3
Variable No.
1
Variable
Type
Description
C3
char*42
Variable No.
Variable
Type
Description
X0FIN
real
Y0FIN
real
NXFIN
integer
NYFIN
integer
DFIN
real
I:\calmet\nov99\sect4.wpd
4-187
HEADER RECORDS
Header Record #5
Variable No.
Variable
Type
Description
X0CRS
real
Y0CRS
real
NXCRS
integer
NYCRS
integer
DCRS
real
I:\calmet\nov99\sect4.wpd
4-188
Variable
No.
Variable
Type
Description
HT
real
2*
Next NY
records
WO
real array
NY+3*
I:\calmet\nov99\sect4.wpd
4-189
c ---
I:\calmet\nov99\sect4.wpd
4-190
2
NUSTA,NPSTA,NOWSTA,NLU,IWAT1,IWAT2,LCALGRD
write(iunit)XLAT0,XLON0,LLCONF,CONEC,XLAT1,XLAT2,RLAT0,RLAT0
c ---
c ---
c ---
c ---
c ---
c ---
c ---
c ---
c ---
I:\calmet\nov99\sect4.wpd
4-191
Table 4-65
CALMET.DAT file - Header Records
Variable
Typea
Description
TITLE
char*80 array
VER
char*8
LEVEL
char*8
IBYR
integer
IBMO
integer
Starting month
IBDY
integer
Starting day
IBHR
integer
IBTZ
integer
IRLG
integer
IRTYPE
integer
10
NX
integer
11
NY
integer
12
NZ
integer
13
DGRID
real
14
XORIGR
real
15
YORIGR
real
16
IUTMZN
integer
17
IWFCOD
integer
18
NSSTA
integer
19
NUSTA
integer
Header
Record No.
Variable
No.
char*80 = Character*80
char*8 = Character*8
I:\calmet\nov99\sect4.wpd
4-192
a
b
Variable
Typea
Description
20
NPSTA
integer
21
NOWSTA
integer
22
NLU
integer
23
IWAT1
integer
24
IWAT2
integer
25
LCALGRD
logical
XLAT0
real
XLON0
real
LLCONF
logical
CONEC
real
XLAT1
real
XLAT2
real
RLAT0
real
RLON0
real
CLAB1
char*8
IDUM
integer
ZFACEM
real array
5b
CLAB2
char*8
5b
IDUM
integer
5b
XSSTA
real array
Header
Record No.
Variable
No.
char*8 = Character*8
Included only if NSSTA > 0
I:\calmet\nov99\sect4.wpd
4-193
Variable
Typea
Description
CLAB3
char*8
6b
IDUM
integer
6b
YSSTA
real array
7c
CLAB4
char*8
IDUM
integer
7c
XUSTA
real array
8c
CLAB5
char*8
8c
IDUM
integer
YUSTA
real array
9d
CLAB6
char*8
9d
IDUM
integer
9d
Header
Record No.
Variable
No.
6b
XPSTA
real array
10
CLAB7
char*8
10d
IDUM
integer
10d
YPSTA
real array
11
CLAB8
char*8
11
IDUM
integer
11
Z0
real array
char*8 = Character*8
Included only if NSSTA > 0
c
Included only if NUSTA > 0
d
Included only if NPSTA > 0
b
I:\calmet\nov99\sect4.wpd
4-194
Variable
Typea
Description
CLAB9
char*8
12
IDUM
integer
12
ILANDU
integer array
13
CLAB10
char*8
13
IDUM
integer
13
ELEV
real array
14
CLAB11
char*8
14
IDUM
integer
14
XLAI
real array
15
CLAB12
char*8
15
IDUM
integer
15
NEARS
integer array
Header
Record No.
Variable
No.
12
char*8 = Character*8
I:\calmet\nov99\sect4.wpd
4-195
c ---
c ---
I:\calmet\nov99\sect4.wpd
4-196
c ---
I:\calmet\nov99\sect4.wpd
4-197
Table 4-66
CALMET.DAT file - Data Records
Record
Type
Variable
No.
Variable
Name
Typea
Description
CLABU
char*8
NDATHR
integer
real array
CLABV
char*8
NDATHR
integer
real array
3b
CLABW
char*8
3b
NDATHR
integer
3b
real array
4b
CLABT
char*8
4b
NDATHR
integer
4b
ZTEMP
real array
a
b
char*8 = Character*8
Record types 3 and 4 are included only if LCALGRD is TRUE
I:\calmet\nov99\sect4.wpd
4-198
Record
Type
Variable
No.
Variable
Name
Typea
Description
CLABSC
char*8
NDATHR
integer
IPGT
integer
array
CLABUS
char*8
NDATHR
integer
USTAR
real array
CLABZI
char*8
NDATHR
integer
ZI
real array
CLABL
char*8
NDATHR
integer
EL
real array
CLABWS
char*8
NDATHR
integer
WSTAR
real array
10
CLABRMM
char*8
10
NDATHR
integer
10
RMM
real array
char*8 = Character*8
I:\calmet\nov99\sect4.wpd
4-199
Record
Type
Variable
No.
Variable
Name
Typea
Description
11
CLABTK
char*8
11
NDATHR
integer
11
TEMPK
real array
12
CLABD
char*8
12
NDATHR
integer
12
RHO
real array
13
CLABQ
char*8
13
NDATHR
integer
13
QSW
real array
14
CLABRH
char*8
14
NDATHR
integer
14
IRH
integer array
15
CLABPC
char*8
15
NDATHR
integer
15
IPCODE
integer array
char*8 = Character*8
I:\calmet\nov99\sect4.wpd
4-200
4.3.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 4-67. Sample FORTRAN write statements for the PACOUT.DAT header records are:
c ---
c ---
c ---
c ---
c ---
c ---
real XSCOOR(nssta),YSCOOR(nssta),XUCOOR(nusta),YUCOOR(nusta)
real Z0(nx,ny)
integer ILANDU(nx,ny)NEARS(nx,ny)
I:\calmet\nov99\sect4.wpd
4-201
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 4-67. Sample FORTRAN write statements for the data records are:
c ---
c ---
c ---
c ---
c ---
c ---
I:\calmet\nov99\sect4.wpd
4-202
c ---
c ---
c ---
c ---
Write average surface air density, air temperature, total solar radiation, relative humidity, and precipitation
code
write(io7)AVRHO,TEMPK,SRAD,IRH,IPCODE
real UL(nx,ny),VL(nx,ny),UUP(nx,ny),VUP(nx,ny)
real HTMIX(nx,ny),USTAR(nx,ny),WSTAR(nx,ny)
real XMONIN(nx,ny),RMM(nx,ny)
real TEMPK(nssta),SRAD(nssta)
integer IPGT(nx,ny)
integer IRH(nssta),IPCODE(nssta)
I:\calmet\nov99\sect4.wpd
4-203
Table 4-67
PACOUT.DAT File - Format
Variable
No.
Variable
Type
Description
NYR
integer
Starting year
IDYSTR
integer
IHRMAX
integer
NSSTA
integer
NUSTA
integer
IMAX
integer
JMAX
integer
IBTZ
integer
ILWF
integer
10
IUWF
integer
11
DGRID
real
12
VK
real
XSCOOR
real array
YSCOOR
real array
XUCOOR
real array
YUCOOR
real array
Z0
real array
NEARS
integer array
ILANDU
integer array
I:\calmet\nov99\sect4.wpd
4-204
Variable
No.
Variable
Type
Description
KYR
integer
Year
KJUL
integer
Julian day
KHR
integer
Hour (00-23)
UL
real array
VL
real array
10
UUP
real array
11
VUP
real array
12
HTMIX
real array
13
USTAR
real array
14
WSTAR
real array
15
XMONIN
real array
16
IPGT
integer array
17
RMM
real array
18
AVRHO
real
18
TEMPK
real array
Air temperature*(K)
18
SRAD
real array
18
IRH
integer array
Relative humidity*(%)
18
IPCODE
integer array
Precipitation code*
I:\calmet\nov99\sect4.wpd
4-205
4.4
The CALMET meteorological model generates a large, binary meteorological file which includes hourly
gridded wind fields at multiple levels and hourly gridded surface meteorological fields such as PGT
(Pasquill-Gifford-Turner) stability class, friction velocity, Monin-Obukhov length, mixing height,
convective velocity scale, and precipitation rate. For many typical applications, this output file will be
several megabytes or more in volume. The PRTMET program is a postprocessor intended to aid in the
analysis of the CALMET output data base by allowing the user to display selected portions of the
meteorological data.
PRTMET has the following capabilities and options.
]
Option to print or suppress printing of the gridded hourly meteorological fields (wind
fields and surface meteorological variables).
Option to display wind fields as U, V components or as wind speed and wind direction.
User-selected wind speed conversion factor for changing units (default units: m/s).
Option to print plot files of all the meteorological variables (horizontal slices), in a
format compatible with SURFER (contour plots and/or vector plots).
I:\calmet\nov99\sect4.wpd
4-206
Option to print or suppress printing of the CALMET run control variables stored in the
header records of the CALMET output file.
User-selected portion of horizontal grid printed for all gridded meteorological fields.
Options include printing entire grid, subset of grid, or a single data point.
Two input files are read by PRTMET: a user-input control file and the unformatted meteorological data
file containing the gridded wind and micrometeorological fields generated by CALMET. The output file
PRTMET.LST contains the printed data selected by the user. PRTMET also produces a user defined
number of plot files. Table 4-68 contains a summary of the input files and output file for PRTMET.
The PRTMET control file contains the user's inputs entered in FORTRAN free format. A description of
each input variable is shown in Table 4-69. A sample input file is presented in Table 4-70.
PRTMET extracts and prints the data selected by the user from the CALMET data file. A sample output
file is shown in Table 4-71. A sample contour plot file and a sample vector plot file are shown in Table
4-72 and Table 4-73, respectively.
I:\calmet\nov99\sect4.wpd
4-207
Table 4-68
PRTMET Input and Output Files
Unit
File Name
Type
Format
Description
PRTMET.INP
input
formatted
PRTMET.LST
output
formatted
input
formatted
output
formatted
I:\calmet\nov99\sect4.wpd
4-208
Table 4-69
PRTMET Control File Inputs (PRTMET.INP)
RECORD 0. Unformatted CALMET output file.
Columns
Variable
Type
Description
METFIL
character*40
Type
Description
IYR
integer
IMO
integer
Starting month
IDAY
integer
Starting day
IHR
integer
ITHR
integer
ICHR
integer
Columns
I:\calmet\nov99\sect4.wpd
4-209
Variable
Type
Description
NBX
integer
NBY
integer
NEX
integer
NEY
integer
I:\calmet\nov99\sect4.wpd
4-210
RECORDS 3-7. Print control variables for CALMET run variables and station coordinates.
Record1
Columns
Variable
Type
Description
IHDV
integer
ISUR
integer
IUP
integer
IPRC
integer
INEARS
integer
I:\calmet\nov99\sect4.wpd
4-211
RECORDS 8-11.
Record1
Columns
Type
Description
ISRC
integer
IFF(1)
integer array
element
ILUC
integer
IFF(2)
integer array
element
10
ITE
integer
10
IFF(3)
integer array
element
11
ILAI
integer
11
IFFLAI
integer
Output format for leaf area index. (0=selfscaling exponential format, 1=fixed format).
USED ONLY IF ILAI=1.
I:\calmet\nov99\sect4.wpd
4-212
NEXT "NZ" RECORDS. Wind field print control variables for each vertical layer.
Record1
Columns
12
Variable
Type
Description
IUVOUT(1)
integer array
element
12
IWOUT(1)
integer array
element
12
ITOUT(1)
integer array
element
13
IUVOUT(2)
integer array
element
13
IWOUT(2)
integer array
element
13
ITOUT(2)
integer array
element
I:\calmet\nov99\sect4.wpd
4-213
NEXT RECORD1.
Columns
Variable
IPWS
XFACT
IFF(4)
Type
Description
integer
real
integer array
element
I:\calmet\nov99\sect4.wpd
4-214
NEXT 6 RECORDS.
Record1
Columns
Print control variables and format for gridded surface meteorological variables.
Variable
Type
Description
N+1
IPSC
integer
N+1
IFF(5)
integer array
element
N+2
IFV
integer
N+2
IFF(6)
integer array
element
N+3
IMH
integer
N+3
IFF(7)
integer array
element
(Continued)
I:\calmet\nov99\sect4.wpd
4-215
Record1
Columns
Print control variables and format for gridded surface meteorological variables.
Variable
Type
Description
N+4
IMOL
integer
N+4
IFF(8)
integer array
element
N+5
ICVS
integer
N+5
IFF(9)
integer array
element
N+6
IPR
integer
N+6
IFF(10)
integer array
element
I:\calmet\nov99\sect4.wpd
4-216
Variable
Type
Description
ISURF
integer
I:\calmet\nov99\sect4.wpd
4-217
Columns
Variable
Type
NGEO
integer
Description
Number of plot files of gridded geophysical
variables (0 @ NGEO @ 4)
Variable
Type
Format
AGEO
character
a2
FILEGEO
character
a12
I:\calmet\nov99\sect4.wpd
Description
4-218
Columns
Variable
Type
NSNAP
integer
Description
Number of snapshot plot files to be created.
Variable
Type
Format
ASNAP
character
a4
KSNAP
integer
i3
ISNAP
integer
i5
FILESNAP
character
a12
I:\calmet\nov99\sect4.wpd
Description
4-219
Columns
Variable
Type
NPLOTAV
integer
NEXT RECORD.
Description
Number of averaged field plot files to be created.
Columns
Variable
Type
IBEGIN
integer
IEND
integer
Description
Variable
Type
Format
AMEAN
character
a4
KMEAN
integer
i3
FILENAM
character
a12
I:\calmet\nov99\sect4.wpd
Description
4-220
Table 4-70
Sample PRTMET Control File (PRTMET.INP)
z:cmet.dat
- Unformatted CALMET file (a40)
1990, 1, 9, 5, 4,1 - Beg. YR, MO, DAY, HR to print, LENGTH, PRINT INTERVAL
28,48,34,54
- Beg. GRID (I,J) to print, Ending GRID (I,J) to print
1 - Print CALMET RUN VARIABLES ? (e.g., grid parameters, etc.)
0 - Print x-y coordinates of SURFACE STATIONS ?
0 - Print x-y coordinates of UPPER AIR STATIONS ?
0 - Print x-y coordinates of PRECIPITATION STATIONS ?
0 - Print NEAREST SURFACE STATION no. to each grid pt. ?
0, 1 - Print SURFACE ROUGHNESS LENGTHS ?, Fixed format ?
0, 1 - Print LAND USE CATEGORIES ?,
Fixed format ?
1, 1 - Print TERRAIN HEIGHTS ?,
Fixed format ?
0, 1 - Print LEAF AREA INDEX ?,
Fixed format ?
0, 0, 0 - Print U-V, W, TEMP FIELDS ?
(LAYER 1)
0, 0, 0
(LAYER 2)
1, 0, 0
(LAYER 3)
0, 0, 0
(LAYER 4)
0, 0, 0
(LAYER 5)
0, 0, 0
(LAYER 6)
0, 0, 0
(LAYER 7)
0, 0, 0
(LAYER 8)
0, 0, 0
(LAYER 9)
0, 0, 0
(LAYER 10)
1, 1.0, 1 - Convert U,V to WS, WD ?, Units conv., Fixed format ?
0, 1 - Print PGT STABILITY CLASS ?,
Fixed format ?
0, 0 - Print FRICTION VELOCITY ?,
Fixed format ?
1, 1 - Print MIXING HEIGHT ?,
Fixed format ?
0, 0 - Print MONIN-OBUKHOV LENGTH ?, Fixed format ?
0, 0 - Print CONVECTIVE VEL. SCALE ?, Fixed format ?
0, 0 - Print PRECIP. RATE ?,
Fixed format ?
0 - Print SURFACE MET. STATION DATA ?
4
- Number of domain characteristic plot
zo roughnes.grd
- key word, filename - format(i2,1x,a12)
lu landuse.grd
- Possible keywords: ZO,LU,TE,LI
te terrain.grd
- Roughness length (ZO), landuse category (LU)
li leafindx.grd
- terrain elevation (TE), leaf area index (LI)
6
- Number of snapshot plots
MIXH
1
1
mixh1.grd
- Key word,vertical slice,time(hour),filename
VECT
1
1
vector1.dat
Format:a4,1x,i3,1x,i5,1x,a12
TEMP
1
3
temp3.grd
Keywords for contour plots:
MIXH
1
2
mixh2.grd
UVEL,VVEL,WVEL,TEMP,IPGT,USTA,MONL,WSTAR,
MIXH
1
3
mixh3.grd
MIXH,PREC,WDIR,WSPE
MIXH
1
4
mixh4.grd
Keyword for wind vector plots: VECT
1
- Number of average field plots
1
4
- Beginning and ending hour of average
MIXH
1 mixhav4.grd
- Key word, vertical slice, filename
Format: a4,1x,i3,1x,a12
I:\calmet\nov99\sect4.wpd
4-221
Table 4-71
Sample PRTMET Output File (PRTMET.LST)
1990
1
9
9
5
4
1
1
1
1
0
1
1
1
1
Fixed
Fixed
Fixed
Fixed
format
format
format
format
?
?
?
?
1
1
1
1
Fixed
Fixed
Fixed
Fixed
Fixed
Fixed
format
format
format
format
format
format
?
?
?
?
?
?
1
0
0
0
0
0
1
0
1
1
1
1
1
1
1
0
0
-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
I:\calmet\nov99\sect4.wpd
4-222
Level: 991104
IBYR
=
1990
IBMO
=
1
IBDY
=
9
IBHR
=
5
IBTZ
=
5
IRLG
=
4
IRTYPE =
1
LCALGRD = T
NX
=
99
NY
=
99
NZ
=
10
DGRID
=
1000.00
XORIGR =
310000.
YORIGR =
0.482000E+07
IUTMZN =
19
IWFCOD =
1
NSSTA
=
5
NUSTA
=
3
NPSTA
=
16
NOWSTA =
1
NLU
=
14
IWAT1
=
50
IWAT2
=
55
LCALGRD = T
ZFACE =
0.000,
20.000,
1500.000, 2200.000,
3000.000,
XLAT0M =
43.5110
XLON0M =
71.3510
LLCONFM = F
CONECM =
0.715568
XLAT1M =
30.0000
XLAT2M =
60.0000
RLAT0M =
40.0000
RLON0M =
90.0000
40.000,
80.000,
160.000,
300.000,
XSSTA
=
83788.0
YSSTA
=
13627.0
204500.
115022.
-13119.0
-140119.
140533.
39123.0
-34155.8
111872.
XUSTA
YUSTA
83788.0
13627.0
-202870.
-75977.0
109496.
-206621.
=
=
XPSTA
=
-30302.0
-37286.0
-42906.0
YPSTA
=
-20649.9
90779.8
44639.2
127512.
-29275.0
6420.99
-50169.0
85275.9
10817.9
83848.1
102363.
85159.0
21223.0
13434.0
68169.0
-24366.0
-18454.0
31072.0
-23627.0
10412.0
13606.0
140879.
-3410.16
112039.
-4165.04
138336.
57271.0
60668.0
83736.8
600.000,
1000.000,
-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
I:\calmet\nov99\sect4.wpd
4-223
=
=
=
=
=
0.94610
40
180.00
6.52000
5
Month:
Day:
Julian day:
Hour:
STATION
NUMBER
TEMPERATURE
(Deg K)
AIR DENSITY
(kg/m**3)
SHORT-WAVE RADIATION
(W/m**2)
REL. HUMIDITY
(%)
PRECIP. CODE
1
2
3
4
5
269.3
271.5
267.6
273.1
270.9
1.298
1.293
1.300
1.271
1.298
0.00
0.00
0.00
0.00
0.00
88
69
100
72
82
0
0
0
0
0
Month:
Day:
Julian day:
Hour:
STATION
NUMBER
TEMPERATURE
(Deg K)
AIR DENSITY
(kg/m**3)
SHORT-WAVE RADIATION
(W/m**2)
REL. HUMIDITY
(%)
PRECIP. CODE
1
2
3
4
5
268.7
271.5
265.9
273.7
270.4
1.302
1.293
1.308
1.269
1.300
0.00
0.00
0.00
0.00
0.00
96
69
92
73
81
0
0
0
0
0
Month:
Day:
Julian day:
Hour:
STATION
NUMBER
TEMPERATURE
(Deg K)
AIR DENSITY
(kg/m**3)
SHORT-WAVE RADIATION
(W/m**2)
REL. HUMIDITY
(%)
PRECIP. CODE
1
2
3
4
5
267.6
269.3
265.4
273.7
269.9
1.308
1.305
1.313
1.268
1.304
0.00
0.00
0.00
0.00
0.00
100
88
92
73
88
0
0
0
0
0
Month:
Day:
Julian day:
Hour:
STATION
NUMBER
TEMPERATURE
(Deg K)
AIR DENSITY
(kg/m**3)
SHORT-WAVE RADIATION
(W/m**2)
REL. HUMIDITY
(%)
PRECIP. CODE
1
2
3
4
5
267.0
267.6
265.9
273.7
269.3
1.311
1.315
1.310
1.270
1.308
1.14
0.00
0.00
0.00
0.00
96
92
96
76
85
0
0
0
0
0
WIND DIRECTION
(Deg)
241.4
W-VEL.
(m/s)
0.00179
TEMP
(deg K)
270.6
1990
2.01
241.7
0.00217
269.9
1990
2.01
241.2
0.00205
269.4
1990
1.96
241.4
0.00204
268.9
I:\calmet\nov99\sect4.wpd
4-224
I:\calmet\nov99\sect4.wpd
MIX HT
(m)
64.4
80.8
81.9
77.8
4-225
L
(m)
1.99395E+01
3.95424E+01
4.10713E+01
3.82334E+01
W*
(m/s)
0.000
0.000
0.000
0.000
Precip.
(mm/hr)
0.000
0.000
0.000
0.000
Table 4-72
Sample contour plot file
DSAA
5
340.000
4710.00
100.000
101.275
100.678
100.402
100.235
100.137
I:\calmet\nov99\sect4.wpd
5
349.000
4719.00
104.844
104.844
101.440
100.498
100.234
100.000
100.187
100.574
100.289
100.164
100.000
100.156
100.321
100.200
100.132
100.094
4-226
100.151
100.113
100.179
100.133
100.102
Table 4-73
Sample vector plot file
x
341.000
343.000
345.000
347.000
349.000
341.000
343.000
345.000
347.000
349.000
341.000
343.000
345.000
347.000
349.000
341.000
343.000
345.000
347.000
349.000
341.000
343.000
345.000
347.000
349.000
y
4719.000
4719.000
4719.000
4719.000
4719.000
4717.000
4717.000
4717.000
4717.000
4717.000
4715.000
4715.000
4715.000
4715.000
4715.000
4713.000
4713.000
4713.000
4713.000
4713.000
4711.000
4711.000
4711.000
4711.000
4711.000
I:\calmet\nov99\sect4.wpd
arrow
symbol:175
symbol:175
symbol:175
symbol:175
symbol:175
symbol:175
symbol:175
symbol:175
symbol:175
symbol:175
symbol:175
symbol:175
symbol:175
symbol:175
symbol:175
symbol:175
symbol:175
symbol:175
symbol:175
symbol:175
symbol:175
symbol:175
symbol:175
symbol:175
symbol:175
angle(-wd)
-151.88
-162.69
-166.83
-173.53
-173.07
-151.82
-160.90
-164.80
-170.83
-169.59
-151.44
-156.37
-160.66
-166.37
-162.93
-150.30
-151.21
-156.01
-163.65
-164.07
-151.51
-149.66
-151.89
-159.34
-160.90
length(ws)
2.12
2.13
2.07
2.08
2.26
2.23
2.10
2.01
2.07
2.22
2.14
1.95
1.83
1.95
2.06
2.00
1.91
1.85
1.97
2.04
2.04
2.03
2.08
2.14
2.15
4-227
5. 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.
Berkowicz, R. and L.P. Prahm, 1982: Evaluation of the profile method for estimation of surface fluxes
of momentum and heat. Atmospheric Environment, 16, 2809-2819.
Blackadar, A.K. and H. Tennekes, 1968: Asymptotic similarity in neutral, barotropic planetary
boundary layers. J. Atmos. Sci, 25, 1015-1020.
Briggs, G.A., 1979: Analytic Modeling of drainage flows, Draft document, Atmospheric Turbulence and
Diffusion Laboratory, NOAA.
Briggs, G.A., 1981: Canopy effects on predicted drainage flow characteristics and comparison with
observations. Proceedings, Fifth AMS Symposium on Turbulence and Diffusion, American
Meteorological Society, Boston, MA.
Briggs, G.A., 1982: Simple substitutes for the Obukhov length. Proceeding, 3rd Joint Conference on
Applic. of Air Poll. Meteor., American Meteorological Society, Boston, MA, pp. 68-71.
Briggs, G.A., 1985: Analytical parameterizations of diffusion: The convective boundary layer. J. Clim.
and Appl. Meteor., 24, 1167-1186.
Carson, D.J., 1973: The development of a dry, inversion-capped, convectively unstable boundary layer.
Quart. J. Roy. Meteor. Soc., 99, 450-467.
Douglas, S. and R. Kessler, 1988: User's guide to the diagnostic wind field model (Version 1.0).
Systems Applications, Inc., San Rafael, CA, 48 pp.
Dean, J.D., and W.M. Snyder, 1977: Temporally and areally distributed fainfall. J. Irrigation and
Drainage Div., American Society of Civil Engineers, 103, 221-229.
Dyer, A.J. and B.B. Hicks, 1970: Flux-gradient relationships in the constant flux layer. Quart. J. Roy.
Meteor. Soc., 96, 715-721.
EPA, 1993: Interagency Workgroup on Air Quality Modeling (IWAQM) Phase I report: Interim
recommendations for modeling long range transport and impacts on regional visibility. U.S.
EPA, Research Triangle Park, NC.
I:\calmet\nov99\sect5.wpd
5-1
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.
EPA, 1998: Interagency Workgroup on Air Quality Modeling (IWAQM) Phase 2 Summary Report and
Recommendations for Modeling Long-Range Transport Impacts. EPA Publication No.
EPA-454/R-98-019.
Garratt, J.R., 1977: Review of drag coefficients over oceans and continents. Mon. Wea. Rev., 105,
915-929.
Godden, D. and F. Lurmann, 1983: Development of the PLMSTAR model and its application to ozone
episode conditions in the South Coast Air Basin. Environmental Research and Technology, Inc.,
Westlake Village, CA.
Goodin, W.R., G.J. McRae and J.H. Seinfeld, 1980: An objective analysis technique for constructing
three-dimensional urban scale wind fields. J. Appl. Meteorol., 19, 98-108.
Hanna, S.R., L.L. Schulman, R.J. Paine, J.E. Pleim and M. Baer, 1985: Development and evaluation of
the Offshore and Coastal Dispersion Model. JAPCA, 35, 1039-1047.
Hanna, S.R., J.C. Weil and R.J. Paine, 1986: Plume model development and evaluation. Report Number
D034-500. Electric Power Research Institute, Palo Alto, CA.
Holtslag, A.A.M. and A.P. van Ulden, 1982: Simple estimates of nighttime surface fluxes from routine
weather data. KNMI Scientific Report, W.R. 82-4, 11 pp.
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.
Horst, T.W. and J.C. Doran, 1986: Nocturnal drainage flow on simple slopes. Bound. Layer Meteor., 34,
263-286.
Hosker, R.P., 1974: A comparison of estimation procedures for overwater plume dispersion.
Proceedings, Symposium on Atmospheric Diffusion and Air Pollution. American Meteorological
Society, Boston, MA.
I:\calmet\nov99\sect5.wpd
5-2
Kessler, R.C., 1989: User's guide Systems Applications, Inc. version of the Colorado State University
mesoscale model (Version 2.0). Systems Applications, Inc., San Rafael, CA, 75 pp.
Kitaigorodskii, S.A., 1973: The physics of air-sea interaction. Israel Program for Scientific Translations.
Jerusalem.
Landsberg, H.E., 1981: The Urban Heat Island. Academic Press, New York, NY.
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.
Oke, T.R., 1978: Boundary Layer Climates. John Wiley & Sons, New York, NY.
Oke, T.R., 1982: The energetic basis of the urban heat island. Quart. J.R. Met. Soc., 108, 1-24.
Pearson II, F., 1990: Map Projections: Theory and Applications. CRC Press, Inc., Boca Raton, FL., 372
pp.
Scire, J.S., D.G. Strimaitis, and R.J. Yamartino, 1999: A user's guide for the CALPUFF Dispersion
Model (Version 5). Earth Tech, Inc., Concord, MA.
Scire, J.S. and F.R. Robe, 1997: Fine-scale application of the CALMET meteorological model to a
complex terrain site. Paper 97-A1313, AWMA 90th Annual Meeting & Exhibition, June 8-13,
Toronto, Ontario, Canada.
Scire, J.S., D.G. Strimaitis and R.J. Yamartino, 1990a: Model formulation and user's guide for the
CALPUFF dispersion model. Sigma Research Corp., Concord, MA.
Scire, J.S., E.M. Insley and R.J. Yamartino, 1990b: Model formulation and user's guide for the
CALMET meteorological model. Sigma Research Corp., Concord, MA.
I:\calmet\nov99\sect5.wpd
5-3
Scire, J.S., R.J. Yamartino, G.R. Carmichael and Y.S. Chang, 1989: CALGRID: A mesoscale
photochemical grid model. Volume II: User's guide. Sigma Research Corp., Concord, MA.
Scire, J.S., F.W. Lurmann, A. Bass and S.R. Hanna, 1984: User's guide to the MESOPUFF II model and
related processor programs. EPA-600/8-84-013. U.S. Environmental Protection Agency,
Research Triangle Park, NC.
Steyn, D.G. and T.R. Oke, 1982: The depth of the daytime mixed layer at two coastal locations: A
model and its validation. Bound. Layer Meteor., 24, 161-180.
Tesche, T.W., J.G. Wilkinson, D.E. McNally, R. Kapahi and W.R. Oliver, 1988: Photochemical
modeling of two SCCCAMP-1984 oxidant episodes. Volume II--Modeling procedures and
evaluation results. Prepared for the U.S. Environmental Protection Agency, Region IX by
Radian Corporation, Sacramento, CA.
van Ulden, A.P. and A.A.M. Holtslag, 1985: Estimation of atmospheric boundary layer parameters for
diffusion applications. J. Clim. and App. Meteor., 24, 1196-1207.
Venkatram, A., 1980a: Estimating the Monin-Obukhov length in the stable boundary layer for dispersion
calculations. Boundary Layer Meteorology, 19, 481-485.
Venkatram, A., 1980b: Estimation of turbulence velocity scales in the stable and the unstable boundary
layer for dispersion applications. In: Eleventh NATO-CCMS International Technical Meeting on
Air Pollution Modeling and its Application. 54-56.
Wheeler, N., 1990: Modeling of mixing depths during a southern California air quality study ozone
episode. Proceedings of the AWMA International Specialty Conference on Tropospheric Ozone
and the Environment. March 19-22, Los Angeles, CA.
Wei, T.C. and J.L. McGuiness, 1973: Reciprocal Distance Squared Method, A computer technique for
estimating areal precipitation. ARS NC-8, U.S. Dept. of Agriculture, Washington, DC.
Weil, J.C. and R. P. Brower, 1983: Estimating convective boundary layer parameters for diffusion
application. Draft Report Prepared by Environmental Center, Martin Marietta Corp. for
Maryland Dept. of Natural Resources.
Weil, J.C., 1985: Updating applied diffusion models. J. Clim. Appl. Meteor., 24, 1111-1130.
I:\calmet\nov99\sect5.wpd
5-4
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. Sigma
Research Corp., Concord, MA.
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 Environment, 26A,
1493-1512.
Zilitinkevich, S.S., 1972: On the determination of the height of the Ekman boundary layer. Boundary
Layer Meteorology, 3, 141-145.
I:\calmet\nov99\sect5.wpd
5-5
APPENDIX A
Subroutine/Function Calling Structure
APPENDIX A
Subroutine/Function Calling Structure - Tree Diagram
Lev0
Lev1
Lev2 Lev3
Lev4
Lev5
PROGRAM CALMET
.UNDER0
.SETUP
.
.DATETM
.
.
.DATE
.
.
.TIME
.
.
.ETIME
.
.COMLINE
.
.
.GETCL
.
.READCF
.
.
.READFN
.
.
.
.READIN
.
.
.
.
.DEBLNK
.
.
.
.
.ALLCAP
.
.
.
.
.ALTONU
.
.
.
.
.SETVAR
.
.
.
.FILCASE
.
.
.YR4C
.
.
.READIN
.
.
.
.DEBLNK
.
.
.
.ALLCAP
.
.
.
.ALTONU
.
.
.
.SETVAR
.
.
.QAYR4
.
.
.MAPG2L
.
.
.LL2UTM
.
.
.MAPL2G
.
.
.UTM2LL
.
.
.JULDAY
.
.WRFILES
.
.OPENOT
.
.READGE
.
.
.OUT
.
.
.
.WRT
.
.
.
.WRT2
.
.
.FILLGEO
.
.SETCOM
.
.
.OUT
.
.
.
.WRT
.
.
.
.WRT2
.
.READHD
.
.
.RDHD
.
.
.
.DEDAT
.
.
.
.YR4
I:\calmet\nov99\APPA.WPD
A-1
APPENDIX A
Subroutine/Function Calling Structure - Tree Diagram
Lev0
Lev1
Lev2 Lev3
Lev4
Lev5
.
.
.DELTT
.
.
.RDS
.
.
.
.UNPCKS
.
.
.
.DEDAT
.
.
.
.YR4
.
.
.RDP
.
.
.
.RDNWD
.
.
.
.UNPACK
.
.
.
.DEDAT
.
.
.
.YR4
.
.
.RDHDU
.
.
.
.YR4
.
.
.RDHD5
.
.
.
.YR4
.
.
.
.JULDAY
.
.
.
.INCR
.
.
.
.LL2UTM
.
.
.INDECR
.
.
.RDHD4
.
.
.
.YR4
.
.
.
.JULDAY
.
.
.
.INCR
.
.
.
.LL2UTM
.
.MICROI
.
.DIAGI
.
.
.TERSET
.
.OUTHD
.
.
.WRTR1D
.
.
.WRTR2D
.
.
.WRTI2D
.
.OUTPC1
.
.
.WPCR2D
.
.
.WPCI2D
.
.
.OUT
.
.
.
.WRT
.
.
.
.WRT2
.
.RDWT
.COMP
.
.GRDAY
.
.SOLAR
.
.RDS
.
.
.UNPCKS
.
.
.DEDAT
.
.MISSFC
I:\calmet\nov99\APPA.WPD
A-2
APPENDIX A
Subroutine/Function Calling Structure - Tree Diagram
Lev0
Lev1
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
Lev2 Lev3
Lev4
Lev5
.
.CMPD2
.
.IREPLAC
.RDCLD
.
.RDR2D
.
.YR4
.OUT
.
.WRT
.
.WRT2
.RDP
.
.RDNWD
.
.UNPACK
.
.DEDAT
.
.YR4
.RDOW
.
.YR4
.DIAG2
.INDECR
.RDUP
.
.YR4
.
.JULDAY
.DEDAT
.DELTT
.VERTAV
.FACET
.
.INTP
.PREPDI
.
.CGAMMA
.
.
.DEDAT
.
.
.DELTT
.
.
.INTP
.
.VERTAV
.
.DEDAT
.
.DELTT
.
.XMIT
.DIAGNO
.
.XMIT
.
.PROGRD
.
.
.XMIT
.
.RDMM4
.
.
.YR4
.
.
.JULDAY
.
.
.INDECR
.
.
.QCKSRT3
.
.
.R2INTERP
I:\calmet\nov99\APPA.WPD
A-3
APPENDIX A
Subroutine/Function Calling Structure - Tree Diagram
Lev0
Lev1
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
Lev2 Lev3
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
I:\calmet\nov99\APPA.WPD
Lev4
Lev5
.
.ESAT
.CGAMMA2
.RDMM5
.
.YR4
.
.JULDAY
.
.INDECR
.
.R2INTERP
.WIND1
.
.SIMILT
.WINDBC
.TOPOF2
.MINIM
.
.DIVCEL
.
.WINDBC
.WINDPR
.
.WNDLPT
.OUTFIL
.FRADJ
.WNDPR2
.
.WNDLPT
.HEATFX
.AIRDEN
.ELUSTR
.SLOPE
.
.XMIT
.
.WNDLPT
.FMINF
.STHEOR
.
.WATER2
.
.
.ESAT
.
.
.SIMILT
.
.ELUSTR2
.
.
.MIXDT
.
.
.SIMILT
.INTER2
.
.XMIT
.
.BARIER
.
.
.UNIDOT
.
.FMINF
.INTERP
.
.XMIT
.
.BARIER
.
.
.UNIDOT
.
.FMINF
A-4
APPENDIX A
Subroutine/Function Calling Structure - Tree Diagram
Lev0
Lev1
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
Lev2 Lev3
Lev4
Lev5
.
.LLBREEZ
.
.
.BOX
.
.
.INTERB
.
.ADJUST
.
.SMOOTH
.
.
.BOX
.
.DIVCEL
.
.DIVPR
.
.
.WNDLPT
.
.RTHETA
.
.
.WNDLPT
.WATER
.
.ESAT
.PGTSTB
.HEATFX
.AIRDEN
.ELUSTR
.MIXHT
.
.MIXDT
.
.OUT
.
.
.WRT
.
.
.WRT2
.MIXHT2
.AVEMIX
.WSTARR
.GRIDE
.
.CMPD2
.TEMP3D
.
.DEDAT
.
.DELTT
.
.AVETMP
.OUTHR
.
.WRTR2D
.
.WRTI2D
.
.WRTR1D
.
.WRTI1D
.PACAVE
.OUTPC
.
.WPCR2D
.
.WPCI2D
.
.GRDAY
.
.OUT
.
.
.WRT
.
.
.WRT2
I:\calmet\nov99\APPA.WPD
A-5
APPENDIX A
Subroutine/Function Calling Structure - Tree Diagram
Lev0
Lev1
.
.
.FIN
.
.
.
.
.
.
.
.
.
Lev2 Lev3
Lev4
Lev5
.OUTCLD
.
.WRTR2D
.INDECR
.GRDAY
.DATETM
.
.DATE
.
.TIME
.
.ETIME
.YR4C
.JULDAY
.DELTT
I:\calmet\nov99\APPA.WPD
A-6
Appendix A
Subroutine/Function Calling Structure Table
(* indicated no routines called)
SUBROUTINE
CALLED BY
CALLS
adjust
diagno
airden
comp
allcap
readin
altonu
readin
avemix
comp
avetmp
comp
barier
interp,inter2
unidot
box
llbreez
unidot
cgamma
prepdi
intp,dedat,deltt
cgamma2
diagno
cmpd2
missfc, gride
comline
setup
getcl
comp
main
rdup,vertav,grday,rds,rdp,rdow,dedat,facet,
solar,water,pgtstb,heatfx,airden,elustr,mixht,
wstarr,out,outhr,deltt,prepdi,diagno,missfc,
temp3d,avemix,pacave,outpc, rdcld, diag2,
indecr, mixht2, gride, outcld
date
datetm
datetm
setup,fin
date,time,etime
deblnk
readin
dedat
rdhd,rds,rdp,comp,cgamma,
prepdi,temp3d
deltt
prepdi,cgamma,temp3d,
readhd,comp,fin
diag2
comp
diagi
setup
terset
I:\calmet\nov99\APPA.WPD
A-7
Appendix A
Subroutine/Function Calling Structure Table
(* indicated no routines called)
SUBROUTINE
CALLED BY
CALLS
diagno
comp
windbc,xmit,topof2,minim,windpr,outfil,
slope,wndpr2,fradj,fminf,progrd,inter2,
interp,adjust,smooth,divcel,divpr,rtheta,
rdmm4,wind1,llbreez, cgamma2, rdmm5,
heatfx, airden, elustr, stheor
divcel
diagno,minim
divpr
diagno
wndlpt
elustr
comp, diagno
elustr2
stheor
similt, mixdt
esat
etime
datetm
facet
comp
intp
filcase
readfn
fillgeo
readge
fin
main
fminf
diagno,interp,inter2
fradj
diagno
getcl
comline
grday
comp,fin, outpc
gride
comp
cmpd2
heatfx
comp, diagno
incr
rdhd4, rdhd5
indecr
comp,rdmm4,readhd, rdmm5,
fin
inter2
diagno
xmit,barier,fminf
interb
llbreez
interp
diagno
intp
cgamma,facet
I:\calmet\nov99\APPA.WPD
A-8
Appendix A
Subroutine/Function Calling Structure Table
(* indicated no routines called)
SUBROUTINE
CALLED BY
CALLS
ireplac
missfc
julday
fin,rdup,readcf,rdhd4, rdhd5,
rdmm4, rdmm5
ll2utm
llbreez
diagno
box,interb
mapg2l
readcf
mapl2g
readcf
microi
setup
minim
diagno
divcel,windbc
missfc
comp
cmpd2,ireplac
mixdt
mixht, elustr2
mixht
comp
mixdt,out
mixht2
comp
openot
setup
out
setcom,comp,readge,
outpc1,mixht,outpc
wrt,wrt2
outcld
comp
wrtr2d
outfil
diagno
outhd
setup
wrtr1d,wrtr2d,wrti2d
outhr
comp
wrtr2d,wrti2d,wrtr1d,wrti1d
outpc
comp
wpcr2d,wpci2d,grday,out
outpc1
setup
wpcr2d,wpci2d,out
pacave
comp
pgtstb
comp
prepdi
comp
cgamma,vertav,xmit,deltt,dedat
progrd
diagno
xmit
qayr4
readcf
I:\calmet\nov99\APPA.WPD
A-9
Appendix A
Subroutine/Function Calling Structure Table
(* indicated no routines called)
SUBROUTINE
CALLED BY
CALLS
qcksrt3
rdmm4
r2interp
rdmm4
rdcld
comp
rdr2d, yr4
rdhd
readhd
dedat, yr4
rdhd4
readhd
rdhd5
readhd
rdhdu
readhd
yr4
rdmm4
diagno
rdmm5
diagno
rdnwd
rdp
rdow
comp
yr4
rdp
readhd,comp
rdnwd,unpack,dedat, yr4
rdr2d
rdcld
rds
readhd,comp
unpcks,dedat, yr4
rdup
comp
julday, yr4
rdwt
setup
readcf
setup
readfn
readcf
filcase, readin
readge
setup
out,fillgeo
readhd
setup
rdhd,deltt,rds,rdhdu,rdp,rdhd4,indecr,rdhd5
readin
readcf,readfn
deblnk,allcap,altonu,setvar
rtheta
diagno
wndlpt
setcom
setup
out
setup
main
comline,datetm,readcf,openot,readge,setcom,
readhd,microi,diagi,outhd, outpc1,rdwt,wrfiles
setvar
readin
I:\calmet\nov99\APPA.WPD
A-10
Appendix A
Subroutine/Function Calling Structure Table
(* indicated no routines called)
SUBROUTINE
CALLED BY
CALLS
similt
elustr2,water2,wind1
slope
diagno
xmit,wndlpt
smooth
diagno
box
solar
comp
stheor
diagno
elustr2, water2
temp3d
comp
dedat,deltt,avetmp
terset
diagi
time
datetm
topof2
diagno
under0
main
unidot
barier
unpack
rdp
unpcks
rds
utm2ll
readcf
vertav
comp,prepdi
water
comp
esat
water2
stheor
esat, similt
wind1
diagno
similt
windbc
diagno,minim
windlpt
windpr,wndpr2,divpr,
rtheta,slope
windpr
diagno
wndlpt
wndpr2
diagno
wndlpt
wpci2d
outpc1,outpc
wpcr2d
outpc1,outpc
wrfiles
setup
I:\calmet\nov99\APPA.WPD
A-11
Appendix A
Subroutine/Function Calling Structure Table
(* indicated no routines called)
SUBROUTINE
CALLED BY
CALLS
wrt
out
wrti2d
outhr,outhd
wrtr2d
outhd,outhr,outcld
wrt2
out
wrti1d
outhr
wrtr1d
outhd,outhr
wstarr
comp
xmit
prepdi,diagno,slope,progrd,
interp,inter2
yr4
rdcld,rdhd,rdhd4,rdhd5,rdhdu,
rdmm4,rdmm5,rdow,rdp,rds,
rdup
yr4c
fin,readcf
I:\calmet\nov99\APPA.WPD
A-12
APPENDIX B
Description of Each CALMET Subroutine and Function
I:\calmet\nov99\appb.wpd
ROUTINE NAME
TYPE
PURPOSE
ADJUST
Subr.
AIRDEN
Subr.
ALLCAP
Subr.
ALTONU
Subr.
AVEMIX
Subr.
AVETMP
Subr.
BARIER
Subr.
BILINEAR
Subr.
BOX
Subr.
CGAMMA
Subr.
CMPD2
Subr.
COMLINE
Subr.
COMP
Subr.
DATE
Subr.
DATETM
Subr.
Gets the data and time from the system clock. Calls the system
date and time routines.
I:\calmet\nov99\appb.wpd
B-1
ROUTINE NAME
TYPE
PURPOSE
DEDAT
Subr.
DEBLNK
Subr.
DELTT
Subr.
DIAG2
Subr.
DIAGI
Subr.
Sets the default values for the diagnostic wind field parameters.
Initiates the wind field common blocks.
DIAGNO
Subr.
DIVCEL
Subr.
DIVPR
Subr.
ESAT
Function
ELUSTR
Subr.
ELUSTR2
Subr.
ETIME
Subr.
FACET
Subr.
FILCASE
Subr.
FILLGEO
Subr.
I:\calmet\nov99\appb.wpd
B-2
ROUTINE NAME
TYPE
PURPOSE
FIN
Subr.
FMINF
Subr.
FRADJ
Subr.
GRDAY
Subr.
Computes the Gregorian date (month, day) from the Julian day
and year.
GRIDE
Subr.
HEATFX
Subr.
Computes the sensible heat flux at each grid point over land
using the energy balance method.
INCR
Subr.
INDECR
Subr.
INTER2
Subr.
INTERB
Subr.
INTERP
Subr.
INTP
Subr.
IREPLAC
Subr.
I:\calmet\nov99\appb.wpd
B-3
ROUTINE NAME
TYPE
PURPOSE
JULDAY
Subr.
LLBREEZ
Subr.
MICROI
Subr.
MINIM
Subr.
MISSFC
Subr.
MIXDT
Subr.
MIXHT
Subr.
OPENFL
Subr.
OPENOT
Subr.
OUT
Subr.
Opens all input/output files (other than the control file and list
file), based on the values in the control file inputs.
Prints a gridded 2-D field of real or integer numbers to a
specified number of digits. Internally computes a scaling factor
for printing the field based on the maximum value within the
grid.
OUTFIL
Subr.
OUTHD
Subr.
OUTHR
Subr.
OUTPC
Subr.
OUTPC1
Subr.
I:\calmet\nov99\appb.wpd
B-4
ROUTINE NAME
TYPE
PURPOSE
PACAVE
Subr.
PGTSTB
Subr.
PREPDI
Subr.
Fills data arrays with observed wind data for the wind field
module. If the preprocessed wind data option is used, reads U
and V components and/or temperature data directly from the
input file (DIAG.DAT), otherwise, performs time interpolation
of upper air sounding data and converts surface wind
components to U and V components.
PROGRD
Subr.
QAYR4
Subr.
QCKSRT3
Subr.
RDHD
Subr.
RDHD4
Subr.
RDHDU
Subr.
Reads the two header records from an upper air data file.
RDMM4
Subr.
RDOW
Subr.
RDP
Subr.
RDS
Subr.
RDUP
Subr.
Reads a sounding from the upper air data file. Reads a set of
data including wind speed, wind direction, pressure, height, and
temperature. Converts wind speed and wind direction to U and
V components.
I:\calmet\nov99\appb.wpd
B-5
ROUTINE NAME
TYPE
PURPOSE
RDWT
Subr.
Reads the weighting factors used for station observations vs. the
MM4-FDDA data used as observations or the Step 1 field.
READCF
Subr.
READFN
Subr.
READGE
Subr.
READHD
Subr.
READIN
Subr.
Reads one input group of a free formatted control file data base.
RDNWD
Subr.
RREPLAC
Subr.
RSQWTS
Subr.
RTHETA
Subr.
SETCOM
Subr.
SETUP
Subr.
SETVAR
Subr.
Fills a variable or array with the value read from a control file
data record.
SIMILT
Subr.
SLOPE
Subr.
I:\calmet\nov99\appb.wpd
B-6
ROUTINE NAME
TYPE
PURPOSE
SMOOTH
Subr.
SOLAR
Subr.
Computes the sine of the solar elevation angle for the midpoint
of every hour of the day at surface meteorological stations.
STHEOR
Subr.
TEMP3D
Subr.
TERSET
Subr.
TIME
Subr.
TOPOF2
Subr.
UNDER0
Subr.
UNIDOT
Function
Computes the dot product of a 3-element unit vector A with a 3element unit vector B.
UNPACK
Subr.
UNPCKS
Subr.
VERTAV
Subr.
WATER
Subr.
WATER2
Subr.
WIND1
Subr.
I:\calmet\nov99\appb.wpd
B-7
ROUTINE NAME
TYPE
PURPOSE
WINDBC
Subr.
WINDLPT
Subr.
WINDPR
Subr.
WNDPR2
Subr.
WPCI2D
Subr.
WPCR2D
Subr.
WRFILES
Subr.
Writes a table to the list file with the name and path of
input and output files used in the current run.
WRT
Subr.
WRT2
Subr.
WRTI1D
Subr.
WRTI2D
Subr.
WRTR1D
Subr.
WRTR2D
Subr.
WSTARR
Subr.
XMIT
Subr.
YR4
Subr.
I:\calmet\nov99\appb.wpd
B-8
ROUTINE NAME
TYPE
PURPOSE
YR4C
Subr.
Converts 2-digit year returned from system (current date) to 4digit year.
I:\calmet\nov99\appb.wpd
B-9
APPENDIX C
Equations Used in Lambert Conformal Conversions
I:\CALMET\aug99\appc.wpd
The following equations are based on Pearson (1990) and can be used before running CALMET to convert
meteorological station locations from latitude/longitude to x/y coordinates when using the two-standard
parallel Lambert conformal projection in CALMET. The equations are incorporated within CALMET to
adjust winds from true north (south) to map coordinates and to convert MM4 grid points to the Lambert
conformal map for use in CALMET, based on the values of RLAT0, RLON0, XLAT1, and XLAT2 entered
by the user. To use CALMET and these equations with a Lambert conformal domain in the Southern
hemisphere, enter all latitudes (standard parallels, origin, and stations) as negative numbers. Regardless of
the hemisphere in which the domain is located, the resulting x/y coordinate system has y increasing from
south to north and the CALMET origin coordinates must be specified at the southwest corner of the domain.
This holds true also if UTM coordinates are used in place of a Lambert conformal projection. The order of
the standard parallels XLAT1 and XLAT2 does not matter but it is conventional to have the latitude closest
to the equator be XLAT1. The reference coordinates input to CALMET should be identical to those used
to derive the x/y coordinates of observation sites. All longitudes are entered as positive in the Western
hemisphere and negative in the Eastern hemisphere, with the exception of the MM4.DAT input file, in which
the opposite convention is used. Lambert conformal projections are best in mid-latitudes (J30-60b latitude).
It is not recommended that a Lambert conformal projection be used in a domain near the equator (@ 30b
latitude) or in polar regions (> 60b latitude).
Equations C-1 and C-2 give the x and y coordinate definitions for the Lambert conformal projection, in
kilometers:
x sin
(C-1)
y ORI cos
(C-2)
where is the polar angle (one of the two coordinates used in describing the projection) and is defined by
Equation C-3:
o sin o
(C-3)
where is the longitude (positive in the Western hemisphere, negative in the Eastern hemisphere) and o is
the reference longitude (RLON0). The sin(o) is known as the cone constant and relates longitude on Earth
to its representation in the mapping system. It is a measure of the rate of change in the polar angle as
I:\CALMET\aug99\appc.wpd
C-1
longitude changes. o is the latitude where the cone is tangent to the sphere (i.e., the standard latitude) in
a one-standard parallel Lambert conformal projection, and is an artifact of the mathematical derivation of
the two-standard parallel case. In the two-standard parallel case its definition is given in Equation C-4:
sin o ln
cos 1
cos 2
90 1
tan
/ln
90 2
tan
(C-4)
where 1 and 2 are the standard reference latitudes (XLAT1 and XLAT2).
Equation C-5 defines the polar radius to the given (positive) latitude , where the polar radius is the second
coordinate used to describe the map projection:
tan
sin o
90
2
(C-5)
Equation C-6 gives the polar radius to the origin latitude (ORI), i.e., the latitude along o at which y equals
zero (RLAT0):
ORI tan
90 ORI
sin o
(C-6)
Note that the MM4 domain to which CALMET defaults uses an origin latitude (RLAT0) of 40b, standard
reference latitudes 1, 2 (i.e., XLAT1, XLAT2) of 30b and 60b, and a reference longitude (o) of 90b W.
Psi () is an auxiliary function that is introduced to simplify the derivation from the one standard
parallel case to the two parallel case and is defined by Equation C-7:
a cos 1/sin o
tan
901
sin o
(C-7)
C-2
APPENDIX D
The Universal Transverse Mercator (UTM) Grid
I:\CALMET\sept99\APPD.Wpd
I:\CALMET\sept99\APPD.Wpd
I:\CALMET\sept99\APPD.Wpd