<?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.16">
  <compounddef id="namespacemom__cvmix__ddiff" kind="namespace" language="Fortran">
    <compoundname>mom_cvmix_ddiff</compoundname>
    <innerclass refid="structmom__cvmix__ddiff_1_1cvmix__ddiff__cs" prot="public">mom_cvmix_ddiff::cvmix_ddiff_cs</innerclass>
      <sectiondef kind="var">
      <memberdef kind="variable" id="namespacemom__cvmix__ddiff_1a5f5cf331c590f46f48970d2b9025a120" 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_ddiff::mdl</definition>
        <argsstring></argsstring>
        <name>mdl</name>
        <initializer>= &quot;MOM_CVMix_ddiff&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_ddiff.F90" line="45" column="1" bodyfile="/home/cermak/src/MOM6.devrob/src/parameterizations/vertical/MOM_CVMix_ddiff.F90" bodystart="45" bodyend="45"/>
        <referencedby refid="namespacemom__cvmix__ddiff_1a5b2654f12c65c29ecadab1b57430a5e4" compoundref="MOM__CVMix__ddiff_8F90" startline="51" endline="137">cvmix_ddiff_init</referencedby>
        <referencedby refid="namespacemom__cvmix__ddiff_1a8f7ea8f60fe6775caadf68b29108b064" compoundref="MOM__CVMix__ddiff_8F90" startline="275" endline="278">cvmix_ddiff_is_used</referencedby>
      </memberdef>
      </sectiondef>
      <sectiondef kind="func">
      <memberdef kind="function" id="namespacemom__cvmix__ddiff_1a5b2654f12c65c29ecadab1b57430a5e4" prot="public" static="no" const="no" explicit="no" inline="no" virt="non-virtual">
        <type>logical function, public</type>
        <definition>logical function, public mom_cvmix_ddiff::cvmix_ddiff_init</definition>
        <argsstring>(Time, G, GV, US, param_file, diag, CS)</argsstring>
        <name>cvmix_ddiff_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 double diffusion module. </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_ddiff.F90" line="50" column="1" bodyfile="/home/cermak/src/MOM6.devrob/src/parameterizations/vertical/MOM_CVMix_ddiff.F90" bodystart="51" bodyend="137"/>
        <references refid="namespacemom__cvmix__ddiff_1a5f5cf331c590f46f48970d2b9025a120" compoundref="MOM__CVMix__ddiff_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__ddiff_1a4f0d21853b3eedee1bc8de7cf5356da0" prot="public" static="no" const="no" explicit="no" inline="no" virt="non-virtual">
        <type>subroutine, public</type>
        <definition>subroutine, public mom_cvmix_ddiff::compute_ddiff_coeffs</definition>
        <argsstring>(h, tv, G, GV, US, j, Kd_T, Kd_S, CS, R_rho)</argsstring>
        <name>compute_ddiff_coeffs</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>j</type>
          <defname>j</defname>
        </param>
        <param>
          <type>Kd_T</type>
          <defname>Kd_T</defname>
        </param>
        <param>
          <type>Kd_S</type>
          <defname>Kd_S</defname>
        </param>
        <param>
          <type>CS</type>
          <defname>CS</defname>
        </param>
        <param>
          <type>R_rho</type>
          <defname>R_rho</defname>
        </param>
        <briefdescription>
<para>Subroutine for computing vertical diffusion coefficients for the double diffusion mixing parameterization. </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">us</parametername>
</parameternamelist>
<parameterdescription>
<para>A dimensional unit scaling type </para>
</parameterdescription>
</parameteritem>
<parameteritem>
<parameternamelist>
<parametername direction="in">j</parametername>
</parameternamelist>
<parameterdescription>
<para>Meridional grid index to work on. </para>
</parameterdescription>
</parameteritem>
<parameteritem>
<parameternamelist>
<parametername direction="inout">kd_t</parametername>
</parameternamelist>
<parameterdescription>
<para>Interface double diffusion diapycnal diffusivity for temp [Z2 T-1 ~&gt; m2 s-1]. </para>
</parameterdescription>
</parameteritem>
<parameteritem>
<parameternamelist>
<parametername direction="inout">kd_s</parametername>
</parameternamelist>
<parameterdescription>
<para>Interface double diffusion diapycnal diffusivity for salt [Z2 T-1 ~&gt; m2 s-1]. </para>
</parameterdescription>
</parameteritem>
<parameteritem>
<parameternamelist>
<parametername>cs</parametername>
</parameternamelist>
<parameterdescription>
<para>The control structure returned by a previous call to CVMix_ddiff_init. </para>
</parameterdescription>
</parameteritem>
<parameteritem>
<parameternamelist>
<parametername direction="inout">r_rho</parametername>
</parameternamelist>
<parameterdescription>
<para>The density ratios at interfaces [nondim]. </para>
</parameterdescription>
</parameteritem>
</parameterlist>
</para>
        </detaileddescription>
        <inbodydescription>
        </inbodydescription>
        <location file="/home/cermak/src/MOM6.devrob/src/parameterizations/vertical/MOM_CVMix_ddiff.F90" line="142" column="1" bodyfile="/home/cermak/src/MOM6.devrob/src/parameterizations/vertical/MOM_CVMix_ddiff.F90" bodystart="143" bodyend="268"/>
        <referencedby refid="namespacemom__set__diffusivity_1a87687e318bfe2d594ce1f57cb5d191e4" compoundref="MOM__set__diffusivity_8F90" startline="213" endline="698">mom_set_diffusivity::set_diffusivity</referencedby>
      </memberdef>
      <memberdef kind="function" id="namespacemom__cvmix__ddiff_1a8f7ea8f60fe6775caadf68b29108b064" prot="public" static="no" const="no" explicit="no" inline="no" virt="non-virtual">
        <type>logical function, public</type>
        <definition>logical function, public mom_cvmix_ddiff::cvmix_ddiff_is_used</definition>
        <argsstring>(param_file)</argsstring>
        <name>cvmix_ddiff_is_used</name>
        <param>
          <type>param_file</type>
          <defname>param_file</defname>
        </param>
        <briefdescription>
<para>Reads the parameter &quot;USE_CVMIX_DDIFF&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_ddiff.F90" line="274" column="1" bodyfile="/home/cermak/src/MOM6.devrob/src/parameterizations/vertical/MOM_CVMix_ddiff.F90" bodystart="275" bodyend="278"/>
        <references refid="namespacemom__cvmix__ddiff_1a5f5cf331c590f46f48970d2b9025a120" compoundref="MOM__CVMix__ddiff_8F90" startline="45" endline="45">mdl</references>
        <referencedby refid="namespacemom__diabatic__driver_1a51d273bae7e5d2217fa5498620532888" compoundref="MOM__diabatic__driver_8F90" startline="3147" endline="3727">mom_diabatic_driver::diabatic_driver_init</referencedby>
      </memberdef>
      <memberdef kind="function" id="namespacemom__cvmix__ddiff_1a2f016a94bf1554a9ccc19c9c5bf11d69" prot="public" static="no" const="no" explicit="no" inline="no" virt="non-virtual">
        <type>subroutine, public</type>
        <definition>subroutine, public mom_cvmix_ddiff::cvmix_ddiff_end</definition>
        <argsstring>(CS)</argsstring>
        <name>cvmix_ddiff_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_ddiff.F90" line="282" column="1" bodyfile="/home/cermak/src/MOM6.devrob/src/parameterizations/vertical/MOM_CVMix_ddiff.F90" bodystart="283" bodyend="287"/>
      </memberdef>
      </sectiondef>
    <briefdescription>
<para>Interface to CVMix double diffusion scheme. </para>
    </briefdescription>
    <detaileddescription>
    </detaileddescription>
    <location file="/home/cermak/src/MOM6.devrob/src/parameterizations/vertical/MOM_CVMix_ddiff.F90" line="2" column="1"/>
  </compounddef>
</doxygen>
