User's Guide to namelist.input file (which is located in the "run" directory)
CM1 Numerical Model, Release 21.1 (cm1r21.1)
Last updated: 24 March 2024
Entries with "--- NEW ---" are new (or modified) for cm1r21
NOTE: some namelist.input files that have been configured for certain
idealized simulations ... e.g., squall lines, supercells,
hurricanes, LES, etc ... are available in the run/config_files
subdirectory.
For mode information about CM1, see the website:
http://www2.mmm.ucar.edu/people/bryan/cm1/
-------------------------------------------------------------------------
param0 section -- most variables are INTEGER
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
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.
- For NCAR's cheyenne, use ppnode=36.
- 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)
--- NEW ---
outunits - units of x,y,z (ie, space dimensions) in output files
1 = km (default for most cases)
2 = meters
-------------------------------------------------------------------------
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 is a rough
estimate that usually works well for convective storm simulations:
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).
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)
cm1setup - Overall CM1 setup, base on how turbulence is handled:
0 = no subgrid turbulence model & no explicit diffusion
- essentially integrates the Euler equations
(adiabatic and inviscid flow)
(although, diffusion can still occur via numerical methods)
- NOTE: ignores sgsmodel, param7 section, etc
1 = large-eddy simulation (LES)
- integrates filtered Navier-Stokes equations (ie, LES equations)
- NOTE: user must set "sgsmodel" (and related parameters) below
2 = mesoscale modeling with planetary boundary layer (PBL) parameterization
- essentially uses Reynolds-averaged Navier-Stokes (RANS) equations
- NOTE: user must set "ipbl" below
3 = direct numerical simulation (DNS)
- integrates Navier-Stokes equations with explicit diffusion and
diffusivity terms
- NOTE: user must set the parameters in "param7" section below
--- NEW ---
4 = LES within mesoscale model
- runs LES model within an inner fine mesh; runs mesoscale model
with PBL parameterization beyond. See param17 section for
settings.
testcase - Turns on certain simplied physics schemes and/or specified
tendency terms and/or special settings for well-documented
test cases.
0 = Default. (no special physics, forcings, or configutation)
- Most users will use testcase=0.
1 = Convective Boundary Layer (CBL) using Large Eddy Simulation (LES)
- Based on Sullivan and Patton (2011, JAS, pg 2395)
- See namelist.input in directory run/config_files/les_ConvBoundLayer
2 = Sheared Boundary Layer (SBL) using Large Eddy Simulation (LES)
- Based on Moeng and Sullivan (1994, JAS, pg 999)
- See namelist.input in directory run/config_files/les_ShearBoundLayer
3 = Shallow cumulus clouds using Large Eddy Simulation (LES)
- Based on Siebesma et al (2003, JAS, pg 1201)
- See namelist.input in directory run/config_files/les_ShallowCu
4 = Nonprecipitating stratocumulus clouds using Large Eddy Simulation (LES)
- Based on Stevens et al (2005, MWR, pg 1443)
- See namelist.input in directory run/config_files/les_StratoCuNoPrecip
5 = Drizzling stratocumulus clouds using Large Eddy Simulation (LES)
- Based on Ackerman et al (2009, MWR, pg 1083)
- See namelist.input in directory run/config_files/les_StratoCuDrizzle
6 = Hurricane Boundary Layer (HBL) using Large Eddy Simulation (LES)
- Based on Bryan et al (2017, BLM, pg 475)
- See namelist.input in directory run/config_files/les_HurrBoundLayer
Also: a single-column model (SCM) version using a PBL scheme is
available.
- See namelist.input in directory run/config_files/scm_HurrBoundLayer
7 = Precipitating shallow cumulus clouds using Large Eddy Simulation (LES)
- Based on RICO shallow Cu case (VanZanten et al 2011, JAMES)
- See namelist.input in run/config_files/les_ShallowCuPrecip
8 = Convection Permitting Model (CPM) simulation of Radiative Convective
Equilibrium (RCE)
- Based on Bretherton et al (2005, JAS)
- NOTE: No diurnal cycle. (Solar constant is fixed at 650.83 W/m2)
- See namelist.input in run/config_files/cpm_RadConvEquil
9 = Stable boundary layer using Large Eddy Simulation (LES)
- Based on Beare et al. (2006, BLM)
- See namelist.input in run/config_files/les_StableBoundLayer
10 = Hurricane boundary layer with LES or single-column modeling
with heat and moisture stratification. Experimental: uses
nudging to help maintain original temperature and moisture
profiles. See "tqnudge" in solve.F for more information and
settings.
11 = Convective boundary layer with moisture (but without clouds).
- Based on NCAR LES intercomparison case.
- See namelist.input in run/config_files/les_ConvPBL_moisture
12 = LES, wind tunnel with immersed cube.
- Based on Martinuzzi and Tropea (1993, JFE).
- See run/config_files/les_ib_windtunnel
14 = Shallow cumulus convection over land with diurnal cycle.
- Based on Brown et al. (2002, QJRMS, 128, p 1075).
- See namelist.input in run/config_files/les_ShallowCuLand
15 = LES, hurricane winds at a coast.
- See run/config_files/les_HurrCoast
adapt_dt - Use adaptive timestep? (0=no, 1=yes)
Model automatically adjusts timestep to maintain stability.
NOTE: - a reasonable value must still be assigned to dtl (above),
which will 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.
[Valid options are 2,3,4,5,6,7,8,9,10]
Odd-ordered schemes have implicit diffusion. If an odd-ordered
scheme is used (3,5,7,9) then idiff can be set to 0 (i.e., no
additional artifical diffusion is typically necessary).
Even-ordered schemes (2,4,6,8,10) usually require additional artifical
diffusion for stability (i.e., idiff=1 is recommended). Users can use
idiff=1 with difforder=6 and a value of kdiff6 between about 0.02-0.24
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)
weno_order - Formulation for the WENO scheme.
Valid options are 3, 5, 7, 9
References:
original 3rd and 5th order weno: Jiang and Shu, 1996,
J. Comput. Phys., 126, pg 202
original 7th and 9th order weno: Balsara and Shu, 2000,
J. Comput. Phys., 160, pg 405
*** CM1 default formulation ***
5th order with improved smoothness indicators:
Borges et al, 2008, J. Comput. Phys., 227, pg 3191
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.
idiff - Include additional artificial diffusion? (0=no, 1=yes)
(in addition to any diffusion associated with cm1setup setting)
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)
ipbl - Use a planetary boundary layer (PBL) parameterization?
0 = no
1 = Yonsei University (YSU) PBL parameterization
Reference: Hong et al, 2006, MWR, p 2318
("bl_pbl_physics = 1" in WRF)
2 = simple PBL parameterization (Louis-type scheme)
Reference: Bryan and Rotunno (2009, MWR, pg 1773)
3 = GFS-EDMF (as configured in HWRF_v4.0a)
Reference: Hong and Pan, 1996, MWR, pg 2322
4 = MYNN (Mellor-Yamada-Nakanishi-Niino) level 2.5
Reference: Nakanishi and Niino (2006, BLM)
5 = MYNN (Mellor-Yamada-Nakanishi-Niino) level 3
Reference: Nakanishi and Niino (2006, BLM)
6 = MYJ (Mellor-Yamada-Janjic)
Note: ipbl >= 1 requires cm1setup = 2
sgsmodel - Subgrid-scale turbulence model for Large Eddy Simulation (LES)
Note: only used for cm1setup = 1
1 = TKE scheme (eg, Deardorff, 1980, BLM)
(previously, this was iturb=1)
2 = Smagorinsky scheme (eg, Stevens et al, 1999, JAS, see
Appendix B, section b, "Equilibrium models")
(previously, this was iturb=2)
3 = sgsmodel=1 (TKE scheme) + Sullivan et al (1994, BLM)
version of two-part model
(see tunable parameters in param.F ...
search for "2-part turbulence model")
4 = sgsmodel=1 (TKE scheme) + Bryan (2020, in prep)
version of two-part model
(see tunable parameters in param.F ...
search for "2-part turbulence model")
5 = Nonlinear Backscatter and Anisotropy (NBA) model,
Deardorff-type TKE version (Mirocha et al. 2010, MWR)
6 = Nonlinear Backscatter and Anisotropy (NBA) model,
Smagorinsky-type version (Mirocha et al. 2010, MWR)
tconfig - Calculation of turbulence coefficients for sgsmodel = 1 or 2
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.
bcturbs - Lower/upper boundary condition for vertical diffusion of all
scalars. (Applies only to sgsmodel=1,2 and ipbl=2)
1 = zero flux (default)
2 = zero gradient
horizturb - Horizontal turbulence parameterization
(i.e., horizontal Smagorinsky scheme)
Reference: Bryan and Rotunno (2009, MWR, pg 1773)
(note: previously, this was part of iturb=3)
0 = no
1 = yes
Note: horizturb = 1 requires cm1setup = 2
doimpl - Vertically implicit calculation for vertical turbulence tendencies
0 = no (use vertically explicit scheme)
1 = YES (use vertically implicit scheme)
(note: doimpl=1 was required in cm1r18)
Default formulation (doimpl=1) is a Crank-Nicholson scheme, which is
absolutely stable (i.e., numerically stable regardless of time step).
For doimpl=0, an explicit scheme is used for vertical turbulence
tendencies, which can severely limit the time step for simulations
with small vertical grid spacing.
irdamp - Use upper-level Rayleigh damping zone?
(acts on u,v,w, and theta only)
(User must set rdalpha and zd below)
0 = no
1 = yes, damp towards base state
2 = yes, damp towards horizontal average
(useful for very long simulations, eg, > 10 days)
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.
CM1 DEFAULT: depends on model grid
- when dx,dy,dz are approximately equal, use psolver=2
- when dz is much smaller than dx,dy, use psolver=3
1 = Compressible equations, integrated explicitly:
No time-splitting, no small time steps, no implicit numerics.
(note: very expensive for weak wind speeds, < 10 m/s)
(recommended only use when max wind speed is order 100 m/s)
2 = Compressible equations, Klemp-Wilhelmson time-splitting, explicit:
Uses K-W split time steps for acoustic modes; uses explicit
calculations of acoustic terms in both vertical and horizontal
directions.
(use if dx,dy,dz are approximately equal)
3 = Compressible, 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, MPAS)
(use if dz is much smaller than dx,dy)
4 = Anelastic solver:
Uses the anelastic mass continuity equation. Pressure is retrieved
diagnostically.
(Note: OpenMP parallelization only; no MPI parallelization, for now.)
5 = Incompressible solver:
Uses the incompressible mass continuity equation. Pressure is
retrieved diagnostically.
(Note: OpenMP parallelization only; no MPI parallelization, for now.)
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: user must set value for "csound" in param.F (otherwise, default
value of 300 m/s will be used)
7 = Modified compressible equations:
Equation set from Klemp and Wilhelmson (1978) but with modified value
of sound propagation speed. Useful for certain simulations with low
wind speeds (<10 m/s).
Note: user must set value for "csound" in param.F (otherwise, default
value of 300 m/s will be used)
NOTE: since cm1r19, users no longer need to set the "nsound" parameter
for psolver=2,3,6,7
(It is now determined adaptively during simulations)
ptype - Explicit moisture scheme:
0 = no microphysics (vapor only)
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
7 = WSM6 --- NEW ---
(Note: options 26,27,28 use namelist nssl2mom_params, see below and
README.NSSLmp
3-moment option can be activated with nssl_3moment = .true.)
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)
Ice density prediction can be turned off with nssl_density_on (logical flag, default .true.)
(ptype 26 or 27)
(Note: P3 = Predicted Particle Property bulk microphysics scheme)
50 = P3 1-ice category, 1-moment cloud water
51 = P3 1-ice category plus double-moment cloud water
52 = P3 2-ice categories plus double-moment cloud water
53 = P3 1-ice category, 3-moment ice, plus double-moment cloud water
55 = Jensen's ISHMAEL (Ice-Spheroids Habit Model with Aspect-ratio Evolution)
nssl_3moment - logical (default = .false.) Works with ptype 26 and 27 to turn on
the reflectivity moments for rain and graupel (ptype=26/27) and for
hail (ptype=27) Includes option for bin-emulating melting
(Mansell et al. 2020; see README.NSSLmp)
nssl_density_on - logical flag (default .true.) to toggle graupel/hail density
prediction (ptype 26 or 27)
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)
--- NEW ---
cuparam - Convection parameterization:
0 = no convection parameterization (default)
1 = new Tiedtke convection parameterization
icor - Include Coriolis acceleration? (0=no, 1=yes)
(If user chooses 1, then fcor must be set below)
f-plane is assumed.
NOTE: if icor=1, consider including a large-scale pressure gradient
acceleration term (see lspgrad below)
--- NEW ---
betaplane - Use beta plane (i.e., Coriolis term is a function of y)?
(0=no, 1=yes)
Caution: not well tested. May not work with some lateral
boundary condition options.
lspgrad - Apply large-scale pressure gradient acceleration to u and v
components of velocity.
0 = no
1 = yes, based on geostropic balance using base-state wind profiles
(note: lspgrad = 1 was called "pertcor" in earlier versions of cm1)
2 = yes, based on geostropic balance using ug,vg arrays
3 = yes, based on gradient-wind balance (Bryan et al 2017, BLM)
4 = yes, specified values (set ulspg, vlspg in base.F)
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
3 = semi-slip (i.e., partial slip)
(note: tbc=3 requires sfcmodel=1, and uses cnst_znt or cnst_ust)
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.
nudgeobc - Nudge winds at inflow boundaries when using open boundary
conditions? (0=no, 1=yes)
When using open-radiative lateral boundary conditions, this option
nudges the horizontal winds toward the base-state fields where there
is inflow. This option is useful for maintaining an inflowing wind
profile in long simulations. (User must set the variable alphobc;
see below).
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)
(Note: wind profile is also obtained from
input_sounding file; iwnd is ignored)
8 = Dry, constant d(theta)/dz
9 = Dry, constant Brunt-Vaisala frequency
10 = Saturated, constant Brunt-Vaisala frequency
11 = Saturated, constant equiv. pot. temp.
12 = Dry, adiabatic near surface, constant
lapse rate above
13 = Dry, three different layers having constant
N^2 (squared Brunt-Vaisala frequency)
14 = Dry, profile for Convective Boundary Layer
test case.
15 = Moist, analytic, based on DYCOMS-II,
used for stratocumulus test cases.
17 = Same as isnd=7, but wind profiles are neglected.
User must set wind profile using the 'iwnd' option.
External file named 'input_sounding' is used,
although columns 4-5 are ignored.
(see isnd=7 section of base.F for more info)
(some soundings are available at
http://www2.mmm.ucar.edu/people/bryan/cm1)
18 = Dry, sharp inversion in middle of profile,
used for sheared boundary layer test case.
19 = Moist analytic profiles based on BOMEX,
used for shallow cumulus test case
20 = Moist analytic profiles based on RICO,
used for precipitating shallow cumulus test case
22 = Initial sounding for stable boundary-layer
test case (testcase=9).
23 = Initial sounding for shallow cumulus test case
over land (testcase=14).
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
8 = constant or linearly decreasing wind profile,
used for simple hurricane boundary layer case
(see base.F for more details)
9 = linear wind profiles used for shallow
cumulus test case
10 = linear wind profiles used for drizzling
stratocumulus test case
11 = wind profiles used for RICO precipitating
shallow cumulus case
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 = tropical cyclone (modified Rankine by default)
See relevant code in 8 = line thermal with random perturbations
init3d.F file for 9 = forced convergence (Loftus et al 2008)
more details. 10 = momentum forcing (Morrison et al 2015)
11 = Skamarock-Klemp IG wave perturbation
12 = updraft nudging (Naylor and Gilmore 2012)
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.
pdtra - Ensure positive-definiteness for tracers? (0=no, 1=yes)
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)
alphobc - Time scale (s) of nudging tendency when using the nudgeobc option.
umove - Constant speed for domain translation in x-direction (m/s)
(for imove = 1)
(NOTE: for imove=1 and umove not equal to 0.0, ground-relative winds
are umove+ua, umove+u3d, etc)
vmove - Constant speed for domain translation in y-direction (m/s)
(for imove = 1)
(NOTE: for imove=1 and vmove not equal to 0.0, ground-relative winds
are vmove+va, vmove+v3d, etc)
v_t - Constant terminal fall velocity of liquid water (m/s) when ptype=6
When v_t is negative, all liquid water above a small threshold is
removed from the domain, ie, pseudoadiabatic thermodynamics are
used, following Bryan and Rotunno (2009, JAS, pg 3042).
l_h - Horizontal turbulence length scale (m) used when horizturb=1
(ie, 2D Smagorinsky)
Since cm1r18, this is used OVER LAND ONLY
(see lhref1,lhref2 for settings OVER OCEAN)
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: - Since cm1r18, the horizontal turbulence length scale for
horizturb=1 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 horizturb=1.
- For gridpoints over land, l_h (above) is used for horizturb=1.
- 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 ipbl=2 (simple parameterized
turbulence / boundary layer scheme)
ndcnst - specified cloud droplet concentration for default version of
Morrison microphysics scheme (units of cm-3)
Note: typical value of ndcnst (nt_c) for maritime environments: 100 cm-3
typical value of ndcnst (nt_c) for continental environments: 300 cm-3
--- NEW ---
nt_c - same as ndcnst, but for Thompson microphysics scheme
(NOTE: for other microphysics schemes, you will have
to change this value manually in the code)
--- NEW ---
csound - speed of sound (m/s) for psolver=6,7
(Note: should be roughly 5-10 times larger than maximum flow velocity)
--- NEW ---
cstar - propagation speed (m/s) of outward-propagating waves at open
boundaries (for irbc=1,2 only)
-------------------------------------------------------------------------
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, use the NASA-Goddard scheme
2 = yes, use the RRTMG scheme
Note: the NASA-Goddard longwave and shortwave radiation codes
were adapted from the ARPS model, courtesy of the ARPS/CAPS group
at the University of Oklahoma.
Note: the RRTMG code was adapted from the WRF model.
(Note: TIPA option is not implemented in this version of CM1)
-----
Note: for the NASA-Goddard code, 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.)
-----
-----
Note: for the RRTMG code, only the Thompson (ptype=3), Morrison
(ptype=5), NSSL (ptype=26/27), P3 (50-53), and Jensen ISHMAEL (55) schemes are
accurately coupled with the radiation 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 schemes 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 )
(NOTE: set_znt=1, or set_ust=1, or set_flx=1 requires sfcmodel = 1)
List (see more info below):
1 = original CM1 formulation
2 = surface-layer scheme from WRF model (details below)
3 = 'revised' surface-layer scheme from WRF model (details below)
4 = GFDL surface layer (as configured in HWRF_v4.0a)
5 = Monin-Obukhov Similarity Theory (MOST) for LES
6 = MYNN surface layer
7 = MYJ surface layer
Further information:
- 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
- sfcmodel=3 : 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
- sfcmodel=4 : GFDL surface layer, as configured in HWRF_v4.0a
- sfcmodel=5 : Monin-Obukhov Similarity Theory (MOST).
- sfcmodel=6 : MYNN surface layer (from WRFV4.2)
- sfcmodel=7 : MYJ surface layer (from WRFV4.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.
--------
Options for initialization of surface conditions:
initsfc - initial surface conditions:
1 = constant values (set tsk0,tmn0,xland0,lu0 below)
2 = sea breeze test case from WRF
3 = rough surface to west; smoother surface to east
4 = coastline (land to west, ocean to east)
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,6:
isftcflx - Use alternative Ck and Cd for tropical storm applications:
(0=off) (For Cd: 1,2 = Donelan)
(For Ce: 1=constant Z0q, 2=Garratt)
MYNN has other options: see module_sf_mynn.F for details
(Cannot be used with sfcmodel=1,4,5)
iz0tlnd - When using sfcmodel=2, option for thermal roughness length:
0 = Carlson-Boland (original mm5/wrf version)
1 = Czil_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)
--------
Further options for sfcmodel = 1 only:
set_flx - impose constant surface heat fluxes (0=no, 1=yes)
cnst_shflx - value for surface sensible heat flux (K m/s) if set_flx=1
cnst_lhflx - value for surface latent heat flux (g/g m/s) if set_flx=1
set_znt - impose constant surface roughness length (0=no, 1=yes)
cnst_znt - value of surface roughness length (z0, meters) if set_znt=1
set_ust - impose constant surface friction velocity (0=no, 1=yes)
cnst_ust - value of surface friction velocity (u-star, m/s) if set_ust=1
--- NEW ---
ramp_sgs - gradually turn on (ie, "ramp up") the subgrid-scale model for
LES (0=no, 1=yes) (for sgsmodel >=1 only)
--- NEW ---
ramp_time - for ramp_sgs=1 only: this is the time over which the LES
subgrid-scale model is linearly ramped up.
--- NEW ---
t2p_avg - for two-part models (sgsmodel=3,4) use either:
1 - spatial average (over entire domain at each model level)
2 - time average (each grid point has a different time-avg)
-------------------------------------------------------------------------
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
3 = Arbitrary, specified by user in input_grid_x file
(note: options below are ignored for stretch_x = 3)
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
3 = Arbitrary, specified by user in input_grid_y file
(note: options below are ignored for stretch_y = 3)
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 (L. Wicker) Stretch factor,
dz(k+1) = stretch*dz(k)
is determined iteratively. Max stretch factor
of 1.1 to limit finite difference errors. If an error
is issued, either increase nz or adjust other parameters
and try again.
3 = Arbitrary, specified by user in input_grid_z file.
Note: this option specifies the heights of scalar
levels (also known as "half levels").
For example: 0.5*dz , 1.5*dz , 2.5*dz , etc.
Total number of levels specified in file is nz.
See run/config_files/les_StratoCuDrizzle/input_grid_z
for an example.
(note: options below are ignored for stretch_z = 3)
4 = Arbitrary, specified by user in input_grid_z file.
Note: this option specifies the heights of w levels
(also known as "full levels").
For example: 0.0*dz , 1.0*dz , 2.0*dz , 3.0*dz , etc.
Total number of levels specified in file is nz+1.
(note: options below are ignored for stretch_z = 4)
ztop - Total depth of the domain (i.e., the height of the top of the
domain) (m).
str_bot - Level where stretching begins (m). For stretch_z=2, this sets the
value of nbndlyr = Max(0,Int( str_bot/dz_bot + 0.01) - 1)
str_top - Level where stretching ends (m). (diagnosed iteratively for stretch_z = 2)
dz_bot - Grid spacing at (and below) str_bot (m).
dz_top - Grid spacing at (and above) str_top (m). For stretch_z=2, this sets
the maximum dz (which might not be reached, depending on parameters)
-------------------------------------------------------------------------
param7 section -- Options relating to Direct Numerical Simulation (DNS)
(used ONLY when turbconf = 3)
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 ... var20 - 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_format - Specifies the format of the output files:
1 = GrADS format
2 = netcdf
!--- IMPORTANT NOTE about large runs ---!
! NOTE: output_format=2 (netcdf-format output files) tends
to be inefficient in CM1 for large processor/core
counts, ie, when using >2,000 (roughly) cores.
For many thousands of processors/cores, we recommend
using output_format=1 (also known as unformatted,
direct-access binary format) and then converting the
subsequent output files to netcdf format (if desired)
using a conversion program; CDO (climate data operators)
is useful to this end. On NCAR's derecho, use the two
following commands:
module load cdo
cdo -f nc4 import_binary cm1out_s.ctl cm1out_s.nc
(see https://code.mpimet.mpg.de/projects/cdo for more info on CDO)
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).
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.
------ 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
- includes two-dimensional (surface AND top-of-atmosphere)
parameters from radiation scheme (if radopt >= 1)
output_sfcdiags - diagnostics from surface-layer parameterization
(eg, 10-m winds, 2-m temp/moisture, roughness length, etc)
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,26-28,50-53,55
(Goddard-LFO, Thompson, Morrison, NSSL, P3, Jensen ISHMAEL 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)
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)
(Note: since cm1r19, pbl tendencies for theta, qv,
u, and v are including with the "budget" output
variables; see below)
output_dissten - dissipation rate?
output_fallvel - fall velocities of hydrometeors?
(currently only available for ptype=3,5)
(ie, Thompson and Morrison microphysics)
output_nm - squared Brunt-Vasala frequency?
output_def - deformation?
output_radten - radiative tendencies? (only if radopt >= 1)
- temperature tendencies from radiation subroutines
(potential temperature tendencies due to radiation
are included with the "budget" output variables below)
- includes surface and top-of-atmosphere fluxes (eg, OLR)
output_cape - convective available potential energy (CAPE)?
output_cin - convective inhibition (CIN)?
output_lcl - lifted condensation level (LCL)?
output_lfc - level of free convection (LFC)?
output_pwat - precipitable water?
output_lwp - liquid water path and cloud water path?
Budget variables: includes tendencies due to advection, turbulence,
microphysics, radiation, pbl scheme, buoyancy,
pressure-gradient acceleration, etc, as calculated
within CM1. See output files for more information.
output_thbudget - Budget terms for potential temperature (theta)?
output_qvbudget - Budget terms for water vapor mixing ratio (qv)?
output_ubudget - Budget terms for u velocity?
output_vbudget - Budget terms for v velocity?
output_wbudget - Budget terms for w velocity?
output_pdcomp - Pressure decomposition variables?
Three diagnostic variables are determined: buoyancy pressure perturbation,
non-linear dynamic pressure perturbation, and linear dynamic pressure
perturbation (based on the base-state wind profiles).
Note: this code does not work with distributed-memory parallelization (MPI)
yet.
----------------------------------------------------------------------------
Variables/settings for restart files
restart_format - Specifies the format of the restart files:
1 = binary (default; highly recommended)
2 = netcdf (note: inefficient for large number of processors)
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
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.)
--- Additional variables in restart files: ---
(NOTE: None of the following are required for bit-identical restarts.
These options have been made available for specialized applications
only, eg data assimilation systems.)
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_thbudget=1 and idiss=1)
(theta tndcy from microphys if output_thbudget=1)
(hydrometeor fall velocities if output_fallvel=1)
--- For reading restart files (i.e., when irst=1): ---
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.
-------------------------------------------------------------------------
param10 section - statistical output options
(0=no, 1=yes)
stat_w - max/min vertical velocity
stat_wlevs - max/min vertical velocity at five different levels
(0.5, 1, 2.5, 5, 10 km AGL)
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
-------------------------------------------------------------------------
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 - viscosity
prcl_kh - diffusivity
prcl_tke - subgrid turbulence kinetic energy (if sgsmodel = 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. There is an additional internal namelist that
can be accessed for more options. See README.NSSLmp
ihlcnh - Graupel -> hail conversion option (old default was 1, new default is 3)
rho_qr - Rain density (1000 kg m**-3)
rho_qs - Snow density (100 kg m**-3)
rho_qh - Graupel density (500 kg m**-3)
[Only for ptype=28 (single moment) or with nssl_density_on=.false.]
rho_qhl - Hail density (800 kg m**-3)
[Only for ptype=28 (single moment) or with nssl_density_on=.false.]
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
0.25e+9 maritime
0.6e+9 "low" continental (default)
1.0e+9 "med-high" continental
1.5e+09 - high-extreme continental CCN)
Value sets the concentration at MSL, and an initially
homogeneous number mixing ratio (ccn/1.225) is assumed throughout the depth of
the domain.
irenuc (new option) : 2 = ccn field is UNactivated aerosol (previous default; old droplet activation)
7 = ccn field is ACTVIATED aerosol (new default 2023) (new droplet activation)
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 (default was 3, now is 6)
icdxhl - fall speed option for hail (default was 3, now is 6)
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 (default was ehw0=0.75, now 0.9)
and hail (default was ehlw0=0.75, now 0.9)
dmrauto - Options for limiting rain autoconversion
-------------------------------------------------------------------------
param14 section: Options related to domain-wide diagnostics.
dodomaindiag - Calculate and write domain-wide / domain-averaged diagnostics
(eg, domain-average vertical profiles, variances, vertical
fluxes, etc)
(logical: .true. or .false.)
Can now be written in CF-compliant netcdf format!
Use output_format = 2
diagfrq - Frequency (seconds) for calculating/writing diagnostics.
-------------------------------------------------------------------------
param15 section: Options related to azimuthally averaged output.
doazimavg - Calculate and write azimuthally averaged vertical cross
sections?
(logical: .true. or .false.)
Can now be written in CF-compliant netcdf format!
Use output_format = 2
Note: To define the center-point for these calculatins, there is
only one option, at the moment: the code searches for the
point that yields maximum possible azimuthally averaged
tangential velocity, and defines this point as "storm center."
Other mehtods could be coded in the future
azimavgfrq - Time between writes to azimavg files (s).
rlen - Length (m) of analysis grid (in radial direction).
do_adapt_move - Automatically identify center of a storm (using min
surface pressure), and adaptively adjust umove,vmove to keep
the storm near the center of the domain.
Caution: this is an experimental capability in CM1
(although it seems to work well in our tests).
adapt_move_frq - Frequency (seconds) to identify center of storm,
and update umove,vmove (when do_adapt_move = .true.)
-------------------------------------------------------------------------
--- NEW ---
param17 section: options for cm1setup=4 only
(ie, for LES-within-Mesoscale-Model framework)
les_subdomain_shape - 1 = square-shaped LES subdomain
2 = circular-shaped LES subdomain (not implemented yet)
les_subdomain_xlen - size of LES subdomain in x direction
(for les_subdomain_shape=1 only)
(Note: for stretch_x=1, this should be similar to nos_x_len)
les_subdomain_ylen - size of LES subdomain in y direction
(for les_subdomain_shape=1 only)
(Note: for stretch_y=1, this should be similar to nos_y_len)
les_subdomain_dlen - diameter of LES subdomain for les_subdomain_shape=2 only
(not implemented yet)
les_subdomain_trnslen - a transition scale (meters) for expected development of
resolved-scale turbulence. Specifically, this is how
far into the LES subdomain at which the LES subgrid
model is completely turned on.
-------------------------------------------------------------------------
--- NEW ---
param18 section: options for eddy recycling
(ie, turbulent fluctuations are nudged into the flow
at either open boundaries when cm1setup=0,1,3, or at
the edges of an LES subdomain when cm1setup=4)
do_recycle_w - use eddy recycling near western boundary of an LES domain?
(T/F)
do_recycle_s - use eddy recycling near southern boundary of an LES domain?
(T/F)
do_recycle_e - use eddy recycling near eastern boundary of an LES domain?
(T/F)
do_recycle_n - use eddy recycling near northern boundary of an LES domain?
(T/F)
recycle_width_dx - width of the recycled data, in number of grid points
(eg, a value of 6.0 means 6*dx)
recycle_depth_m - depth of recycled data, from the surface (meters)
recycle_cap_loc_m - distance (meters) from the edge of the LES domain
where turbulent fluctuations are "captured"
recycle_inj_loc_m - distance (meters) from the edge of the LES domain
where turbulent fluctuations are "injected"
-------------------------------------------------------------------------
--- NEW ---
param19 section: Options related to large-scale (i.e., domain-average) nudging.
(for details, see Appendix of Alland et al. 2021, doi:10.1175/JAS-D-20-0054.1)
! use large-scale wind nudging?
do_lsnudge - use large-scale nudging? (T/F)
! Note: see the documentation at the top of lsnudge.F for some important info
! for do_lsnudge=.true., select which variables are nudged:
do_lsnudge_u - nudge domain-avg u wind profile?
do_lsnudge_v - nudge domain-avg v wind profile?
do_lsnudge_th - nudge domain-avg potential temperature (theta) profile?
do_lsnudge_qv - nudge domain-avg water vapor mixing ratio (qv) profile?
lsnudge_tau - time scale (seconds) for damping term
! NOTE: CM1 only applies large-scale nudging when t > lsnudge_start and
! t < lsnudge_end; the user must set these two variables below.
! For any other times, large-scale nudging is not applied, regardless
! of the times provided for lsnudge_time1 and lsnudge_time2 in the
! lsnudge_xxxx.dat files.
lsnudge_start - time (seconds) to begin large-scale nudging
lsnudge_end - time (seconds) to end large-scale nudging
lsnudge_ramp_time - time (seconds) over which to gradually introduce
nudging; that is, for
lsnudge_start < t (seconds) < lsnudge_start+nudge_ramp_time
Nudging term is linearly increased from 0 to full nudging term
over this time period.
(set lsnudge_ramp_time to zero for instantaneous introduction of nudging)
-------------------------------------------------------------------------
--- NEW ---
param20 section: options related to immersed boundaries
do_ib - use immersed boundaries? (T/F)
ib_init - distribution of immersed boundaries
(see ib_module.F for more details)
top_cd - drag coefficient (unitless) on top of immersed boundaries
side_cd - drag coefficient (unitless) on sides of immersed boundaries
-------------------------------------------------------------------------
--- NEW ---
param21 section: options related to idealized hurricane test cases
see Bryan et al 2017 (doi:10.1007/s10546-016-0207-0)
Chen et al 2021 (doi:10.1175/JAS-D-20-0227.1)
hurr_vg - Gradient wind (m/s)
This is also the default initial wind speed in idealized
initial conditions.
(assumes iwnd=8)
hurr_rad - Radius (meters) from center of tropical cyclone
hurr_vgpl - The "power law" (or "radial decay" parameter) for the
gradient wind (see Eqn 20 in Bryan et al. 2017).
(Note: should be a negative number)
hurr_rotate - How much to rotate winds and pressure gradient from the
convention used by Bryan et al (2017).
Here, positive is clockwise, negative is counterclockwise.
Example 1: for hurr_rotate = 0.0, winds are southerly
(ie, from south-to-north) and the TC center is to the west
(see Fig 1 of B17).
Example 2: for hurr_rotate = -90.0, winds are easterly
(ie, from east-to-west) and the TC center is to the south.
Example 3: for hurr_rotate = 90.0, winds are westerly
(ie, from west-to-east) and the TC center is to the north.
(Note: Nothern hemisphere is assumed.)
-------------------------------------------------------------------------
Questions, comments, suggestions: send email to gbryan@ucar.edu