Running with a different dynamical core

Note, these instructions are only valid for the 2018 CESM2 release. If you wish to run the Held-Suarez configuration prior to the CESM2 release, please contact Isla Simpson [ islas@ucar.edu ]

While the Held-Suarez configuration is primarily supported using the Eulerian spectral-transform dynamical core, it is possible to run the Held-Suarez configuration with the other supported CAM dynamical cores (currently Finite Volume and Spectral Element).

This can be done by simply changing the horizontal resolution when running create_newcase to that of the required dynamical core

For example, to run the finite volume dynamical core at 2 degree resolution, replace Step 1 of the Held-Suarez instructions with the following:

./create_newcase --case $CASEDIR --compset FHS94 --res f19z30_f19_mg17 --mach $MACH --run-unsupported

or for a 1 degree simulation with the spectral element dynamical core replace it with the following:

./create_newcase --case $CASEDIR --compset FHS94 --res ne30z30_ne30_g16 --mach $MACH --run-unsupported

Note the additional --run-runsupported flag which is currently required for the finite volume and spectral element dynamical cores because these are not officially supported configurations for the dry dynamical core

Note also that the Finite Volume and Spectral Element dycores run out of the box with the analytic Held-Suarez initial conditions. Therefore, should you wish to change the vertical resolution to one that is not officially supported, all that is needed is an initial condition file that contains the vertical levels. Information on generating initial condition files can be found here

Turning off the energy fixer (CESM2.0 only)

It is only necessary to turn off the energy fixer for the FV and SE dycores in CESM2.0. In subsequent model releases (CESM2.1 and later) the energy fixer has been turned off by default when using the FHS94 compset.

The comprehensive version of CAM contains an energy fixer that is used to ensure conservation of energy. Since the physis of the dry dynamical core does not conserve energy in the same way as the full GCM, this energy fixer should be turned off. This is done by default for the Eulerian spectral-transform dynamical core but a small source code modification is required to turn it off for the FV and SE dycores. This modification must be made to the module

$CESM/components/cam/src/physics/simple/physpkg.F90

It is recommended that you copy this module to your $CASEDIR/SourceMods/src.cam directory and make them modification there. The relevant segment of code is the following

    !===================================================
    ! Global mean total energy fixer
    !===================================================
    call t_startf('energy_fixer')

    if (dycore_is('LR') .or. dycore_is('SE')) then
      call check_energy_fix(state, ptend, nstep, flx_heat)
      call physics_update(state, ptend, ztodt, tend)
      call check_energy_chng(state, tend, "chkengyfix", nstep, ztodt, zero, zero, zero, flx_heat)
      call outfld( 'EFIX', flx_heat    , pcols, lchnk   )
      call physics_ptend_dealloc(ptend)
    end if

To turn off the energy fixer, the call to physics_update must be commented out i.e.,

    !===================================================
    ! Global mean total energy fixer
    !===================================================
    call t_startf('energy_fixer')

    if (dycore_is('LR') .or. dycore_is('SE')) then
      call check_energy_fix(state, ptend, nstep, flx_heat)
      !call physics_update(state, ptend, ztodt, tend)
      call check_energy_chng(state, tend, "chkengyfix", nstep, ztodt, zero, zero, zero, flx_heat)
      call outfld( 'EFIX', flx_heat    , pcols, lchnk   )
      call physics_ptend_dealloc(ptend)
    end if