Each component model exchanges data with the coupler only. Component models have
no direct connection with each other - all data is routed through the coupler.
Most data is in the form of 2D fields. This data is accompanied by certain
timing and control information (arrays of scalar real or integer values), such
as the current simulation data and time.

This section provides a list of the time invariant data exchanged between the
coupler and each component model. Generally this data is the "domain" data:
coordinate arrays, domain mask, cell areas, etc. It is assumed that the
domain of all models is represented by a 2D array (although not necessarily a
latitude/longitude grid).

This section provides a list of the time-evolving data sent exchanged between
the coupler and the data model. Generally this is state, flux, and
diagnostic quantities.

Each data model provides the coupler with a set of output fields.
Output fields from a model include output states (which can be used by another
component to compute fluxes) and output fluxes (fluxes that were computed within
the model and which need to be exchanged with another component model).

The coupler provides each component model with input fields. Input fields
sent to a model include input states (the state variables of other models,
which are needed to do a flux calculation) and input fluxes (a forcing fields
computed by some other component).

Flux fields sent to or from the coupler are understood to apply over the
communication interval beginning when the data was received and ending when the
next message is received. The data models must insure that fluxes sent to
the coupler are appropriate in this context.

The dice5 ice extent (fractional coverage at each grid cell) is calculated
based on the input SST data. Wherever the SST is greater that one degree
above freezing the ice fraction is zero.
Wherever the SST is below freezing the ice fraction is unity.
In between the ice fraction varies linearly from zero to unity.

The ice surface temperature is computed according to a formula that roughly
approximates the ice temperature found in standalone versions of CCM2 (an
older version of the CCSM2.0 atmosphere component).
The formula is (for the northern hemisphere):

where rmonth = 0 corresponds to January 1st, and rmonth = 6 corresponds to
July 1st.

Surface albedos sent to the coupler are somewhat arbitrary but are based on
reasonable values for snow and ice albedos combined with an assumption about
the fraction of surface snow vs. ice. The albedo values are:

The atmosphere/ice sensible, latent, and upward-longwave heat fluxes,
evaporation, surface stress, and 2-meter reference temperatures are calculated
according to an involved formula that is documented in the CCSM2.0 Coupler
(cpl5) document. See that document for details.
The Coupler does a similar calculation for atmosphere/ocean fluxes.

The default value of penetrating short-wave radiation is zero. Optionally, by
changing the namelist parameter flux_swpf ("short-wave penetrating factor"),
will allow an arbitrary fraction of net solar absorbed to pass through the
ice component and be absorbed into the ocean below.

Melt water is set to zero by default.
Optionally, the flux_acc namelist parameter activates the dice5 model's
ability to accumulate ice formed in the ocean component. This ice formed is
flux field sent from the ocean to the ice. This accumulated ice can
subsequently be melted back into the ocean component if and when there is
sufficient melting potential.
Melting potential is also a field sent from the ocean to the ice component.

Salt flux is alway set to zero.

The ice/ocean surface stress is set equal to the atmosphere/ice surface stress
(see above).