<?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.13">
  <compounddef id="namespacemom__pressureforce__fv" kind="namespace" language="Fortran">
    <compoundname>mom_pressureforce_fv</compoundname>
    <innerclass refid="structmom__pressureforce__fv_1_1pressureforce__fv__cs" prot="public">mom_pressureforce_fv::pressureforce_fv_cs</innerclass>
      <sectiondef kind="func">
      <memberdef kind="function" id="namespacemom__pressureforce__fv_1a50c4a61827e473e643f3f330adf62872" prot="public" static="no" const="no" explicit="no" inline="no" virt="non-virtual">
        <type>subroutine, public</type>
        <definition>subroutine, public mom_pressureforce_fv::pressureforce_fv_nonbouss</definition>
        <argsstring>(h, tv, PFu, PFv, G, GV, US, CS, ALE_CSp, p_atm, pbce, eta)</argsstring>
        <name>pressureforce_fv_nonbouss</name>
        <param>
          <type>h</type>
          <defname>h</defname>
        </param>
        <param>
          <type>tv</type>
          <defname>tv</defname>
        </param>
        <param>
          <type>PFu</type>
          <defname>PFu</defname>
        </param>
        <param>
          <type>PFv</type>
          <defname>PFv</defname>
        </param>
        <param>
          <type>G</type>
          <defname>G</defname>
        </param>
        <param>
          <type>GV</type>
          <defname>GV</defname>
        </param>
        <param>
          <type>US</type>
          <defname>US</defname>
        </param>
        <param>
          <type>CS</type>
          <defname>CS</defname>
        </param>
        <param>
          <type>ALE_CSp</type>
          <defname>ALE_CSp</defname>
        </param>
        <param>
          <type>p_atm</type>
          <defname>p_atm</defname>
        </param>
        <param>
          <type>pbce</type>
          <defname>pbce</defname>
        </param>
        <param>
          <type>eta</type>
          <defname>eta</defname>
        </param>
        <briefdescription>
<para>Non-Boussinesq analytically-integrated finite volume form of pressure gradient. </para>        </briefdescription>
        <detaileddescription>
<para>Determines the acceleration due to hydrostatic pressure forces, using the analytic finite volume form of the Pressure gradient, and does not make the Boussinesq approximation.</para><para>To work, the following fields must be set outside of the usual (is:ie,js:je) range before this subroutine is called: h(isB:ie+1,jsB:je+1), T(isB:ie+1,jsB:je+1), and S(isB:ie+1,jsB:je+1).</para><para><parameterlist kind="param"><parameteritem>
<parameternamelist>
<parametername direction="in">g</parametername>
</parameternamelist>
<parameterdescription>
<para>Ocean grid structure</para></parameterdescription>
</parameteritem>
<parameteritem>
<parameternamelist>
<parametername direction="in">gv</parametername>
</parameternamelist>
<parameterdescription>
<para>Vertical grid structure</para></parameterdescription>
</parameteritem>
<parameteritem>
<parameternamelist>
<parametername direction="in">us</parametername>
</parameternamelist>
<parameterdescription>
<para>A dimensional unit scaling type</para></parameterdescription>
</parameteritem>
<parameteritem>
<parameternamelist>
<parametername direction="in">h</parametername>
</parameternamelist>
<parameterdescription>
<para>Layer thickness [H ~&gt; kg/m2]</para></parameterdescription>
</parameteritem>
<parameteritem>
<parameternamelist>
<parametername direction="in">tv</parametername>
</parameternamelist>
<parameterdescription>
<para>Thermodynamic variables</para></parameterdescription>
</parameteritem>
<parameteritem>
<parameternamelist>
<parametername direction="out">pfu</parametername>
</parameternamelist>
<parameterdescription>
<para>Zonal acceleration [L T-2 ~&gt; m s-2]</para></parameterdescription>
</parameteritem>
<parameteritem>
<parameternamelist>
<parametername direction="out">pfv</parametername>
</parameternamelist>
<parameterdescription>
<para>Meridional acceleration [L T-2 ~&gt; m s-2]</para></parameterdescription>
</parameteritem>
<parameteritem>
<parameternamelist>
<parametername>cs</parametername>
</parameternamelist>
<parameterdescription>
<para>Finite volume PGF control structure</para></parameterdescription>
</parameteritem>
<parameteritem>
<parameternamelist>
<parametername>ale_csp</parametername>
</parameternamelist>
<parameterdescription>
<para>ALE control structure</para></parameterdescription>
</parameteritem>
<parameteritem>
<parameternamelist>
<parametername>p_atm</parametername>
</parameternamelist>
<parameterdescription>
<para>The pressure at the ice-ocean or atmosphere-ocean interface [R L2 T-2 ~&gt; Pa].</para></parameterdescription>
</parameteritem>
<parameteritem>
<parameternamelist>
<parametername direction="out">pbce</parametername>
</parameternamelist>
<parameterdescription>
<para>The baroclinic pressure anomaly in each layer due to eta anomalies [L2 T-2 H-1 ~&gt; m s-2 or m4 s-2 kg-1].</para></parameterdescription>
</parameteritem>
<parameteritem>
<parameternamelist>
<parametername direction="out">eta</parametername>
</parameternamelist>
<parameterdescription>
<para>The bottom mass used to calculate PFu and PFv [H ~&gt; m or kg m-2], with any tidal contributions or compressibility compensation. </para></parameterdescription>
</parameteritem>
</parameterlist>
</para>        </detaileddescription>
        <inbodydescription>
        </inbodydescription>
        <location file="/home/cermak/src/MOM6.devrob/src/core/MOM_PressureForce_FV.F90" line="76" column="1" bodyfile="/home/cermak/src/MOM6.devrob/src/core/MOM_PressureForce_FV.F90" bodystart="77" bodyend="405"/>
        <references refid="namespacemom__tidal__forcing_1a9614ae35fac1d880d5daacbd60f3d47a" compoundref="MOM__tidal__forcing_8F90" startline="583" endline="665">mom_tidal_forcing::calc_tidal_forcing</references>
        <references refid="namespacemom__error__handler_1a460cfb79a06c29fc249952c2a3710d67" compoundref="MOM__error__handler_8F90" startline="72" endline="92">mom_error_handler::mom_error</references>
        <references refid="namespacemom__pressureforce__mont_1a297cdf6e4eb83d250444c5f527a8a232" compoundref="MOM__PressureForce__Montgomery_8F90" startline="710" endline="817">mom_pressureforce_mont::set_pbce_nonbouss</references>
        <references refid="namespacemom__ale_1abedb087c760a6ac146735275638db58a" compoundref="MOM__ALE_8F90" startline="1014" endline="1033">mom_ale::ts_plm_edge_values</references>
        <references refid="namespacemom__ale_1a1920c7b1be73d2bf7c5afc29b1b1245b" compoundref="MOM__ALE_8F90" startline="1100" endline="1180">mom_ale::ts_ppm_edge_values</references>
      </memberdef>
      <memberdef kind="function" id="namespacemom__pressureforce__fv_1a08e9a212bae769c475093a6e0fd6b12b" prot="public" static="no" const="no" explicit="no" inline="no" virt="non-virtual">
        <type>subroutine, public</type>
        <definition>subroutine, public mom_pressureforce_fv::pressureforce_fv_bouss</definition>
        <argsstring>(h, tv, PFu, PFv, G, GV, US, CS, ALE_CSp, p_atm, pbce, eta)</argsstring>
        <name>pressureforce_fv_bouss</name>
        <param>
          <type>h</type>
          <defname>h</defname>
        </param>
        <param>
          <type>tv</type>
          <defname>tv</defname>
        </param>
        <param>
          <type>PFu</type>
          <defname>PFu</defname>
        </param>
        <param>
          <type>PFv</type>
          <defname>PFv</defname>
        </param>
        <param>
          <type>G</type>
          <defname>G</defname>
        </param>
        <param>
          <type>GV</type>
          <defname>GV</defname>
        </param>
        <param>
          <type>US</type>
          <defname>US</defname>
        </param>
        <param>
          <type>CS</type>
          <defname>CS</defname>
        </param>
        <param>
          <type>ALE_CSp</type>
          <defname>ALE_CSp</defname>
        </param>
        <param>
          <type>p_atm</type>
          <defname>p_atm</defname>
        </param>
        <param>
          <type>pbce</type>
          <defname>pbce</defname>
        </param>
        <param>
          <type>eta</type>
          <defname>eta</defname>
        </param>
        <briefdescription>
<para>Boussinesq analytically-integrated finite volume form of pressure gradient. </para>        </briefdescription>
        <detaileddescription>
<para>Determines the acceleration due to hydrostatic pressure forces, using the finite volume form of the terms and analytic integrals in depth.</para><para>To work, the following fields must be set outside of the usual (is:ie,js:je) range before this subroutine is called: h(isB:ie+1,jsB:je+1), T(isB:ie+1,jsB:je+1), and S(isB:ie+1,jsB:je+1).</para><para><parameterlist kind="param"><parameteritem>
<parameternamelist>
<parametername direction="in">g</parametername>
</parameternamelist>
<parameterdescription>
<para>Ocean grid structure</para></parameterdescription>
</parameteritem>
<parameteritem>
<parameternamelist>
<parametername direction="in">gv</parametername>
</parameternamelist>
<parameterdescription>
<para>Vertical grid structure</para></parameterdescription>
</parameteritem>
<parameteritem>
<parameternamelist>
<parametername direction="in">us</parametername>
</parameternamelist>
<parameterdescription>
<para>A dimensional unit scaling type</para></parameterdescription>
</parameteritem>
<parameteritem>
<parameternamelist>
<parametername direction="in">h</parametername>
</parameternamelist>
<parameterdescription>
<para>Layer thickness [H ~&gt; m]</para></parameterdescription>
</parameteritem>
<parameteritem>
<parameternamelist>
<parametername direction="in">tv</parametername>
</parameternamelist>
<parameterdescription>
<para>Thermodynamic variables</para></parameterdescription>
</parameteritem>
<parameteritem>
<parameternamelist>
<parametername direction="out">pfu</parametername>
</parameternamelist>
<parameterdescription>
<para>Zonal acceleration [L T-2 ~&gt; m s-2]</para></parameterdescription>
</parameteritem>
<parameteritem>
<parameternamelist>
<parametername direction="out">pfv</parametername>
</parameternamelist>
<parameterdescription>
<para>Meridional acceleration [L T-2 ~&gt; m s-2]</para></parameterdescription>
</parameteritem>
<parameteritem>
<parameternamelist>
<parametername>cs</parametername>
</parameternamelist>
<parameterdescription>
<para>Finite volume PGF control structure</para></parameterdescription>
</parameteritem>
<parameteritem>
<parameternamelist>
<parametername>ale_csp</parametername>
</parameternamelist>
<parameterdescription>
<para>ALE control structure</para></parameterdescription>
</parameteritem>
<parameteritem>
<parameternamelist>
<parametername>p_atm</parametername>
</parameternamelist>
<parameterdescription>
<para>The pressure at the ice-ocean or atmosphere-ocean interface [R L2 T-2 ~&gt; Pa].</para></parameterdescription>
</parameteritem>
<parameteritem>
<parameternamelist>
<parametername direction="out">pbce</parametername>
</parameternamelist>
<parameterdescription>
<para>The baroclinic pressure anomaly in each layer due to eta anomalies [L2 T-2 H-1 ~&gt; m s-2 or m4 s-2 kg-1].</para></parameterdescription>
</parameteritem>
<parameteritem>
<parameternamelist>
<parametername direction="out">eta</parametername>
</parameternamelist>
<parameterdescription>
<para>The bottom mass used to calculate PFu and PFv [H ~&gt; m or kg m-2], with any tidal contributions or compressibility compensation. </para></parameterdescription>
</parameteritem>
</parameterlist>
</para>        </detaileddescription>
        <inbodydescription>
        </inbodydescription>
        <location file="/home/cermak/src/MOM6.devrob/src/core/MOM_PressureForce_FV.F90" line="416" column="1" bodyfile="/home/cermak/src/MOM6.devrob/src/core/MOM_PressureForce_FV.F90" bodystart="417" bodyend="795"/>
        <references refid="namespacemom__tidal__forcing_1a9614ae35fac1d880d5daacbd60f3d47a" compoundref="MOM__tidal__forcing_8F90" startline="583" endline="665">mom_tidal_forcing::calc_tidal_forcing</references>
        <references refid="namespacemom__error__handler_1a460cfb79a06c29fc249952c2a3710d67" compoundref="MOM__error__handler_8F90" startline="72" endline="92">mom_error_handler::mom_error</references>
        <references refid="namespacemom__pressureforce__mont_1a0779efd30a447c2bc20294c46aeea180" compoundref="MOM__PressureForce__Montgomery_8F90" startline="607" endline="704">mom_pressureforce_mont::set_pbce_bouss</references>
        <references refid="namespacemom__ale_1abedb087c760a6ac146735275638db58a" compoundref="MOM__ALE_8F90" startline="1014" endline="1033">mom_ale::ts_plm_edge_values</references>
        <references refid="namespacemom__ale_1a1920c7b1be73d2bf7c5afc29b1b1245b" compoundref="MOM__ALE_8F90" startline="1100" endline="1180">mom_ale::ts_ppm_edge_values</references>
      </memberdef>
      <memberdef kind="function" id="namespacemom__pressureforce__fv_1a59da32e314b0a8a8feb6e8cd63ef88e0" prot="public" static="no" const="no" explicit="no" inline="no" virt="non-virtual">
        <type>subroutine, public</type>
        <definition>subroutine, public mom_pressureforce_fv::pressureforce_fv_init</definition>
        <argsstring>(Time, G, GV, US, param_file, diag, CS, tides_CSp)</argsstring>
        <name>pressureforce_fv_init</name>
        <param>
          <type>Time</type>
          <defname>Time</defname>
        </param>
        <param>
          <type>G</type>
          <defname>G</defname>
        </param>
        <param>
          <type>GV</type>
          <defname>GV</defname>
        </param>
        <param>
          <type>US</type>
          <defname>US</defname>
        </param>
        <param>
          <type>param_file</type>
          <defname>param_file</defname>
        </param>
        <param>
          <type>diag</type>
          <defname>diag</defname>
        </param>
        <param>
          <type>CS</type>
          <defname>CS</defname>
        </param>
        <param>
          <type>tides_CSp</type>
          <defname>tides_CSp</defname>
        </param>
        <briefdescription>
<para>Initializes the finite volume pressure gradient control structure. </para>        </briefdescription>
        <detaileddescription>
<para><parameterlist kind="param"><parameteritem>
<parameternamelist>
<parametername direction="in">time</parametername>
</parameternamelist>
<parameterdescription>
<para>Current model time</para></parameterdescription>
</parameteritem>
<parameteritem>
<parameternamelist>
<parametername direction="in">g</parametername>
</parameternamelist>
<parameterdescription>
<para>Ocean grid structure</para></parameterdescription>
</parameteritem>
<parameteritem>
<parameternamelist>
<parametername direction="in">gv</parametername>
</parameternamelist>
<parameterdescription>
<para>Vertical grid structure</para></parameterdescription>
</parameteritem>
<parameteritem>
<parameternamelist>
<parametername direction="in">us</parametername>
</parameternamelist>
<parameterdescription>
<para>A dimensional unit scaling type</para></parameterdescription>
</parameteritem>
<parameteritem>
<parameternamelist>
<parametername direction="in">param_file</parametername>
</parameternamelist>
<parameterdescription>
<para>Parameter file handles</para></parameterdescription>
</parameteritem>
<parameteritem>
<parameternamelist>
<parametername direction="inout">diag</parametername>
</parameternamelist>
<parameterdescription>
<para>Diagnostics control structure</para></parameterdescription>
</parameteritem>
<parameteritem>
<parameternamelist>
<parametername>cs</parametername>
</parameternamelist>
<parameterdescription>
<para>Finite volume PGF control structure</para></parameterdescription>
</parameteritem>
<parameteritem>
<parameternamelist>
<parametername>tides_csp</parametername>
</parameternamelist>
<parameterdescription>
<para>Tides control structure </para></parameterdescription>
</parameteritem>
</parameterlist>
</para>        </detaileddescription>
        <inbodydescription>
        </inbodydescription>
        <location file="/home/cermak/src/MOM6.devrob/src/core/MOM_PressureForce_FV.F90" line="799" column="1" bodyfile="/home/cermak/src/MOM6.devrob/src/core/MOM_PressureForce_FV.F90" bodystart="800" bodyend="876"/>
        <references refid="namespacemom__error__handler_1a460cfb79a06c29fc249952c2a3710d67" compoundref="MOM__error__handler_8F90" startline="72" endline="92">mom_error_handler::mom_error</references>
      </memberdef>
      <memberdef kind="function" id="namespacemom__pressureforce__fv_1ae4ced0f46de081e5cbd55134d878e802" prot="public" static="no" const="no" explicit="no" inline="no" virt="non-virtual">
        <type>subroutine, public</type>
        <definition>subroutine, public mom_pressureforce_fv::pressureforce_fv_end</definition>
        <argsstring>(CS)</argsstring>
        <name>pressureforce_fv_end</name>
        <param>
          <type>CS</type>
          <defname>CS</defname>
        </param>
        <briefdescription>
<para>Deallocates the finite volume pressure gradient control structure. </para>        </briefdescription>
        <detaileddescription>
<para><parameterlist kind="param"><parameteritem>
<parameternamelist>
<parametername>cs</parametername>
</parameternamelist>
<parameterdescription>
<para>Finite volume pressure control structure that will be deallocated in this subroutine. </para></parameterdescription>
</parameteritem>
</parameterlist>
</para>        </detaileddescription>
        <inbodydescription>
        </inbodydescription>
        <location file="/home/cermak/src/MOM6.devrob/src/core/MOM_PressureForce_FV.F90" line="880" column="1" bodyfile="/home/cermak/src/MOM6.devrob/src/core/MOM_PressureForce_FV.F90" bodystart="881" bodyend="883"/>
      </memberdef>
      </sectiondef>
    <briefdescription>
<para>Finite volume pressure gradient (integrated by quadrature or analytically) </para>    </briefdescription>
    <detaileddescription>
<para>Provides the Boussinesq and non-Boussinesq forms of horizontal accelerations due to pressure gradients using a vertically integrated finite volume form, as described by Adcroft et al., 2008. Integration in the vertical is made either by quadrature or analytically.</para><para>This form eliminates the thermobaric instabilities that had been a problem with previous forms of the pressure gradient force calculation, as described by Hallberg, 2005.</para><para>Adcroft, A., R. Hallberg, and M. Harrison, 2008: A finite volume discretization of the pressure gradient force using analytic integration. Ocean Modelling, 22, 106-113. <ulink url="http://doi.org/10.1016/j.ocemod.2008.02.001">http://doi.org/10.1016/j.ocemod.2008.02.001</ulink></para><para>Hallberg, 2005: A thermobaric instability of Lagrangian vertical coordinate ocean models. Ocean Modelling, 8, 279-300. <ulink url="http://dx.doi.org/10.1016/j.ocemod.2004.01.001">http://dx.doi.org/10.1016/j.ocemod.2004.01.001</ulink> </para>    </detaileddescription>
    <location file="/home/cermak/src/MOM6.devrob/src/core/MOM_PressureForce_FV.F90" line="2" column="1"/>
  </compounddef>
</doxygen>
