The Coupler v5.0 Project Home Page

Vision Statement

The cpl5 project will deliver cpl5, an upgraded version of cpl4, for use as the
coupler component in CCSM 2.0, the next major release of the full CCSM. Cpl5 is
viewed as an interim coupler component, but the follow-on, cpl6, will not be
available in time for the CCSM 2.0 release. Because cpl5 is an interim
component, some desired upgrades may be deferred to cpl6 and
not implemented in cpl5.

Release Date

The Coupler, version 5.0, will be the coupler component of CCSM 2.0
and thus will be released when CCSM 2.0 is released.
CCSM 2.0 is scheduled for released in May of 2002.

What is a "coupler" ?

CCSM coupled model is based on a framework which divides the complete climate
system into component models connected by a coupler. This design
requires four component models -- atmosphere, land, ocean, and sea-ice --
each connected to the coupler, and each exchanging data with the coupler only.
From a software engineering point of view, the CCSM is not a particular
climate model, but a framework for building and testing various climate models
for various applications. In this sense, more than any particular component
model, the coupler defines the high-level design of CCSM software.

The coupler code has several key functions within the CCSM framework:

It allows the CCSM to be broken down into separate components,
atmosphere, sea-ice, land, and ocean, that are "plugged into" the coupler.
Each component model is a separate code that is free to choose
it's own spatial resolution and time step.
Individual components can be created, modified, or replaced
without necessitating code changes in other components. CCSM
components run as separate executables, communicate via message passing
(MPI in particular),
and can be distributed among several computers.

It controls the execution and time evolution of the complete CCSM by
synchronizing and controlling the flow of data between the various
components.

It communicates interfacial fluxes between the various component
models while ensuring the conservation of fluxed quantities.
For certain flux fields, it also computes interfacial fluxes
between the various component models (based on state variables).