<?xml version='1.0' encoding='UTF-8' standalone='no'?>
<doxygen xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="compound.xsd" version="1.8.13">
  <compounddef id="namespacemom__cvmix__shear" kind="namespace" language="Fortran">
    <compoundname>mom_cvmix_shear</compoundname>
    <innerclass refid="structmom__cvmix__shear_1_1cvmix__shear__cs" prot="public">mom_cvmix_shear::cvmix_shear_cs</innerclass>
      <sectiondef kind="var">
      <memberdef kind="variable" id="namespacemom__cvmix__shear_1a8a2b801d6b67aa28ccd4782b3e20a0e9" 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_shear::mdl</definition>
        <argsstring></argsstring>
        <name>mdl</name>
        <initializer>= &quot;MOM_CVMix_shear&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_shear.F90" line="54" column="1" bodyfile="/home/cermak/src/MOM6.devrob/src/parameterizations/vertical/MOM_CVMix_shear.F90" bodystart="54" bodyend="54"/>
        <referencedby refid="namespacemom__cvmix__shear_1aec86faeb6ba106f8c9584dd3b6368a41" compoundref="MOM__CVMix__shear_8F90" startline="204" endline="310">cvmix_shear_init</referencedby>
        <referencedby refid="namespacemom__cvmix__shear_1aa8084ded891a4e6e33ceeec0f240233f" compoundref="MOM__CVMix__shear_8F90" startline="317" endline="324">cvmix_shear_is_used</referencedby>
      </memberdef>
      </sectiondef>
      <sectiondef kind="func">
      <memberdef kind="function" id="namespacemom__cvmix__shear_1ad140c81d83dbd827728f6f43dee90d57" prot="public" static="no" const="no" explicit="no" inline="no" virt="non-virtual">
        <type>subroutine, public</type>
        <definition>subroutine, public mom_cvmix_shear::calculate_cvmix_shear</definition>
        <argsstring>(u_H, v_H, h, tv, kd, kv, G, GV, US, CS)</argsstring>
        <name>calculate_cvmix_shear</name>
        <param>
          <type>u_H</type>
          <defname>u_H</defname>
        </param>
        <param>
          <type>v_H</type>
          <defname>v_H</defname>
        </param>
        <param>
          <type>h</type>
          <defname>h</defname>
        </param>
        <param>
          <type>tv</type>
          <defname>tv</defname>
        </param>
        <param>
          <type>kd</type>
          <defname>kd</defname>
        </param>
        <param>
          <type>kv</type>
          <defname>kv</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>Subroutine for calculating (internal) vertical 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">us</parametername>
</parameternamelist>
<parameterdescription>
<para>A dimensional unit scaling type</para></parameterdescription>
</parameteritem>
<parameteritem>
<parameternamelist>
<parametername direction="in">u_h</parametername>
</parameternamelist>
<parameterdescription>
<para>Initial zonal velocity on T points [L T-1 ~&gt; m s-1]</para></parameterdescription>
</parameteritem>
<parameteritem>
<parameternamelist>
<parametername direction="in">v_h</parametername>
</parameternamelist>
<parameterdescription>
<para>Initial meridional velocity on T points [L T-1 ~&gt; m s-1]</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="out">kd</parametername>
</parameternamelist>
<parameterdescription>
<para>The vertical diffusivity at each interface (not layer!) [Z2 T-1 ~&gt; m2 s-1].</para></parameterdescription>
</parameteritem>
<parameteritem>
<parameternamelist>
<parametername direction="out">kv</parametername>
</parameternamelist>
<parameterdescription>
<para>The vertical viscosity at each interface (not layer!) [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_shear_init. </para></parameterdescription>
</parameteritem>
</parameterlist>
</para>        </detaileddescription>
        <inbodydescription>
        </inbodydescription>
        <location file="/home/cermak/src/MOM6.devrob/src/parameterizations/vertical/MOM_CVMix_shear.F90" line="59" column="1" bodyfile="/home/cermak/src/MOM6.devrob/src/parameterizations/vertical/MOM_CVMix_shear.F90" bodystart="60" bodyend="194"/>
      </memberdef>
      <memberdef kind="function" id="namespacemom__cvmix__shear_1aec86faeb6ba106f8c9584dd3b6368a41" prot="public" static="no" const="no" explicit="no" inline="no" virt="non-virtual">
        <type>logical function, public</type>
        <definition>logical function, public mom_cvmix_shear::cvmix_shear_init</definition>
        <argsstring>(Time, G, GV, US, param_file, diag, CS)</argsstring>
        <name>cvmix_shear_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 internal shear mixing routine. </para>        </briefdescription>
        <detaileddescription>
<para><xrefsect id="todo_1_todo000004"><xreftitle>Todo</xreftitle><xrefdescription><para>Does this note require emphasis? </para></xrefdescription></xrefsect><simplesect kind="note"><para><emphasis>This is where we test to make sure multiple internal shear mixing routines (including JHL) are not enabled at the same time.</emphasis> (returns) CVMix_shear_init - True if module is to be used, False otherwise</para></simplesect>
<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_shear.F90" line="203" column="1" bodyfile="/home/cermak/src/MOM6.devrob/src/parameterizations/vertical/MOM_CVMix_shear.F90" bodystart="204" bodyend="310"/>
        <references refid="namespacemom__kappa__shear_1ac7859c609e462000ca8fd763d68d141e" compoundref="MOM__kappa__shear_8F90" startline="1961" endline="1968">mom_kappa_shear::kappa_shear_is_used</references>
        <references refid="namespacemom__cvmix__shear_1a8a2b801d6b67aa28ccd4782b3e20a0e9" compoundref="MOM__CVMix__shear_8F90" startline="54" endline="54">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__shear_1aa8084ded891a4e6e33ceeec0f240233f" prot="public" static="no" const="no" explicit="no" inline="no" virt="non-virtual">
        <type>logical function, public</type>
        <definition>logical function, public mom_cvmix_shear::cvmix_shear_is_used</definition>
        <argsstring>(param_file)</argsstring>
        <name>cvmix_shear_is_used</name>
        <param>
          <type>param_file</type>
          <defname>param_file</defname>
        </param>
        <briefdescription>
<para>Reads the parameters &quot;LMD94&quot; and &quot;PP81&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>Run-time parameter files handle. </para></parameterdescription>
</parameteritem>
</parameterlist>
</para>        </detaileddescription>
        <inbodydescription>
        </inbodydescription>
        <location file="/home/cermak/src/MOM6.devrob/src/parameterizations/vertical/MOM_CVMix_shear.F90" line="316" column="1" bodyfile="/home/cermak/src/MOM6.devrob/src/parameterizations/vertical/MOM_CVMix_shear.F90" bodystart="317" bodyend="324"/>
        <references refid="namespacemom__cvmix__shear_1a8a2b801d6b67aa28ccd4782b3e20a0e9" compoundref="MOM__CVMix__shear_8F90" startline="54" endline="54">mdl</references>
        <referencedby refid="namespacemom__diabatic__driver_1a51d273bae7e5d2217fa5498620532888" compoundref="MOM__diabatic__driver_8F90" startline="3147" endline="3727">mom_diabatic_driver::diabatic_driver_init</referencedby>
        <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__shear_1a0c9f49bd2f832f20f4675b63b85e0e8e" prot="public" static="no" const="no" explicit="no" inline="no" virt="non-virtual">
        <type>subroutine, public</type>
        <definition>subroutine, public mom_cvmix_shear::cvmix_shear_end</definition>
        <argsstring>(CS)</argsstring>
        <name>cvmix_shear_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_shear.F90" line="328" column="1" bodyfile="/home/cermak/src/MOM6.devrob/src/parameterizations/vertical/MOM_CVMix_shear.F90" bodystart="329" bodyend="338"/>
        <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 CVMix interior shear schemes. </para>    </briefdescription>
    <detaileddescription>
    </detaileddescription>
    <location file="/home/cermak/src/MOM6.devrob/src/parameterizations/vertical/MOM_CVMix_shear.F90" line="2" column="1"/>
  </compounddef>
</doxygen>
