BASICS: How do I set up a branch or hybrid run?

The section setting the case initialization discussed starting a new case as a branch run or hybrid run by using data from a previous run. First you need to create a new case. Assume that $CCSMROOT is set to /user/ccsmroot and that $EXEROOT is /glade/scratch/$user/EXAMPLE_CASEp. Finally, assume that the branch or hybrid run is being carried out on NCAR's IBM system, bluefire.


> cd /user/ccsmroot/scripts
> create_newcase -case ~/cesm1/EXAMPLE_CASEp \
                 -compset B_2000 \ 
                 -res 0.9x1.25_gx1v6 \
                 -mach bluefire 
> cd ~/cesm1/EXAMPLE_CASEp

For a branch run, modify env_run.xml to branch from EXAMPLE_CASE at year 0001-02-01.


> xmlchange RUN_TYPE=branch
> xmlchange RUN_REFCASE=EXAMPLE_CASE
> xmlchange RUN_REFDATE=0001-02-01

For a hybrid run, modify env_run.xml to start up from EXAMPLE_CASE at year 0001-02-01.


> xmlchange RUN_TYPE=hybrid
> xmlchange RUN_REFCASE=EXAMPLE_CASE
> xmlchange RUN_REFDATE=0001-02-01

For a branch run, env_run.xml for EXAMPLE_CASEp should be identical to EXAMPLE_CASE, except for the $RUN_TYPE setting. In addition, any modifications introduced into any of the ~/cesm1/EXAMPLE_CASE/user_nl_* files, should be re-introduced into the corresponding files in EXAMPLE_CASEp.

Set up and build the case executable.


> ./cesm_setup
> ./EXAMPLE_CASEp.build

Prestage the necessary restart/initial data in $RUNDIR (assumed to be /glade/scratch/$user/EXAMPLE_CASEp/run). Note that /glade/scratch/$user/EXAMPLE_CASEp/run was created during the build. Assume that the restart/initial data is on the NCAR HPSS.


> cd /glade/scratch/$user/EXAMPLE_CASEp/run
> hsi -q "cget /CCSM/csm/EXAMPLE_CASE/rest/0001-02-01-00000/*" 

It is assumed that you already have a valid load-balanced scenario. Go back to the case directory, set the job to run 12 model months, use an editor to change the time limit in the run file to accommodate a 12-month run, then submit the job.


> ~/cesm1/EXAMPLE_CASEp
> xmlchange STOP_OPTION=nmonths
> xmlchange STOP_N=12
> # use an editor to change EXAMPLE_CASE.run "#BSUB -W 1:30" to "#BSUB -W 6:00"
> bsub < EXAMPLE_CASEp.run

Verify that the run succeeded.


> grep "SUCCESSFUL TERMINATION" poe.stdout.*

Change the run to a continuation run. Set it to resubmit itself 10 times so that it will run a total of 11 years (including the initial year), then resubmit the case.


> xmlchange CONTINUE_RUN=TRUE
> xmlchange RESUMIT=10
> bsub < EXAMPLE_CASEp.run