Initializing the ocean model with a spun-up initial condition

The startup/spunup initialization option is a specialized active-ocean model suboption available in the CESM1.0 POP2 model which can be used only in conjunction with a CESM "startup" case; it is not designed to work with "hybrid" or "branch" cases.

The recommended method for initializing the CESM active ocean model (POP2) in a CESM startup case is to use the default settings; these initialize the ocean model from Levitus initial conditions and a state of rest. Occasionally, however, researchers are interested in a startup run in which only the ocean model is initialized from a "spun up" ocean condition generated from a previous CESM run. To accommodate their request, a nonstandard method of initializing POP2 in a startup case was developed. It is called the startup_spunup option. It is a research option that is designed for use by expert users only.

Because of the complex interactions between the ocean-model parameterizations used to generate the spun-up case and those used in the new startup case, it is impossible to provide a single recommended spun-up ocean initial condition for all circumstances. Instead, researchers must carefully select an existing solution whose case conditions closely match those in the new case. A mismatch of options between the spun-up case and the new case can result in scientifically invalid solutions.

When a startup_spunup case is necessary, use this procedure:

  1. Currently, the default RUN_TYPE XML variable is set to "hybrid". User's will need to change the RUN_TYPE to "startup" after running create_newcase using the xmlchange command as follows:

> create_newcase -case ~/cesm1/b40.B2000ocn \
                     -mach yellowstone \
                     -compset B20TR \ 
                     -res 0.9x1.25_gx1v6 
    > cd ~/cesm1/b40.B2000ocn
    > configure -case
    > xmlchange -file env_run.xml -id RUN_TYPE -val startup
  2. Specify the startup_spunup option in the pop2_in namelist file by editing the $CASE/Buildconf/pop2.buildnml.csh script. Find the namelist init_ts_nml and change

    set init_ts_suboption = 'null' to

    set init_ts_suboption = 'spunup'.

  1. The ocean restart filename is of the form ${CASE_SP}.pop.r.$date, where $date is the model date of your spun-up dataset. If the ocean restart files were written in binary format, a companion ascii-formatted restart "header" file will also exist. The companion header file will have the same name as the restart file, except that it will have the suffix ".hdr" appended at the end of the filename. You must copy both the binary restart file and the header file to your data directory.

  2. The spun-up ocean restart and restart header files must be available to your new case. Copy them directly into $RUNDIR. It is critically important to copy both the binary restart file and its companion header file to the $RUNDIR.

> cp ${CASE_SP}.pop.r.$date       $RUNDIR 
    > cp ${CASE_SP}.pop.r.${date}.hdr $RUNDIR
  3. Redefine the ocean-model initial-condition dataset by editing $CASE/Buildconf/pop2.buildnml.csh. Go to the pop2_in namelist section and edit the init_ts_nml namelist variable init_ts_file. Change

    set init_ts_file = '$init_ts_filename' to

    set init_ts_file = '${CASE_SP}.pop.r.$date'

    Note that the model will automatically look for the ${CASE_SP}.pop.r.${date}.hdr file in $RUNDIR.

  4. Build and run as usual.