CESM User's Guide (CESM1.2 Release Series User's Guide) (PDF)

CESM Software Engineering Group (CSEG)


Table of Contents
1. Introduction
How To Use This Document
CESM Model Version Naming Conventions
CESM Overview
CESM Software/Operating System Prerequisites
CESM Components
CESM Component Sets
CESM Grids
CESM Machines
CESM Validation
Downloading CESM
Downloading the code and scripts - starting with CESM1.2.1
Obtaining new release versions of CESM - prior to CESM1.2.1
Downloading input data
Quick Start (CESM Workflow)
2. Creating and Setting Up A Case
How to create a new case
New Component Set Naming Convention
New Overall Model Grid Naming Convention
Using create_newcase
How to set up a case and customize the PE layout
Calling cesm_setup
Changing the PE layout
Multi-instance component functionality
Modifying an xml file
Cloning a case (Experts only)
3. Building CESM
How do I build my model?
Input data
User-created input data
Using the input data server
Rebuilding the model
4. Running CESM
Customizing runtime settings
Controlling starting, stopping and restarting a run
Customizing component-specific namelist settings
Controlling output data
Load balancing a case
Model timing data
Using model timing data
How do I run a case?
Setting the time limits
Submitting the run
Restarting a run
Data flow during a model run
Testing a case
5. Porting and Validating CESM on a new platform
Porting Overview
Step 1: Use create_newcase with a userdefined machine name
Step 2: Enabling out-of-the box capability for your machine
Step 3: Port Validation
6. Use Cases and FAQs
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 CESM xml variables and CESM 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 run multiple cases all using a single executable?
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 add a new user-defined component set?
EXPERTS: How do I add a new user-defined grid?
EXPERTS: How do I carry out data assimilation using CAM and DART?
EXPERTS: How do I add a new CESM model component?
7. CESM Testing
Testing overview
Using create_production_test
Using query_tests
Using create_test
Debugging Tests That Fail
8. Troubleshooting
Troubleshooting create_newcase
Troubleshooting job submission problems
Troubleshooting runtime problems
Additional Troubleshooting Information
List of Tables
1-1. Recommmended Software Package Versions by Machine
2-1. Result of invoking create_newcase
2-2. Result of calling cesm_setup