Brief User's Guide to namelist.input file (located in "run" directory) Bryan Cloud Model, Version 1, Release 12 Last updated: 12 August 2008 NOTE: some namelist.input files that have been configured for certain idealized simulations ... e.g., squall lines, supercells, axisymmetric hurricanes ... are available on the CM1 website: http://www.mmm.ucar.edu/people/bryan/cm1/ ------------------------------------------------------------------------- param0 section -- all are INTEGER, except for terrain_flag (a logical) nx - Total number of grid points in x direction ny - Total number of grid points in y direction nz - Total number of grid points in z direction nodex - Total number of processors in x direction (for MPI runs only) nodey - Total number of processors in y direction (for MPI runs only) 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) ------------------------------------------------------------------------- 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, or 5, this time step is limited by the fastest nonacoustic speed. For thunderstorm simulations, this is usually the maximum vertical velocity. Otherwise, this would be the propagation speed of gravity waves. The following usually works well: dtl = min(dx,dy,dz)/67 (rounded to an appropriate value, of course) For psolver=1, this time step is limited by the propagation speed of sound waves. dtl of about min(dx,dy,dz)/700 is recommended. timax - Maximum forecast time (s). 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. 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 equal to dtl to output parcel data every time step. ------------------------------------------------------------------------- param2 section -- enter INTEGER values (value in CAPS is recommended, where applicable) statfrq - Frequency for calculating some interesting output. Output is in stats.dat file. Set as number of time steps. (e.g., 1 = every model time step, 5 = every fifth time step) See param10 section below for the information that can be requested. 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. hadvorder - Order of horizontal advection scheme. 5=fifth order, 6=sixth order vadvorder - Order of vertical advection scheme. 5=fifth order, 6=sixth order Fifth order scheme has implicit diffusion. If fifth order scheme is used, idiff can be set to 0 (i.e., no additional artifical diffusion is typically necessary). Sixth order scheme requires additional artifical diffusion for stability (i.e., idiff=1 is recommended). User should use difforder=6 and value of kdiff6 between about 0.02-0.24 ifall - Scheme for handling the sedimentation (ie, fallout) of hydrometeors 1 = forward-in-time backward-in-space (default) 2 = forward-in-time centered-in-space (not recommended) 3 = Runge-Kutta in time, WENO scheme pdscheme - Scheme to ensure positive definiteness of moisture: 0 = set negative values back to zero (default) (not mass conserving) 1 = simple, nearly mass-conserving scheme. Takes water from neighboring grid cells to conserve water (similar to that in Cohen, 2000, JAS, p. 1661) advweno - Advect scalars (but not pressure) with WENO scheme? (0=no, 1=yes) idiff - Include additional artificial diffusion? (0=no, 1=yes) For idiff=1, diffusion of all variables. For idiff=2, diffusion only applied to winds. User must also set difforder and kdiff2 or kdiff6. vdiff - When idiff=1, apply artificial diffusion in vertical direction? (0=no, 1=yes) mdiff - When idiff=1, apply monotonic version of artificial diffusion? (0=no, 1=yes) 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. imoist - Include moisture? (0=no, 1=yes) iturb - Include subgrid turbulence scheme? (0=no, 1=TKE, 2=Smagorinsky) tconfig - Calculation of turbulence coefficients in turbulence scheme: 1 = horizontal and vertical turbulence coefficients are the same; use this if dx,dy are about equal to dz (default) 2 = horizontal turbulence coefficient is different from vertical turbulence coefficient; use this if dx,dy are much greater than dz bcturbu - Lower/upper boundary condition for vertical diffusion of winds (u and v). This includes diffusion from subgrid turbulence (when iturb >= 1) and artificial diffusion (when vdiff=1). 1 = zero flux (default) 2 = zero gradient 3 = no slip (note: bcturbu=3 is required if idrag=1) bcturbs - Lower/upper boundary condition for vertical diffusion of all scalars. This includes diffusion from subgrid turbulence (when iturb >= 1) and artificial diffusion (when vdiff=1). 1 = zero flux (default) 2 = zero gradient dns - Run model in Direct Numerical Simulation mode. (iturb must be = 0) For this option, the user must set the six parameters in param7 below. irdamp - Use upper-level Rayleigh damping zone? (0=no, 1=YES) (User must set rdalpha and zd below) hrdamp - Use Rayleigh damping near lateral boundaries (0=NO, 1=yes) (uses rdalpha below, and damping zone must be set by user in param.F) psolver - Option for pressure solver. 1 = truly compressible: no acoustic damping, no small time steps, no implicit numerics 2 = Klemp-Wilhelmson time-splitting, fully explicit: uses K-W split time steps for acoustic modes, with explicit treatment of acoustic terms in both vertical and horizontal directions. (use if dx,dy,dz are approximately equal) 3 = Klemp-Wilhelmson time-splitting, vertically implicit: uses K-W split time steps for acoustic modes, with a vetically implicit solver, and horizontally explicit calculations (as in MM5, ARPS, WRF). (use if dz is much smaller than dx,dy) 4 = Anelastic solver: Uses the anelastic mass continuity equation. Pressure is retrieved diagnostically. 5 = Incomprssible solver: Uses the incompressible mass continuity equation. Pressure is retrieved diagnostically. NOTE: psolver = 4 and 5 are only recommended for simulations without moisture (for now). nsound - Number of small (acoustic) time steps per large time step. Only used for psolver = 2 and 3. NOTE! nsound must be an EVEN integer (exactly) for the split time steps to work properly. There is no check for this ... so please remember. Typically, nsound of 4,6,8,10,12 is appropriate. For nsound less than 4, you should probably use psolver=1 instead. A value of nsound greater than 12 is not generally recommended. Also keep in mind the small time step (dts=dtl/nsound) that is required for stability: For psolver=2, dts should be about min(dx,dy,dz)/700. For psolver=3, dts should be about min(dx,dy)/700. thsmall - Integrate potential temperature on small time steps? (0=NO, 1=yes) (Probably not needed for most cloud-scale simulations, but this becomes quite useful for simulations with horizontal grid spacing of 10 km and larger.) ptype - Explicit moisture scheme. 1 = Kessler scheme (water only) 2 = NASA-Goddard version of LFO scheme 3 = Thompson scheme 4 = Gilmore/Straka/Rasmussen version of LFO scheme 5 = Morrison double-moment scheme 6 = Rotunno-Emanuel (1987) simple water-only scheme ihail - Use hail or graupel for large ice category when ptype=2. 1 = hail 0 = graupel iautoc - Include autoconversion of qc to qr when ptype = 2? (0=no, 1=yes) idrag - Simple surface drag parameterization (0=no, 1=yes) See file sfcphys.F for specification of drag coefficient. isfcflx - Simple surface fluxes of heat and moisture (0=no, 1=yes) See file sfcphys.F for specification of exchange coefficient. [Note: this scheme assumes the surface is an ocean with specified sea-surface temperature (tsurf) and environmental surface pressure (psurf).] pertflx - Use only perturbation winds for calculation of surface fluxes? (0=NO, 1=yes) icor - Include Coriolis acceleration? (0=no, 1=yes) (If user chooses 1, then fcor must be set below) f-plane is assumed. pertcor - Apply Coriolis acceleration to perturbation winds only? (0=NO, 1=yes) neweqts - Use new equations (from Bryan and Fritsch 2002) ? 0 = no, use traditional (approximate) equation set 1 = yes (original formulation) 2 - yes, but apply condensation adjustment on RK steps (note: switch is irrelevent if imoist = 0, i.e. the equations are equivalent in a dry environment) (only available with ptype=1,2,6) 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 irbc - For bc=2, this is the type of radiative scheme to use: 1 = Klemp-Wilhelmson (1978) on large steps 2 = Klemp-Wilhelmson (1978) on small steps 4 = Durran-Klemp (1983) formulation roflux - Restrict outward flux? (0=no, 1=yes) When this option is activated, the total outward mass flux at open boundary conditions is not allowed to exceed total inward mass flux. This is a requirement for the anelastic solver. For the compressible solvers, this scheme helps prevent runaway outward mass flux that can cause domain-total mass loss and pressure falls. isnd - Base-state sounding: 1 = Dry adiabatic 2 = Dry isothermal 3 = Dry, constant dT/dz 4 = Saturated neutrally stable (BF02 sounding) 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://www.mmm.ucar.edu/people/bryan/cm1) 8 = Dry, constant d(theta)/dz 9 = Dry, constant Brunt-Vaisala frequency 10 = Saturated, constant Brunt-Vaisala frequency 11 = Saturated, constant equiv. pot. temp. iwnd - Base-state wind profile: (ignored if isnd=7) 0 = zero winds 1 = RKW-type profile 2 = Weisman-Klemp supercell 3 = multicell 4 = Weisman-Klemp multicell 5 = Dornbrack etal analytic profile 6 = constant wind itern - Initial topography specifications. User must set zs array in param.F: 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: 1 = warm bubble 2 = cold pool 3 = line of warm bubbles 4 = initialization for moist benchmark 5 = cold blob 7 = Rotunno-Emanuel tropical cyclone 8 = line thermal with random perturbations 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 0 = no balance (initial pressure perturbation is zero everywhere) 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. 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). umove - Constant speed for domain translation in x-direction (m/s) (for imove = 1) vmove - Constant speed for domain translation in y-direction (m/s) (for imove = 1) tsurf - Specified sea-surface temperature (Kelvin) used when isfcflx=1 psurf - Specified environmental surface pressure (Pa) used when isfcflx=1 (should be the same as that used for the initial sounding ... there is no check for this, so please make sure they are the same) v_t - Terminal fall velocity of liquid water (m/s) used when ptype=6 l_h - Horizontal turbulence length scale (m) used when iturb=3 (axisymmetric simulations only) l_v - Vertical turbulence length scale (m) used when iturb=3 (axisymmetric simulations only) ------------------------------------------------------------------------- param4 section -- Horizontally stretched (x) grid options. See README.stretch for more information. stretch_x - Use horizontally stretched grid in x? 0 = no 1 = yes, stretching on both west and east sides of domain 2 = yes, stretching on west side of domain only dx_inner - Smallest grid spacing (m). dx_outer - Largest grid spacing, at edge of domain (m). nos_x_len - Length of the no-stretching part of domain (m). tot_x_len - Total length of the domain (m). ------------------------------------------------------------------------- param5 section -- Horizontally stretched (y) grid options. See README.stretch for more information. stretch_y - Use horizontally stretched grid in y? 0 = no 1 = yes, stretching on both south and north sides of domain 2 = yes, stretching on south side of domain only dy_inner - Smallest grid spacing (m). dy_outer - Largest grid spacing, at edge of domain (m). nos_y_len - Length of the no-stretching part of domain (m). tot_y_len - Total length of the domain (m). ------------------------------------------------------------------------- param6 section -- Vertically stretched grid options. See README.stretch for more information. stretch_z - Use vertically stretched grid spacing? (0=no, 1=yes) ztop - Total depth of the domain (i.e., the height of the top of the domain) (m). str_bot - Level where stretching begins (m). str_top - Level where stretching ends (m). dz_bot - Grid spacing at (and below) str_bot (m). dz_top - Grid spacing at (and above) str_top (m). ------------------------------------------------------------------------- param7 section -- Options relating to dns (used ONLY when dns = 1) bc_wind - top/bottom boundary condition for horizontal winds 1 = free slip 2 = no slip bc_temp - top/bottom boundary condition for potential temperature 1 = constant theta is specified at boundaries 2 = constant flux is specified at boundaries ptc_top - potential temperature closure for top of model if bc_temp = 1, this is theta at the top boundary (K) if bc_temp = 2, this is the flux at the top boundary (K m/s) ptc_bot - potential temperature closure for bottom of model if bc_temp = 1, this is theta at the bottom boundary (K) if bc_temp = 2, this is the flux at the bottom boundary (K m/s) viscosity - value for kinematic viscosity (m^2/s) pr_num - value for Prandtl number (unitless) ------------------------------------------------------------------------- param8 section - flex variables var1,var2,var3 ... var10 - Use these variables to easily change parameters in the model without re-compiling the code. Example: A user wants to run a series of simulations in which the low-level shear is changed. In file "base.F", the user can set "uconst2 = var1", then compile the code. Then, var1 can be changed in the namelist.input file and the initial wind profile will change without needing to re-compile. Example: A user wants to change the location, size, and amplitude of the initial thermal bubble. Using the flex vars, the code could be modified in this manner: ric = var1 rjc = var2 zc = var3 bhrad = var4 bvrad = var5 bptpert = var6 and then the values in namelist.input might be set as follows: var1 = 50000.0, var2 = 25000.0, var3 = 2000.0, var4 = 10000.0, var5 = 1000.0, var6 = 1.5, Notes: - the flex variables are all real (float) variables. - the flex variables are automatically passed into most subroutines in the model ------------------------------------------------------------------------- param9 section - output options output_path - Specifies the path where the output will be placed. By default, the output is placed in the same directory as the executable (cm1.exe), by specifying './' IMPORTANT NOTE: Always end the path with a "/". output_basename - Specifies the base file name for output. By default, all files will begin with 'cm1out' output_format - Specifies the format of the output files: 1 = GrADS format 2 = netcdf 3 = HDF (scaled integer data) 4 = HDF (floating point data) (see top of writeout_hdf.F file for explanation of the difference between format 3 and 4) (see also this site at the CM1 Users Group webpages http://groups.google.com/group/cm1-users-group/web/a-brief-hdftools-primer for more information about using the HDF output) output_filetype - Type of output file: 1 = all output goes into one file (note: the file size can become very big!) 2 = one output file per output time (note: good to use if you want to keep individual file sizes relatively small ... but this produces many files) NOTE: for MPI runs, option 2 is required NOTE: for HDF output, option 2 is required output_interp - For simulations with terrain, this option (0=no, 1=yes) will generate a second set of output files, with "_i" as part of the filename, wherein the output has been interpolated to the nominal model height levels. This differs from all other model output files, for which the output is on the native terrain-following coordinate surfaces. (only available for output_format=1) ------ For the remaining variables, 0=no and 1=yes ------ output_rain - surface rainfall. If imove = 1, two output fields are generated. The first (rn) is the accumulated rainfall at model grid points. The second (rn2) is the translated rainfall pattern, assuming a lower surface is moving at umove and vmove. output_sws - maximum surface wind speed (aka, surface wind swath, sws) If imove = 1, two output fields are generated. The first (sws) is the max sws at model grid points. The second (sws2) is the translated sws pattern, assuming a lower surface is moving at umove and vmove. output_sfcflx - surface fluxes of potential temperature and water vapor mixing ratio (if isfcflx=1) 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) ---- 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) ------------------------------------------------------------------------- param10 section - statistical output options (0=no, 1=yes) stat_w - max/min vertical velocity stat_u - max/min horizontal (x-direction) velocity (radial velocity if axisymm=1) stat_v - max/min horizontal (y-direction) velocity (azimuthal velocity if axisymm=1) stat_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 stat_cfl - max Courant number 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 ------------------------------------------------------------------------- Questions, comments, suggestions: send email to gbryan@ucar.edu