<?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__diag__vkernels" kind="namespace" language="Fortran">
    <compoundname>mom_diag_vkernels</compoundname>
      <sectiondef kind="func">
      <memberdef kind="function" id="namespacemom__diag__vkernels_1a4f42f472a725a147f8d97a68b2028c5b" prot="public" static="no" const="no" explicit="no" inline="no" virt="non-virtual">
        <type>subroutine, public</type>
        <definition>subroutine, public mom_diag_vkernels::interpolate_column</definition>
        <argsstring>(nsrc, h_src, u_src, ndest, h_dest, missing_value, u_dest)</argsstring>
        <name>interpolate_column</name>
        <param>
          <type>nsrc</type>
          <defname>nsrc</defname>
        </param>
        <param>
          <type>h_src</type>
          <defname>h_src</defname>
        </param>
        <param>
          <type>u_src</type>
          <defname>u_src</defname>
        </param>
        <param>
          <type>ndest</type>
          <defname>ndest</defname>
        </param>
        <param>
          <type>h_dest</type>
          <defname>h_dest</defname>
        </param>
        <param>
          <type>missing_value</type>
          <defname>missing_value</defname>
        </param>
        <param>
          <type>u_dest</type>
          <defname>u_dest</defname>
        </param>
        <briefdescription>
<para>Linearly interpolate interface data, u_src, from grid h_src to a grid h_dest. </para>
        </briefdescription>
        <detaileddescription>
<para><parameterlist kind="param"><parameteritem>
<parameternamelist>
<parametername direction="in">nsrc</parametername>
</parameternamelist>
<parameterdescription>
<para>Number of source cells </para>
</parameterdescription>
</parameteritem>
<parameteritem>
<parameternamelist>
<parametername direction="in">h_src</parametername>
</parameternamelist>
<parameterdescription>
<para>Thickness of source cells </para>
</parameterdescription>
</parameteritem>
<parameteritem>
<parameternamelist>
<parametername direction="in">u_src</parametername>
</parameternamelist>
<parameterdescription>
<para>Values at source cell interfaces </para>
</parameterdescription>
</parameteritem>
<parameteritem>
<parameternamelist>
<parametername direction="in">ndest</parametername>
</parameternamelist>
<parameterdescription>
<para>Number of destination cells </para>
</parameterdescription>
</parameteritem>
<parameteritem>
<parameternamelist>
<parametername direction="in">h_dest</parametername>
</parameternamelist>
<parameterdescription>
<para>Thickness of destination cells </para>
</parameterdescription>
</parameteritem>
<parameteritem>
<parameternamelist>
<parametername direction="in">missing_value</parametername>
</parameternamelist>
<parameterdescription>
<para>Value to assign in vanished cells </para>
</parameterdescription>
</parameteritem>
<parameteritem>
<parameternamelist>
<parametername direction="inout">u_dest</parametername>
</parameternamelist>
<parameterdescription>
<para>Interpolated value at destination cell interfaces </para>
</parameterdescription>
</parameteritem>
</parameterlist>
</para>
        </detaileddescription>
        <inbodydescription>
        </inbodydescription>
        <location file="/home/cermak/src/MOM6.devrob/src/framework/MOM_diag_vkernels.F90" line="18" column="1" bodyfile="/home/cermak/src/MOM6.devrob/src/framework/MOM_diag_vkernels.F90" bodystart="19" bodyend="89"/>
        <referencedby refid="namespacemom__ale_1ae95451e2fbd4805eec01d00bebb268b4" compoundref="MOM__ALE_8F90" startline="463" endline="536">mom_ale::ale_offline_inputs</referencedby>
        <referencedby refid="namespacemom__diag__vkernels_1abeef457cda28b20c03a89ad402bcd434" compoundref="MOM__diag__vkernels_8F90" startline="284" endline="318">test_interp</referencedby>
        <referencedby refid="namespacemom__diag__remap_1a058317602b134c09ff42005dfe8b2bc0" compoundref="MOM__diag__remap_8F90" startline="573" endline="648">mom_diag_remap::vertically_interpolate_diag_field</referencedby>
      </memberdef>
      <memberdef kind="function" id="namespacemom__diag__vkernels_1a89369e4bf4b7795f6e384762d11f0d23" prot="public" static="no" const="no" explicit="no" inline="no" virt="non-virtual">
        <type>subroutine, public</type>
        <definition>subroutine, public mom_diag_vkernels::reintegrate_column</definition>
        <argsstring>(nsrc, h_src, uh_src, ndest, h_dest, missing_value, uh_dest)</argsstring>
        <name>reintegrate_column</name>
        <param>
          <type>nsrc</type>
          <defname>nsrc</defname>
        </param>
        <param>
          <type>h_src</type>
          <defname>h_src</defname>
        </param>
        <param>
          <type>uh_src</type>
          <defname>uh_src</defname>
        </param>
        <param>
          <type>ndest</type>
          <defname>ndest</defname>
        </param>
        <param>
          <type>h_dest</type>
          <defname>h_dest</defname>
        </param>
        <param>
          <type>missing_value</type>
          <defname>missing_value</defname>
        </param>
        <param>
          <type>uh_dest</type>
          <defname>uh_dest</defname>
        </param>
        <briefdescription>
<para>Conservatively calculate integrated data, uh_dest, on grid h_dest, from layer-integrated data, uh_src, on grid h_src. </para>
        </briefdescription>
        <detaileddescription>
<para><parameterlist kind="param"><parameteritem>
<parameternamelist>
<parametername direction="in">nsrc</parametername>
</parameternamelist>
<parameterdescription>
<para>Number of source cells </para>
</parameterdescription>
</parameteritem>
<parameteritem>
<parameternamelist>
<parametername direction="in">h_src</parametername>
</parameternamelist>
<parameterdescription>
<para>Thickness of source cells </para>
</parameterdescription>
</parameteritem>
<parameteritem>
<parameternamelist>
<parametername direction="in">uh_src</parametername>
</parameternamelist>
<parameterdescription>
<para>Values at source cell interfaces </para>
</parameterdescription>
</parameteritem>
<parameteritem>
<parameternamelist>
<parametername direction="in">ndest</parametername>
</parameternamelist>
<parameterdescription>
<para>Number of destination cells </para>
</parameterdescription>
</parameteritem>
<parameteritem>
<parameternamelist>
<parametername direction="in">h_dest</parametername>
</parameternamelist>
<parameterdescription>
<para>Thickness of destination cells </para>
</parameterdescription>
</parameteritem>
<parameteritem>
<parameternamelist>
<parametername direction="in">missing_value</parametername>
</parameternamelist>
<parameterdescription>
<para>Value to assign in vanished cells </para>
</parameterdescription>
</parameteritem>
<parameteritem>
<parameternamelist>
<parametername direction="inout">uh_dest</parametername>
</parameternamelist>
<parameterdescription>
<para>Interpolated value at destination cell interfaces </para>
</parameterdescription>
</parameteritem>
</parameterlist>
</para>
        </detaileddescription>
        <inbodydescription>
        </inbodydescription>
        <location file="/home/cermak/src/MOM6.devrob/src/framework/MOM_diag_vkernels.F90" line="93" column="1" bodyfile="/home/cermak/src/MOM6.devrob/src/framework/MOM_diag_vkernels.F90" bodystart="94" bodyend="166"/>
        <referencedby refid="namespacemom__ale_1ae95451e2fbd4805eec01d00bebb268b4" compoundref="MOM__ALE_8F90" startline="463" endline="536">mom_ale::ale_offline_inputs</referencedby>
        <referencedby refid="namespacemom__diag__vkernels_1aac7aad5875fcf17273b211c90ac0cbee" compoundref="MOM__diag__vkernels_8F90" startline="323" endline="357">test_reintegrate</referencedby>
        <referencedby refid="namespacemom__diag__remap_1ae1d52582964ba4213e0fa9b7ea183c39" compoundref="MOM__diag__remap_8F90" startline="492" endline="567">mom_diag_remap::vertically_reintegrate_diag_field</referencedby>
      </memberdef>
      <memberdef kind="function" id="namespacemom__diag__vkernels_1a6001aaa22610f7fd690106fc737775dd" prot="public" static="no" const="no" explicit="no" inline="no" virt="non-virtual">
        <type>logical function, public</type>
        <definition>logical function, public mom_diag_vkernels::diag_vkernels_unit_tests</definition>
        <argsstring>(verbose)</argsstring>
        <name>diag_vkernels_unit_tests</name>
        <param>
          <type>verbose</type>
          <defname>verbose</defname>
        </param>
        <briefdescription>
<para>Returns true if any unit tests for module MOM_diag_vkernels fail. </para>
        </briefdescription>
        <detaileddescription>
<para><parameterlist kind="param"><parameteritem>
<parameternamelist>
<parametername direction="in">verbose</parametername>
</parameternamelist>
<parameterdescription>
<para>If true, write results to stdout </para>
</parameterdescription>
</parameteritem>
</parameterlist>
</para>
        </detaileddescription>
        <inbodydescription>
        </inbodydescription>
        <location file="/home/cermak/src/MOM6.devrob/src/framework/MOM_diag_vkernels.F90" line="170" column="1" bodyfile="/home/cermak/src/MOM6.devrob/src/framework/MOM_diag_vkernels.F90" bodystart="171" bodyend="279"/>
        <references refid="namespacemom__diag__vkernels_1abeef457cda28b20c03a89ad402bcd434" compoundref="MOM__diag__vkernels_8F90" startline="284" endline="318">test_interp</references>
        <references refid="namespacemom__diag__vkernels_1aac7aad5875fcf17273b211c90ac0cbee" compoundref="MOM__diag__vkernels_8F90" startline="323" endline="357">test_reintegrate</references>
        <referencedby refid="namespacemom__unit__tests_1a57645db02bc734c32de50d028ef906ac" compoundref="MOM__unit__tests_8F90" startline="24" endline="45">mom_unit_tests::unit_tests</referencedby>
      </memberdef>
      <memberdef kind="function" id="namespacemom__diag__vkernels_1abeef457cda28b20c03a89ad402bcd434" prot="private" static="no" const="no" explicit="no" inline="no" virt="non-virtual">
        <type>logical function</type>
        <definition>logical function mom_diag_vkernels::test_interp</definition>
        <argsstring>(verbose, missing_value, msg, nsrc, h_src, u_src, ndest, h_dest, u_true)</argsstring>
        <name>test_interp</name>
        <param>
          <type>verbose</type>
          <defname>verbose</defname>
        </param>
        <param>
          <type>missing_value</type>
          <defname>missing_value</defname>
        </param>
        <param>
          <type>msg</type>
          <defname>msg</defname>
        </param>
        <param>
          <type>nsrc</type>
          <defname>nsrc</defname>
        </param>
        <param>
          <type>h_src</type>
          <defname>h_src</defname>
        </param>
        <param>
          <type>u_src</type>
          <defname>u_src</defname>
        </param>
        <param>
          <type>ndest</type>
          <defname>ndest</defname>
        </param>
        <param>
          <type>h_dest</type>
          <defname>h_dest</defname>
        </param>
        <param>
          <type>u_true</type>
          <defname>u_true</defname>
        </param>
        <briefdescription>
<para>Returns true if a test of <ref refid="namespacemom__diag__vkernels_1a4f42f472a725a147f8d97a68b2028c5b" kindref="member">interpolate_column()</ref> produces the wrong answer. </para>
        </briefdescription>
        <detaileddescription>
<para><parameterlist kind="param"><parameteritem>
<parameternamelist>
<parametername direction="in">verbose</parametername>
</parameternamelist>
<parameterdescription>
<para>If true, write results to stdout </para>
</parameterdescription>
</parameteritem>
<parameteritem>
<parameternamelist>
<parametername direction="in">missing_value</parametername>
</parameternamelist>
<parameterdescription>
<para>Value to indicate missing data </para>
</parameterdescription>
</parameteritem>
<parameteritem>
<parameternamelist>
<parametername direction="in">msg</parametername>
</parameternamelist>
<parameterdescription>
<para>Message to label test </para>
</parameterdescription>
</parameteritem>
<parameteritem>
<parameternamelist>
<parametername direction="in">nsrc</parametername>
</parameternamelist>
<parameterdescription>
<para>Number of source cells </para>
</parameterdescription>
</parameteritem>
<parameteritem>
<parameternamelist>
<parametername direction="in">h_src</parametername>
</parameternamelist>
<parameterdescription>
<para>Thickness of source cells </para>
</parameterdescription>
</parameteritem>
<parameteritem>
<parameternamelist>
<parametername direction="in">u_src</parametername>
</parameternamelist>
<parameterdescription>
<para>Values at source cell interfaces </para>
</parameterdescription>
</parameteritem>
<parameteritem>
<parameternamelist>
<parametername direction="in">ndest</parametername>
</parameternamelist>
<parameterdescription>
<para>Number of destination cells </para>
</parameterdescription>
</parameteritem>
<parameteritem>
<parameternamelist>
<parametername direction="in">h_dest</parametername>
</parameternamelist>
<parameterdescription>
<para>Thickness of destination cells </para>
</parameterdescription>
</parameteritem>
<parameteritem>
<parameternamelist>
<parametername direction="in">u_true</parametername>
</parameternamelist>
<parameterdescription>
<para>Correct value at destination cell interfaces </para>
</parameterdescription>
</parameteritem>
</parameterlist>
</para>
        </detaileddescription>
        <inbodydescription>
        </inbodydescription>
        <location file="/home/cermak/src/MOM6.devrob/src/framework/MOM_diag_vkernels.F90" line="283" column="1" bodyfile="/home/cermak/src/MOM6.devrob/src/framework/MOM_diag_vkernels.F90" bodystart="284" bodyend="318"/>
        <references refid="namespacemom__diag__vkernels_1a4f42f472a725a147f8d97a68b2028c5b" compoundref="MOM__diag__vkernels_8F90" startline="19" endline="89">interpolate_column</references>
        <referencedby refid="namespacemom__diag__vkernels_1a6001aaa22610f7fd690106fc737775dd" compoundref="MOM__diag__vkernels_8F90" startline="171" endline="279">diag_vkernels_unit_tests</referencedby>
      </memberdef>
      <memberdef kind="function" id="namespacemom__diag__vkernels_1aac7aad5875fcf17273b211c90ac0cbee" prot="private" static="no" const="no" explicit="no" inline="no" virt="non-virtual">
        <type>logical function</type>
        <definition>logical function mom_diag_vkernels::test_reintegrate</definition>
        <argsstring>(verbose, missing_value, msg, nsrc, h_src, uh_src, ndest, h_dest, uh_true)</argsstring>
        <name>test_reintegrate</name>
        <param>
          <type>verbose</type>
          <defname>verbose</defname>
        </param>
        <param>
          <type>missing_value</type>
          <defname>missing_value</defname>
        </param>
        <param>
          <type>msg</type>
          <defname>msg</defname>
        </param>
        <param>
          <type>nsrc</type>
          <defname>nsrc</defname>
        </param>
        <param>
          <type>h_src</type>
          <defname>h_src</defname>
        </param>
        <param>
          <type>uh_src</type>
          <defname>uh_src</defname>
        </param>
        <param>
          <type>ndest</type>
          <defname>ndest</defname>
        </param>
        <param>
          <type>h_dest</type>
          <defname>h_dest</defname>
        </param>
        <param>
          <type>uh_true</type>
          <defname>uh_true</defname>
        </param>
        <briefdescription>
<para>Returns true if a test of <ref refid="namespacemom__diag__vkernels_1a89369e4bf4b7795f6e384762d11f0d23" kindref="member">reintegrate_column()</ref> produces the wrong answer. </para>
        </briefdescription>
        <detaileddescription>
<para><parameterlist kind="param"><parameteritem>
<parameternamelist>
<parametername direction="in">verbose</parametername>
</parameternamelist>
<parameterdescription>
<para>If true, write results to stdout </para>
</parameterdescription>
</parameteritem>
<parameteritem>
<parameternamelist>
<parametername direction="in">missing_value</parametername>
</parameternamelist>
<parameterdescription>
<para>Value to indicate missing data </para>
</parameterdescription>
</parameteritem>
<parameteritem>
<parameternamelist>
<parametername direction="in">msg</parametername>
</parameternamelist>
<parameterdescription>
<para>Message to label test </para>
</parameterdescription>
</parameteritem>
<parameteritem>
<parameternamelist>
<parametername direction="in">nsrc</parametername>
</parameternamelist>
<parameterdescription>
<para>Number of source cells </para>
</parameterdescription>
</parameteritem>
<parameteritem>
<parameternamelist>
<parametername direction="in">h_src</parametername>
</parameternamelist>
<parameterdescription>
<para>Thickness of source cells </para>
</parameterdescription>
</parameteritem>
<parameteritem>
<parameternamelist>
<parametername direction="in">uh_src</parametername>
</parameternamelist>
<parameterdescription>
<para>Values of source cell stuff </para>
</parameterdescription>
</parameteritem>
<parameteritem>
<parameternamelist>
<parametername direction="in">ndest</parametername>
</parameternamelist>
<parameterdescription>
<para>Number of destination cells </para>
</parameterdescription>
</parameteritem>
<parameteritem>
<parameternamelist>
<parametername direction="in">h_dest</parametername>
</parameternamelist>
<parameterdescription>
<para>Thickness of destination cells </para>
</parameterdescription>
</parameteritem>
<parameteritem>
<parameternamelist>
<parametername direction="in">uh_true</parametername>
</parameternamelist>
<parameterdescription>
<para>Correct value of destination cell stuff </para>
</parameterdescription>
</parameteritem>
</parameterlist>
</para>
        </detaileddescription>
        <inbodydescription>
        </inbodydescription>
        <location file="/home/cermak/src/MOM6.devrob/src/framework/MOM_diag_vkernels.F90" line="322" column="1" bodyfile="/home/cermak/src/MOM6.devrob/src/framework/MOM_diag_vkernels.F90" bodystart="323" bodyend="357"/>
        <references refid="namespacemom__diag__vkernels_1a89369e4bf4b7795f6e384762d11f0d23" compoundref="MOM__diag__vkernels_8F90" startline="94" endline="166">reintegrate_column</references>
        <referencedby refid="namespacemom__diag__vkernels_1a6001aaa22610f7fd690106fc737775dd" compoundref="MOM__diag__vkernels_8F90" startline="171" endline="279">diag_vkernels_unit_tests</referencedby>
      </memberdef>
      </sectiondef>
    <briefdescription>
<para>Provides kernels for single-column interpolation, re-integration (re-mapping of integrated quantities) and intensive-variable remapping in the vertical. </para>
    </briefdescription>
    <detaileddescription>
    </detaileddescription>
    <location file="/home/cermak/src/MOM6.devrob/src/framework/MOM_diag_vkernels.F90" line="3" column="1"/>
  </compounddef>
</doxygen>
