Introduction

advertisement
ARCSCM (ARCtic Single Column Model)
ARCSCM is the University of Colorado’s One-Dimensional (Single Column) Thermodynamic Atmospheric Model.
ARCSCM was designed as a testbed and developmental tool for parameterizations of
thermodynamic physical processes unique to high latitude climates. As such, ARCSCM includes
a mixed-phase microphysics package, predicts surface drag and heat fluxes consistent with an ice
covered surface, and is currently set up to be driven by SHEBA data. The surface boundary
conditions are read in from a data file assembled from the SHEBA ice camp, and the lateral
boundary conditions are supplied by the ECMWF single column data set, a data set specially
prepared for SHEBA single column studies by incorporating SHEBA raywinsonde profiles into
the ECMWF model. A host of information about these data, as well as numerous other
interesting products of relevance to arctic climatology and modeling can be found at:
www.joss.ucar.edu/cgi-bin/codiac/projs?SHEBA
Model Description.
ARCSCM uses a vertical grid of  coordinates defined by:
 ( p) 
p  pt
ps  pt
(1)
In (1) p is the pressure, pt denotes the model top, and ps denotes the surface.
The computational domain of the model consists of two arrays of gridpoints defined by
(1) that span the range of pressure levels between the surface and an arbitrary, user defined top
pressure level. At the surface
(ps ) 1
and at the model top,
( pt )  0 .
The first array is given the
name ‘sigma’ and includes both of these endpoints. Since these values of  require a flux as
boundary conditions, the 'sigma' levels are also referred to as the 'flux' levels of the model. For
consistency, all of the model fluxes are therefore computed on the ‘sigma’ grid. The second grid
is given the name ‘a’ and its values occur at the midpoints of adjacent ‘sigma’ gridpoints. The
values of the prognostic variables are forecast at the ‘a’ grid. The 'a' values are referred to as the
'variable' levels, and they represent the mean variable values between adjacent flux levels.
Architecture.
A diagram of the model architecture as well as the required boundary conditions is given
in figure 1 below.
ARCSCM Computational Domain, Boundary Conditions and Physical
Processes
SWdn
Model Top
p=pt
Top Boundary Condition
ARCSCM
Lateral Boundary Conditions:
u
,

(u )
t
Physical Processes:
Radiative Transfer
Cloud Microphysics
Cumulus convection
Variable level ('a')
Turbulent Diffusion
Flux level ('sigma')
Model
Bottom
p=ps
Ts, Qs, As, Ps, Hi, Es
Surface Fluxes
w'x' Bottom boundary Conditions
p = pressure
SWdn = Downwelling Shortwave Flux
u
= 3-D winds
(u )
= 3-D advective tendency of 
Ts = surface skin temperature
Qs = surface vapor mixing ratio
As = surface albedo
Hi = ice thickness
Es = surface emissivity
w’x’ = surface turbulent fluxes
Figure 1.
Boundary Conditions.
The top boundary condition, the downwelling shortwave flux, is computed in the
radiation parameterizations as a function of the solar zenith angle, which is calculated as a
function of the latitude, longitude, date and time of day.
The surface boundary conditions are read in from a data file consisting of surface
observations taken at the SHEBA ice camp. The surface drag and sensible and latent heat fluxes
can either be read in from the SHEBA data set, or can be computed in subroutines for
consistency with ARCSCM temperature and vapor profiles. Various subroutines have further
boundary conditions that must be satisfied, however they are internal to those subroutines and
will not be discussed further. The interested reader can consult the appropriate references for
additional information.
The lateral boundary conditions are provided by the ECMWF single column model data
set. The 3-D advective tendencies of specific humidity and temperature are given hourly at 31
levels of the atmosphere. ARCSCM users may either use the ECMWF 3-D advective tendencies,
which include the adiabatic temperature tendency, or they may choose to have the ECMWF
tendencies partitioned into horizontal and vertical components, use the horizontal components as
specified, and use the ECMWF vertical velocity to obtain vertical tendencies consistent with the
ARCSCM model fields. There are certian caveats associated with either prescription of the
vertical tendencies, so we leave this choice to the user.
At present, the ARCSCM wind field is prescribed completely from the ECMWF model
output.
Parameterizations.
The main purpose of ARCSCM is to predict the tendencies of temperature and all present
species of water at each of the ‘a’ gridpoints. The fundamental equations for the model are the
thermodynamic energy equation, and the conservation of water species equations. The thermodynamic energy equation can be written descriptively as:
dT T

dt t

Advect ion/ Adi abatic
T
t

Radiati on
T
t

Latent
T
t

Turbulence
T
t
(2)
Cum ul us
The conservation of water species equation can likewise be written descriptively as:
dq  q

dt  t

Advect ion
q
t

 mi crophysics
q
t

Surface_ Fluxes
q
q

 t Turbulence t
(3)
Cum ul us
In (2) and (3) T and q are temperature and water species mixing ratio, respectively. The
advection terms in (2) and (3), assuming (3) pertains to vapor, as well as the adiabatic heating
term in (2) are provided by the ECMWF single column model forcing data set. The rest of the
physical processes in (2) and (3) are calculated by the following physical parameterizations.
Radiative processes.
ARCSCM uses the NCAR CCM2 radiation scheme for the shortwave radiation
calculations, and can use either CCM2 or the RRTM scheme for the longwave.
References for the CCM2 scheme are:
Briegleb, B. P., 1992a: Delta Eddington approximation for solar radiation in the NCAR
Community Climate Model. J. Geophys. Res., 97, 7603-7612
------- 1992b: Longwave band model for thermal radiation in climate studies. J. Geophys.
Res., 97, 7603-7612
Ebert, E.E., and J. A. Curry, 1992: A parameterization of ice-cloud optical properties for
climate models. J. Geophys. Res. 97, 3831-3836.
The reference for the RRTM scheme is:
Mlawer, E. J., S. J. Taubman, P. D. Brown, M. J. Iacono and S. A. Clough, 1997:
Radiative transfer for inhomogeneous atmospheres: RRTM, a validated correlated-k model for
the longwave. J. Geophys. Res. 102, 16663-16682
Cloud Microphysics.
ARCSCM contains two moisture microphysics schemes, a simple scheme that removes
any excess vapor above saturation, and a bulk mixed-phase microphysics scheme that contains
prognostic equations for vapor, liquid, ice, snow and rain water mixing ratios. The latter
parameterization, the Reisner 1 scheme, was obtained from the NCAR MM5 model.
The reference for the Reisner 1 microphysics scheme is:
Grell, G. A., J. Dudhia, and D. R. Stauffer, 1994: Description of the Fifth-Generation
Penn State/NCAR Mesoscale Model (MM5). NCAR Tech. Note, NCAR/TN-398+STR, 138pp.
Cumulus Convection.
ARCSCM contains the Grell cumulus scheme, also from the NCAR MM5 model. The
reference for the Grell cumulus scheme is the same as for the Reisner 1 microphysics scheme.
The NCAR Tech. Note describing the cumulus and microphysics schemes, as well as
further information of interest is available on the web at:
www.mmm.ucar.edu/mm5/mm5-home.html
Planetary Boundary Layer.
The turbulent diffusion of passive scalars, heat and momentum is performed by the
Holtslag and Boville 1993 scheme. This package utilizes first-order closure with nonlocal eddy
diffusion coefficients, and a countergradient term for heat transfer during strong convective
events.
A reference for the Holtslag and Boville PBL scheme is:
Holtslag, A. A. M., and B. A. Boville, 1993: Local versus nonlocal boundary layer
diffusion in a global climate model. J. Climate, 6, 1825-1842
Surface Turbulent Fluxes.
The surface drag is calculated from a neutral drag coefficient which is a function of the
roughness length and a stability correction factor based on the bulk Richardson number. The
method for calculating the turbulent fluxes of heat and moisture is described in the following two
references:
Schramm, J. L., M. M. Holland, J. A. Curry, and E. E. Ebert, 1997: Modeling the
thermodynamics of a sea ice thickness distribution, 1, Sensitivity to ice thickness resolution. J.
Geophys. Res., 102, 23079-23091
Andreas, E.L., 1987: A Theory for the Scalar Roughness and the Scalar Transfer Coefficients over Snow and Sea Ice. Boundary Layer Meteorology, 38, 159-184.
ARCSCM Model Structure.
There are 5 different types of files that are needed to run ARCSCM, the '*.F' files the 'user.in' file
, the 'paramescm' file, the '*.cb' files and the '*.dat' files.
'*.F' files
The code that executes the simulation is contained in the following '*.F' files:
The file 'main.F' initializes the variables used in various subroutines and executes the
subroutine calls to time step the simulation through its duration.
The file 'tendencies.F' containes the subroutines 'tend' and 'update'. The subroutine 'tend'
calls the various physical parameterizations and computes the tendencies from their output. Then
subroutine 'tend' calls subroutine 'update' which updates the prognostic variables using the output
of 'tend'. Update is also where the model boundary values are updated by linearly interpolating
between the data at the hours that bound the current time step.
As a matter of necessity, there are simultaneously three different values of each of the
boundary variables; the '*1', '*', and '*2' variables. The '*1' and the '*2' variables are the values
of the boundary variables at the hours that bound the given model time which is usually
somewhere in between. The '*' boundary values are the values of the boundary variables
interpolated between the hour n and hour n+1 boundary data values. For instance, 'p1' might be
the pressure at hour 12, 'p2' might be the pressure at hour 13 and 'p' might then be the pressure at
hour 12 and minute 26. The prognostic variables are completely predicted after their assignment
during initialization, so no such need arises to establish '*1' and '*2' prognostic variables.
The file 'misc_subroutines.F' contains the subroutines for initializing the model, assigning
various model parameters, reading the forcing data, as well as other extranneous functions and
subroutines. The three subroutines in 'misc_subroutines.F' that are of primary interest to the user
are those that interface the model with the initialization and forcing data, subroutines 'init',
'getvar' and 'getadv', which will be discussed in a later section.
The remainder of the '*.F' files contain various physical parameterizations, whose
inclusion in a given simulation is specified in 'user.in'.
'user.in'
The file 'user.in' is where the user defines the endpoints of the simulation, chooses
between different subroutines, specifies the values of various model parameters, chooses the
stock output files, and defines the 'sigma' grid.
'paramescm'
The file 'paramescm' is where the user specifies the number of vertical gridpoints for all
of the model arrays, including the initialization and the boundary forcing data arrays. The
parameter 'kz' and its associates, such as 'kzp1', etc, are used to specify the size of the arrays in
ARCSCM and various of its subroutines. The value of 'kz' must be initialized to the number of
sigma coordinates minus 1. Hence, 'kz' is the size of the 'a' grid, and 'kzp1' is the size of the
'sigma' grid.
The parameter 'kzi' specifies the number of vertical gridpoints on which the initialization
data is provided. Likewise, the parameter 'kzb' specifies the number of vertical gridpoints on
which the boundary data is provided.
'*.dat' files.
There are 4 types of '*.dat' files that are required to run the model, those for initialization,
those for surface forcing, those for the ECMWF model fields, and those for the ECMWF advective tendencies.
The initialization files take the following form. The initial profiles of temperature and
relative humidity are in the 'month.input.dat', where 'month' can, at present, be april, may, june or
july. These initialization profiles use data obtained from the radiosondes, the 10m tower at the
SHEBA ice camp, and the ECMWF model, as the radiosonde values tend to jump around quite a
bit in the lowest ~50 meters, and sometimes terminate before reaching pt.
First a grid of 80 'a' values, as defined by (1) was established. Then the initial values af
temperature and relative humidity were obtained for each of the 80 'a' values via the following
procedure:
For each of the 'a' values below the first radiosonde reading above 50.0 meters, the
temperature and relative humidity are obtained by interpolating between that radiosonde reading
and either the surface, the 2.5 meter or the 10 meter tower reading, depending on which data are
available at the given time. Above the ~50 meter reading, the radiosonde values are averaged
between the ‘sigma’ values corresponding to the 'a' grid. For all 'a' values above the point at
which the radiosonde terminates, the ECMWF values are used. No radiosonde winds are
included in the 'month.input.dat' files, as the ECMWF wind values are deemed more reliable on
average than those given by the sonde. Hence the wind field is initialized from the ECMWF
model output.
Each of the monthly initialization data files contains profiles for each hour of the
specified month. The hourly profiles are obtained by linear interpolation between the 6 hourly
radiosonde/ tower/ECMWF profiles discussed above.
The CCM2 radiation scheme also requires the atmospheric aerosol initialization profile
'aerosol.dat'.
The advctive tendencies are contained in the 'month.ectend.dat' files, in which 'month' is
the three letter specifier for the given month, apr for April, may for May, jun for June, or jul for
July. These data files contain the the ECMWF advective tendencies of specific humidity,
temperature and the winds.
The ECMWF model fields are contained in the 'month_ecvar.dat' files. These files
contain the pressure and winds needed by ARCSCM at each of the 31 ECMWF model levels.
The values of the wind used throughout the simulation are taken from here, as are the pressure
values, which are used to interpolate the advective tendencies, also obtained at these pressure
levels, to the ARCSCM 'a' grid.
The SHEBA surface forcing data are contained in the 'newmonthshebasfc.dat' files.
The format of the various data files can be found in the 'Readme' files available on the ARCSCM
website.
*.cb files.
The '*.cb' files are the common blocks used by all of the ARCSCM files. The variables
exchanged between subroutines are declared and pased between subroutines in several common
blocks, each of which consist of variables that have similar functions to one another. For
instance, one common block holds constants such as the gravitational acceleration, the dry ir gas
constant, etc., another includes the variables that are explicitely predicted by ARCSCM, another
includes the time variables that run the simulation, etc.
Model Output.
The output files are specified in subroutine ’outputs’ in the file ‘main.F’. It is
straightforward upon inspection to alter the characteristics of the output files or to create new
ones. At present, nothing is written to the PBL output file.
Data Interfaces.
The remaining ARCSCM subroutines interface the various physical processes with each
other. Of particular importance to the user are the subroutines ‘init’, ‘getvar’ and ‘getadv’. Subroutine ‘init’ initializes the model fields, subroutine ‘getvar’ obtains the values of the surface
variables and the ECMWF pressure and winds, and subroutine ‘getadv’ obtains the advective
tendencies. These data are read in hourly. The values of these variables at the model time steps
are obtained by linear interpolation in subroutine ‘update’ as described previously.
Subroutine 'init':
This is the subroutine that initializes the ARCSCM prognostic and diagnostic variables.
These values of termperature and relative humidity are read in from the 'monthshebasfc.dat' files
then interpolated to the ARCSCM 'a' grid, as previously explained.
To obtain initial values for the rest of the atmospheric and surface fields and the advective
tendencies of temperature and specific humidity, 'init' calls 'getvar' and 'getadv'.
Subroutine 'getvar':
The SCM is currently set up to read in boundary data from files that contain one month’s
worth of data at an hourly interval. Hence, in both 'getvar' and 'getadv' there is a counter variable,
'nskp2', that is used to scroll through the data files. The variable 'nskp2' corresponds to the
number of hours into a given month for a given date and time. Therefore the value of 'nskp2'
instructs the program how far to read through the files to get to the data needed for startup. From
that point on, that data file remains open until the end of the given month, at which point the
previous month's data files are closed and the next month’s data files are opened.
This subroutine reads in the ECMWF variable values and the SHEBA surface values at the
appropriate hour of the simulation. The ECMWF pressure levels corresponding to its 'variable'
levels are read in, an ECMWF 'a' grid for those variables is defined according to (1), then the
ECMW wind values are interpolated to the ARCSCM 'a' grid from the ECMWF 'a' grid.
Subroutine 'getadv':
Subroutine 'getadv' is very similar to 'getvar'. The same counter variable, 'nskp2', instructs
the subroutine how far to read into the month long hourly advective tendencies. The tendency
data for each variable has two parts, called the total and the physical tendencies. The advective
tendencies (and the adiabatic tendency for temperature) are obtianed by subtracting the physical
tendencies from the total tendencies. The ECMWF 'a' grid from 'getvar' is used to interpolate the
ECMWF advective tendencies to the ARCSCM 'a' grid.
Interfacing ARCSCM to other data sources is straightforward upon inspection of the three
subroutines 'init', 'getvar' and 'getadv' discussed above.
Conducting a simulation.
Assuming that the initializaton and boundary data files are correctly interfaced,
conducting a simulation is straightforward. The three files which must be modified are 'user.in',
'paramescm' and 'main.F'.
'user.in'.
The endpoints of the simulation are specified as follows. The simulation will run from
‘idatei’ to ‘idatee’, where ‘idatei’ is the starting date and time, and ‘idatee’ is the ending date and
time. Each of these control variables have the format yy/mm/dd/hh where yy is the year (e.g. 98),
mm is the month (e.g. 05), dd is the day of the month (e.g. 16), and hh is the hour of the simulation in Greenwich time (e.g. 21).
The model time steps are also specified in 'user.in'. 'dt' is the model time step for the
prognostic variables, whereas 'trad' is the number of model time steps between calls to the
radiation subroutine. Since the radiation is the most computationally expensive parameterization,
increasing the radiation time step will substantially reduce the time required to coduct a
simulaton on a slower machine without significantly sacrificing the accuracy.
The choice of parameter values, the inclusion of subroutines, selection of the output files
and definition of the 'sigma' grid are all straightforward upon inspection of 'user.in'
'paramescm'.
As alluded to previously, the assignment of 'kz' must be equal to the size of the 'sigma'
array defined in 'user.in' minus 1. When interfacing with alternate initialization and lateral
boundary forcing data, 'kzi' and 'kzb' must likewise be altered accordingly.
'Main.F'.
In the beginning of subroutine 'output' the user may name the output files as follows.
The filenames are of the form ’prefix.suffix’ where the prefix is contained in the variable 'outfile'
and the suffixes are of the form ’.mean.variable’ etc., depending on the particular output file. For
example, to write an output file called 050100_050500_test.mean.variable, assign 'iovar' a value
of 1 in 'user.in', set the length of the variable 'outfile' to 18 and assign 'outfile' the string
'050100_050500_test' in subroutine 'output' in file 'Main.F'.
The fortran code may be uncompressed by typing 'tar -xvf ARCSCM.TAR'
The code may be compiled by typing 'makefile' and run by typing 'a.out'.
Questions.
Questions about ARCSCM can be sent via electronic mail to 'mirocha@colorado.edu'.
The output file '050100_050500_test.mean.variable' is included for confirmation that
your
version of ARCSCM is running properly with the default settings in 'user.in' and 'paramescm'.
Download