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