<?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.14">
  <compounddef id="namespacemom__barotropic" kind="namespace" language="Fortran">
    <compoundname>mom_barotropic</compoundname>
    <innerclass refid="structmom__barotropic_1_1barotropic__cs" prot="public">mom_barotropic::barotropic_cs</innerclass>
    <innerclass refid="structmom__barotropic_1_1bt__obc__type" prot="private">mom_barotropic::bt_obc_type</innerclass>
    <innerclass refid="structmom__barotropic_1_1local__bt__cont__u__type" prot="private">mom_barotropic::local_bt_cont_u_type</innerclass>
    <innerclass refid="structmom__barotropic_1_1local__bt__cont__v__type" prot="private">mom_barotropic::local_bt_cont_v_type</innerclass>
    <innerclass refid="structmom__barotropic_1_1memory__size__type" prot="private">mom_barotropic::memory_size_type</innerclass>
      <sectiondef kind="user-defined">
      <memberdef kind="variable" id="namespacemom__barotropic_1ae71abf473e3483226651abb790cf1e2b" prot="private" static="no" mutable="no">
        <type>integer</type>
        <definition>integer mom_barotropic::id_clock_sync</definition>
        <argsstring></argsstring>
        <name>id_clock_sync</name>
        <initializer>=-1</initializer>
        <briefdescription>
<para>CPU time clock IDs. </para>        </briefdescription>
        <detaileddescription>
        </detaileddescription>
        <inbodydescription>
        </inbodydescription>
        <location file="/home/cermak/src/MOM6.devrob/src/core/MOM_barotropic.F90" line="381" column="1" bodyfile="/home/cermak/src/MOM6.devrob/src/core/MOM_barotropic.F90" bodystart="381" bodyend="381"/>
        <referencedby refid="namespacemom__barotropic_1a59244968890766632554a6d271ec4499" compoundref="MOM__barotropic_8F90" startline="4206" endline="4919">barotropic_init</referencedby>
        <referencedby refid="namespacemom__barotropic_1a486257b675aa4e81c2d1634b5288a67f" compoundref="MOM__barotropic_8F90" startline="2644" endline="2756">set_dtbt</referencedby>
      </memberdef>
      <memberdef kind="variable" id="namespacemom__barotropic_1a30989767cf3f852158de8fdbcbb6a272" prot="private" static="no" mutable="no">
        <type>integer</type>
        <definition>integer mom_barotropic::id_clock_calc</definition>
        <argsstring></argsstring>
        <name>id_clock_calc</name>
        <initializer>=-1</initializer>
        <briefdescription>
<para>CPU time clock IDs. </para>        </briefdescription>
        <detaileddescription>
        </detaileddescription>
        <inbodydescription>
        </inbodydescription>
        <location file="/home/cermak/src/MOM6.devrob/src/core/MOM_barotropic.F90" line="381" column="1" bodyfile="/home/cermak/src/MOM6.devrob/src/core/MOM_barotropic.F90" bodystart="381" bodyend="-1"/>
        <referencedby refid="namespacemom__barotropic_1a59244968890766632554a6d271ec4499" compoundref="MOM__barotropic_8F90" startline="4206" endline="4919">barotropic_init</referencedby>
        <referencedby refid="namespacemom__barotropic_1ac60353f002de5980317d117a3db1a075" compoundref="MOM__barotropic_8F90" startline="411" endline="2638">btstep</referencedby>
      </memberdef>
      <memberdef kind="variable" id="namespacemom__barotropic_1abc096fcad8b8bf59f220d00adfce9de8" prot="private" static="no" mutable="no">
        <type>integer</type>
        <definition>integer mom_barotropic::id_clock_calc_pre</definition>
        <argsstring></argsstring>
        <name>id_clock_calc_pre</name>
        <initializer>=-1</initializer>
        <briefdescription>
<para>CPU time clock IDs. </para>        </briefdescription>
        <detaileddescription>
        </detaileddescription>
        <inbodydescription>
        </inbodydescription>
        <location file="/home/cermak/src/MOM6.devrob/src/core/MOM_barotropic.F90" line="382" column="1" bodyfile="/home/cermak/src/MOM6.devrob/src/core/MOM_barotropic.F90" bodystart="382" bodyend="382"/>
        <referencedby refid="namespacemom__barotropic_1a59244968890766632554a6d271ec4499" compoundref="MOM__barotropic_8F90" startline="4206" endline="4919">barotropic_init</referencedby>
        <referencedby refid="namespacemom__barotropic_1ac60353f002de5980317d117a3db1a075" compoundref="MOM__barotropic_8F90" startline="411" endline="2638">btstep</referencedby>
        <referencedby refid="namespacemom__barotropic_1a2be327af11ae54368acd32a3ba360ac4" compoundref="MOM__barotropic_8F90" startline="3757" endline="3887">set_local_bt_cont_types</referencedby>
      </memberdef>
      <memberdef kind="variable" id="namespacemom__barotropic_1a0b999fb31c536d29b1d6503bb4501abc" prot="private" static="no" mutable="no">
        <type>integer</type>
        <definition>integer mom_barotropic::id_clock_calc_post</definition>
        <argsstring></argsstring>
        <name>id_clock_calc_post</name>
        <initializer>=-1</initializer>
        <briefdescription>
<para>CPU time clock IDs. </para>        </briefdescription>
        <detaileddescription>
        </detaileddescription>
        <inbodydescription>
        </inbodydescription>
        <location file="/home/cermak/src/MOM6.devrob/src/core/MOM_barotropic.F90" line="382" column="1" bodyfile="/home/cermak/src/MOM6.devrob/src/core/MOM_barotropic.F90" bodystart="382" bodyend="-1"/>
        <referencedby refid="namespacemom__barotropic_1a59244968890766632554a6d271ec4499" compoundref="MOM__barotropic_8F90" startline="4206" endline="4919">barotropic_init</referencedby>
        <referencedby refid="namespacemom__barotropic_1ac60353f002de5980317d117a3db1a075" compoundref="MOM__barotropic_8F90" startline="411" endline="2638">btstep</referencedby>
      </memberdef>
      <memberdef kind="variable" id="namespacemom__barotropic_1a2df2b958844a4701d4584219b168bd1a" prot="private" static="no" mutable="no">
        <type>integer</type>
        <definition>integer mom_barotropic::id_clock_pass_step</definition>
        <argsstring></argsstring>
        <name>id_clock_pass_step</name>
        <initializer>=-1</initializer>
        <briefdescription>
<para>CPU time clock IDs. </para>        </briefdescription>
        <detaileddescription>
        </detaileddescription>
        <inbodydescription>
        </inbodydescription>
        <location file="/home/cermak/src/MOM6.devrob/src/core/MOM_barotropic.F90" line="383" column="1" bodyfile="/home/cermak/src/MOM6.devrob/src/core/MOM_barotropic.F90" bodystart="383" bodyend="383"/>
        <referencedby refid="namespacemom__barotropic_1a59244968890766632554a6d271ec4499" compoundref="MOM__barotropic_8F90" startline="4206" endline="4919">barotropic_init</referencedby>
        <referencedby refid="namespacemom__barotropic_1ac60353f002de5980317d117a3db1a075" compoundref="MOM__barotropic_8F90" startline="411" endline="2638">btstep</referencedby>
      </memberdef>
      <memberdef kind="variable" id="namespacemom__barotropic_1a97318a4f938ac5caccd486bac83867ca" prot="private" static="no" mutable="no">
        <type>integer</type>
        <definition>integer mom_barotropic::id_clock_pass_pre</definition>
        <argsstring></argsstring>
        <name>id_clock_pass_pre</name>
        <initializer>=-1</initializer>
        <briefdescription>
<para>CPU time clock IDs. </para>        </briefdescription>
        <detaileddescription>
        </detaileddescription>
        <inbodydescription>
        </inbodydescription>
        <location file="/home/cermak/src/MOM6.devrob/src/core/MOM_barotropic.F90" line="383" column="1" bodyfile="/home/cermak/src/MOM6.devrob/src/core/MOM_barotropic.F90" bodystart="383" bodyend="-1"/>
        <referencedby refid="namespacemom__barotropic_1a59244968890766632554a6d271ec4499" compoundref="MOM__barotropic_8F90" startline="4206" endline="4919">barotropic_init</referencedby>
        <referencedby refid="namespacemom__barotropic_1ac60353f002de5980317d117a3db1a075" compoundref="MOM__barotropic_8F90" startline="411" endline="2638">btstep</referencedby>
        <referencedby refid="namespacemom__barotropic_1a2be327af11ae54368acd32a3ba360ac4" compoundref="MOM__barotropic_8F90" startline="3757" endline="3887">set_local_bt_cont_types</referencedby>
      </memberdef>
      <memberdef kind="variable" id="namespacemom__barotropic_1a12c05c28cd9c104c180f45c5b666b92a" prot="private" static="no" mutable="no">
        <type>integer</type>
        <definition>integer mom_barotropic::id_clock_pass_post</definition>
        <argsstring></argsstring>
        <name>id_clock_pass_post</name>
        <initializer>=-1</initializer>
        <briefdescription>
<para>CPU time clock IDs. </para>        </briefdescription>
        <detaileddescription>
        </detaileddescription>
        <inbodydescription>
        </inbodydescription>
        <location file="/home/cermak/src/MOM6.devrob/src/core/MOM_barotropic.F90" line="383" column="1" bodyfile="/home/cermak/src/MOM6.devrob/src/core/MOM_barotropic.F90" bodystart="383" bodyend="-1"/>
        <referencedby refid="namespacemom__barotropic_1a59244968890766632554a6d271ec4499" compoundref="MOM__barotropic_8F90" startline="4206" endline="4919">barotropic_init</referencedby>
        <referencedby refid="namespacemom__barotropic_1ac60353f002de5980317d117a3db1a075" compoundref="MOM__barotropic_8F90" startline="411" endline="2638">btstep</referencedby>
      </memberdef>
      </sectiondef>
      <sectiondef kind="user-defined">
      <memberdef kind="variable" id="namespacemom__barotropic_1af7eb111a979084e72d6b3474d07bce8f" prot="private" static="no" mutable="no">
        <type>integer, parameter</type>
        <definition>integer, parameter mom_barotropic::harmonic</definition>
        <argsstring></argsstring>
        <name>harmonic</name>
        <initializer>= 1</initializer>
        <briefdescription>
<para>Enumeration values for various schemes. </para>        </briefdescription>
        <detaileddescription>
        </detaileddescription>
        <inbodydescription>
        </inbodydescription>
        <location file="/home/cermak/src/MOM6.devrob/src/core/MOM_barotropic.F90" line="387" column="1" bodyfile="/home/cermak/src/MOM6.devrob/src/core/MOM_barotropic.F90" bodystart="387" bodyend="387"/>
        <referencedby refid="namespacemom__barotropic_1a59244968890766632554a6d271ec4499" compoundref="MOM__barotropic_8F90" startline="4206" endline="4919">barotropic_init</referencedby>
        <referencedby refid="namespacemom__barotropic_1aa60ee766449413de40cdbc19964a6556" compoundref="MOM__barotropic_8F90" startline="3184" endline="3452">btcalc</referencedby>
      </memberdef>
      <memberdef kind="variable" id="namespacemom__barotropic_1a735fe88440ec7db07f6640ae9f7b039a" prot="private" static="no" mutable="no">
        <type>integer, parameter</type>
        <definition>integer, parameter mom_barotropic::arithmetic</definition>
        <argsstring></argsstring>
        <name>arithmetic</name>
        <initializer>= 2</initializer>
        <briefdescription>
<para>Enumeration values for various schemes. </para>        </briefdescription>
        <detaileddescription>
        </detaileddescription>
        <inbodydescription>
        </inbodydescription>
        <location file="/home/cermak/src/MOM6.devrob/src/core/MOM_barotropic.F90" line="388" column="1" bodyfile="/home/cermak/src/MOM6.devrob/src/core/MOM_barotropic.F90" bodystart="388" bodyend="388"/>
        <referencedby refid="namespacemom__barotropic_1a59244968890766632554a6d271ec4499" compoundref="MOM__barotropic_8F90" startline="4206" endline="4919">barotropic_init</referencedby>
        <referencedby refid="namespacemom__barotropic_1aa60ee766449413de40cdbc19964a6556" compoundref="MOM__barotropic_8F90" startline="3184" endline="3452">btcalc</referencedby>
      </memberdef>
      <memberdef kind="variable" id="namespacemom__barotropic_1a2e9f6ac6029c84484a0f812a218e9744" prot="private" static="no" mutable="no">
        <type>integer, parameter</type>
        <definition>integer, parameter mom_barotropic::hybrid</definition>
        <argsstring></argsstring>
        <name>hybrid</name>
        <initializer>= 3</initializer>
        <briefdescription>
<para>Enumeration values for various schemes. </para>        </briefdescription>
        <detaileddescription>
        </detaileddescription>
        <inbodydescription>
        </inbodydescription>
        <location file="/home/cermak/src/MOM6.devrob/src/core/MOM_barotropic.F90" line="389" column="1" bodyfile="/home/cermak/src/MOM6.devrob/src/core/MOM_barotropic.F90" bodystart="389" bodyend="389"/>
        <referencedby refid="namespacemom__barotropic_1a59244968890766632554a6d271ec4499" compoundref="MOM__barotropic_8F90" startline="4206" endline="4919">barotropic_init</referencedby>
        <referencedby refid="namespacemom__barotropic_1aa60ee766449413de40cdbc19964a6556" compoundref="MOM__barotropic_8F90" startline="3184" endline="3452">btcalc</referencedby>
      </memberdef>
      <memberdef kind="variable" id="namespacemom__barotropic_1ae6d8f02c3c032f7d1bee65d44ba7051c" prot="private" static="no" mutable="no">
        <type>integer, parameter</type>
        <definition>integer, parameter mom_barotropic::from_bt_cont</definition>
        <argsstring></argsstring>
        <name>from_bt_cont</name>
        <initializer>= 4</initializer>
        <briefdescription>
<para>Enumeration values for various schemes. </para>        </briefdescription>
        <detaileddescription>
        </detaileddescription>
        <inbodydescription>
        </inbodydescription>
        <location file="/home/cermak/src/MOM6.devrob/src/core/MOM_barotropic.F90" line="390" column="1" bodyfile="/home/cermak/src/MOM6.devrob/src/core/MOM_barotropic.F90" bodystart="390" bodyend="390"/>
        <referencedby refid="namespacemom__barotropic_1a59244968890766632554a6d271ec4499" compoundref="MOM__barotropic_8F90" startline="4206" endline="4919">barotropic_init</referencedby>
      </memberdef>
      <memberdef kind="variable" id="namespacemom__barotropic_1a43b704235c923945333ed5db9508ceb5" prot="private" static="no" mutable="no">
        <type>integer, parameter</type>
        <definition>integer, parameter mom_barotropic::hybrid_bt_cont</definition>
        <argsstring></argsstring>
        <name>hybrid_bt_cont</name>
        <initializer>= 5</initializer>
        <briefdescription>
<para>Enumeration values for various schemes. </para>        </briefdescription>
        <detaileddescription>
        </detaileddescription>
        <inbodydescription>
        </inbodydescription>
        <location file="/home/cermak/src/MOM6.devrob/src/core/MOM_barotropic.F90" line="391" column="1" bodyfile="/home/cermak/src/MOM6.devrob/src/core/MOM_barotropic.F90" bodystart="391" bodyend="391"/>
      </memberdef>
      <memberdef kind="variable" id="namespacemom__barotropic_1a67640d662625af66dca3192d66977674" prot="private" static="no" mutable="no">
        <type><ref refid="version__variable_8h_1acda997fe1761de4c6bca0f27dc786964" kindref="member">character</ref> *(20), parameter</type>
        <definition>character*(20), parameter mom_barotropic::hybrid_string</definition>
        <argsstring></argsstring>
        <name>hybrid_string</name>
        <initializer>= &quot;HYBRID&quot;</initializer>
        <briefdescription>
<para>Enumeration values for various schemes. </para>        </briefdescription>
        <detaileddescription>
        </detaileddescription>
        <inbodydescription>
        </inbodydescription>
        <location file="/home/cermak/src/MOM6.devrob/src/core/MOM_barotropic.F90" line="392" column="1" bodyfile="/home/cermak/src/MOM6.devrob/src/core/MOM_barotropic.F90" bodystart="392" bodyend="392"/>
        <referencedby refid="namespacemom__barotropic_1a59244968890766632554a6d271ec4499" compoundref="MOM__barotropic_8F90" startline="4206" endline="4919">barotropic_init</referencedby>
      </memberdef>
      <memberdef kind="variable" id="namespacemom__barotropic_1a59ac414d21b35014c3f3a29ad7d7291f" prot="private" static="no" mutable="no">
        <type><ref refid="version__variable_8h_1acda997fe1761de4c6bca0f27dc786964" kindref="member">character</ref> *(20), parameter</type>
        <definition>character*(20), parameter mom_barotropic::harmonic_string</definition>
        <argsstring></argsstring>
        <name>harmonic_string</name>
        <initializer>= &quot;HARMONIC&quot;</initializer>
        <briefdescription>
<para>Enumeration values for various schemes. </para>        </briefdescription>
        <detaileddescription>
        </detaileddescription>
        <inbodydescription>
        </inbodydescription>
        <location file="/home/cermak/src/MOM6.devrob/src/core/MOM_barotropic.F90" line="393" column="1" bodyfile="/home/cermak/src/MOM6.devrob/src/core/MOM_barotropic.F90" bodystart="393" bodyend="393"/>
        <referencedby refid="namespacemom__barotropic_1a59244968890766632554a6d271ec4499" compoundref="MOM__barotropic_8F90" startline="4206" endline="4919">barotropic_init</referencedby>
      </memberdef>
      <memberdef kind="variable" id="namespacemom__barotropic_1a9a0a9a3013efa01f7bf1f59f53d8405c" prot="private" static="no" mutable="no">
        <type><ref refid="version__variable_8h_1acda997fe1761de4c6bca0f27dc786964" kindref="member">character</ref> *(20), parameter</type>
        <definition>character*(20), parameter mom_barotropic::arithmetic_string</definition>
        <argsstring></argsstring>
        <name>arithmetic_string</name>
        <initializer>= &quot;ARITHMETIC&quot;</initializer>
        <briefdescription>
<para>Enumeration values for various schemes. </para>        </briefdescription>
        <detaileddescription>
        </detaileddescription>
        <inbodydescription>
        </inbodydescription>
        <location file="/home/cermak/src/MOM6.devrob/src/core/MOM_barotropic.F90" line="394" column="1" bodyfile="/home/cermak/src/MOM6.devrob/src/core/MOM_barotropic.F90" bodystart="394" bodyend="394"/>
        <referencedby refid="namespacemom__barotropic_1a59244968890766632554a6d271ec4499" compoundref="MOM__barotropic_8F90" startline="4206" endline="4919">barotropic_init</referencedby>
      </memberdef>
      <memberdef kind="variable" id="namespacemom__barotropic_1aedbe3a001b7245a84315fb2a9c9ccde7" prot="private" static="no" mutable="no">
        <type><ref refid="version__variable_8h_1acda997fe1761de4c6bca0f27dc786964" kindref="member">character</ref> *(20), parameter</type>
        <definition>character*(20), parameter mom_barotropic::bt_cont_string</definition>
        <argsstring></argsstring>
        <name>bt_cont_string</name>
        <initializer>= &quot;FROM_BT_CONT&quot;</initializer>
        <briefdescription>
<para>Enumeration values for various schemes. </para>        </briefdescription>
        <detaileddescription>
        </detaileddescription>
        <inbodydescription>
        </inbodydescription>
        <location file="/home/cermak/src/MOM6.devrob/src/core/MOM_barotropic.F90" line="395" column="1" bodyfile="/home/cermak/src/MOM6.devrob/src/core/MOM_barotropic.F90" bodystart="395" bodyend="395"/>
        <referencedby refid="namespacemom__barotropic_1a59244968890766632554a6d271ec4499" compoundref="MOM__barotropic_8F90" startline="4206" endline="4919">barotropic_init</referencedby>
      </memberdef>
      </sectiondef>
      <sectiondef kind="func">
      <memberdef kind="function" id="namespacemom__barotropic_1ac60353f002de5980317d117a3db1a075" prot="public" static="no" const="no" explicit="no" inline="no" virt="non-virtual">
        <type>subroutine, public</type>
        <definition>subroutine, public mom_barotropic::btstep</definition>
        <argsstring>(U_in, V_in, eta_in, dt, bc_accel_u, bc_accel_v, forces, pbce, eta_PF_in, U_Cor, V_Cor, accel_layer_u, accel_layer_v, eta_out, uhbtav, vhbtav, G, GV, US, CS, visc_rem_u, visc_rem_v, etaav, ADp, OBC, BT_cont, eta_PF_start, taux_bot, tauy_bot, uh0, vh0, u_uh0, v_vh0)</argsstring>
        <name>btstep</name>
        <param>
          <type>U_in</type>
          <defname>U_in</defname>
        </param>
        <param>
          <type>V_in</type>
          <defname>V_in</defname>
        </param>
        <param>
          <type>eta_in</type>
          <defname>eta_in</defname>
        </param>
        <param>
          <type>dt</type>
          <defname>dt</defname>
        </param>
        <param>
          <type>bc_accel_u</type>
          <defname>bc_accel_u</defname>
        </param>
        <param>
          <type>bc_accel_v</type>
          <defname>bc_accel_v</defname>
        </param>
        <param>
          <type>forces</type>
          <defname>forces</defname>
        </param>
        <param>
          <type>pbce</type>
          <defname>pbce</defname>
        </param>
        <param>
          <type>eta_PF_in</type>
          <defname>eta_PF_in</defname>
        </param>
        <param>
          <type>U_Cor</type>
          <defname>U_Cor</defname>
        </param>
        <param>
          <type>V_Cor</type>
          <defname>V_Cor</defname>
        </param>
        <param>
          <type>accel_layer_u</type>
          <defname>accel_layer_u</defname>
        </param>
        <param>
          <type>accel_layer_v</type>
          <defname>accel_layer_v</defname>
        </param>
        <param>
          <type>eta_out</type>
          <defname>eta_out</defname>
        </param>
        <param>
          <type>uhbtav</type>
          <defname>uhbtav</defname>
        </param>
        <param>
          <type>vhbtav</type>
          <defname>vhbtav</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>visc_rem_u</type>
          <defname>visc_rem_u</defname>
        </param>
        <param>
          <type>visc_rem_v</type>
          <defname>visc_rem_v</defname>
        </param>
        <param>
          <type>etaav</type>
          <defname>etaav</defname>
        </param>
        <param>
          <type>ADp</type>
          <defname>ADp</defname>
        </param>
        <param>
          <type>OBC</type>
          <defname>OBC</defname>
        </param>
        <param>
          <type>BT_cont</type>
          <defname>BT_cont</defname>
        </param>
        <param>
          <type>eta_PF_start</type>
          <defname>eta_PF_start</defname>
        </param>
        <param>
          <type>taux_bot</type>
          <defname>taux_bot</defname>
        </param>
        <param>
          <type>tauy_bot</type>
          <defname>tauy_bot</defname>
        </param>
        <param>
          <type>uh0</type>
          <defname>uh0</defname>
        </param>
        <param>
          <type>vh0</type>
          <defname>vh0</defname>
        </param>
        <param>
          <type>u_uh0</type>
          <defname>u_uh0</defname>
        </param>
        <param>
          <type>v_vh0</type>
          <defname>v_vh0</defname>
        </param>
        <briefdescription>
<para>This subroutine time steps the barotropic equations explicitly. For gravity waves, anything between a forwards-backwards scheme and a simulated backwards Euler scheme is used, with bebt between 0.0 and 1.0 determining the scheme. In practice, bebt must be of order 0.2 or greater. A forwards-backwards treatment of the Coriolis terms is always used. </para>        </briefdescription>
        <detaileddescription>
<para><parameterlist kind="param"><parameteritem>
<parameternamelist>
<parametername direction="inout">g</parametername>
</parameternamelist>
<parameterdescription>
<para>The ocean&apos;s grid structure.</para></parameterdescription>
</parameteritem>
<parameteritem>
<parameternamelist>
<parametername direction="in">gv</parametername>
</parameternamelist>
<parameterdescription>
<para>The ocean&apos;s 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">u_in</parametername>
</parameternamelist>
<parameterdescription>
<para>The initial (3-D) zonal velocity [L T-1 ~&gt; m s-1].</para></parameterdescription>
</parameteritem>
<parameteritem>
<parameternamelist>
<parametername direction="in">v_in</parametername>
</parameternamelist>
<parameterdescription>
<para>The initial (3-D) meridional velocity [L T-1 ~&gt; m s-1].</para></parameterdescription>
</parameteritem>
<parameteritem>
<parameternamelist>
<parametername direction="in">eta_in</parametername>
</parameternamelist>
<parameterdescription>
<para>The initial barotropic free surface height anomaly or column mass anomaly [H ~&gt; m or kg m-2].</para></parameterdescription>
</parameteritem>
<parameteritem>
<parameternamelist>
<parametername direction="in">dt</parametername>
</parameternamelist>
<parameterdescription>
<para>The time increment to integrate over [T ~&gt; s].</para></parameterdescription>
</parameteritem>
<parameteritem>
<parameternamelist>
<parametername direction="in">bc_accel_u</parametername>
</parameternamelist>
<parameterdescription>
<para>The zonal baroclinic accelerations, [L T-2 ~&gt; m s-2].</para></parameterdescription>
</parameteritem>
<parameteritem>
<parameternamelist>
<parametername direction="in">bc_accel_v</parametername>
</parameternamelist>
<parameterdescription>
<para>The meridional baroclinic accelerations, [L T-2 ~&gt; m s-2].</para></parameterdescription>
</parameteritem>
<parameteritem>
<parameternamelist>
<parametername direction="in">forces</parametername>
</parameternamelist>
<parameterdescription>
<para>A structure with the driving mechanical forces</para></parameterdescription>
</parameteritem>
<parameteritem>
<parameternamelist>
<parametername direction="in">pbce</parametername>
</parameternamelist>
<parameterdescription>
<para>The baroclinic pressure anomaly in each layer due to free surface height anomalies [L2 H-1 T-2 ~&gt; m s-2 or m4 kg-1 s-2].</para></parameterdescription>
</parameteritem>
<parameteritem>
<parameternamelist>
<parametername direction="in">eta_pf_in</parametername>
</parameternamelist>
<parameterdescription>
<para>The 2-D eta field (either SSH anomaly or column mass anomaly) that was used to calculate the input pressure gradient accelerations (or its final value if eta_PF_start is provided [H ~&gt; m or kg m-2]. Note: eta_in, pbce, and eta_PF_in must have up-to-date values in the first point of their halos.</para></parameterdescription>
</parameteritem>
<parameteritem>
<parameternamelist>
<parametername direction="in">u_cor</parametername>
</parameternamelist>
<parameterdescription>
<para>The (3-D) zonal velocities used to calculate the Coriolis terms in bc_accel_u [L T-1 ~&gt; m s-1].</para></parameterdescription>
</parameteritem>
<parameteritem>
<parameternamelist>
<parametername direction="in">v_cor</parametername>
</parameternamelist>
<parameterdescription>
<para>The (3-D) meridional velocities used to calculate the Coriolis terms in bc_accel_u [L T-1 ~&gt; m s-1].</para></parameterdescription>
</parameteritem>
<parameteritem>
<parameternamelist>
<parametername direction="out">accel_layer_u</parametername>
</parameternamelist>
<parameterdescription>
<para>The zonal acceleration of each layer due to the barotropic calculation [L T-2 ~&gt; m s-2].</para></parameterdescription>
</parameteritem>
<parameteritem>
<parameternamelist>
<parametername direction="out">accel_layer_v</parametername>
</parameternamelist>
<parameterdescription>
<para>The meridional acceleration of each layer due to the barotropic calculation [L T-2 ~&gt; m s-2].</para></parameterdescription>
</parameteritem>
<parameteritem>
<parameternamelist>
<parametername direction="out">eta_out</parametername>
</parameternamelist>
<parameterdescription>
<para>The final barotropic free surface height anomaly or column mass anomaly [H ~&gt; m or kg m-2].</para></parameterdescription>
</parameteritem>
<parameteritem>
<parameternamelist>
<parametername direction="out">uhbtav</parametername>
</parameternamelist>
<parameterdescription>
<para>the barotropic zonal volume or mass fluxes averaged through the barotropic steps [H L2 T-1 ~&gt; m3 or kg s-1].</para></parameterdescription>
</parameteritem>
<parameteritem>
<parameternamelist>
<parametername direction="out">vhbtav</parametername>
</parameternamelist>
<parameterdescription>
<para>the barotropic meridional volume or mass fluxes averaged through the barotropic steps [H L2 T-1 ~&gt; m3 or kg s-1].</para></parameterdescription>
</parameteritem>
<parameteritem>
<parameternamelist>
<parametername>cs</parametername>
</parameternamelist>
<parameterdescription>
<para>The control structure returned by a previous call to barotropic_init.</para></parameterdescription>
</parameteritem>
<parameteritem>
<parameternamelist>
<parametername direction="in">visc_rem_u</parametername>
</parameternamelist>
<parameterdescription>
<para>Both the fraction of the momentum originally in a layer that remains after a time-step of viscosity, and the fraction of a time-step&apos;s worth of a barotropic acceleration that a layer experiences after viscosity is applied, in the zonal direction. Nondimensional between 0 (at the bottom) and 1 (far above the bottom).</para></parameterdescription>
</parameteritem>
<parameteritem>
<parameternamelist>
<parametername direction="in">visc_rem_v</parametername>
</parameternamelist>
<parameterdescription>
<para>Ditto for meridional direction [nondim].</para></parameterdescription>
</parameteritem>
<parameteritem>
<parameternamelist>
<parametername direction="out">etaav</parametername>
</parameternamelist>
<parameterdescription>
<para>The free surface height or column mass averaged over the barotropic integration [H ~&gt; m or kg m-2].</para></parameterdescription>
</parameteritem>
<parameteritem>
<parameternamelist>
<parametername>adp</parametername>
</parameternamelist>
<parameterdescription>
<para>Acceleration diagnostic pointers</para></parameterdescription>
</parameteritem>
<parameteritem>
<parameternamelist>
<parametername>obc</parametername>
</parameternamelist>
<parameterdescription>
<para>The open boundary condition structure.</para></parameterdescription>
</parameteritem>
<parameteritem>
<parameternamelist>
<parametername>bt_cont</parametername>
</parameternamelist>
<parameterdescription>
<para>A structure with elements that describe the effective open face areas as a function of barotropic flow.</para></parameterdescription>
</parameteritem>
<parameteritem>
<parameternamelist>
<parametername>eta_pf_start</parametername>
</parameternamelist>
<parameterdescription>
<para>The eta field consistent with the pressure gradient at the start of the barotropic stepping [H ~&gt; m or kg m-2].</para></parameterdescription>
</parameteritem>
<parameteritem>
<parameternamelist>
<parametername>taux_bot</parametername>
</parameternamelist>
<parameterdescription>
<para>The zonal bottom frictional stress from ocean to the seafloor [R L Z T-2 ~&gt; Pa].</para></parameterdescription>
</parameteritem>
<parameteritem>
<parameternamelist>
<parametername>tauy_bot</parametername>
</parameternamelist>
<parameterdescription>
<para>The meridional bottom frictional stress from ocean to the seafloor [R L Z T-2 ~&gt; Pa].</para></parameterdescription>
</parameteritem>
<parameteritem>
<parameternamelist>
<parametername>uh0</parametername>
</parameternamelist>
<parameterdescription>
<para>The zonal layer transports at reference velocities [H L2 T-1 ~&gt; m3 s-1 or kg s-1].</para></parameterdescription>
</parameteritem>
<parameteritem>
<parameternamelist>
<parametername>u_uh0</parametername>
</parameternamelist>
<parameterdescription>
<para>The velocities used to calculate uh0 [L T-1 ~&gt; m s-1]</para></parameterdescription>
</parameteritem>
<parameteritem>
<parameternamelist>
<parametername>vh0</parametername>
</parameternamelist>
<parameterdescription>
<para>The zonal layer transports at reference velocities [H L2 T-1 ~&gt; m3 s-1 or kg s-1].</para></parameterdescription>
</parameteritem>
<parameteritem>
<parameternamelist>
<parametername>v_vh0</parametername>
</parameternamelist>
<parameterdescription>
<para>The velocities used to calculate vh0 [L T-1 ~&gt; m s-1] </para></parameterdescription>
</parameteritem>
</parameterlist>
</para>        </detaileddescription>
        <inbodydescription>
        </inbodydescription>
        <location file="/home/cermak/src/MOM6.devrob/src/core/MOM_barotropic.F90" line="406" column="1" bodyfile="/home/cermak/src/MOM6.devrob/src/core/MOM_barotropic.F90" bodystart="411" bodyend="2638"/>
        <references refid="namespacemom__barotropic_1a6cf9cc852f7d2fb328fae4cad1c287c1" compoundref="MOM__barotropic_8F90" startline="3897" endline="3991">adjust_local_bt_cont_types</references>
        <references refid="namespacemom__barotropic_1ac9d3db838f0cbee31785077b261c0ad1" compoundref="MOM__barotropic_8F90" startline="2766" endline="2962">apply_velocity_obcs</references>
        <references refid="namespacemom__barotropic_1ac7100cec548b4bf6d69d4a52e074a04f" compoundref="MOM__barotropic_8F90" startline="3997" endline="4035">bt_cont_to_face_areas</references>
        <references refid="namespacemom__domains_1a242daf83cdf6041f5023f7da49d6da37" compoundref="MOM__domains_8F90" startline="1154" endline="1169">mom_domains::complete_group_pass</references>
        <references refid="namespacemom__diag__mediator_1a91244f765f2964dfb11f8787f65042f1" compoundref="MOM__diag__mediator_8F90" startline="1871" endline="1881">mom_diag_mediator::enable_averaging</references>
        <references refid="namespacemom__barotropic_1abcc5b7bef6e5c17630b05962d61995e3" compoundref="MOM__barotropic_8F90" startline="3484" endline="3502">find_duhbt_du</references>
        <references refid="namespacemom__barotropic_1a951d827a745c277e8950a091c060ee86" compoundref="MOM__barotropic_8F90" startline="3633" endline="3651">find_dvhbt_dv</references>
        <references refid="namespacemom__barotropic_1aba29d11dc2530622be997c069fb932ae" compoundref="MOM__barotropic_8F90" startline="4049" endline="4139">find_face_areas</references>
        <references refid="namespacemom__barotropic_1a8ad2b12e885746401a97fd65ad189722" compoundref="MOM__barotropic_8F90" startline="3459" endline="3478">find_uhbt</references>
        <references refid="namespacemom__barotropic_1ae96b701027f6f77feed0f68515b31e55" compoundref="MOM__barotropic_8F90" startline="3609" endline="3627">find_vhbt</references>
        <references refid="namespacemom__barotropic_1a30989767cf3f852158de8fdbcbb6a272" compoundref="MOM__barotropic_8F90" startline="381">id_clock_calc</references>
        <references refid="namespacemom__barotropic_1a0b999fb31c536d29b1d6503bb4501abc" compoundref="MOM__barotropic_8F90" startline="382">id_clock_calc_post</references>
        <references refid="namespacemom__barotropic_1abc096fcad8b8bf59f220d00adfce9de8" compoundref="MOM__barotropic_8F90" startline="382" endline="382">id_clock_calc_pre</references>
        <references refid="namespacemom__barotropic_1a12c05c28cd9c104c180f45c5b666b92a" compoundref="MOM__barotropic_8F90" startline="383">id_clock_pass_post</references>
        <references refid="namespacemom__barotropic_1a97318a4f938ac5caccd486bac83867ca" compoundref="MOM__barotropic_8F90" startline="383">id_clock_pass_pre</references>
        <references refid="namespacemom__barotropic_1a2df2b958844a4701d4584219b168bd1a" compoundref="MOM__barotropic_8F90" startline="383" endline="383">id_clock_pass_step</references>
        <references refid="namespacemom__error__handler_1ad5f00a53059c72fe2332d1436c80ca71" compoundref="MOM__error__handler_8F90" startline="44" endline="48">mom_error_handler::is_root_pe</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__error__handler_1a1c462df7b61f1296407b4af51dfeceab" compoundref="MOM__error__handler_8F90" startline="53" endline="66">mom_error_handler::mom_mesg</references>
        <references refid="namespacemom__open__boundary_1a6ace8760d7fa465a59d8cbc3340a5b5e" compoundref="MOM__open__boundary_8F90" startline="73" endline="73">mom_open_boundary::obc_direction_n</references>
        <references refid="namespacemom__open__boundary_1a29aee121a765fc751bd1c21adf80af10" compoundref="MOM__open__boundary_8F90" startline="74" endline="74">mom_open_boundary::obc_direction_s</references>
        <references refid="namespacemom__time__manager_1ae2d8736d03ab62310f32ddf01e44a961" compoundref="MOM__time__manager_8F90" startline="47" endline="60">mom_time_manager::real_to_time</references>
        <references refid="namespacemom__barotropic_1a2be327af11ae54368acd32a3ba360ac4" compoundref="MOM__barotropic_8F90" startline="3757" endline="3887">set_local_bt_cont_types</references>
        <references refid="namespacemom__barotropic_1af8296e1b2f7a24a091c7ad563393edb0" compoundref="MOM__barotropic_8F90" startline="2969" endline="3153">set_up_bt_obc</references>
        <references refid="namespacemom__domains_1ab27e1cc5953c88e733e0f9f55e4fd446" compoundref="MOM__domains_8F90" startline="1133" endline="1149">mom_domains::start_group_pass</references>
        <references refid="namespacemom__barotropic_1af1813744cf2034c2413ef904bf628263" compoundref="MOM__barotropic_8F90" startline="4040" endline="4043">swap</references>
        <references refid="namespacemom__tidal__forcing_1a0a1564c68489a35802c626a07f4629d7" compoundref="MOM__tidal__forcing_8F90" startline="562" endline="573">mom_tidal_forcing::tidal_forcing_sensitivity</references>
      </memberdef>
      <memberdef kind="function" id="namespacemom__barotropic_1a486257b675aa4e81c2d1634b5288a67f" prot="public" static="no" const="no" explicit="no" inline="no" virt="non-virtual">
        <type>subroutine, public</type>
        <definition>subroutine, public mom_barotropic::set_dtbt</definition>
        <argsstring>(G, GV, US, CS, eta, pbce, BT_cont, gtot_est, SSH_add)</argsstring>
        <name>set_dtbt</name>
        <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>eta</type>
          <defname>eta</defname>
        </param>
        <param>
          <type>pbce</type>
          <defname>pbce</defname>
        </param>
        <param>
          <type>BT_cont</type>
          <defname>BT_cont</defname>
        </param>
        <param>
          <type>gtot_est</type>
          <defname>gtot_est</defname>
        </param>
        <param>
          <type>SSH_add</type>
          <defname>SSH_add</defname>
        </param>
        <briefdescription>
<para>This subroutine automatically determines an optimal value for dtbt based on some state of the ocean. </para>        </briefdescription>
        <detaileddescription>
<para><parameterlist kind="param"><parameteritem>
<parameternamelist>
<parametername direction="inout">g</parametername>
</parameternamelist>
<parameterdescription>
<para>The ocean&apos;s grid structure.</para></parameterdescription>
</parameteritem>
<parameteritem>
<parameternamelist>
<parametername direction="in">gv</parametername>
</parameternamelist>
<parameterdescription>
<para>The ocean&apos;s 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>cs</parametername>
</parameternamelist>
<parameterdescription>
<para>Barotropic control structure.</para></parameterdescription>
</parameteritem>
<parameteritem>
<parameternamelist>
<parametername direction="in">eta</parametername>
</parameternamelist>
<parameterdescription>
<para>The barotropic free surface height anomaly or column mass anomaly [H ~&gt; m or kg m-2].</para></parameterdescription>
</parameteritem>
<parameteritem>
<parameternamelist>
<parametername direction="in">pbce</parametername>
</parameternamelist>
<parameterdescription>
<para>The baroclinic pressure anomaly in each layer due to free surface height anomalies [L2 H-1 T-2 ~&gt; m s-2 or m4 kg-1 s-2].</para></parameterdescription>
</parameteritem>
<parameteritem>
<parameternamelist>
<parametername>bt_cont</parametername>
</parameternamelist>
<parameterdescription>
<para>A structure with elements that describe the effective open face areas as a function of barotropic flow.</para></parameterdescription>
</parameteritem>
<parameteritem>
<parameternamelist>
<parametername direction="in">gtot_est</parametername>
</parameternamelist>
<parameterdescription>
<para>An estimate of the total gravitational acceleration [L2 Z-1 T-2 ~&gt; m s-2].</para></parameterdescription>
</parameteritem>
<parameteritem>
<parameternamelist>
<parametername direction="in">ssh_add</parametername>
</parameternamelist>
<parameterdescription>
<para>An additional contribution to SSH to provide a margin of error when calculating the external wave speed [Z ~&gt; m]. </para></parameterdescription>
</parameteritem>
</parameterlist>
</para>        </detaileddescription>
        <inbodydescription>
        </inbodydescription>
        <location file="/home/cermak/src/MOM6.devrob/src/core/MOM_barotropic.F90" line="2643" column="1" bodyfile="/home/cermak/src/MOM6.devrob/src/core/MOM_barotropic.F90" bodystart="2644" bodyend="2756"/>
        <references refid="namespacemom__barotropic_1ac7100cec548b4bf6d69d4a52e074a04f" compoundref="MOM__barotropic_8F90" startline="3997" endline="4035">bt_cont_to_face_areas</references>
        <references refid="namespacemom__barotropic_1aba29d11dc2530622be997c069fb932ae" compoundref="MOM__barotropic_8F90" startline="4049" endline="4139">find_face_areas</references>
        <references refid="namespacemom__barotropic_1ae71abf473e3483226651abb790cf1e2b" compoundref="MOM__barotropic_8F90" startline="381" endline="381">id_clock_sync</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__tidal__forcing_1a0a1564c68489a35802c626a07f4629d7" compoundref="MOM__tidal__forcing_8F90" startline="562" endline="573">mom_tidal_forcing::tidal_forcing_sensitivity</references>
        <referencedby refid="namespacemom__barotropic_1a59244968890766632554a6d271ec4499" compoundref="MOM__barotropic_8F90" startline="4206" endline="4919">barotropic_init</referencedby>
        <referencedby refid="namespacemom__dynamics__split__rk2_1a976e700971f232fc11bc69b31d611c32" compoundref="MOM__dynamics__split__RK2_8F90" startline="245" endline="994">mom_dynamics_split_rk2::step_mom_dyn_split_rk2</referencedby>
      </memberdef>
      <memberdef kind="function" id="namespacemom__barotropic_1ac9d3db838f0cbee31785077b261c0ad1" prot="private" static="no" const="no" explicit="no" inline="no" virt="non-virtual">
        <type>subroutine</type>
        <definition>subroutine mom_barotropic::apply_velocity_obcs</definition>
        <argsstring>(OBC, ubt, vbt, uhbt, vhbt, ubt_trans, vbt_trans, eta, ubt_old, vbt_old, BT_OBC, G, MS, US, halo, dtbt, bebt, use_BT_cont, integral_BT_cont, dt_elapsed, Datu, Datv, BTCL_u, BTCL_v, uhbt0, vhbt0, ubt_int, vbt_int, uhbt_int, vhbt_int)</argsstring>
        <name>apply_velocity_obcs</name>
        <param>
          <type>OBC</type>
          <defname>OBC</defname>
        </param>
        <param>
          <type>ubt</type>
          <defname>ubt</defname>
        </param>
        <param>
          <type>vbt</type>
          <defname>vbt</defname>
        </param>
        <param>
          <type>uhbt</type>
          <defname>uhbt</defname>
        </param>
        <param>
          <type>vhbt</type>
          <defname>vhbt</defname>
        </param>
        <param>
          <type>ubt_trans</type>
          <defname>ubt_trans</defname>
        </param>
        <param>
          <type>vbt_trans</type>
          <defname>vbt_trans</defname>
        </param>
        <param>
          <type>eta</type>
          <defname>eta</defname>
        </param>
        <param>
          <type>ubt_old</type>
          <defname>ubt_old</defname>
        </param>
        <param>
          <type>vbt_old</type>
          <defname>vbt_old</defname>
        </param>
        <param>
          <type>BT_OBC</type>
          <defname>BT_OBC</defname>
        </param>
        <param>
          <type>G</type>
          <defname>G</defname>
        </param>
        <param>
          <type>MS</type>
          <defname>MS</defname>
        </param>
        <param>
          <type>US</type>
          <defname>US</defname>
        </param>
        <param>
          <type>halo</type>
          <defname>halo</defname>
        </param>
        <param>
          <type>dtbt</type>
          <defname>dtbt</defname>
        </param>
        <param>
          <type>bebt</type>
          <defname>bebt</defname>
        </param>
        <param>
          <type>use_BT_cont</type>
          <defname>use_BT_cont</defname>
        </param>
        <param>
          <type>integral_BT_cont</type>
          <defname>integral_BT_cont</defname>
        </param>
        <param>
          <type>dt_elapsed</type>
          <defname>dt_elapsed</defname>
        </param>
        <param>
          <type>Datu</type>
          <defname>Datu</defname>
        </param>
        <param>
          <type>Datv</type>
          <defname>Datv</defname>
        </param>
        <param>
          <type>BTCL_u</type>
          <defname>BTCL_u</defname>
        </param>
        <param>
          <type>BTCL_v</type>
          <defname>BTCL_v</defname>
        </param>
        <param>
          <type>uhbt0</type>
          <defname>uhbt0</defname>
        </param>
        <param>
          <type>vhbt0</type>
          <defname>vhbt0</defname>
        </param>
        <param>
          <type>ubt_int</type>
          <defname>ubt_int</defname>
        </param>
        <param>
          <type>vbt_int</type>
          <defname>vbt_int</defname>
        </param>
        <param>
          <type>uhbt_int</type>
          <defname>uhbt_int</defname>
        </param>
        <param>
          <type>vhbt_int</type>
          <defname>vhbt_int</defname>
        </param>
        <briefdescription>
<para>The following 4 subroutines apply the open boundary conditions. This subroutine applies the open boundary conditions on barotropic velocities and mass transports, as developed by Mehmet Ilicak. </para>        </briefdescription>
        <detaileddescription>
<para><parameterlist kind="param"><parameteritem>
<parameternamelist>
<parametername>obc</parametername>
</parameternamelist>
<parameterdescription>
<para>An associated pointer to an OBC type.</para></parameterdescription>
</parameteritem>
<parameteritem>
<parameternamelist>
<parametername direction="inout">g</parametername>
</parameternamelist>
<parameterdescription>
<para>The ocean&apos;s grid structure.</para></parameterdescription>
</parameteritem>
<parameteritem>
<parameternamelist>
<parametername direction="in">ms</parametername>
</parameternamelist>
<parameterdescription>
<para>A type that describes the memory sizes of the argument arrays.</para></parameterdescription>
</parameteritem>
<parameteritem>
<parameternamelist>
<parametername direction="inout">ubt</parametername>
</parameternamelist>
<parameterdescription>
<para>the zonal barotropic velocity [L T-1 ~&gt; m s-1].</para></parameterdescription>
</parameteritem>
<parameteritem>
<parameternamelist>
<parametername direction="inout">uhbt</parametername>
</parameternamelist>
<parameterdescription>
<para>the zonal barotropic transport [H L2 T-1 ~&gt; m3 s-1 or kg s-1].</para></parameterdescription>
</parameteritem>
<parameteritem>
<parameternamelist>
<parametername direction="inout">ubt_trans</parametername>
</parameternamelist>
<parameterdescription>
<para>The zonal barotropic velocity used in transport [L T-1 ~&gt; m s-1].</para></parameterdescription>
</parameteritem>
<parameteritem>
<parameternamelist>
<parametername direction="inout">vbt</parametername>
</parameternamelist>
<parameterdescription>
<para>The meridional barotropic velocity [L T-1 ~&gt; m s-1].</para></parameterdescription>
</parameteritem>
<parameteritem>
<parameternamelist>
<parametername direction="inout">vhbt</parametername>
</parameternamelist>
<parameterdescription>
<para>the meridional barotropic transport [H L2 T-1 ~&gt; m3 s-1 or kg s-1].</para></parameterdescription>
</parameteritem>
<parameteritem>
<parameternamelist>
<parametername direction="inout">vbt_trans</parametername>
</parameternamelist>
<parameterdescription>
<para>the meridional BT velocity used in transports [L T-1 ~&gt; m s-1].</para></parameterdescription>
</parameteritem>
<parameteritem>
<parameternamelist>
<parametername direction="in">eta</parametername>
</parameternamelist>
<parameterdescription>
<para>The barotropic free surface height anomaly or column mass anomaly [H ~&gt; m or kg m-2].</para></parameterdescription>
</parameteritem>
<parameteritem>
<parameternamelist>
<parametername direction="in">ubt_old</parametername>
</parameternamelist>
<parameterdescription>
<para>The starting value of ubt in a barotropic step [L T-1 ~&gt; m s-1].</para></parameterdescription>
</parameteritem>
<parameteritem>
<parameternamelist>
<parametername direction="in">vbt_old</parametername>
</parameternamelist>
<parameterdescription>
<para>The starting value of vbt in a barotropic step [L T-1 ~&gt; m s-1].</para></parameterdescription>
</parameteritem>
<parameteritem>
<parameternamelist>
<parametername direction="in">bt_obc</parametername>
</parameternamelist>
<parameterdescription>
<para>A structure with the private barotropic arrays related to the open boundary conditions, set by set_up_BT_OBC.</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">halo</parametername>
</parameternamelist>
<parameterdescription>
<para>The extra halo size to use here.</para></parameterdescription>
</parameteritem>
<parameteritem>
<parameternamelist>
<parametername direction="in">dtbt</parametername>
</parameternamelist>
<parameterdescription>
<para>The time step [T ~&gt; s].</para></parameterdescription>
</parameteritem>
<parameteritem>
<parameternamelist>
<parametername direction="in">bebt</parametername>
</parameternamelist>
<parameterdescription>
<para>The fractional weighting of the future velocity in determining the transport.</para></parameterdescription>
</parameteritem>
<parameteritem>
<parameternamelist>
<parametername direction="in">use_bt_cont</parametername>
</parameternamelist>
<parameterdescription>
<para>If true, use the BT_cont_types to calculate transports.</para></parameterdescription>
</parameteritem>
<parameteritem>
<parameternamelist>
<parametername direction="in">integral_bt_cont</parametername>
</parameternamelist>
<parameterdescription>
<para>If true, update the barotropic continuity equation directly from the initial condition using the time-integrated barotropic velocity.</para></parameterdescription>
</parameteritem>
<parameteritem>
<parameternamelist>
<parametername direction="in">dt_elapsed</parametername>
</parameternamelist>
<parameterdescription>
<para>The amount of time in the barotropic stepping that will have elapsed [T ~&gt; s].</para></parameterdescription>
</parameteritem>
<parameteritem>
<parameternamelist>
<parametername direction="in">datu</parametername>
</parameternamelist>
<parameterdescription>
<para>A fixed estimate of the face areas at u points [H L ~&gt; m2 or kg m-1].</para></parameterdescription>
</parameteritem>
<parameteritem>
<parameternamelist>
<parametername direction="in">datv</parametername>
</parameternamelist>
<parameterdescription>
<para>A fixed estimate of the face areas at v points [H L ~&gt; m2 or kg m-1].</para></parameterdescription>
</parameteritem>
<parameteritem>
<parameternamelist>
<parametername direction="in">btcl_u</parametername>
</parameternamelist>
<parameterdescription>
<para>Structure of information used for a dynamic estimate of the face areas at u-points.</para></parameterdescription>
</parameteritem>
<parameteritem>
<parameternamelist>
<parametername direction="in">btcl_v</parametername>
</parameternamelist>
<parameterdescription>
<para>Structure of information used for a dynamic estimate of the face areas at v-points.</para></parameterdescription>
</parameteritem>
<parameteritem>
<parameternamelist>
<parametername direction="in">uhbt0</parametername>
</parameternamelist>
<parameterdescription>
<para>A correction to the zonal transport so that the barotropic functions agree with the sum of the layer transports [H L2 T-1 ~&gt; m3 s-1 or kg s-1].</para></parameterdescription>
</parameteritem>
<parameteritem>
<parameternamelist>
<parametername direction="in">vhbt0</parametername>
</parameternamelist>
<parameterdescription>
<para>A correction to the meridional transport so that the barotropic functions agree with the sum of the layer transports [H L2 T-1 ~&gt; m3 s-1 or kg s-1].</para></parameterdescription>
</parameteritem>
<parameteritem>
<parameternamelist>
<parametername direction="in">ubt_int</parametername>
</parameternamelist>
<parameterdescription>
<para>The time-integrated zonal barotropic velocity before this update [L T-1 ~&gt; m s-1].</para></parameterdescription>
</parameteritem>
<parameteritem>
<parameternamelist>
<parametername direction="in">uhbt_int</parametername>
</parameternamelist>
<parameterdescription>
<para>The time-integrated zonal barotropic transport [H L2 T-1 ~&gt; m3 s-1 or kg s-1].</para></parameterdescription>
</parameteritem>
<parameteritem>
<parameternamelist>
<parametername direction="in">vbt_int</parametername>
</parameternamelist>
<parameterdescription>
<para>The time-integrated meridional barotropic velocity before this update [L T-1 ~&gt; m s-1].</para></parameterdescription>
</parameteritem>
<parameteritem>
<parameternamelist>
<parametername direction="in">vhbt_int</parametername>
</parameternamelist>
<parameterdescription>
<para>The time-integrated meridional barotropic transport [H L2 T-1 ~&gt; m3 s-1 or kg s-1]. </para></parameterdescription>
</parameteritem>
</parameterlist>
</para>        </detaileddescription>
        <inbodydescription>
        </inbodydescription>
        <location file="/home/cermak/src/MOM6.devrob/src/core/MOM_barotropic.F90" line="2762" column="1" bodyfile="/home/cermak/src/MOM6.devrob/src/core/MOM_barotropic.F90" bodystart="2766" bodyend="2962"/>
        <references refid="namespacemom__barotropic_1a8ad2b12e885746401a97fd65ad189722" compoundref="MOM__barotropic_8F90" startline="3459" endline="3478">find_uhbt</references>
        <references refid="namespacemom__barotropic_1ae96b701027f6f77feed0f68515b31e55" compoundref="MOM__barotropic_8F90" startline="3609" endline="3627">find_vhbt</references>
        <references refid="namespacemom__open__boundary_1a6ace8760d7fa465a59d8cbc3340a5b5e" compoundref="MOM__open__boundary_8F90" startline="73" endline="73">mom_open_boundary::obc_direction_n</references>
        <references refid="namespacemom__open__boundary_1a29aee121a765fc751bd1c21adf80af10" compoundref="MOM__open__boundary_8F90" startline="74" endline="74">mom_open_boundary::obc_direction_s</references>
        <referencedby refid="namespacemom__barotropic_1ac60353f002de5980317d117a3db1a075" compoundref="MOM__barotropic_8F90" startline="411" endline="2638">btstep</referencedby>
      </memberdef>
      <memberdef kind="function" id="namespacemom__barotropic_1af8296e1b2f7a24a091c7ad563393edb0" prot="private" static="no" const="no" explicit="no" inline="no" virt="non-virtual">
        <type>subroutine</type>
        <definition>subroutine mom_barotropic::set_up_bt_obc</definition>
        <argsstring>(OBC, eta, BT_OBC, BT_Domain, G, GV, US, MS, halo, use_BT_cont, integral_BT_cont, dt_baroclinic, Datu, Datv, BTCL_u, BTCL_v)</argsstring>
        <name>set_up_bt_obc</name>
        <param>
          <type>OBC</type>
          <defname>OBC</defname>
        </param>
        <param>
          <type>eta</type>
          <defname>eta</defname>
        </param>
        <param>
          <type>BT_OBC</type>
          <defname>BT_OBC</defname>
        </param>
        <param>
          <type>BT_Domain</type>
          <defname>BT_Domain</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>MS</type>
          <defname>MS</defname>
        </param>
        <param>
          <type>halo</type>
          <defname>halo</defname>
        </param>
        <param>
          <type>use_BT_cont</type>
          <defname>use_BT_cont</defname>
        </param>
        <param>
          <type>integral_BT_cont</type>
          <defname>integral_BT_cont</defname>
        </param>
        <param>
          <type>dt_baroclinic</type>
          <defname>dt_baroclinic</defname>
        </param>
        <param>
          <type>Datu</type>
          <defname>Datu</defname>
        </param>
        <param>
          <type>Datv</type>
          <defname>Datv</defname>
        </param>
        <param>
          <type>BTCL_u</type>
          <defname>BTCL_u</defname>
        </param>
        <param>
          <type>BTCL_v</type>
          <defname>BTCL_v</defname>
        </param>
        <briefdescription>
<para>This subroutine sets up the private structure used to apply the open boundary conditions, as developed by Mehmet Ilicak. </para>        </briefdescription>
        <detaileddescription>
<para><parameterlist kind="param"><parameteritem>
<parameternamelist>
<parametername>obc</parametername>
</parameternamelist>
<parameterdescription>
<para>An associated pointer to an OBC type.</para></parameterdescription>
</parameteritem>
<parameteritem>
<parameternamelist>
<parametername direction="in">ms</parametername>
</parameternamelist>
<parameterdescription>
<para>A type that describes the memory sizes of the argument arrays.</para></parameterdescription>
</parameteritem>
<parameteritem>
<parameternamelist>
<parametername direction="in">eta</parametername>
</parameternamelist>
<parameterdescription>
<para>The barotropic free surface height anomaly or column mass anomaly [H ~&gt; m or kg m-2].</para></parameterdescription>
</parameteritem>
<parameteritem>
<parameternamelist>
<parametername direction="inout">bt_obc</parametername>
</parameternamelist>
<parameterdescription>
<para>A structure with the private barotropic arrays related to the open boundary conditions, set by set_up_BT_OBC.</para></parameterdescription>
</parameteritem>
<parameteritem>
<parameternamelist>
<parametername direction="inout">bt_domain</parametername>
</parameternamelist>
<parameterdescription>
<para>MOM_domain_type associated with wide arrays</para></parameterdescription>
</parameteritem>
<parameteritem>
<parameternamelist>
<parametername direction="inout">g</parametername>
</parameternamelist>
<parameterdescription>
<para>The ocean&apos;s grid structure.</para></parameterdescription>
</parameteritem>
<parameteritem>
<parameternamelist>
<parametername direction="in">gv</parametername>
</parameternamelist>
<parameterdescription>
<para>The ocean&apos;s 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">halo</parametername>
</parameternamelist>
<parameterdescription>
<para>The extra halo size to use here.</para></parameterdescription>
</parameteritem>
<parameteritem>
<parameternamelist>
<parametername direction="in">use_bt_cont</parametername>
</parameternamelist>
<parameterdescription>
<para>If true, use the BT_cont_types to calculate transports.</para></parameterdescription>
</parameteritem>
<parameteritem>
<parameternamelist>
<parametername direction="in">integral_bt_cont</parametername>
</parameternamelist>
<parameterdescription>
<para>If true, update the barotropic continuity equation directly from the initial condition using the time-integrated barotropic velocity.</para></parameterdescription>
</parameteritem>
<parameteritem>
<parameternamelist>
<parametername direction="in">dt_baroclinic</parametername>
</parameternamelist>
<parameterdescription>
<para>The baroclinic timestep for this cycle of updates to the barotropic solver [T ~&gt; s]</para></parameterdescription>
</parameteritem>
<parameteritem>
<parameternamelist>
<parametername direction="in">datu</parametername>
</parameternamelist>
<parameterdescription>
<para>A fixed estimate of the face areas at u points [H L ~&gt; m2 or kg m-1].</para></parameterdescription>
</parameteritem>
<parameteritem>
<parameternamelist>
<parametername direction="in">datv</parametername>
</parameternamelist>
<parameterdescription>
<para>A fixed estimate of the face areas at v points [H L ~&gt; m2 or kg m-1].</para></parameterdescription>
</parameteritem>
<parameteritem>
<parameternamelist>
<parametername direction="in">btcl_u</parametername>
</parameternamelist>
<parameterdescription>
<para>Structure of information used for a dynamic estimate of the face areas at u-points.</para></parameterdescription>
</parameteritem>
<parameteritem>
<parameternamelist>
<parametername direction="in">btcl_v</parametername>
</parameternamelist>
<parameterdescription>
<para>Structure of information used for a dynamic estimate of the face areas at v-points. </para></parameterdescription>
</parameteritem>
</parameterlist>
</para>        </detaileddescription>
        <inbodydescription>
        </inbodydescription>
        <location file="/home/cermak/src/MOM6.devrob/src/core/MOM_barotropic.F90" line="2967" column="1" bodyfile="/home/cermak/src/MOM6.devrob/src/core/MOM_barotropic.F90" bodystart="2969" bodyend="3153"/>
        <references refid="namespacemom__error__handler_1a460cfb79a06c29fc249952c2a3710d67" compoundref="MOM__error__handler_8F90" startline="72" endline="92">mom_error_handler::mom_error</references>
        <references refid="namespacemom__open__boundary_1a6ace8760d7fa465a59d8cbc3340a5b5e" compoundref="MOM__open__boundary_8F90" startline="73" endline="73">mom_open_boundary::obc_direction_n</references>
        <references refid="namespacemom__open__boundary_1a29aee121a765fc751bd1c21adf80af10" compoundref="MOM__open__boundary_8F90" startline="74" endline="74">mom_open_boundary::obc_direction_s</references>
        <references refid="namespacemom__barotropic_1a0311f0f3d4e27f4017582d6a8c01298c" compoundref="MOM__barotropic_8F90" startline="3509" endline="3602">uhbt_to_ubt</references>
        <references refid="namespacemom__barotropic_1aeed3e618781611b448105a122e1a358c" compoundref="MOM__barotropic_8F90" startline="3658" endline="3751">vhbt_to_vbt</references>
        <referencedby refid="namespacemom__barotropic_1ac60353f002de5980317d117a3db1a075" compoundref="MOM__barotropic_8F90" startline="411" endline="2638">btstep</referencedby>
      </memberdef>
      <memberdef kind="function" id="namespacemom__barotropic_1ac8250401fa646cce0f3108587caf19be" prot="private" static="no" const="no" explicit="no" inline="no" virt="non-virtual">
        <type>subroutine</type>
        <definition>subroutine mom_barotropic::destroy_bt_obc</definition>
        <argsstring>(BT_OBC)</argsstring>
        <name>destroy_bt_obc</name>
        <param>
          <type>BT_OBC</type>
          <defname>BT_OBC</defname>
        </param>
        <briefdescription>
<para>Clean up the BT_OBC memory. </para>        </briefdescription>
        <detaileddescription>
<para><parameterlist kind="param"><parameteritem>
<parameternamelist>
<parametername direction="inout">bt_obc</parametername>
</parameternamelist>
<parameterdescription>
<para>A structure with the private barotropic arrays related to the open boundary conditions, set by set_up_BT_OBC. </para></parameterdescription>
</parameteritem>
</parameterlist>
</para>        </detaileddescription>
        <inbodydescription>
        </inbodydescription>
        <location file="/home/cermak/src/MOM6.devrob/src/core/MOM_barotropic.F90" line="3157" column="1" bodyfile="/home/cermak/src/MOM6.devrob/src/core/MOM_barotropic.F90" bodystart="3158" bodyend="3175"/>
        <referencedby refid="namespacemom__barotropic_1aee694cdef3a20b960aff1ec4fa5da28f" compoundref="MOM__barotropic_8F90" startline="4947" endline="4959">barotropic_end</referencedby>
      </memberdef>
      <memberdef kind="function" id="namespacemom__barotropic_1aa60ee766449413de40cdbc19964a6556" prot="public" static="no" const="no" explicit="no" inline="no" virt="non-virtual">
        <type>subroutine, public</type>
        <definition>subroutine, public mom_barotropic::btcalc</definition>
        <argsstring>(h, G, GV, CS, h_u, h_v, may_use_default, OBC)</argsstring>
        <name>btcalc</name>
        <param>
          <type>h</type>
          <defname>h</defname>
        </param>
        <param>
          <type>G</type>
          <defname>G</defname>
        </param>
        <param>
          <type>GV</type>
          <defname>GV</defname>
        </param>
        <param>
          <type>CS</type>
          <defname>CS</defname>
        </param>
        <param>
          <type>h_u</type>
          <defname>h_u</defname>
        </param>
        <param>
          <type>h_v</type>
          <defname>h_v</defname>
        </param>
        <param>
          <type>may_use_default</type>
          <defname>may_use_default</defname>
        </param>
        <param>
          <type>OBC</type>
          <defname>OBC</defname>
        </param>
        <briefdescription>
<para>btcalc calculates the barotropic velocities from the full velocity and thickness fields, determines the fraction of the total water column in each layer at velocity points, and determines a corrective fictitious mass source that will drive the barotropic estimate of the free surface height toward the baroclinic estimate. </para>        </briefdescription>
        <detaileddescription>
<para><parameterlist kind="param"><parameteritem>
<parameternamelist>
<parametername direction="inout">g</parametername>
</parameternamelist>
<parameterdescription>
<para>The ocean&apos;s grid structure.</para></parameterdescription>
</parameteritem>
<parameteritem>
<parameternamelist>
<parametername direction="in">gv</parametername>
</parameternamelist>
<parameterdescription>
<para>The ocean&apos;s vertical grid structure.</para></parameterdescription>
</parameteritem>
<parameteritem>
<parameternamelist>
<parametername direction="in">h</parametername>
</parameternamelist>
<parameterdescription>
<para>Layer thicknesses [H ~&gt; m or kg m-2].</para></parameterdescription>
</parameteritem>
<parameteritem>
<parameternamelist>
<parametername>cs</parametername>
</parameternamelist>
<parameterdescription>
<para>The control structure returned by a previous call to barotropic_init.</para></parameterdescription>
</parameteritem>
<parameteritem>
<parameternamelist>
<parametername direction="in">h_u</parametername>
</parameternamelist>
<parameterdescription>
<para>The specified thicknesses at u-points [H ~&gt; m or kg m-2].</para></parameterdescription>
</parameteritem>
<parameteritem>
<parameternamelist>
<parametername direction="in">h_v</parametername>
</parameternamelist>
<parameterdescription>
<para>The specified thicknesses at v-points [H ~&gt; m or kg m-2].</para></parameterdescription>
</parameteritem>
<parameteritem>
<parameternamelist>
<parametername direction="in">may_use_default</parametername>
</parameternamelist>
<parameterdescription>
<para>An optional logical argument to indicate that the default velocity point thicknesses may be used for this particular calculation, even though the setting of CShvel_scheme would usually require that h_u and h_v be passed in.</para></parameterdescription>
</parameteritem>
<parameteritem>
<parameternamelist>
<parametername>obc</parametername>
</parameternamelist>
<parameterdescription>
<para>Open boundary control structure. </para></parameterdescription>
</parameteritem>
</parameterlist>
</para>        </detaileddescription>
        <inbodydescription>
        </inbodydescription>
        <location file="/home/cermak/src/MOM6.devrob/src/core/MOM_barotropic.F90" line="3183" column="1" bodyfile="/home/cermak/src/MOM6.devrob/src/core/MOM_barotropic.F90" bodystart="3184" bodyend="3452"/>
        <references refid="namespacemom__barotropic_1a735fe88440ec7db07f6640ae9f7b039a" compoundref="MOM__barotropic_8F90" startline="388" endline="388">arithmetic</references>
        <references refid="namespacemom__barotropic_1af7eb111a979084e72d6b3474d07bce8f" compoundref="MOM__barotropic_8F90" startline="387" endline="387">harmonic</references>
        <references refid="namespacemom__barotropic_1a2e9f6ac6029c84484a0f812a218e9744" compoundref="MOM__barotropic_8F90" startline="389" endline="389">hybrid</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__open__boundary_1a6ace8760d7fa465a59d8cbc3340a5b5e" compoundref="MOM__open__boundary_8F90" startline="73" endline="73">mom_open_boundary::obc_direction_n</references>
        <references refid="namespacemom__open__boundary_1a29aee121a765fc751bd1c21adf80af10" compoundref="MOM__open__boundary_8F90" startline="74" endline="74">mom_open_boundary::obc_direction_s</references>
        <referencedby refid="namespacemom__barotropic_1a59244968890766632554a6d271ec4499" compoundref="MOM__barotropic_8F90" startline="4206" endline="4919">barotropic_init</referencedby>
      </memberdef>
      <memberdef kind="function" id="namespacemom__barotropic_1a8ad2b12e885746401a97fd65ad189722" prot="private" static="no" const="no" explicit="no" inline="no" virt="non-virtual">
        <type>real function</type>
        <definition>real function mom_barotropic::find_uhbt</definition>
        <argsstring>(u, BTC)</argsstring>
        <name>find_uhbt</name>
        <param>
          <type>u</type>
          <defname>u</defname>
        </param>
        <param>
          <type>BTC</type>
          <defname>BTC</defname>
        </param>
        <briefdescription>
<para>The function find_uhbt determines the zonal transport for a given velocity, or with INTEGRAL_BT_CONT=True it determines the time-integrated zonal transport for a given time-integrated velocity. </para>        </briefdescription>
        <detaileddescription>
<para><parameterlist kind="param"><parameteritem>
<parameternamelist>
<parametername direction="in">u</parametername>
</parameternamelist>
<parameterdescription>
<para>The local zonal velocity [L T-1 ~&gt; m s-1] or time integrated velocity [L ~&gt; m]</para></parameterdescription>
</parameteritem>
<parameteritem>
<parameternamelist>
<parametername direction="in">btc</parametername>
</parameternamelist>
<parameterdescription>
<para>A structure containing various fields that allow the barotropic transports to be calculated consistently with the layers&apos; continuity equations. The dimensions of some of the elements in this type vary depending on INTEGRAL_BT_CONT.</para></parameterdescription>
</parameteritem>
</parameterlist>
<simplesect kind="return"><para>The zonal barotropic transport [L2 H T-1 ~&gt; m3 s-1] or time integrated transport [L2 H ~&gt; m3] </para></simplesect>
</para>        </detaileddescription>
        <inbodydescription>
        </inbodydescription>
        <location file="/home/cermak/src/MOM6.devrob/src/core/MOM_barotropic.F90" line="3458" column="1" bodyfile="/home/cermak/src/MOM6.devrob/src/core/MOM_barotropic.F90" bodystart="3459" bodyend="3478"/>
        <referencedby refid="namespacemom__barotropic_1ac9d3db838f0cbee31785077b261c0ad1" compoundref="MOM__barotropic_8F90" startline="2766" endline="2962">apply_velocity_obcs</referencedby>
        <referencedby refid="namespacemom__barotropic_1ac60353f002de5980317d117a3db1a075" compoundref="MOM__barotropic_8F90" startline="411" endline="2638">btstep</referencedby>
      </memberdef>
      <memberdef kind="function" id="namespacemom__barotropic_1abcc5b7bef6e5c17630b05962d61995e3" prot="private" static="no" const="no" explicit="no" inline="no" virt="non-virtual">
        <type>real function</type>
        <definition>real function mom_barotropic::find_duhbt_du</definition>
        <argsstring>(u, BTC)</argsstring>
        <name>find_duhbt_du</name>
        <param>
          <type>u</type>
          <defname>u</defname>
        </param>
        <param>
          <type>BTC</type>
          <defname>BTC</defname>
        </param>
        <briefdescription>
<para>The function find_duhbt_du determines the marginal zonal face area for a given velocity, or with INTEGRAL_BT_CONT=True for a given time-integrated velocity. </para>        </briefdescription>
        <detaileddescription>
<para><parameterlist kind="param"><parameteritem>
<parameternamelist>
<parametername direction="in">u</parametername>
</parameternamelist>
<parameterdescription>
<para>The local zonal velocity [L T-1 ~&gt; m s-1] or time integrated velocity [L ~&gt; m]</para></parameterdescription>
</parameteritem>
<parameteritem>
<parameternamelist>
<parametername direction="in">btc</parametername>
</parameternamelist>
<parameterdescription>
<para>A structure containing various fields that allow the barotropic transports to be calculated consistently with the layers&apos; continuity equations. The dimensions of some of the elements in this type vary depending on INTEGRAL_BT_CONT.</para></parameterdescription>
</parameteritem>
</parameterlist>
<simplesect kind="return"><para>The zonal barotropic face area [L H ~&gt; m2] </para></simplesect>
</para>        </detaileddescription>
        <inbodydescription>
        </inbodydescription>
        <location file="/home/cermak/src/MOM6.devrob/src/core/MOM_barotropic.F90" line="3483" column="1" bodyfile="/home/cermak/src/MOM6.devrob/src/core/MOM_barotropic.F90" bodystart="3484" bodyend="3502"/>
        <referencedby refid="namespacemom__barotropic_1ac60353f002de5980317d117a3db1a075" compoundref="MOM__barotropic_8F90" startline="411" endline="2638">btstep</referencedby>
      </memberdef>
      <memberdef kind="function" id="namespacemom__barotropic_1a0311f0f3d4e27f4017582d6a8c01298c" prot="private" static="no" const="no" explicit="no" inline="no" virt="non-virtual">
        <type>real function</type>
        <definition>real function mom_barotropic::uhbt_to_ubt</definition>
        <argsstring>(uhbt, BTC, guess)</argsstring>
        <name>uhbt_to_ubt</name>
        <param>
          <type>uhbt</type>
          <defname>uhbt</defname>
        </param>
        <param>
          <type>BTC</type>
          <defname>BTC</defname>
        </param>
        <param>
          <type>guess</type>
          <defname>guess</defname>
        </param>
        <briefdescription>
<para>This function inverts the transport function to determine the barotopic velocity that is consistent with a given transport, or if INTEGRAL_BT_CONT=True this finds the time-integrated velocity that is consistent with a time-integrated transport. </para>        </briefdescription>
        <detaileddescription>
<para><parameterlist kind="param"><parameteritem>
<parameternamelist>
<parametername direction="in">uhbt</parametername>
</parameternamelist>
<parameterdescription>
<para>The barotropic zonal transport that should be inverted for, [H L2 T-1 ~&gt; m3 s-1 or kg s-1] or the time-integrated transport [H L2 ~&gt; m3 or kg].</para></parameterdescription>
</parameteritem>
<parameteritem>
<parameternamelist>
<parametername direction="in">btc</parametername>
</parameternamelist>
<parameterdescription>
<para>A structure containing various fields that allow the barotropic transports to be calculated consistently with the layers&apos; continuity equations. The dimensions of some of the elements in this type vary depending on INTEGRAL_BT_CONT.</para></parameterdescription>
</parameteritem>
<parameteritem>
<parameternamelist>
<parametername direction="in">guess</parametername>
</parameternamelist>
<parameterdescription>
<para>A guess at what ubt will be [L T-1 ~&gt; m s-1] or [L ~&gt; m]. The result is not allowed to be dramatically larger than guess.</para></parameterdescription>
</parameteritem>
</parameterlist>
<simplesect kind="return"><para>The result - The velocity that gives uhbt transport [L T-1 ~&gt; m s-1] or the time-integrated velocity [L ~&gt; m]. </para></simplesect>
</para>        </detaileddescription>
        <inbodydescription>
        </inbodydescription>
        <location file="/home/cermak/src/MOM6.devrob/src/core/MOM_barotropic.F90" line="3508" column="1" bodyfile="/home/cermak/src/MOM6.devrob/src/core/MOM_barotropic.F90" bodystart="3509" bodyend="3602"/>
        <referencedby refid="namespacemom__barotropic_1af8296e1b2f7a24a091c7ad563393edb0" compoundref="MOM__barotropic_8F90" startline="2969" endline="3153">set_up_bt_obc</referencedby>
      </memberdef>
      <memberdef kind="function" id="namespacemom__barotropic_1ae96b701027f6f77feed0f68515b31e55" prot="private" static="no" const="no" explicit="no" inline="no" virt="non-virtual">
        <type>real function</type>
        <definition>real function mom_barotropic::find_vhbt</definition>
        <argsstring>(v, BTC)</argsstring>
        <name>find_vhbt</name>
        <param>
          <type>v</type>
          <defname>v</defname>
        </param>
        <param>
          <type>BTC</type>
          <defname>BTC</defname>
        </param>
        <briefdescription>
<para>The function find_vhbt determines the meridional transport for a given velocity, or with INTEGRAL_BT_CONT=True it determines the time-integrated meridional transport for a given time-integrated velocity. </para>        </briefdescription>
        <detaileddescription>
<para><parameterlist kind="param"><parameteritem>
<parameternamelist>
<parametername direction="in">v</parametername>
</parameternamelist>
<parameterdescription>
<para>The local meridional velocity [L T-1 ~&gt; m s-1] or time integrated velocity [L ~&gt; m]</para></parameterdescription>
</parameteritem>
<parameteritem>
<parameternamelist>
<parametername direction="in">btc</parametername>
</parameternamelist>
<parameterdescription>
<para>A structure containing various fields that allow the barotropic transports to be calculated consistently with the layers&apos; continuity equations. The dimensions of some of the elements in this type vary depending on INTEGRAL_BT_CONT.</para></parameterdescription>
</parameteritem>
</parameterlist>
<simplesect kind="return"><para>The meridional barotropic transport [L2 H T-1 ~&gt; m3 s-1] or time integrated transport [L2 H ~&gt; m3] </para></simplesect>
</para>        </detaileddescription>
        <inbodydescription>
        </inbodydescription>
        <location file="/home/cermak/src/MOM6.devrob/src/core/MOM_barotropic.F90" line="3608" column="1" bodyfile="/home/cermak/src/MOM6.devrob/src/core/MOM_barotropic.F90" bodystart="3609" bodyend="3627"/>
        <referencedby refid="namespacemom__barotropic_1ac9d3db838f0cbee31785077b261c0ad1" compoundref="MOM__barotropic_8F90" startline="2766" endline="2962">apply_velocity_obcs</referencedby>
        <referencedby refid="namespacemom__barotropic_1ac60353f002de5980317d117a3db1a075" compoundref="MOM__barotropic_8F90" startline="411" endline="2638">btstep</referencedby>
      </memberdef>
      <memberdef kind="function" id="namespacemom__barotropic_1a951d827a745c277e8950a091c060ee86" prot="private" static="no" const="no" explicit="no" inline="no" virt="non-virtual">
        <type>real function</type>
        <definition>real function mom_barotropic::find_dvhbt_dv</definition>
        <argsstring>(v, BTC)</argsstring>
        <name>find_dvhbt_dv</name>
        <param>
          <type>v</type>
          <defname>v</defname>
        </param>
        <param>
          <type>BTC</type>
          <defname>BTC</defname>
        </param>
        <briefdescription>
<para>The function find_dvhbt_dv determines the marginal meridional face area for a given velocity, or with INTEGRAL_BT_CONT=True for a given time-integrated velocity. </para>        </briefdescription>
        <detaileddescription>
<para><parameterlist kind="param"><parameteritem>
<parameternamelist>
<parametername direction="in">v</parametername>
</parameternamelist>
<parameterdescription>
<para>The local meridional velocity [L T-1 ~&gt; m s-1] or time integrated velocity [L ~&gt; m]</para></parameterdescription>
</parameteritem>
<parameteritem>
<parameternamelist>
<parametername direction="in">btc</parametername>
</parameternamelist>
<parameterdescription>
<para>A structure containing various fields that allow the barotropic transports to be calculated consistently with the layers&apos; continuity equations. The dimensions of some of the elements in this type vary depending on INTEGRAL_BT_CONT.</para></parameterdescription>
</parameteritem>
</parameterlist>
<simplesect kind="return"><para>The meridional barotropic face area [L H ~&gt; m2] </para></simplesect>
</para>        </detaileddescription>
        <inbodydescription>
        </inbodydescription>
        <location file="/home/cermak/src/MOM6.devrob/src/core/MOM_barotropic.F90" line="3632" column="1" bodyfile="/home/cermak/src/MOM6.devrob/src/core/MOM_barotropic.F90" bodystart="3633" bodyend="3651"/>
        <referencedby refid="namespacemom__barotropic_1ac60353f002de5980317d117a3db1a075" compoundref="MOM__barotropic_8F90" startline="411" endline="2638">btstep</referencedby>
      </memberdef>
      <memberdef kind="function" id="namespacemom__barotropic_1aeed3e618781611b448105a122e1a358c" prot="private" static="no" const="no" explicit="no" inline="no" virt="non-virtual">
        <type>real function</type>
        <definition>real function mom_barotropic::vhbt_to_vbt</definition>
        <argsstring>(vhbt, BTC, guess)</argsstring>
        <name>vhbt_to_vbt</name>
        <param>
          <type>vhbt</type>
          <defname>vhbt</defname>
        </param>
        <param>
          <type>BTC</type>
          <defname>BTC</defname>
        </param>
        <param>
          <type>guess</type>
          <defname>guess</defname>
        </param>
        <briefdescription>
<para>This function inverts the transport function to determine the barotopic velocity that is consistent with a given transport, or if INTEGRAL_BT_CONT=True this finds the time-integrated velocity that is consistent with a time-integrated transport. </para>        </briefdescription>
        <detaileddescription>
<para><parameterlist kind="param"><parameteritem>
<parameternamelist>
<parametername direction="in">vhbt</parametername>
</parameternamelist>
<parameterdescription>
<para>The barotropic meridional transport that should be inverted for [H L2 T-1 ~&gt; m3 s-1 or kg s-1] or the time-integrated transport [H L2 ~&gt; m3 or kg].</para></parameterdescription>
</parameteritem>
<parameteritem>
<parameternamelist>
<parametername direction="in">btc</parametername>
</parameternamelist>
<parameterdescription>
<para>A structure containing various fields that allow the barotropic transports to be calculated consistently with the layers&apos; continuity equations. The dimensions of some of the elements in this type vary depending on INTEGRAL_BT_CONT.</para></parameterdescription>
</parameteritem>
<parameteritem>
<parameternamelist>
<parametername direction="in">guess</parametername>
</parameternamelist>
<parameterdescription>
<para>A guess at what vbt will be [L T-1 ~&gt; m s-1] or [L ~&gt; m]. The result is not allowed to be dramatically larger than guess.</para></parameterdescription>
</parameteritem>
</parameterlist>
<simplesect kind="return"><para>The result - The velocity that gives vhbt transport [L T-1 ~&gt; m s-1] or the time-integrated velocity [L ~&gt; m]. </para></simplesect>
</para>        </detaileddescription>
        <inbodydescription>
        </inbodydescription>
        <location file="/home/cermak/src/MOM6.devrob/src/core/MOM_barotropic.F90" line="3657" column="1" bodyfile="/home/cermak/src/MOM6.devrob/src/core/MOM_barotropic.F90" bodystart="3658" bodyend="3751"/>
        <referencedby refid="namespacemom__barotropic_1af8296e1b2f7a24a091c7ad563393edb0" compoundref="MOM__barotropic_8F90" startline="2969" endline="3153">set_up_bt_obc</referencedby>
      </memberdef>
      <memberdef kind="function" id="namespacemom__barotropic_1a2be327af11ae54368acd32a3ba360ac4" prot="private" static="no" const="no" explicit="no" inline="no" virt="non-virtual">
        <type>subroutine</type>
        <definition>subroutine mom_barotropic::set_local_bt_cont_types</definition>
        <argsstring>(BT_cont, BTCL_u, BTCL_v, G, US, MS, BT_Domain, halo, dt_baroclinic)</argsstring>
        <name>set_local_bt_cont_types</name>
        <param>
          <type>BT_cont</type>
          <defname>BT_cont</defname>
        </param>
        <param>
          <type>BTCL_u</type>
          <defname>BTCL_u</defname>
        </param>
        <param>
          <type>BTCL_v</type>
          <defname>BTCL_v</defname>
        </param>
        <param>
          <type>G</type>
          <defname>G</defname>
        </param>
        <param>
          <type>US</type>
          <defname>US</defname>
        </param>
        <param>
          <type>MS</type>
          <defname>MS</defname>
        </param>
        <param>
          <type>BT_Domain</type>
          <defname>BT_Domain</defname>
        </param>
        <param>
          <type>halo</type>
          <defname>halo</defname>
        </param>
        <param>
          <type>dt_baroclinic</type>
          <defname>dt_baroclinic</defname>
        </param>
        <briefdescription>
<para>This subroutine sets up reordered versions of the BT_cont type in the local_BT_cont types, which have wide halos properly filled in. </para>        </briefdescription>
        <detaileddescription>
<para><parameterlist kind="param"><parameteritem>
<parameternamelist>
<parametername direction="inout">bt_cont</parametername>
</parameternamelist>
<parameterdescription>
<para>The BT_cont_type input to the barotropic solver.</para></parameterdescription>
</parameteritem>
<parameteritem>
<parameternamelist>
<parametername direction="in">ms</parametername>
</parameternamelist>
<parameterdescription>
<para>A type that describes the memory sizes of the argument arrays.</para></parameterdescription>
</parameteritem>
<parameteritem>
<parameternamelist>
<parametername direction="out">btcl_u</parametername>
</parameternamelist>
<parameterdescription>
<para>A structure with the u information from BT_cont.</para></parameterdescription>
</parameteritem>
<parameteritem>
<parameternamelist>
<parametername direction="out">btcl_v</parametername>
</parameternamelist>
<parameterdescription>
<para>A structure with the v information from BT_cont.</para></parameterdescription>
</parameteritem>
<parameteritem>
<parameternamelist>
<parametername direction="in">g</parametername>
</parameternamelist>
<parameterdescription>
<para>The ocean&apos;s 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="inout">bt_domain</parametername>
</parameternamelist>
<parameterdescription>
<para>The domain to use for updating the halos of wide arrays.</para></parameterdescription>
</parameteritem>
<parameteritem>
<parameternamelist>
<parametername direction="in">halo</parametername>
</parameternamelist>
<parameterdescription>
<para>The extra halo size to use here.</para></parameterdescription>
</parameteritem>
<parameteritem>
<parameternamelist>
<parametername direction="in">dt_baroclinic</parametername>
</parameternamelist>
<parameterdescription>
<para>The baroclinic time step [T ~&gt; s], which is provided if INTEGRAL_BT_CONTINUITY is true. </para></parameterdescription>
</parameteritem>
</parameterlist>
</para>        </detaileddescription>
        <inbodydescription>
        </inbodydescription>
        <location file="/home/cermak/src/MOM6.devrob/src/core/MOM_barotropic.F90" line="3756" column="1" bodyfile="/home/cermak/src/MOM6.devrob/src/core/MOM_barotropic.F90" bodystart="3757" bodyend="3887"/>
        <references refid="namespacemom__barotropic_1abc096fcad8b8bf59f220d00adfce9de8" compoundref="MOM__barotropic_8F90" startline="382" endline="382">id_clock_calc_pre</references>
        <references refid="namespacemom__barotropic_1a97318a4f938ac5caccd486bac83867ca" compoundref="MOM__barotropic_8F90" startline="383">id_clock_pass_pre</references>
        <references refid="namespacemom__barotropic_1af1813744cf2034c2413ef904bf628263" compoundref="MOM__barotropic_8F90" startline="4040" endline="4043">swap</references>
        <referencedby refid="namespacemom__barotropic_1ac60353f002de5980317d117a3db1a075" compoundref="MOM__barotropic_8F90" startline="411" endline="2638">btstep</referencedby>
      </memberdef>
      <memberdef kind="function" id="namespacemom__barotropic_1a6cf9cc852f7d2fb328fae4cad1c287c1" prot="private" static="no" const="no" explicit="no" inline="no" virt="non-virtual">
        <type>subroutine</type>
        <definition>subroutine mom_barotropic::adjust_local_bt_cont_types</definition>
        <argsstring>(ubt, uhbt, vbt, vhbt, BTCL_u, BTCL_v, G, US, MS, halo, dt_baroclinic)</argsstring>
        <name>adjust_local_bt_cont_types</name>
        <param>
          <type>ubt</type>
          <defname>ubt</defname>
        </param>
        <param>
          <type>uhbt</type>
          <defname>uhbt</defname>
        </param>
        <param>
          <type>vbt</type>
          <defname>vbt</defname>
        </param>
        <param>
          <type>vhbt</type>
          <defname>vhbt</defname>
        </param>
        <param>
          <type>BTCL_u</type>
          <defname>BTCL_u</defname>
        </param>
        <param>
          <type>BTCL_v</type>
          <defname>BTCL_v</defname>
        </param>
        <param>
          <type>G</type>
          <defname>G</defname>
        </param>
        <param>
          <type>US</type>
          <defname>US</defname>
        </param>
        <param>
          <type>MS</type>
          <defname>MS</defname>
        </param>
        <param>
          <type>halo</type>
          <defname>halo</defname>
        </param>
        <param>
          <type>dt_baroclinic</type>
          <defname>dt_baroclinic</defname>
        </param>
        <briefdescription>
<para>Adjust_local_BT_cont_types expands the range of velocities with a cubic curve translating velocities into transports to match the inital values of velocities and summed transports when the velocities are larger than the first guesses of the cubic transition velocities used to set up the local_BT_cont types. </para>        </briefdescription>
        <detaileddescription>
<para><parameterlist kind="param"><parameteritem>
<parameternamelist>
<parametername direction="in">ms</parametername>
</parameternamelist>
<parameterdescription>
<para>A type that describes the memory sizes of the argument arrays.</para></parameterdescription>
</parameteritem>
<parameteritem>
<parameternamelist>
<parametername direction="in">ubt</parametername>
</parameternamelist>
<parameterdescription>
<para>The linearization zonal barotropic velocity [L T-1 ~&gt; m s-1].</para></parameterdescription>
</parameteritem>
<parameteritem>
<parameternamelist>
<parametername direction="in">uhbt</parametername>
</parameternamelist>
<parameterdescription>
<para>The linearization zonal barotropic transport</para></parameterdescription>
</parameteritem>
<parameteritem>
<parameternamelist>
<parametername direction="in">vbt</parametername>
</parameternamelist>
<parameterdescription>
<para>The linearization meridional barotropic velocity [L T-1 ~&gt; m s-1].</para></parameterdescription>
</parameteritem>
<parameteritem>
<parameternamelist>
<parametername direction="in">vhbt</parametername>
</parameternamelist>
<parameterdescription>
<para>The linearization meridional barotropic transport</para></parameterdescription>
</parameteritem>
<parameteritem>
<parameternamelist>
<parametername direction="out">btcl_u</parametername>
</parameternamelist>
<parameterdescription>
<para>A structure with the u information from BT_cont.</para></parameterdescription>
</parameteritem>
<parameteritem>
<parameternamelist>
<parametername direction="out">btcl_v</parametername>
</parameternamelist>
<parameterdescription>
<para>A structure with the v information from BT_cont.</para></parameterdescription>
</parameteritem>
<parameteritem>
<parameternamelist>
<parametername direction="in">g</parametername>
</parameternamelist>
<parameterdescription>
<para>The ocean&apos;s 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">halo</parametername>
</parameternamelist>
<parameterdescription>
<para>The extra halo size to use here.</para></parameterdescription>
</parameteritem>
<parameteritem>
<parameternamelist>
<parametername direction="in">dt_baroclinic</parametername>
</parameternamelist>
<parameterdescription>
<para>The baroclinic time step [T ~&gt; s], which is provided if INTEGRAL_BT_CONTINUITY is true. </para></parameterdescription>
</parameteritem>
</parameterlist>
</para>        </detaileddescription>
        <inbodydescription>
        </inbodydescription>
        <location file="/home/cermak/src/MOM6.devrob/src/core/MOM_barotropic.F90" line="3895" column="1" bodyfile="/home/cermak/src/MOM6.devrob/src/core/MOM_barotropic.F90" bodystart="3897" bodyend="3991"/>
        <referencedby refid="namespacemom__barotropic_1ac60353f002de5980317d117a3db1a075" compoundref="MOM__barotropic_8F90" startline="411" endline="2638">btstep</referencedby>
      </memberdef>
      <memberdef kind="function" id="namespacemom__barotropic_1ac7100cec548b4bf6d69d4a52e074a04f" prot="private" static="no" const="no" explicit="no" inline="no" virt="non-virtual">
        <type>subroutine</type>
        <definition>subroutine mom_barotropic::bt_cont_to_face_areas</definition>
        <argsstring>(BT_cont, Datu, Datv, G, US, MS, halo, maximize)</argsstring>
        <name>bt_cont_to_face_areas</name>
        <param>
          <type>BT_cont</type>
          <defname>BT_cont</defname>
        </param>
        <param>
          <type>Datu</type>
          <defname>Datu</defname>
        </param>
        <param>
          <type>Datv</type>
          <defname>Datv</defname>
        </param>
        <param>
          <type>G</type>
          <defname>G</defname>
        </param>
        <param>
          <type>US</type>
          <defname>US</defname>
        </param>
        <param>
          <type>MS</type>
          <defname>MS</defname>
        </param>
        <param>
          <type>halo</type>
          <defname>halo</defname>
        </param>
        <param>
          <type>maximize</type>
          <defname>maximize</defname>
        </param>
        <briefdescription>
<para>This subroutine uses the BTCL types to find typical or maximum face areas, which can then be used for finding wave speeds, etc. </para>        </briefdescription>
        <detaileddescription>
<para><parameterlist kind="param"><parameteritem>
<parameternamelist>
<parametername direction="inout">bt_cont</parametername>
</parameternamelist>
<parameterdescription>
<para>The BT_cont_type input to the barotropic solver.</para></parameterdescription>
</parameteritem>
<parameteritem>
<parameternamelist>
<parametername direction="in">ms</parametername>
</parameternamelist>
<parameterdescription>
<para>A type that describes the memory sizes of the argument arrays.</para></parameterdescription>
</parameteritem>
<parameteritem>
<parameternamelist>
<parametername direction="out">datu</parametername>
</parameternamelist>
<parameterdescription>
<para>The effective zonal face area [H L ~&gt; m2 or kg m-1].</para></parameterdescription>
</parameteritem>
<parameteritem>
<parameternamelist>
<parametername direction="out">datv</parametername>
</parameternamelist>
<parameterdescription>
<para>The effective meridional face area [H L ~&gt; m2 or kg m-1].</para></parameterdescription>
</parameteritem>
<parameteritem>
<parameternamelist>
<parametername direction="in">g</parametername>
</parameternamelist>
<parameterdescription>
<para>The ocean&apos;s 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">halo</parametername>
</parameternamelist>
<parameterdescription>
<para>The extra halo size to use here.</para></parameterdescription>
</parameteritem>
<parameteritem>
<parameternamelist>
<parametername direction="in">maximize</parametername>
</parameternamelist>
<parameterdescription>
<para>If present and true, find the maximum face area for any velocity. </para></parameterdescription>
</parameteritem>
</parameterlist>
</para>        </detaileddescription>
        <inbodydescription>
        </inbodydescription>
        <location file="/home/cermak/src/MOM6.devrob/src/core/MOM_barotropic.F90" line="3996" column="1" bodyfile="/home/cermak/src/MOM6.devrob/src/core/MOM_barotropic.F90" bodystart="3997" bodyend="4035"/>
        <referencedby refid="namespacemom__barotropic_1ac60353f002de5980317d117a3db1a075" compoundref="MOM__barotropic_8F90" startline="411" endline="2638">btstep</referencedby>
        <referencedby refid="namespacemom__barotropic_1a486257b675aa4e81c2d1634b5288a67f" compoundref="MOM__barotropic_8F90" startline="2644" endline="2756">set_dtbt</referencedby>
      </memberdef>
      <memberdef kind="function" id="namespacemom__barotropic_1af1813744cf2034c2413ef904bf628263" prot="private" static="no" const="no" explicit="no" inline="no" virt="non-virtual">
        <type>subroutine</type>
        <definition>subroutine mom_barotropic::swap</definition>
        <argsstring>(a, b)</argsstring>
        <name>swap</name>
        <param>
          <type>a</type>
          <defname>a</defname>
        </param>
        <param>
          <type>b</type>
          <defname>b</defname>
        </param>
        <briefdescription>
<para>Swap the values of two real variables. </para>        </briefdescription>
        <detaileddescription>
<para><parameterlist kind="param"><parameteritem>
<parameternamelist>
<parametername direction="inout">a</parametername>
</parameternamelist>
<parameterdescription>
<para>The first variable to be swapped.</para></parameterdescription>
</parameteritem>
<parameteritem>
<parameternamelist>
<parametername direction="inout">b</parametername>
</parameternamelist>
<parameterdescription>
<para>The second variable to be swapped. </para></parameterdescription>
</parameteritem>
</parameterlist>
</para>        </detaileddescription>
        <inbodydescription>
        </inbodydescription>
        <location file="/home/cermak/src/MOM6.devrob/src/core/MOM_barotropic.F90" line="4039" column="1" bodyfile="/home/cermak/src/MOM6.devrob/src/core/MOM_barotropic.F90" bodystart="4040" bodyend="4043"/>
        <referencedby refid="namespacemom__barotropic_1ac60353f002de5980317d117a3db1a075" compoundref="MOM__barotropic_8F90" startline="411" endline="2638">btstep</referencedby>
        <referencedby refid="namespacemom__barotropic_1a2be327af11ae54368acd32a3ba360ac4" compoundref="MOM__barotropic_8F90" startline="3757" endline="3887">set_local_bt_cont_types</referencedby>
      </memberdef>
      <memberdef kind="function" id="namespacemom__barotropic_1aba29d11dc2530622be997c069fb932ae" prot="private" static="no" const="no" explicit="no" inline="no" virt="non-virtual">
        <type>subroutine</type>
        <definition>subroutine mom_barotropic::find_face_areas</definition>
        <argsstring>(Datu, Datv, G, GV, US, CS, MS, eta, halo, add_max)</argsstring>
        <name>find_face_areas</name>
        <param>
          <type>Datu</type>
          <defname>Datu</defname>
        </param>
        <param>
          <type>Datv</type>
          <defname>Datv</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>MS</type>
          <defname>MS</defname>
        </param>
        <param>
          <type>eta</type>
          <defname>eta</defname>
        </param>
        <param>
          <type>halo</type>
          <defname>halo</defname>
        </param>
        <param>
          <type>add_max</type>
          <defname>add_max</defname>
        </param>
        <briefdescription>
<para>This subroutine determines the open face areas of cells for calculating the barotropic transport. </para>        </briefdescription>
        <detaileddescription>
<para><parameterlist kind="param"><parameteritem>
<parameternamelist>
<parametername direction="in">ms</parametername>
</parameternamelist>
<parameterdescription>
<para>A type that describes the memory sizes of the argument arrays.</para></parameterdescription>
</parameteritem>
<parameteritem>
<parameternamelist>
<parametername direction="out">datu</parametername>
</parameternamelist>
<parameterdescription>
<para>The open zonal face area [H L ~&gt; m2 or kg m-1].</para></parameterdescription>
</parameteritem>
<parameteritem>
<parameternamelist>
<parametername direction="out">datv</parametername>
</parameternamelist>
<parameterdescription>
<para>The open meridional face area [H L ~&gt; m2 or kg m-1].</para></parameterdescription>
</parameteritem>
<parameteritem>
<parameternamelist>
<parametername direction="in">g</parametername>
</parameternamelist>
<parameterdescription>
<para>The ocean&apos;s grid structure.</para></parameterdescription>
</parameteritem>
<parameteritem>
<parameternamelist>
<parametername direction="in">gv</parametername>
</parameternamelist>
<parameterdescription>
<para>The ocean&apos;s 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>cs</parametername>
</parameternamelist>
<parameterdescription>
<para>The control structure returned by a previous call to barotropic_init.</para></parameterdescription>
</parameteritem>
<parameteritem>
<parameternamelist>
<parametername direction="in">eta</parametername>
</parameternamelist>
<parameterdescription>
<para>The barotropic free surface height anomaly</para></parameterdescription>
</parameteritem>
<parameteritem>
<parameternamelist>
<parametername direction="in">halo</parametername>
</parameternamelist>
<parameterdescription>
<para>The halo size to use, default = 1.</para></parameterdescription>
</parameteritem>
<parameteritem>
<parameternamelist>
<parametername direction="in">add_max</parametername>
</parameternamelist>
<parameterdescription>
<para>A value to add to the maximum depth (used to overestimate the external wave speed) [Z ~&gt; m]. </para></parameterdescription>
</parameteritem>
</parameterlist>
</para>        </detaileddescription>
        <inbodydescription>
        </inbodydescription>
        <location file="/home/cermak/src/MOM6.devrob/src/core/MOM_barotropic.F90" line="4048" column="1" bodyfile="/home/cermak/src/MOM6.devrob/src/core/MOM_barotropic.F90" bodystart="4049" bodyend="4139"/>
        <referencedby refid="namespacemom__barotropic_1a59244968890766632554a6d271ec4499" compoundref="MOM__barotropic_8F90" startline="4206" endline="4919">barotropic_init</referencedby>
        <referencedby refid="namespacemom__barotropic_1ac60353f002de5980317d117a3db1a075" compoundref="MOM__barotropic_8F90" startline="411" endline="2638">btstep</referencedby>
        <referencedby refid="namespacemom__barotropic_1a486257b675aa4e81c2d1634b5288a67f" compoundref="MOM__barotropic_8F90" startline="2644" endline="2756">set_dtbt</referencedby>
      </memberdef>
      <memberdef kind="function" id="namespacemom__barotropic_1a856387dc8ee2b7b50ea2bd9fca16db78" prot="public" static="no" const="no" explicit="no" inline="no" virt="non-virtual">
        <type>subroutine, public</type>
        <definition>subroutine, public mom_barotropic::bt_mass_source</definition>
        <argsstring>(h, eta, set_cor, G, GV, CS)</argsstring>
        <name>bt_mass_source</name>
        <param>
          <type>h</type>
          <defname>h</defname>
        </param>
        <param>
          <type>eta</type>
          <defname>eta</defname>
        </param>
        <param>
          <type>set_cor</type>
          <defname>set_cor</defname>
        </param>
        <param>
          <type>G</type>
          <defname>G</defname>
        </param>
        <param>
          <type>GV</type>
          <defname>GV</defname>
        </param>
        <param>
          <type>CS</type>
          <defname>CS</defname>
        </param>
        <briefdescription>
<para>bt_mass_source determines the appropriately limited mass source for the barotropic solver, along with a corrective fictitious mass source that will drive the barotropic estimate of the free surface height toward the baroclinic estimate. </para>        </briefdescription>
        <detaileddescription>
<para><parameterlist kind="param"><parameteritem>
<parameternamelist>
<parametername direction="in">g</parametername>
</parameternamelist>
<parameterdescription>
<para>The ocean&apos;s grid structure.</para></parameterdescription>
</parameteritem>
<parameteritem>
<parameternamelist>
<parametername direction="in">gv</parametername>
</parameternamelist>
<parameterdescription>
<para>The ocean&apos;s vertical grid structure.</para></parameterdescription>
</parameteritem>
<parameteritem>
<parameternamelist>
<parametername direction="in">h</parametername>
</parameternamelist>
<parameterdescription>
<para>Layer thicknesses [H ~&gt; m or kg m-2].</para></parameterdescription>
</parameteritem>
<parameteritem>
<parameternamelist>
<parametername direction="in">eta</parametername>
</parameternamelist>
<parameterdescription>
<para>The free surface height that is to be corrected [H ~&gt; m or kg m-2].</para></parameterdescription>
</parameteritem>
<parameteritem>
<parameternamelist>
<parametername direction="in">set_cor</parametername>
</parameternamelist>
<parameterdescription>
<para>A flag to indicate whether to set the corrective fluxes (and update the slowly varying part of eta_cor) (.true.) or whether to incrementally update the corrective fluxes.</para></parameterdescription>
</parameteritem>
<parameteritem>
<parameternamelist>
<parametername>cs</parametername>
</parameternamelist>
<parameterdescription>
<para>The control structure returned by a previous call to barotropic_init. </para></parameterdescription>
</parameteritem>
</parameterlist>
</para>        </detaileddescription>
        <inbodydescription>
        </inbodydescription>
        <location file="/home/cermak/src/MOM6.devrob/src/core/MOM_barotropic.F90" line="4146" column="1" bodyfile="/home/cermak/src/MOM6.devrob/src/core/MOM_barotropic.F90" bodystart="4147" bodyend="4198"/>
        <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__barotropic_1a59244968890766632554a6d271ec4499" prot="public" static="no" const="no" explicit="no" inline="no" virt="non-virtual">
        <type>subroutine, public</type>
        <definition>subroutine, public mom_barotropic::barotropic_init</definition>
        <argsstring>(u, v, h, eta, Time, G, GV, US, param_file, diag, CS, restart_CS, calc_dtbt, BT_cont, tides_CSp)</argsstring>
        <name>barotropic_init</name>
        <param>
          <type>u</type>
          <defname>u</defname>
        </param>
        <param>
          <type>v</type>
          <defname>v</defname>
        </param>
        <param>
          <type>h</type>
          <defname>h</defname>
        </param>
        <param>
          <type>eta</type>
          <defname>eta</defname>
        </param>
        <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>restart_CS</type>
          <defname>restart_CS</defname>
        </param>
        <param>
          <type>calc_dtbt</type>
          <defname>calc_dtbt</defname>
        </param>
        <param>
          <type>BT_cont</type>
          <defname>BT_cont</defname>
        </param>
        <param>
          <type>tides_CSp</type>
          <defname>tides_CSp</defname>
        </param>
        <briefdescription>
<para>barotropic_init initializes a number of time-invariant fields used in the barotropic calculation and initializes any barotropic fields that have not already been initialized. </para>        </briefdescription>
        <detaileddescription>
<para><parameterlist kind="param"><parameteritem>
<parameternamelist>
<parametername direction="inout">g</parametername>
</parameternamelist>
<parameterdescription>
<para>The ocean&apos;s grid structure.</para></parameterdescription>
</parameteritem>
<parameteritem>
<parameternamelist>
<parametername direction="in">gv</parametername>
</parameternamelist>
<parameterdescription>
<para>The ocean&apos;s 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">u</parametername>
</parameternamelist>
<parameterdescription>
<para>The zonal velocity [L T-1 ~&gt; m s-1].</para></parameterdescription>
</parameteritem>
<parameteritem>
<parameternamelist>
<parametername direction="in">v</parametername>
</parameternamelist>
<parameterdescription>
<para>The meridional velocity [L T-1 ~&gt; m s-1].</para></parameterdescription>
</parameteritem>
<parameteritem>
<parameternamelist>
<parametername direction="in">h</parametername>
</parameternamelist>
<parameterdescription>
<para>Layer thicknesses [H ~&gt; m or kg m-2].</para></parameterdescription>
</parameteritem>
<parameteritem>
<parameternamelist>
<parametername direction="in">eta</parametername>
</parameternamelist>
<parameterdescription>
<para>Free surface height or column mass anomaly</para></parameterdescription>
</parameteritem>
<parameteritem>
<parameternamelist>
<parametername direction="in">time</parametername>
</parameternamelist>
<parameterdescription>
<para>The current model time.</para></parameterdescription>
</parameteritem>
<parameteritem>
<parameternamelist>
<parametername direction="in">param_file</parametername>
</parameternamelist>
<parameterdescription>
<para>A structure to parse for run-time parameters.</para></parameterdescription>
</parameteritem>
<parameteritem>
<parameternamelist>
<parametername direction="inout">diag</parametername>
</parameternamelist>
<parameterdescription>
<para>A structure that is used to regulate diagnostic output.</para></parameterdescription>
</parameteritem>
<parameteritem>
<parameternamelist>
<parametername>cs</parametername>
</parameternamelist>
<parameterdescription>
<para>A pointer to the control structure for this module that is set in register_barotropic_restarts.</para></parameterdescription>
</parameteritem>
<parameteritem>
<parameternamelist>
<parametername>restart_cs</parametername>
</parameternamelist>
<parameterdescription>
<para>A pointer to the restart control structure.</para></parameterdescription>
</parameteritem>
<parameteritem>
<parameternamelist>
<parametername direction="out">calc_dtbt</parametername>
</parameternamelist>
<parameterdescription>
<para>If true, the barotropic time step must be recalculated before stepping.</para></parameterdescription>
</parameteritem>
<parameteritem>
<parameternamelist>
<parametername>bt_cont</parametername>
</parameternamelist>
<parameterdescription>
<para>A structure with elements that describe the</para></parameterdescription>
</parameteritem>
<parameteritem>
<parameternamelist>
<parametername>tides_csp</parametername>
</parameternamelist>
<parameterdescription>
<para>A pointer to the control structure of the </para></parameterdescription>
</parameteritem>
</parameterlist>
</para>        </detaileddescription>
        <inbodydescription>
        </inbodydescription>
        <location file="/home/cermak/src/MOM6.devrob/src/core/MOM_barotropic.F90" line="4204" column="1" bodyfile="/home/cermak/src/MOM6.devrob/src/core/MOM_barotropic.F90" bodystart="4206" bodyend="4919"/>
        <references refid="namespacemom__barotropic_1a735fe88440ec7db07f6640ae9f7b039a" compoundref="MOM__barotropic_8F90" startline="388" endline="388">arithmetic</references>
        <references refid="namespacemom__barotropic_1a9a0a9a3013efa01f7bf1f59f53d8405c" compoundref="MOM__barotropic_8F90" startline="394" endline="394">arithmetic_string</references>
        <references refid="namespacemom__barotropic_1aedbe3a001b7245a84315fb2a9c9ccde7" compoundref="MOM__barotropic_8F90" startline="395" endline="395">bt_cont_string</references>
        <references refid="namespacemom__barotropic_1aa60ee766449413de40cdbc19964a6556" compoundref="MOM__barotropic_8F90" startline="3184" endline="3452">btcalc</references>
        <references refid="namespacemom__cpu__clock_1a7fda795074ed5ec5b00a26e7531c14f3" compoundref="MOM__cpu__clock_8F90" startline="23" endline="39">mom_cpu_clock::cpu_clock_id</references>
        <references refid="namespacemom__barotropic_1aba29d11dc2530622be997c069fb932ae" compoundref="MOM__barotropic_8F90" startline="4049" endline="4139">find_face_areas</references>
        <references refid="namespacemom__barotropic_1ae6d8f02c3c032f7d1bee65d44ba7051c" compoundref="MOM__barotropic_8F90" startline="390" endline="390">from_bt_cont</references>
        <references refid="namespacemom__barotropic_1af7eb111a979084e72d6b3474d07bce8f" compoundref="MOM__barotropic_8F90" startline="387" endline="387">harmonic</references>
        <references refid="namespacemom__barotropic_1a59ac414d21b35014c3f3a29ad7d7291f" compoundref="MOM__barotropic_8F90" startline="393" endline="393">harmonic_string</references>
        <references refid="namespacemom__barotropic_1a2e9f6ac6029c84484a0f812a218e9744" compoundref="MOM__barotropic_8F90" startline="389" endline="389">hybrid</references>
        <references refid="namespacemom__barotropic_1a67640d662625af66dca3192d66977674" compoundref="MOM__barotropic_8F90" startline="392" endline="392">hybrid_string</references>
        <references refid="namespacemom__barotropic_1a30989767cf3f852158de8fdbcbb6a272" compoundref="MOM__barotropic_8F90" startline="381">id_clock_calc</references>
        <references refid="namespacemom__barotropic_1a0b999fb31c536d29b1d6503bb4501abc" compoundref="MOM__barotropic_8F90" startline="382">id_clock_calc_post</references>
        <references refid="namespacemom__barotropic_1abc096fcad8b8bf59f220d00adfce9de8" compoundref="MOM__barotropic_8F90" startline="382" endline="382">id_clock_calc_pre</references>
        <references refid="namespacemom__barotropic_1a12c05c28cd9c104c180f45c5b666b92a" compoundref="MOM__barotropic_8F90" startline="383">id_clock_pass_post</references>
        <references refid="namespacemom__barotropic_1a97318a4f938ac5caccd486bac83867ca" compoundref="MOM__barotropic_8F90" startline="383">id_clock_pass_pre</references>
        <references refid="namespacemom__barotropic_1a2df2b958844a4701d4584219b168bd1a" compoundref="MOM__barotropic_8F90" startline="383" endline="383">id_clock_pass_step</references>
        <references refid="namespacemom__barotropic_1ae71abf473e3483226651abb790cf1e2b" compoundref="MOM__barotropic_8F90" startline="381" endline="381">id_clock_sync</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__error__handler_1a1c462df7b61f1296407b4af51dfeceab" compoundref="MOM__error__handler_8F90" startline="53" endline="66">mom_error_handler::mom_mesg</references>
        <references refid="namespacemom__barotropic_1a486257b675aa4e81c2d1634b5288a67f" compoundref="MOM__barotropic_8F90" startline="2644" endline="2756">set_dtbt</references>
      </memberdef>
      <memberdef kind="function" id="namespacemom__barotropic_1aa059fdf7e6002b13d942f96ef17a5db6" prot="public" static="no" const="no" explicit="no" inline="no" virt="non-virtual">
        <type>subroutine, public</type>
        <definition>subroutine, public mom_barotropic::barotropic_get_tav</definition>
        <argsstring>(CS, ubtav, vbtav, G, US)</argsstring>
        <name>barotropic_get_tav</name>
        <param>
          <type>CS</type>
          <defname>CS</defname>
        </param>
        <param>
          <type>ubtav</type>
          <defname>ubtav</defname>
        </param>
        <param>
          <type>vbtav</type>
          <defname>vbtav</defname>
        </param>
        <param>
          <type>G</type>
          <defname>G</defname>
        </param>
        <param>
          <type>US</type>
          <defname>US</defname>
        </param>
        <briefdescription>
<para>Copies ubtav and vbtav from private type into arrays. </para>        </briefdescription>
        <detaileddescription>
<para><parameterlist kind="param"><parameteritem>
<parameternamelist>
<parametername>cs</parametername>
</parameternamelist>
<parameterdescription>
<para>Control structure for this module</para></parameterdescription>
</parameteritem>
<parameteritem>
<parameternamelist>
<parametername direction="in">g</parametername>
</parameternamelist>
<parameterdescription>
<para>Grid structure</para></parameterdescription>
</parameteritem>
<parameteritem>
<parameternamelist>
<parametername direction="inout">ubtav</parametername>
</parameternamelist>
<parameterdescription>
<para>Zonal barotropic velocity averaged over a baroclinic timestep [L T-1 ~&gt; m s-1]</para></parameterdescription>
</parameteritem>
<parameteritem>
<parameternamelist>
<parametername direction="inout">vbtav</parametername>
</parameternamelist>
<parameterdescription>
<para>Meridional barotropic velocity averaged over a baroclinic timestep [L T-1 ~&gt; m s-1]</para></parameterdescription>
</parameteritem>
<parameteritem>
<parameternamelist>
<parametername direction="in">us</parametername>
</parameternamelist>
<parameterdescription>
<para>A dimensional unit scaling type </para></parameterdescription>
</parameteritem>
</parameterlist>
</para>        </detaileddescription>
        <inbodydescription>
        </inbodydescription>
        <location file="/home/cermak/src/MOM6.devrob/src/core/MOM_barotropic.F90" line="4923" column="1" bodyfile="/home/cermak/src/MOM6.devrob/src/core/MOM_barotropic.F90" bodystart="4924" bodyend="4941"/>
        <referencedby refid="namespacemom__hor__visc_1ab3a26095634db15095b980e45137e1f1" compoundref="MOM__hor__visc_8F90" startline="217" endline="1411">mom_hor_visc::horizontal_viscosity</referencedby>
      </memberdef>
      <memberdef kind="function" id="namespacemom__barotropic_1aee694cdef3a20b960aff1ec4fa5da28f" prot="public" static="no" const="no" explicit="no" inline="no" virt="non-virtual">
        <type>subroutine, public</type>
        <definition>subroutine, public mom_barotropic::barotropic_end</definition>
        <argsstring>(CS)</argsstring>
        <name>barotropic_end</name>
        <param>
          <type>CS</type>
          <defname>CS</defname>
        </param>
        <briefdescription>
<para>Clean up the barotropic control structure. </para>        </briefdescription>
        <detaileddescription>
<para><parameterlist kind="param"><parameteritem>
<parameternamelist>
<parametername>cs</parametername>
</parameternamelist>
<parameterdescription>
<para>Control structure to clear out. </para></parameterdescription>
</parameteritem>
</parameterlist>
</para>        </detaileddescription>
        <inbodydescription>
        </inbodydescription>
        <location file="/home/cermak/src/MOM6.devrob/src/core/MOM_barotropic.F90" line="4946" column="1" bodyfile="/home/cermak/src/MOM6.devrob/src/core/MOM_barotropic.F90" bodystart="4947" bodyend="4959"/>
        <references refid="namespacemom__barotropic_1ac8250401fa646cce0f3108587caf19be" compoundref="MOM__barotropic_8F90" startline="3158" endline="3175">destroy_bt_obc</references>
      </memberdef>
      <memberdef kind="function" id="namespacemom__barotropic_1a28fa2e7600a471735c3b827ac08ed94b" prot="public" static="no" const="no" explicit="no" inline="no" virt="non-virtual">
        <type>subroutine, public</type>
        <definition>subroutine, public mom_barotropic::register_barotropic_restarts</definition>
        <argsstring>(HI, GV, param_file, CS, restart_CS)</argsstring>
        <name>register_barotropic_restarts</name>
        <param>
          <type>HI</type>
          <defname>HI</defname>
        </param>
        <param>
          <type>GV</type>
          <defname>GV</defname>
        </param>
        <param>
          <type>param_file</type>
          <defname>param_file</defname>
        </param>
        <param>
          <type>CS</type>
          <defname>CS</defname>
        </param>
        <param>
          <type>restart_CS</type>
          <defname>restart_CS</defname>
        </param>
        <briefdescription>
<para>This subroutine is used to register any fields from <ref refid="MOM__barotropic_8F90" kindref="compound">MOM_barotropic.F90</ref> that should be written to or read from the restart file. </para>        </briefdescription>
        <detaileddescription>
<para><parameterlist kind="param"><parameteritem>
<parameternamelist>
<parametername direction="in">hi</parametername>
</parameternamelist>
<parameterdescription>
<para>A horizontal index type structure.</para></parameterdescription>
</parameteritem>
<parameteritem>
<parameternamelist>
<parametername direction="in">param_file</parametername>
</parameternamelist>
<parameterdescription>
<para>A structure to parse for run-time parameters.</para></parameterdescription>
</parameteritem>
<parameteritem>
<parameternamelist>
<parametername>cs</parametername>
</parameternamelist>
<parameterdescription>
<para>A pointer that is set to point to the control structure for this module.</para></parameterdescription>
</parameteritem>
<parameteritem>
<parameternamelist>
<parametername direction="in">gv</parametername>
</parameternamelist>
<parameterdescription>
<para>The ocean&apos;s vertical grid structure.</para></parameterdescription>
</parameteritem>
<parameteritem>
<parameternamelist>
<parametername>restart_cs</parametername>
</parameternamelist>
<parameterdescription>
<para>A pointer to the restart control structure. </para></parameterdescription>
</parameteritem>
</parameterlist>
</para>        </detaileddescription>
        <inbodydescription>
        </inbodydescription>
        <location file="/home/cermak/src/MOM6.devrob/src/core/MOM_barotropic.F90" line="4964" column="1" bodyfile="/home/cermak/src/MOM6.devrob/src/core/MOM_barotropic.F90" bodystart="4965" bodyend="5021"/>
        <references refid="namespacemom__error__handler_1a460cfb79a06c29fc249952c2a3710d67" compoundref="MOM__error__handler_8F90" startline="72" endline="92">mom_error_handler::mom_error</references>
        <references refid="namespacemom__io_1a09be50ad112d6bc134d06d82fcbe1fdc" compoundref="MOM__io_8F90" startline="600" endline="632">mom_io::var_desc</references>
      </memberdef>
      </sectiondef>
    <briefdescription>
<para>Baropotric solver. </para>    </briefdescription>
    <detaileddescription>
<para>By Robert Hallberg, April 1994 - January 2007.</para><para>This program contains the subroutines that time steps the linearized barotropic equations. btstep is used to actually time step the barotropic equations, and contains most of the substance of this module.</para><para>btstep uses a forwards-backwards based scheme to time step the barotropic equations, returning the layers&apos; accelerations due to the barotropic changes in the ocean state, the final free surface height (or column mass), and the volume (or mass) fluxes summed through the layers and averaged over the baroclinic time step. As input, btstep takes the initial 3-D velocities, the inital free surface height, the 3-D accelerations of the layers, and the external forcing. Everything in btstep is cast in terms of anomalies, so if everything is in balance, there is explicitly no acceleration due to btstep.</para><para>The spatial discretization of the continuity equation is second order accurate. A flux conservative form is used to guarantee global conservation of volume. The spatial discretization of the momentum equation is second order accurate. The Coriolis force is written in a form which does not contribute to the energy tendency and which conserves linearized potential vorticity, f/D. These terms are exactly removed from the baroclinic momentum equations, so the linearization of vorticity advection will not degrade the overall solution.</para><para>btcalc calculates the fractional thickness of each layer at the velocity points, for later use in calculating the barotropic velocities and the averaged accelerations. Harmonic mean thicknesses (i.e. 2*h_L*h_R/(h_L + h_R)) are used to avoid overly strong weighting of overly thin layers. This may later be relaxed to use thicknesses determined from the continuity equations.</para><para>bt_mass_source determines the real mass sources for the barotropic solver, along with the corrective pseudo-fluxes that keep the barotropic and baroclinic estimates of the free surface height close to each other. Given the layer thicknesses and the free surface height that correspond to each other, it calculates a corrective mass source that is added to the barotropic continuity* equation, and optionally adjusts a slowly varying correction rate. Newer algorithmic changes have deemphasized the need for this, but it is still here to add net water sources to the barotropic solver.*</para><para>barotropic_init allocates and initializes any barotropic arrays that have not been read from a restart file, reads parameters from the inputfile, and sets up diagnostic fields.</para><para>barotropic_end deallocates anything allocated in barotropic_init or register_barotropic_restarts.</para><para>register_barotropic_restarts is used to indicate any fields that are private to the barotropic solver that need to be included in the restart files, and to ensure that they are read. </para>    </detaileddescription>
    <location file="/home/cermak/src/MOM6.devrob/src/core/MOM_barotropic.F90" line="2" column="1"/>
  </compounddef>
</doxygen>
