Chapter 1. CPL7 Introduction

Note: 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.

How to Use This Guide

This guide covers the CESM1 top level driver implementation as well as the coupler component within the system. The driver runs on all hardware processors and basically runs the top level instructions and executes the driver time loop. The coupler is a component of the CESM1 system that is run from within the driver. It can be run on a subset of the total processors, and carries out mapping (interpolation), merging, diagnostics, and other calculations. The name cpl7 refers to the source code associated with both the driver and the coupler parts of the model. cpl7 code is located in the CESM1 source tree under models/drv/ and the main program of CESM1 is models/drv/driver/ccsm_driver.F90.

This document provides a general overview of the cpl7 design. Then specific implementation issues are discussed individually. Finally, there is a section summarizing all of the cpl7 namelist input. This document is written primarily to help users understand the inputs and controls within the cpl7 system, but to also provide some background about the associated implementation. Coupler flow diagrams are provided in a separate document. Some additional documentation on how the coupler works can be found in Craig et al, "A New Flexible Coupler for Earth System Modeling Developed for CCSM4 and CESM1", International Journal of High Performance Computing Applications 2012 26: 31 DOI: 10.1177/1094342011428141.