<?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.16">
  <compounddef id="namespacemom__spatial__means" kind="namespace" language="Fortran">
    <compoundname>mom_spatial_means</compoundname>
      <sectiondef kind="func">
      <memberdef kind="function" id="namespacemom__spatial__means_1a87cad4a44f65c4849de870d15cc3f2a6" prot="public" static="no" const="no" explicit="no" inline="no" virt="non-virtual">
        <type>real function, public</type>
        <definition>real function, public mom_spatial_means::global_area_mean</definition>
        <argsstring>(var, G, scale)</argsstring>
        <name>global_area_mean</name>
        <param>
          <type>var</type>
          <defname>var</defname>
        </param>
        <param>
          <type>G</type>
          <defname>G</defname>
        </param>
        <param>
          <type>scale</type>
          <defname>scale</defname>
        </param>
        <briefdescription>
<para>Return the global area mean of a variable. This uses reproducing sums. </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">var</parametername>
</parameternamelist>
<parameterdescription>
<para>The variable to average </para>
</parameterdescription>
</parameteritem>
<parameteritem>
<parameternamelist>
<parametername direction="in">scale</parametername>
</parameternamelist>
<parameterdescription>
<para>A rescaling factor for the variable </para>
</parameterdescription>
</parameteritem>
</parameterlist>
</para>
        </detaileddescription>
        <inbodydescription>
        </inbodydescription>
        <location file="/home/cermak/src/MOM6.devrob/src/framework/MOM_spatial_means.F90" line="28" column="1" bodyfile="/home/cermak/src/MOM6.devrob/src/framework/MOM_spatial_means.F90" bodystart="29" bodyend="47"/>
        <referencedby refid="namespacemom__forcing__type_1a18fc44b1946351373f626fcc5aabc340" compoundref="MOM__forcing__type_8F90" startline="2274" endline="2860">mom_forcing_type::forcing_diagnostics</referencedby>
        <referencedby refid="namespacemom__generic__tracer_1aa0ea1e7080c580a5598b5bede9ebd017" compoundref="MOM__generic__tracer_8F90" startline="399" endline="562">mom_generic_tracer::mom_generic_tracer_column_physics</referencedby>
        <referencedby refid="namespacemom__generic__tracer_1a4ba8950c78d0aef988f00cbf74a691d5" compoundref="MOM__generic__tracer_8F90" startline="720" endline="758">mom_generic_tracer::mom_generic_tracer_surface_state</referencedby>
        <referencedby refid="namespacemom__internal__tides_1a9e8e7b153aef9049c2217658821e3178" compoundref="MOM__internal__tides_8F90" startline="594" endline="630">mom_internal_tides::sum_en</referencedby>
      </memberdef>
      <memberdef kind="function" id="namespacemom__spatial__means_1a25f8ecef035d51fed0f4e97dbf448b63" prot="public" static="no" const="no" explicit="no" inline="no" virt="non-virtual">
        <type>real function, public</type>
        <definition>real function, public mom_spatial_means::global_area_integral</definition>
        <argsstring>(var, G, scale, area)</argsstring>
        <name>global_area_integral</name>
        <param>
          <type>var</type>
          <defname>var</defname>
        </param>
        <param>
          <type>G</type>
          <defname>G</defname>
        </param>
        <param>
          <type>scale</type>
          <defname>scale</defname>
        </param>
        <param>
          <type>area</type>
          <defname>area</defname>
        </param>
        <briefdescription>
<para>Return the global area integral of a variable, by default using the masked area from the grid, but an alternate could be used instead. This uses reproducing sums. </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">var</parametername>
</parameternamelist>
<parameterdescription>
<para>The variable to integrate </para>
</parameterdescription>
</parameteritem>
<parameteritem>
<parameternamelist>
<parametername direction="in">scale</parametername>
</parameternamelist>
<parameterdescription>
<para>A rescaling factor for the variable </para>
</parameterdescription>
</parameteritem>
<parameteritem>
<parameternamelist>
<parametername direction="in">area</parametername>
</parameternamelist>
<parameterdescription>
<para>The alternate area to use, including any required masking [L2 ~&gt; m2]. </para>
</parameterdescription>
</parameteritem>
</parameterlist>
<simplesect kind="return"><para>The returned area integral, usually in the units of var times [m2]. </para>
</simplesect>
</para>
        </detaileddescription>
        <inbodydescription>
        </inbodydescription>
        <location file="/home/cermak/src/MOM6.devrob/src/framework/MOM_spatial_means.F90" line="52" column="1" bodyfile="/home/cermak/src/MOM6.devrob/src/framework/MOM_spatial_means.F90" bodystart="53" bodyend="79"/>
        <referencedby refid="namespacemom__ice__shelf_1a8f7eae8642835e30aff99f77f3836945" compoundref="MOM__ice__shelf_8F90" startline="885" endline="1078">mom_ice_shelf::add_shelf_flux</referencedby>
        <referencedby refid="namespacemom__forcing__type_1a18fc44b1946351373f626fcc5aabc340" compoundref="MOM__forcing__type_8F90" startline="2274" endline="2860">mom_forcing_type::forcing_diagnostics</referencedby>
        <referencedby refid="namespacemom__diagnostics_1a6fc7dbf8144ba279cc9b7856780ba5d6" compoundref="MOM__diagnostics_8F90" startline="1265" endline="1400">mom_diagnostics::post_surface_thermo_diags</referencedby>
      </memberdef>
      <memberdef kind="function" id="namespacemom__spatial__means_1a91bb6f6bd366e02268c5bae2d2c2d79c" prot="public" static="no" const="no" explicit="no" inline="no" virt="non-virtual">
        <type>real function, dimension(gv %ke), public</type>
        <definition>real function, dimension( gv %ke), public mom_spatial_means::global_layer_mean</definition>
        <argsstring>(var, h, G, GV, scale)</argsstring>
        <name>global_layer_mean</name>
        <param>
          <type>var</type>
          <defname>var</defname>
        </param>
        <param>
          <type>h</type>
          <defname>h</defname>
        </param>
        <param>
          <type>G</type>
          <defname>G</defname>
        </param>
        <param>
          <type>GV</type>
          <defname>GV</defname>
        </param>
        <param>
          <type>scale</type>
          <defname>scale</defname>
        </param>
        <briefdescription>
<para>Return the layerwise global thickness-weighted mean of a variable. This uses reproducing sums. </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">var</parametername>
</parameternamelist>
<parameterdescription>
<para>The variable to average </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">scale</parametername>
</parameternamelist>
<parameterdescription>
<para>A rescaling factor for the variable </para>
</parameterdescription>
</parameteritem>
</parameterlist>
</para>
        </detaileddescription>
        <inbodydescription>
        </inbodydescription>
        <location file="/home/cermak/src/MOM6.devrob/src/framework/MOM_spatial_means.F90" line="83" column="1" bodyfile="/home/cermak/src/MOM6.devrob/src/framework/MOM_spatial_means.F90" bodystart="84" bodyend="113"/>
      </memberdef>
      <memberdef kind="function" id="namespacemom__spatial__means_1a54a974cd43b127c910090103890d0bef" prot="public" static="no" const="no" explicit="no" inline="no" virt="non-virtual">
        <type>real function, public</type>
        <definition>real function, public mom_spatial_means::global_volume_mean</definition>
        <argsstring>(var, h, G, GV, scale)</argsstring>
        <name>global_volume_mean</name>
        <param>
          <type>var</type>
          <defname>var</defname>
        </param>
        <param>
          <type>h</type>
          <defname>h</defname>
        </param>
        <param>
          <type>G</type>
          <defname>G</defname>
        </param>
        <param>
          <type>GV</type>
          <defname>GV</defname>
        </param>
        <param>
          <type>scale</type>
          <defname>scale</defname>
        </param>
        <briefdescription>
<para>Find the global thickness-weighted mean of a variable. This uses reproducing sums. </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">var</parametername>
</parameternamelist>
<parameterdescription>
<para>The variable being averaged </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">scale</parametername>
</parameternamelist>
<parameterdescription>
<para>A rescaling factor for the variable </para>
</parameterdescription>
</parameteritem>
</parameterlist>
<simplesect kind="return"><para>The thickness-weighted average of var </para>
</simplesect>
</para>
        </detaileddescription>
        <inbodydescription>
        </inbodydescription>
        <location file="/home/cermak/src/MOM6.devrob/src/framework/MOM_spatial_means.F90" line="117" column="1" bodyfile="/home/cermak/src/MOM6.devrob/src/framework/MOM_spatial_means.F90" bodystart="118" bodyend="143"/>
        <referencedby refid="namespacemom__diagnostics_1a6bd689b4d9f660020d8e3960879b4799" compoundref="MOM__diagnostics_8F90" startline="197" endline="758">mom_diagnostics::calculate_diagnostic_fields</referencedby>
      </memberdef>
      <memberdef kind="function" id="namespacemom__spatial__means_1a4c637edc1baf0fbac110c0c6b98ee161" prot="public" static="no" const="no" explicit="no" inline="no" virt="non-virtual">
        <type>real function, public</type>
        <definition>real function, public mom_spatial_means::global_mass_integral</definition>
        <argsstring>(h, G, GV, var, on_PE_only, scale)</argsstring>
        <name>global_mass_integral</name>
        <param>
          <type>h</type>
          <defname>h</defname>
        </param>
        <param>
          <type>G</type>
          <defname>G</defname>
        </param>
        <param>
          <type>GV</type>
          <defname>GV</defname>
        </param>
        <param>
          <type>var</type>
          <defname>var</defname>
        </param>
        <param>
          <type>on_PE_only</type>
          <defname>on_PE_only</defname>
        </param>
        <param>
          <type>scale</type>
          <defname>scale</defname>
        </param>
        <briefdescription>
<para>Find the global mass-weighted integral of a variable. This uses reproducing sums. </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">h</parametername>
</parameternamelist>
<parameterdescription>
<para>Layer thicknesses [H ~&gt; m or kg m-2] </para>
</parameterdescription>
</parameteritem>
<parameteritem>
<parameternamelist>
<parametername direction="in">var</parametername>
</parameternamelist>
<parameterdescription>
<para>The variable being integrated </para>
</parameterdescription>
</parameteritem>
<parameteritem>
<parameternamelist>
<parametername direction="in">on_pe_only</parametername>
</parameternamelist>
<parameterdescription>
<para>If present and true, the sum is only done on the local PE, and it is <emphasis>not</emphasis> order invariant. </para>
</parameterdescription>
</parameteritem>
<parameteritem>
<parameternamelist>
<parametername direction="in">scale</parametername>
</parameternamelist>
<parameterdescription>
<para>A rescaling factor for the variable </para>
</parameterdescription>
</parameteritem>
</parameterlist>
<simplesect kind="return"><para>The mass-weighted integral of var (or 1) in kg times the units of var </para>
</simplesect>
</para>
        </detaileddescription>
        <inbodydescription>
        </inbodydescription>
        <location file="/home/cermak/src/MOM6.devrob/src/framework/MOM_spatial_means.F90" line="148" column="1" bodyfile="/home/cermak/src/MOM6.devrob/src/framework/MOM_spatial_means.F90" bodystart="149" bodyend="190"/>
        <referencedby refid="namespacemom_1a462293ed92e99927ef9939747d633080" compoundref="MOM_8F90" startline="3469" endline="3481">mom::get_ocean_stocks</referencedby>
      </memberdef>
      <memberdef kind="function" id="namespacemom__spatial__means_1a257babe85df2c4435f119236b94eafe9" prot="public" static="no" const="no" explicit="no" inline="no" virt="non-virtual">
        <type>subroutine, public</type>
        <definition>subroutine, public mom_spatial_means::global_i_mean</definition>
        <argsstring>(array, i_mean, G, mask, scale, tmp_scale)</argsstring>
        <name>global_i_mean</name>
        <param>
          <type>array</type>
          <defname>array</defname>
        </param>
        <param>
          <type>i_mean</type>
          <defname>i_mean</defname>
        </param>
        <param>
          <type>G</type>
          <defname>G</defname>
        </param>
        <param>
          <type>mask</type>
          <defname>mask</defname>
        </param>
        <param>
          <type>scale</type>
          <defname>scale</defname>
        </param>
        <param>
          <type>tmp_scale</type>
          <defname>tmp_scale</defname>
        </param>
        <briefdescription>
<para>Determine the global mean of a field along rows of constant i, returning it in a 1-d array using the local indexing. This uses reproducing sums. </para>
        </briefdescription>
        <detaileddescription>
<para><parameterlist kind="param"><parameteritem>
<parameternamelist>
<parametername direction="inout">g</parametername>
</parameternamelist>
<parameterdescription>
<para>The ocean&apos;s grid structure </para>
</parameterdescription>
</parameteritem>
<parameteritem>
<parameternamelist>
<parametername direction="in">array</parametername>
</parameternamelist>
<parameterdescription>
<para>The variable being averaged </para>
</parameterdescription>
</parameteritem>
<parameteritem>
<parameternamelist>
<parametername direction="out">i_mean</parametername>
</parameternamelist>
<parameterdescription>
<para>Global mean of array along its i-axis </para>
</parameterdescription>
</parameteritem>
<parameteritem>
<parameternamelist>
<parametername direction="in">mask</parametername>
</parameternamelist>
<parameterdescription>
<para>An array used for weighting the i-mean </para>
</parameterdescription>
</parameteritem>
<parameteritem>
<parameternamelist>
<parametername direction="in">scale</parametername>
</parameternamelist>
<parameterdescription>
<para>A rescaling factor for the output variable </para>
</parameterdescription>
</parameteritem>
<parameteritem>
<parameternamelist>
<parametername direction="in">tmp_scale</parametername>
</parameternamelist>
<parameterdescription>
<para>A rescaling factor for the internal calculations that is removed from the output </para>
</parameterdescription>
</parameteritem>
</parameterlist>
</para>
        </detaileddescription>
        <inbodydescription>
        </inbodydescription>
        <location file="/home/cermak/src/MOM6.devrob/src/framework/MOM_spatial_means.F90" line="196" column="1" bodyfile="/home/cermak/src/MOM6.devrob/src/framework/MOM_spatial_means.F90" bodystart="197" bodyend="277"/>
        <references refid="namespacemom__error__handler_1a460cfb79a06c29fc249952c2a3710d67" compoundref="MOM__error__handler_8F90" startline="72" endline="92">mom_error_handler::mom_error</references>
        <references refid="namespacemom__coms_1addf8caf9a58bed7059b5bb6660d73c4e" compoundref="MOM__coms_8F90" startline="694" endline="695">mom_coms::query_efp_overflow_error</references>
        <references refid="namespacemom__coms_1a9a44466e43db89b2525996feedd11b7a" compoundref="MOM__coms_8F90" startline="700" endline="700">mom_coms::reset_efp_overflow_error</references>
        <referencedby refid="namespacemom__sponge_1a0b8b22a1b577bdcf336c8d22b85b45d7" compoundref="MOM__sponge_8F90" startline="324" endline="588">mom_sponge::apply_sponge</referencedby>
      </memberdef>
      <memberdef kind="function" id="namespacemom__spatial__means_1a3c955830f3b9d150d657cb4c18c4b2d9" prot="public" static="no" const="no" explicit="no" inline="no" virt="non-virtual">
        <type>subroutine, public</type>
        <definition>subroutine, public mom_spatial_means::global_j_mean</definition>
        <argsstring>(array, j_mean, G, mask, scale, tmp_scale)</argsstring>
        <name>global_j_mean</name>
        <param>
          <type>array</type>
          <defname>array</defname>
        </param>
        <param>
          <type>j_mean</type>
          <defname>j_mean</defname>
        </param>
        <param>
          <type>G</type>
          <defname>G</defname>
        </param>
        <param>
          <type>mask</type>
          <defname>mask</defname>
        </param>
        <param>
          <type>scale</type>
          <defname>scale</defname>
        </param>
        <param>
          <type>tmp_scale</type>
          <defname>tmp_scale</defname>
        </param>
        <briefdescription>
<para>Determine the global mean of a field along rows of constant j, returning it in a 1-d array using the local indexing. This uses reproducing sums. </para>
        </briefdescription>
        <detaileddescription>
<para><parameterlist kind="param"><parameteritem>
<parameternamelist>
<parametername direction="inout">g</parametername>
</parameternamelist>
<parameterdescription>
<para>The ocean&apos;s grid structure </para>
</parameterdescription>
</parameteritem>
<parameteritem>
<parameternamelist>
<parametername direction="in">array</parametername>
</parameternamelist>
<parameterdescription>
<para>The variable being averaged </para>
</parameterdescription>
</parameteritem>
<parameteritem>
<parameternamelist>
<parametername direction="out">j_mean</parametername>
</parameternamelist>
<parameterdescription>
<para>Global mean of array along its j-axis </para>
</parameterdescription>
</parameteritem>
<parameteritem>
<parameternamelist>
<parametername direction="in">mask</parametername>
</parameternamelist>
<parameterdescription>
<para>An array used for weighting the j-mean </para>
</parameterdescription>
</parameteritem>
<parameteritem>
<parameternamelist>
<parametername direction="in">scale</parametername>
</parameternamelist>
<parameterdescription>
<para>A rescaling factor for the output variable </para>
</parameterdescription>
</parameteritem>
<parameteritem>
<parameternamelist>
<parametername direction="in">tmp_scale</parametername>
</parameternamelist>
<parameterdescription>
<para>A rescaling factor for the internal calculations that is removed from the output </para>
</parameterdescription>
</parameteritem>
</parameterlist>
</para>
        </detaileddescription>
        <inbodydescription>
        </inbodydescription>
        <location file="/home/cermak/src/MOM6.devrob/src/framework/MOM_spatial_means.F90" line="282" column="1" bodyfile="/home/cermak/src/MOM6.devrob/src/framework/MOM_spatial_means.F90" bodystart="283" bodyend="363"/>
        <references refid="namespacemom__error__handler_1a460cfb79a06c29fc249952c2a3710d67" compoundref="MOM__error__handler_8F90" startline="72" endline="92">mom_error_handler::mom_error</references>
        <references refid="namespacemom__coms_1addf8caf9a58bed7059b5bb6660d73c4e" compoundref="MOM__coms_8F90" startline="694" endline="695">mom_coms::query_efp_overflow_error</references>
        <references refid="namespacemom__coms_1a9a44466e43db89b2525996feedd11b7a" compoundref="MOM__coms_8F90" startline="700" endline="700">mom_coms::reset_efp_overflow_error</references>
      </memberdef>
      <memberdef kind="function" id="namespacemom__spatial__means_1ad9473cfc35e049c8cd062b94a5acfc7a" prot="public" static="no" const="no" explicit="no" inline="no" virt="non-virtual">
        <type>subroutine, public</type>
        <definition>subroutine, public mom_spatial_means::adjust_area_mean_to_zero</definition>
        <argsstring>(array, G, scaling, unit_scale)</argsstring>
        <name>adjust_area_mean_to_zero</name>
        <param>
          <type>array</type>
          <defname>array</defname>
        </param>
        <param>
          <type>G</type>
          <defname>G</defname>
        </param>
        <param>
          <type>scaling</type>
          <defname>scaling</defname>
        </param>
        <param>
          <type>unit_scale</type>
          <defname>unit_scale</defname>
        </param>
        <briefdescription>
<para>Adjust 2d array such that area mean is zero without moving the zero contour. </para>
        </briefdescription>
        <detaileddescription>
<para><parameterlist kind="param"><parameteritem>
<parameternamelist>
<parametername direction="in">g</parametername>
</parameternamelist>
<parameterdescription>
<para>Grid structure </para>
</parameterdescription>
</parameteritem>
<parameteritem>
<parameternamelist>
<parametername direction="inout">array</parametername>
</parameternamelist>
<parameterdescription>
<para>2D array to be adjusted </para>
</parameterdescription>
</parameteritem>
<parameteritem>
<parameternamelist>
<parametername direction="out">scaling</parametername>
</parameternamelist>
<parameterdescription>
<para>The scaling factor used </para>
</parameterdescription>
</parameteritem>
<parameteritem>
<parameternamelist>
<parametername direction="in">unit_scale</parametername>
</parameternamelist>
<parameterdescription>
<para>A rescaling factor for the variable </para>
</parameterdescription>
</parameteritem>
</parameterlist>
</para>
        </detaileddescription>
        <inbodydescription>
        </inbodydescription>
        <location file="/home/cermak/src/MOM6.devrob/src/framework/MOM_spatial_means.F90" line="367" column="1" bodyfile="/home/cermak/src/MOM6.devrob/src/framework/MOM_spatial_means.F90" bodystart="368" bodyend="415"/>
        <referencedby refid="namespacemom__surface__forcing__gfdl_1a2fe7a51ec437d6d93c6f1108b7bb9fea" compoundref="MOM__surface__forcing__gfdl_8F90" startline="209" endline="644">mom_surface_forcing_gfdl::convert_iob_to_fluxes</referencedby>
      </memberdef>
      </sectiondef>
    <briefdescription>
<para>Functions and routines to take area, volume, mass-weighted, layerwise, zonal or meridional means. </para>
    </briefdescription>
    <detaileddescription>
    </detaileddescription>
    <location file="/home/cermak/src/MOM6.devrob/src/framework/MOM_spatial_means.F90" line="2" column="1"/>
  </compounddef>
</doxygen>
