<?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.19" xml:lang="en-US">
  <compounddef id="namespacemom__cvmix__conv" kind="namespace" language="Fortran">
    <compoundname>mom_cvmix_conv</compoundname>
    <innerclass refid="structmom__cvmix__conv_1_1cvmix__conv__cs" prot="public">mom_cvmix_conv::cvmix_conv_cs</innerclass>
      <sectiondef kind="var">
      <memberdef kind="variable" id="namespacemom__cvmix__conv_1a877a4beb2eff515d903a17b5779adbee" 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_cvmix_conv::mdl</definition>
        <argsstring></argsstring>
        <name>mdl</name>
        <initializer>= &quot;MOM_CVMix_conv&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_CVMix_conv.F90" line="45" column="1" bodyfile="/home/cermak/src/MOM6.devrob/src/parameterizations/vertical/MOM_CVMix_conv.F90" bodystart="45" bodyend="45"/>
        <referencedby refid="namespacemom__cvmix__conv_1a96b32166eb7623c206f18549da8224ca" compoundref="MOM__CVMix__conv_8F90" startline="51" endline="137">cvmix_conv_init</referencedby>
        <referencedby refid="namespacemom__cvmix__conv_1a5e741c84ad14fae3e5801d00a9867bba" compoundref="MOM__CVMix__conv_8F90" startline="306" endline="309">cvmix_conv_is_used</referencedby>
      </memberdef>
      </sectiondef>
      <sectiondef kind="func">
      <memberdef kind="function" id="namespacemom__cvmix__conv_1a96b32166eb7623c206f18549da8224ca" prot="public" static="no" const="no" explicit="no" inline="no" virt="non-virtual">
        <type>logical function, public</type>
        <definition>logical function, public mom_cvmix_conv::cvmix_conv_init</definition>
        <argsstring>(Time, G, GV, US, param_file, diag, CS)</argsstring>
        <name>cvmix_conv_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>Initialized the CVMix convection 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_CVMix_conv.F90" line="50" column="1" bodyfile="/home/cermak/src/MOM6.devrob/src/parameterizations/vertical/MOM_CVMix_conv.F90" bodystart="51" bodyend="137"/>
        <references refid="namespacemom__cvmix__conv_1a877a4beb2eff515d903a17b5779adbee" compoundref="MOM__CVMix__conv_8F90" startline="45" endline="45">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__cvmix__conv_1ace5bb8e12704ee4d46e4cfb67e6f63f8" prot="public" static="no" const="no" explicit="no" inline="no" virt="non-virtual">
        <type>subroutine, public</type>
        <definition>subroutine, public mom_cvmix_conv::calculate_cvmix_conv</definition>
        <argsstring>(h, tv, G, GV, US, CS, hbl, Kd, Kv, Kd_aux)</argsstring>
        <name>calculate_cvmix_conv</name>
        <param>
          <type>h</type>
          <defname>h</defname>
        </param>
        <param>
          <type>tv</type>
          <defname>tv</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>hbl</type>
          <defname>hbl</defname>
        </param>
        <param>
          <type>Kd</type>
          <defname>Kd</defname>
        </param>
        <param>
          <type>Kv</type>
          <defname>Kv</defname>
        </param>
        <param>
          <type>Kd_aux</type>
          <defname>Kd_aux</defname>
        </param>
        <briefdescription>
<para>Subroutine for calculating enhanced diffusivity/viscosity due to convection via CVMix. </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">us</parametername>
</parameternamelist>
<parameterdescription>
<para>A dimensional unit scaling type </para>
</parameterdescription>
</parameteritem>
<parameteritem>
<parameternamelist>
<parametername direction="in">h</parametername>
</parameternamelist>
<parameterdescription>
<para>Layer thickness [H ~&gt; m 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>cs</parametername>
</parameternamelist>
<parameterdescription>
<para>The control structure returned by a previous call to CVMix_conv_init. </para>
</parameterdescription>
</parameteritem>
<parameteritem>
<parameternamelist>
<parametername direction="in">hbl</parametername>
</parameternamelist>
<parameterdescription>
<para>Depth of ocean boundary layer [Z ~&gt; m] </para>
</parameterdescription>
</parameteritem>
<parameteritem>
<parameternamelist>
<parametername direction="inout">kd</parametername>
</parameternamelist>
<parameterdescription>
<para>Diapycnal diffusivity at each interface that </para>
</parameterdescription>
</parameteritem>
<parameteritem>
<parameternamelist>
<parametername direction="inout">kv</parametername>
</parameternamelist>
<parameterdescription>
<para>Viscosity at each interface that will be </para>
</parameterdescription>
</parameteritem>
<parameteritem>
<parameternamelist>
<parametername direction="inout">kd_aux</parametername>
</parameternamelist>
<parameterdescription>
<para>A second diapycnal diffusivity at each </para>
</parameterdescription>
</parameteritem>
</parameterlist>
</para>
        </detaileddescription>
        <inbodydescription>
        </inbodydescription>
        <location file="/home/cermak/src/MOM6.devrob/src/parameterizations/vertical/MOM_CVMix_conv.F90" line="142" column="1" bodyfile="/home/cermak/src/MOM6.devrob/src/parameterizations/vertical/MOM_CVMix_conv.F90" bodystart="143" bodyend="299"/>
        <referencedby refid="namespacemom__diabatic__driver_1ae57c48925de75712384e859a851c8c40" compoundref="MOM__diabatic__driver_8F90" startline="1173" endline="1848">mom_diabatic_driver::diabatic_ale</referencedby>
        <referencedby refid="namespacemom__diabatic__driver_1acf7394d08f436dd9575b568d1f18e18a" compoundref="MOM__diabatic__driver_8F90" startline="453" endline="1165">mom_diabatic_driver::diabatic_ale_legacy</referencedby>
        <referencedby refid="namespacemom__diabatic__driver_1a71d8d849db16be4b87c2650b49f01c82" compoundref="MOM__diabatic__driver_8F90" startline="1855" endline="2812">mom_diabatic_driver::layered_diabatic</referencedby>
      </memberdef>
      <memberdef kind="function" id="namespacemom__cvmix__conv_1a5e741c84ad14fae3e5801d00a9867bba" prot="public" static="no" const="no" explicit="no" inline="no" virt="non-virtual">
        <type>logical function, public</type>
        <definition>logical function, public mom_cvmix_conv::cvmix_conv_is_used</definition>
        <argsstring>(param_file)</argsstring>
        <name>cvmix_conv_is_used</name>
        <param>
          <type>param_file</type>
          <defname>param_file</defname>
        </param>
        <briefdescription>
<para>Reads the parameter &quot;USE_CVMix_CONVECTION&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_CVMix_conv.F90" line="305" column="1" bodyfile="/home/cermak/src/MOM6.devrob/src/parameterizations/vertical/MOM_CVMix_conv.F90" bodystart="306" bodyend="309"/>
        <references refid="namespacemom__cvmix__conv_1a877a4beb2eff515d903a17b5779adbee" compoundref="MOM__CVMix__conv_8F90" startline="45" endline="45">mdl</references>
        <referencedby refid="namespacemom__set__visc_1ae2d9d9f74c1e9aec56257cfad372b0fd" compoundref="MOM__set__viscosity_8F90" startline="1887" endline="1968">mom_set_visc::set_visc_register_restarts</referencedby>
      </memberdef>
      <memberdef kind="function" id="namespacemom__cvmix__conv_1a4f35df3a407ded91cd67384a14da3a3c" prot="public" static="no" const="no" explicit="no" inline="no" virt="non-virtual">
        <type>subroutine, public</type>
        <definition>subroutine, public mom_cvmix_conv::cvmix_conv_end</definition>
        <argsstring>(CS)</argsstring>
        <name>cvmix_conv_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_CVMix_conv.F90" line="313" column="1" bodyfile="/home/cermak/src/MOM6.devrob/src/parameterizations/vertical/MOM_CVMix_conv.F90" bodystart="314" bodyend="320"/>
        <referencedby refid="namespacemom__diabatic__driver_1a6eac8317c3b569e414fb5a6678afc598" compoundref="MOM__diabatic__driver_8F90" startline="3733" endline="3770">mom_diabatic_driver::diabatic_driver_end</referencedby>
      </memberdef>
      </sectiondef>
    <briefdescription>
<para>Interface to CVMix convection scheme. </para>
    </briefdescription>
    <detaileddescription>
    </detaileddescription>
    <location file="/home/cermak/src/MOM6.devrob/src/parameterizations/vertical/MOM_CVMix_conv.F90" line="2" column="1"/>
  </compounddef>
</doxygen>
