<?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__bkgnd__mixing" kind="namespace" language="Fortran">
    <compoundname>mom_bkgnd_mixing</compoundname>
    <innerclass refid="structmom__bkgnd__mixing_1_1bkgnd__mixing__cs" prot="public">mom_bkgnd_mixing::bkgnd_mixing_cs</innerclass>
      <sectiondef kind="var">
      <memberdef kind="variable" id="namespacemom__bkgnd__mixing_1ab29f7955c49a49c1ed5b2a3808a6fa9e" prot="public" static="no" mutable="no">
        <type><ref refid="version__variable_8h_1acda997fe1761de4c6bca0f27dc786964" kindref="member">character</ref>(len=40)</type>
        <definition>character(len=40) mom_bkgnd_mixing::mdl</definition>
        <argsstring></argsstring>
        <name>mdl</name>
        <initializer>= &quot;MOM_bkgnd_mixing&quot;</initializer>
        <briefdescription>
<para>This module&apos;s name. </para>        </briefdescription>
        <detaileddescription>
        </detaileddescription>
        <inbodydescription>
        </inbodydescription>
        <location file="/home/cermak/src/MOM6.devrob/src/parameterizations/vertical/MOM_bkgnd_mixing.F90" line="108" column="1" bodyfile="/home/cermak/src/MOM6.devrob/src/parameterizations/vertical/MOM_bkgnd_mixing.F90" bodystart="108" bodyend="108"/>
        <referencedby refid="namespacemom__bkgnd__mixing_1a39f3b89ba376a8266a5c61fa126a7580" compoundref="MOM__bkgnd__mixing_8F90" startline="114" endline="304">bkgnd_mixing_init</referencedby>
        <referencedby refid="namespacemom__bkgnd__mixing_1a213f9ed7daae9b060fb781c74de824dc" compoundref="MOM__bkgnd__mixing_8F90" startline="524" endline="527">cvmix_bkgnd_is_used</referencedby>
      </memberdef>
      </sectiondef>
      <sectiondef kind="func">
      <memberdef kind="function" id="namespacemom__bkgnd__mixing_1a39f3b89ba376a8266a5c61fa126a7580" prot="public" static="no" const="no" explicit="no" inline="no" virt="non-virtual">
        <type>subroutine, public</type>
        <definition>subroutine, public mom_bkgnd_mixing::bkgnd_mixing_init</definition>
        <argsstring>(Time, G, GV, US, param_file, diag, CS)</argsstring>
        <name>bkgnd_mixing_init</name>
        <param>
          <type>Time</type>
          <defname>Time</defname>
        </param>
        <param>
          <type>G</type>
          <defname>G</defname>
        </param>
        <param>
          <type>GV</type>
          <defname>GV</defname>
        </param>
        <param>
          <type>US</type>
          <defname>US</defname>
        </param>
        <param>
          <type>param_file</type>
          <defname>param_file</defname>
        </param>
        <param>
          <type>diag</type>
          <defname>diag</defname>
        </param>
        <param>
          <type>CS</type>
          <defname>CS</defname>
        </param>
        <briefdescription>
<para>Initialize the background mixing routine. </para>        </briefdescription>
        <detaileddescription>
<para><parameterlist kind="param"><parameteritem>
<parameternamelist>
<parametername direction="in">time</parametername>
</parameternamelist>
<parameterdescription>
<para>The current time.</para></parameterdescription>
</parameteritem>
<parameteritem>
<parameternamelist>
<parametername direction="in">g</parametername>
</parameternamelist>
<parameterdescription>
<para>Grid structure.</para></parameterdescription>
</parameteritem>
<parameteritem>
<parameternamelist>
<parametername direction="in">gv</parametername>
</parameternamelist>
<parameterdescription>
<para>Vertical grid structure.</para></parameterdescription>
</parameteritem>
<parameteritem>
<parameternamelist>
<parametername direction="in">us</parametername>
</parameternamelist>
<parameterdescription>
<para>A dimensional unit scaling type</para></parameterdescription>
</parameteritem>
<parameteritem>
<parameternamelist>
<parametername direction="in">param_file</parametername>
</parameternamelist>
<parameterdescription>
<para>Run-time parameter file handle</para></parameterdescription>
</parameteritem>
<parameteritem>
<parameternamelist>
<parametername direction="inout">diag</parametername>
</parameternamelist>
<parameterdescription>
<para>Diagnostics control structure.</para></parameterdescription>
</parameteritem>
<parameteritem>
<parameternamelist>
<parametername>cs</parametername>
</parameternamelist>
<parameterdescription>
<para>This module&apos;s control structure. </para></parameterdescription>
</parameteritem>
</parameterlist>
</para>        </detaileddescription>
        <inbodydescription>
        </inbodydescription>
        <location file="/home/cermak/src/MOM6.devrob/src/parameterizations/vertical/MOM_bkgnd_mixing.F90" line="113" column="1" bodyfile="/home/cermak/src/MOM6.devrob/src/parameterizations/vertical/MOM_bkgnd_mixing.F90" bodystart="114" bodyend="304"/>
        <references refid="namespacemom__bkgnd__mixing_1a829d5b6f715c06b6566a49271d4a7217" compoundref="MOM__bkgnd__mixing_8F90" startline="533" endline="543">check_bkgnd_scheme</references>
        <references refid="namespacemom__bkgnd__mixing_1ab29f7955c49a49c1ed5b2a3808a6fa9e" compoundref="MOM__bkgnd__mixing_8F90" startline="108" endline="108">mdl</references>
        <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__bkgnd__mixing_1ab03cc867c234bc3d0a1d07a3f1513483" prot="public" static="no" const="no" explicit="no" inline="no" virt="non-virtual">
        <type>subroutine, public</type>
        <definition>subroutine, public mom_bkgnd_mixing::calculate_bkgnd_mixing</definition>
        <argsstring>(h, tv, N2_lay, Kd_lay, Kd_int, Kv_bkgnd, j, G, GV, US, CS)</argsstring>
        <name>calculate_bkgnd_mixing</name>
        <param>
          <type>h</type>
          <defname>h</defname>
        </param>
        <param>
          <type>tv</type>
          <defname>tv</defname>
        </param>
        <param>
          <type>N2_lay</type>
          <defname>N2_lay</defname>
        </param>
        <param>
          <type>Kd_lay</type>
          <defname>Kd_lay</defname>
        </param>
        <param>
          <type>Kd_int</type>
          <defname>Kd_int</defname>
        </param>
        <param>
          <type>Kv_bkgnd</type>
          <defname>Kv_bkgnd</defname>
        </param>
        <param>
          <type>j</type>
          <defname>j</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>
        <briefdescription>
<para>Calculates the vertical background diffusivities/viscosities. </para>        </briefdescription>
        <detaileddescription>
<para><parameterlist kind="param"><parameteritem>
<parameternamelist>
<parametername direction="in">g</parametername>
</parameternamelist>
<parameterdescription>
<para>Grid structure.</para></parameterdescription>
</parameteritem>
<parameteritem>
<parameternamelist>
<parametername direction="in">gv</parametername>
</parameternamelist>
<parameterdescription>
<para>Vertical grid structure.</para></parameterdescription>
</parameteritem>
<parameteritem>
<parameternamelist>
<parametername direction="in">h</parametername>
</parameternamelist>
<parameterdescription>
<para>Layer thickness [H ~&gt; m or kg m-2].</para></parameterdescription>
</parameteritem>
<parameteritem>
<parameternamelist>
<parametername direction="in">tv</parametername>
</parameternamelist>
<parameterdescription>
<para>Thermodynamics structure.</para></parameterdescription>
</parameteritem>
<parameteritem>
<parameternamelist>
<parametername direction="in">n2_lay</parametername>
</parameternamelist>
<parameterdescription>
<para>squared buoyancy frequency associated with layers [T-2 ~&gt; s-2]</para></parameterdescription>
</parameteritem>
<parameteritem>
<parameternamelist>
<parametername direction="out">kd_lay</parametername>
</parameternamelist>
<parameterdescription>
<para>The background diapycnal diffusivity of each layer [Z2 T-1 ~&gt; m2 s-1].</para></parameterdescription>
</parameteritem>
<parameteritem>
<parameternamelist>
<parametername direction="out">kd_int</parametername>
</parameternamelist>
<parameterdescription>
<para>The background diapycnal diffusivity of each interface [Z2 T-1 ~&gt; m2 s-1].</para></parameterdescription>
</parameteritem>
<parameteritem>
<parameternamelist>
<parametername direction="out">kv_bkgnd</parametername>
</parameternamelist>
<parameterdescription>
<para>The background vertical viscosity at each interface [Z2 T-1 ~&gt; m2 s-1]</para></parameterdescription>
</parameteritem>
<parameteritem>
<parameternamelist>
<parametername direction="in">j</parametername>
</parameternamelist>
<parameterdescription>
<para>Meridional grid index</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 bkgnd_mixing_init. </para></parameterdescription>
</parameteritem>
</parameterlist>
</para>        </detaileddescription>
        <inbodydescription>
        </inbodydescription>
        <location file="/home/cermak/src/MOM6.devrob/src/parameterizations/vertical/MOM_bkgnd_mixing.F90" line="308" column="1" bodyfile="/home/cermak/src/MOM6.devrob/src/parameterizations/vertical/MOM_bkgnd_mixing.F90" bodystart="309" bodyend="517"/>
        <references refid="namespacemom__intrinsic__functions_1a8c2f5945631280be41cfa981515e63fc" compoundref="MOM__intrinsic__functions_8F90" startline="16" endline="25">mom_intrinsic_functions::invcosh</references>
      </memberdef>
      <memberdef kind="function" id="namespacemom__bkgnd__mixing_1a213f9ed7daae9b060fb781c74de824dc" prot="private" static="no" const="no" explicit="no" inline="no" virt="non-virtual">
        <type>logical function</type>
        <definition>logical function mom_bkgnd_mixing::cvmix_bkgnd_is_used</definition>
        <argsstring>(param_file)</argsstring>
        <name>cvmix_bkgnd_is_used</name>
        <param>
          <type>param_file</type>
          <defname>param_file</defname>
        </param>
        <briefdescription>
<para>Reads the parameter &quot;USE_CVMix_BACKGROUND&quot; and returns state. This function allows other modules to know whether this parameterization will be used without needing to duplicate the log entry. </para>        </briefdescription>
        <detaileddescription>
<para><parameterlist kind="param"><parameteritem>
<parameternamelist>
<parametername direction="in">param_file</parametername>
</parameternamelist>
<parameterdescription>
<para>A structure to parse for run-time parameters </para></parameterdescription>
</parameteritem>
</parameterlist>
</para>        </detaileddescription>
        <inbodydescription>
        </inbodydescription>
        <location file="/home/cermak/src/MOM6.devrob/src/parameterizations/vertical/MOM_bkgnd_mixing.F90" line="523" column="1" bodyfile="/home/cermak/src/MOM6.devrob/src/parameterizations/vertical/MOM_bkgnd_mixing.F90" bodystart="524" bodyend="527"/>
        <references refid="namespacemom__bkgnd__mixing_1ab29f7955c49a49c1ed5b2a3808a6fa9e" compoundref="MOM__bkgnd__mixing_8F90" startline="108" endline="108">mdl</references>
      </memberdef>
      <memberdef kind="function" id="namespacemom__bkgnd__mixing_1a829d5b6f715c06b6566a49271d4a7217" prot="private" static="no" const="no" explicit="no" inline="no" virt="non-virtual">
        <type>subroutine</type>
        <definition>subroutine mom_bkgnd_mixing::check_bkgnd_scheme</definition>
        <argsstring>(CS, str)</argsstring>
        <name>check_bkgnd_scheme</name>
        <param>
          <type>CS</type>
          <defname>CS</defname>
        </param>
        <param>
          <type>str</type>
          <defname>str</defname>
        </param>
        <briefdescription>
<para>Sets CSbkgnd_scheme_str to check whether multiple background diffusivity schemes are activated. The string is also for error/log messages. </para>        </briefdescription>
        <detaileddescription>
<para><parameterlist kind="param"><parameteritem>
<parameternamelist>
<parametername>cs</parametername>
</parameternamelist>
<parameterdescription>
<para>Control structure</para></parameterdescription>
</parameteritem>
<parameteritem>
<parameternamelist>
<parametername direction="in">str</parametername>
</parameternamelist>
<parameterdescription>
<para>Background scheme identifier deducted from MOM_input parameters </para></parameterdescription>
</parameteritem>
</parameterlist>
</para>        </detaileddescription>
        <inbodydescription>
        </inbodydescription>
        <location file="/home/cermak/src/MOM6.devrob/src/parameterizations/vertical/MOM_bkgnd_mixing.F90" line="532" column="1" bodyfile="/home/cermak/src/MOM6.devrob/src/parameterizations/vertical/MOM_bkgnd_mixing.F90" bodystart="533" bodyend="543"/>
        <references refid="namespacemom__error__handler_1a460cfb79a06c29fc249952c2a3710d67" compoundref="MOM__error__handler_8F90" startline="72" endline="92">mom_error_handler::mom_error</references>
        <referencedby refid="namespacemom__bkgnd__mixing_1a39f3b89ba376a8266a5c61fa126a7580" compoundref="MOM__bkgnd__mixing_8F90" startline="114" endline="304">bkgnd_mixing_init</referencedby>
      </memberdef>
      <memberdef kind="function" id="namespacemom__bkgnd__mixing_1a1d7ebcf89d3ec5dfff1bb7977a7eb08c" prot="public" static="no" const="no" explicit="no" inline="no" virt="non-virtual">
        <type>subroutine, public</type>
        <definition>subroutine, public mom_bkgnd_mixing::bkgnd_mixing_end</definition>
        <argsstring>(CS)</argsstring>
        <name>bkgnd_mixing_end</name>
        <param>
          <type>CS</type>
          <defname>CS</defname>
        </param>
        <briefdescription>
<para>Clear pointers and dealocate memory. </para>        </briefdescription>
        <detaileddescription>
<para><parameterlist kind="param"><parameteritem>
<parameternamelist>
<parametername>cs</parametername>
</parameternamelist>
<parameterdescription>
<para>Control structure for this module that will be deallocated in this subroutine </para></parameterdescription>
</parameteritem>
</parameterlist>
</para>        </detaileddescription>
        <inbodydescription>
        </inbodydescription>
        <location file="/home/cermak/src/MOM6.devrob/src/parameterizations/vertical/MOM_bkgnd_mixing.F90" line="547" column="1" bodyfile="/home/cermak/src/MOM6.devrob/src/parameterizations/vertical/MOM_bkgnd_mixing.F90" bodystart="548" bodyend="553"/>
        <referencedby refid="namespacemom__set__diffusivity_1ace82f133d3cee42aa36ec10bcce79e75" compoundref="MOM__set__diffusivity_8F90" startline="2347" endline="2362">mom_set_diffusivity::set_diffusivity_end</referencedby>
      </memberdef>
      </sectiondef>
    <briefdescription>
<para>Interface to background mixing schemes, including the Bryan and Lewis (1979) which is applied via CVMix. </para>    </briefdescription>
    <detaileddescription>
    </detaileddescription>
    <location file="/home/cermak/src/MOM6.devrob/src/parameterizations/vertical/MOM_bkgnd_mixing.F90" line="4" column="1"/>
  </compounddef>
</doxygen>
