:tocdepth: 3 .. _coupl: Coupling With Other Climate Model Components ============================================ The sea ice model exchanges information with the other model components via a flux coupler. CICE has been coupled into numerous climate models with a variety of coupling techniques. This document is oriented primarily toward the CESM Flux Coupler :cite:`Kauffman02` from NCAR, the first major climate model to incorporate CICE. The flux coupler was originally intended to gather state variables from the component models, compute fluxes at the model interfaces, and return these fluxes to the component models for use in the next integration period, maintaining conservation of momentum, heat, and fresh water. However, several of these fluxes are now computed in the ice model itself and provided to the flux coupler for distribution to the other components, for two reasons. First, some of the fluxes depend strongly on the state of the ice, and vice versa, implying that an implicit, simultaneous determination of the ice state and the surface fluxes is necessary for consistency and stability. Second, given the various ice types in a single grid cell, it is more efficient for the ice model to determine the net ice characteristics of the grid cell and provide the resulting fluxes, rather than passing several values of the state variables for each cell. These considerations are explained in more detail below. The fluxes and state variables passed between the sea ice model and the CESM flux coupler are listed in the `Icepack documentation `_. By convention, directional fluxes are positive downward. In CESM, the sea ice model may exchange coupling fluxes using a different grid than the computational grid. This functionality is activated using the namelist variable ``gridcpl_file``. Another namelist variable ``highfreq``, allows the high-frequency coupling procedure implemented in the Regional Arctic System Model (RASM). In particular, the relative atmosphere-ice velocity (:math:`\vec{U}_a-\vec{u}`) is used instead of the full atmospheric velocity for computing turbulent fluxes in the atmospheric boundary layer. The ice fraction :math:`a_i` (aice) is the total fractional ice coverage of a grid cell. That is, in each cell, .. math:: \begin{array}{cl} a_{i}=0 & \mbox{if there is no ice} \\ a_{i}=1 & \mbox{if there is no open water} \\ 0 0 :label: swflux where :math:`\cos Z` is the cosine of the solar zenith angle. Many ice models compute the sea surface slope :math:`\nabla H_\circ` from geostrophic ocean currents provided by an ocean model or other data source. In our case, the sea surface height :math:`H_\circ` is a prognostic variable in POP—the flux coupler can provide the surface slope directly, rather than inferring it from the currents. (The option of computing it from the currents is provided in subroutine *dyn\_prep2*.) The sea ice model uses the surface layer currents :math:`\vec{U}_w` to determine the stress between the ocean and the ice, and subsequently the ice velocity :math:`\vec{u}`. This stress, relative to the ice, .. math:: \begin{aligned} \vec{\tau}_w&=&c_w\rho_w\left|{\vec{U}_w-\vec{u}}\right|\left[\left(\vec{U}_w-\vec{u}\right)\cos\theta +\hat{k}\times\left(\vec{U}_w-\vec{u}\right)\sin\theta\right] \end{aligned} :label: tauw is then passed to the flux coupler (relative to the ocean) for use by the ocean model. Here, :math:`\theta` is the turning angle between geostrophic and surface currents, :math:`c_w` is the ocean drag coefficient, :math:`\rho_w` is the density of seawater, and :math:`\hat{k}` is the vertical unit vector. The turning angle is necessary if the top ocean model layers are not able to resolve the Ekman spiral in the boundary layer. If the top layer is sufficiently thin compared to the typical depth of the Ekman spiral, then :math:`\theta=0` is a good approximation. Here we assume that the top layer is thin enough. Please see the `Icepack documentation `_ for additional information about atmospheric and oceanic forcing and other data exchanged between the flux coupler and the sea ice model.