EXPERTS: How do I run multiple cases all using a single executable?
In CESM1.1, the directory containing the model executable is cleanly separated from the directory where the model is run. As a result, it is now straightforward to run multiple cases where the env_build.xml for each case is identical all using a pre-built executable. As an example, this type of flexibility greatly simplifies carrying out UQ analysis.
The following outlines the steps involved to do this.
-
Create the executable that all runs will use. Call this case RefExe. The following would be a sample
create_newcasecommand:> cd $CCSMROOT/scripts > create_newcase -case RefExe -compset B1850CN -res ne30_g16 -mach hopper > cd RefExe > ./cesm_setup > ./RefExe.build
Verify that the model has build successfully. For reference below - the $EXEROOT for the RefExe case will be
/scratch/scratchdirs/$CCSMUSER/RefExe/bld. -
All subsequent calls to create_newcase that will use the RefExe executable must have identical arguments for -compset, -res and -mach. Lets say that you want to run 2 separate cases, RefExe_Case1 and RefExe_Case2 that both use the executable RefExe. You would then do the following:
> cd $CCSMROOT/scripts > create_newcase -case RefExe_Case1 -compset B1850CN -res ne30_g16 -mach hopper > cd RefExe_Case1 > ./cesm_setup > xmlchange -id EXEROOT -val /scratch/scratchdirs/$CCSMUSER/RefExe/bld. > xmlchange -id BUILD_COMPLETE -val TRUE > qsub RefExe_Case1.run
> cd $CCSMROOT/scripts > create_newcase -case RefExe_Case2 -compset B1850CN -res ne30_g16 -mach hopper > cd RefExe_Case1 > ./cesm_setup > xmlchange -id EXEROOT -val /scratch/scratchdirs/$CCSMUSER/RefExe/bld. > xmlchange -id BUILD_COMPLETE -val TRUE > qsub RefExe_Case2.run
Note that by setting BUILD_COMPLETE in env_build.xml to TRUE, the scripts assumes that the model has already been built for the case. Normally, the $CASE.build script fills this in when the build is successful. However, since you will not invoke the build for RefExe_Case1 and RefExe_Case2, you must then manually tell the scripts where the build is - and that it has been successful. This option is FOR EXPERTS ONLY and should only be used by those users that are completely familiar with the CESM scripts.