Introduction
The numerical atmospheric models developed independently under
the direction of William R. Cotton and Roger A. Pielke have recently been
combined into the CSU Regional Atmospheric Modelling System (RAMS). Development
of many of the physical modules has been accomplished over the past 15 years
and has involved over 50 man years of effort. RAMS is a general and flexible
modelling system rather than a single purpose model. For example, current
research using RAMS includes atmospheric scales ranging from large eddy
simulations to mesoscale simulations of convective systems . This paper
will discuss the options available in RAMS, the engineering aspects of the
system and how the flexibility is attained.
RAMS Options
RAMS is a merging of basically three models that were designed
to simulate different atmospheric circulations. These were a non-hydrostatic
cloud model (Tripoli and Cotton, 1982) and two hydrostatic mesoscale models
(Tremback et al., 1985 and Mahrer and Pielke, 1977). The capability
of RAMS was recently augmented with the implementation of 2-way interactive
grid nesting. Because of this, the modelling system contains many options
for various physical and numerical processes. These options are listed below.
The following options are currently available in configuring
a model:
- Basic Equations:
- Option 1 -
- Non-hydrostatic time-split compressible (Tripoli and Cotton, 1980)
- Option 2 -
- Hydrostatic incompressible or compressible (Tremback et al.,
1985)
- Dimensionality: 1, 2, or 3 spatial dimensions
- Vertical Coordinate:
- Option 1 -
- Standard cartesian
- Option 2 -
- Sigma-z
- Horizontal Coordinate:
- Option 1 -
- Standard cartesian
- Option 2 -
- Polar stereographic
- Grid Structure:
- Arakawa-C grid stagger
- Unlimited number of nested grids
- Unlimited number of levels of nesting
- Finite Differencing:
- Option 1 -
- Leapfrog on long timestep, forward-backward on small timestep, 2nd
or 4th order flux conservative advection.
- Option 2 -
- Forward-backward time split, 6th order flux conservative (Tremback
et al., 1987)
- Turbulence Closure:
- Option 1 -
- Smagorinsky-type eddy viscosity with dependence
- Option 2 -
- Level 2.5 type closure using eddy viscosity as a function of a prognostic
turbulent kinetic energy
- Option 3 -
- O'Brien profile function in a convective boundary layer (Mahrer and
Pielke, 1977); local exchange coefficient in a stable boundary layer (McNider,
1981).
- Condensation:
- Option 1 -
- Grid points fully saturated or unsaturated
- Option 2 -
- No condensation
- Cloud Microphysics:
- Option 1 -
- Warm rain conversion and accretion of cloud water to raindrops, evaporation
and sedimentation (Tripoli and Cotton, 1980)
- Option 2 -
- Option 1 plus specified nucleation of ice crystals, conversion nucleation
and accretion of graupel, growth of ice crystals, evaporation, melting
and sedimentation (see Cotton et al., 1982)
- Option 3 -
- Option 1 plus option 2 plus predicted nucleation and sink of crystal
concentration, conversion and growth of aggregates, melting, evaporation
and sedimentation The nucleation model includes: sorption/deposition,
figure: Flow diagram.
Contact nucleation by Brownian collision plus thermophoresis plus diffusiophoresis,
secondary ice crystal production by rime-splinter mechanism.
- Option 4 -
- No precipitation processes
- Radiation:
- Option 1 -
- Shortwave radiation model including molecular scattering, absorption
of clear air (Yamamoto, 1962), ozone absorption (Lacis and Hansen, 1974)
and reflectance, transmittance and absorptance of a cloud layer (Stephens,
1978), clear-cloudy mixed layer approach (Stephens, 1977)
- Option 2 -
- Shortwave radiation model described by Mahrer and Pielke (1977) which
includes the effects of forward Rayleigh scattering (Atwater and Brown,
1974), absorption by water vapor (McDonald, 1960), and terrain slope (Kondrat'yev,
1969).
- Option 3 -
- Longwave radiation model including emissivity of a clear atmosphere
(Rodgers, 1967), emissivity of cloud layer (Stephens, 1978), and emissivity
of ``clear and cloudy'' mixed layer (Herman and Goody, 1976)
- Option 4 -
- Longwave radiation model described by Mahrer and Pielke (1977) including
emissivities of water vapor (Jacobs et al., 1974) and carbon dioxide
(Kondrat'yev, 1969) and the computationally efficient technique of Sasamori
(1972).
- Option 5 -
- No radiation
- Transport & Diffusion Modules:
- Option 1 -
- Advection-diffusion model (Segal et al., 1980) (To be implemented.)
- Option 2 -
- Semi-stochastic particle model for point and line sources of pollution
(McNider, 1981) (To be implemented.)
- Lower Boundary:
- Option 1 -
- Specified surface temperature and moisture function or specified surface
fluxes coupled with constant flux layer condition based on similarity theory
(Manton and Cotton, 1977)
- Option 2 -
- Surface layer temperature and moisture fluxes are diagnosed as a function
of the ground surface temperature derived from a surface energy balance
(Mahrer and Pielke, 1977). The energy balance includes longwave and shortwave
radiative fluxes, latent and sensible heat fluxes, and conduction from
below the surface. To include the latter effect, a multi-level prognostic
soil temperature model is computed.
- Option 3 -
- Modified form of Option 2 with prognostic surface equations (Tremback
and Kessler, 1985)
- Option 4 -
- Same as Option 2, except vegetation parameterizations are included
(McCumber and Pielke, 1981; McCumber, 1980) (To be implemented)
- Upper Boundary Conditions:
- Option 1 -
- Rigid lid
- Option 2 -
- Rayleigh Friction layer plus Option 1-4
- Option 3 -
- Prognostic surface pressure (hydrostatic only)
- Option 4 -
- Material surface top. (Hydrostatic only) (Mahrer and Pielke, 1977)
- Option 5 -
- Gravity wave radiation condition (Klemp and Durran, 1983)
- Lateral Boundary Conditions:
- Option 1 -
- Klemp and Wilhelmson (1978) radiative boundary conditions
- Option 2 -
- Orlanski (1976) radiative boundary conditions
- Option 3 -
- Klemp and Lilly (1978) radiative boundary condition
- Option 4 -
- Option 1, 2 or 3 coupled with Mesoscale Compensation Region (MCR) described
by Tripoli and Cotton (1982) with fixed conditions at MCR boundary figure:Mesoscale Compensation Region
- Option 5 -
- The sponge boundary condition of Perkey and Kreitzberg (1976) when
large scale data is available from objectively analyzed data fields or
a larger scale model run. This condition includes a viscous region and
the introduction of the large scale fields into the model computations
near the lateral boundaries.
- Initialization:
- Option 1 -
- Horizontally homogeneous.
- Option 2 -
- Option 1 plus variations to force cloud initiation.
- Option 3 -
- NMC data and/or soundings objectively analyzed on isentropic surface
and interpolated to the model grid.
- Option 4 -
- NMC data interpolated to the model grid.
Engineering Aspects:
Because of the large number of options in RAMS, the structuring
of the code needs to be carefully considered. This section will discuss
various aspects of the code structure of the system.
The code of RAMS is written in as close to the FORTRAN 77
standard as possible. However, with a program as large as this, the FORTRAN
standard is lacking in several features such as global PARAMETER and COMMON
statements and conditional compilation. To remedy these insufficiencies,
the RAMS code takes advantage of a pre-processor written as part of the
RAMS package. This pre-processor itself is written in the 77 standard so
that the package as a whole is highly portable. It takes full advantage
of the character features of FORTRAN and has executed successfully on a
number of machines including a VAX, CRAY-1, CRAY-X-MP, and CYBER 205 without
modification. Some of the features of the pre-processor are described below:
- 1)
- By including a character in the first column of a line of code,
that line can be ``activated" or ``eliminated" from the compile
file. This allows for conditional compilation of single lines or entire
sections of code.
- 2)
- A pre-processor variable can be set to a value. This variable can
then be used in other expressions including a pre-processor IF or block
IF to conditionally set other pre-processor variables. These variables
also can be converted to FORTRAN PARAMETER statements which can be inserted
anywhere in the rest of the code.
- 3)
- A group of statements can be delineated as a ``global" which
then can be inserted anywhere in the code. This is very useful for groups
of COMMON and PARAMETER statements.
- 4)
- DO loops can be constructed in a DO/ENDDO syntax, eliminating the
need for statement labels on the DO loops.
The use of grid nesting allows a wider range of motion scales
to be modeled simultaneously and interactively. It can greatly ease the
limitations of unnested simulations in which a compromise must be reached
between covering an adequately large spatial domain and obtaining sufficient
resolution of a particular local phenomenon. With nesting, RAMS can now
feasibly model mesoscale circulations in a large domain where low resolution
is adequate, and at the same time resolve the large eddy structure within
a cumulus cloud in a subdomain of the simulation.
Nesting in RAMS is set up such that the same model code for
each physical process such as advection is used for each grid. This makes
it easy for any desired number of grids to be used without having to duplicate
code for each one. Also, it is easy to add or remove a nested grid in time,
and to change its size or location. There is still the flexibility of choosing
many model options independently for different grids.
RAMS has adopted the two-way interactive nesting procedure
described in Clark and Farley (1979). This algorithm is the means by which
the different nested grids communicate with each other. The process of advancing
coarse grid A and fine nested grid B forward in time one step begins with
advancing grid A alone as if it contained no nest within. The computed fields
from A are then interpolated tri-quadratically to the boundary points of
B. The interior of B is then updated under the influence of its interpolated
boundary values. Finally, the field values of A in the region where B exists
are replaced by local averages from the fields of B. An increase in efficiency
over the Clark and Farley method was implemented by allowing a coarse grid
to be run at a longer timestep than a fine grid.
The following options are available with nesting in RAMS:
- 1)
- There is no imposed limit (only a practical one) to the number of nested
grids which can be used.
- 2)
- When two grids B and C are nested within grid A, they may be either
independent (occupying different space) or C may be nested within B.
- 3)
- The increase in spatial resolution of a nested grid may be any integer
multiple of its parent grid resolution. Moreover, this multiple may be
specified independently for the three coordinate directions.
- 4)
- A nested grid may, but need not, start from the ground and extend to
the model domain top.
For those machines with limited central memory and a ``non-virtual"
operating system or for efficiency on virtual systems, RAMS is constructed
with a disk I/O scheme. When the scheme is operating, a subset of the model's
three-dimensional variables will reside in central memory at any one time.
Computations then can be performed with this subset. When these computations
are finished, a new subset of three-dimensional variables are requested
and computations performed with these. The RAMS structure, thus, is dependent
on this I/O scheme and consists of a series of calls to the I/O scheme and
to the routines which do the calculations.
For flexibility, RAMS is written as modular as possible. Each
individual physical parameterization or numerical process is put in a separate
subroutine so that the routines can easily be replaced for different options
or with new developments.
The routines that do the actual computations for the model
are written so that the implementor of a new or replacement routine does
not need to be concerned with most of the details of the rest of the model
computations. All three-dimensional variables are ``passed" to the
subroutines through the call statement with other variables passed through
COMMON. The implementor then has the flexibility to structure his routine
in whatever manner he wishes to produce the desired result. This concept
will also make the implementation of routines from other models and programs
easier with less modification required.
A set of subroutines has been developed for analyzing and
plotting a variety of quantities from fields output from RAMS. This greatly
facilitates the interpretation and understanding of modeled atmospheric
phenomena. The quantities diagnosed by these routines include vorticity,
divergence, streamfunction, energy, momentum flux, most variances and covariances,
and layer averaged quantities.