<?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.18">
  <compounddef id="interfacemom__domains_1_1create__group__pass" kind="interface" language="Fortran" prot="private">
    <compoundname>mom_domains::create_group_pass</compoundname>
      <sectiondef kind="private-func">
      <memberdef kind="function" id="interfacemom__domains_1_1create__group__pass_1a7a1754edf64e1df1cd55acab464e8c70" prot="private" static="no" const="no" explicit="no" inline="no" virt="non-virtual">
        <type>subroutine</type>
        <definition>subroutine mom_domains::create_group_pass::create_var_group_pass_2d</definition>
        <argsstring>(group, array, MOM_dom, sideflag, position, halo, clock)</argsstring>
        <name>create_var_group_pass_2d</name>
        <param>
          <type>group</type>
          <defname>group</defname>
        </param>
        <param>
          <type>array</type>
          <defname>array</defname>
        </param>
        <param>
          <type>MOM_dom</type>
          <defname>MOM_dom</defname>
        </param>
        <param>
          <type>sideflag</type>
          <defname>sideflag</defname>
        </param>
        <param>
          <type>position</type>
          <defname>position</defname>
        </param>
        <param>
          <type>halo</type>
          <defname>halo</defname>
        </param>
        <param>
          <type>clock</type>
          <defname>clock</defname>
        </param>
        <briefdescription>
<para>create_var_group_pass_2d sets up a group of two-dimensional array halo updates. </para>
        </briefdescription>
        <detaileddescription>
<para><parameterlist kind="param"><parameteritem>
<parameternamelist>
<parametername direction="inout">group</parametername>
</parameternamelist>
<parameterdescription>
<para>The data type that store information for group update. This data will be used in do_group_pass. </para>
</parameterdescription>
</parameteritem>
<parameteritem>
<parameternamelist>
<parametername direction="inout">array</parametername>
</parameternamelist>
<parameterdescription>
<para>The array which is having its halos points exchanged. </para>
</parameterdescription>
</parameteritem>
<parameteritem>
<parameternamelist>
<parametername direction="inout">mom_dom</parametername>
</parameternamelist>
<parameterdescription>
<para>The MOM_domain_type containing the mpp_domain needed to determine where data should be sent. </para>
</parameterdescription>
</parameteritem>
<parameteritem>
<parameternamelist>
<parametername direction="in">sideflag</parametername>
</parameternamelist>
<parameterdescription>
<para>An optional integer indicating which directions the data should be sent. It is TO_ALL or the sum of any of TO_EAST, TO_WEST, TO_NORTH, and TO_SOUTH. For example, TO_EAST sends the data to the processor to the east, so the halos on the western side are filled. TO_ALL is the default if sideflag is omitted. </para>
</parameterdescription>
</parameteritem>
<parameteritem>
<parameternamelist>
<parametername direction="in">position</parametername>
</parameternamelist>
<parameterdescription>
<para>An optional argument indicating the position. This is CENTER by default and is often CORNER, but could also be EAST_FACE or NORTH_FACE. </para>
</parameterdescription>
</parameteritem>
<parameteritem>
<parameternamelist>
<parametername direction="in">halo</parametername>
</parameternamelist>
<parameterdescription>
<para>The size of the halo to update - the full halo by default. </para>
</parameterdescription>
</parameteritem>
<parameteritem>
<parameternamelist>
<parametername direction="in">clock</parametername>
</parameternamelist>
<parameterdescription>
<para>The handle for a cpu time clock that should be started then stopped to time this routine. </para>
</parameterdescription>
</parameteritem>
</parameterlist>
</para>
        </detaileddescription>
        <inbodydescription>
        </inbodydescription>
        <location file="/home/cermak/src/MOM6.devrob/src/framework/MOM_domains.F90" line="909" column="1" bodyfile="/home/cermak/src/MOM6.devrob/src/framework/MOM_domains.F90" bodystart="911" bodyend="950"/>
      </memberdef>
      <memberdef kind="function" id="interfacemom__domains_1_1create__group__pass_1a1cbe954fd42574d8cdccf86dec0d2631" prot="private" static="no" const="no" explicit="no" inline="no" virt="non-virtual">
        <type>subroutine</type>
        <definition>subroutine mom_domains::create_group_pass::create_var_group_pass_3d</definition>
        <argsstring>(group, array, MOM_dom, sideflag, position, halo, clock)</argsstring>
        <name>create_var_group_pass_3d</name>
        <param>
          <type>group</type>
          <defname>group</defname>
        </param>
        <param>
          <type>array</type>
          <defname>array</defname>
        </param>
        <param>
          <type>MOM_dom</type>
          <defname>MOM_dom</defname>
        </param>
        <param>
          <type>sideflag</type>
          <defname>sideflag</defname>
        </param>
        <param>
          <type>position</type>
          <defname>position</defname>
        </param>
        <param>
          <type>halo</type>
          <defname>halo</defname>
        </param>
        <param>
          <type>clock</type>
          <defname>clock</defname>
        </param>
        <briefdescription>
<para>create_var_group_pass_3d sets up a group of three-dimensional array halo updates. </para>
        </briefdescription>
        <detaileddescription>
<para><parameterlist kind="param"><parameteritem>
<parameternamelist>
<parametername direction="inout">group</parametername>
</parameternamelist>
<parameterdescription>
<para>The data type that store information for group update. This data will be used in do_group_pass. </para>
</parameterdescription>
</parameteritem>
<parameteritem>
<parameternamelist>
<parametername direction="inout">array</parametername>
</parameternamelist>
<parameterdescription>
<para>The array which is having its halos points exchanged. </para>
</parameterdescription>
</parameteritem>
<parameteritem>
<parameternamelist>
<parametername direction="inout">mom_dom</parametername>
</parameternamelist>
<parameterdescription>
<para>The MOM_domain_type containing the mpp_domain needed to determine where data should be sent. </para>
</parameterdescription>
</parameteritem>
<parameteritem>
<parameternamelist>
<parametername direction="in">sideflag</parametername>
</parameternamelist>
<parameterdescription>
<para>An optional integer indicating which directions the data should be sent. It is TO_ALL or the sum of any of TO_EAST, TO_WEST, TO_NORTH, and TO_SOUTH. For example, TO_EAST sends the data to the processor to the east, so the halos on the western side are filled. TO_ALL is the default if sideflag is omitted. </para>
</parameterdescription>
</parameteritem>
<parameteritem>
<parameternamelist>
<parametername direction="in">position</parametername>
</parameternamelist>
<parameterdescription>
<para>An optional argument indicating the position. This is CENTER by default and is often CORNER, but could also be EAST_FACE or NORTH_FACE. </para>
</parameterdescription>
</parameteritem>
<parameteritem>
<parameternamelist>
<parametername direction="in">halo</parametername>
</parameternamelist>
<parameterdescription>
<para>The size of the halo to update - the full halo by default. </para>
</parameterdescription>
</parameteritem>
<parameteritem>
<parameternamelist>
<parametername direction="in">clock</parametername>
</parameternamelist>
<parameterdescription>
<para>The handle for a cpu time clock that should be started then stopped to time this routine. </para>
</parameterdescription>
</parameteritem>
</parameterlist>
</para>
        </detaileddescription>
        <inbodydescription>
        </inbodydescription>
        <location file="/home/cermak/src/MOM6.devrob/src/framework/MOM_domains.F90" line="954" column="1" bodyfile="/home/cermak/src/MOM6.devrob/src/framework/MOM_domains.F90" bodystart="956" bodyend="995"/>
      </memberdef>
      <memberdef kind="function" id="interfacemom__domains_1_1create__group__pass_1a3827001c378326b1d27246b7f349ce9d" prot="private" static="no" const="no" explicit="no" inline="no" virt="non-virtual">
        <type>subroutine</type>
        <definition>subroutine mom_domains::create_group_pass::create_vector_group_pass_2d</definition>
        <argsstring>(group, u_cmpt, v_cmpt, MOM_dom, direction, stagger, halo, clock)</argsstring>
        <name>create_vector_group_pass_2d</name>
        <param>
          <type>group</type>
          <defname>group</defname>
        </param>
        <param>
          <type>u_cmpt</type>
          <defname>u_cmpt</defname>
        </param>
        <param>
          <type>v_cmpt</type>
          <defname>v_cmpt</defname>
        </param>
        <param>
          <type>MOM_dom</type>
          <defname>MOM_dom</defname>
        </param>
        <param>
          <type>direction</type>
          <defname>direction</defname>
        </param>
        <param>
          <type>stagger</type>
          <defname>stagger</defname>
        </param>
        <param>
          <type>halo</type>
          <defname>halo</defname>
        </param>
        <param>
          <type>clock</type>
          <defname>clock</defname>
        </param>
        <briefdescription>
<para>create_vector_group_pass_2d sets up a group of two-dimensional vector halo updates. </para>
        </briefdescription>
        <detaileddescription>
<para><parameterlist kind="param"><parameteritem>
<parameternamelist>
<parametername direction="inout">group</parametername>
</parameternamelist>
<parameterdescription>
<para>The data type that store information for group update. This data will be used in do_group_pass. </para>
</parameterdescription>
</parameteritem>
<parameteritem>
<parameternamelist>
<parametername direction="inout">u_cmpt</parametername>
</parameternamelist>
<parameterdescription>
<para>The nominal zonal (u) component of the vector pair which is having its halos points exchanged. </para>
</parameterdescription>
</parameteritem>
<parameteritem>
<parameternamelist>
<parametername direction="inout">v_cmpt</parametername>
</parameternamelist>
<parameterdescription>
<para>The nominal meridional (v) component of the vector pair which is having its halos points exchanged. </para>
</parameterdescription>
</parameteritem>
<parameteritem>
<parameternamelist>
<parametername direction="inout">mom_dom</parametername>
</parameternamelist>
<parameterdescription>
<para>The MOM_domain_type containing the mpp_domain needed to determine where data should be sent </para>
</parameterdescription>
</parameteritem>
<parameteritem>
<parameternamelist>
<parametername direction="in">direction</parametername>
</parameternamelist>
<parameterdescription>
<para>An optional integer indicating which directions the data should be sent. It is TO_ALL or the sum of any of TO_EAST, TO_WEST, TO_NORTH, and TO_SOUTH, possibly plus SCALAR_PAIR if these are paired non-directional scalars discretized at the typical vector component locations. For example, TO_EAST sends the data to the processor to the east, so the halos on the western side are filled. TO_ALL is the default if omitted. </para>
</parameterdescription>
</parameteritem>
<parameteritem>
<parameternamelist>
<parametername direction="in">stagger</parametername>
</parameternamelist>
<parameterdescription>
<para>An optional flag, which may be one of A_GRID, BGRID_NE, or CGRID_NE, indicating where the two components of the vector are discretized. Omitting stagger is the same as setting it to CGRID_NE. </para>
</parameterdescription>
</parameteritem>
<parameteritem>
<parameternamelist>
<parametername direction="in">halo</parametername>
</parameternamelist>
<parameterdescription>
<para>The size of the halo to update - the full halo by default. </para>
</parameterdescription>
</parameteritem>
<parameteritem>
<parameternamelist>
<parametername direction="in">clock</parametername>
</parameternamelist>
<parameterdescription>
<para>The handle for a cpu time clock that should be started then stopped to time this routine. </para>
</parameterdescription>
</parameteritem>
</parameterlist>
</para>
        </detaileddescription>
        <inbodydescription>
        </inbodydescription>
        <location file="/home/cermak/src/MOM6.devrob/src/framework/MOM_domains.F90" line="999" column="1" bodyfile="/home/cermak/src/MOM6.devrob/src/framework/MOM_domains.F90" bodystart="1001" bodyend="1051"/>
      </memberdef>
      <memberdef kind="function" id="interfacemom__domains_1_1create__group__pass_1a2ee9574efb79ec2e941e43e3602016a7" prot="private" static="no" const="no" explicit="no" inline="no" virt="non-virtual">
        <type>subroutine</type>
        <definition>subroutine mom_domains::create_group_pass::create_vector_group_pass_3d</definition>
        <argsstring>(group, u_cmpt, v_cmpt, MOM_dom, direction, stagger, halo, clock)</argsstring>
        <name>create_vector_group_pass_3d</name>
        <param>
          <type>group</type>
          <defname>group</defname>
        </param>
        <param>
          <type>u_cmpt</type>
          <defname>u_cmpt</defname>
        </param>
        <param>
          <type>v_cmpt</type>
          <defname>v_cmpt</defname>
        </param>
        <param>
          <type>MOM_dom</type>
          <defname>MOM_dom</defname>
        </param>
        <param>
          <type>direction</type>
          <defname>direction</defname>
        </param>
        <param>
          <type>stagger</type>
          <defname>stagger</defname>
        </param>
        <param>
          <type>halo</type>
          <defname>halo</defname>
        </param>
        <param>
          <type>clock</type>
          <defname>clock</defname>
        </param>
        <briefdescription>
<para>create_vector_group_pass_3d sets up a group of three-dimensional vector halo updates. </para>
        </briefdescription>
        <detaileddescription>
<para><parameterlist kind="param"><parameteritem>
<parameternamelist>
<parametername direction="inout">group</parametername>
</parameternamelist>
<parameterdescription>
<para>The data type that store information for group update. This data will be used in do_group_pass. </para>
</parameterdescription>
</parameteritem>
<parameteritem>
<parameternamelist>
<parametername direction="inout">u_cmpt</parametername>
</parameternamelist>
<parameterdescription>
<para>The nominal zonal (u) component of the vector pair which is having its halos points exchanged. </para>
</parameterdescription>
</parameteritem>
<parameteritem>
<parameternamelist>
<parametername direction="inout">v_cmpt</parametername>
</parameternamelist>
<parameterdescription>
<para>The nominal meridional (v) component of the vector pair which is having its halos points exchanged. </para>
</parameterdescription>
</parameteritem>
<parameteritem>
<parameternamelist>
<parametername direction="inout">mom_dom</parametername>
</parameternamelist>
<parameterdescription>
<para>The MOM_domain_type containing the mpp_domain needed to determine where data should be sent. </para>
</parameterdescription>
</parameteritem>
<parameteritem>
<parameternamelist>
<parametername direction="in">direction</parametername>
</parameternamelist>
<parameterdescription>
<para>An optional integer indicating which directions the data should be sent. It is TO_ALL or the sum of any of TO_EAST, TO_WEST, TO_NORTH, and TO_SOUTH, possibly plus SCALAR_PAIR if these are paired non-directional scalars discretized at the typical vector component locations. For example, TO_EAST sends the data to the processor to the east, so the halos on the western side are filled. TO_ALL is the default if omitted. </para>
</parameterdescription>
</parameteritem>
<parameteritem>
<parameternamelist>
<parametername direction="in">stagger</parametername>
</parameternamelist>
<parameterdescription>
<para>An optional flag, which may be one of A_GRID, BGRID_NE, or CGRID_NE, indicating where the two components of the vector are discretized. Omitting stagger is the same as setting it to CGRID_NE. </para>
</parameterdescription>
</parameteritem>
<parameteritem>
<parameternamelist>
<parametername direction="in">halo</parametername>
</parameternamelist>
<parameterdescription>
<para>The size of the halo to update - the full halo by default. </para>
</parameterdescription>
</parameteritem>
<parameteritem>
<parameternamelist>
<parametername direction="in">clock</parametername>
</parameternamelist>
<parameterdescription>
<para>The handle for a cpu time clock that should be started then stopped to time this routine. </para>
</parameterdescription>
</parameteritem>
</parameterlist>
</para>
        </detaileddescription>
        <inbodydescription>
        </inbodydescription>
        <location file="/home/cermak/src/MOM6.devrob/src/framework/MOM_domains.F90" line="1055" column="1" bodyfile="/home/cermak/src/MOM6.devrob/src/framework/MOM_domains.F90" bodystart="1057" bodyend="1108"/>
      </memberdef>
      </sectiondef>
    <briefdescription>
<para>Set up a group of halo updates. </para>
    </briefdescription>
    <detaileddescription>
    </detaileddescription>
    <location file="/home/cermak/src/MOM6.devrob/src/framework/MOM_domains.F90" line="84" column="1" bodyfile="/home/cermak/src/MOM6.devrob/src/framework/MOM_domains.F90" bodystart="84" bodyend="88"/>
    <listofallmembers>
      <member refid="interfacemom__domains_1_1create__group__pass_1a7a1754edf64e1df1cd55acab464e8c70" prot="private" virt="non-virtual"><scope>mom_domains::create_group_pass</scope><name>create_var_group_pass_2d</name></member>
      <member refid="interfacemom__domains_1_1create__group__pass_1a1cbe954fd42574d8cdccf86dec0d2631" prot="private" virt="non-virtual"><scope>mom_domains::create_group_pass</scope><name>create_var_group_pass_3d</name></member>
      <member refid="interfacemom__domains_1_1create__group__pass_1a3827001c378326b1d27246b7f349ce9d" prot="private" virt="non-virtual"><scope>mom_domains::create_group_pass</scope><name>create_vector_group_pass_2d</name></member>
      <member refid="interfacemom__domains_1_1create__group__pass_1a2ee9574efb79ec2e941e43e3602016a7" prot="private" virt="non-virtual"><scope>mom_domains::create_group_pass</scope><name>create_vector_group_pass_3d</name></member>
    </listofallmembers>
  </compounddef>
</doxygen>
