<?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.18">
  <compounddef id="Tracer_Transport_Equations" kind="page">
    <compoundname>Tracer_Transport_Equations</compoundname>
    <title>Tracer Transport Equations</title>
    <briefdescription>
    </briefdescription>
    <detaileddescription>
<para><image type="html" name="PPM_1d.png">The 1-D finite volume advection of tracers. The reddish fluid will be in the cell at the end of the timestep.</image>
 <image type="latex" name="PPM_1d.png">The 1-D finite volume advection of tracers. The reddish fluid will be in the cell at the end of the timestep.</image>
</para>
<para>Given a piecewise polynomial description of the tracer concentration, the new tracer cell concentration is the average of the fluid that will be in the cell after a timestep.</para>
<para><formula id="498">\begin{eqnarray} \int_{x_{i-1/2}}^{x_{i+1/2}} A_i^{n+1} (x) dx = \int_{x_{i-1/2 - u \Delta t}}^{x_{i+1/2-u\Delta t}} A_i^{n} (x) dx &amp;= \mbox{} \\ \int_{x_{i-1/2}}^{x_{i+1/2}} A_i^{n} (x) dx - \int_{x_{i+1/2 - u \Delta t}}^{x_{i+1/2}} A_i^{n} (x) dx &amp;+ \int_{x_{i-1/2 - u \Delta t}}^{x_{i-1/2}} A_i^{n} (x) dx \end{eqnarray}</formula></para>
<para>Fluxes are found by analytically integrating the profile over the distance that is swept past the face within a timestep.</para>
<para><formula id="499">\[ a_i^n = \frac{1}{\Delta x} \int_{x_{i-1/2}}^{x_{i+1/2}} A_i^n(x) dx \]</formula> <formula id="500">\[ a_i^{n+1} = a_i^n - \frac{\Delta t}{\Delta x} (F_{i+1/2} - F_{i-1/2}) \]</formula> <formula id="501">\[ F_{i+1/2} = \frac{1}{\Delta t} \int_{x_{i+1/2 - u \Delta t}}^{x_{i+1/2}} A_i^n(x) dx \]</formula> <formula id="502">\[ F_{i-1/2} = \frac{1}{\Delta t} \int_{x_{i-1/2 - u \Delta t}}^{x_{i-1/2}} A_i^n(x) dx \]</formula></para>
<para>With piecewise constant profiles, this approach give first order upwind advection. Higher order polynomials (e.g., parabolas) can give higher order accuracy.</para>
<sect1 id="Tracer_Transport_Equations_1Multidimensional_Tracer_Advection">
<title>Multidimensional Tracer Advection</title>
<para>Using &quot;Easter&apos;s Pseudo-compressibility&quot; (<ref refid="citelist_1CITEREF_easter1993" kindref="member">[11]</ref>), we start with these basic equations for a tracer <formula id="503">$\psi$</formula>:</para>
<para><anchor id="Tracer_Transport_Equations_1ht-equation"/> <formula id="504">\[ \frac{\partial h}{\partial t} + \vec{\nabla} \cdot (\vec{u}h) = 0 \equiv \frac{\partial h}{\partial t} + \vec{\nabla} \cdot (\vec{U}) \]</formula></para>
<para><formula id="505">\[ \frac{\partial}{\partial t} (h \psi) + \vec{\nabla} \cdot (\vec{U}\psi) = 0 \]</formula></para>
<para><formula id="506">\[ \frac{\partial \psi}{\partial t} + \vec{u} \cdot \vec{\nabla} \psi = 0 \]</formula></para>
<para>We discretize the first of these equations in space:</para>
<para><formula id="507">\[ \frac{\partial h}{\partial t} = \frac{1}{\Delta x} \left(U_{i-\frac{1}{2},j} - U_{i+\frac{1}{2},j} \right) + \frac{1}{\Delta y} \left(V_{i, j-\frac{1}{2}} - V_{i,j+\frac{1}{2}} \right) \]</formula></para>
<para>Using our monotonic one-dimensional flux:</para>
<para><formula id="508">\[ F_{i+\frac{1}{2},j} (\psi) = U_{i+\frac{1}{2},j} \psi_{i+\frac{1}{2},j} \]</formula></para>
<para>we come up with an estimate based only on an update in the <formula id="111">$x$</formula> direction:</para>
<para><formula id="509">\[ \tilde{h}_{i,j} \tilde{\psi}_{i,j} = h^n_{i,j} \psi_{i,j} + \frac{\Delta t}{\Delta x} \left( F_{i-\frac{1}{2},j} (\psi^n) - F_{i+\frac{1}{2},j} (\psi^n) \right) \]</formula></para>
<para><formula id="510">\[ \tilde{h}_{i,j} = h^n_{i,j} + \frac{\Delta t}{\Delta x} \left( U_{i-\frac{1}{2},j} - U_{i+\frac{1}{2},j} \right) \]</formula></para>
<para><formula id="511">\[ \tilde{\psi}_{i,j} = \frac{\tilde{h}_{i,j} \tilde{\psi}_{i,j}}{\tilde{h}_{i,j}} \]</formula></para>
<para>Next, we update in the <formula id="113">$y$</formula> direction:</para>
<para><formula id="512">\[ h^{n+1}_{i,j} \psi^{n+1}_{i,j} = \tilde{h}_{i,j} \tilde{\psi}_{i,j} + \frac{\Delta t}{\Delta y} \left( G_{i,j-\frac{1}{2}} (\tilde{\psi}) - G_{i,j+\frac{1}{2}} (\tilde{\psi}) \right) \]</formula></para>
<para><formula id="513">\[ h^{n+1}_{i,j} = \tilde{h}_{i,j} + \frac{\Delta t}{\Delta y} \left( V_{i,j-\frac{1}{2}} - V_{i,j+\frac{1}{2}} \right) \]</formula></para>
<para><formula id="514">\[ \psi^{n+1}_{i,j} = \frac{h^{n+1}_{i,j} \psi^{n+1}_{i,j}}{h^{n+1}_{i,j}} \]</formula></para>
<para><itemizedlist>
<listitem><para>This method ensures monotonicity. Strang splitting can reduce directional splitting error. See <ref refid="citelist_1CITEREF_easter1993" kindref="member">[11]</ref>, <ref refid="citelist_1CITEREF_durran2010" kindref="member">[10]</ref> (section 5.9.4), and <ref refid="citelist_1CITEREF_russell1981" kindref="member">[30]</ref> .</para>
</listitem>
</itemizedlist>
<itemizedlist>
<listitem><para>Flux-form pseudo-compressibility advection is based on accumulated mass (or volume) fluxes, not velocities.</para>
</listitem>
</itemizedlist>
<itemizedlist>
<listitem><para>Additional pseudo-compressibility passes can be added to accommodate transports exceeding cell masses. Extra passes of tracer advection are used in MOM6 in the small fraction of cells where this is needed.</para>
</listitem>
</itemizedlist>
<itemizedlist>
<listitem><para>Explicit layered dynamics time-steps are limited by Doppler-shifted internal gravity wave speeds or inertial oscillations. Flow speeds in most of the ocean volume are much smaller than the peak internal wave speeds so that the advective time-steps can be longer.</para>
</listitem>
</itemizedlist>
<itemizedlist>
<listitem><para>Advective mass fluxes in MOM6 are often accumulated over multiple dynamic steps. The goal is that as we go to higher resolution, this tracer advection will remain stable at relatively long time-steps, allowing for the inclusion of many biogeochemical tracers without adding an undue burden in computational cost. </para>
</listitem>
</itemizedlist>
</para>
</sect1>
    </detaileddescription>
  </compounddef>
</doxygen>
