<?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__set__diffusivity" kind="namespace" language="Fortran">
    <compoundname>mom_set_diffusivity</compoundname>
    <innerclass refid="structmom__set__diffusivity_1_1diffusivity__diags" prot="private">mom_set_diffusivity::diffusivity_diags</innerclass>
    <innerclass refid="structmom__set__diffusivity_1_1set__diffusivity__cs" prot="public">mom_set_diffusivity::set_diffusivity_cs</innerclass>
      <sectiondef kind="user-defined">
      <memberdef kind="variable" id="namespacemom__set__diffusivity_1a6b2144f31cb69fe2481815545253d7c9" prot="private" static="no" mutable="no">
        <type>integer</type>
        <definition>integer mom_set_diffusivity::id_clock_kappashear</definition>
        <argsstring></argsstring>
        <name>id_clock_kappashear</name>
        <briefdescription>
<para>CPU time clocks. </para>        </briefdescription>
        <detaileddescription>
        </detaileddescription>
        <inbodydescription>
        </inbodydescription>
        <location file="/home/cermak/src/MOM6.devrob/src/parameterizations/vertical/MOM_set_diffusivity.F90" line="196" column="1" bodyfile="/home/cermak/src/MOM6.devrob/src/parameterizations/vertical/MOM_set_diffusivity.F90" bodystart="196" bodyend="196"/>
        <referencedby refid="namespacemom__set__diffusivity_1a87687e318bfe2d594ce1f57cb5d191e4" compoundref="MOM__set__diffusivity_8F90" startline="213" endline="698">set_diffusivity</referencedby>
        <referencedby refid="namespacemom__set__diffusivity_1ac0c0f4b8458cb5610514ee068482f4bb" compoundref="MOM__set__diffusivity_8F90" startline="2011" endline="2342">set_diffusivity_init</referencedby>
      </memberdef>
      <memberdef kind="variable" id="namespacemom__set__diffusivity_1a7ceffee2f68b88087dafa02f6235c4fc" prot="private" static="no" mutable="no">
        <type>integer</type>
        <definition>integer mom_set_diffusivity::id_clock_cvmix_ddiff</definition>
        <argsstring></argsstring>
        <name>id_clock_cvmix_ddiff</name>
        <briefdescription>
<para>CPU time clocks. </para>        </briefdescription>
        <detaileddescription>
        </detaileddescription>
        <inbodydescription>
        </inbodydescription>
        <location file="/home/cermak/src/MOM6.devrob/src/parameterizations/vertical/MOM_set_diffusivity.F90" line="196" column="1" bodyfile="/home/cermak/src/MOM6.devrob/src/parameterizations/vertical/MOM_set_diffusivity.F90" bodystart="196" bodyend="-1"/>
        <referencedby refid="namespacemom__set__diffusivity_1a87687e318bfe2d594ce1f57cb5d191e4" compoundref="MOM__set__diffusivity_8F90" startline="213" endline="698">set_diffusivity</referencedby>
        <referencedby refid="namespacemom__set__diffusivity_1ac0c0f4b8458cb5610514ee068482f4bb" compoundref="MOM__set__diffusivity_8F90" startline="2011" endline="2342">set_diffusivity_init</referencedby>
      </memberdef>
      </sectiondef>
      <sectiondef kind="func">
      <memberdef kind="function" id="namespacemom__set__diffusivity_1a87687e318bfe2d594ce1f57cb5d191e4" prot="public" static="no" const="no" explicit="no" inline="no" virt="non-virtual">
        <type>subroutine, public</type>
        <definition>subroutine, public mom_set_diffusivity::set_diffusivity</definition>
        <argsstring>(u, v, h, u_h, v_h, tv, fluxes, optics, visc, dt, G, GV, US, CS, Kd_lay, Kd_int, Kd_extra_T, Kd_extra_S)</argsstring>
        <name>set_diffusivity</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>u_h</type>
          <defname>u_h</defname>
        </param>
        <param>
          <type>v_h</type>
          <defname>v_h</defname>
        </param>
        <param>
          <type>tv</type>
          <defname>tv</defname>
        </param>
        <param>
          <type>fluxes</type>
          <defname>fluxes</defname>
        </param>
        <param>
          <type>optics</type>
          <defname>optics</defname>
        </param>
        <param>
          <type>visc</type>
          <defname>visc</defname>
        </param>
        <param>
          <type>dt</type>
          <defname>dt</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>Kd_lay</type>
          <defname>Kd_lay</defname>
        </param>
        <param>
          <type>Kd_int</type>
          <defname>Kd_int</defname>
        </param>
        <param>
          <type>Kd_extra_T</type>
          <defname>Kd_extra_T</defname>
        </param>
        <param>
          <type>Kd_extra_S</type>
          <defname>Kd_extra_S</defname>
        </param>
        <briefdescription>
<para>Sets the interior vertical diffusion of scalars due to the following processes: </para>        </briefdescription>
        <detaileddescription>
<para><orderedlist>
<listitem><para>Shear-driven mixing: two options, Jackson et at. and KPP interior;</para></listitem><listitem><para>Background mixing via CVMix (Bryan-Lewis profile) or the scheme described by Harrison &amp; Hallberg, JPO 2008;</para></listitem><listitem><para>Double-diffusion, old method and new method via CVMix;</para></listitem><listitem><para>Tidal mixing: many options available, see <ref refid="MOM__tidal__mixing_8F90" kindref="compound">MOM_tidal_mixing.F90</ref>; In addition, this subroutine has the option to set the interior vertical viscosity associated with processes 1,2 and 4 listed above, which is stored in viscKv_slow. Vertical viscosity due to shear-driven mixing is passed via viscKv_shear</para></listitem></orderedlist>
</para><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">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">u_h</parametername>
</parameternamelist>
<parameterdescription>
<para>Zonal velocity interpolated to h points [L T-1 ~&gt; m s-1].</para></parameterdescription>
</parameteritem>
<parameteritem>
<parameternamelist>
<parametername direction="in">v_h</parametername>
</parameternamelist>
<parameterdescription>
<para>Meridional velocity interpolated to h points [L T-1 ~&gt; m s-1].</para></parameterdescription>
</parameteritem>
<parameteritem>
<parameternamelist>
<parametername direction="inout">tv</parametername>
</parameternamelist>
<parameterdescription>
<para>Structure with pointers to thermodynamic fields. Out is for tvTempxPmE.</para></parameterdescription>
</parameteritem>
<parameteritem>
<parameternamelist>
<parametername direction="in">fluxes</parametername>
</parameternamelist>
<parameterdescription>
<para>A structure of thermodynamic surface fluxes</para></parameterdescription>
</parameteritem>
<parameteritem>
<parameternamelist>
<parametername>optics</parametername>
</parameternamelist>
<parameterdescription>
<para>A structure describing the optical properties of the ocean.</para></parameterdescription>
</parameteritem>
<parameteritem>
<parameternamelist>
<parametername direction="inout">visc</parametername>
</parameternamelist>
<parameterdescription>
<para>Structure containing vertical viscosities, bottom boundary layer properies, and related fields.</para></parameterdescription>
</parameteritem>
<parameteritem>
<parameternamelist>
<parametername direction="in">dt</parametername>
</parameternamelist>
<parameterdescription>
<para>Time increment [T ~&gt; s].</para></parameterdescription>
</parameteritem>
<parameteritem>
<parameternamelist>
<parametername>cs</parametername>
</parameternamelist>
<parameterdescription>
<para>Module control structure.</para></parameterdescription>
</parameteritem>
<parameteritem>
<parameternamelist>
<parametername direction="out">kd_lay</parametername>
</parameternamelist>
<parameterdescription>
<para>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>Diapycnal diffusivity at each interface [Z2 T-1 ~&gt; m2 s-1].</para></parameterdescription>
</parameteritem>
<parameteritem>
<parameternamelist>
<parametername direction="out">kd_extra_t</parametername>
</parameternamelist>
<parameterdescription>
<para>The extra diffusivity at interfaces of</para></parameterdescription>
</parameteritem>
<parameteritem>
<parameternamelist>
<parametername direction="out">kd_extra_s</parametername>
</parameternamelist>
<parameterdescription>
<para>The extra diffusivity at interfaces of </para></parameterdescription>
</parameteritem>
</parameterlist>
</para>        </detaileddescription>
        <inbodydescription>
        </inbodydescription>
        <location file="/home/cermak/src/MOM6.devrob/src/parameterizations/vertical/MOM_set_diffusivity.F90" line="211" column="1" bodyfile="/home/cermak/src/MOM6.devrob/src/parameterizations/vertical/MOM_set_diffusivity.F90" bodystart="213" bodyend="698"/>
        <references refid="namespacemom__set__diffusivity_1ac48033315c2bbdb5551b272a235c16e5" compoundref="MOM__set__diffusivity_8F90" startline="1177" endline="1407">add_drag_diffusivity</references>
        <references refid="namespacemom__set__diffusivity_1a968690a1c9efb859ee67965f9032c7d7" compoundref="MOM__set__diffusivity_8F90" startline="1415" endline="1570">add_lotw_bbl_diffusivity</references>
        <references refid="namespacemom__set__diffusivity_1a21162cb5173d52ce92dc65beee9d0ef1" compoundref="MOM__set__diffusivity_8F90" startline="1575" endline="1713">add_mlrad_diffusivity</references>
        <references refid="namespacemom__kappa__shear_1a2d8e291656bab5f83179523c4bea4d85" compoundref="MOM__kappa__shear_8F90" startline="344" endline="619">mom_kappa_shear::calc_kappa_shear_vertex</references>
        <references refid="namespacemom__error__handler_1a9cda07a87815f0e5594066162b4345c3" compoundref="MOM__error__handler_8F90" startline="130" endline="146">mom_error_handler::calltree_enter</references>
        <references refid="namespacemom__error__handler_1a88ea67781e2ed9b73ab7eac8ea5e8578" compoundref="MOM__error__handler_8F90" startline="151" endline="156">mom_error_handler::calltree_leave</references>
        <references refid="namespacemom__error__handler_1a34a02e601a60f03cb97a72fe25a32853" compoundref="MOM__error__handler_8F90" startline="161" endline="177">mom_error_handler::calltree_waypoint</references>
        <references refid="namespacemom__cvmix__ddiff_1a4f0d21853b3eedee1bc8de7cf5356da0" compoundref="MOM__CVMix__ddiff_8F90" startline="143" endline="268">mom_cvmix_ddiff::compute_ddiff_coeffs</references>
        <references refid="namespacemom__set__diffusivity_1a99d0eb7701f8e04d856b75117fe7b83c" compoundref="MOM__set__diffusivity_8F90" startline="1089" endline="1171">double_diffusion</references>
        <references refid="namespacemom__set__diffusivity_1afef80c2221be24f63f1ca96c2abe6fa9" compoundref="MOM__set__diffusivity_8F90" startline="918" endline="1078">find_n2</references>
        <references refid="namespacemom__set__diffusivity_1a07c0ab3f141f8f9e057be3150a940a94" compoundref="MOM__set__diffusivity_8F90" startline="704" endline="912">find_tke_to_kd</references>
        <references refid="namespacemom__full__convection_1aee19e41a18bd855cd01c4ebf4eefcaad" compoundref="MOM__full__convection_8F90" startline="23" endline="278">mom_full_convection::full_convection</references>
        <references refid="namespacemom__set__diffusivity_1a7ceffee2f68b88087dafa02f6235c4fc" compoundref="MOM__set__diffusivity_8F90" startline="196">id_clock_cvmix_ddiff</references>
        <references refid="namespacemom__set__diffusivity_1a6b2144f31cb69fe2481815545253d7c9" compoundref="MOM__set__diffusivity_8F90" startline="196" endline="196">id_clock_kappashear</references>
        <references refid="namespacemom__isopycnal__slopes_1a34691482caaff356da3c5182657dba0d" compoundref="MOM__isopycnal__slopes_8F90" startline="391" endline="470">mom_isopycnal_slopes::vert_fill_ts</references>
      </memberdef>
      <memberdef kind="function" id="namespacemom__set__diffusivity_1a07c0ab3f141f8f9e057be3150a940a94" prot="private" static="no" const="no" explicit="no" inline="no" virt="non-virtual">
        <type>subroutine</type>
        <definition>subroutine mom_set_diffusivity::find_tke_to_kd</definition>
        <argsstring>(h, tv, dRho_int, N2_lay, j, dt, G, GV, US, CS, TKE_to_Kd, maxTKE, kb)</argsstring>
        <name>find_tke_to_kd</name>
        <param>
          <type>h</type>
          <defname>h</defname>
        </param>
        <param>
          <type>tv</type>
          <defname>tv</defname>
        </param>
        <param>
          <type>dRho_int</type>
          <defname>dRho_int</defname>
        </param>
        <param>
          <type>N2_lay</type>
          <defname>N2_lay</defname>
        </param>
        <param>
          <type>j</type>
          <defname>j</defname>
        </param>
        <param>
          <type>dt</type>
          <defname>dt</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>TKE_to_Kd</type>
          <defname>TKE_to_Kd</defname>
        </param>
        <param>
          <type>maxTKE</type>
          <defname>maxTKE</defname>
        </param>
        <param>
          <type>kb</type>
          <defname>kb</defname>
        </param>
        <briefdescription>
<para>Convert turbulent kinetic energy to diffusivity. </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">us</parametername>
</parameternamelist>
<parameterdescription>
<para>A dimensional unit scaling type</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">tv</parametername>
</parameternamelist>
<parameterdescription>
<para>Structure containing pointers to any available thermodynamic fields.</para></parameterdescription>
</parameteritem>
<parameteritem>
<parameternamelist>
<parametername direction="in">drho_int</parametername>
</parameternamelist>
<parameterdescription>
<para>Change in locally referenced potential density across each interface [R ~&gt; kg m-3].</para></parameterdescription>
</parameteritem>
<parameteritem>
<parameternamelist>
<parametername direction="in">n2_lay</parametername>
</parameternamelist>
<parameterdescription>
<para>The squared buoyancy frequency of the layers [T-2 ~&gt; s-2].</para></parameterdescription>
</parameteritem>
<parameteritem>
<parameternamelist>
<parametername direction="in">j</parametername>
</parameternamelist>
<parameterdescription>
<para>j-index of row to work on</para></parameterdescription>
</parameteritem>
<parameteritem>
<parameternamelist>
<parametername direction="in">dt</parametername>
</parameternamelist>
<parameterdescription>
<para>Time increment [T ~&gt; s].</para></parameterdescription>
</parameteritem>
<parameteritem>
<parameternamelist>
<parametername>cs</parametername>
</parameternamelist>
<parameterdescription>
<para>Diffusivity control structure</para></parameterdescription>
</parameteritem>
<parameteritem>
<parameternamelist>
<parametername direction="out">tke_to_kd</parametername>
</parameternamelist>
<parameterdescription>
<para>The conversion rate between the TKE dissipated within a layer and the diapycnal diffusivity witin that layer, usually (~Rho_0 / (G_Earth * dRho_lay)) [Z2 T-1 / Z3 T-3 = T2 Z-1 ~&gt; s2 m-1]</para></parameterdescription>
</parameteritem>
<parameteritem>
<parameternamelist>
<parametername direction="out">maxtke</parametername>
</parameternamelist>
<parameterdescription>
<para>The energy required to for a layer to entrain to its maximum realizable thickness [Z3 T-3 ~&gt; m3 s-3]</para></parameterdescription>
</parameteritem>
<parameteritem>
<parameternamelist>
<parametername direction="out">kb</parametername>
</parameternamelist>
<parameterdescription>
<para>Index of lightest layer denser than the buffer layer, or -1 without a bulk mixed layer. </para></parameterdescription>
</parameteritem>
</parameterlist>
</para>        </detaileddescription>
        <inbodydescription>
        </inbodydescription>
        <location file="/home/cermak/src/MOM6.devrob/src/parameterizations/vertical/MOM_set_diffusivity.F90" line="702" column="1" bodyfile="/home/cermak/src/MOM6.devrob/src/parameterizations/vertical/MOM_set_diffusivity.F90" bodystart="704" bodyend="912"/>
        <references refid="namespacemom__eos_1a782d326108e390902e520efc078e8296" compoundref="MOM__EOS_8F90" startline="1163" endline="1175">mom_eos::eos_domain</references>
        <references refid="namespacemom__set__diffusivity_1a5ba8a3be6234304aa5f1dfd0b831078a" compoundref="MOM__set__diffusivity_8F90" startline="1904" endline="2006">set_density_ratios</references>
        <referencedby refid="namespacemom__set__diffusivity_1a87687e318bfe2d594ce1f57cb5d191e4" compoundref="MOM__set__diffusivity_8F90" startline="213" endline="698">set_diffusivity</referencedby>
      </memberdef>
      <memberdef kind="function" id="namespacemom__set__diffusivity_1afef80c2221be24f63f1ca96c2abe6fa9" prot="private" static="no" const="no" explicit="no" inline="no" virt="non-virtual">
        <type>subroutine</type>
        <definition>subroutine mom_set_diffusivity::find_n2</definition>
        <argsstring>(h, tv, T_f, S_f, fluxes, j, G, GV, US, CS, dRho_int, N2_lay, N2_int, N2_bot)</argsstring>
        <name>find_n2</name>
        <param>
          <type>h</type>
          <defname>h</defname>
        </param>
        <param>
          <type>tv</type>
          <defname>tv</defname>
        </param>
        <param>
          <type>T_f</type>
          <defname>T_f</defname>
        </param>
        <param>
          <type>S_f</type>
          <defname>S_f</defname>
        </param>
        <param>
          <type>fluxes</type>
          <defname>fluxes</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>
        <param>
          <type>dRho_int</type>
          <defname>dRho_int</defname>
        </param>
        <param>
          <type>N2_lay</type>
          <defname>N2_lay</defname>
        </param>
        <param>
          <type>N2_int</type>
          <defname>N2_int</defname>
        </param>
        <param>
          <type>N2_bot</type>
          <defname>N2_bot</defname>
        </param>
        <briefdescription>
<para>Calculate Brunt-Vaisala frequency, N^2. </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">us</parametername>
</parameternamelist>
<parameterdescription>
<para>A dimensional unit scaling type</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">tv</parametername>
</parameternamelist>
<parameterdescription>
<para>Structure containing pointers to any available thermodynamic fields.</para></parameterdescription>
</parameteritem>
<parameteritem>
<parameternamelist>
<parametername direction="in">t_f</parametername>
</parameternamelist>
<parameterdescription>
<para>layer temperature with the values in massless layers</para></parameterdescription>
</parameteritem>
<parameteritem>
<parameternamelist>
<parametername direction="in">s_f</parametername>
</parameternamelist>
<parameterdescription>
<para>Layer salinities with values in massless</para></parameterdescription>
</parameteritem>
<parameteritem>
<parameternamelist>
<parametername direction="in">fluxes</parametername>
</parameternamelist>
<parameterdescription>
<para>A structure of thermodynamic surface fluxes</para></parameterdescription>
</parameteritem>
<parameteritem>
<parameternamelist>
<parametername direction="in">j</parametername>
</parameternamelist>
<parameterdescription>
<para>j-index of row to work on</para></parameterdescription>
</parameteritem>
<parameteritem>
<parameternamelist>
<parametername>cs</parametername>
</parameternamelist>
<parameterdescription>
<para>Diffusivity control structure</para></parameterdescription>
</parameteritem>
<parameteritem>
<parameternamelist>
<parametername direction="out">drho_int</parametername>
</parameternamelist>
<parameterdescription>
<para>Change in locally referenced potential density</para></parameterdescription>
</parameteritem>
<parameteritem>
<parameternamelist>
<parametername direction="out">n2_int</parametername>
</parameternamelist>
<parameterdescription>
<para>The squared buoyancy frequency at the interfaces [T-2 ~&gt; s-2].</para></parameterdescription>
</parameteritem>
<parameteritem>
<parameternamelist>
<parametername direction="out">n2_lay</parametername>
</parameternamelist>
<parameterdescription>
<para>The squared buoyancy frequency of the layers [T-2 ~&gt; s-2].</para></parameterdescription>
</parameteritem>
<parameteritem>
<parameternamelist>
<parametername direction="out">n2_bot</parametername>
</parameternamelist>
<parameterdescription>
<para>The near-bottom squared buoyancy frequency [T-2 ~&gt; s-2]. </para></parameterdescription>
</parameteritem>
</parameterlist>
</para>        </detaileddescription>
        <inbodydescription>
        </inbodydescription>
        <location file="/home/cermak/src/MOM6.devrob/src/parameterizations/vertical/MOM_set_diffusivity.F90" line="916" column="1" bodyfile="/home/cermak/src/MOM6.devrob/src/parameterizations/vertical/MOM_set_diffusivity.F90" bodystart="918" bodyend="1078"/>
        <references refid="namespacemom__eos_1a782d326108e390902e520efc078e8296" compoundref="MOM__EOS_8F90" startline="1163" endline="1175">mom_eos::eos_domain</references>
        <referencedby refid="namespacemom__set__diffusivity_1a87687e318bfe2d594ce1f57cb5d191e4" compoundref="MOM__set__diffusivity_8F90" startline="213" endline="698">set_diffusivity</referencedby>
      </memberdef>
      <memberdef kind="function" id="namespacemom__set__diffusivity_1a99d0eb7701f8e04d856b75117fe7b83c" prot="private" static="no" const="no" explicit="no" inline="no" virt="non-virtual">
        <type>subroutine</type>
        <definition>subroutine mom_set_diffusivity::double_diffusion</definition>
        <argsstring>(tv, h, T_f, S_f, j, G, GV, US, CS, Kd_T_dd, Kd_S_dd)</argsstring>
        <name>double_diffusion</name>
        <param>
          <type>tv</type>
          <defname>tv</defname>
        </param>
        <param>
          <type>h</type>
          <defname>h</defname>
        </param>
        <param>
          <type>T_f</type>
          <defname>T_f</defname>
        </param>
        <param>
          <type>S_f</type>
          <defname>S_f</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>
        <param>
          <type>Kd_T_dd</type>
          <defname>Kd_T_dd</defname>
        </param>
        <param>
          <type>Kd_S_dd</type>
          <defname>Kd_S_dd</defname>
        </param>
        <briefdescription>
<para>This subroutine sets the additional diffusivities of temperature and salinity due to double diffusion, using the same functional form as is used in MOM4.1, and taken from an NCAR technical note (REF?) that updates what was in Large et al. (1994). All the coefficients here should probably be made run-time variables rather than hard-coded constants. </para>        </briefdescription>
        <detaileddescription>
<para><xrefsect id="todo_1_todo000006"><xreftitle>Todo</xreftitle><xrefdescription><para>Find reference for NCAR tech note above. </para></xrefdescription></xrefsect></para><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">us</parametername>
</parameternamelist>
<parameterdescription>
<para>A dimensional unit scaling type</para></parameterdescription>
</parameteritem>
<parameteritem>
<parameternamelist>
<parametername direction="in">tv</parametername>
</parameternamelist>
<parameterdescription>
<para>Structure containing pointers to any available thermodynamic fields; absent fields have NULL ptrs.</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">t_f</parametername>
</parameternamelist>
<parameterdescription>
<para>layer temperatures with the values in massless layers</para></parameterdescription>
</parameteritem>
<parameteritem>
<parameternamelist>
<parametername direction="in">s_f</parametername>
</parameternamelist>
<parameterdescription>
<para>Layer salinities with values in massless</para></parameterdescription>
</parameteritem>
<parameteritem>
<parameternamelist>
<parametername direction="in">j</parametername>
</parameternamelist>
<parameterdescription>
<para>Meridional index upon which to work.</para></parameterdescription>
</parameteritem>
<parameteritem>
<parameternamelist>
<parametername>cs</parametername>
</parameternamelist>
<parameterdescription>
<para>Module control structure.</para></parameterdescription>
</parameteritem>
<parameteritem>
<parameternamelist>
<parametername direction="out">kd_t_dd</parametername>
</parameternamelist>
<parameterdescription>
<para>Interface double diffusion diapycnal</para></parameterdescription>
</parameteritem>
<parameteritem>
<parameternamelist>
<parametername direction="out">kd_s_dd</parametername>
</parameternamelist>
<parameterdescription>
<para>Interface double diffusion diapycnal </para></parameterdescription>
</parameteritem>
</parameterlist>
</para>        </detaileddescription>
        <inbodydescription>
        </inbodydescription>
        <location file="/home/cermak/src/MOM6.devrob/src/parameterizations/vertical/MOM_set_diffusivity.F90" line="1088" column="1" bodyfile="/home/cermak/src/MOM6.devrob/src/parameterizations/vertical/MOM_set_diffusivity.F90" bodystart="1089" bodyend="1171"/>
        <references refid="namespacemom__eos_1a782d326108e390902e520efc078e8296" compoundref="MOM__EOS_8F90" startline="1163" endline="1175">mom_eos::eos_domain</references>
        <referencedby refid="namespacemom__set__diffusivity_1a87687e318bfe2d594ce1f57cb5d191e4" compoundref="MOM__set__diffusivity_8F90" startline="213" endline="698">set_diffusivity</referencedby>
      </memberdef>
      <memberdef kind="function" id="namespacemom__set__diffusivity_1ac48033315c2bbdb5551b272a235c16e5" prot="private" static="no" const="no" explicit="no" inline="no" virt="non-virtual">
        <type>subroutine</type>
        <definition>subroutine mom_set_diffusivity::add_drag_diffusivity</definition>
        <argsstring>(h, u, v, tv, fluxes, visc, j, TKE_to_Kd, maxTKE, kb, G, GV, US, CS, Kd_lay, Kd_int, Kd_BBL)</argsstring>
        <name>add_drag_diffusivity</name>
        <param>
          <type>h</type>
          <defname>h</defname>
        </param>
        <param>
          <type>u</type>
          <defname>u</defname>
        </param>
        <param>
          <type>v</type>
          <defname>v</defname>
        </param>
        <param>
          <type>tv</type>
          <defname>tv</defname>
        </param>
        <param>
          <type>fluxes</type>
          <defname>fluxes</defname>
        </param>
        <param>
          <type>visc</type>
          <defname>visc</defname>
        </param>
        <param>
          <type>j</type>
          <defname>j</defname>
        </param>
        <param>
          <type>TKE_to_Kd</type>
          <defname>TKE_to_Kd</defname>
        </param>
        <param>
          <type>maxTKE</type>
          <defname>maxTKE</defname>
        </param>
        <param>
          <type>kb</type>
          <defname>kb</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>Kd_lay</type>
          <defname>Kd_lay</defname>
        </param>
        <param>
          <type>Kd_int</type>
          <defname>Kd_int</defname>
        </param>
        <param>
          <type>Kd_BBL</type>
          <defname>Kd_BBL</defname>
        </param>
        <briefdescription>
<para>This routine adds diffusion sustained by flow energy extracted by bottom drag. </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">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">tv</parametername>
</parameternamelist>
<parameterdescription>
<para>Structure containing pointers to any available thermodynamic fields.</para></parameterdescription>
</parameteritem>
<parameteritem>
<parameternamelist>
<parametername direction="in">fluxes</parametername>
</parameternamelist>
<parameterdescription>
<para>A structure of thermodynamic surface fluxes</para></parameterdescription>
</parameteritem>
<parameteritem>
<parameternamelist>
<parametername direction="in">visc</parametername>
</parameternamelist>
<parameterdescription>
<para>Structure containing vertical viscosities, bottom boundary layer properies, and related fields</para></parameterdescription>
</parameteritem>
<parameteritem>
<parameternamelist>
<parametername direction="in">j</parametername>
</parameternamelist>
<parameterdescription>
<para>j-index of row to work on</para></parameterdescription>
</parameteritem>
<parameteritem>
<parameternamelist>
<parametername direction="in">tke_to_kd</parametername>
</parameternamelist>
<parameterdescription>
<para>The conversion rate between the TKE TKE dissipated within a layer and the diapycnal diffusivity witin that layer, usually (~Rho_0 / (G_Earth * dRho_lay)) [Z2 T-1 / Z3 T-3 = T2 Z-1 ~&gt; s2 m-1]</para></parameterdescription>
</parameteritem>
<parameteritem>
<parameternamelist>
<parametername direction="in">maxtke</parametername>
</parameternamelist>
<parameterdescription>
<para>The energy required to for a layer to entrain to its maximum-realizable thickness [Z3 T-3 ~&gt; m3 s-3]</para></parameterdescription>
</parameteritem>
<parameteritem>
<parameternamelist>
<parametername direction="in">kb</parametername>
</parameternamelist>
<parameterdescription>
<para>Index of lightest layer denser than the buffer layer, or -1 without a bulk mixed layer</para></parameterdescription>
</parameteritem>
<parameteritem>
<parameternamelist>
<parametername>cs</parametername>
</parameternamelist>
<parameterdescription>
<para>Diffusivity control structure</para></parameterdescription>
</parameteritem>
<parameteritem>
<parameternamelist>
<parametername direction="inout">kd_lay</parametername>
</parameternamelist>
<parameterdescription>
<para>The diapycnal diffusivity in layers, [Z2 T-1 ~&gt; m2 s-1].</para></parameterdescription>
</parameteritem>
<parameteritem>
<parameternamelist>
<parametername direction="inout">kd_int</parametername>
</parameternamelist>
<parameterdescription>
<para>The diapycnal diffusivity at interfaces,</para></parameterdescription>
</parameteritem>
<parameteritem>
<parameternamelist>
<parametername>kd_bbl</parametername>
</parameternamelist>
<parameterdescription>
<para>Interface BBL diffusivity [Z2 T-1 ~&gt; m2 s-1]. </para></parameterdescription>
</parameteritem>
</parameterlist>
</para>        </detaileddescription>
        <inbodydescription>
        </inbodydescription>
        <location file="/home/cermak/src/MOM6.devrob/src/parameterizations/vertical/MOM_set_diffusivity.F90" line="1175" column="1" bodyfile="/home/cermak/src/MOM6.devrob/src/parameterizations/vertical/MOM_set_diffusivity.F90" bodystart="1177" bodyend="1407"/>
        <referencedby refid="namespacemom__set__diffusivity_1a87687e318bfe2d594ce1f57cb5d191e4" compoundref="MOM__set__diffusivity_8F90" startline="213" endline="698">set_diffusivity</referencedby>
      </memberdef>
      <memberdef kind="function" id="namespacemom__set__diffusivity_1a968690a1c9efb859ee67965f9032c7d7" prot="private" static="no" const="no" explicit="no" inline="no" virt="non-virtual">
        <type>subroutine</type>
        <definition>subroutine mom_set_diffusivity::add_lotw_bbl_diffusivity</definition>
        <argsstring>(h, u, v, tv, fluxes, visc, j, N2_int, G, GV, US, CS, Kd_BBL, Kd_lay, Kd_int)</argsstring>
        <name>add_lotw_bbl_diffusivity</name>
        <param>
          <type>h</type>
          <defname>h</defname>
        </param>
        <param>
          <type>u</type>
          <defname>u</defname>
        </param>
        <param>
          <type>v</type>
          <defname>v</defname>
        </param>
        <param>
          <type>tv</type>
          <defname>tv</defname>
        </param>
        <param>
          <type>fluxes</type>
          <defname>fluxes</defname>
        </param>
        <param>
          <type>visc</type>
          <defname>visc</defname>
        </param>
        <param>
          <type>j</type>
          <defname>j</defname>
        </param>
        <param>
          <type>N2_int</type>
          <defname>N2_int</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>Kd_BBL</type>
          <defname>Kd_BBL</defname>
        </param>
        <param>
          <type>Kd_lay</type>
          <defname>Kd_lay</defname>
        </param>
        <param>
          <type>Kd_int</type>
          <defname>Kd_int</defname>
        </param>
        <briefdescription>
<para>Calculates a BBL diffusivity use a Prandtl number 1 diffusivity with a law of the wall turbulent viscosity, up to a BBL height where the energy used for mixing has consumed the mechanical TKE input. </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</parametername>
</parameternamelist>
<parameterdescription>
<para>u component of flow [L T-1 ~&gt; m s-1]</para></parameterdescription>
</parameteritem>
<parameteritem>
<parameternamelist>
<parametername direction="in">v</parametername>
</parameternamelist>
<parameterdescription>
<para>v component of flow [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>Structure containing pointers to any available thermodynamic fields.</para></parameterdescription>
</parameteritem>
<parameteritem>
<parameternamelist>
<parametername direction="in">fluxes</parametername>
</parameternamelist>
<parameterdescription>
<para>Surface fluxes structure</para></parameterdescription>
</parameteritem>
<parameteritem>
<parameternamelist>
<parametername direction="in">visc</parametername>
</parameternamelist>
<parameterdescription>
<para>Structure containing vertical viscosities, bottom boundary layer properies, and related fields.</para></parameterdescription>
</parameteritem>
<parameteritem>
<parameternamelist>
<parametername direction="in">j</parametername>
</parameternamelist>
<parameterdescription>
<para>j-index of row to work on</para></parameterdescription>
</parameteritem>
<parameteritem>
<parameternamelist>
<parametername direction="in">n2_int</parametername>
</parameternamelist>
<parameterdescription>
<para>Square of Brunt-Vaisala at interfaces [T-2 ~&gt; s-2]</para></parameterdescription>
</parameteritem>
<parameteritem>
<parameternamelist>
<parametername>cs</parametername>
</parameternamelist>
<parameterdescription>
<para>Diffusivity control structure</para></parameterdescription>
</parameteritem>
<parameteritem>
<parameternamelist>
<parametername>kd_bbl</parametername>
</parameternamelist>
<parameterdescription>
<para>Interface BBL diffusivity [Z2 T-1 ~&gt; m2 s-1]</para></parameterdescription>
</parameteritem>
<parameteritem>
<parameternamelist>
<parametername direction="inout">kd_lay</parametername>
</parameternamelist>
<parameterdescription>
<para>Layer net diffusivity [Z2 T-1 ~&gt; m2 s-1]</para></parameterdescription>
</parameteritem>
<parameteritem>
<parameternamelist>
<parametername direction="inout">kd_int</parametername>
</parameternamelist>
<parameterdescription>
<para>Interface net diffusivity [Z2 T-1 ~&gt; m2 s-1] </para></parameterdescription>
</parameteritem>
</parameterlist>
</para>        </detaileddescription>
        <inbodydescription>
        </inbodydescription>
        <location file="/home/cermak/src/MOM6.devrob/src/parameterizations/vertical/MOM_set_diffusivity.F90" line="1413" column="1" bodyfile="/home/cermak/src/MOM6.devrob/src/parameterizations/vertical/MOM_set_diffusivity.F90" bodystart="1415" bodyend="1570"/>
        <referencedby refid="namespacemom__set__diffusivity_1a87687e318bfe2d594ce1f57cb5d191e4" compoundref="MOM__set__diffusivity_8F90" startline="213" endline="698">set_diffusivity</referencedby>
      </memberdef>
      <memberdef kind="function" id="namespacemom__set__diffusivity_1a21162cb5173d52ce92dc65beee9d0ef1" prot="private" static="no" const="no" explicit="no" inline="no" virt="non-virtual">
        <type>subroutine</type>
        <definition>subroutine mom_set_diffusivity::add_mlrad_diffusivity</definition>
        <argsstring>(h, fluxes, j, G, GV, US, CS, TKE_to_Kd, Kd_lay, Kd_int)</argsstring>
        <name>add_mlrad_diffusivity</name>
        <param>
          <type>h</type>
          <defname>h</defname>
        </param>
        <param>
          <type>fluxes</type>
          <defname>fluxes</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>
        <param>
          <type>TKE_to_Kd</type>
          <defname>TKE_to_Kd</defname>
        </param>
        <param>
          <type>Kd_lay</type>
          <defname>Kd_lay</defname>
        </param>
        <param>
          <type>Kd_int</type>
          <defname>Kd_int</defname>
        </param>
        <briefdescription>
<para>This routine adds effects of mixed layer radiation to the layer diffusivities. </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">us</parametername>
</parameternamelist>
<parameterdescription>
<para>A dimensional unit scaling type</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">fluxes</parametername>
</parameternamelist>
<parameterdescription>
<para>Surface fluxes structure</para></parameterdescription>
</parameteritem>
<parameteritem>
<parameternamelist>
<parametername direction="in">j</parametername>
</parameternamelist>
<parameterdescription>
<para>The j-index to work on</para></parameterdescription>
</parameteritem>
<parameteritem>
<parameternamelist>
<parametername>cs</parametername>
</parameternamelist>
<parameterdescription>
<para>Diffusivity control structure</para></parameterdescription>
</parameteritem>
<parameteritem>
<parameternamelist>
<parametername direction="in">tke_to_kd</parametername>
</parameternamelist>
<parameterdescription>
<para>The conversion rate between the TKE TKE dissipated within a layer and the diapycnal diffusivity witin that layer, usually (~Rho_0 / (G_Earth * dRho_lay)) [Z2 T-1 / Z3 T-3 = T2 Z-1 ~&gt; s2 m-1]</para></parameterdescription>
</parameteritem>
<parameteritem>
<parameternamelist>
<parametername direction="inout">kd_lay</parametername>
</parameternamelist>
<parameterdescription>
<para>The diapycnal diffusivity in layers [Z2 T-1 ~&gt; m2 s-1].</para></parameterdescription>
</parameteritem>
<parameteritem>
<parameternamelist>
<parametername direction="inout">kd_int</parametername>
</parameternamelist>
<parameterdescription>
<para>The diapycnal diffusivity at interfaces </para></parameterdescription>
</parameteritem>
</parameterlist>
</para>        </detaileddescription>
        <inbodydescription>
        </inbodydescription>
        <location file="/home/cermak/src/MOM6.devrob/src/parameterizations/vertical/MOM_set_diffusivity.F90" line="1574" column="1" bodyfile="/home/cermak/src/MOM6.devrob/src/parameterizations/vertical/MOM_set_diffusivity.F90" bodystart="1575" bodyend="1713"/>
        <referencedby refid="namespacemom__set__diffusivity_1a87687e318bfe2d594ce1f57cb5d191e4" compoundref="MOM__set__diffusivity_8F90" startline="213" endline="698">set_diffusivity</referencedby>
      </memberdef>
      <memberdef kind="function" id="namespacemom__set__diffusivity_1a66f77b7e2f9c0c8254da4a0acd5a9996" prot="public" static="no" const="no" explicit="no" inline="no" virt="non-virtual">
        <type>subroutine, public</type>
        <definition>subroutine, public mom_set_diffusivity::set_bbl_tke</definition>
        <argsstring>(u, v, h, fluxes, visc, G, GV, US, CS, OBC)</argsstring>
        <name>set_bbl_tke</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>fluxes</type>
          <defname>fluxes</defname>
        </param>
        <param>
          <type>visc</type>
          <defname>visc</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>OBC</type>
          <defname>OBC</defname>
        </param>
        <briefdescription>
<para>This subroutine calculates several properties related to bottom boundary layer turbulence. </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">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">fluxes</parametername>
</parameternamelist>
<parameterdescription>
<para>A structure of thermodynamic surface fluxes</para></parameterdescription>
</parameteritem>
<parameteritem>
<parameternamelist>
<parametername direction="in">visc</parametername>
</parameternamelist>
<parameterdescription>
<para>Structure containing vertical viscosities, bottom boundary layer properies, and related fields.</para></parameterdescription>
</parameteritem>
<parameteritem>
<parameternamelist>
<parametername>cs</parametername>
</parameternamelist>
<parameterdescription>
<para>Diffusivity control structure</para></parameterdescription>
</parameteritem>
<parameteritem>
<parameternamelist>
<parametername>obc</parametername>
</parameternamelist>
<parameterdescription>
<para>Open boundaries control structure. </para></parameterdescription>
</parameteritem>
</parameterlist>
</para>        </detaileddescription>
        <inbodydescription>
        </inbodydescription>
        <location file="/home/cermak/src/MOM6.devrob/src/parameterizations/vertical/MOM_set_diffusivity.F90" line="1718" column="1" bodyfile="/home/cermak/src/MOM6.devrob/src/parameterizations/vertical/MOM_set_diffusivity.F90" bodystart="1719" bodyend="1900"/>
        <references refid="namespacemom__open__boundary_1a876256dbb0556d7e04cdf091f1744b65" compoundref="MOM__open__boundary_8F90" startline="75" endline="75">mom_open_boundary::obc_direction_e</references>
        <references refid="namespacemom__open__boundary_1a6ace8760d7fa465a59d8cbc3340a5b5e" compoundref="MOM__open__boundary_8F90" startline="73" endline="73">mom_open_boundary::obc_direction_n</references>
      </memberdef>
      <memberdef kind="function" id="namespacemom__set__diffusivity_1a5ba8a3be6234304aa5f1dfd0b831078a" prot="private" static="no" const="no" explicit="no" inline="no" virt="non-virtual">
        <type>subroutine</type>
        <definition>subroutine mom_set_diffusivity::set_density_ratios</definition>
        <argsstring>(h, tv, kb, G, GV, US, CS, j, ds_dsp1, rho_0)</argsstring>
        <name>set_density_ratios</name>
        <param>
          <type>h</type>
          <defname>h</defname>
        </param>
        <param>
          <type>tv</type>
          <defname>tv</defname>
        </param>
        <param>
          <type>kb</type>
          <defname>kb</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>j</type>
          <defname>j</defname>
        </param>
        <param>
          <type>ds_dsp1</type>
          <defname>ds_dsp1</defname>
        </param>
        <param>
          <type>rho_0</type>
          <defname>rho_0</defname>
        </param>
        <briefdescription>
        </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">tv</parametername>
</parameternamelist>
<parameterdescription>
<para>Structure containing pointers to any available thermodynamic fields; absent fields have NULL ptrs.</para></parameterdescription>
</parameteritem>
<parameteritem>
<parameternamelist>
<parametername direction="in">kb</parametername>
</parameternamelist>
<parameterdescription>
<para>Index of lightest layer denser than the buffer layer, or -1 without a bulk mixed layer.</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>Control structure returned by previous call to diabatic_entrain_init.</para></parameterdescription>
</parameteritem>
<parameteritem>
<parameternamelist>
<parametername direction="in">j</parametername>
</parameternamelist>
<parameterdescription>
<para>Meridional index upon which to work.</para></parameterdescription>
</parameteritem>
<parameteritem>
<parameternamelist>
<parametername direction="out">ds_dsp1</parametername>
</parameternamelist>
<parameterdescription>
<para>Coordinate variable (sigma-2) difference across an interface divided by the difference across the interface below it [nondim]</para></parameterdescription>
</parameteritem>
<parameteritem>
<parameternamelist>
<parametername direction="in">rho_0</parametername>
</parameternamelist>
<parameterdescription>
<para>Layer potential densities relative to </para></parameterdescription>
</parameteritem>
</parameterlist>
</para>        </detaileddescription>
        <inbodydescription>
        </inbodydescription>
        <location file="/home/cermak/src/MOM6.devrob/src/parameterizations/vertical/MOM_set_diffusivity.F90" line="1903" column="1" bodyfile="/home/cermak/src/MOM6.devrob/src/parameterizations/vertical/MOM_set_diffusivity.F90" bodystart="1904" bodyend="2006"/>
        <references refid="namespacemom__eos_1a782d326108e390902e520efc078e8296" compoundref="MOM__EOS_8F90" startline="1163" endline="1175">mom_eos::eos_domain</references>
        <referencedby refid="namespacemom__set__diffusivity_1a07c0ab3f141f8f9e057be3150a940a94" compoundref="MOM__set__diffusivity_8F90" startline="704" endline="912">find_tke_to_kd</referencedby>
      </memberdef>
      <memberdef kind="function" id="namespacemom__set__diffusivity_1ac0c0f4b8458cb5610514ee068482f4bb" prot="public" static="no" const="no" explicit="no" inline="no" virt="non-virtual">
        <type>subroutine, public</type>
        <definition>subroutine, public mom_set_diffusivity::set_diffusivity_init</definition>
        <argsstring>(Time, G, GV, US, param_file, diag, CS, int_tide_CSp, halo_TS, double_diffuse)</argsstring>
        <name>set_diffusivity_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>
        <param>
          <type>int_tide_CSp</type>
          <defname>int_tide_CSp</defname>
        </param>
        <param>
          <type>halo_TS</type>
          <defname>halo_TS</defname>
        </param>
        <param>
          <type>double_diffuse</type>
          <defname>double_diffuse</defname>
        </param>
        <briefdescription>
        </briefdescription>
        <detaileddescription>
<para><parameterlist kind="param"><parameteritem>
<parameternamelist>
<parametername direction="in">time</parametername>
</parameternamelist>
<parameterdescription>
<para>The current model time</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">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 used to regulate diagnostic output.</para></parameterdescription>
</parameteritem>
<parameteritem>
<parameternamelist>
<parametername>cs</parametername>
</parameternamelist>
<parameterdescription>
<para>pointer set to point to the module control structure.</para></parameterdescription>
</parameteritem>
<parameteritem>
<parameternamelist>
<parametername>int_tide_csp</parametername>
</parameternamelist>
<parameterdescription>
<para>A pointer to the internal tides control structure</para></parameterdescription>
</parameteritem>
<parameteritem>
<parameternamelist>
<parametername direction="out">halo_ts</parametername>
</parameternamelist>
<parameterdescription>
<para>The halo size of tracer points that must be valid for the calculations in set_diffusivity.</para></parameterdescription>
</parameteritem>
<parameteritem>
<parameternamelist>
<parametername direction="out">double_diffuse</parametername>
</parameternamelist>
<parameterdescription>
<para>If present, this indicates whether some version of double diffusion is being used. </para></parameterdescription>
</parameteritem>
</parameterlist>
</para>        </detaileddescription>
        <inbodydescription>
        </inbodydescription>
        <location file="/home/cermak/src/MOM6.devrob/src/parameterizations/vertical/MOM_set_diffusivity.F90" line="2009" column="1" bodyfile="/home/cermak/src/MOM6.devrob/src/parameterizations/vertical/MOM_set_diffusivity.F90" bodystart="2011" bodyend="2342"/>
        <references refid="namespacemom__set__diffusivity_1a7ceffee2f68b88087dafa02f6235c4fc" compoundref="MOM__set__diffusivity_8F90" startline="196">id_clock_cvmix_ddiff</references>
        <references refid="namespacemom__set__diffusivity_1a6b2144f31cb69fe2481815545253d7c9" compoundref="MOM__set__diffusivity_8F90" startline="196" endline="196">id_clock_kappashear</references>
        <references refid="namespacemom__kappa__shear_1ad4d87b0928aea195213e682b493eb555" compoundref="MOM__kappa__shear_8F90" startline="1975" endline="1991">mom_kappa_shear::kappa_shear_at_vertex</references>
        <references refid="namespacemom__diag__mediator_1ada491446bf7216fe101e6b0f6ed551e1" compoundref="MOM__diag__mediator_8F90" startline="1944" endline="2177">mom_diag_mediator::register_diag_field</references>
        <references refid="namespacemom__tidal__mixing_1a6278fe41ef74ac23ba02ae1540104c5f" compoundref="MOM__tidal__mixing_8F90" startline="213" endline="663">mom_tidal_mixing::tidal_mixing_init</references>
      </memberdef>
      <memberdef kind="function" id="namespacemom__set__diffusivity_1ace82f133d3cee42aa36ec10bcce79e75" prot="public" static="no" const="no" explicit="no" inline="no" virt="non-virtual">
        <type>subroutine, public</type>
        <definition>subroutine, public mom_set_diffusivity::set_diffusivity_end</definition>
        <argsstring>(CS)</argsstring>
        <name>set_diffusivity_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 </para></parameterdescription>
</parameteritem>
</parameterlist>
</para>        </detaileddescription>
        <inbodydescription>
        </inbodydescription>
        <location file="/home/cermak/src/MOM6.devrob/src/parameterizations/vertical/MOM_set_diffusivity.F90" line="2346" column="1" bodyfile="/home/cermak/src/MOM6.devrob/src/parameterizations/vertical/MOM_set_diffusivity.F90" bodystart="2347" bodyend="2362"/>
        <references refid="namespacemom__bkgnd__mixing_1a1d7ebcf89d3ec5dfff1bb7977a7eb08c" compoundref="MOM__bkgnd__mixing_8F90" startline="548" endline="553">mom_bkgnd_mixing::bkgnd_mixing_end</references>
        <references refid="namespacemom__cvmix__shear_1a0c9f49bd2f832f20f4675b63b85e0e8e" compoundref="MOM__CVMix__shear_8F90" startline="329" endline="338">mom_cvmix_shear::cvmix_shear_end</references>
        <references refid="namespacemom__tidal__mixing_1a4ec08e118dea2ecbac7e719ed73acc70" compoundref="MOM__tidal__mixing_8F90" startline="1724" endline="1735">mom_tidal_mixing::tidal_mixing_end</references>
        <references refid="namespaceuser__change__diffusivity_1ad92d8d57a14b020dcff685bc1da32507" compoundref="user__change__diffusivity_8F90" startline="263" endline="267">user_change_diffusivity::user_change_diff_end</references>
      </memberdef>
      </sectiondef>
    <briefdescription>
<para>Calculate vertical diffusivity from all mixing processes. </para>    </briefdescription>
    <detaileddescription>
    </detaileddescription>
    <location file="/home/cermak/src/MOM6.devrob/src/parameterizations/vertical/MOM_set_diffusivity.F90" line="2" column="1"/>
  </compounddef>
</doxygen>
