Meteorological Data Preparation for Demonstration of
     the Application of ASTM Standard D 6589

-------

-------
                                                 EPA-454/R-03-007
Meteorological Data Preparation for Demonstration of
       the Application of ASTM Standard D 6589
                  U.S. Environmental Protection Agency
              Air Quality Modeling Group (Mail Code D243-01)
                Research Triangle Park, North Carolina 27711
                          August, 2003

-------
                                   DISCLAIMER

The information in this document is being reviewed in its entirety by the U.S. Environmental
Protection Agency (EPA), for approval for publication as an EPA document.  Mention of trade
names, products, or services does not convey, and should not be interpreted as conveying official
EPA approval, endorsement, or recommendation.
                                         IV

-------
                                      PREFACE
The American Society for Testing and Materials (ASTM) has published a Standard Guide
D 6589 for Statistical Evaluation of Atmospheric Dispersion Model Performance. Within the
Annex to this ASTM Guide, a procedure is outlined for assessing the performance of
atmospheric transport and diffusion models to predict the average maximum "centerline"
concentration values of a chemical species that has been released from a point source.

The Environmental Protection Agency (EPA) conducted  an analysis to apply D 6589 in which
four atmospheric transport and diffusion models were applied to simulate the variation of the
maximum ("centerline") concentration of chemical species emitted from point sources during
three field studies.  The four transport and diffusion models were the American Meteorological
Society/Environmental Protection Agency Regulatory Model (AERMOD), the Hybrid Plume
Dispersion Model (HPDM), the Industrial Source Complex (ISCST3) Model, and the
Atmospheric Dispersion Modeling System (ADMS).  The three field experiments were the
Project Prairie Grass experiment and two field experiments sponsored by the Electric Power
Research Institute (EPRI), the EPRI Indianapolis experiment and the EPRI Kincaid experiment.

This report documents the steps taken to develop the characterizations of meteorological
conditions needed by each model for each of the three field experiments.  This work involved a
collaboration with the Cambridge Environmental Research Consultants, who are the authors of
the ADMS model.

-------
                              ACKNOWLEDGMENTS

This research described in this report was funded wholly or in part by the United States
Environmental Protection Agency (EPA) through EPA Contract NO. 68-D-98-006, Work
Assignment NO. 4-02 with EC/R Inc., who subcontracted with the Pacific Environmental
Services, Inc, a MACTEC Company (PES). The EPA Work Assignment Officer was John S.
Irwin. The EC/R Project Leader was Steve Fudge. The PES Project Leader was James Paumier.
                                         VI

-------
                              TABLE OF CONTENTS
Preface	iii




Acknowledgments	iv




Introduction	1




EPRI Indianapolis Experiment	2




EPRI Kincaid Experiment	3




Project Prairie Grass Experiment	6




References	8




Appendix A. Data Processing for ADMS	9
                                        vn

-------
                                  INTRODUCTION

       The meteorology for each dispersion model used in this analysis was generated by each
model's respective meteorological processor. AERMET (version 02161) was used for
AERMOD (versions 98022 and 02161, Cimorelli et al., 1996), SIGPRO (version 4.3, level
920605) for HPDM (version 4.3, level 920605, Hanna and Paine, 1989), and MPRM (version
99349) for ISCST3 (version 00101, U.S. Environmental Protection Agency, 1995). The raw
meteorological data were provided to the developers of ADMS 3.1 (Carruthers et al., 1994) who
then processed the data for ADMS. A complete  description of the ADMS meteorological input
module, which includes input/output, guidance on input, and theoretical basis for the estimates,
appears at the end of this document.

       The processors were run 'as is', with no code modifications and without introducing any
special processing options. The format of the data and capabilities of each processor required
some manipulation of the data once the processors were run, as described below. By running
each model's processor,  one model does not gain an advantage over another as a result of the
meteorology.  Similar processing options and parameters and the appropriate onsite data were
specified for each processor.

       The processors were run to include the days the field experiments were conducted.
However, the actual times the field experiments were operational were as few as one and as
many as nine periods  per day.  Once the meteorological data were processed, it was filtered to
include only those periods corresponding to the times of the field experiments. The number of
experimental periods  used in the analyses is provided with the description of each field
experiment below.

       The wind directions as obtained from the onsite data or from the National Weather
Service (NWS) were used in the processing the data and estimating boundary layer parameters.
This enabled the processors to utilize direction-specific surface characteristics (i.e., roughness
length, albedo, soil moisture indicator) in the calculations. For the dispersion models to generate
centerline concentrations, however, the wind directions were manually changed to 270 degrees
in the output files, i.e., winds from the west (a flow vector of 90 degrees was used in the ISCST3
meteorological input) since modeled receptors were places in a line extending to the east of the
source.

       The upper air  soundings for AERMET and SIGPRO were obtained from the Radiosonde
Data of North America compact discs available from the National Climatic Data Center
(http://lwf.ncdc.noaa.gov/oa/ncdc.htmn. AERMET can read the data retrieved from these CD's,
however a program was written to convert the data into the format required by SIGPRO.
                                          -1-

-------
                        EPRI INDIANAPOLIS EXPERIMENT

       For the EPRI Indianapolis experiment (Murray and Bowne, 1988), the National Weather
Service data used with this field study was Dayton, Ohio for upper air soundings (WBAN
13840) and Indianapolis, Indiana for the hourly weather observations (WBAN 93819). The
mixing heights required by MPRM were obtained from the U.S. Environmental Protection
Agency's SCRAM website (http://www.epa.gov/scramOO 1).

       There were several meteorological towers employed during this field experiment.  There
was a 10-meter tower in a rural environment, a 10-meter tower in a suburban environment, a IO-
meter tower near the downtown, and a tower atop a downtown bank building (with an equivalent
height of 94 meters).  The urban 10-meter tower measured wind speed and temperature. The '94-
meter' tower measured wind speed and wind direction.  The 10-meter rural tower measured wind
speed, wind direction, and temperature.

       There were a total of 170 hours in the resulting meteorological files.

AERMET (AERMOD)

       The 10-meter rural tower was used for wind and temperature measurements. The rural
tower data were used in AERMET because AERMOD adjusts for the effects of an urban
environment on  the meteorology. In addition, observed mixing heights were used in the
calculations of boundary layer parameters and in the output.

       The surface characteristics were the same for all periods and wind directions, and are
representative of the area around the rural tower.  The albedo was set to 0.25, the Bowen ratio set
to 0.75, and the  surface roughness length set to 0.30 meters.

SIGPRO (HPDM)

       The 10-meter urban tower was used for wind and temperature measurements required to
calculate boundary layer parameters. Winds speed from the 94-meter 'tower' was used for
plume rise and transport. The observed mixing heights were incorporated into the calculations
of boundary layer parameters and in the output.

       Since the meteorological data for SIGPRO came from the urban tower, the surface
characteristics are representative of such an environment. The albedo was set to 0.18, the surface
roughness length set to 1.0 meters, and the moisture availability parameter set to 0.25. The
minimum Monin-Obukhov length was set to 50 meters.

MPRM(ISCST3)

       The onsite observations for MPRM came from the urban 10-meter and 94-meter towers.
Winds from the  10-meter urban tower were used to estimate stability and provide temperature
measurements.  The 94-meter winds were specified as the stack top winds.

                                         -2-

-------
                            EPRIKINCAID EXPERIMENT

       For the EPRI Kincaid experiment (Bowne et al., 1983), the upper air data were from
Peoria, Illinois (WBAN 14842) and the hourly surface observations were from Springfield,
Illinois (WBAN 93822).

       Data from four levels on a 100-meter tower provided the onsite data. Wind speed, wind
direction, and ambient temperature were measured at 10 meters, 30 meters, 50 meters, and 100
meters.  Additionally, solar radiation and net radiation were included as part of the onsite data.
The 'observed' mixing heights were actually derived from a separate boundary layer model;
therefore, each processor calculated the mixing heights using its own algorithms.

       The field experiment was run over two separate periods in 1980 (over a five month
period) and 1981 (over a three month period).  For all three processors, the data for each year
were processed separately then combined to a single file for the respective dispersion models.
       The resulting meteorological files included a total of 100 hours for 1980 and 71 hours for
1981.
AERMET (AERMOD)

       The surface characteristics were defined monthly for four wind sectors as follows (only
those months for which the model was run are included here):

Sector: 45 - 60
Month
O
4
5
6
7
8
9
Noontime albedo
0.240
0.120
0.100
0.110
0.140
0.140
0.140
Bo wen Ratio
0.300
0.400
0.400
0.300
1.100
1.100
0.500
Roughness Length
0.050
0.050
0.060
0.070
0.070
0.070
0.070
                                          -J-

-------
Sector: 60-120
Month
O
4
5
6
7
8
9
Noontime Albedo
0.400
0.170
0.140
0.160
0.210
0.210
0.210
Bo wen Ratio
0.460
0.640
0.640
0.460
1.810
1.810
0.820
Roughness Length
0.090
0.090
0.110
0.140
0.140
0.140
0.140
Sector: 120 - 250
Month
O
4
5
6
7
8
9
Noontime Albedo
0.440
0.190
0.160
0.180
0.230
0.230
0.230
Bo wen Ratio
0.500
0.700
0.700
0.400
2.000
2.000
0.900
Roughness Length
0.100
0.100
0.120
0.150
0.150
0.150
0.150
Sector: 250 - 45
Month
3
4
5
6
7
8
9
Noontime Albedo
0.400
0.170
0.140
0.160
0.210
0.210
0.210
Bo wen Ratio
0.460
0.640
0.640
0.460
1.810
1.810
0.820
Roughness Length
0.090
0.090
0.110
0.140
0.140
0.140
0.140
SIGPRO (HPDM)

       There was no additional processing for SIGPRO beyond what is described above.  The
surface characteristics were defined monthly for the same four wind sectors as for AERMET.
The surface roughness length and the albedo are the same as for AERMOD. The moisture
availability parameter was set to 1.0 for all months and wind sectors. The minimum Monin-
Obukhov length was set to 2 meters.
                                         -4-

-------
MPRM(ISCST3)

       The twice-daily mixing heights for 1980 and 1981 are not available on EPA's SCRAM
website.  However, EPA has a program (available on SCRAM) that computes the twice-daily
mixing heights from upper air soundings and hourly surface weather observations. This program
was run on the Peoria upper air soundings with Peoria surface data. There were 18 afternoon
periods and one morning period in 1980 for which a mixing height could not be computed. No
more than two consecutive days resulted in missing data.  For 1981, there were 13 missing
afternoon periods and none for the morning.  No more than two consecutive days resulted in
missing data. Following EPA guidance, a linear interpolation was used to fill in missing data.

       Stack height wind speeds were obtained from the 100-meter level. Stability was
calculated using onsite winds and NWS cloud cover.
                                          -5-

-------
                     PROJECT PRAIRIE GRASS EXPERIMENT

       For the Prairie Grass field experiment (Barad, 1958; Haugen, 1959), upper air data and
hourly surface observations from North Platte, Nebraska (WBAN 24023) were used. The upper
air soundings were not on the standard 0000 Greenwich Mean Time (GMT) and 1200 GMT
schedule.  The soundings were reported for 0300 GMT and 1500 GMT.  To avoid any loss of
data, the sounding times were adjusted such that the 0300 GMT sounding was reported  as the
0000 GMT sounding and the 1500 GMT sounding was reported as the 1200 GMT sounding.
The reason for this adjustment is that AERMET and SIGPRO expect soundings on or near 1200
GMT;  0300 and 1500 GMT  are outside the 'acceptable window' for soundings.

       The onsite data from the Prairie Grass experiment consisted of measurements at seven
levels: 0.25, 0.50, 1.00, 2.00, 4.00, 8.00, and 16.00 meters. Wind speed and ambient temperature
were measured at all levels but wind direction was measured only at the  1.0 meter level. The
data from 0.25 and 0.50 meters were not included in the processing since they are so close to the
surface.

       The number of on-site mixing heights was limited, with less than 50% of the observation
periods having an observed mixing height. With this being the case, the  meteorological
processors had to incorporate estimates using NWS data.  Both SIGPRO and AERMET could
handle the situation, using the appropriate data to estimate a mixing height for the period.
MPRM, however, does not have that flexibility built in. Therefore, MPRM was run twice, once
with onsite data and a second time with only NWS data.  The results from the two output files
were then merged to produce the final meteorological data file for ISCST3.

       There were a total of 68 observational periods modeled.

AERMET (AERMOD)

       There was no additional processing for AERMOD beyond what is described above. The
surface characteristics were defined for a single wind sector (i.e, all directions) as follows for all
time periods as follows: albedo = 0.25, Bowen ratio =  1.0, and surface roughness length = 0.006
meters.

SIGPRO (HPDM)

       There was no additional processing for AERMOD beyond what is described above. The
surface characteristics were defined for a single wind sector (i.e, all directions) as follows for all
time periods as follows: surface roughness length = 0.006 meters, albedo = 0.25, and moisture
availability parameter = 0.5. The minimum  Monin-Obukhov length was set to 2 meters.

MPRM(ISCST3)

       As with the Kincaid field experiment, the twice-daily mixing heights were derived from
the upper air soundings and surface observations using EPA's mixing height program.  For the

                                          -6-

-------
period July 2 - August 31, only three afternoon mixing heights could not be computed, but 35
morning mixing heights could not be computed. There were several spans in which four
consecutive days were missing, the maximum allowed under EPA guidance and still use linear
interpolation to fill in missing data.  Thus, linear interpolation was used to fill in for the missing
data in which four consecutive days or less were missing.  There was an eleven day period
corresponding to the end of field experiment that had missing data. These were filled with
values ranging from 209 to 279 meters.  Since the Prairie Grass field experiment was a near-
surface, nonbuoyant release, the height of the boundary layer is not likely to influence the
concentration estimates.
                                          -7-

-------
                                   REFERENCES

Barad, M.L. (Editor), (1958):  Project Prairie Grass, A Field Program In Diffusion, Geophysical
Research Paper, No. 59, Vol I and II, Report AFCRC-TR-58-235, Air Force Cambridge
Research Center, 439 pp.

Bowne, N.E., RJ. Londergan, D.R. Murray and H.S.  Borenstein,  (1983): Overview, Results,
and Conclusions for the EPRI Plume Model Validation and Development Project: Plains Site,
EPRIEA-3074, Project 1616/1, Electric Power Research Institute, Palo Alto, CA. 234 pp.

Carruthers D.J., RJ. Holroyd, J.C.R. Hunt, W-S Weng, A.G. Robins, D.D. Apsley, DJ.
Thompson and F.B. Smith,  (1994):  UK/ADMS: A new approach to modelling dispersion in the
earth's atmospheric boundary layer.  Journal of Wind Engineering and Industrial Aerodynamics.
(52):139-153.

Cimorelli A.J., S.G. Perry, R.F. Lee, RJ. Paine, A. Venkatram, J.C. Weil and R.B. Wilson,
(1996): Current progress in the AERMIC model development program. Preprints, 89th Annual
Meeting and Exhibition of the Air and Waste Management Association, Air and Waste
Management Association, Nashville, TN, June 24-28, 1996, Preprint No. 96-TP24B.04, 27 pp.

Hanna, S.R., and RJ. Paine, (1989):  Hybrid Plume Dispersion Model (HPDM) development
and evaluation, Journal of Applied Meteorology, (28):206-224.

Haugen, D.A.  (Editor), (1959): Project Prairie Grass, A Field Program  In Diffusion,
Geophysical Research Papers, No. 59, Vol. Ill, AFCRC-TR-58-235, Air Force Cambridge
Research Center, 673 pp.

Murray, D.R., and N.E. Bowne, (1988):  Urban Power Plant Plume Studies,  EPRI Report No.
EA-5468, Research Project 2736-1,  Electric Power Research Institute, Palo Alto, CA.

U.S. Environmental Protection Agency, (1995): Industrial Source Complex (ISC3) Dispersion
Model User's Guide, EPA/454/B-95-003a (Volume I, 390 pp.) and EPA/454/B-95-003b
(Volume II, 128 pp.), U.S. Environmental Protection Agency, Research Triangle Park, NC.

-------
        APPENDIX A
DATA PROCESSING FOR ADMS
            -9-

-------
September 2001                                                                    ADMS 3
                                                                               P05/0 IK/01
                       THE MET INPUT MODULE

                                            by
                              DJ.Thomson, The Met. Office
Summary

This paper  describes the specification of the met input module, together with a description of data
requirements for running the module.

1.     Introduction and Overview

       Meteorological data are input to the model via the met file which is supplied by the user. The
met input module reads the  data from the met file and uses these data to estimate values of the
various meteorological quantities required for running the dispersion model. The data required in the
met file are data describing the conditions for one  or more hours, the conditions being assumed to
remain fixed in each hour. These data might be statistical (in which a succession of cases are given,
each  having a certain  frequency or 'weight'  associated  with it)  or sequential (in  which  a
chronological succession of  hours are treated) or some more general collection  of one or more
(non-weighted) hours.

       The module is called  once  for each hour's data which requires processing. The inputs to the
module consist of a number  of variables passed through the module's argument list (most of these
variables originate from the user via the menu system  and apl file) and the data from the met file
itself. The module checks that the  input data are sensible and not missing when needed, uses these
data to estimate the meteorological quantities required, and, if the met site is not representative of the
dispersion area, corrects for differences between the locations due to,  e.g., differences in roughness
length or precipitation characteristics. All output from the module is through the argument list.

       There are a large  number of variables which  can be provided in the met file, although
normally only a small number would be used.  The possible types of data in the met file are (i) met
data  proper (including  sea  surface temperature  information), (ii)  information on   the  site


                                       Page 1 of 34

-------
characteristics at the met site or in the dispersion area (e.g. albedo), (iii) time information, and (iv)
data on the frequency with which a specific set of conditions occurs. The met data are all assumed to
be measured at  one location, the 'met site', which need not be in the 'dispersion area'. If the
observations  come  from a number of different sites (e.g.  wind from an on site anemometer,
precipitation from a nearby rain gauge site and some other data from a more distant met station) the
user needs to decide which location should be regarded as the 'met site'. In many cases the site of the
wind  measurement  would be the most appropriate choice. The  met site and dispersion area are
assumed to be over land.

       If a variable required is  present in the met file,  then the output value will normally be
identical to the met file value. However the module may sometimes change the value. This might be
because the input values are not consistent with the physics assumed in the module and/or the values
obtained through the argument list, or because of corrections for differences between the met site and
the dispersion area.

       Many  of the schemes used to estimate unknown quantities have limitations. These can
however often be overcome by providing more input variables in the met file. The main limitations
are described in §5.1.

       SI units are used except where stated.

2.     Input and output

Met file input

       A complete list of variables which can be input through the met file is as follows:

                                   List (1)
    U        wind speed at measurement height (friction velocity if measurement
              height  set to 0.0; geostrophic wind if measurement height set to
              1000.0)
    Ug*       geostrophic wind speed/friction velocity
    0        wind direction (angle wind is coming from in degrees clockwise from
              north) at measurement height  (surface wind direction if measurement
              height  set to 0.0;  geostrophic wind direction if measurement height
              set to 1000.0)
    A(|)geostrophic  wind direction minus surface wind direction (both directions
              measured in degrees clockwise from north)


                                       Page 2 of 34

-------
              surface sensible heat flux
     I/LMO    1/Monin-Obukhov length
     h         boundary layer depth
     CL        cloud amount (oktas)
     ^incoming solar radiation
      (-1
     To        near surface temperature (°C)
     Nu        buoyancy frequency above the boundary layer
     AGtemperature jump across the boundary layer top
     P        precipitation rate (mm/hour)
     Tsea       sea surface temperature (°C)
     A^       near surface temperature over land minus sea surface temperature
     00deg     standard deviation of changes in mean wind direction (degrees)
     qo        near surface specific humidity
     rm        near surface relative humidity (percent)
     rhu        relative humidity just above the boundary layer (percent)
     (drk/dz)u  ^(relative humidity)ldz above the boundary layer (percent/m)
     7JL       surface latent heat flux
     r         surface albedo at met site
     a         modified Priestley-Taylor parameter  at met  site (as  defined in
              Holtslag and van Ulden,  1983, J. dim. Appl. Met., 22, 517-529)
     hour     hour of day (e.g. 5.30am =  5.5). The value given  should be for the
              mid point of the hour being considered, and this need not start and
              end at 'on the hour' times.  The value should be in local time.
     day       day of year (e.g. 1st Jan =1.0)
    year     year (full 4 digit number, e.g. 1999.0)
    fr         frequency with which a given set of met conditions occurs (arbitrary
              units, e.g. percentage of occasions or number of hours per year)
     Detailed frequency data - detailed frequency information giving the frequency
              with which a given set of met conditions occurs for  certain months of
              the year or times of day (same units as for/).

The input wind speed  and direction  might be a geostrophic wind,  surface layer wind or friction
velocity.  Geostrophic wind is used here to denote any one of the geostrophic wind, the gradient wind
or the wind at the boundary layer top. At the level of modelling adopted here, we do not distinguish
between these quantities. An exception to this is when the model is  applied in low latitudes; here the
geostrophic wind is not a useful concept and the phrase 'geostrophic wind' should be interpreted as
'wind at boundary layer top'.
                                        Page 3 of 34

-------
       The format of the met file consists of two parts. Firstly a list of m variable names is provided.
These would usually be drawn from those in List (1) but need not all be (if a variable is not in (1) the
corresponding data are ignored). Normally only a small subset of the variables in (1) would be input,
the majority of the variables being unknown. A sequence of records follows, one for each hour of
data, with each record giving the values of the m variables. Missing values are indicated by -999.0.
For further details see the example met file in the appendix.

Argument list input

       The following data are input through the argument list:

       Rua           latitude (degrees, north positive)
       Tsample         sampling time (hours)
       z             height of the wind measurement at met site (1,000.0 is used to
                     indicate geostrophic wind, 0.0 to indicate friction velocity)
       ZQ            roughness length at met site
       zod           roughness length in dispersion area
       r             surface albedo at met site
       a            modified Priestley-Taylor parameter
       I/LMO max      maximum value of I/LMO at met site
       Pcorr          precipitation correction factor  (ratio  of average rainfall in
                     dispersion area to that at the measurement site)
       Name of met file
       Sequential-data flag - indicates that the data provided in the met file are
                     hourly sequential
       Met-site-representative flag - indicates that no  distinction is to  be made
                     between met site and dispersion area properties
       First-time flag - indicates that the met input module is  being  called for the
                     first time
       Message flag - indicates that the met input module is to issue a message
                     giving statistics of errors and warnings, but is not to process
                     any hours of data.

       Apart from first-time flag and message Flag, these variables only need to be specified the
first time the module is called and indeed are ignored on subsequent calls. Even on the first call, it is
not essential to provide values of r, a, I/LMO max or PCOor, with -999.0 being used to indicate missing
data. Values of r and a may be obtained from the met file, and if any of the variables are missing,
defaults are adopted.


                                        Page 4 of 34

-------
Argument list output

       We will now describe the data output  through the argument list. This consists of two
structures containing the 'met-as-read' and the 'processed-met' for one hour (but without any  of the
frequency information), a  structure containing the frequency information, a number of flags,  and a
number of variables concerned with counting the met data.

       The met data structures consist of all the variables in List (1) except for the frequency
information, with the addition of the following variables:

                                          List (2)
       u*     friction velocity
       Ug    geostrophic wind speed
       0o     surface  wind direction  (angle wind  is  coming  from in  degrees
              clockwise from north)
       0g     geostrophic wind direction (angle wind  is coming from in degrees
              clockwise from north)
       6*     temperature scale (positive for FQQ < 0)
       w*     convective  velocity scale if Feo > 0, zero if Feo <  0
       s      sine of solar elevation
       TQK    near surface temperature (K)
       oead   standard deviation of changes in mean wind direction (radians)
       local mean time - hour of day calculated as GMT + longitude in degrees (east positive)/! 5.

Missing  data is denoted by -999.0. The met-as-read structure will always have missing entries.
However, if none  of the flags  are set, the processed-met-data structure will  contain values  of all
structure elements with the exception of U, 
-------
       The flags are as follows. If a fatal error occurs then the fatal-error flag is set. This indicates a
serious error and the main control program should then halt the computation. When the end of the
met file is reached the no-more-data flag is set.  Also, if the data in the met file for a particular hour
are inadequate  or not sensible, the  inadequate-data  flag is set. In  addition, if U =  0 the
calm-conditions flag is set (note ADMS cannot calculate dispersion in calm conditions). These flags
enable the main control program to proceed appropriately.

       The met-data counting variables are ninadjmad, ncaim,fcaim, ntotai, ftotai and ihour.  ninad indicates
the cumulative number of hours' data  for which the inadequate-data flag has been set while fmad
indicates the cumulative frequency of occasions for which the flag has been set (these differ only if
the input data are statistical). ncaim,fcaim, ntotai andftotai give similar information for calm conditions
and those occasions when neither flag is set. ihour indicates that the data being considered are the
      hour's data from the met file.
3.     Guidance on input

       In this section we give  some guidance on which  met variables to input and we discuss
appropriate values of some of the input variables.

       First we  discuss the question of which variables to include in the met file. For a successful
dispersion calculation, the variables f/and § must be given, f/must be such that the wind speed at a
height of 10m is greater than or equal  to 0.75m/s (ADMS cannot  calculate dispersion in calm
conditions), and Feo or \ILuo or sufficient data to estimate Feo must be given. FQo can be estimated if
day and hour and either ci or K^ (or both) are given; however, although ci is not needed when K^ is
given, we would recommend that ci is provided if possible whenever Feo needs to be estimated as
                                                      f-i
this is likely to improve the estimate. Also specifying TO  is advisable for daytime hours (s > 0)
whenever FBO needs to be estimated.

       Specifying h is advisable if you think you can provide a better estimate than the met input
module. If you're in mid latitudes with (a) sequential data which includes day and hour stretching
back at least till an hour before dawn (s = 0) and either s > 0 or FQO in the previous hour is > 0, or (b)
s < 0  and Fgo in the previous hour is < 0,  then you're unlikely to be able to provide a better estimate
unless you have measurements aloft. In other  situations the module's estimate will be less reliable.
If neither (a) nor (b) applies and you don't specify /*, then it is advisable  to specify the variables
needed to estimate Feo as described in the previous paragraph, even if Feo and/or \ILuo is provided -
this may help in  estimating h by  enabling the module to estimate the values of FQO occurring prior to
the current hour.
                                        Page 6 of 34

-------
       In addition P is needed if wet deposition is to be calculated and A^ (or Tsea and To ) are
needed if the coastline module is to be used. For visible plume calculations, it is essential that go or
sufficient data to estimate it (i.e. no and To ) are given.  For chemistry calculations iC is needed or
the means to estimate it (i.e. c/, hour and day). For some time dependent source calculations it is
necessary to specify day and hour (and year is also desirable in such cases), while for others the
input data must be statistical with/ and detailed frequency data provided. For statistical input
data, information onfr is of course always needed.

       There are a number of other variables which can  be  input, but these would not normally be
given unless the user wished to alter the defaults within the model.  If FQO needs to be estimated for
daytime hours (either for the current hour or for earlier times in connection with estimating h for the
current hour), values of r and a may improve the estimates.  If h needs to be estimated, providing Nu
may improve the estimate of h when FQo > 0.  Also providing Nu, A6 and 7oC may perhaps improve
the accuracy of the dispersion calculation  a little and  To  would also improve the accuracy of the
relation between temperature and buoyancy which is assumed by the met input module. For daytime
conditions with h not given in the met file, the most important role of the variable Nu is perhaps in
estimating h, and in such cases the module's estimate of h can  depend on the history of Nu', hence, if
the input data are not sequential, the value  ofNu in such situations should represent an average over
values since dawn (defined here as the last  time the heat flux turned positive). Ug* and A0 would not
normally be given but could be useful in situations where the assumptions that the module  would
normally use to estimate the relation between the geostrophic wind and  surface  stress break down
(see §5.1). For a full understanding of the importance of each of the various variables it is necessary
to understand how they are  used and how they are  estimated when absent (see below and the
documentation of the other modules).

       It should be noted that, if FBo or I/LMO is input, then  r and a are not used. (Actually this is a
slight over-simplification as r and a might affect estimates of FQO for previous hours, which in turn
could affect h in the current hour.)  Similarly, if Us* and A0  are specified in the met file, then these
are assumed to apply at both the met site  and in the dispersion area; as a result no allowance for
differences in roughness is made within the met input module when both Us* and A0 are given in the
met file.  However, if (i) Ug* and A(j) are given, (ii) the met-site-representative flag is not set, and (iii)
a surface layer  wind speed is given  in the met file, this wind speed is interpreted in the met input
module using the met site roughness length, while the wind speed profile  computed in the boundary
layer structure module is calculated from u* using the dispersion area roughness length. The use of a
different value  of roughness  length in  the boundary   layer  structure  module   can  produce
inconsistencies and so it is recommended that ZQ and zod are set equal to each other for this case.

       It seems likely the two most common types of met  file  will be those containing statistical


                                        Page 7 of 34

-------
data consisting of U, §, FQO, h and/- with the possible addition ofP and detailed frequency data (such
data is supplied by the Met Office for the main UK met stations), and those containing sequential
                                                   /-I
data (or a single hour's data) giving U, 0, c/, hour, day, To  and possibly P, r«j, Tsea and/or year.

       If there are a large number of hours of statistical data, the order in which the sequence of
records are arranged in the met file can be important for computational efficiency (depending on the
design of the main control program). For example it may assist the code to be computationally
efficient if P and  § change faster than the other variables (if there are no buildings, terrain features
etc. which  could  cause the dispersion properties to be different  for different wind directions, then
there is no need to recalculate the dispersion if only P and/or § have changed).

       We include here some guidance on values of certain parameters.  For the surface albedo r we
suggest the following values, based on values given by Oke (1987, p!2):

    Snow-covered ground            0.6
   Non snow-covered ground        0.23 (the default).

The value 0.23 is an average albedo for  a range of non snow-covered  surfaces. It does not seem
worthwhile giving more detailed advice for different surfaces (desert, forest etc.) since the values for
each of these surface types show considerable variability. The albedo of snow covered surfaces also
shows considerable variability,  and  the given value is again an average value.  For the modified
Priestley-Taylor parameter a  (which reflects the amount of available moisture) Holtslag  and van
Ulden (1983) give the following values:

   Dry bare earth                  0.0
   Dry grassland                    0.45
   Moist grassland                  1.0 (the default).

Further discussion of the value of a  is given by Beljaars and Holtslag (1990,  1991) and Hanna and
Chang (1992). For roughness length we recommend the following values, based on values given by
Oke (1987, pp57 and 298):

    Still water, smooth ice                                0.00001m
    Snow, sand                                   0.0003m
    Soils                                               0.003m
    Short Grass                                         0.005m
   Long Grass                                         0.05m
   Agricultural crops                                   O.lm
                                        PageS of 3 4

-------
    Scattered settlement (farms, villages, trees, hedges)     0.4m
    Orchards                                           0.8m
    Suburban                                           1.0m
    Forests/cities                                        2.0m

The choice of an effective ZQ in heterogeneous terrain is a complex matter which is not discussed
here (see e.g. Fiedler and Panofsky 1972, Wieringa 1986). The variable I/LMO max is used to limit
how stable the flow can get, reflecting the idea that in urban areas the flow is only rarely very stable
because of anthropogenic heat sources and heat storage in the fabric  of buildings etc. Stability in
urban areas is not well understood, but the following minimum values for LMO (corresponding to the
reciprocal 1/^MOmax) should provide reasonable results:

    Large conurbations (population > 1 million)          100m
    Cities and large towns                              30m
    Mixed urban/industrial                              30m
    Small towns (population < 50,000)                   10m
    Rural                                               1m (the default).

The factor PCOOr is intended to take account of the fact that rainfall conditions in the dispersion area
may vary systematically from those at the site where P is measured, for example because the altitude
differs between the locations. Unless there are reasons to think the rainfall is systematically different
at the two locations, PCOOr should be set to  1 or not input at all.

4.     Messages

       Whenever the fatal-error flag, the inadequate-data flag or the calm-conditions flag is  set, a
message is issued to explain what has happened.  Because several hours of data are generally read at
a time, any read error reported  may not always refer to the current hour.  If the list of variables which
is read from the met file contains a variable which does not occur in the list (1), a message is issued
to warn of this and the corresponding data are ignored. A warning message is also issued if the list of
variables is too long. In this case the data corresponding to the variables at the end of the list are
ignored. Messages are also issued to warn that  a  particular  estimate which  has been made is
unreliable.

5.     Processing the met data

       This met input module estimates, where possible, the values of the met variables required.
In section 5.1  below we describe the physical  assumptions made and in section 5.2 the structure
                                        Page 9 of 34

-------
of the computation is described. To fully understand what is done, it is necessary to understand
the structure as well as the physics; this is because the  way the physics is applied varies
according to which variables are input and which variables are deemed to take precedence if
conflicting data is input. As noted in  section 1 it is possible that, for variables which are input
through the met file, the output from the met input module will differ from the input. This is so
even if no corrections for differences  in site characteristics between the met  site and  the
dispersion  area are  being made. The  situations where this can occur are as follows. (1) When
LMO and FBO are  both input - here LMO  takes precedence and FBO is ignored. (2) When FBO is
input but implies conditions are stable and violates the bound on the heat flux in stable conditions
which follows from the  assumed physics (see below).  Here Feo is replaced by a value consistent
with the physics.  (3) When LMO and/or FQO is input, but implies that conditions are more stable
than allowed by the variable I/LMO max.  Here LMO  is set to the limiting value. If h is not input,
then the new value of LMO  is used in estimating h (as one would expect).  However if h is input,
then h is recalculated using the new value of LMO, and the recalculated value of h is used if it is
larger. This is done primarily to enable datasets with h values which were calculated without any
limit on LMO to benefit from  the  option to limit LMO. However this could be  awkward if one
wanted to fix h to a particular value - here one would have to ensure that the limit on LMO wasn't
violated in  order to avoid h  being altered. (4) If go and r«j are  both input, go takes precedence.
5.1
       When items in the list (2) are not in the met file and need to be estimated, the met input
module makes use of a number of physical assumptions, approximations and models. Most of these
assumptions are inexact and suffer from some  limitations and  uncertainties.   Some specific
difficulties are noted below, but we note here some general issues. Firstly the effects of topography
and non-uniformities in the surface properties are neglected.  Secondly it is generally assumed that
the boundary layer parameters at any one time can be expressed in terms of the values  of surface
variables at the same time. In reality however the boundary layer is influenced by the history of the
air mass  and such things as synoptically induced vertical motions, static stability  aloft and
baroclinicity. These difficulties  are most serious with respect to the assumptions made for the
relation between the geostrophic wind and surface stress and for h. In general these problems cannot
be overcome without much greater complexity  and, in any case, the adoption of any such improved
scheme would need much more information than would generally be available.  An exception is the
prediction of h in a growing daytime boundary layer where some  account of the history effects and
static stability aloft can be taken.  Thirdly there is a general difficulty with describing the boundary
layer structure in stable conditions. This is because under such conditions the flow is very sensitive
to small slopes, topography and details of surface properties.
                                      Page 10 of 34

-------
       (a)  K, pa, cA g,  / LMO and w*: Von Karman's constant, K, is taken to be 0.4 (Pasquill and
Smith 1983, pp42-43). The air density, p«, the air specific heat capacity, cp, and the gravitational
acceleration, g, are taken to be  1.225, 1012.0 and 9.807 respectively.  The Coriolis parameter,
Monin-Obukhov  length  and convective velocity  scale  are  defined  in the usual  way by / =
(47r/86400)sin(27r#to/360), LMo = -u*3paCpT0K/KFQOg and w*3 = -u?hlKLuo (Pasquill and Smith 1983,
pp39, 41 and  70).  However,  near the equator where the magnitude of the Coriolis parameter is
small, the schemes described below for estimating the geostrophic wind from the friction velocity (or
vice versa) and for estimating the boundary layer depth are not soundly based and can give absurd
results. As  a result a lower limit of 5xlO"5 (the value at a latitude of about 20°)  is adopted for the
magnitude  of the Coriolis parameter.   Although  this fix-up  improves the situation, the results
obtained using/must be regarded as unreliable when the fix-up is called into play.

       (b)  Surface layer wind profile:  We assume the surface layer wind Us is given as a function
of height z by
                                                                                       (3)
                                                              MO
For stable conditions (Feo < 0) \j/ is assumed to be given by
                          y/( C )= «C + b (C - c/d )exp (-d£)+ bc/d
with a = 0.7, b = 0.75, c = 5 and d= 0.35 (Holtslag and de Bruin 1988), while for unstable conditions
(Feo > 0) we assume
where x = (l- 16Q14 (Dyer and Hicks 1970, Benoit 1977). Note that in (3) we adopt the convention
that z = 0 corresponds to the height where  Us = 0 (or, more precisely, the height where Us would
equal zero if the surface layer form held right down to the ground).
       (c)  Relation between geostrophic wind and surface stress: Let (Ugx,Ugy) by the geostrophic
        coordinates for which (1,0) is aligned with the surface
= arctan(-Ugy/Ugx). For stable conditions (Feo < 0) we assume
wind in coordinates for which (1,0) is aligned with the surface stress. Then Ug2 = Ugx2 + Ugy2 and
                                      LMO
                                                                                      (4a)
                                                     .,     X
                                            h
                                                 1.875.14 |sign(f)
                         U*                LMO       I
                                       Page 11 of 34

-------
with h being determined by
                                    h   _0.3u./\f\Lt
MO
                                                                                     (4b)
                                   LMO   l + l.9h/LMO
These formulae are based on the theory of Brost and Wyngaard (1978) and the boundary layer depth
formula of Nieuwstadt (1981) (see also Derbyshire 1990). In Brost and Wyngaard's formulae, one of
the constants has been changed and the max function has been added. This is to ensure a smooth
match to the unstable formulae. Note also that the value of h given by (4b) is used in (4a) even if h is
available from the met file.  For unstable conditions (Fgo > 0) we assume
                                                                                     (4c)
with
                  l-01-0.105Ju-9.9x!0"V2+8.1xlO"V3               ju > -50
                  3.69                                                  ju<-50
                  5.14 + 0.142^ + 1.17xlO~V-3.3xlO~V             ju > -50
                  1.38                                                   <-50
and |i = KU*I\!\LMO.  These expressions are based on the Rossby number similarity formulation of
Arya(1975).

       Some changes have been made to the log terms in the expressions of Brost and Wyngaard
(1978) and Arya (1975). h has been replaced by h + 30zo in the log term in (4a) while w*/j/[ has been
replaced by u*l\/\ + lOOzo in  the log term in (4c).  These corrections are negligible in the regime
where Rossby number similarity theory is formally valid, but are included to ensure the formulae are
well behaved for large values of ZQ and  light winds.   The modifications  preserve the smooth
transition from stable to unstable conditions. The formulae are not however to be considered reliable
in situations where these alterations are important as the whole basis for the approach is invalid when
the friction Rossby number Wj/fzo is not large.
                                      Page 12 of 34

-------
       (d) Solar elevation: The sine s of the solar elevation is assumed to be given by

                     s = sin(27T/?fa/360) sin(27p4/360) +

                                      cos(27p4/360) cos(2n(hour - 12)/24)
where A, the solar declination (in degrees), equals 23.45sin(2jt(dby + 284)7365) (Ratto 1988). More
accurate formulae exist (e.g. Holtslag and van Ulden (1983), Nielsen et al (1981), Ratto (1988)) but
are unnecessarily complicated for our purposes.

       (e) K* and FQO at night: For s < 0, K* is zero and FQO is assumed to be given by

                                            -pacpu*e*                                 (5a)
with

                                   0* = 0.09(l -0.5(cL I %}2)                              (5b)
(Holtslag and van Ulden 1982; van Ulden and Holtslag 1983). For very large u* this formula clearly
over estimates FQO.  However this is not a serious problem because FQO only increases linearly with
u*, and so the stability, as characterised by \ILuo or U*/]/[LMO, decreases as u* increases.

       When Ug and FQO are given, solutions of equations (4a-b) for u* are only possible if \Bo\l Ug
                                               TV"                                        rj
(Bo being the surface buoyancy  flux F^og/paCpTo )  is less than  some critical value  (\Bo\l Ug \nt =
0.145]/[ (see discussion given by Derbyshire 1990).  Physically this implies that there is a limit to the
amount of heat that the turbulence  can transport.  This  critical value corresponds to a collapsed
boundary layer with u* = LMO = h = 0 and so it is very difficult to estimate u* reliably from the
geostrophic wind when conditions are close to critical. To ensure a solution for u* and avoid this
sensitivity, whenever u* needs to be calculated from Ug and FQO we somewhat arbitrarily alter FQO if
necessary to ensure that \Bo\/Ug is always less than or equal to O.S(\Bo\/Ug }Cru. If 9* and Ug are given
(for example if (5b) is being used) the relevant equations (ie (4a-b) and (5a)) always have a solution
for u*.

       Similar considerations apply if Us and either FQO or 9* are given.  Solutions for u* are possible
only if \Bo\/Us3 or E*/US2 (where B* = Q*g/ToK) are less than certain critical values - however now the
critical values can only be found numerically. To ensure a solution for u*, whenever u* needs to be
                                                                                  O         r*
calculated from Us and FQO (or 9*) we alter FQO (or 9*) if necessary to ensure that \Bo\/Us  (or B*/US)
is always less than or equal to (\Bo\lUs )crit (or (B*/US )Crii).
                                        Page 13 of 34

-------
       The above scheme for estimating FQO is based to a large extent on results obtained over
midlatitude vegetated  surfaces (but not forests) without snow-cover.  Estimates of Feo elsewhere
must be regarded as more uncertain and indeed are invalid over the sea.

       (f) iC and Fgo during the daytime: For s > 0, the incoming solar radiation in W/m , K*~, is
assumed to be given by
2
                             K+ = (990s -30)j-0. 75(cL/8j

and the net radiation in W/m, Q*, is assumed to be given by

                  *_(l-r}K+ +
                                             1.12
(Holtslag and van Ulden 1983). FQO is assumed to be given by
                             -             «_
                      eo                 \£                                        V;
(Holtslag and van Ulden 1983). Here S = ()Jcp)dqs/dT evaluated at T= 7oK, qs(T) being the saturated
specific humidity at temperature T and A the specific latent heat of vaporization of water. S can be
                           p-
approximated by exp(0.055(7o  - 279)) (van Ulden and Holtslag 1985). If the value of FBO given by
(6) is more negative than the night time prediction given in (e) above, then the night time value is
assumed instead. Of course in reality iC cannot be negative and so, whenever the above formula is
used to calculate K*~, any negative values are replaced by zero when iC is output from the module.
However, because the Holtslag and van Ulden scheme for Feo has been developed and tested with the
formula as given above, we do not make this modification to iC until after calculating Q* and Fgo.

       As at night time, the above scheme for estimating FQo is  based to a large extent on results
obtained over mid-latitude vegetated surfaces (but not forests) without snow-cover. Estimates of FQO
elsewhere must be regarded as more uncertain although  some aspects of the effect of snow can be
accounted for by adjusting r.  Results are invalid over the sea.

Although the met input module is not designed to estimate Feo over the sea, the module could still
be used if the user knew or could estimate Feo .  It would  also be wise to input h as well, because the
daytime boundary layer depth scheme (described below) assumes the presence of a diurnal cycle and
could give erroneous results over the sea where the diurnal cycle is much  reduced. Estimation of
Feo over the sea really requires information on the sea temperature, the temperature at some know
                                       Page 14 of 34

-------
height in the surface layer and the solution of the  appropriate  surface layer equations.  These
equations are similar to those in §5. \(V) that are used by the met input module to solve for u*.

       (g)  h in stable conditions: The boundary layer depth for FQO < 0 is generally assumed to be
given by (Nieuwstadt 1981):
                                   h  _0.3UJ  f  LMO
                                  LMO    l+L9h/LMo
                                                                                     (7)
       However, near dawn, the boundary layer depth predictions from (7) can occasionally give
strange results. This happens when a set of met data has a time associated with it which falls just
before the time when the heat flux turns positive. Because the heat flux is negative and small, this
can result in a large boundary layer depth which is close to the neutral estimate. The difficulty
arises because,  at this time of day, the heat flux is  changing rapidly but,  while the heat flux
remains < 0, the model assumes the boundary  layer  depth adjusts instantly to the surface heat
flux.  Similar problems can also  occur near dusk, but these are less noticeable because the
boundary layer  depth at the end of the day  (but before the heat flux goes negative) is generally
larger.

       To avoid the near dawn problem the following approach is adopted. Whenever (i) s > 0
and FQO < 0, and (ii) FQO < 0 holds at all  previous hours back to and including an hour with s <
0, then the value of LMO from the  previous hour is used to calculate  boundary layer depth. To
avoid the  near  dusk  problem we  adopt the following scheme. If FQO <  0  but was > 0 in the
previous hour, then h is limited by the value it would have if the negative value of FQO  were
replaced by 0.1. The aim here  changes is  to make the predictions less sensitive to where sunrise
and sunset fall  relative to the hourly  met data  cycle. Since this prescription for boundary  layer
depth depends on more than just the current hour's data, much of the data needed will often  be
unavailable. The extents to  which we go to estimate this data and what we do when it is unavailable
are described in  §5.2 below.

       Somewhat arbitrarily, overall  minimum and  maximum values  of 50m  and 4000m are
imposed to prevent extreme values occurring.

       (h)  h in unstable conditions: The  boundary  layer depth for FQO > 0 is assumed to evolve
according to
                                      Page 15 of 34

-------
                                     dh    s
dt    A0   pacph   h
      c F
                                                 Feo    S
                                          PaCp
                                                 ap
                                                     3TK
                                                     *Jo                              (8c)
(Tennekes 1973; Tennekes and Driedonks 1981; Driedonks  1982).  The  constants CF and A are
assumed to take the values recommended by Driedonks (1982), namely CF = 0.2 and A = 5. ye, the
rate of increase of potential temperature with height above the boundary layer, can be calculated
       0       K'
from Nu = gjo/To   (see Gill 1982, p54).  We assume the initial conditions h = A6 = 0 at dawn, where
dawn here corresponds to the last time when Feo changed from < 0 to > 0. Conceptually these initial
conditions correspond to a picture in which the growing daytime boundary layer erodes first the
stable lapse rate in  the stable boundary layer and then the overlying stable air.  Of course, if the top
of the growing daytime boundary layer is below that of the stable boundary layer, there would still
be turbulence in the region between the two tops.  We therefore assume h equals whichever is the
larger of the boundary layer depth predicted by (8) and the stable boundary layer depth just before
dawn.  Since this prescription for boundary layer depth depends on more than just the current hour's
data, much of the data needed will often be unavailable. The extents to which we go to estimate this
data are described in §5.2 below. If the data required cannot be estimated, the neutral limit of (7), h
= 0.3WJ/f, is assumed instead.  This value is also adopted when the values of Feo in the preceeding
23 hours (or estimates thereof) are all positive (as could just occur at mid-summer in polar regions).
This is  in order to prevent h  growing indefinitely.  Somewhat arbitrarily, overall minimum and
maximum values of 50m and 4000m are imposed to prevent extreme values occurring as for Feo < 0.

       (i) A6: If the value of h assumed is given by (8) then A6 is assumed to be also given by (8).
Otherwise A6 is assumed to be given by
                                                               ifFeo>0
                                                               otherwise
The value given by (9) for Feo > 0 is that implied by equations (8) for constant Feo and ye with u* = 0
and h = A6 = 0 initially - the assumption u* = 0 gives the smallest value of A6 for the given value of
h.  The value given by (9) is of course not expected to be accurate in general; however any better
estimate would require more data than are available here.

       (j) 
-------
       (k) Moisture variables and latent heat flux: Specific humidity q (mass of water vapour per
unit total mass) is related to mixing ratio rm (mass of water vapour per unit mass of dry air) by rm
= ql(\ - q). The relative humidity r/, is related to rm by r/, = 100 rm/rw where rw is the saturated
mixing ratio. The vapour pressure e' of water vapour in moist air is given by
where g = 0.62197 is the ratio of the molecular weight of water to that of dry air. In applying this
formula the  pressure p  is  taken  to  be the US  Standard  Atmosphere surface  pressure  of
1013.25mb.  The saturation vapour pressure ew'  as  a function of temperature is assumed to  be
given by the expression due to Wexler (1976) and reported in P26/01A/98. This is similar to the
expressions given by Gill (1982, p605-606).
       For FQO > 0, we adopt the expression for the latent heat flux consistent with the Holtslag
and van Ulden (1983) scheme for Fgo, i.e.
                                               nrS
                           IE = (Fen + 20a)7 — ^ - + 20a.
                                V  eo      '
For FQQ < 0, ^E could in reality take either sign and we adopt the value ^E = 0. This implies a
discontinuity as FQO crosses zero, but it's not easy to do better in a simple scheme.

       (1) Default values: The following default values are assumed when no other information
is available: Nu = 0.013, rhu = 65%, (drt/dz)u = 0, r = 0.23, « = 1, \/LMomax = 1. The value of Nu
is based on observations (see P05/02) and is slightly larger than the value of 0.01 1 implied by the
U.S. Standard  Atmosphere (Gill 1982,  p49).  The US Standard atmosphere quotes rm = 3.7xlO"3
at a height of 1km as an average value obtained from radiosondes at 45°N. The temperature and
pressure at 1km in the US Standard Atmosphere are 8.5°C and 899mb, so this corresponds to  a
relative humidity of 47%.  However we adopt the slightly  larger value of TM = 65%  as  a
compromise reflecting the fact that the humidity above shallow stable boundary layers may be
larger due to moisture mixed from the surface during the previous day's convective boundary
layer. The default is expressed in terms of relative humidity as this is likely to be more robust
than specific humidity. The US Standard Atmosphere gives values of r/, of 51% and 47% at 2km
and 4km, and so we adopt a default of zero for (drh/dz)u. The default value of r is typical of short
grass and is also an average value for  a range of non snow-covered surfaces (Oke (1987, p!2);
see also Nielsen et al (1981) and Holtslag and van Ulden (1983)). The default value of a is that
found by Holtslag and van Ulden (1983) to be appropriate to grass covered surfaces which are
not affected by drought.  The default for \ILuo max is simply  intended to prevent extremes  of

                                     Page 17 of 34

-------
stability where many of the assumptions break down.

                                                       /~i
       In addition we adopt value for temperature of To =15 when no other information is
available. This is the value in the U.S. Standard Atmosphere (Gill 1982, p49). However
the saturated specific humidity are  of course very sensitive to the value of To , and so the default
          f-i
value of To  is not used in estimating A^or in relating go to rm.

       When there is no information on cloud amount, we adopt a default value of 5 oktas, but
only for the purpose of estimating Q from K* and/or estimating FQO at night. These calculations
are  relatively  insensitive  to cloud amount  and  Galinski  and Thomson  (1995) presented
observational data  from Cardington which showed that using default cloud amounts  in these
situations did not cause a large deterioration in the accuracy of the heat flux estimates.

       Finally, if PCOor is missing, a value of 1.0 is assumed.

       (m)  Corrections  for  site differences:  If the met-site-representative flag is not set, then
corrections are made for differences between the met site and the dispersion area. We assume that
precipitation rates at the dispersion site are equal to PCOrr times those at the met site. We also assume
that the geostrophic wind at the two locations is the same.  All the variables which are not input but
are calculated by the met input module are recalculated for the dispersion area. However if FQO or
LMO are input, then we make the following assumptions. If FQO  > 0, we assume FQO is the same at
both sites while, if  FQO  < 0, we assume 6* is the same at both sites. This enables corrections for
roughness changes to be made in a way which is consistent with the assumptions for FQO made in (e)
and (f) above (in the sense that the latter imply that FQO is  independent of roughness in unstable
conditions and that 6* is independent of roughness in stable conditions).

5.2    Structure of the computation

       In this section we discuss the computation of the variables in the processed-met structure.

       If the met-set-representative flag is not set then, as noted in  5.1(m) above, the various
computations will need to be performed twice. However in the following we discuss only one set of
computations and make  no distinction between the values at the two sites - which values we  are
referring to will depend on which  of the  two sets of computations are being performed. Both
computations are identical in structure, the only  difference being the inputs to the computations. In
the following we refer to input from the met file. If we are considering the met site this means what
it says. However, when  we are considering the  dispersion area, it means an analogous set of data
obtained from the met file input by  (i) replacing (U, 0) by  (f/g, §g) as  output from the met site


                                       Page 18 of 34

-------
calculation, (ii) replacing P by PCOorP ifP is present in the met file, and (iii) if Fgo or LMO are input in
the met file, setting Feo to the output of the met site calculation if it is > 0 and setting 9* to the output
of the met site calculation if FQQ as output from the met site calculation is < 0, while setting all other
values of Feo, LMO and 6* to -999.9 to indicate missing data.

       The first time the computations are performed, the values of J/f and sign(/) are calculated by
                                                                               p-
the subroutine CoriolisCalc. Also an array is maintained of the values of w*, Feo, s, T0  and Nu which
occur during the preceeding 24 hours (including the current hour); this is to assist with estimating h
which may depend on data from previous  hours. For these arrays -999.0 is used for missing values.
These arrays are also used even with non-sequential data, but in this case the values all need to be
estimated from the current hour's data. At the start of the computations for each hour  of data, the
arrays are updated by shifting them by one hour in the case of sequential data and by setting them to
-999.0 for non-sequential data. (Of course two  sets of history arrays are  needed if the met-site-
representative flag is not set.)

       After these preliminaries the  subroutine ProcessMet is  called.  The  flow diagram which
follows outlines the structure of the subroutine.
                                        Page 19 of 34

-------
            Start with variables set to values read from met file
             If any of r, a, 1/LMOmax input through argument
              list, setr, a, HLMOmaxto argument list values
         If any of r, a \ILuomax not available, set to default values
           If hour available
                  Otherwise
If time zone available
  Otherwise
Set local mean time = hour
+ time zone - Riong 715
Set local mean time
= hour
If A^ available
   Otherwise
                If To  and Tsea available
                 Otherwise
                                           Set A^=-999.0
     If Nu not available, set Nu to default value
        /-i                   /-i
    If To  not available, set To to default value
             Set To  = To  +273.15
If s not available but day and local mean time available, calculate s
     available
If CL available
If U avail able
              Otherwise
                            If CL and s available
                            Otherwise
                                     i
                        Calculate K* from CL and s. Retain
                        value for use below but set output
                        value of I? to max (K+, 0.0)
Otherwise
                                     I
                               Set value of CL for use in FThetaOCalc to default value,
                               but keep CL as unavailable for other purposes
             Otherwise
                                       Page 20 of 34

-------
                        If sequential-data flag set, update the arrays of F&, s, To  and Nu
                        values as far as possible (If F& is not available but s and K* are,
                        then Fgo is estimated using subroutine FthetaOCalc with U taken to
                        be 1. If the result is > 0 then it is independent of the value for U
                        and the F& array is updated with this value)
                                      Set inadequate-data flag and abandon
                                      calculations for this hour of data
Calculate  \BQ\jU2g)   \B0\/U3S j^ or (0, /U2S }crit as appropriate using subroutine SetUpLimits
ffl/J
avai
Estir
u* ar
usinj
subr
UCa


^MO
able
nate
id Feo
^the
3utine
Icl
Else if ^
available
Else if #* available
Amend Feo if Estimate u*,
necessary Feo and I/LMO
using the using the
subroutine subroutine
FThetaOLimit UCalcS
Estimate u*
and I/LMO
using the
subroutine

UCa
.c2



Else if s and
K* available
Estimate w*, Feo
and I/LMO
using the
subroutine
FThetaOCalc


Otherwise
If sequential-data flag
set, update the arrays
of uf, s, T0K and Nu
values as far as
possible
Set inadequate-data
flag and abandon
calculations for this
hour of data



             If I/LMO > I/LMO max, set I/LMO = I/LMO max and
             Recalculate u* and FBO using the subroutine UCalcl

             Calculate 0* from u* and

             Update the arrays of u*, Fgo, s, To  and Nu
             values with the current values
If sequential-data
flag set
     Otherwise
Fill in the arrays of u», Feo, s, T0K and Nu
values as far as possible using subroutine
FillSeq
                       I
             Estimate Ug, Ug* and A(|) using
             the subroutine UGCalc
    _I
Fill in the arrays of u», Feo, s, T0K and Nu
values as far as possible using subroutine
FillNonSeq
                                       Page 21 of 34

-------
IfU^O
     Otherwise
If 0 available
                                     I
                               Set calm-conditions flag and abandon
                               calculations for this hour of data
     Otherwise
                                     I
                               Set inadequate-data flag and abandon
                               calculations for this hour of data
         Calculate §o and i

         If h available
using the subroutine Angles
                             Otherwise
If I/LMO has been
limited by I/LMO m
Otherwise      If FQO < 0
 Otherwise
Calculate a new value of
h using the subroutine
HStableCalcDawnDusk
and limit h to lie between
50 and 4000 using the
subroutine HLimits, but
discard this calculated
value if it is less than the
old value
              Estimate h using
              the subroutine
              HStableCalcDawnDusk
Estimate h using
the subroutine
HUnstableCalc
                 Limit h to lie between 50 and 4000
                   using the subroutine HLimits
         If A0 unavailable, estimate A0 using the subroutine DeltaThetaCalc

                Calculate w* using subroutine WStarCalc
If od:s available
         Otherwise
  Calculate aread from af*
      Estimate o™d using the
      subroutine DeltaThetaCalc
                                 Calculate odaeg from a
                                                     -rad
         If qo unavailable but r/,o and To  are available from the met file, estimate qo using
         the subroutine QOCalc
         If rhu unavailable, set rhu to default value

         If (drhu/dz)u unavailable, set (drhu/dz)u to default value

              unavailable, estimate ^E using the subroutine LambdaECalc.
                                       Page 22 of 34

-------
       Some details of some of the subroutines used are now described.
       CoriolisCalc: This routine calculates j/f and sign(/) and, if J/f < 5x10" , sets J/f equal to 5x10"
and issues a warning.
                    	                           r\           o              /^
       SetupLimits: This routine calculates (Bo/Ug )crit,  (Bo  IUS )Crit and (B*/US )crit.  In calculating
(Z?o/t//)crit  and (B*IU?)crit, it  uses  two  subroutines UCalc2A and  UCalcSA which are  slightly
modified versions of the subroutines UCalc2 and UCalcS described below.
       FThetaOLimit: This routine amends FQQ if necessary to take account of the critical values
described in §5.1(e). If the input wind speed is geostrophic and an amendment is necessary then a
warning is issued.

       ThetaStarLimit:  This  routine amends 6* if necessary to take account of the critical value
described in §5.1(e).
                                                                          -.K
       UCalcl: This routine estimates u* and Fy, from given values of I/LMO, To , ZQ, j/f and a wind
speed U (either a geostrophic wind, surface layer wind or friction velocity, but not necessarily that
obtained from the met file) and from Ug* if this is available from the met file. The following flow
diagram outlines the structure of the routine.
It wind is It wind is a ,. . , .
4 ,. ,,. . . . (i.e. wind is a
geostrophic friction velocity _r i • j\
surface layer wind)
If Ug* given „
• ff^ n+u • SetM
in met tile Otherwise
..........J 	
c , fj/fj Solve equations
set w» — u/u * . , . „
' g in §5.1 (c) tor u*

, = u
Estimate
equation

u* from the
sin§5.1(b)
                  CalculateFQO from equations in §5.1 (a).
The calculation in dashed lines requires numerical solution. This is done with an iterative technique.
                                                                           K
       UCalc2: This routine estimates u* and I/LMO from given values of FQO, T0 , ZQ, J/f and a wind
                                        Page 23 of 34

-------
speed U (either a geostrophic wind, surface layer wind or friction velocity, but not necessarily that
obtained from the met file) and from Ug* if this is available from the met file.  The following flow
diagram outlines the structure of the routine.
            If wind is
            geostrophic
If wind is a
friction velocity
Otherwise
(i.e. wind is a
surface layer wind)
* given
et file
/* =
'*•
Otherwise
1
Solve equations in
§5. l(a) and (c) for u*
1
Setw
/*.
, = u


Solve equations in
§ 5.1 (a) and (b) for u*


                  Calculate I/LMO from equations in §5.1 (a).

The calculation in dashed lines requires numerical solution.  This is done with an iterative technique.
When FQO < 0 and U is a surface layer wind there may be more than one positive solution for u*.
The solution chosen is the largest value since this gives the correct limit in neutral conditions.

       UCalcS:  Provided 6* > 0, this  routine estimates u*, FQO and  I/LMO from given values of 6*,
ToK, ZQ, J/f and a wind speed U (either a geostrophic wind, surface layer wind or friction velocity, but
not necessarily that obtained from the  met file) and from Ug* if this is available from the met file.
The following flow diagram outlines the structure of the routine.
                                        Page 24 of 34

-------
If wind is
geostrophic
   If Ug* given
                                        If wind is a
                                        friction velocity
              Set u.=U
                                       Otherwise
                                       (i.e. wind is a
                                       surface layer wind)
et file
'.=*/<>,
Otherwise
1
Solve equations in
§5.1 (a), (c) and (e) for
u*
\

Solve equations in
§5.1(a), (b) and (e) for z/*


              CalculateFQO and I/LMO from equations in §5.1 (a) and (e).
The calculation in dashed lines requires numerical solution.  This is done with an iterative technique.

 When U is a surface layer wind there may be more than one positive solution for u*.  The solution
chosen is the largest value since this gives the correct limit in neutral conditions.

                                                                                 p-       _|_
       FThetaOCalc: This routine estimates  u*, Feo and I/LMO from given values of To , s, CL K , r,

a, ZQ, j/f, (B*/US )cnf, and a wind speed U (either a geostrophic wind, surface layer wind or friction

velocity) and from Ug* if this is available from the met file.  The following flow diagram outlines the

structure of the routine.
              Calculate F9o as
              indicated in §5.1(f)
    If Fno > 0
Calculate u* and
using subroutine UCalc2
    Otherwise
Calculate 0* as
indicated in §5.1(e)
                            Amend 0* if necessary using
                            the subroutine ThetaStarLimit
                             Calculate u*, Feo and I/LMO
                             using subroutine UCalcS
                                                                Otherwise
                                 Calculate 0* as
                                 indicated in §5.1(e)
                                                  Amend 0* if necessary using
                                                  the subroutine ThetaStarLimit
                                                  Calculate u*, Feo and I/LMO
                                                  using subroutine UCalcS
                                        Page 25 of 34

-------
          If value of FQQ calculated
          from 0* is less than that
          calculated from §5.1(f)
                                                    Otherwise
          Adopt value of FQQ                    Adopt values of u*,
          calculated from §5. l(f)                and I/LMO calculated in
                                               UCalcS
          Calculate u* and I/LMO
          using subroutine UCalc2.
       UGCalc: This routine estimates Ug, Ug* and A6 from u*, I/LMO, ZQ, ]/[, sign(/) and a wind
speed U (either a geostrophic wind, surface layer wind or friction velocity) and from Ug* and A6 if
these are  available from the met file.  The following flow  diagram outlines the structure of the
routine.
          If wind is
          geostrophic
                                      If wind is a surface layer
                                      wind or friction velocity
          Set Ue=U
If Ug* available
from the met file
Else if
                  Otherwise
If Ug* available
from the met file
Otherwise
Use this value      Estimate Ug* from   Set Ue* = U9/u*
                   the expressions
                   in§5.1(c)
                                   Use this value    Estimate Ug* from
                                                    the expressions
                                                    in§5.1(c)
     If A(|) available
     from the met file
    Otherwise
If A(|) available
from the met file
Otherwise
       Use this value
Estimate A(|) from
the expressions in
§5.1(c)
  Use this value    Estimate A0 from
                   the expressions in
                   §5.1(c)
                                                                    Set Us = u*Us*
                            If w*/J/fzo < 500 and Ug* and A(|) not both
                            available from the met file, issue warning.

Note that if Ug* is not available from the met file but A  is, Ug* is estimated without reference to
                                        Page 26 of 34

-------
However if Ug* is available but A0 isn't, A0 is estimated from u* which, if the wind from the met file
is geostrophic, depends on Ug*.

       Angles:  This  routine  calculates  fyo  and fys  from A0 and  a wind  direction fy  (either  a
geostrophic wind, surface layer wind or friction velocity, but not necessarily that obtained from the
met file).

       HStableCalcDawnDusk: This routine estimates h from J/f and from the arrays ofu*, FQO, s, Nu
      p-
and To  values whenever Feo  < 0, as described in §5.1(h). First the value of h with 'near dawn'
corrections is calculated using the routine HStableDawn. Then, if FQO in the previous hour is > 0, the
'near dusk' correction is applied by (i) recalculating h with FQO in the current hour set to 0.1  using the
routine HUnstableCalc, and (ii) taking h to be the smaller of the two values. Note a separate routine
is used for HStableDawn to avoid the possibility of recursion.

       HStableCalcDawn:  This routine estimates h from J/f and from the arrays of u*, FQO, s and To
values whenever FBo < 0, as described in §5. l(h) but without the 'near dusk' correction. Because it is
called from the routine  HUnstableCalc  as  well as  from HStableCalcDawnDusk, this routine is
designed to be able to calculate h for any of the previous hours in the arrays of past values as well as
for the current hour. The hour for which h is required is passed through the argument list. First  it
establishes whether the near dawn correction is needed. It is needed unless (i) s  for the hour in
question is unknown, or (ii) s for the hour in question is < 0, or (iii) the hour in question is the earliest
time in the arrays of values, or (iv) u*, FQO,  or To  for the hour preceeding the hour in question is
unknown, or (v) when going back in time from the current hour an occasion is found  with FQO, or s
unknown or with FQO  > 0 up to and including the first time encountered with s < 0.  Then,  using the
routine UCalc2,  \ILuo is calculated for the hour in question if no near dawn correction  is needed and
 for the preceeding hour if a  correction is  needed.  Finally,  using the routine HStableCalc, h is
calculated from u* for the hour in question, from the value of I/LMO just calculated, and from |/|.

       HStableCalc: This routine estimates h from z/*, I/LMO and |/| using equation (7). By putting
I/LMO = 0 this routine can be used to return the neutral limit of (7), namely h = 0.3u* /|/| .

                                                                                           p-
       HUnstableCalc:  This routine  estimates h from | /1 and the arrays of u*, FBQ,  s, Nu and To
values whenever Feo > 0, as described in  §5.1(h). If it has proved impossible to fill in the arrays of
u*, FQO, Nu, and To values using subroutines  FillSeq or FillNonSeq, or if, after filling in, there is no
FQO value in the Feo-array which is < 0, h is set to the neutral value 0.3W|/|  and a warning is issued.
Otherwise the boundary layer depth hs corresponding to the last hour with Feo < 0 is calculated using
HStableCalcDawn.  Then (8)  is solved using subroutine BLGrowth to obtain values of h and A6
corresponding to the mid point of the current hour.  In doing this, values of u*, FQO, Nu and TO  are

                                       Page 27 of 34

-------
taken from the arrays of these quantities and are assumed to remain constant in each hour, while h
and A6 are assumed to be zero at the end of the last hour with FQO < 0. Finally h is set equal to the
maximum of the value of h obtained from BLGrowth and hs.

       The routine also returns the estimate of A6 obtained from BLGrowth whenever the value of h
returned is also obtained from that subroutine. Otherwise is A6 is returned as missing (-999.0).

       BLGrowth: This routine solves the equations (8) for h and A6-  The routine takes as input (i)
initial conditions for h and A6, (ii) the length of the period between the time corresponding to the
initial conditions and the  time at which output is required, and (iii) values of u*, FQO, Nu and  To
which are assumed to remain constant during the period referred to in (ii).  The equations are solved
using the analytic solution for t as a function of h described by Thomson  (1992) which is inverted
using a bisection technique.  Several variables are held in double precision  and, if the input value of
FQO is less than 1, the value  1  is adopted instead; this is to avoid difficulties due to the presence of
large nearly balancing terms in the expression for t when FQO is small.

       HLimits:  This routine limits h to the range 50 to 4000. If h would  otherwise lie outside this
range a warning is issued.

                                                                p-
       DeltaThetaCalc: This routine estimates A6 from FQO, h, Nu, To  and the value of A6 estimated
using HUnstableCalc (if any), as described in §5.1(i).

       WStarCalc: This routine calculates w* from u*, \ILuo and h as described in §5. l(a).

       FillSeq and FillNonSeq: These routines attempt to fill in the missing data in the arrays of u*,
FQO, s, Nu, and TO  values, working back from the current hour until (i) an hour for which FQO can't be
filled is reached, or (ii) an  hour with FQO < 0 for which s can't be filled or for which s < 0 is found, or
(iii) the beginning of the arrays are reached. FillSeq is used when the input data are sequential and
FillNonSeq is used otherwise. FillSeq will be described first. The missing values  of w* are filled in
by linear interpolation where possible using the routine Interpolation. Where this is not possible u* is
                                       	                            TS-
set to the first available subsequent value. The missing values of Nu and To   are filled in by using the
default values (linear interpolation is not used for Nu and TQK so as to make the results the same as if
                                                                   p'
adequate data had been given for  the preceeding hours but with Nu or To missing - in this situation
the default values would  have been adopted).  Then the missing values of s are estimated where
possible using hour and day, using the fact that hour decreases by 1  as we look back through each
past hour. Finally the missing values of FQO are addressed. First we attempt to estimate FQO by linear
interpolation using the routine Interpolation. Interpolations for FQO are not made if the gap  is longer
than two hours. If values of FQO are still missing but s is available for the same hour (in the history


                                        Page 28 of 34

-------
arrays) and CL is available from the met file, then iC is calculated from CL and s using the equation in

§5.1(f) and FQO is calculated with subroutine FThetaOCalc by making use of the arrays of u*, s and

To values on the assumption that CL, r and a are unchanged in the preceeding hours. The routine

FillNonSeq is very similar to FillSeq although there are two differences. Firstly there are a number

of the steps in FillSeq which would have no effect and are therefore omitted.  Also Nu and TQK are

filled in by adopting the current values instead of the defaults.


Appendix - Example met file
This is a demonstration met  file designed to illustrate  the  format  required
for such files.

Only the information  following the keywords  'VARIABLES:'  and 'DATA:'  is
read by the model.  This enables extra information which  is not  read by
the model to be  included in  the met file - for example information  on
the measurement  site  or comments such as these describing the  format  of
the file.

The met data are presented as a sequence of records, each record giving
the data for a particular hour. In each record, a number of  met
variables  (e.g.  wind  speed,  surface sensible heat flux etc.) are given.
The same variables  must be given for each hour, although if  some values
are unknown this can  be indicated by -999.0 as described below.
The information  following the keyword 'VARIABLES:' describes how many
variables are given for each hour and what the variables are,  while
the met data itself follows  the keyword 'DATA: ' .

In the information  after the keyword 'VARIABLES:', various keywords are
used to indicate which  met variables are given for each  hour's  data and
the order in which  they are  given. The number of possible input
variables is quite  large in  order to support a range of  applications  and
to allow for a variety  of data sources - however the number  of  variables
used in any one  application  is likely to be a small fraction of those
possible. The variables fall into 4 categories, true met variables, site
characteristics, time variables and frequency information. Several  of
the variables have  aliases,  i.e. alternative keywords. These are either
expanded definitions  which are more self-explanatory or  are  present for
compatibility with  past versions. The keywords are not case  sensitive.
The meaning of the  keywords  is as follows:

1) Met variables:

WIND SPEED
Alias  (supported for  past compatibility only) : U
Definition: Wind speed  at measurement height (friction velocity if
            measurement height = 0; geostophic wind if measurement
            height  =  1000 . 0) .

UG/USTAR
Alias: GEOSTROPHIC  WIND SPEED/FRICTION VELOCITY
Alias  (supported for  past compatibility only) : UGSTAR
Definition: Geostrophic wind speed/friction velocity.

DIRECTION
Alias: WIND DIRECTION (DEGREES)
Alias  (supported for  past compatibility only) : PHI
Definition: Wind direction (angle wind is coming from in degrees clockwise
            from north)  at measurement height  (surface wind  direction if
            measurement height = 0; geostophic wind direction  if
            measurement height = 1000.0) .

DIRN CHANGE
                                  Page 29 of 34

-------
Alias: GEOSTROPHIC MINUS SURFACE WIND DIRECTION  (DEGREES)
Alias  (supported for past compatibility only): DELTAPHI
Definition: Geostrophic wind direction minus  surface wind direction
            (degrees) .

HEAT FLUX
Alias: SENSIBLE HEAT FLUX
Alias  (supported for past compatibility only): FTHETAO
Definition: Surface sensible heat flux.

1/LMO
Alias: 1/MONIN-OBUKHOV LENGTH
Alias  (supported for past compatibility only): RECIPLMO
Definition: 1/Monin-Obukhov length.

BL DEPTH
Alias: BOUNDARY LAYER DEPTH
Alias  (supported for past compatibility only): H
Definition: Boundary layer depth.

CLOUD
Alias: CLOUD AMOUNT  (OKTAS)
Alias  (supported for past compatibility only): CL
Definition: Cloud amount (oktas).

SOLAR RAD
Alias: INCOMING SOLAR RADIATION
Definition: Incoming solar radiation.

TEMPERATURE
Alias: TEMPERATURE (C)
Alias  (supported for past compatibility only): TOC
Definition: Near surface temperature  (degrees C) .

N ABOVE BL
Alias: BUOYANCY FREQUENCY ABOVE BOUNDARY LAYER
Alias  (supported for past compatibility only): NU
Definition: Buoyancy frequency above the boundary layer.

DELTA THETA
Alias: TEMPERATURE JUMP ACROSS BOUNDARY LAYER TOP
Alias  (supported for past compatibility only): DELTATHETA
Definition: Temperature jump across the boundary layer top.

PRECIP
Alias: PRECIPITATION RATE  (MM/HOUR)
Alias  (supported for past compatibility only): P
Definition: Precipitation rate  (mm/hour).

SEA TEMP
Alias: SEA SURFACE TEMPERATURE  (C)
Alias  (supported for past compatibility only): TSEA
Definition: Sea surface temperature  (degrees  C).

DELTA T
Alias: TEMPERATURE OVER LAND MINUS SEA SURFACE TEMPERATURE
Alias  (supported for past compatibility only): DELTAT
Definition: Near surface temperature over land minus sea surface
            temperature.

SIGMA THETA
Alias: SIGMA THETA (DEGREES)
Alias  (supported for past compatibility only): SIGMATHETA
Definition: Standard deviation of changes in mean wind direction  (in
            degrees).

S HUMIDITY
Alias: SPECIFIC HUMIDITY
Definition: Near surface specific humidity.

R HUMIDITY
Alias: RELATIVE HUMIDITY (PERCENT)
                                  Page 30 of 34

-------
Alias  (supported for past compatibility only): RHUM
Definition: Near surface relative humidity  (percent).

RH ABOVE BL
Alias: RELATIVE HUMIDITY ABOVE BOUNDARY LAYER  (PERCENT)
Definition: Relative humidity just above the boundary  layer  (percent).

DRH/DZ
Alias: D(RELATIVE HUMIDITY)/DZ ABOVE BOUNDARY LAYER  (PERCENT/M)
Definition: d(Relative humidity)/dz above the boundary layer  (percent/m).

LAT HT FLUX
Alias: LATENT HEAT FLUX
Definition: Surface latent heat flux.

2) Site variables:

WIND HEIGHT
Alias: WIND MEASUREMENT HEIGHT
Definition: Height of wind measurement at met site  (1,000.0 is used  to
            indicate geostrophic wind, 0.0 to indicate friction velocity).


ALBEDO (M)
Alias: ALBEDO (MET SITE)
Alias  (supported for past compatibility only): R
Definition: Surface albedo at met site.

ALPHA  (M)
Alias: MODIFIED PRIESTLEY-TAYLOR PARAMETER  (MET SITE)
Alias  (supported for past compatibility only): ALPHA
Definition: Modified Priestley-Taylor parameter at met site  (as defined
            in Holtslag and van Ulden, 1983, J. dim. Appl. Met., vol 22,
            517-529).


3) Time variables:

HOUR
Alias  (supported for past compatibility only): THOUR
Definition: Hour of day (local time, i.e. GMT + longitude  in degrees
            (east positive)/15).

DAY
Alias  (supported for past compatibility only): TDAY
Definition: Day of year (1st Jan = 1).

YEAR
Definition: Year.

4) Frequency variables:

FREQUENCY
Alias  (supported for past compatibility only): FR
Definition: Frequency with which a given set of met conditions occurs
            (arbitrary units, e.g. percentage of occasions or number of
            hours per year).

FREQUENCY FOR MONTHS ww TO xx, HOURS yy TO zz
Alias  (supported for past compatibility only): MONTHS ww TO xx, HOURS yy  TO  zz
Definition: Detailed frequency information giving the  frequency with
            which a given set of met conditions occurs for certain
            months of the year or times of day.
            (arbitrary units, e.g. percentage of occasions or number of
            hours per year - must be same for each such variable).

Input requirements and usual inputs: ....

The frequency variables must, if they are mentioned in the header,
be present for every set of met data (i.e. -999.0 will cause a fatal
error).
                                  Page 31 of 34

-------
The met data itself which follows the keyword  'DATA:' must be formatted
as appropriate for a FORTRAN  'list-directed read'  (a comma separated
list is the easiest way to achieve this). Each variable must be a real
(as opposed to an integer - i.e. it must contain a  '.') and missing data
can be indicated by -999.0 or, assuming a comma separated list is used,
by omitting the variable  (the comma must however still be present).
Missing data or invalid data  (e.g. negative boundary layer depth) may
cause error messages to be generated.

Units are SI units except where stated in the variable definitions above.

All keywords must start in the first column.

In this example file,  an invalid variable name 'PRESSURE' has been
included. This will generate a warning message and the data for this
variable will be ignored. This file also includes some examples of
missing and invalid data.


VARIABLES:
6
U
PRESSURE
FTHETAO
PHI
H
P


Comments can also be added to the met file between the 'VARIABLES:' part
of the file and the 'DATA:' part, as illustrated by this comment.


DATA:
10.0, 1013.2, 100.0, 30.0, 1000.0, 2.0
5.0, 1013.2, 300.0, 150.0, 1500.0, 0.0
7.5, 950.1, 0.0, 240.0, 500.0, 3.0
7.5, 950.1, 0.0, , 500.0, 3.0
7.5, 950.1, 0.0, 240.0, 500.0, -999.0
7.5, 950.1, 0.0, 240.0, -500.0, 3.0
15.5, 1020.1, -20.0, 240.0, 500.0, 3.0
                                  Page 32 of 34

-------
References

Arya S.P.S., 1975, 'Geostrophic drag and heat transfer relations for the atmospheric boundary layer',
Q. J. R. Meteorol. Soc., 101, 147-161.

Beljaars A.C.M. and Holtslag A.A.M., 1990, 'A software library for the calculation of surface fluxes
over land and sea', Environmental Software, 5, 60-68.

Beljaars  A.C.M.  and  Holtslag A.A.M., 1991,  'Flux  parameterization over land  surfaces for
atmospheric models', J. Appl. Met., 30, 327-341.

Benoit R., 1977, 'On the integral of the surface layer profile-gradient functions', J. Appl. Met., 16,
859-860.

Brost R.A. and Wyngaard J.C., 1978, 'A model  study of the stably stratified planetary boundary
layer', J. Atmos. Sci., 35, 1427-1440.

Derbyshire S.H., 1990, 'Nieuwstadt's stable boundary layer revisited', Q. J. R. Meteorol. Soc., 116,
127-158.

Driedonks A.G.M.,  1982,  'Models and observations of the growth of the atmospheric boundary
layer', Boundary-Layer Meteorol., 23, 283-306.

Dyer A.J. and Hicks B.B.,  1970, 'Flux-gradient relationships in the constant flux layer', Q.  J. R.
Meteorol. Soc., 96, 715-721.

Fiedler F. and Panofsky H.A., 1972, 'The geostrophic drag coefficient and the 'effective' roughness
length', Q. J. R. Meteorol. Soc., 98, 213-220.

Galinski A.E. and Thomson D.J., 1995, 'Comparison of three schemes for predicting surface sensible
heat flux', Boundary-Layer Meteorol., 72, 345-370.

Gill A.E., 1982, 'Atmospheric-Ocean Dynamics', Academic Press.

Hanna S.R.  and  Chang J.C.,  1992,  'Boundary-layer  parameterizations for  applied  dispersion
modeling over urban areas', Boundary-Layer Meteorol., 58, 229-259.

Holtslag A.A.M. and  de Bruin H.A.R., 1988, 'Applied modeling of the nighttime surface energy
balance over land', J. Appl. Met., 27, 689-704.

Holtslag  A.A.M. and  van  Ulden A.P.,  1982, 'Simple estimates of nighttime surface fluxes  from
routine weather data', K.N.M.I. Scientific Report W.R. 82-4.

Holtslag A.A.M. and van Ulden A.P., 1983, 'A simple scheme for daytime estimates of the surface
fluxes from routine weather data', J. Clim. Appl. Met., 22, 517-529.

Moore D.J., 1976, 'Calculation of ground level concentration for different  sampling periods and
source locations', Atmospheric Pollution, pp. 51-60, Elsevier, Amsterdam.

Nielsen L.B., Prahm L.P., Berkowicz R. and Conradsen K., 1981, 'Net incoming radiation estimated
from hourly global radiation and/or cloud observations', J. Clim.,  1, 255-272.
                                       Page 33 of 34

-------
Nieuwstadt F.T.M, 1981, 'The steady-state height and resistance laws of the nocturnal boundary
layer: theory compared with Cabauw observations', Boundary-Layer Meteorol., 20, 3-17.

Oke T.R., 1987, 'Boundary layer climates', 2nd Edition, Methuen.

Pasquill F. and Smith F.B., 1983, 'Atmospheric Diffusion', Ellis Horwood.

Ratto C.F.,  1988, 'Sun-Earth astronomical relationships and the extraterrestrial solar radiation',
Physical climatology for solar  and wind energy, edited by R. Guzzi  and C.G.  Justus, World
Scientific Publishing Company.

Tennekes H., 1973, 'A model for the dynamics of the inversion above a convective boundary layer',
J. Atmos Sri., 30, 558-567.

Tennekes H. and Driedonks  A.G.M.,  1981, 'Basic entrainment  equations for the atmospheric
boundary layer', Boundary-Layer Meteorol., 20, 515-531.

Thomson D.J., 1992, 'An analytical solution to Tennekes' equations for the growth of boundary
layer depth', Boundary-Layer Meteorol., 59, 227-229.

van Ulden A.P. and Holtslag A.A.M., 1983, 'The stability of the atmospheric surface layer during
nighttime', American Met. Soc., 6th Symp. on Turbulence and Diffusion.

van  Ulden  A.P.  and  Holtslag A.A.M.,  1985,  'Estimation  of  atmospheric boundary  layer
parameters for diffusion applications', J. dim. Appl. Met., 24, 1196-1207.

Wexler A.,  1976, 'Vapour pressure formulation for water in range 0 to 100°C. A revision', J.
Res. Nat. Bur. Stand., 80A, 775-785.

Wieringa J., 1986, 'Roughness-dependent geographical  interpolation  of  surface  wind  speed
averages', Q. J. R. Meteorol. Soc., 112, 867-889.
                                      Page 34 of 34

-------
                            TECHNICAL REPORT DATA
                       (Please read Instructions on reverse before completing)
1. REPORT NO.
  EPA-454/R-03-007
                                                         3. RECIPIENTS ACCESSION NO.
4. TITLE AND SUBTITLE
Meteorological Data Preparation for Demonstration of
the Application of ASTM Standard D 6589
               5. REPORT DATE
                August 2003
                                                         6. PERFORMING ORGANIZATION CODE
7. AUTHOR(S)
                                                         8. PERFORMING ORGANIZATION REPORT NO.
9. PERFORMING ORGANIZATION NAME AND ADDRESS
 Pacific Environmental Services, Inc, a MACTEC
Company
Research Triangle Park, NC
                                                         10. PROGRAM ELEMENT NO.
               11. CONTRACT/GRANT NO.
12. SPONSORING AGENCY NAME AND ADDRESS
Office of Air Quality Planning and Standards
Emissions, Monitoring, and Analysis Division
U.S. Environmental Protection Agency
Research Triangle Park, NC 27711	
                   TYPE OF REPORT AND PERIOD COVERED
13.
Technical Report
               14. SPONSORING AGENCY CODE
15. SUPPLEMENTARY NOTES
16. ABSTRACT
The ASTM published a Standard Guide D 6589 for Statistical Evaluation of Atmospheric
Dispersion Model Performance, which provides a procedure for assessing performance of
atmospheric transport and diffusion models to predict the "average centerline"concentration
values of a chemical released from a point source.  The EPA applied D 6598 to assess
performance of four models (AERMOD, HPDM, ISCST3, ADMS) to simulate "average
centerline" concentration values from point source releases as seen during three field studies
(Project Prairie Grass experiment and the EPRI Indianapolis Kincaid experiments).  This
report documents the steps taken to develop the characterizations of meteorological
conditions needed by each model for each of the three field experiments.
17.
                              KEY WORDS AND DOCUMENT ANALYSIS
               DESCRIPTORS
                                          b. IDENTIFIERS/OPEN ENDED TERMS
                                                                          c. COSATT Field/Group
  Meteorological Data
  Air Dispersion Models
Statistical Model Evaluation
18. DISTRIBUTION STATEMENT
  Release Unlimited
                                          19. SECURITY CLASS (Report)
                                            Unclassified
                                21. NO. OF PAGES

                                      52
                                          20. SECURITY CLASS (Page)
                                            Unclassified
                                                                          22. PRICE
                       EPA Form 2220-1 (Rev. 4-77)PREVIOUS EDITION IS OBSOLETE

-------
United States                              Office of Air Quality Planning and Standards                       Publication No. EPA-454/R-03-007
Environmental Protection                   Planning and Standards                                          August 2003
Agency                                   Research Triangle Park, NC 27711

-------