CM1 Numerical Model, release 22.0 (cm1r22.0) 21 September 2026 Summary of changes. ------------------------------------------------------------- ccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc ------------------------------------------------------------- 1. New options/features. ------------------- cm1r22.0: - Made a very major change to the CM1 restart file format. It should now be straightforward to make configuration changes (ie, changes in settings in namelist.input) on restart. Some restrictions still apply (eg, the microphysics parameterization cannot be changed), but changes like number of parcels and fluid tracers (or whether to use parcels and/or tracers) should be seamless. (NOTE: restart files from CM1 runs before cm1r22.0 cannot be used with cm1r22.0; that is, you'll need to begin a run from t=0 with cm1r22.0 and generate new restart files) (NOTE: netcdf-format restart files are broken right now. That can be changed in the near future if people actually want/need this capability.) - The elliptic pressure solver is new parallelized for distributed- memory computing (ie, with MPI). It now works with thousands of processors (and perhaps more). This means that psolver=4,5 (anelastic and incompressible solvers), output_pdcomp=1 (pressure decomposition), and ibalance=2 (initial anelastic pressure pert) now all work with MPI. - Random initial perturbations: now irandp=1 adds random potential temperature peturbations, and irandp=2 adds random relative humidity perturbations. See init3d.F - New pre-configured cases (i.e., "test cases"): 16 - Idealized tropical cyclone (hurricane) setup - This testcase is now used as the baseline setup for hurricanes over the open ocean. Should help prevent confusion for some physics settings. 17 - Idealized tornado test case - Follows the so-called "Fiedler chamber" setup of Rotunno et al. (2016), doi:10.1175/JAS-D-16-0038.1 18 - Cold pool / gravity current in a sheared environment - Follows the initial conditions of Bryan and Rotunno (2014), doi:10.1175/JAS-D-13-0156.1 - New options in namelist.input: MODEL SETTINGS: cfl_limit - When using adaptive time stepping (adapt_dt=1), this is the target value for the maximum Courant number (U * dt / dx) Default value is 1.0 ramp_down - When using adaptive time stepping (adapt_dt=1), decrease (i.e., "ramp down") the time step to exactly reach the desired output time. Otherwise, writeout occurs at the first time at/after the desired output time. Default is to use ramp_down (as in previous releases of CM1). irandprst - Include water vapor perturbations on a restart. (May have multiple uses, but it is designed to instigate perturbations, and thus turbulence, when interoplating to higher resolution.) numrand - For ensemble simulations in which a different set of random perturbations in needed, this parameter can be used to generate a different random seed (note: when using irandp=1). brkup_db - For Morrison microphysics (ptype=5), this is the cutoff diameter where raindrop breakup begins. Useful for limiting the maximum size of rain drops / decreasing maximum reflectivity (or vice versa) solconrce - solar constant for RCE simulations (testcase=8) zenanglrce - solar zenith angle for RCE simulations (testcase=8) cnstch - Constant value of Ch (surface exchange coefficient for sensible heat) (previously used Ce) cnstcq - Constant value of Cq (surface exchange coefficient for moisture) (previously used Ce) use_avg_sfc - For sfcmodel=1,5: use average surface conditions to determine u-star, obukhov length, etc, following Moeng (1984) trn_swirl,trn_wfrc,trn_lr,trn_lz,trn_xc,trn_yc,trn_zc - For idealized tornado-chamber-like test cases (testcase=17), these parameters define the setup of the simulation. See README.namelist for more information. timeavg_num,timeavg_len - For time-averaging code (which is used for some subgrid turbulence models, and for eddy recycling) these parameters are used to set the length of the time average. See README.namelist for more information. gamma_cp - centerpoint of transition zone for two-part SGS model gamma_dr - decay rate parameter for two-part SGS model MODEL OUTPUT: output_z_max - in output files, write only up to a certain height. (In other words, write output only from the surface to z_max) output_temperature - in output files, include air temperature output_rh - in output files, include relative humidity (with respect to liquid) output_hail - in output files, include surface hail accumulation (water equivalent) (for NSSL microphysics only, ptype=26,27) output_vort - in output files, write all three components of vorticity at native locations on the staggered grid (ie, do not interpolate to a common grid, as before) output_vortinterp - in output files, interpolate all three components of vorticity to the scalar points (this is what output_vort did in previous releases of CM1) output_qdiags - in output files, write some microphysical process rates (condensation, evaporation, deposition, sublimation) (currently only available for ptype=5 ie, Morrison microphysics) output_sedtend - in output files, write sedimentation rates (currently only available for ptype=3,5 ie, Thompson and Morrison microphysics) output_tau - in output files, write subgrid/viscous stress terms (ie, tau_ij) - A "combine" program for MPI runs is now included with the CM1 code. This program combines the tiled grads-format CM1 output (output_filetype=3,4) into one output file, in either grads or netcdf format. This can be useful when using large (>1,000) processors. See the files in the "combine" subdirectory for more information. ------------------------------------------------------------- ccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc ------------------------------------------------------------- 2. Changes, fixes, modifications, etc. ------------------- cm1r22.0: - Updated the NSSL microphysics code. (Thanks to Ted Mansell) - Fixed a bug with pressure near the top of the atmosphere when using RRTMG radiation. Thanks to Julian Schima (PSU) for identifying and fixing this problem. - Fixed an MPI communications bug with the NBA subgrid turbulence scheme (sgsmodel=5,6). Simulations with NBA sgs turbulence now parallelize correctly. - Miscellaneous improvements and bug fixes in many files.