<?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.17">
  <compounddef id="namespacemom__variables" kind="namespace" language="Fortran">
    <compoundname>mom_variables</compoundname>
    <innerclass refid="structmom__variables_1_1accel__diag__ptrs" prot="public">mom_variables::accel_diag_ptrs</innerclass>
    <innerclass refid="structmom__variables_1_1bt__cont__type" prot="public">mom_variables::bt_cont_type</innerclass>
    <innerclass refid="structmom__variables_1_1cont__diag__ptrs" prot="public">mom_variables::cont_diag_ptrs</innerclass>
    <innerclass refid="structmom__variables_1_1ocean__internal__state" prot="public">mom_variables::ocean_internal_state</innerclass>
    <innerclass refid="structmom__variables_1_1p2d" prot="public">mom_variables::p2d</innerclass>
    <innerclass refid="structmom__variables_1_1p3d" prot="public">mom_variables::p3d</innerclass>
    <innerclass refid="structmom__variables_1_1surface" prot="public">mom_variables::surface</innerclass>
    <innerclass refid="structmom__variables_1_1thermo__var__ptrs" prot="public">mom_variables::thermo_var_ptrs</innerclass>
    <innerclass refid="structmom__variables_1_1vertvisc__type" prot="public">mom_variables::vertvisc_type</innerclass>
      <sectiondef kind="func">
      <memberdef kind="function" id="namespacemom__variables_1ae582d6c5e152ff9463850159324846b6" prot="public" static="no" const="no" explicit="no" inline="no" virt="non-virtual">
        <type>subroutine, public</type>
        <definition>subroutine, public mom_variables::allocate_surface_state</definition>
        <argsstring>(sfc_state, G, use_temperature, do_integrals, gas_fields_ocn, use_meltpot, use_iceshelves, omit_frazil)</argsstring>
        <name>allocate_surface_state</name>
        <param>
          <type>sfc_state</type>
          <defname>sfc_state</defname>
        </param>
        <param>
          <type>G</type>
          <defname>G</defname>
        </param>
        <param>
          <type>use_temperature</type>
          <defname>use_temperature</defname>
        </param>
        <param>
          <type>do_integrals</type>
          <defname>do_integrals</defname>
        </param>
        <param>
          <type>gas_fields_ocn</type>
          <defname>gas_fields_ocn</defname>
        </param>
        <param>
          <type>use_meltpot</type>
          <defname>use_meltpot</defname>
        </param>
        <param>
          <type>use_iceshelves</type>
          <defname>use_iceshelves</defname>
        </param>
        <param>
          <type>omit_frazil</type>
          <defname>omit_frazil</defname>
        </param>
        <briefdescription>
<para>Allocates the fields for the surface (return) properties of the ocean model. Unused fields are unallocated. </para>
        </briefdescription>
        <detaileddescription>
<para><parameterlist kind="param"><parameteritem>
<parameternamelist>
<parametername direction="in">g</parametername>
</parameternamelist>
<parameterdescription>
<para>ocean grid structure </para>
</parameterdescription>
</parameteritem>
<parameteritem>
<parameternamelist>
<parametername direction="inout">sfc_state</parametername>
</parameternamelist>
<parameterdescription>
<para>ocean surface state type to be allocated. </para>
</parameterdescription>
</parameteritem>
<parameteritem>
<parameternamelist>
<parametername direction="in">use_temperature</parametername>
</parameternamelist>
<parameterdescription>
<para>If true, allocate the space for thermodynamic variables. </para>
</parameterdescription>
</parameteritem>
<parameteritem>
<parameternamelist>
<parametername direction="in">do_integrals</parametername>
</parameternamelist>
<parameterdescription>
<para>If true, allocate the space for vertically integrated fields. </para>
</parameterdescription>
</parameteritem>
<parameteritem>
<parameternamelist>
<parametername direction="in">gas_fields_ocn</parametername>
</parameternamelist>
<parameterdescription>
<para>If present, this type describes the ocean </para>
</parameterdescription>
</parameteritem>
<parameteritem>
<parameternamelist>
<parametername direction="in">use_meltpot</parametername>
</parameternamelist>
<parameterdescription>
<para>If true, allocate the space for melt potential </para>
</parameterdescription>
</parameteritem>
<parameteritem>
<parameternamelist>
<parametername direction="in">use_iceshelves</parametername>
</parameternamelist>
<parameterdescription>
<para>If true, allocate the space for the stresses under ice shelves. </para>
</parameterdescription>
</parameteritem>
<parameteritem>
<parameternamelist>
<parametername direction="in">omit_frazil</parametername>
</parameternamelist>
<parameterdescription>
<para>If present and false, do not allocate the space to pass frazil fluxes to the coupler </para>
</parameterdescription>
</parameteritem>
</parameterlist>
</para>
        </detaileddescription>
        <inbodydescription>
        </inbodydescription>
        <location file="/home/cermak/src/MOM6.devrob/src/core/MOM_variables.F90" line="298" column="1" bodyfile="/home/cermak/src/MOM6.devrob/src/core/MOM_variables.F90" bodystart="300" bodyend="374"/>
        <referencedby refid="namespacemom__variables_1a880f21fbfee383e8ee7c5ec114036f2f" compoundref="MOM__variables_8F90" startline="404" endline="472">rotate_surface_state</referencedby>
      </memberdef>
      <memberdef kind="function" id="namespacemom__variables_1a7e4d7328df7ff02b8e55f9932d1afa7f" prot="public" static="no" const="no" explicit="no" inline="no" virt="non-virtual">
        <type>subroutine, public</type>
        <definition>subroutine, public mom_variables::deallocate_surface_state</definition>
        <argsstring>(sfc_state)</argsstring>
        <name>deallocate_surface_state</name>
        <param>
          <type>sfc_state</type>
          <defname>sfc_state</defname>
        </param>
        <briefdescription>
<para>Deallocates the elements of a surface state type. </para>
        </briefdescription>
        <detaileddescription>
<para><parameterlist kind="param"><parameteritem>
<parameternamelist>
<parametername direction="inout">sfc_state</parametername>
</parameternamelist>
<parameterdescription>
<para>ocean surface state type to be deallocated here. </para>
</parameterdescription>
</parameteritem>
</parameterlist>
</para>
        </detaileddescription>
        <inbodydescription>
        </inbodydescription>
        <location file="/home/cermak/src/MOM6.devrob/src/core/MOM_variables.F90" line="378" column="1" bodyfile="/home/cermak/src/MOM6.devrob/src/core/MOM_variables.F90" bodystart="379" bodyend="399"/>
      </memberdef>
      <memberdef kind="function" id="namespacemom__variables_1a880f21fbfee383e8ee7c5ec114036f2f" prot="public" static="no" const="no" explicit="no" inline="no" virt="non-virtual">
        <type>subroutine, public</type>
        <definition>subroutine, public mom_variables::rotate_surface_state</definition>
        <argsstring>(sfc_state_in, G_in, sfc_state, G, turns)</argsstring>
        <name>rotate_surface_state</name>
        <param>
          <type>sfc_state_in</type>
          <defname>sfc_state_in</defname>
        </param>
        <param>
          <type>G_in</type>
          <defname>G_in</defname>
        </param>
        <param>
          <type>sfc_state</type>
          <defname>sfc_state</defname>
        </param>
        <param>
          <type>G</type>
          <defname>G</defname>
        </param>
        <param>
          <type>turns</type>
          <defname>turns</defname>
        </param>
        <briefdescription>
<para>Rotate the surface state fields from the input to the model indices. </para>
        </briefdescription>
        <detaileddescription>
        </detaileddescription>
        <inbodydescription>
        </inbodydescription>
        <location file="/home/cermak/src/MOM6.devrob/src/core/MOM_variables.F90" line="403" column="1" bodyfile="/home/cermak/src/MOM6.devrob/src/core/MOM_variables.F90" bodystart="404" bodyend="472"/>
        <references refid="namespacemom__variables_1ae582d6c5e152ff9463850159324846b6" compoundref="MOM__variables_8F90" startline="300" endline="374">allocate_surface_state</references>
        <references refid="namespacemom__error__handler_1a460cfb79a06c29fc249952c2a3710d67" compoundref="MOM__error__handler_8F90" startline="72" endline="92">mom_error_handler::mom_error</references>
        <referencedby refid="namespacemom_1a699d6c5bfb5b9dcdaa03c18806fa824e" compoundref="MOM_8F90" startline="3008" endline="3408">mom::extract_surface_state</referencedby>
        <referencedby refid="namespacemom_1adf54a4e3a72611aa2088f46076e56e53" compoundref="MOM_8F90" startline="422" endline="940">mom::step_mom</referencedby>
      </memberdef>
      <memberdef kind="function" id="namespacemom__variables_1a26d7f4002ba856a1929f5a3962eb0e99" prot="public" static="no" const="no" explicit="no" inline="no" virt="non-virtual">
        <type>subroutine, public</type>
        <definition>subroutine, public mom_variables::alloc_bt_cont_type</definition>
        <argsstring>(BT_cont, G, alloc_faces)</argsstring>
        <name>alloc_bt_cont_type</name>
        <param>
          <type>BT_cont</type>
          <defname>BT_cont</defname>
        </param>
        <param>
          <type>G</type>
          <defname>G</defname>
        </param>
        <param>
          <type>alloc_faces</type>
          <defname>alloc_faces</defname>
        </param>
        <briefdescription>
<para>Allocates the arrays contained within a BT_cont_type and initializes them to 0. </para>
        </briefdescription>
        <detaileddescription>
<para><parameterlist kind="param"><parameteritem>
<parameternamelist>
<parametername>bt_cont</parametername>
</parameternamelist>
<parameterdescription>
<para>The BT_cont_type whose elements will be allocated </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">alloc_faces</parametername>
</parameternamelist>
<parameterdescription>
<para>If present and true, allocate memory for effective face thicknesses. </para>
</parameterdescription>
</parameteritem>
</parameterlist>
</para>
        </detaileddescription>
        <inbodydescription>
        </inbodydescription>
        <location file="/home/cermak/src/MOM6.devrob/src/core/MOM_variables.F90" line="476" column="1" bodyfile="/home/cermak/src/MOM6.devrob/src/core/MOM_variables.F90" bodystart="477" bodyend="508"/>
        <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__variables_1a3ca9ae6d8b8322afe3a53b66afae4c1b" prot="public" static="no" const="no" explicit="no" inline="no" virt="non-virtual">
        <type>subroutine, public</type>
        <definition>subroutine, public mom_variables::dealloc_bt_cont_type</definition>
        <argsstring>(BT_cont)</argsstring>
        <name>dealloc_bt_cont_type</name>
        <param>
          <type>BT_cont</type>
          <defname>BT_cont</defname>
        </param>
        <briefdescription>
<para>Deallocates the arrays contained within a BT_cont_type. </para>
        </briefdescription>
        <detaileddescription>
<para><parameterlist kind="param"><parameteritem>
<parameternamelist>
<parametername>bt_cont</parametername>
</parameternamelist>
<parameterdescription>
<para>The BT_cont_type whose elements will be deallocated. </para>
</parameterdescription>
</parameteritem>
</parameterlist>
</para>
        </detaileddescription>
        <inbodydescription>
        </inbodydescription>
        <location file="/home/cermak/src/MOM6.devrob/src/core/MOM_variables.F90" line="512" column="1" bodyfile="/home/cermak/src/MOM6.devrob/src/core/MOM_variables.F90" bodystart="513" bodyend="529"/>
      </memberdef>
      <memberdef kind="function" id="namespacemom__variables_1a3a49e8f236529824956f8c5c3e147893" prot="public" static="no" const="no" explicit="no" inline="no" virt="non-virtual">
        <type>subroutine, public</type>
        <definition>subroutine, public mom_variables::mom_thermovar_chksum</definition>
        <argsstring>(mesg, tv, G)</argsstring>
        <name>mom_thermovar_chksum</name>
        <param>
          <type>mesg</type>
          <defname>mesg</defname>
        </param>
        <param>
          <type>tv</type>
          <defname>tv</defname>
        </param>
        <param>
          <type>G</type>
          <defname>G</defname>
        </param>
        <briefdescription>
<para>Diagnostic checksums on various elements of a <ref refid="structmom__variables_1_1thermo__var__ptrs" kindref="compound">thermo_var_ptrs</ref> type for debugging. </para>
        </briefdescription>
        <detaileddescription>
<para><parameterlist kind="param"><parameteritem>
<parameternamelist>
<parametername direction="in">mesg</parametername>
</parameternamelist>
<parameterdescription>
<para>A message that appears in the checksum lines </para>
</parameterdescription>
</parameteritem>
<parameteritem>
<parameternamelist>
<parametername direction="in">tv</parametername>
</parameternamelist>
<parameterdescription>
<para>A structure pointing to various thermodynamic variables </para>
</parameterdescription>
</parameteritem>
<parameteritem>
<parameternamelist>
<parametername direction="in">g</parametername>
</parameternamelist>
<parameterdescription>
<para>The ocean&apos;s grid structure </para>
</parameterdescription>
</parameteritem>
</parameterlist>
</para>
        </detaileddescription>
        <inbodydescription>
        </inbodydescription>
        <location file="/home/cermak/src/MOM6.devrob/src/core/MOM_variables.F90" line="533" column="1" bodyfile="/home/cermak/src/MOM6.devrob/src/core/MOM_variables.F90" bodystart="534" bodyend="550"/>
        <referencedby refid="namespacemom__diabatic__driver_1ae57c48925de75712384e859a851c8c40" compoundref="MOM__diabatic__driver_8F90" startline="1173" endline="1848">mom_diabatic_driver::diabatic_ale</referencedby>
        <referencedby refid="namespacemom__diabatic__driver_1acf7394d08f436dd9575b568d1f18e18a" compoundref="MOM__diabatic__driver_8F90" startline="453" endline="1165">mom_diabatic_driver::diabatic_ale_legacy</referencedby>
        <referencedby refid="namespacemom__diabatic__driver_1a71d8d849db16be4b87c2650b49f01c82" compoundref="MOM__diabatic__driver_8F90" startline="1855" endline="2812">mom_diabatic_driver::layered_diabatic</referencedby>
      </memberdef>
      </sectiondef>
    <briefdescription>
<para>Provides transparent structures with groups of MOM6 variables and supporting routines. </para>
    </briefdescription>
    <detaileddescription>
    </detaileddescription>
    <location file="/home/cermak/src/MOM6.devrob/src/core/MOM_variables.F90" line="2" column="1"/>
  </compounddef>
</doxygen>
