Chapter 7. Use Cases and FAQs

Table of Contents
BASICS: A basic example
BASICS: How do I set up a branch or hybrid run?
BASICS: What calendars are supported in CESM?
BASICS: How do I change processor counts and component layouts on processors?
BASICS: What are CESM1 xml variables and CESM1 environment variables?
BASICS: How do I modify the value of CESM xml variables?
BASICS: Why aren't my $CASEROOT xml variable changes working?
BASICS: How do I use the ESMF library and ESMF interfaces?
BASICS: Why is there file locking and how does it work?
BASICS: What are the directories and files in my case directory?
IO: What is pio?
IO: How do I use pnetcdf?
CAM: How do I customize CAM output fields?
CAM: How do I customize CAM forcings?
CAM/CLM: How do I change history file output frequency and content for CAM and CLM during a run?
CAM: How do I use B compset history output to create SST/ICE data files to drive an F compset?
POP/CICE: How are CICE and POP decompositions set and how do I override them?
POP: How do I initialize POP2 with a spun-up initial condition?
DRIVER: Is there more information about the coupler/driver implementation?
DRIVER: How do I pass in new fields between components?
EXPERTS: How do I create my own compset?
EXPERTS: How do I run multiple cases all using a single executable?
EXPERTS: How do I carry out data assimilation using CAM and DART?
EXERPTS: Adding a new CESM component

BASICS: A basic example

This specifies all the steps necessary to create, set up, build, and run a case. The following assumes that $CCSMROOT is /user/ccsmroot.

  1. Create a new case named EXAMPLE_CASE in the ~/cesm1 directory. Use a an 1850 control compset at 1-degree resolution on bluefire.

    
> cd /user/ccsmroot/scripts
    > ./create_newcase -case ~/cesm1/EXAMPLE_CASE \
                     -compset B_1850_CN \
                     -res 0.9x1.25_gx1v6 \
                     -mach bluefire 
    
  2. Go to the $CASEROOT directory. Edit env_mach_pes.xml if a different pe-layout is desired first. Then set up and build the case.

    
> cd ~/cesm1/EXAMPLE_CASE
    > ./cesm_setup
    > EXAMPLE_CASE.build
    
  3. Create a production test. Go to the test directory. Build the test first, then run the test and check the TestStatus (the first word should be PASS).

    
> ./create_production_test
    > cd ../EXAMPLE_CASE_ERT
    > EXAMPLE_CASE_ERT.build
    > bsub < EXAMPLE_CASE_ERT.test
    > cat TestStatus 
    
  4. 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, and submit the job.

    
> cd ../EXAMPLE_CASE
    > 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_CASE.run
    
  5. Make sure the run succeeded.

    
> grep "SUCCESSFUL TERMINATION" poe.stdout.*
    
  6. Set it to resubmit itself 10 times so that it will run a total of 11 years (including the initial year), and resubmit the case. (Note that a resubmit will automatically change the run to be a continuation run).

    
> xmlchange -id RESUBMIT -val 10
    > bsub < EXAMPLE_CASE.run