<?xml version='1.0' encoding='UTF-8' standalone='no'?>
<doxygen xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="compound.xsd" version="1.8.20" xml:lang="en-US">
  <compounddef id="Barotropic_Baroclinic_Coupling" kind="page">
    <compoundname>Barotropic_Baroclinic_Coupling</compoundname>
    <title>Barotropic-Baroclinic Coupling</title>
    <briefdescription>
<para>Time-averaged accelerations. </para>
    </briefdescription>
    <detaileddescription>
<para>Time-averaged accelerations</para>
<para>The barotropic equations are timestepped with a timestep to resolve the surface gravity waves. With care, the baroclinic timestep only need resolve the inertial oscillations. The barotropic accelerations are averaged over the many barotropic timesteps taken between baroclinic steps. At time <formula id="30">$n$</formula>, the baroclinic accelerations are computed. The vertical average of that acceleration is subtracted off and replaced by the time-averaged acceleration from the group of barotropic timesteps:</para>
<para><formula id="31">\[ \Delta t \frac{\partial \vec{u}}{\partial t} = \Delta t \left( \frac{\partial \vec{u}}{\partial t} - \frac{\partial \vec{u}_{BT}}{\partial t} \right)^n + \Delta t \overline{\frac{\partial \vec{u}_{BT}}{\partial t}}^{\Delta t} \]</formula></para>
<para>Similarly, the velocities used in the tracer equation are a careful blend of the barotropic and baroclinic solutions:</para>
<para><formula id="32">\[ \Delta t \frac{\partial \theta}{\partial t} + \Delta t \left( \tilde{\vec{u}} \cdot \nabla \theta + \widetilde{w} \frac{\partial \theta}{\partial z} \right) \]</formula> with <formula id="33">\[ \tilde{\vec{u}} = \vec{u}_{BC} + \overline{\vec{u}_{BT}}^{\Delta t} \]</formula> <formula id="34">\[ \frac{\partial \widetilde{w}}{\partial z} = - \nabla \cdot \tilde{\vec{u}} \]</formula></para>
<sect1 id="Barotropic_Baroclinic_Coupling_1SSH_Estimates">
<title>Two estimates of the free surface height</title>
<para>The vertically discrete, temporally continuous layer continuity equations are:</para>
<para><formula id="35">\[ \frac{\partial h_k}{\partial t} = - \nabla \cdot (\vec{u} h_k) = - \nabla \cdot \mathbf{F} (u_k, h_k) \]</formula></para>
<para>The relationship between the free surface height and the layer thicknesses <formula id="12">$h_k$</formula> is:</para>
<para><formula id="36">\[ \eta = \sum_{k=1}^N h_k - D \]</formula></para>
<para>We get an evolution equation for the free surface height:</para>
<para><formula id="37">\[ \frac{\partial \eta}{\partial t} = \sum_{k=1}^N \frac{\partial h_k}{\partial t} = - \nabla \cdot \sum_{k=1}^N \mathbf{F} (u_k, h_k) \]</formula></para>
<para>If the algorithms for the fluxes in the continuity equations are <emphasis>linear</emphasis> in the velocity, the free surface height can be rewritten as:</para>
<para><formula id="38">\[ \frac{\partial \eta}{\partial t} \&amp;= - \nabla \cdot \sum_{k=1}^N \mathbf{F} (u_k, h_k) = - \nabla \cdot \sum_{k=1}^N (\vec{u}_k h_k) \\ \&amp;= - \nabla \cdot \left[ \sum_{k=1}^N h_k \frac{\sum_{k=1}^N (\vec{u}_k h_k)} {\sum_{k=1}^M k_k} \right] \equiv - \nabla \cdot H \mathbf{U} \]</formula> where</para>
<para><formula id="39">\[ \mathbf{U} \equiv \frac{\sum_{k=1}^N (\vec{u}_k h_k)} {\sum_{k=1}^M k_k} \]</formula> <formula id="40">\[ H \equiv \sum_{k=1}^N h_k \]</formula> However, ALE models like MOM6 require positive-definite, nonlinear continuity solvers (MOM6 uses <ref refid="PPM" kindref="compound">PPM Advection Scheme</ref>). We need a different way to reconcile this estimate of free surface height with the one coming from the barotropic equations. After rejecting several other options, MOM6 is now using the scheme from <ref refid="citelist_1CITEREF_hallberg2009" kindref="member">[17]</ref>. The barotropic update of <formula id="41">$\eta$</formula> is given by:</para>
<para><formula id="42">\[ \frac{\eta^{n+1} - \eta^n}{\Delta t} + \nabla \cdot \left( \overline{UH} \right) = 0 \]</formula></para>
<para>Determine the <formula id="43">$\Delta U$</formula> such that:</para>
<para><formula id="44">\[ \sum_{k=1}^N \mathbf{F} (\tilde{u}_k, h_k) = \left( \overline{UH} \right) \]</formula> where <formula id="45">\[ \tilde{u}_k = u_k + \Delta U \]</formula></para>
<para>The layer timestep equation becomes:</para>
<para><formula id="46">\[ h_k^{n+1} = h_k^n - \Delta t \nabla \cdot \mathbf{F} (\tilde{u}_k, h_k) \]</formula></para>
<para>This scheme has these properties:</para>
<para><itemizedlist>
<listitem><para>Total mass is conserved layer-wise. </para>
</listitem>
<listitem><para>Layer equations retain their flux form. </para>
</listitem>
<listitem><para>Total salt, heat, and other tracers are exactly conserved. </para>
</listitem>
<listitem><para>Free surface heights exactly agree. </para>
</listitem>
<listitem><para>Requires (very few) completely local iterations. </para>
</listitem>
<listitem><para>The velocity corrections are barotropic, and more likely to correspond to the layers whose flow was deficient than in some older schemes.</para>
</listitem>
</itemizedlist>
The solution is unique provided that: <formula id="47">\[ \frac{\partial}{\partial \tilde{u}_k} \mathbf{F}(\tilde{u}_k, h_k) &gt; 0 \]</formula> This is a reasonable requirement for any discretization of the continuity equation. In the continuous limit, <formula id="48">$\mathbf{F} (u,h) = uh$</formula>, so one interpretation is: <formula id="49">\[ \frac{\partial}{\partial \tilde{u}_k} \mathbf{F}(\tilde{u}_k, h_k) = h_{k,\mbox{Marginal}} \]</formula> With the PPM continuity scheme: <formula id="50">\[ F_{i+1/2} = \frac{1}{\Delta t} \int_{x_{i+1/2} - u \Delta t}^{x_{i+1/2}} h_i^n (x) dx \]</formula> leads to: <formula id="51">\[ \frac{\partial F_{i+1/2}}{\partial u_{i+1/2}} = h_i^n ( x_{i+1/2} - u_{i+1/2} \Delta t ) \equiv h_{k, \mbox{Marginal}} \]</formula> <formula id="52">$h_i(x) &gt; 0$</formula> is already required for positive definiteness.</para>
<para>Newton&apos;s method iterations quickly give <formula id="43">$\Delta U$</formula>: <formula id="53">\[ \Delta U^{m+1} = \Delta U^m + \frac{\left( \overline{UH} \right) - \sum_{k=1}^N F(u_k + \Delta U^m, h_k)}{\sum_{k=1}^N h_{k,\mbox{Marginal}}} \]</formula></para>
<sect2 id="Barotropic_Baroclinic_Coupling_1subsec_practical">
<title>How practical is this iterative approach?</title>
<para>The piecewise parabolic method continuity solver uses two steps:</para>
<para><itemizedlist>
<listitem><para>Set up the positive-definite subgridscale profiles, <formula id="54">$h_{PPM}(x)$</formula>.</para>
</listitem>
</itemizedlist>
<image type="html" name="h_PPM.png">Piecewise parabolic reconstructions of \f$h(x)\f$.</image>
 <latexonly>\begin{DoxyImage}\includegraphics[width=\textwidth,height=\textheight/2,keepaspectratio=true]{h_PPM.png}\doxyfigcaption{Piecewise parabolic reconstructions of $h(x)$.}\end{DoxyImage}</latexonly><image type="latex" name="h_PPM.png">Piecewise parabolic reconstructions of $h(x)$.</image></para>
<para><itemizedlist>
<listitem><para>Integrating the profiles to determine <formula id="55">$F$</formula>. Step 1 is typically <formula id="56">$\sim 3$</formula> times as expensive as step 2. <formula id="57">$F(u,h)$</formula> is piecewise cubic in <formula id="58">$u$</formula>, but often nearly linear. Newton&apos;s method iterations converge quickly:</para>
</listitem>
</itemizedlist>
<image type="html" name="Newton_PPM.png">Newton&apos;s method iterations for finding \f$\Delta U\f$.</image>
 <latexonly>\begin{DoxyImage}\includegraphics[width=\textwidth,height=\textheight/2,keepaspectratio=true]{Newton_PPM.png}\doxyfigcaption{Newton&apos;s method iterations for finding $\Delta U$.}\end{DoxyImage}</latexonly><image type="latex" name="Newton_PPM.png">Newton's method iterations for finding $\Delta U$.</image></para>
<para>In a global model the sea surface heights converge everywhere to a tolerance of <formula id="59">$10^{-6}$</formula> m within five iterations. These five iterations add <formula id="60">$\sim 1.6$</formula> times more CPU time to the PPM continuity solver and the continuity solver is just 12% of the total model time.</para>
</sect2>
<sect2 id="Barotropic_Baroclinic_Coupling_1bottom_drag">
<title>A note on bottom drag</title>
<para>Barotropic accelerations do not lead to barotropic flows after a timestep when vertical viscosity is taken into account.</para>
<para><formula id="61">\[ u_k^{n+1} = u_k^n + \Delta t A_k + \Delta t \frac{\tau_{k-1/2} - \tau_{k+1/2}}{h_k} \]</formula></para>
<para><formula id="62">\[ \tau_{1/2} = \tau_{Wind} \]</formula> <formula id="63">\[ \tau_{k+1/2} = \nu_{k+1/2} \frac{u_k^{n+1} - u_{k+1}^{n+1}}{h_{k+1/2}} \]</formula> <formula id="64">\[ \tau_{N+1/2} = \nu_{N+1/2} \frac{2 u_N^{n+1}}{h_{N+1/2}} \]</formula> <formula id="65">\[ \gamma_k \equiv \frac{1}{\Delta t} \frac{\partial u_k^{n+1}} {\overline{\partial A}} \]</formula></para>
<para>A tridiagonal equation for <formula id="66">$\gamma_k$</formula> results, going from 0 for thin layers near the bottom to 1 far above the bottom.</para>
<para><formula id="67">\[ \gamma_1 = 1 + \frac{1}{h_1} \left[ - \frac{\nu_{3/2} \Delta t}{h_{3/2}} (\gamma_1 - \gamma_2) \right] \]</formula> <formula id="68">\[ \gamma_k = 1 + \frac{1}{h_k} \left[ \frac{\nu_{k-1/2} \Delta t}{h_{k-1/2}} (\gamma_{k-1} - \gamma_k) - \frac{\nu_{k+1/2} \Delta t}{h_{k+1/2}} (\gamma_k - \gamma_{k+1}) \right] \]</formula> <formula id="69">\[ \gamma_N = 1 + \frac{1}{h_N} \left[ \frac{\nu_{N-1/2} \Delta t}{h_{N-1/2}} (\gamma_{N-1} - \gamma_N) - \frac{2\nu_{N+1/2} \Delta t}{h_{N+1/2}} \gamma_N \right] \]</formula></para>
<para>In the continuous limit:</para>
<para><formula id="70">\[ \gamma(z) = 1 + \Delta t \frac{d}{dz} \left( \nu \frac{d \gamma}{dz} \right) \]</formula> with boundary conditions: <formula id="71">\[ \frac{d \gamma}{dz} (0) = 0 \]</formula> <formula id="72">\[ \gamma(-D) = 0 \]</formula></para>
<para>For deep water and constant <formula id="73">$\nu$</formula>, we get: <formula id="74">\[ \gamma (z) = 1 - \exp \left( - \sqrt{\nu \Delta t} (z + D) \right) \]</formula></para>
<para><image type="html" name="bottom_drag.png">The continuous solution for barotropic flow plus a no-slip condition at the bottom.</image>
 <image type="latex" name="bottom_drag.png">The continuous solution for barotropic flow plus a no-slip condition at the bottom.</image>
</para>
<para>We want a scheme in which the split model looks exactly like the unsplit model would if we had taken all those short 3D timesteps. Rather than applying a barotropic velocity, we use a barotropic acceleration and allow the continuity solver to determine the transports consistent with a no-slip bottom boundary layer and perhaps also a no-slip surface boundary layer under an ice shelf.</para>
<para>From above, the barotropic equation is:</para>
<para><formula id="42">\[ \frac{\eta^{n+1} - \eta^n}{\Delta t} + \nabla \cdot \left( \overline{UH} \right) = 0 \]</formula> We need to determine the <formula id="75">$\Delta \overline{A}$</formula> such that: <formula id="44">\[ \sum_{k=1}^N \mathbf{F} (\tilde{u}_k, h_k) = \left( \overline{UH} \right) \]</formula> where <formula id="76">\[ \tilde{u}_k = u_k + \gamma_k \Delta \overline{A} \Delta t \]</formula></para>
</sect2>
</sect1>
<sect1 id="Barotropic_Baroclinic_Coupling_1bt-bc_details">
<title>Additional details about the split time stepping</title>
<para><itemizedlist>
<listitem><para>Transports are used as input and output to the barotropic solver. The continuity solver is inverted to determine velocities.</para>
</listitem>
</itemizedlist>
<formula id="77">\[ \frac{\partial \eta}{\partial t} = \nabla \cdot \overline{U} + M \]</formula> <formula id="78">\[ \overline{U} (\overline{u}) = \frac{1}{\Delta t} \int_0^{\overline{u} \Delta t} H(x) dx \]</formula> <formula id="79">\[ \overline{u}^n = \overline{U}^{-1} \left( \sum_{k=1}^N U_k^n \right) \]</formula> <formula id="80">\[ u_k^{n+1} = \tilde{u}_k^{n+1} + \Delta \overline{u} \]</formula></para>
<para>We need to find <formula id="81">$\Delta \overline{u}$</formula> such that:</para>
<para><formula id="82">\[ \sum_{k=1}^N U_k \left( \tilde{u}_k^{n+1} + \Delta \overline{u} \right) = \overline{U}^{n+1} \]</formula></para>
<para><itemizedlist>
<listitem><para>Barotropic accelerations are treated as anomalies from the baroclinic state:</para>
</listitem>
</itemizedlist>
<formula id="83">\[ \frac{\partial \overline{u}}{\partial t} \&amp;= - f \hat{k} \times (\overline{u} - \overline{u}_{Cor}) - \nabla \overline{g} (\eta - \eta_{PF}) - \\ \&amp; \frac{c_D \left( ||u_{Bot}|| + ||u_{Shelf}|| \right)}{\sum_{k=1}^N h_k} (\overline{u} - \overline{u}_{Drag}) + \frac{\sum_{k=1}^N h_k \frac{\partial u_k}{\partial t}} {\sum_{k=1}^N h_k} \]</formula></para>
<para><itemizedlist>
<listitem><para>Bottom drag (and under ice surface-drag) is treated implicitly. </para>
</listitem>
<listitem><para>The barotropic continuity solver uses flow-dependent thickness fits which approximate the sum of the layer thickness transports, to accommodate wetting and drying. An image of this is shown here:</para>
</listitem>
</itemizedlist>
<image type="html" name="bt_bc_thickness.png">The barotropic transports depend on the baroclinic flows and thicknesses.</image>
 <image type="latex" name="bt_bc_thickness.png">The barotropic transports depend on the baroclinic flows and thicknesses.</image>
</para>
</sect1>
<sect1 id="Barotropic_Baroclinic_Coupling_1time-split_summary">
<title>Summary of MOM6 split time stepping</title>
<para><itemizedlist>
<listitem><para>We use an efficient approach for handling fast modes via simplified 2-d equations, while the 3-d baroclinic timestep is determined by baroclinic dynamics.</para>
</listitem>
</itemizedlist>
<itemizedlist>
<listitem><para>The barotropic solver determines free surface height and time-averaged depth-integrated transports.</para>
</listitem>
</itemizedlist>
<itemizedlist>
<listitem><para>By using anomalies, the MOM6 split solver gives identical answers to an equivalent unsplit scheme for short timesteps.</para>
</listitem>
</itemizedlist>
<itemizedlist>
<listitem><para>This scheme has been demonstrated to work with wetting and drying, as well as under ice-shelves.</para>
</listitem>
</itemizedlist>
<itemizedlist>
<listitem><para>The linear barotropic solver allows MOM6 to automatically set a stable barotropic timestep (e.g. to 98% of maximum). </para>
</listitem>
</itemizedlist>
</para>
</sect1>
    </detaileddescription>
  </compounddef>
</doxygen>
