This document discusses the coupler in the CESM1.1 model. The coupler in this implementation is nearly identical to the version in the CESM1.0 and CCSM4 release. In fact, many of the variables, filenames, comments, and namelists still use the CCSM name convention. Any reference in this document to the CESM1.1 or CESM1 version will generally hold for the CCSM4 release as well. CESM1.1 differs from CCSM4 and CESM1.0 in one important way, the runoff model is treated as a separate comoponent in CESM1.1. CESM1 is used to describe the version of the model in this document. Where CESM1.0 and CESM1.1 differ, specific versions will be indicated.
Major updates in CESM1.1 compared to CESM1 include
- inclusion of a separate runoff component - ability to run multiple instances of components in a single run - refactoring of CESM scripts
The CESM1 Version of the Community Earth System Model has some significant changes compared to previous pre-CCSM4 versions. In particular, CESM1 is NOT run via multiple executables in a concurrent only processor layout. There is now a top level driver and components are called via standard init, run, and finalize methods. Components can be run sequentially, concurrently, or in some mixed sequential/concurrent layout on processors. A coupler component that runs on a subset of the total processors still exists in the system as part of the driver. The driver runs on all processors and the coupler functions (mapping, merging, flux calculations, and diagnostics) runs on a user defined subset of the total processors. The processor layout is specified at runtime via namelist inputs.
While the processor layout is relatively flexible and components can be run sequentially or concurrently, the sequencing of the science in the driver is fixed and independent of the processor layout. So changing the processor layout only changes the performance of the simulation system.
Like all components in CESM, the driver scripting system is setup such that a buildnml (models/drv/bld/cpl.buildnml.csh), a buildexe (models/drv/bld/cpl.buildexe.csh), and a component template file (models/drv/bld/cpl.template) are copied or run by the CESM1 scripts. That script sets up cases for CESM1. See the CESM user guide for more detailed information about this process. But briefly, the process is as follows,
- run create_newcase to generate a case directory. - edit env_mach_pes.xml and then run cesm_setup. this copies the buildnml and buildexe scripts into the case directory and generates the .build, .run, and .clean_build scripts. - edit env_build.xml and run the .build script. - edit env_run.xml and the usr_nl files and submit the .run script.