/ a \

w

PRO"^

User's Guide for the AERMOD Meteorological
Preprocessor (AERMET)


-------

-------
EPA-454/B-23-005
October 2023

User's Guide for AERMOD Meteorological Preprocessor (AERMET)

U.S. Environmental Protection Agency
Office of Air Quality Planning and Standards
Air Quality Assessment Division
Research Triangle Park, North Carolina


-------
Disclaimer

This report has been reviewed by the Office of Air Quality Planning and Standards, U.S.
Environmental Protection Agency, and has been approved for publication. Mention of trade
names or commercial products does not constitute endorsement or recommendation for use. The
following trademarks appear in this guide:

Microsoft is a registered trademark of Microsoft Corp.

IBM is a registered trademark of International Business Machines

11


-------
Preface

AERMET provides a general-purpose meteorological preprocessor for organizing
available meteorological data into a format suitable for use by the AERMOD air quality
dispersion model. This user's guide provides instructions for setting up and running the
AERMET preprocessor (version 23132). Version 23132 of AERMET includes updates to
version 22112 of AERMET. Note, version 23112 of AERMET is a replacement of the current
regulatory version (22112) and is now considered the regulatory version of AERMET.

Hourly surface observations from the National Weather Service (NWS), Federal
Aviation Administration (FAA) or other sources, NWS twice-daily upper air soundings, data
from a site-specific meteorological measurement program, and data from prognostic
meteorological models can be processed in AERMET. This version includes two stages for
processing the data. The first stage extracts meteorological data from archive data files and
processes the data through various quality assessment checks. The second stage reads the
processed meteorological data from Stage 1 and estimates the necessary boundary layer
parameters for use by AERMOD. AERMET generates two meteorological output files for input
to AERMOD: a file of hourly boundary layer parameter estimates and a file of multiple-level
observations of wind speed and direction, temperature, and standard deviation of the fluctuating
components of the wind.

in


-------
Table of Contents

1.0 Introduction	1-1

1.1	Overview of AERMET	1-1

1.1.1	Stage 1 - extraction and quality assessment	1-4

1.1.2	Stage 2- PBL calculations and create model input files	1-6

1.2	Output files	1-7

1.3	Document Overview	1-7

1.4	Differences with older versions of AERMET	1-8

1.4.1	Control file differences	1-8

1.4.2	Other differences	1-9

1.5	Updates from 22112 to 23132	 1-12

2.0 Running AERMET	2-1

2.1	AERMET execution	2-1

2.2	Control file	2-2

2.2.1 Control file setup	2-3

3.0 Keyword reference	3-1

3.1	Definitions and control file processing	3-1

3.2	JOB Pathway	3-2

3.2.1	MESSAGES	3-2

3.2.2	REPORT	3-2

3.2.3	CI IK SYNTAX	3-3

3.2.4	NOPRINT	3-4

3.2.5	DEBUG	3-4

3.3	SURFACE pathway	3-6

iv


-------
3.3.1	DATA	3-6

3.3.1.1	CD-144 and SCRAM formats	3-7

3.3.1.2	SAMSON format	3-9

3.3.2	EXTRACT	3-10

3.3.3	XDATES	3-11

3.3.4	LOCATION	3-12

3.3.5	QAOUT	3-14

3.3.6	AUDIT	3-16

3.3.7	RANGE	3-16

3.3.8	NO MISSING	3-17

3.3.9	A SOS 1VI IN	3-18

3.4 UPPERAIR	3-20

3.4.1	DATA	3-21

3.4.2	EXTRACT	3-22

3.4.3	XDATES	3-23

3.4.4	LOCATION	3-24

3.4.5	QAOUT	3-26

3.4.6	AUDIT	3-28

3.4.7	RANGE	3-29

3.4.8	NO MISSING	3-29

3.4.9	MODIFY	3-30

3 .5 ONSITE or PROG	3-31

3.5.1	DATA	3-32

3.5.2	EXTRACT	3-34

3.5.3	READ and FORMAT	3-34

v


-------
3.5.4	XDATES	3-39

3.5.5	LOCATION	3-41

3.5.6	QAOUT	3-42

3.5.7	AUDIT	3-44

3.5.8	RANGE	3-45

3.5.9	NO MISSING	3-46

3.5.10	OSHEIGHTS	3-46

3.5.11	DELTATEMP	3-47

3.5.12	THRESHOLD	3-48

3.5.13	OBS/HOUR	3-49

3.6	MERGE	3-50

3.7	METPREP	3-50

3.7.1	DATA	3-50

3.7.2	MODEL	3-51

3.7.3	THRESH lYIIN	3-51

3.7.4	LOCATION	3-52

3.7.5	NWS HGT	3-53

3.7.6	XDATES	3-54

3.7.7	METHOD	3-56

3.7.7.1	WIND DIR	3-56

3.7.7.2	REFLEVEL	3-57

3.7.7.3	ASOS ADJ	3-58

3.7.7.4	STABLEBL	3-59

3.7.7.5	CCVR and TEMP	3-61

3.7.7.6	COARE	3-62

vi


-------
3.7.7.7 SUNRISE	3-68

3.7.8	UAWINDOW	3-70

3.7.9	Surface characteristics	3-72

3.7.9.1	Frequency and number of sectors: FREQSECT orFREQ_SECT2	3-73

3.7.9.2	Defining sectors: SECTOR or SECTOR2	3-74

3.7.9.3	Specification of surface characteristics: SITE CHAR or SITE CHAR2 3-

75

3.7.9.4	Optional keywords AERSURF and AERSURF2	3-80

3.7.9.5	Optional yearly assignment of surface characteristics	3-80

3.8	SSTDEPTH	3-84

3.9	ZI GI ST	3-84

3.10	ZI MIN	3-85

3.11	MINMOL	3-85

3 .12 DEFVPTG	3-86

3.13	Output from Stage 2: OUTPUT and PROFILE	3-87

3.14	Recommendations for running overwater applications in AERMET	3-90

4.0 Example AERMET runs	4-1

4.1	National Weather Service data	4-1

4.1.1	Surface data extraction	4-1

4.1.2	Upper air data	4-11

4.1.3	Data merger and boundary layer calculations	4-22

4.2	Site-specific example	4-34

4.2.1	Site-specific data extraction	4-34

4.2.2	Data merge and boundary layer calculations	4-44

5.0 Technical Notes	5-1

vii


-------
5.1	Quality assessment procedures	5-1

5.2	Identifying ASOS observations	5-3

5.3	Validation of NWS surface format by active data range	5-4

5.3.1	Validation of WBAN between Stage 1 control file and NWS surface data file5-

5

5.3.2	ASOS cloud cover from SCRAM and SAMSON set to missing	5-6

5.4	Site-specific data - averaging sub-hourly values	5-6

5.5	Station elevations	5-7

5.6	Boundary layer parameter estimates	5-10

5.6.1	Reference wind and temperature	5-10

5.6.2	Surface friction velocity and Monin-Obukhov length for prognostic overwater
locations	5-11

5.6.3	Surface characteristics	5-12

5.6.3.1 Choice of sector-dependent surface characteristics	5-13

6.0 References	6-1

Appendix A. Functional keyword/parameter reference	A-l

Appendix B. Variable names and default QA values	B-l

Appendix C. Data File Formats	C-l

C. 1.	EXTRACT/QAOUT files	C-l

C.	2.	OUTPUT and PROFILE outputs	C-5

Appendix D. Messages	D-l

D.	1.	Error messages	D-2

D. 2.	Warning messages	D-5

D. 3.	Informational messages	D-8

D. 4.	Quality assurance messages	D-l 1

Appendix E. AERMET modules and subroutines	E-l

viii


-------
Appendix F. Comparison of 22112 AERMET to 21112 AERMET	F-2

F. 1.	Meteorological data differences	F-2

F. 2.	AERMOD evaluations	F-8

IX


-------
Figures

Figure 1-1. AERMET processing steps	1-2

Figure 3-1. Time Zone Boundaries (with preferred sounding time across top)	3-69

Figure 3-2. Preferred sounding time by time zone	3-70

Figure 4-1. Control file to extract and QA NWS surface data	4-2

Figure 4-2. Processing steps for NWS surface data extraction	4-3

Figure 4-3. Contents of the SURFACE extraction message file	4-6

Figure 4-4. Input summary contents of the SURFACE extraction report file	4-7

Figure 4-5. QA summary contents of the SURFACE extraction report file	4-8

Figure 4-6. Message summary contents of the SURFACE extraction report file	4-9

Figure 4-7. Format of the SURFACE EXTRACT and QAOUT files	4-10

Figure 4-8. Control file to extract and QA NWS upper air data	4-11

Figure 4-9. Processing steps for NWS upper air data extraction	4-12

Figure 4-10. Contents of the UPPERAIR extraction message file	4-15

Figure 4-11. Input summary contents of the UPPERAIR extraction report file	4-16

Figure 4-12. Initial QA summary contents of the UPPERAIR extraction report file	4-17

Figure 4-13. QA summary contents of the UPPERAIR extraction report file	4-18

Figure 4-14. Final QA summary contents of the UPPERAIR extraction report file	4-19

Figure 4-15. Message summary contents of the UPPERAIR extraction report file	4-19

Figure 4-16. Format of the UPPERAIR EXTRACT file	4-20

Figure 4-17. Format of the UPPERAIR QAOUT file	4-21

Figure 4-18. Control file for boundary layer calculations in METPREP	4-22

Figure 4-19. Processing steps for boundary layer calculations	4-24

Figure 4-20. Initial contents of the Stage 2 message file	4-25

Figure 4-21. Final contents of the Stage 2 message file	4-26

Figure 4-22. Input summary contents of the Stage 2 report file	4-28

Figure 4-23. METPREP summary contents of the Stage 2 report file	4-29

Figure 4-24. Observations summary and PBL processing summary contents of the Stage 2

report file	4-30

Figure 4-25. Message summary contents of the Stage 2 report file	4-31

Figure 4-26. Partial contents of the EX01_NWS.SFC file	4-32

11


-------
Figure 4-27. Partial contents of the EX01_NWS.PFL file	4-33

Figure 4-28. Partial contents of the site-specific data file ONSITE.MET	4-35

Figure 4-29. Control file to extract and QA site-specific data	4-35

Figure 4-30. Control file to extract and QA site-specific data	4-37

Figure 4-31. Contents of the ONSITE_Sl_MESSAGE.TXT message file	4-38

Figure 4-32. Input summary contents of the ONSITE extraction report file	4-40

Figure 4-33. QA summary contents of the ONSITE extraction report file	4-41

Figure 4-34. Message summary contents of the ONSITE extraction report file	4-42

Figure 4-35. Partial contents of the ONSITE QAOUT file	4-43

Figure 4-36. Control file for boundary layer calculations in METPREP	4-46

Figure 4-37. Processing steps for the boundary layer calculations	4-47

Figure 4-38. Initial contents of the Stage 2 message file ONSITE_S2_MESSAGE.TXT	4-48

Figure 4-39. Partial contents of the Stage 2 message file ONSITE_S2_MESSAGE.TXT	4-49

Figure 4-40. Final contents of the Stage 2 message file ONSITE_S2_MESSAGE.TXT	4-50

Figure 4-41. Input summary contents of ONSITE_S2_REPORT.TXT	4-52

Figure 4-42. METPREP summary contents ofONSITE_S2_REPORT.TXT	4-53

Figure 4-43. Surface characteristics summary contents of ONSITE_S2_REPORT.TXT	4-54

Figure 4-44. Observations summary and PBL processing summary contents of the Stage 2

report file	4-55

Figure 4-45. Message summary contents of ONSITE_S2_REPORT.TXT	4-56

Figure 4-46. Partial contents of ONSITE NWS.SFC	4-57

Figure 4-47. Partial contents of ONSITE_NWS.PFL	4-58

in


-------
Tables

Table 3-1. Albedo of Ground Covers by Land Use and Season	3-77

Table 3-2. Daytime Bowen Ratio by Land Use and Season - Dry Conditions	3-78

Table 3-3. Daytime Bowen Ration by Land Use and Season - Average Moisture Conditions. 3-78

Table 3-4. Daytime Bowen Ratio by Land Use and Season - Wet Conditions	3-79

Table 3-5. Surface Roughness Length, in Meters, by Land Use and Season	3-79

Table 5-1. UPPERAIR Gradient calculation variables with default lower and upper bounds... 5-2

Table 5-2. Format Active Dates	5-5

Table A-l. Description of Job Pathway Keywords	A-3

Table A-2. Description of Keyword Parameters for the JOB Pathway	A-4

Table A-3. Description of SURFACE Pathway Keywords	A-5

Table A-4. Description of Keyword Parameters for the SURFACE Pathway	A-6

Table A-5. Description of UPPERAIR Keywords	A-10

Table A-6. Description of Keyword Parameters for the UPPERAIR Pathway	A-l 1

Table A-7. Description of ONSITE/PROG Pathway Keywords	A-15

Table A-8. Description of Keyword Parameters for the ONSITE/PROG Pathway	A-17

Table A-9. Description of METPREP Pathway Keywords	A-22

Table A-10. Description of Keyword Parameters for the METPREP Pathway	A-26

Table B-l. Variable and QA Defaults for SURFACE Variables	B-3

Table B-2. Variable and QA Defaults for UPPERAIR Variables	B-5

Table B-3. Variable and QA Defaults for ONSITE or PROG Single Level and Date/Time

Variables	B-6

Table B-4. Variable and QA Defaults for ONSITE or PROG Multi-level Variables	B-8

Table C-l. SURFACE EXTRACT and QAOUT file header format and data format	C-2

Table C-2. UPPERAIR EXTRACT and QAOUT file header format and data format	C-3

Table C-3. ONSITE/PROG EXTRACT and QAOUT file header format and data format	C-4

Table C-4. OUTPUT file format	C-6

Table C-5. PROFILE file format	C-8

Table E-l. List of subroutines and functions in module MAIN1	E-l

Table E-2. Subroutines and functions in module MISC	E-3

Table E-3. Subroutines and functions in module ONSITE	E-4

11


-------
Table E-4. Subroutines and functions in module PBL	E-6

Table E-5. Subroutines and functions in module SURFACE	E-9

Table E-6. Subroutines and functions in module READINPUT	E-l 1

Table E-7. Subroutines and functions in module REPORTS	E-l 1

Table E-8. Subroutines and functions in module UPPERAIR	E-l

Table F-l. AERMOD evaluation databases	F-l

Table F-2. Meteorological variables for comparison with tolerances	F-2

Table F-3. Observed and modeled robust highest concentrations for databases not subject to the

EPA protocol for determining best performing model	F-10

Table F-4. Composite Performance Measure (CPM) for databases subject to the EPA protocol

for determining best performing model	F-l 1

Table F-5. Model Comparison Measure (MCM), standard error (SE) and MCM/SE ratios for
databases subject to the EPA protocol for determining best performing model	F-12

in


-------
1.0	Introduction

The U. S. Environmental Protection Agency (EPA), in conjunction with the American
Meteorological Society (AMS), developed the AMS/EPA Regulatory Model (AERMOD),
promulgated by the EPA in 2005 as the preferred regulatory air dispersion model for predicting
near-surface pollutant concentrations within 50 kilometers (km) of an emission source.
AERMET, the subject of this user's guide, is the meteorological preprocessor for AERMOD
and estimates the atmospheric boundary layer (BL), also called the planetary boundary layer
(PBL), parameters used in the dispersion calculations in AERMOD.

In December of 2021, EPA released a draft version of AERMET, 21DRF, that
represented a complete overhaul of the computer code of AERMET. The source code for
AERMET was rewritten from AERMET version 19191 and 21112 and reflects updated Fortran
coding practices. Differences between AERMET 21112 and 21DRF are discussed below in
Section 1.4 and are applicable to AERMET 23132. EPA conducted an informal public review
from December 2021 through February 2022. This user's guide for AERMET 23132, represents
updates to AERMET 22112. Updates from 22112 to 23132 are discussed in Section 1.5. This
version, 23132, replaces version 22112 as the current regulatory version of AERMET.

1.1	Overview of AERMET

AERMET processes four types of data: 1) hourly surface observations that are typically,
but not exclusively, collected at airports by the National Weather Service (NWS) and/or the
Federal Aviation Administration (FAA); 2) twice-daily upper air soundings collected by the
NWS; 3) data collected from an on-site or site-specific measurement program; and 4) prognostic
meteorological data processed through a processor such as the Mesoscale Model Interface
(MMIF) (EPA, 2023a; Ramboll, 2023)1. Data processing occurs in two distinct stages that are
unrelated to the type of data being processed. These stages can be run separately or together in
one AERMET run; the stages are illustrated in Figure 1-1.

1 Throughout this document, site-specific references will also apply to the processing of MMIF output,
which is processed in the PROG pathway in AERMET and uses the same processing as ONSITE data.

1-1


-------
Figure 1-1. AERMET processing steps

The first stage extracts the surface and upper air data from files in which the data are
stored in specific archive formats. The quality of the surface, upper air, and site-specific or
prognostic data is also assessed during Stage 1. The second stage reads the output from Stage 1,
calculates the boundary layer parameters required by AERMOD, and generates two AERMOD-
ready meteorological data files.

Note that the extraction phase of the raw site-specific data or processed prognostic data
is not included in Stage 1, though the data are QA'd in Stage 1. Unlike the surface and upper air
data, site-specific and processed prognostic data are not stored (archived) in any specific format.
Therefore, the data are not "extracted" from an archive file and only need to be QA'd. This is
explained in more detail in Section 3.5. Another important point to mention with respect to
Figure 1-1 is the input of 1-minute Automated Surface Observing Systems (ASOS) data into
Stage 2, referred to in the figure as 'Hourly averaged 1-minute ASOS winds.' 1-minute ASOS
data are surface wind data collected by the NWS/FAA with ASOS, stored as 1-minute averages,
and archived separately from the hourly NWS/FAA surface data. These higher resolution wind
data can be processed separately with the AERMINUTE program (EPA, 2023b) to produce 1-
hour averages that are more representative than the surface wind data in the standard hourly
archive formats (see Section 3.3). For more recent years (2000 to present), the hourly wind data
in the standard archive formats can be replaced with the hourly values derived from

1-2


-------
AERMINUTE output when those data are available. Refer to Section 3.3.9 for a detailed
discussion on the use of 1-minute ASOS wind data. From here on, this user's guide refers to all
surface data collected by the NWS and/or the FAA, including the 1-minute ASOS data, as NWS
data. Surface characteristics are also input to Stage 2 and can be calculated from processors such
as AERSURFACE (EPA, 2020) for observed data and from the prognostic model when
processing prognostic data.

The AERMET program is designed to read a plain text file (a.k.a., the control file) which
contains the processing instructions such as user-specified options and the names and locations
of the input and output data files. Prior to version 18081 of AERMET, the control filename was
hardcoded as 'AERMET.INP'. Beginning with version 18081, the user can specify the control
filename on the command line when running AERMET. The input file can be in a different
directory than the directory in which the user is working, and the full pathname or relative
pathname can be entered. If no input file is provided, the hardcoded default 'AERMET.INP' is
assumed and must be in the directory in which the user is working. Note that all AERMET
output filenames are user-specified and are created automatically by AERMET during
processing.

Prior to version 21DRF, AERMET was configured to be run in three stages (extraction
and QA, data merger, and PBL calculations) with each stage run separately. Beginning with
21DRF, AERMET has been configured so that only two stages are executed (extraction and QA,
and PBL calculations) and both stages can be executed in the same AERMET run. It is no longer
necessary to run each stage separately, and the data merger stage has been eliminated. Therefore,
existing AERMET control files created prior to version 21DRFmust be revised. More details on
the differences between the 21DRF version and earlier versions can be found in Section 1.4.

In a typical application, AERMET can be executed two ways: 1) two times, once for
Stage 1 processing (extraction and quality assurance (QA) of the surface, upper air, and site-
specific data or prognostic data combined in a single run) and a second time for Stage 2
processing (boundary layer calculations and output); 2) alternatively AERMET can be executed
once, running both Stage 1 and 2 in the same AERMET run (see Section 1.4.1 for information
on combined stage control files). Since Stage 1 processing is designed to support QA of raw

1-3


-------
input data, Stage 1 may involve multiple iterations if data problems are encountered. Prior to
running AERMET, the user should review the instructions in the control file and, as necessary,
replace them with instructions appropriate to the specific application and stage of processing. If
running each stage separately, a separate control file will be required for each stage, and each
given a unique name to avoid conflicts when the files are stored in the same directory.

1.1.1 Stage 1 - extraction and quality assessment

Stage 1 comprises the extraction/retrieval of data and assessment of the quality of the
data. Data extraction is generally a one-time activity, while the quality assessment (QA) may be
performed several times if the QA identifies problems with the data.

In the past, the NWS upper air and surface data are available from the National Oceanic
and Atmospheric Administration (NOAA) in a compact format. These formats are designed to
minimize the amount of space required to store the data and are not readily interpreted.
Therefore, the data that are stored in archive files are first extracted (i.e., retrieved) from the
archive file.

AERMET can extract upper air sounding data from three formats including: TD-6201,
the former Forecast Systems Laboratory (FSL) format, and beginning with 21DRF, the
Integrated Global Radiosonde Archive (IGRA). While TD-6201 is no longer in use, global
upper air data in FSL format is available online from the NOAA Earth System Research
Laboratory (ESRL) Radiosonde Database at http://esrl.noaa.eov/raobs/ and the IGRA format is
available from the NOAA National Centers for Environmental Information (NCEI) at
hhttps://www.ncei.noaa.gov/products/weather-balloon/integrated-global-radiosonde-archive.
Direct access to recent data can be found at https://www.ncei.noaa.gov/data/integrated-global-
radiosonde-archive/access/data-v2d/ or for full period of records for stations at
https://www.ncei.noaa.gov/data/integrated-global-radiosonde-archive/access/data-por/

AERMET can extract surface hourly weather observations from several standard formats
that have been used by NOAA's National Centers for Environmental Information (NCEI)
including Card Deck 144 (CD-144), Solar and Meteorological Surface Observation Network

1-4


-------
(SAMSON), Hourly Surface Weather Observations (HUSWO), and the Integrated Surface
Hourly Database (ISHD a.k.a. ISH, ISD and DSI-3505), which are time-based formats (i.e., by
hour). Prior to version 21DRF, AERMET could also process the TD-3280 format, which is
element-based (i.e., by variable), originally stored on magnetic tape. Beginning with version
21DRF, AERMET no longer supports the TD-3280 format due to its age. While data stored in
some of the older formats (CD-144, SAMSON, and HUSWO) may be part of users' personal
archives and some formats may be available for purchase from the NCEI, recent U.S. and global
data are available for download via File Transfer Protocol (FTP), free of charge, from the NCEI
at: https://wwwl.ncdc.noaa.eov/pub/data/noaa (web browser) or
ftp://ftp.ncei.noaa.gov/pub/data/noaa (ftp client, anonymous access).

AERMET also processes an hourly surface data format available from the EPA Office of
Air Quality Planning and Standards (OAQPS). This format is a reduced form (fewer variables)
of the CD-144 format and is available for 1984-1992 from the Support Center for Regulatory
Air Models (SCRAM) website (https://www.epa.gov/scram).

There is no standard format or content for site-specific or processed prognostic
meteorological data. These data most likely will include observations made at one or more
levels on an instrumented tower or from remote sensing instrumentation or modeled vertical
grid for prognostic data. Additionally, near-surface measurements such as insolation, net
radiation, and temperature difference may be included. The non-standardized formats preclude
storing these data in a predefined archive format; thus, AERMET does not 'extract' site-specific
data. However, AERMET can read site-specific or processed prognostic data stored in an
ASCII2 file with a structure that can be described by the user with standard Fortran format
statements. Additional restrictions and specification of site-specific and prognostic data are
discussed in more detail in Section 3.5.3.

Quality assessment (QA) is performed on all the data types except the 1-minute ASOS
wind data. The QA process identifies occurrences of missing data, values that are outside a
range of values, and inconsistencies between selected variables within an observation period.

2 American Standard Code for Information Interchange

1-5


-------
Default values are defined for the upper and lower bounds and for missing values. The values
can be modified through the control file created by the user. Some variables are checked by
default (as noted in the tables in Appendix B) and the user can specify additional variables to be
checked.

If AERMET detects anomalous data, a message is written to the message file informing
the user of the violation. At present there are no provisions for AERMET to automatically
replace missing data or correct "suspect" values. The user should review the QA messages and
determine if the value(s) require modification or if they are acceptable.

If the data require modification, the output files from Stage 1 can be edited using a text
editor. However, any changes should be based on sound meteorological principles and comply
with any relevant regulatory guidance. Modifications should only be done on extracted data, and
not on the archive or raw data file. The archived or raw data should never be altered but should
be maintained as delivered. Whenever changes are made, the modified data should be
reprocessed through the QA process a second time. This stepwise procedure may identify new
problems that, in turn, need to be addressed. When the user is satisfied that the quality of the
extracted data cannot be improved further, the data are ready for the next stage.

1.1.2 Stage 2- PBL calculations and create model input files

The second stage of processing reads the output generated in Stage 1, computes the
boundary layer scaling parameters (e.g., surface friction velocity, mixing height, and Monin-
Obukhov length), and produces two input files for AERMOD. The first file contains the
computed boundary layer parameters, as well as the observed surface parameters (e.g.,
temperature, wind speed, and wind direction). The second file contains one or more levels (a
profile) of winds, temperature, and the standard deviation of the fluctuating components of the
wind if provided. Site-specific monitoring programs commonly collect temperature and wind
measurements at multiple levels. The prognostic data are also commonly multilevel. These
multilevel data are written to the profile file. In the absence of multilevel site-specific data, a
single level from site-specific or NWS hourly surface observations are written to this file.

1-6


-------
1.2	Output files

AERMET creates several files during each stage of processing. These include a report
file that summarizes user options and QA results, a message file that stores errors, warnings, and
detailed QA messages generated during processing, separate extraction files for the NWS
surface and upper air data, and a separate data quality assessment file for NWS surface, upper
air, and site-specific or prognostic data. The extraction files contain the data that are extracted
from archive formats during Stage 1 and subsequently QA'd. The assessment files contain the
QA'd data and are nearly identical in structure and content to the extraction files. The
assessment files are input into Stage 2. As mentioned previously, site-specific (prognostic) data,
processed via the ONSITE (PROG) pathway, are read, and QA'd directly from the user-supplied
file.

The structure and contents of the summary and message files are discussed in the
examples in Section 4.0. The structure and content of the extraction and assessment files are
provided in Appendix C. It is important that the user not alter any of the header records in the
assessment files since they are input into Stage 2, otherwise the data could be processed in an
undesirable way or cause AERMET to fail with a processing error.

1.3	Document Overview

Section 2.0 describes the running of AERMET. Section 3.0 describes the keywords for
each pathway in detail and Section 4.0 presents a basic tutorial of AERMET. Section 5.0
presents technical notes about AERMET. Appendix A through Appendix D present more
information about keywords (Appendix A), meteorological variables (Appendix B), file formats
(Appendix C), and various messages (Appendix D). Appendix E provides a summary of the
different AERMET modules and subroutines, and Appendix F summarizes AERMOD
evaluations using AERMET 22112 and 21112 as part of the AERMET overhaul process.

1-7


-------
1.4 Differences with older versions of AI RM I T

As part of the update process to AERMET, there are several differences between version
23132 of AERMET and previous versions (21112 and earlier). This section describes some of
the changes, including control file changes, user options, and programming changes that will
result in differences between 23132 AERMET and earlier versions (21112 and earlier).

1.4.1 Control file differences

As part of the update process, changes were made to AERMET that will require the user
to modify existing AERMET control files. The first such change is that the XDATES keyword
for each path now requires the years to be entered as 4-digit years. Previously, AERMET
allowed for 2-digit or 4-digit years. Use of 4-digit years makes processing for years spanning a
century crossover i.e., 1999-2004, easier. See Sections 3.3.3, 3.4.3, 3.5.2, and 3.7.6 for more
information on date extractions for SURFACE, UPPERAIR, ONSITE or PROG, and
METPREP processing.

As discussed in Section 1.1, beginning with version 21DRF, AERMET is now a two-
stage process, instead of a three-stage process. To facilitate the use of existing AERMET input
control files, AERMET 23132 will read existing control files and ignore paths and keywords
that are no longer needed. To run an existing Stage 1 control file, the only change that is needed
by the user is to make sure the years associated with XDATES are 4-digit years. To run Stage 2
(old Stage 3) by itself, the user can combine an existing Stage 2 and Stage 3 control file
(AERMET 21112 or earlier) into one control file and remove the old Stage 3 JOB pathway and
keywords. AERMET will ignore the older MERGE pathway and DATA keyword associated
with the METPREP path. Additionally, the user should ensure all years associated with
XDATES are 4-digit years. To run a new combined Stage 1 and 2 AERMET run, the user can
combine existing Stage 1, 2, and 3 control files (AERMET 21112 and earlier) into one control
file. As previously stated, AERMET will ignore the MERGE pathway and DATA keyword
associated with the METPREP path. Again, the user should ensure all years associated with
XDATES are 4-digit years and remove the Stage 2 and Stage 3 JOB pathway and keywords.

1-8


-------
1.4.2 Other differences

The following is a list of differences between AERMET version 22112 and later with
previous versions of AERMET, version 21112 and earlier. The list includes the topics discussed
above in Section 1.4.1. For some changes, the user can expect to see differences in output
between 23112 AERMET and previous versions (prior to 22112). Those expected differences
are explained when applicable.

•	AERMET is now a two-stage process instead of a three-stage process. The merge stage,
Stage 2 in previous versions of AERMET has been eliminated and the previous Stage 3
is now Stage 2. If the MERGE pathway (Section 3.6) is found in the AERMET control
file, AERMET will ignore the associated keywords. Likewise, if AERMET encounters
the DATA keyword (Section 3.7.1) with the METPREP pathway (Section 3.7),
AERMET will ignore the DATA keyword and associated file (old Stage 2 output).

•	Years associated with XDATES must be 4-digit years.

•	AERMET will now preserve the case (lower or upper case) of any input or output files,
instead of assuming all upper case for filenames. This makes the code more portable for
Linux operating systems as Linux systems are case sensitive while Microsoft Windows
DOS systems are case insensitive.

•	Stage 1 EXTRACT and QAOUT files have different formats between AERMET 22112
and previous versions. The ONSITE QAOUT file now has a consistent format, where
before, the QAOUT file followed the format of the raw input file.

•	A new averaging option for vector averaging of winds has been added to Stage 1 for
sub-hourly site-specific data. The user invokes the option by specifying the word
VECTOR after the number of observations per hour with the OBS HOUR keyword. The
default averaging is a scalar average.

1-9


-------
A new upper air data source, the Integrated Global Radiosonde Archive (IGRA), has
been added in addition to the 6201 and FSL formats.

The 3280 format for SURFACE data has been dropped and will no longer be supported
by future versions of AERMET.

The addition of a new pathway, PROG for prognostic data. The PROG pathway is
analogous to the ONSITE pathway and uses the same keywords. The PROG pathway is
utilized for prognostic data to allow for processing of certain variables when the
application is overwater versus overland (Section 3.5.1). When using the PROG
pathway, AERMET will output a text string to the AERMET OUTPUT file (Section
3.13) in the header and for each hour denoting that the data are prognostic. This allows
AERMOD to know the data are prognostic.

In conjunction with the new PROG pathway, AERMET has additional ONSITE or
PROG variables that can be used for overwater applications. See Appendix B, Table
B-3, and Table B-4. See Section 3.5.1 for details on the overland or overwater
assignments and treatment of variables.

Additionally, in conjunction with overwater applications, if Monin-Obukhov length is an
input variable and used for overwater applications, AERMET will use Monin-Obukhov
length to determine the stability of the hour (convective or stable) instead of the solar
angle approach currently used. The solar angle approach is used when Monin-Obukhov
length is not available.

AERMET now allows for the specification of year specific surface characteristics via the
FREQSECT, FREQ SECT2, AERSURF, and AERSURF2 keywords. This allows for a
multi-year AERMET run for Stage 2 in one AERMET run instead of separate annual
AERMET runs when surface characteristics change on an annual basis. See Section
3.7.9.5 for more details.

1-10


-------
For seasonal surface characteristics only, AERMET uses the primary and secondary
station coordinates to determine the hemisphere of the respective station. This is used to
allocate the seasonal characteristics to the appropriate months based on the hemisphere.
For example, for winter characteristics, if the station is in the Northern Hemisphere, the
winter characteristics are assigned to January, February, and December. If the station is
in the Southern Hemisphere, then the winter characteristics are assigned to June, July,
and August. This feature allows the user to enter seasonal characteristics that represent
the season for the hemisphere. Thus, for applications in the Southern Hemisphere, the
user does not need to assign representative summer surface characteristics to winter so
that AERMET will assign the characteristics to the correct months. See Section 3.7.9 for
more details.

The no persistence keyword, NOPERS, used for cloud cover and temperature
substitution for hours 23 and 24 in METPREP are now obsolete. These keywords were
present because previous versions of AERMET processed each day separately within the
program and previous versions could not read ahead to the next day to allow for hours
23 and 24 interpolations. Based on the recoding of AERMET, AERMET can now read
the next day's observations so hours 23 and 24 can be interpolated in the same manner
as other hours in the day.

In previous versions of AERMET, when processing NWS data, if hour 24 was
completely missing from the Stage 2 output, i.e., the hour was not in the raw data file in
Stage 1, AERMET would copy hour 23 (if available) to hour 24 of the day. This is no
longer done in AERMET version 22112 or later, so hour 24 may be missing in the final
AERMET output. Additionally, temperature and cloud cover may be substituted from
hour 23 of the same day and hour 1 or 2 of the next day. This change could result in
differences for hours 24, 1, and 2 when comparing AERMET version 22112 and later to
previous versions of AERMET.

Hourly precipitation values may differ between 22112 AERMET and previous versions.
Previous versions of AERMET do not reset hourly precipitation to zero in METPREP

1-11


-------
before reading the precipitation from the MERGED output. This can result in
precipitation values for hours that are missing in the MERGE output because previous
versions of AERMET do not reinitialize the precipitation, so the previous day's value of
precipitation is used for the hour. 21DRF AERMET corrects this issue.

•	For applications involving site-specific or prognostic mixing heights, AERMET version
22112 and later smooths the mixing height based on the previous hour's mixing height,
like when AERMET calculates mechanical mixing heights. Previous versions of
AERMET did not smooth the mechanical mixing heights read from the site-specific or
prognostic data.

•	As part of the overhaul of AERMET with version 21DRF, the variables that are type real
in FORTRAN are now double precision in AERMET. Previous versions of AERMET
treated these variables as real. Due to the differences between double precision and real,
some variables may have slightly different values due to rounding, and other variables
may have more differences as logic code within AERMET may have different outcomes,
even though the numbers used in the logic are slightly different. This could result in
different processing based on the logic, leading to different output values.

•	NWS wind speeds associated with variable wind directions are not corrected for
truncation (Section 3.7.7.3) in Stage 2 as done in previous versions of AERMET.

1.5 Updates from 22112 to 23132

Following is a list of changes made to version 22112 as part of the 23132 update:

1-12


-------
Formulation update

•	Include subroutine COARE1 and associated subroutine and keywords for inclusion
of Coupled Ocean Atmosphere Response Experiment (COARE) (Fairall, et.al.,
2003) processing for ONSITE or PROG overwater data. The inclusion of COARE
to AERMET replaces the need to run the standalone AERCOARE processor (EPA,
2012) for overwater applications for either observed or prognostic overwater
meteorological data. Options for running COARE algorithms in AERMET can be
found in Section 3.7.7.6.

Bug fixes

•	Correct format statement in subroutine NEWSOUND to correct issue with
soundings out of sequence.

•	Correct a bug in subroutine MECH HT to use unsmoothed mixing height when u*
is missing for the hour.

•	Add a check for missing wind speed in subroutine AVG HR to account for negative
values used as missing value indicators.

•	Initialize variables and correct issues with Linux GFortran compilation.

•	Correct format statement in subroutine READINP.

•	Correct format in subroutine WINDS when issuing message that winds were reset to
0.28 m/s for SURFACE observations.

•	Correct bug to allow primary surface characteristics keywords to be used with
AERSURF2 file in subroutine AERSURF.

•	Correct bug in PBLTEST to appropriately check for missing surface characteristics
keywords.

•	Correct WBAN number for Terre Haute, IN in subroutine SFC INIT.

•	Correct bug to read ASOS flag correctly for SURFACE data in subroutine
SURFPATH.

•	Correct bug for sounding target hours when beginning of window is in previous day
of sounding in subroutines PBL PROC and CHECK OBS.

•	Correct bugs in PBL TEST for UPPERAIR location when using ONSITE/PROG
mixing heights and no UPPERAIR data.

1-13


-------
•	Correct bug to only set SURFACE winds to calm if not missing.

•	Correct logic bug in subroutine READISHD when getting weather codes. Affects
only ISHD data.

•	Correct bug in READFSL, READIGRA, and READ 6201 to only decrease
nsnd(3) when nsnd(3) > 2; nsnd(3) is number of valid soundings per day.

•	Correct bug for pressure calculations to set NWS elevation even if not a NWS
observation.

•	Correct bug when writing PROFILE file to only write temperature when hour is
substituted by ONSITE hours.

•	Change error to warning when checking for GMT/longitude mismatch.

•	Correct bug to sum ONSITE sub-hourly precipitation variables instead of averaging.

•	Correct bug to check for ONSITE THRESHOLD in Stage 1 output EXTRACT or
QAOUT file.

•	Correct bug to write longitude east or west designation in OUTPUT (surface) header
record in subroutine SFC HEADER.

•	Set variable DATE HR STR in READ SAM.

•	Put check for S LEVELS in UP MODIFY inside hour loop.

•	Only set ndays -1 when ndays > 1 in reporting observations in OBS SUM.

•	Correct FORMSTR in DATES LOC to allow for negative double digit GMT to
LST (i.e, -12 hours).

Enhancements

•	Add more QA on number of observations per hour for sub-hourly data in
OS PROC, READ OS, AVG HR, CALC WINDS, and CHECK HTS.

•	Add NWS elevation to SURFACE EXTRACT and QAOUT file when derived from
ISHD data.

•	Check OUTPUT and PROFILE file for format overflows and NaN.

1-14


-------
Miscellaneous

•	Modified PBLPROC and WRITE SRSS to only get target sounding hours and
UPPERAIR sunrise/sunset times when UPPERAIR data is used in Stage 2.

•	Add more QA checks to ONSITE/PROG heights when OSHEIGHTS not specified.

•	Add warning when UPPERAIR data has GMT to LST of 0 and longitude does not
indicate location is in time zone of Prime Meridian. Use GMT to LST conversion based
on longitude for UPPERAIR sunrise/sunset calculations.

•	Update AERMET to allow multi-level data to be out of ascending order.

•	Initialize GMTLST for all data types to -9 to avoid issues when actual GMT to LST is 9
hours.

•	Add COARE text string to OUTPUT file header to aid AERMOD in determining if
COARE algorithms were used in AERMET.

1-15


-------
2.0 Running AERMET

This section is designed to provide the user with a basic understanding of the
requirements to run AERMET. This section will explain the pathway and keyword approach
and associated syntax rules for processing meteorological data in AERMET.

2.1 AERMET execution

AERMET is a DOS-based program and is run from the command prompt on computers
running a version of Microsoft Windows. AERMET can also be compiled and executed on Unix
or Linux systems. On Windows systems, the syntax for running AERMET for a single stage or
combined stages is:

path-to-AERMET.EXEXAEKMET
path-to-AERMET.EXE\AERMET input Jilename
On Linux or Unix systems, the syntax is:

path-to-AERME T. EXE I AERMET
path-to-AERMET.EXE/AERMET input Jilename

wherepath-to-AERMET.EXE is the directory path to the AERMET executable file.

When no input file name is specified, AERMET assumes the input filename is 'aermet.inp' for
each stage and the file resides in the current working folder or directory. The specification of an
input filename is applicable to versions of AERMET beginning with version 18081 and the
filename can include a full directory pathname for the file. When running AERMET with no
input filename as an argument, each stage's input file should be copied to a file named
aermet.inp (case insensitive on DOS and case sensitive on Unix or Linux systems). Examples
following in the rest of this document are for the latest version of AERMET.

2-1


-------
As AERMET runs, the progress is displayed on the screen, unless the option NOPRINT
(Section 3.2.4) is specified on the JOB pathway (Section 3.2). In addition to the output data
files, each run will produce a message file and report file if a report file is specified. Note, the
filenames and extensions are all user-defined, i.e., there are no default names or extensions.

A word of caution for this example and for all AERMET runs, all output files are opened
with the Fortran file OPEN specifier of STATUS = 'UNKNOWN'. With this specifier, if the file
already exists, the contents will be overwritten without any opportunity to save it.

More details and examples about running AERMET are available in Section 4.0.
2.2 Control file

Processing meteorological data with the AERMET preprocessor is divided into two
stages as shown in Figure 1-1. Each stage can be run separately or in a combined run. A file
containing a sequence of control statements is required to define the actions that AERMET is to
perform and how to perform them. This file is referred to as the input control file. There can be a
separate control file for each stage of processing or a single control file that runs both stages in
one run. The user can enter the unique name of the control file on the command line when
executing AERMET from the command line as discussed in Section 2.1.

The statements in the control file are divided into six functional groups, or pathways:

JOB

for

UPPERAIR

for

SURFACE

for

ONSITE

for

PROG

for

METPREP

for

2-2


-------
The pathway identifier appears on a line by itself and identifies the beginning of a
contiguous block of statements that apply only to that pathway. Depending on the stage of
processing and the type of data that are being processed, there will be two to five pathways
specified in a single AERMET control file. A seventh pathway, MERGE, is a legacy of
AERMET prior to the 21DRF version (AERMET version 21112 and earlier). If AERMET
(21DRF and later) detects the MERGE pathway, it is ignored.

The records within a pathway make use of a keyword and parameter approach for
specifying the input to AERMET. The keywords and parameters that make up this file can be
thought of as a command language through which the user directs AERMET. It is the
combinations of keywords and parameters that direct AERMET how to process the data.
However, there are several rules of syntax that must be observed for AERMET to correctly
process the data.

2.2.1 Control file setup

While the control file has been designed to provide the user with flexibility in the way it
is structured, there are some basic syntax rules that must be followed. These rules standardize
the format of the control file. These rules are:

•	The pathway identifier appears on a line by itself followed by all the input records
for that pathway. In other words, all the records for a particular pathway must be
contiguous without any intervening keywords for other pathways.

•	Each record in the control file cannot exceed 500 characters in length. Prior to
AERMET 21DRF, the limit was 132 characters in length. The record can begin in
any column, so long as the entire length of the record, including leading blanks,
does not exceed 500 characters. For example, records starting with keywords can
be indented for readability (as is done throughout this user's guide). Each field on a
record must be separated by one or more spaces or a comma and must appear in a
particular order (with a few exceptions as noted later in the user's guide).

•	Blank records can be included anywhere in the control file to improve readability.

2-3


-------
•	If asterisks appear in columns 1 and 2 (**), AERMET ignores the statement. By
using the asterisks, the statement acts as a comment, which can be used to identify
the purpose of the control file, clarify the content of an individual keyword, or
ignore a keyword if the user edits a control file but wants to preserve the prior
content.

•	Alphabetical characters can appear in either upper case or lower case letters.

•	AERMET converts these characters to upper case (which is why any information
echoed to an output file is all upper case) to insure exact matches on keywords and
parameters. However, beginning with version 21DRF, AERMET retains the
original case of character strings associated with filenames. This allows AERMET
to work more efficiently with Linux and UNIX systems, which are case sensitive.

•	Some keywords are mandatory, while others are optional. A keyword is mandatory
to the extent that there are data to process for the pathway and without the
keyword, the eventual product from AERMET (the output files from Stage 2)
could not be generated. Optional keywords are used to include or extend data
processing actions. Most of the keywords used in the tutorial are mandatory. Some
keywords are repeatable, such as the keywords to specify the format of any site-
specific data, while others may only appear once. These terms are discussed in
more detail in Section 3.0. Keywords by pathway are provided in Appendix A and
are identified as mandatory or optional, repeatable or nonrepeatable.

•	In general, the order of keywords within a pathway is not important, though there
are a few exceptions for the ONSITE (PROG) and METPREP pathways. These
keywords pertain to the variables and format of the site-specific (prognostic) data
in Stage land the surface characteristics on the METPREP pathway in Stage 2.

•	Filenames must conform to the naming conventions appropriate to the computing
platform and cannot exceed 300 characters in length. Prior to version 21DRF, the
filenames could not exceed 96 characters in length.

2-4


-------
3.0 Keyword reference

3.1 Definitions and control file processing

The terms "mandatory" and "optional" indicate whether the keyword for a particular
pathway is required to run AERMET (mandatory) or if it enhances or modifies the processing
(optional). Several keywords may be mandatory or optional depending on the point they are
used in the processing of the data. For example, QAOUT serves two purposes: to define the
output file for Stage 1 QA and to define the input file for Stage 2 calculations. While data QA is
optional in Stage 1, the keyword is mandatory if the AERMET run is not a combined Stage 1
and 2 run. A distinction will be made when the keyword type may be ambiguous. For the
discussions in the following sections, the stages to which the keyword refers to will be in
parentheses following the terms "mandatory" and "optional". If'All' is specified, then the
keyword applies to all stages of processing.

The terms "repeatable" and "nonrepeatable" refer to whether the keyword can appear
only once (nonrepeatable) or more than once (repeatable) for the same pathway in a control file.
For example, the MESSAGES keyword can appear only once on the JOB pathway, thus it is
nonrepeatable. However, the RANGE keyword for assessing the validity of the data can appear
multiple times on a pathway, thus it is repeatable. A nonrepeatable keyword may appear
multiple times in a control file, but only once per pathway. For example, the QAOUT keyword
defines the input file for each pathway for Stage 2 (merging data and PBL calculations). It can
appear only once for each pathway, but it will appear two or three times in the control file
because there is usually more than one type of data used in Stage 2.

Except for a few keywords, there are no special requirements for the order of the
keywords within each pathway, but it is recommended that a logical order be maintained to be
able to understand the processing defined by each control file.

The syntax descriptions in the following sections use certain conventions. The keywords
are all upper case, and the parameters are all lower case. Square brackets around a parameter
indicate that the parameter is optional, and a default value may be used if it is omitted.

3-1


-------
A word of caution that deserves repeating: for an AERMET run, all output files are
opened with STATUS = 'UNKNOWN'. With this specifier, if the file already exists, AERMET
will open it without providing any opportunity to save it. With the first write action to the file,
the contents of an existing file are erased. Before running AERMET. the user should be certain
that any output file name specified in a control file either does not exist or can be overwritten.

3.2 JOB Pathway

The JOB pathway appears in all AERMET control files. The primary purpose of the JOB
pathway is to specify the file names for reporting all the preprocessor actions that are performed
for that run.

3.2.1 MESSAGES

All error, warning, informational, and QA messages issued by AERMET are written to
the file name specified with the MESSAGES keyword. The contents of this file are discussed
throughout the tutorial in Section 4.0. This keyword is mandatory because the program later
uses this file to summarize the processing. The syntax and type are:

Syntax:

MESSAGES message filename

Type:

Mandatory (All), Nonrepeatable

The message Jilename must conform to the naming conventions appropriate to the
computing platform. The maximum length of this file name is 300 characters.

3 .2.2 REPORT

At the conclusion of a run, AERMET reads the file of messages, tabulates the different
types of messages (errors, warnings, etc...), and summarizes all the actions for that run in a file
specified with the REPORT keyword. The REPORT file also summarizes input and output
filenames, quality assurance summary (Stage 1), requested processing steps, and other inputs

3-2


-------
such as surface characteristics. The contents of a run summary are discussed throughout the
tutorial in Section 4.0. The syntax and type for this keyword are:

Syntax:

REPORT summary filename

Type:

Optional (All), Nonrepeatable

The summary Jilename must conform to the naming conventions appropriate to the
computing platform. The maximum length of this file name is 300 characters.

This keyword is optional. If it is omitted, then the summary is written to the output
control device connected to logical unit 6. On a personal computer, this unit is normally the
video monitor. This information can be captured using redirection (as discussed in
Section 4.0).

3.2.3 CHK SYNTAX

AERMET processes all the statements in a control file prior to processing any data.
Incomplete information on a keyword or the omission of a keyword will cause AERMET to
terminate the run. The CHKSYNTAX keyword directs AERMET to process the control file
and report any problems without performing any data processing. The user can review the
summary and message files and correct any errors or make any changes to the control file prior
to processing data. The syntax and type of the CHK SYNTAX keyword are:

Syntax:

CHKSYNTAX

Type:

Optional (All), Nonrepeatable

No parameters accompany this keyword.

3-3


-------
The user gets a full report of the processing of the control file, i.e., the MESSAGES file
and REPORT file are generated and can be reviewed. In the REPORT file, the following
appears near the top of the file:

THIS RUN ONLY CHECKS THE RUNSTREAM INPUT

3 .2.4 NOPRINT

Beginning with version 21DRF, AERMET will suppress output to the screen. This
usually is the progression of operations through each day. The syntax and type of the NOPRINT
keyword are:

Syntax:

NOPRINT

Type:

Optional (All), Nonrepeatable

No parameters accompany this keyword.

3.2.5 DEBUG

Beginning with version 21DRF, AERMET has a debug option that will output certain
calculations and messages from Stage 1 and most calculations in Stage 2 to a debug file. The
syntax and type for this keyword are:

Syntax:

DEBUG
Or

DEBUG debug filename

Type:

Optional (All), Nonrepeatable

3-4


-------
Note that the DEBUG keyword can be followed by an optional filename. If the filename
is not listed, the default filename is aermet debug.txt. When the debug keyword is used for
Stage 1 processing, the following is output to the debug file:

•	When calculated upper air variables, speed shear, direction shear, and lapse rate
are audited, AERMET outputs the variables and calculations for those variables.

•	When reading sub-hourly site-specific data, AERMET will output the values
used for hourly averaging of sub-hourly variables.

When the debug keyword is used for Stage 1 processing, the following is output to the
message file:

•	When reading ISHD data, AERMET will output messages to the message file
regarding replacement of observations with report type.

When the DEBUG keyword is used with Stage 2 processing, AERMET will output the
following to the debug file:

•	Upper air sounding used for each day

•	Value and source of key observed variables such as winds, temperature, pressure,
cloud cover, precipitation, etc.

•	Values are used for temperature and cloud cover substitution

•	Solar angle, critical angle, and resulting convective/stable assignment for each
hour

•	Calculations for variables such as surface friction velocity, convective velocity
scale, mechanical and convective mixing heights, etc.

The debug option will provide output for each day and hour designated by the XDATES
keyword. The debug file can become quite large so the debug option should be used with
caution.

3-5


-------
3.3 SURFACE pathway

The SURFACE pathway defines all the necessary information for processing NWS
hourly surface weather observations or surrogate data that complies with an established format.
These data provide information on temperature, winds, and cloud cover that can be used in
estimating dispersion parameters. The data generally come from first order observation stations
(observations 24 hours per day) located at or near airports. AERMET can read and process a
variety of formats, each discussed below with the DATA keyword.

3.3.1 DATA

Hourly NWS surface observations are stored in a variety of compact formats. Data
stored in one of these formats is referred to as archived data. One of AERMET's functions is to
read and interpret the archived data and to write the results in another format for later
processing. The DATA keyword is used to specify the file name and define the archive file
format. The syntax and type for the DATA keyword are:

Syntax:

DATA archive filename file format /A SOS/

Type:

Mandatory* (Stage 1 only; Stage 1 and 2 combined), Nonrepeatable

The archive Jilename must conform to the naming conventions appropriate to the
computing platform.The maximum length of the archive Jilename is 300 characters. The
keyword is mandatory under certain conditions and is optional under other conditions. The
keyword is mandatory if performing Stage 1 processing (separately or in a combined Stage 1
and 2 AERMET run) and the EXTRACT keyword (Section 3.3.2) is not used or the file
associated with the EXTRACT keyword is empty. The DATA keyword is optional if the
EXTRACT keyword is present, and the file associated with the EXTRACT keyword is not
empty. In that case, the data in the file associated with the EXTRACT keyword is the input data.

For processing archive data, the file format must be specified as one of the following:
CD 144, EXTRACT, SCRAM, SAMSON, HUSWO, or ISHD. Each of these formats is
discussed in more detail below. Beginning with version 21DRF, a new format, EXTRACT can

3-6


-------
be used. This can be used to read in NWS data in the format of the EXTRACT or QAOUT file
generated by AERMET. Also beginning with AERMET version 21DRF, two formats, 3280VB
and 3280FB are no longer supported due to their age.

AERMET includes a table of ASOS commission dates used to identify whether NWS
surface data input to AERMET are from an ASOS site. The ASOS parameter is applicable only
for the ISHD format and is used to identify the data as having originated from an ASOS site for
stations that are not included in the table of ASOS commission dates. The optional ASOS
parameter should only be used if the data are known to be from an ASOS site that is not
included in the table of ASOS commission dates. Wind speeds collected at ASOS sites,
archived in the ISHD format, are truncated rather than rounded to whole numbers (NOAA,
2008). This introduces a bias in the data toward lower wind speeds. To compensate, AERMET
adds V2 knot (0.26 m/s) to all ASOS-based wind speeds. A more detailed discussion of this
adjustment to ASOS wind speeds is in Section 3.7.7.3.

NOTE: In earlier versions of AERMET, the DATA keyword included the blocking factor and
data type (ASCII or EBCDIC) parameters. These are no longer supported by AERMET,
beginning with version 11059. The default values for these parameters are 1 for blocking factor
and ASCII for data type. AERMET will issue a warning message if these parameters are
included with the DATA keyword.

3.3.1.1 CD-144 and SCRAM formats

The CD144 format is an older standard format previously used by the NCEI for
archiving surface observations. Alphanumeric characters are used to represent various weather
elements. All the weather elements for one hour are stored on one logical record and the length
of each logical record is 79 characters.

The SCRAM format is a reduced version of the CD144 format and is available from the
EPA's Support Center for Regulatory Air Models (SCRAM) website. Fewer weather elements
are reported. Each logical record is 28 characters and includes data for cloud ceiling height, dry
bulb temperature, wind speed and direction, and opaque sky cover. AERMET requires surface

3-7


-------
station pressure for some of its computations (e.g., density of air). The SCRAM format does not
include station pressure and sea level pressure, so a standard atmosphere (1013.25 millibars) is
assumed when this format is used.

AERMET operates on a 01 - 24 clock but these two formats report data on a 00 - 23
clock. Hour 00 is hour 24 of the previous day. In previous versions of AERMET, when data
were retrieved from an archive file for a specific period, the first hour was discarded since it was
prior to the beginning time. Likewise, since the data for a day end with hour 23, the last day in
the extracted data file will only have 23 hours. This has been changed beginning with AERMET
21DRF in that the conversion from 00 - 23 to 01 - 24 takes place before comparing the data's
dates against the processing dates.

AERMET reads several of the columns in the CD-144 format as character since numbers
or letters could appear in those columns. AERMET then attempts to decipher/decode these
columns by comparing the character it has read with a list of valid characters. If there is no
match, then AERMET issues a warning on which overpunch position could not be deciphered.
The following table lists the correspondence between the overpunch character and column in the
CD-144 format. Note, the term 'overpunch' refers to the 'old' days when 80-column computer
cards were used and the amount of information on a single card was limited. Overpunches
conserved space and were produced by pressing the overpunch key and pressing a numeric
value (0-9) and another key, usually the sign of the number. This overpunch technique
generated a character rather than a numeric value, which is what AERMET is trying to decode.

Overpunch

CD-144
14-16

CD-144 element

Ceiling height

First sky cover layer

Second sky cover layer

Third sky cover layer

Fourth sky cover layer

Sign of the dew point (X i dew

1st digit of wind speed (Xi speed

Sign of the dry bulb (X i dry bulb

Sign of the wet bulb (X i wet bulb <

Total sky cover

Cloud data by layer

1-3

4

5

6

7

17

18

19

20
36
41
47
50
56

8

9

10

11

12

13-34

57-78

3-8


-------
35

79

Opaque sky cover

The data associated with overpunches 9, 10, 12, and 35 (in bold above) may be used by
AERMET, depending on the availability of other (e.g., site-specific) data. The other fields are
decoded, but the weather information contained in them currently are not used by AERMET.

3.3.1.2 SAMSON format

As storage technology and capacity improved, larger amounts of data can be stored in
smaller amounts of space. The NCEI made available solar and meteorological data for the first
order stations in the United States for the period 1961-1990 on a set of three CD-ROMs,
collectively referred to as the Solar and Meteorological Surface Observational Network
(SAMSON) dataset. This disc set is still available from NCEI (https://www.ncei.noaa.gov/), and
AERMET can process the data retrieved from these CD-ROMs.

—> AERMET cannot access the data directly on a SAMSON CD-ROM.

Rather, the user must run the software provided with the data to retrieve the station(s), period(s)
of time and variables for the site and period to be modeled. The software is a DOS-based,
interactive graphical interface. The output files are written as an ASCII file on the user's local
drive. It is this output that AERMET processes.

Retrieving the meteorological data from the CD-ROM is completely under the control of
the user, i.e., the user specifies which meteorological elements to retrieve from a list of 21
elements stored for each station. When processing SAMSON data with AERMET, the following
elements should be retrieved: ceiling height, wind direction and speed, dry bulb temperature,
opaque cloud cover, total sky cover, and station pressure. These elements result in an ASCII file
of about 450 Kb for one year of meteorological data. If all 21 variables are retrieved, then a file
size of about 1.2 Mb is created, although the file size will vary because precipitation data (in
field 21) are reported only if there was precipitation for the hour, making some records longer
than others.

3-9


-------
When the data are retrieved from the CD-ROM, two records are written at the beginning
of the file that identify the station (first record) and the variables retrieved (second record).

These two initial records, or headers, begin with the tilde character (~). AERMET processes
both records to obtain information about the station (e.g., station WBAN number) and to
determine how to process the data that follow. It is imperative that the user not alter or delete
these records.

If more than one year of data are retrieved from the CD-ROM, then two records
beginning with the tilde appear before each year in the file. When the second set of headers is
encountered, AERMET will print a warning in the message file and continue processing data. It
is recommended that the user restrict data retrieved from CD-ROM to one station and one year
per file or edit a multi-year file such that there is only one year per file.

The header records are followed by the data records. There is one record for each hour of
the period the user retrieved. Unlike the CD-144 format which reports the hour on the 00-23
clock, the hour is reported on the 01-24 clock, which is consistent with AERMET data
processing.

3 .3 .2 EXTRACT

The EXTRACT keyword specifies the file name to which the data retrieved from the
archive file are written. The syntax and type are:

Syntax:

EXTRACT extracted data filename



Mandatory (Stage 1 only), Nonrepeatable

Type:

Or



Optional (Stage 1 and 2 combined), Nonrepeatable

The extracted data filename must conform to the naming conventions appropriate to the
computing platform. The maximum length of this file name is 300 characters. Note that when
running AERMET for Stage 1 only, the EXTRACT keyword is mandatory. However, if

3-10


-------
performing a combined Stage 1 and 2 AERMET run, the EXTRACT keyword is optional as
Stage 2 will use the internal AERMET arrays to read extracted data from Stage 1.

The variables written to the EXTRACT file are those variables only needed for Stage 2
processing and are the variables that are not shaded in Table C-l in Appendix C.

3.3.3 XDATES

The amount of data extracted from an archive file can be limited by using the XDATES
keyword to specify the beginning and ending dates of the data to be extracted. The syntax and
type are:



XDATES YB/MB/DB [TO] YE/ME/DE

Syntax:

Or



XDATES YB/MB/DB [-] YE/ME/DE



Mandatory (Stage 1 only), Nonrepeatable

Type:

Or



Optional (Stage 1 and 2 combined), Nonrepeatable

YB, MB and DB are the beginning year, month, and day, respectively, of the data to
extract and YE, ME, and DE are the ending year month and day, respectively. Beginning with
version 21DRF, the year must be entered as a four-digit integer (e.g., 1992). The month is a one-
or two-digit integer corresponding to the month of the year and the day is the one- or two-digit
day of the month. The dates can be entered in various ways. The individual components of start
date or end date can be separated by spaces or the '/' character or no separator at all. However,
the start date cannot be separated by spaces and the end date separated by '/' or vice-versa. Both
dates must use the same delimiter. The complete start date and end date can be separated by a
space, '-', or the word "TO". The case of the word "TO" can be upper, lower, or a mix of cases.
The following are valid methods to enter the dates, using January 1, 2020 and December 31,
2020 as the dates:

• 2020/01/01 2020/12/31

3-11


-------
•	2020/01/01 TO 2020/12/31

•	2020/01/01 -2020/12/31

•	2020 01 01 TO 2020 12 31

•	2020 01 01 -2020 12 31

•	2020 01 01 2020 12 31

•	20200101 20201231

The following are invalid methods to enter dates, again using January 1, 2020 and December 31,
2020 as the dates:

•	2020/01/01 2020 12 31

•	2020 01 01 2020/12/31

•	2020/01/01 -2020 12 31

•	2020 01 01 -2020/12/31

•	2020/01/01 TO 2020 12 31

•	2020 01 01 TO 2020/12/31

The XDATES keyword is mandatory if performing Stage 1 processing only. The
XDATES keyword is optional if performing combined Stage 1 and 2 processing and XDATES
is present for the METPREP pathway. If XDATES is present for the METPREP pathway,
AERMET will use the METPREP dates for extraction of surface data if SURFACE EXTRACT
or QAOUT files are not requested. If SURFACE EXTRACT or QAOUT files are requested,
then the surface extraction uses the dates associated with XDATES on the SURFACE pathway.

3.3.4 LOCATION

The LOCATION keyword identifies the meteorological station by the station's identifier,
latitude and longitude of the station, and a time adjustment factor used to adjust the data to local
standard time. The syntax and type are:

3-12


-------
Syntax:

LOCATION site id NWS lat/long NWS long/lat \tadjust\ \elevation]

Type:

Mandatory (Stage 1), Nonrepeatable, Reprocessed

Order:

Latitude (lat) and longitude (long) can appear in either order

The site id is a five-to-eight-character alphanumeric specifier that identifies the station
for which data are to be extracted. For the standard formats listed on the DATA keyword, these
identifiers are five-digit WBAN (Weather Bureau Army Navy) numbers. Prior to version
21DRF, the site id must be specified with leading zeros to fill a minimum of five characters
(e.g., 3928 had to be entered as 03928) since the field was read as a type character and not an
integer. This is no longer the case beginning with 21DRF, so 3928 can be entered as 3928, not
03928. However to avoid warnings in AERMOD, all characters of the site id should be numeric
as AERMOD expects a numeric value in the AERMOD control file which should match the ID
of the SURFACE station identifier in the surface file generated by AERMET. A master list of
WBAN numbers for stations throughout the world can be obtained from NCEI.

The NWS station latitude (/at) and longitude (long) can be entered in either order
because AERMET distinguishes between the two by the suffix on each: N or S with the latitude
and W or E with the longitude. For example, "38.4N 81.9W" will be interpreted the same as
"81.9W 38.4N" in AERMET. AERMET cannot use, nor does it recognize, "+" or to
discriminate between north and south, and east and west. Therefore, the latitude and longitude
should always be specified as positive numbers.

The parameter, tadjust, is an optional adjustment factor that is subtracted from the
reported hour to convert the time to local standard time. The default value is zero if omitted
from the LOCATION keyword on the SURFACE pathway. Though optional, it should be
included when the offset to local standard time is non-zero and when the last parameter,
elevation, is specified, which is also optional. For stations west of Greenwich, England, i.e., the
Prime Meridian (0° longitude), tadjust should be specified as a positive number. Apart from
ISHD, the standard NWS surface data formats processed by AERMET report the time as local
standard time. Therefore, tadjust is zero for all standard NWS formats processed by AERMET,

3-13


-------
apart from the ISHD format, unless the data are known to be reported for a time zone that is not
local standard.

The final parameter, elevation, refers to the station elevation above mean sea-level
(MSL), in meters, and is also optional with a default value of zero meters. Station elevation
should be included, however, when the actual station elevation is non-zero since it will be used
in the substitution hierarchy for missing station pressure (see Section 5.5 ).

3.3.5 OAOUT

One purpose of AERMET is to contribute to the quality assurance process by identifying
data that are out of range or suspect so the user can determine appropriate steps to accept,
modify, or reject the data. The quality assessment (QA) is performed by including the QAOUT
keyword in the control file. This keyword is also used to specify the input file to Stage 2. The
syntax and type for the QAOUT keyword are:

Syntax:

QAOUT qa'd dataJilename



Optional (Stage 1 only; Stage 1 and 2 combined),

Type:

Nonrepeatable



Mandatory (Stage 2 only) if reading SURFACE data,



Nonrepeatable

The qa outputJilename must conform to the naming conventions appropriate to the
computing platform. The maximum length of this file name is 300 characters.

Quality assessment is an optional process, and the user does not have to perform a QA
prior to using the data in PBL calculations. However, this step is recommended to identify
possible errors in the data that are used to derive the boundary layer parameters. Note that when
running AERMET for Stage 1 only or a combined Stage 1 and 2 run, the QAOUT keyword is
optional. For a combined Stage 1 and 2 run, Stage 2 will use the internal AERMET arrays to
read extracted data from Stage 1. However, if running AERMET for Stage 2 only, the QAOUT
keyword is mandatory for Stage 2 to read the QA'd output. The variables written to the QAOUT
file are those variables needed for Stage 2 processing plus additional variables not needed for

3-14


-------
Stage 2 but can be used for quality assurance. The additional variables are those that are shaded
in Table C-l in Appendix C.

AERMET's QA procedures include verifying that the values of the weather elements are
not outside a range of'acceptable' values and keeping track of the number of missing values.
These checks operate on one observation period at a time, i.e., temporal variations of the data
are not checked.

On the SURFACE pathway, when a quality assessment is performed, several of the
weather elements are automatically tracked (audited) and included in a summary of the QA
process. These elements are dry bulb temperature, wind speed, and wind direction. The hourly
value of each variable is compared to a missing value indicator and if the value is not missing,
then the value is compared to an upper and lower bound that define the range of acceptable
values. Each time a value is missing or violates one of the bounds, a message is written to the
message file defined by the MESSAGES keyword. The message includes the value, the
violation, and the date and time of the meteorological record where the violation occurred. The
date is reported in the first field of the message. The number of times the weather element is
missing, exceeds the upper bound and exceeds the lower bound is tallied and reported in the
summary file defined by the REPORT keyword.

In the current version of AERMET there are no provisions for automatically replacing
missing values or adjusting values that are outside the range of acceptable values. It is up to the
user to review the QA summary information and, using sound meteorological principles and
regulatory guidance, decide whether to retain or replace the value(s) in question.

There are default upper and lower bounds in AERMET, as well as a default missing
value indicator. These values can be changed by the user using the RANGE keyword, as
described below. The user can also choose to QA additional weather elements by using the
AUDIT keyword.

3-15


-------
3 .3 .6 AUDIT

As mentioned in the previous section, there are only three weather elements that are
tracked by default during QA. The user can track additional weather elements for a particular
AERMET run by specifying the element name with the AUDIT keyword. The syntax and type
for this keyword are:



AUDIT sfname 1 ... sfnamen

Syntax:

or

AUDIT ALL

Type:

Optional (Stage 1 or Stage 1 and 2 combined),
Repeatable

where sjhame 1, ..., sfname n are the internal AERMET names of the weather elements as defined
in Table B-l of Appendix B. As many names can be specified on a single keyword use, so long
as they fit within the 500-character limitation of a line. This keyword is repeatable, so more than
one AUDIT keyword can be used to define additional elements to track. Beginning with version
21DRF, if the user wishes to audit all variables, the user enters the word ALL after the keyword
AUDIT. The case of the word ALL is case insensitive

While the AUDIT keyword can add weather elements to the QA, there is no method to
remove any of the default weather elements from the QA. They are always reported.

3 .3 .7 RANGE

The user can modify the upper or lower bound limits for the QA if the values are not
appropriate for the data. The missing value indicator can be changed as well and is the most
likely reason this keyword is used. These changes are accomplished using the RANGE
keyword. The syntax and type for the RANGE keyword are:

3-16


-------
Syntax:

RANGE sjhame lower bound <[=] upper bound missing indicator

Type:

Optional (Stage 1 or Stage 1 and 2 combined), Repeatable,
Reprocessed

where sjhame is the internal AERMET name of the weather element as defined in Table B-l of
Appendix B, lower bound and upper bound are the new lower and upper bounds to be used in
the QA, and missing indicator is a new missing value code. The special symbol "<" and the
optional "=" indicate whether to exclude (<) or include (<=) the lower and upper bound values
in the QA, i.e., exclude or include the endpoints of the acceptable range of values. All
parameters must be specified for this keyword; if a parameter is not changing, the default value
should be specified.

Prior to version 21DRF, data for the SURFACE pathway were written as integers with
some variables being multiplied by 10 when extracted to retain significant digits. Table B-l
provides information on which variables use a multiplier. The default upper and lower bounds
are multiplied as well, therefore, the user must multiply any new upper and lower bounds by the
same multiplier when entering the data on the RANGE keyword. However, the multiplier is not
applied to the missing indicator. Beginning with version 21DRF, the data are written out as
their actual values, i.e., recorded temperature in the EXTRACT or QAOUT file is the actual
temperature, not temperature multiplied by 10.

Several weather elements have been concatenated to form a single variable in the
extracted dataJile. These variables are noted in Table B-l and are related to cloud cover,
weather type and height (locate the double slash (//) in the descriptions). If the user wants to
modify the bounds and the missing value indicator through a RANGE keyword, these values
must be concatenated also.

3.3.8 NO MISSING

Every time a bound is violated or a value is missing, a message is written to the message
file (defined with the MESSAGES keyword). If one weather element that is tracked for
reporting (either by default or defined by an AUDIT keyword) is missing or is equal to the

3-17


-------
missing value on several records (e.g., station pressure in a SCRAM archive file), the message
file could become very large. To reduce the number of missing value messages and the size of
the message file, the NOMISSING keyword can be included for the QA. The syntax and type
are:



NO MISSING sjhame 1 ... sfnamen

Syntax:

Or



NO MISSING ALL

Type:

Optional (Stage 1 or Stage 1 and 2 combined), Repeatable

where sjhame 1, ..., sfname n are the internal AERMET names of the weather elements to omit
from the message file. Beginning with version 21DRF, if the user wishes to suppress messaging
for all variables, then the word ALL can follow the keyword NO MISSING. Though the
NO_MISSING keyword suppresses messages written to the message file, a count of missing
values for audited variables are still tallied and included in the summary report file.

3.3.9 ASOS1MIN

Beginning with version 11059, several modifications have been made to AERMET
related to the processing of surface observations from Automated Surface Observing Systems
(ASOS) used to collect weather measurements at airports located within the U.S. The U.S. NWS
and FAA began an effort in 1992 to replace the traditional observer-based system for collecting
and reporting weather data with an automated system. As of 2010, there were over 900 ASOS
stations located at airports across the U.S. The transition from the observer-based system to an
automated system has presented both challenges and opportunities in relation of the use of such
data to support dispersion modeling applications (EPA, 1997). This section describes several
modifications to AERMET to address some of these challenges, as well as to take advantage of
the opportunities, and the most significant changes are related to processing of ASOS wind data.

In addition to the standard archives of surface observations based on ASOS, the NCEI
began routinely archiving 1-minute ASOS wind data (TD-6405), beginning with data for
January 2000 for first-order NWS ASOS stations, and beginning with data for March 2005 for

3-18


-------
all other ASOS stations. The 1-minute ASOS wind data files include the 2-minute average wind
speed and direction reported every minute, i.e., the files consist of 60 overlapping 2-minute
averages for an hour. By contrast, the standard archives of surface observations based on ASOS
include a single 2-minute average wind speed, usually reported within 10 minutes before the
hour. The values included in the 1-minute ASOS wind data files are reported to the nearest
degree for wind direction and whole knots for wind speed. More importantly, whereas the
standard ASOS archives report any wind speed below 3 knots as 0 knots to represent a calm,
consistent with the METAR standard adopted in July 1996, the 1-minute ASOS wind data files
include values for 1 knot and 2 knots.

The use of hourly-averaged wind speed and direction provides a more appropriate input
for the AERMOD dispersion model than a single 2-minute average. Utilizing wind data for the
full hour will typically result in a more complete data set since many hours classified as calm or
variable (with a non-missing wind speed up to 6 knots, but missing wind direction) based on a
single 2-minute average will be filled in with hourly averages derived from the 1-min ASOS
wind data. Furthermore, the use of hourly averaged wind direction, derived from 2-minute
averages reported to the nearest degree, eliminates the need to randomize wind directions as
done for the standard observations which are reported to the nearest 10 degrees.

Beginning with version 11059, AERMET was updated to accept hourly averages of
wind speed and wind direction derived from 1-minute or 5-minute ASOS wind observations
available from the NCEI at https://www.ncei.noaa.gov/data/automated-surface-observing-
svstem-one-minute-pgl/access/ for 1 -minute data and at

https://www.ncei.noaa.gov/data/automated-surface-observing-system-five-minute/access/ for 5-
minute data. The hourly-averaged wind speed and wind direction files input to AERMET should
be generated using EPA's 1-minute ASOS wind data processor, AERMINUTE (EPA, 2023b).
Hourly-averaged wind speed and direction data derived from 1-minute or 5-minute ASOS wind
data files using AERMINUTE will be referenced below as "1-minute ASOS wind data."

The 1-minute ASOS wind data are read by AERMET during the Stage 2 merge
processing. AERMET is instructed to include these data in the merged output by adding the

3-19


-------
AS0S1MIN keyword followed by the filename of the 1-minute ASOS wind data file on the
SURFACE pathway in the Stage 2 control file using the following format:

Syntax:

ASOS1MIN file name

Type:

Optional (Stage 2 or Stage 1 and 2 combined), Non-repeatable
Must be input on the SURFACE pathway

When provided, 1-minute ASOS wind data can be used to substitute for missing
ONSITE wind data or replace wind data from standard NWS or FAA SURFACE data formats
when ONSITE data are not included. To substitute for missing ONSITE winds or replace
standard SURFACE winds, the secondary keyword REFLEVEL (Section 3.7.7.2) must be
specified with the SUBNWS parameter as a METHOD on the METPREP pathway in the Stage
2 control file.

When SUBNWS is specified, AERMET uses the following hierarchy, based on data
availability for each hour, to select the wind data used to calculate boundary layer scaling
parameters, and ultimately to be written to the surface file (SFC) generated during Stage 2
processing:

1.	ONSITE winds,

2.	1-min ASOS winds; then

3.	standard SURFACE winds.

Neither NWS SURFACE wind data nor 1-min ASOS wind data will be used to substitute
for missing ONSITE wind data if the 'REFLEVEL SUBNWS' option under the METHOD
keyword is omitted from the Stage 2 control file.

3.4 UPPERAIR

The UPPERAIR pathway defines all the necessary information for processing NWS
rawinsonde (sounding) data. These data provide information on the vertical structure of the
atmosphere and are used to calculate convective mixing heights in Stage 2. The height, pressure,

3-20


-------
dry bulb temperature, relative humidity (which is used to obtain dew point temperature) and
winds are reported. There are about 50 stations around the United States, and most countries in
the world have an upper air observation program. The data are generally collected twice daily, at
0000 GMT and 1200 GMT (these times are also referred to as 00Z and 12Z, respectively).

AERMET can read and process three formats, as discussed below with the DATA
keyword. However, surrogate data can be used if the user can reformat data into a format that is
ready for Stage 1 QA (i.e., skip the extraction process). AERMET has been designed to accept
24 soundings per day. However, for AERMET to correctly read the file, the format must follow
the format described in Table C-2 in Appendix C.

3.4.1 DATA

NWS rawinsonde data are stored in a variety of formats. However, AERMET is
designed to read only three of those formats, plus data in the format of the EXTRACT file for
upper air data. As with hourly surface observations, data stored in this format are referred to as
archived data. AERMET reads and interprets the sounding data and writes it to a separate file
for later processing. The DATA keyword is used to specify the file name and define the archive
file format for AERMET. The syntax and type for the DATA keyword are:

Syntax:

DATA archive filename file format

Type:

Mandatory* (Stage 1 only; Stage 1 and 2 combined), Nonrepeatable

The archive Jilename must conform to the naming conventions appropriate to the
computing platform. The maximum length of the archive file is 300 characters. The keyword is
mandatory if performing Stage 1 processing (separately or in a combined Stage 1 and 2
AERMET run) and the EXTRACT keyword (Section 3.3.2) is not used or the file associated
with the EXTRACT keyword is empty. The DATA keyword is optional if the EXTRACT
keyword is present, and the file associated with the EXTRACT keyword is not empty. In that
case, the data in the file associated with the EXTRACT keyword are the input data.

3-21


-------
AERMET can process upper air data in the TD-6201, FSL, and IGRA (new to versions
21DRF and later) formats in addition to the EXTRACT format. TD-6201 is now obsolete,
though historical data may exist in corporate and personal archives. Neither TD-6201 or FSL
format is available from the NCEI. However, historical and current upper air data in the FSL
format are available for download, free of charge, from the online NOAA/ESRL Radiosonde
Database (https://ruc.noaa.gov/raobs/). The format specifications are also available at that same
web address. IGRA data can be downloaded free of charge from the NCEI ftp server
(ftp://ftp.ncei.noaa.gov/pub/data/iera). TD-6201 data are stored either as fixed-length or variable
length records, and the file format should be specified as either 6201FB or 6201VB,
respectively, file format for upper air data in the FSL, IGRA, or EXTRACT format should be
specified as FSL, IGRA, or EXTRACT respectively.

Note that beginning with version 11059, the blocking factor and data type (ASCII or
EBCDIC) parameters have been removed from the DATA keyword specifications, and
AERMET no longer supports their use if specified by the user. A value of '1' for blocking factor
and ASCII' for data type have been coded into AERMET. AERMET will issue a warning
message if these parameters are included on the DATA keyword.

3 .4.2 EXTRACT

The EXTRACT keyword specifies the file name to which the data retrieved from the
archive file are written. The syntax and type are:

Syntax:

EXTRACT extracted data filename



Mandatory (Stage 1 only), Nonrepeatable

Type:

Or



Optional (Stage 1 and 2 combined), Nonrepeatable

The extracted data filename must conform to the naming conventions appropriate to the
computing platform. The maximum length of this file name is 300 characters. Note that when
running AERMET for Stage 1 only, the EXTRACT keyword is mandatory. However, if
performing a combined Stage 1 and 2 AERMET run, the EXTRACT keyword is optional as

3-22


-------
Stage 2 will use the internal AERMET arrays to read extracted data from Stage 1. The variables
written to the EXTRACT file are those variables only needed for Stage 2 processing: height,
pressure, winds, temperature, and dewpoint. These are the variables that are not shaded in Table
C-2 of Appendix C.

3.4.3 XDATES

The amount of data extracted from an archive file can be limited by using the XDATES
keyword to specify the beginning and ending dates of the data to be extracted. The syntax and
type are:



XDATES YB/MB/DB [TO] YE/ME/DE

Syntax:

Or



XDATES YB/MB/DB [-] YE/ME/DE



Mandatory (Stage 1 only), Nonrepeatable

Type:

Or



Optional (Stage 1 and 2 combined), Nonrepeatable

YB, MB and DB are the beginning year, month, and day, respectively, of the data to
extract and YE, ME, and DE are the ending year month and day, respectively. Beginning with
version 21DRF, the year must be entered as a four-digit integer (e.g., 1992). The month is a one-
or two-digit integer corresponding to the month of the year and the day is the one- or two-digit
day of the month. The dates can be entered in various ways. The individual components of start
date or end date can be separated by spaces or the '/' character or no separator at all. However,
the start date cannot be separated by spaces and the end date separated by '/' or vice-versa. Both
dates must use the same delimiter. The complete start date and end date can be separated by a
space, '-', or the word "TO". The case of the word "TO" can be upper, lower, or a mix of cases.
The following are valid methods to enter the dates, using January 1, 2020 and December 31,
2020 as the dates:

•	2020/01/01 2020/12/31

•	2020/01/01 TO 2020/12/31

3-23


-------
•	2020/01/01 -2020/12/31

•	2020 01 01 TO 2020 12 31

•	2020 01 01 -2020 12 31

•	2020 01 01 2020 12 31

•	20200101 20201231

The following are invalid methods to enter dates, again using January 1, 2020 and December 31,
2020 as the dates:

•	2020/01/01 2020 12 31

•	2020 01 01 2020/12/31

•	2020/01/01 -2020 12 31

•	2020 01 01 -2020/12/31

•	2020/01/01 TO 2020 12 31

•	2020 01 01 TO 2020/12/31

The XDATES keyword is mandatory if performing Stage 1 processing only. The
keyword is optional if performing combined Stage 1 and 2 processing and XDATES is present
for the METPREP pathway. If XDATES is present for the METPREP pathway, AERMET will
use the METPREP dates for extraction of upper air data if UPPERAIR EXTRACT or QAOUT
files are not requested. If UPPERAIR EXTRACT or QAOUT files are requested, then the upper
air extraction uses the dates associated with XDATES on the UPPERAIR pathway.

3.4.4 LOCATION

The LOCATION keyword identifies the meteorological station by the station's identifier,
latitude and longitude of the station, and a time adjustment factor used to adjust the data to local
standard time. The syntax and type are:

3-24


-------
Syntax:

LOCATION site id NWS lat/long NWS long/lat \tadjust\

Type:

Mandatory (Stage 1 only; Stage 1 and 2 combined), Nonrepeatable,
Reprocessed

Order:

Latitude (lat) and longitude (long) can appear in either order

The site id is a five-to-eight-character alphanumeric specifier that identifies the station
for which data are to be extracted. For the standard formats listed on the DATA keyword, these
identifiers are five-digit WBAN (Weather Bureau Army Navy) numbers. Prior to version
21DRF, the site id must be specified with leading zeros to fill a minimum of five characters
(e.g., 03928 must be entered as 03928) since the field was read as a type character and not an
integer. This is no longer required beginning with 21DRF so 3928 can be entered as 3928, not
03928. However to avoid warnings in AERMOD, all characters of the site id should be numeric
as AERMOD expects a numeric value in the AERMOD control file which should match the ID
of the UPPERAIR station identifier in the surface file generated by AERMET. A master list of
WBAN numbers for stations throughout the world can be obtained from the NCEI.

The NWS station latitude (/at) and longitude (long) can be entered in either order
because AERMET distinguishes between the two by the suffix on each: N or S with the latitude
and W or E with the longitude. For example, "38.4N 81.9W" will be interpreted the same as
"81.9W 38.4N" in AERMET. AERMET cannot use, nor does it recognize, "+" or to
discriminate between north and south, and east and west. Therefore, the latitude and longitude
should always be specified as positive numbers.

The parameter, tadjust, is an optional adjustment factor that is subtracted from the
reported hour to convert the time to local standard time. The default value is zero if omitted
from the LOCATION keyword on the SURFACE pathway. Though optional, it should be
included when the offset to local standard time is non-zero. For stations west of Greenwich,
England, i.e., the Prime Meridian (0° longitude), tadjust should be specified as a positive
number. Apart from EXTRACT, the standard NWS upperair data formats processed by
AERMET report the time as GMT. Therefore, tadjust should be non-zero for all standard NWS
formats processed by AERMET, apart from the EXTRACT format, unless the data are known to
be reported for a time zone that is not local standard. Beginning with version 23132, if the GMT

3-25


-------
to LST conversion is zero, AERMET will use the longitude on the LOCATION keyword line to
approximate the GMT to LST conversion for the sunrise/sunset times and if the approximated
conversion is greater than 1, AERMET will issue a message that the approximate conversion
will be used for sunrise and sunset times. Therefore, care should be taken when using a GMT to
LST conversion of zero as the approximated conversion may not be the actual conversion
associated with the longitude.

Note that beginning with version 11059, AERMET no longer supports the user-specified
station elevation as a parameter on the UPPERAIR LOCATION keyword. AERMET will issue
a warning message if the elevation field is included. The user-specified elevation will be
ignored, and processing will continue.

3.4.5 OAOUT

One purpose of AERMET is to contribute to the quality assurance process by identifying
data that are out of range or suspect such that the user can determine appropriate steps to accept,
modify, or reject the data. The quality assessment (QA) is performed by including the QAOUT
keyword in the control file. This keyword is also used to specify the input file to Stage 2. The
syntax and type for the QAOUT keyword are:

Syntax:

QAOUT extracted dataJilename



Optional (Stage 1 only; Stage 1 and 2 combined),

Type:

Nonrepeatable

Mandatory (Stage 2 only) if reading UPPERAIR



data, Nonrepeatable

The qa outputJilename must conform to the naming conventions appropriate to the
computing platform. The maximum length of this file name is 300 characters.

Quality assessment is an optional process, and the user does not have to perform QA
prior to using the data in PBL calculations. However, this step is recommended to identify
possible errors in the data that are used to derive the boundary layer parameters. Note that when
running AERMET for Stage 1 only or a combined Stage 1 and 2 run, the QAOUT keyword is

3-26


-------
optional. For a combined Stage 1 and 2 run, Stage 2 will use the internal AERMET arrays to
read extracted data from Stage 1. However, if running AERMET for Stage 2 only, the QAOUT
keyword is mandatory for Stage 2 to read the QA'd output from Stage 1. The QAOUT file
contains the same variables as the EXTRACT file plus any other variables that are audited. The
additional variables are wind speed shear (UASS), wind direction shear (UADS), temperature
lapse rate (UALR) and dewpoint deviation (UADD) and are shaded in Table C-2 of Appendix
C. These four additional variables are not needed for Stage 2 processing but can be audited and
used for quality assurance purposes. Therefore, they are not written to the EXTRACT file but
are written to the QAOUT file.

AERMET's QA procedures include verifying that the values of the weather elements are
not outside a range of'acceptable' values and to keep track of the number of missing values.
These checks operate on one observation period at a time, i.e., temporal variations of the data
are not checked.

Unlike the SURFACE pathway, there are no variables that are tracked (audited)
automatically on the UPPERAIR pathway. The user must specify variables to QA through the
AUDIT keyword, as discussed below. For each of the specified variables, the value of each
variable at each level is compared to a missing value indicator and if the value is not missing,
then the value is compared to an upper and lower bound that define the range of acceptable
values. Each time a value is missing or violates one of the bounds, a message is written to the
message file containing the value, the violation, the date and time of occurrence and the
sounding level. The number of times the variable is missing, exceeds the upper bound and
exceeds the lower bound is tallied and reported in the summary file (defined on the REPORT
keyword).

The number of levels in a sounding and the heights at which the data are recorded vary
from sounding to sounding. It is impractical to report on every level. AERMET divides the
atmosphere into 10 layers in which to summarize the QA information for the soundings. These
layers are based on the thickness increment defined to be 500 meters (in the variable UP INC in
module UPPERAIR). These layers are surface (the first level in the sounding), every 500 meters

3-27


-------
up to 4000 meters and everything above 4000 meters. By changing the value of UP INC (and
recompiling the software), these layers could be increased or decreased.

In the current version of AERMET there are no provisions for automatically replacing
missing values or adjusting values that are outside the range of acceptable values. It is up to the
user to review the QA summary information and, using sound meteorological principles and any
regulatory guidance, either retain or replace the value(s) in question.

There are default upper and lower bounds in AERMET, as well as a default missing value
indicator. These values can be changed by the user using the RANGE keyword, as described
below. Also, the user can QA additional weather elements by using the AUDIT keyword,
described below.

3.4.6 AUDIT

As mentioned in the previous section, there are no upper air variables that are tracked by
default during QA. The user can track some or all variables for a particular AERMET run by
specifying the element name with the AUDIT keyword. The syntax and type for this keyword
are:



AUDIT umamel ... umamen

Syntax:

or

AUDIT ALL

Type:

Optional (Stage 1 or Stage 1 and 2 combined),
Repeatable

where uaname 1, ..., uaname n are the internal AERMET names of the weather elements as
defined in Table B-2 in Appendix B. As many names can be specified on a single keyword that
will fit within the 500-character limitation of a line. Since this keyword is repeatable, more than
one AUDIT keyword can be used to define all the additional elements to track. Beginning with
version 21DRF, if the user wishes to audit all variables, the user enters the word ALL after the
keyword AUDIT. The case of the word ALL is case insensitive.

3-28


-------
3.4.7 RANGE

The user can modify the upper or lower bound limits for QA if the default values are not
appropriate for the data. The missing value indicator can be changed as well and is the most
likely reason this keyword is used. These changes are accomplished using the RANGE
keyword. The syntax and type for the RANGE keyword are:

Syntax: RANGE uaname lower bound <[=] upper bound missing indicator
Type:	Optional (Stage 1 or Stage 1 and 2 combined), Repeatable, Reprocessed

where uaname is the internal AERMET name of the weather element as defined in Table B-2 in
Appendix B, lower bound and upper bound are the new lower and upper bounds to be used in
QA, and missing indicator is a new missing value code. The special symbol "<" and the
optional "=" indicate whether to exclude (<) or include (<=) the lower and upper bound values
in QA, i.e., exclude or include the endpoints of the acceptable range of values. All parameters
must be specified for this keyword; if a parameter is not changing, the default value should be
specified.

Prior to version 21DRF, data for the UPPERAIR pathway were written as integers with
some variables having been multiplied by 10 when extracted to retain significant digits. Table
B-2 provides information on which variables use a multiplier. The default upper and lower
bounds are multiplied also; therefore, the user must multiply any new upper and lower bounds
by the same multiplier when entering the data on the RANGE keyword. However, the multiplier
is not applied to the missing indicator. Beginning with version 21DRF, the data are written out
as their actual values, i.e., recorded temperature in the EXTRACT or QAOUT file is the actual
temperature, not temperature multiplied by 10.

3.4.8 NO MISSING

Every time a bound is violated or a value is missing, a message is written to the message
file (defined with the MESSAGES keyword). If one weather element that is tracked for
reporting (either by default or defined by an AUDIT keyword) is missing several times

3-29


-------
throughout the model run (e.g., station pressure in a SCRAM archive file), the message file
could become very large. To reduce the number of missing value messages and the size of the
message file, the NOMISSING keyword can be included for the QA. The syntax and type are:



NO MISSING umamel ... umamen

Syntax:

Or



NO MISSING ALL

Type:

Optional (Stage 1 or Stage 1 and 2 combined), Repeatable

where uaname 1, ..., uaname n are the internal AERMET names of the weather elements to omit
from the message file. Beginning with version 21DRF, if the user wishes to suppress messaging
for all variables, then the word ALL can follow the keyword NO MISSING. Though the
NO_MISSING keyword suppresses messages written to the message file, a count of missing
values for audited variables are still tallied and included in the summary report file.

3.4.9 MODIFY

AERMET has been designed to check for other problems with the upper air data and
correct them if the MODIFY keyword is used. The MODIFY keyword directs AERMET to 'turn
on' the process and perform some preliminary quality control as the data are extracted. The
syntax and type of the keyword are:



MODIFY

Syntax:

MODIFY ALL
MODIFY actionl..action3

Type:

Optional (Stage 1; Stage 1 and 2 combined),
Repeatable

By specifying this keyword, the following actions occur:

- DELMAND: Some mandatory levels are deleted from the sounding;
CALMDIR: A nonzero wind direction is set to 0 if the wind speed is 0;

3-30


-------
SUBTTTD: Missing ambient and dew point temperatures are replaced by
interpolated values.

If a mandatory sounding level is within one percent of a significant level (with respect to
pressure) then the mandatory level is deleted. This modification is performed to reduce the
possibility of reporting large gradients during the quality assessment (if the user opts to QA
those gradients). There is little loss of information in the sounding since mandatory levels are
derived from significant levels. However, the deletion process takes place after the data are
extracted from the archive data and reduces the number of levels extracted. AERMET does not
attempt to read more levels after deleting a level.

The wind speed and wind direction at each level are checked to ensure that there are no
levels with a zero wind speed and a non-zero wind direction. If one is found, the wind direction
is set to zero to represent calm conditions. The winds from the soundings are not used in any
boundary layer parameter estimates.

If the dry-bulb or dew-point temperature is missing at some level, then an estimate for
the missing temperature is made by linearly interpolating to the level in question. The data from
the level immediately below and above the level in question are used. If the data that are
required for the interpolation are also missing, then no interpolation is performed.

Prior to version 21DRF, this keyword had no parameters associated with it. When the
keyword was specified, all three of the actions described above occurred. Beginning with
version 21DRF, there are several options to specifying the keyword. To invoke all three actions,
the keyword can be specified without any parameters, listing the word ALL after the MODIFY
keyword, or specifying all three actions (DELMAND, CALMDIR, and SUB TTTD). To
specify one or two actions, those actions are specified after the MODIFY keyword.

3.5 ONSITE or PROG

The ONSITE pathway provides a means of including data recorded during an
observation program, such as what might be required for dispersion modeling of a facility. Such
a program may utilize an instrumented tower (with data from several levels), a remote sensing

3-31


-------
device (such as lidar), and instrumentation at or near ground level (such as measuring fluxes).
Much of this type of data can be used in AERMET to provide better estimates of the boundary
layer parameters than using NWS data alone. As previously noted, the ONSITE pathway is also
used to process prognostic data processed via MMIF output in AERMET. Beginning with
version 21DRF, a new data path, PROG was added to AERMET. The PROG pathway is used
when processing prognostic meteorological data. Prior to version 21DRF, prognostic data was
processed in AERMET via the ONSITE pathway. To facilitate the use of prognostic
meteorological data over water and to let AERMOD know prognostic data are being used, the
PROG pathway has been added to AERMET. The two pathways, ONSITE and PROG use the
same keywords, so instructions and descriptions are generally applicable to both pathways.
Throughout the remainder of this section, when referring to the ONSITE pathway, it is
understood it applies to the PROG pathway as well. Note that if AERMET encounters both the
SURFACE and PROG pathways in a control file, AERMET will issue an error and abort
processing. The SURFACE pathway can only be used in conjunction with the ONSITE
pathway. The UPPERAIR pathway can be used with either the ONSITE or PROG pathway.

There are several keywords that are nearly identical to those found on the SURFACE
and UPPERAIR pathways, and there are several keywords that are unique for this type of data.
The only additional statements that must be included for site-specific data are those required to
describe the structure of the data and a minimum detectable wind speed. All other statements are
optional and could be omitted.

3.5.1 DATA

The file containing the site-specific data is specified on the DATA keyword. Unlike the
SURFACE and UPPERAIR pathways, there is no standard format or content for site-specific
data. Thus, only the file name is specified on this keyword. The syntax and type for the DATA
keyword are:

Syntax:

DATA datafilename [land water flag]

Type:

Mandatory (Stage 1; Stage 1 and 2 Combined), Nonrepeatable

3-32


-------
The data filename must conform to the naming conventions appropriate to the
computing platform. The maximum length of this file name is 300 characters.

Beginning with version 21DRF, there is an optional land/water flag that can be used in
conjunction with the DATA keyword. This flag denotes if the data are land based (OL) or water
based (OW). If there is no flag present with the DATA keyword, the data are considered land
based. Prior to AERMET version 23132, if the 'OW' flag is indicated and the pathway is
ONSITE, then AERMET would issue an error and abort. However, beginning with version
23132, and the addition of the COARE algorithms (Section 3.7.7.6) in METPREP, the flag can
be 'OW' for both ONSITE and PROG. The flag can be 'OL' with ONSITE or PROG.

The purpose of the overland or overwater flag is for boundary layer calculations in Stage
2. For prognostic data, certain input variables such as Monin-Obukhov length, w*, potential
temperature lapse rate, hourly surface characteristics (zo, albedo, and Bowen ratio), sensible heat
flux, u*, and cloud cover are only used if the data are over water. If the data are over land and
these variables are present in the prognostic input data, then they are ignored in Stage 2 and they
are calculated as if they were not present in the input data. AERMET will issue a message in
Stage 1 that the variables will be read but not used and Stage 2 will also do the same if Stage 2
is run separately from Stage 1. See Table B-3 and Table B-4 in Appendix B for a list of
variables that are used over water. Beginning with version 22112, surface friction velocity, u*,
and sky cover are not used when the data are input with the PROG pathway and the data are
overland. However, they can be used for an overland location if the ONSITE pathway is used or
if the PROG pathway is used and the data are overwater and COARE algorithms are not
invoked. For observed data over water, the overwater flag is coupled with the use of the
COARE algorithms for boundary layer calculations.

This new feature of AERMET is used in conjunction with the Mesoscale Model
Interface, or MMTF (Ramboll, 2023) version 4.0 or later. Previous versions of MMIF will not
output the variables that are used for overwater. Guidance on applications involving the
overland or overwater flag can be found in the MMIF guidance document (EPA, 2023a)

3-33


-------
3 .5.2 EXTRACT

Unlike SURFACE and UPPERAIR data, site-specific data are not stored (i.e., archived)
in any particular format. Therefore, the data are not "extracted" from an archive file, and there is
no need for the EXTRACT keyword. The processing can begin with quality assessment, which
reads the input file from the DATA keyword.

3 .5.3 READ and FORMAT

One of the more difficult challenges for many users attempting to run the AERMET
meteorological processor is to specify the inputs necessary to read and process site-specific, or
ONSITE, meteorological data. Since the AERMOD dispersion model was designed to utilize a
wide range of site-specific meteorological variables, including wind, temperature, and
turbulence data from a multi-level tower and/or SODAR, it is not practical to specify a standard
format for site-specific data for input into AERMET. Also, since AERMET was written using
the Fortran programming language, part of the challenge may be for users to understand some of
the basic rules and concepts for reading data based on the Fortran language. This section
describes the process for defining ONSITE meteorological inputs for AERMET, including
enhancements introduced with version 11059 of AERMET that may simplify this process, and
provide better error handling and reporting if problems are encountered.

The key to reading site-specific meteorological data correctly in AERMET is to define
what data variables are present and specify the format for reading the data. This task is
accomplished with two related keywords on the ONSITE pathway: 1) the READ keyword,
which defines the list and order of variables present in a data record; and 2) the FORMAT
keyword, which defines the format of the data in each record. As noted above, these two
statements together operate much like reading or writing data in a Fortran program. The syntax
and type of these two keywords are as follows:

3-34


-------
Syntax:

READ record index osname 1 osname2 ... osnamen

Type:

Mandatory (Stage 1 or combined Stage 1 and 2 ONSITE
pathway), Repeatable, Reprocessed

Syntax:

FORMAT record index Fortran Jormat

Type:

Mandatory (Stage 1 or combined Stage 1 and 2 ONSITE
pathway), Repeatable, Reprocessed

Each READ keyword is paired with a corresponding FORMAT keyword through the
record index field. This index refers to one "record" of data for an observation period, although
the READ can span multiple records within the data file. The indices are numbered sequentially
beginning with 1. There can be up to 50 variables on any one data record and up to 50 "records"
(or READs) per observation period. There is no fixed limit on the record length for each
physical record within the data file. However, some of the error handling and reporting
performed by AERMET for ONSITE data is limited to the first 500 characters of a given data
record.

The osname 1, osname2, ... osnamen fields on the READ keyword are the variable
names for the variables included in the ONSITE data file for a particular data record, in the
order in which they are to be read. The variable names available for ONSITE data are described
in Table B-3 for "scalar" (single-level) variables and Table B-4 for "vector" (multi-level)
variables. The Fortranformat field on the FORMAT keyword is normally the Fortran format
statement that will be used to read the data from the corresponding READ keyword. However,
beginning with version 11059, users can specify 'FREE' (without quotes and not case-sensitive)
for the Fortran Jormat to indicate that the variables for a particular data record should be read
as free-formatted data, in accordance with Fortran language standards. Free-formatted, also
called list-directed data, are read as a list of values which are separated by at least one blank
space or by a comma. The user has the option to specify FREE format for some data records,
while specifying the Fortranformat explicitly for other data records. The FREE format option
may simplify the process of specifying READ and FORMAT inputs for some users, but still
requires an understanding of some basic rules to ensure that the data are read properly into
AERMET.

3-35


-------
The structure and format of the site-specific data are reasonably flexible, but subject to
the following restrictions:

(1)	The data for one observation period can be spread across several records (up to
50), but the records for one data period must be contiguous.

(2)	The same variables must appear for all observation periods, even if the values for
those variables are missing (i.e., filled with a missing value indicator) for certain
hours.

(3)	The ONSITE data file must be an ASCII text file and it must be in a form that
can be read using Fortran FORMAT statements or as FREE format.

(4)	The date and time information for each observation must be on the first record of
the observation period; these may occur in any order within the first record and
are read as INTEGER format (Fortran "I" format or FREE format). The date and
time information can be listed on subsequent records for the period indicated on
the first line of the observation as well.

(5)	The (non-date) data variables on the READ keywords must be a subset of those
listed in Table B-3 and Table B-4 in Appendix B, and are read as REAL format
(Fortran "F" or "E" format or as FREE format).

(6)	Using an "F" or "E" (REAL) Fortran format specifier to read a date/time variable
will cause an AERMET runtime error; and using an "I" (INTEGER) format
specifier to read a data variable will also cause an AERMET runtime error.

When specifying the multi-level variables, such as wind or temperature observations
from an instrumented tower, the variable name is composed of a two-character prefix that
identifies the atmospheric quantity and a two-character (numeric) suffix that identifies the level.
For example, height, temperature, and wind speed from the first level will appear as HT01,
TT01 and WS01 on the READ keyword, as HT02, TT02 and WS02 for the second level, and so
on. The same variables do not have to appear for each level of data. For example, winds may

3-36


-------
appear at three levels but temperature only at two levels. However, multi-level data must be
entered in ascending height order if each input record is a different height. The different
methods available to specify the measurement heights for ONSITE data processed through
AERMET are discussed in Section 3.5.10.

Unless FREE format is specified for a particular READ, the Fortranformat on the
corresponding FORMAT keyword is a character string that AERMET uses directly within the
program to read the data. Hence, the string must comply with all Fortran rules for creating a
format statement. The format must begin with an open parenthesis and end with a closing
parenthesis. Any Fortran programming language reference can provide guidance on constructing
a format statement, but here are some important points to remember:

•	The Fortran "I" format specifier for integer constants consists of "I" followed by
the width of the data field, such that a format of "14" will read a 4-character data
string as an integer number.

•	A read error will be generated if a non-numeric character (other than a leading "+"
or including a decimal occurs within the date field being read with an "I"
format.

•	The Fortran "F" format specifier for real constants consists of "F" followed by the
width of the field and number of places after the decimal point (Fw.d), such that a
format of "F5.2" will read a 5-character data string, including the decimal, as a real
number, with 2 places after the decimal point.

•	Data being read as real constants using the "F" format specifier are not required to
include decimal places within the data string; however, users must be aware of the
rules for assigning values using the "F" format specifier in such cases:

o If the data string includes a decimal place, then the value assigned to the REAL
variable will reflect the number of decimal places specified, e.g., reading the
string "10.23" as F5.2, F5.1, or F5.0 will all assign the value 10.23 to the
variable.

o However, if the data string does not include a decimal point the number of
decimal places assigned will be based on the "F" format specifier, such that
reading the string "61023" (where "b" represents a blank) asF5.2, F5.1, orF5.0
will assign the values 10.23, 102.3, and 1023. to the variable, respectively.

3-37


-------
•	Data being read as REAL constants using the "FREE" format option will reflect the
values as specified in the data file, such that a string of "10.23" will be assigned a
value of 10.23, whereas a string of "1023" will be assigned a value of 1023.

•	Reading date variables as INTEGER constants using the "FREE" format option will
not result in a read error if a decimal (".") occurs within the data field being read, but
any data after the decimal point will be ignored, such that a data field of "4.8" will be
read as an INTEGER value of 4. However, any other non-numeric character in the
data field (other than a leading "+" or will result in a Fortran read error.

Reading the correct number of decimal places is important to accurately reflect the
ONSITE data. Not reading the data format correctly could lead to significant problems. This
situation may arise if the ONSITE data file was generated by a spreadsheet program (i.e.,
Microsoft Excel). In such cases, the data values for a particular parameter may have a varying
number of decimal places, including values with no decimal places for some records, since the
spreadsheet program may output a fixed number of significant digits rather than a fixed number
of digits after the decimal. While this issue could occur with any ONSITE data variables, it may
be more likely for parameters that vary over a large range, such as solar radiation data. Given
the potential problems that could arise if the data values being read by AERMET do not match
the values intended, users are strongly encouraged to review the QAOUT file for the ONSITE
data to ensure that the data have been read properly by AERMET. The QA audit statistics on
values exceeding the upper and lower bounds for a given parameter may also highlight potential
problems with the data. For cases when the "raw" ONSITE data include a variable number of
decimal places, using the "FREE" format option or using "Fw.O" as the Fortran format specifier
may avoid the issue described above.

Another issue that may arise while processing ONSITE data is that the missing data code
used within the data file may not match the default missing code used by AERMET (shown in
Table B-3 and Table B-4 in Appendix B). AERMET will process these "missing" values as
valid data in such cases, which may produce errors or anomalous results. The user can specify
missing value indicators that differ from the default using the RANGE keyword on the ONSITE
pathway. The QA audit statistics on values exceeding the upper and lower bounds may also
highlight if such a problem exists. In addition, AERMET will issue warning messages, which
are included in the REPORT files, for cases when the upper and lower bounds are exceeded by

3-38


-------
an amount larger than one half the range defined by UPPER-LOWER, which may flag this issue
in some cases.

It may be the case that not all variables present in the site-specific data file need to be
read. Any superfluous data can easily be skipped using the "X", "T", and "/" specifiers in the
Fortran FORMAT statement. However, the "FREE" format option does not allow for skipping
values within the data record and assigns values to the variables based on the order of variables
within the data file.

3.5.4 XDATES

The amount of data extracted from a file can be limited by using the XDATES keyword
to specify the beginning and ending dates of the data to be extracted. The syntax and type are:

Syntax:

XDATES YB/MB/DB [TO] YE/ME/DE
Or

XDATES YB/MB/DB [-] YE/ME/DE



Mandatory (Stage 1 only), Nonrepeatable

Type:

Or



Optional (Stage 1 and 2 combined), Nonrepeatable

YB, MB and DB are the beginning year, month, and day, respectively, of the data to
extract and YE, ME, and DE are the ending year month and day, respectively. Beginning with
version 21DRF, the year must be entered as a four-digit integer (e.g., 1992). The month is a one-
or two-digit integer corresponding to the month of the year and the day is the one- or two-digit
day of the month. The individual components of the start date or end date can be separated by
spaces or the character or no separator at all. However, the start date cannot be separated by
spaces and the end date separated by or vice-versa. Both dates must use the same delimiter.
The complete start date and end date can be separated by a space, '-', or the word "TO". The
case of the word "TO" can be upper, lower, or a mix of cases. The following are valid methods
to enter the dates, using January 1, 2020 and December 31, 2020 as the dates:

3-39


-------
•	2020/01/01 2020/12/31

•	2020/01/01 TO 2020/12/31

•	2020/01/01 -2020/12/31

•	2020 01 01 TO 2020 12 31

•	2020 01 01 -2020 12 31

•	2020 01 01 2020 12 31

•	20200101 20201231

The following are invalid methods to enter dates, again using January 1, 2020 and December 31,
2020 as the dates:

•	2020/01/01 2020 12 31

•	2020 01 01 2020/12/31

•	2020/01/01 -2020 12 31

•	2020 01 01 -2020/12/31

•	2020/01/01 TO 2020 12 31

•	2020 01 01 TO 2020/12/31

The XDATES keyword is mandatory if performing Stage 1 processing only. The
keyword is optional if performing combined Stage 1 and 2 processing and XDATES is present
in the METPREP pathway. If XDATES is present for the METPREP pathway, AERMET will
use the METPREP dates for extraction of site-specific or prognostic data if the ONSITE or
PROG QAOUT files are not requested. If ONSITE or PROG QAOUT files are requested, then
the site-specific or prognostic extraction uses the dates associated with XDATES in the
ONSITE or PROG pathway.

3-40


-------
3.5.5 LOCATION

The LOCATION keyword identifies the meteorological station by the station's identifier,
its latitude and longitude, and a time adjustment factor used to adjust the data to local standard
time. The syntax and type are:

Syntax:

LOCATION site id NWS lat/long NWS long/lat \tadjust\ [elevation\

Type:

Mandatory (Stage 1), Nonrepeatable, Reprocessed

Order:

Latitude (lat) and longitude (long) can appear in either order

The site id is a five to eight-character alphanumeric specifier that identifies the station
for which data are to be extracted. Since data are not extracted from archived data, this identifier
is used only to identify the site in the output files (reports from Stage 2). Prior to version
21DRF, the site id must be specified with leading zeros to fill a minimum of five characters
(e.g., 03928 must be entered as 03928) since the field was read as a type character and not as an
integer. This is no longer the case beginning with 21DRF so 3928 can be entered as 3928,
instead of 03928. However, to avoid warnings in AERMOD, all characters of the site id should
be numeric as AERMOD expects a numeric value in the AERMOD control file which should
match the ID of the ONSITE station identifier in the surface file generated by AERMET.

The measurement site or prognostic grid cell's latitude (lat) and longitude (long) can be
entered in either order because AERMET distinguishes between the two by the suffix on each:
N or S with the latitude and W or E with the longitude. For example, "38.4N 81.9W" will be
interpreted the same as "81.9W 38.4N". AERMET cannot use, nor does it recognize, "+" or
to discriminate between north and south and east and west. Therefore, the latitude and longitude
should always be specified as positive numbers.

The parameter, tadjust, is an optional adjustment factor that is subtracted from the
reported hour to convert the time to local standard time. The default value is zero if omitted
from the LOCATION keyword on the ONSITE or PROG pathway. Though optional, it should
be included when the offset to local standard time is non-zero or when the last parameter,

3-41


-------
elevation, is specified, which is also optional. If elevation is entered and the data is already in
local standard time, a zero should be entered for tadjust. For stations west of Greenwich,
England, i.e., the Prime Meridian (0° longitude), tadjust should be specified as a positive
number when the data is in GMT. The adjustment factor is subtracted from the reported hour.
Since there is no standard format for site-specific data, the time reported could be relative to any
time frame. For example, users should verify if the data are reported in local Daylight Savings
Time. If this is the case, then tadjust should be specified as 1 to return the data to local standard
time, assuming that Daylight Savings Time was used throughout the entire data period. If the
data period covers times when Daylight Savings Time is not used, then all hours should be set to
Local Standard Time prior to AERMET processing.

The final parameter, elevation, refers to the station elevation above mean sea-level
(MSL), in meters, and is optional with a default value of zero meters. Station elevation should
be included, however, when the actual station elevation is non-zero since it will be used in the
substitution hierarchy for missing station pressure data (see Section 5.5).

3.5.6 OAOUT

As with the UPPERAIR and SURFACE pathways, AERMET can assess the quality of
the site-specific data by including the QAOUT keyword in the control file. This keyword is also
used to specify the input file name to Stage 2. The syntax and type for the QAOUT keyword
are:

Syntax:

QAOUT extracted dataJilename



Optional (Stage 1 only; Stage 1 and 2 combined),

Type:

Nonrepeatable

Mandatory (Stage 2 only) if reading ONSITE or



PROG data, Nonrepeatable

The qa output Jilename must conform to the naming conventions appropriate to the
computing platform. The maximum length of this file name is 300 characters. Note that when
running AERMET for Stage 1 only or a combined Stage 1 and 2 run, the QAOUT keyword is

3-42


-------
optional. For a combined Stage 1 and 2 run, Stage 2 will use the internal AERMET arrays to
read extracted data from Stage 1. However, if running AERMET for Stage 2 only, the QAOUT
keyword is mandatory for Stage 2 to read the QA'd output. Unlike the SURFACE and
UPPERAIR QAOUT files which contain variables needed for Stage 2, plus additional variables
for quality assurance, all input variables for ONSITE or PROG data are output to the QAOUT
file.

Quality assessment is an optional process, and the user does not have to perform a QA
prior to merging the site-specific data. However, this step is recommended to identify any
possible problems with the data that are used to derive the boundary layer parameters.

Presently, AERMET's capabilities in this area are limited to verifying the values of the
site-specific data are not outside a range of acceptable values and keeping track of the number of
missing values. These checks operate one observation period at a time, i.e., variations over a
period are not checked.

Site-specific data may be reported more frequently than once per hour (see the
OBS/HOUR keyword discussed below in Section 3.5.13). For observations more frequent than
once per hour, the QA procedures operate on the sub hourly data and the hourly averaged data.

When quality assessment is performed on the site-specific data, several of the variables
are automatically tracked (audited) and included in a summary of the QA process. These
variables are temperature, wind speed and wind direction. The value of each variable at each
level is compared to a missing value indicator and if the value is not missing, then the value is
compared to an upper and lower bound that define the range of acceptable values. Each time a
value is missing or violates one of the bounds, a message is written to the message file defined
on the MESSAGES keyword, which identifies the variable, the violation, and date and time of
violation. The number of times the variable is missing, exceeds the upper bound or lower bound
is tallied and reported in the summary file defined by the REPORT keyword.

There are no provisions for automatically replacing missing site-specific values in
AERMET or adjusting values that are outside the range of acceptable values. Thus, it is up to

3-43


-------
the user to review the QA summary information and, using sound meteorological principles and
any regulatory guidance, either replace, modify, or keep the value in question.

There are default upper and lower bounds in AERMET, as well as a default missing
value indicator for each variable. These values can be changed by the user using the RANGE
keyword, as described below (Section 3.5.8). The user can QA additional variables by using the
AUDIT keyword.

3 .5.7 AUDIT

As mentioned in the previous section, there are only three weather elements that are
tracked by default during QA. The user can track additional weather elements for a particular
AERMET run by specifying the element name with the AUDIT keyword. The syntax and type
for this keyword are:



AUDIT osnamel ... osnamen

Syntax:

or

AUDIT ALL

Type:

Optional (Stage 1 or Stage 1 and 2 combined),
Repeatable

where osname 1, ..., osname n are the internal AERMET names of the weather elements as
defined in Table B-3 and Table B-4 in Appendix B. For the multi-level variables (e.g.,
temperature) only the two leading alphabetic characters can be specified (e.g., TT) or with a
level such as TT01, TT02, etc., otherwise AERMET will terminate with an error, i.e., TTNN
will result in an error. Every level where the variable appears will be QA'd. As many names can
be specified on a single keyword that will fit within the 500-character limitation of a line. Since
this keyword is repeatable, more than one AUDIT keyword can be used to define all the
additional elements to track. Beginning with version 21DRF, if the user wishes to audit all
variables, the user enters the word ALL after the keyword AUDIT. The case of the word ALL is
case insensitive.

3-44


-------
While the AUDIT keyword can add weather elements to the QA, there is no method to
remove any of the default weather elements from the QA. They are always reported.

3.5.8 RANGE

The user can modify the upper or lower bound limits for the QA if the values are not
appropriate for the data. The missing value indicator can be changed as well and is the most
likely reason this keyword is used. These changes are accomplished by using the RANGE
keyword. The syntax and type for the RANGE keyword are:

Syntax: RANGE osname lower bound <[=] upper bound missing indicator

T _	Optional (Stage 1 or Stage 1 and 2 combined), Repeatable,

Reprocessed

where osname is the internal AERMET name of the weather element as defined in Table B-3
and Table B-4 in Appendix B, lower bound and upper bound are the new lower and upper
bounds to be used in the QA, and missing indicator is a new missing value code. The special
symbol "<" and the optional "=" indicate whether to exclude (<) or include (<=) the lower and
upper bound values in the QA, i.e., exclude or include the endpoints of the acceptable range of
values. All parameters must be specified for this keyword; if a parameter is not changing, the
default value should be specified. For the multi-level variables (e.g., wind speed and
temperature), only the first two characters should be specified (e.g., WS and TT).

The default upper and lower bounds are multiplied by the multipliers in the units
columns ofTable B-3 and Table B-4 in Appendix B, therefore, the user must multiply any new
upper and lower bounds by the same multiplier when entering the data on the RANGE keyword.
For example, for precipitation PRCP, if the new upper bound is 120 mm, then the new upper
bound entered with the RANGE keyword is 12000. However, the multiplier is not applied to
the missing indicator.

3-45


-------
3.5.9 NO MISSING

Every time a bound is violated or a value is missing, a message is written to the message
file (defined with the MESSAGES keyword). If one weather element that is tracked for
reporting (either by default or defined on an AUDIT keyword) is missing several times
throughout the model run (e.g., station pressure in a SCRAM archive file), the message file
could become very large. To reduce the number of missing value messages and the size of the
message file, the NOMISSING keyword can be included for the QA. The syntax and type are:



NO MISSING osname 1 ... osnamen

Syntax:

Or



NO MISSING ALL

Type:

Optional (Stage 1 or Stage 1 and 2 combined), Repeatable

where osname 1, ..., osname n are the internal AERMET names of the weather elements to omit
from the message file. Beginning with version 21DRF, if the user wishes to suppress messaging
for all variables, then the word ALL can follow the keyword NO MISSING. Though the
NO_MISSING keyword suppresses messages written to the message file, a count of missing
values for audited variables are still tallied and included in the summary report file.

3.5.10 OSHEIGHTS

AERMET provides two options to specify the measurement heights for multi-level
profile data input through the ONSITE pathway. One option is to explicitly specify the
measurement heights within the input data file, using the 'HTnn' variable on the READ
keyword, where 'HT' refers to the height variable and 'nn' refers to the level at which the
observation was taken, beginning with '01' for the first (lowest) level, '02 for the next lowest
level, up to the highest level (see Table B-4). With this option the 'HTnn' variables will need to
be included for each observation period within the data file. While AERMET allows the
measurement heights to vary from one observation to the next with the 'HTnn' option (which is
normally not the case), the number of levels must be the same for each data period, and the
heights must be defined in increasing order from the lowest height (HT01) to the highest height.

3-46


-------
Under this option, if measurement heights are found to decrease with height or be duplicated, all
multi-level data for that observation period will be set as missing.

The OSHEIGHTS keyword on the ONSITE pathway provides an alternative approach
for specifying measurement heights for multi-level profile data. The syntax and type for the
OSHEIGHTS keyword are as follows:

Syntax: OSHEIGHTS height 1 height2 ... heightn

	1	

T _ Optional if height information is provided in the data; otherwise,

mandatory (Stage 1 or Stage 1 and 2 combined), Repeatable, Reprocessed

The height 1, height2, ... heightn variables are the measurement heights in meters,
ordered from lowest to highest. If the OSHEIGHTS keyword is specified and the 'HTnn'
variables are also defined on the READ keywords, AERMET will use the heights based on the
OSHEIGHTS keyword to override the height variables that may be present in the data file. For
example, if the heights in the data file are 10.0, 50.0, and 100.0 meters, but the user knows that
the heights are really 9.0, 50.0 and 100.0 meters, rather than modify the data file, the
OSHEIGHTS keyword can be used to resolve the inconsistency so the data will process
correctly.

3.5.11 DELTA TEMP

In addition to measuring ambient temperature directly, a site-specific data program may
measure differences in temperature. These measurements can be between the levels where the
ambient temperature is measured or independent of these levels. Temperature difference near
the surface can be used to infer sensible heat flux. Measured temperature differences are not the
same as the ambient temperature difference between two levels. A true temperature difference
utilizes an instrument, such as a thermocouple, that couples two levels of data, whereas ambient
temperature at two levels most likely is measured by two independent instruments.

3-47


-------
The ONSITE data pathway has provisions for up to three temperature differences, which
are defined through the three variables: DT01, DT02 and DT03 (see Table B-4). The heights
that define the temperature difference cannot be entered directly through the READ and
FORMAT keywords. The special keyword DELTA TEMP defines the two levels that comprise
the temperature difference. The syntax and type are:

Syntax:

DELTA TEMP index lower height upper height

Type:

Optional (Stage 1 or Stage 1 and 2 Combined), Repeatable,
Reprocessed

Each statement includes an index that corresponds to the temperature difference
represented by the lower heights and upper heights. The index can range from one to three. At
present, only DT01 is utilized in Stage 2.

3.5.12 THRESHOLD

The threshold wind speed, the minimum wind speed required to detect air flow, varies
from anemometer to anemometer. The user must specify the minimum detectable (threshold)
wind speed of the site-specific anemometer. There is no default value. The THRESHOLD
keyword is used for this purpose. The syntax and type for this keyword are:

Syntax:

THRESHOLD threshold wind speed

Type:

Mandatory (Stage 1 or Stage 1 and 2 combined),
Nonrepeatable, Reprocessed

—> The THRESHOLD keyword must be included when site-specific data are
processed.

The threshold can be no greater than 1.0 m/s. A value greater than 1.0 generates an error
condition and AERMET does not process any data. For threshold values above 0.5 m/s,
AERMET writes a warning message. For applications involving prognostic data, the

3-48


-------
recommended threshold is 0 m/s (EPA, 2023a) and AERMET will issue a warning if the
threshold is not equal to the recommended value.

AERMET also imposes a minimum allowable wind speed for estimating the boundary
layer parameters. This minimum is independent of the threshold wind speed and is defined as

21/2 * Ovmin, where ovmin= 0.2 m/s.

3 .5 .13 OBS/HOUR

Site-specific data may be reported more frequently than once per hour. If the data
include more than one equally spaced observation period each hour, the keyword OBS/HOUR is
used to specify the number of observations that AERMET should expect each hour. AERMET
currently allows up to 12 observation periods per hour (i.e., every 5 minutes) and will calculate
the average over all periods within the hour to produce an hourly average. At least half the
observations for a variable must not be missing for AERMET to compute the average, otherwise
the value for the hour is set to missing. A discussion on how the average is computed for each
variable is in Section 5.4. If there is one observation period per hour, this keyword is optional.
The syntax and type for this keyword are:

Syntax:

OBS/HOUR n obs [average method]

Type:

Mandatory for data with more than 1 observation per hour (Stage 1 or
Stage 1 and 2 combined), Nonrepeatable

All variables specified on the READ keywords must be reported at the same number of
observations per hour, e.g., one variable cannot be reported once per hour and the remaining
variables reported four times per hour.

Each hour of data must contain the same number of observation periods per hour. For
example, if the user specifies 4 OBS/HOUR, but there are only two observation periods for one
hour in the middle of the file, AERMET will not detect this condition and will not correctly
compute the hourly averages for all subsequent hours.

3-49


-------
Beginning with version 21DRF, there is an optional parameter that can be specified for
wind speed and wind direction averaging, scalar averaging or vector averaging. The default
when no averaging method is specified is scalar averaging. Another way to specify scalar
averaging, is for the user to enter SCALAR after the number of observations per hour. To
specify vector averaging, the user can enter VECTOR after the number of observations per
hour. The vector averaging approach is based on that discussed in Section 6.2.2 in EPA (2000).
If vector averaging is used, the VECTORWS modeling option should be used in AERMOD.

3.6	MERGE

Prior to version 21DRF, the MERGE pathway merged the upper air, surface, and any
site- specific data prior to the final METPREP stage. Beginning with version 21DRF, this
pathway is now obsolete. While executing, if AERMET encounters the MERGE pathway and
associated keywords, AERMET will alert the user and ignore them. The warning messages are
meant to allow easier transition for AERMET inputs that were formatted for AERMET versions
prior to 21DRF.

3.7	METPREP

This pathway is where the boundary layer parameters, used by the AERMOD dispersion
model, are estimated. This pathway is also referred to as Stage 2. This is the second and final
step following the previous data extraction pathways. Several of the keywords described
previously are also used on this pathway in a nearly identical manner. Prior to version 21DRF,
this was called Stage 3.

3.7.1 DATA

Prior to version 21DRF, this keyword was a reference to the output of the MERGE
pathway. This keyword is now obsolete, and AERMET will ignore the keyword and associated
datafile if present in the AERMET control file.

3-50


-------
3 .7.2 MODEL

Although AERMET currently only estimates parameters for the AERMOD dispersion
model, it is designed with the capability to estimate parameters for other dispersion models. The
MODEL keyword informs AERMET for which model to process the data. The syntax and type
are:

Syntax:

MODEL model name

Type:

Optional (Stage 2 or Stage 1 and 2 combined),
Nonrepeatable

where model name identifies the dispersion model. The AERMOD model is the default model,
making this keyword optional.

3.7.3 THRESH 1MIN

In 2003, the NWS began replacing the traditional cup and vane wind instruments at
ASOS stations with more sensitive sonic anemometers (NOAA, 2003). Unlike the standard cup
anemometer, which has a nominal starting threshold of about 2 knots, sonic anemometers have
virtually no starting threshold. As a result, the hourly-averaged winds processed through
AERMINUTE based on sonic data will not include any calm hours (defined as wind speeds
below the starting threshold of the anemometer).

The THRESH IMIN keyword specifies a threshold wind speed for the 1-minute ASOS
data. This threshold value only applies to the hourly averaged winds derived from the 1-minute
ASOS data and does not apply to the standard hourly NWS weather observations. Since the
minimum acceptable wind speed threshold for site-specific meteorological monitoring is 0.5 m/s
under current EPA guidance (EPA, 2000), users may specify the same threshold wind speed for
winds derived from 1-minute ASOS data to avoid imposing a more stringent requirement on
data derived from 1-minute ASOS data than would be required for a site-specific monitoring
program.

3-51


-------
The THRESH1MIN keyword uses the following syntax:

Syntax:

THRESH1MIN

threshold speed

Type:

1

Optional (Stage 2

or Stage 1 and 2 combined), Non-repeatable

where threshold speed is the threshold wind speed in m/s. If the user specifies a threshold speed
greater than 0.5 m/s, a warning is issued by AERMET. If a threshold wind speed greater than
1.0 m/s is specified, AERMET considers this a fatal error, will issue an error message, and will
not process data through Stage 2. The Stage 2 report file documents whether the
THRESH1MIN option has been used.

3.7.4 LOCATION

Past versions of AERMET required the LOCATION keyword under the METPREP
pathway in Stage 3. The METPREP LOCATION keyword had been used as the location for
determining the time of sunrise which is needed for convective mixing height calculations.
Beginning with version 11059, AERMET was modified to use the location of the primary
surface station (i.e., the ONSITE station or the NWS surface station) specified in Stage 1 to
determine the time of sunrise for mixing height calculations. The METPREP LOCATION
keyword is now only needed when site-specific mixing heights are provided during Stage 1 and
upper air sounding data are omitted from the processing. Otherwise, a warning message will be
generated if the LOCATION keyword is included under the METPREP pathway, and the
LOCATION parameters will be ignored. For applications with only site-specific mixing heights,
without upper air data, the METPREP LOCATION keyword is needed for the conversion from
GMT (Greenwich Mean Time) to LST (Local Standard Time), since the time zone specified on
the ONSITE pathway is likely referenced to local time. Beginning with version 23132, if the
GMT to LST conversion is zero, AERMET will use the longitude from the LOCATION
keyword to approximate the GMT to LST conversion for the sunrise/sunset times. If the
approximated conversion is greater than 1, AERMET will issue a message that the approximate
conversion will be used for sunrise and sunset times. Therefore, care should be taken when

3-52


-------
using a GMT to LST conversion of zero as the approximated conversion may not be the actual
conversion at that location.

For applications of AERMET when the METPREP LOCATION keyword is needed, it is
identical in all respects to its usage on other pathways: the site identifier, latitude and longitude,
and a time adjustment factor. The syntax and type are:

Syntax:

LOCATION site id source lat/long source long/lat \tadjust\

Type:

Conditional (Stage 2 or combined Stage 1 and 2), Nonrepeatable

Order:

Latitude (lat) and longitude (long) can appear in either order

The site id is an eight-character alphanumeric specifier that identifies the site. This field
is simply a means to identify the site and is not used otherwise.

The latitude (Iat) and longitude (long) on the METPREP pathway should reflect the
location of the source, i.e., the location where the dispersion model is to be applied. Latitude and
longitude can be entered in either order since AERMET distinguishes between the two by the
suffix on each: N or S with the latitude and W or E with the longitude. For example, "38.4N
81.9W" will be interpreted the same as "81.9W 38.4N". AERMET cannot use, nor does it
recognize, "+" or to discriminate between north and south and east and west.

The final parameter for this keyword, tadjust, is required and is an adjustment factor to
convert GMT to LST. The value of this parameter should be entered as a positive number for
sites west of the Greenwich England, i.e., the Prime Meridian (0° longitude), such as in the U.S.

3.7.5 NWS HGT

Several parameters computed for the dispersion model require the instrument height at
which the measurement was taken. With site-specific meteorological data, the heights of the
measurements are generally available and entered through the READ or OSHEIGHTS
keywords on the ONSITE pathway in the Stage 1 control file. If there are no site-specific data
input to AERMET, or for isolated hours when there are no site-specific data, then NWS data

3-53


-------
may be substituted for the computations. However, instrument height is not one of the reported
NWS parameters. The NWS HGT keyword is used to provide this information. The syntax and
type are:

Syntax:

NWS HGT variable name instrument height

Type:

Mandatory, Repeatable

The variable name specifies which meteorological instrument is being referenced and is
followed by the instrument height in meters. Currently, there is only one variable name: WIND.
Prior to the conversion to ASOS, the height of the wind instrument (anemometer) was about 6.7
meters or 9.1 meters. The height of wind instrumentation at ASOS sites is typically 10.1 meters
or 7.9 meters. Annual local climatological data are available from the NCEI and contain a
historical record of instrumentation sites and heights for the stations. The user should consult a
reference such as the annual summaries prior to running Stage 2 to obtain the correct height to
use with this keyword.

3.7.6 XDATES

Like previous pathways, the amount of data processed can be limited by using the
XDATES keyword to specify the beginning and ending dates of the data to be merged. As noted
previously in Sections 3.3.3, 3.4.3, and 3.5.4, the METPREP XDATES can be the controlling
date window if a combined Stage 1 and 2 run is executed without the EXTRACT and QAOUT
files in one or more of the SURFACE, UPPERAIR, or ONSITE/PROG pathways .The syntax
and type are:



XDATES YB/MB/DB [TO] YE/ME/DE

Syntax:

Or

XDATES YB/MB/DB [-] YE/ME/DE

Type:

Optional (Stage 2 or Stage 1 and 2 combined),
Nonrepeatable

3-54


-------
YB, MB and DB are the beginning year, month, and day, respectively, of the data to
merge and YE, ME, and DE are the ending year month and day, respectively. Beginning with
version 21DRF, the year must be entered as a four-digit integer (e.g., 1992). The month is a one-
or two-digit integer corresponding to the month of the year and the day is the one- or two-digit
day of the month. The individual components of the start date or end date can be separated by
spaces or the '/' character or no separator at all. However, the start date cannot be separated by
spaces and the end date separated by '/' or vice-versa. Both dates must use the same delimiter.
The complete start date and end date can be separated by a space, '-', or the word "TO". The
case of the word "TO" can be upper, lower, or a mix of cases. The following are valid methods
to enter the dates, using January 1, 2020 and December 31, 2020 as the dates:

•	2020/01/01 2020/12/31

•	2020/01/01 TO 2020/12/31

•	2020/01/01 -2020/12/31

•	2020 01 01 TO 2020 12 31

•	2020 01 01 -2020 12 31

•	2020 01 01 2020 12 31

•	20200101 20201231

The following are invalid methods to enter dates, again using January 1, 2020 and December 31,
2020 as the dates:

•	2020/01/01 2020 12 31

•	2020 01 01 2020/12/31

•	2020/01/01 -2020 12 31

•	2020 01 01 -2020/12/31

•	2020/01/01 TO 2020 12 31

•	2020 01 01 TO 2020/12/31

3-55


-------
The XDATES keyword is optional and if omitted, AERMET will determine the period
of extraction based on the dates present in the input data (upper air, surface, site-specific, or
prognostic).

3.7.7 METHOD

The METHOD keyword is used to define processing methods for the input data
including data substitution, special treatment of ASOS wind data, stable boundary layer
treatment, and upper air sounding selection. This METHOD keyword requires a secondary
keyword (process) to identify the meteorological variables that are affected and the option
(parameter) to use. The syntax and type are:

Syntax:

METHOD process parameter

Type:

Optional (Stage 2 only Stage 1 and 2 combined),
Repeatable

The following is a list of valid secondary keywords that will be discussed in the
subsections that follow: WIND DIR, REFLEVEL, ASOS ADJ, UASELECT, STABLEBL,
CCVR, TEMP, and COARE.

3.7.7.1 WIND DIR.

National Weather Service wind directions are reported to the nearest 10°. The secondary
keyword WIND DIR is used to enable and disable a randomization procedure which adjusts
NWS wind directions to yield directions to the nearest degree. The randomization procedure is
enabled or disabled by specifying RANDOM or NORAND, respectively, after the WIND_DIR
keyword. Prior to version 16216, randomization was disabled by default if the secondary
keyword WIND DIR was not specified. Beginning with version 16216, AERMET's default
behavior is to randomize NWS wind directions when the WIND DIR keyword is not specified.
However, if the user wants a reminder as to how the data were processed, the RANDOM

3-56


-------
parameter can be specified. WINDDIR is included in the METPREP pathway using the
following format:



METHOD WIND DIR RANDOM

Syntax:

or

NORAND

Type:

Optional (Stage 2 or Stage 1 and 2 combined),
Non-repeatable

Randomization is accomplished by using a single-digit random number, with a separate
random number predefined for each hour of the year. This array of numbers is static and is the
EPA standard set of random numbers used to randomize wind directions. The random number is
added to the wind direction and 4 is subtracted from the result to yield a direction to the nearest
degree. The array of random numbers is internal to AERMET; therefore, a separate file of these
standard random numbers is not necessary.

This keyword has no effect when site-specific data are available for the hour. It is
assumed that the site-specific wind direction is reported to the nearest degree and does not need
randomizing.

3.7.7.2 REFLEVEL

The secondary keyword REFLEVEL directs AERMET to substitute NWS data in the
computations in the event site-specific data are missing for the hour. The only valid parameter is
SUBNWS which enables data substitution to estimate boundary layer parameters. If there are no
site-specific data in the data base, i.e., only NWS hourly observations and upper air soundings
were merged, this secondary keyword REFLEVEL becomes mandatory, and if it is omitted,
AERMET detects this condition (i.e., no site-specific data and do not substitute NWS data) as
an error and will not process any data. If there are site-specific data in the data base, but some of
the variables required for the boundary layer computations are missing, then this parameter
directs AERMET to substitute NWS data so the boundary layer parameters can be calculated.

3-57


-------
Additionally, if the site-specific profiles of wind and/or temperature are missing for an hour, this
parameter directs AERMET to use NWS data to create a single-level profile of wind and/or
temperature. The format for enabling NWS substitution using the METHOD keyword in the
METPREP pathway is as follows:

Syntax: METHOD REFLEVEL SUBNWS

T #	Optional (Stage 2 or combined Stage 1 and 2),

Non-repeatable

3.7.7.3 ASPS ADJ

Beginning with version 11059, AERMET has been modified to add V2 knot (0.26 m/s) to
all ASOS-based wind speeds to compensate for the bias introduced by truncation of wind speeds
to whole knots, rather than rounding (NOAA, 2008). There are two sources of ASOS wind data
that can be input to AERMET: 1) NWS data in one of the standard NWS surface data formats;
and 2) hourly-averaged wind speed and direction derived from 1-minute ASOS wind data files
generated with AERMINUTE (EPA, 2010).

The V2 knot ASOS wind speed adjustment is applied, by default, during Stage 2
processing to wind speeds substituted from 1-minute ASOS wind data as well as those
substituted from standard NWS/FAA surface data determined to be ASOS winds based on the
ASOS commission date. The user can override the default truncation adjustment by adding the
ASOSADJ method and NOADJ keyword to the Stage 2 METPREP pathway using the
following format:

Syntax:

METHOD ASOS ADJ NO ADJ

Type:

Optional (Stage 2 or combined Stage 1 and 2),
Non-repeatable

To document the source of the wind data in the Stage 2 OUTPUT file, and identify
whether the wind speed was adjusted, a two-part code is appended to the end of each record.

3-58


-------
The first part of the code indicates whether the wind speed was or was not adjusted with either
"ADJ" or "NAD," respectively. The source of the wind data for each record is encoded as either
"OS", "SFC", or "Al" to indicate the use of ONSITE, PROG, SURFACE, or 1-minute ASOS
winds, respectively. The two parts of the code are separated by a hyphen, and if no wind data
are available for a particular hour, the second part of the code is blank.

3.7.7.4 STABLEBL

AERMET includes two options for stable boundary layer conditions, a Bulk Richardson
Number approach to calculate surface friction velocity, u* and temperature scale, 9* and an
approach to adjust u* under low wind stable conditions. Each method is detailed in the
following sections.

BULKRN

AERMET includes an option to calculate u* and 9* using a Bulk Richardson Number
approach. This approach uses temperature differences between two heights for site-specific data
using the METHOD STABLEBL BULKRN keyword on the METPREP pathway. To use the
BULKRN approach, the temperature differences between the two heights must be included in
the site-specific data using the DT01 variable in the Stage 1 inputs for ONSITE or PROG
pathway. Additionally, the two heights for the temperature differences must be listed with the
DELTA TEMP keyword in the Stage 1 input file with the ONSITE or PROG pathway. See
Section 3.5.11 for more information about the temperature differences input to AERMET. The
syntax for the BULKRN option is:

Syntax:

METHOD STABLEBL BULKRN

Type:

Optional (Stage 2 or combined Stage 1 and 2), Non-repeatable

3-59


-------
ADJ U*

AERMET includes an option in Stage 2 processing to adjust the surface friction velocity
(u* or ustar) for low wind speed stable conditions, based on Qian and Venkatram (2011) for
most applications, such as NWS data. The option is selected by including the METHOD
STABLEBL ADJU* keyword on the METPREP pathway. In addition, AERMET incorporated
a different ADJ U* option for applications that utilize the Bulk Richardson Number
(BULKRN) option for estimating the stable boundary layer u* using low-level temperature
difference (delta-T) data based on Luhar and Rayner (2009)). The syntax of the ADJ U* option
is as follows:

Syntax:

METHOD STABLEBL ADJ U*

Type:

Optional (Stage 2 or combined Stage 1 and 2), Non-repeatable

There are caveats with the use of ADJ U* option in AERMET. AERMET will perform
the adjust u* calculations regardless of the presence of turbulence variables in the input data.
However, as outlined in Appendix W (40 CFR Part 51), the use of adjusted u* is prohibited
when site-specific turbulence is input to AERMOD and AERMOD is run in DFAULT mode.
AERMOD will issue an error and abort. The ADJ U* option is considered a non-default option
in AERMOD when site-specific data that include turbulence are included. There are options in
AERMOD (added with version 21112) to allow the user to use meteorological data that uses the
ADJ U* option even if turbulence data are included in the AERMOD inputs. These options
essentially ignore the input turbulence parameters. See the AERMOD User's Guide Section
3.5.9 for details (EPA, 2023c). The use of ADJU* and turbulence is subject to the alternative
model provisions in Section 3.2 of Appendix W (40 CFR Part 51). Users should coordinate with
the appropriate reviewing authority regarding the procedures and requirements for approval of
using ADJ U* with turbulence data for regulatory modeling applications.

3-60


-------
3.7.7.5 CCVR and TEMP

Beginning with version 13350, the AERMET program includes substitutions for missing
cloud cover and temperature data based on linear interpolation across gaps of one or two hours.
Linear interpolation across short gaps is a reasonable approach for these variables since ambient
temperatures tend to follow a diurnal cycle and do not vary significantly from hour to hour.
Additionally, AERMOD is relatively insensitive to hourly fluctuations in cloud cover, especially
during convective hours since the heat flux is integrated across the day. Furthermore, gaps of
one or two hours for these parameters near the early morning transition to a convective
boundary layer may result in all convective hours for that day being missing since key
parameters needed for the convective height processing are not calculated. Substitution of
temperature and cloud cover may allow for the needed parameters to be calculated and
subsequently, the convective parameters to be calculated.

The cloud cover and temperature substitutions are applied by default unless the
application involves both NWS and ONSITE surface data. Substitutions will be applied by
default if the parameter is only available for one type of data (NWS or ONSITE). For example,
for cases with ONSITE data that includes temperature data but no cloud cover data, the cloud
cover substitutions will be applied to the NWS data by default, but the temperature substitutions
will not be applied unless the user specifies the TEMP SUB TT option on the METHOD
keyword in Stage 2. Options have also been incorporated in AERMET during Stage 2 that allow
users to disable cloud cover and/or temperature substitutions, irrespective of the type(s) of data
being processed. These Stage 2 options also allow users to activate these substitutions for cases
with both NWS and ONSITE data. However, this could result in substitutions of an hour based
on interpolation between NWS and ONSITE values on either side of the gap.

As noted above, the substitutions are based on linear interpolation across gaps of one to
two hours. Interpolations are only made based on non-interpolated values on both sides of the

3-61


-------
data gap. In addition, substitutions for missing ONSITE temperature data are only applied for
values from the same measurement level, if multi-level temperature data are available.

The options for users to disable or activate the cloud cover (CCVR) and temperature
(TEMP) substitutions are included under the METHOD keyword in Stage 2. Unlike previous
versions of AERMET, versions 21DRF and later can interpolate temperatures for hours 23 and
24 as these versions use internal arrays so AERMET can "read ahead" for substitution. For this
reason, persistence is not used and the NOPERS option (no persistence) in previous versions of
AERMET is obsolete and ignored by AERMET.

Syntax: METHOD CCVR SUBCC (activates CCVR substitutions)
or

METHOD CCVR NO SUB (disables CCVR substitutions)

METHOD TEMP SUBTT (activates TEMP substitutions)
or

METHOD TEMP NOTSUB (disables TEMP substitutions)

	1	

Type: Optional (Stage 2 only or Stage 1 and 2 combined), Non-repeatable
(for a given option of CCVR of TEMP)

3.7.7.6 COARE

Beginning with version 23132, AERMET uses the COARE algorithms (Fairall et al.,
2003) for processing observed or prognostic overwater data and replaces the need for the
standalone AERCOARE processor (EPA, 2012). Evaluation of the implementation of COARE in
AERMET can be found in EPA (2023 d) and evaluation of prognostic data with COARE can be
found in EPA (2023e). Guidance on the use of COARE with prognostic data can be found in
U.S. EPA (2023a). The user can invoke COARE processing in Stage 2 of AERMET by invoking
COARE with the METHOD keyword and can invoke additional options with COARE. The

3-62


-------
syntax to invoke COARE or not to invoke COARE is listed below with more details about each
parameter following. The default action when COARE is not listed in the input control file is to
not invoke the COARE processing. If RUN COARE and NOCOARE are both listed in the
AERMET control file, AERMET will issue an error and abort processing. If AERMET
encounters NO COARE with one of the options described below, those options are ignored and
no COARE processing occurs. For COARE processing to be invoked, the following variables are
also needed by AERMET: air temperature, wind speed and direction, relative humidity, and sea
surface temperature. If relative humidity is not available, then the dewpoint temperature is
needed in order to calculate relative humidity. If both relative humidity and dewpoint
temperature are not available, COARE will not be invoked.

Syntax: METHOD COARE RUN COARE (activates COARE)
or

METHOD COARE NO COARE (disables COARE)

	1	

Type: Optional (Stage 2 only or Stage 1 and 2 combined), Non-repeatable
(for a given activation status of COARE)

To invoke the options described below, METHOD COARE RUN COARE must be listed
in the AERMET control file.

WARM or NO WARM

When invoked with METHOD COARE, the WARM option allows for the use of the
COARE algorithms' warm layer options. The NO WARM option explicitly tells AERMET not
to invoke the warm layer options. The default action when invoking COARE is to not use the
warm layer options. The syntax of the warm layer options are:

3-63


-------
Syntax: METHOD COARE WARM (activates COARE warm layer
processing)

or

METHOD COARE NO WARM (disables COARE warm layer
processing)

Type: Optional (Stage 2 only or Stage 1 and 2 combined), Non-repeatable
(for a given warm layer status of COARE; Repeatable with other
COARE options)

If both COARE WARM and COARE NO WARM are encountered in the AERMET
control file, AERMET will issue an error and abort processing.

For the warm layer option, the following variables are also needed in addition to the core
variables (temperature, wind, and relative humidity): solar insolation, downward longwave
radiation, and in the absence of downward longwave radiation, ceiling height and cloud cover are
needed.

At this time, the recommendation for COARE processing is not to invoke the warm
layer option for regulatory applications with either observed or prognostic data as it has
not been fully evaluated.

COOL or NO COOL

When invoked with METHOD COARE, the COOL option allows for the use of the
COARE algorithms' cool skin options. The NO COOL option explicitly tells AERMET not to
invoke the cool skin options. The default action when invoking COARE is to not use the cool
skin options. The syntax of the cool skin options are:

3-64


-------
Syntax: METHOD COARE COOL (activates COARE cool skin
processing)

or

METHOD COARE NO COOL (disables COARE cool skin
processing)

Type: Optional (Stage 2 only or Stage 1 and 2 combined), Non-repeatable
(for a given cool skin status of COARE; Repeatable with other
COARE options)

If both COARE COOL and COARE NO COOL are encountered in the AERMET
control file, AERMET will issue an error and abort processing.

For the cool skin option, the following variables are also needed in addition to the core
variables (temperature, wind, and relative humidity): solar insolation, downward longwave
radiation, and in the absence of downward longwave radiation, ceiling height and cloud cover are
needed.

At this time, the recommendations for COARE processing is not to invoke the cool
skin option for regulatory applications with either observed or prognostic data as it has not
been fully evaluated.

Surface roughness options

With the COARE processing, there are three options for calculating surface roughness,

z0:

•	Calculate z0 based on surface friction velocity u*

•	Calculate z0 based on surface friction velocity u* and wave period based on Oost et. al,
(2002)

•	Calculate z0 based on significant wave height and period based on Taylor and Yelland
(2001)

The syntax for the surface roughness options are:

3-65


-------
Syntax: METHOD COARE ZO_U* (z0 as a function of u*
or

METHOD COARE ZO_U*_PER (z0 as a function of u* and
significant wave period)

or

METHOD COARE ZOPERHT (z0 as a function of wave
measurements)

Type: Optional (Stage 2 only or Stage 1 and 2 combined), Non-repeatable
(for a given surface roughness option of COARE; Repeatable with
other COARE options)

If more than one of the surface roughness options is chosen, AERMET will issue an error
and abort. If no surface roughness option is chosen, the default method is to use the surface
friction velocity to calculate z0. Also, if ZO_U*_PER or ZO PER HT is selected and wave
measurements are not available, the wave height and period are calculated based on relationships
for a well developed sea state (Taylor and Yelland, 2001).

Mixing height options

With COARE processing, there are six options to calculate mixing heights (listed with
AERCOARE options for reference):

1.	AERMET default; use site-specific mixing heights using AERMET's default
methodology where for convective hours, site-specific mixing heights are used for
convective mixing heights and mechanical mixing heights are calculated. For stable
hours, the site-specific mixing height is used for the mechanical mixing height. For all
hours, the mechanical mixing height is smoothed. This option is not available in
AERCOARE.

2.	Use the site-specific mixing heights for both convective and mechanical mixing heights
for each hour (convective height equals mechanical height each hour with no smoothing
of mechanical mixing heights). This option is the default mixing height option in
AERCOARE, AERCOARE option mixopt=0.

3-66


-------
3.	Calculate mechanical mixing heights using AERMET's mechanical mixing height
equation, without smoothing, and convective mixing heights are based on the site-
specific mixing heights for convective hours, AERCOARE option mixopt=l.

4.	Calculate mechanical mixing heights using AERMET's mechanical mixing height
equation, without smoothing, and convective mixing heights are set to the calculated
mechanical mixing heights for convective hours, AERCOARE option mixopt=2.

5.	Calculate mechanical mixing heights using AERMET's mechanical mixing height
equation, with smoothing, and convective mixing heights are based on the site-specific
mixing heights for convective hours, AERCOARE option mixopt=-l.

6.	Calculate mechanical mixing heights using AERMET's mechanical mixing height
equation, with smoothing, and convective mixing heights are based on the site-specific
mixing heights for convective hours, AERCOARE option mixopt=-2.

The syntax for the mixing height options are:

Syntax: METHOD COARE MIX DEFAULT (Option 1 above)
or

METHOD COARE MIX OBS (Option 2 above)
or

METHOD COARE ZIC OBS NS (Option 3 above)
or

METHOD COARE CALC ZI NS (Option 4 above)
or

METHOD COARE ZIC OBS SM (Option 5 above)
or

METHOD COARE CALC ZI SM (Option 6 above)

Type: Optional (Stage 2 only or Stage 1 and 2 combined), Non-repeatable
(for a given mixing height option of COARE; Repeatable with other
COARE options)

3-67


-------
For options MIXDEFAULT, MIXOBS, ZIC OBS NS, and ZICOBSSM, site-
specific mixing heights are required and AERMET will issue an error if no site-specific mixing
heights are input. Options CALCZINS, and CALC ZI SM do not require site-specific
heights. As with the other COARE options, if more than one mixing height option is selected,
AERMET will issue an error and abort.

In addition to the options described above, there are other options available for COARE
processing: SSTDEPTH (Section 3.8), ZIGUST (Section 3.9), ZI MIN (Section 3.10),
MINMOL (Section 3.11), and DEFVPTG (Section 3.12). At this time, there is no
recommended guidance on specific values for ZI GUST, ZI MIN, MIN MOL, and
DEF VPTG, but default values can be routinely used for regulatory applications using COARE.

3.7.7.7 SUNRISE

The AERMET meteorological preprocessor was originally developed to work with NWS
upper air sounding data available in the United States and North America. Since that time,
AERMET has been increasingly applied in areas outside of North America. If observed
ONSITE mixing heights are not available, AERMET requires a morning sounding to compute
the hourly convective mixing heights for AERMOD. The preferred sounding time is prior to
sunrise before the convective mixed layer begins to develop. In North America, this generally
means the 1200 GMT sounding (also referred to as the 12Z sounding). In other parts of the
world this means the 0000 GMT (or 00Z) sounding. Originally, AERMET was designed to
automatically select the 12Z sounding, consistent with the primary focus of the AERMOD
model development to support modeling applications within the U.S. Since the reported upper
air observation time is known to vary slightly, AERMET also defined a default "sounding
window" of ±1 hour, i.e., AERMET accepted the 11Z, 12Z, or 13Z sounding. Beginning with
version 11059, AERMET was enhanced to select an upper air sounding that is more appropriate
for the location where AERMET is being applied.

The world is divided into 24 time zones, but most zones do not follow a straight north-
south line of longitude (see Figure 3-1). As a result, the time zone adjustment parameter on the

3-68


-------
LOCATION keyword on the Stage 1 UPPERAIR pathway is not a reliable indicator for
selecting the appropriate sounding time. Beginning with version 11059, the default approach in
AERMET has been enhanced to search for an appropriate sounding for all locations based on
the longitude entered on the LOCATION keyword under the UPPERAIR pathway.This
approach computes a 'pseudo' time zone based on the LOCATION longitude. The longitude is
divided by 15 with the result rounded to the nearest integer. For example, 156.76° West yields a
time zone of-10 (in keeping with the standard convention that west longitudes are negative). It
is worth noting that in Alaska, the time zone is -9 for the entire state but the state spans pseudo-
zones -9, -10, and -11 based on longitude. This is not an uncommon occurrence.

Figure 3-2 shows which default sounding AERMET will use based on the longitude-
dependent 'pseudo' time zone (note that time zones -12 and +12 refer to the same zone). The
values shown in the table are also shown across the top of Figure 3-1. A sounding time of-12
indicates the use of the 1200 GMT (12Z) sounding from the previous day and is primarily used
in the Far East, southeast Asia, Australia, and New Zealand.

A JasJea

Madagascar

Paraguay~

+1014

2004 'F.

iwww. fgiertr. c oiffi

Figure 3-1. Time Zone Boundaries (with preferred sounding time across top).

3-69


-------
Time Zone

-12

-11

-10

-9

-8

-7

-6

-5

-4

-3

-2

-1

0

Sounding
Time Zone

-12
1

12
~~2

12
~~3

12

12

12

12

12

12

00

00

00

00
	

4

5

6

7

8

9

10

11

12



Sounding

00

00

00

00

00

00

00

-12

-12

-12

-12

-12

—

Figure 3-2. Preferred sounding time by time zone.

AERMET has also been enhanced to include an optional method to search for the
morning sounding based on the local time of sunrise at the UPPERAIR station location. Using
the new method, SUNRISE, AERMET can search for the sounding nearest to sunrise rather than
looking for a 00Z or 12Z sounding. By default, when this option is specified, AERMET
attempts to find a sounding within 6 hours before sunrise, and if that search fails, it searches up
to 2 hours after sunrise. This search window, as well as the default search window when the
SUNRISE method is not enabled, can be extended in either direction using the new keyword
UAWINDOW, described below in Section 3.7.8. When searching for a sounding using the
SUNRISE method, priority is given to soundings prior to and including sunrise, such that a
sounding that is 4 hours before sunrise is preferred, and selected, over a sounding that is 1 hour
after sunrise.

To invoke this search, a new option for the METHOD keyword under the METPREP
pathway in Stage 2 has been defined: UASELECT. The syntax of the new UASELECT option
is as follows:

Syntax: METHOD UASELECT SUNRIS(E)

	1	

Type: Optional (Stage 2 only or Stage 1 and 2 combined), Non-repeatable
Note that the 'E' on 'SUNRISE' is optional and can be omitted.

3.7.8 UAWINDOW

By default, AERMET uses a 1-hour window before and after the preferred sounding
time as the search window to locate a sounding to use. Beginning with version 11059, the user

3-70


-------
can expand (or contract) this window by using the optional UAWINDOW keyword under the
METPREP pathway in Stage 2. The syntax of the UAWINDOW keyword is as follows:

Syntax: UAWINDOW window begin window end

	1	

Type: Optional (Stage 2 only or Stage 1 and 2 combined), Non-repeatable

where window begin represents the beginning of the sounding window and window end
represents the end of the sounding window, entered as the number of hours relative to the
preferred sounding time (whether it be 12Z or 00Z). A negative number indicates the number of
hours before the reference sounding, and a positive number indicates the number of hours after
the sounding. The default sounding window would be input as: UAWINDOW -1 +1 (note that
the plus sign in not required). The sounding window does not have to be symmetric about the
sounding time. For example, if the user wants to search more hours before the sounding time
and fewer after, the following could be used: UAWINDOW -5 +2. To force AERMET to accept
only soundings corresponding to the reference sounding time, the user can input: UAWINDOW
0 0. If multiple soundings are available within the upper air sounding window, AERMET will
select the sounding closest in time to the reference sounding, with a preference for soundings
prior to and including the reference sounding time. For example, if UAWINDOW -5 +2 is
specified, and soundings are available for 9Z, 12Z, and 15Z, AERMET will select the 12Z
sounding. However, if soundings were available for 9Z and 13Z, AERMET will select the 9Z
sounding.

As with the 12Z/00Z sounding search, the user can expand or contract the search
window for the SUNRISE option (-6 to +2 hours by default) using the UAWINDOW keyword.
The syntax for the UAWINDOW keyword is the same in both cases. When UAWINDOW is
used in conjunction with the SUNRISE method, window begin and window end represent the
number of hours before and after sunrise to conduct the search. For purposes of applying the
sounding window, sunrise is defined as the beginning of the hour during which the sun rises.
For example, if sunrise is calculated to occur at 06:45 local time, AERMET will define sunrise
as 0600 and preference will be given to a sounding at 0600 vs. a sounding at 0700.

3-71


-------
3.7.9 Surface characteristics

Surface conditions at the measurement site, referred to as the surface characteristics,
influence boundary layer parameter estimates. Obstacles to the wind flow, the amount of
moisture at the surface, and reflectivity of the surface all affect the estimates. These influences
are quantified through the surface albedo, Bowen ratio and effective surface roughness length
(z0). Beginning with version 21DRF, AERMET allows for the input of hourly surface
characteristics for overwater applications for the PROG pathway. For all other applications, the
surface characteristics are input via the methods described below. For overwater applications
with the PROG pathway, the surface characteristics input methods described below are used to
fill in missing values for the hourly surface characteristics.

AERMET requires two sets of surface characteristics (primary and secondary) in the
METPREP pathway when the SUBNWS option is specified and both ONSITE and SURFACE
data are provided (including 1-minute ASOS wind data). If either ONSITE (PROG) data or
SURFACE data are omitted, only a single (primary) set of surface characteristics is required.

The primary set of surface characteristics are defined for AERMET through the three
keywords: FREQSECT, SECTOR and SITECHAR. These keywords specify the temporal
frequency, number of sectors, and the site characteristics (albedo, Bowen ratio, and roughness
length), respectively. The secondary set of site characteristics are specified using similar
keywords: FREQ SECT2, SECTOR2, and SITE CHAR2. These keywords for the secondary
set of characteristics should be added to the METPREP pathway immediately after the primary
set when defining both a primary and secondary set of surface characteristics. For the primary
set of characteristics, the FREQ SECT keyword must appear before SECTOR and
SITE CHAR keywords. The same is true for the secondary set of characteristics;

FREQ SECT2 must appear before the SECTOR2 and SITE CHAR2 keywords. The keywords
for the primary characteristics should be grouped together and the secondary characteristics
should be grouped together. Each keyword is detailed below.

3-72


-------
3.7.9.1 Frequency and number of sectors: FREQ SECT or FREQ SECT2

The FREQSECT and FREQSECT2 keywords define how often the surface
characteristics change (the frequency), or alternatively, the period over which these
characteristics remain constant, and the number of non-overlapping sectors into which the 360°-
compass is divided (number of sectors).

The syntax and type for the FREQ SECT and FREQ SECT2 keywords are as follows:



FREQ SECT frequency number of sectors [year list]

Syntax:

or

FREQ SECT2 frequency number of sectors [year list]

Type:

Mandatory (Stage 2 or Stage 1 and 2 combined), Nonrepeatable (if no
years listed), Repeatable (if years listed), Reprocessed

Order:

These keywords must appear before SECTOR (SECTOR2) and
SITE CHAR (SITE CHAR2)

The frequency can be ANNUAL, SEASONAL or MONTHLY, corresponding to 1, 4, or
12 periods, respectively. ANNUAL and MONTHLY are straightforward: the site characteristics
are the same for all months of the year, or the site characteristics vary from month to month,
respectively. When SEASONAL is specified, then the site characteristics are distributed by
month as follows for the Northern Hemisphere:

Season #

Season

Months

1

Winter

December, January, February

2

Spring

March, April, May

3

Summer

June, July, August

4

Autumn

September, October, November

For the Southern Hemisphere the site characteristics are distributed by month as follows:

3-73


-------
Season # Season

Months

June, July, August
September, October, November
December, January, February
March, April, May

1

Winter

2

3

Spring
Summer

4

Autumn

When entering the surface characteristics by season, beginning with version 21DRF,
AERMET will use the location of the primary and secondary site to determine the hemisphere
of the site and assign the seasonal characteristics to the correct months. For example, for a
location in the Southern Hemisphere, the user does not have to assign summer surface
characteristics to winter in AERMET to account for the fact that AERMET previously used
Northern Hemisphere months for season assignments (i.e., June-August as spring). The user
now enters summer surface characteristics to summer and AERMET will assign the correct
months, June-August for the Northern Hemisphere, and January, February, and December, for
the Southern Hemisphere.

The number before the season represents the frequency-index that is specified for that
season on the SITE CHAR keyword.

A minimum of 1 and a maximum of 12 can be specified for the number of sectors.
Beginning with version 21DRF, the user has the option to list which year or years go with a
specific set of surface characteristics if performing a multi-year run of AERMET with the
optional year list. This is to allow the user to calculate boundary layer parameters for multiple
years without running AERMET separately for each year if surface characteristics change year
by year. For a more detailed description and example, see Section 3.7.9.5. The year list can be a
single year, a list of years separated by commas or spaces, or a range of years, i.e., 2010-2015.

3.7.9.2 Defining sectors: SECTOR or SECTOR2

A SECTOR statement defines the beginning and ending wind direction sector for which
the surface characteristics are applied. The syntax and type of this keyword are:

3-74


-------


SECTOR sector index beginning direction ending direction

Syntax:

or



SECTOR2 sector index beginning direction ending direction



SECTOR: Mandatory, SECTOR2: Conditional

Type:

(Stage 3), Repeatable, Reprocessed

One sector is defined per keyword, with the sector index linking a specific sector to a
set of site characteristics. The sectors are defined clockwise, must cover the full circle (360°),
and must be defined so that the end of one sector corresponds to the beginning of the next
sector. The beginning direction is considered part of the sector, while the ending direction is
excluded from the sector. The directions reference the direction from which the wind is blowing.
A sector can cross through north (e.g., 345 - 15) or can start and stop at north (e.g., 0-30 and
270 - 360). AERMET will verify that the entire 360° circle is covered. See Section 5.6.3.1 for
additional discussion about sectors.

3.7.9.3 Specification of surface characteristics: SITE CHAR or SITE CHAR2

The site characteristics are specified on the SITECHAR and SITECHAR2 keywords,
with one statement for each combination of period and wind sector. The syntax and type for
these keywords are:



SITE CHAR frequency index sector index albedo Bowen



roughness

Syntax:

or



SITE CHAR2 frequency index sector index albedo Bowen



roughness

Type:

Mandatory (Stage 2), Repeatable, Reprocessed

The frequency index varies from one to the number of time periods corresponding to the
frequency defined on the FREQSECT (or FREQSECT2) keyword. The sector index varies
from one to the number of sectors defined on the FREQ SECT (or FREQ SECT2) keyword.
These indices are followed by the albedo, Bowen ratio and roughness length for the
frequency/sector combination. If the maximum frequency (MONTHLY) and maximum number

3-75


-------
of sectors were defined (12), then it will require 144 (12 frequencies and 12 sectors)

SITE CHAR (or SITE CHAR2) statements to completely define the site characteristics.

The albedo is the fraction of total incident solar radiation reflected by the surface back to
space without absorption. Typical values range from 0.1 for thick deciduous forests to 0.9 for
fresh snow. The daytime Bowen ratio, an indicator of surface moisture, is the ratio of the
sensible heat flux to the latent heat flux and is used for determining planetary boundary layer
parameters for convective conditions. While the diurnal variation of the Bowen ratio may be
significant, the Bowen ratio usually attains a fairly constant value during the day. Midday values
of the Bowen ratio range from 0.1 over water to 10.0 over desert. The surface roughness length
is related to the height of obstacles in the wind flow and is, in principle, the height at which the
mean horizontal wind speed is zero. Values range from less than 0.001 m over a calm water
surface to 1 m or more over a forest or urban area.

Table 3-1 through Table 3-5, from Paine (1987), provide some guidance on specifying
these values by land use type and season. In these tables, the seasons do not correspond to a
particular group of months, but more on latitude and the annual vegetative growth cycles. Spring
refers to the period when vegetation is emerging or partially green and applies to the 1-2 months
after the last killing frost. The term summer applies to the period when vegetation is lush. The
term autumn refers to the period of the year when freezing conditions are common, deciduous
trees are leafless, soils are bare after harvest, grasses are brown, and no snow is present. Winter
conditions apply to snow-covered surfaces and subfreezing temperatures. For example, March
in the southern United States is spring, but it is still winter in much of New England. It is up to
the user to determine how to apply this information.

3-76


-------
Table 3-1. Albedo of Ground Covers by Land Use and Season

Land-Use

Spring

Summer

Autumn

Winter

Water (fresh & salt)

0.12

0.10

0.14

0.20

Deciduous Forest

0.12

0.12

0.12

0.50

Coniferous Forest

0.12

0.12

0.12

0.35

Swamp

0.12

0.14

0.16

0.30

Cultivated Land

0.14

0.20

0.18

0.60

Grassland

0.18

0.18

0.20

0.60

Urban

0.14

0.16

0.18

0.35

Desert Shrubland

0.30

0.28

0.28

0.45

The Bowen ratio for winter in the next three tables depends on whether snow cover is
present continuously, intermittently, or seldom. For seldom snow cover, the values between
autumn and winter may be more applicable; for continuous snow cover, the values for winter are
applicable. For bodies of water, it is assumed that the surface is frozen.

3-77


-------
Table 3-2. Daytime Bowen Ratio by Land Use and Season - Dry Conditions

Land-Use

Spring

Summer

Autumn

Winter

Water (fresh and sea)

0.1

0.1

0.1

2.0

Deciduous Forest

1.5

0.6

2.0

2.0

Coniferous Forest

1.5

0.6

1.5

2.0

Swamp

0.2

0.2

0.2

2.0

Cultivated Land

1.0

1.5

2.0

2.0

Grassland

1.0

2.0

2.0

2.0

Urban

2.0

4.0

4.0

2.0

Desert Shrubland

5.0

6.0

10.0

10.0

Table 3-3. Daytime Bowen Ration by Land Use and Season - Average Moisture

Conditions

Land-Use

Spring

Summer

Autumn

Winter

Water (fresh and sea)

0.1

0.1

0.1

1.5

Deciduous Forest

0.7

0.3

1.0

1.5

Coniferous Forest

0.7

0.3

0.8

1.5

Swamp

0.1

0.1

0.1

1.5

Cultivated Land

0.3

0.5

0.7

1.5

Grassland

0.4

0.8

1.0

1.5

Urban

1.0

2.0

2.0

1.5

Desert Shrubland

3.0

4.0

6.0

6.0

3-78


-------
Table 3-4. Daytime Bowen Ratio by Land Use and Season - Wet Conditions

Land-Use

Spring

Summer

Autumn

Winter

Water (fresh and sea)

0.1

0.1

0.1

0.3

Deciduous Forest

0.3

0.2

0.4

0.5

Coniferous Forest

0.3

0.2

0.3

0.3

Swamp

0.1

0.1

0.1

0.5

Cultivated Land

0.2

0.3

0.4

0.5

Grassland

0.3

0.4

0.5

0.5

Urban

0.5

1.0

1.0

0.5

Desert Shrubland

1.0

1.5

2.0

2.0

Table 3-5. Surface Roughness Length, in Meters, by Land Use and Season

Land-Use

Spring

Summer

Autumn

Winter

Water (fresh and sea)

0.0001

0.0001

0.0001

0.0001

Deciduous Forest

1.00

1.30

0.80

0.50

Coniferous Forest

1.30

1.30

1.30

1.30

Swamp

0.20

0.20

0.20

0.05

Cultivated Land

0.03

0.20

0.05

0.01

Grassland

0.05

0.10

0.01

0.001

Urban

1.00

1.00

1.00

1.00

Desert Shrubland

0.30

0.30

0.30

0.15

An additional source of information for surface roughness length can be found in Stull
(1988). Surface characteristics used in AERSURFACE may be more appropriate than those
shown above and can be found in the AERSURFACE User's Manual (EPA, 2020).

3-79


-------
3.7.9.4 Optional keywords AERSURF and AERSURF2

AERMET includes optional keywords, AERSURF and AERSURF2 under the
METPREP pathway, which can be used to specify separate external files which contain the
necessary AERMET keyword inputs to specify surface characteristics for the primary and
secondary site, respectively. These keywords facilitate the use of surface characteristics based
on the AERSURF ACE tool (EPA, 2020), without requiring the user to copy-and-paste the
results into the AERMET input file. The syntax of the AERSURF and AERSURF2 keywords is
as follows:

AERSURF primary surfcharfilename [year list]

Syntax:

AERSURF2 secondary surfcharfilename [year list]

	1	

Type: Optional, Non-repeatable

where primary surfchar filename and secondary surfchar filename refer to the names of the
files containing the surface characteristics for the primary and secondary sites, respectively, and
year list refers to the list of years as described in Section 3.7.9.1.

Note that surface characteristics included in an AERSURF file are interpreted by
AERMET to be for the primary surface observation site, and setup errors will occur if keywords
for the secondary surface characteristics site (FREQ SECT2, SECTOR2, or SITE CHAR2) are
encountered. On the other hand, data included in the AERSURF2 file are interpreted by
AERMET to be for the secondary site and will be processed as if the FREQ SECT2,

SECTOR2, and SITE CHAR2 keywords were used, even if the primary site keywords are
specified. This allows for the use of an AERSURF ACE output file for the AERSURF2 keyword
without requiring the user to edit the AERSURF ACE file to modify the keywords.

3.7.9.5 Optional yearly assignment of surface characteristics

As discussed in Section 3.7.9.1, the user can assign specific surface characteristics to
each year in a multi-year AERMET run. The year assignment can also be done for an AERMET

3-80


-------
run that is for a single run. The addition of this assignment in AERMET is to allow the user to
execute one AERMET run for a multi-year AERMET dataset versus running each year
separately in Stage 2 (old Stage 3). For example, prior to version 21DRF, if processing
AERMET for a 5-year dataset and year 1 was a dry year and year 2 was wet, or year 3 had a
change in number of sectors than other years, then Stage 2 would have to be processed
separately for each year and then the resulting outputs had to be concatenated together to create
a single meteorological dataset for input to AERMOD. Beginning with version 21DRF, the user
can enter a set of surface characteristics and assign them to one or more years of the processing
period. To invoke the multi-year capability in AERMET, the user enters the years assigned to
the specific set of surface characteristics after the number of sectors associated with the site with
the FREQSECT or FREQSECT2 keyword. The use of a year list is independent for
FREQSECT and FREQ SECT2 if both are specified. That is to say, the user can specify
multiple surface characteristics for the primary site but use constant set of surface characteristics
for all years for the secondary site. A caveat to using a year list is that all years in the AERMET
run must be accounted for in the lists. If multiple surface characteristics are used for a site, then
each year must be accounted for in the list(s).

The following shows the format for defining both a primary and a secondary set of surface
characteristics in the METPREP pathway for the period 2016 to 2020. All years have the same
number of sectors but 2016, 2018, and 2019 are dry years for the primary site, and 2017 and
2020 are average moisture conditions for the primary site. For the secondary site, 2016, 2017,
and 2020 are wet years, 2018 is a dry year, and 2019 is an average year. The input format would
be:

3-81


-------
** Primary Surface Characteristics, 2016, 2018, 2019

FREQ_SECT frequency number_of_sectors 2016 2018 2019

SECTOR	sector_index beginning_direction ending_direction

SITE_CHAR frequency_index sector_index albedo Bowen roughness

** Primary Surface Characteristics, 2017 and 2020

FREQ_SECT frequency number_of_sectors 2017 2020

SECTOR	sector_index beginning_direction ending_direction

SITE_CHAR frequency_index sector_index albedo Bowen roughness

** Secondary Surface Characteristics, 2016, 2017, and 2020
FREQ_SECT2 frequency number_of_sectors 2016 2017 2020
SECTOR2	sector_index beginning_direction ending_direction

SITE_CHAR2 frequency_index sector_index albedo Bowen roughness

** Secondary Surface Characteristics, 2018

FREQ_SECT2 frequency number_of_sectors 2018

SECTOR2	sector_index beginning_direction ending_direction

SITE_CHAR2 frequency_index sector_index albedo Bowen roughness

** Secondary Surface Characteristics, 2019

FREQ_SECT2 frequency number_of_sectors 2019

SECTOR2	sector_index beginning_direction ending_direction

SITE CHAR2 frequency index sector index albedo Bowen roughness

3-82


-------
Using the AERSURF and AERSURF2 keywords the format would be:

** Primary Surface Characteristics, 2016, 2018, 2019
AERSURF filenamel 2016 2018 2019

** Primary Surface Characteristics, 2017 and 2020
AERSURF filenamel 2017 2020

** Secondary Surface Characteristics, 2016, 2017, and 2020
AERSURF2 filename2 2016 2017 2020

** Secondary Surface Characteristics, 2018
AERSURF2 filename2 2018

** Secondary Surface Characteristics, 2019
AERSURF2 filename2 2019

The primary set of characteristics will be applied for those hours in which the data are
used when the site-specific data are provided. Likewise, the primary characteristics will be
applied to the NWS surface data if site-specific data are omitted from the application and only
one set of surface characteristics is required. If both site-specific data and NWS surface data
(including 1-minute ASOS) are provided, along with the SUBNWS option to allow substitution
of NWS surface data for missing onsite wind and temperature data, the primary surface
characteristics will be applied to the site-specific data for those hours in which site-specific
wind data are used, and the effective surface roughness from the secondary set will be applied
for those hours in which wind data from the NWS surface file or 1-minute ASOS wind data file
are substituted for missing or calm onsite data.

Note: The albedo and Bowen ratio from the primary set of surface characteristics
are always applied regardless of whether ONSITE or SURFACE data are used for a given
hour. The albedo and Bowen ratio from the secondary set are not used at this time, but
values must be included to maintain consistency in the formats for reading the data.

3-83


-------
3.8 SSTDEPTH

Beginning with version 23132 and the addition of the COARE algorithms in AERMET,
AERMET allows for two options to specify a measurement depth of sea surface temperature
(ONSITE variable TSEA) for COARE calculations. One option is to explicitly specify the
measurement depths with the input data file using the 'ZDEP' variable on the READ keyword.
With this option, the 'ZDEP' variable will need to be included for each observation period
within the data file. This method allows for the measurement depth to vary hour by hour.

The SSTDEPTH keyword on the METPREP pathway provides an alternative approach
for specifying TSEA depths. The syntax and type for the SSTDEPTH keyword are as follows:

Syntax:

SSTDEPTH SST measurement depth

Type:

Optional

If the SSTDEPTH keyword is specified and the 'ZDEP' variable is also defined on the
READ keyword, AERMET will use the depth based on the SSTDEPTH keyword to override the
depth variable that may be present in the data file. This is analogous behavior to the
OSHEIGHTS keyword and 'HTnn' variables as discussed in Section 3.5.10. If TSEA
measurements are listed in the data file but no measurement depths are included via the 'ZDEP'
variable or SSTDEPTH keyword, a default SST depth of 0.5 m will be used.

3.9 ZI GUST

Beginning with version 23132 and the addition of the COARE algorithms in AERMET,
AERMET uses a mixing height for COARE gust calculations. The default height is 600 m.
AERMET allows the user to override the default mixing height to use for gust calculations in
COARE using the ZIGUST keyword. The syntax and type for the ZIGUST keyword are as
follows:

3-84


-------
Syntax:

ZI GUST mixing height for COARE gust calculations

Type:

Optional

If the ZI GUST keyword is not included, the default value of 600 m is used in COARE
calculations.

3.10 ZI MIN

Beginning with version 23132 and the addition of the COARE algorithms in AERMET,
there is a minimum convective and mechanical mixing height allowed by AERMET to output to
AERMOD. The default minimum mixing height is 25 m. AERMET allows the user to override
the default minimum mixing height from COARE using the ZIMIN keyword. This option only
affects mixing heights calculated as part of the COARE processing and not for other
applications. The syntax and type for the ZI MIN keyword are as follows:

Syntax:

ZI MIN minimum mixing height output by AERMET

Type:

Optional

If the ZI MIN keyword is not included, the default value of 25 m is used in COARE
calculations.

3.11 MINMOL

Beginning with version 23132 and the addition of the COARE algorithms in AERMET,
there is a minimum absolute value of Monin-Obukov length allowed by AERMET to output to
AERMOD. The default value is 5 m. AERMET allows the user to override the default minimum
Monin-Obukhov length output by COARE using the MIN MOL keyword. This option only
affects Monin-Obukhov lengths calculated as part of the COARE processing and not for other
applications. The syntax and type for the MIN MOL keyword are as follows:

3-85


-------
Syntax:

MIN MOL absolute value of minimum Monin-
Obukhov length output by AERMET

Type:

Optional

If the MIN MOL keyword is not included, the default value of 5 m is used in COARE
calculations.

3.12 DEFVPTG

Beginning with version 23132 and the addition of the COARE algorithms in AERMET,
there is a default value of potential temperature gradient output by COARE in AERMET. This
value is used when hourly values of the gradient are not available. The default value is 0.01
(C/m) and is only applicable to applications using COARE. The syntax and type for the
DEF VPTG keyword are as follows:

Syntax:

DEF VPTG default potential temperature lapse rate

Type:

Optional

If the DEF VPTG keyword is not included, the default value of 0.01 (C/m) is used in
COARE calculations.

3-86


-------
3.13 Output from Stage 2: OUTPUT and PROFILE

AERMET Stage 2 processing creates two output files to be input into the AERMOD
dispersion model. The first of these files contains the boundary layer parameters and some of the
data that went into computing these parameters. These parameters are stored in the file defined
on the OUTPUT keyword, with the following syntax and type:

Syntax:

OUTPUT parameter filename

Type:

Mandatory (Stage 2 only or Stage 1 and 2 combined),
Nonrepeatable

The parameter Jilename must conform to the naming conventions appropriate to the
computing platform. The maximum length of this file name is 96 characters.

There is one record for each hour processed. These data are written with at least one
space between each element, i.e., "free format". The exact format of this file is described in
Appendix C, Section C. 2. The contents of this file are:

•	Year

•	Month (1 - 12)

•	Julian Day (1 - 366)

•	Hour (1 - 24)

•	Sensible heat flux, H (Watts/meter2)

•	Surface friction velocity, u* (meters/second)

•	Convective velocity scale, w* (meters/second)

•	Vertical potential temperature gradient in the 500 m layer above the planetary
boundary layer (kelvin/meter)

•	Convective mixing height, z,c (meters)

•	Mechanical mixing height, zim (meters)

•	Monin-Obukhov length, L (meters)

3-87


-------
•	Surface roughness length, z0 (meters)

•	Bowen ratio, B0

•	Albedo, r ($)

•	Wind speed - used in estimating the boundary layer parameters (meters/second)

•	Wind direction - direction wind is blowing from (degrees)

•	Height at which the wind was measured (meters)

•	Temperature - used in estimating boundary layer parameters (kelvin)

•	Height at which the temperature was measured (meters)

•	Precipitation type code (0=none, 1 l=liquid, 22=frozen, 99=missing)

•	Precipitation amount (millimeters/hour)

•	Relative humidity (%)

•	Station pressure (millibars)

•	Cloud cover (tenths)

•	Wind speed adjustment flag for adjustment of ASOS wind speed data (ADJ =
adjust, NAD = not adjusted, PROG=prognostic data)

•	Wind data source flag (OS = ONSITE pathway input file, SFC = SURFACE
pathway input file)

•	Substitution flag (NoSubs = No substitution, Sub_CC = substituted cloud cover,
Sub TT = substituted temperature, Sub_CC-TT = substituted cloud cover and
temperature)

3-88


-------
The second file to be written during Stage 2 contains profile (multilevel) data as
identified on the PROFILE keyword. The syntax and type are:

Syntax:

PROFILE profile filename

Type:

Mandatory (Stage 2 only or Stage 1 and 2
combined), Nonrepeatable

The profile Jilename must conform to the naming conventions appropriate to the
computing platform. The maximum length of this file name is 96 characters.

If there are one or more records for each hour processed, the data are written with at least
one space between each element, i.e., the data are free format. The exact format of this file is
described in Appendix C Section C. 2 The contents of this file are:

•	Year

•	Month (1 - 12)

•	Day (1-31)

•	Hour (1 - 24)

•	Measurement height (meters)

•	Top flag = 1, if this is the last (highest) level for this hour

•	0, otherwise

•	Direction the wind is blowing from for the current level (degrees)

•	Wind speed for the current level (meters/second)

•	Temperature at the current level (degrees Celsius)

•	Standard deviation of the wind direction fluctuations, oe (degrees)

•	Standard deviation of the vertical wind speed fluctuations, cw (meters/second)

3-89


-------
The data in this latter file are the multilevel (e.g., tower) site-specific meteorological data
if site-specific data are available. If there are no data for a particular variable for an hour, either
at one or all levels, then the field is filled with a missing value indicator. Only the variables
listed above are in this output file. Additional variables that may be specified on the ONSITE
pathway (e.g., the standard deviation of one of the horizontal components of wind) are not
written to this file.

AERMET was designed to be able to perform these dispersion parameter calculations
with NWS data only, i.e., no site-specific data. In this case, the NWS winds and temperature are
used to create a one-level "profile". The NWS data are also used if all the variables at all levels
for a given hour are missing. However, this substitution depends on the specification of the
METHOD REFLEVEL keyword described in Section 3.7.7.2.

3.14 Recommendations for running overwater applications in AERMET

With the inclusion of COARE in AERMET version 23132, the following options are
recommended for COARE processing, for both observed and prognostic data. Note, for version
23132 of AERMET and version 23132 of AERMOD, the use of COARE is considered a beta
option in AERMOD and the BETA option must be used with the AERMOD MODELOPT
keyword (EPA, 2023c). Deviations from the recommended guidance should be done in
consultation with the appropriate reviewing authority and Regional Office. Recommendations
are as follows:

•	For prognostic data, the user has the option to use the pass-through option or use
COARE. At this time, based on evaluations (EPA, 2023e), the recommended
approach is to use COARE with prognostic data.

•	The use of the warm layer and cool skin options should not be used as they have
not been fully evaluated.

•	The surface roughness values should be based on the methodology of the ZO_U*
option with COARE. The methods based on wave data have not been fully
evaluated.

3-90


-------
When using data with input mixing heights, the recommended mixing height
option is MIX OBS (use observed mixing heights for convective mixing heights
for convective hours and mechanical mixing heights for all hours with no
smoothing of mechanical mixing heights).

When using data with no input mixing heights, the recommended mixing height
option is CALC ZI SM (calculate mixing heights with smoothing).

The use of the default value of 600 m for the mixing height used for gust
calculations (ZIGUST, Section 3.9) is recommended. The user does not need to
use the ZI GUST keyword to use the default 600 m.

The use of the default value of 25 m for the minimum value of mixing height
(ZI MIN, Section 3.10) is recommended. The user does not need to use the
ZI_MIN keyword to use the default 25 m.

The use of the default value of 5 m for the minimum absolute value of Monin-
Obukhov length (MINMOL, Section 3.11) is recommended. The user does not
need to use the MIN MOL keyword to use the default 5 m.

The use of the default value of 0.05 K/m for potential temperature lapse rate
(DEFVPTG, Section 3.12) is recommended when no user input potential
temperature lapse rate is used. The user does not need to use the DEF VPTG
keyword to use the default potential temperature lapse rate

3-91


-------
4.0 Example AI RM IT runs

The following are two examples of an AERMET run from start to finish. The first
example is a case that is most often used for AERMET and AERMOD applications, which
utilize National Weather Service data for the surface and upper air data. The second example
builds upon the first in that the NWS example is used in conjunction with site-specific data.
Each example will show each stage's input and output along with the message and report files.
For the purposes of showing how AERMET functions, each data source will be its own
AERMET Stage 1 run.

4.1 National Weather Service data

4.1.1 Surface data extraction

The first example extracts and QAs National Weather Service surface data for Albany,
NY, for a ten-day period of March 1 through March 10, 1988. Figure 4-1 shows the Stage 1
control file, EX01 SURF ACE. INP. The raw surface data are CD-144 format and extracted QA
data will be written to SURFACE_EXTRACT.TXT and SURFACE_QAOUT.TXT,
respectively. Note that for QA, no additional variables are requested for auditing so auditing
will be limited to winds and temperature. The report file and message files are
EX01_S1_SURFACE_REPORT.TXT and EX01_S1_SURFACE_MESSAGE.TXT,
respectively. Note that filenames do not have to have ".txt" extension, but for the purposes of
the example, ".txt" extensions are used for easier opening in a text editor.

4-1


-------
JOB





REPORT
MESSAGES

EX01 SI SURFACE REPORT.TXT
EX01 SI SURFACE MESSAGE.TXT



SURFACE





DATA

EXTRACT

QAOUT

S1473588.144 CD144 1
SURFACE EXTRACT.TXT
SURFACE QAOUT.TXT



XDATES

1988/3/1 TO 1988/3/10



LOCATION

14735 42.75N 73.8W 0 83.8



** 725180 14735 ALBANY COUNTY AP

US US NY KALB +42750 -073800 +00838

Figure 4-1. Control file to extract and QA NWS surface data.

To execute AERMET Stage 1 for this example, the user will type the following at the
command prompt:

aermet.exe EX01 SURF ACE . INP

assuming the control file and AERMET executable are in the same folder. Processing
information will be written to the screen. If the user wishes to have that information written to a
text file, the user will type the following at the command prompt:

aermet.exe EX01 SURF ACE . INP > example_run.txt

The contents of example_run.txt are shown in Figure 4-2 and show the AERMET
processing. The first line lists the start date and time of the AERMET processing. The next ten
lines notify the user of the extraction dates followed by ten lines denoting each day's data are
being QA'd. The final messages are that AERMET completed successfully followed by the
AERMET processing end date and time.

4-2


-------
START
Stage
Stage
Stage
Stage
Stage
Stage
Stage
Stage
Stage
Stage
Stage
Stage
Stage
Stage
Stage
Stage
Stage
Stage
Stage
Stage

PROCESSING DATE/T

Extracting sur
Extracting sur
Extracting sur
Extracting sur
Extracting sur
Extracting sur
Extracting sur
Extracting sur
Extracting sur
Extracting sur
QA'ing surface
QA'ing surface
QA'ing surface
QA'ing surface
QA'ing surface
QA'ing surface
QA'ing surface
QA'ing surface
QA'ing surface
QA'ing surface

IME: MAY 19, 2022 14:57:05 PM
face data for month/day/year 03/01/1988
face data for month/day/year 03/02/1988
face data for month/day/year 03/03/1988
face data for month/day/year 03/04/1988
face data for month/day/year 03/05/1988
face data for month/day/year 03/06/1988
face data for month/day/year 03/07/1988
face data for month/day/year 03/08/1988
face data for month/day/year 03/09/1988
face data for month/day/year 03/10/1988
data for month/day/year 03/01/1988 LST
data for month/day/year 03/02/1988 LST
data for month/day/year 03/03/1988 LST
data for month/day/year 03/04/1988 LST
data for month/day/year 03/05/1988 LST
data for month/day/year 03/06/1988 LST
data for month/day/year 03/07/1988 LST
data for month/day/year 03/08/1988 LST
data for month/day/year 03/09/1988 LST
data for month/day/year 03/10/1988 LST

LST
LST
LST
LST
LST
LST
LST
LST
LST
LST

AERMET FINISHED SUCCESSFULLY

END PROCESSING DATE/TIME: MAY 19, 2022 14:57:05 PM

Figure 4-2. Processing steps for NWS surface data extraction.

Figure 4-3 shows the processing messages contained in
EX01_S1_SURFACE_MESSAGE.TXT. Messages that start with 'W' are warning messages,
T are informational messages, 'E' are error messages, and 'Q' are quality assurance messages.
Refer to Appendix D for message definitions. The very first message is a warning message
indicating that too many fields were found with the DATA keyword and that the blocking factor
or type was not needed. This is in reference to the number 1 found after the CD144 format
keyword with the SURFACE DATA keyword. The next message, 101, indicates that Stage 1
processing is being performed. Message 159 indicates the ASOS commission date of the station.
The first occurrence of message 140 indicates that SURFACE extraction has begun with the
processing start date and time. Messages 146 through 156 indicate the number of observations
that are extracted, retained or valid, duplicate observations, overwritten observations, and calms.
The second 140 message indicates the date and time that SURFACE extraction ended. The
remaining messages are quality assurance messages and give the date and times, in Local

4-3


-------
Standard Time, of the observations that were flagged as calm. Note that there are twenty Q43
messages, corresponding to the number of observations flagged as calm with the 156 message.

Figure 4-4 through Figure 4-6 show the contents of the report file,
EX01_S1_SURFACE_REPORT.TXT.

Figure 4-4 shows the file summary of Stage 1. Shown are the AERMET version number, start
processing time, and the name of the AERMET control file. Following is the input summary of
the stage (Stage 1) and the filenames of input and output files for each path. If a path is not
being processed, AERMET will denote by listing the path along with "NO PROCESSING
REQUESTED." For paths being processed, the file status along with the filename is listed. For
optional operations, such as debugging, if the DEBUG option is not chosen, AERMET will list
"NO FILE" for the filename. Station information (site identifier, coordinates, time adjustment,
elevation) for upper air, surface, site-specific, or prognostic is also summarized along with the
requested dates for the station.

Figure 4-5 shows the QA summary of the surface extraction. Since no specific variables
were requested for auditing via the AUDIT keyword, only temperature, wind direction, and
wind speed were audited by default. The report file shows the audited variables with their
missing value indicators and lower and upper bounds. Note that the missing value indicators are
not subject to the conversion factor for the surface variables while the bounds have the
conversion factor applied (See Table B-l in Appendix B). Next, follows the number of
observations read in for each variable, the number of missing observations, number of
observations that exceed the lower and upper bounds, and percent of observations that were
accepted. In this example, no data are missing so all data are accepted. The final summary lists
the following:

•	number of calm wind observations,

•	number of observations with zero wind direction and non-zero wind speed,

4-4


-------
•	number of observations with non-zero wind direction and zero wind speed,

•	number of observations flagged as variable winds,

•	number of observations where the temperature is less than the dewpoint,

•	number of observations with precipitation but no weather code and,

•	number of observations with a weather code but no precipitation.

Figure 4-6 shows the message summary portion of the report file. The message file
summarizes the number of each type of message: error, warning, information, and quality
assurance messages. If the number of messages for a specific message type is greater than zero,
then AERMET also issues the number of each message code associated with the message type.
For this example, there are no error messages and there is one warning message, W01. There are
nine information messages distributed among 101,140,146,147,150,153,156, and 159. There is
one QA message, Q43. After the message summary, AERMET notifies the user that AERMET
completed successfully, along with the end date and time of AERMET processing.

Finally, Figure 4-7 shows the format of the EXTRACT file, SURFACE EXTRACT.
The QAOUT file has a similar format. The header information gives the AERMET version,
location information (station identifier, coordinates, time conversion and elevation). Next,
follows the file type (EXTRACT or QAOUT), processing dates and the header for the data
columns. If audited variables used different defaults for missing or bound values, those will be
indicated as well in the header. Following the data headers are the actual data that are formatted
as described in Section C. 1. Of Appendix C. For variable names, see Table B-l in Appendix B.

4-5


-------
SURFACE

W01

SURF PATH

TOO MANY

FIELDS 4

FOR DATA KEYWORD; BLOCKING FACTOR AND/OR TYPE NOT NEEDED



101

READINP

PROCESSING STAGE 1



SURFACE

159

SF TEST

STATION

14735

AS OS

COMMISSION DATE: 19950801

SURFACE

140

SF PROC

SURFACE EXTRACTION BEGIN: 20220519 14:57:05

SURFACE

146

SF PROC

NUMBER OF EXTRACTED

SURFACE OBSERVATIONS: 240

SURFACE

147

SF PROC

NUMBER OF RETAINED OBSERVATIONS: 240

SURFACE

150

SF PROC

NUMER OF

DUPLICATE OBSERVATIONS NOT USED: 0

SURFACE

153

SF PROC

NUMBER OF OVERWRITTEN OBSERVATIONS: 0

SURFACE

156

SF PROC

NUMBER OF OBSERVATIONS FLAGGED AS CALM 2 0

SURFACE

140

SF PROC

SURFACE EXTRACTION END: 20220519 14:57:05

SURFACE

Q43

SF AUDIT

19880302

HR

02

CALM

WIND

SURFACE

Q43

SF AUDIT

19880302

HR

03

CALM

WIND

SURFACE

Q43

SF AUDIT

19880302

HR

04

CALM

WIND

SURFACE

Q43

SF AUDIT

19880302

HR

05

CALM

WIND

SURFACE

Q43

SF AUDIT

19880302

HR

06

CALM

WIND

SURFACE

Q43

SF AUDIT

19880302

HR

07

CALM

WIND

SURFACE

Q43

SF AUDIT

19880303

HR

19

CALM

WIND

SURFACE

Q43

SF AUDIT

19880303

HR

21

CALM

WIND

SURFACE

Q43

SF AUDIT

19880305

HR

24

CALM

WIND

SURFACE

Q43

SF AUDIT

19880306

HR

01

CALM

WIND

SURFACE

Q43

SF AUDIT

19880306

HR

02

CALM

WIND

SURFACE

Q43

SF AUDIT

19880306

HR

03

CALM

WIND

SURFACE

Q43

SF AUDIT

19880306

HR

04

CALM

WIND

SURFACE

Q43

SF AUDIT

19880306

HR

05

CALM

WIND

SURFACE

Q43

SF AUDIT

19880306

HR

06

CALM

WIND

SURFACE

Q43

SF AUDIT

19880306

HR

07

CALM

WIND

SURFACE

Q43

SF AUDIT

19880308

HR

21

CALM

WIND

SURFACE

Q43

SF AUDIT

19880308

HR

22

CALM

WIND

SURFACE

Q43

SF AUDIT

19880308

HR

24

CALM

WIND

SURFACE

Q43

SF AUDIT

19880309

HR

01

CALM

WIND

Figure 4-3. Contents of the SURFACE extraction message file.

4-6


-------
AERMET SETUP
SUCCESSFUL



AERMET VERSION 22112



START PROCESSING DATE/TIME: MAY 19, 2022 14:57:05 PM



RUNSTREAM CONTROL FILE: EX01 SURFACE.INP



**************************** INPUT SUMMARY ****************************



PROCESSING STAGES 1



1. JOB FILE NAMES



MESSAGES OPEN EX01 SI SURFACE MESSAGE.TXT
REPORT OPEN EX01 SI SURFACE REPORT.TXT
DEBUG NO FILE



2. UPPERAIR DATA



NO PROCESSING REQUESTED



3. SURFACE DATA



PROCESSING DATES: 03/01/1988 - 03/10/1988



SITE ID LATITUDE LONGITUDE TIME ADJUSTMENT

ELEVATION

LOCATION: 14735 42.75 -73.80 0

83 .80

DATA FILE: OPEN S1473588.144
EXTRACT FILE: OPEN SURFACE EXTRACT.TXT
QAOUT FILE: OPEN SURFACE QAOUT.TXT



4 . ONSITE DATA



NO PROCESSING REQUESTED



5. PROG DATA



NO PROCESSING REQUESTED



6. METPREP DATA



NO PROCESSING REQUESTED



Figure 4-4. Input summary contents of the SURFACE extraction report file.

4-7


-------


SURFACE DATA





VARIABLE MISSING VALUE LOWER BOUND

UPPER BOUND

TMPD

999.00 <= -30.

00

>= 40.00

WDIR

999.00 <0.00



> 360.00

WSPD

999.00 <0.00



> 50.00

VARIABLE # #

LOWER

UPPER %



OBS MISSING

BOUND

BOUND ACCEPTED

TMPD

240 0

0

0 100.00

WDIR

240 0

0

0 100.00

WSPD

240 0

0

0 100.00

WIND,

TEMPERATURE, AND PRECIPITATION CHECKS



NUMBER

OF HOURS:





20

CALM WINDS (WDIR = 0, WSPD

= 0)



0

WDIR = 0, WSPD > 0





0

WDIR > 0, WSPD = 0





0

WINDS FLAGGED AS VARIABLE





0

TEMPERATURE < DEWPOINT





0

PRECIP WITHOUT WEATHER CODE





0

WEATHER CODE WITHOUT PRECIP





Figure 4-5. QA summary contents of the SURFACE extraction report file.

4-8


-------
MESSAGE SUMMARY 'k'k'k'k'k'k'k'k'k'k'k'k'k'k'k'k'k'k'k'k'k'k'k'k'k'k'k'k
ERROR MESSAGES	0 MESSAGES

WARNING MESSAGES	1 MESSAGES

W01:	1

INFORMATION MESSAGES	9 MESSAGES

101:	1

140:	2

146:	1

147:	1

150:	1

153:	1

156:	1

159:	1

QA MESSAGES	2 0 MESSAGES

Q43:	20

AERMET FINISHED SUCCESSFULLY

END PROCESSING DATE/TIME: MAY 19, 2022 14:57:05 PM

Figure 4-6. Message summary contents of the SURFACE extraction report file.

4-9


-------
AERMET 22112

LOCATION 14735	42.750N	73.800W 0 83.800

FILE TYPE: EXTRACT

DATES 1988 03 01 1988 03 10

DATE

HR

ASOS

PRCP

SLVP

PRES

TSKC

PWTH

ASKY

TMPD

DPTP

RHUM

WDIR

WSPD

19880301

01

N

-9. 00

99999.0

1003.0

404.

0

0

0

99. 0

-2.8

999. 0

999.0

270. 0

3.1

19880301

02

N

-9. 00

99999.0

1003.0

101.

0

0

0

99. 0

-2.8

999. 0

999.0

280.0

4.1

19880301

03

N

-9. 00

99999.0

1003.0

101.

0

0

0

99. 0

-3.9

999. 0

999.0

280.0

4.1

19880301

04

N

-9. 00

99999.0

1003.0

101.

0

0

0

99. 0

-5.0

999. 0

999.0

290. 0

5.1

19880301

05

N

-9. 00

99999.0

1003.0

0.

0

0

0

99. 0

-5 . 6

999. 0

999.0

290. 0

5.7

19880301

06

N

-9. 00

99999.0

1004.1

0.

0

0

0

99. 0

-5 . 6

999. 0

999.0

290. 0

2 . 6

19880301

07

N

-9. 00

99999.0

1004.1

0.

0

0

0

99. 0

-6.1

999. 0

999.0

290. 0

5.1

19880301

08

N

-9. 00

99999.0

1005.1

606.

0

0

0

99. 0

-5 . 6

999. 0

999.0

310. 0

4.1

19880301

09

N

-9. 00

99999.0

1005.1

707.

0

0

0

99. 0

-5.0

999. 0

999.0

270. 0

7.2

19880301

10

N

-9. 00

99999.0

1005.1

606.

0

0

0

99. 0

-5.0

999. 0

999.0

300. 0

8.2

19880301

11

N

-9. 00

99999.0

1005.1

202.

0

0

0

99. 0

-4.4

999. 0

999.0

300. 0

7.7

19880301

12

N

-9. 00

99999.0

1004.1

0.

0

0

0

99. 0

-4.4

999. 0

999.0

270. 0

8.8

19880301

13

N

-9. 00

99999.0

1003.0

0.

0

0

0

99. 0

-3.9

999. 0

999.0

270. 0

9.3

19880301

14

N

-9. 00

99999.0

1002.0

0.

0

0

0

99. 0

-3.9

999. 0

999.0

310. 0

7.2

19880301

15

N

-9. 00

99999.0

1002.0

0.

0

0

0

99. 0

-4.4

999. 0

999.0

260. 0

9.3

19880301

16

N

-9. 00

99999.0

1001.0

0.

0

0

0

99. 0

-4.4

999. 0

999.0

270. 0

7.2

Figure 4-7. Format of the SURFACE EXTRACT and QAOUT files.

4-10


-------
4.1.2 Upper air data

The next example uses upper air data from Albany, NY for the same ten-day period as
the previous surface data example. Figure 4-8 shows the Stage 1 control file,

EX01 UPPER. INP. The raw upper air data are in 6201 format, and extracted and QA data will
be written to UPPER_EXTRACT.TXT and UPPER_QAOUT.TXT, respectively. Note that
temperature, wind speed, and lapse rate are requested for QA.

JOB





REPORT
MESSAGES

EX01 SI UPPER REPORT.TXT
EX01 SI UPPER MESSAGE.TXT



UPPERAIR





DATA

EXTRACT

QAOUT

14735-88.UA 6201FB 1
UPPER EXTRACT.TXT
UPPER QAOUT.TXT



XDATES

1988/3/1 TO 1988/3/10



LOCATION
AUDIT

14735 73.80W 42.75N 5 83.8
UATT UAWS UALR



** 725180 14735 ALBANY COUNTY AP

US US NY KALB +42750 -073800 +00838

Figure 4-8. Control file to extract and QA NWS upper air data.

To execute AERMET Stage 1 for this example, the user will type the following at the
command prompt:

aermet.exe EX01UPPER.INP

assuming the control file and AERMET executable are in the same folder. Processing
information will be written to the screen. If the user wishes to have that information written to a
text file, the user will type the following at the command prompt:

aermet.exe EX01 UPPER. INP > example_upper.txt

4-11


-------
The contents of example_upper.txt are shown in Figure 4-9 and show the AERMET
processing. The first line gives the start date and time of the AERMET processing. The next ten
lines notify the user of the extraction dates followed by ten lines denoting each day's data are
being QA'd. The final messages are that AERMET completed successfully followed by the
AERMET processing end date and time.

START
Stage
Stage
Stage
Stage
Stage
Stage
Stage
Stage
Stage
Stage
Stage
Stage
Stage
Stage
Stage
Stage
Stage
Stage
Stage
Stage

PROCESSING DATE/TIME: MAY 19,

air data

Extracting upper
Extracting upper air data
Extracting upper air data
Extracting upper air data
Extracting upper air data
Extracting upper air data
Extracting upper air data
Extracting upper air data
Extracting upper air data
Extracting upper air data
QA'ing upper air data for
QA'ing upper air data for
QA'ing upper air data for
QA'ing upper air data for
QA'ing upper air data for
QA'ing upper air data for
QA'ing upper air data for
QA'ing upper air data for
QA'ing upper air data for
QA'ing upper air data for

2022 14:57:32 PM
for month/day/year 03/01/1988 LST
for month/day/year 03/02/1988 LST
for month/day/year 03/03/1988 LST
for month/day/year 03/04/1988 LST
for month/day/year 03/05/1988 LST
for month/day/year 03/06/1988 LST
for month/day/year 03/07/1988 LST
for month/day/year 03/08/1988 LST
for month/day/year 03/09/1988 LST
for month/day/year 03/10/1988 LST
month/day/year 03/01/1988 LST
month/day/year 03/02/1988 LST
month/day/year 03/03/1988 LST
month/day/year 03/04/1988 LST
month/day/year 03/05/1988 LST
month/day/year 03/06/1988 LST
month/day/year 03/07/1988 LST
month/day/year 03/08/1988 LST
month/day/year 03/09/1988 LST
month/day/year 03/10/1988 LST

AERMET FINISHED SUCCESSFULLY

END PROCESSING DATE/TIME: MAY 19, 2022 14:57:32 PM

Figure 4-9. Processing steps for NWS upper air data extraction.

Figure 4-10 shows the processing messages contained in
EX01_S1_UPPER_MESSAGE.TXT. As with the surface example, messages that start with 'W'
are warning messages, 'I' are informational messages, 'E' are error messages and 'Q' are
quality assurance messages. The very first message is a warning message indicating that too
many fields were found with the DATA keyword and that the blocking factor or type was not
needed. This is in reference to the number 1 found after the 6201 format with the UPPERAIR
DATA keyword. The second W01 message indicates elevation is not needed for upper air data.
The third message, 101, indicates that Stage 1 processing is being performed. The first
occurrence of message 120 indicates that UPPERAIR extraction has begun with the processing

4-12


-------
state date and time. Messages 122 through 126 indicate the number of extracted soundings,
number of unique valid soundings, number of duplicate soundings, and number of skipped
soundings. The second 120 message indicates the date and time that the UPPERAIR extraction
ended. The remaining messages are related to QA. Message Q28 alerts the user that the
sounding for March 1, 1988, hour 19 has a sounding top of 0 m and is less than 5 km. The Q23
messages indicate missing data for a particular level, and Q24 and Q25 refer to violations of the
lower and upper bounds, respectively.

Figure 4-11 through Figure 4-15 show the content ofEX01_UPPER_REPORT.TXT.
Figure 4-11 shows the file summary of Stage 1. The first lines list the AERMET version
number, start processing time, and the name of the AERMET control file. Following is the input
summary of Stage 1 and the filenames of input and output files for each path. If a path is not
being processed, AERMET will denote by listing the path along with "NO PROCESSING
REQUESTED." For paths being processed, the file status along with the filename are listed. For
optional operations, such as debugging, if the DEBUG option is not chosen, AERMET will list
"NO FILE" for the filename. Station information (site identifier, coordinates, time adjustment,
elevation) for upper air, surface, site-specific, or prognostic is also summarized along with the
requested dates for the station.

Figure 4-12 through Figure 4-14 show the QA summary of the upper air extraction.
Figure 4-12 shows the missing value indicators and bounds for the audited variables
(temperature, wind speed, and lapse rate). Note that the missing value indicators are not subject
to the conversion factor for the surface variables while the bounds have the conversion factor
applied (See Table B-2 in Appendix B). Next in Figure 4-13, follows the number of
observations read in for each variable, the number of missing observations, number of
observations that exceed the lower and upper bounds, and percent of observations that were
accepted by level. The individual sounding levels are grouped into layers. For temperature and
wind speed, 100% of the data are accepted but lapse rate acceptance is less than 100% for some
layers. Finally, Figure 4-14 summarizes the following:

• number of calm wind observations,

4-13


-------
•	number of observations with non-zero wind direction and zero wind speed,

•	number of observations where the temperature is less than the dewpoint,

•	number of soundings that do not extend to 5,000 m,

•	number of days with no soundings, and

•	number of days with soundings but no AM soundings.

Figure 4-15 shows the message summary portion of the report file. The message file
summarizes the number of each type of message: error, warning, information, and quality
assurance messages. If the number of messages for a specific message type is greater than zero,
then AERMET will issue the number of each message code associated with the message type.
For this example, there are no error messages and there are two warning messages, W01. There
are eight information messages distributed among 101,120,122,123,124,125, and 126. There are
nine QA messages distributed among Q23 through Q28. After the message summary, AERMET
notifies the user that AERMET completed successfully, along with the end date and time of
AERMET processing.

Figure 4-16 shows the format of the EXTRACT file, UPPERAIR_EXTRACT.TXT .
The header information is much like the EXTRACT file for SURFACE data and shows the
AERMET version, location information (station identifier, coordinates, time conversion and
elevation). Next follows the file type (EXTRACT or QAOUT), processing dates and the header
for the data columns. If audited variables used different defaults for missing or bound values,
those will be indicated as well in the header. Following the data header are the actual data that is
formatted as described in Table C-2 of Appendix C. For variable names see Table B-2 in
Appendix B. The QAOUT file, shown in Figure 4-17, has a similar format with the exception of
the listed values for the audited variable, UALR (lapse rate). For both SURFACE and
UPPERAIR EXTRACT and QAOUT files, the EXTRACT files contain variables needed by
METPREP. The QAOUT files contain those same variables plus any additional audited
variables, such as UALR, that are not needed by METPREP.

4-14


-------
W01

WOl

101

120

122

123

124

125

126

120

Q2 8

Q23

Q23

Q23

Q2 4

Q25

Q25

Q2 4

Q25

UPPER_PATH	TOO MANY FIELDS 4 FOR DATA KEYWORD; BLOCKING FACTOR AND/OR TYPE NOT NEEDED

GETLOC	STATION ELEVATION NOT NEEDED

READINP	PROCESSING STAGE 1

UP_PROC	UPPER AIR EXTRACTION BEGIN 20220519 14:57:32

READ_6201	END OF DATA WINDOW ENCOUNTERED

UP_PROC	NUMBER OF EXTRACTED SOUNDINGS: 2 0

UP_PROC	NUMBER OF UNIQUE VALID SOUNDINGS: 20

UP_PROC	NUMBER OF DUPLICATE SOUNDINGS:	0

UP_PROC	NUMBER OF SKIPPED SOUNDINGS:	0

UP PROC	UPPER AIR EXTRACTION END 20220519 14:57:32

' AUDIT

19880301

HR

19

TOP OF SOUNDING 0.0

M <

5000

M



' AUDIT

19880302

HR

07

UAWS

MISSING

FOR LEVEL

8







' AUDIT

19880302

HR

07

UAWS

MISSING

FOR LEVEL

9







' AUDIT

19880302

HR

07

UAWS

MISSING

FOR LEVEL

10







' AUDIT

19880304

HR

19

UALR

LB

-4.4 <



-2.0

LEVEL

8

' AUDIT

19880306

HR

07

UALR

UB

5.7 >



5.0

LEVEL

2

' AUDIT

19880306

HR

07

UALR

UB

5.1 >



5.0

LEVEL

3

' AUDIT

19880309

HR

19

UALR

LB

-3.0 <



-2.0

LEVEL

2

' AUDIT

19880310

HR

07

UALR

UB

5.9 >



5.0

LEVEL

9

Figure 4-10. Contents of the UPPERAIR extraction message file.

4-15


-------
AERMET_SETUP
SUCCESSFUL

AERMET VERSION 22112

START PROCESSING DATE/TIME: MAY 19, 2022 14:57:32 PM
RUNSTREAM CONTROL FILE: EX01JJPPER.INP

**************************** INPUT SUMMARY ****************************
PROCESSING STAGES 1

1. JOB FILE NAMES

MESSAGES OPEN	EX01_S1_UPPER_MESSAGE.TXT

REPORT	OPEN	EX01_S1_UPPER_REPORT.TXT

DEBUG	NO FILE

2. UPPERAIR DATA

PROCESSING DATES: 03/01/1988 - 03/10/1988

SITE ID	LATITUDE LONGITUDE	TIME ADJUSTMENT

LOCATION:	00014735	42.75	-73.80	5

DATA FILE:	OPEN	14735-88.UA

EXTRACT FILE: OPEN	UPPER_EXTRACT.TXT

QAOUT FILE:	OPEN	UPPER_QAOUT.TXT

UPPER AIR DATA ABOVE 50 0 0 NOT EXTRACTED

UPPER AIR AUTOMATIC DATA CHECKS ARE: OFF

3. SURFACE DATA
NO PROCESSING REQUESTED

4 . ONSITE DATA
NO PROCESSING REQUESTED

5. PROG DATA
NO PROCESSING REQUESTED

6. METPREP DATA
NO PROCESSING REQUESTED

Figure 4-11. Input summary contents of the UPPERAIR extraction report file.

4-16


-------
**************************

** QA SUMMARY

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

UPPERAIR DATA





VARIABLE MISSING VALUE

LOWER BOUND

UPPER BOUND

UATT -9990.00

<= -35.00

>= 35.00

UAWS 9990.00

<0.00

> 50.00

UALR -9999.00

<= -2.00

o
o

LO

II

A

Figure 4-12. Initial QA summary contents of the UPPERAIR extraction report file.

4-17


-------
LEVEL



VARIABLE

#

#

LOWER

UPPER

%







OBS

MISSING

BOUND

BOUND

ACCEPTED



SURFACE

UATT

20

0

0

0

100.00





UAWS

20

0

0

0

100.00

0

500 M

UATT

65

0

0

0

100.00





UAWS

65

0

0

0

100.00





UALR

65

0

1

2

95.38

500

- 1000 M

UATT

46

0

0

0

100.00





UAWS

46

3

0

0

93 . 48





UALR

46

0

0

0

100.00

1000

- 1500 M

UATT

43

0

0

0

100.00





UAWS

43

0

0

0

100.00





UALR

43

0

1

0

97 . 67

1500

- 2000 M

UATT

49

0

0

0

100.00





UAWS

49

0

0

0

100.00





UALR

49

0

0

1

97 . 96

2000

- 2500 M

UATT

50

0

0

0

100.00





UAWS

50

0

0

0

100.00





UALR

50

0

0

0

100.00

2500

- 3000 M

UATT

31

0

0

0

100.00





UAWS

31

0

0

0

100.00





UALR

31

0

0

0

100.00

3000

- 3500 M

UATT

29

0

0

0

100.00





UAWS

29

0

0

0

100.00





UALR

29

0

0

0

100.00

3500

- 4000 M

UATT

20

0

0

0

100.00





UAWS

20

0

0

0

100.00





UALR

20

0

0

0

100.00



> 4000 M

UATT

76

0

0

0

100.00





UAWS

76

0

0

0

100.00





UALR

76

0

0

0

100.00

Figure 4-13. QA summary contents of the UPPERAIR extraction report file.

4-18


-------
NON-QA SUMMARY CHECKS





CALM WIND

CONDITIONS (WS=0, WD=0): 0





ZERO WIND

SPEED; NON-ZERO WIND DIRECTION: 0





DEW POINT

GREATER THAN DRY BULB TEMPERATURE:

0



NUMBER OF

SOUNDINGS THAT DO NOT EXTEND TO 50 0 0 M:



1

NUMBER OF

DAYS WITH NO SOUNDINGS: 0





NUMBER OF

DAYS WITH SOUNDINGS BUT NO AM SOUNDINGS:

0



Figure 4-14. Final QA summary contents of the UPPERAIR extraction report file.

MESSAGE SUMMARY

ERROR MESSAGES	0 MESSAGES

WARNING MESSAGES	2 MESSAGES

W01:	2

INFORMATION MESSAGES	8 MESSAGES

101

1

120

2

122

1

123

1

124

1

125

1

126

1

QA MESSAGES	9 MESSAGES

Q23:	3

Q24:	2

Q25:	3

Q28:	1

AERMET FINISHED SUCCESSFULLY

END PROCESSING DATE/TIME: MAY 19, 2022 14:57:32 PM

Figure 4-15. Message summary contents of the UPPERAIR extraction report file.

4-19


-------
AERMET 22112

















LOCATION 00014735

42

.750N 73

8 0 0W 5 8 3

800







FILE TYPE:

EXTRACT















DATES 198 8

03 01

1988

03

10











DATE

SND

HR

LEV

UAPR

UAHT

UATT

UATD

UAWD

UAWS

19880301

1

07

1

1011.3

0.0

-5.9

-10.5

280.0

2 . 0

19880301

1

07

2

1008 . 0

26.0

-6.0

-14 . 5

285. 0

3.0

19880301

1

07

3

1000. 0

88 . 0

-6.1

-13.2

290. 0

4 . 0

19880301

1

07

4

950. 0

487 . 0

-9.0

-13. 6

294 . 0

11. 0

19880301

1

07

5

930. 0

652 . 0

-10.3

-14 . 0

294 . 0

12 . 0

19880301

1

07

6

913. 0

794 . 0

-9.7

-25.5

293. 0

12 . 0

19880301

1

07

7

900. 0

905. 0

-10. 1

-25. 1

292 . 0

12 . 0

19880301

1

07

8

884 . 0

1043. 0

-10. 6

-24 . 4

291. 0

12 . 0

19880301

1

07

9

870. 0

1166.0

-10. 9

-14 . 3

290. 0

13. 0

19880301

1

07

10

850. 0

1345. 0

1

M
M

LP

-15. 9

287 . 0

13. 0

19880301

1

07

11

821. 0

1611. 0

-12 . 9

-20.2

282 . 0

13. 0

19880301

1

07

12

804 . 0

1770. 0

-14.2

-21.0

280.0

13. 0

19880301

1

07

13

800. 0

1808 . 0

-14 . 4

-20.2

279. 0

13. 0

19880301

1

07

14

785. 0

1951. 0

-15. 6

-17 . 7

279. 0

14 . 0

19880301

1

07

15

750. 0

2294 . 0

-17 . 6

-22 . 1

279. 0

15. 0

19880301

1

07

16

744 . 0

2354 . 0

-18 . 0

-22 . 9

279. 0

16.0

19880301

1

07

17

700. 0

2806.0

-22 . 1

-24 . 9

275. 0

19. 0

19880301

1

07

18

650. 0

3347 . 0

-25.5

-28.2

268 . 0

23. 0

19880301

1

07

19

636. 0

3505. 0

-26.6

-29.3

265. 0

22 . 0

19880301

1

07

20

626. 0

3619. 0

-26.9

-35.2

262 . 0

21.0

19880301

1

07

21

617 . 0

3724 . 0

-26.5

-41.3

258 . 0

21.0

19880301

1

07

22

600. 0

3926.0

-26.2

-41.9

251. 0

21.0

19880301

1

07

23

594 . 0

3999. 0

-26.0

-42 . 7

249. 0

22 . 0

19880301

1

07

24

550. 0

4553.0

-28 . 9

-45. 1

237 . 0

24 . 0

19880301

1

07

25

500. 0

5230. 0

-32 . 6

-48 . 3

232 . 0

29.0

Figure 4-16. Format of the UPPERAIR EXTRACT file.

4-20


-------
AERMET 22112

LOCATION 00014735 42.750N	73.800W 5 83.800

FILE TYPE: QAOUT

DATES 198 8

03 01

1988

03

10













DATE

SND

HR

LEV

UAPR

UAHT

UATT

UATD

UAWD

UAWS

UALR

19880301

1

07

1

1011.3

0.0

-5.9

-10.5

280.0

2 . 0

-9999.0

19880301

1

07

2

1008 . 0

26.0

-6.0

-14 . 5

285. 0

3.0

-0.4

19880301

1

07

3

1000. 0

88 . 0

-6.1

-13.2

290. 0

4 . 0

-0.2

19880301

1

07

4

950. 0

487 . 0

-9.0

-13. 6

294 . 0

11. 0

-0.7

19880301

1

07

5

930. 0

652 . 0

-10.3

-14 . 0

294 . 0

12 . 0

-0.8

19880301

1

07

6

913. 0

794 . 0

-9.7

-25.5

293. 0

12 . 0

0.4

19880301

1

07

7

900. 0

905. 0

-10. 1

-25. 1

292 . 0

12 . 0

-0.4

19880301

1

07

8

884 . 0

1043. 0

-10. 6

-24 . 4

291. 0

12 . 0

-0.4

19880301

1

07

9

870. 0

1166.0

-10. 9

-14 . 3

290. 0

13. 0

-0.2

19880301

1

07

10

850. 0

1345. 0

-11.5

-15. 9

287 . 0

13. 0

-0.3

19880301

1

07

11

821. 0

1611. 0

-12 . 9

-20.2

282 . 0

13. 0

-0.5

19880301

1

07

12

804 . 0

1770. 0

-14.2

-21.0

280.0

13. 0

-0.8

19880301

1

07

13

800. 0

1808 . 0

-14 . 4

-20.2

279. 0

13. 0

-0.5

19880301

1

07

14

785. 0

1951. 0

-15. 6

-17 . 7

279. 0

14 . 0

-0.8

19880301

1

07

15

750. 0

2294 . 0

-17 . 6

-22 . 1

279. 0

15. 0

-0.6

19880301

1

07

16

744 . 0

2354 . 0

1

M
CO

O

-22 . 9

279. 0

16.0

-0.7

19880301

1

07

17

700. 0

2806.0

-22 . 1

-24 . 9

275. 0

19. 0

-0.9

19880301

1

07

18

650. 0

3347 . 0

-25.5

-28.2

268 . 0

23. 0

-0.6

19880301

1

07

19

636. 0

3505. 0

-26.6

-29.3

265. 0

22 . 0

-0.7

19880301

1

07

20

626. 0

3619. 0

-26.9

-35.2

262 . 0

21.0

-0.3

19880301

1

07

21

617 . 0

3724 . 0

-26.5

-41.3

258 . 0

21.0

0.4

19880301

1

07

22

600. 0

3926.0

-26.2

-41.9

251. 0

21.0

0.1

19880301

1

07

23

594 . 0

3999. 0

-26.0

-42 . 7

249. 0

22 . 0

0.3

19880301

1

07

24

550. 0

4553.0

-28 . 9

-45. 1

237 . 0

24 . 0

-0.5

19880301

1

07

25

500. 0

5230. 0

-32 . 6

-48 . 3

232 . 0

29.0

-0.5

Figure 4-17. Format of the UPPERAIR QAOUT file.

4-21


-------
4.1.3 Data merger and boundary layer calculations

After extracting the surface and upper air data, the next step is to merge the two datasets
and calculate boundary layer parameters in Stage 2. The AERMET Stage 2 control file,
EX01NWS S2.INP, is shown in Figure 4-18. The QAOUT files from Stage 1 upper air and
surface extraction are shown in the UPPERAIR and SURFACE pathways. The METPREP
pathway lists the two output files, EX01_NWS.SFC and EX01_NWS.PFL. Method options
include NWS substitution and randomization of the wind directions. The NWS anemometer
height is listed as 6.1 m. Surface characteristics are annual for one 360° sector. The location
coordinates are those of the source, not the meteorological station as described in Section 3.7.4.

JOB







REPORT

EX01 NWS

S2 REPORT.TXT



MESSAGES

EX01 NWS

S2 MESSAGE.TXT



UPPERAIR







QAOUT

UPPER QAOUT.TXT



SURFACE







QAOUT

SURFACE

QAOUT.TXT



METPREP







OUTPUT

EX01 NWS.

SFC



PROFILE

EX01 NWS.

PFL



LOCATION

MYSITE 74

.00W 41.3N 5



METHOD

REFLEVEL

SUBNWS



METHOD

WIND DIR

RANDOM



NWS HGT

WIND

6.1



FREQ SECT

ANNUAL 1





SECTOR

1 0

360



SITE CHAR

11 0.15

2.0 0.12



** 725180 14735 ALBANY

COUNTY AP

US US NY KALB +42750 -073800 +00838

Figure 4-18. Control file for boundary layer calculations in METPREP.

To execute AERMET Stage 2 for this example, the user will type the following at the
command prompt:

aermet.exe EX01 NWS S2.INP

4-22


-------
assuming the control file and AERMET executable are in the same folder. Processing
information will be written to the screen. If the user wishes to have that information written to a
text file, the user will type the following at the command prompt:

aermet.exe EX01_NWS_S2.INP > example_stage2.txt

The contents of example_stage2.txt are shown in Figure 4-19 and show the AERMET
processing. The first line lists the start date and time of the AERMET processing. The next ten
lines notify the user of the upper air extraction dates followed by ten lines denoting surface
extraction dates. The next ten lines denote the initial data assignments for variables such as wind
and temperature were performed, and the next ten lines denote PBL calculations were
performed. The final messages are that AERMET completed successfully followed by the
AERMET processing end date and time.

The contents of the message file, EX01_NWS_S2_MESSAGE.TXT are shown in Figure
4-20 and Figure 4-21. Figure 4-20 shows the initial message that Stage 2 is being processed
along with warning messages that the upper air elevation is not needed, and that the
LOCATION keyword is not needed for METPREP. Next follow messages regarding upper air
and surface data extraction, including that the NWS station is an ASOS station, but the extracted
data are before the commission date. The PBL calculations begin with message 170 which
includes the date and time the processing started. Next follows the message that the solar angle
approach will be used to determine stability. Remaining messages in Figure 4-20 and messages
in Figure 4-21 refer to PBL calculations such as which sounding is used for each day (177),
whether the sounding is extended or not (W76), and messages about skipping calculations due
to missing data (172).

4-23


-------
START
Stage
Stage
Stage
Stage
Stage
Stage
Stage
Stage
Stage
Stage
Stage
Stage
Stage
Stage
Stage
Stage
Stage
Stage
Stage
Stage
Stage
Stage
Stage
Stage
Stage
Stage
Stage
Stage
Stage
Stage
Stage
Stage
Stage
Stage
Stage
Stage
Stage
Stage
Stage
Stage

PROCESSING DATE/TIME: MAY 20, 2022 9:58:29 AM

Extracting upper air data for month/day/year 03/01/1988 LST
Extracting upper air data for month/day/year 03/02/1988 LST
Extracting upper air data for month/day/year 03/03/1988 LST
Extracting upper air data for month/day/year 03/04/1988 LST
Extracting upper air data for month/day/year 03/05/1988 LST
Extracting upper air data for month/day/year 03/06/1988 LST
Extracting upper air data for month/day/year 03/07/1988 LST
Extracting upper air data for month/day/year 03/08/1988 LST
Extracting upper air data for month/day/year 03/09/1988 LST
Extracting upper air data for month/day/year 03/10/1988 LST
Extracting surface data for month/day/year 03/01/1988 LST
Extracting surface data for month/day/year 03/02/1988 LST
Extracting surface data for month/day/year 03/03/1988 LST
Extracting surface data for month/day/year 03/04/1988 LST
Extracting surface data for month/day/year 03/05/1988 LST
Extracting surface data for month/day/year 03/06/1988 LST
Extracting surface data for month/day/year 03/07/1988 LST
Extracting surface data for month/day/year 03/08/1988 LST
Extracting surface data for month/day/year 03/09/1988 LST
Extracting surface data for month/day/year 03/10/1988 LST
Initial data assignments for month/day/year 03/01/1988 LST
Initial data assignments for month/day/year 03/02/1988 LST
Initial data assignments for month/day/year 03/03/1988 LST
Initial data assignments for month/day/year 03/04/1988 LST
Initial data assignments for month/day/year 03/05/1988 LST
Initial data assignments for month/day/year 03/06/1988 LST
Initial data assignments for month/day/year 03/07/1988 LST
Initial data assignments for month/day/year 03/08/1988 LST
Initial data assignments for month/day/year 03/09/1988 LST
Initial data assignments for month/day/year 03/10/1988 LST
PBL calculations for month/day/year 03/01/1988 LST
PBL calculations for month/day/year
PBL calculations for month/day/year
PBL calculations for month/day/year
PBL calculations for month/day/year
PBL calculations for month/day/year

PBL calculations for month/day/year 03/07/1988 LST
PBL calculations for month/day/year 03/08/1988 LST
PBL calculations for month/day/year 03/09/1988 LST
PBL calculations for month/day/year 03/10/1988 LST

03/02/1988	LST

03/03/1988	LST

03/04/1988	LST

03/05/1988	LST

03/06/1988	LST

AERMET FINISHED SUCCESSFULLY

END PROCESSING DATE/TIME: MAY 19, 2022 9:58:29 AM	

Figure 4-19. Processing steps for boundary layer calculations

4-24


-------
101

W01

W70

120

123

124

125

126

120

140

W45

W45

W45

W45

W45

W45

W45

W45

W45

W45

146

147

140

170

184

111

W7 6

111

W7 6

172

172

172

172

172

172

READINP

GETLOC

PBL_TEST

UP_PROC

UP_PROC

UP_PROC

UP_PROC

UP_PROC

UP_PROC

SF_PROC

CHECK_ASOS

CHECK_ASOS

CHECK_ASOS

CHECK_ASOS

CHECK_ASOS

CHECK_ASOS

CHECK_ASOS

CHECK_ASOS

CHECK_ASOS

CHECK_ASOS

SF_PROC

SF_PROC

SF_PROC

PBL_PROC

PBL_PROC

RE AD_S OUND

RE AD_S OUND

RE AD_S OUND

RE AD_S OUND

PBL_PROC

PBL_PROC

PBL_PROC

PBL_PROC

PBL_PROC

PBL PROC

PROCESSING STAGE 2

STATION ELEVATION NOT NEEDED

LOCATION KEYWORD NOT NEEDED

UPPER AIR EXTRACTION BEGIN 20220520 09:58:29
NUMBER OF EXTRACTED SOUNDINGS: 2 0
NUMBER OF UNIQUE VALID SOUNDINGS: 20
NUMBER OF DUPLICATE SOUNDINGS:	0

NUMBER OF SKIPPED SOUNDINGS:	0

UPPER AIR EXTRACTION END 20220520 09:58:29
SURFACE EXTRACTION BEGIN: 20220520 09:58:29

STATION IS ASOS, BUT BEFORE COMMISSION DATE 19950801 FOR DATE
BUT BEFORE COMMISSION DATE 19950801 FOR DATE
BUT BEFORE COMMISSION DATE 19950801 FOR DATE
BUT BEFORE COMMISSION DATE 19950801 FOR DATE
BUT BEFORE COMMISSION DATE 19950801 FOR DATE
BUT BEFORE COMMISSION DATE 19950801 FOR DATE
BUT BEFORE COMMISSION DATE 19950801 FOR DATE
BUT BEFORE COMMISSION DATE 19950801 FOR DATE
BUT BEFORE COMMISSION DATE 19950801 FOR DATE
BUT BEFORE COMMISSION DATE 19950801 FOR DATE
NUMBER OF EXTRACTED SURFACE OBSERVATIONS: 240
NUMBER OF RETAINED OBSERVATIONS: 240
SURFACE EXTRACTION END: 20220520 09:58:29
PBL CALCULATIONS BEGIN: 20220520 09:58:29

SOLAR ANGLE APPROACH WILL BE USED FOR STABILITY DETERMINATION
SOUNDING FOR DATE: 19880301 IS 19880301 HR 07 SOUNDING # 1
DATE 19880301 TOP OF SOUNDING 5.2 KM EXTENDS BEYOND 5.0 KM;
SOUNDING FOR DATE: 19880302 IS 19880302 HR 07 SOUNDING # 1
DATE 19880302 TOP OF SOUNDING 5.4 KM EXTENDS BEYOND 5.0 KM;
DATE: 19880302 HR 02 WINDS CALM OR MISSING, SKIP CALCULATIONS
DATE: 19880302 HR 03 WINDS CALM OR MISSING,

DATE: 19880302 HR 04 WINDS CALM OR MISSING,

DATE: 19880302 HR 05 WINDS CALM OR MISSING,

DATE: 19880302 HR 06 WINDS CALM OR MISSING,

DATE: 19880302 HR 07 WINDS CALM OR MISSING,

STATION IS ASOS,
STATION IS ASOS,
STATION IS ASOS,
STATION IS ASOS,
STATION IS ASOS,
STATION IS ASOS,
STATION IS ASOS,
STATION IS ASOS,
STATION IS ASOS,

1988
1988
1988
1988
1988
1988
1988
1988
1988
1988

0301

0302

0303

0304

0305

0306

0307

0308

0309

0310

SOUNDING NOT EXTENDED
SOUNDING NOT EXTENDED

SKIP CALCULATIONS
SKIP CALCULATIONS
SKIP CALCULATIONS
SKIP CALCULATIONS
SKIP CALCULATIONS

Figure 4-20. Initial contents of the Stage 2 message file.

4-25


-------
177

W7 6

172

172

111

W7 6

111

W7 6

172

177

W7 6

172

172

172

172

172

172

172

177

W7 6

177

W7 6

172

172

172

111

W7 6

172

177

W7 6

READ_S OUND
READ_S OUND
PBL_PROC
PBL_PROC
READ_S OUND
READ_S OUND
READ_S OUND
READ_S OUND
PBL_PROC
READ_S OUND
READ_S OUND
PBL_PROC
PBL_PROC
PBL_PROC
PBL_PROC
PBL_PROC
PBL_PROC
PBL_PROC
READ_S OUND
READ_S OUND
READ_S OUND
READ_S OUND
PBL_PROC
PBL_PROC
PBL_PROC
READ_S OUND
READ_S OUND
PBL_PROC
READ_S OUND
READ SOUND

SOUNDING FOR DATE: 19880303 IS 1988
DATE 19880303 TOP OF SOUNDING 5.4
DATE: 19880303 HR 19 WINDS CALM OR
DATE: 19880303 HR 21 WINDS CALM OR
SOUNDING FOR DATE: 19880304 IS 1988
DATE 19880304 TOP OF SOUNDING 5.4
SOUNDING FOR DATE: 19880305 IS 1988
DATE 19880305 TOP OF SOUNDING 5.4
DATE: 19880305 HR 24 WINDS CALM OR
SOUNDING FOR DATE: 19880306 IS 1988
DATE 19880306 TOP OF SOUNDING 5.4
19880306 HR 01 WINDS CALM OR
19880306 HR 02 WINDS CALM OR
19880306 HR 03 WINDS CALM OR
19880306 HR 04 WINDS CALM OR
19880306 HR 05 WINDS CALM OR
19880306 HR 06 WINDS CALM OR
19880306 HR 07 WINDS CALM OR
SOUNDING FOR DATE: 19880307 IS 1988
DATE 19880307 TOP OF SOUNDING 5.4
SOUNDING FOR DATE: 19880308 IS 1988
DATE 19880308 TOP OF SOUNDING 5.5
19880308 HR 21 WINDS CALM OR
19880308 HR 22 WINDS CALM OR
19880308 HR 24 WINDS CALM OR
SOUNDING FOR DATE: 19880309 IS 1988
DATE 19880309 TOP OF SOUNDING 5.5
DATE: 19880309 HR 01 WINDS CALM OR
SOUNDING FOR DATE: 19880310 IS 1988
DATE 19880310 TOP OF SOUNDING 5.0

DATE
DATE
DATE
DATE
DATE
DATE
DATE

DATE
DATE
DATE

0303	HR 07 SOUNDING # 1
KM EXTENDS BEYOND 5.0 KM;
MISSING, SKIP CALCULATIONS
MISSING, SKIP CALCULATIONS

0304	HR 07 SOUNDING # 1
KM EXTENDS BEYOND 5.0 KM;

0305	HR 07 SOUNDING # 1
KM EXTENDS BEYOND 5.0 KM;
MISSING, SKIP CALCULATIONS

0306	HR 07 SOUNDING # 1
KM EXTENDS BEYOND 5.0 KM;
MISSING, SKIP CALCULATIONS
MISSING, SKIP CALCULATIONS
MISSING, SKIP CALCULATIONS
MISSING, SKIP CALCULATIONS
MISSING, SKIP CALCULATIONS
MISSING, SKIP CALCULATIONS
MISSING, SKIP CALCULATIONS

0307	HR 07 SOUNDING # 1
KM EXTENDS BEYOND 5.0 KM;

0308	HR 07 SOUNDING # 1
KM EXTENDS BEYOND 5.0 KM;
MISSING, SKIP CALCULATIONS
MISSING, SKIP CALCULATIONS
MISSING, SKIP CALCULATIONS

0309	HR 07 SOUNDING # 1
KM EXTENDS BEYOND 5.0 KM;
MISSING, SKIP CALCULATIONS

0310	HR 07 SOUNDING # 1
KM EXTENDS BEYOND 5.0 KM;

SOUNDING NOT EXTENDED

SOUNDING NOT EXTENDED
SOUNDING NOT EXTENDED

SOUNDING NOT EXTENDED

SOUNDING NOT EXTENDED
SOUNDING NOT EXTENDED

SOUNDING NOT EXTENDED

SOUNDING NOT EXTENDED

Figure 4-21. Final contents of the Stage 2 message file.

4-26


-------
Figure 4-22 through Figure 4-25 show the contents of the report file,
EX01_NWS_S2_REPORT.TXT. Figure 4-22, like

Figure 4-4and Figure 4-11, presents the summary files and locations of the upper air and
surface stations. Figure 4-23 shows the summary for the METPREP pathway, including
processing dates, site location (even though this input is optional), the output filenames and
processing options. For this example, wind directions are randomized, and cloud and
temperature substitutions are performed. Following the METPREP summary is the surface
characteristics summary where the surface characteristics for each processed year are shown.
For this example, only one year is processed and it is for one sector. Updated from 21DRF to
22112 and shown in Figure 4-24, is a summary of the number of total observations and
observations per day for each data type (upper air, NWS surface, site-specific or prognostic, and
ASOS 1-minute observations). This update is like the summary of observations found in
AERMET versions prior to 21DRF. Also shown in Figure 4-24 is a summary of the PBL
processing. This summary gives the number of days with no convective conditions, number of
calms and variable winds, and number of substituted (interpolated) cloud cover and temperature
hours. Finally, in Figure 4-25 is the message file summary, similar to Figure 4-6 and Figure
4-15. For boundary layer calculations there are no error messages. There are 22 warning
messages distributed among W01, W45, W70, and W76, and 43 information messages
distributed among several message types, and no quality assurance messages. Finally, the report
file notifies the user that AERMET finished successfully with the date and time the program
finished processing.

Figure 4-26 and Figure 4-27 show the contents of the two output files, EX01_NWS.SFC
and EX01NWS.PFL, respectively. The user can refer to Table C-4 and Table C-5 in Appendix
C, Section C. 2 for the format of these output files.

4-27


-------
AERMET SETUP
SUCCESSFUL





AERMET VERSION 22112





START PROCESSING DATE/TIME: MAY 20, 2022 9:58:29 AM





RUNSTREAM CONTROL FILE: EX01 NWS S2.INP





**************************** INPUT SUMMARY **********

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



PROCESSING STAGES 2





1. JOB FILE NAMES





MESSAGES OPEN EX01 NWS S2 MESSAGE.TXT
REPORT OPEN EX01 NWS S2 REPORT.TXT
DEBUG NO FILE





2. UPPERAIR DATA





PROCESSING DATES: 03/01/1988 - 03/10/1988





SITE ID LATITUDE LONGITUDE

TIME ADJUSTMENT



LOCATION: 00014735 42.75 -73.80

5



DATA FILE: NO FILENAME INPUT

EXTRACT FILE: NO FILENAME INPUT

QAOUT FILE: OPEN UPPER QAOUT.TXT





UPPER AIR DATA ABOVE 50 0 0 NOT EXTRACTED





UPPER AIR AUTOMATIC DATA CHECKS ARE: OFF





3. SURFACE DATA





PROCESSING DATES: 03/01/1988 - 03/10/1988





SITE ID LATITUDE LONGITUDE

TIME ADJUSTMENT

ELEVATION

LOCATION: 14735 42.75 -73.80

0

83 .80

ASOS COMMISSION DATE: 19950801

DATA FILE: NO FILENAME INPUT

ASOS1MIN FILE: NO FILENAME INPUT

EXTRACT FILE: NO FILENAME INPUT

QAOUT FILE: OPEN SURFACE QAOUT.TXT





4 . ONSITE DATA





NO PROCESSING REQUESTED





5. PROG DATA





NO PROCESSING REQUESTED





Figure 4-22. Input summary contents of the Stage 2 report file.

4-28


-------
6. METPREP DATA

PROCESSING DATES: 03/01/1988	- 03/10/1988

SITE ID	LATITUDE

LOCATION: -9	42.75

LONGITUDE
-73.80

TIME ADJUSTMENT
5

OUTPUT FILE:
PROFILE FILE:

OPEN
OPEN

EX01_NWS.SFC
EX01 NWS.PFL

METPREP PROCESSING OPTIONS
PROCESS

OPTION DESCRIPTION

WIND DIRECTION
REFLEVEL
CLOUD COVER
TEMPERATURE

RANDOM	WIND DIRECTIONS ARE RAMDOMNIZED

SUBNWS	NWS WINDS AND TEMPS SUBSTITUED FOR MISSING ONSITE DATA

SUB_CC	CLOUD COVER SUBSTITUTED

SUB TT	TEMPERATURE SUBSTITUTED

SFC CHARACTERISTICS SUMMARY

PRIMARY SITE CHARACTERISTICS

YEAR: 198 8 FREQUENCY ANNUAL

NUMBER OF SECTORS: 1

YEAR
1988

BEGIN SECTOR
0.

END SECTOR
360.

ALBEDO
0.15

BOWEN RATIO

2.00

Figure 4-23. METPREP summary contents of the Stage 2 report file.

ROUGHNESS LENGTH (M)

0.1200

4-29


-------
STARTING: Ol-MAR-198
ENDING: 10-MAR-1988

OBSERVATIONS PER DAY SUMMARY

TOTAL OBSERVATION COUNTS

NWS UPPER AIR

OBS

20

NWS SURFACE

OBS

240

ONSITE/PROG

OBS

0

1-MIN ASOS HR

OBS

0

DAILY OUTPUT STATISTICS

1988 MO/DY:

03/01

03/02

03/03

03/04

03/05

03/06

03/07

03/08

03/09

03/10

NWS UPPER AIR

OBS

2

2

2

2

2

2

2

2

2

2

NWS SURFACE

OBS

24

24

24

24

24

24

24

24

24

24

ONSITE/PROG

OBS

0

0

0

0

0

0

0

0

0

0

1-MIN ASOS HR

OBS

0

0

0

0

0

0

0

0

0

0

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

*****

********

PBL

PROCESSING

SUMMARY

******

********

********

******





NUMBER OF DAYS WITH NO CONVECTIVE CONDITIONS:

NUMBER OF TOTAL CALMS:	2 0

NUMBER OF VARIABLE WINDS:	0

NUMBER OF SUBSTITUTIONS (INTERPOLATION) FOR MISSING CLOUD COVER: 0
NUMBER OF SUBSTITUTIONS (INTERPOLATION) FOR MISSING TEMPERATURE:	0

Figure 4-24. Observations summary and PBL processing summary contents of the Stage 2

report file.

4-30


-------
MESSAGE SUMMARY

ERROR MESSAGES

0 MESSAGES

WARNING MESSAGES

W01
W4 5
W7 0
W7 6

1
10
1
10

22 MESSAGES

INFORMATION MESSAGES

4 3 MESSAGES

101
120

123

124

125

126
140

146

147
170
172
177
183

1

2
1
1
1

1

2
1
1
1

20
10
1

QA MESSAGES

0 MESSAGES

AERMET FINISHED SUCCESSFULLY

END PROCESSING DATE/TIME: MAY 20, 2022 9:58:29 AM

Figure 4-25. Message summary contents of the Stage 2 report file.

4-31


-------
4

5

7

4

0

7

0

3

0

4

7

8

9

9

6

0

1

0

0

0

0

3

4

1





UA

ID:

00014735 SF

ID:

14735 OS

ID:



VERSION: 22112



CCVR Sub TEMP Sub













0

283

-9

"ooo

-9

000 -999.

361

66.5

0.1200

2.00

1.00

3.10

275



6.1

270.3 2

. 0

0

-9

00

999.

1003.

0

392

-9

000

-9

000 -999.

588

118.1

0.1200

2.00

1.00

4 .10

279



6.1

270.3 2

. 0

0

-9

00

999.

1003.

0

392

-9

000

-9

000 -999.

588

117.5

0.1200

2.00

1.00

4 .10

279



6.1

269.2 2

. 0

0

-9

00

999.

1003.

0

499

-9

000

-9

000 -999.

845

190.0

0.1200

2.00

1.00

5.10

290



6.1

268.1 2

. 0

0

-9

00

999.

1003.

0

563

-9

000

-9

000 -999.

1012

249.2

0.1200

2.00

1.00

5.70

290



6.1

267.5 2

. 0

0

-9

00

999.

1003.

0

218

-9

000

-9

000 -999.

407

35.9

0.1200

2.00

1.00

2.60

295



6.1

267.5 2

. 0

0

-9

00

999.

1004 .

0

499

-9

000

-9

000 -999.

845

188.1

0.1200

2.00

1.00

5.10

286



6.1

267.0 2

. 0

0

-9

00

999.

1004 .

0

420

0

241

0

009 78.

658

-1045.4

0.1200

2.00

0.38

4 .10

315



6.1

267.5 2

. 0

0

-9

00

999.

1005.

0

741

0

942

0

005 453.

1530

-551.8

0.1200

2.00

0.24

7.20

273



6.1

268.1 2

. 0

0

-9

00

999.

1005.

0

847

1

361

0

005 683.

1863

-410.8

0.1200

2.00

0.19

8.20

297



6.1

268.1 2

. 0

0

-9

00

999.

1005.

0

802

1

591

0

005 755.

1730

-241.2

0.1200

2.00

0.17

7.70

297



6.1

268.8 2

. 0

0

-9

00

999.

1005.

0

912

1

724

0

005 867.

2082

-320.4

0.1200

2.00

0.16

8.80

268



6.1

268.8 2

. 0

0

-9

00

999.

1004 .

0

962

1

822

0

005 1008.

2256

-370.0

0.1200

2.00

0.16

9.30

271



6.1

269.2 2

. 0

0

-9

00

999.

1003.

0

753

1

821

0

005 1108.

1631

-196.0

0.1200

2.00

0.17

7.20

306



6.1

269.2 2

. 0

0

-9

00

999.

1002.

0

958

1

712

0

005 1177.

2240

-514 .1

0.1200

2.00

0.18

9.30

256



6.1

268.8 2

. 0

0

-9

00

999.

1002.

0

743

1

454

0

005 1221.

1603

-407.7

0.1200

2.00

0.22

7.20

268



6.1

268.8 2

. 0

0

-9

00

999.

1001.

0

897

0

766

0

005 1225.

2032

-4930.7

0.1200

2.00

0.33

8.80

270



6.1

267.5 2

. 0

0

-9

00

999.

1001.

0

889

-9

000

-9

000 -999.

2012

979.7

0.1200

2.00

0.65

8.80

266



6.1

265.9 2

. 0

0

-9

00

999.

1001.

0

889

-9

000

-9

000 -999.

2012

979.7

0.1200

2.00

1.00

8.80

273



6.1

265.3 2

. 0

0

-9

00

999.

1001.

0

670

-9

000

-9

000 -999.

1379

419.5

0.1200

2.00

1.00

6.70

278



6.1

264.2 2

. 0

0

-9

00

999.

1002.

0

670

-9

000

-9

000 -999.

1317

419.0

0.1200

2.00

1.00

6.70

285



6.1

263.8 2

. 0

0

-9

00

999.

1001.

0

445

-9

000

-9

000 -999.

766

147.6

0.1200

2.00

1.00

4 60

294



6.1

263.1 2

. 0

0

-9

00

999.

1001.

0

278

-9

000

-9

000 -999.

382

57.5

0.1200

2.00

1.00

3.10

220



6.1

262.5 2

. 0

0

-9

00

999.

1001.

0

216

-9

000

-9

000 -999.

244

34 . 6

0.1200

2.00

1.00

2.60

209



6.1

261.4 2

. 0

0

-9

00

999.

1001.

Figure 4-26. Partial contents of the EX01NWS.SFC file.

4-32


-------
88

88

88

88

88

88

88

88

88

88

88

88

88

88

88

88

88

88

88

88

88

88

88

88

3

1

1

6.1

1

275 . 0

3 .10

o

CO

Os]
1

99.00

o
o

3

1

2

6.1

1

279 . 0

4 .10

-2.80

99.00

99 .00

3

1

3

6.1

1

279 . 0

4 .10

-3 . 90

99.00

99 .00

3

1

4

6.1

1

290 . 0

5 .10

-5 .00

99.00

99 .00

3

1

5

6.1

1

290 . 0

5.70

-5 . 60

99.00

99 .00

3

1

6

6.1

1

295 . 0

2 . 60

-5 . 60

99.00

99 .00

3

1

7

6.1

1

286.0

5 .10

-6 .10

99.00

o
o

3

1

8

6.1

1

315 . 0

4 .10

-5 . 60

99.00

o
o

3

1

9

6.1

1

273 . 0

7.20

-5 .00

99.00

o
o

3

1

10

6.1

1

297 . 0

8 .20

-5 .00

99.00

o
o

3

1

11

6.1

1

297 . 0

7.70

-4 . 40

99.00

o
o

3

1

12

6.1

1

268 . 0

8.80

-4 . 40

99.00

o
o

3

1

13

6.1

1

271. 0

9.30

-3 . 90

99.00

o
o

3

1

14

6.1

1

306.0

7.20

-3 . 90

99.00

o
o

3

1

15

6.1

1

256 . 0

9.30

-4 . 40

99.00

o
o

3

1

16

6.1

1

268 . 0

7.20

-4 . 40

99.00

o
o

3

1

17

6.1

1

270 . 0

8.80

-5 . 60

99.00

o
o

3

1

18

6.1

1

266.0

8.80

-7.20

99.00

o
o

3

1

19

6.1

1

273 . 0

8.80

-7.80

99.00

99 .00

3

1

20

6.1

1

278.0

6.70

-8 . 90

99.00

99 .00

3

1

21

6.1

1

285 . 0

6.70

-9 . 40

99.00

99 .00

3

1

22

6.1

1

294 . 0

4 . 60

o
o

o
\—1
1

99.00

99 .00

3

1

23

6.1

1

220 . 0

3 .10

o

O
\—1
1

99.00

99 .00

3

1

24

6.1

1

209.0

2 . 60

-11.70

99.00

99 .00

Figure 4-27. Partial contents of the EX01NWS.PFL file.

4-33


-------
4.2 Site-specific example

Building on the NWS example in Section 4.1, this section will detail the extraction of
site-specific data as well as the merging with NWS surface and upper air data and subsequent
boundary layer calculations.

4.2.1 Site-specific data extraction

The site-specific data for this example are a dataset composed of three levels, 10, 50, and
100 m, with the following variables at each level: go (standard deviation of horizontal wind
direction), ow (standard deviation of the w-component of the wind speed), temperature, wind
direction and wind speed. A sample of the site-specific data file, ONSITE.MET, is shown in
Figure 4-28. The AERMET control file, ONSITE Sl.INP, is shown in Figure 4-29. Based on
the control file READ statements, the order of variables in the site-specific data are day
(OSDY), month (OSMO), year (OSYR), hour (OSHR), height (HTNN), go (SANN), gw
(SWNN), temperature (TTNN), wind direction (WDNN), and wind speed (WSNN). NN refers
to the height level 01, 02, and 03. Note that in the data file (Figure 4-28) there is a 0 between the
year and height. This column is skipped using the FORMAT statements. The report and
message files are denoted by the keywords REPORT and MESSAGE and the input data,
ONSITE.MET, is denoted by the DATA keyword. The QAOUT keyword denotes the output
file, and the location is given with the LOCATION keyword. The READ and FORMAT
statements control the reading of the file as described in Section 3.5.3. Non-default missing
values and bounds are given for several variables and the wind speed threshold is 0.3 m/s. No
variables are listed for auditing so the default audits of temperature and winds will occur.

4-34


-------
1

3 88 1

0 10.0

48 .7

0 .110

0 . 64

317.50

0.80

1

3 88 1

0 50.0

14.7 -

99.000

1.84

323.30

2 .00

1

3 88 1

0 100.0

9 .1

0 . 410

1 . 64

320.50

3.70

1

3 88 2

0 10.0

22 . 5

0.080

0.34

273.10

0 . 90

1

3 88 2

0 50.0

15 . 6 -

99.000

1.04

304.00

1. 50

1

3 88 2

0 100.0

13 . 4

0 .340

0.74

308.50

2 .50

1

3 88 3

0 10.0

63 . 3

0.080

-0.76

276.50

0 . 60

1

3 88 3

0 50.0

32.9 -

99.000

0 .04

331.70

1.30

1

3 88 3

0 100.0

27 . 0

0 .390

-0 .16

319.10

2 .30

1

3 88 4

0 10.0

74 . 4

0 .040

-1. 66

199.70

0 . 60

1

3 88 4

0 50.0

58.9-

99.000

-0.76

99 . 50

0 . 90

1

3 88 4

0 100.0

55 .1

0 . 450

-0.76

321.60

1.30

1

3 88 5

0 10.0

25 . 3

0 .130

-1.36

289.30

1.20

1

3 88 5

0 50.0

29.4 -

99.000

-0.86

339.30

1. 50

1

3 88 5

0 100.0

29 . 8

0 . 470

-1.26

333.20

2 .10

1

3 88 6

0 10.0

50 . 0

0 .100

-2 .16

254.00

0.80

1

3 88 6

0 50.0

44.0 -

99.000

-1.46

293.00

1.10

1

3 88 6

0 100.0

18 . 6

0 .460

-1.86

301.80

2 .20

1

3 88 7

0 10.0

43 . 3

0 .170

-2.26

264.30

0 . 90

1

3 88 7

0 50.0

28.3-

99.000

-1.76

305.20

1.80

1

3 88 7

0 100.0

15 . 0

0 . 470

-2.06

307.70

2 . 90

Figure 4-28. Partial contents of the site-specific data file ONSITE.MET.

JOB

















REPORT

ONSITE SI

REPORT

.TXT









MESSAGES

ONSITE SI

MESSAGE.TXT







ONSITE















DATA

ONSITE.MET











QAOUT

ONSITE QAOUT.TXT









XDATES

1988/3/1

TO 1988/3/10









LOCATION

99999 7 4

.0W 41.

3N 0









READ 1 OSDY OSMO OSYR OSHR HT01

SA01 SW01 TT 01

WD01 WS01



READ 2





HT02

SAO2 SW02 TT02

WD02 WS02



READ 3





HT03

SAO3 SW03 TT03

WD03 WS03



FORMAT 1

(4(12,IX)

, 4X,F5 .

1,IX,F5

. 1, IX,F7

.3,IX,

F6.2,IX,F7.2,IX,F7.2)



FORMAT 2

(16X,

F5 .

1,IX,F5

.1,IX,F7

.3,IX,

F6.2 , IX,F7.2,IX,F7 . 2)



FORMAT 3

(16X,

F5 .

1,IX,F5

. 1, IX,F7

.3,IX,

F6.2,IX,F7.2,IX,F7.2)



RANGE TT

-30 < 40

-99











RANGE SA

0 <= 95

-99











RANGE WS

0 < 50

-999











RANGE WD

0 <= 360

-999











THRESHOLD

0.3











Figure 4-29. Control file to extract and QA site-specific data.

4-35


-------
To execute AERMET Stage 1 for this example, the user will type the following at the
command prompt:

aermet.exe ONSITESl.INP

assuming the control file and AERMET executable are in the same folder. Processing
information will be written to the screen. If the user wishes to have that information written to a
text file, the user will type the following at the command prompt:

aermet.exe ONSITE Sl.INP > onsite_sl.txt

The contents of example_run.txt are shown in Figure 4-30 and show the AERMET
processing. The first line lists the start date and time of the AERMET processing. The next ten
lines notify the user of the extraction dates followed by ten lines denoting each day's data are
being QA'd. The final messages are that AERMET completed successfully followed by the
AERMET processing end date and time.

4-36


-------
START
Stage
Stage
Stage
Stage
Stage
Stage
Stage
Stage
Stage
Stage
Stage
Stage
Stage
Stage
Stage
Stage
Stage
Stage
Stage
Stage

PROCESSING DATE/T

Extracting ons
Extracting ons
Extracting ons
Extracting ons
Extracting ons
Extracting ons
Extracting ons
Extracting ons
Extracting ons
Extracting ons
QA'ing onsite
QA'ing onsite
QA'ing onsite
QA'ing onsite
QA'ing onsite
QA'ing onsite
QA'ing onsite
QA'ing onsite
QA'ing onsite
QA'ing onsite

IME: MAY
ite data
ite data
ite data
ite data
ite data
ite data
ite data
ite data
ite data
ite data
data for
data for
data for
data for
data for
data for
data for
data for
data for
data for

20, 2022 10:51:02 AM
for month/day/year 03/01/1988
for month/day/year 03/02/1988
for month/day/year 03/03/1988
for month/day/year 03/04/1988
for month/day/year 03/05/1988
for month/day/year 03/06/1988
for month/day/year 03/07/1988
for month/day/year 03/08/1988
for month/day/year 03/09/1988
for month/day/year 03/10/1988
month/day/year 03/01/1988 LST
month/day/year 03/02/1988 LST
month/day/year 03/03/1988 LST
month/day/year 03/04/1988 LST
month/day/year 03/05/1988 LST
month/day/year 03/06/1988 LST
month/day/year 03/07/1988 LST
month/day/year 03/08/1988 LST
month/day/year 03/09/1988 LST
month/day/year 03/10/1988 LST

LST
LST
LST
LST
LST
LST
LST
LST
LST
LST

AERMET FINISHED SUCCESSFULLY

END PROCESSING DATE/TIME: MAY 20, 2022 10:51:02 AM

Figure 4-30. Control file to extract and QA site-specific data.

Figure 4-31 shows the processing messages contained in ONSITE_Sl_MESSAGE.TXT.
Messages that start with 'W' are warning messages, T are informational messages, 'E' are error
messages and 'Q' are quality assurance messages. The 101 message indicates that Stage 1 is
being processed. The first 160 message indicates the start time of site-specific data extraction
and message 163 and 164 indicate the number of extracted and duplicate observations,
respectively. The second 160 message indicates the end of the extraction process. Message Q64
indicates a wind speed less than the threshold and the remaining Q61 messages indicate missing
variables with the indicated times and levels.

4-37


-------


101

READINP

PROCESSING STAGE 1







ONSITE

160

OS PROG

BEGIN: ONSITE EXTRACTION 20220520

10:51:02

ONSITE

163

OS PROG

NUMBER OF EXTRACTED

OBSERVATIONS:

240

ONSITE

164

OS PROG

NUMBER OF DUPLICATE

OBSERVATIONS:

0

ONSITE

16 6

OS PROG

NUMBER OF BAD HEIGHT LEVELS



0

ONSITE

160

OS PROG

END: ONSITE

EXTRACTION 20220520 10

: 51:02

ONSITE

Q64

CHECK WIND

19880307

HR

02

WIND

SPEED <

0.3 0 LEVEL 2

ONSITE

Q61

AUDIT

19880301

HR

11

TT01

MISSING

LEVEL

1

ONSITE

Q61

AUDIT

19880301

HR

11

WD01

MISSING

LEVEL

1

ONSITE

Q61

AUDIT

19880301

HR

11

WS01

MISSING

LEVEL

1

ONSITE

Q61

AUDIT

19880301

HR

11

TT02

MISSING

LEVEL

2

ONSITE

Q61

AUDIT

19880301

HR

11

WD02

MISSING

LEVEL

2

ONSITE

Q61

AUDIT

19880301

HR

11

WS02

MISSING

LEVEL

2

ONSITE

Q61

AUDIT

19880301

HR

11

TT03

MISSING

LEVEL

3

ONSITE

Q61

AUDIT

19880301

HR

11

WD03

MISSING

LEVEL

3

ONSITE

Q61

AUDIT

19880301

HR

11

WS03

MISSING

LEVEL

3

ONSITE

Q61

AUDIT

19880303

HR

18

TT02

MISSING

LEVEL

2

ONSITE

Q61

AUDIT

19880303

HR

19

TT02

MISSING

LEVEL

2

ONSITE

Q61

AUDIT

19880303

HR

20

TT02

MISSING

LEVEL

2

ONSITE

Q61

AUDIT

19880303

HR

21

TT02

MISSING

LEVEL

2

ONSITE

Q61

AUDIT

19880303

HR

22

TT02

MISSING

LEVEL

2

ONSITE

Q61

AUDIT

19880303

HR

23

TT02

MISSING

LEVEL

2

ONSITE

Q61

AUDIT

19880303

HR

24

TT02

MISSING

LEVEL

2

ONSITE

Q61

AUDIT

19880304

HR

1

TT02

MISSING

LEVEL

2

ONSITE

Q61

AUDIT

19880304

HR

2

TT02

MISSING

LEVEL

2

ONSITE

Q61

AUDIT

19880304

HR

3

TT02

MISSING

LEVEL

2

ONSITE

Q61

AUDIT

19880304

HR

4

TT02

MISSING

LEVEL

2

ONSITE

Q61

AUDIT

19880304

HR

5

TT02

MISSING

LEVEL

2

ONSITE

Q61

AUDIT

19880304

HR

6

TT02

MISSING

LEVEL

2

ONSITE

Q61

AUDIT

19880304

HR

7

TT02

MISSING

LEVEL

2

ONSITE

Q61

AUDIT

19880304

HR

8

TT02

MISSING

LEVEL

2

ONSITE

Q61

AUDIT

19880304

HR

9

TT02

MISSING

LEVEL

2

ONSITE

Q61

AUDIT

19880304

HR

10

TT02

MISSING

LEVEL

2

ONSITE

Q61

AUDIT

19880304

HR

11

TT02

MISSING

LEVEL

2

ONSITE

Q61

AUDIT

19880304

HR

12

TT02

MISSING

LEVEL

2

ONSITE

Q61

AUDIT

19880304

HR

13

TT02

MISSING

LEVEL

2

ONSITE

Q61

AUDIT

19880304

HR

14

TT02

MISSING

LEVEL

2

ONSITE

Q61

AUDIT

19880304

HR

15

TT02

MISSING

LEVEL

2

ONSITE

Q61

AUDIT

19880304

HR

16

TT02

MISSING

LEVEL

2

ONSITE

Q61

AUDIT

19880304

HR

17

TT02

MISSING

LEVEL

2

ONSITE

Q61

AUDIT

19880304

HR

18

TT02

MISSING

LEVEL

2

ONSITE

Q61

AUDIT

19880304

HR

19

TT02

MISSING

LEVEL

2

ONSITE

Q61

AUDIT

19880304

HR

20

TT02

MISSING

LEVEL

2

ONSITE

Q61

AUDIT

19880304

HR

21

TT02

MISSING

LEVEL

2

ONSITE

Q61

AUDIT

19880304

HR

22

TT02

MISSING

LEVEL

2

ONSITE

Q61

AUDIT

19880304

HR

23

TT02

MISSING

LEVEL

2

ONSITE

Q61

AUDIT

19880304

HR

24

TT02

MISSING

LEVEL

2

ONSITE

Q61

AUDIT

19880305

HR

1

TT02

MISSING

LEVEL

2

ONSITE

Q61

AUDIT

19880305

HR

2

TT02

MISSING

LEVEL

2

ONSITE

Q61

AUDIT

19880305

HR

3

TT02

MISSING

LEVEL

2

ONSITE

Q61

AUDIT

19880305

HR

4

TT02

MISSING

LEVEL

2

ONSITE

Q61

AUDIT

19880305

HR

5

TT02

MISSING

LEVEL

2

ONSITE

Q61

AUDIT

19880305

HR

6

TT02

MISSING

LEVEL

2

ONSITE

Q61

AUDIT

19880305

HR

7

TT02

MISSING

LEVEL

2

ONSITE

Q61

AUDIT

19880305

HR

8

TT02

MISSING

LEVEL

2

ONSITE

Q61

AUDIT

19880307

HR

2

WD02

MISSING

LEVEL

2

ONSITE

Q61

AUDIT

19880307

HR

16

WD01

MISSING

LEVEL

1

ONSITE

Q61

AUDIT

19880307

HR

16

WS01

MISSING

LEVEL

1

ONSITE

Q61

AUDIT

19880307

HR

17

WD01

MISSING

LEVEL

1

ONSITE

Q61

AUDIT

19880307

HR

17

WS01

MISSING

LEVEL

1

ONSITE

Q61

AUDIT

19880308

HR

10

TT01

MISSING

LEVEL

1

ONSITE

Q61

AUDIT

19880308

HR

10

WD01

MISSING

LEVEL

1

ONSITE

Q61

AUDIT

19880308

HR

10

WS01

MISSING

LEVEL

1

ONSITE

Q61

AUDIT

19880308

HR

10

TT02

MISSING

LEVEL

2

ONSITE

Q61

AUDIT

19880308

HR

10

WD02

MISSING

LEVEL

2

ONSITE

Q61

AUDIT

19880308

HR

10

WS02

MISSING

LEVEL

2

ONSITE

Q61

AUDIT

19880308

HR

10

TT03

MISSING

LEVEL

3

ONSITE

Q61

AUDIT

19880308

HR

10

WD03

MISSING

LEVEL

3

ONSITE

Q61

AUDIT

19880308

HR

10

WS03

MISSING

LEVEL

3

Figure 4-31. Contents of the ON SITES 1_ME SSAGE.TXT message file.

4-38


-------
Figure 4-32 through Figure 4-34 show the contents of the report file,
ONSITE_Sl_REPORT.TXT. Figure 4-32 is analogous to

Figure 4-4 and Figure 4-11, showing the input information. Figure 4-33 shows the QA
summary of the site-specific data and has a missing value and bounds summary like Figure 4-5
and Figure 4-13. Since there is more than one level of data, the QA summary is by level. Most
of the data are accepted and there was only one wind speed less than the threshold. Finally,
Figure 4-34 shows the message summary for the site-specific data extraction. There are no error
or warning messages and five information messages distributed among 101,160,163, and 164.
There are 63 QA messages with 62 of those associated with Q61 and one for Q64.

4-39


-------
AERMET SETUP
SUCCESSFUL



AERMET VERSION 22112



START PROCESSING DATE/TIME: MAY 20, 2022 10:51:02 AM



RUNSTREAM CONTROL FILE: ONSITE Sl.INP



**************************** INPUT SUMMARY ****************************



PROCESSING STAGES 1



1. JOB FILE NAMES



MESSAGES OPEN ONSITE SI MESSAGE.TXT
REPORT OPEN ONSITE SI REPORT.TXT
DEBUG NO FILE



2. UPPERAIR DATA



NO PROCESSING REQUESTED



3. SURFACE DATA



NO PROCESSING REQUESTED



4 . ONSITE DATA



PROCESSING DATES: 03/01/1988 - 03/10/1988



SITE ID LATITUDE LONGITUDE TIME ADJUSTMENT

ELEVATION

LOCATION: 99999 41.30 -74.00 0

O
O

O

DATA FILE: OPEN ONSITE.MET
QAOUT FILE: OPEN ONSITE QAOUT.TXT



NUMBER OF OBSERVATIONS/HOUR: 1



THRESHOLD WIND SPEED (M/S): 0.30



5. PROG DATA



NO PROCESSING REQUESTED



6. METPREP DATA



NO PROCESSING REQUESTED



Figure 4-32. Input summary contents of the ONSITE extraction report file.

4-40


-------
********************

******** QA SIJMMARY ***

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

******





ONSITE DATA











VARIABLE MISSING

VALUE LOWER BOUND

UPPER BOUND







TT -99.00

<= -30.00

>= 4 0.00







WD -999.00

<0.00

> 360.00







WS -999.00

A
II

o

o
o

>= 50.00







HOURLY VALUES











LEVEL

VARIABLE #

# LOWER

UPPER

%





OBS

MISSING BOUND

BOUND

ACCEPTED

10.000 M

TT 240

2 0

0

99

17



WD 24 0

4 0

0

98

33



WS 24 0

4 0

0

98

33

50.000 M

TT 240

41 0

0

82

92



WD 24 0

3 0

0

98

75



WS 24 0

2 0

0

99

17

100.000 M

TT 240

2 0

0

99

17



WD 24 0

2 0

0

99

17



WS 24 0

2 0

0

99

17

WIND AND TEMPERATURE CHECKS (IF APPLICABLE)









NUMBER OF OBS:











1 CALM WINDS (

< THRESHOLD)









0 NO INPUT WD

WITH WS









0 NO INPUT WD

WITH WS









Figure 4-33. QA summary contents of the ONSITE extraction report file.

4-41


-------
MESSAGE SUMMARY

ERROR MESSAGES

0 MESSAGES

WARNING MESSAGES

0 MESSAGES

INFORMATION MESSAGES

5 MESSAGES

101
160

163

164

1

2
1
1

QA MESSAGES

63 MESSAGES

Q61:
Q64 :

62
1

AERMET FINISHED SUCCESSFULLY

END PROCESSING DATE/TIME: MAY 20, 2022 10:51:02 AM

Figure 4-34. Message summary contents of the ONSITE extraction report file.

Figure 4-35 shows the QAOUT file, ONSITE QA.OUT. The header has similar
information as the SURFACE and UPPERAIR QAOUT files shown in Figure 4-7 and Figure
4-17, respectively. Additionally, the ONSITE QAOUT file will include the threshold wind
speed, an over land or over water identifier, and modified missing values or bounds for the
variables. Also included are the first and last levels for multi-level variables. In this example, all
variables occur on all three levels. For descriptions of the variable names see Table B-3 and
Table B-4 in Appendix B.

4-42


-------
AERMET VERSION 22112













LOCATION 999 99

41.

3 0 ON 74.

OOOW 0









FILE TYPE:

QAOUT















THRESHOLD

0.300















OVERLAND

















DATES 1988

03 01

1988

03 10











RANGE SANN

0

<=

95 -99











RANGE TTNN

-30

<

40 -99











RANGE WDNN

0

<=

360 -999











RANGE WSNN

0

<

50 -999











HTNN FIRST

-LAST

LEVELS

1 3











SANN FIRST

-LAST

LEVELS

1 3











SWNN FIRST

-LAST

LEVELS

1 3











TTNN FIRST

-LAST

LEVELS

1 3











WDNN FIRST

-LAST

LEVELS

1 3











WSNN FIRST

-LAST

LEVELS

1 3











DATE

HR

LEV

HTNN

SANN

SWNN

TTNN

WDNN

WSNN

19880301

01

1

10 .0000

48 .7000

0 .1100

0.6400

317.5000

0.8000

19880301

01

2

50.0000

14.7000

-99.0000

1.8400

323.3000

2.0000

19880301

01

3

100.0000

9.1000

0 .4100

1.6400

320.5000

3.7000

19880301

02

1

10.0000

22.5000

0.0800

0.3400

273 .1000

0 . 9000

19880301

02

2

50.0000

15.6000

-99 .0000

1.0400

304.0000

1.5000

19880301

02

3

100.0000

13.4000

0.3400

0.7400

308.5000

2.5000

19880301

03

1

10.0000

63 .3000

0.0800

-0.7600

276.5000

0.6000

19880301

03

2

50.0000

32.9000

-99 .0000

0.0400

331.7000

1.3000

19880301

03

3

100.0000

27.0000

0 .3900

-0.1600

319.1000

2.3000

19880301

04

1

10.0000

74.4000

0 .0400

-1. 6600

199.7000

0.6000

19880301

04

2

50.0000

58.9000

-99 .0000

-0 .7600

99.5000

0.9000

19880301

04

3

100.0000

55.1000

0.4500

-0 .7600

321. 6000

1.3000

19880301

05

1

10.0000

25.3000

0 .1300

-1.3600

289.3000

1.2000

19880301

05

2

50.0000

29.4000

-99 .0000

-0.8600

339.3000

1.5000

19880301

05

3

100.0000

29.8000

0.4700

-1.2600

333 .2000

2.1000

Figure 4-35. Partial contents of the ONSITE QAOUT file.

4-43


-------
4.2.2 Data merge and boundary layer calculations

After extracting the site-specific data, the next step is to merge the site-specific data with
the surface data and upper air data extracted in Stage 1 as part of the example discussed in
Section 4.1. The AERMET Stage 2 control file, ONSITE S2.INP, is shown in Figure 4-36. The
QAOUT files from the upper air and surface extractions discussed in 4.1 are shown in the
UPPERAIR and SURFACE pathways. The site-specific QAOUT data are shown in the
ONSITE pathway. The METPREP pathway lists the two output files, ONSITE NWS.SFC and
ONSITE NWS.PFL. The LOCATION keyword gives the location of the modeled source and
method options include NWS substitution and randomization of the wind directions. The NWS
anemometer height is listed as 6.1 m. Since surface data are from two sources, the site-specific
location, and the NWS station, two sets of surface characteristics are listed. The site-specific
characteristics are denoted by FREQ SECT, SECTOR, and SITE CHAR and are monthly for
two sectors. The NWS station surface characteristics are denoted by FREQ SECT2, SECTOR2,
and SITE CHAR2 and are the same as shown in the example discussed in Section 4.1.3.

To execute AERMET Stage 2 for this example, the user will type the following at the
command prompt:

aermet.exe ONSITE S2.INP

assuming the control file and AERMET executable are in the same folder. Processing
information will be written to the screen. If the user wishes to have that information written to a
text file, the user will type the following at the command prompt:

aermet.exe ONSITE_S2.INP > onsite_s2.txt

The contents of ONSITE_S2.TXT are shown in Figure 4-37 and show the AERMET
processing. The first line lists the start date and time of the AERMET processing. The next ten
lines notify the user of the upper air extraction dates followed by ten lines denoting surface
extraction dates. The next ten lines denote that the initial data assignments for variables such as
wind and temperature are being performed, and the following ten lines denote PBL calculations

4-44


-------
are being performed. The final messages indicate that AERMET completed successfully
followed by the AERMET processing end date and time.

Figure 4-38 through Figure 4-40 show partial contents of the
ONSITE_2_MESSAGE.TXT file. Figure 4-38 shows extraction messages for the upper air,
surface, and site-specific data. The messages for the upper air and surface extraction are the
same as shown in Figure 4-20 in Section 4.1.3. Messages 160 through 164 and the second 160
message denote the site-specific extraction. Message 170 indicates the beginning of PBL
calculations and 182 indicates that the solar angle method will be used to determine stability. In
Figure 4-39, message 173 occurs throughout the PBL calculations, indicating that the
measurement height of 10 m from the site-specific data is less than 20 times the surface
roughness of 0.75. This is pointed out to indicate that AERMET is using the site-specific
characteristics when site-specific data are available. Figure 4-40 shows messages about
sounding information and note that message 190 indicates that NWS data are substituted for
March 3, 1988, hour 10.

4-45


-------
JOB











REPORT

ONSITE



S2 REPORT.RPT



MESSAGES

ONSITE



S2 MESSAGE.TXT



UPPERAIR











QAOUT

UPPER



QAOUT.TXT



SURFACE











QAOUT

SURFACE QAOUT

.TXT



ONSITE











QAOUT

ONSITE

QAOUT.

TXT



METPREP











OUTPUT

ONSITE



NWS.SFC





PROFILE

ONSITE



NWS.PFL





LOCATION

MYSITE

74.00W

41.3N 5



METHOD

REFLEVEL SUBNWS



METHOD

WIND DIR RANDOM



NWS HGT

WIND



6.1





FREQ SECT

MONTHLY 2





SECTOR 1

35



225





SECTOR 2

225



35





SITE CHAR

1

1

0.350

0. 800

0.300

SITE CHAR

2

1

0.350

0. 800

0.300

SITE CHAR

3

1

0.350

0. 800

0.300

SITE CHAR

4

1

0.250

0.400

0.500

SITE CHAR

5

1

0.250

0.400

0.500

SITE CHAR

6

1

0. 120

0.200

0.700

SITE CHAR

7

1

0. 120

0.200

0.700

SITE CHAR

8

1

0. 120

0.200

0.700

SITE CHAR

9

1

0.200

0. 600

0.500

SITE CHAR

10

1

0.200

0. 600

0.500

SITE CHAR

11

1

0.200

0. 600

0.500

SITE CHAR

12

1

0.350

0. 800

0.300

SITE CHAR

1

2

0.500

1.500

0.750

SITE CHAR

2

2

0.500

1.500

0.750

SITE CHAR

3

2

0.500

1.500

0.750

SITE CHAR

4

2

0.250

0.700

1. 000

SITE CHAR

5

2

0.250

0.700

1. 000

SITE CHAR

6

2

0. 150

0.300

1.500

SITE CHAR

7

2

0. 150

0.300

1.500

SITE CHAR

8

2

0. 150

0.300

1.500

SITE CHAR

9

2

0.200

1. 000

1.250

SITE CHAR

10

2

0.200

1. 000

1.250

SITE CHAR

11

2

0.200

1. 000

1.250

SITE CHAR

12

2

0.500

1.500

0.750

FREQ SECT2

ANNUAL

1





SECTOR2

1

0

360



SITE CHAR2

1 1

0

.15 2.

O

o
ro



Figure 4-36. Control file for boundary layer calculations in METPREP.

4-46


-------
START
Stage
Stage
Stage
Stage
Stage
Stage
Stage
Stage
Stage
Stage
Stage
Stage
Stage
Stage
Stage
Stage
Stage
Stage
Stage
Stage
Stage
Stage
Stage
Stage
Stage
Stage
Stage
Stage
Stage
Stage
Stage
Stage
Stage
Stage
Stage
Stage
Stage
Stage
Stage
Stage
Stage
Stage
Stage
Stage
Stage
Stage
Stage
Stage
Stage
Stage

PROCESSING DATE/TIME: MAY 20, 2022 10:51:04 AM

Extracting upper air data for month/day/year 03/01/1988 LST
Extracting upper air data for month/day/year 03/02/1988 LST
Extracting upper air data for month/day/year 03/03/1988 LST
Extracting upper air data for month/day/year 03/04/1988 LST
Extracting upper air data for month/day/year 03/05/1988 LST
Extracting upper air data for month/day/year 03/06/1988 LST
Extracting upper air data for month/day/year 03/07/1988 LST
Extracting upper air data for month/day/year 03/08/1988 LST
Extracting upper air data for month/day/year 03/09/1988 LST
Extracting upper air data for month/day/year 03/10/1988 LST
Extracting surface data for month/day/year 03/01/1988 LST
Extracting surface data for month/day/year 03/02/1988 LST
Extracting surface data for month/day/year 03/03/1988 LST
Extracting surface data for month/day/year 03/04/1988 LST
Extracting surface data for month/day/year 03/05/1988 LST
Extracting surface data for month/day/year 03/06/1988 LST
Extracting surface data for month/day/year 03/07/1988 LST
Extracting surface data for month/day/year 03/08/1988 LST
Extracting surface data for month/day/year 03/09/1988 LST
Extracting surface data for month/day/year 03/10/1988 LST
Extracting onsite data for month/day/year 03/01/1988 LST
Extracting onsite data for month/day/year 03/02/1988 LST
Extracting onsite data for month/day/year 03/03/1988 LST
Extracting onsite data for month/day/year 03/04/1988 LST
Extracting onsite data for month/day/year 03/05/1988 LST
Extracting onsite data for month/day/year 03/06/1988 LST
Extracting onsite data for month/day/year 03/07/1988 LST
Extracting onsite data for month/day/year 03/08/1988 LST
Extracting onsite data for month/day/year 03/09/1988 LST
Extracting onsite data for month/day/year 03/10/1988 LST
Initial data assignments for month/day/year 03/01/1988 LST
Initial data assignments for month/day/year 03/02/1988 LST
Initial data assignments for month/day/year 03/03/1988 LST
Initial data assignments for month/day/year 03/04/1988 LST
Initial data assignments for month/day/year 03/05/1988 LST
Initial data assignments for month/day/year 03/06/1988 LST
Initial data assignments for month/day/year 03/07/1988 LST
Initial data assignments for month/day/year 03/08/1988 LST
Initial data assignments for month/day/year 03/09/1988 LST
Initial data assignments for month/day/year 03/10/1988 LST
PBL calculations for month/day/year 03/01/1988 LST
PBL calculations for month/day/year 03/02/1988 LST
PBL calculations for month/day/year 03/03/1988 LST
PBL calculations for month/day/year 03/04/1988 LST
PBL calculations for month/day/year 03/05/1988 LST
PBL calculations for month/day/year 03/06/1988 LST
PBL calculations for month/day/year 03/07/1988 LST
PBL calculations for month/day/year 03/08/1988 LST
PBL calculations for month/day/year 03/09/1988 LST
PBL calculations for month/day/year 03/10/1988 LST

AERMET FINISHED SUCCESSFULLY

END PROCESSING DATE/TIME: MAY 20, 2022 10:51:04 AM

Figure 4-37. Processing steps for the boundary layer calculations

4-47


-------


101

READINP

PROCESSING

STAGE 2















UPPERAIR

W01

GETLOC

STATION

ELEVATION NOT NEEDED











METPREP

W7 0

PBL TEST

LOCATION KEYWORD NOT

NEEDED













UPPERAIR

120

UP PROC

UPPER AIR

EXTRACTION

BEGIN 20220520 10:

51: 04









UPPERAIR

123

UP PROC

NUMBER

OF

EXTRACTED

SOUNDINGS: 2 0











UPPERAIR

124

UP PROC

NUMBER

OF

UNIQUE VALID SOUNDINGS: 2 0











UPPERAIR

125

UP PROC

NUMBER

OF

DUPLICATE

SOUNDINGS: 0











UPPERAIR

126

UP PROC

NUMBER

OF

SKIPPED SOUNDINGS:

0











UPPERAIR

120

UP PROC

UPPER AIR

EXTRACTION

END 20220520 10:51

: 04









SURFACE

140

SF PROC

SURFACE

EXTRACTION BEGIN: 20220520 10:51:04









SURFACE

W4 5

CHECK ASOS

STATION

IS

ASOS, BUT

BEFORE

COMMISSION

DATE

19950801

FOR

DATE

19880301

SURFACE

W4 5

CHECK ASOS

STATION

IS

ASOS, BUT

BEFORE

COMMISSION

DATE

19950801

FOR

DATE

19880302

SURFACE

W4 5

CHECK ASOS

STATION

IS

ASOS, BUT

BEFORE

COMMISSION

DATE

19950801

FOR

DATE

19880303

SURFACE

W4 5

CHECK ASOS

STATION

IS

ASOS, BUT

BEFORE

COMMISSION

DATE

19950801

FOR

DATE

19880304

SURFACE

W4 5

CHECK ASOS

STATION

IS

ASOS, BUT

BEFORE

COMMISSION

DATE

19950801

FOR

DATE

19880305

SURFACE

W4 5

CHECK ASOS

STATION

IS

ASOS, BUT

BEFORE

COMMISSION

DATE

19950801

FOR

DATE

19880306

SURFACE

W4 5

CHECK ASOS

STATION

IS

ASOS, BUT

BEFORE

COMMISSION

DATE

19950801

FOR

DATE

19880307

SURFACE

W4 5

CHECK ASOS

STATION

IS

ASOS, BUT

BEFORE

COMMISSION

DATE

19950801

FOR

DATE

19880308

SURFACE

W4 5

CHECK ASOS

STATION

IS

ASOS, BUT

BEFORE

COMMISSION

DATE

19950801

FOR

DATE

19880309

SURFACE

W4 5

CHECK ASOS

STATION

IS

ASOS, BUT

BEFORE

COMMISSION

DATE

19950801

FOR

DATE

19880310

SURFACE

146

SF PROC

NUMBER

OF

EXTRACTED

SURFACE

OBSERVATIONS:

240







SURFACE

147

SF PROC

NUMBER

OF

RETAINED OBSERVATIONS: 24 0











SURFACE

140

SF PROC

SURFACE

EXTRACTION END: 20220520 10:51:

04









ONSITE

160

OS PROC

BEGIN:

ONSITE EXTRACTION 20220520 10:51

: 04









ONSITE

163

OS PROC

NUMBER

OF

EXTRACTED

OBSERVATIONS:

240









ONSITE

164

OS PROC

NUMBER

OF

DUPLICATE

OBSERVATIONS:

0









ONSITE

16 6

OS PROC

NUMBER

OF

BAD HEIGHT

LEVELS:

0











ONSITE

160

OS PROC

END: ONSITE EXTRACTION 20220520 10:51:04









METPREP

170

PBL PROC

PBL CALCULATIONS BEGIN: 20220520 10:51

: 04









METPREP

184

PBL PROC

SOLAR ANGLE APPROACH

WILL BE

USED FOR STABILITY DETERMINATION



Figure 4-38. Initial contents of the Stage 2 message file ONSITE_S2_MESSAGE.TXT

4-48


-------
METPREP

173

WINDS

DATE

19880301

HR

01

WIND

HEIGHT

10.00

2 OX

ZO

0 .75

METPREP

173

WINDS

DATE

19880301

HR

02

WIND

HEIGHT

10.00

2 OX

ZO

0 .75

METPREP

173

WINDS

DATE

19880301

HR

03

WIND

HEIGHT

10.00

2 OX

ZO

0 .75

METPREP

173

WINDS

DATE

19880301

HR

05

WIND

HEIGHT

10.00

2 OX

ZO

0 .75

METPREP

173

WINDS

DATE

19880301

HR

06

WIND

HEIGHT

10.00

2 OX

ZO

0 .75

METPREP

173

WINDS

DATE

19880301

HR

07

WIND

HEIGHT

10.00

2 OX

ZO

0 .75

METPREP

173

WINDS

DATE

19880301

HR

08

WIND

HEIGHT

10.00

2 OX

ZO

0 .75

METPREP

173

WINDS

DATE

19880301

HR

09

WIND

HEIGHT

10.00

2 OX

ZO

0 .75

METPREP

173

WINDS

DATE

19880301

HR

10

WIND

HEIGHT

10.00

2 OX

ZO

0 .75

METPREP

173

WINDS

DATE

19880301

HR

12

WIND

HEIGHT

10.00

2 OX

ZO

0 .75

METPREP

173

WINDS

DATE

19880301

HR

13

WIND

HEIGHT

10.00

2 OX

ZO

0 .75

METPREP

173

WINDS

DATE

19880301

HR

14

WIND

HEIGHT

10.00

2 OX

ZO

0 .75

METPREP

173

WINDS

DATE

19880301

HR

15

WIND

HEIGHT

10.00

2 OX

ZO

0 .75

METPREP

173

WINDS

DATE

19880301

HR

16

WIND

HEIGHT

10.00

2 OX

ZO

0 .75

METPREP

173

WINDS

DATE

19880301

HR

17

WIND

HEIGHT

10.00

2 OX

ZO

0 .75

METPREP

173

WINDS

DATE

19880301

HR

18

WIND

HEIGHT

10.00

2 OX

ZO

0 .75

METPREP

173

WINDS

DATE

19880301

HR

19

WIND

HEIGHT

10.00

2 OX

ZO

0 .75

METPREP

173

WINDS

DATE

19880301

HR

20

WIND

HEIGHT

10.00

2 OX

ZO

0 .75

METPREP

173

WINDS

DATE

19880301

HR

21

WIND

HEIGHT

10.00

2 OX

ZO

0 .75

METPREP

173

WINDS

DATE

19880301

HR

22

WIND

HEIGHT

10.00

2 OX

ZO

0 .75

METPREP

173

WINDS

DATE

19880301

HR

23

WIND

HEIGHT

10.00

2 OX

ZO

0 .75

METPREP

173

WINDS

DATE

19880301

HR

24

WIND

HEIGHT

10.00

2 OX

ZO

0 .75

METPREP

173

WINDS

DATE

19880302

HR

01

WIND

HEIGHT

10.00

2 OX

ZO

0 .75

METPREP

173

WINDS

DATE

19880302

HR

02

WIND

HEIGHT

10.00

2 OX

ZO

0 .75

METPREP

173

WINDS

DATE

19880302

HR

03

WIND

HEIGHT

10.00

2 OX

ZO

0 .75

METPREP

173

WINDS

DATE

19880302

HR

04

WIND

HEIGHT

10.00

2 OX

ZO

0 .75

METPREP

173

WINDS

DATE

19880302

HR

05

WIND

HEIGHT

10.00

2 OX

ZO

0 .75

METPREP

173

WINDS

DATE

19880302

HR

06

WIND

HEIGHT

10.00

2 OX

ZO

0 .75

METPREP

173

WINDS

DATE

19880302

HR

07

WIND

HEIGHT

10.00

2 OX

ZO

0 .75

METPREP

173

WINDS

DATE

19880302

HR

08

WIND

HEIGHT

10.00

2 OX

ZO

0 .75

METPREP

173

WINDS

DATE

19880302

HR

18

WIND

HEIGHT

10.00

2 OX

ZO

0 .75

METPREP

173

WINDS

DATE

19880302

HR

19

WIND

HEIGHT

10.00

2 OX

ZO

0 .75

Figure 4-39. Partial contents of the Stage 2 message file ONSITE_S2_MESSAGE.TXT

4-49


-------
METPREP

177

READ

SOUND

SOUNDING FOR DATE

19880301 IS

19880301 HR 07

SOUNDING

#

1







METPREP

W7 6

READ

"sound

DATE 19880301 TOP

OF SOUNDING

5.2 KM EXTENDS

BEYOND 5

. 0

KM;

SOUNDING

NOT

EXTENDED

ONSITE

190

PROFILE

NWS DATA SUBSTITUTED FOR ONSITE

DATA FOR DATE

19880301

HR 11







METPREP

177

READ

SOUND

SOUNDING FOR DATE

19880302 IS

19880302 HR 07

SOUNDING

#

1







METPREP

W7 6

READ

"sound

DATE 19880302 TOP

OF SOUNDING

5.4 KM EXTENDS

BEYOND 5

. 0

KM;

SOUNDING

NOT

EXTENDED

METPREP

177

READ

"sound

SOUNDING FOR DATE

19880303 IS

19880303 HR 07

SOUNDING

#

1







METPREP

W7 6

READ

"sound

DATE 19880303 TOP

OF SOUNDING

5.4 KM EXTENDS

BEYOND 5

. 0

KM;

SOUNDING

NOT

EXTENDED

METPREP

177

READ

"sound

SOUNDING FOR DATE

19880304 IS

19880304 HR 07

SOUNDING

#

1







METPREP

W7 6

READ

"sound

DATE 19880304 TOP

OF SOUNDING

5.4 KM EXTENDS

BEYOND 5

. 0

KM;

SOUNDING

NOT

EXTENDED

METPREP

177

READ

"sound

SOUNDING FOR DATE

19880305 IS

19880305 HR 07

SOUNDING

#

1







METPREP

W7 6

READ

"sound

DATE 19880305 TOP

OF SOUNDING

5.4 KM EXTENDS

BEYOND 5

. 0

KM;

SOUNDING

NOT

EXTENDED

METPREP

177

READ

"sound

SOUNDING FOR DATE

19880306 IS

19880306 HR 07

SOUNDING

#

1







METPREP

W7 6

READ

"sound

DATE 19880306 TOP

OF SOUNDING

5.4 KM EXTENDS

BEYOND 5

. 0

KM;

SOUNDING

NOT

EXTENDED

METPREP

177

READ

"sound

SOUNDING FOR DATE

19880307 IS

19880307 HR 07

SOUNDING

#

1







METPREP

W7 6

READ

"sound

DATE 19880307 TOP

OF SOUNDING

5.4 KM EXTENDS

BEYOND 5

. 0

KM;

SOUNDING

NOT

EXTENDED

METPREP

177

READ

"sound

SOUNDING FOR DATE

19880308 IS

19880308 HR 07

SOUNDING

#

1







METPREP

W7 6

READ

"sound

DATE 19880308 TOP

OF SOUNDING

5.5 KM EXTENDS

BEYOND 5

. 0

KM;

SOUNDING

NOT

EXTENDED

ONSITE

190

PROFILE

NWS DATA SUBSTITUTED FOR ONSITE

DATA FOR DATE

19880308

HR 10







METPREP

177

READ

SOUND

SOUNDING FOR DATE

19880309 IS

19880309 HR 07

SOUNDING

#

1







METPREP

W7 6

READ

"sound

DATE 19880309 TOP

OF SOUNDING

5.5 KM EXTENDS

BEYOND 5

. 0

KM;

SOUNDING

NOT

EXTENDED

METPREP

177

READ

"sound

SOUNDING FOR DATE

19880310 IS

19880310 HR 07

SOUNDING

#

1







METPREP

W7 6

READ

"sound

DATE 19880310 TOP

OF SOUNDING

5.0 KM EXTENDS

BEYOND 5

. 0

KM;

SOUNDING

NOT

EXTENDED

Figure 4-40. Final contents of the Stage 2 message file ONSITE_S2_MESSAGE.TXT

4-50


-------
Figure 4-41 through Figure 4-45 show the contents of the report file,
ONSITE_S2_REPORT.TXT. Figure 4-41 is similar to

Figure 4-4, Figure 4-11, and Figure 4-32 in that it shows the summary files and locations
of the upper air and surface stations and site-specific tower location. Figure 4-42 shows the
summary for the METPREP pathway, including processing dates, site location (even though not
needed), the output filenames and processing options. For this example, wind directions are
randomized, and cloud substitution is performed. However, temperature substitution is not
performed. Following the METPREP summary is the surface characteristics summary in Figure
4-43 where the surface characteristics for each processed year are shown for both the primary
(site-specific tower) and secondary (NWS station) locations. For this example, only one year is
processed. Figure 4-44 shows the observations and PBL calculation summaries and is analogous
to Figure 4-24. Finally, in Figure 4-45 is the message file summary, like Figure 4-25. For the
boundary layer calculations there are no error messages, 22 warning messages distributed
among W01, W45, W70, and W76, and 211 information messages distributed among several
message types and no quality assurance messages. Finally, the report file notifies the user
AERMET finished successfully with the date and time the program finished processing.

Figure 4-46 and Figure 4-47 show the contents of the two output files,

ONSITE NWS.SFC and ONSITE NWS.PFL, respectively. The user is referred to Table C-4
and Table C-5 in Appendix C, and Section C. 2 for the formats. Note that the data in the surface
file shown in Figure 4-46 is a mix of site-specific (NAD-OS) and NWS (NAD-SFC) data. For
the profile data shown in Figure 4-47 the three levels of temperature, wind, and turbulence data
from the site-specific data are evident.

4-51


-------
AERMET SETUP
SUCCESSFUL







AERMET VERSION 22112







START PROCESSING DATE/TIME: MAY 20, 2022 10:51:04 AM







RUNSTREAM CONTROL FILE: ONSITE S2.INP







**************************** INPUT SUMMARY ***********

******

***********



AERMET SETUP SUCCESSFUL







PROCESSING STAGES 2







1. JOB FILE NAMES







MESSAGES OPEN ONSITE S2 MESSAGE.TXT
REPORT OPEN ONSITE S2 REPORT.RPT
DEBUG NO FILE







2. UPPERAIR DATA







PROCESSING DATES: 03/01/1988 - 03/10/1988







SITE ID LATITUDE LONGITUDE

TIME

ADJUSTMENT



LOCATION: 00014735 42.75 -73.80



5



DATA FILE: NO FILENAME INPUT

EXTRACT FILE: NO FILENAME INPUT

QAOUT FILE: OPEN UPPER QAOUT.TXT







UPPER AIR DATA ABOVE 5000 NOT EXTRACTED







UPPER AIR AUTOMATIC DATA CHECKS ARE: OFF







3. SURFACE DATA







PROCESSING DATES: 03/01/1988 - 03/10/1988







SITE ID LATITUDE LONGITUDE

TIME

ADJUSTMENT

ELEVATION

LOCATION: 14735 42.75 -73.80



0

CO
CO

CO

o

ASOS COMMISSION DATE: 19950801

DATA FILE: NO FILENAME INPUT

ASOS1MIN FILE: NO FILENAME INPUT

EXTRACT FILE: NO FILENAME INPUT

QAOUT FILE: OPEN SURFACE QAOUT.TXT







4. ONSITE DATA







PROCESSING DATES: 03/01/1988 - 03/10/1988







SITE ID LATITUDE LONGITUDE

TIME

ADJUSTMENT

ELEVATION

LOCATION: 99999 41.30 -74.00



0

o
o

o

DATA FILE: NO FILENAME INPUT

QAOUT FILE: OPEN ONSITE QAOUT.TXT







NUMBER OF OBSERVATIONS/HOUR: 1







5. PROG DATA







NO PROCESSING REQUESTED







Figure 4-41. Input summary contents of ONSITE_S2_REPORT.TXT

4-52


-------
6. METPREP DATA





PROCESSING DATES

: 03/01/1988 - 03/10/1988



SITE

ID LATITUDE LONGITUDE TIME ADJUSTMENT

LOCATION:



-9 41.30 -74.00 5

OUTPUT FILE:
PROFILE FILE:

OPEN
OPEN

ONSITE NWS.SFC
ONSITE NWS.PFL

METPREP PROCESSING OPTIONS

PROCESS OPTION DESCRIPTION

WIND DIRECTION
REFLEVEL
CLOUD COVER
TEMPERATURE



RANDOM WIND DIRECTIONS ARE RAMDOMNIZED

SUBNWS NWS WINDS AND TEMPS SUBSTITUED FOR MISSING ONSITE DATA
SUB CC CLOUD COVER SUBSTITUTED
NOTSUB TEMPERATURE NOT SUBSTITUTED

Figure 4-42. METPREP summary contents of ONSITE_S2_REPORT.TXT

4-53


-------
**************************** SFC CHARACTERISTICS SUMMARY ****************************

PRIMARY SITE CHARACTERISTICS

YEAR: 198 8 FREQUENCY MONTHLY

NUMBER OF SECTORS: 2

YEAR

MONTH

BEGIN SECTOR

END SECTOR

ALBEDO

BOWEN RATIO

ROUGHNESS

1988

JANUARY

35.

225.

0 . 35

0

80

0

3000

1988

JANUARY

225.

35.

0 . 50

1

50

0

7500

1988

FEBRUARY

35.

225.

0 . 35

0

80

0

3000

1988

FEBRUARY

225.

35.

0 . 50

1

50

0

7500

1988

MARCH

35.

225.

0 . 35

0

80

0

3000

1988

MARCH

225.

35.

0 . 50

1

50

0

7500

1988

APRIL

35.

225.

0 . 25

0

40

0

5000

1988

APRIL

225.

35.

0 . 25

0

70

1

0000

1988

MAY

35.

225.

0 . 25

0

40

0

5000

1988

MAY

225.

35.

0 . 25

0

70

1

0000

1988

JUNE

35.

225.

0 . 12

0

20

0

7000

1988

JUNE

225.

35.

0 . 15

0

30

1

5000

1988

JULY

35.

225.

0 . 12

0

20

0

7000

1988

JULY

225.

35.

0 . 15

0

30

1

5000

1988

AUGUST

35.

225.

0 . 12

0

20

0

7000

1988

AUGUST

225.

35.

0 . 15

0

30

1

5000

1988

SEPTEMBER

35.

225.

0 .20

0

60

0

5000

1988

SEPTEMBER

225.

35.

0 .20

1

00

1

2500

1988

OCTOBER

35.

225.

0 .20

0

60

0

5000

1988

OCTOBER

225.

35.

0 .20

1

00

1

2500

1988

NOVEMBER

35.

225.

0 .20

0

60

0

5000

1988

NOVEMBER

225.

35.

0 .20

1

00

1

2500

1988

DECEMBER

35.

225.

0 . 35

0

80

0

3000

1988

DECEMBER

225.

35.

0 . 50

1

50

0

7500

SECONDARY SITE CHARACTERISTICS

YEAR: 198 8 FREQUENCY: ANNUAL

NUMBER OF SECTORS: 1

YEAR	BEGIN SECTOR END SECTOR	ALBEDO	BOWEN RATIO ROUGHNESS LENGTH (M)

1988	0.	360.	0.15	2.00	0.1200

Figure 4-43. Surface characteristics summary contents of ONSITE_S2_REPORT.TXT

4-54


-------
STARTING: Ol-MAR-198
ENDING: 10-MAR-1988

OBSERVATIONS PER DAY SUMMARY

TOTAL OBSERVATION COUNTS

NWS UPPER AIR
NWS SURFACE
ONSITE

1-MIN ASOS HR

OBS
OBS
OBS
OBS

20
240
240
0

DAILY OUTPUT STATISTICS

1988 MO/DY:

03/01

03/02

03/03

03/04

03/05

03/06

03/07

03/08

03/09

03/10

NWS UPPER AIR

OBS

2

2

2

2

2

2

2

2

2

2

NWS SURFACE

OBS

24

24

24

24

24

24

24

24

24

24

ONSITE

OBS

24

24

24

24

24

24

24

24

24

24

1-MIN ASOS HR

OBS

0

0

0

0

0

0

0

0

0

0

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

*****

********

PBL

PROCESSING

SUMMARY

******

********

********

******





NUMBER OF DAYS WITH NO CONVECTIVE CONDITIONS:

NUMBER OF TOTAL CALMS:
NUMBER OF VARIABLE WINDS:

NUMBER OF SUBSTITUTIONS (INTERPOLATION) FOR MISSING CLOUD COVER:

Figure 4-44. Observations summary and PBL processing summary contents of the Stage 2

report file.

4-55


-------
**************************** MESSAGE SUMMARY ****************************

ERROR MESSAGES 0 MESSAGES

WARNING MESSAGES 22 MESSAGES

W01

1

W4 5

10

W7 0

1

W7 6

10

INFORMATION MESSAGES 211 MESSAGES

101

1

120

2

123

1

124

1

125

1

126

1

140

2

146

1

147

1

160

2

163

1

164

1

16 6

1

170

1

173

182

177

10

183

1

190

2

QA MESSAGES 0 MESSAGES

AERMET FINISHED SUCCESSFULLY

END

PROCESSING DATE/TIME: MAY 20, 2022 10:51:04 AM

Figure 4-45. Message summary contents of ONSITE_S2_REPORT.TXT

4-56


-------
7

5

6

0

3

8

6

4

1

6

3

8

6

9

9

5

1

6

2

4

5

8

8





UA

ID:

00014735 SF

ID:

14735 OS

ID: 99999

VERSION: 22112

CCVR Sub













0

062

-9

"ooo

-9

000

-999.

37

7.9

0.7500

1.50

1.00

0.80

317.5

10.0

273.8

10.0

0

-9

00

999.

1003.

0

069

-9

000

-9

000

-999.

44

8.5

0.7500

1.50

1.00

0.90

273.1

10.0

273.5

10.0

0

-9

00

999.

1003.

0

046

-9

000

-9

000

-999.

24

5.7

0.7500

1.50

1.00

0.60

276.5

10.0

272.4

10.0

0

-9

00

999.

1003.

0

034

-9

000

-9

000

-999.

15

3.6

0.3000

0.80

1.00

0.60

199.7

10.0

271.5

10.0

0

-9

00

999.

1003.

0

093

-9

000

-9

000

-999.

68

11.3

0.7500

1.50

1.00

1.20

289.3

10.0

271.8

10.0

0

-9

00

999.

1003.

0

062

-9

000

-9

000

-999.

37

7.5

0.7500

1.50

1.00

0.80

254 . 0

10.0

271.0

10.0

0

-9

00

999.

1004 .

0

069

-9

000

-9

000

-999.

44

8.5

0.7500

1.50

1.00

0.90

264.3

10.0

270.9

10.0

0

-9

00

999.

1004 .

0

148

-9

000

-9

000

-999.

137

54.2

0.7500

1.50

0.67

1.30

314.7

10.0

271.8

10.0

0

-9

00

999.

1005.

0

321

0

558

0

007

248.

437

-118.3

0.7500

1.50

0.56

1.90

310.1

10.0

272.3

10.0

0

-9

00

999.

1005.

0

396

0

949

0

008

506.

599

-92.0

0.7500

1.50

0.52

2.30

314 . 8

10.0

273.0

10.0

0

-9

00

999.

1005.

0

793

1

182

0

005

671.

1695

-505.9

0.1200

1.50

0.51

7.70

297.0

6.1

268.8

2.0

0

-9

00

999.

1005.

0

438

1

247

0

007

711.

851

-76.9

0.7500

1.50

0.51

2.50

308.9

10.0

274.7

10.0

0

-9

00

999.

1004 .

0

535

1

277

0

006

749.

939

-137.9

0.7500

1.50

0.51

3.20

315.9

10.0

274 . 9

10.0

0

-9

00

999.

1003.

0

533

1

248

0

006

781.

933

-151.8

0.7500

1.50

0.51

3.20

290.1

10.0

275.3

10.0

0

-9

00

999.

1002.

0

483

1

147

0

007

818.

808

-152.3

0.7500

1.50

0.52

2.90

299.8

10.0

275.5

10.0

0

-9

00

999.

1002.

0

453

0

905

0

007

841.

733

-263.9

0.7500

1.50

0.55

2.80

315.2

10.0

275.0

10.0

0

-9

00

999.

1001.

0

430

-9

000

-9

000

-999.

678

469.5

0.7500

1.50

0.62

2.90

308.4

10.0

274.3

10.0

0

-9

00

999.

1001.

0

147

-9

000

-9

000

-999.

249

18.1

0.7500

1.50

0.86

1.90

310.8

10.0

273.3

10.0

0

-9

00

999.

1001.

0

124

-9

000

-9

000

-999.

108

15.1

0.7500

1.50

1.00

1.60

313.3

10.0

272.2

10.0

0

-9

00

999.

1001.

0

100

-9

000

-9

000

-999.

76

12.2

0.7500

1.50

1.00

1.30

326.2

10.0

271.3

10.0

0

-9

00

999.

1002.

0

154

-9

000

-9

000

-999.

146

18.8

0.7500

1.50

1.00

2.00

327.3

10.0

270.5

10.0

0

-9

00

999.

1001.

0

147

-9

000

-9

000

-999.

135

17.8

0.7500

1.50

1.00

1.90

319.5

10.0

269.8

10.0

0

-9

00

999.

1001.

0

062

-9

000

-9

000

-999.

40

7.5

0.7500

1.50

1.00

0.80

283.6

10.0

268.7

10.0

0

-9

00

999.

1001.



124

... 9

000

... 9

000

-.9,9.9.

1 04

1 5. 0

0.7500

1 .50

1 . 00

1 60

2.9 7. 5

1 0. 0

2 68.3

1 0 0

0

... 9

00

9 9 9.

1 001 .

Figure 4-46. Partial contents of ONSITE NWS.SFC

4-57


-------
88

88

88

88

88

88

88

88

88

88

88

88

88

88

88

3	11	10.0	0	317.5	0.80	0.64	48.70	0.11

3	11	50.0	0	323.3	2.00	1.84	14.70	99.00

3	11	100.0	1 320.5	3.70	1.64	9.10	0.41

3	12	10.0	0	273.1	0.90	0.34	22.50	0.08

3	12	50.0	0	304.0	1.50	1.04	15.60	99.00

3	12	100.0	1 308.5	2.50	0.74	13.40	0.34

3	13	10.0	0	276.5	0.60	-0.76	63.30	0.08

3	13	50.0	0	331.7	1.30	0.04	32.90	99.00

3	13	100.0	1 319.1	2.30	-0.16	27.00	0.39

3	14	10.0	0	199.7	0.60	-1.66	74.40	0.04

3	14	50.0	0	99.5	0.90	-0.76	58.90	99.00

3	14	100.0	1 321.6	1.30	-0.76	55.10	0.45

3	15	10.0	0	289.3	1.20	-1.36	25.30	0.13

3	15	50.0	0	339.3	1.50	-0.86	29.40	99.00

3	1 5	100.0	1 333.2	2.10	-1.26	29.80	0 . 47

Figure 4-47. Partial contents of ONSITE	NWS.PFL

4-58


-------
5.0 Technical Notes

This section provides a technical description of the processing methods employed by
AERMET. This includes quality assessment procedures beyond the simple check against upper
and lower bounds, the averaging method used to produce hourly values when site-specific data
contains more than one observation period each hour, and modifications that can be made to
NWS upper air data. More information about the methodology used to calculate the boundary
layer parameters can be found in the AERMOD Model Formulation Document (EPA, 2023f).

5.1 Quality assessment procedures

The main quality assessment procedures are similar for all types of data. Each variable is
checked to see if it is missing (its value matches the missing value code), and if not missing, the
value is checked to see if it is between the lower and upper bounds. Appendix B lists the
variables for each type of data, their units, default bounds and missing value codes. A violation
does not necessarily indicate an error in the data. For example, it could mean the bounds are not
reasonable for a particular time of year or location. It is up to the user to determine if the
reported violations constitute errors in the data.

For NWS hourly surface observations, several additional checks between variables are
performed. NWS surface data are checked for dew-point temperature exceeding dry-bulb
temperature (DPTP > TMPD) and having a zero-wind speed (WSPD = 0), indicating calm
conditions, but a non-zero wind direction (WDIR), indicating non-calm conditions, or vice
versa. The number of occurrences of calm wind conditions are reported.

AERMET estimates the heights reported in the sounding using the hypsometric equation,
z2 = Zi + KRa * Tv/g)\ * ln(pi/p2)

where z1 and p, are the height and pressure at the lower level, z2 and p2 are the height and
pressure at the upper level, Rd is the gas constant for dry air, Tv is the mean virtual temperature
through the layer, and g is the gravitational acceleration. The recomputed height is compared to

5-1


-------
the reported height. If the difference exceeds 50 meters, then a message is written to the
message file (defined on the MESSAGES keyword). If the surface height is missing, then this
check is skipped.

NWS upper air sounding data contain data for multiple levels, so AERMET will
examine the gradient of several variables within the sounding. AERMET checks four different
between- level gradients. Each is expressed as the change over a 100-meter layer because the
change per meter is usually very small. It is important to remember this distinction if the user
needs to change the default lower or upper bounds. The parameter and associated variable name
in AERMET and the default lower and upper bounds are shown in the table below.

Table 5-1. UPPERAIR Gradient calculation variables with default lower and
upper bounds.

Parameter

Variable name
in AERMET

Default lower
bound

Default upper
bound

Ambient temperature gradient

UALR

-2.0 °C

+5.0 °C

Wind speed shear

UASS

0.0 m/s

5.0 m/s

Wind direction shear

UADS

0.0 degrees

90.0 degrees

Dew point temperature gradient

UADD

o
o

o

O

2.0 °C

The vertical gradient of the wind velocity, wind shear, is a vector quantity. In AERMET,
the shear is computed separately from the speed shear (UASS) and direction shear (UADS).
The wind speed shear is computed as the absolute difference in the speeds between adjacent
levels. Since it is an absolute difference, it is always non-negative. The wind direction shear is
also an absolute difference.

The vertical gradient of the dew point temperature, unlike the other gradients, is
computed using three consecutive levels. An estimate of the dew point at each intermediate
height is found using linear interpolation between the dew points for the adjacent upper and
lower heights. The gradient of the dew point temperature is defined as the absolute difference
between the estimated and the observed dew point temperature at this intermediate level divided
by the difference between the upper and lower heights.

5-2


-------
The QA on the gradients is summarized with the QA of the observed sounding data.
Since there may be a variable number of levels in a sounding, and the heights of the levels may
differ from sounding to sounding, the results are accumulated into ten height categories. These
are defined as surface, 500-meter layers up to 4000 meters, and above 4000 meters. Thus, the
categories are surface, 0 - 500, 500 - 1000, ..., 3500 - 4000, and 4000+, where each
intermediate category includes the upper but not the lower height. The "thickness" of the
categories is controlled by the internal variable UP INC. This is specified in the module
UPPERAIR and cannot be changed without also recompiling and relinking AERMET.

Lapse rate and shear violations are tallied in the category containing the upper height,
while those of the dew-point gradient are tallied in the height category of the middle
(intermediate) point. In the absence of missing data and with TV levels in a sounding, there
should be N-l lapse rate and shear calculations, and N-2 dew-point gradient calculations. All
range violations and instances of missing values are reported in the MESSAGES file and
summarized in the general report.

5.2 Identifying ASOS observations

To implement the ASOS wind speed adjustment described in Section 3.7.7.3, AERMET
must determine whether surface wind observations are from an ASOS site. Wind data in the
standard NWS surface formats read by AERMET are identified as ASOS based on the
published commission date of the ASOS equipment for the WBAN number reported in either
the header of the NWS surface file or the first observation, or the 3- or 4-character station call
letters included in the observations, depending on the format input to AERMET. A table of
commission dates was added to AERMET to support the determination of whether an
observation was measured by ASOS instrumentation. As each observation is extracted from the
NWS surface file during Stage 1 processing, the observation date and time in LST is compared
to the ASOS commission date. Those records for which the observation date falls on or after the
ASOS commission date are identified as ASOS by a "Y" in the ASOS column of the SURFACE
EXTRACT and QAOUT files. If a commission date is not found, or the observation occurred
before the commission date, the record is flagged with an "N" in the ASOS column to indicate it

5-3


-------
is not an ASOS observation. See Appendix C for the format of the SURFACE EXTRACT and
QAOUT files.

For those NWS surface formats that include a data field to indicate that measurements
were made with ASOS instrumentation (HUSWO, and in some cases ISHD), a validation is
performed on each record to check the consistency between the ASOS flag in the raw data file
with the ASOS flag set by AERMET based on the commission date. If the ASOS flag in the raw
data file indicates an ASOS observation, the record in the extracted file will be flagged with an
"A" to indicate an ASOS observation, but a warning will be included in the Stage 1 message file
if the station is not found on the ASOS commission list, or if the station is found but the data
period precedes the commission date contained within AERMET.

To address cases where an ASOS station is not included in the ASOS commission list in
AERMET, but the station is known to be an ASOS site, AERMET includes an optional
parameter on the DATA keyword under the SURFACE pathway allowing the user to specify
that the data are ASOS. Note that this optional 'ASOS' parameter is only allowed for surface
data in the ISHD format and should only be used if the station is known to be ASOS but is not
included in the ASOS commission list within AERMET (see Table A-4 for a description of the
DATA keyword format).

The ASOS commission date and the count of extracted ASOS records are reported in the
Stage 1 message file. Since 1-minute ASOS wind data are presumed to be ASOS, all data from
the hourly averaged 1-minute data are assumed to be an ASOS observation.

5.3 Validation of NWS surface format by active data range

Validations are incorporated in AERMET, to check for consistency between the date of
the observation in the NWS surface file and the range of dates for which the NWS format is
active and valid. A file that contains data outside the format's valid date range is assumed to
have been reformatted from some other data format and its use in AERMET may result in
inconsistencies with data processed for the same station and dates input in their native format.

5-4


-------
Use of reformatted data files in AERMET is discouraged, and AERMET results based on
processing reformatted data should be used with caution.

The date consistency check is performed for each hour of data extracted from the NWS
surface file, until an observation is found that is outside the valid date range. Once an
observation is encountered that is outside the valid date range, a variable is set to indicate the
data was likely reformatted, and a warning is issued in the Stage 1 message file when the data
extraction is complete. Table 5-2 lists the active dates for each of the NWS surface formats read
by AERMET as currently implemented in AERMET. Note that ISHD is currently an active
format, and the validation is not performed for the ISHD format.

Table 5-2. Format Active Dates

NWS Surface Format

Start Date

End Date

CD-144

—

12/31/1995

HUSWO

1/1/1990

12/31/1995

ISHD

—

—

SAMSON

1/1/1961

12/31/1990

SCRAM

1/1/1984

12/31/1992

5.3.1 Validation of WBAN between Stage 1 control file and NWS surface data file

Another validation was incorporated into AERMET, beginning with version 11059, to
ensure consistency in the WBAN number specified by the user on the LOCATION keyword in
the Stage 1 SURFACE pathway and the NWS surface data file. The WBAN number from the
control file is compared to the WBAN number stored on the header record of the NWS surface
file (SAMSON) or the WBAN number recorded for the first observation for those formats
without a header record that repeat the WBAN number on each observation record (CD-144,
HUSWO, SCRAM, and TD-3280). When the WBAN number from the control file is found to
be different from that recorded in the NWS surface file, a fatal error is issued, and processing is
aborted. This validation is performed for all NWS surface formats read by AERMET apart from

5-5


-------
the ISHD format since ISHD includes many stations located within the U.S. and internationally
for which a WBAN number has not been assigned.

For those formats in which the WBAN number is repeated on each observation record,
an additional validation is performed to check for internal consistency across all observation
records in the surface file. If a mismatch is encountered, a fatal error is issued, and processing is
aborted. Note: This check for internal consistency is performed for the ISHD format as well as
the other applicable formats; however, since the WBAN number is not consistently included in
ISHD files a fatal error will only be issued and processing aborted if a mismatch occurs between
two non-missing (i.e., not '99999') WBAN numbers. For the ISHD format, the validation is
applied to the 5-digit ID stored in positions 11-15 on each record. The first non-missing (not
'99999') WBAN number encountered is stored and used to compare against each subsequent
record.

5.3.2 ASOS cloud cover from SCRAM and SAMSON set to missing

Due to the difficulties that arise when attempting to reformat cloud cover information
collected with ASOS instrumentation to the SAMSON and SCRAM formats, there are concerns
over the validity of the representation of ASOS clouds in these older pre-ASOS formats. For
this reason, AERMET was modified (beginning with version 11059) to set opaque and total
cloud cover to missing for observations extracted from SAMSON and SCRAM formats for
which the observation date falls on or after the ASOS commission date. For each hour this
condition is encountered, opaque and total cloud cover are set to missing and warning (up to 24)
or informational messages are issued in the Stage 1 message file. Note that this also applies to
SCRAM-formatted data available on the EPA SCRAM website for a few stations that were
commissioned as ASOS during the last four months of 1992, the last year of data archived in the
SCRAM format.

5.4 Site-specific data - averaging sub-hourly values

By default, AERMET assumes that there is one observation period per hour. However,
the site-specific data could contain several observation periods during each hour (AERMET

5-6


-------
allows up to 12). Since AERMET only computes the boundary layer parameters for one-hour
averages, AERMET converts the sub-hourly observations to an hourly average. The user must
tell AERMET the number of observation periods per hour that are in the site-specific data using
the OBS/HOUR keyword. See Section 3.5.13 for a discussion on how to use this keyword. The
site-specific meteorological guidance document (EPA, 1987) suggests at least half of this
number must be present to calculate an average for the hour. AERMET follows this guidance
and computes an average only when half or more of the sub-hourly values are not missing.

For most variables, the hourly value is computed as the arithmetic mean. However, the
wind speed and direction are treated differently to differentiate between cases when values are
missing and cases when values are present but below an instrument's threshold. This value is
defined by the user through the mandatory THRESHOLD keyword. Wind speeds less than the
threshold are given a value of one-half the threshold wind speed and the wind directions are set
to missing. When using the scalar averaging approach, the hourly wind speed is then computed
as an arithmetic mean, while the hourly wind direction is computed according to the method
given in Section 6.1 of the on-site meteorological guidance document (EPA, 2000) to properly
account for the 0°-to-360° crossover. When using the vector averaging method, the east-west
and north-south components of the wind are calculated based on equations 6.2.13 and 6.2.14
outlined in Section 6.2.2 of the meteorological monitoring guidance for regulatory modeling
applications (EPA, 2000). The hourly average wind speed is then calculated using equation
6.2.15 in (EPA, 2000) and the hourly average wind direction is calculated using equation 6 and
correction methodology listed in Section 4.6 of the AERMINUTE user's guide (EPA, 2023b).

To obtain a one-hour average of the standard deviation variables, the hourly average of
the standard deviation is the square root of sum of variances (square of standard deviation) for
each sub-hourly interval divided by the number of valid observations.

5.5 Station elevations

Beginning with version 06341, AERMET included the option to specify station
elevation above MSL as the last field on the LOCATION keyword in the UPPERAIR,
SURFACE, and ONSITE pathways in the Stage 1 control file, and the METPREP pathway in

5-7


-------
the old Stage 3 (prior to version 21DRF) or new Stage 2 (21DRF and later) control file.
However, this optional station elevation was only used under version 06341 when processing
ISHD data on the SURFACE pathway and all other occurrences of user-specified station
elevations were ignored. Beginning with version 11059, AERMET was revised to make full use
of user-specified station elevations for the SURFACE and ONSITE pathways to estimate station
pressure if station pressure is missing, but to no longer allow station elevation on the
UPPERAIR pathway. The LOCATION keyword has also been removed from the METPREP
pathway beginning with version 11059, except for one circumstance. The METPREP
LOCATION keyword is now only needed when site-specific mixing heights are provided
during Stage 1 and upper air sounding data are omitted from the processing. Otherwise, a
warning message will be generated if the LOCATION keyword is included under the
METPREP pathway, and the LOCATION parameters will be ignored. AERMET will issue a
warning message if the elevation field is included on the UPPERAIR LOCATION keyword, but
the user-specified elevation will be ignored, and processing will continue.

The handling of station elevation within AERMET, beginning with version 11059, is
summarized below:

• A non-fatal warning message will occur if the station elevation is encountered on the

LOCATION keyword on the UPPERAIR (Stage 1) pathway, or if the LOCATION keyword
is included on the METPREP (Stage 2) pathway, but the inputs will be ignored, and
processing will continue.

•	The station elevation is allowed as an optional argument on the LOCATION keyword for
the SURFACE and ONSITE pathways in Stage 1.

•	If the station elevation is included in the raw SURFACE input file to Stage 1 (ISHD or
SAMSON formats), then the elevation from the data file is used; otherwise, the user-
specified station elevation is used, if available.

•	If the station elevation is not specified on the SURFACE pathway and is not in the raw
surface data input file for Stage 1, then 0 meters (sea-level) is used for the SURFACE
station elevation.

•	If the station elevation is not specified on the ONSITE pathway in Stage 1, then 0 meters
(sea-level) is used for the ONSITE station elevation.

Station elevation is used within Stage 2 of AERMET processing in the substitution for

missing station pressure. While station elevation is currently an optional parameter on the

5-8


-------
LOCATION keyword under the SURFACE and ONSITE pathways, users are encouraged to
include station elevation since it may improve the representativeness of the station pressure used
by AERMET if station pressure is missing. The following hierarchy is used for determining
station pressure, based on the availability of ONSITE and/or SURFACE station pressure, sea-
level pressure and station elevation and depending on the source of ambient temperature data:

1.	If ONSITE temperature data are used, then:

a.	Use ONSITE station pressure, if available;

b.	Adjust ONSITE sea-level pressure to ONSITE station elevation, if provided on
the LOCATION keyword in the ONSITE pathway;

c.	Adjust NWS/FAA station pressure to ONSITE station elevation, if station
elevation is available for both the SURFACE and ONSITE data;

d.	Adjust NWS/FAA sea-level pressure to ONSITE station elevation if ONSITE
station elevation is provided;

e.	Use NWS/FAA station pressure, if available, without adjustment;

f.	Adjust NWS/FAA sea-level pressure to SURFACE station elevation, if available;

g.	Estimate station pressure based on standard atmosphere using ONSITE station
elevation, if available;

h.	Estimate station pressure based on standard atmosphere using SURFACE station
elevation, if available;

i.	Assign ONSITE sea-level pressure to station pressure if no ONSITE station
elevation is available;

j. Assign SURFACE sea-level pressure to station pressure if no SURFACE station
elevation is available; or

k. Assign standard sea-level pressure of 1013.25 millibars (mb) to station pressure.

2.	If SURFACE temperature data are used, then:

a.	Use SURFACE station pressure, if available;

b.	Adjust SURFACE sea-level pressure to SURFACE station elevation, if provided
on the LOCATION keyword in the SURFACE pathway or in the SURFACE
data file;

c.	Adjust ONSITE station pressure to SURFACE station elevation, if station
elevation is available for both the SURFACE and ONSITE data;

5-9


-------
d.	Adjust ONSITE sea-level pressure to SURFACE station elevation, if SURFACE
station elevation is provided;

e.	Use ONSITE station pressure, if available, without adjustment;

f.	Adjust ONSITE sea-level pressure to ONSITE station elevation, if available;

g.	Estimate station pressure based on standard atmosphere using SURFACE station
elevation, if available;

h.	Estimate station pressure based on standard atmosphere using ONSITE station
elevation, if available;

i.	Assign SURFACE sea-level pressure to station pressure if no SURFACE station
elevation is available;

j. Assign ONSITE sea-level pressure to station pressure if no ONSITE station
elevation is available; or

k. Assign standard sea-level pressure of 1013.25 mb to station pressure.
5.6 Boundary layer parameter estimates

AERMOD uses several different boundary layer parameters to model how pollutants
disperse in the atmosphere. Many of these parameters are not observed but are estimated from
other variables that are more easily measured. To make these estimates, observed near-surface
wind and temperature (the 'reference' wind and temperature) and site-specific surface
characteristics are required. The surface characteristics are discussed in detail in Section 3.7.9,
but because of the importance in estimating boundary layer parameters, they are reviewed
below. First, however, is a discussion on the criteria for defining the reference wind and
temperature.

5.6.1 Reference wind and temperature

If there are site-specific data in the meteorological input to Stage 2, then AERMET
searches these data for near-surface wind and temperature with which to estimate the boundary
layer parameters such as friction velocity and heat flux.

A valid reference wind is defined as the lowest level with a non-missing wind speed and
direction between 7z0 and 100 meters (inclusive), where z0 is the surface roughness length. If the

5-10


-------
only valid non-missing wind speed is a calm wind, then the hour is treated as a calm and the
reference level is the lowest level of non-missing wind.

If there is no valid reference wind, then the lowest level is treated as the reference level
and the reference wind is missing. However, if the option to substitute NWS data is specified in
the control file (see Section 3.7.7 for the keyword METHOD, and Section 3.7.7.2 for secondary
keyword REFLEVEL), then AERMET will substitute the NWS hourly wind speed observations
for the reference wind speed and use the height specified with the keyword NWS HGT (see
Section 3.7.5) as the reference height. If NWS substitution is not specified, then the reference
wind will be missing.

The selection of the reference temperature is independent of the selection of the
reference wind. A valid reference temperature is defined as the lowest level with a non-missing
temperature between z0 and 100 meters (inclusive). If there is no valid reference temperature in
the site-specific data and the option to substitute NWS data is specified in the control file, then
AERMET will substitute the NWS hourly ambient temperature for the reference temperature.

In the absence of site-specific data, the METHOD keyword with the REFLEVEL
secondary keyword must be specified for AERMET to utilize NWS wind and temperature data
for the reference level data. NWS data currently are not subject to the criteria above for either
wind or temperature.

5.6.2 Surface friction velocity and Monin-Obukhov length for prognostic overwater locations

For applications involving prognostic data and overwater applications, AERMET 22112
was modified to reset input surface friction velocity, u*, and Monin-Obukhov length, L, when
the reference wind speed (see discussion in the previous section) is reset when the reference
wind speed is below the minimum value based on 2m * ovmin, where ovmin = 0.2 m/s. For
applications involving observed data (NWS or site-specific) or prognostic data for a land-based
application, this wind speed reset occurs before any of the boundary layer calculations, such as
surface friction velocity or Monin-Obukhov length, are calculated. However, for prognostic
overwater applications, surface friction velocity and Monin-Obukhov length are input variables

5-11


-------
(Section 3.5.1). When the reference wind speed input from the prognostic data is below the
minimum value (21/2 * ovmin) and reset to the minimum value, the following steps are
performed to reset the input surface friction velocity and Monin-Obukhov length:

1.	Calculate u* within AERMET based on the original input wind speed. U* is
calculated based on the user input option of adjusting u* (ADJU*) or not
adjusting u*.

2.	Calculate u* within AERMET based on the reset wind speed (21/2 * ovmin). U*
is calculated based on the user input option of adjusting u* (ADJ U*) or not
adjusting u*.

3.	Calculate a u* ratio as the ratio of the u* from step 2 to the u* from step 1.

4.	Apply the ratio from step 3 to the original input u* from the prognostic data to
calculate a reset value of u*

5.	Apply the cube of the ratio from step 3 to the original L from the prognostic
data to calculate a reset value of L.

The reset of u* and L are attempts to consider the reset of the wind speed while retaining
the original formulation of u* and L.

5.6.3 Surface characteristics

The atmospheric boundary layer is the region between the earth's surface and the
overlying, free flowing (geostrophic) atmosphere. The fluxes of heat and momentum drive the
growth and structure of this boundary layer. The depth of this layer, and the dispersion of
pollutants within it, are influenced on a local scale by surface characteristics, such as the
roughness of the underlying surface, the reflectivity of the surface (or albedo), and the amount
of moisture available at the surface. From these input parameters and observed atmospheric
variables, AERMET calculates several boundary layer parameters that are important in the

5-12


-------
evolution of the boundary layer, which, in turn, influences the dispersion of pollutants. These
parameters include the surface friction velocity w*, which is a measure of the vertical transport
of horizontal momentum; the sensible heat flux H, which is the vertical transport of heat to/from
the surface; the Monin-Obukhov length Z, a stability parameter relating u.t and H\ the daytime

mixed layer height zt and the nocturnal surface layer height /?; and w*, the convective velocity
scale that combines zt and H. These parameters all depend on the characteristics of the
underlying surface.

Although very general default values exist in AERMET, the user should specify the
albedo (r), which is the fraction of radiation reflected by the surface; the daytime Bowen ratio,
B0, which is the ratio of the sensible heat flux H to the latent heat flux IE; and the surface
roughness length z0, which is the height above the ground at which horizontal wind velocity is
typically zero. These measures depend on land-use type (e.g., urban area, deciduous/coniferous
forest, cultivated land, calm waters) and vary with the seasons (See Table 3-1 through Table
3-5) and wind direction.

The user specifies these values on SITE CHAR keyword statements for one, four or 12
(ANNUAL, SEASONAL, or MONTHLY) time periods per year, and 1-12 non-overlapping,
contiguous wind direction sectors that cover the full 360°. The user is referred to Section 3.7.9
for detailed discussions on these parameters.

5.6.3.1 Choice of sector-dependent surface characteristics

In defining sectors for surface characteristics, Irwin (1994) and EPA (2000) suggest that
a user specify a sector no smaller than a 30-degree arc. The expected wind direction variability
over the course of an hour, as well as the encroachment of characteristics from the adjacent
sectors with travel time, make it hard to preserve the identity of a very narrow sector's
characteristics. However, using a weighted average3 of characteristics by surface area within a

3 Weighting should be based on wind direction frequency, such as determined from a wind rose

5-13


-------
30-degree sector makes it possible to have a unique portion of the surface significantly influence
the properties of the sector that it occupies.

The length of the upwind fetch for defining the nature of the turbulent characteristics of
the atmosphere at the source location has been defined as 3 kilometers in EPA's Guideline on
Air Quality Models, which is published as Appendix W to 40 CFR Part 51 (as revised), for the
purpose of defining urban versus rural dispersion characteristics. This specification results from
a paper by Irwin (1978), which also cites a study by Hogstrom and Hogstrom (1978). The basic
premise is that when the wind blows over an area with a change in its surface characteristics, a
new "boundary layer" with the turbulent characteristics of the underlying surface develops and
deepens along the wind direction. Hogstrom and Hogstrom (1978) present tabular results for the
boundary layer growth as a function of roughness length in rural areas. Irwin (1978) noted that
the region of enhanced turbulence with a depth of 400 meters was reported by Shea and Auer
(1978) for St. Louis, and curves based on the Hogstrom and Hogstrom (1978) data indicate that
a 3-km fetch would attain this boundary layer height. The resulting 3-km fetch was also adopted
by METPRO (Paine, 1987), the CTDMPLUS meteorological pre-processor for its definition of
sector-specific surface characteristics.

For a surface with a large roughness, however, the rate of the boundary layer growth as
defined by Hogstrom and Hogstrom (1978) would be sufficiently rapid to grow to a depth of
400 meters within 1 kilometer downwind. In the case of a lower boundary layer depth, such as
100 meters, Hogstrom and Hogstrom (1978) calculate that the distance needed to attain an
urban-influenced boundary height of just 100 meters with a surface roughness ranging from 0.5
to 1.5 meters is only about 250 meters for unstable (convective) conditions, 700 meters for
neutral conditions, and 1330 meters for slightly stable conditions.

For AERMET applications, an upwind fetch distance of 3 kilometers is recommended
for defining user-specified values such as albedo, Bowen ratio, and surface roughness. In each
sector, it is likely that a mixture of land use is present, and the resulting user input should be a
weighted average of the values selected for each land use type. For urban areas or areas with a
very large roughness length, consideration can be given for a smaller upwind fetch distance for
defining the user-specified surface characteristics. The actual fetch length selected would be a

5-14


-------
function of the expected plume height, the roughness length, and any urban heat flux that would
tend to minimize the presence of stable conditions in the surface layer. Hogstrom and Hogstrom
(1978) can be used as guidance in these cases.

5-15


-------
6.0 References

Auer, A.H. Jr., 1978: Correlation of land use and cover with meteorological anomalies. J. Appl.
Meteor., 17, 636-643.

EPA, 1987: On-Site Meteorological Program Guidance for Regulatory Modeling Applications.
EPA-450/4-87-013, U.S. Environmental Protection Agency, Research Triangle Park, NC.

EPA, 1997: Analysis of the Effect of ASOS-Derived Meteorological Data on Refined Modeling.
EPA-454/R-97-014. U.S. Environmental Protection Agency, Research Triangle Park,
North Carolina.

EPA, 2000: Meteorological Monitoring Guidance for Regulatory Modeling Applications. EPA-
454/R-99-005. Office of Air Quality Planning & Standards, Research Triangle Park, NC.
(PB 2001-103606)

EPA, 2012: User's Manual AERCOARE Version 1.0. EPA-910-R-12-008. U.S. EPA, Region
10, Seattle, WA.

EPA, 2020: User's Guide for AERSURFACE Tool. EPA-454/B-20-008. U.S. Environmental
Protection Agency, Research Triangle Park, North Carolina.

EPA, 2023 a: Guidance on the Use of the Mesoscale Model Interface Program (MMIF) for

AERMOD Applications. EPA-454/B-23-006. U.S. Environmental Protection Agency,
Research Triangle Park, North Carolina.

EPA, 2023b: AERMINUTE User's Guide. EPA-454/B-23-007. U.S. Environmental Protection
Agency, Research Triangle Park, North Carolina.

EPA, 2023c: User's Guide for the AMS/EPA Regulatory Model (AERMOD). EPA-454/B-23-
008. U.S. Environmental Protection Agency, Research Triangle Park, North Carolina.

EPA, 2023d: Evaluation of the Implementation of the Coupled Ocean Atmosphere Response
Experiment (COARE) Algorithms into AERMETfor Marine Boundary Layer
Environments. EPA-454/R-23-008. U.S. Environmental Protection Agency, Research
Triangle Park, North Carolina.

EPA, 2023 e: Evaluation of Prognostic Meteorological Data in AERMOD Overwater

Applications. EPA-454/R-23-012. U.S. Environmental Protection Agency, Research
Triangle Park, North Carolina.

EPA, 2023f: AERMOD Model Formulation Document. EPA-454/B-23-010. U.S.
Environmental Protection Agency, Research Triangle Park, North Carolina.

EPA, 2023g: AERMOD Model Evaluation Document. EPA-454/B-23-011. U.S. Environmental
Protection Agency, Research Triangle Park, North Carolina.

6-1


-------
Fairall, C.W., E.F. Bradley, J.E. Hare, A.A. Grachev, and J.B. Edson, 2003: "Bulk

Parameterization of Air-Sea Fluxes: Updates and Verification for the COARE
Algorithm." J. Climate, 16, 571-591.

Hogstrom and Hogstrom, 1978: A Practical Method for Determining Wind Frequency

Distributions for the Lowest 200 m from Routine Data. J. Appl. Meteor., 17, 942-954.

Irwin, J.S., 1978: Proposed Criteria for Selection of Urban Versus Rural Dispersion

Coefficients. Staff Report. Meteorology and Assessment Division, U.S. Environmental
Protection Agency, Research Triangle Park, NC. (Air Docket Reference No. II-B-8 for
the Fourth Conference on Air Quality Modeling).

Luhar, A.K., and K. N. Rayner, 2009: Methods to Estimate Surface Fluxes of Momentum and
Heat from Routine Weather Observations for Dispersion Applications under Stable
Stratification. Boundary-Layer Meteorology, 132, 437-454.

NOAA, 2003: ASOS Product Improvement Implementation Plan (Addendum III) For Ice Free
Wind. National Oceanic and Atmospheric Administration, National Weather Service,
Silver Spring, Maryland 20910.

http://www.nws.noaa.eov/ops2/Siirface/documents/IFW03	'

NOAA, 2008: Cup & Vane Wind Data Processing Within ASOS. National Oceanic and

Atmospheric Administration, National Weather Service, Silver Spring, Maryland 20910.

http://www.nws.noaa.eov/ops2/Siirface/documents/IFWS BelfordWScomparison.pdf

Oost, W.A., G.J. Komen, C.M.J. Jacobs, and C. van Oort, 2002: New Evidence for a
Relationship between Wind Stress and Wave Age from Measurements during
ASGAMAGE. Boundary-Layer Meteorology, 103, 409-438.

Paine, R. J., 1987: User's Guide to the CTDM Meteorological Preprocessor (METPRO)

Program. EPA-600/8-88-004, U.S. Environmental Protection Agency, Research Triangle
Park, NC. (NTIS No. BP 88-162102).

Ramboll Environ, 2023: The Mesoscale Model Interface Program (MMIF) Version 4.1 User's
Manual.

Taylor, P.K. and M. Yelland, 2001: The Dependence of Sea Surface Roughness on Height and
Steepness of the Waves. Journal of Physical Oceanography, 31, 572-590.

Qian, W., and A. Venkatram, 2011: Performance of Steady-State Dispersion Models Under Low
Wind-Speed Conditions. Boundary Layer Meteorology, 138,475-491.

6-2


-------
Appendix A. Functional keyword/parameter reference

This appendix provides a functional reference for the keywords and parameters used by
the input control files for AERMET. The keywords are organized by functional pathway and
within each pathway the order of the keywords is alphabetical, excluding the keyword that
identifies the start of a pathway. The pathways used by AERMET are as follows, including the
applicable AERMET processing stages and the in the order in which they appear in the tables
that follow:

JOB -	for specifying overall JOB control options (all stages);

SURFACE -	for processing NWS hourly SURFACE data (Stages 1 and 2);

UPPERAIR -	for processing NWS UPPER AIR data (Stages 1 and 2);

ONSITE/PROG - for processing ONSITE or PROGnostic meteorological data
(Stages 1 and 2);

METPREP -	for METeorological data PREParation for use in a dispersion

Model (Stage 2).

Two types of tables are provided for each pathway. The first table lists all keywords for
that pathway, identifies each keyword as to its type (either mandatory or optional, either
repeatable or non-repeatable, and if it is reprocessed), and provides a brief description of the
function of the keyword. The second table, which may take up more than one page, describes
each parameter in detail.

The following conventions are used in these tables. The parameter names are intended to
be descriptive of the input variable being represented. Square brackets around a parameter
indicate that the parameter is optional for that keyword. The default that is used when an
optional parameter is left blank is explained in the discussion for that parameter.

A-l


-------
Beginning with version 21DRF, the maximum record length for the AERMET control
file input file has been increased from 132 to 500 characters. Another important enhancement
introduced with version 21DRF of AERMET, which applies across all pathways, is that the
maximum field length for filenames has been increased from 96 to 300 and the use of double
quotes (") as field delimiters for filenames is allowed to support filenames with embedded
spaces.

JOB-

for specifying overall JOB control options (all stages);

UPPERAIR - for processing NWS UPPER AIR data (Stages 1 and 2);

SURFACE - for processing NWS hourly SURFACE data (Stages 1 and 2);

ONSITE - for processing ONSITE meteorological data (Stages 1 and 2);

PROG-

for processing PROGnostic meteorological data (Stages 1 and 2);

MERGE - to MERGE the three data types into one file, including 1-minute
ASOS wind data, if available (Stage 2);4

METPREP - for METeorological data PREParation for use in a dispersion Model
(Stage 2).

4 MERGE pathway is obsolete with version 21DRF and later

A-2


-------
Table A-l. Description of Job Pathway Keywords

Keyword

Type

Description

JOB

Optional,
Non-repeatable

Start of JOB pathway. This statement is optional if the statements
associated with this block appear first in the input control file.

CHKSYNTAX

Optional, Non-
repeatable

Flag indicating that only the syntax of the input statements should be
checked for errors, i.e., no data are processed.

DEBUG

Optional, Non-
repeatable

Flag indicating to output debug information for calculations in Stage
1 and 2.

MESSAGES

Mandatory, Non-
repeatable

Identifies the warning/error messages file.

NOPRINT

Optional, Non-
repeatable

Flag indicating to suppress printing of information to the screen.

REPORT

Optional, Non-
repeatable

Identifies the general report file.

A-3


-------
Table A-2. Description of Keyword Parameters for the JOB Pathway

Keyword

Parameters

CHKSYNTAX



DEBUG

[debugfilename]

where:

debugfilename

Optional name of the file where all debug information is written; If
no file is named the default filename is aermet_debug.txt

MESSAGES

messagefilename

where:

messagefilename

The name of the file where all source-code-generated messages are
written

NOPRINT



REPORT

summary filename

where:

summary filename

The name of the file where AERMET writes a summary of all
preprocessor activity for the current run

A-4


-------
Table A-3. Description of SURFACE Pathway Keywords

Keyword

Type

Description

SURFACE

Conditional, Non-repeatable

Start of SURFACE pathway.

ASOS1MIN

Optional, Non-repeatable

File name for 1-minute ASOS wind data to be merged in Stage
2.

AUDIT

Optional, Repeatable

Identify variables to be audited. These are in addition to any
automatically audited variable.

DATA

Mandatory, Non-repeatable,
Reprocessed

Input file name of raw surface data.

EXTRACT

Mandatory, Non-repeatable

File name of extracted surface data.

LOCATION

Mandatory, Non-repeatable,
Reprocessed

Site ID and location information.

NOMISSING

Optional, Repeatable

Identifies those variables to QA and summarize the messages
only; detailed message identifying the violation and date is
suppressed.

QAOUT

Mandatory, Non-repeatable

File name for hourly surface data for quality assessed
output/merge input.

RANGE

Optional, Repeatable,
Reprocessed

Set new upper and lower bounds and missing values for QA of
the variable listed.

XDATES

Mandatory, Non-repeatable

Inclusive dates identifying the period of time to extract from the
archive data file.

A-5


-------
Table A-4. Description of Keyword Parameters for the SURFACE Pathway

Keyword

Parameter(s)

ASOS1MIN

asoslminfilename

where:

asoslminfilename

Filename for hourly-averaged wind speed and direction derived from
1-minute ASOS wind data (TD-6405), to be merged in Stage 2.



sfnamel ... sfnameN
or

ALL

AUDIT

where:

sfnamel ...

... sfnameN
Or
ALL

Name(s) of variables that are to be tracked and reported during quality
assessment (as defined in Table B-2 of Appendix B). If "ALL" (case
insensitive) is included, all variables will be audited.

DATA

archivefilename file format [ASOS]

A-6


-------
where:

archive filename

file format

[ASOS]

The name of the file containing the archive of hourly surface observations.

Archive file format; valid parameters are:

CD144
or

SCRAM

or

SAMSON (data retrieved from SAMSON CD-ROM)
or

HUSWO (data retrieved from HUSWO CD-ROM;
assumes metric units')

or

ISHD (data in the full archival TD-3505 format)

Optional parameter to indicate that ISHD data are from an Automated
Surface Observing System (ASOS) site. This parameter is only allowed with
the ISHD file format and instructs AERMET to apply the wind speed
truncation adjustment to all hours (see Section 2.3.2). Beginning with
version 11059, AERMET includes a table of ASOS commission dates,
which is used to identify whether surface data input to AERMET are from
an ASOS site. The optional 'ASOS' parameter for ISHD data should only
be used if the data are known to be from an ASOS site which is not
included in the ASOS station list within AERMET.

NOTE: The blocking factor and data type (ASCII or EBCDIC) parameters
are no longer supported by AERMET, beginning with version 11059. The
default values for these parameters are 1 for blocking factor and ASCII for
data type. AERMET will issue a warning message if these parameters are
included on the DATA keyword.

A-7


-------
Keyword

Parameter(s)

EXTRACT

extracteddatafilename

where:

extracteddatafilename

Name of the output file for data extracted from an archive data file

LOCATION5

siteid lat long [tadjust] [elevation]

where:

siteid
lat(long)

long(lat)

Site identifier for which data are to be processed.

Station latitude in decimal degrees with the suffix N for sites north of the

equator, S for sites south of the equator.

Station longitude in decimal degrees with the suffix W for sites west of
Greenwich, E for sites east of Greenwich.



[tadjust]
[elevation]

An integer used to convert the time reported in the database to local
Standard time. For most surface databases, the value is 0. For TD-3505
(ISHD) data, which is reported in GMT, the value is the same as the
time zone for the station (e.g., a value of 5 for the Eastern time zone).
Station elevation (m above sea-level); default of 0m if omitted.

NOMISSING

sfnamel . . . sfnameN
or

ALL



where:

sfnamel . ..
. . . sfnameN

Suppresses missing data messages for the surface variables specified, as
defined in Appendix B; the number of times the variable is missing is
tallied. If "ALL" (case insensitive) is included, suppression will take
place for all variables.

QAOUT

qaoutputfilename



where

qaoutputfilename

Name of the output file from the QA/input to merge data.

5 Coordinates can be entered as latitude and longitude or longitude and latitude as long as the correct
suffixes are used.

A-8


-------
Keyword

Parameter(s)

RANGE

sfname lowerbound <[=] upperbound missingindicator

where

sfname

lowerbound

<[=]

upperbound
missingindicator

Variable name, as defined in Table B-2

Minimum value of the valid range of values for sfname

Exclude (<) or include (<=) the lower and upper bounds in the QA

Maximum value of the valid range of values for sfname

Value to use to indicate the observed variable is missing

XDATES

YB/MB/DB [TO] YE/ME/DE

where

YB/MB/DB
[TO]

YE/ME/DE

Beginning 4-digit year, month and day to extract; Elements can be
separated by slashes, dashes, or blanks;

Optional; used to make this record more readable

Ending 4-digit year, month and day to extract; Elements can be separated

by slashes, dashes, or blanks;

A-9


-------
Table A-5. Description of UPPERAIR Keywords

Keyword

Type

Description

UPPERAIR

Conditional,
Non-repeatable

Start of UPPERAIR pathway.

AUDIT

Optional, Repeatable

Identify variables to be audited. These are in addition to any
automatically audited variables.

DATA

Mandatory, Non-repeatable,
Reprocessed

File name of raw upper air data.

EXTRACT

Mandatory, Non-repeatable

File name of extracted upper air data.

LOCATION

Mandatory, Non-repeatable,
Reprocessed

Site ID and location information. Required only for extraction
processing.

MODIFY

Optional, Non-repeatable,
Reprocessed

Flag indicating corrections should be made to the sounding
data when extracted. See '5 for a discussion of these
corrections

NOMISSING

Optional, Repeatable

Identifies those variables to QA and summarize the messages
only; detailed message identifying the violation and date is
suppressed

QAOUT

Mandatory, Non-repeatable

File name of upper air data for quality assessed output/ merge
input

RANGE

Optional, Repeatable,
Reprocessed

Set new upper and lower bounds and missing values for QA of
the variable listed.

XDATES

Mandatory, Non-repeatable

Inclusive dates identifying the period of time to extract from
the archive data file.

A-10


-------
Table A-6. Description of Keyword Parameters for the UPPERAIR Pathway

Keyword

Parameter(s)



uanamel ... uanameN
or

ALL

AUDIT

where:

uanamel ... uanameN

Name(s) of variables that are to be tracked and reported during
quality assessment (as defined in Table B-l of Appendix B). If
"ALL" (case insensitive) is included, all variables will be audited.

DATA

archivefilename file format

A-ll


-------
Keyword

Parameter(s)

where:

archivefilename
fileformat

The name of the file containing the archive of upper air data

Archive file format; valid parameters are:

6201FB (TD-6201 fixed-length blocks)
or

6201VB (TD-6201 variable-length blocks)
or

FSL for data retrieved from National Centers for
Environmental Information (NCEI) web site. Also
available on the 'Radiosonde Data of North America' CD-
ROM and online from the National Oceanic and
Atmospheric Administration (NOAA) Earth System
Research Laboratory (ESRL) Radiosonde Database at
https://ruc.noaa.gov/raobs/.
or

IGRA

IGRA data retrieved from National Centers for
Environmental Information (NCEI) web site.

NOTE: The blockins factor and data t\ DC (ASCII or EBCDIC)
parameters are no longer supported by AERMET, beginning with
version 11059. The default values for these parameters are 1 for
blocking factor and ASCII for data type. AERMET will issue a
warning message if these parameters are included on the DATA
keyword.

EXTRACT

extracteddatafilename

where:

extracteddatafilename

Name of the output file for data extracted from an archive data file
and the name of the input file for upper air data QA

LOCATION6

siteid latlong [tadjust]

6 Coordinates can be entered as latitude and longitude or longitude and latitude as long as the correct
suffixes are used.

A-12


-------
Keyword

Parameter(s)

where:

siteid

Site identifier for which data are to be processed.



lat(long)

Station latitude in decimal degrees with the suffix N for sites north
of the equator, S for sites south of the equator.



long(lat)

Station longitude in decimal degrees with the suffix W for sites west
of Greenwich, E for sites east of Greenwich.



[tadjust]

An integer used to convert the time reported in the database to local
Standard time. For standard upper-air data reported in Greenwich
Mean Time (GMT), the value is the same as the time zone for the
station (e.g., a value of 5 for the Eastern time zone).

NOTE: Beeinnine with version 11059. the optional station elevation
parameter is no longer supported on the UPPERAIR pathway.

MODIFY



Or
ALL
Or

DELMAND CALMDIR SUBTTTD

Where:

 or ALL

DELMAND

CALMDIR

SUBTTTD

Delete mandatory levels, set wind direction to 0 for calm wind,

interpolate missing temperature and dewpoint

Delete mandatory levels

set wind direction to 0 for calm wind

interpolate missing temperature and dewpoint

Note; each modification can be listed separately; Listing all 3 is the

same as  or ALL

NOMISSING

uanamel . . . uanameN

A-13


-------
Keyword

Parameter(s)

where:

uanamel . . .
. . . uanameN

Or
All

Suppresses missing data messages for the upper air variables
specified, as defined in Appendix B; the number of times the
variable is missing is tallied. If "ALL" (case insensitive) is
included, suppression will take place for all variables.

QAOUT

qaoutputfilename

where:

qa_output_ filename

Name of the output file from the QA/input to merge data

RANGE

uaname lowerbound <[=

=] upper bound missing indicator

where:

uaname

Variable name, as defined in Table B-l



lowerbound

Minimum value of the valid range of values for uaname



<[=]

Exclude (<) or include (<=) the lower and upper bounds (the
endpoints) in the QA



upperbound

Maximum value of the valid range of values for uaname



missingindicator

Value to indicate the value is missing

XDATES

YB/MB/DB [TO] YE/ME/DE



YB/MB/DB

Beginning 4-digit year, month and day to extract; Elements can be
separated by slashes, dashes, or blanks;



[TO]

YE/ME/DE

Optional; used to make this record more readable

Ending 4-digit year, month and day to extract; Elements can be

separated by slashes, dashes, or blanks;

A-14


-------
Table A-7. Description of ONSITE/PROG Pathway Keywords

Keyword

Type

Description

ONSITE
PROG

Mandatory, Non-repeatable

Start of ONSITE pathway.
Start of PROG pathway

AUDIT

Optional, Repeatable

Identify variables to be audited. These variables are in
addition to any automatically audited variables.

DATA

Mandatory, Non-repeatable,
Reprocessed

Input file name of site-specific data.

DELTATEMP

Optional, Repeatable,
Reprocessed

Define heights (meters) for temperature differences.

FORMAT

Mandatory, Repeatable,
Reprocessed

FORTRAN format for reading one site-specific data record.

LOCATION

Mandatory, Non-repeatable,
Reprocessed

Site ID and location information.

NOMISSING

Optional, Repeatable

Identifies those variables to QA and summarize the messages
only; detailed message identifying the violation and date is
suppressed.

OBS/HOUR

Optional*, Non-repeatable

Number of observations each hour.

'Mandatory only if the observations are more frequent than
once per hour.

OSHEIGHTS

Optional*, Repeatable,
Reprocessed

Define heights of the site-specific measurements.
'Mandatory if the heights are not defined in the data file.

QAOUT

Mandatory, Non-repeatable

File name of site-specific data for quality assessment output
input

RANGE

Optional, Repeatable,
Reprocessed

Set new upper and lower bounds and missing values for QA of
the variable listed.

READ

Mandatory, Repeatable,
Reprocessed

Defines the name and order of variables as they appear in the
site-specific DATA file.

A-15


-------
Keyword

Type

Description

THRESHOLD

Mandatory, Non-repeatable,
Reprocessed

Sets the minimum wind speed (meters/second) below which
the wind is treated as calm.

XDATES

Optional, Non-repeatable

Inclusive dates for data processing.

A-16


-------
Table A-8. Description of Keyword Parameters for the ONSITE/PROG Pathway

Keyword

Parameter(s)

AUDIT

osnamel . . . osnameN



U1

ALL



where:

osnamel . ..
. . . osnameN

Name(s) of variables, as defined in Table B-3 of Appendix B, that are to
be tracked during the quality assessment. If "ALL" (case insensitive) is
included, all variables will be audited.

DATA

Filename [land water flag]

where:

Filename

The name of the file containing the ONSITE data. The optional land
water flag denotes if the data are over land (OL) or overwater (OW).
Both flags are applicable for both ONSITE and PROG pathways.

DELTATEMP

index lowerheight

upperheight

where:

index

Index for the ilh temperature difference measurement



lowerheight

Lower measurement height for the ilh temperature difference



upperheight

Upper measurement height for the ilh temperature difference

FORMAT

recordindex Fortranformat

where:

recordindex

Specifies the record # in the ONSITE data to which the Fortran format
refers; linked to record index on corresponding READ keyword



Fortranformat

The Fortran format used to read the ONSITE data record:

May be defined using a Fortran format specifier or as free-formatted
(also called list-directed) data using the optional 'FREE' parameter
(without quotes and not case-sensitive). The Fortran format specifier
must include open and close parentheses and must fit within the
record length of the control file image (up to 132 characters
including keyword and record index), and may include embedded
spaces.

A-17


-------




Note that date variables are read as INTEGER format (Fortran 'I'
format) and all other data variables are read as REAL format
(Fortran 'F' or 'E' format). Using an 'F' or 'E' format specifier to
read date variables or 'I' format specifier to read other data variables
will cause an AERMET runtime error. See Section 2.4 for a more
detailed discussion of the READ and FORMAT keywords.

LOCATION7

siteid latlong [tadjust] [elevation]

where:

siteid
lat(long)

long(lat)

[tadjust]

[elevation]

Site identifier for which data are to be processed.

Station latitude in decimal degrees with the suffix N for sites north of the
equator, S for sites south of the equator.

Station longitude in decimal degrees with the suffix W for sites west of
Greenwich, E for sites east of Greenwich.

An integer used to convert the time reported in the database to local
Standard time. For most onsite databases, the value is 0.

Station elevation (m above sea-level); default of 0m if omitted.

NOMISSING

osnamel . . . osnameN
or

ALL

where:

osnamel . . .
osnameN

Suppresses missing data messages for the ONSITE variables specified,
as defined in Appendix B; the number of times the variable is missing is
tallied. If "ALL" (case insensitive) is included, suppression will take
place for all variables.

OBS/HOUR

n obs [average method]

where:

nobs

Number of time periods per hour the ONSITE data are reported; for
example, if the data are recorded every 15 minutes, then n obs = 4.
Maximum value is 12, corresponding with 5-minute averages.

7 Coordinates can be entered as latitude and longitude or longitude and latitude as long as the correct
suffixes are used.

A-18


-------




If OBS/HOUR is not specified, AERMET will assume 1 observation per
hour. The optional average method will apply to averaging of winds. If
blank or SCALAR, the current averaging method discussed in Section
5.4 will be used. If VECTOR is included, vector averaging will be done
as discussed in Section5.4.

OSHEIGHTS

height 1 ... heightN

where:

heightl . . .
heightN

Heights of the ONSITE data measurements; can be used to specify
heights if they are not included in the data file. Must be in ascending
order from lowest to highest height. If the OSHEIGHTS keyword is
specified and heights are also defined in the data file, the OSHEIGHTS
input will be used and values in the data file (HT01, HT02, etc.) will be
ignored.

See Section 2.5 for a more detailed discussion about specifying
measurement heights.

A-19


-------
Keyword

Parameter(s)

QAOUT

qaoutputfilename

where:

qaoutputfilename

File name of the quality assessment output/merge input.

RANGE

osname lowerbound

<[=] upper bound missing indicator

where:

osname

Variable name, as defined in Table B-3.



lowerbound

Minimum value of the valid range of values for osname.



<[=]

Determines whether to include (<=) or exclude (<) the lower and
upper bounds in the range of acceptable values Exclude (<) or
include (<=) the lower and upper bounds (the endpoints) in the QA.



upperbound

Maximum value of the valid range of values for osname.



missingindicator

Value to use to indicate the value is missing.

NOTE: Beginning with version 11059. AERMET allows the use of





REAL values for lower bound, upper bound, and





missingindicator.

READ

recordindex osname 1

. . . osnameN

where:

recordindex

Links the list of variables named on this keyword statement to a
Fortran format defined on a FORMAT keyword statement. While
the corresponding Fortran format specifier must fit within a single
record in the control input file (up to 132 characters total per
record), multiple READ keywords can be used to list variables for a
single read by repeating the same record index.



osname 1 ...
osnameN

Specifies the list and order of variables in the ONSITE data file that



are to be read. See Appendix B for ONSITE variable names.

See Section 2.4 for a more detailed discussion of the READ and
FORMAT keywords.

A-20


-------
Keyword

Parameter(s)

THRESHOLD

thresholdwindspeed

where:

thresholdwindspeed

Minimum valid wind speed for the ONSITE/PROG measurements;
cannot exceed 1.0 m/s.

XDATES

YB/MB/DB [TO] YE/ME/DE

where:

YB/MB/DB

Beginning 4-digit year, month and day to extract; Elements can be
separated by slashes, dashes, or blanks;



[TO]

YE/ME/DE

Optional; used to make this record more readable

Ending 4-digit year, month and day to extract; Elements can be

separated by slashes, dashes, or blanks.

A-21


-------
Table A-9. Description of METPREP Pathway Keywords

Keyword

Type

Description and Usage

METPREP

Mandatory, Non-repeatable

Start of METPREP pathway.

AERSURF

Optional, Repeatable

Specify file name for primary surface characteristics, such as
output file from AERSURFACE; contains FREQ SECT,
SECTOR, and SITECHAR keyword inputs.

AERSURF2

Optional, Repeatable

Specify file name for secondary surface characteristics, such as
output file from AERSURFACE; inputs in the AERSURF2 file
are interpreted as secondary site characteristics, and may
contain FREQSECT2, SECTOR2, and SITE CHAR2
keyword inputs, or FREQ SECT, SECTOR, and SITE CHAR
keywords. This allows users to include data from an
AERSURFACE output file as secondary site characteristics
without having to edit the file to change the keywords.

DATA

Obsolete; ignored

DEFVPTG

Conditional*, Non-
repeatable

Specifies the default value of potential temperature lapse rate
for CO ARE processing. DEFVPTG can be used to override
the default value of 0.01 C/m.

*Only applicable with CO ARE processing; ignored otherwise.

FREQSECT

Mandatory, Repeatable,
Reprocessed

Number of surface characteristics by wind direction sector and
time period for the primary location. Must precede SECTOR
and SITE CHAR statements, and must precede secondary site
keywords, if provided.

FREQSECT2

Conditional*, Repeatable,
Reprocessed

Number of surface characteristics by wind direction sector and

time period for the secondary location.

*Must be specified if both ONSITE and NWS winds are

included, and must precede SECTOR2 and SITE CHAR2

statements.

A-22


-------
Keyword

Type

Description and Usage

LOCATION

Conditional*, Non-
repeatable

The LOCATION keyword under the METPREP pathway in
Stase 2 (old Staee 3) is no lonser used bv AERMET. unless
ONSITE mixing heights are used without any UPPERAIR data.



If UPPER AIR data are
available (with or without
ONSITE mixing heights):
OBSOLETE

For applications with UPPERAIR data, sunrise for CBL height
calculations is based on the primary surface station location in
Stage 1; either the ONSITE pathway, if available, or the
SURFACE pathway. A warning message will be generated in
these cases if the LOCATION keyword is included under the
METPREP pathway, and the METPREP inputs will be ignored.



Beginning with AERMET
version 13350, if ONSITE
mixing heights are used
without UPPERAIR data:
Mandatory

For applications with onlv ONSITE mixing heights, without
UPPERAIR data, the LOCATION keyword under the
METPREP should be used to specify the conversion from
GMT to LST.

METHOD

Conditional*, Repeatable

Specify processing methodology used for a particular variable.
* whether or not this keyword is mandatory depends on the
processing to be performed and the types of data included in
the merged database.

MINMOL

Conditional*, Non-
repeatable

Specifies the minimum absolute value of Monin-Obukhov
length output by CO ARE processing. Use of MINMOL can
be used to override the default value of 5 m.

*Only applicable with CO ARE processing; ignored otherwise.

MODEL

Optional, Non-repeatable

Name of model for which data are processed. Default:
AERMOD.

NWSHGT

Conditional*, Non-
repeatable

NWS instrument height, in meters, for the specified variable.
* Mandatory if METHOD REFLEVEL SUBNWS is specified.

SECTOR

Mandatory, Repeatable,
Reprocessed

Defines a wind direction sector in degrees for the primary
location. See also FREQ SECT and SITE CHAR.

A-23


-------
Keyword

Type

Description and Usage

SECTOR2

Conditional**, Repeatable,
Reprocessed

Defines a wind direction sector in degrees for the secondary
location. See also FREQSECT2 and SITECHAR2.

SITECHAR

Mandatory, Repeatable,
Reprocessed

Define the direction-dependent surface characteristics of
albedo, Bowen ratio, and surface roughness length (meters) for
the primary location. See also FREQ SECT and SECTOR.

SITECHAR2

Conditional**, Repeatable,
Reprocessed

Define the direction-dependent surface characteristics of
albedo, Bowen ratio, and surface roughness length (meters) for
the secondary location. See also FREQSECT2 and
SECTOR2.

SSTDEPTH

Conditional*, Non-
repeatable

Specifies the depth of sea surface temperature measurements
for CO ARE processing. If the SSTDEPTH keyword is
specified and depths are also defined in the data file, the
SSTDEPTH input will be used and values in the data file
(ZDEP) will be ignored.

*Only applicable with CO ARE processing; ignored otherwise.

THRESH1MIN

Optional, Non-repeatable

Option to specify a wind speed threshold for winds derived
from 1-minute ASOS wind data processed through
AERMINUTE.

U A WINDOW

Optional, Non-repeatable

Specifies the time window to use for selecting upper air
sounding.

XDATES

Optional, Non-repeatable

Inclusive dates for data processing.

ZIGUST

Conditional*, Non-
repeatable

Specifies the mixing height used for gustiness calculations with
CO ARE processing. Use of ZIGUST can be used to override
the default value of 600 m.

*Only applicable with CO ARE processing; ignored otherwise.

A-24


-------
Keyword

Type

Description and Usage

ZIMIN

Conditional*, Non-
repeatable

Specifies the minimum mixing height output by CO ARE
processing. Use of ZI MIN can be used to override the default
value of 25 m.

*Only applicable with CO ARE processing; ignored otherwise.

** Surface characteristics for the secondary site (SECTOR2 and SITE CHAR2) are required for applications
with ONSITE data and with the REFLEVEL SUBNWS option under the METHOD keyword to substitute for
missing ONSITE wind data.

A-25


-------
Table A-10. Description of Keyword Parameters for the METPREP Pathway

Keyword

Parameter(s)

AERSURF
AERSURF2

primary surfchar filenam [year listl] (for primary surface data
location)

secondary_surfchar_filenam [year list2] (for optional secondary surface data
location)

where:

primary surfchar filenam
[year listl]

secondary surfchar filenam
[year list2]

The name of the file containing the surface characteristic inputs

for the primary surface data location (FREQSECT, SECTOR,

and SITECHAR keywords)

Optional list of years associated with AERSURF

The name of the file containing the surface characteristic inputs

for the secondary surface data location (FREQSECT2,

SECTOR2, and SITE CHAR2 keywords)

Optional list of years associated with AERSURF2

DATA

ignored

A-26


-------
FREQSECT
FREQSECT2

frequency numberofsectors
frequency number of sectors

[year listl] (for primary surface data location)
[year list2] (for optional secondary surface data location)

where:

frequency

Specifies how often the surface characteristics change; valid





parameters are:





MONTHLY - every calendar month





SEASONAL - where the seasons are defined as:





Spring = March, April, May





Summer = June, July, August





Autumn = September, October, November





Winter = December, January, February





ANNUAL - constant for the entire year



numberofsectors

Specifies the number of wind direction sectors by which the





surface characteristics vary

Yearlistl,



Optional list of years associated with FREQ SECT or

year_list2



FREQSECT2

A-27


-------
Keyword

Parameter(s)

LOCATION

site id lat(long) long(lat) [tadjust] [elevation]

where:

siteid

Site identifier for which data are to be processed.



lat(long)

Station latitude (or longitude) in decimal degrees with the suffix N for
sites north of the equator, S for sites south of the equator (or W for
sites west of Greenwich, E for sites east of Greenwich).



long(lat)

Station longitude (or latitude) in decimal degrees with the suffix W for
sites west of Greenwich, E for sites east of Greenwich (or N for sites
north of the equator, S for sites south of the equator).



[tadjust]

An integer used to convert the time reported in the database to local
Standard time. For standard upper-air data reported in Greenwich
Mean Time (GMT), the value is the same as the time zone for the
station (e.g., a value of 5 for the Eastern time zone).



[elevation]

Station elevation (m above sea-level); default of 100m if omitted.

Note: The optional station elevation on the UPPERAIR pathway is
currently not used by AERMET.

NOTE: The LOCATION keyword under the METPREP pathway is
obsolete for applications that include UPPERAIR data, and inputs will be
ignored; however, applications that use only ONSITE mixing heights,
without UPPERAIR data, should still use the LOCATION keyword under
the METPREP pathway to specify the conversion from GMT to LST.

METHOD

atmosvariable option

where:

atmosvariable

Identifies the variable that will be processed:

UASELECT - selecting upper air sounding.

WIND_DIR - processing of NWS wind directions.
REFLEVEL - substitution of NWS data
STABLEBL - specify option for SBL processing
ASOS_ADJ - adjustment of ASOS wind speeds for truncation
COARE - invoke CO ARE processing and options
CCVR - option to substitute for missing cloud cover
TEMP - option to substitute for missing temperature

A-28


-------
Keyword

Parameter(s)

option

Processing options:

For UASELECT, valid parameters are:

SUNRIS(E) - select upper air sounding based on local sunrise
For WIND_DIR (not applicable to 1-min ASOS data), valid parameters
are:

NORAND - leave NWS wind directions to the nearest 10°
or RANDOM - randomize NWS wind directions (default).
For REFLEVEL, valid parameters are:

SUBNWS - allows substitution of NWS data for missing ONSITE
wind and/or temp data (other parameters automatically substituted);
NOTE: this option must be used if no ONSITE data are provided.
For STABLEBL, valid parameters are:

BULKRN - Bulk Richardson Number - This option requires onsite
measurements of temperature difference.

ADJ_U* - Option to adjust U* (surface friction velocity) for low
wind/stable conditions. For applications without the BULKRN
option, the ADJU* option is based on Qian and Venkatram (2011).
For applications with the BULKRN option, the ADJ U* option is
based on Luhar and Rayner (2009).

For ASOS_ADJ, valid parameters are:

NO_ADJ - do not adjust ASOS wind speeds for truncation.
For COARE, valid parameters are:

NO_COARE - Do not invoke COARE processing
RUN_COARE - Invoke COARE processing
WARM - Invoke COARE warm layer processing
NO_WARM - Do not invoke COARE warm layer processing
COOL - Invoke COARE cool skin processing
NO_COOL - Do not invoke COARE cool skin processing
ZO_U* - Calculate surface roughness based on u*

ZO_U*_PER - Calculate surface roughness based on u* and
wave period

ZO_PER_HT - Calculate surface roughness based wave height
and period

MIX_DFAULT - Calculate mixing heights using AERMET
default method

A-29


-------
Keyword

Parameter(s)





MIX_OBS - Use observed mixing heights both convective and





mechanical mixing heights





ZIC_OBS_NS - Use observed mixing heights for convective





heights and calculate mechanical heights with no smoothing





CALC_ZI_NS - Calculate mechanical heights with no smoothing





and set convective heights equal to mechanical heights for





convective hours





ZIC_OBS_SM- Use observed mixing heights for convective





heights and calculate mechanical heights with smoothing





CALC_ZI_SM - Calculate mechanical heights with smoothing and





set convective heights equal to mechanical heights for convective





hours





For CCVR, valid parameters are:





SUB_CC - select option to substitute for missing cloud cover





NO_SUB - disable option to substitute for missing cloud cover





NOPERS - disable subs for hrs 23 and 24 based on persistence





For TEMP, valid parameters are:





SUB_TT - select option to substitute for missing temperature





NOTSUB - disable option to substitute for missing temperature





(NO_SUB can also be used for TEMP)





NOPERS - disable subs for hrs 23 and 24 based on persistence





NOTE: The CCVR and TEMP substitutions are used bv default, unless





the application involves both NWS and ONSITE surface data, or only





ONSITE data with NRAD or with INSO data and the BULKRN option.





Substitutions can be disabled, and can also be activated for cases with





both NWS and ONSITE data by specifying the appropriate parameters.





Substitutions are based on linear interpolation across gaps of 1 to 2





hours, unless the missing data are for hours 23 or 24, where persistence





is assumed. Interpolations are only made based on non-interpolated





values on both sides of the data gap. Also, NOPERS is ignored for





both substitution methods.

A-30


-------
Keyword

Parameter(s)

MODEL

modelname

where:

modelname

Name of the dispersion model which uses the output files generated by
AERMET. Allowable names are:

AERMOD

NWSHGT

variablename instrumentheight

where:

variablename

Weather variable that requires an instrument height to be defined; valid
names are:

WIND (to specify anemometer height)



instrumentheigh
t

Height of the instrument above ground, in meters.

OUTPUT

parameterfilename

where:

parameter_
filename

Name of the output file from STAGE 2, with one record per hour

PROFILE

profilefilename

where:

profilename

Name of the output file containing multi-level onsite data, or single level
wind and temperature data from NWS site

A-31


-------
Keyword

Parameter(s)

SECTOR

sectorindex beginningdirection endingdirection (for primary data location)

SECTOR2

sectorindex beginning direction ending direction (for optional secondary data location)

where:

sectorindex

Index that links a specific set of site characteristics to a specific wind
sector.



beginningdirecti
on

Specifies the beginning wind direction of the sector, and is considered a
part of this sector.



endingdirection

Specifies the ending wind direction of the sector, and is NOT considered
a part of the sector

NOTE: The end of one sector must be the same as the beeinnine of the
next sector.

SITECHAR

frequency index sector index albedo Bowen roughness (for primary data location)

SITECHAR2

frequency index sector index albedo Bowen roughness (for secondary data location)

where:

frequency index

sectorindex
albedo
Bowen
roughness

Index of the time period for which the surface characteristics apply;

for ANNUAL on FREQSECT keyword, valid values:

1 (for the entire year)

for MONTHLY on FREQ_SECT keyword, valid values:
1 ... 12 (corresponding to each month of the year)
for SEASONAL on FREQ SECT keyword, valid values:

1	= Winter = December, January, February

2	= Spring = March, April, May

3	= Summer = June, July, August

4	= Autumn = September, October, November

Sector corresponding to direction from which the wind is blowing.
Albedo for the frequency index and sector index specified.

Bowen ratio for the frequency index and sector index specified.
Surface roughness for the frequency index and sector index specified.

A-32


-------
Keyword

Parameter(s)

THRESH1MIN

thresholdspeed

where:

thresholdspeed

Threshold wind speed in m/s for wind speeds derived from 1-minute
ASOS wind data processed through the AERMINUTE program. If
the user specifies a threshold speed greater than 0.5 m/s, a warning is
issued by AERMET. If a threshold wind speed greater than 1.0 m/s is
specified, AERMET considers this a fatal error, will issue an error
message and will not process data through Stage 2.

UAWINDOW

windowbegin windowend

where:

windowbegin
windowend

Beginning of the sounding window, entered as the number of hours
relative to the preferred sounding time (12Z, 00Z or -12Z for the
default selection; or local sunrise for the UASELECT SUNRIS
option)

Ending of the sounding window entered as the number of hours relative

to the preferred sounding time
NOTE: A neeative number indicates the number of hours before the
reference sounding (or sunrise), and a positive number indicates the
number of hours after the sounding (or sunrise)

XDATES

YB/MB/DB [TO] YE/ME/DE

where:

YB/MB/DB
[TO]

YE/ME/DE

Beginning 4-digit year, month and day to extract; Elements can be
separated by slashes, dashes, or blanks;

Optional; used to make this record more readable
Ending 4-digit year, month and day to extract; Elements can be separated
by slashes, dashes, or blanks;

A-33


-------
Appendix B. Variable names and default QA values

This appendix lists the variable names for each type of data and provides a short
description and the units for each variable along with the default bounds and missing value
codes. This information is presented in the tables that follow with each table divided into the
following fields:

Variable Name

This is the four-character name that can be used on RANGE, AUDIT, and READ statements.
An asterisk (*) indicates that the variable is automatically included in the QA for the path and
need not be specified on an AUDIT record in the control file.

Description and Units

A brief description of each variable and the units follow the name. For UPPERAIR and
SURFACE, real variables are stored as integers, in which case the units include a multiplier,
such as *10 or *100, to maintain additional significant digits. For example, if the units are
°C*10, then 1.5 °C is stored and referenced as 15.

Type of Check

The type of check determines whether to include (<=) or exclude (<) the lower and upper
bounds in the range of acceptable values and can be changed on a RANGE statement for
specific variables.

Missing Value Code

The missing value code is the value that AERMET interprets to mean that a value is not present.
It is also the value written/stored by AERMET when the variable is not present or cannot be
calculated.

B-l


-------
Bounds

The last two fields are the lower and upper bounds that determine the interval of acceptable
values. The value of the variable is accepted if it lies within this interval, where the endpoints
are either included or excluded according to the Type of Check. Note that the multiplier, if
present, must also be applied to these values.

B-2


-------
Table B-l. Variable and QA Defaults for SURFACE Variables

Variable
Name

Description

Units

Type

Missing
Indicator

Lower
Bound

Upper
Bound

PRCP

Precipitation amount

millimeters* 100

<=

-9

0

25400

SLVPt

Sea level pressure

millibars* 10

<

99999

9000

10999

PRES

Station pressure

millibars* 10

<

99999

9000

10999

CLHT

Ceiling height

kilometers* 10

<=

999

0

300

TSKC

Total//opaque sky cover

tenths//tenths

<=

9999

0

1010

ALCla

Sky cond//height, level 1

code//hundredths ft

<=

09999

0

07300

ALC2a

Sky cond//height, level 2

code//hundredths ft

<=

09999

0

07300

ALC3a

Sky cond//height, level 3

code//hundredths ft

<=

09999

0

07300

ALC4b

Sky cond//height, level 4

code//hundredths ft

<=

09999

0

07850

ALC5b

Sky cond//height, level 5

code//hundredths ft

<=

09999

0

07850

ALC6b

Sky cond//height, level 6

code//hundredths ft

<=

09999

0

07850

PWVC

Present weather (vicinity)



<=

9999

0

9800

PWTH

Precipitation type



<=

9999

0

9800

ASKY°

ASOS Sky condition

tenths

<=

99

0

10

ACHTd

ASOS Ceiling

kilometers* 10

<=

999

0

888

HZVS

Horizontal visibility

kilometers* 10

<=

99999

0

1640

TMPD*

Dry bulb temperature

°C*10

<

999

-300

360

TMPW

Wet bulb temperature

°C*10

<

999

-650

350

DPTP

Dew-point temperature

°C*10

<

999

-650

350

RHUM

Relative humidity

whole percent

<=

999

0

100

WDIR*

Wind direction

tens of degrees

<=

999

0

36

WSPD*

Wind speed

meters/second* 10

<=

999

0

500

B-3


-------
Automatically included in audit report,
t A value < 800 in CD144 files is converted to SLVP/10.0 + 1000.0

// The two variables have been combined to form one variable; the missing value flags, as well as the upper and lower

bounds have also been concatenated.
a ASOS sky condition (code table) and height (hundredths of feet) for levels 1 -3
b ASOS sky condition (code table) and height (hundredths of feet) for levels 4-6

(for augmented sites)
c ASOS sky condition (tenths), derived from layer data.
d ASOS ceiling (kilometers *10), derived from layer data.

B-4


-------
Table B-2. Variable and QA Defaults for UPPERAIR Variables

Variable
Name

Description

Units

Type*

Missing
Indicator

Lower
Bound

Upper
Bound

UAPR

Atmospheric pressure

millibars* 10

<

99999

5000

10999

UAHT

Height above ground

meters

<=

99999

0

5000

UATT

Dry bulb temperature

°C*10

<

9990

350

+350

UATD

Dew point temperature

°C*10

<

9990

350

+350

UAWD

Wind direction

degrees from north

<=

999

0

360

UAWS

Wind speed

meters/second *10

<

9990

0

500

UASS

Wind speed shear

(m/s)/(100 meters)

<=

9999

0

5

UADS

Wind direction shear

degrees/(100 meters)

<=

9999

0

90

UALR

Temperature lapse rate

°C/(100 meters)

<=

9999

2

5

UADD

Dew point deviation

°C/(100 meters)

<=

9999

0

2

* Type determines whether to include (<=) or exclude (<) the lower and upper bounds in the range of acceptable

values and can be changed on a RANGE statement.

B-5


-------
Table B-3. Variable and QA Defaults for ONSITE or PROG Single Level and

Date/Time Variables

Variable
Name

Description

Units

Type

A

Missing
Indicator

Lower
Bound

Upper
Bound

HFLX

Surface sensible heat flux

watts/square meter

<

-999

-100

800

LFLX

Surface latent heat flux

watts/square meter

<

-999

-100

800

USTR

Surface friction velocity

meters/second

<

-9

0

2

MHGT

Mixing height

meters

<

9999

0

4000

ZOHT

Surface roughness length

meters

<

999

0

2

SAMT

Snow amount

centimeters

< =

999

0

250

PAMT

Precipitation amount

centimeters

<=

999

0

25

INSO

Insolation

watts/square meter

<=

9999

0

1250

NRAD

Net radiation

watts/square meter

<

999

-100

800

DT01

Temperature diff.(U - L)1

°C

<

9

-2

5

DT02

Temperature diff.(U - L)1

°C

<

9

-2

5

DT03

Temperature diff.(U - L)1

°c

<

9

-2

5

VPTG

Potential temperature lapse rate

°C/m *1000

<=

-9

5

100

MOBL

Monin-Obukhov length

meters

<

-99999

-8888

8888

WSTR

Convective velocity scale

m/s

<=

-9

0

2

ALBD

Albedo

Dimensionless

<

999

0

1

BOWN

Bowen ratio

dimensionless

<

999

-10

10

PRCP

Precipitation

millimeters* 100

<=

-9

0

25400

SLVP

Sea level pressure

millibars* 10

<

99999

9000

10999

PRES

Station pressure

millibars* 10

<

99999

9000

10999

CLHT

Ceiling height

kilometers* 10

< =

999

0

300

TSKC

Sky cover (total or opaque)

tenths

<=

99

0

10

TSEA

Sea surface temperature

°C

<=

99

-30

50

ZDEP

Depth of sea surface temperature

meters

<=

9999

-10

10

HWAV

Significant wave height

meters

<=

9999

0

60

TWAV

Significant wave period

meters

<=

9999

0

60

RDOW

Longwave downward radiation

watts/square meter



-9999

0

1000

B-6


-------
Variable
Name

Description

Units

Type

A

Missing
Indicator

Lower
Bound

Upper
Bound

OSDY

Day



<=

-9

1

31

OSMO

Month



<=

-9

1

12

OSYR

Year



<=

-9

0

99

OSHR

Hour



<=

-9

0

24

OSMN

Minutes



<=

-9

0

60

1 (U - L) indicates (upper level) - (lower level).

* Type determines whether to include (<=) or exclude (<) the lower and upper bounds in the range of acceptable values, and can
be changed on a RANGE statement.

Note: Shaded parameters are only used lor overwaler applications with llie PROG pathway. The exceptions are IJ STit
and I'SICC which are used when input with the ONSITH pathway but not the PROG pathway lor overland
applications.

Parameters in Italics are not used h v AURMHT.

B-7


-------
Table B-4. Variable and QA Defaults for ONSITE or PROG Multi-level Variables

Variable
Name

Description

Units

Type

Missing
Indicator

Lower
Bound

Upper
Bound

HTnn

Height

meters

<

9999

0

4000

SAnn

Std. dev. horizontal wind

degrees

<

99

0

35

SEnn

Std. dev. vertical wind

degrees

<

99

0

25

SVnn

Std. dev. v-comp. of wind

meters/second

<

99

0

3

SWnn

Std. dev. w-comp. of wind

meters/second

<

99

0

3

SUnn

Std. dev. u-comp. of wind

meters/second

<

99

0

3

TTnn*

Temperature

°C

<

99

-30

40

WDnn*

Wind direction

degrees from north

<=

999

0

360

WSnn*

Wind speed

meters/second

<=

99

0

50

Wnn

Vertical wind component

meters/second

<

999

0

5

DPnn

Dew-point temperature

°C

<

99

-65

35

RHnn

Relative humidity

whole percent

<=

999

0

100

Vlnn

User's vector #1

user's units

<

999

0

100

V2nn

User's vector #2

user's units

<

999

0

100

V3nn

User's vector #3

user's units

<

999

0

100

'nn ' in variables HT to V3 refers to the level at which the observation was taken; e.g., TT01 is the temperature at the

first level and WS02 is wind speed at the second level.

'Aulonialically included in audit report.

Note: Parameters in italics are not currently used in AKRMKT.

B-8


-------
Appendix C. Data File Formats

This appendix describes the format of the data files created by AERMET. This includes
the EXTRACT and QA files of NWS upper air and surface data, the QAOUT file for site-
specific or prognostic data, and the OUTPUT and PROFILE files that will be input to
AERMOD.

C. 1. EXTRACT/QAOUT files

Table C-l and Table C-2 list the format of the EXTRACT and QAOUT files for the
SURFACE and UPPER pathways. Note that different variables are output for each of the two
file types. The EXTRACT file contains the variables needed in Stage 2. The QAOUT file
contains the same variables plus any additional variables that are QA'd but not needed for Stage
2. Table C-3 lists the format for the QAOUT file for the ONSITE or PROG pathway. Note for
ONSITE or PROG data, if heights are read in, either with the HT variable or OSHEIGHTS, they
will be the first variable listed in the QAOUT file, regardless of the order they were read in the
raw data file. Remaining variables are then listed based on their order in the subroutine
ONSITE INIT in the ONSITE module.

C-l


-------
Table C-l. SURFACE EXTRACT and QAOUT file header format and data format.

Header section

Row Number

Description

1

AERMET version number

2

Location infonnation

3

File type (EXTRACT or QAOUT)

4

Date of data period

>4

Optional Range modifications1

>4

Data header

Data section

Column2

Description

DATE

Date (YYYMMDD) inLST

HR

Hour of observation in LST

ASOS

ASOS status for hour (Y=ASOS observation, N=non-ASOS observation

PRCP

Precipitation (mm)

SLVP

Sea level pressure (mb)

PRES

Station pressure (mb)

TSKC

Total/opaque cloud cover

PWTH

Precipitation type

ASKY

ASOS sky condition

TMPD

Dry bulb temperature (°C)

DPTP

Dew point temperature (°C)

RHUM

Relative humidity (percent)

WDIR

Wind direction

WSPD

Wind speed (m/s)

ALC1

Sky condition/height, level 1

ALC2

Sky condition/height, level 2

ALC3

Sky condition/height, level 3

ALC4

Sky condition/height, level 4

ALC5

Sky condition/height, level 5

ALC6

Sky condition/height, level 6

PWVC

Present weather

ACHT

ASOS ceiling

HZVS

Horizontal visibility

TMPW

Wet bulb temperature

1	The RANGE values are output for variables that are changed from the default missing value or bounds.

2	Shaded variables are in the QAOUT file only if audited.

C-2


-------
Table C-2. UPPERAIR EXTRACT and QAOUT file header format and data format.

Header section

Row Number

Description

1

AERMET version number

2

Location infonnation

3

File type (EXTRACT or QAOUT)

4

Date of data period

>4

Optional Range modifications1

>4

Data header

Data section

Column2

Description

DATE

Date (YYYMMDD) inLST

SND

Sounding number for the day

HR

Hour of sounding in LST

LEV

Level number

UAPR

Pressure of level (mb)

UAHT

Height of level (m)

UATT

Dry bulb temperature (°C)

UATD

Dew point temperature (°C)

UAWD

Wind direction of level

UAWS

Wind speed of level (m/s)

UASS

Wind speed shear (m/s)/(100 m)

UADS

Wind direction shear degrees/(100 m)

UALR

Temperature lapse rate °C/(100 m)

UADD

Dew point deviation °C/(100 m)

1	The RANGE values are output for variables that are changed from the default missing value or bounds.

2	Shaded variables are in the QAOUT file only if audited.

C-3


-------
Table C-3. ONSITE/PROG EXTRACT and QAOUT file header format and data format.

Header section

Row Number

Description

1

AERMET version number

2

Location information

3

File type (QAOUT)

>3

Threshold speed (m/s)1

>3

Temperatures used for DELTATEMP1

>3

Overland (OVERLAND) or overwater (OVERWATER) flag

>3

Date of data period

>3

Optional Range modifications2

>3

First and last level for multi-level variables1

>3

Data header

Data section

Column

Description

DATE

Date (YYYMMDD) inLST

HR

Hour of sounding in LST

LEV

Level number

HTNN

Height of level1

OSVAR1

Variable l3









OSVARN

Variable N3

1	If applicable

2	The RANGE values are output for variables that are changed from the default missing value or bounds.

3	After the height variable, variables are written in the order they are listed in subroutine onsite init in
mod_onsite.f90 and shown in Table B-3 and Table B-4 in Appendix B

C-4


-------
C. 2. OUTPUT and PROFILE outputs

Table C-4 and Table C-5 list the formats for the OUPUT (surface data and boundary layer
parameters) and PROFILE file output from AERMET for input to AERMOD.

C-5


-------
Table C-4. OUTPUT file format.

Header section

Variable

Description

1

Latitude of primary surface station

2

longitude of primary surface station

3

Upper air station identifier

4

Surface station identifier

5

Onsite or prognostic station identifier

6

AERMET version

7

Various information such as the use of adjusted u*, Bulk Richardson number use, and
MMIF version

Data section

Column

Description

year

2-digit year

month

2-digit month

day

2-digit day of month

j_day

Julian day of year

hour

Hour of day in LST

H

Sensible heat flux (W/m2)

u*

Surface friction velocity (m/s)

w*

Convective velocity scale (m/s)

VPTG

Vertical potential temperature gradient above Zic (K/m)

Zic

Convective mixing height (m)

Zim

Mechanical mixing height (m)

L

Monin-Obukhov length (m)

Zo

Surface roughness length (m)

Bo

Bowen ratio

R

Albedo

ws

Reference wind speed (m/s)

wd

Reference wind direction (degrees)

Zref

Reference heights for winds (m)

temp

Reference temperature (K)

Ztemp

Reference height for temperature (m)

ipcode

Precipitation type code (0=none, ll=liquid, 22=frozen, 99=missing)

pamt

Precipitation amount (mm/hr)

rh

Relative humidity (percent)

pres

Station pressure (mb)

ccvr

Cloud cover (tenths)

WADJ

Wind spped adjustment and data source flag

SUBflag

Substitution flag

C-6


-------
When site-specific data are included in the data base, the definition of the reference
height wind speed and direction are subject to the following restrictions:

•	the wind speed, Ws, must be greater than or equal to the site-specific data threshold wind
speed;

•	the measurement height must be at or above 7*zo, where zo is the surface roughness
length;

•	the height must be less than or equal to 100 meters.

If AERMET is run only with NWS data, i.e., no site-specific data are in the data base,
then the restrictions above do not apply, and the reference winds are taken to be the NWS winds
independent of the height at which the winds were measured.

Ambient air temperature is subject to a similar, but less restrictive, selection process:

•	the measurement height must be above zo; and

•	the height must be less than or equal to 100 meters.

C-7


-------
Table C-5. PROFILE file format.

Column

Description

year

2-digit year

month

2-digit month

day

2-digit day of month

hour

Hour of day in LST

height

Height of level (m)

top

1 if this is the last level for the hour, 0 otherwise

WDnn

Wind direction at current level (degrees)

WSnn

Wind speed at current level (m/s)

TTnn

Temperature at current level (°C)

SAnn

Standard deviation of wind direction, ce (degrees)

SWnn

Standard deviation of vertical wind speed, ow (m/s)

C-8


-------
Appendix D. Messages

During processing, AERMET writes messages to the file defined by the MESSAGES
keyword on the JOB pathway. Each message has the form:

Pathway code subroutine message

Where pathway is the pathway defined in the control file (JOB, UPPERAIR, SURFACE,
ONSITE, PROG, or METPREP). The code is a three-character code with the first character
being an "E" for error, "I" for informational, "Q" for quality assurance (audit) and "W" for
warning. The latter two characters are a numeric string to link the code to a specific message
type. The subroutine identifies the subroutine in which the event that trigged message occurred
and finally the message is the actual message identifying the issue. Error messages lead
AERMET to abort processing, warning messages identify potential issues that are not fatal but
may require attention and informational messages relay information to the user, such as the
commission date for an ASOS station. Quality assurance messages alert the user of missing or
values out of bounds so they may fit the warning and informational categories.

D-l


-------
D. 1. Error messages

Error codes E01-E08 generally refer to control file processing, E30-39 refer to
UPPERAIR processing, E40-E47 refer to SURFACE processing, E50-E61 refers to ONSITE or
PROG pathway, and E70-E85 refers to the METPREP pathway.

E01	Invalid path or keyword; syntax error in AERMET control file

E02	Invalid filename or duplicate filename

E03	Incorrect number of fields or invalid parameters for a keyword; duplicate entry of
keyword

E04	Invalid or obsolete file format

E05	Invalid option for keyword or invalid variable

E06	Missing path identifier

E07	Invalid path pairings, i.e., SURFACE with PROG

E08	Missing keyword

E30	Sounding file not in specified format (IGRA, 6201, FSL)

E31	Error reading sounding data line

E32	Invalid date fields in upper air data file

E33	Invalid wind speed units for FSL sounding data

E34	Multiple surface data lines for a given sounding for FSL or IGRA sounding data

E35	Multiple versions of FSL formats detected for FSL sounding data file; missing value

indicators or pressure conversion indicate multiple versions

E36	Number of levels read for FSL or IGRA sounding data does not match expected

number of levels for a sounding

E37	No soundings extracted but no errors

E38	Sounding extraction not completed

E39	No soundings extracted with errors

E40	Error reading data line for surface observations

E41	Error reading dates for hourly averaged 1-minute ASOS data

E42	Invalid date fields in surface data file

E43	Invalid elevation field in surface data file

E44	Invalid station coordinates in surface data file

D-2


-------
E45 Invalid SAMSON header record in surface SAMSON data file

E46 More than one set of header records in surface SAMSON data file

E47 Invalid station identifier in surface data file

E50 Number of instances of READ keyword do not match number of instances of
FORMAT keywords for ONSITE or PROG pathways.

E51 OBS/HR not present when OSMN variable read from data; OBS/HR > 1 and OSMN
not read from data

E52 Date/time variables not read with first READ statement or date/time variables not first
set of variables for a READ statement.

E53 First or last character of FORMAT statement is not a parenthesis; Number of left and
right parentheses in FORMAT statement do not match

E54 No DELTATEMP heights listed for DTO1

E55 Number of READ statements exceeds maximum allowed or error reading ONSITE or
PROG QAOUT file

E56 Number of observations/hour exceeds value of OBS/HR for sub-hourly site-specific
data

E57 Number of heights specified by OSHEIGHTS not equal to number of HT levels if

both OSHEIGHTS specified and height is read in from site-specific or prognostic data
file

E58 Input data heights not increasing with each READ statement for a given hour when
reading site-specific or prognostic data file and height is read from data file.

E59 Invalid date/time variable found in QAOUT data; variable is not one of the first
variables on the line of data.

E60 ONSITE or PROG wind speed and direction not processed together. If one is read in,
the other should be as well.

E60 ONSITE or PROG sea surface temperature depth read in but no sea surface
temperature.

E61 When OSHEIGHTS not used, the first level for HT is not 1 and the last level is not
equal to one of the multi-level variable's last level.

E62 OSHEIGHTS not in ascending order

D-3


-------
E70 No valid data available based on input dates and available data for UPPERAIR,

SURFACE, ONSITE, or PROG data.

E71 LOCATION keyword missing; needed when MIXHTS included in ONSITE or PROG

data and no UPPERAIR data.

E72 NWS_HGT missing if processing SURFACE data and SUBNWS invoked
E73 Surface characteristics keyword(s) missing

E74 Invalid year for multi-year specified surface characteristics or year has not been

assigned or assigned more than once. Applies to both primary and secondary sites.
E75 Invalid surface characteristics parameter (invalid frequency, sector number). Applies

to both primary and secondary sites.

E76 Duplicate listing of SITE CHAR, SITE CHAR2, SECTOR, or SECTOR2. This is

not trigged when multiple years are associated with surface characteristics
E77 Invalid combination of item with action, i.e., STABLEBL paired with RANDOM
E78 UAWINDOW beginning hour after ending hour
E79 Invalid variable for NWS HGT

E80 Invalid value for NWS HGT height (not a number or height < 0 m)
E81 UPPERAIR data not read in and no onsite or prognostic mixing heights
E82 No onsite or prognostic mixing heights needed for chose COARE mixing height
option

E83 COARE NO COARE and RUN COARE selected
E84 Multiple COARE options chosen for a particular action
E85 Data overflow or bad data for OUTPUT (surface) file
E86 Data overflow or bad data for PROFILE file

D-4


-------
D. 2. Warning messages

Warning codes W01-W03 generally refer to control file processing, W30-35 refer to
UPPERAIR processing, W40-W55 refer to SURFACE processing, W60-W69 refers to ONSITE
or PROG pathway, and W70-W81 refers to the METPREP pathway.

W01 Too many fields associated with keyword (usually obsolete fields such as blocking
factor) or obsolete keyword or path ignored; extra fields will be ignored.

W02 Duplicate listing of variable for items such as AUDIT, NO_MISSING, RANGE, etc.

W03 Extraction dates will be determined by METPREP XDATES if UPPERAIR,
SURFACE, ONSITE, or PROG XDATES missing in combined Stage 1 and 2
AERMET runs.

W04 Incorrect sign of GMT to LST conversion for longitude.

W30 Upper air station WBAN in data file does not match user entered station ID

W31 First level of sounding not surface level, skip sounding

W32 Surface level height missing, skip sounding

W33 Reached limit of warning code specified in message for upper air data

W34 No upper air data extracted as specified by dates with XDATES keyword. Check
XDATES

W35 Sounding data not in temporal order

W40 Station WBAN in data file does not match user entered WBAN or previous record's
WBAN. Also issued when AERMINUTE WBAN does not match user entered
WBAN.

W41 User may have entered WMO number instead of WBAN; consider entering WBAN
in control file

W42 Limit reached on number of warning messages

W43 Station elevation missing in SURFACE data file or does not match user entered
elevation.

W44 Station coordinates not provided in SURFACE data file

W45 Station is flagged as ASOS station but no commission date or before ASOS

commission date; also issued when the ASOS flag switches after commission date

D-5


-------
W46 No surface data extracted as specified by dates with XDATES keyword. Check
XDATES

W47 Invalid entry for CD-144 variables or HUSWO cloud cover

W48 AERMINUTE output does not overlap with surface data XDATES.

W49 Surface data not in temporal order

W50 Observation is outside accepted dates for processed SURFACE data format.

W51 Variable exceeds a specified threshold. Currently this is applicable to threshold wind
speed specified by the THRESHOLD keyword or ASOS wind speed exceeds a
specified threshold for SURFACE data.

W52 ASOS flag set for non-ISHD data with DATA keyword for SURFACE data; reset to
non-ASOS

W53 ASOS flag set for SURFACE station in ASOS list based on WBAN number

W54 ASOS flag set for SURFACE station not in ASOS list based on WBAN number

W55 SURFACE station found in ASOS list for non-ISHD data file

W56 Number of observations (missing + non-missing) for an hour are less than NOBS/HR
for sub-hourly site-specific datra

W60 ONSITE or PROG DATA keyword indicates data is overland but presence of
variables for COARE processing indicate data is overwater

W61 First level for wind speed and direction not equal or unequal number of levels for
wind speed and wind direction for ONSITE or PROG data.

W62 Site-specific or prognostic data not in temporal order

W63 Data line in raw site-specific or prognostic data does not match FORMAT statement
associated with READ statement for line.

W64 Variable read from ONSITE or PROG data file but is not used by AERMET and will
be ignored.

W65 Variable exceeds a specified threshold. Currently this is applicable to threshold wind
speed specified by the THRESHOLD keyword, ASOS wind speed exceeds a
specified threshold for SURFACE data or the sea surface temperature depth specified
by SSTDEPTH exceeds the depth threshold.

W66 OBS/HR=l with OSMN being read in; OSMN will be ignored in data.

D-6


-------
W67 OSHEIGHTS specified and HT read in ONSITE or PROG data; HT will be ignored

and OSHEIGHTS will be used.

W68 ONSITE or PROG variable being audited but not read in from data; Ignore audit
W69 DELTA TEMP listed but not DT01, warn user that temperatures may be used.
W70 LOCATION keyword not needed for METPREP or extra field with LOCATION
keyword

W71 NWSHGT not equal to ASOS anemometer height in internal ASOS list
W72 NWS HGT height > 30 m

W73 Not enough variables for stable boundary layer calculations; cloud cover and net

radiation not read in and or no insolation and BULKRN calculations not performed.
W74 Secondary site surface characteristics listed but not needed.

W75 Variable exceeds bounds (this is not the same as upper and lower bound checks when

auditing) or may be suspect
W76 Upper air sounding not extended.

W77 Convective mixing height exceeds original sounding top
W78 W*< 0.001, reset to 0.001

W79 MMIF version found for data while using ONSITE pathway

W80 Multiple MMIF versions detected

W81 Obsolete parameter detected and will be ignored

W82 COARE requested with overland data; COARE will be ignored

W83 COARE option, with the exception of RUN COARE, selected with NO COARE;

COARE will not be invoked
W84 SST DEPTH will be used instead of hourly sea surface temperature depth
W85 Not enough variables for COARE; COARE will not be invoked
W86 Not enough variables for COARE cool skin or warm layer; COARE will be invoked

without options
W87 Reach limit of error messages
W88 Longitude and GMT to LST conversion don't match

D-7


-------
D. 3.	Informational messages

Information code 101 refers to control file processing, 120-29 refer to UPPERAIR
processing, 140-159 refer to SURFACE processing, 160-168 refers to ONSITE or PROG
pathway, and 170-186 refers to the METPREP pathway.

101	Alert user of processing stage or stages

120	Upper air extraction process begin or end date/time.

121	Duplicate sounding found for hour

122	End of data window (set by XDATES) reached; no further data extraction

123	Mandatory level deleted or sounding has no levels after deleting mandatory levels.

124	Wind direction set to 0 for calm wind in sounding

125	Reset missing temperature

126	Reset missing dewpoint

127	Could not compute layer index for auditing

128	No sounding for the day

129	No morning sounding for the day

140	Surface data extraction process begin or end date/time.

141	ISHD data observation not within accepted number of minutes of the hour

142	ISHD record type not processed

143	Potential duplicate observation found for the hour

144	Special report used for hour from ISHD data

145	Observation for the hour replaced with new observation from ISHD data

146	Number of extracted surface observations

147	Number of retained surface observations

148	Number of special surface ISHD observations used

149	Number of regular surface ISHD observations used

150	Number of duplicate surface observations not used

151	Number of special surface ISHD observations not used

152	Number of regular surface ISHD observations not used

153	Number of overwritten surface observations

154	Number of non-supported ISHD observations read

D-8


-------
155

156

157

158

159

160

161

162

163

164

165

166

167

168

169

170

171

172

173

174

175

176

177

178

179

180

Number of observations outside acceptable number of minutes within the hour

Number of calm observations

Number of variable wind observations

SAMSON observation may be modeled

ASOS commission date

Site-specific or prognostic data extraction process begin or end date/time.

List of DELTA TEMP heights

Potential duplicate site-specific or prognostic sub-hourly or hourly observation

Number of extracted site-specific or prognostic observations

Number of duplicate site-specific or prognostic observations

Number of sub-hourly site-specific or prognostic observations not used

Number of bad height levels

Location is overland and certain variables will be read but not used
Reset input SST depth to absolute value of depth is input depth is negative
Reset input minimum Monin-Obukhov length for COARE calculations to absolute
value of minimum Monin-Obukhov length if minimum Monin-Obukhov length is
negative

PBL processing begin or end date/time.

Missing insolation and cloud cover

Temperature and/or pressure missing, or winds calm or missing, skip calculations for
the hour.

Wind measurement height < 20 times z0

Wind speed < square root of 2 times minimum ov; reset wind to square root of 2
times minimum ov

Cloud cover missing, skip calculations
Net radiation > 0 for stable hour
Sounding date/time for the processed date

No convective parameters calculated for the day depending on sounding issues
Convective mixing height set to maximum allowed convective height or mechanical
mixing height set to maximum allowed mechanical mixing height
Location is overland and certain variables will not be used from Stage 1 output

D-9


-------
181	Heat flux <= 0 for convective hour, reset to 0.1

182	Bulk Richardson number approach not used

183	MMIF version found

184	Alert user how stability determined for each hour, Monin-Obukhov length or solar
angle.

185	If site-specific u* for the hour and adjust u* requested, alert user that u* will not be
adjusted.

186	If wind reset to square root of 2 times minimum ov, recalculate site-specific u*, L, or

w*

187	Mixing height calculated for hour with missing PROG or ONSITE mixing height
when mixing height is an input variable.

190	TSEA specified but not SSTD or SSTDEPTH; use default depth

191	Sunrise/sunset time based on longitude, not GMT to LST conversion factor when
GMT to LST conversion factor is 0

192	COARE mixing height set to minimum value when mixing height is below minimum
allowed value

D-10


-------
D. 4.	Quality assurance messages

Quality assurance messages Q20-Q28 refer to UPPERAIR processing, Q40-Q47 refer to
SURFACE processing and Q60-Q70 refer to ONSITE/PROG processing.

Q20	Cannot recompute heights of sounding

Q21	Difference between observed height and recomputed height > 50 m

Q22	Height is missing for a level, cannot compute UASS, UADS, UALR, or UADD

Q23	Variable missing for level

Q24	Variable violates lower bound for level

Q25	Variable violates upper bound for level

Q26	Wind speed is zero for non-zero wind direction or calm for level

Q27	Temperature < dewpoint for level

Q28	Top of sounding < 5 km

Q40	Variable missing

Q41	Variable violates lower bound

Q42	Variable violates upper bound

Q43	Calm wind

Q44	Wind speed = 0 and wind direction > 0

Q45	Wind speed > 0 and wind direction = 0

Q46	Non-zero precipitation without weather

Q47	Weather without non-zero precipitation

Q60	Report first level for variable

Q61	Missing value for variable (specific level for multi-level variable)

Q62	Variable violates lower bound (specific level for multi-level variable)

Q63	Variable violates upper bound (specific level for multi-level variable)

Q64	Wind speed < threshold for level

Q65	Reset averaged wind speed to calm for level due to insufficient sub-hourly values >
threshold

Q66	Reset averaged wind speed to missing for level due to insufficient sub-hourly values

Q67	Temperature < dewpoint for level

D-ll


-------
Q68 Set hourly average for variable to missing due to insufficient sub-hourly values;

exception is precipitation
Q70 Keep total precipitation for hour but not enough values for average

D-12


-------
Appendix E. AERMET modules and subroutines

The following tables list the AERMET modules and subroutines with descriptions and a
list of subroutines or programs that call the subroutine. Note that the module FILE UNITS has
no subroutines, only file unit numbers and names.

Table E-l. List of subroutines and functions in module MAIN!

Subroutine or

Description

Calling subroutines

Function





CHECKDATES

Checks the year, month, and day of
a date to ensure the date is a valid
date.

Module MAIN1: GETDATES

CHECKFILE

Processes the MESSAGE,

Module READ INPUT: JOB PATH



REPORT, DEBUG, DATA,

Module UPPERAIR: UPPER PATH



EXTRACT, QAOUT, SURFACE,

Module SURFACE: SURF PATH



PROFILE, AERSURF, and

Module ONSITE: OS PATH



AERSURF2 filenames from the

Module PBL: PBL PATH



AERMET control file.



COORD

Function to read latitude or
longitude text string and convert to
a number

Module MAIN1: GETLOC

DATA DATES

Checks the year, month, day, and

Module MAIN1: READ 6201, READ FSL,



date of data from upper air,

READIGRA



surface, or site-specific/prognostic

Module SURFACE: NEW_OBS, READ ISHD



data to ensure a valid date and

Module ONSITE: AUDIT, READ EXT,



within the window specified by

READOS



XDATES for appropriate data path.

Module PBL: CHECK OBS, COARE1

DATALINE

Processes the DATA, AERSURF,

Module UPPERAIR: UPPER PATH



or AERSURF2 keyword lines for

Module SURFACE: SURF PATH



AERMET control file

Module ONSITE: OS_PATH
Module PBL: PBLPATH

DATETIME

Writes date and time to runtimes
array to denote when AERMET
starts and stops

AERMET

GETDATES

Process XDATES keyword to get

Module UPPERAIR: UPPER PATH,



start and end dates of data

UPSTAGE2

Module SURFACE: SURF PATH, SF STAGE2
Module ONSITE: OS_PATH, OS_STAGE2
Module PBL: PBL PATH

E-l


-------
Subroutine or

Description

Calling subroutines

Function





GETFIELDS

Get fields of data from input line

Module MAIN1: GETDATES, GETLOC,



from AERMET control file

VARLIST

Module UPPERAIR: UPRANGE,
UPMODKEY

Module SURFACE: SURFRANGE,
SFTHRESH, NWS_HGTS
Module ONSITE: DELTA T HT,
OS OBSNUM, OSRANGE, OSTHRESH,
OS VARS, OSHEIGHTS
Module PBL: FREQ SEC, METHODS,
MOL MIN, SECTORS, SITE CHAR,
SSTDEPTH, UP_WINDOW, VPTG DEF,
YEAR STR, ZI GUST, ZIMIN

GETLOC

Process LOCATION keyword to

Module UPPERAIR: UPPER PATH,



get station ID, coordinates, GMT-

UP STAGE2



LST conversion, and elevation

Module SURFACE: SURF PATH,
SF STAGE2, READEXT
Module ONSITE: OS_PATH, OS_STAGE2
Module PBL: PBLPATH

GETUNIT

Determines what file unit or

Module UPPERAIR: UPPER PATH



standard output to which to write

Module SURFACE: SURF PATH



messages

Module ONSITE: OS_PATH

Module READ INPUT: CHECK LINE,

JOBPATH

Module PBL: PBL PATH

GRAVITY

Calculate gravity as a function of
latitude for CO ARE calculations

Module PBL: COARE1

HUMIDITY

Function to calculate humidity

Module SURFACE: READ ISHD



from temperature and dewpoint

Module PBL: RH

LEAPYR

Determines if a year is a leap year

Module MAIN1: CHECKDATES, NUMDAYS,

DATADATES

Module SURFACE: SF PROC

Module UPPERAIR: UP_PROC

Module ONSITE: OS_PROC

Module PBL: PBL PROC

NUMDAYS

Function to determine number of

Module UPPERAIR: UP_PROC, NEW_SOUND



days in data period determined by

Module SURFACE: SF PROC, NEW_OBS,



XDATES

READIMIN

Module ONSITE: OS_PROC, READ EXT,
READOS

Module PBL: PBL PROC, COARE1

PRESSURE

Function to calculate station or sea

Module SURFACE: READ ISHD



level pressure

Module PBL: PRESS

RANGE MOD

PROCESS RANGE keyword

Module UPPERAIR: UP RANGE
Module SURFACE: SURF RANGE
Module ONSITE: OS RANGE

E-2


-------
Subroutine or
Function

Description

Calling subroutines

STARTSTOP

Writes AERMET processing dates
and times to specified output file or
device

AERMET

Module REPORTS: INPUT SUMM

VARLIST

Process NOMISSING keyword or
AUDIT keyword

Module UPPERAIR: UPPERLIST
Module SURFACE: SURF LIST
Module ONSITE: OS_LIST

Table E-2. Subroutines and functions in module MISC

Subroutine or
Function

Description

Calling subroutines

CLEANUP

Closes files and deallocates arrays

AERMET

E-3


-------
Table E-3. Subroutines and functions in module ONSITE.

Subroutine or

Description

Calling subroutines

Function





AUDIT

Audits sub-hourly or hourly data

Module ONSITE: AVG HR, OS_AUDITHR

AVGHR

Calculates hourly averages from
sub-hourly data

Module ONSITE: OS_PROC

AVGWIND

Calculates hourly average wind
direction and average vector wind
speed (if requested).

Module ONSITE: AVG HR

CALCWIND

Calculates running totals of
summed wind direction for
averaging

Module ONSITE: OS_PROC

CHECKHTS

Checks raw data to ensure heights
are increasing in value with
increasing levels

Module ONSITE: OS_PROC

CHECKWIND

Checks hourly wind speeds against
threshold; checks for zero wind
direction and wind speed above
threshold.

Module ONSITE: OS_PROC

DELTATHT

Processes DELTATEMP
keyword in AERMET control file

Module ONSITE: OS_PATH, OS_STAGE2

FINDVAR

Function to find index of a variable
in array os audit index

Module ONSITE: AVG HR

HEADER

Writes header information for
QAOUT file

Module UPPERAIR: OS_PROC

ONSITE INIT

Initializes osvars for Stage 1 or

Module ONSITE: OS PATH



Stage 2

Module PBL: PBL PROC

OSAUDITHR

Audits hourly data

Module ONSITE: OS_PROC

OSFORM

Processes FORMAT keyword in
AERMET control file

Module ONSITE: OS_PATH, OS_TEST

OSLIST

Process NO MISSING keyword or
AUDIT keyword for site-specific
data; calls VAR LIST

Module ONSITE: OS_PATH

OSOBSNUM

Processes OBS/HOUR keyword in
AERMET control file

Module ONSITE: OS_PATH

OSPATH

Processes lines from the AERMET
control file for the ONSITE or
PROG path.

Module READINPUT: READINP

OSPROC

Controls the reading and QA of
site-specific or prognostic data for
Stage 1

AERMET

OSRANGE

Processes the RANGE keyword for
site-specific or prognostic data by
calling RANGEMOD

Module ONSITE: OS_PATH, OS_STAGE2

OSSTAGE2

Reads upper air EXTRACT or
QAOUT file header for Stage 2

Module READ INPUT: READINP

E-4


-------
Subroutine or
Function

Description

Calling subroutines

OSTEST

Checks that mandatory keywords
have been included and valid
processing requested

Module READ INPUT: READINP

OSTHRESH

Processes THRESHOLD keyword
in AERMET control file

Module ONSITE: OS_PATH, OS_STAGE2

OSVARS

Processes READ keyword in
AERMET control file

Module ONSITE: OS_PATH

OSFORMREAD

Checks that first READ statement
has date/time variables and
FORMAT statements do not have
syntax errors

Module ONSITE: OS_TEST

OSHEIGHTS

Processes OSHEIGHTS keyword
in AERMET control file

Module ONSITE: OS_PATH, OS_TEST

READEXT

Reads the ONSITE QAOUT file

Module ONSITE: OS_PROC

READOS

Reads data file named by DATA
keyword

Module ONSITE: OS_PROC

E-5


-------
Table E-4. Subroutines and functions in module PBL

Subroutine or

Description

Calling subroutines

Function





AERSURF

Reads the AERSURF or
AERSURF2 file to get surface
characteristics

Module PBL: PBLPROC, PBL TEST

BULKRICH

Calculates u*, L, and 0* based on
Bulk Richardson approach

Module PBL: PBL PROC

CALCUSTAR

Calculates u* and L for stable or
convective conditions

Module PBL: PBL PROC

CHECKFLUX

Checks that u* and 0* won't result
in unrealistic values of heat flux for
stable conditions

Module PBL: PBL PROC

CHECKOBS

Determines if there are upperair,
surface, or onsite or prognostic
observations fo the tested date

Module PBL: PBL PROC

CHECKPROF

Checks the output PROFILE file
for format overflows or NaN

Module PBL: WRITEFILES

CHECKPROF

Checks the output OUTPUT (i.e.
surface) file for format overflows
or NaN

Module PBL: WRITEFILES

CLOUDS

Assigns cloud cover for the hour

Module PBL: PBL PROC

CO ARE 1

Perform CO ARE calculations for
overwater data

Module PBL: PBL PROC

CONVHT

Calculates convective mixing
height for convective hours

Module PBL: PBL PROC

FREQSEC

Processes FREQ_SECT or
FREQ SECT2 line from the
surface characteristics file

Module PBL: AERSURF

HAVEDATA

Assigns a logical variable denoting

Module PBL: COARE1, LW_DOWN,



if a requested variable is valid for

PBLPROC



the hour



LWDOWN

Calculates or assigns longwave
downward radiation for ONSITE
or PROG data

Module PBL: COARE1

MECHHT

Calculates mechanical mixing
heights for the hour

Module PBL: COARE1, PBL PROC

METHODS

Processes the METHOD line from
the runstream input file

Module PBL: PBL PATH

MOLMIN

Reads the MIN MOL keyword
value for specifying minimum
Monin-Obukhov length for
CO ARE processing

Module PBL: PBL PATH

NETRAD

Calculates net radiation

Module PBL: PBL PROC

NRANG

Calculate critical solar angle

Module PBL: STABILITY

PBLPATH

Processes lines from the AERMET
control file for the METPREP path.

Module READ INPUT: READINP

E-6


-------
Subroutine or

Description

Calling subroutines

Function





PBLPROC

Controls the processing of PBL
calculations

AERMET

PBLTEST

Checks that mandatory keywords
have been included and valid
processing requested

Module READ INPUT: READINP

PRECIP

Assign precipitation for the hour

Module PBL: PBL PROC

PRESS

Calculates station pressure for the
hour

Module PBL: PBL PROC

PROFILE

Assigns values to pfl data data
type for the hour

Module PBL: PBL PROC

PSIT

Stability function for CO ARE
processing

Module PBL: COARE1

PSIU

Stability function for CO ARE
processing

Module PBL: COARE1

READSOUND

Processes sounding for convective
mixing height and potential
temperature lapse rate calculations

Module PBL: PBL PROC

RH

Calculates relative humidity for the
hour

Module PBL: PBL PROC

SECTORS

Processes the line SECTOR or
SECTOR2 from the AERMET
control file or external surface
characteristics file

Module PBL: SFC_CHARS, AERSURF

SFCCHARS

Assigns surface characteristics for
the hour for primary or secondary
site

Module PBL: WINDS

SFCHEADER

Writes surface header to
SURFACE file

Module PBL: PBL PROC

SITECHAR

Processes the line SITE CHAR or
SITE CHAR2 from the AERMET
control file or external surface
characteristics file

Module PBL: AERSURF

SSTDEPTH

Reads the SSTPDEPTH keyword
value for specifying SST depth for
CO ARE processing

Module PBL: PBL PATH

STABILITY

Calculates critical solar elevation
angle for the hour and assigns
stability for the hour based on
angle or Moin-Obukhov length.

Module PBL: PBL PROC

SUBSTITUTE

Interpolates temperature and/or
cloud cover for missing hours

Module PBL: PBL PROC

SUNDAT

Calculates sunrise and sunset times
and optionally calculates solar
elevation angle for all hours of the
day

Module PBL: PBL PROC

E-7


-------
Subroutine or
Function

Description

Calling subroutines

SURFYEARS

Checks to see what years are
associated with a specific set of
surface characteristics

Module PBL: AERSURF

TEMPS

Assigns temperatures for the hour
for the surface data and fills in
profile temperatures

Module PBL: PBLPROC

UPWINDOW

Processes the keyword
UAWINDOW from AERMET
control file

Module PBL: PBLPATH

VAPORPRES

Calculate vapor pressure for
CO ARE processing

Module PBL: COARE1

VPTG

Function to calculate the potential
temperature lapse rate above the
mixing height

Module PBL: PBL PROC, CONV HT

VPTGDEF

Reads the DEF VPTG keyword
value for specifying default lapse
rate for CO ARE processing

Module PBL: PBL PATH

WINDS

Assigns winds for the hour and
assigns profile values for the hour

Module PBL: PBL PROC

WRITESRSS

Write local and upper air station
sunrise and sunset times

Module PBL: PBL PROC

WRITEFILES

Writes SURFACE and PROFILE
files

Module PBL: PBL PROC

WSTAR

Function to calculate convective
velocity scale w*

Module PBL: PBL PROC, CONV HT

YEARSTR

Obtains the string of years for the
FREQSECT or FREQSECT2
keyword

Module PBL: PBL PATH

ZIGUST

Reads the ZI GUST keyword
value for specifying mixing height
for gust calculations for CO ARE
processing

Module PBL: PBL PATH

ZIMIN

Reads the ZI MIN keyword value
for specifying minimum mixing
height for CO ARE processing

Module PBL: PBL PATH

E-8


-------
Table E-5. Subroutines and functions in module SURFACE.

Subroutine or

Description

Calling subroutines

Function







CHECK ASOS

Checks the ASOS status of a

Module SURFACE

SF TEST, READ ISHD,



station or hour

READ CD144, READ SCRAM, READ SAM,
READ HUSWO, READ EXT, SF STAGE2

CHECK DUP

Checks to see if current

Module SURFACE

READISHD,



observation can be overwritten

READ CD144, READ SCRAM, READ SAM,



with a duplicate observation

READ HUSWO, READ EXT

DECODE 144

Decodes CD-144 overpunches

Module SURFACE
READSCRAM

READCD144,

HEADER

Writes header information for
EXTRACT and QAOUT file

Module SURFACE

SFPROC

NEW OBS

Initializes/increments variables and

Module SURFACE

READISHD,



checks for duplicates for new

READ CD144, READ SCRAM, READ SAM,



observation

READ HUSWO, READ EXT

NWSHGTS

Processes the NWS HGT keyword
in the AERMET control file

Module PBL: PBL_

PATH

READ1MIN

Processes AERMINUTE output in
Stage 2

AERMET



READCD144

Processes CD 144 format data

Module SURFACE

SFPROC

READEXT

Processes the EXTRACT or
QAOUT file

Module SURFACE

SFPROC

READHUSWO

Processes HUSWO format data

Module SURFACE

SFPROC

READISHD

Processes ISHD format data

Module SURFACE

SFPROC

READSAM

Processes SAMSON format data

Module SURFACE

SFPROC

READSCRAM

Processes SCRAM format data

Module SURFACE

SFPROC

SFAUDIT

Audits surface data

Module SURFACE

SFPROC

SFPROC

Controls the reading and QA of
surface data for Stage 1

AERMET



SFSTAGE2

Reads upper air EXTRACT or
QAOUT file header for Stage 2

Module SURFACE

SFPROC

SFTEST

Checks that mandatory keywords

Module READ INPUT: READINP



have been included and valid







processing requested





SFTHRESH

Processes THRESH1MIN
keyword in AERMET control file

Module PBL: PBL

PATH

SFCINIT

Initializes the data type SFVARS,
formats for certain messages, valid
start/end dates for data formats,
and ASOS station information

Module SURFACE

SURFPATH

SURFLIST

Process NO MISSING keyword or
AUDIT keyword for surface data;
calls VAR LIST

Module SURFACE

SURFPATH

SURF PATH

Processes lines from the AERMET

Module READ INPUT: READINP



control file for the SURFACE path.





E-9


-------
Subroutine or
Function

Description

Calling subroutines

SURFRANGE

Processes the RANGE keyword for
surface data by calling
RANGE MOD

Module SURFACE: SURFPATH, SF STAGE2

E-10


-------
Table E-6. Subroutines and functions in module READ INPUT

Subroutine or
Function

Description

Calling subroutines

CHECKLINE

Reads AERMET control file and
checks syntax

Module READINPUT: READINP

JOBPATH

Processes lines from the AERMET
control file for the JOB path.

Module READINPUT: READINP

READINP

Main controlling subroutine to read
AERMET control file

AERMET

Table E-7. Subroutines and functions in module REPORTS

Subroutine or
Function

Description

Calling subroutines

AUDIT_SUMM

Summarize audit results for upper
air, surface, or site-
specific/prognostic data

AERMET

DATESLOC

Writes the processing start/end
dates and location for each path
(upper air, surface, site-specific, or
prognostic)

Modules REPORTS: INPUT SUMM

INPUT_SUMM

Writes names of input/output files
and processing options for each
path;

AERMET

OBSSUM

Summarizes the number of
observations per day for upper air
soundings, surface data, 1-minute
ASOS winds, and onsite or
prognostic data

AERMET

PBLSUM

Summarizes the boundary layer
processsing

AERMET

SFCHARSUM

Writes summary of surface
characteristics for primary and
secondary site

AERMET

SUM_FILES

Writes input/output filenames and
status for each path to report file

Modules REPORTS: INPUT SUMM

WRITE MSG

Writes message file summary to
report file

AERMET

E-ll


-------
Table E-8. Subroutines and functions in module UPPERAIR

Subroutine or

Description

Calling subroutines

Function





FSLVERSION

Determines the FSL data file
format version

Module UPPERAIR: READ FSL

HEADER

Writes header information for
EXTRACT and QAOUT file

Module UPPERAIR: UP_PROC

NEW SOUND

Initializes and increments variables

Module UPPERAIR: READ EXT, READ FSL,



for a new sounding

READ IGRA, READ 6201

NEWTEMP

Function to calculate new
temperature or dewpoint

Module UPPERAIR: UP_MODIFY

READ 6201

Process 6201 format upper air data

Module UPPERAIR: UP_PROC

READEXT

Read EXTRACT or QAOUT upper
air file

Module UPPERAIR: UP_PROC

READFSL

Process FSL format upper air data

Module UPPERAIR: UP_PROC

READIGRA

Process IGRA format upper air
data

Module UPPERAIR: UP_PROC

UPAUDIT

Audits upper air data

Module UPPERAIR: UP_PROC

UPMODIFY

Modifies upper air data by 1)
deleting mandatory levels, 2) set
wind direction to 0 if wind speed is
0 and 3) interpolate missing
temperature and dewpoint

Module UPPERAIR: UP_PROC

UPMODKEY

Processes MODIFY keyword in
AERMET control file

Module UPPERAIR: UPPER PATH

UPPROC

Controls the reading and QA of
upper air data for Stage 1

AERMET

UP RANGE

Processes the RANGE keyword for

Module UPPERAIR: UPPER PATH,



upper air data by calling

UPSTAGE2



RANGEMOD



UPSTAGE2

Reads upper air EXTRACT or
QAOUT file header for Stage 2

Module READINPUT: READINP

UPTEST

Checks that mandatory keywords
have been included and valid
processing requested

Module READINPUT: READINP

UPPERINIT

Initializes the data type UPVARS
and formats for certain messages

Module UPPERAIR: UPPER PATH

UPPERLIST

Process NO MISSING keyword or
AUDIT keyword for upper air data;
calls VAR LIST

Module UPPERAIR: UPPER PATH

UPPERPATH

Processes lines from the AERMET
control file for the UPPERAIR
path.

Module READ INPUT: READINP

VIRTTEMP

Function to calculate virtual
temperature

Module UPPERAIR: UP_AUDIT

E-l


-------
Appendix F. Comparison of 22112 AERMET to 21112 AERMET

As part of the evaluation of 22112 AERMET, AERMET and AERMOD were run for the
17 evaluation databases used to promulgate and evaluate AERMOD for each update. AERMET
version 21112 and version 22112 were run for each database and AERMOD 21112 was run for
each AERMET version and model results were compared. The databases are described in
Section 2 of the AERMOD evaluation document (EPA, 2023g). Table F-l lists the databases
with summaries of sources and meteorological data. Sources listed in gray are subject to the
EPA's protocol for determining best performing model. Meteorological outputs were compared
on an hour-by-hour basis with and without the surface friction velocity adjustment and the
AERMOD results based on the AERMET versions were compared using the methodology
described in Section 3.3.2 in the AERMOD model evaluation document (EPA, 2022d).

F-2


-------
Table F-l. AERMOD evaluation databases

Location

Stack
heights

Urban/rur
al

Terrain

Downwash

Turbulence
parameters

Site specific AERMET inputs

Martins
Creek

59, 76, 183
m

Rural

Complex

Yes

10 m ctv, aw

10m wind, temperature; 90-420 m wind (every 30 m).

Tracy

91 m

Rural

Complex

No

Oy., Cw

10 and 50-400 m (every 25 m) wind, temperature

Lovett

145 m

Rural

Complex

No

Oy., Cw

10, 50, and 100 m wind, temperature

Westvaco

190 m

Rural

Complex

No

Oy., Cw

30, 210, 326, 366, and 416 m wind, temperature1

DAEC

1 m, 24 m,
46 m

Rural

Flat

Yes

av

Insolation, 10, 23.5 and 50 m wind, temperature

EOCR

1, 25, 30 m

Rural

Flat

Yes

av

4, 10, and 30 m wind, temperature

Alaska

39.2 m

Rural

Flat

Yes

ov, aw

33 m wind, temperature

Indianapolis

84 m

Urban

Flat

No

ov, aw

Station pressure, net radiation, 10 m wind, temperature

Kincaid

187 m

Rural

Flat

No

ov, aw

Net radiation, insolation, 10, 30, and 50 m wind, temperature

AGA

9.8, 14.5,
24.4 m

Rural

Flat

Yes

None

10 m wind and temperature

Millston

3 stacks 29
m (freon) 48
m (SF6)

Rural

Flat

Yes

None

10 m wind speed; 43.3 m wind and temperature

Bowline

2 stacks
86.87 m

Rural

Flat

Yes

None

100 m winds and temperature

Baldwin

3 stacks
184.4 m

Rural

Flat

Yes

None2

10 and 100 m wind, temperature

Clifty Creek

3 stacks
207.9 m

Rural

Mix

No

None

10 m temperature; 60 m wind

Prairie Grass

0.46 m

Rural

Flat

No

Oy., Cw

U*. mixing height, ceiling height, cloud cover; 1, 2, 4, 8, and
16 m temperature and wind; ctv, aw at 2 m

1 30 m observations removed from AERMOD profile before running AERMOD

F-l


-------
F. 1. Meteorological data differences

As previously noted, hourly comparisons were made for all surface variables and profile
variables with a tolerance to account for rounding differences since AERMET 21DRF and later
versions switched from real to double precision for variables. Table F-2 lists the variables with
tolerances.

Table F-2. Meteorological variables for comparison with tolerances.

Variable

Tolerance

Sensible heat flux

0.2 W/m2

Surface friction velocity

0.002 m/s

Convective velocity scale

0.002 m/s

0 lapse rate above mixing height

0.002 K/m

Convective mixing height

1 m

Mechanical Mixing height

1 m

Monin-Obukhov length

0.2 m

Surface roughness

0m

Bowen ratio

0

Albedo

0

Reference wind speed

0 m/s

Reference wind direction

0°

Reference wind height

0m

Reference temperature

0.2 K

Reference temperature height

0m

Precipitation code

0

Precipitation

0 mm/hr

Relative humidity

1 %

Station pressure

2 mb

Cloud cover

0 tenths

Wind flag

Character: character strings compared

Profile height

0m

Profile top indicator

Not checked

Profile wind speed

0 m/s

Profile wind direction

0°

Profile temperature

0°C

Profile oe

0°

Profile o„

0 m/s

F-2


-------
Following are summaries of comparisons for each of the databases.

•	Martins Creek

o Six hours where Monin-Obukhov length differed with a range of -411 m to 1 m
for non-adjusted u*

¦	Largest difference for 1/17/1993 hour 9

o Seven hours where Monin-Obukhov length differed with a range of -302.1 to 0.6
m for adjusted u*

¦	Largest difference for both cases is 1/17/1993 hour 9

• For non-adjusted and adjusted u*, difference is due to differences
in 9* for the hour and the 9* difference is due to a slight
difference in the critical angle for the hour (9.782 for AERMET
21112 and 9.811 for AERMET 22112)

o All other variables and hours were within tolerances for both non-adjusted and
adjusted u*

•	Tracy

o All other variables and hours were within tolerances for both non-adjusted and
adjusted u*

•	Lovett

o Five hours where Monin-Obukhov length differed with a range of 0.2 to 16 m for
both adjusted and non-adjusted u*

¦	Max difference of 16 m for 9/12/1988 hour 7; differences due to slight
differences in variables for calculating convective L, possibly due to the
switch from real to double precision in AERMET 22112.

o Precipitation missing codes differed for all hours (9999 for AERMET 21112 and
99 for AERMET 21DR22112F); would make no difference in AERMOD as
precipitation values matched for the two versions of AERMET.

o All other variables and hours were within tolerances for both non-adjusted and
adjusted u*

•	Westvaco

F-3


-------
o One hour, 6/8/1981 hour 8, differed for albedo (0.15 for AERMET 21112 and
0.16 for AERMET 22112). Due to adjustment of noontime albedo for hour 8 and
most likely due to switch from real to double precision in AERMET 21DRF

o Two hours differed for the precipitation code with AERMET 21112 reporting 0
and AERMET 22112 reporting as missing. Precipitation values did not differ.

o Seven hours differ for Monin-Obukhov length for non-adjusted u* with a range
of -0.3 to 1 m

o Eight hours differ for Monin-Obukhov length for adjusted u* with a range of -0.3
to 1.3 m

o All other variables and hours were within tolerances for both non-adjusted and
adjusted u*

•	DAEC

o One hour, 7/6/1978 hour 16 for a height of 50, differs in missing values for oe.
This is due to the missing code in the raw data file not matching default missing
code for oe in AERMET. AERMET interprets the missing value as valid and the
AERMET control file should be updated to reset the missing code. While
AERMET 22112 also does not use a reset value for the missing code, because the
input oe is negative, AERMET 22112 interprets as missing.

o Differences in missing codes for precipitation. Both AERMET versions report
precipitation as missing and precipitation values are not different so no effect on
AERMOD results.

o All other variables and hours were within tolerances for both non-adjusted and
adjusted u*

•	EOCR

o Three hours differ for the oe missing value due to missing codes (AERMET
21112 is 999 and AERMET 22112 is -99). No effect on AERMOD as both are
interpreted as missing by AERMOD.

o All other variables and hours were within tolerances for both non-adjusted and
adjusted u*

F-4


-------
• Alaska

o For both non-adjusted and adjusted u*, 11/8/1987 hour 24 differs for all

variables. This is because in the raw data file, hour 24 is reported as 11/9/1987
hour 0. AERMET 21112 ignores the hour because it is outside the XDATES
dates. Therefore, AERMET sets hour 23 values to hour 24 for the day.
AERMET 21112 converts 11/9/1987 hour 0 to 11/8/1987 hour 24 before
checking against the XDATES dates. AERMET 21112 uses the reported values
for the hour.

o Four hours for go in the profile have different missing codes for both non-
adjusted and adjusted u*

o Nine hours for ow in the profile have different missing codes for both non-
adjusted and adjusted u*

o All other variables and hours were within tolerances for both non-adjusted and
adjusted u*

•	Indianapolis

o Nine hours where reference wind direction and profile wind direction differ by
0.1° in both non-adjusted and adjusted u* data. Most likely due to rounding
when switching from real to double precision in AERMET 22112.

o Two hours where Monin-Obukhov length differ between -0.2 and 0.2 m for both
non-adjusted and adjusted u*

o Thirteen hours where ow in the profile differ between -0.04 and 0.05 m/s

o 144 hours where go in the profile differs between -0.5 and 0.5°. It appeared that
AERMET 21112 was rounding the input values for go in the raw met data file to
the nearest integer.

•	Kincaid

o Set A, 8/31/1980 hour 24 is missing for cloud cover and other variables that
depend on cloud cover for calculations for AERMET 22112 but is not missing
for AERMET 21112. This is because AERMET 21112 substitutes hour 23 for
hour 24 for SURFACE data prior to PBL calculations and AERMET 22112 does
not do that substitution. This is for both non-adjusted and adjusted u*.

o One hour in Set A where AERMET 22112 cloud cover is 1 tenth and AERMET
21112 is 0 tenths. This is for both non-adjusted and adjust u*

o One hour where heat flux differs by 1.1 W/m2 for Set A for non-adjusted u*.

F-5


-------
o

o

o

o

o

o

o

• AGA

o

o

o

37 hours where Monin-Obukhov length differs by 10.6 to 146.8 m for non-
adjusted u* for set A and 32 hours where Monin-Obukhov length differs by -7.2
to 84.2 m for adjusted u* for set A.

¦ Maximum differences of L due to slight difference in solar angle and 9*
for non-adjusted u* and 84.2 m for adjusted u*

Different missing values for go and owin Set A for both non-adjusted and
adjusted u*. AERMET 21112 reports -999 and AERMET 22112 reports 99.
Does not affect AERMOD as AERMOD sees both values as missing.

Set B, 6/17/1981 hour 24 is missing for AERMET 22112 and not missing for
AERMET 21112 due to the hour 23 substitution for hour 24 for SURFACE data.
This is both for non-adjusted and adjusted u*.

23 hours for Set B where Monin-Obukhov length differs between -2.4 and 7.2 m
for non-adjusted u*

18 hours for Set B where Monin-Obukhov length differs between -2.4 and 5.6 m
for adjusted u*

Different missing values for temperature profile for 48 hours for Set B for both
non-adjusted and adjusted u*

Different missing values for go and owin Set B for both non-adjusted and
adjusted u* for four hours. AERMET 21112 reports -999 and AERMET 22112
reports 99. Does not affect AERMOD as AERMOD sees both values as missing.

All other variables and hours were within tolerances for both non-adjusted and
adjusted u*

For Houston, seven hours have Monin-Obukhov length differences between -0.2
to 0.8 m for non-adjusted u*

For Houston, seven hours have Monin-Obukhov length differences between -0.2
to 0.5 m for adjusted u*

For Wichita, five hours have Monin-Obukhov length differences between -0.2 to
3.6 m for non-adjusted u*

For Wichita, five hours have Monin-Obukhov length differences between -0.2 to
3.3 m for adjusted u*

F-6


-------
o All other variables and hours were within tolerances for both non-adjusted and
adjusted u*

•	Millston

o All hours have different missing codes for precipitation type code for both non-
adjusted and adjusted u*

o Two hours differ for Monin-Obukhov length for non-adjusted u*, -0.2 and 0.8 m

o Three hours differ for Monin-Obukhov length for adjusted u*, -0.2, 0.2, and 0.9
m

o All other variables and hours were within tolerances for both non-adjusted and
adjusted u*

•	Bowline

o All hours have different missing codes for precipitation type code for both non-
adjusted and adjusted u*

o Eight hours differ for Monin-Obukhov length for non-adjusted u*, -0.5 to 0.3 m

o Six hours differ for Monin-Obukhov length for adjusted u*, -0.5 to 0.8 m

o All other variables and hours were within tolerances for both non-adjusted and
adjusted u*

•	Baldwin

o 3/31/1983 hour 24 hour 24 is missing for cloud cover and other variables that
depend on cloud cover for calculations for AERMET 22112 but is not missing
for AERMET 21112. This is because AERMET 21112 substitutes hour 23 for
hour 24 for SURFACE data prior to PBL calculations and AERMET 22112 does
not do that substitution. This is for both non-adjusted and adjusted u*.

o Monin-Obukhov length differs for 14 hours for non-adjusted u* ranging from
-0.3 to 19 m.

o Monin-Obukhov length differs for 12 hours for adjusted u* ranging from -1.2 m
to 1.0 m

o All other variables and hours were within tolerances for both non-adjusted and
adjusted u*

F-7


-------
•	Clifty Creek

o Monin-Obukhov length differs for 3 hours for non-adjusted u* ranging from 0.3
to 1.3 m

o Monin-Obukhov length differs for 5 hours for adjusted u* ranging from -0.2 to 1
m.

o All other variables and hours were within tolerances for both non-adjusted and
adjusted u*

•	Prairie Grass

o Different missing codes for precipitation for all hours; also results in different
precipitation codes

o Eighteen hours differ for mechanical mixing heights for non-adjusted u* and
adjusted u*. Differences range from -1411 to 359 m. Differences are due to a
mix of site-specific mixing heights and calculated mixing heights. AERMET
21112 does not smooth the mechanical heights when there is a mix. AERMET
22112 does smooth with a mix of heights and also contains the bug fix to the
assignment of mechanical mixing heights for convective hours discussed in
Section 1.5

o Two hours differ for ow with a difference of 0.01. Most likely due to rounding

o One hour differed for L by 0.4 m.

o All other variables and hours were within tolerances for both non-adjusted and
adjusted u*

F. 2. AERMOD evaluations

In addition to evaluation of meteorological data, the differences in meteorological data
were evaluated based on AERMOD results. For the databases listed in gray in Table F-l, the
full EPA protocol for determining best performing model was used as described in Section 3.3.2
of the AERMOD Model Evaluation document (MFED) (EPA, 2022d). The exception to the
procedure outlined in the AERMOD MFED versus the AERMET evaluation presented here is
that the ratio of the Model Comparison Measure (MCM) to the standard error is used as the
basis of statistical significance between the two model outputs when only considering two
models. If the absolute value of the ratio is less than 1.7 then the two models are not considered

F-8


-------
statistically different. For the databases not in gray in Table F-l, the metric compared is the
Robust Highest Concentration compared to observations. The RHC is defined by Equation 1 in
Section 3.3.2 of the AERMOD Model Evaluation document (U.S. EPA, 2022d).

Results for the databases not subject to the EPA protocol for determining best performing model
are shown in Table F-3. For most of the databases, the differences in meteorology made no
difference in RHC values. This could be due to in part, that the differing hours in the
meteorological data were not hours with observed concentrations. Two exceptions were DAEC
and Prairie Grass. DAEC differences were very small, less than 1 |ig/m3. The differences were
due to slight differences in air temperatures in the meteorological data that were within the
tolerances but given that the DAEC releases were close to ambient temperature, the modeled
results were slightly different. For Prairie Grass, the differences were mostly due to the changes
in mixing heights as discussed in Section F. 1.

Table F-4 lists the Composite Performance Measure (CPM) results for the databases that
use the EPA protocol for determining best performing model and Table F-5 shows the Model
Comparison Measure (MCM), standard error (SE), and ratio of MCM/SE for the same
databases. Based on the results presented in the tables, AERMET 21112 and AERMET 22112
are not statistically different. The MCM values are close to zero and the ratio of the MCM to the
standard error is within ±1.7.

F-9


-------
Table F-3. Observed and modeled robust highest concentrations for databases not subject to the EPA protocol for

determining best performing model.

Database

RHC

Observed

AERMET version

21112

22112

No adjust u* with
turbulence

Adjust u* no
turbulence

No adjust u* no
turbulence

No adjust u* with
turbulence

Adjust u* no
turbulence

No adjust u* no
turbulence

Tracy

15

13

18

25

13

18

25

DAEC (h=l m)

346

240

188

222

240

188

222

DAEC (h=24
m)

253

84

71

75

84

71

75

DAEC (h=46
m)

140

91

59

99

91

59

99

EOCR

3763

5822

5731

8250

5822

5731

8250

Alaska

6

5

8

8

5

8

8

Indianapolis

6

4

4

5

4

4

5

AGA

296

NA

262

281

NA

262

281

Millston
(Freon)

76

NA

96

101

NA

96

101

Millston (SF6)

79

NA

33

35

NA

33

35

Prairie Grass

925087

998257

885858

899076

989003

873817

887034

F-10


-------
Table F-4. Composite Performance Measure (CPM) for databases subject to the EPA protocol for determining best

performing model.

Scenario

Version

Database

Martins
Creek

Lovett

Westvaco

Kincaid

Bowline

Baldwin

Clifty Creek

No adjust u*; with turbulence

21112

0.35

0.40

0.41

0.37

NA

NA

NA

22112

0.35

0.40

0.41

0.37

NA

NA

NA

Adjust u*; no turbulence

21112

0.31

0.53

0.60

0.56

0.50

0.45

0.49

22112

0.31

0.53

0.60

0.56

0.50

0.45

0.49

No adjust u*; no turbulence

21112

0.49

0.58

0.44

0.56

0.47

0.46

0.51

22112

0.49

0.58

0.44

0.56

0.47

0.46

0.51

F-ll


-------
Table F-5. Model Comparison Measure (MCM), standard error (SE) and MCM/SE ratios for databases subject to the EPA

protocol for determining best performing model.

Scenario

Metric

Database

Martins
Creek

Lovett

Westvaco

Kincaid

Bowline

Baldwin

Clifty Creek

No adjust u*; with
turbulence (22112-21112)

MCM

-l.OxlO"6

-l.OxlO"6

-l.OxlO"6

6.0x10°

NA

NA

NA

SE

0.046

0.056

0.030

0.124

NA

NA

NA

MCM/SE

-4.0x10°

-l.OxlO"6

-2.0x10"5

4.8x10"4

NA

NA

NA

Adjust u*; no turbulence
(22112-21112)

MCM

-l.OxlO"6

l.OxlO"6

l.OxlO"6

2.0xl0"5

-l.OxlO"6

2.0xl0"5

3.0xl0"5

SE

0.057

0.053

0.024

0.033

0.046

0.049

0.032

MCM/SE

-3.0xl0"5

l.OxlO"6

2.6xl0"4

5.3xl0"4

-l.OxlO"5

3.4xl0"4

0.001

No adjust u*; no
turbulence
(22112-21112)

MCM

-l.OxlO"6

l.OxlO"6

l.OxlO"6

2.0x10°

-l.OxlO"6

2.0x10°

3.0x10°

SE

0.065

0.047

0.033

0.037

0.047

0.048

0.024

MCM/SE

-3.0x10°

l.OxlO"6

l.OxlO"6

6.3x10"4

-1.0x10°

3.5xl0"4

0.001

F-12


-------
United States	Office of Air Quality Planning and Standards	Publication No. EPA-454/B-23-005

Environmental Protection	Air Quality Assessment Division	October 2023

Agency	Research Triangle Park, NC


-------