<?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.20" xml:lang="en-US">
  <compounddef id="namespacemom__kappa__shear" kind="namespace" language="Fortran">
    <compoundname>mom_kappa_shear</compoundname>
    <innerclass refid="structmom__kappa__shear_1_1kappa__shear__cs" prot="public">mom_kappa_shear::kappa_shear_cs</innerclass>
      <sectiondef kind="func">
      <memberdef kind="function" id="namespacemom__kappa__shear_1a3f00b08e1174690d40c0c2065fa9a8b1" prot="public" static="no" const="no" explicit="no" inline="no" virt="non-virtual">
        <type>subroutine, public</type>
        <definition>subroutine, public mom_kappa_shear::calculate_kappa_shear</definition>
        <argsstring>(u_in, v_in, h, tv, p_surf, kappa_io, tke_io, kv_io, dt, G, GV, US, CS, initialize_all)</argsstring>
        <name>calculate_kappa_shear</name>
        <param>
          <type>u_in</type>
          <defname>u_in</defname>
        </param>
        <param>
          <type>v_in</type>
          <defname>v_in</defname>
        </param>
        <param>
          <type>h</type>
          <defname>h</defname>
        </param>
        <param>
          <type>tv</type>
          <defname>tv</defname>
        </param>
        <param>
          <type>p_surf</type>
          <defname>p_surf</defname>
        </param>
        <param>
          <type>kappa_io</type>
          <defname>kappa_io</defname>
        </param>
        <param>
          <type>tke_io</type>
          <defname>tke_io</defname>
        </param>
        <param>
          <type>kv_io</type>
          <defname>kv_io</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>initialize_all</type>
          <defname>initialize_all</defname>
        </param>
        <briefdescription>
<para>Subroutine for calculating shear-driven diffusivity and TKE in tracer columns. </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_in</parametername>
</parameternamelist>
<parameterdescription>
<para>Initial zonal velocity [L T-1 ~&gt; m s-1]. </para>
</parameterdescription>
</parameteritem>
<parameteritem>
<parameternamelist>
<parametername direction="in">v_in</parametername>
</parameternamelist>
<parameterdescription>
<para>Initial 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>A structure containing pointers to any available thermodynamic fields. Absent fields have NULL ptrs. </para>
</parameterdescription>
</parameteritem>
<parameteritem>
<parameternamelist>
<parametername>p_surf</parametername>
</parameternamelist>
<parameterdescription>
<para>The pressure at the ocean surface [R L2 T-2 ~&gt; Pa] (or NULL). </para>
</parameterdescription>
</parameteritem>
<parameteritem>
<parameternamelist>
<parametername direction="inout">kappa_io</parametername>
</parameternamelist>
<parameterdescription>
<para>The diapycnal diffusivity at each interface </para>
</parameterdescription>
</parameteritem>
<parameteritem>
<parameternamelist>
<parametername direction="out">tke_io</parametername>
</parameternamelist>
<parameterdescription>
<para>The turbulent kinetic energy per unit mass at </para>
</parameterdescription>
</parameteritem>
<parameteritem>
<parameternamelist>
<parametername direction="inout">kv_io</parametername>
</parameternamelist>
<parameterdescription>
<para>The vertical viscosity at each interface </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>The control structure returned by a previous call to kappa_shear_init. </para>
</parameterdescription>
</parameteritem>
<parameteritem>
<parameternamelist>
<parametername direction="in">initialize_all</parametername>
</parameternamelist>
<parameterdescription>
<para>If present and false, the previous value of kappa is used to start the iterations </para>
</parameterdescription>
</parameteritem>
</parameterlist>
</para>
        </detaileddescription>
        <inbodydescription>
        </inbodydescription>
        <location file="/home/cermak/src/MOM6.devrob/src/parameterizations/vertical/MOM_kappa_shear.F90" line="109" column="1" bodyfile="/home/cermak/src/MOM6.devrob/src/parameterizations/vertical/MOM_kappa_shear.F90" bodystart="111" bodyend="337"/>
        <references refid="namespacemom__kappa__shear_1a26cc5bb15545f04cfaf07e53410e09ec" compoundref="MOM__kappa__shear_8F90" startline="627" endline="1073">kappa_shear_column</references>
      </memberdef>
      <memberdef kind="function" id="namespacemom__kappa__shear_1a2d8e291656bab5f83179523c4bea4d85" prot="public" static="no" const="no" explicit="no" inline="no" virt="non-virtual">
        <type>subroutine, public</type>
        <definition>subroutine, public mom_kappa_shear::calc_kappa_shear_vertex</definition>
        <argsstring>(u_in, v_in, h, T_in, S_in, tv, p_surf, kappa_io, tke_io, kv_io, dt, G, GV, US, CS, initialize_all)</argsstring>
        <name>calc_kappa_shear_vertex</name>
        <param>
          <type>u_in</type>
          <defname>u_in</defname>
        </param>
        <param>
          <type>v_in</type>
          <defname>v_in</defname>
        </param>
        <param>
          <type>h</type>
          <defname>h</defname>
        </param>
        <param>
          <type>T_in</type>
          <defname>T_in</defname>
        </param>
        <param>
          <type>S_in</type>
          <defname>S_in</defname>
        </param>
        <param>
          <type>tv</type>
          <defname>tv</defname>
        </param>
        <param>
          <type>p_surf</type>
          <defname>p_surf</defname>
        </param>
        <param>
          <type>kappa_io</type>
          <defname>kappa_io</defname>
        </param>
        <param>
          <type>tke_io</type>
          <defname>tke_io</defname>
        </param>
        <param>
          <type>kv_io</type>
          <defname>kv_io</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>initialize_all</type>
          <defname>initialize_all</defname>
        </param>
        <briefdescription>
<para>Subroutine for calculating shear-driven diffusivity and TKE in corner columns. </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_in</parametername>
</parameternamelist>
<parameterdescription>
<para>Initial zonal velocity [L T-1 ~&gt; m s-1]. </para>
</parameterdescription>
</parameteritem>
<parameteritem>
<parameternamelist>
<parametername direction="in">v_in</parametername>
</parameternamelist>
<parameterdescription>
<para>Initial 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">t_in</parametername>
</parameternamelist>
<parameterdescription>
<para>Layer potential temperatures [degC] </para>
</parameterdescription>
</parameteritem>
<parameteritem>
<parameternamelist>
<parametername direction="in">s_in</parametername>
</parameternamelist>
<parameterdescription>
<para>Layer salinities in ppt. </para>
</parameterdescription>
</parameteritem>
<parameteritem>
<parameternamelist>
<parametername direction="in">tv</parametername>
</parameternamelist>
<parameterdescription>
<para>A structure containing pointers to any available thermodynamic fields. Absent fields have NULL ptrs. </para>
</parameterdescription>
</parameteritem>
<parameteritem>
<parameternamelist>
<parametername>p_surf</parametername>
</parameternamelist>
<parameterdescription>
<para>The pressure at the ocean surface [R L2 T-2 ~&gt; Pa] (or NULL). </para>
</parameterdescription>
</parameteritem>
<parameteritem>
<parameternamelist>
<parametername direction="out">kappa_io</parametername>
</parameternamelist>
<parameterdescription>
<para>The diapycnal diffusivity at each interface </para>
</parameterdescription>
</parameteritem>
<parameteritem>
<parameternamelist>
<parametername direction="out">tke_io</parametername>
</parameternamelist>
<parameterdescription>
<para>The turbulent kinetic energy per unit mass at </para>
</parameterdescription>
</parameteritem>
<parameteritem>
<parameternamelist>
<parametername direction="inout">kv_io</parametername>
</parameternamelist>
<parameterdescription>
<para>The vertical viscosity at each interface [Z2 T-1 ~&gt; m2 s-1]. </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>The control structure returned by a previous call to kappa_shear_init. </para>
</parameterdescription>
</parameteritem>
<parameteritem>
<parameternamelist>
<parametername direction="in">initialize_all</parametername>
</parameternamelist>
<parameterdescription>
<para>If present and false, the previous value of kappa is used to start the iterations </para>
</parameterdescription>
</parameteritem>
</parameterlist>
</para>
        </detaileddescription>
        <inbodydescription>
        </inbodydescription>
        <location file="/home/cermak/src/MOM6.devrob/src/parameterizations/vertical/MOM_kappa_shear.F90" line="342" column="1" bodyfile="/home/cermak/src/MOM6.devrob/src/parameterizations/vertical/MOM_kappa_shear.F90" bodystart="344" bodyend="619"/>
        <references refid="namespacemom__kappa__shear_1a26cc5bb15545f04cfaf07e53410e09ec" compoundref="MOM__kappa__shear_8F90" startline="627" endline="1073">kappa_shear_column</references>
        <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__kappa__shear_1a26cc5bb15545f04cfaf07e53410e09ec" prot="private" static="no" const="no" explicit="no" inline="no" virt="non-virtual">
        <type>subroutine</type>
        <definition>subroutine mom_kappa_shear::kappa_shear_column</definition>
        <argsstring>(kappa, tke, dt, nzc, f2, surface_pres, dz, u0xdz, v0xdz, T0xdz, S0xdz, kappa_avg, tke_avg, tv, CS, GV, US, I_Ld2_1d, dz_Int_1d)</argsstring>
        <name>kappa_shear_column</name>
        <param>
          <type>kappa</type>
          <defname>kappa</defname>
        </param>
        <param>
          <type>tke</type>
          <defname>tke</defname>
        </param>
        <param>
          <type>dt</type>
          <defname>dt</defname>
        </param>
        <param>
          <type>nzc</type>
          <defname>nzc</defname>
        </param>
        <param>
          <type>f2</type>
          <defname>f2</defname>
        </param>
        <param>
          <type>surface_pres</type>
          <defname>surface_pres</defname>
        </param>
        <param>
          <type>dz</type>
          <defname>dz</defname>
        </param>
        <param>
          <type>u0xdz</type>
          <defname>u0xdz</defname>
        </param>
        <param>
          <type>v0xdz</type>
          <defname>v0xdz</defname>
        </param>
        <param>
          <type>T0xdz</type>
          <defname>T0xdz</defname>
        </param>
        <param>
          <type>S0xdz</type>
          <defname>S0xdz</defname>
        </param>
        <param>
          <type>kappa_avg</type>
          <defname>kappa_avg</defname>
        </param>
        <param>
          <type>tke_avg</type>
          <defname>tke_avg</defname>
        </param>
        <param>
          <type>tv</type>
          <defname>tv</defname>
        </param>
        <param>
          <type>CS</type>
          <defname>CS</defname>
        </param>
        <param>
          <type>GV</type>
          <defname>GV</defname>
        </param>
        <param>
          <type>US</type>
          <defname>US</defname>
        </param>
        <param>
          <type>I_Ld2_1d</type>
          <defname>I_Ld2_1d</defname>
        </param>
        <param>
          <type>dz_Int_1d</type>
          <defname>dz_Int_1d</defname>
        </param>
        <briefdescription>
<para>This subroutine calculates shear-driven diffusivity and TKE in a single column. </para>
        </briefdescription>
        <detaileddescription>
<para><parameterlist kind="param"><parameteritem>
<parameternamelist>
<parametername direction="in">gv</parametername>
</parameternamelist>
<parameterdescription>
<para>The ocean&apos;s vertical grid structure. </para>
</parameterdescription>
</parameteritem>
<parameteritem>
<parameternamelist>
<parametername direction="inout">kappa</parametername>
</parameternamelist>
<parameterdescription>
<para>The time-weighted average of kappa [Z2 T-1 ~&gt; m2 s-1]. </para>
</parameterdescription>
</parameteritem>
<parameteritem>
<parameternamelist>
<parametername direction="out">tke</parametername>
</parameternamelist>
<parameterdescription>
<para>The Turbulent Kinetic Energy per unit mass at </para>
</parameterdescription>
</parameteritem>
<parameteritem>
<parameternamelist>
<parametername direction="in">nzc</parametername>
</parameternamelist>
<parameterdescription>
<para>The number of active layers in the column. </para>
</parameterdescription>
</parameteritem>
<parameteritem>
<parameternamelist>
<parametername direction="in">f2</parametername>
</parameternamelist>
<parameterdescription>
<para>The square of the Coriolis parameter [T-2 ~&gt; s-2]. </para>
</parameterdescription>
</parameteritem>
<parameteritem>
<parameternamelist>
<parametername direction="in">surface_pres</parametername>
</parameternamelist>
<parameterdescription>
<para>The surface pressure [R L2 T-2 ~&gt; Pa]. </para>
</parameterdescription>
</parameteritem>
<parameteritem>
<parameternamelist>
<parametername direction="in">dz</parametername>
</parameternamelist>
<parameterdescription>
<para>The layer thickness [Z ~&gt; m]. </para>
</parameterdescription>
</parameteritem>
<parameteritem>
<parameternamelist>
<parametername direction="in">u0xdz</parametername>
</parameternamelist>
<parameterdescription>
<para>The initial zonal velocity times dz [Z L T-1 ~&gt; m2 s-1]. </para>
</parameterdescription>
</parameteritem>
<parameteritem>
<parameternamelist>
<parametername direction="in">v0xdz</parametername>
</parameternamelist>
<parameterdescription>
<para>The initial meridional velocity times dz [Z L T-1 ~&gt; m2 s-1]. </para>
</parameterdescription>
</parameteritem>
<parameteritem>
<parameternamelist>
<parametername direction="in">t0xdz</parametername>
</parameternamelist>
<parameterdescription>
<para>The initial temperature times dz [degC Z ~&gt; degC m]. </para>
</parameterdescription>
</parameteritem>
<parameteritem>
<parameternamelist>
<parametername direction="in">s0xdz</parametername>
</parameternamelist>
<parameterdescription>
<para>The initial salinity times dz [ppt Z ~&gt; ppt m]. </para>
</parameterdescription>
</parameteritem>
<parameteritem>
<parameternamelist>
<parametername direction="out">kappa_avg</parametername>
</parameternamelist>
<parameterdescription>
<para>The time-weighted average of kappa [Z2 T-1 ~&gt; m2 s-1]. </para>
</parameterdescription>
</parameteritem>
<parameteritem>
<parameternamelist>
<parametername direction="out">tke_avg</parametername>
</parameternamelist>
<parameterdescription>
<para>The time-weighted average of TKE [Z2 T-2 ~&gt; m2 s-2]. </para>
</parameterdescription>
</parameteritem>
<parameteritem>
<parameternamelist>
<parametername direction="in">dt</parametername>
</parameternamelist>
<parameterdescription>
<para>Time increment [T ~&gt; s]. </para>
</parameterdescription>
</parameteritem>
<parameteritem>
<parameternamelist>
<parametername direction="in">tv</parametername>
</parameternamelist>
<parameterdescription>
<para>A structure containing pointers to any available thermodynamic fields. Absent fields have NULL ptrs. </para>
</parameterdescription>
</parameteritem>
<parameteritem>
<parameternamelist>
<parametername>cs</parametername>
</parameternamelist>
<parameterdescription>
<para>The control structure returned by a previous call to kappa_shear_init. </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="out">i_ld2_1d</parametername>
</parameternamelist>
<parameterdescription>
<para>The inverse of the squared mixing length [Z-2 ~&gt; m-2]. </para>
</parameterdescription>
</parameteritem>
<parameteritem>
<parameternamelist>
<parametername direction="out">dz_int_1d</parametername>
</parameternamelist>
<parameterdescription>
<para>The extent of a finite-volume space surrounding an interface, </para>
</parameterdescription>
</parameteritem>
</parameterlist>
</para>
        </detaileddescription>
        <inbodydescription>
        </inbodydescription>
        <location file="/home/cermak/src/MOM6.devrob/src/parameterizations/vertical/MOM_kappa_shear.F90" line="624" column="1" bodyfile="/home/cermak/src/MOM6.devrob/src/parameterizations/vertical/MOM_kappa_shear.F90" bodystart="627" bodyend="1073"/>
        <references refid="namespacemom__kappa__shear_1a0b931b0b834d887e321eb6eb1924fa9a" compoundref="MOM__kappa__shear_8F90" startline="1082" endline="1214">calculate_projected_state</references>
        <references refid="namespacemom__kappa__shear_1a351d44e4fe5cfb5852d019a0c1e66100" compoundref="MOM__kappa__shear_8F90" startline="1220" endline="1768">find_kappa_tke</references>
        <referencedby refid="namespacemom__kappa__shear_1a2d8e291656bab5f83179523c4bea4d85" compoundref="MOM__kappa__shear_8F90" startline="344" endline="619">calc_kappa_shear_vertex</referencedby>
        <referencedby refid="namespacemom__kappa__shear_1a3f00b08e1174690d40c0c2065fa9a8b1" compoundref="MOM__kappa__shear_8F90" startline="111" endline="337">calculate_kappa_shear</referencedby>
      </memberdef>
      <memberdef kind="function" id="namespacemom__kappa__shear_1a0b931b0b834d887e321eb6eb1924fa9a" prot="private" static="no" const="no" explicit="no" inline="no" virt="non-virtual">
        <type>subroutine</type>
        <definition>subroutine mom_kappa_shear::calculate_projected_state</definition>
        <argsstring>(kappa, u0, v0, T0, S0, dt, nz, dz, I_dz_int, dbuoy_dT, dbuoy_dS, u, v, T, Sal, GV, US, N2, S2, ks_int, ke_int, vel_underflow)</argsstring>
        <name>calculate_projected_state</name>
        <param>
          <type>kappa</type>
          <defname>kappa</defname>
        </param>
        <param>
          <type>u0</type>
          <defname>u0</defname>
        </param>
        <param>
          <type>v0</type>
          <defname>v0</defname>
        </param>
        <param>
          <type>T0</type>
          <defname>T0</defname>
        </param>
        <param>
          <type>S0</type>
          <defname>S0</defname>
        </param>
        <param>
          <type>dt</type>
          <defname>dt</defname>
        </param>
        <param>
          <type>nz</type>
          <defname>nz</defname>
        </param>
        <param>
          <type>dz</type>
          <defname>dz</defname>
        </param>
        <param>
          <type>I_dz_int</type>
          <defname>I_dz_int</defname>
        </param>
        <param>
          <type>dbuoy_dT</type>
          <defname>dbuoy_dT</defname>
        </param>
        <param>
          <type>dbuoy_dS</type>
          <defname>dbuoy_dS</defname>
        </param>
        <param>
          <type>u</type>
          <defname>u</defname>
        </param>
        <param>
          <type>v</type>
          <defname>v</defname>
        </param>
        <param>
          <type>T</type>
          <defname>T</defname>
        </param>
        <param>
          <type>Sal</type>
          <defname>Sal</defname>
        </param>
        <param>
          <type>GV</type>
          <defname>GV</defname>
        </param>
        <param>
          <type>US</type>
          <defname>US</defname>
        </param>
        <param>
          <type>N2</type>
          <defname>N2</defname>
        </param>
        <param>
          <type>S2</type>
          <defname>S2</defname>
        </param>
        <param>
          <type>ks_int</type>
          <defname>ks_int</defname>
        </param>
        <param>
          <type>ke_int</type>
          <defname>ke_int</defname>
        </param>
        <param>
          <type>vel_underflow</type>
          <defname>vel_underflow</defname>
        </param>
        <briefdescription>
<para>This subroutine calculates the velocities, temperature and salinity that the water column will have after mixing for dt with diffusivities kappa. It may also calculate the projected buoyancy frequency and shear. </para>
        </briefdescription>
        <detaileddescription>
<para><parameterlist kind="param"><parameteritem>
<parameternamelist>
<parametername direction="in">nz</parametername>
</parameternamelist>
<parameterdescription>
<para>The number of layers (after eliminating massless layers?). </para>
</parameterdescription>
</parameteritem>
<parameteritem>
<parameternamelist>
<parametername direction="in">kappa</parametername>
</parameternamelist>
<parameterdescription>
<para>The diapycnal diffusivity at interfaces, [Z2 T-1 ~&gt; m2 s-1]. </para>
</parameterdescription>
</parameteritem>
<parameteritem>
<parameternamelist>
<parametername direction="in">u0</parametername>
</parameternamelist>
<parameterdescription>
<para>The initial zonal velocity [L T-1 ~&gt; m s-1]. </para>
</parameterdescription>
</parameteritem>
<parameteritem>
<parameternamelist>
<parametername direction="in">v0</parametername>
</parameternamelist>
<parameterdescription>
<para>The initial meridional velocity [L T-1 ~&gt; m s-1]. </para>
</parameterdescription>
</parameteritem>
<parameteritem>
<parameternamelist>
<parametername direction="in">t0</parametername>
</parameternamelist>
<parameterdescription>
<para>The initial temperature [degC]. </para>
</parameterdescription>
</parameteritem>
<parameteritem>
<parameternamelist>
<parametername direction="in">s0</parametername>
</parameternamelist>
<parameterdescription>
<para>The initial salinity [ppt]. </para>
</parameterdescription>
</parameteritem>
<parameteritem>
<parameternamelist>
<parametername direction="in">dz</parametername>
</parameternamelist>
<parameterdescription>
<para>The grid spacing of layers [Z ~&gt; m]. </para>
</parameterdescription>
</parameteritem>
<parameteritem>
<parameternamelist>
<parametername direction="in">i_dz_int</parametername>
</parameternamelist>
<parameterdescription>
<para>The inverse of the layer&apos;s thicknesses [Z-1 ~&gt; m-1]. </para>
</parameterdescription>
</parameteritem>
<parameteritem>
<parameternamelist>
<parametername direction="in">dbuoy_dt</parametername>
</parameternamelist>
<parameterdescription>
<para>The partial derivative of buoyancy with temperature [Z T-2 degC-1 ~&gt; m s-2 degC-1]. </para>
</parameterdescription>
</parameteritem>
<parameteritem>
<parameternamelist>
<parametername direction="in">dbuoy_ds</parametername>
</parameternamelist>
<parameterdescription>
<para>The partial derivative of buoyancy with salinity [Z T-2 ppt-1 ~&gt; m s-2 ppt-1]. </para>
</parameterdescription>
</parameteritem>
<parameteritem>
<parameternamelist>
<parametername direction="in">dt</parametername>
</parameternamelist>
<parameterdescription>
<para>The time step [T ~&gt; s]. </para>
</parameterdescription>
</parameteritem>
<parameteritem>
<parameternamelist>
<parametername direction="inout">u</parametername>
</parameternamelist>
<parameterdescription>
<para>The zonal velocity after dt [L T-1 ~&gt; m s-1]. </para>
</parameterdescription>
</parameteritem>
<parameteritem>
<parameternamelist>
<parametername direction="inout">v</parametername>
</parameternamelist>
<parameterdescription>
<para>The meridional velocity after dt [L T-1 ~&gt; m s-1]. </para>
</parameterdescription>
</parameteritem>
<parameteritem>
<parameternamelist>
<parametername direction="inout">t</parametername>
</parameternamelist>
<parameterdescription>
<para>The temperature after dt [degC]. </para>
</parameterdescription>
</parameteritem>
<parameteritem>
<parameternamelist>
<parametername direction="inout">sal</parametername>
</parameternamelist>
<parameterdescription>
<para>The salinity after dt [ppt]. </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="inout">n2</parametername>
</parameternamelist>
<parameterdescription>
<para>The buoyancy frequency squared at interfaces [T-2 ~&gt; s-2]. </para>
</parameterdescription>
</parameteritem>
<parameteritem>
<parameternamelist>
<parametername direction="inout">s2</parametername>
</parameternamelist>
<parameterdescription>
<para>The squared shear at interfaces [T-2 ~&gt; s-2]. </para>
</parameterdescription>
</parameteritem>
<parameteritem>
<parameternamelist>
<parametername direction="in">ks_int</parametername>
</parameternamelist>
<parameterdescription>
<para>The topmost k-index with a non-zero diffusivity. </para>
</parameterdescription>
</parameteritem>
<parameteritem>
<parameternamelist>
<parametername direction="in">ke_int</parametername>
</parameternamelist>
<parameterdescription>
<para>The bottommost k-index with a non-zero diffusivity. </para>
</parameterdescription>
</parameteritem>
<parameteritem>
<parameternamelist>
<parametername direction="in">vel_underflow</parametername>
</parameternamelist>
<parameterdescription>
<para>If present and true, any velocities that are smaller in magnitude than this value are set to 0 [L T-1 ~&gt; m s-1]. </para>
</parameterdescription>
</parameteritem>
</parameterlist>
</para>
        </detaileddescription>
        <inbodydescription>
        </inbodydescription>
        <location file="/home/cermak/src/MOM6.devrob/src/parameterizations/vertical/MOM_kappa_shear.F90" line="1079" column="1" bodyfile="/home/cermak/src/MOM6.devrob/src/parameterizations/vertical/MOM_kappa_shear.F90" bodystart="1082" bodyend="1214"/>
        <referencedby refid="namespacemom__kappa__shear_1a26cc5bb15545f04cfaf07e53410e09ec" compoundref="MOM__kappa__shear_8F90" startline="627" endline="1073">kappa_shear_column</referencedby>
      </memberdef>
      <memberdef kind="function" id="namespacemom__kappa__shear_1a351d44e4fe5cfb5852d019a0c1e66100" prot="private" static="no" const="no" explicit="no" inline="no" virt="non-virtual">
        <type>subroutine</type>
        <definition>subroutine mom_kappa_shear::find_kappa_tke</definition>
        <argsstring>(N2, S2, kappa_in, Idz, dz_Int, I_L2_bdry, f2, nz, CS, GV, US, K_Q, tke, kappa, kappa_src, local_src)</argsstring>
        <name>find_kappa_tke</name>
        <param>
          <type>N2</type>
          <defname>N2</defname>
        </param>
        <param>
          <type>S2</type>
          <defname>S2</defname>
        </param>
        <param>
          <type>kappa_in</type>
          <defname>kappa_in</defname>
        </param>
        <param>
          <type>Idz</type>
          <defname>Idz</defname>
        </param>
        <param>
          <type>dz_Int</type>
          <defname>dz_Int</defname>
        </param>
        <param>
          <type>I_L2_bdry</type>
          <defname>I_L2_bdry</defname>
        </param>
        <param>
          <type>f2</type>
          <defname>f2</defname>
        </param>
        <param>
          <type>nz</type>
          <defname>nz</defname>
        </param>
        <param>
          <type>CS</type>
          <defname>CS</defname>
        </param>
        <param>
          <type>GV</type>
          <defname>GV</defname>
        </param>
        <param>
          <type>US</type>
          <defname>US</defname>
        </param>
        <param>
          <type>K_Q</type>
          <defname>K_Q</defname>
        </param>
        <param>
          <type>tke</type>
          <defname>tke</defname>
        </param>
        <param>
          <type>kappa</type>
          <defname>kappa</defname>
        </param>
        <param>
          <type>kappa_src</type>
          <defname>kappa_src</defname>
        </param>
        <param>
          <type>local_src</type>
          <defname>local_src</defname>
        </param>
        <briefdescription>
<para>This subroutine calculates new, consistent estimates of TKE and kappa. </para>
        </briefdescription>
        <detaileddescription>
<para><parameterlist kind="param"><parameteritem>
<parameternamelist>
<parametername direction="in">nz</parametername>
</parameternamelist>
<parameterdescription>
<para>The number of layers to work on. </para>
</parameterdescription>
</parameteritem>
<parameteritem>
<parameternamelist>
<parametername direction="in">n2</parametername>
</parameternamelist>
<parameterdescription>
<para>The buoyancy frequency squared at interfaces [T-2 ~&gt; s-2]. </para>
</parameterdescription>
</parameteritem>
<parameteritem>
<parameternamelist>
<parametername direction="in">s2</parametername>
</parameternamelist>
<parameterdescription>
<para>The squared shear at interfaces [T-2 ~&gt; s-2]. </para>
</parameterdescription>
</parameteritem>
<parameteritem>
<parameternamelist>
<parametername direction="in">kappa_in</parametername>
</parameternamelist>
<parameterdescription>
<para>The initial guess at the diffusivity [Z2 T-1 ~&gt; m2 s-1]. </para>
</parameterdescription>
</parameteritem>
<parameteritem>
<parameternamelist>
<parametername direction="in">dz_int</parametername>
</parameternamelist>
<parameterdescription>
<para>The thicknesses associated with interfaces [Z-1 ~&gt; m-1]. </para>
</parameterdescription>
</parameteritem>
<parameteritem>
<parameternamelist>
<parametername direction="in">i_l2_bdry</parametername>
</parameternamelist>
<parameterdescription>
<para>The inverse of the squared distance to boundaries [Z-2 ~&gt; m-2]. </para>
</parameterdescription>
</parameteritem>
<parameteritem>
<parameternamelist>
<parametername direction="in">idz</parametername>
</parameternamelist>
<parameterdescription>
<para>The inverse grid spacing of layers [Z-1 ~&gt; m-1]. </para>
</parameterdescription>
</parameteritem>
<parameteritem>
<parameternamelist>
<parametername direction="in">f2</parametername>
</parameternamelist>
<parameterdescription>
<para>The squared Coriolis parameter [T-2 ~&gt; s-2]. </para>
</parameterdescription>
</parameteritem>
<parameteritem>
<parameternamelist>
<parametername>cs</parametername>
</parameternamelist>
<parameterdescription>
<para>A pointer to this module&apos;s control 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="inout">k_q</parametername>
</parameternamelist>
<parameterdescription>
<para>The shear-driven diapycnal diffusivity divided by the turbulent kinetic energy per unit mass at interfaces [T ~&gt; s]. </para>
</parameterdescription>
</parameteritem>
<parameteritem>
<parameternamelist>
<parametername direction="out">tke</parametername>
</parameternamelist>
<parameterdescription>
<para>The turbulent kinetic energy per unit mass at interfaces [Z2 T-2 ~&gt; m2 s-2]. </para>
</parameterdescription>
</parameteritem>
<parameteritem>
<parameternamelist>
<parametername direction="out">kappa</parametername>
</parameternamelist>
<parameterdescription>
<para>The diapycnal diffusivity at interfaces [Z2 T-1 ~&gt; m2 s-1]. </para>
</parameterdescription>
</parameteritem>
<parameteritem>
<parameternamelist>
<parametername direction="out">kappa_src</parametername>
</parameternamelist>
<parameterdescription>
<para>The source term for kappa [T-1 ~&gt; s-1]. </para>
</parameterdescription>
</parameteritem>
<parameteritem>
<parameternamelist>
<parametername direction="out">local_src</parametername>
</parameternamelist>
<parameterdescription>
<para>The sum of all local sources for kappa, </para>
</parameterdescription>
</parameteritem>
</parameterlist>
</para>
        </detaileddescription>
        <inbodydescription>
        </inbodydescription>
        <location file="/home/cermak/src/MOM6.devrob/src/parameterizations/vertical/MOM_kappa_shear.F90" line="1218" column="1" bodyfile="/home/cermak/src/MOM6.devrob/src/parameterizations/vertical/MOM_kappa_shear.F90" bodystart="1220" bodyend="1768"/>
        <referencedby refid="namespacemom__kappa__shear_1a26cc5bb15545f04cfaf07e53410e09ec" compoundref="MOM__kappa__shear_8F90" startline="627" endline="1073">kappa_shear_column</referencedby>
      </memberdef>
      <memberdef kind="function" id="namespacemom__kappa__shear_1a82428168ba463cf7276ae96d3e32475c" prot="public" static="no" const="no" explicit="no" inline="no" virt="non-virtual">
        <type>logical function, public</type>
        <definition>logical function, public mom_kappa_shear::kappa_shear_init</definition>
        <argsstring>(Time, G, GV, US, param_file, diag, CS)</argsstring>
        <name>kappa_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>This subroutine initializes the parameters that regulate shear-driven mixing. </para>
        </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="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">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 that is used to regulate diagnostic output. </para>
</parameterdescription>
</parameteritem>
<parameteritem>
<parameternamelist>
<parametername>cs</parametername>
</parameternamelist>
<parameterdescription>
<para>A pointer that is set to point to the control structure for this module </para>
</parameterdescription>
</parameteritem>
</parameterlist>
<simplesect kind="return"><para>True if module is to be used, False otherwise </para>
</simplesect>
</para>
        </detaileddescription>
        <inbodydescription>
        </inbodydescription>
        <location file="/home/cermak/src/MOM6.devrob/src/parameterizations/vertical/MOM_kappa_shear.F90" line="1772" column="1" bodyfile="/home/cermak/src/MOM6.devrob/src/parameterizations/vertical/MOM_kappa_shear.F90" bodystart="1773" bodyend="1955"/>
        <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__kappa__shear_1ac7859c609e462000ca8fd763d68d141e" prot="public" static="no" const="no" explicit="no" inline="no" virt="non-virtual">
        <type>logical function, public</type>
        <definition>logical function, public mom_kappa_shear::kappa_shear_is_used</definition>
        <argsstring>(param_file)</argsstring>
        <name>kappa_shear_is_used</name>
        <param>
          <type>param_file</type>
          <defname>param_file</defname>
        </param>
        <briefdescription>
<para>This function indicates to other modules whether the Jackson et al shear mixing 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_kappa_shear.F90" line="1960" column="1" bodyfile="/home/cermak/src/MOM6.devrob/src/parameterizations/vertical/MOM_kappa_shear.F90" bodystart="1961" bodyend="1968"/>
        <referencedby refid="namespacemom__cvmix__shear_1aec86faeb6ba106f8c9584dd3b6368a41" compoundref="MOM__CVMix__shear_8F90" startline="204" endline="310">mom_cvmix_shear::cvmix_shear_init</referencedby>
        <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_1a2ec9be1a61c7d4a062aab4ff03e3ca29" compoundref="MOM__set__viscosity_8F90" startline="1973" endline="2310">mom_set_visc::set_visc_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__kappa__shear_1ad4d87b0928aea195213e682b493eb555" prot="public" static="no" const="no" explicit="no" inline="no" virt="non-virtual">
        <type>logical function, public</type>
        <definition>logical function, public mom_kappa_shear::kappa_shear_at_vertex</definition>
        <argsstring>(param_file)</argsstring>
        <name>kappa_shear_at_vertex</name>
        <param>
          <type>param_file</type>
          <defname>param_file</defname>
        </param>
        <briefdescription>
<para>This function indicates to other modules whether the Jackson et al shear mixing parameterization will be used at the vertices without needing to duplicate the log entry. It returns false if the Jackson et al scheme is not used or if it is used via calculations at the tracer points. </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_kappa_shear.F90" line="1974" column="1" bodyfile="/home/cermak/src/MOM6.devrob/src/parameterizations/vertical/MOM_kappa_shear.F90" bodystart="1975" bodyend="1991"/>
        <referencedby refid="namespacemom__set__diffusivity_1ac0c0f4b8458cb5610514ee068482f4bb" compoundref="MOM__set__diffusivity_8F90" startline="2011" endline="2342">mom_set_diffusivity::set_diffusivity_init</referencedby>
        <referencedby refid="namespacemom__set__visc_1a2ec9be1a61c7d4a062aab4ff03e3ca29" compoundref="MOM__set__viscosity_8F90" startline="1973" endline="2310">mom_set_visc::set_visc_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>
      </sectiondef>
    <briefdescription>
<para>Shear-dependent mixing following Jackson et al. 2008. </para>
    </briefdescription>
    <detaileddescription>
<para>By Laura Jackson and Robert Hallberg, 2006-2008.</para>
<para>This file contains the subroutines that determine the diapycnal diffusivity driven by resolved shears, as specified by the parameterizations described in Jackson and Hallberg (JPO, 2008).</para>
<para>The technique by which the 6 equations (for kappa, TKE, u, v, T, and S) are solved simultaneously has been dramatically revised from the previous version. The previous version was not converging in some cases, especially near the surface mixed layer, while the revised version does. The revised version solves for kappa and TKE with shear and stratification fixed, then marches the density and velocities forward with an adaptive (and aggressive) time step in a predictor-corrector-corrector emulation of a trapezoidal scheme. Run-time-settable parameters determine the tolerence to which the kappa and TKE equations are solved and the minimum time step that can be taken. </para>
    </detaileddescription>
    <location file="/home/cermak/src/MOM6.devrob/src/parameterizations/vertical/MOM_kappa_shear.F90" line="2" column="1"/>
  </compounddef>
</doxygen>
