User's Guide to namelist.input file (located in "run" directory)
CM1 Numerical Model, Release 18.3 (cm1r18.3)
Last updated: 7 October 2015
Entries with "--- NEW ---" are new (or modified) in cm1r18
NOTE: some namelist.input files that have been configured for certain
idealized simulations ... e.g., squall lines, supercells,
hurricanes ... are available on the CM1 website:
http://www2.mmm.ucar.edu/people/bryan/cm1/
-------------------------------------------------------------------------
param0 section -- all are INTEGER, except for terrain_flag (a logical)
nx - Total number of grid points in x direction
ny - Total number of grid points in y direction
nz - Total number of grid points in z direction
nodex - Total number of processors in x direction (for MPI runs only)
nodey - Total number of processors in y direction (for MPI runs only)
ppnode - MPI processes per node (for MPI runs only)
NOTEs: - ppnode is used for input/output purposes only.
- This is hardware dependent, so check the documentation
for your supercomputer.
- For NCAR's yellowstone, use ppnode=16.
- If you're not certain what to use, just take a guess;
this doesn't affect model performance, but it can make
parallel I/O a little faster and cleaner (i.e., fewer
restart files, for example).
timeformat - Format for text printout of model integration time:
1 = seconds
2 = minutes
3 = hours
4 = days
timestats - 0 = Do not provide provide timing statistics
1 = Provide timing statistics at end of simulation
2 = The same as 1, but include time required to complete
each time step
terrain_flag - .true. = With terrain
.false. = No terrain (flat lower boundary)
procfiles - .true. = Text printout/config files for every MPI process
.false. = Only one text printout/config file (Default)
-------------------------------------------------------------------------
param1 section -- enter REAL values
dx - Horizontal grid spacing in x direction (m).
dy - Horizontal grid spacing in y direction (m).
dz - Vertical grid spacing (m).
NOTE:
The variables dx,dy,dz are only used when stretch=0. When stretch=1,
these variables should be set to an approximately average value
(to minimize roundoff errors). See README.stretch for more
information.
dtl - Large time step (s).
For psolver = 2,3,4,5,6 this time step is limited by the fastest
nonacoustic speed. For thunderstorm simulations, this is usually
the maximum vertical velocity. Otherwise, this would be the
propagation speed of gravity waves. The following usually works well:
dtl = min(dx,dy,dz)/67 (rounded to an appropriate value, of course)
For psolver=1, this time step is limited by the propagation speed of
sound waves. dtl of about min(dx,dy,dz)/700 is recommended.
When using adaptive time-stepping, set dtl to a reasonable
"target" value (i.e., a value you think would probably be best for your
simulation). This will be used as the initial timestep.
timax - Maximum integration time (s).
--- NEW ---
run_time - Integration time (s) to run model from current time.
NOTE: Ignored if value is less than zero.
NOTE: Overrides timax.
(Useful for restarts. For example, just integrate model
"run_time" seconds forward from current time.)
tapfrq - Frequency of three-dimensional model output (s).
Output is in cm1out files.
rstfrq - Frequency to save model restart files (s). Set to a negative
number if restart files are not desired.
statfrq - Frequency for calculating some interesting output. (seconds)
Set to negative number to output stats every timestep.
Output is in cm1out_stats.dat file.
See param10 section below for the information that can
be requested.
prclfrq - Frequency to output parcel data (s). Note ... this does not
affect the parcel calculations themselves, which are always
updated every timestep; it merely tells the model how
frequently to output the information. Set to a negative number
to output parcel data every time step.
-------------------------------------------------------------------------
param2 section -- enter INTEGER values
(value in CAPS is recommended, where applicable)
adapt_dt - Use adaptive timestep? (0=NO, 1=yes)
Model automatically adjusts timestep to maintain stability.
NOTES: - nsound is ignored for adapt_dt=1
- a reasonable value must still be assigned to dtl (above),
which will also be used as the initial timestep
irst - Is this a restart? (0=no, 1=yes)
rstnum - If this is a restart, this variable specifies the number of the
restart file. For example, for file cm1out_0000_0002_rst.dat,
rstnum is 2.
iconly - Setup initial conditions only?
1 = creates initial conditions, but does not run model.
0 = creates initial conditions, and proceeds with integration.
hadvordrs - Order of horizontal advection scheme for scalars.
vadvordrs - Order of vertical advection scheme for scalars.
hadvordrv - Order of horizontal advection scheme for velocities.
vadvordrv - Order of vertical advection scheme for velocities.
[5=fifth order, 6=sixth order]
Fifth order scheme has implicit diffusion. If fifth order
scheme is used, idiff can be set to 0 (i.e., no additional
artifical diffusion is typically necessary).
Sixth order scheme requires additional artifical diffusion
for stability (i.e., idiff=1 is recommended). User should
use difforder=6 and value of kdiff6 between about 0.02-0.24
Reference: Wicker and Skamarock, 2002, MWR, p 2088.
pdscheme - Scheme to ensure positive definiteness of moisture:
0 = set negative values back to zero
(not mass conserving)
1 = simple, nearly mass-conserving scheme. Takes water
from neighboring grid cells to conserve water
(similar to that in Cohen, 2000, JAS, p. 1661)
--- NEW ---
apmasscon - Adjust average pressure perturbation to ensure conservation
of dry-air mass? 0 = no
1 = yes
Note: This option checks the total dry-air mass
in the domain and adjusts the domain-average
pressure perturbation to ensure conservation.
In general, this option is only needed for long
(several days or more) simulations.
advwenos - Advect scalars (except pressure) with WENO scheme?
advwenov - Advect velocities with WENO scheme?
0 = no
1 = yes, apply on every Runge-Kutta step
2 = yes, apply on final Runge-Kutta step only (default)
Reference: Shu, 2001: High order finite difference and finite
volume WENO schemes and discontinuous Galerkin methods for CFD.
ICASE Rep. 2001-11.
since cm1r16: weights are based on study by Shen and
Zha, 2010, Int. J. Numer. Meth. Fluids, 64, 653-675.
idiff - Include additional artificial diffusion? (0=no, 1=yes)
(in addition to any diffusion from subgrid turbulence scheme)
For idiff=1, diffusion of all variables.
For idiff=2, diffusion only applied to winds (u,v,w).
User must also set difforder and kdiff2 or kdiff6.
mdiff - When idiff=1 and difforder=6, apply monotonic version of
artificial diffusion?
(0=no, 1=yes)
Reference: Xue, 2000, MWR, p 2853.
difforder - Order of diffusion scheme. 2=second order, 6=sixth order.
Second order diffusion is not generally recommended. It is
only used for certain idealized cases. kdiff2 must be set
appropriately when difforder=2.
Sixth order diffusion is recommended for general use when
diffusion of small scales (2-6 delta) is needed. User must
also set kdiff6 when difforder=6.
(not available for axisymmetric simulations)
imoist - Include moisture? (0=no, 1=yes)
iturb - Include subgrid turbulence scheme?
0 = no
1 = TKE (for LES)
2 = Smagorinsky (for LES)
3 = parameterized turbulence (user must set l_h and l_inf below)
(may also need to set lhref1 and lhref2 below)
tconfig - Calculation of turbulence coefficients in turbulence scheme:
1 = horizontal and vertical turbulence coefficients are the
same; use this if dx,dy are about equal to dz (default)
2 = horizontal turbulence coefficient is different from vertical
turbulence coefficient; use this if dx,dy are much greater
than dz, or if iturb=3 is used.
bcturbs - Lower/upper boundary condition for vertical diffusion of all
scalars. (Applies only to subgrid turbulence schemes, i.e., iturb=1,2,3)
1 = zero flux (default)
2 = zero gradient
dns - Run model in Direct Numerical Simulation mode.
(iturb must be = 0)
For this option, the user must set the six parameters in param7 below.
irdamp - Use upper-level Rayleigh damping zone? (0=no, 1=YES)
(acts on u,v,w, and theta)
(User must set rdalpha and zd below)
hrdamp - Use Rayleigh damping near lateral boundaries (0=NO, 1=yes)
(acts on u,v,w only)
(User must set rdalpha and xhd below)
psolver - Option for pressure solver.
1 = truly compressible: no acoustic damping, no small time steps,
no implicit numerics
2 = Klemp-Wilhelmson time-splitting, fully explicit: uses K-W split
time steps for acoustic modes, with explicit
treatment of acoustic terms in both vertical
and horizontal directions.
(use if dx,dy,dz are approximately equal)
3 = Klemp-Wilhelmson time-splitting, vertically implicit: uses K-W
split time steps for acoustic modes, with a
vetically implicit solver, and horizontally
explicit calculations (as in MM5, ARPS, WRF).
(use if dz is much smaller than dx,dy)
4 = Anelastic solver: Uses the anelastic mass continuity equation.
Pressure is retrieved diagnostically.
5 = Incomprssible solver: Uses the incompressible mass continuity
equation. Pressure is retrieved diagnostically.
--- NEW ---
6 = compressible Boussinesq: compressible equation set, using KW time
splitting, fully explicit (like psolver=2), but
Boussinesq approx made for pressure-gradient
terms in velocity equations. Useful for certain
types of idealized modeling.
(see, eg, Bryan and Rotunno, 2014, JAS, pg 1126)
NOTE: psolver = 4 and 5 are only recommended for simulations
without moisture (for now).
nsound - Number of small (acoustic) time steps per large time step.
Only used for psolver = 2 and 3.
note: nsound is ignored for adaptive time-stepping (adapt_dt=1)
NOTE! nsound must be an EVEN integer (exactly) for the
split time steps to work properly. There is no check for
this ... so please remember. Typically, nsound of
4,6,8,10,12 is appropriate. For nsound less than 4,
you should probably use psolver=1 instead. A value of
nsound greater than 12 is not generally recommended.
Also keep in mind the small time step (dts=dtl/nsound) that
is required for stability:
For psolver=2, dts should be about min(dx,dy,dz)/700.
For psolver=3, dts should be about min(dx,dy)/700.
ptype - Explicit moisture scheme.
1 = Kessler scheme (water only)
2 = NASA-Goddard version of LFO scheme
3 = Thompson scheme
4 = Gilmore/Straka/Rasmussen version of LFO scheme
(default) 5 = Morrison double-moment scheme
6 = Rotunno-Emanuel (1987) simple water-only scheme
(Options 26,27,28 use namelist nssl2mom_params, see below)
26 = NSSL 2-moment scheme (graupel-only, no hail);
graupel density predicted
27 = NSSL 2-moment scheme (graupel and hail);
graupel and hail densities predicted
28 = NSSL single-moment scheme (graupel-only, similar to ptype=4);
fixed graupel density (rho_qh)
ihail - Use hail or graupel for large ice category when ptype=2,5.
(Goddard-LFO and Morrison schemes only)
1 = hail
0 = graupel
iautoc - Include autoconversion of qc to qr when ptype = 2? (0=no, 1=yes)
(Goddard-LFO scheme only)
icor - Include Coriolis acceleration? (0=no, 1=yes)
(If user chooses 1, then fcor must be set below)
f-plane is assumed.
pertcor - Apply Coriolis acceleration to perturbation winds only?
(0=NO, 1=yes)
eqtset - equation set for moist microphysics:
1 = a traditional (approximate) equation set for cloud models
2 = an energy-conserving equation set that accounts for the
heat capacity of hydrometeors (Bryan and Fritsch 2002)
that also conserves mass
(note: value is ignored if imoist = 0, because the
equations are equivalent in a dry environment)
(not available with ptype=4)
idiss - Include dissipative heating? (0=no, 1=yes)
efall - Include energy fallout term? (0=no, 1=yes)
rterm - Include simple relaxation term that mimics atmospheric radiation?
(0=no, 1=yes)
(Note: this is a very simple approach, and is only recommended
for highly idealized model simulations. See Rotunno and Emanuel
1987, JAS, p. 546 for a description of this term.)
wbc - West lateral boundary condition.
ebc - East lateral boundary condition.
sbc - South lateral boundary condition.
nbc - North lateral boundary condition.
where: 1 = periodic
2 = open-radiative
3 = rigid walls, free slip
4 = rigid walls, no slip
bbc - bottom boundary condition for winds
where: 1 = free slip
2 = no slip
3 = semi-slip (i.e., partial slip)
(NOTE: for bbc=3, user must also set some options in param12 section below)
[see variables that mention "bbc=3" below]
tbc - top boundary condition for winds
where: 1 = free slip
2 = no slip
irbc - For bc=2, this is the type of radiative scheme to use:
1 = Klemp-Wilhelmson (1978) on large steps
2 = Klemp-Wilhelmson (1978) on small steps
4 = Durran-Klemp (1983) formulation
roflux - Restrict outward flux? (0=no, 1=yes)
When this option is activated, the total outward mass flux at open
boundary conditions is not allowed to exceed total inward mass flux.
This is a requirement for the anelastic solver. For the compressible
solvers, this scheme helps prevent runaway outward mass flux that can
cause domain-total mass loss and pressure falls.
isnd - Base-state sounding: 1 = Dry adiabatic
2 = Dry isothermal
3 = Dry, constant dT/dz
[some variables can be 4 = Saturated neutrally stable (BF02 sounding)
set in base.F file] 5 = Weisman-Klemp analytic sounding
7 = External file (named 'input_sounding')
(see isnd=7 section of base.F for info)
(some soundings are available at
http://www2.mmm.ucar.edu/people/bryan/cm1)
8 = Dry, constant d(theta)/dz
9 = Dry, constant Brunt-Vaisala frequency
10 = Saturated, constant Brunt-Vaisala frequency
11 = Saturated, constant equiv. pot. temp.
iwnd - Base-state wind profile: (ignored if isnd=7)
0 = zero winds
[additional variables 1 = RKW-type profile
need to be set in 2 = Weisman-Klemp supercell
base.F file] 3 = multicell
4 = Weisman-Klemp multicell
5 = Dornbrack etal analytic profile
6 = constant wind
itern - Initial topography specifications.
User must also set zs array in init_terrain.F:
0 = no terrain (zs=0)
1 = bell-shaped hill
2 = Schaer test case
3 = (case from T. Lane and J. Doyle)
4 = specified in external GrADS file
iinit - 3D initialization option: 0 = no perturbation
1 = warm bubble
2 = cold pool
[additional variables 3 = line of warm bubbles
need to be set in 4 = initialization for moist benchmark
init3d.F file] 5 = cold blob
7 = Rotunno-Emanuel tropical cyclone
See relevant code in 8 = line thermal with random perturbations
init3d.F file for 9 = forced convergence (Loftus et al 2008)
more details. --NEW-- 10 = momentum forcing (Morrison et al 2015)
--NEW-- 11 = Skamarock-Klemp IG wave perturbation
irandp - Include random potential temperature perturbations in the
initial conditions?
(0=no, 1=yes)
(set magnitude of perturbations in init3d.F)
ibalance - Specified balance assumption for initial 3D pressure field
(ignored if iinit=7)
0 = no balance (initial pressure perturbation is zero everywhere,
except for iinit=7)
1 = hydrostatic balance (appropriate for small aspect ratios)
2 = anelastic balance (initial pressure perturbation is the
buoyancy pressure perturbation field for an anelastic
atmosphere). (Does not currently work with MPI setup.)
iorigin - Specifies location of the origin in horizontal space
1 = At the bottom-left corner of the domain
(x goes from 0 km to nx*dx km)
(y goes from 0 km to ny*dy km)
2 = At the center of the domain
(x goes from -nx*dx/2 km to +nx*dx/2 km)
(y goes from -ny*dy/2 km to +ny*dy/2 km)
axisymm - Run axisymmetric version of model (0=no, 1=yes)
(for axisymm=1, ny must be 1, wbc must be 3, and sbc,nbc must be 1)
(see README.axisymm for more information)
imove - Move domain at constant speed (0=no, 1=yes)
For imove=1, user must set umove and vmove.
iptra - Integrate passive fluid tracer? (0=no, 1=yes)
User must initialize "pta" array in init3d.F.
npt - Total number of passive fluid tracers.
--- NEW ---
pdtra - Ensure positive-definiteness for tracers? (0=no, 1=yes)
(when pdtra=1, pdscheme will be applied)
iprcl - Integrate passive parcels? (0=no, 1=yes)
User must initialize "pdata" array in init3d.F.
nparcels - Total number of parcels.
-------------------------------------------------------------------------
param3 section -- enter REAL values
kdiff2 - Diffusion coefficient for difforder=2. Specified in m^2/s.
kdiff6 - Diffusion coefficient for difforder=6. Specified as a
fraction of one-dimensional stability. A value between
0.02-0.24 is recommended.
fcor - Coriolis parameter (1/s).
kdiv - Coefficient for divergence damper. Value of ~0.1 is recommended.
This is only used when psolver=2,3. (The divergence damper is
an artificial term designed to damp acoustic waves.)
alph - Off-centering coefficient for vertically implicit acoustic
solver. A value of 0.5 is centered-in-time. Slight forward-in-time
bias is recommended. Default value is 0.60.
(only used for psolver=3)
rdalpha - Inverse e-folding time for upper-level Rayleigh damping layer
(1/s). Value of about 1/300 is recommended.
zd - Height above which Rayleigh damping is applied (m).
(when irdamp = 1)
xhd - Distance from lateral boundaries where Rayleigh damping is applied (m).
(when hrdamp = 1)
umove - Constant speed for domain translation in x-direction (m/s)
(for imove = 1)
vmove - Constant speed for domain translation in y-direction (m/s)
(for imove = 1)
v_t - Constant terminal fall velocity of liquid water (m/s) when ptype=6
l_h - Horizontal turbulence length scale (m) used when iturb=3
(parameterized turbulence)
--- NEW --- Since cm1r18, this is used over land only
(see lhref1,lhref2 for settings over ocean)
--- NEW ---
lhref1 - a reference value of l_h (m): value for surface pressure of 1015 mb
lhref2 - a reference value of l_h (m): value for surface pressure of 900 mb
notes: - For cm1r18, the horizontal turbulence length scale for iturb=3
is a function of surface pressure (over the ocean only).
- This is based on studies of hurricanes (eg, Bryan 2012, MWR).
- lhref1 and lhref2 define a linear formulation for horizontal
turbulence length over the ocean for iturb=3.
- For gridpoints over land, l_h (above) is used for iturb=3
- For water points above sea level (e.g., lakes) l_h is used.
l_inf - Asymptotic vertical turbulence length scale (m) (i.e., vertical
length scale at z = infinity) used for iturb=3 (parameterized
turbulence)
ndcnst - specified cloud droplet concentration for default version of
Morrison microphysics scheme (units of cm-3)
Note: typical value for maritime environments: 100 cm-3
typical value for continental environments: 300 cm-3
-------------------------------------------------------------------------
param11 section - atmospheric radiation
NOTE: The parameters in this section ONLY apply to atmospheric radation.
You do not need to set anything here unless radopt = 1.
radopt - Use atmospheric radiation code?
0 = no
1 = yes
The only option, at present, is the NASA-Goddard longwave and
shortwave radiation codes, which are kindly provided by the
ARPS/CAPS group at the University of Oklahoma.
(Note: TIPA option is not implemented in this version of CM1)
-----
Another Note: technically, the interaction of radiation with
clouds is configured consistently for only two microphysics
schemes: the NASA-Goddard LFO scheme (ptype=2) and the Morrison
microphysics scheme (ptype=5). A future version of CM1 might pass the
proper variables from all microphysics schemes into the radiation
code so that consistent calculations are performed.
That said, the radiative tendencies should still be reasonable for all
ice microphysics schemes, and there is no issue for clear-sky
conditions. (The inconsistency arises only when radiation interacts
with water and ice particles, and the radiation scheme needs to be
sent information about hydrometeor size and distribution for
accurate calculations.)
-----
If radopt=1, set the following parameters:
dtrad - Time increment (seconds) between calculation of radiation
tendency. (Radiative tendencies are held fixed in-between
calls to the atmospheric radiation subroutine.)
ctrlat - Latitude (applies to entire domain, for now)
ctrlon - Longitude (applies to entire domain, for now)
NOTE: because ctrlat and ctrlon are fixed (for now) the radiation
scheme is only appropriate for domains having horizontal
extent of order 100--1000 km or less
(FAQ: Why are lat and lon fixed across the entire domain?
It's because George doesn't have time, at the moment, to deal with
map projections in CM1.)
year - Year (integer) at start of simulation
month - Month (integer) at start of simulation
day - Day (integer) at start of simulation
hour - Hour (integer) at start of simulation
minute - Minute (integer) at start of simulation
second - Second (integer) at start of simulation
Yet Another Note: the radiation scheme uses three important
pieces of information from the surface section (param12) below:
surface temperature, land/water flag, and land-use type.
Make sure you have the desired settings for your simulation below
(even if you are not using surface fluxes!).
-------------------------------------------------------------------------
param12 section: surface model, ocean model, boundary layer:
NOTE: By default, surface conditions are the same everywhere at the
initial time. But, users can define spatially varying initial surface
conditions in init_surface.F
isfcflx - Include surface fluxes of heat and moisture (0=no, 1=yes)
sfcmodel - Surface model:
(Specifically, method to calculate surface fluxes and surface stress
over land and water)
(NOTE: bbc=3 requires sfcmodel >= 1 )
1 = original CM1 formulation
2 = version from WRF model (see further details below)
2 = 'revised' version from WRF model (see further details below)
- sfcmodel=1 uses simple formulations wherein surface exchange
coefficients are specified: see "Options for sfcmodel = 1" section
below. For diagnostic surface layer calculations (such as 10-m winds),
a neutrally stratified surface layer is assumed.
Notes: - surface temperature remains fixed over time
- surface moisture availability remains fixed over time
- sfcmodel=1 requires oceanmodel=1
- sfcmodel=2 uses the MM5/WRF similarity theory code for the surface
layer: based on Monin-Obukhov with Carslon-Boland viscous sub-layer
and standard similarity functions from look-up tables.
("sf_sfclay_physics = 1" in WRF)
See also "Options for sfcmodel = 2" section below.
The soil model is the "Thermal diffusion" model from MM5/WRF: it
updates soil temperature only ... soil moisture availability is held
fixed over time. (Same as "sf_surface_physics = 1" in WRF)
Notes: - sfcmodel=2 can be used with either oceanmodel=1,2
--- NEW ---
- sfcmodel=3 is a revised version of sfcmodel=2. See Jimenez et al
(2012, MWR, pg 898) for more details.
Notes: - sfcmodel=3 can be used with either oceanmodel=1,2
oceanmodel - Model for ocean/water surface:
1 = fixed sea-surface temperature
2 = ocean mixed layer model
(Same as "omlcall = 1" in WRF)
(Note: oceanmodel=2 requires sfcmodel=2,3)
Ref: Pollard et al, 1973, Geophys. Fluid Dyn., 3, 381-404.
ipbl - Use Yonsei University (YSU) PBL parameterization?
0 = no
1 = yes
NOTE: ipbl=1 cannot be used with iturb=1,2
(that is, you cannot run an LES configuration and
parameterize the PBL at the same time)
NOTE: if ipbl=1 and iturb=3, then l_inf must be 0
(in this case, iturb=3 becomes a 2D, horizontal, scheme)
Reference: Hong et al, 2006, MWR, p 2318)
("bl_pbl_physics = 1" in WRF)
--------
Options for initialization of surface conditions:
(valid for sfcmodel=1,2,3)
initsfc - initial surface conditions:
1 = constant values (set tsk0,tmn0,xland0,lu0 below)
2 = sea breeze test case from WRF
for any other value: you must initialize the surface conditions
yourself in the "init_surface.F" file.
tsk0 - default initial value for "skin temperature" (K) of soil/water
(~1 cm deep)
NOTE: this replaces sea surface temperature (tsurf) in cm1r15
tmn0 - default initial value for deep-layer temperature (K) of soil
(Note: remains fixed throughout simulation)
(only used if sfcmodel=2)
(only used over land ... ignored over water)
xland0 - default initial value for land/water flag:
1 for land, 2 for water
lu0 - default initial value for land-use index (see LANDUSE.TBL file)
(NOTE: for water/ocean, use lu0 = 16)
season - which set of land-use conditions to use from LANDUSE.TBL file:
1 = summer values
2 = winter values
c-------------------------------------------------------------c
To reiterate: if you want to use spatially varying values of
tsk,tmn,xland,lu then you must code it up yourself in the
"init_surface.F" file.
c-------------------------------------------------------------c
--------
Options for sfcmodel = 1:
cecd - When bbc=3 and/or isfcflx=1, this allows the user to choose the
formulation for the surface exchange coefficients for enthalphy (Ce)
and momentum (Cd). Options are:
1 = constant value: user must set cnstce and/or cnstcd below
(applies to land and water)
2 = Deacon's formula [eg, Rotunno and Emanuel (1987, JAS)]
(over water only)
(WRF LANDUSE.TBL used over land)
default: 3 = Cd based roughly on Fairall et al (2003) at low wind speeds
and Donelan (2004, GRL) at high wind speeds
Ce constant, based on Drennan et al. (2007, JAS)
(over water only)
(WRF LANDUSE.TBL used over land)
pertflx - Use only perturbation winds for calculation of surface fluxes?
(0=NO, 1=yes)
(Only available with sfcmodel=1)
cnstce - Constant value of Ce (surface exchange coefficient for enthalpy)
if isfcflx=1 and cecd=1
cnstcd - Constant value of Cd (surface exchange coefficient for momentum)
if bbc=3 and cecd=1
--------
Options for sfcmodel = 2,3:
isftcflx - Use alternative Ck and Cd for tropical storm applications:
(0=off) (For Cd: 1,2 = Donelan)
(For Ce: 1=constant Z0q, 2=Garratt)
(Cannot be used with sfcmodel=1)
iz0tlnd - When using sfcmodel=2, option for thermal roughness length:
0 = Carlson-Boland (original mm5/wrf version)
1 = Czil_new (new: depends on vegetation height)
--------
Options for oceanmodel = 2:
oml_hml0 - default ocean mixed layer depth (m) at initial time
oml_gamma - default deep water lapse rate (K m-1)
-------------------------------------------------------------------------
param4 section -- Horizontally stretched (x) grid options.
See README.stretch for more information.
stretch_x - Use horizontally stretched grid in x?
0 = no
1 = yes, stretching on both west and east sides of domain
2 = yes, stretching on west side of domain only
dx_inner - Smallest grid spacing (m).
dx_outer - Largest grid spacing, at edge of domain (m).
nos_x_len - Length of the no-stretching part of domain (m).
tot_x_len - Total length of the domain (m).
-------------------------------------------------------------------------
param5 section -- Horizontally stretched (y) grid options.
See README.stretch for more information.
stretch_y - Use horizontally stretched grid in y?
0 = no
1 = yes, stretching on both south and north sides of domain
2 = yes, stretching on south side of domain only
dy_inner - Smallest grid spacing (m).
dy_outer - Largest grid spacing, at edge of domain (m).
nos_y_len - Length of the no-stretching part of domain (m).
tot_y_len - Total length of the domain (m).
-------------------------------------------------------------------------
param6 section -- Vertically stretched grid options.
See README.stretch for more information.
stretch_z - Use vertically stretched grid spacing?
0 = no
1 = Wilhelmson and Chen
2 = Smooth geometric
ztop - Total depth of the domain (i.e., the height of the top of the
domain) (m).
str_bot - Level where stretching begins (m).
str_top - Level where stretching ends (m). (not used for stretch_z = 2)
dz_bot - Grid spacing at (and below) str_bot (m).
dz_top - Grid spacing at (and above) str_top (m).
-------------------------------------------------------------------------
param7 section -- Options relating to dns
(used ONLY when dns = 1)
bc_temp - top/bottom boundary condition for potential temperature
1 = constant theta is specified at boundaries
2 = constant flux is specified at boundaries
ptc_top - potential temperature closure for top of model
if bc_temp = 1, this is theta at the top boundary (K)
if bc_temp = 2, this is the flux at the top boundary (K m/s)
ptc_bot - potential temperature closure for bottom of model
if bc_temp = 1, this is theta at the bottom boundary (K)
if bc_temp = 2, this is the flux at the bottom boundary (K m/s)
viscosity - value for kinematic viscosity (m^2/s)
pr_num - value for Prandtl number (unitless)
-------------------------------------------------------------------------
param8 section - flex variables
var1,var2,var3 ... var10 - Use these variables to easily change parameters
in the model without re-compiling the code.
Example: A user wants to run a series of simulations in which the low-level
shear is changed. In file "base.F", the user can set "uconst2 = var1", then
compile the code. Then, var1 can be changed in the namelist.input file
and the initial wind profile will change without needing to re-compile.
Example: A user wants to change the location, size, and amplitude of the
initial thermal bubble. Using the flex vars, the code could be modified in
this manner:
ric = var1
rjc = var2
zc = var3
bhrad = var4
bvrad = var5
bptpert = var6
and then the values in namelist.input might be set as follows:
var1 = 50000.0,
var2 = 25000.0,
var3 = 2000.0,
var4 = 10000.0,
var5 = 1000.0,
var6 = 1.5,
Notes: - the flex variables are all real (float) variables.
- the flex variables are automatically passed into most subroutines
in the model
-------------------------------------------------------------------------
param9 section - output options
output_path - Specifies the path where the output will be placed. By
default, the output is placed in the same directory as
the executable (cm1.exe), by specifying './'
IMPORTANT NOTE: Always end the path with a "/".
output_basename - Specifies the base file name for output. By default,
all files will begin with 'cm1out'
output_format - Specifies the format of the output files:
1 = GrADS format
2 = netcdf
(note: GrADS users might want to use the COARDS
convention for netcdf output ... set coards = .true.
in writeout_nc.F)
3 = HDF5: scale-offset lossy compression followed by
gzip compression (smallest files)
4 = HDF5: gzip compression (level 1) on floating point
data and is lossless
5 = HDF5: no compression whatsoever, just floating
point (largest files)
(see top of writeout_hdf.F file for explanation
of the difference between format 3,4,5)
(see also this site at the CM1 Users Group webpages
http://groups.google.com/group/cm1-users-group/web/a-brief-hdftools-primer
for more information about using the HDF output)
output_filetype - Type of output file:
1 = all output goes into one file
(note: the file size can become very big!)
2 = one output file per output time
(note: good to use if you want to keep
individual file sizes relatively small ...
but this produces many files)
3 = for MPI runs only: one output file per output time
...AND... one output file per MPI process
(note: creates many output files that need to
be combined together using special code ... see, eg,
http://www2.mmm.ucar.edu/people/bryan/cm1/programs/)
but this is the most efficient way to write output
for MPI runs with very large number of processes
(say, > 200).
NOTE: for HDF output, option 3 is required
output_interp - For simulations with terrain, this option (0=no, 1=yes)
will generate a second set of output files, with "_i"
as part of the filename, wherein the output has been
interpolated to the nominal model height levels. This
differs from all other model output files, for which the
output is on the native terrain-following coordinate
surfaces.
(only available for output_format=1)
------ For the remaining variables, 0=no and 1=yes ------
output_rain - surface rainfall. If imove = 1, two output fields are
generated. The first (rn) is the accumulated rainfall
at model grid points. The second (rn2) is the translated
rainfall pattern, assuming a lower surface is moving at
umove and vmove.
output_sws - maximum surface wind speed (aka, surface wind swath, sws)
If imove = 1, two output fields are generated. The first
(sws) is the max sws at model grid points. The second
(sws2) is the translated sws pattern, assuming a lower
surface is moving at umove and vmove.
Similar to output_sws:
output_svs - maximum vertical vorticity at lowest model level
output_sps - minumum pressure perturbation at lowest model level
output_srs - maximum rainwater mixing ratio at lowest model level
output_sgs - maximum graupel/hail mixing ratio at lowest model level
output_sus - maximum w at 5 km AGL (i.e., maximum updraft swath)
output_shs - maximum integrated updraft helicity swath
output_coldpool - properties of surface-based cold pools:
cpc = cold pool intensity, C
cph = cold pool depth, h
NOTE: the reference profile (for calculation of buoyancy) is
simply the initial sounding.
output_sfcflx - surface fluxes of potential temperature and water vapor,
and Ce/Cd (if isfcflx=1)
output_sfcparams - parameters used in the surface/soil/ocean models
output_sfcdiags - diagnostics from surface-layer parameterization
(eg, 10-m winds, 2-m temp/moisture, roughness length, etc)
--- NEW ---
output_psfc - surface pressure (z=0 ... not lowest model level)?
output_zs - terrain height?
output_zh - height on model levels?
output_basestate - output the base-state arrays?
output_th - potential temperature?
output_thpert - potential temperature perturbation?
output_prs - pressure?
output_prspert - pressure perturbation?
output_pi - nondimensional pressure (ie, Exner function)?
output_pipert - nondimensional pressure perturbation?
output_rho - dry air density?
output_rhopert - dry air density perturbation?
output_tke - subgrid turbulence kinetic energy?
output_km - subgrid eddy viscosity?
output_kh - subgrid eddy diffusivity?
output_qv - water vapor mixing ratio?
output_qvpert - perturbation water vapor mixing ratio?
output_q - liquid and solid water mixing ratios?
(and number concentrations for double-moment schemes)
output_dbz - reflectivity (dBZ)? Only available for ptype=2,3,5
(Goddard-LFO, Thompson, Morrison schemes, respectively)
also outputs composite reflectivity (cref)
(i.e., max reflectivity in the column)
output_buoyancy - buoyancy (relative to model's base state)?
---- all variables above here are in the scalar file (_s) ---
output_u - u-velocity? (_u file)
output_upert - u-velocity perturbation? (_u file)
output_uinterp - u-velocity interpolated to scalar points? (_s file)
output_v - v-velocity? (_v file)
output_vpert - v-velocity perturbation? (_v file)
output_vinterp - v-velocity interpolated to scalar points? (_s file)
output_w - w-velocity? (_w file)
output_winterp - w-velocity interpolated to scalar points? (_s file)
output_vort - vorticity? (all three components, interpolated
to scalar points) (_s file)
(not available when using terrain ... at least for now)
--- NEW ---
output_pv - (dry) potential vorticity?
output_uh - vertically integrated (2-5 km AGL) updraft helicity?
(Kain et al, 2008, WAF, p 931)
output_pblten - tendencies from PBL scheme? (only if ipbl=1)
output_dissten - dissipation rate?
--- NEW ---
output_dissheat - dissipative heating tendency? (only if idiss=1)
--- NEW ---
output_mptend - potential-temperature tendency from microphysics scheme?
--- NEW ---
output_fallvel - fall velocities of hydrometeors?
(currently only available for ptype=5)
output_nm - squared Brunt-Vasala frequency?
output_def - deformation?
output_turbten - u,v,w tendencies from subgrid turbulence scheme?
output_impdiften - u,v,w tendencies from implicit diffusion scheme?
(if advordr = 5)
output_radten - radiative tendencies? (only if radopt=1)
----------------------------------------------------------------------------
Variables/settings for restart files
--- NEW ---
restart_format - Specifies the format of the restart files:
1 = binary
2 = netcdf
--- NEW ---
restart_filetype - Type of restart file:
(since cm1r18.3: very similar to output_filetype)
1 = all data goes into one file
(note: the file size can become very big!)
(only available for netcdf format, at the moment)
2 = one restart file per restart time
(note: good to use if you want to keep
individual file sizes relatively small ...
but this produces many files)
3 = for MPI runs only: one restart file per restart time
...AND... one restart file per node (base on ppnode)
(faster when using large numbers of procs, ie > 1000)
(requires restart_format=1, at the moment)
Summary: For restart_format=1 (binary format),
only restart_filetype=2,3 are available
For restart_format=2 (netcdf format),
only restart_filetype=1,2 are available
--- For writing restart files: ---
NEW (since cm1r18.3)
restart_file_theta - potential temperature (base state + perturbation)?
restart_file_dbz - reflectivity?
restart_file_th0 - base-state potential temperature?
restart_file_prs0 - base-state pressure?
restart_file_pi0 - base-state nondimensional pressure?
restart_file_rho0 - base-state density?
restart_file_qv0 - base-state water vapor mixing ratio?
restart_file_u0 - base-state x-component velocity (u)?
restart_file_v0 - base-state y-component velocity (v)?
restart_file_zs - terrain height?
restart_file_zh - height of half (scalar) grid points (3d array)?
restart_file_zf - height of full (w) grid points (3d array)?
restart_file_diags - theta and qv diags?
(dissipative heating if output_dissheat=1)
(theta tndcy from microphys if output_mptend=1)
(hydrometeor fall velocities if output_fallvel=1)
--- For reading restart files (i.e., when irst=1): ---
NEW (since cm1r18.3)
restart_use_theta - Use total potential temperature on restarts?
.false. means that perturbation potential temperature
is read from the restart file and used (as is) for the
simulation. (Note: this is needed to obtain
bit-identical restarts with CM1.)
(note: this is the default)
.true. means that the total (i.e. base-state +
perturbation) potential temperature is read from
the restart file, then perturbation potential temp
is calculated and then used for the simulation.
(Can only be used if restart_file_theta was set to .true.
when the restart file was written.)
(Note: bit-identical restarts are usually not
possible for this option, because of round-off errors
associated with adding, then subtracting, the base-state
field.)
Default is .false.
Note that the .true. option shouldn't be used in most
cases, but it can be useful for some applications, such
as ensemble data assimilation.
restart_reset_frqtim - Reset next output/stat/restart time based on
parameters in namelist.input file?
.true. means the next time CM1 writes
output/stats/restart files will be current time
(ie, the time at restart) plus tapfrq/statfrq/rstfrq.
In other words, the user decides when the next file
write will be based on namelist parameters.
(This option should be used in most instances.)
(note: this is the default)
.false. means the next time CM1 writes
output/stats/restart files will be whatever time
is specified in the restart files, meaning whatever
time would have occurred in the original simulation
(i.e., the simulation that wrote the restart file).
(This option is useful for so-called "true"
restarts, meaning the user has not changed anything
in the namelist, and merely wants to continue a
previous simulation.)
(This option may be needed to obtain bit-identical
restarts in some instances, especially when using
adapt_dt = 1)
-------------------------------------------------------------------------
param10 section - statistical output options
(0=no, 1=yes)
stat_w - max/min vertical velocity
stat_u - max/min horizontal (x-direction) velocity
(radial velocity if axisymm=1)
stat_v - max/min horizontal (y-direction) velocity
(azimuthal velocity if axisymm=1)
stat_rmw - radius of maximum horizontal velocity
(for axisymmetric simulations only)
stat_pipert - max/min perturbation nondimensional pressure
stat_prspert - max/min perturbation pressure
stat_thpert - max/min perturbation potential temperature
stat_q - max/min moisture variables
stat_tke - max/min subgrid turbulence kinetic energy
stat_km - max/min turbulence coefficient for momentum
stat_kh - max/min turbulence coefficient for scalars
stat_div - max/min divergence
stat_rh - max/min relative humidity (wrt liquid)
stat_rhi - max/min relative humidity (wrt ice)
stat_the - max/min equivalent potential temperature
stat_cloud - max/min cloud top/bottom
stat_sfcprs - max/min pressure at lowest model level
stat_wsp - max/min wind speed at lowest model level
(includes 10-m windspeed if bbc=3)
stat_cfl - max Courant number
- also prints KSHMAX and KSVMAX
(analysis of numerical stability for diffusion terms)
(NOTE: KSHMAX should ideally be less than 0.125 for 3d runs)
stat_vort - max vertical vorticity at several levels
stat_tmass - total dry-air mass
stat_tmois - total moisture
stat_qmass - total mass of moisture variables
stat_tenerg - total energy
stat_mo - total momentum
stat_tmf - total downward/upward mass flux
stat_pcn - precipitation/moisture statistics
stat_qsrc - sources of moisture mass
-------------------------------------------------------------------------
--- NEW ---
param13 section - parcel output options (for iprcl = 1)
(0=no, 1=yes)
prcl_th - potential temperature
prcl_t - temperature
prcl_prs - pressure
prcl_ptra - passive tracer concentration (if iptra = 1)
prcl_q - mixing ratios of moisture variables (if imoist = 1)
prcl_nc - number concentrations (for double-moment microphysic schemes)
prcl_km - turbulent viscosities (if iturb >= 1)
prcl_kh - turbulent diffusivities (if iturb >=1)
prcl_tke - subgrid turbulence kinetic energy (if iturb = 1)
prcl_dbz - reflectivity
prcl_b - buoyancy
prcl_vpg - vertical perturbation pressure gradient acceleration
prcl_vort - vertical vorticity
prcl_rho - dry-air density
prcl_qsat - saturation vapor pressure
prcl_sfc - surface variables (roughness length and friction velocity)
-------------------------------------------------------------------------
nssl2mom_params section - parameters/options for NSSL microphysics scheme
(used only if ptype=26,27,28)
Default values are noted.
rho_qr - Rain density (1000 kg m**-3)
rho_qs - Snow density (100 kg m**-3)
rho_qh - Graupel/hail density (500 kg m**-3)
[Only for ptype=28 (single moment)]
cnor - Rain intercept (8.e5 m**-4)
[Only for ptype=28 (single moment)]
cnos - Snow intercept (3.e6 m**-4)
[Only for ptype=28 (single moment)]
cnoh - Graupel/hail intercept (4.e5 m**-4)
[Only for ptype=28 (single moment)]
ccn - Initial concentration of cloud condensation nuclei
(1.5e+09 - high continental CCN)
Value sets the concentration at the surface, and an initially
homogeneous mixing ratio is assumed throughout the depth of
the domain.
infall - Two-moment sedimation options (default infall=4 recommended)
! 0 -> uses number-wgt for N; NO correction applied
(results in excessive size sorting)
! 1 -> uses mass-weighted fallspeed for N ALWAYS
(prevents size sorting)
! 2 -> uses number-wgt for N and mass-weighted
correction for N
(Method II in Mansell, 2010 JAS)
! 3 -> uses number-wgt for N and Z-weighted
correction for N
(Method I in Mansell, 2010 JAS)
! 4 -> Hybrid of 2 and 3: Uses minimum N from each
method (z-wgt and m-wgt corrections)
(Method I+II in Mansell, 2010 JAS)
alphah - Shape parameter for graupel (0.0)
alphahl - Shape parameter for hail (1.0)
Less-used parameters (see code)
imurain - DSD function option for rain (1 - gamma of diameter)
icdx - fall speed option for graupel (3)
icdxhl - fall speed option for hail (3)
dfrz - Minimum diameter of new frozen drops (graupel);
default 0.15e-3, but can be set larger (up to 0.5e-5) to produce
larger graupel
hldnmn - Minimum hail particle density (500 kg m**-3) (changed from 750 in r17)
iehw,iehlw - Graupel (iehw) and Hail (iehlw) droplet collection efficiency
options
ehw0,ehlw0 - Maximim droplet collection efficiencies for graupel (ehw0=0.75)
and hail (ehlw0=0.75) (changed from 1.0 and 1.0 in r17)
dmrauto - Options for limiting rain autoconversion
-------------------------------------------------------------------------
Questions, comments, suggestions: send email to gbryan@ucar.edu