<?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.15">
  <compounddef id="interfacemom__array__transform_1_1rotate__vector" kind="interface" language="Fortran" prot="private">
    <compoundname>mom_array_transform::rotate_vector</compoundname>
      <sectiondef kind="private-func">
      <memberdef kind="function" id="interfacemom__array__transform_1_1rotate__vector_1a66b9b3f66a821857b24c80d15a5a8139" prot="private" static="no" const="no" explicit="no" inline="no" virt="non-virtual">
        <type>subroutine</type>
        <definition>subroutine mom_array_transform::rotate_vector::rotate_vector_real_2d</definition>
        <argsstring>(A_in, B_in, turns, A, B)</argsstring>
        <name>rotate_vector_real_2d</name>
        <param>
          <type>A_in</type>
          <defname>A_in</defname>
        </param>
        <param>
          <type>B_in</type>
          <defname>B_in</defname>
        </param>
        <param>
          <type>turns</type>
          <defname>turns</defname>
        </param>
        <param>
          <type>A</type>
          <defname>A</defname>
        </param>
        <param>
          <type>B</type>
          <defname>B</defname>
        </param>
        <briefdescription>
<para>Rotate the elements of a 2d real vector along first and second axes. </para>
        </briefdescription>
        <detaileddescription>
<para><parameterlist kind="param"><parameteritem>
<parameternamelist>
<parametername direction="in">a_in</parametername>
</parameternamelist>
<parameterdescription>
<para>First component of unrotated vector </para>
</parameterdescription>
</parameteritem>
<parameteritem>
<parameternamelist>
<parametername direction="in">b_in</parametername>
</parameternamelist>
<parameterdescription>
<para>Second component of unrotated vector </para>
</parameterdescription>
</parameteritem>
<parameteritem>
<parameternamelist>
<parametername direction="in">turns</parametername>
</parameternamelist>
<parameterdescription>
<para>Number of quarter turns </para>
</parameterdescription>
</parameteritem>
<parameteritem>
<parameternamelist>
<parametername direction="out">a</parametername>
</parameternamelist>
<parameterdescription>
<para>First component of rotated vector </para>
</parameterdescription>
</parameteritem>
<parameteritem>
<parameternamelist>
<parametername direction="out">b</parametername>
</parameternamelist>
<parameterdescription>
<para>Second component of unrotated vector </para>
</parameterdescription>
</parameteritem>
</parameterlist>
</para>
        </detaileddescription>
        <inbodydescription>
        </inbodydescription>
        <location file="/home/cermak/src/MOM6.devrob/src/framework/MOM_array_transform.F90" line="230" column="1" bodyfile="/home/cermak/src/MOM6.devrob/src/framework/MOM_array_transform.F90" bodystart="231" bodyend="243"/>
      </memberdef>
      <memberdef kind="function" id="interfacemom__array__transform_1_1rotate__vector_1a0a22e9772c447f566c205f55507ec88c" prot="private" static="no" const="no" explicit="no" inline="no" virt="non-virtual">
        <type>subroutine</type>
        <definition>subroutine mom_array_transform::rotate_vector::rotate_vector_real_3d</definition>
        <argsstring>(A_in, B_in, turns, A, B)</argsstring>
        <name>rotate_vector_real_3d</name>
        <param>
          <type>A_in</type>
          <defname>A_in</defname>
        </param>
        <param>
          <type>B_in</type>
          <defname>B_in</defname>
        </param>
        <param>
          <type>turns</type>
          <defname>turns</defname>
        </param>
        <param>
          <type>A</type>
          <defname>A</defname>
        </param>
        <param>
          <type>B</type>
          <defname>B</defname>
        </param>
        <briefdescription>
<para>Rotate the elements of a 3d real vector along first and second axes. </para>
        </briefdescription>
        <detaileddescription>
<para><parameterlist kind="param"><parameteritem>
<parameternamelist>
<parametername direction="in">a_in</parametername>
</parameternamelist>
<parameterdescription>
<para>First component of unrotated vector </para>
</parameterdescription>
</parameteritem>
<parameteritem>
<parameternamelist>
<parametername direction="in">b_in</parametername>
</parameternamelist>
<parameterdescription>
<para>Second component of unrotated vector </para>
</parameterdescription>
</parameteritem>
<parameteritem>
<parameternamelist>
<parametername direction="in">turns</parametername>
</parameternamelist>
<parameterdescription>
<para>Number of quarter turns </para>
</parameterdescription>
</parameteritem>
<parameteritem>
<parameternamelist>
<parametername direction="out">a</parametername>
</parameternamelist>
<parameterdescription>
<para>First component of rotated vector </para>
</parameterdescription>
</parameteritem>
<parameteritem>
<parameternamelist>
<parametername direction="out">b</parametername>
</parameternamelist>
<parameterdescription>
<para>Second component of unrotated vector </para>
</parameterdescription>
</parameteritem>
</parameterlist>
</para>
        </detaileddescription>
        <inbodydescription>
        </inbodydescription>
        <location file="/home/cermak/src/MOM6.devrob/src/framework/MOM_array_transform.F90" line="248" column="1" bodyfile="/home/cermak/src/MOM6.devrob/src/framework/MOM_array_transform.F90" bodystart="249" bodyend="259"/>
      </memberdef>
      <memberdef kind="function" id="interfacemom__array__transform_1_1rotate__vector_1aba4772e4bd244862ebf9ff6e62670580" prot="private" static="no" const="no" explicit="no" inline="no" virt="non-virtual">
        <type>subroutine</type>
        <definition>subroutine mom_array_transform::rotate_vector::rotate_vector_real_4d</definition>
        <argsstring>(A_in, B_in, turns, A, B)</argsstring>
        <name>rotate_vector_real_4d</name>
        <param>
          <type>A_in</type>
          <defname>A_in</defname>
        </param>
        <param>
          <type>B_in</type>
          <defname>B_in</defname>
        </param>
        <param>
          <type>turns</type>
          <defname>turns</defname>
        </param>
        <param>
          <type>A</type>
          <defname>A</defname>
        </param>
        <param>
          <type>B</type>
          <defname>B</defname>
        </param>
        <briefdescription>
<para>Rotate the elements of a 4d real vector along first and second axes. </para>
        </briefdescription>
        <detaileddescription>
<para><parameterlist kind="param"><parameteritem>
<parameternamelist>
<parametername direction="in">a_in</parametername>
</parameternamelist>
<parameterdescription>
<para>First component of unrotated vector </para>
</parameterdescription>
</parameteritem>
<parameteritem>
<parameternamelist>
<parametername direction="in">b_in</parametername>
</parameternamelist>
<parameterdescription>
<para>Second component of unrotated vector </para>
</parameterdescription>
</parameteritem>
<parameteritem>
<parameternamelist>
<parametername direction="in">turns</parametername>
</parameternamelist>
<parameterdescription>
<para>Number of quarter turns </para>
</parameterdescription>
</parameteritem>
<parameteritem>
<parameternamelist>
<parametername direction="out">a</parametername>
</parameternamelist>
<parameterdescription>
<para>First component of rotated vector </para>
</parameterdescription>
</parameteritem>
<parameteritem>
<parameternamelist>
<parametername direction="out">b</parametername>
</parameternamelist>
<parameterdescription>
<para>Second component of unrotated vector </para>
</parameterdescription>
</parameteritem>
</parameterlist>
</para>
        </detaileddescription>
        <inbodydescription>
        </inbodydescription>
        <location file="/home/cermak/src/MOM6.devrob/src/framework/MOM_array_transform.F90" line="264" column="1" bodyfile="/home/cermak/src/MOM6.devrob/src/framework/MOM_array_transform.F90" bodystart="265" bodyend="276"/>
      </memberdef>
      </sectiondef>
    <briefdescription>
<para>Rotate an array pair representing the components of a vector. Rotation is applied across the first and second axes of the array. This rotation should be applied when the fields satisfy vector transformation rules. For example, the u and v components of a velocity will map from one to the other for quarter turns, with a sign change in one component. A half turn will map elements onto themselves with sign changes in both components. </para>
    </briefdescription>
    <detaileddescription>
    </detaileddescription>
    <location file="/home/cermak/src/MOM6.devrob/src/framework/MOM_array_transform.F90" line="55" column="1" bodyfile="/home/cermak/src/MOM6.devrob/src/framework/MOM_array_transform.F90" bodystart="55" bodyend="58"/>
    <listofallmembers>
      <member refid="interfacemom__array__transform_1_1rotate__vector_1a66b9b3f66a821857b24c80d15a5a8139" prot="private" virt="non-virtual"><scope>mom_array_transform::rotate_vector</scope><name>rotate_vector_real_2d</name></member>
      <member refid="interfacemom__array__transform_1_1rotate__vector_1a0a22e9772c447f566c205f55507ec88c" prot="private" virt="non-virtual"><scope>mom_array_transform::rotate_vector</scope><name>rotate_vector_real_3d</name></member>
      <member refid="interfacemom__array__transform_1_1rotate__vector_1aba4772e4bd244862ebf9ff6e62670580" prot="private" virt="non-virtual"><scope>mom_array_transform::rotate_vector</scope><name>rotate_vector_real_4d</name></member>
    </listofallmembers>
  </compounddef>
</doxygen>
