The
UCLA AGCM is a complex code representing many physical
processes. Despite the complexity of the code, one can
identify the following two major components:
- AGCM/Dynamics,
which computes the evolution of the fluid flow governed
by the appropriate equations (the primative equations
written in finite differences).
- AGCM/Physics,
which computs the effect of processes not resolved by
the model's grid (such as convection on cloud scales)
on processes that are resolved by the grid (such as the
flow on the large scale).
The
OGCM also has two major components:
- OGCM/Baroclinic,
determines the deviation from the vertically averaged
velocity, temperature and salinity fields.
- OGCM/Barotropic,
determines the vertically averaged distributions of those
fields.
The
coupled atmosphere-ocean GCM, therefore, can be decomposed
into four components.
When
run on a single node in the AGCM and OGCM codes execute sequentially
and exchange information corresponding to the air-sea interface.
The AGCM is first integrated for a fixed period of time and
then transfers the time-averaged sea surface temperature to
the AGCM. The data transfers, including the interpolations
required by differences in grid resolution between model components,
are performed by a suite of coupling routines.
When
run on multiple nodes, a scheme that allows the two codes
to run in parallel is used. Because AGCM/Dynamics does not
exchange data with the OGCM, these components can run in parallel.
Further, AGCM/Physics can start as soon as OGCM/Baroclinic
completes its calculation, because this includes the sea surface
temperatrue, and can run in parallel with the OGCM/Barotropic.
The figure below is a schematic of this running stragegy,
under the assumption that overhed due to distribution can
be neglected and model components running in parallel are
perfectly balanced.