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 -id RUN_TYPE    -val branch
> xmlchange -id RUN_REFCASE -val EXAMPLE_CASE
> xmlchange -id RUN_REFDATE -val 0001-02-01

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


> xmlchange -id RUN_TYPE    -val hybrid
> xmlchange -id RUN_REFCASE -val EXAMPLE_CASE
> xmlchange -id RUN_REFDATE -val 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 ~/cesm1/EXAMPLE_CASE/user_nl_cam, should be re-introduced into the user_nl_cam file in EXAMPLE_CASEp.

Set up and build the case executable.


> ./cesm_setup -case 
> ./EXAMPLE_CASEp.build

Prestage the necessary restart/initial data in $RUNROOT (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_CASEbr/run
> hsi 
> cget /CCSM/csm/EXAMPLE_CASE/rest/0001-02-01-00000/*" TODO: check this

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 -id STOP_OPTION -val nmonths
> xmlchange -id STOP_N -val 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 -id CONTINUE_RUN -val TRUE
> xmlchange -id RESUMIT -val 10
> bsub < EXAMPLE_CASEp.run