<?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__diag__mediator" kind="namespace" language="Fortran">
    <compoundname>mom_diag_mediator</compoundname>
    <innerclass refid="structmom__diag__mediator_1_1axes__grp" prot="public">mom_diag_mediator::axes_grp</innerclass>
    <innerclass refid="structmom__diag__mediator_1_1diag__ctrl" prot="public">mom_diag_mediator::diag_ctrl</innerclass>
    <innerclass refid="structmom__diag__mediator_1_1diag__dsamp" prot="private">mom_diag_mediator::diag_dsamp</innerclass>
    <innerclass refid="structmom__diag__mediator_1_1diag__grid__storage" prot="public">mom_diag_mediator::diag_grid_storage</innerclass>
    <innerclass refid="structmom__diag__mediator_1_1diag__grids__type" prot="private">mom_diag_mediator::diag_grids_type</innerclass>
    <innerclass refid="structmom__diag__mediator_1_1diag__type" prot="private">mom_diag_mediator::diag_type</innerclass>
    <innerclass refid="structmom__diag__mediator_1_1diagcs__dsamp" prot="private">mom_diag_mediator::diagcs_dsamp</innerclass>
    <innerclass refid="interfacemom__diag__mediator_1_1downsample__diag__field" prot="private">mom_diag_mediator::downsample_diag_field</innerclass>
    <innerclass refid="interfacemom__diag__mediator_1_1downsample__field" prot="private">mom_diag_mediator::downsample_field</innerclass>
    <innerclass refid="interfacemom__diag__mediator_1_1downsample__mask" prot="private">mom_diag_mediator::downsample_mask</innerclass>
    <innerclass refid="interfacemom__diag__mediator_1_1post__data" prot="private">mom_diag_mediator::post_data</innerclass>
      <sectiondef kind="user-defined">
      <memberdef kind="variable" id="namespacemom__diag__mediator_1a882fc994662be43d067bb1f59a2662bb" prot="public" static="no" mutable="no">
        <type>integer</type>
        <definition>integer mom_diag_mediator::id_clock_diag_mediator</definition>
        <argsstring></argsstring>
        <name>id_clock_diag_mediator</name>
        <briefdescription>
<para>CPU clocks. </para>
        </briefdescription>
        <detaileddescription>
        </detaileddescription>
        <inbodydescription>
        </inbodydescription>
        <location file="/home/cermak/src/MOM6.devrob/src/framework/MOM_diag_mediator.F90" line="342" column="1" bodyfile="/home/cermak/src/MOM6.devrob/src/framework/MOM_diag_mediator.F90" bodystart="342" bodyend="342"/>
        <referencedby refid="namespacemom__diag__mediator_1a3c99ff49de6d5e43f0d1bba79290eb71" compoundref="MOM__diag__mediator_8F90" startline="3038" endline="3243">diag_mediator_init</referencedby>
        <referencedby refid="namespacemom__diag__mediator_1ab98d892c30de2ee865416e519eacfd79" compoundref="MOM__diag__mediator_8F90" startline="1257" endline="1292">post_data_0d</referencedby>
        <referencedby refid="namespacemom__diag__mediator_1ab5b75b68fa1742ce312c371f4b2c6ac1" compoundref="MOM__diag__mediator_8F90" startline="1297" endline="1346">post_data_1d_k</referencedby>
        <referencedby refid="namespacemom__diag__mediator_1a2b87038d2cfd2f6709ecb9f4481e0e75" compoundref="MOM__diag__mediator_8F90" startline="1351" endline="1372">post_data_2d</referencedby>
        <referencedby refid="namespacemom__diag__mediator_1a70116fa6034dcf977a8bdcb4d81f9207" compoundref="MOM__diag__mediator_8F90" startline="1522" endline="1639">post_data_3d</referencedby>
      </memberdef>
      <memberdef kind="variable" id="namespacemom__diag__mediator_1a8a8e75119f340f174cfef580ded1dd79" prot="private" static="no" mutable="no">
        <type>integer</type>
        <definition>integer mom_diag_mediator::id_clock_diag_remap</definition>
        <argsstring></argsstring>
        <name>id_clock_diag_remap</name>
        <briefdescription>
<para>CPU clocks. </para>
        </briefdescription>
        <detaileddescription>
        </detaileddescription>
        <inbodydescription>
        </inbodydescription>
        <location file="/home/cermak/src/MOM6.devrob/src/framework/MOM_diag_mediator.F90" line="342" column="1" bodyfile="/home/cermak/src/MOM6.devrob/src/framework/MOM_diag_mediator.F90" bodystart="342" bodyend="-1"/>
        <referencedby refid="namespacemom__diag__mediator_1a3c99ff49de6d5e43f0d1bba79290eb71" compoundref="MOM__diag__mediator_8F90" startline="3038" endline="3243">diag_mediator_init</referencedby>
        <referencedby refid="namespacemom__diag__mediator_1a70116fa6034dcf977a8bdcb4d81f9207" compoundref="MOM__diag__mediator_8F90" startline="1522" endline="1639">post_data_3d</referencedby>
      </memberdef>
      <memberdef kind="variable" id="namespacemom__diag__mediator_1affaf7f9c1f9fc0c35f4a41c9b30b04e6" prot="private" static="no" mutable="no">
        <type>integer</type>
        <definition>integer mom_diag_mediator::id_clock_diag_grid_updates</definition>
        <argsstring></argsstring>
        <name>id_clock_diag_grid_updates</name>
        <briefdescription>
<para>CPU clocks. </para>
        </briefdescription>
        <detaileddescription>
        </detaileddescription>
        <inbodydescription>
        </inbodydescription>
        <location file="/home/cermak/src/MOM6.devrob/src/framework/MOM_diag_mediator.F90" line="342" column="1" bodyfile="/home/cermak/src/MOM6.devrob/src/framework/MOM_diag_mediator.F90" bodystart="342" bodyend="-1"/>
        <referencedby refid="namespacemom__diag__mediator_1a3c99ff49de6d5e43f0d1bba79290eb71" compoundref="MOM__diag__mediator_8F90" startline="3038" endline="3243">diag_mediator_init</referencedby>
        <referencedby refid="namespacemom__diag__mediator_1aa78e69709084d0097b3e01bbd83d3509" compoundref="MOM__diag__mediator_8F90" startline="3266" endline="3339">diag_update_remap_grids</referencedby>
      </memberdef>
      </sectiondef>
      <sectiondef kind="var">
      <memberdef kind="variable" id="namespacemom__diag__mediator_1a3247fad19fce000fcb4af1a3cf21a3f2" prot="public" static="no" mutable="no">
        <type>integer</type>
        <definition>integer mom_diag_mediator::psp</definition>
        <argsstring></argsstring>
        <name>psp</name>
        <initializer>=121</initializer>
        <briefdescription>
<para>x:point,y:sum,z:point </para>
        </briefdescription>
        <detaileddescription>
        </detaileddescription>
        <inbodydescription>
        </inbodydescription>
        <location file="/home/cermak/src/MOM6.devrob/src/framework/MOM_diag_mediator.F90" line="157" column="1" bodyfile="/home/cermak/src/MOM6.devrob/src/framework/MOM_diag_mediator.F90" bodystart="157" bodyend="157"/>
        <referencedby refid="namespacemom__diag__mediator_1aa46e12f1318ed96f60035cdd32e4157a" compoundref="MOM__diag__mediator_8F90" startline="4107" endline="4245">downsample_field_2d</referencedby>
      </memberdef>
      <memberdef kind="variable" id="namespacemom__diag__mediator_1a2f079e2e2550b5ec1887179c37e5cce5" prot="private" static="no" mutable="no">
        <type>integer</type>
        <definition>integer mom_diag_mediator::pss</definition>
        <argsstring></argsstring>
        <name>pss</name>
        <initializer>=122</initializer>
        <briefdescription>
<para>x:point,y:sum,z:point </para>
        </briefdescription>
        <detaileddescription>
        </detaileddescription>
        <inbodydescription>
        </inbodydescription>
        <location file="/home/cermak/src/MOM6.devrob/src/framework/MOM_diag_mediator.F90" line="158" column="1" bodyfile="/home/cermak/src/MOM6.devrob/src/framework/MOM_diag_mediator.F90" bodystart="158" bodyend="158"/>
        <referencedby refid="namespacemom__diag__mediator_1a640ec8fac9bad1d0af6f737d7e816403" compoundref="MOM__diag__mediator_8F90" startline="3951" endline="4099">downsample_field_3d</referencedby>
      </memberdef>
      <memberdef kind="variable" id="namespacemom__diag__mediator_1a0614439e5299ca5d575bc820ec697b4a" prot="private" static="no" mutable="no">
        <type>integer</type>
        <definition>integer mom_diag_mediator::psm</definition>
        <argsstring></argsstring>
        <name>psm</name>
        <initializer>=123</initializer>
        <briefdescription>
<para>x:point,y:sum,z:mean </para>
        </briefdescription>
        <detaileddescription>
        </detaileddescription>
        <inbodydescription>
        </inbodydescription>
        <location file="/home/cermak/src/MOM6.devrob/src/framework/MOM_diag_mediator.F90" line="159" column="1" bodyfile="/home/cermak/src/MOM6.devrob/src/framework/MOM_diag_mediator.F90" bodystart="159" bodyend="159"/>
      </memberdef>
      <memberdef kind="variable" id="namespacemom__diag__mediator_1a17abc676880db0f0ce2764d01161e216" prot="private" static="no" mutable="no">
        <type>integer</type>
        <definition>integer mom_diag_mediator::pmp</definition>
        <argsstring></argsstring>
        <name>pmp</name>
        <initializer>=131</initializer>
        <briefdescription>
<para>x:point,y:mean,z:point </para>
        </briefdescription>
        <detaileddescription>
        </detaileddescription>
        <inbodydescription>
        </inbodydescription>
        <location file="/home/cermak/src/MOM6.devrob/src/framework/MOM_diag_mediator.F90" line="160" column="1" bodyfile="/home/cermak/src/MOM6.devrob/src/framework/MOM_diag_mediator.F90" bodystart="160" bodyend="160"/>
        <referencedby refid="namespacemom__diag__mediator_1aa46e12f1318ed96f60035cdd32e4157a" compoundref="MOM__diag__mediator_8F90" startline="4107" endline="4245">downsample_field_2d</referencedby>
      </memberdef>
      <memberdef kind="variable" id="namespacemom__diag__mediator_1a7730b6ffaeb382cbe497cd9772b858fc" prot="private" static="no" mutable="no">
        <type>integer</type>
        <definition>integer mom_diag_mediator::pmm</definition>
        <argsstring></argsstring>
        <name>pmm</name>
        <initializer>=133</initializer>
        <briefdescription>
<para>x:point,y:mean,z:mean </para>
        </briefdescription>
        <detaileddescription>
        </detaileddescription>
        <inbodydescription>
        </inbodydescription>
        <location file="/home/cermak/src/MOM6.devrob/src/framework/MOM_diag_mediator.F90" line="161" column="1" bodyfile="/home/cermak/src/MOM6.devrob/src/framework/MOM_diag_mediator.F90" bodystart="161" bodyend="161"/>
        <referencedby refid="namespacemom__diag__mediator_1a640ec8fac9bad1d0af6f737d7e816403" compoundref="MOM__diag__mediator_8F90" startline="3951" endline="4099">downsample_field_3d</referencedby>
      </memberdef>
      <memberdef kind="variable" id="namespacemom__diag__mediator_1acaa7d531b586a9217d5a8e6f25023c91" prot="private" static="no" mutable="no">
        <type>integer</type>
        <definition>integer mom_diag_mediator::spp</definition>
        <argsstring></argsstring>
        <name>spp</name>
        <initializer>=211</initializer>
        <briefdescription>
<para>x:sum,y:point,z:point </para>
        </briefdescription>
        <detaileddescription>
        </detaileddescription>
        <inbodydescription>
        </inbodydescription>
        <location file="/home/cermak/src/MOM6.devrob/src/framework/MOM_diag_mediator.F90" line="162" column="1" bodyfile="/home/cermak/src/MOM6.devrob/src/framework/MOM_diag_mediator.F90" bodystart="162" bodyend="162"/>
        <referencedby refid="namespacemom__diag__mediator_1aa46e12f1318ed96f60035cdd32e4157a" compoundref="MOM__diag__mediator_8F90" startline="4107" endline="4245">downsample_field_2d</referencedby>
      </memberdef>
      <memberdef kind="variable" id="namespacemom__diag__mediator_1aae1bf1b1fd0d54e8d0cf13c4aca9f689" prot="private" static="no" mutable="no">
        <type>integer</type>
        <definition>integer mom_diag_mediator::sps</definition>
        <argsstring></argsstring>
        <name>sps</name>
        <initializer>=212</initializer>
        <briefdescription>
<para>x:sum,y:point,z:sum </para>
        </briefdescription>
        <detaileddescription>
        </detaileddescription>
        <inbodydescription>
        </inbodydescription>
        <location file="/home/cermak/src/MOM6.devrob/src/framework/MOM_diag_mediator.F90" line="163" column="1" bodyfile="/home/cermak/src/MOM6.devrob/src/framework/MOM_diag_mediator.F90" bodystart="163" bodyend="163"/>
        <referencedby refid="namespacemom__diag__mediator_1a640ec8fac9bad1d0af6f737d7e816403" compoundref="MOM__diag__mediator_8F90" startline="3951" endline="4099">downsample_field_3d</referencedby>
      </memberdef>
      <memberdef kind="variable" id="namespacemom__diag__mediator_1ab60866bce3c6b88951f1cedb5a4c319b" prot="private" static="no" mutable="no">
        <type>integer</type>
        <definition>integer mom_diag_mediator::ssp</definition>
        <argsstring></argsstring>
        <name>ssp</name>
        <initializer>=221</initializer>
        <briefdescription>
<para>x:sum;y:sum,z:point </para>
        </briefdescription>
        <detaileddescription>
        </detaileddescription>
        <inbodydescription>
        </inbodydescription>
        <location file="/home/cermak/src/MOM6.devrob/src/framework/MOM_diag_mediator.F90" line="164" column="1" bodyfile="/home/cermak/src/MOM6.devrob/src/framework/MOM_diag_mediator.F90" bodystart="164" bodyend="164"/>
        <referencedby refid="namespacemom__diag__mediator_1aa46e12f1318ed96f60035cdd32e4157a" compoundref="MOM__diag__mediator_8F90" startline="4107" endline="4245">downsample_field_2d</referencedby>
      </memberdef>
      <memberdef kind="variable" id="namespacemom__diag__mediator_1a374b829068930f39f211bbc74c550d73" prot="private" static="no" mutable="no">
        <type>integer</type>
        <definition>integer mom_diag_mediator::mpp</definition>
        <argsstring></argsstring>
        <name>mpp</name>
        <initializer>=311</initializer>
        <briefdescription>
<para>x:mean,y:point,z:point </para>
        </briefdescription>
        <detaileddescription>
        </detaileddescription>
        <inbodydescription>
        </inbodydescription>
        <location file="/home/cermak/src/MOM6.devrob/src/framework/MOM_diag_mediator.F90" line="165" column="1" bodyfile="/home/cermak/src/MOM6.devrob/src/framework/MOM_diag_mediator.F90" bodystart="165" bodyend="165"/>
        <referencedby refid="namespacemom__diag__mediator_1aa46e12f1318ed96f60035cdd32e4157a" compoundref="MOM__diag__mediator_8F90" startline="4107" endline="4245">downsample_field_2d</referencedby>
      </memberdef>
      <memberdef kind="variable" id="namespacemom__diag__mediator_1af4984649b7e1a295998abb48415fad5c" prot="private" static="no" mutable="no">
        <type>integer</type>
        <definition>integer mom_diag_mediator::mpm</definition>
        <argsstring></argsstring>
        <name>mpm</name>
        <initializer>=313</initializer>
        <briefdescription>
<para>x:mean,y:point,z:mean </para>
        </briefdescription>
        <detaileddescription>
        </detaileddescription>
        <inbodydescription>
        </inbodydescription>
        <location file="/home/cermak/src/MOM6.devrob/src/framework/MOM_diag_mediator.F90" line="166" column="1" bodyfile="/home/cermak/src/MOM6.devrob/src/framework/MOM_diag_mediator.F90" bodystart="166" bodyend="166"/>
        <referencedby refid="namespacemom__diag__mediator_1a640ec8fac9bad1d0af6f737d7e816403" compoundref="MOM__diag__mediator_8F90" startline="3951" endline="4099">downsample_field_3d</referencedby>
      </memberdef>
      <memberdef kind="variable" id="namespacemom__diag__mediator_1aaf71efbbdb0b8287772a119750e5127e" prot="private" static="no" mutable="no">
        <type>integer</type>
        <definition>integer mom_diag_mediator::mmp</definition>
        <argsstring></argsstring>
        <name>mmp</name>
        <initializer>=331</initializer>
        <briefdescription>
<para>x:mean,y:mean,z:point </para>
        </briefdescription>
        <detaileddescription>
        </detaileddescription>
        <inbodydescription>
        </inbodydescription>
        <location file="/home/cermak/src/MOM6.devrob/src/framework/MOM_diag_mediator.F90" line="167" column="1" bodyfile="/home/cermak/src/MOM6.devrob/src/framework/MOM_diag_mediator.F90" bodystart="167" bodyend="167"/>
        <referencedby refid="namespacemom__diag__mediator_1aa46e12f1318ed96f60035cdd32e4157a" compoundref="MOM__diag__mediator_8F90" startline="4107" endline="4245">downsample_field_2d</referencedby>
        <referencedby refid="namespacemom__diag__mediator_1a640ec8fac9bad1d0af6f737d7e816403" compoundref="MOM__diag__mediator_8F90" startline="3951" endline="4099">downsample_field_3d</referencedby>
      </memberdef>
      <memberdef kind="variable" id="namespacemom__diag__mediator_1a2f08495ffe07bb4ee3f5f11e4432f7e6" prot="private" static="no" mutable="no">
        <type>integer</type>
        <definition>integer mom_diag_mediator::mms</definition>
        <argsstring></argsstring>
        <name>mms</name>
        <initializer>=332</initializer>
        <briefdescription>
<para>x:mean,y:mean,z:sum </para>
        </briefdescription>
        <detaileddescription>
        </detaileddescription>
        <inbodydescription>
        </inbodydescription>
        <location file="/home/cermak/src/MOM6.devrob/src/framework/MOM_diag_mediator.F90" line="168" column="1" bodyfile="/home/cermak/src/MOM6.devrob/src/framework/MOM_diag_mediator.F90" bodystart="168" bodyend="168"/>
        <referencedby refid="namespacemom__diag__mediator_1a640ec8fac9bad1d0af6f737d7e816403" compoundref="MOM__diag__mediator_8F90" startline="3951" endline="4099">downsample_field_3d</referencedby>
      </memberdef>
      <memberdef kind="variable" id="namespacemom__diag__mediator_1ac603c1e0276955bd0dff297f71a63629" prot="private" static="no" mutable="no">
        <type>integer</type>
        <definition>integer mom_diag_mediator::sss</definition>
        <argsstring></argsstring>
        <name>sss</name>
        <initializer>=222</initializer>
        <briefdescription>
<para>x:sum,y:sum,z:sum </para>
        </briefdescription>
        <detaileddescription>
        </detaileddescription>
        <inbodydescription>
        </inbodydescription>
        <location file="/home/cermak/src/MOM6.devrob/src/framework/MOM_diag_mediator.F90" line="169" column="1" bodyfile="/home/cermak/src/MOM6.devrob/src/framework/MOM_diag_mediator.F90" bodystart="169" bodyend="169"/>
        <referencedby refid="namespacemom__diag__mediator_1a640ec8fac9bad1d0af6f737d7e816403" compoundref="MOM__diag__mediator_8F90" startline="3951" endline="4099">downsample_field_3d</referencedby>
      </memberdef>
      <memberdef kind="variable" id="namespacemom__diag__mediator_1a54cd7394f3ad400f4a19155e313bcd22" prot="private" static="no" mutable="no">
        <type>integer</type>
        <definition>integer mom_diag_mediator::mmm</definition>
        <argsstring></argsstring>
        <name>mmm</name>
        <initializer>=333</initializer>
        <briefdescription>
<para>x:mean,y:mean,z:mean </para>
        </briefdescription>
        <detaileddescription>
        </detaileddescription>
        <inbodydescription>
        </inbodydescription>
        <location file="/home/cermak/src/MOM6.devrob/src/framework/MOM_diag_mediator.F90" line="170" column="1" bodyfile="/home/cermak/src/MOM6.devrob/src/framework/MOM_diag_mediator.F90" bodystart="170" bodyend="170"/>
        <referencedby refid="namespacemom__diag__mediator_1a640ec8fac9bad1d0af6f737d7e816403" compoundref="MOM__diag__mediator_8F90" startline="3951" endline="4099">downsample_field_3d</referencedby>
      </memberdef>
      <memberdef kind="variable" id="namespacemom__diag__mediator_1aee297aa161d60188320e803751df9ce4" prot="private" static="no" mutable="no">
        <type>integer</type>
        <definition>integer mom_diag_mediator::msk</definition>
        <argsstring></argsstring>
        <name>msk</name>
        <initializer>=-1</initializer>
        <briefdescription>
<para>Use the downsample method of a mask. </para>
        </briefdescription>
        <detaileddescription>
        </detaileddescription>
        <inbodydescription>
        </inbodydescription>
        <location file="/home/cermak/src/MOM6.devrob/src/framework/MOM_diag_mediator.F90" line="171" column="1" bodyfile="/home/cermak/src/MOM6.devrob/src/framework/MOM_diag_mediator.F90" bodystart="171" bodyend="171"/>
        <referencedby refid="namespacemom__diag__mediator_1aa46e12f1318ed96f60035cdd32e4157a" compoundref="MOM__diag__mediator_8F90" startline="4107" endline="4245">downsample_field_2d</referencedby>
        <referencedby refid="namespacemom__diag__mediator_1a640ec8fac9bad1d0af6f737d7e816403" compoundref="MOM__diag__mediator_8F90" startline="3951" endline="4099">downsample_field_3d</referencedby>
        <referencedby refid="namespacemom__diag__mediator_1a633c4a461809f5843ac522616db8f382" compoundref="MOM__diag__mediator_8F90" startline="1378" endline="1517">post_data_2d_low</referencedby>
        <referencedby refid="namespacemom__diag__mediator_1ae11cae949c3f8cf68d2c70f656aa9c54" compoundref="MOM__diag__mediator_8F90" startline="1645" endline="1812">post_data_3d_low</referencedby>
      </memberdef>
      </sectiondef>
      <sectiondef kind="func">
      <memberdef kind="function" id="namespacemom__diag__mediator_1a76c9267c7744e3573f78afbaa0b716a5" prot="public" static="no" const="no" explicit="no" inline="no" virt="non-virtual">
        <type>subroutine, public</type>
        <definition>subroutine, public mom_diag_mediator::set_axes_info</definition>
        <argsstring>(G, GV, US, param_file, diag_cs, set_vertical)</argsstring>
        <name>set_axes_info</name>
        <param>
          <type>G</type>
          <defname>G</defname>
        </param>
        <param>
          <type>GV</type>
          <defname>GV</defname>
        </param>
        <param>
          <type>US</type>
          <defname>US</defname>
        </param>
        <param>
          <type>param_file</type>
          <defname>param_file</defname>
        </param>
        <param>
          <type>diag_cs</type>
          <defname>diag_cs</defname>
        </param>
        <param>
          <type>set_vertical</type>
          <defname>set_vertical</defname>
        </param>
        <briefdescription>
<para>Sets up diagnostics axes. </para>
        </briefdescription>
        <detaileddescription>
<para><parameterlist kind="param"><parameteritem>
<parameternamelist>
<parametername direction="inout">g</parametername>
</parameternamelist>
<parameterdescription>
<para>Ocean grid structure </para>
</parameterdescription>
</parameteritem>
<parameteritem>
<parameternamelist>
<parametername direction="in">gv</parametername>
</parameternamelist>
<parameterdescription>
<para>ocean vertical grid structure </para>
</parameterdescription>
</parameteritem>
<parameteritem>
<parameternamelist>
<parametername direction="in">us</parametername>
</parameternamelist>
<parameterdescription>
<para>A dimensional unit scaling type </para>
</parameterdescription>
</parameteritem>
<parameteritem>
<parameternamelist>
<parametername direction="in">param_file</parametername>
</parameternamelist>
<parameterdescription>
<para>Parameter file structure </para>
</parameterdescription>
</parameteritem>
<parameteritem>
<parameternamelist>
<parametername direction="inout">diag_cs</parametername>
</parameternamelist>
<parameterdescription>
<para>Diagnostics control structure </para>
</parameterdescription>
</parameteritem>
<parameteritem>
<parameternamelist>
<parametername direction="in">set_vertical</parametername>
</parameternamelist>
<parameterdescription>
<para>If true or missing, set up vertical axes </para>
</parameterdescription>
</parameteritem>
</parameterlist>
</para>
        </detaileddescription>
        <inbodydescription>
        </inbodydescription>
        <location file="/home/cermak/src/MOM6.devrob/src/framework/MOM_diag_mediator.F90" line="348" column="1" bodyfile="/home/cermak/src/MOM6.devrob/src/framework/MOM_diag_mediator.F90" bodystart="349" bodyend="587"/>
        <references refid="namespacemom__diag__mediator_1ab9f767ec24a860cb71cae264560272a8" compoundref="MOM__diag__mediator_8F90" startline="1001" endline="1102">define_axes_group</references>
        <references refid="namespacemom__diag__mediator_1a6f596247402f21fa60bfdf1e73c41044" compoundref="MOM__diag__mediator_8F90" startline="3588" endline="3608">diag_grid_storage_init</references>
        <references refid="namespacemom__diag__mediator_1a1abcee77dbc8e8a48f4b48144fc0923c" compoundref="MOM__diag__mediator_8F90" startline="591" endline="757">set_axes_info_dsamp</references>
        <referencedby refid="namespacemom__oda__driver__mod_1aaaf67b8d0e0db3ba3dfe09e24d2b8b24" compoundref="MOM__oda__driver_8F90" startline="115" endline="303">mom_oda_driver_mod::init_oda</referencedby>
      </memberdef>
      <memberdef kind="function" id="namespacemom__diag__mediator_1a1abcee77dbc8e8a48f4b48144fc0923c" prot="private" static="no" const="no" explicit="no" inline="no" virt="non-virtual">
        <type>subroutine</type>
        <definition>subroutine mom_diag_mediator::set_axes_info_dsamp</definition>
        <argsstring>(G, GV, param_file, diag_cs, id_zl_native, id_zi_native)</argsstring>
        <name>set_axes_info_dsamp</name>
        <param>
          <type>G</type>
          <defname>G</defname>
        </param>
        <param>
          <type>GV</type>
          <defname>GV</defname>
        </param>
        <param>
          <type>param_file</type>
          <defname>param_file</defname>
        </param>
        <param>
          <type>diag_cs</type>
          <defname>diag_cs</defname>
        </param>
        <param>
          <type>id_zl_native</type>
          <defname>id_zl_native</defname>
        </param>
        <param>
          <type>id_zi_native</type>
          <defname>id_zi_native</defname>
        </param>
        <briefdescription>
        </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="in">gv</parametername>
</parameternamelist>
<parameterdescription>
<para>ocean vertical grid structure</para>
</parameterdescription>
</parameteritem>
<parameteritem>
<parameternamelist>
<parametername direction="in">param_file</parametername>
</parameternamelist>
<parameterdescription>
<para>Parameter file structure</para>
</parameterdescription>
</parameteritem>
<parameteritem>
<parameternamelist>
<parametername direction="inout">diag_cs</parametername>
</parameternamelist>
<parameterdescription>
<para>Diagnostics control structure</para>
</parameterdescription>
</parameteritem>
<parameteritem>
<parameternamelist>
<parametername direction="in">id_zl_native</parametername>
</parameternamelist>
<parameterdescription>
<para>ID of native layers</para>
</parameterdescription>
</parameteritem>
<parameteritem>
<parameternamelist>
<parametername direction="in">id_zi_native</parametername>
</parameternamelist>
<parameterdescription>
<para>ID of native interfaces </para>
</parameterdescription>
</parameteritem>
</parameterlist>
</para>
        </detaileddescription>
        <inbodydescription>
        </inbodydescription>
        <location file="/home/cermak/src/MOM6.devrob/src/framework/MOM_diag_mediator.F90" line="590" column="1" bodyfile="/home/cermak/src/MOM6.devrob/src/framework/MOM_diag_mediator.F90" bodystart="591" bodyend="757"/>
        <references refid="namespacemom__diag__mediator_1a51129041d5b42f6546c087111465f639" compoundref="MOM__diag__mediator_8F90" startline="1112" endline="1240">define_axes_group_dsamp</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__diag__mediator_1a76c9267c7744e3573f78afbaa0b716a5" compoundref="MOM__diag__mediator_8F90" startline="349" endline="587">set_axes_info</referencedby>
      </memberdef>
      <memberdef kind="function" id="namespacemom__diag__mediator_1a19d8a5e2782eb57ab3d7824028fafd56" prot="public" static="no" const="no" explicit="no" inline="no" virt="non-virtual">
        <type>subroutine, public</type>
        <definition>subroutine, public mom_diag_mediator::set_masks_for_axes</definition>
        <argsstring>(G, diag_cs)</argsstring>
        <name>set_masks_for_axes</name>
        <param>
          <type>G</type>
          <defname>G</defname>
        </param>
        <param>
          <type>diag_cs</type>
          <defname>diag_cs</defname>
        </param>
        <briefdescription>
<para>set_masks_for_axes sets up the 2d and 3d masks for diagnostics using the current grid recorded after calling <ref refid="namespacemom__diag__mediator_1aa78e69709084d0097b3e01bbd83d3509" kindref="member">diag_update_remap_grids()</ref> </para>
        </briefdescription>
        <detaileddescription>
<para><parameterlist kind="param"><parameteritem>
<parameternamelist>
<parametername direction="in">g</parametername>
</parameternamelist>
<parameterdescription>
<para>The ocean grid type. </para>
</parameterdescription>
</parameteritem>
<parameteritem>
<parameternamelist>
<parametername>diag_cs</parametername>
</parameternamelist>
<parameterdescription>
<para>A pointer to a type with many variables used for diagnostics </para>
</parameterdescription>
</parameteritem>
</parameterlist>
</para>
        </detaileddescription>
        <inbodydescription>
        </inbodydescription>
        <location file="/home/cermak/src/MOM6.devrob/src/framework/MOM_diag_mediator.F90" line="763" column="1" bodyfile="/home/cermak/src/MOM6.devrob/src/framework/MOM_diag_mediator.F90" bodystart="764" bodyend="858"/>
        <references refid="namespacemom__error__handler_1a33bcd190d460095104954f2e654f9fe6" compoundref="MOM__error__handler_8F90" startline="182" endline="188">mom_error_handler::assert</references>
        <references refid="namespacemom__diag__mediator_1ade968ef275fa55cf8a2301debdd7e88a" compoundref="MOM__diag__mediator_8F90" startline="862" endline="917">set_masks_for_axes_dsamp</references>
      </memberdef>
      <memberdef kind="function" id="namespacemom__diag__mediator_1ade968ef275fa55cf8a2301debdd7e88a" prot="private" static="no" const="no" explicit="no" inline="no" virt="non-virtual">
        <type>subroutine</type>
        <definition>subroutine mom_diag_mediator::set_masks_for_axes_dsamp</definition>
        <argsstring>(G, diag_cs)</argsstring>
        <name>set_masks_for_axes_dsamp</name>
        <param>
          <type>G</type>
          <defname>G</defname>
        </param>
        <param>
          <type>diag_cs</type>
          <defname>diag_cs</defname>
        </param>
        <briefdescription>
        </briefdescription>
        <detaileddescription>
<para><parameterlist kind="param"><parameteritem>
<parameternamelist>
<parametername direction="in">g</parametername>
</parameternamelist>
<parameterdescription>
<para>The ocean grid type.</para>
</parameterdescription>
</parameteritem>
<parameteritem>
<parameternamelist>
<parametername>diag_cs</parametername>
</parameternamelist>
<parameterdescription>
<para>A pointer to a type with many variables used for diagnostics </para>
</parameterdescription>
</parameteritem>
</parameterlist>
</para>
        </detaileddescription>
        <inbodydescription>
        </inbodydescription>
        <location file="/home/cermak/src/MOM6.devrob/src/framework/MOM_diag_mediator.F90" line="861" column="1" bodyfile="/home/cermak/src/MOM6.devrob/src/framework/MOM_diag_mediator.F90" bodystart="862" bodyend="917"/>
        <references refid="namespacemom__error__handler_1a460cfb79a06c29fc249952c2a3710d67" compoundref="MOM__error__handler_8F90" startline="72" endline="92">mom_error_handler::mom_error</references>
        <referencedby refid="namespacemom__diag__mediator_1a19d8a5e2782eb57ab3d7824028fafd56" compoundref="MOM__diag__mediator_8F90" startline="764" endline="858">set_masks_for_axes</referencedby>
      </memberdef>
      <memberdef kind="function" id="namespacemom__diag__mediator_1a2795a8a8618f945a9a0830f461d3e42d" prot="public" static="no" const="no" explicit="no" inline="no" virt="non-virtual">
        <type>subroutine, public</type>
        <definition>subroutine, public mom_diag_mediator::diag_register_area_ids</definition>
        <argsstring>(diag_cs, id_area_t, id_area_q)</argsstring>
        <name>diag_register_area_ids</name>
        <param>
          <type>diag_cs</type>
          <defname>diag_cs</defname>
        </param>
        <param>
          <type>id_area_t</type>
          <defname>id_area_t</defname>
        </param>
        <param>
          <type>id_area_q</type>
          <defname>id_area_q</defname>
        </param>
        <briefdescription>
<para>Attaches the id of cell areas to axes groups for use with cell_measures. </para>
        </briefdescription>
        <detaileddescription>
<para><parameterlist kind="param"><parameteritem>
<parameternamelist>
<parametername direction="inout">diag_cs</parametername>
</parameternamelist>
<parameterdescription>
<para>Diagnostics control structure </para>
</parameterdescription>
</parameteritem>
<parameteritem>
<parameternamelist>
<parametername direction="in">id_area_t</parametername>
</parameternamelist>
<parameterdescription>
<para>Diag_mediator id for area of h-cells </para>
</parameterdescription>
</parameteritem>
<parameteritem>
<parameternamelist>
<parametername direction="in">id_area_q</parametername>
</parameternamelist>
<parameterdescription>
<para>Diag_mediator id for area of q-cells </para>
</parameterdescription>
</parameteritem>
</parameterlist>
</para>
        </detaileddescription>
        <inbodydescription>
        </inbodydescription>
        <location file="/home/cermak/src/MOM6.devrob/src/framework/MOM_diag_mediator.F90" line="921" column="1" bodyfile="/home/cermak/src/MOM6.devrob/src/framework/MOM_diag_mediator.F90" bodystart="922" bodyend="946"/>
      </memberdef>
      <memberdef kind="function" id="namespacemom__diag__mediator_1a820eb49d3acf041c630ce1373bef799e" prot="public" static="no" const="no" explicit="no" inline="no" virt="non-virtual">
        <type>subroutine, public</type>
        <definition>subroutine, public mom_diag_mediator::register_cell_measure</definition>
        <argsstring>(G, diag, Time)</argsstring>
        <name>register_cell_measure</name>
        <param>
          <type>G</type>
          <defname>G</defname>
        </param>
        <param>
          <type>diag</type>
          <defname>diag</defname>
        </param>
        <param>
          <type>Time</type>
          <defname>Time</defname>
        </param>
        <briefdescription>
<para>Sets a handle inside diagnostics mediator to associate 3d cell measures. </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">diag</parametername>
</parameternamelist>
<parameterdescription>
<para>Regulates diagnostic output </para>
</parameterdescription>
</parameteritem>
<parameteritem>
<parameternamelist>
<parametername direction="in">time</parametername>
</parameternamelist>
<parameterdescription>
<para>Model time </para>
</parameterdescription>
</parameteritem>
</parameterlist>
</para>
        </detaileddescription>
        <inbodydescription>
        </inbodydescription>
        <location file="/home/cermak/src/MOM6.devrob/src/framework/MOM_diag_mediator.F90" line="950" column="1" bodyfile="/home/cermak/src/MOM6.devrob/src/framework/MOM_diag_mediator.F90" bodystart="951" bodyend="961"/>
        <references refid="namespacemom__diag__mediator_1a6affd997646a278d7fca03174a5a06ad" compoundref="MOM__diag__mediator_8F90" startline="966" endline="983">diag_associate_volume_cell_measure</references>
        <references refid="namespacemom__diag__mediator_1ada491446bf7216fe101e6b0f6ed551e1" compoundref="MOM__diag__mediator_8F90" startline="1944" endline="2177">register_diag_field</references>
      </memberdef>
      <memberdef kind="function" id="namespacemom__diag__mediator_1a6affd997646a278d7fca03174a5a06ad" prot="public" static="no" const="no" explicit="no" inline="no" virt="non-virtual">
        <type>subroutine, public</type>
        <definition>subroutine, public mom_diag_mediator::diag_associate_volume_cell_measure</definition>
        <argsstring>(diag_cs, id_h_volume)</argsstring>
        <name>diag_associate_volume_cell_measure</name>
        <param>
          <type>diag_cs</type>
          <defname>diag_cs</defname>
        </param>
        <param>
          <type>id_h_volume</type>
          <defname>id_h_volume</defname>
        </param>
        <briefdescription>
<para>Attaches the id of cell volumes to axes groups for use with cell_measures. </para>
        </briefdescription>
        <detaileddescription>
<para><parameterlist kind="param"><parameteritem>
<parameternamelist>
<parametername direction="inout">diag_cs</parametername>
</parameternamelist>
<parameterdescription>
<para>Diagnostics control structure </para>
</parameterdescription>
</parameteritem>
<parameteritem>
<parameternamelist>
<parametername direction="in">id_h_volume</parametername>
</parameternamelist>
<parameterdescription>
<para>Diag_manager id for volume of h-cells </para>
</parameterdescription>
</parameteritem>
</parameterlist>
</para>
        </detaileddescription>
        <inbodydescription>
        </inbodydescription>
        <location file="/home/cermak/src/MOM6.devrob/src/framework/MOM_diag_mediator.F90" line="965" column="1" bodyfile="/home/cermak/src/MOM6.devrob/src/framework/MOM_diag_mediator.F90" bodystart="966" bodyend="983"/>
        <referencedby refid="namespacemom__diag__mediator_1a820eb49d3acf041c630ce1373bef799e" compoundref="MOM__diag__mediator_8F90" startline="951" endline="961">register_cell_measure</referencedby>
      </memberdef>
      <memberdef kind="function" id="namespacemom__diag__mediator_1aba626173ff1459bd423b1902425d1908" prot="public" static="no" const="no" explicit="no" inline="no" virt="non-virtual">
        <type>integer function, public</type>
        <definition>integer function, public mom_diag_mediator::diag_get_volume_cell_measure_dm_id</definition>
        <argsstring>(diag_cs)</argsstring>
        <name>diag_get_volume_cell_measure_dm_id</name>
        <param>
          <type>diag_cs</type>
          <defname>diag_cs</defname>
        </param>
        <briefdescription>
<para>Returns diag_manager id for cell measure of h-cells. </para>
        </briefdescription>
        <detaileddescription>
<para><parameterlist kind="param"><parameteritem>
<parameternamelist>
<parametername direction="in">diag_cs</parametername>
</parameternamelist>
<parameterdescription>
<para>Diagnostics control structure </para>
</parameterdescription>
</parameteritem>
</parameterlist>
</para>
        </detaileddescription>
        <inbodydescription>
        </inbodydescription>
        <location file="/home/cermak/src/MOM6.devrob/src/framework/MOM_diag_mediator.F90" line="987" column="1" bodyfile="/home/cermak/src/MOM6.devrob/src/framework/MOM_diag_mediator.F90" bodystart="988" bodyend="991"/>
      </memberdef>
      <memberdef kind="function" id="namespacemom__diag__mediator_1ab9f767ec24a860cb71cae264560272a8" prot="public" static="no" const="no" explicit="no" inline="no" virt="non-virtual">
        <type>subroutine, public</type>
        <definition>subroutine, public mom_diag_mediator::define_axes_group</definition>
        <argsstring>(diag_cs, handles, axes, nz, vertical_coordinate_number, x_cell_method, y_cell_method, v_cell_method, is_h_point, is_q_point, is_u_point, is_v_point, is_layer, is_interface, is_native, needs_remapping, needs_interpolating, xyave_axes)</argsstring>
        <name>define_axes_group</name>
        <param>
          <type>diag_cs</type>
          <defname>diag_cs</defname>
        </param>
        <param>
          <type>handles</type>
          <defname>handles</defname>
        </param>
        <param>
          <type>axes</type>
          <defname>axes</defname>
        </param>
        <param>
          <type>nz</type>
          <defname>nz</defname>
        </param>
        <param>
          <type>vertical_coordinate_number</type>
          <defname>vertical_coordinate_number</defname>
        </param>
        <param>
          <type>x_cell_method</type>
          <defname>x_cell_method</defname>
        </param>
        <param>
          <type>y_cell_method</type>
          <defname>y_cell_method</defname>
        </param>
        <param>
          <type>v_cell_method</type>
          <defname>v_cell_method</defname>
        </param>
        <param>
          <type>is_h_point</type>
          <defname>is_h_point</defname>
        </param>
        <param>
          <type>is_q_point</type>
          <defname>is_q_point</defname>
        </param>
        <param>
          <type>is_u_point</type>
          <defname>is_u_point</defname>
        </param>
        <param>
          <type>is_v_point</type>
          <defname>is_v_point</defname>
        </param>
        <param>
          <type>is_layer</type>
          <defname>is_layer</defname>
        </param>
        <param>
          <type>is_interface</type>
          <defname>is_interface</defname>
        </param>
        <param>
          <type>is_native</type>
          <defname>is_native</defname>
        </param>
        <param>
          <type>needs_remapping</type>
          <defname>needs_remapping</defname>
        </param>
        <param>
          <type>needs_interpolating</type>
          <defname>needs_interpolating</defname>
        </param>
        <param>
          <type>xyave_axes</type>
          <defname>xyave_axes</defname>
        </param>
        <briefdescription>
<para>Defines a group of &quot;axes&quot; from list of handles. </para>
        </briefdescription>
        <detaileddescription>
<para><parameterlist kind="param"><parameteritem>
<parameternamelist>
<parametername direction="in">diag_cs</parametername>
</parameternamelist>
<parameterdescription>
<para>Diagnostics control structure </para>
</parameterdescription>
</parameteritem>
<parameteritem>
<parameternamelist>
<parametername direction="in">handles</parametername>
</parameternamelist>
<parameterdescription>
<para>A list of 1D axis handles </para>
</parameterdescription>
</parameteritem>
<parameteritem>
<parameternamelist>
<parametername direction="out">axes</parametername>
</parameternamelist>
<parameterdescription>
<para>The group of 1D axes </para>
</parameterdescription>
</parameteritem>
<parameteritem>
<parameternamelist>
<parametername direction="in">nz</parametername>
</parameternamelist>
<parameterdescription>
<para>Number of layers in this diagnostic grid </para>
</parameterdescription>
</parameteritem>
<parameteritem>
<parameternamelist>
<parametername direction="in">vertical_coordinate_number</parametername>
</parameternamelist>
<parameterdescription>
<para>Index number for vertical coordinate </para>
</parameterdescription>
</parameteritem>
<parameteritem>
<parameternamelist>
<parametername direction="in">x_cell_method</parametername>
</parameternamelist>
<parameterdescription>
<para>A x-direction cell method used to construct the &quot;cell_methods&quot; attribute in CF convention </para>
</parameterdescription>
</parameteritem>
<parameteritem>
<parameternamelist>
<parametername direction="in">y_cell_method</parametername>
</parameternamelist>
<parameterdescription>
<para>A y-direction cell method used to construct the &quot;cell_methods&quot; attribute in CF convention </para>
</parameterdescription>
</parameteritem>
<parameteritem>
<parameternamelist>
<parametername direction="in">v_cell_method</parametername>
</parameternamelist>
<parameterdescription>
<para>A vertical direction cell method used to construct the &quot;cell_methods&quot; attribute in CF convention </para>
</parameterdescription>
</parameteritem>
<parameteritem>
<parameternamelist>
<parametername direction="in">is_h_point</parametername>
</parameternamelist>
<parameterdescription>
<para>If true, indicates this axes group for h-point located fields </para>
</parameterdescription>
</parameteritem>
<parameteritem>
<parameternamelist>
<parametername direction="in">is_q_point</parametername>
</parameternamelist>
<parameterdescription>
<para>If true, indicates this axes group for q-point located fields </para>
</parameterdescription>
</parameteritem>
<parameteritem>
<parameternamelist>
<parametername direction="in">is_u_point</parametername>
</parameternamelist>
<parameterdescription>
<para>If true, indicates this axes group for u-point located fields </para>
</parameterdescription>
</parameteritem>
<parameteritem>
<parameternamelist>
<parametername direction="in">is_v_point</parametername>
</parameternamelist>
<parameterdescription>
<para>If true, indicates this axes group for v-point located fields </para>
</parameterdescription>
</parameteritem>
<parameteritem>
<parameternamelist>
<parametername direction="in">is_layer</parametername>
</parameternamelist>
<parameterdescription>
<para>If true, indicates that this axes group is for a layer vertically-located field. </para>
</parameterdescription>
</parameteritem>
<parameteritem>
<parameternamelist>
<parametername direction="in">is_interface</parametername>
</parameternamelist>
<parameterdescription>
<para>If true, indicates that this axes group is for an interface vertically-located field. </para>
</parameterdescription>
</parameteritem>
<parameteritem>
<parameternamelist>
<parametername direction="in">is_native</parametername>
</parameternamelist>
<parameterdescription>
<para>If true, indicates that this axes group is for a native model grid. False for any other grid. </para>
</parameterdescription>
</parameteritem>
<parameteritem>
<parameternamelist>
<parametername direction="in">needs_remapping</parametername>
</parameternamelist>
<parameterdescription>
<para>If true, indicates that this axes group is for a intensive layer-located field that must be remapped to these axes. Used for rank&gt;2. </para>
</parameterdescription>
</parameteritem>
<parameteritem>
<parameternamelist>
<parametername direction="in">needs_interpolating</parametername>
</parameternamelist>
<parameterdescription>
<para>If true, indicates that this axes group is for a sampled interface-located field that must be interpolated to these axes. Used for rank&gt;2. </para>
</parameterdescription>
</parameteritem>
<parameteritem>
<parameternamelist>
<parametername>xyave_axes</parametername>
</parameternamelist>
<parameterdescription>
<para>The corresponding axes group for horizontally area-average diagnostics </para>
</parameterdescription>
</parameteritem>
</parameterlist>
</para>
        </detaileddescription>
        <inbodydescription>
        </inbodydescription>
        <location file="/home/cermak/src/MOM6.devrob/src/framework/MOM_diag_mediator.F90" line="995" column="1" bodyfile="/home/cermak/src/MOM6.devrob/src/framework/MOM_diag_mediator.F90" bodystart="1001" bodyend="1102"/>
        <references refid="namespacemom__diag__mediator_1a82d9bb70db16b1113304936c82d40e82" compoundref="MOM__diag__mediator_8F90" startline="3457" endline="3474">i2s</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__internal__tides_1a48431ac355c6fa3de7548bfdec620eb0" compoundref="MOM__internal__tides_8F90" startline="2102" endline="2544">mom_internal_tides::internal_tides_init</referencedby>
        <referencedby refid="namespacemom__diag__mediator_1a76c9267c7744e3573f78afbaa0b716a5" compoundref="MOM__diag__mediator_8F90" startline="349" endline="587">set_axes_info</referencedby>
      </memberdef>
      <memberdef kind="function" id="namespacemom__diag__mediator_1a51129041d5b42f6546c087111465f639" prot="private" static="no" const="no" explicit="no" inline="no" virt="non-virtual">
        <type>subroutine</type>
        <definition>subroutine mom_diag_mediator::define_axes_group_dsamp</definition>
        <argsstring>(diag_cs, handles, axes, dl, nz, vertical_coordinate_number, x_cell_method, y_cell_method, v_cell_method, is_h_point, is_q_point, is_u_point, is_v_point, is_layer, is_interface, is_native, needs_remapping, needs_interpolating, xyave_axes)</argsstring>
        <name>define_axes_group_dsamp</name>
        <param>
          <type>diag_cs</type>
          <defname>diag_cs</defname>
        </param>
        <param>
          <type>handles</type>
          <defname>handles</defname>
        </param>
        <param>
          <type>axes</type>
          <defname>axes</defname>
        </param>
        <param>
          <type>dl</type>
          <defname>dl</defname>
        </param>
        <param>
          <type>nz</type>
          <defname>nz</defname>
        </param>
        <param>
          <type>vertical_coordinate_number</type>
          <defname>vertical_coordinate_number</defname>
        </param>
        <param>
          <type>x_cell_method</type>
          <defname>x_cell_method</defname>
        </param>
        <param>
          <type>y_cell_method</type>
          <defname>y_cell_method</defname>
        </param>
        <param>
          <type>v_cell_method</type>
          <defname>v_cell_method</defname>
        </param>
        <param>
          <type>is_h_point</type>
          <defname>is_h_point</defname>
        </param>
        <param>
          <type>is_q_point</type>
          <defname>is_q_point</defname>
        </param>
        <param>
          <type>is_u_point</type>
          <defname>is_u_point</defname>
        </param>
        <param>
          <type>is_v_point</type>
          <defname>is_v_point</defname>
        </param>
        <param>
          <type>is_layer</type>
          <defname>is_layer</defname>
        </param>
        <param>
          <type>is_interface</type>
          <defname>is_interface</defname>
        </param>
        <param>
          <type>is_native</type>
          <defname>is_native</defname>
        </param>
        <param>
          <type>needs_remapping</type>
          <defname>needs_remapping</defname>
        </param>
        <param>
          <type>needs_interpolating</type>
          <defname>needs_interpolating</defname>
        </param>
        <param>
          <type>xyave_axes</type>
          <defname>xyave_axes</defname>
        </param>
        <briefdescription>
<para>Defines a group of downsampled &quot;axes&quot; from list of handles. </para>
        </briefdescription>
        <detaileddescription>
<para><parameterlist kind="param"><parameteritem>
<parameternamelist>
<parametername direction="in">diag_cs</parametername>
</parameternamelist>
<parameterdescription>
<para>Diagnostics control structure </para>
</parameterdescription>
</parameteritem>
<parameteritem>
<parameternamelist>
<parametername direction="in">handles</parametername>
</parameternamelist>
<parameterdescription>
<para>A list of 1D axis handles </para>
</parameterdescription>
</parameteritem>
<parameteritem>
<parameternamelist>
<parametername direction="out">axes</parametername>
</parameternamelist>
<parameterdescription>
<para>The group of 1D axes </para>
</parameterdescription>
</parameteritem>
<parameteritem>
<parameternamelist>
<parametername direction="in">dl</parametername>
</parameternamelist>
<parameterdescription>
<para>Downsample level </para>
</parameterdescription>
</parameteritem>
<parameteritem>
<parameternamelist>
<parametername direction="in">nz</parametername>
</parameternamelist>
<parameterdescription>
<para>Number of layers in this diagnostic grid </para>
</parameterdescription>
</parameteritem>
<parameteritem>
<parameternamelist>
<parametername direction="in">vertical_coordinate_number</parametername>
</parameternamelist>
<parameterdescription>
<para>Index number for vertical coordinate </para>
</parameterdescription>
</parameteritem>
<parameteritem>
<parameternamelist>
<parametername direction="in">x_cell_method</parametername>
</parameternamelist>
<parameterdescription>
<para>A x-direction cell method used to construct the &quot;cell_methods&quot; attribute in CF convention </para>
</parameterdescription>
</parameteritem>
<parameteritem>
<parameternamelist>
<parametername direction="in">y_cell_method</parametername>
</parameternamelist>
<parameterdescription>
<para>A y-direction cell method used to construct the &quot;cell_methods&quot; attribute in CF convention </para>
</parameterdescription>
</parameteritem>
<parameteritem>
<parameternamelist>
<parametername direction="in">v_cell_method</parametername>
</parameternamelist>
<parameterdescription>
<para>A vertical direction cell method used to construct the &quot;cell_methods&quot; attribute in CF convention </para>
</parameterdescription>
</parameteritem>
<parameteritem>
<parameternamelist>
<parametername direction="in">is_h_point</parametername>
</parameternamelist>
<parameterdescription>
<para>If true, indicates this axes group for h-point located fields </para>
</parameterdescription>
</parameteritem>
<parameteritem>
<parameternamelist>
<parametername direction="in">is_q_point</parametername>
</parameternamelist>
<parameterdescription>
<para>If true, indicates this axes group for q-point located fields </para>
</parameterdescription>
</parameteritem>
<parameteritem>
<parameternamelist>
<parametername direction="in">is_u_point</parametername>
</parameternamelist>
<parameterdescription>
<para>If true, indicates this axes group for u-point located fields </para>
</parameterdescription>
</parameteritem>
<parameteritem>
<parameternamelist>
<parametername direction="in">is_v_point</parametername>
</parameternamelist>
<parameterdescription>
<para>If true, indicates this axes group for v-point located fields </para>
</parameterdescription>
</parameteritem>
<parameteritem>
<parameternamelist>
<parametername direction="in">is_layer</parametername>
</parameternamelist>
<parameterdescription>
<para>If true, indicates that this axes group is for a layer vertically-located field. </para>
</parameterdescription>
</parameteritem>
<parameteritem>
<parameternamelist>
<parametername direction="in">is_interface</parametername>
</parameternamelist>
<parameterdescription>
<para>If true, indicates that this axes group is for an interface vertically-located field. </para>
</parameterdescription>
</parameteritem>
<parameteritem>
<parameternamelist>
<parametername direction="in">is_native</parametername>
</parameternamelist>
<parameterdescription>
<para>If true, indicates that this axes group is for a native model grid. False for any other grid. </para>
</parameterdescription>
</parameteritem>
<parameteritem>
<parameternamelist>
<parametername direction="in">needs_remapping</parametername>
</parameternamelist>
<parameterdescription>
<para>If true, indicates that this axes group is for a intensive layer-located field that must be remapped to these axes. Used for rank&gt;2. </para>
</parameterdescription>
</parameteritem>
<parameteritem>
<parameternamelist>
<parametername direction="in">needs_interpolating</parametername>
</parameternamelist>
<parameterdescription>
<para>If true, indicates that this axes group is for a sampled interface-located field that must be interpolated to these axes. Used for rank&gt;2. </para>
</parameterdescription>
</parameteritem>
<parameteritem>
<parameternamelist>
<parametername>xyave_axes</parametername>
</parameternamelist>
<parameterdescription>
<para>The corresponding axes group for horizontally area-average diagnostics </para>
</parameterdescription>
</parameteritem>
</parameterlist>
</para>
        </detaileddescription>
        <inbodydescription>
        </inbodydescription>
        <location file="/home/cermak/src/MOM6.devrob/src/framework/MOM_diag_mediator.F90" line="1106" column="1" bodyfile="/home/cermak/src/MOM6.devrob/src/framework/MOM_diag_mediator.F90" bodystart="1112" bodyend="1240"/>
        <references refid="namespacemom__diag__mediator_1a82d9bb70db16b1113304936c82d40e82" compoundref="MOM__diag__mediator_8F90" startline="3457" endline="3474">i2s</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__diag__mediator_1a1abcee77dbc8e8a48f4b48144fc0923c" compoundref="MOM__diag__mediator_8F90" startline="591" endline="757">set_axes_info_dsamp</referencedby>
      </memberdef>
      <memberdef kind="function" id="namespacemom__diag__mediator_1a36d062ce991a3bd7250b3224e6508eb5" prot="public" static="no" const="no" explicit="no" inline="no" virt="non-virtual">
        <type>subroutine, public</type>
        <definition>subroutine, public mom_diag_mediator::set_diag_mediator_grid</definition>
        <argsstring>(G, diag_cs)</argsstring>
        <name>set_diag_mediator_grid</name>
        <param>
          <type>G</type>
          <defname>G</defname>
        </param>
        <param>
          <type>diag_cs</type>
          <defname>diag_cs</defname>
        </param>
        <briefdescription>
<para>Set up the array extents for doing diagnostics. </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="inout">diag_cs</parametername>
</parameternamelist>
<parameterdescription>
<para>Structure used to regulate diagnostic output </para>
</parameterdescription>
</parameteritem>
</parameterlist>
</para>
        </detaileddescription>
        <inbodydescription>
        </inbodydescription>
        <location file="/home/cermak/src/MOM6.devrob/src/framework/MOM_diag_mediator.F90" line="1244" column="1" bodyfile="/home/cermak/src/MOM6.devrob/src/framework/MOM_diag_mediator.F90" bodystart="1245" bodyend="1252"/>
      </memberdef>
      <memberdef kind="function" id="namespacemom__diag__mediator_1ab98d892c30de2ee865416e519eacfd79" prot="private" static="no" const="no" explicit="no" inline="no" virt="non-virtual">
        <type>subroutine</type>
        <definition>subroutine mom_diag_mediator::post_data_0d</definition>
        <argsstring>(diag_field_id, field, diag_cs, is_static)</argsstring>
        <name>post_data_0d</name>
        <param>
          <type>diag_field_id</type>
          <defname>diag_field_id</defname>
        </param>
        <param>
          <type>field</type>
          <defname>field</defname>
        </param>
        <param>
          <type>diag_cs</type>
          <defname>diag_cs</defname>
        </param>
        <param>
          <type>is_static</type>
          <defname>is_static</defname>
        </param>
        <briefdescription>
<para>Make a real scalar diagnostic available for averaging or output. </para>
        </briefdescription>
        <detaileddescription>
<para><parameterlist kind="param"><parameteritem>
<parameternamelist>
<parametername direction="in">diag_field_id</parametername>
</parameternamelist>
<parameterdescription>
<para>The id for an output variable returned by a previous call to register_diag_field. </para>
</parameterdescription>
</parameteritem>
<parameteritem>
<parameternamelist>
<parametername direction="in">field</parametername>
</parameternamelist>
<parameterdescription>
<para>real value being offered for output or averaging </para>
</parameterdescription>
</parameteritem>
<parameteritem>
<parameternamelist>
<parametername direction="in">diag_cs</parametername>
</parameternamelist>
<parameterdescription>
<para>Structure used to regulate diagnostic output </para>
</parameterdescription>
</parameteritem>
<parameteritem>
<parameternamelist>
<parametername direction="in">is_static</parametername>
</parameternamelist>
<parameterdescription>
<para>If true, this is a static field that is always offered. </para>
</parameterdescription>
</parameteritem>
</parameterlist>
</para>
        </detaileddescription>
        <inbodydescription>
        </inbodydescription>
        <location file="/home/cermak/src/MOM6.devrob/src/framework/MOM_diag_mediator.F90" line="1256" column="1" bodyfile="/home/cermak/src/MOM6.devrob/src/framework/MOM_diag_mediator.F90" bodystart="1257" bodyend="1292"/>
        <references refid="namespacemom__error__handler_1a33bcd190d460095104954f2e654f9fe6" compoundref="MOM__error__handler_8F90" startline="182" endline="188">mom_error_handler::assert</references>
        <references refid="namespacemom__diag__mediator_1a882fc994662be43d067bb1f59a2662bb" compoundref="MOM__diag__mediator_8F90" startline="342" endline="342">id_clock_diag_mediator</references>
      </memberdef>
      <memberdef kind="function" id="namespacemom__diag__mediator_1ab5b75b68fa1742ce312c371f4b2c6ac1" prot="public" static="no" const="no" explicit="no" inline="no" virt="non-virtual">
        <type>subroutine, public</type>
        <definition>subroutine, public mom_diag_mediator::post_data_1d_k</definition>
        <argsstring>(diag_field_id, field, diag_cs, is_static)</argsstring>
        <name>post_data_1d_k</name>
        <param>
          <type>diag_field_id</type>
          <defname>diag_field_id</defname>
        </param>
        <param>
          <type>field</type>
          <defname>field</defname>
        </param>
        <param>
          <type>diag_cs</type>
          <defname>diag_cs</defname>
        </param>
        <param>
          <type>is_static</type>
          <defname>is_static</defname>
        </param>
        <briefdescription>
<para>Make a real 1-d array diagnostic available for averaging or output. </para>
        </briefdescription>
        <detaileddescription>
<para><parameterlist kind="param"><parameteritem>
<parameternamelist>
<parametername direction="in">diag_field_id</parametername>
</parameternamelist>
<parameterdescription>
<para>The id for an output variable returned by a previous call to register_diag_field. </para>
</parameterdescription>
</parameteritem>
<parameteritem>
<parameternamelist>
<parametername direction="in">field</parametername>
</parameternamelist>
<parameterdescription>
<para>1-d array being offered for output or averaging </para>
</parameterdescription>
</parameteritem>
<parameteritem>
<parameternamelist>
<parametername direction="in">diag_cs</parametername>
</parameternamelist>
<parameterdescription>
<para>Structure used to regulate diagnostic output </para>
</parameterdescription>
</parameteritem>
<parameteritem>
<parameternamelist>
<parametername direction="in">is_static</parametername>
</parameternamelist>
<parameterdescription>
<para>If true, this is a static field that is always offered. </para>
</parameterdescription>
</parameteritem>
</parameterlist>
</para>
        </detaileddescription>
        <inbodydescription>
        </inbodydescription>
        <location file="/home/cermak/src/MOM6.devrob/src/framework/MOM_diag_mediator.F90" line="1296" column="1" bodyfile="/home/cermak/src/MOM6.devrob/src/framework/MOM_diag_mediator.F90" bodystart="1297" bodyend="1346"/>
        <references refid="namespacemom__error__handler_1a33bcd190d460095104954f2e654f9fe6" compoundref="MOM__error__handler_8F90" startline="182" endline="188">mom_error_handler::assert</references>
        <references refid="namespacemom__diag__mediator_1a882fc994662be43d067bb1f59a2662bb" compoundref="MOM__diag__mediator_8F90" startline="342" endline="342">id_clock_diag_mediator</references>
      </memberdef>
      <memberdef kind="function" id="namespacemom__diag__mediator_1a2b87038d2cfd2f6709ecb9f4481e0e75" prot="private" static="no" const="no" explicit="no" inline="no" virt="non-virtual">
        <type>subroutine</type>
        <definition>subroutine mom_diag_mediator::post_data_2d</definition>
        <argsstring>(diag_field_id, field, diag_cs, is_static, mask)</argsstring>
        <name>post_data_2d</name>
        <param>
          <type>diag_field_id</type>
          <defname>diag_field_id</defname>
        </param>
        <param>
          <type>field</type>
          <defname>field</defname>
        </param>
        <param>
          <type>diag_cs</type>
          <defname>diag_cs</defname>
        </param>
        <param>
          <type>is_static</type>
          <defname>is_static</defname>
        </param>
        <param>
          <type>mask</type>
          <defname>mask</defname>
        </param>
        <briefdescription>
<para>Make a real 2-d array diagnostic available for averaging or output. </para>
        </briefdescription>
        <detaileddescription>
<para><parameterlist kind="param"><parameteritem>
<parameternamelist>
<parametername direction="in">diag_field_id</parametername>
</parameternamelist>
<parameterdescription>
<para>The id for an output variable returned by a previous call to register_diag_field. </para>
</parameterdescription>
</parameteritem>
<parameteritem>
<parameternamelist>
<parametername direction="in">field</parametername>
</parameternamelist>
<parameterdescription>
<para>2-d array being offered for output or averaging </para>
</parameterdescription>
</parameteritem>
<parameteritem>
<parameternamelist>
<parametername direction="in">diag_cs</parametername>
</parameternamelist>
<parameterdescription>
<para>Structure used to regulate diagnostic output </para>
</parameterdescription>
</parameteritem>
<parameteritem>
<parameternamelist>
<parametername direction="in">is_static</parametername>
</parameternamelist>
<parameterdescription>
<para>If true, this is a static field that is always offered. </para>
</parameterdescription>
</parameteritem>
<parameteritem>
<parameternamelist>
<parametername direction="in">mask</parametername>
</parameternamelist>
<parameterdescription>
<para>If present, use this real array as the data mask. </para>
</parameterdescription>
</parameteritem>
</parameterlist>
</para>
        </detaileddescription>
        <inbodydescription>
        </inbodydescription>
        <location file="/home/cermak/src/MOM6.devrob/src/framework/MOM_diag_mediator.F90" line="1350" column="1" bodyfile="/home/cermak/src/MOM6.devrob/src/framework/MOM_diag_mediator.F90" bodystart="1351" bodyend="1372"/>
        <references refid="namespacemom__error__handler_1a33bcd190d460095104954f2e654f9fe6" compoundref="MOM__error__handler_8F90" startline="182" endline="188">mom_error_handler::assert</references>
        <references refid="namespacemom__diag__mediator_1a882fc994662be43d067bb1f59a2662bb" compoundref="MOM__diag__mediator_8F90" startline="342" endline="342">id_clock_diag_mediator</references>
        <references refid="namespacemom__diag__mediator_1a633c4a461809f5843ac522616db8f382" compoundref="MOM__diag__mediator_8F90" startline="1378" endline="1517">post_data_2d_low</references>
      </memberdef>
      <memberdef kind="function" id="namespacemom__diag__mediator_1a633c4a461809f5843ac522616db8f382" prot="private" static="no" const="no" explicit="no" inline="no" virt="non-virtual">
        <type>subroutine</type>
        <definition>subroutine mom_diag_mediator::post_data_2d_low</definition>
        <argsstring>(diag, field, diag_cs, is_static, mask)</argsstring>
        <name>post_data_2d_low</name>
        <param>
          <type>diag</type>
          <defname>diag</defname>
        </param>
        <param>
          <type>field</type>
          <defname>field</defname>
        </param>
        <param>
          <type>diag_cs</type>
          <defname>diag_cs</defname>
        </param>
        <param>
          <type>is_static</type>
          <defname>is_static</defname>
        </param>
        <param>
          <type>mask</type>
          <defname>mask</defname>
        </param>
        <briefdescription>
<para>Make a real 2-d array diagnostic available for averaging or output using a <ref refid="structmom__diag__mediator_1_1diag__type" kindref="compound">diag_type</ref> instead of an integer id. </para>
        </briefdescription>
        <detaileddescription>
<para><parameterlist kind="param"><parameteritem>
<parameternamelist>
<parametername direction="in">diag</parametername>
</parameternamelist>
<parameterdescription>
<para>A structure describing the diagnostic to post </para>
</parameterdescription>
</parameteritem>
<parameteritem>
<parameternamelist>
<parametername direction="in">field</parametername>
</parameternamelist>
<parameterdescription>
<para>2-d array being offered for output or averaging </para>
</parameterdescription>
</parameteritem>
<parameteritem>
<parameternamelist>
<parametername direction="in">diag_cs</parametername>
</parameternamelist>
<parameterdescription>
<para>Structure used to regulate diagnostic output </para>
</parameterdescription>
</parameteritem>
<parameteritem>
<parameternamelist>
<parametername direction="in">is_static</parametername>
</parameternamelist>
<parameterdescription>
<para>If true, this is a static field that is always offered. </para>
</parameterdescription>
</parameteritem>
<parameteritem>
<parameternamelist>
<parametername direction="in">mask</parametername>
</parameternamelist>
<parameterdescription>
<para>If present, use this real array as the data mask. </para>
</parameterdescription>
</parameteritem>
</parameterlist>
</para>
        </detaileddescription>
        <inbodydescription>
        </inbodydescription>
        <location file="/home/cermak/src/MOM6.devrob/src/framework/MOM_diag_mediator.F90" line="1377" column="1" bodyfile="/home/cermak/src/MOM6.devrob/src/framework/MOM_diag_mediator.F90" bodystart="1378" bodyend="1517"/>
        <references refid="namespacemom__error__handler_1a33bcd190d460095104954f2e654f9fe6" compoundref="MOM__error__handler_8F90" startline="182" endline="188">mom_error_handler::assert</references>
        <references refid="namespacemom__diag__mediator_1aa46e12f1318ed96f60035cdd32e4157a" compoundref="MOM__diag__mediator_8F90" startline="4107" endline="4245">downsample_field_2d</references>
        <references refid="namespacemom__error__handler_1a460cfb79a06c29fc249952c2a3710d67" compoundref="MOM__error__handler_8F90" startline="72" endline="92">mom_error_handler::mom_error</references>
        <references refid="namespacemom__diag__mediator_1aee297aa161d60188320e803751df9ce4" compoundref="MOM__diag__mediator_8F90" startline="171" endline="171">msk</references>
        <referencedby refid="namespacemom__diag__mediator_1a2b87038d2cfd2f6709ecb9f4481e0e75" compoundref="MOM__diag__mediator_8F90" startline="1351" endline="1372">post_data_2d</referencedby>
      </memberdef>
      <memberdef kind="function" id="namespacemom__diag__mediator_1a70116fa6034dcf977a8bdcb4d81f9207" prot="private" static="no" const="no" explicit="no" inline="no" virt="non-virtual">
        <type>subroutine</type>
        <definition>subroutine mom_diag_mediator::post_data_3d</definition>
        <argsstring>(diag_field_id, field, diag_cs, is_static, mask, alt_h)</argsstring>
        <name>post_data_3d</name>
        <param>
          <type>diag_field_id</type>
          <defname>diag_field_id</defname>
        </param>
        <param>
          <type>field</type>
          <defname>field</defname>
        </param>
        <param>
          <type>diag_cs</type>
          <defname>diag_cs</defname>
        </param>
        <param>
          <type>is_static</type>
          <defname>is_static</defname>
        </param>
        <param>
          <type>mask</type>
          <defname>mask</defname>
        </param>
        <param>
          <type>alt_h</type>
          <defname>alt_h</defname>
        </param>
        <briefdescription>
<para>Make a real 3-d array diagnostic available for averaging or output. </para>
        </briefdescription>
        <detaileddescription>
<para><parameterlist kind="param"><parameteritem>
<parameternamelist>
<parametername direction="in">diag_field_id</parametername>
</parameternamelist>
<parameterdescription>
<para>The id for an output variable returned by a previous call to register_diag_field. </para>
</parameterdescription>
</parameteritem>
<parameteritem>
<parameternamelist>
<parametername direction="in">field</parametername>
</parameternamelist>
<parameterdescription>
<para>3-d array being offered for output or averaging </para>
</parameterdescription>
</parameteritem>
<parameteritem>
<parameternamelist>
<parametername direction="in">diag_cs</parametername>
</parameternamelist>
<parameterdescription>
<para>Structure used to regulate diagnostic output </para>
</parameterdescription>
</parameteritem>
<parameteritem>
<parameternamelist>
<parametername direction="in">is_static</parametername>
</parameternamelist>
<parameterdescription>
<para>If true, this is a static field that is always offered. </para>
</parameterdescription>
</parameteritem>
<parameteritem>
<parameternamelist>
<parametername direction="in">mask</parametername>
</parameternamelist>
<parameterdescription>
<para>If present, use this real array as the data mask. </para>
</parameterdescription>
</parameteritem>
<parameteritem>
<parameternamelist>
<parametername direction="in">alt_h</parametername>
</parameternamelist>
<parameterdescription>
<para>An alternate thickness to use for vertically </para>
</parameterdescription>
</parameteritem>
</parameterlist>
</para>
        </detaileddescription>
        <inbodydescription>
        </inbodydescription>
        <location file="/home/cermak/src/MOM6.devrob/src/framework/MOM_diag_mediator.F90" line="1521" column="1" bodyfile="/home/cermak/src/MOM6.devrob/src/framework/MOM_diag_mediator.F90" bodystart="1522" bodyend="1639"/>
        <references refid="namespacemom__error__handler_1a33bcd190d460095104954f2e654f9fe6" compoundref="MOM__error__handler_8F90" startline="182" endline="188">mom_error_handler::assert</references>
        <references refid="namespacemom__diag__mediator_1a882fc994662be43d067bb1f59a2662bb" compoundref="MOM__diag__mediator_8F90" startline="342" endline="342">id_clock_diag_mediator</references>
        <references refid="namespacemom__diag__mediator_1a8a8e75119f340f174cfef580ded1dd79" compoundref="MOM__diag__mediator_8F90" startline="342">id_clock_diag_remap</references>
        <references refid="namespacemom__error__handler_1a460cfb79a06c29fc249952c2a3710d67" compoundref="MOM__error__handler_8F90" startline="72" endline="92">mom_error_handler::mom_error</references>
        <references refid="namespacemom__diag__mediator_1ae11cae949c3f8cf68d2c70f656aa9c54" compoundref="MOM__diag__mediator_8F90" startline="1645" endline="1812">post_data_3d_low</references>
      </memberdef>
      <memberdef kind="function" id="namespacemom__diag__mediator_1ae11cae949c3f8cf68d2c70f656aa9c54" prot="private" static="no" const="no" explicit="no" inline="no" virt="non-virtual">
        <type>subroutine</type>
        <definition>subroutine mom_diag_mediator::post_data_3d_low</definition>
        <argsstring>(diag, field, diag_cs, is_static, mask)</argsstring>
        <name>post_data_3d_low</name>
        <param>
          <type>diag</type>
          <defname>diag</defname>
        </param>
        <param>
          <type>field</type>
          <defname>field</defname>
        </param>
        <param>
          <type>diag_cs</type>
          <defname>diag_cs</defname>
        </param>
        <param>
          <type>is_static</type>
          <defname>is_static</defname>
        </param>
        <param>
          <type>mask</type>
          <defname>mask</defname>
        </param>
        <briefdescription>
<para>Make a real 3-d array diagnostic available for averaging or output using a <ref refid="structmom__diag__mediator_1_1diag__type" kindref="compound">diag_type</ref> instead of an integer id. </para>
        </briefdescription>
        <detaileddescription>
<para><parameterlist kind="param"><parameteritem>
<parameternamelist>
<parametername direction="in">diag</parametername>
</parameternamelist>
<parameterdescription>
<para>A structure describing the diagnostic to post </para>
</parameterdescription>
</parameteritem>
<parameteritem>
<parameternamelist>
<parametername direction="in">field</parametername>
</parameternamelist>
<parameterdescription>
<para>3-d array being offered for output or averaging </para>
</parameterdescription>
</parameteritem>
<parameteritem>
<parameternamelist>
<parametername direction="in">diag_cs</parametername>
</parameternamelist>
<parameterdescription>
<para>Structure used to regulate diagnostic output </para>
</parameterdescription>
</parameteritem>
<parameteritem>
<parameternamelist>
<parametername direction="in">is_static</parametername>
</parameternamelist>
<parameterdescription>
<para>If true, this is a static field that is always offered. </para>
</parameterdescription>
</parameteritem>
<parameteritem>
<parameternamelist>
<parametername direction="in">mask</parametername>
</parameternamelist>
<parameterdescription>
<para>If present, use this real array as the data mask. </para>
</parameterdescription>
</parameteritem>
</parameterlist>
</para>
        </detaileddescription>
        <inbodydescription>
        </inbodydescription>
        <location file="/home/cermak/src/MOM6.devrob/src/framework/MOM_diag_mediator.F90" line="1644" column="1" bodyfile="/home/cermak/src/MOM6.devrob/src/framework/MOM_diag_mediator.F90" bodystart="1645" bodyend="1812"/>
        <references refid="namespacemom__error__handler_1a33bcd190d460095104954f2e654f9fe6" compoundref="MOM__error__handler_8F90" startline="182" endline="188">mom_error_handler::assert</references>
        <references refid="namespacemom__diag__mediator_1a640ec8fac9bad1d0af6f737d7e816403" compoundref="MOM__diag__mediator_8F90" startline="3951" endline="4099">downsample_field_3d</references>
        <references refid="namespacemom__error__handler_1a460cfb79a06c29fc249952c2a3710d67" compoundref="MOM__error__handler_8F90" startline="72" endline="92">mom_error_handler::mom_error</references>
        <references refid="namespacemom__diag__mediator_1aee297aa161d60188320e803751df9ce4" compoundref="MOM__diag__mediator_8F90" startline="171" endline="171">msk</references>
        <references refid="namespacemom__diag__mediator_1ab41a1779c5edb50aa7256477cef952ae" compoundref="MOM__diag__mediator_8F90" startline="1817" endline="1866">post_xy_average</references>
        <referencedby refid="namespacemom__diag__mediator_1a70116fa6034dcf977a8bdcb4d81f9207" compoundref="MOM__diag__mediator_8F90" startline="1522" endline="1639">post_data_3d</referencedby>
      </memberdef>
      <memberdef kind="function" id="namespacemom__diag__mediator_1ab41a1779c5edb50aa7256477cef952ae" prot="private" static="no" const="no" explicit="no" inline="no" virt="non-virtual">
        <type>subroutine</type>
        <definition>subroutine mom_diag_mediator::post_xy_average</definition>
        <argsstring>(diag_cs, diag, field)</argsstring>
        <name>post_xy_average</name>
        <param>
          <type>diag_cs</type>
          <defname>diag_cs</defname>
        </param>
        <param>
          <type>diag</type>
          <defname>diag</defname>
        </param>
        <param>
          <type>field</type>
          <defname>field</defname>
        </param>
        <briefdescription>
<para>Post the horizontally area-averaged diagnostic. </para>
        </briefdescription>
        <detaileddescription>
<para><parameterlist kind="param"><parameteritem>
<parameternamelist>
<parametername direction="in">diag</parametername>
</parameternamelist>
<parameterdescription>
<para>This diagnostic </para>
</parameterdescription>
</parameteritem>
<parameteritem>
<parameternamelist>
<parametername direction="in">field</parametername>
</parameternamelist>
<parameterdescription>
<para>Diagnostic field </para>
</parameterdescription>
</parameteritem>
<parameteritem>
<parameternamelist>
<parametername direction="in">diag_cs</parametername>
</parameternamelist>
<parameterdescription>
<para>Diagnostics mediator control structure </para>
</parameterdescription>
</parameteritem>
</parameterlist>
</para>
        </detaileddescription>
        <inbodydescription>
        </inbodydescription>
        <location file="/home/cermak/src/MOM6.devrob/src/framework/MOM_diag_mediator.F90" line="1816" column="1" bodyfile="/home/cermak/src/MOM6.devrob/src/framework/MOM_diag_mediator.F90" bodystart="1817" bodyend="1866"/>
        <references refid="namespacemom__error__handler_1a33bcd190d460095104954f2e654f9fe6" compoundref="MOM__error__handler_8F90" startline="182" endline="188">mom_error_handler::assert</references>
        <references refid="namespacemom__diag__remap_1ae649e9dc9616184266d542bce5d9a452" compoundref="MOM__diag__remap_8F90" startline="656" endline="796">mom_diag_remap::horizontally_average_diag_field</references>
        <referencedby refid="namespacemom__diag__mediator_1ae11cae949c3f8cf68d2c70f656aa9c54" compoundref="MOM__diag__mediator_8F90" startline="1645" endline="1812">post_data_3d_low</referencedby>
      </memberdef>
      <memberdef kind="function" id="namespacemom__diag__mediator_1a91244f765f2964dfb11f8787f65042f1" prot="public" static="no" const="no" explicit="no" inline="no" virt="non-virtual">
        <type>subroutine, public</type>
        <definition>subroutine, public mom_diag_mediator::enable_averaging</definition>
        <argsstring>(time_int_in, time_end_in, diag_cs)</argsstring>
        <name>enable_averaging</name>
        <param>
          <type>time_int_in</type>
          <defname>time_int_in</defname>
        </param>
        <param>
          <type>time_end_in</type>
          <defname>time_end_in</defname>
        </param>
        <param>
          <type>diag_cs</type>
          <defname>diag_cs</defname>
        </param>
        <briefdescription>
<para>This subroutine enables the accumulation of time averages over the specified time interval. </para>
        </briefdescription>
        <detaileddescription>
<para><parameterlist kind="param"><parameteritem>
<parameternamelist>
<parametername direction="in">time_int_in</parametername>
</parameternamelist>
<parameterdescription>
<para>The time interval [s] over which any values that are offered are valid. </para>
</parameterdescription>
</parameteritem>
<parameteritem>
<parameternamelist>
<parametername direction="in">time_end_in</parametername>
</parameternamelist>
<parameterdescription>
<para>The end time of the valid interval </para>
</parameterdescription>
</parameteritem>
<parameteritem>
<parameternamelist>
<parametername direction="inout">diag_cs</parametername>
</parameternamelist>
<parameterdescription>
<para>Structure used to regulate diagnostic output </para>
</parameterdescription>
</parameteritem>
</parameterlist>
</para>
        </detaileddescription>
        <inbodydescription>
        </inbodydescription>
        <location file="/home/cermak/src/MOM6.devrob/src/framework/MOM_diag_mediator.F90" line="1870" column="1" bodyfile="/home/cermak/src/MOM6.devrob/src/framework/MOM_diag_mediator.F90" bodystart="1871" bodyend="1881"/>
        <referencedby refid="namespacemom__barotropic_1ac60353f002de5980317d117a3db1a075" compoundref="MOM__barotropic_8F90" startline="411" endline="2638">mom_barotropic::btstep</referencedby>
        <referencedby refid="namespacemom__forcing__type_1a014d07725581af8ede287ea2a2322259" compoundref="MOM__forcing__type_8F90" startline="2217" endline="2267">mom_forcing_type::mech_forcing_diags</referencedby>
        <referencedby refid="MOM__driver_8F90_1a08fffeb2d8e8acbf9ed4609be6d258c6" compoundref="MOM__driver_8F90" startline="1">mom_main</referencedby>
        <referencedby refid="namespacemom__ice__shelf_1a21a2a3ddec5ea25c7bca246419e4dcfe" compoundref="MOM__ice__shelf_8F90" startline="195" endline="723">mom_ice_shelf::shelf_calc_flux</referencedby>
      </memberdef>
      <memberdef kind="function" id="namespacemom__diag__mediator_1ada4d9d69fb0d79a0fe20a307eaf1ca9c" prot="public" static="no" const="no" explicit="no" inline="no" virt="non-virtual">
        <type>subroutine, public</type>
        <definition>subroutine, public mom_diag_mediator::enable_averages</definition>
        <argsstring>(time_int, time_end, diag_CS, T_to_s)</argsstring>
        <name>enable_averages</name>
        <param>
          <type>time_int</type>
          <defname>time_int</defname>
        </param>
        <param>
          <type>time_end</type>
          <defname>time_end</defname>
        </param>
        <param>
          <type>diag_CS</type>
          <defname>diag_CS</defname>
        </param>
        <param>
          <type>T_to_s</type>
          <defname>T_to_s</defname>
        </param>
        <briefdescription>
<para>Enable the accumulation of time averages over the specified time interval in time units. </para>
        </briefdescription>
        <detaileddescription>
<para><parameterlist kind="param"><parameteritem>
<parameternamelist>
<parametername direction="in">time_int</parametername>
</parameternamelist>
<parameterdescription>
<para>The time interval over which any values that are offered are valid [T ~&gt; s]. </para>
</parameterdescription>
</parameteritem>
<parameteritem>
<parameternamelist>
<parametername direction="in">time_end</parametername>
</parameternamelist>
<parameterdescription>
<para>The end time of the valid interval. </para>
</parameterdescription>
</parameteritem>
<parameteritem>
<parameternamelist>
<parametername direction="inout">diag_cs</parametername>
</parameternamelist>
<parameterdescription>
<para>A structure that is used to regulate diagnostic output </para>
</parameterdescription>
</parameteritem>
<parameteritem>
<parameternamelist>
<parametername direction="in">t_to_s</parametername>
</parameternamelist>
<parameterdescription>
<para>A conversion factor for time_int to [s]. </para>
</parameterdescription>
</parameteritem>
</parameterlist>
</para>
        </detaileddescription>
        <inbodydescription>
        </inbodydescription>
        <location file="/home/cermak/src/MOM6.devrob/src/framework/MOM_diag_mediator.F90" line="1885" column="1" bodyfile="/home/cermak/src/MOM6.devrob/src/framework/MOM_diag_mediator.F90" bodystart="1886" bodyend="1901"/>
        <referencedby refid="namespacemom__forcing__type_1a18fc44b1946351373f626fcc5aabc340" compoundref="MOM__forcing__type_8F90" startline="2274" endline="2860">mom_forcing_type::forcing_diagnostics</referencedby>
        <referencedby refid="namespacemom__ice__shelf_1a0678e919d45fc9e9e9b00dce3564a2fc" compoundref="MOM__ice__shelf_8F90" startline="1804" endline="1869">mom_ice_shelf::solo_step_ice_shelf</referencedby>
        <referencedby refid="namespacemom__ice__shelf__dynamics_1adb908b77efa101749be0be069916139c" compoundref="MOM__ice__shelf__dynamics_8F90" startline="632" endline="688">mom_ice_shelf_dynamics::update_ice_shelf</referencedby>
      </memberdef>
      <memberdef kind="function" id="namespacemom__diag__mediator_1a1761df399ba39742e34ab989469da0f2" prot="public" static="no" const="no" explicit="no" inline="no" virt="non-virtual">
        <type>subroutine, public</type>
        <definition>subroutine, public mom_diag_mediator::disable_averaging</definition>
        <argsstring>(diag_cs)</argsstring>
        <name>disable_averaging</name>
        <param>
          <type>diag_cs</type>
          <defname>diag_cs</defname>
        </param>
        <briefdescription>
<para>Call this subroutine to avoid averaging any offered fields. </para>
        </briefdescription>
        <detaileddescription>
<para><parameterlist kind="param"><parameteritem>
<parameternamelist>
<parametername direction="inout">diag_cs</parametername>
</parameternamelist>
<parameterdescription>
<para>Structure used to regulate diagnostic output </para>
</parameterdescription>
</parameteritem>
</parameterlist>
</para>
        </detaileddescription>
        <inbodydescription>
        </inbodydescription>
        <location file="/home/cermak/src/MOM6.devrob/src/framework/MOM_diag_mediator.F90" line="1905" column="1" bodyfile="/home/cermak/src/MOM6.devrob/src/framework/MOM_diag_mediator.F90" bodystart="1906" bodyend="1910"/>
        <referencedby refid="namespacemom__forcing__type_1a18fc44b1946351373f626fcc5aabc340" compoundref="MOM__forcing__type_8F90" startline="2274" endline="2860">mom_forcing_type::forcing_diagnostics</referencedby>
        <referencedby refid="namespacemom__forcing__type_1a014d07725581af8ede287ea2a2322259" compoundref="MOM__forcing__type_8F90" startline="2217" endline="2267">mom_forcing_type::mech_forcing_diags</referencedby>
        <referencedby refid="MOM__driver_8F90_1a08fffeb2d8e8acbf9ed4609be6d258c6" compoundref="MOM__driver_8F90" startline="1">mom_main</referencedby>
        <referencedby refid="namespacemom__ice__shelf_1a21a2a3ddec5ea25c7bca246419e4dcfe" compoundref="MOM__ice__shelf_8F90" startline="195" endline="723">mom_ice_shelf::shelf_calc_flux</referencedby>
        <referencedby refid="namespacemom__ice__shelf_1a0678e919d45fc9e9e9b00dce3564a2fc" compoundref="MOM__ice__shelf_8F90" startline="1804" endline="1869">mom_ice_shelf::solo_step_ice_shelf</referencedby>
        <referencedby refid="namespacemom__ice__shelf__dynamics_1adb908b77efa101749be0be069916139c" compoundref="MOM__ice__shelf__dynamics_8F90" startline="632" endline="688">mom_ice_shelf_dynamics::update_ice_shelf</referencedby>
      </memberdef>
      <memberdef kind="function" id="namespacemom__diag__mediator_1a0be5d1cbc6c6f8f63950ce7d9bc6455a" prot="public" static="no" const="no" explicit="no" inline="no" virt="non-virtual">
        <type>logical function, public</type>
        <definition>logical function, public mom_diag_mediator::query_averaging_enabled</definition>
        <argsstring>(diag_cs, time_int, time_end)</argsstring>
        <name>query_averaging_enabled</name>
        <param>
          <type>diag_cs</type>
          <defname>diag_cs</defname>
        </param>
        <param>
          <type>time_int</type>
          <defname>time_int</defname>
        </param>
        <param>
          <type>time_end</type>
          <defname>time_end</defname>
        </param>
        <briefdescription>
<para>Call this subroutine to determine whether the averaging is currently enabled. .true. is returned if it is. </para>
        </briefdescription>
        <detaileddescription>
<para><parameterlist kind="param"><parameteritem>
<parameternamelist>
<parametername direction="in">diag_cs</parametername>
</parameternamelist>
<parameterdescription>
<para>Structure used to regulate diagnostic output </para>
</parameterdescription>
</parameteritem>
<parameteritem>
<parameternamelist>
<parametername direction="out">time_int</parametername>
</parameternamelist>
<parameterdescription>
<para>Current setting of diagtime_int [s] </para>
</parameterdescription>
</parameteritem>
<parameteritem>
<parameternamelist>
<parametername direction="out">time_end</parametername>
</parameternamelist>
<parameterdescription>
<para>Current setting of diagtime_end </para>
</parameterdescription>
</parameteritem>
</parameterlist>
</para>
        </detaileddescription>
        <inbodydescription>
        </inbodydescription>
        <location file="/home/cermak/src/MOM6.devrob/src/framework/MOM_diag_mediator.F90" line="1915" column="1" bodyfile="/home/cermak/src/MOM6.devrob/src/framework/MOM_diag_mediator.F90" bodystart="1916" bodyend="1923"/>
        <referencedby refid="namespacemom__lateral__mixing__coeffs_1a8652c5651033573cfd6f09b789d64713" compoundref="MOM__lateral__mixing__coeffs_8F90" startline="191" endline="431">mom_lateral_mixing_coeffs::calc_resoln_function</referencedby>
        <referencedby refid="namespacemom__lateral__mixing__coeffs_1a1afa768a2df4c937842247cea00d184a" compoundref="MOM__lateral__mixing__coeffs_8F90" startline="437" endline="477">mom_lateral_mixing_coeffs::calc_slope_functions</referencedby>
        <referencedby refid="namespacemom__lateral__mixing__coeffs_1ac7307f59d005a7b45a642f94eee7c8be" compoundref="MOM__lateral__mixing__coeffs_8F90" startline="482" endline="641">mom_lateral_mixing_coeffs::calc_visbeck_coeffs</referencedby>
        <referencedby refid="namespacemom__opacity_1a05ef9c5d86adff869fad832f3083bba4" compoundref="MOM__opacity_8F90" startline="93" endline="214">mom_opacity::set_opacity</referencedby>
      </memberdef>
      <memberdef kind="function" id="namespacemom__diag__mediator_1a76e845bc64dfd5116f41fe90922b7937" prot="public" static="no" const="no" explicit="no" inline="no" virt="non-virtual">
        <type>type(time_type) function, public</type>
        <definition>type(time_type) function, public mom_diag_mediator::get_diag_time_end</definition>
        <argsstring>(diag_cs)</argsstring>
        <name>get_diag_time_end</name>
        <param>
          <type>diag_cs</type>
          <defname>diag_cs</defname>
        </param>
        <briefdescription>
<para>This function returns the valid end time for use with diagnostics that are handled outside of the MOM6 diagnostics infrastructure. </para>
        </briefdescription>
        <detaileddescription>
<para><parameterlist kind="param"><parameteritem>
<parameternamelist>
<parametername direction="in">diag_cs</parametername>
</parameternamelist>
<parameterdescription>
<para>Structure used to regulate diagnostic output </para>
</parameterdescription>
</parameteritem>
</parameterlist>
</para>
        </detaileddescription>
        <inbodydescription>
        </inbodydescription>
        <location file="/home/cermak/src/MOM6.devrob/src/framework/MOM_diag_mediator.F90" line="1928" column="1" bodyfile="/home/cermak/src/MOM6.devrob/src/framework/MOM_diag_mediator.F90" bodystart="1929" bodyend="1934"/>
        <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>
      </memberdef>
      <memberdef kind="function" id="namespacemom__diag__mediator_1ada491446bf7216fe101e6b0f6ed551e1" prot="public" static="no" const="no" explicit="no" inline="no" virt="non-virtual">
        <type>integer function, public</type>
        <definition>integer function, public mom_diag_mediator::register_diag_field</definition>
        <argsstring>(module_name, field_name, axes_in, init_time, long_name, units, missing_value, range, mask_variant, standard_name, verbose, do_not_log, err_msg, interp_method, tile_count, cmor_field_name, cmor_long_name, cmor_units, cmor_standard_name, cell_methods, x_cell_method, y_cell_method, v_cell_method, conversion, v_extensive)</argsstring>
        <name>register_diag_field</name>
        <param>
          <type>module_name</type>
          <defname>module_name</defname>
        </param>
        <param>
          <type>field_name</type>
          <defname>field_name</defname>
        </param>
        <param>
          <type>axes_in</type>
          <defname>axes_in</defname>
        </param>
        <param>
          <type>init_time</type>
          <defname>init_time</defname>
        </param>
        <param>
          <type>long_name</type>
          <defname>long_name</defname>
        </param>
        <param>
          <type>units</type>
          <defname>units</defname>
        </param>
        <param>
          <type>missing_value</type>
          <defname>missing_value</defname>
        </param>
        <param>
          <type>range</type>
          <defname>range</defname>
        </param>
        <param>
          <type>mask_variant</type>
          <defname>mask_variant</defname>
        </param>
        <param>
          <type>standard_name</type>
          <defname>standard_name</defname>
        </param>
        <param>
          <type>verbose</type>
          <defname>verbose</defname>
        </param>
        <param>
          <type>do_not_log</type>
          <defname>do_not_log</defname>
        </param>
        <param>
          <type>err_msg</type>
          <defname>err_msg</defname>
        </param>
        <param>
          <type>interp_method</type>
          <defname>interp_method</defname>
        </param>
        <param>
          <type>tile_count</type>
          <defname>tile_count</defname>
        </param>
        <param>
          <type>cmor_field_name</type>
          <defname>cmor_field_name</defname>
        </param>
        <param>
          <type>cmor_long_name</type>
          <defname>cmor_long_name</defname>
        </param>
        <param>
          <type>cmor_units</type>
          <defname>cmor_units</defname>
        </param>
        <param>
          <type>cmor_standard_name</type>
          <defname>cmor_standard_name</defname>
        </param>
        <param>
          <type>cell_methods</type>
          <defname>cell_methods</defname>
        </param>
        <param>
          <type>x_cell_method</type>
          <defname>x_cell_method</defname>
        </param>
        <param>
          <type>y_cell_method</type>
          <defname>y_cell_method</defname>
        </param>
        <param>
          <type>v_cell_method</type>
          <defname>v_cell_method</defname>
        </param>
        <param>
          <type>conversion</type>
          <defname>conversion</defname>
        </param>
        <param>
          <type>v_extensive</type>
          <defname>v_extensive</defname>
        </param>
        <briefdescription>
<para>Returns the &quot;diag_mediator&quot; handle for a group (native, CMOR, z-coord, ...) of diagnostics derived from one field. </para>
        </briefdescription>
        <detaileddescription>
<para><parameterlist kind="param"><parameteritem>
<parameternamelist>
<parametername direction="in">module_name</parametername>
</parameternamelist>
<parameterdescription>
<para>Name of this module, usually &quot;ocean_model&quot; or &quot;ice_shelf_model&quot; </para>
</parameterdescription>
</parameteritem>
<parameteritem>
<parameternamelist>
<parametername direction="in">field_name</parametername>
</parameternamelist>
<parameterdescription>
<para>Name of the diagnostic field </para>
</parameterdescription>
</parameteritem>
<parameteritem>
<parameternamelist>
<parametername direction="in">axes_in</parametername>
</parameternamelist>
<parameterdescription>
<para>Container w/ up to 3 integer handles that indicates axes for this field </para>
</parameterdescription>
</parameteritem>
<parameteritem>
<parameternamelist>
<parametername direction="in">init_time</parametername>
</parameternamelist>
<parameterdescription>
<para>Time at which a field is first available? </para>
</parameterdescription>
</parameteritem>
<parameteritem>
<parameternamelist>
<parametername direction="in">long_name</parametername>
</parameternamelist>
<parameterdescription>
<para>Long name of a field. </para>
</parameterdescription>
</parameteritem>
<parameteritem>
<parameternamelist>
<parametername direction="in">units</parametername>
</parameternamelist>
<parameterdescription>
<para>Units of a field. </para>
</parameterdescription>
</parameteritem>
<parameteritem>
<parameternamelist>
<parametername direction="in">standard_name</parametername>
</parameternamelist>
<parameterdescription>
<para>Standardized name associated with a field </para>
</parameterdescription>
</parameteritem>
<parameteritem>
<parameternamelist>
<parametername direction="in">missing_value</parametername>
</parameternamelist>
<parameterdescription>
<para>A value that indicates missing values. </para>
</parameterdescription>
</parameteritem>
<parameteritem>
<parameternamelist>
<parametername direction="in">range</parametername>
</parameternamelist>
<parameterdescription>
<para>Valid range of a variable (not used in MOM?) </para>
</parameterdescription>
</parameteritem>
<parameteritem>
<parameternamelist>
<parametername direction="in">mask_variant</parametername>
</parameternamelist>
<parameterdescription>
<para>If true a logical mask must be provided with <ref refid="interfacemom__diag__mediator_1_1post__data" kindref="compound">post_data</ref> calls (not used in MOM?) </para>
</parameterdescription>
</parameteritem>
<parameteritem>
<parameternamelist>
<parametername direction="in">verbose</parametername>
</parameternamelist>
<parameterdescription>
<para>If true, FMS is verbose (not used in MOM?) </para>
</parameterdescription>
</parameteritem>
<parameteritem>
<parameternamelist>
<parametername direction="in">do_not_log</parametername>
</parameternamelist>
<parameterdescription>
<para>If true, do not log something (not used in MOM?) </para>
</parameterdescription>
</parameteritem>
<parameteritem>
<parameternamelist>
<parametername direction="out">err_msg</parametername>
</parameternamelist>
<parameterdescription>
<para>String into which an error message might be placed (not used in MOM?) </para>
</parameterdescription>
</parameteritem>
<parameteritem>
<parameternamelist>
<parametername direction="in">interp_method</parametername>
</parameternamelist>
<parameterdescription>
<para>If &apos;none&apos; indicates the field should not be interpolated as a scalar </para>
</parameterdescription>
</parameteritem>
<parameteritem>
<parameternamelist>
<parametername direction="in">tile_count</parametername>
</parameternamelist>
<parameterdescription>
<para>no clue (not used in MOM?) </para>
</parameterdescription>
</parameteritem>
<parameteritem>
<parameternamelist>
<parametername direction="in">cmor_field_name</parametername>
</parameternamelist>
<parameterdescription>
<para>CMOR name of a field </para>
</parameterdescription>
</parameteritem>
<parameteritem>
<parameternamelist>
<parametername direction="in">cmor_long_name</parametername>
</parameternamelist>
<parameterdescription>
<para>CMOR long name of a field </para>
</parameterdescription>
</parameteritem>
<parameteritem>
<parameternamelist>
<parametername direction="in">cmor_units</parametername>
</parameternamelist>
<parameterdescription>
<para>CMOR units of a field </para>
</parameterdescription>
</parameteritem>
<parameteritem>
<parameternamelist>
<parametername direction="in">cmor_standard_name</parametername>
</parameternamelist>
<parameterdescription>
<para>CMOR standardized name associated with a field </para>
</parameterdescription>
</parameteritem>
<parameteritem>
<parameternamelist>
<parametername direction="in">cell_methods</parametername>
</parameternamelist>
<parameterdescription>
<para>String to append as cell_methods attribute. Use &apos;&apos; to have no attribute. If present, this overrides the default constructed from the default for each individual axis direction. </para>
</parameterdescription>
</parameteritem>
<parameteritem>
<parameternamelist>
<parametername direction="in">x_cell_method</parametername>
</parameternamelist>
<parameterdescription>
<para>Specifies the cell method for the x-direction. Use &apos;&apos; have no method. </para>
</parameterdescription>
</parameteritem>
<parameteritem>
<parameternamelist>
<parametername direction="in">y_cell_method</parametername>
</parameternamelist>
<parameterdescription>
<para>Specifies the cell method for the y-direction. Use &apos;&apos; have no method. </para>
</parameterdescription>
</parameteritem>
<parameteritem>
<parameternamelist>
<parametername direction="in">v_cell_method</parametername>
</parameternamelist>
<parameterdescription>
<para>Specifies the cell method for the vertical direction. Use &apos;&apos; have no method. </para>
</parameterdescription>
</parameteritem>
<parameteritem>
<parameternamelist>
<parametername direction="in">conversion</parametername>
</parameternamelist>
<parameterdescription>
<para>A value to multiply data by before writing to file </para>
</parameterdescription>
</parameteritem>
<parameteritem>
<parameternamelist>
<parametername direction="in">v_extensive</parametername>
</parameternamelist>
<parameterdescription>
<para>True for vertically extensive fields (vertically integrated). Default/absent for intensive. </para>
</parameterdescription>
</parameteritem>
</parameterlist>
</para>
        </detaileddescription>
        <inbodydescription>
        </inbodydescription>
        <location file="/home/cermak/src/MOM6.devrob/src/framework/MOM_diag_mediator.F90" line="1939" column="1" bodyfile="/home/cermak/src/MOM6.devrob/src/framework/MOM_diag_mediator.F90" bodystart="1944" bodyend="2177"/>
        <references refid="namespacemom__error__handler_1a460cfb79a06c29fc249952c2a3710d67" compoundref="MOM__error__handler_8F90" startline="72" endline="92">mom_error_handler::mom_error</references>
        <references refid="namespacemom__diag__mediator_1ae50b35cba800ac5fd8975929fd2b9f4a" compoundref="MOM__diag__mediator_8F90" startline="2187" endline="2344">register_diag_field_expand_cmor</references>
        <referencedby refid="namespacemom__coriolisadv_1ae021ac8de3b3510ca4552314ec9e1a9a" compoundref="MOM__CoriolisAdv_8F90" startline="1012" endline="1243">mom_coriolisadv::coriolisadv_init</referencedby>
        <referencedby refid="namespacemom__diapyc__energy__req_1a63b127bfd78461d8df3449591792b224" compoundref="MOM__diapyc__energy__req_8F90" startline="1270" endline="1347">mom_diapyc_energy_req::diapyc_energy_req_init</referencedby>
        <referencedby refid="namespacemom__int__tide__input_1a134b589adde1907265c096afdb9a23b8" compoundref="MOM__internal__tide__input_8F90" startline="269" endline="421">mom_int_tide_input::int_tide_input_init</referencedby>
        <referencedby refid="namespacemom__cvmix__kpp_1ada767f6da63b74348a7461eb1d12c5d6" compoundref="MOM__CVMix__KPP_8F90" startline="185" endline="597">mom_cvmix_kpp::kpp_init</referencedby>
        <referencedby refid="namespacemom__diag__mediator_1a21267e25d12fa3e5d2540d2a299d2d2c" compoundref="MOM__diag__mediator_8F90" startline="2926" endline="3025">ocean_register_diag</referencedby>
        <referencedby refid="namespacemom__opacity_1a39fce7bd33a469e3e9fe7cfeb51825b5" compoundref="MOM__opacity_8F90" startline="920" endline="1114">mom_opacity::opacity_init</referencedby>
        <referencedby refid="namespacemom__diag__mediator_1a820eb49d3acf041c630ce1373bef799e" compoundref="MOM__diag__mediator_8F90" startline="951" endline="961">register_cell_measure</referencedby>
        <referencedby refid="namespacemom__offline__main_1a0adf88ec8f84684573c1bafd91b22cf6" compoundref="MOM__offline__main_8F90" startline="1115" endline="1167">mom_offline_main::register_diags_offline_transport</referencedby>
        <referencedby refid="namespacemom__set__diffusivity_1ac0c0f4b8458cb5610514ee068482f4bb" compoundref="MOM__set__diffusivity_8F90" startline="2011" endline="2342">mom_set_diffusivity::set_diffusivity_init</referencedby>
        <referencedby refid="namespacemom__tracer__hor__diff_1a87eed0408da0c4732372732b34451b73" compoundref="MOM__tracer__hor__diff_8F90" startline="1434" endline="1550">mom_tracer_hor_diff::tracer_hor_diff_init</referencedby>
      </memberdef>
      <memberdef kind="function" id="namespacemom__diag__mediator_1ae50b35cba800ac5fd8975929fd2b9f4a" prot="private" static="no" const="no" explicit="no" inline="no" virt="non-virtual">
        <type>logical function</type>
        <definition>logical function mom_diag_mediator::register_diag_field_expand_cmor</definition>
        <argsstring>(dm_id, module_name, field_name, axes, init_time, long_name, units, missing_value, range, mask_variant, standard_name, verbose, do_not_log, err_msg, interp_method, tile_count, cmor_field_name, cmor_long_name, cmor_units, cmor_standard_name, cell_methods, x_cell_method, y_cell_method, v_cell_method, conversion, v_extensive)</argsstring>
        <name>register_diag_field_expand_cmor</name>
        <param>
          <type>dm_id</type>
          <defname>dm_id</defname>
        </param>
        <param>
          <type>module_name</type>
          <defname>module_name</defname>
        </param>
        <param>
          <type>field_name</type>
          <defname>field_name</defname>
        </param>
        <param>
          <type>axes</type>
          <defname>axes</defname>
        </param>
        <param>
          <type>init_time</type>
          <defname>init_time</defname>
        </param>
        <param>
          <type>long_name</type>
          <defname>long_name</defname>
        </param>
        <param>
          <type>units</type>
          <defname>units</defname>
        </param>
        <param>
          <type>missing_value</type>
          <defname>missing_value</defname>
        </param>
        <param>
          <type>range</type>
          <defname>range</defname>
        </param>
        <param>
          <type>mask_variant</type>
          <defname>mask_variant</defname>
        </param>
        <param>
          <type>standard_name</type>
          <defname>standard_name</defname>
        </param>
        <param>
          <type>verbose</type>
          <defname>verbose</defname>
        </param>
        <param>
          <type>do_not_log</type>
          <defname>do_not_log</defname>
        </param>
        <param>
          <type>err_msg</type>
          <defname>err_msg</defname>
        </param>
        <param>
          <type>interp_method</type>
          <defname>interp_method</defname>
        </param>
        <param>
          <type>tile_count</type>
          <defname>tile_count</defname>
        </param>
        <param>
          <type>cmor_field_name</type>
          <defname>cmor_field_name</defname>
        </param>
        <param>
          <type>cmor_long_name</type>
          <defname>cmor_long_name</defname>
        </param>
        <param>
          <type>cmor_units</type>
          <defname>cmor_units</defname>
        </param>
        <param>
          <type>cmor_standard_name</type>
          <defname>cmor_standard_name</defname>
        </param>
        <param>
          <type>cell_methods</type>
          <defname>cell_methods</defname>
        </param>
        <param>
          <type>x_cell_method</type>
          <defname>x_cell_method</defname>
        </param>
        <param>
          <type>y_cell_method</type>
          <defname>y_cell_method</defname>
        </param>
        <param>
          <type>v_cell_method</type>
          <defname>v_cell_method</defname>
        </param>
        <param>
          <type>conversion</type>
          <defname>conversion</defname>
        </param>
        <param>
          <type>v_extensive</type>
          <defname>v_extensive</defname>
        </param>
        <briefdescription>
<para>Returns True if either the native or CMOr version of the diagnostic were registered. Updates &apos;dm_id&apos; after calling <ref refid="namespacemom__diag__mediator_1aca4a32fea8dade9f51e076a56b9bad2b" kindref="member">register_diag_field_expand_axes()</ref> for both native and CMOR variants of the field. </para>
        </briefdescription>
        <detaileddescription>
<para><parameterlist kind="param"><parameteritem>
<parameternamelist>
<parametername direction="inout">dm_id</parametername>
</parameternamelist>
<parameterdescription>
<para>The diag_mediator ID for this diagnostic group </para>
</parameterdescription>
</parameteritem>
<parameteritem>
<parameternamelist>
<parametername direction="in">module_name</parametername>
</parameternamelist>
<parameterdescription>
<para>Name of this module, usually &quot;ocean_model&quot; or &quot;ice_shelf_model&quot; </para>
</parameterdescription>
</parameteritem>
<parameteritem>
<parameternamelist>
<parametername direction="in">field_name</parametername>
</parameternamelist>
<parameterdescription>
<para>Name of the diagnostic field </para>
</parameterdescription>
</parameteritem>
<parameteritem>
<parameternamelist>
<parametername direction="in">axes</parametername>
</parameternamelist>
<parameterdescription>
<para>Container w/ up to 3 integer handles that indicates axes for this field </para>
</parameterdescription>
</parameteritem>
<parameteritem>
<parameternamelist>
<parametername direction="in">init_time</parametername>
</parameternamelist>
<parameterdescription>
<para>Time at which a field is first available? </para>
</parameterdescription>
</parameteritem>
<parameteritem>
<parameternamelist>
<parametername direction="in">long_name</parametername>
</parameternamelist>
<parameterdescription>
<para>Long name of a field. </para>
</parameterdescription>
</parameteritem>
<parameteritem>
<parameternamelist>
<parametername direction="in">units</parametername>
</parameternamelist>
<parameterdescription>
<para>Units of a field. </para>
</parameterdescription>
</parameteritem>
<parameteritem>
<parameternamelist>
<parametername direction="in">standard_name</parametername>
</parameternamelist>
<parameterdescription>
<para>Standardized name associated with a field </para>
</parameterdescription>
</parameteritem>
<parameteritem>
<parameternamelist>
<parametername direction="in">missing_value</parametername>
</parameternamelist>
<parameterdescription>
<para>A value that indicates missing values. </para>
</parameterdescription>
</parameteritem>
<parameteritem>
<parameternamelist>
<parametername direction="in">range</parametername>
</parameternamelist>
<parameterdescription>
<para>Valid range of a variable (not used in MOM?) </para>
</parameterdescription>
</parameteritem>
<parameteritem>
<parameternamelist>
<parametername direction="in">mask_variant</parametername>
</parameternamelist>
<parameterdescription>
<para>If true a logical mask must be provided with <ref refid="interfacemom__diag__mediator_1_1post__data" kindref="compound">post_data</ref> calls (not used in MOM?) </para>
</parameterdescription>
</parameteritem>
<parameteritem>
<parameternamelist>
<parametername direction="in">verbose</parametername>
</parameternamelist>
<parameterdescription>
<para>If true, FMS is verbose (not used in MOM?) </para>
</parameterdescription>
</parameteritem>
<parameteritem>
<parameternamelist>
<parametername direction="in">do_not_log</parametername>
</parameternamelist>
<parameterdescription>
<para>If true, do not log something (not used in MOM?) </para>
</parameterdescription>
</parameteritem>
<parameteritem>
<parameternamelist>
<parametername direction="out">err_msg</parametername>
</parameternamelist>
<parameterdescription>
<para>String into which an error message might be placed (not used in MOM?) </para>
</parameterdescription>
</parameteritem>
<parameteritem>
<parameternamelist>
<parametername direction="in">interp_method</parametername>
</parameternamelist>
<parameterdescription>
<para>If &apos;none&apos; indicates the field should not be interpolated as a scalar </para>
</parameterdescription>
</parameteritem>
<parameteritem>
<parameternamelist>
<parametername direction="in">tile_count</parametername>
</parameternamelist>
<parameterdescription>
<para>no clue (not used in MOM?) </para>
</parameterdescription>
</parameteritem>
<parameteritem>
<parameternamelist>
<parametername direction="in">cmor_field_name</parametername>
</parameternamelist>
<parameterdescription>
<para>CMOR name of a field </para>
</parameterdescription>
</parameteritem>
<parameteritem>
<parameternamelist>
<parametername direction="in">cmor_long_name</parametername>
</parameternamelist>
<parameterdescription>
<para>CMOR long name of a field </para>
</parameterdescription>
</parameteritem>
<parameteritem>
<parameternamelist>
<parametername direction="in">cmor_units</parametername>
</parameternamelist>
<parameterdescription>
<para>CMOR units of a field </para>
</parameterdescription>
</parameteritem>
<parameteritem>
<parameternamelist>
<parametername direction="in">cmor_standard_name</parametername>
</parameternamelist>
<parameterdescription>
<para>CMOR standardized name associated with a field </para>
</parameterdescription>
</parameteritem>
<parameteritem>
<parameternamelist>
<parametername direction="in">cell_methods</parametername>
</parameternamelist>
<parameterdescription>
<para>String to append as cell_methods attribute. Use &apos;&apos; to have no attribute. If present, this overrides the default constructed from the default for each individual axis direction. </para>
</parameterdescription>
</parameteritem>
<parameteritem>
<parameternamelist>
<parametername direction="in">x_cell_method</parametername>
</parameternamelist>
<parameterdescription>
<para>Specifies the cell method for the x-direction. Use &apos;&apos; have no method. </para>
</parameterdescription>
</parameteritem>
<parameteritem>
<parameternamelist>
<parametername direction="in">y_cell_method</parametername>
</parameternamelist>
<parameterdescription>
<para>Specifies the cell method for the y-direction. Use &apos;&apos; have no method. </para>
</parameterdescription>
</parameteritem>
<parameteritem>
<parameternamelist>
<parametername direction="in">v_cell_method</parametername>
</parameternamelist>
<parameterdescription>
<para>Specifies the cell method for the vertical direction. Use &apos;&apos; have no method. </para>
</parameterdescription>
</parameteritem>
<parameteritem>
<parameternamelist>
<parametername direction="in">conversion</parametername>
</parameternamelist>
<parameterdescription>
<para>A value to multiply data by before writing to file </para>
</parameterdescription>
</parameteritem>
<parameteritem>
<parameternamelist>
<parametername direction="in">v_extensive</parametername>
</parameternamelist>
<parameterdescription>
<para>True for vertically extensive fields (vertically integrated). Default/absent for intensive. </para>
</parameterdescription>
</parameteritem>
</parameterlist>
</para>
        </detaileddescription>
        <inbodydescription>
        </inbodydescription>
        <location file="/home/cermak/src/MOM6.devrob/src/framework/MOM_diag_mediator.F90" line="2182" column="1" bodyfile="/home/cermak/src/MOM6.devrob/src/framework/MOM_diag_mediator.F90" bodystart="2187" bodyend="2344"/>
        <references refid="namespacemom__diag__mediator_1a8415b33a337b1fbc7535688eca85ab37" compoundref="MOM__diag__mediator_8F90" startline="2454" endline="2474">add_diag_to_list</references>
        <references refid="namespacemom__diag__mediator_1a14d405e0958e6e58797253c52c666cdb" compoundref="MOM__diag__mediator_8F90" startline="2480" endline="2537">add_xyz_method</references>
        <references refid="namespacemom__diag__mediator_1ae0f04c145cb120fc2ab6cbfe9f166392" compoundref="MOM__diag__mediator_8F90" startline="2543" endline="2655">attach_cell_methods</references>
        <references refid="namespacemom__error__handler_1ad5f00a53059c72fe2332d1436c80ca71" compoundref="MOM__error__handler_8F90" startline="44" endline="48">mom_error_handler::is_root_pe</references>
        <references refid="namespacemom__diag__mediator_1a65fe8d329cf5dbfd08c98874a7a64407" compoundref="MOM__diag__mediator_8F90" startline="3544" endline="3572">log_available_diag</references>
        <references refid="namespacemom__diag__mediator_1aca4a32fea8dade9f51e076a56b9bad2b" compoundref="MOM__diag__mediator_8F90" startline="2352" endline="2449">register_diag_field_expand_axes</references>
        <referencedby refid="namespacemom__diag__mediator_1ada491446bf7216fe101e6b0f6ed551e1" compoundref="MOM__diag__mediator_8F90" startline="1944" endline="2177">register_diag_field</referencedby>
      </memberdef>
      <memberdef kind="function" id="namespacemom__diag__mediator_1aca4a32fea8dade9f51e076a56b9bad2b" prot="private" static="no" const="no" explicit="no" inline="no" virt="non-virtual">
        <type>integer function</type>
        <definition>integer function mom_diag_mediator::register_diag_field_expand_axes</definition>
        <argsstring>(module_name, field_name, axes, init_time, long_name, units, missing_value, range, mask_variant, standard_name, verbose, do_not_log, err_msg, interp_method, tile_count)</argsstring>
        <name>register_diag_field_expand_axes</name>
        <param>
          <type>module_name</type>
          <defname>module_name</defname>
        </param>
        <param>
          <type>field_name</type>
          <defname>field_name</defname>
        </param>
        <param>
          <type>axes</type>
          <defname>axes</defname>
        </param>
        <param>
          <type>init_time</type>
          <defname>init_time</defname>
        </param>
        <param>
          <type>long_name</type>
          <defname>long_name</defname>
        </param>
        <param>
          <type>units</type>
          <defname>units</defname>
        </param>
        <param>
          <type>missing_value</type>
          <defname>missing_value</defname>
        </param>
        <param>
          <type>range</type>
          <defname>range</defname>
        </param>
        <param>
          <type>mask_variant</type>
          <defname>mask_variant</defname>
        </param>
        <param>
          <type>standard_name</type>
          <defname>standard_name</defname>
        </param>
        <param>
          <type>verbose</type>
          <defname>verbose</defname>
        </param>
        <param>
          <type>do_not_log</type>
          <defname>do_not_log</defname>
        </param>
        <param>
          <type>err_msg</type>
          <defname>err_msg</defname>
        </param>
        <param>
          <type>interp_method</type>
          <defname>interp_method</defname>
        </param>
        <param>
          <type>tile_count</type>
          <defname>tile_count</defname>
        </param>
        <briefdescription>
<para>Returns an FMS id from register_diag_field_fms (the diag_manager routine) after expanding axes (axes-group) into handles and conditionally adding an FMS area_id for cell_measures. </para>
        </briefdescription>
        <detaileddescription>
<para><parameterlist kind="param"><parameteritem>
<parameternamelist>
<parametername direction="in">module_name</parametername>
</parameternamelist>
<parameterdescription>
<para>Name of this module, usually &quot;ocean_model&quot; or &quot;ice_shelf_model&quot; </para>
</parameterdescription>
</parameteritem>
<parameteritem>
<parameternamelist>
<parametername direction="in">field_name</parametername>
</parameternamelist>
<parameterdescription>
<para>Name of the diagnostic field </para>
</parameterdescription>
</parameteritem>
<parameteritem>
<parameternamelist>
<parametername direction="in">axes</parametername>
</parameternamelist>
<parameterdescription>
<para>Container w/ up to 3 integer handles that indicates axes for this field </para>
</parameterdescription>
</parameteritem>
<parameteritem>
<parameternamelist>
<parametername direction="in">init_time</parametername>
</parameternamelist>
<parameterdescription>
<para>Time at which a field is first available? </para>
</parameterdescription>
</parameteritem>
<parameteritem>
<parameternamelist>
<parametername direction="in">long_name</parametername>
</parameternamelist>
<parameterdescription>
<para>Long name of a field. </para>
</parameterdescription>
</parameteritem>
<parameteritem>
<parameternamelist>
<parametername direction="in">units</parametername>
</parameternamelist>
<parameterdescription>
<para>Units of a field. </para>
</parameterdescription>
</parameteritem>
<parameteritem>
<parameternamelist>
<parametername direction="in">standard_name</parametername>
</parameternamelist>
<parameterdescription>
<para>Standardized name associated with a field </para>
</parameterdescription>
</parameteritem>
<parameteritem>
<parameternamelist>
<parametername direction="in">missing_value</parametername>
</parameternamelist>
<parameterdescription>
<para>A value that indicates missing values. </para>
</parameterdescription>
</parameteritem>
<parameteritem>
<parameternamelist>
<parametername direction="in">range</parametername>
</parameternamelist>
<parameterdescription>
<para>Valid range of a variable (not used in MOM?) </para>
</parameterdescription>
</parameteritem>
<parameteritem>
<parameternamelist>
<parametername direction="in">mask_variant</parametername>
</parameternamelist>
<parameterdescription>
<para>If true a logical mask must be provided with <ref refid="interfacemom__diag__mediator_1_1post__data" kindref="compound">post_data</ref> calls (not used in MOM?) </para>
</parameterdescription>
</parameteritem>
<parameteritem>
<parameternamelist>
<parametername direction="in">verbose</parametername>
</parameternamelist>
<parameterdescription>
<para>If true, FMS is verbose (not used in MOM?) </para>
</parameterdescription>
</parameteritem>
<parameteritem>
<parameternamelist>
<parametername direction="in">do_not_log</parametername>
</parameternamelist>
<parameterdescription>
<para>If true, do not log something (not used in MOM?) </para>
</parameterdescription>
</parameteritem>
<parameteritem>
<parameternamelist>
<parametername direction="out">err_msg</parametername>
</parameternamelist>
<parameterdescription>
<para>String into which an error message might be placed (not used in MOM?) </para>
</parameterdescription>
</parameteritem>
<parameteritem>
<parameternamelist>
<parametername direction="in">interp_method</parametername>
</parameternamelist>
<parameterdescription>
<para>If &apos;none&apos; indicates the field should not be interpolated as a scalar </para>
</parameterdescription>
</parameteritem>
<parameteritem>
<parameternamelist>
<parametername direction="in">tile_count</parametername>
</parameternamelist>
<parameterdescription>
<para>no clue (not used in MOM?) </para>
</parameterdescription>
</parameteritem>
</parameterlist>
</para>
        </detaileddescription>
        <inbodydescription>
        </inbodydescription>
        <location file="/home/cermak/src/MOM6.devrob/src/framework/MOM_diag_mediator.F90" line="2349" column="1" bodyfile="/home/cermak/src/MOM6.devrob/src/framework/MOM_diag_mediator.F90" bodystart="2352" bodyend="2449"/>
        <referencedby refid="namespacemom__diag__mediator_1ae50b35cba800ac5fd8975929fd2b9f4a" compoundref="MOM__diag__mediator_8F90" startline="2187" endline="2344">register_diag_field_expand_cmor</referencedby>
      </memberdef>
      <memberdef kind="function" id="namespacemom__diag__mediator_1a8415b33a337b1fbc7535688eca85ab37" prot="private" static="no" const="no" explicit="no" inline="no" virt="non-virtual">
        <type>subroutine</type>
        <definition>subroutine mom_diag_mediator::add_diag_to_list</definition>
        <argsstring>(diag_cs, dm_id, fms_id, this_diag, axes, module_name, field_name, msg)</argsstring>
        <name>add_diag_to_list</name>
        <param>
          <type>diag_cs</type>
          <defname>diag_cs</defname>
        </param>
        <param>
          <type>dm_id</type>
          <defname>dm_id</defname>
        </param>
        <param>
          <type>fms_id</type>
          <defname>fms_id</defname>
        </param>
        <param>
          <type>this_diag</type>
          <defname>this_diag</defname>
        </param>
        <param>
          <type>axes</type>
          <defname>axes</defname>
        </param>
        <param>
          <type>module_name</type>
          <defname>module_name</defname>
        </param>
        <param>
          <type>field_name</type>
          <defname>field_name</defname>
        </param>
        <param>
          <type>msg</type>
          <defname>msg</defname>
        </param>
        <briefdescription>
<para>Create a diagnostic type and attached to list. </para>
        </briefdescription>
        <detaileddescription>
<para><parameterlist kind="param"><parameteritem>
<parameternamelist>
<parametername>diag_cs</parametername>
</parameternamelist>
<parameterdescription>
<para>Diagnostics mediator control structure </para>
</parameterdescription>
</parameteritem>
<parameteritem>
<parameternamelist>
<parametername direction="inout">dm_id</parametername>
</parameternamelist>
<parameterdescription>
<para>The diag_mediator ID for this diagnostic group </para>
</parameterdescription>
</parameteritem>
<parameteritem>
<parameternamelist>
<parametername direction="in">fms_id</parametername>
</parameternamelist>
<parameterdescription>
<para>The FMS diag_manager ID for this diagnostic </para>
</parameterdescription>
</parameteritem>
<parameteritem>
<parameternamelist>
<parametername>this_diag</parametername>
</parameternamelist>
<parameterdescription>
<para>This diagnostic </para>
</parameterdescription>
</parameteritem>
<parameteritem>
<parameternamelist>
<parametername direction="in">axes</parametername>
</parameternamelist>
<parameterdescription>
<para>Container w/ up to 3 integer handles that indicates axes for this field </para>
</parameterdescription>
</parameteritem>
<parameteritem>
<parameternamelist>
<parametername direction="in">module_name</parametername>
</parameternamelist>
<parameterdescription>
<para>Name of this module, usually &quot;ocean_model&quot; or &quot;ice_shelf_model&quot; </para>
</parameterdescription>
</parameteritem>
<parameteritem>
<parameternamelist>
<parametername direction="in">field_name</parametername>
</parameternamelist>
<parameterdescription>
<para>Name of diagnostic </para>
</parameterdescription>
</parameteritem>
<parameteritem>
<parameternamelist>
<parametername direction="in">msg</parametername>
</parameternamelist>
<parameterdescription>
<para>Message for errors </para>
</parameterdescription>
</parameteritem>
</parameterlist>
</para>
        </detaileddescription>
        <inbodydescription>
        </inbodydescription>
        <location file="/home/cermak/src/MOM6.devrob/src/framework/MOM_diag_mediator.F90" line="2453" column="1" bodyfile="/home/cermak/src/MOM6.devrob/src/framework/MOM_diag_mediator.F90" bodystart="2454" bodyend="2474"/>
        <references refid="namespacemom__diag__mediator_1a1b0bed2113a0c268eafd1bafbb48bd4f" compoundref="MOM__diag__mediator_8F90" startline="3523" endline="3538">alloc_diag_with_id</references>
        <references refid="namespacemom__error__handler_1a33bcd190d460095104954f2e654f9fe6" compoundref="MOM__error__handler_8F90" startline="182" endline="188">mom_error_handler::assert</references>
        <references refid="namespacemom__diag__mediator_1a3f7442639213320f7429e2288a79fda2" compoundref="MOM__diag__mediator_8F90" startline="3479" endline="3505">get_new_diag_id</references>
        <referencedby refid="namespacemom__diag__mediator_1ae50b35cba800ac5fd8975929fd2b9f4a" compoundref="MOM__diag__mediator_8F90" startline="2187" endline="2344">register_diag_field_expand_cmor</referencedby>
      </memberdef>
      <memberdef kind="function" id="namespacemom__diag__mediator_1a14d405e0958e6e58797253c52c666cdb" prot="private" static="no" const="no" explicit="no" inline="no" virt="non-virtual">
        <type>subroutine</type>
        <definition>subroutine mom_diag_mediator::add_xyz_method</definition>
        <argsstring>(diag, axes, x_cell_method, y_cell_method, v_cell_method, v_extensive)</argsstring>
        <name>add_xyz_method</name>
        <param>
          <type>diag</type>
          <defname>diag</defname>
        </param>
        <param>
          <type>axes</type>
          <defname>axes</defname>
        </param>
        <param>
          <type>x_cell_method</type>
          <defname>x_cell_method</defname>
        </param>
        <param>
          <type>y_cell_method</type>
          <defname>y_cell_method</defname>
        </param>
        <param>
          <type>v_cell_method</type>
          <defname>v_cell_method</defname>
        </param>
        <param>
          <type>v_extensive</type>
          <defname>v_extensive</defname>
        </param>
        <briefdescription>
<para>Adds the encoded &quot;cell_methods&quot; for a diagnostics as a diag% property This allows access to the cell_method for a given diagnostics at the time of sending. </para>
        </briefdescription>
        <detaileddescription>
<para><parameterlist kind="param"><parameteritem>
<parameternamelist>
<parametername>diag</parametername>
</parameternamelist>
<parameterdescription>
<para>This diagnostic </para>
</parameterdescription>
</parameteritem>
<parameteritem>
<parameternamelist>
<parametername direction="in">axes</parametername>
</parameternamelist>
<parameterdescription>
<para>Container w/ up to 3 integer handles that indicates axes for this field </para>
</parameterdescription>
</parameteritem>
<parameteritem>
<parameternamelist>
<parametername direction="in">x_cell_method</parametername>
</parameternamelist>
<parameterdescription>
<para>Specifies the cell method for the x-direction. Use &apos;&apos; have no method. </para>
</parameterdescription>
</parameteritem>
<parameteritem>
<parameternamelist>
<parametername direction="in">y_cell_method</parametername>
</parameternamelist>
<parameterdescription>
<para>Specifies the cell method for the y-direction. Use &apos;&apos; have no method. </para>
</parameterdescription>
</parameteritem>
<parameteritem>
<parameternamelist>
<parametername direction="in">v_cell_method</parametername>
</parameternamelist>
<parameterdescription>
<para>Specifies the cell method for the vertical direction. Use &apos;&apos; have no method. </para>
</parameterdescription>
</parameteritem>
<parameteritem>
<parameternamelist>
<parametername direction="in">v_extensive</parametername>
</parameternamelist>
<parameterdescription>
<para>True for vertically extensive fields (vertically integrated). Default/absent for intensive. </para>
</parameterdescription>
</parameteritem>
</parameterlist>
</para>
        </detaileddescription>
        <inbodydescription>
        </inbodydescription>
        <location file="/home/cermak/src/MOM6.devrob/src/framework/MOM_diag_mediator.F90" line="2479" column="1" bodyfile="/home/cermak/src/MOM6.devrob/src/framework/MOM_diag_mediator.F90" bodystart="2480" bodyend="2537"/>
        <references refid="namespacemom__error__handler_1a460cfb79a06c29fc249952c2a3710d67" compoundref="MOM__error__handler_8F90" startline="72" endline="92">mom_error_handler::mom_error</references>
        <referencedby refid="namespacemom__diag__mediator_1ae50b35cba800ac5fd8975929fd2b9f4a" compoundref="MOM__diag__mediator_8F90" startline="2187" endline="2344">register_diag_field_expand_cmor</referencedby>
      </memberdef>
      <memberdef kind="function" id="namespacemom__diag__mediator_1ae0f04c145cb120fc2ab6cbfe9f166392" prot="private" static="no" const="no" explicit="no" inline="no" virt="non-virtual">
        <type>subroutine</type>
        <definition>subroutine mom_diag_mediator::attach_cell_methods</definition>
        <argsstring>(id, axes, ostring, cell_methods, x_cell_method, y_cell_method, v_cell_method, v_extensive)</argsstring>
        <name>attach_cell_methods</name>
        <param>
          <type>id</type>
          <defname>id</defname>
        </param>
        <param>
          <type>axes</type>
          <defname>axes</defname>
        </param>
        <param>
          <type>ostring</type>
          <defname>ostring</defname>
        </param>
        <param>
          <type>cell_methods</type>
          <defname>cell_methods</defname>
        </param>
        <param>
          <type>x_cell_method</type>
          <defname>x_cell_method</defname>
        </param>
        <param>
          <type>y_cell_method</type>
          <defname>y_cell_method</defname>
        </param>
        <param>
          <type>v_cell_method</type>
          <defname>v_cell_method</defname>
        </param>
        <param>
          <type>v_extensive</type>
          <defname>v_extensive</defname>
        </param>
        <briefdescription>
<para>Attaches &quot;cell_methods&quot; attribute to a variable based on defaults for <ref refid="structmom__diag__mediator_1_1axes__grp" kindref="compound">axes_grp</ref> or optional arguments. </para>
        </briefdescription>
        <detaileddescription>
<para><parameterlist kind="param"><parameteritem>
<parameternamelist>
<parametername direction="in">id</parametername>
</parameternamelist>
<parameterdescription>
<para>Handle to diagnostic </para>
</parameterdescription>
</parameteritem>
<parameteritem>
<parameternamelist>
<parametername direction="in">axes</parametername>
</parameternamelist>
<parameterdescription>
<para>Container w/ up to 3 integer handles that indicates axes for this field </para>
</parameterdescription>
</parameteritem>
<parameteritem>
<parameternamelist>
<parametername direction="out">ostring</parametername>
</parameternamelist>
<parameterdescription>
<para>The cell_methods strings that would appear in the file </para>
</parameterdescription>
</parameteritem>
<parameteritem>
<parameternamelist>
<parametername direction="in">cell_methods</parametername>
</parameternamelist>
<parameterdescription>
<para>String to append as cell_methods attribute. Use &apos;&apos; to have no attribute. If present, this overrides the default constructed from the default for each individual axis direction. </para>
</parameterdescription>
</parameteritem>
<parameteritem>
<parameternamelist>
<parametername direction="in">x_cell_method</parametername>
</parameternamelist>
<parameterdescription>
<para>Specifies the cell method for the x-direction. Use &apos;&apos; have no method. </para>
</parameterdescription>
</parameteritem>
<parameteritem>
<parameternamelist>
<parametername direction="in">y_cell_method</parametername>
</parameternamelist>
<parameterdescription>
<para>Specifies the cell method for the y-direction. Use &apos;&apos; have no method. </para>
</parameterdescription>
</parameteritem>
<parameteritem>
<parameternamelist>
<parametername direction="in">v_cell_method</parametername>
</parameternamelist>
<parameterdescription>
<para>Specifies the cell method for the vertical direction. Use &apos;&apos; have no method. </para>
</parameterdescription>
</parameteritem>
<parameteritem>
<parameternamelist>
<parametername direction="in">v_extensive</parametername>
</parameternamelist>
<parameterdescription>
<para>True for vertically extensive fields (vertically integrated). Default/absent for intensive. </para>
</parameterdescription>
</parameteritem>
</parameterlist>
</para>
        </detaileddescription>
        <inbodydescription>
        </inbodydescription>
        <location file="/home/cermak/src/MOM6.devrob/src/framework/MOM_diag_mediator.F90" line="2541" column="1" bodyfile="/home/cermak/src/MOM6.devrob/src/framework/MOM_diag_mediator.F90" bodystart="2543" bodyend="2655"/>
        <references refid="namespacemom__error__handler_1a460cfb79a06c29fc249952c2a3710d67" compoundref="MOM__error__handler_8F90" startline="72" endline="92">mom_error_handler::mom_error</references>
        <referencedby refid="namespacemom__diag__mediator_1ae50b35cba800ac5fd8975929fd2b9f4a" compoundref="MOM__diag__mediator_8F90" startline="2187" endline="2344">register_diag_field_expand_cmor</referencedby>
      </memberdef>
      <memberdef kind="function" id="namespacemom__diag__mediator_1afb4254e1cfbbcfc43028f14915173f80" prot="public" static="no" const="no" explicit="no" inline="no" virt="non-virtual">
        <type>integer function, public</type>
        <definition>integer function, public mom_diag_mediator::register_scalar_field</definition>
        <argsstring>(module_name, field_name, init_time, diag_cs, long_name, units, missing_value, range, standard_name, do_not_log, err_msg, interp_method, cmor_field_name, cmor_long_name, cmor_units, cmor_standard_name)</argsstring>
        <name>register_scalar_field</name>
        <param>
          <type>module_name</type>
          <defname>module_name</defname>
        </param>
        <param>
          <type>field_name</type>
          <defname>field_name</defname>
        </param>
        <param>
          <type>init_time</type>
          <defname>init_time</defname>
        </param>
        <param>
          <type>diag_cs</type>
          <defname>diag_cs</defname>
        </param>
        <param>
          <type>long_name</type>
          <defname>long_name</defname>
        </param>
        <param>
          <type>units</type>
          <defname>units</defname>
        </param>
        <param>
          <type>missing_value</type>
          <defname>missing_value</defname>
        </param>
        <param>
          <type>range</type>
          <defname>range</defname>
        </param>
        <param>
          <type>standard_name</type>
          <defname>standard_name</defname>
        </param>
        <param>
          <type>do_not_log</type>
          <defname>do_not_log</defname>
        </param>
        <param>
          <type>err_msg</type>
          <defname>err_msg</defname>
        </param>
        <param>
          <type>interp_method</type>
          <defname>interp_method</defname>
        </param>
        <param>
          <type>cmor_field_name</type>
          <defname>cmor_field_name</defname>
        </param>
        <param>
          <type>cmor_long_name</type>
          <defname>cmor_long_name</defname>
        </param>
        <param>
          <type>cmor_units</type>
          <defname>cmor_units</defname>
        </param>
        <param>
          <type>cmor_standard_name</type>
          <defname>cmor_standard_name</defname>
        </param>
        <briefdescription>
        </briefdescription>
        <detaileddescription>
<para><simplesect kind="return"><para>An integer handle for a diagnostic array.</para>
</simplesect>
<parameterlist kind="param"><parameteritem>
<parameternamelist>
<parametername direction="in">module_name</parametername>
</parameternamelist>
<parameterdescription>
<para>Name of this module, usually &quot;ocean_model&quot; or &quot;ice_shelf_model&quot;</para>
</parameterdescription>
</parameteritem>
<parameteritem>
<parameternamelist>
<parametername direction="in">field_name</parametername>
</parameternamelist>
<parameterdescription>
<para>Name of the diagnostic field</para>
</parameterdescription>
</parameteritem>
<parameteritem>
<parameternamelist>
<parametername direction="in">init_time</parametername>
</parameternamelist>
<parameterdescription>
<para>Time at which a field is first available?</para>
</parameterdescription>
</parameteritem>
<parameteritem>
<parameternamelist>
<parametername direction="inout">diag_cs</parametername>
</parameternamelist>
<parameterdescription>
<para>Structure used to regulate diagnostic output</para>
</parameterdescription>
</parameteritem>
<parameteritem>
<parameternamelist>
<parametername direction="in">long_name</parametername>
</parameternamelist>
<parameterdescription>
<para>Long name of a field.</para>
</parameterdescription>
</parameteritem>
<parameteritem>
<parameternamelist>
<parametername direction="in">units</parametername>
</parameternamelist>
<parameterdescription>
<para>Units of a field.</para>
</parameterdescription>
</parameteritem>
<parameteritem>
<parameternamelist>
<parametername direction="in">standard_name</parametername>
</parameternamelist>
<parameterdescription>
<para>Standardized name associated with a field</para>
</parameterdescription>
</parameteritem>
<parameteritem>
<parameternamelist>
<parametername direction="in">missing_value</parametername>
</parameternamelist>
<parameterdescription>
<para>A value that indicates missing values.</para>
</parameterdescription>
</parameteritem>
<parameteritem>
<parameternamelist>
<parametername direction="in">range</parametername>
</parameternamelist>
<parameterdescription>
<para>Valid range of a variable (not used in MOM?)</para>
</parameterdescription>
</parameteritem>
<parameteritem>
<parameternamelist>
<parametername direction="in">do_not_log</parametername>
</parameternamelist>
<parameterdescription>
<para>If true, do not log something (not used in MOM?)</para>
</parameterdescription>
</parameteritem>
<parameteritem>
<parameternamelist>
<parametername direction="out">err_msg</parametername>
</parameternamelist>
<parameterdescription>
<para>String into which an error message might be placed (not used in MOM?)</para>
</parameterdescription>
</parameteritem>
<parameteritem>
<parameternamelist>
<parametername direction="in">interp_method</parametername>
</parameternamelist>
<parameterdescription>
<para>If &apos;none&apos; indicates the field should not be interpolated as a scalar</para>
</parameterdescription>
</parameteritem>
<parameteritem>
<parameternamelist>
<parametername direction="in">cmor_field_name</parametername>
</parameternamelist>
<parameterdescription>
<para>CMOR name of a field</para>
</parameterdescription>
</parameteritem>
<parameteritem>
<parameternamelist>
<parametername direction="in">cmor_long_name</parametername>
</parameternamelist>
<parameterdescription>
<para>CMOR long name of a field</para>
</parameterdescription>
</parameteritem>
<parameteritem>
<parameternamelist>
<parametername direction="in">cmor_units</parametername>
</parameternamelist>
<parameterdescription>
<para>CMOR units of a field</para>
</parameterdescription>
</parameteritem>
<parameteritem>
<parameternamelist>
<parametername direction="in">cmor_standard_name</parametername>
</parameternamelist>
<parameterdescription>
<para>CMOR standardized name associated with a field </para>
</parameterdescription>
</parameteritem>
</parameterlist>
</para>
        </detaileddescription>
        <inbodydescription>
        </inbodydescription>
        <location file="/home/cermak/src/MOM6.devrob/src/framework/MOM_diag_mediator.F90" line="2658" column="1" bodyfile="/home/cermak/src/MOM6.devrob/src/framework/MOM_diag_mediator.F90" bodystart="2662" bodyend="2757"/>
        <references refid="namespacemom__diag__mediator_1a1b0bed2113a0c268eafd1bafbb48bd4f" compoundref="MOM__diag__mediator_8F90" startline="3523" endline="3538">alloc_diag_with_id</references>
        <references refid="namespacemom__error__handler_1a33bcd190d460095104954f2e654f9fe6" compoundref="MOM__error__handler_8F90" startline="182" endline="188">mom_error_handler::assert</references>
        <references refid="namespacemom__diag__mediator_1a3f7442639213320f7429e2288a79fda2" compoundref="MOM__diag__mediator_8F90" startline="3479" endline="3505">get_new_diag_id</references>
        <references refid="namespacemom__error__handler_1ad5f00a53059c72fe2332d1436c80ca71" compoundref="MOM__error__handler_8F90" startline="44" endline="48">mom_error_handler::is_root_pe</references>
        <references refid="namespacemom__diag__mediator_1a65fe8d329cf5dbfd08c98874a7a64407" compoundref="MOM__diag__mediator_8F90" startline="3544" endline="3572">log_available_diag</references>
      </memberdef>
      <memberdef kind="function" id="namespacemom__diag__mediator_1a87fa69b9e2ba3205756d93e1e13e1dc7" prot="public" static="no" const="no" explicit="no" inline="no" virt="non-virtual">
        <type>integer function, public</type>
        <definition>integer function, public mom_diag_mediator::register_static_field</definition>
        <argsstring>(module_name, field_name, axes, long_name, units, missing_value, range, mask_variant, standard_name, do_not_log, interp_method, tile_count, cmor_field_name, cmor_long_name, cmor_units, cmor_standard_name, area, x_cell_method, y_cell_method, area_cell_method, conversion)</argsstring>
        <name>register_static_field</name>
        <param>
          <type>module_name</type>
          <defname>module_name</defname>
        </param>
        <param>
          <type>field_name</type>
          <defname>field_name</defname>
        </param>
        <param>
          <type>axes</type>
          <defname>axes</defname>
        </param>
        <param>
          <type>long_name</type>
          <defname>long_name</defname>
        </param>
        <param>
          <type>units</type>
          <defname>units</defname>
        </param>
        <param>
          <type>missing_value</type>
          <defname>missing_value</defname>
        </param>
        <param>
          <type>range</type>
          <defname>range</defname>
        </param>
        <param>
          <type>mask_variant</type>
          <defname>mask_variant</defname>
        </param>
        <param>
          <type>standard_name</type>
          <defname>standard_name</defname>
        </param>
        <param>
          <type>do_not_log</type>
          <defname>do_not_log</defname>
        </param>
        <param>
          <type>interp_method</type>
          <defname>interp_method</defname>
        </param>
        <param>
          <type>tile_count</type>
          <defname>tile_count</defname>
        </param>
        <param>
          <type>cmor_field_name</type>
          <defname>cmor_field_name</defname>
        </param>
        <param>
          <type>cmor_long_name</type>
          <defname>cmor_long_name</defname>
        </param>
        <param>
          <type>cmor_units</type>
          <defname>cmor_units</defname>
        </param>
        <param>
          <type>cmor_standard_name</type>
          <defname>cmor_standard_name</defname>
        </param>
        <param>
          <type>area</type>
          <defname>area</defname>
        </param>
        <param>
          <type>x_cell_method</type>
          <defname>x_cell_method</defname>
        </param>
        <param>
          <type>y_cell_method</type>
          <defname>y_cell_method</defname>
        </param>
        <param>
          <type>area_cell_method</type>
          <defname>area_cell_method</defname>
        </param>
        <param>
          <type>conversion</type>
          <defname>conversion</defname>
        </param>
        <briefdescription>
<para>Registers a static diagnostic, returning an integer handle. </para>
        </briefdescription>
        <detaileddescription>
<para><simplesect kind="return"><para>An integer handle for a diagnostic array. </para>
</simplesect>
<parameterlist kind="param"><parameteritem>
<parameternamelist>
<parametername direction="in">module_name</parametername>
</parameternamelist>
<parameterdescription>
<para>Name of this module, usually &quot;ocean_model&quot; or &quot;ice_shelf_model&quot; </para>
</parameterdescription>
</parameteritem>
<parameteritem>
<parameternamelist>
<parametername direction="in">field_name</parametername>
</parameternamelist>
<parameterdescription>
<para>Name of the diagnostic field </para>
</parameterdescription>
</parameteritem>
<parameteritem>
<parameternamelist>
<parametername direction="in">axes</parametername>
</parameternamelist>
<parameterdescription>
<para>Container w/ up to 3 integer handles that indicates axes for this field </para>
</parameterdescription>
</parameteritem>
<parameteritem>
<parameternamelist>
<parametername direction="in">long_name</parametername>
</parameternamelist>
<parameterdescription>
<para>Long name of a field. </para>
</parameterdescription>
</parameteritem>
<parameteritem>
<parameternamelist>
<parametername direction="in">units</parametername>
</parameternamelist>
<parameterdescription>
<para>Units of a field. </para>
</parameterdescription>
</parameteritem>
<parameteritem>
<parameternamelist>
<parametername direction="in">standard_name</parametername>
</parameternamelist>
<parameterdescription>
<para>Standardized name associated with a field </para>
</parameterdescription>
</parameteritem>
<parameteritem>
<parameternamelist>
<parametername direction="in">missing_value</parametername>
</parameternamelist>
<parameterdescription>
<para>A value that indicates missing values. </para>
</parameterdescription>
</parameteritem>
<parameteritem>
<parameternamelist>
<parametername direction="in">range</parametername>
</parameternamelist>
<parameterdescription>
<para>Valid range of a variable (not used in MOM?) </para>
</parameterdescription>
</parameteritem>
<parameteritem>
<parameternamelist>
<parametername direction="in">mask_variant</parametername>
</parameternamelist>
<parameterdescription>
<para>If true a logical mask must be provided with <ref refid="interfacemom__diag__mediator_1_1post__data" kindref="compound">post_data</ref> calls (not used in MOM?) </para>
</parameterdescription>
</parameteritem>
<parameteritem>
<parameternamelist>
<parametername direction="in">do_not_log</parametername>
</parameternamelist>
<parameterdescription>
<para>If true, do not log something (not used in MOM?) </para>
</parameterdescription>
</parameteritem>
<parameteritem>
<parameternamelist>
<parametername direction="in">interp_method</parametername>
</parameternamelist>
<parameterdescription>
<para>If &apos;none&apos; indicates the field should not be interpolated as a scalar </para>
</parameterdescription>
</parameteritem>
<parameteritem>
<parameternamelist>
<parametername direction="in">tile_count</parametername>
</parameternamelist>
<parameterdescription>
<para>no clue (not used in MOM?) </para>
</parameterdescription>
</parameteritem>
<parameteritem>
<parameternamelist>
<parametername direction="in">cmor_field_name</parametername>
</parameternamelist>
<parameterdescription>
<para>CMOR name of a field </para>
</parameterdescription>
</parameteritem>
<parameteritem>
<parameternamelist>
<parametername direction="in">cmor_long_name</parametername>
</parameternamelist>
<parameterdescription>
<para>CMOR long name of a field </para>
</parameterdescription>
</parameteritem>
<parameteritem>
<parameternamelist>
<parametername direction="in">cmor_units</parametername>
</parameternamelist>
<parameterdescription>
<para>CMOR units of a field </para>
</parameterdescription>
</parameteritem>
<parameteritem>
<parameternamelist>
<parametername direction="in">cmor_standard_name</parametername>
</parameternamelist>
<parameterdescription>
<para>CMOR standardized name associated with a field </para>
</parameterdescription>
</parameteritem>
<parameteritem>
<parameternamelist>
<parametername direction="in">area</parametername>
</parameternamelist>
<parameterdescription>
<para>fms_id for area_t </para>
</parameterdescription>
</parameteritem>
<parameteritem>
<parameternamelist>
<parametername direction="in">x_cell_method</parametername>
</parameternamelist>
<parameterdescription>
<para>Specifies the cell method for the x-direction. </para>
</parameterdescription>
</parameteritem>
<parameteritem>
<parameternamelist>
<parametername direction="in">y_cell_method</parametername>
</parameternamelist>
<parameterdescription>
<para>Specifies the cell method for the y-direction. </para>
</parameterdescription>
</parameteritem>
<parameteritem>
<parameternamelist>
<parametername direction="in">area_cell_method</parametername>
</parameternamelist>
<parameterdescription>
<para>Specifies the cell method for area </para>
</parameterdescription>
</parameteritem>
<parameteritem>
<parameternamelist>
<parametername direction="in">conversion</parametername>
</parameternamelist>
<parameterdescription>
<para>A value to multiply data by before writing to file </para>
</parameterdescription>
</parameteritem>
</parameterlist>
</para>
        </detaileddescription>
        <inbodydescription>
        </inbodydescription>
        <location file="/home/cermak/src/MOM6.devrob/src/framework/MOM_diag_mediator.F90" line="2761" column="1" bodyfile="/home/cermak/src/MOM6.devrob/src/framework/MOM_diag_mediator.F90" bodystart="2766" bodyend="2904"/>
        <references refid="namespacemom__diag__mediator_1a1b0bed2113a0c268eafd1bafbb48bd4f" compoundref="MOM__diag__mediator_8F90" startline="3523" endline="3538">alloc_diag_with_id</references>
        <references refid="namespacemom__error__handler_1a33bcd190d460095104954f2e654f9fe6" compoundref="MOM__error__handler_8F90" startline="182" endline="188">mom_error_handler::assert</references>
        <references refid="namespacemom__diag__mediator_1a3f7442639213320f7429e2288a79fda2" compoundref="MOM__diag__mediator_8F90" startline="3479" endline="3505">get_new_diag_id</references>
        <references refid="namespacemom__error__handler_1ad5f00a53059c72fe2332d1436c80ca71" compoundref="MOM__error__handler_8F90" startline="44" endline="48">mom_error_handler::is_root_pe</references>
        <references refid="namespacemom__diag__mediator_1a65fe8d329cf5dbfd08c98874a7a64407" compoundref="MOM__diag__mediator_8F90" startline="3544" endline="3572">log_available_diag</references>
        <referencedby refid="namespacemom__geothermal_1a1b764e98a70404c9a13909f01068389c" compoundref="MOM__geothermal_8F90" startline="503" endline="606">mom_geothermal::geothermal_init</referencedby>
      </memberdef>
      <memberdef kind="function" id="namespacemom__diag__mediator_1ae002ca447acba252bf7bdc042e75a01e" prot="private" static="no" const="no" explicit="no" inline="no" virt="non-virtual">
        <type>subroutine</type>
        <definition>subroutine mom_diag_mediator::describe_option</definition>
        <argsstring>(opt_name, value, diag_CS)</argsstring>
        <name>describe_option</name>
        <param>
          <type>opt_name</type>
          <defname>opt_name</defname>
        </param>
        <param>
          <type>value</type>
          <defname>value</defname>
        </param>
        <param>
          <type>diag_CS</type>
          <defname>diag_CS</defname>
        </param>
        <briefdescription>
<para>Describe an option setting in the diagnostic files. </para>
        </briefdescription>
        <detaileddescription>
<para><parameterlist kind="param"><parameteritem>
<parameternamelist>
<parametername direction="in">opt_name</parametername>
</parameternamelist>
<parameterdescription>
<para>The name of the option </para>
</parameterdescription>
</parameteritem>
<parameteritem>
<parameternamelist>
<parametername direction="in">value</parametername>
</parameternamelist>
<parameterdescription>
<para>A character string with the setting of the option. </para>
</parameterdescription>
</parameteritem>
<parameteritem>
<parameternamelist>
<parametername direction="in">diag_cs</parametername>
</parameternamelist>
<parameterdescription>
<para>Structure used to regulate diagnostic output </para>
</parameterdescription>
</parameteritem>
</parameterlist>
</para>
        </detaileddescription>
        <inbodydescription>
        </inbodydescription>
        <location file="/home/cermak/src/MOM6.devrob/src/framework/MOM_diag_mediator.F90" line="2908" column="1" bodyfile="/home/cermak/src/MOM6.devrob/src/framework/MOM_diag_mediator.F90" bodystart="2909" bodyend="2919"/>
        <referencedby refid="namespacemom__diag__mediator_1a65fe8d329cf5dbfd08c98874a7a64407" compoundref="MOM__diag__mediator_8F90" startline="3544" endline="3572">log_available_diag</referencedby>
      </memberdef>
      <memberdef kind="function" id="namespacemom__diag__mediator_1a21267e25d12fa3e5d2540d2a299d2d2c" prot="public" static="no" const="no" explicit="no" inline="no" virt="non-virtual">
        <type>integer function, public</type>
        <definition>integer function, public mom_diag_mediator::ocean_register_diag</definition>
        <argsstring>(var_desc, G, diag_CS, day)</argsstring>
        <name>ocean_register_diag</name>
        <param>
          <type>var_desc</type>
          <defname>var_desc</defname>
        </param>
        <param>
          <type>G</type>
          <defname>G</defname>
        </param>
        <param>
          <type>diag_CS</type>
          <defname>diag_CS</defname>
        </param>
        <param>
          <type>day</type>
          <defname>day</defname>
        </param>
        <briefdescription>
<para>Registers a diagnostic using the information encapsulated in the vardesc type argument and returns an integer handle to this diagostic. That integer handle is negative if the diagnostic is unused. </para>
        </briefdescription>
        <detaileddescription>
<para><simplesect kind="return"><para>An integer handle to this diagnostic. </para>
</simplesect>
<parameterlist kind="param"><parameteritem>
<parameternamelist>
<parametername direction="in">var_desc</parametername>
</parameternamelist>
<parameterdescription>
<para>The vardesc type describing the diagnostic </para>
</parameterdescription>
</parameteritem>
<parameteritem>
<parameternamelist>
<parametername direction="in">g</parametername>
</parameternamelist>
<parameterdescription>
<para>The ocean&apos;s grid type </para>
</parameterdescription>
</parameteritem>
<parameteritem>
<parameternamelist>
<parametername direction="in">diag_cs</parametername>
</parameternamelist>
<parameterdescription>
<para>The diagnotic control structure </para>
</parameterdescription>
</parameteritem>
<parameteritem>
<parameternamelist>
<parametername direction="in">day</parametername>
</parameternamelist>
<parameterdescription>
<para>The current model time </para>
</parameterdescription>
</parameteritem>
</parameterlist>
</para>
        </detaileddescription>
        <inbodydescription>
        </inbodydescription>
        <location file="/home/cermak/src/MOM6.devrob/src/framework/MOM_diag_mediator.F90" line="2925" column="1" bodyfile="/home/cermak/src/MOM6.devrob/src/framework/MOM_diag_mediator.F90" bodystart="2926" bodyend="3025"/>
        <references refid="namespacemom__error__handler_1a460cfb79a06c29fc249952c2a3710d67" compoundref="MOM__error__handler_8F90" startline="72" endline="92">mom_error_handler::mom_error</references>
        <references refid="namespacemom__diag__mediator_1ada491446bf7216fe101e6b0f6ed551e1" compoundref="MOM__diag__mediator_8F90" startline="1944" endline="2177">register_diag_field</references>
      </memberdef>
      <memberdef kind="function" id="namespacemom__diag__mediator_1ae8ac8a662308a9e766249fdf29956560" prot="public" static="no" const="no" explicit="no" inline="no" virt="non-virtual">
        <type>subroutine, public</type>
        <definition>subroutine, public mom_diag_mediator::diag_mediator_infrastructure_init</definition>
        <argsstring>(err_msg)</argsstring>
        <name>diag_mediator_infrastructure_init</name>
        <param>
          <type>err_msg</type>
          <defname>err_msg</defname>
        </param>
        <briefdescription>
        </briefdescription>
        <detaileddescription>
<para><parameterlist kind="param"><parameteritem>
<parameternamelist>
<parametername direction="out">err_msg</parametername>
</parameternamelist>
<parameterdescription>
<para>An error message </para>
</parameterdescription>
</parameteritem>
</parameterlist>
</para>
        </detaileddescription>
        <inbodydescription>
        </inbodydescription>
        <location file="/home/cermak/src/MOM6.devrob/src/framework/MOM_diag_mediator.F90" line="3028" column="1" bodyfile="/home/cermak/src/MOM6.devrob/src/framework/MOM_diag_mediator.F90" bodystart="3029" bodyend="3032"/>
      </memberdef>
      <memberdef kind="function" id="namespacemom__diag__mediator_1a3c99ff49de6d5e43f0d1bba79290eb71" prot="public" static="no" const="no" explicit="no" inline="no" virt="non-virtual">
        <type>subroutine, public</type>
        <definition>subroutine, public mom_diag_mediator::diag_mediator_init</definition>
        <argsstring>(G, GV, US, nz, param_file, diag_cs, doc_file_dir)</argsstring>
        <name>diag_mediator_init</name>
        <param>
          <type>G</type>
          <defname>G</defname>
        </param>
        <param>
          <type>GV</type>
          <defname>GV</defname>
        </param>
        <param>
          <type>US</type>
          <defname>US</defname>
        </param>
        <param>
          <type>nz</type>
          <defname>nz</defname>
        </param>
        <param>
          <type>param_file</type>
          <defname>param_file</defname>
        </param>
        <param>
          <type>diag_cs</type>
          <defname>diag_cs</defname>
        </param>
        <param>
          <type>doc_file_dir</type>
          <defname>doc_file_dir</defname>
        </param>
        <briefdescription>
<para>diag_mediator_init initializes the MOM diag_mediator and opens the available diagnostics file, if appropriate. </para>
        </briefdescription>
        <detaileddescription>
<para><parameterlist kind="param"><parameteritem>
<parameternamelist>
<parametername direction="inout">g</parametername>
</parameternamelist>
<parameterdescription>
<para>The ocean grid type. </para>
</parameterdescription>
</parameteritem>
<parameteritem>
<parameternamelist>
<parametername direction="in">gv</parametername>
</parameternamelist>
<parameterdescription>
<para>The ocean vertical grid structure </para>
</parameterdescription>
</parameteritem>
<parameteritem>
<parameternamelist>
<parametername direction="in">us</parametername>
</parameternamelist>
<parameterdescription>
<para>A dimensional unit scaling type </para>
</parameterdescription>
</parameteritem>
<parameteritem>
<parameternamelist>
<parametername direction="in">nz</parametername>
</parameternamelist>
<parameterdescription>
<para>The number of layers in the model&apos;s native grid. </para>
</parameterdescription>
</parameteritem>
<parameteritem>
<parameternamelist>
<parametername direction="in">param_file</parametername>
</parameternamelist>
<parameterdescription>
<para>Parameter file structure </para>
</parameterdescription>
</parameteritem>
<parameteritem>
<parameternamelist>
<parametername direction="inout">diag_cs</parametername>
</parameternamelist>
<parameterdescription>
<para>A pointer to a type with many variables used for diagnostics </para>
</parameterdescription>
</parameteritem>
<parameteritem>
<parameternamelist>
<parametername direction="in">doc_file_dir</parametername>
</parameternamelist>
<parameterdescription>
<para>A directory in which to create the file </para>
</parameterdescription>
</parameteritem>
</parameterlist>
</para>
        </detaileddescription>
        <inbodydescription>
        </inbodydescription>
        <location file="/home/cermak/src/MOM6.devrob/src/framework/MOM_diag_mediator.F90" line="3037" column="1" bodyfile="/home/cermak/src/MOM6.devrob/src/framework/MOM_diag_mediator.F90" bodystart="3038" bodyend="3243"/>
        <references refid="namespacemom__diag__mediator_1affaf7f9c1f9fc0c35f4a41c9b30b04e6" compoundref="MOM__diag__mediator_8F90" startline="342">id_clock_diag_grid_updates</references>
        <references refid="namespacemom__diag__mediator_1a882fc994662be43d067bb1f59a2662bb" compoundref="MOM__diag__mediator_8F90" startline="342" endline="342">id_clock_diag_mediator</references>
        <references refid="namespacemom__diag__mediator_1a8a8e75119f340f174cfef580ded1dd79" compoundref="MOM__diag__mediator_8F90" startline="342">id_clock_diag_remap</references>
        <references refid="namespacemom__diag__mediator_1a883862f004e30bbc5211f38635511ba0" compoundref="MOM__diag__mediator_8F90" startline="3510" endline="3517">initialize_diag_type</references>
        <references refid="namespacemom__error__handler_1ad5f00a53059c72fe2332d1436c80ca71" compoundref="MOM__error__handler_8F90" startline="44" endline="48">mom_error_handler::is_root_pe</references>
        <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__diag__mediator_1abe52776bc4a161c4912ce1987acaf1c1" prot="public" static="no" const="no" explicit="no" inline="no" virt="non-virtual">
        <type>subroutine, public</type>
        <definition>subroutine, public mom_diag_mediator::diag_set_state_ptrs</definition>
        <argsstring>(h, T, S, eqn_of_state, diag_cs)</argsstring>
        <name>diag_set_state_ptrs</name>
        <param>
          <type>h</type>
          <defname>h</defname>
        </param>
        <param>
          <type>T</type>
          <defname>T</defname>
        </param>
        <param>
          <type>S</type>
          <defname>S</defname>
        </param>
        <param>
          <type>eqn_of_state</type>
          <defname>eqn_of_state</defname>
        </param>
        <param>
          <type>diag_cs</type>
          <defname>diag_cs</defname>
        </param>
        <briefdescription>
<para>Set pointers to the default state fields used to remap diagnostics. </para>
        </briefdescription>
        <detaileddescription>
<para><parameterlist kind="param"><parameteritem>
<parameternamelist>
<parametername direction="in">h</parametername>
</parameternamelist>
<parameterdescription>
<para>the model thickness array [H ~&gt; m or kg m-2] </para>
</parameterdescription>
</parameteritem>
<parameteritem>
<parameternamelist>
<parametername direction="in">t</parametername>
</parameternamelist>
<parameterdescription>
<para>the model temperature array </para>
</parameterdescription>
</parameteritem>
<parameteritem>
<parameternamelist>
<parametername direction="in">s</parametername>
</parameternamelist>
<parameterdescription>
<para>the model salinity array </para>
</parameterdescription>
</parameteritem>
<parameteritem>
<parameternamelist>
<parametername direction="in">eqn_of_state</parametername>
</parameternamelist>
<parameterdescription>
<para>Equation of state structure </para>
</parameterdescription>
</parameteritem>
<parameteritem>
<parameternamelist>
<parametername direction="inout">diag_cs</parametername>
</parameternamelist>
<parameterdescription>
<para>diag mediator control structure </para>
</parameterdescription>
</parameteritem>
</parameterlist>
</para>
        </detaileddescription>
        <inbodydescription>
        </inbodydescription>
        <location file="/home/cermak/src/MOM6.devrob/src/framework/MOM_diag_mediator.F90" line="3247" column="1" bodyfile="/home/cermak/src/MOM6.devrob/src/framework/MOM_diag_mediator.F90" bodystart="3248" bodyend="3259"/>
      </memberdef>
      <memberdef kind="function" id="namespacemom__diag__mediator_1aa78e69709084d0097b3e01bbd83d3509" prot="public" static="no" const="no" explicit="no" inline="no" virt="non-virtual">
        <type>subroutine, public</type>
        <definition>subroutine, public mom_diag_mediator::diag_update_remap_grids</definition>
        <argsstring>(diag_cs, alt_h, alt_T, alt_S, update_intensive, update_extensive)</argsstring>
        <name>diag_update_remap_grids</name>
        <param>
          <type>diag_cs</type>
          <defname>diag_cs</defname>
        </param>
        <param>
          <type>alt_h</type>
          <defname>alt_h</defname>
        </param>
        <param>
          <type>alt_T</type>
          <defname>alt_T</defname>
        </param>
        <param>
          <type>alt_S</type>
          <defname>alt_S</defname>
        </param>
        <param>
          <type>update_intensive</type>
          <defname>update_intensive</defname>
        </param>
        <param>
          <type>update_extensive</type>
          <defname>update_extensive</defname>
        </param>
        <briefdescription>
<para>Build/update vertical grids for diagnostic remapping. </para>
        </briefdescription>
        <detaileddescription>
<para><simplesect kind="note"><para>The target grids need to be updated whenever sea surface height changes. </para>
</simplesect>
<parameterlist kind="param"><parameteritem>
<parameternamelist>
<parametername direction="inout">diag_cs</parametername>
</parameternamelist>
<parameterdescription>
<para>Diagnostics control structure </para>
</parameterdescription>
</parameteritem>
<parameteritem>
<parameternamelist>
<parametername direction="in">alt_h</parametername>
</parameternamelist>
<parameterdescription>
<para>Used if remapped grids should be something other than the current thicknesses [H ~&gt; m or kg m-2] </para>
</parameterdescription>
</parameteritem>
<parameteritem>
<parameternamelist>
<parametername direction="in">alt_t</parametername>
</parameternamelist>
<parameterdescription>
<para>Used if remapped grids should be something other than the current temperatures </para>
</parameterdescription>
</parameteritem>
<parameteritem>
<parameternamelist>
<parametername direction="in">alt_s</parametername>
</parameternamelist>
<parameterdescription>
<para>Used if remapped grids should be something other than the current salinity </para>
</parameterdescription>
</parameteritem>
<parameteritem>
<parameternamelist>
<parametername direction="in">update_intensive</parametername>
</parameternamelist>
<parameterdescription>
<para>If true (default), update the grids used for intensive diagnostics </para>
</parameterdescription>
</parameteritem>
<parameteritem>
<parameternamelist>
<parametername direction="in">update_extensive</parametername>
</parameternamelist>
<parameterdescription>
<para>If true (not default), update the grids used for intensive diagnostics </para>
</parameterdescription>
</parameteritem>
</parameterlist>
</para>
        </detaileddescription>
        <inbodydescription>
        </inbodydescription>
        <location file="/home/cermak/src/MOM6.devrob/src/framework/MOM_diag_mediator.F90" line="3265" column="1" bodyfile="/home/cermak/src/MOM6.devrob/src/framework/MOM_diag_mediator.F90" bodystart="3266" bodyend="3339"/>
        <references refid="namespacemom__diag__mediator_1affaf7f9c1f9fc0c35f4a41c9b30b04e6" compoundref="MOM__diag__mediator_8F90" startline="342">id_clock_diag_grid_updates</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__ale_1ac56eac14cd9b8909082c1d4fe4e98152" compoundref="MOM__ALE_8F90" startline="322" endline="401">mom_ale::ale_main</referencedby>
        <referencedby refid="namespacemom__bulk__mixed__layer_1ad6b69cad68bd88aa1deee0481fd3cc59" compoundref="MOM__bulk__mixed__layer_8F90" startline="190" endline="798">mom_bulk_mixed_layer::bulkmixedlayer</referencedby>
        <referencedby refid="namespacemom__mixed__layer__restrat_1ac01281bf39b6fa7e469919c30c26aedb" compoundref="MOM__mixed__layer__restrat_8F90" startline="563" endline="791">mom_mixed_layer_restrat::mixedlayer_restrat_bml</referencedby>
        <referencedby refid="namespacemom__mixed__layer__restrat_1a9c6bee98536870b0b6c2bd317c00c684" compoundref="MOM__mixed__layer__restrat_8F90" startline="120" endline="557">mom_mixed_layer_restrat::mixedlayer_restrat_general</referencedby>
        <referencedby refid="namespacemom__dynamics__split__rk2_1a976e700971f232fc11bc69b31d611c32" compoundref="MOM__dynamics__split__RK2_8F90" startline="245" endline="994">mom_dynamics_split_rk2::step_mom_dyn_split_rk2</referencedby>
        <referencedby refid="namespacemom__dynamics__unsplit_1ab72d911d187f9247b6cc72d87e815370" compoundref="MOM__dynamics__unsplit_8F90" startline="192" endline="507">mom_dynamics_unsplit::step_mom_dyn_unsplit</referencedby>
        <referencedby refid="namespacemom__thickness__diffuse_1a8a538b778a567f489bfd9c5eadeeebef" compoundref="MOM__thickness__diffuse_8F90" startline="109" endline="547">mom_thickness_diffuse::thickness_diffuse</referencedby>
      </memberdef>
      <memberdef kind="function" id="namespacemom__diag__mediator_1aebf8dcc4bac8028f24a80fa5f1f1ca5b" prot="public" static="no" const="no" explicit="no" inline="no" virt="non-virtual">
        <type>subroutine, public</type>
        <definition>subroutine, public mom_diag_mediator::diag_masks_set</definition>
        <argsstring>(G, nz, diag_cs)</argsstring>
        <name>diag_masks_set</name>
        <param>
          <type>G</type>
          <defname>G</defname>
        </param>
        <param>
          <type>nz</type>
          <defname>nz</defname>
        </param>
        <param>
          <type>diag_cs</type>
          <defname>diag_cs</defname>
        </param>
        <briefdescription>
<para>Sets up the 2d and 3d masks for native diagnostics. </para>
        </briefdescription>
        <detaileddescription>
<para><parameterlist kind="param"><parameteritem>
<parameternamelist>
<parametername direction="in">g</parametername>
</parameternamelist>
<parameterdescription>
<para>The ocean grid type. </para>
</parameterdescription>
</parameteritem>
<parameteritem>
<parameternamelist>
<parametername direction="in">nz</parametername>
</parameternamelist>
<parameterdescription>
<para>The number of layers in the model&apos;s native grid. </para>
</parameterdescription>
</parameteritem>
<parameteritem>
<parameternamelist>
<parametername>diag_cs</parametername>
</parameternamelist>
<parameterdescription>
<para>A pointer to a type with many variables used for diagnostics </para>
</parameterdescription>
</parameteritem>
</parameterlist>
</para>
        </detaileddescription>
        <inbodydescription>
        </inbodydescription>
        <location file="/home/cermak/src/MOM6.devrob/src/framework/MOM_diag_mediator.F90" line="3343" column="1" bodyfile="/home/cermak/src/MOM6.devrob/src/framework/MOM_diag_mediator.F90" bodystart="3344" bodyend="3382"/>
        <references refid="namespacemom__diag__mediator_1a5f2fcd6b3aa44f8d4f6259d8cf365f04" compoundref="MOM__diag__mediator_8F90" startline="3703" endline="3756">downsample_diag_masks_set</references>
      </memberdef>
      <memberdef kind="function" id="namespacemom__diag__mediator_1ab6b7493efa5caee06547dafdba29361b" prot="public" static="no" const="no" explicit="no" inline="no" virt="non-virtual">
        <type>subroutine, public</type>
        <definition>subroutine, public mom_diag_mediator::diag_mediator_close_registration</definition>
        <argsstring>(diag_CS)</argsstring>
        <name>diag_mediator_close_registration</name>
        <param>
          <type>diag_CS</type>
          <defname>diag_CS</defname>
        </param>
        <briefdescription>
        </briefdescription>
        <detaileddescription>
<para><parameterlist kind="param"><parameteritem>
<parameternamelist>
<parametername direction="inout">diag_cs</parametername>
</parameternamelist>
<parameterdescription>
<para>Structure used to regulate diagnostic output </para>
</parameterdescription>
</parameteritem>
</parameterlist>
</para>
        </detaileddescription>
        <inbodydescription>
        </inbodydescription>
        <location file="/home/cermak/src/MOM6.devrob/src/framework/MOM_diag_mediator.F90" line="3385" column="1" bodyfile="/home/cermak/src/MOM6.devrob/src/framework/MOM_diag_mediator.F90" bodystart="3386" bodyend="3397"/>
        <referencedby refid="MOM__driver_8F90_1a08fffeb2d8e8acbf9ed4609be6d258c6" compoundref="MOM__driver_8F90" startline="1">mom_main</referencedby>
        <referencedby refid="namespaceocean__model__mod_1a51ac9bb5e227e4a3f8be94a09a77eba8" compoundref="ocean__model__MOM_8F90" startline="228" endline="413">ocean_model_mod::ocean_model_init</referencedby>
      </memberdef>
      <memberdef kind="function" id="namespacemom__diag__mediator_1a780f8870b442c730208d66d1ff0b4ac0" prot="public" static="no" const="no" explicit="no" inline="no" virt="non-virtual">
        <type>subroutine, public</type>
        <definition>subroutine, public mom_diag_mediator::diag_mediator_end</definition>
        <argsstring>(time, diag_CS, end_diag_manager)</argsstring>
        <name>diag_mediator_end</name>
        <param>
          <type>time</type>
          <defname>time</defname>
        </param>
        <param>
          <type>diag_CS</type>
          <defname>diag_CS</defname>
        </param>
        <param>
          <type>end_diag_manager</type>
          <defname>end_diag_manager</defname>
        </param>
        <briefdescription>
        </briefdescription>
        <detaileddescription>
<para><parameterlist kind="param"><parameteritem>
<parameternamelist>
<parametername direction="in">time</parametername>
</parameternamelist>
<parameterdescription>
<para>The current model time</para>
</parameterdescription>
</parameteritem>
<parameteritem>
<parameternamelist>
<parametername direction="inout">diag_cs</parametername>
</parameternamelist>
<parameterdescription>
<para>Structure used to regulate diagnostic output</para>
</parameterdescription>
</parameteritem>
<parameteritem>
<parameternamelist>
<parametername direction="in">end_diag_manager</parametername>
</parameternamelist>
<parameterdescription>
<para>If true, call diag_manager_end() </para>
</parameterdescription>
</parameteritem>
</parameterlist>
</para>
        </detaileddescription>
        <inbodydescription>
        </inbodydescription>
        <location file="/home/cermak/src/MOM6.devrob/src/framework/MOM_diag_mediator.F90" line="3400" column="1" bodyfile="/home/cermak/src/MOM6.devrob/src/framework/MOM_diag_mediator.F90" bodystart="3401" bodyend="3452"/>
        <references refid="namespacemom__diag__mediator_1a4f82f684f05d581ea5b62a9c62a54af3" compoundref="MOM__diag__mediator_8F90" startline="3683" endline="3697">diag_grid_storage_end</references>
        <referencedby refid="MOM__driver_8F90_1a08fffeb2d8e8acbf9ed4609be6d258c6" compoundref="MOM__driver_8F90" startline="1">mom_main</referencedby>
        <referencedby refid="namespaceocean__model__mod_1a276959acb69502491d4b3a5a83e596b8" compoundref="ocean__model__MOM_8F90" startline="711" endline="721">ocean_model_mod::ocean_model_end</referencedby>
      </memberdef>
      <memberdef kind="function" id="namespacemom__diag__mediator_1a82d9bb70db16b1113304936c82d40e82" prot="private" static="no" const="no" explicit="no" inline="no" virt="non-virtual">
        <type><ref refid="version__variable_8h_1acda997fe1761de4c6bca0f27dc786964" kindref="member">character</ref>(len=15) function</type>
        <definition>character(len=15) function mom_diag_mediator::i2s</definition>
        <argsstring>(a, n_in)</argsstring>
        <name>i2s</name>
        <param>
          <type>a</type>
          <defname>a</defname>
        </param>
        <param>
          <type>n_in</type>
          <defname>n_in</defname>
        </param>
        <briefdescription>
<para>Convert the first n elements (up to 3) of an integer array to an underscore delimited string. </para>
        </briefdescription>
        <detaileddescription>
<para><parameterlist kind="param"><parameteritem>
<parameternamelist>
<parametername direction="in">a</parametername>
</parameternamelist>
<parameterdescription>
<para>The array of integers to translate </para>
</parameterdescription>
</parameteritem>
<parameteritem>
<parameternamelist>
<parametername direction="in">n_in</parametername>
</parameternamelist>
<parameterdescription>
<para>The number of elements to translate, by default all </para>
</parameterdescription>
</parameteritem>
</parameterlist>
<simplesect kind="return"><para>The returned string </para>
</simplesect>
</para>
        </detaileddescription>
        <inbodydescription>
        </inbodydescription>
        <location file="/home/cermak/src/MOM6.devrob/src/framework/MOM_diag_mediator.F90" line="3456" column="1" bodyfile="/home/cermak/src/MOM6.devrob/src/framework/MOM_diag_mediator.F90" bodystart="3457" bodyend="3474"/>
        <referencedby refid="namespacemom__diag__mediator_1ab9f767ec24a860cb71cae264560272a8" compoundref="MOM__diag__mediator_8F90" startline="1001" endline="1102">define_axes_group</referencedby>
        <referencedby refid="namespacemom__diag__mediator_1a51129041d5b42f6546c087111465f639" compoundref="MOM__diag__mediator_8F90" startline="1112" endline="1240">define_axes_group_dsamp</referencedby>
      </memberdef>
      <memberdef kind="function" id="namespacemom__diag__mediator_1a3f7442639213320f7429e2288a79fda2" prot="private" static="no" const="no" explicit="no" inline="no" virt="non-virtual">
        <type>integer function</type>
        <definition>integer function mom_diag_mediator::get_new_diag_id</definition>
        <argsstring>(diag_cs)</argsstring>
        <name>get_new_diag_id</name>
        <param>
          <type>diag_cs</type>
          <defname>diag_cs</defname>
        </param>
        <briefdescription>
<para>Returns a new diagnostic id, it may be necessary to expand the diagnostics array. </para>
        </briefdescription>
        <detaileddescription>
<para><parameterlist kind="param"><parameteritem>
<parameternamelist>
<parametername direction="inout">diag_cs</parametername>
</parameternamelist>
<parameterdescription>
<para>Diagnostics control structure </para>
</parameterdescription>
</parameteritem>
</parameterlist>
</para>
        </detaileddescription>
        <inbodydescription>
        </inbodydescription>
        <location file="/home/cermak/src/MOM6.devrob/src/framework/MOM_diag_mediator.F90" line="3478" column="1" bodyfile="/home/cermak/src/MOM6.devrob/src/framework/MOM_diag_mediator.F90" bodystart="3479" bodyend="3505"/>
        <references refid="namespacemom__error__handler_1a33bcd190d460095104954f2e654f9fe6" compoundref="MOM__error__handler_8F90" startline="182" endline="188">mom_error_handler::assert</references>
        <references refid="namespacemom__diag__mediator_1a883862f004e30bbc5211f38635511ba0" compoundref="MOM__diag__mediator_8F90" startline="3510" endline="3517">initialize_diag_type</references>
        <referencedby refid="namespacemom__diag__mediator_1a8415b33a337b1fbc7535688eca85ab37" compoundref="MOM__diag__mediator_8F90" startline="2454" endline="2474">add_diag_to_list</referencedby>
        <referencedby refid="namespacemom__diag__mediator_1afb4254e1cfbbcfc43028f14915173f80" compoundref="MOM__diag__mediator_8F90" startline="2662" endline="2757">register_scalar_field</referencedby>
        <referencedby refid="namespacemom__diag__mediator_1a87fa69b9e2ba3205756d93e1e13e1dc7" compoundref="MOM__diag__mediator_8F90" startline="2766" endline="2904">register_static_field</referencedby>
      </memberdef>
      <memberdef kind="function" id="namespacemom__diag__mediator_1a883862f004e30bbc5211f38635511ba0" prot="private" static="no" const="no" explicit="no" inline="no" virt="non-virtual">
        <type>subroutine</type>
        <definition>subroutine mom_diag_mediator::initialize_diag_type</definition>
        <argsstring>(diag)</argsstring>
        <name>initialize_diag_type</name>
        <param>
          <type>diag</type>
          <defname>diag</defname>
        </param>
        <briefdescription>
<para>Initializes a <ref refid="structmom__diag__mediator_1_1diag__type" kindref="compound">diag_type</ref> (used after allocating new memory) </para>
        </briefdescription>
        <detaileddescription>
<para><parameterlist kind="param"><parameteritem>
<parameternamelist>
<parametername direction="inout">diag</parametername>
</parameternamelist>
<parameterdescription>
<para><ref refid="structmom__diag__mediator_1_1diag__type" kindref="compound">diag_type</ref> to be initialized </para>
</parameterdescription>
</parameteritem>
</parameterlist>
</para>
        </detaileddescription>
        <inbodydescription>
        </inbodydescription>
        <location file="/home/cermak/src/MOM6.devrob/src/framework/MOM_diag_mediator.F90" line="3509" column="1" bodyfile="/home/cermak/src/MOM6.devrob/src/framework/MOM_diag_mediator.F90" bodystart="3510" bodyend="3517"/>
        <referencedby refid="namespacemom__diag__mediator_1a3c99ff49de6d5e43f0d1bba79290eb71" compoundref="MOM__diag__mediator_8F90" startline="3038" endline="3243">diag_mediator_init</referencedby>
        <referencedby refid="namespacemom__diag__mediator_1a3f7442639213320f7429e2288a79fda2" compoundref="MOM__diag__mediator_8F90" startline="3479" endline="3505">get_new_diag_id</referencedby>
      </memberdef>
      <memberdef kind="function" id="namespacemom__diag__mediator_1a1b0bed2113a0c268eafd1bafbb48bd4f" prot="private" static="no" const="no" explicit="no" inline="no" virt="non-virtual">
        <type>subroutine</type>
        <definition>subroutine mom_diag_mediator::alloc_diag_with_id</definition>
        <argsstring>(diag_id, diag_cs, diag)</argsstring>
        <name>alloc_diag_with_id</name>
        <param>
          <type>diag_id</type>
          <defname>diag_id</defname>
        </param>
        <param>
          <type>diag_cs</type>
          <defname>diag_cs</defname>
        </param>
        <param>
          <type>diag</type>
          <defname>diag</defname>
        </param>
        <briefdescription>
<para>Make a new diagnostic. Either use memory which is in the array of &apos;primary&apos; diagnostics, or if that is in use, insert it to the list of secondary diags. </para>
        </briefdescription>
        <detaileddescription>
<para><parameterlist kind="param"><parameteritem>
<parameternamelist>
<parametername direction="in">diag_id</parametername>
</parameternamelist>
<parameterdescription>
<para>id for the diagnostic </para>
</parameterdescription>
</parameteritem>
<parameteritem>
<parameternamelist>
<parametername direction="inout">diag_cs</parametername>
</parameternamelist>
<parameterdescription>
<para>structure used to regulate diagnostic output </para>
</parameterdescription>
</parameteritem>
<parameteritem>
<parameternamelist>
<parametername>diag</parametername>
</parameternamelist>
<parameterdescription>
<para>structure representing a diagnostic (inout) </para>
</parameterdescription>
</parameteritem>
</parameterlist>
</para>
        </detaileddescription>
        <inbodydescription>
        </inbodydescription>
        <location file="/home/cermak/src/MOM6.devrob/src/framework/MOM_diag_mediator.F90" line="3522" column="1" bodyfile="/home/cermak/src/MOM6.devrob/src/framework/MOM_diag_mediator.F90" bodystart="3523" bodyend="3538"/>
        <referencedby refid="namespacemom__diag__mediator_1a8415b33a337b1fbc7535688eca85ab37" compoundref="MOM__diag__mediator_8F90" startline="2454" endline="2474">add_diag_to_list</referencedby>
        <referencedby refid="namespacemom__diag__mediator_1afb4254e1cfbbcfc43028f14915173f80" compoundref="MOM__diag__mediator_8F90" startline="2662" endline="2757">register_scalar_field</referencedby>
        <referencedby refid="namespacemom__diag__mediator_1a87fa69b9e2ba3205756d93e1e13e1dc7" compoundref="MOM__diag__mediator_8F90" startline="2766" endline="2904">register_static_field</referencedby>
      </memberdef>
      <memberdef kind="function" id="namespacemom__diag__mediator_1a65fe8d329cf5dbfd08c98874a7a64407" prot="private" static="no" const="no" explicit="no" inline="no" virt="non-virtual">
        <type>subroutine</type>
        <definition>subroutine mom_diag_mediator::log_available_diag</definition>
        <argsstring>(used, module_name, field_name, cell_methods_string, comment, diag_CS, long_name, units, standard_name)</argsstring>
        <name>log_available_diag</name>
        <param>
          <type>used</type>
          <defname>used</defname>
        </param>
        <param>
          <type>module_name</type>
          <defname>module_name</defname>
        </param>
        <param>
          <type>field_name</type>
          <defname>field_name</defname>
        </param>
        <param>
          <type>cell_methods_string</type>
          <defname>cell_methods_string</defname>
        </param>
        <param>
          <type>comment</type>
          <defname>comment</defname>
        </param>
        <param>
          <type>diag_CS</type>
          <defname>diag_CS</defname>
        </param>
        <param>
          <type>long_name</type>
          <defname>long_name</defname>
        </param>
        <param>
          <type>units</type>
          <defname>units</defname>
        </param>
        <param>
          <type>standard_name</type>
          <defname>standard_name</defname>
        </param>
        <briefdescription>
<para>Log a diagnostic to the available diagnostics file. </para>
        </briefdescription>
        <detaileddescription>
<para><parameterlist kind="param"><parameteritem>
<parameternamelist>
<parametername direction="in">used</parametername>
</parameternamelist>
<parameterdescription>
<para>Whether this diagnostic was in the diag_table or not </para>
</parameterdescription>
</parameteritem>
<parameteritem>
<parameternamelist>
<parametername direction="in">module_name</parametername>
</parameternamelist>
<parameterdescription>
<para>Name of the diagnostic module </para>
</parameterdescription>
</parameteritem>
<parameteritem>
<parameternamelist>
<parametername direction="in">field_name</parametername>
</parameternamelist>
<parameterdescription>
<para>Name of this diagnostic field </para>
</parameterdescription>
</parameteritem>
<parameteritem>
<parameternamelist>
<parametername direction="in">cell_methods_string</parametername>
</parameternamelist>
<parameterdescription>
<para>The spatial component of the CF cell_methods attribute </para>
</parameterdescription>
</parameteritem>
<parameteritem>
<parameternamelist>
<parametername direction="in">comment</parametername>
</parameternamelist>
<parameterdescription>
<para>A comment to append after [Used|Unused] </para>
</parameterdescription>
</parameteritem>
<parameteritem>
<parameternamelist>
<parametername direction="in">diag_cs</parametername>
</parameternamelist>
<parameterdescription>
<para>The diagnotics control structure </para>
</parameterdescription>
</parameteritem>
<parameteritem>
<parameternamelist>
<parametername direction="in">long_name</parametername>
</parameternamelist>
<parameterdescription>
<para>CF long name of diagnostic </para>
</parameterdescription>
</parameteritem>
<parameteritem>
<parameternamelist>
<parametername direction="in">units</parametername>
</parameternamelist>
<parameterdescription>
<para>Units for diagnostic </para>
</parameterdescription>
</parameteritem>
<parameteritem>
<parameternamelist>
<parametername direction="in">standard_name</parametername>
</parameternamelist>
<parameterdescription>
<para>CF standardized name of diagnostic </para>
</parameterdescription>
</parameteritem>
</parameterlist>
</para>
        </detaileddescription>
        <inbodydescription>
        </inbodydescription>
        <location file="/home/cermak/src/MOM6.devrob/src/framework/MOM_diag_mediator.F90" line="3542" column="1" bodyfile="/home/cermak/src/MOM6.devrob/src/framework/MOM_diag_mediator.F90" bodystart="3544" bodyend="3572"/>
        <references refid="namespacemom__diag__mediator_1ae002ca447acba252bf7bdc042e75a01e" compoundref="MOM__diag__mediator_8F90" startline="2909" endline="2919">describe_option</references>
        <referencedby refid="namespacemom__diag__mediator_1ae50b35cba800ac5fd8975929fd2b9f4a" compoundref="MOM__diag__mediator_8F90" startline="2187" endline="2344">register_diag_field_expand_cmor</referencedby>
        <referencedby refid="namespacemom__diag__mediator_1afb4254e1cfbbcfc43028f14915173f80" compoundref="MOM__diag__mediator_8F90" startline="2662" endline="2757">register_scalar_field</referencedby>
        <referencedby refid="namespacemom__diag__mediator_1a87fa69b9e2ba3205756d93e1e13e1dc7" compoundref="MOM__diag__mediator_8F90" startline="2766" endline="2904">register_static_field</referencedby>
      </memberdef>
      <memberdef kind="function" id="namespacemom__diag__mediator_1af410974feba66bf49817eccb7d1b6426" prot="private" static="no" const="no" explicit="no" inline="no" virt="non-virtual">
        <type>subroutine</type>
        <definition>subroutine mom_diag_mediator::log_chksum_diag</definition>
        <argsstring>(docunit, description, chksum)</argsstring>
        <name>log_chksum_diag</name>
        <param>
          <type>docunit</type>
          <defname>docunit</defname>
        </param>
        <param>
          <type>description</type>
          <defname>description</defname>
        </param>
        <param>
          <type>chksum</type>
          <defname>chksum</defname>
        </param>
        <briefdescription>
<para>Log the diagnostic chksum to the chksum diag file. </para>
        </briefdescription>
        <detaileddescription>
<para><parameterlist kind="param"><parameteritem>
<parameternamelist>
<parametername direction="in">docunit</parametername>
</parameternamelist>
<parameterdescription>
<para>Handle of the log file </para>
</parameterdescription>
</parameteritem>
<parameteritem>
<parameternamelist>
<parametername direction="in">description</parametername>
</parameternamelist>
<parameterdescription>
<para>Name of the diagnostic module </para>
</parameterdescription>
</parameteritem>
<parameteritem>
<parameternamelist>
<parametername direction="in">chksum</parametername>
</parameternamelist>
<parameterdescription>
<para>chksum of the diagnostic </para>
</parameterdescription>
</parameteritem>
</parameterlist>
</para>
        </detaileddescription>
        <inbodydescription>
        </inbodydescription>
        <location file="/home/cermak/src/MOM6.devrob/src/framework/MOM_diag_mediator.F90" line="3576" column="1" bodyfile="/home/cermak/src/MOM6.devrob/src/framework/MOM_diag_mediator.F90" bodystart="3577" bodyend="3583"/>
      </memberdef>
      <memberdef kind="function" id="namespacemom__diag__mediator_1a6f596247402f21fa60bfdf1e73c41044" prot="public" static="no" const="no" explicit="no" inline="no" virt="non-virtual">
        <type>subroutine, public</type>
        <definition>subroutine, public mom_diag_mediator::diag_grid_storage_init</definition>
        <argsstring>(grid_storage, G, diag)</argsstring>
        <name>diag_grid_storage_init</name>
        <param>
          <type>grid_storage</type>
          <defname>grid_storage</defname>
        </param>
        <param>
          <type>G</type>
          <defname>G</defname>
        </param>
        <param>
          <type>diag</type>
          <defname>diag</defname>
        </param>
        <briefdescription>
<para>Allocates fields necessary to store diagnostic remapping fields. </para>
        </briefdescription>
        <detaileddescription>
<para><parameterlist kind="param"><parameteritem>
<parameternamelist>
<parametername direction="inout">grid_storage</parametername>
</parameternamelist>
<parameterdescription>
<para>Structure containing a snapshot of the target grids </para>
</parameterdescription>
</parameteritem>
<parameteritem>
<parameternamelist>
<parametername direction="in">g</parametername>
</parameternamelist>
<parameterdescription>
<para>Horizontal grid </para>
</parameterdescription>
</parameteritem>
<parameteritem>
<parameternamelist>
<parametername direction="in">diag</parametername>
</parameternamelist>
<parameterdescription>
<para>Diagnostic control structure used as the contructor template for this routine </para>
</parameterdescription>
</parameteritem>
</parameterlist>
</para>
        </detaileddescription>
        <inbodydescription>
        </inbodydescription>
        <location file="/home/cermak/src/MOM6.devrob/src/framework/MOM_diag_mediator.F90" line="3587" column="1" bodyfile="/home/cermak/src/MOM6.devrob/src/framework/MOM_diag_mediator.F90" bodystart="3588" bodyend="3608"/>
        <referencedby refid="namespacemom__diag__mediator_1a76c9267c7744e3573f78afbaa0b716a5" compoundref="MOM__diag__mediator_8F90" startline="349" endline="587">set_axes_info</referencedby>
      </memberdef>
      <memberdef kind="function" id="namespacemom__diag__mediator_1a4c15fc11c4d220ebcdd38adb692950db" prot="public" static="no" const="no" explicit="no" inline="no" virt="non-virtual">
        <type>subroutine, public</type>
        <definition>subroutine, public mom_diag_mediator::diag_copy_diag_to_storage</definition>
        <argsstring>(grid_storage, h_state, diag)</argsstring>
        <name>diag_copy_diag_to_storage</name>
        <param>
          <type>grid_storage</type>
          <defname>grid_storage</defname>
        </param>
        <param>
          <type>h_state</type>
          <defname>h_state</defname>
        </param>
        <param>
          <type>diag</type>
          <defname>diag</defname>
        </param>
        <briefdescription>
<para>Copy from the main diagnostic arrays to the grid storage as well as the native thicknesses. </para>
        </briefdescription>
        <detaileddescription>
<para><parameterlist kind="param"><parameteritem>
<parameternamelist>
<parametername direction="inout">grid_storage</parametername>
</parameternamelist>
<parameterdescription>
<para>Structure containing a snapshot of the target grids </para>
</parameterdescription>
</parameteritem>
<parameteritem>
<parameternamelist>
<parametername direction="in">h_state</parametername>
</parameternamelist>
<parameterdescription>
<para>Current model thicknesses [H ~&gt; m or kg m-2] </para>
</parameterdescription>
</parameteritem>
<parameteritem>
<parameternamelist>
<parametername direction="in">diag</parametername>
</parameternamelist>
<parameterdescription>
<para>Diagnostic control structure used as the contructor </para>
</parameterdescription>
</parameteritem>
</parameterlist>
</para>
        </detaileddescription>
        <inbodydescription>
        </inbodydescription>
        <location file="/home/cermak/src/MOM6.devrob/src/framework/MOM_diag_mediator.F90" line="3612" column="1" bodyfile="/home/cermak/src/MOM6.devrob/src/framework/MOM_diag_mediator.F90" bodystart="3613" bodyend="3627"/>
        <referencedby refid="namespacemom_1a96708b16215666edbfa5b46228f3a200" compoundref="MOM_8F90" startline="1604" endline="2769">mom::initialize_mom</referencedby>
        <referencedby refid="namespacemom_1adf54a4e3a72611aa2088f46076e56e53" compoundref="MOM_8F90" startline="422" endline="940">mom::step_mom</referencedby>
      </memberdef>
      <memberdef kind="function" id="namespacemom__diag__mediator_1acfce430f0605a56afdb438107afc0d47" prot="public" static="no" const="no" explicit="no" inline="no" virt="non-virtual">
        <type>subroutine, public</type>
        <definition>subroutine, public mom_diag_mediator::diag_copy_storage_to_diag</definition>
        <argsstring>(diag, grid_storage)</argsstring>
        <name>diag_copy_storage_to_diag</name>
        <param>
          <type>diag</type>
          <defname>diag</defname>
        </param>
        <param>
          <type>grid_storage</type>
          <defname>grid_storage</defname>
        </param>
        <briefdescription>
<para>Copy from the stored diagnostic arrays to the main diagnostic grids. </para>
        </briefdescription>
        <detaileddescription>
<para><parameterlist kind="param"><parameteritem>
<parameternamelist>
<parametername direction="inout">diag</parametername>
</parameternamelist>
<parameterdescription>
<para>Diagnostic control structure used as the contructor </para>
</parameterdescription>
</parameteritem>
<parameteritem>
<parameternamelist>
<parametername direction="in">grid_storage</parametername>
</parameternamelist>
<parameterdescription>
<para>Structure containing a snapshot of the target grids </para>
</parameterdescription>
</parameteritem>
</parameterlist>
</para>
        </detaileddescription>
        <inbodydescription>
        </inbodydescription>
        <location file="/home/cermak/src/MOM6.devrob/src/framework/MOM_diag_mediator.F90" line="3631" column="1" bodyfile="/home/cermak/src/MOM6.devrob/src/framework/MOM_diag_mediator.F90" bodystart="3632" bodyend="3645"/>
        <referencedby refid="namespacemom__diagnostics_1a6bd689b4d9f660020d8e3960879b4799" compoundref="MOM__diagnostics_8F90" startline="197" endline="758">mom_diagnostics::calculate_diagnostic_fields</referencedby>
        <referencedby refid="namespacemom__tracer__registry_1a6840b8bb4ec1b2a2f023046ea47f509c" compoundref="MOM__tracer__registry_8F90" startline="718" endline="766">mom_tracer_registry::post_tracer_diagnostics_at_sync</referencedby>
        <referencedby refid="namespacemom__diagnostics_1acab7430159d4702301069d0d4f82f45c" compoundref="MOM__diagnostics_8F90" startline="1408" endline="1487">mom_diagnostics::post_transport_diagnostics</referencedby>
      </memberdef>
      <memberdef kind="function" id="namespacemom__diag__mediator_1aba48dd8ac75fdf10eda85f8183c2b39e" prot="public" static="no" const="no" explicit="no" inline="no" virt="non-virtual">
        <type>subroutine, public</type>
        <definition>subroutine, public mom_diag_mediator::diag_save_grids</definition>
        <argsstring>(diag)</argsstring>
        <name>diag_save_grids</name>
        <param>
          <type>diag</type>
          <defname>diag</defname>
        </param>
        <briefdescription>
<para>Save the current diagnostic grids in the temporary structure within diag. </para>
        </briefdescription>
        <detaileddescription>
<para><parameterlist kind="param"><parameteritem>
<parameternamelist>
<parametername direction="inout">diag</parametername>
</parameternamelist>
<parameterdescription>
<para>Diagnostic control structure used as the contructor </para>
</parameterdescription>
</parameteritem>
</parameterlist>
</para>
        </detaileddescription>
        <inbodydescription>
        </inbodydescription>
        <location file="/home/cermak/src/MOM6.devrob/src/framework/MOM_diag_mediator.F90" line="3649" column="1" bodyfile="/home/cermak/src/MOM6.devrob/src/framework/MOM_diag_mediator.F90" bodystart="3650" bodyend="3661"/>
        <referencedby refid="namespacemom__diagnostics_1a6bd689b4d9f660020d8e3960879b4799" compoundref="MOM__diagnostics_8F90" startline="197" endline="758">mom_diagnostics::calculate_diagnostic_fields</referencedby>
        <referencedby refid="namespacemom__tracer__registry_1a6840b8bb4ec1b2a2f023046ea47f509c" compoundref="MOM__tracer__registry_8F90" startline="718" endline="766">mom_tracer_registry::post_tracer_diagnostics_at_sync</referencedby>
        <referencedby refid="namespacemom__diagnostics_1acab7430159d4702301069d0d4f82f45c" compoundref="MOM__diagnostics_8F90" startline="1408" endline="1487">mom_diagnostics::post_transport_diagnostics</referencedby>
      </memberdef>
      <memberdef kind="function" id="namespacemom__diag__mediator_1a7a21b53f286a9a214cc6aac4e34eb78b" prot="public" static="no" const="no" explicit="no" inline="no" virt="non-virtual">
        <type>subroutine, public</type>
        <definition>subroutine, public mom_diag_mediator::diag_restore_grids</definition>
        <argsstring>(diag)</argsstring>
        <name>diag_restore_grids</name>
        <param>
          <type>diag</type>
          <defname>diag</defname>
        </param>
        <briefdescription>
<para>Restore the diagnostic grids from the temporary structure within diag. </para>
        </briefdescription>
        <detaileddescription>
<para><parameterlist kind="param"><parameteritem>
<parameternamelist>
<parametername direction="inout">diag</parametername>
</parameternamelist>
<parameterdescription>
<para>Diagnostic control structure used as the contructor </para>
</parameterdescription>
</parameteritem>
</parameterlist>
</para>
        </detaileddescription>
        <inbodydescription>
        </inbodydescription>
        <location file="/home/cermak/src/MOM6.devrob/src/framework/MOM_diag_mediator.F90" line="3665" column="1" bodyfile="/home/cermak/src/MOM6.devrob/src/framework/MOM_diag_mediator.F90" bodystart="3666" bodyend="3678"/>
        <referencedby refid="namespacemom__diagnostics_1a6bd689b4d9f660020d8e3960879b4799" compoundref="MOM__diagnostics_8F90" startline="197" endline="758">mom_diagnostics::calculate_diagnostic_fields</referencedby>
        <referencedby refid="namespacemom__tracer__registry_1a6840b8bb4ec1b2a2f023046ea47f509c" compoundref="MOM__tracer__registry_8F90" startline="718" endline="766">mom_tracer_registry::post_tracer_diagnostics_at_sync</referencedby>
        <referencedby refid="namespacemom__diagnostics_1acab7430159d4702301069d0d4f82f45c" compoundref="MOM__diagnostics_8F90" startline="1408" endline="1487">mom_diagnostics::post_transport_diagnostics</referencedby>
      </memberdef>
      <memberdef kind="function" id="namespacemom__diag__mediator_1a4f82f684f05d581ea5b62a9c62a54af3" prot="public" static="no" const="no" explicit="no" inline="no" virt="non-virtual">
        <type>subroutine, public</type>
        <definition>subroutine, public mom_diag_mediator::diag_grid_storage_end</definition>
        <argsstring>(grid_storage)</argsstring>
        <name>diag_grid_storage_end</name>
        <param>
          <type>grid_storage</type>
          <defname>grid_storage</defname>
        </param>
        <briefdescription>
<para>Deallocates the fields in the remapping fields container. </para>
        </briefdescription>
        <detaileddescription>
<para><parameterlist kind="param"><parameteritem>
<parameternamelist>
<parametername direction="inout">grid_storage</parametername>
</parameternamelist>
<parameterdescription>
<para>Structure containing a snapshot of the target grids </para>
</parameterdescription>
</parameteritem>
</parameterlist>
</para>
        </detaileddescription>
        <inbodydescription>
        </inbodydescription>
        <location file="/home/cermak/src/MOM6.devrob/src/framework/MOM_diag_mediator.F90" line="3682" column="1" bodyfile="/home/cermak/src/MOM6.devrob/src/framework/MOM_diag_mediator.F90" bodystart="3683" bodyend="3697"/>
        <referencedby refid="namespacemom__diag__mediator_1a780f8870b442c730208d66d1ff0b4ac0" compoundref="MOM__diag__mediator_8F90" startline="3401" endline="3452">diag_mediator_end</referencedby>
      </memberdef>
      <memberdef kind="function" id="namespacemom__diag__mediator_1a5f2fcd6b3aa44f8d4f6259d8cf365f04" prot="private" static="no" const="no" explicit="no" inline="no" virt="non-virtual">
        <type>subroutine</type>
        <definition>subroutine mom_diag_mediator::downsample_diag_masks_set</definition>
        <argsstring>(G, nz, diag_cs)</argsstring>
        <name>downsample_diag_masks_set</name>
        <param>
          <type>G</type>
          <defname>G</defname>
        </param>
        <param>
          <type>nz</type>
          <defname>nz</defname>
        </param>
        <param>
          <type>diag_cs</type>
          <defname>diag_cs</defname>
        </param>
        <briefdescription>
        </briefdescription>
        <detaileddescription>
<para><parameterlist kind="param"><parameteritem>
<parameternamelist>
<parametername direction="in">g</parametername>
</parameternamelist>
<parameterdescription>
<para>The ocean grid type.</para>
</parameterdescription>
</parameteritem>
<parameteritem>
<parameternamelist>
<parametername direction="in">nz</parametername>
</parameternamelist>
<parameterdescription>
<para>The number of layers in the model&apos;s native grid.</para>
</parameterdescription>
</parameteritem>
<parameteritem>
<parameternamelist>
<parametername>diag_cs</parametername>
</parameternamelist>
<parameterdescription>
<para>A pointer to a type with many variables used for diagnostics </para>
</parameterdescription>
</parameteritem>
</parameterlist>
</para>
        </detaileddescription>
        <inbodydescription>
        </inbodydescription>
        <location file="/home/cermak/src/MOM6.devrob/src/framework/MOM_diag_mediator.F90" line="3702" column="1" bodyfile="/home/cermak/src/MOM6.devrob/src/framework/MOM_diag_mediator.F90" bodystart="3703" bodyend="3756"/>
        <referencedby refid="namespacemom__diag__mediator_1aebf8dcc4bac8028f24a80fa5f1f1ca5b" compoundref="MOM__diag__mediator_8F90" startline="3344" endline="3382">diag_masks_set</referencedby>
      </memberdef>
      <memberdef kind="function" id="namespacemom__diag__mediator_1a902b3d966dae0a8f0011d98d8697e22d" prot="private" static="no" const="no" explicit="no" inline="no" virt="non-virtual">
        <type>subroutine</type>
        <definition>subroutine mom_diag_mediator::downsample_diag_indices_get</definition>
        <argsstring>(fo1, fo2, dl, diag_cs, isv, iev, jsv, jev)</argsstring>
        <name>downsample_diag_indices_get</name>
        <param>
          <type>fo1</type>
          <defname>fo1</defname>
        </param>
        <param>
          <type>fo2</type>
          <defname>fo2</defname>
        </param>
        <param>
          <type>dl</type>
          <defname>dl</defname>
        </param>
        <param>
          <type>diag_cs</type>
          <defname>diag_cs</defname>
        </param>
        <param>
          <type>isv</type>
          <defname>isv</defname>
        </param>
        <param>
          <type>iev</type>
          <defname>iev</defname>
        </param>
        <param>
          <type>jsv</type>
          <defname>jsv</defname>
        </param>
        <param>
          <type>jev</type>
          <defname>jev</defname>
        </param>
        <briefdescription>
<para>Get the diagnostics-compute indices (to be passed to send_data) based on the shape of the diag field (the same way they are deduced for non-downsampled fields) </para>
        </briefdescription>
        <detaileddescription>
<para><parameterlist kind="param"><parameteritem>
<parameternamelist>
<parametername direction="in">fo1</parametername>
</parameternamelist>
<parameterdescription>
<para>The size of the diag field in x </para>
</parameterdescription>
</parameteritem>
<parameteritem>
<parameternamelist>
<parametername direction="in">fo2</parametername>
</parameternamelist>
<parameterdescription>
<para>The size of the diag field in y </para>
</parameterdescription>
</parameteritem>
<parameteritem>
<parameternamelist>
<parametername direction="in">dl</parametername>
</parameternamelist>
<parameterdescription>
<para>Integer downsample level </para>
</parameterdescription>
</parameteritem>
<parameteritem>
<parameternamelist>
<parametername direction="in">diag_cs</parametername>
</parameternamelist>
<parameterdescription>
<para>Structure used to regulate diagnostic output </para>
</parameterdescription>
</parameteritem>
<parameteritem>
<parameternamelist>
<parametername direction="out">isv</parametername>
</parameternamelist>
<parameterdescription>
<para>i-start index for diagnostics </para>
</parameterdescription>
</parameteritem>
<parameteritem>
<parameternamelist>
<parametername direction="out">iev</parametername>
</parameternamelist>
<parameterdescription>
<para>i-end index for diagnostics </para>
</parameterdescription>
</parameteritem>
<parameteritem>
<parameternamelist>
<parametername direction="out">jsv</parametername>
</parameternamelist>
<parameterdescription>
<para>j-start index for diagnostics </para>
</parameterdescription>
</parameteritem>
<parameteritem>
<parameternamelist>
<parametername direction="out">jev</parametername>
</parameternamelist>
<parameterdescription>
<para>j-end index for diagnostics </para>
</parameterdescription>
</parameteritem>
</parameterlist>
</para>
        </detaileddescription>
        <inbodydescription>
        </inbodydescription>
        <location file="/home/cermak/src/MOM6.devrob/src/framework/MOM_diag_mediator.F90" line="3761" column="1" bodyfile="/home/cermak/src/MOM6.devrob/src/framework/MOM_diag_mediator.F90" bodystart="3762" bodyend="3828"/>
        <references refid="namespacemom__error__handler_1a460cfb79a06c29fc249952c2a3710d67" compoundref="MOM__error__handler_8F90" startline="72" endline="92">mom_error_handler::mom_error</references>
        <referencedby refid="namespacemom__diag__mediator_1ac19dd9879fd5c480c4bd27d6e7b8c0cf" compoundref="MOM__diag__mediator_8F90" startline="3876" endline="3910">downsample_diag_field_2d</referencedby>
        <referencedby refid="namespacemom__diag__mediator_1a30395d7b955b819afa3942700dedead1" compoundref="MOM__diag__mediator_8F90" startline="3835" endline="3869">downsample_diag_field_3d</referencedby>
      </memberdef>
      <memberdef kind="function" id="namespacemom__diag__mediator_1a30395d7b955b819afa3942700dedead1" prot="private" static="no" const="no" explicit="no" inline="no" virt="non-virtual">
        <type>subroutine</type>
        <definition>subroutine mom_diag_mediator::downsample_diag_field_3d</definition>
        <argsstring>(locfield, locfield_dsamp, dl, diag_cs, diag, isv, iev, jsv, jev, mask)</argsstring>
        <name>downsample_diag_field_3d</name>
        <param>
          <type>locfield</type>
          <defname>locfield</defname>
        </param>
        <param>
          <type>locfield_dsamp</type>
          <defname>locfield_dsamp</defname>
        </param>
        <param>
          <type>dl</type>
          <defname>dl</defname>
        </param>
        <param>
          <type>diag_cs</type>
          <defname>diag_cs</defname>
        </param>
        <param>
          <type>diag</type>
          <defname>diag</defname>
        </param>
        <param>
          <type>isv</type>
          <defname>isv</defname>
        </param>
        <param>
          <type>iev</type>
          <defname>iev</defname>
        </param>
        <param>
          <type>jsv</type>
          <defname>jsv</defname>
        </param>
        <param>
          <type>jev</type>
          <defname>jev</defname>
        </param>
        <param>
          <type>mask</type>
          <defname>mask</defname>
        </param>
        <briefdescription>
<para>This subroutine allocates and computes a downsampled array from an input array It also determines the diagnostics-compurte indices for the downsampled array 3d interface. </para>
        </briefdescription>
        <detaileddescription>
<para><parameterlist kind="param"><parameteritem>
<parameternamelist>
<parametername>locfield</parametername>
</parameternamelist>
<parameterdescription>
<para>Input array pointer </para>
</parameterdescription>
</parameteritem>
<parameteritem>
<parameternamelist>
<parametername direction="inout">locfield_dsamp</parametername>
</parameternamelist>
<parameterdescription>
<para>Output (downsampled) array </para>
</parameterdescription>
</parameteritem>
<parameteritem>
<parameternamelist>
<parametername direction="in">diag_cs</parametername>
</parameternamelist>
<parameterdescription>
<para>Structure used to regulate diagnostic output </para>
</parameterdescription>
</parameteritem>
<parameteritem>
<parameternamelist>
<parametername direction="in">diag</parametername>
</parameternamelist>
<parameterdescription>
<para>A structure describing the diagnostic to post </para>
</parameterdescription>
</parameteritem>
<parameteritem>
<parameternamelist>
<parametername direction="in">dl</parametername>
</parameternamelist>
<parameterdescription>
<para>Level of down sampling </para>
</parameterdescription>
</parameteritem>
<parameteritem>
<parameternamelist>
<parametername direction="inout">isv</parametername>
</parameternamelist>
<parameterdescription>
<para>i-start index for diagnostics </para>
</parameterdescription>
</parameteritem>
<parameteritem>
<parameternamelist>
<parametername direction="inout">iev</parametername>
</parameternamelist>
<parameterdescription>
<para>i-end index for diagnostics </para>
</parameterdescription>
</parameteritem>
<parameteritem>
<parameternamelist>
<parametername direction="inout">jsv</parametername>
</parameternamelist>
<parameterdescription>
<para>j-start index for diagnostics </para>
</parameterdescription>
</parameteritem>
<parameteritem>
<parameternamelist>
<parametername direction="inout">jev</parametername>
</parameternamelist>
<parameterdescription>
<para>j-end index for diagnostics </para>
</parameterdescription>
</parameteritem>
<parameteritem>
<parameternamelist>
<parametername direction="in">mask</parametername>
</parameternamelist>
<parameterdescription>
<para>If present, use this real array as the data mask. </para>
</parameterdescription>
</parameteritem>
</parameterlist>
</para>
        </detaileddescription>
        <inbodydescription>
        </inbodydescription>
        <location file="/home/cermak/src/MOM6.devrob/src/framework/MOM_diag_mediator.F90" line="3834" column="1" bodyfile="/home/cermak/src/MOM6.devrob/src/framework/MOM_diag_mediator.F90" bodystart="3835" bodyend="3869"/>
        <references refid="namespacemom__diag__mediator_1a902b3d966dae0a8f0011d98d8697e22d" compoundref="MOM__diag__mediator_8F90" startline="3762" endline="3828">downsample_diag_indices_get</references>
        <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__diag__mediator_1ac19dd9879fd5c480c4bd27d6e7b8c0cf" prot="private" static="no" const="no" explicit="no" inline="no" virt="non-virtual">
        <type>subroutine</type>
        <definition>subroutine mom_diag_mediator::downsample_diag_field_2d</definition>
        <argsstring>(locfield, locfield_dsamp, dl, diag_cs, diag, isv, iev, jsv, jev, mask)</argsstring>
        <name>downsample_diag_field_2d</name>
        <param>
          <type>locfield</type>
          <defname>locfield</defname>
        </param>
        <param>
          <type>locfield_dsamp</type>
          <defname>locfield_dsamp</defname>
        </param>
        <param>
          <type>dl</type>
          <defname>dl</defname>
        </param>
        <param>
          <type>diag_cs</type>
          <defname>diag_cs</defname>
        </param>
        <param>
          <type>diag</type>
          <defname>diag</defname>
        </param>
        <param>
          <type>isv</type>
          <defname>isv</defname>
        </param>
        <param>
          <type>iev</type>
          <defname>iev</defname>
        </param>
        <param>
          <type>jsv</type>
          <defname>jsv</defname>
        </param>
        <param>
          <type>jev</type>
          <defname>jev</defname>
        </param>
        <param>
          <type>mask</type>
          <defname>mask</defname>
        </param>
        <briefdescription>
<para>This subroutine allocates and computes a downsampled array from an input array It also determines the diagnostics-compurte indices for the downsampled array 2d interface. </para>
        </briefdescription>
        <detaileddescription>
<para><parameterlist kind="param"><parameteritem>
<parameternamelist>
<parametername>locfield</parametername>
</parameternamelist>
<parameterdescription>
<para>Input array pointer </para>
</parameterdescription>
</parameteritem>
<parameteritem>
<parameternamelist>
<parametername direction="inout">locfield_dsamp</parametername>
</parameternamelist>
<parameterdescription>
<para>Output (downsampled) array </para>
</parameterdescription>
</parameteritem>
<parameteritem>
<parameternamelist>
<parametername direction="in">diag_cs</parametername>
</parameternamelist>
<parameterdescription>
<para>Structure used to regulate diagnostic output </para>
</parameterdescription>
</parameteritem>
<parameteritem>
<parameternamelist>
<parametername direction="in">diag</parametername>
</parameternamelist>
<parameterdescription>
<para>A structure describing the diagnostic to post </para>
</parameterdescription>
</parameteritem>
<parameteritem>
<parameternamelist>
<parametername direction="in">dl</parametername>
</parameternamelist>
<parameterdescription>
<para>Level of down sampling </para>
</parameterdescription>
</parameteritem>
<parameteritem>
<parameternamelist>
<parametername direction="inout">isv</parametername>
</parameternamelist>
<parameterdescription>
<para>i-start index for diagnostics </para>
</parameterdescription>
</parameteritem>
<parameteritem>
<parameternamelist>
<parametername direction="inout">iev</parametername>
</parameternamelist>
<parameterdescription>
<para>i-end index for diagnostics </para>
</parameterdescription>
</parameteritem>
<parameteritem>
<parameternamelist>
<parametername direction="inout">jsv</parametername>
</parameternamelist>
<parameterdescription>
<para>j-start index for diagnostics </para>
</parameterdescription>
</parameteritem>
<parameteritem>
<parameternamelist>
<parametername direction="inout">jev</parametername>
</parameternamelist>
<parameterdescription>
<para>j-end index for diagnostics </para>
</parameterdescription>
</parameteritem>
<parameteritem>
<parameternamelist>
<parametername direction="in">mask</parametername>
</parameternamelist>
<parameterdescription>
<para>If present, use this real array as the data mask. </para>
</parameterdescription>
</parameteritem>
</parameterlist>
</para>
        </detaileddescription>
        <inbodydescription>
        </inbodydescription>
        <location file="/home/cermak/src/MOM6.devrob/src/framework/MOM_diag_mediator.F90" line="3875" column="1" bodyfile="/home/cermak/src/MOM6.devrob/src/framework/MOM_diag_mediator.F90" bodystart="3876" bodyend="3910"/>
        <references refid="namespacemom__diag__mediator_1a902b3d966dae0a8f0011d98d8697e22d" compoundref="MOM__diag__mediator_8F90" startline="3762" endline="3828">downsample_diag_indices_get</references>
        <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__diag__mediator_1a640ec8fac9bad1d0af6f737d7e816403" prot="private" static="no" const="no" explicit="no" inline="no" virt="non-virtual">
        <type>subroutine</type>
        <definition>subroutine mom_diag_mediator::downsample_field_3d</definition>
        <argsstring>(field_in, field_out, dl, method, mask, diag_cs, diag, isv_o, jsv_o, isv_d, iev_d, jsv_d, jev_d)</argsstring>
        <name>downsample_field_3d</name>
        <param>
          <type>field_in</type>
          <defname>field_in</defname>
        </param>
        <param>
          <type>field_out</type>
          <defname>field_out</defname>
        </param>
        <param>
          <type>dl</type>
          <defname>dl</defname>
        </param>
        <param>
          <type>method</type>
          <defname>method</defname>
        </param>
        <param>
          <type>mask</type>
          <defname>mask</defname>
        </param>
        <param>
          <type>diag_cs</type>
          <defname>diag_cs</defname>
        </param>
        <param>
          <type>diag</type>
          <defname>diag</defname>
        </param>
        <param>
          <type>isv_o</type>
          <defname>isv_o</defname>
        </param>
        <param>
          <type>jsv_o</type>
          <defname>jsv_o</defname>
        </param>
        <param>
          <type>isv_d</type>
          <defname>isv_d</defname>
        </param>
        <param>
          <type>iev_d</type>
          <defname>iev_d</defname>
        </param>
        <param>
          <type>jsv_d</type>
          <defname>jsv_d</defname>
        </param>
        <param>
          <type>jev_d</type>
          <defname>jev_d</defname>
        </param>
        <briefdescription>
<para>This subroutine allocates and computes a down sampled 3d array given an input array The down sample method is based on the &quot;cell_methods&quot; for the diagnostics as explained in the above table. </para>
        </briefdescription>
        <detaileddescription>
<sect1 id="namespacemom__diag__mediator_1downsampling">
<title>The down sample algorithm</title>
<para>The down sample method could be deduced (before send_data call) from the diagx_cell_method, diagy_cell_method and diagv_cell_method</para>
<para>This is the summary of the down sample algoritm for a diagnostic field f: <formula id="238">\[ f(Id,Jd) = \sum_{i,j} f(Id+i,Jd+j) * weight(Id+i,Jd+j) / [ \sum_{i,j} weight(Id+i,Jd+j)] \]</formula> Here, i and j run from 0 to dl-1 (dl being the down sample level). Id,Jd are the down sampled (coarse grid) indices run over the coarsened compute grid, if and jf are the original (fine grid) indices.</para>
<para><verbatim> Example   x_cell y_cell v_cell algorithm_id    implemented weight(if,jf)
 ---------------------------------------------------------------------------------------
 theta     mean   mean   mean   MMM =222        G%areaT(if,jf)*h(if,jf)
 u         point  mean   mean   PMM =022        dyCu(if,jf)*h(if,jf)*delta(if,Id)
 v         mean   point  mean   MPM =202        dxCv(if,jf)*h(if,jf)*delta(jf,Jd)
 ?         point  sum    mean   PSM =012        h(if,jf)*delta(if,Id)
 volcello  sum    sum    sum    SSS =111        1
 T_dfxy_co sum    sum    point  SSP =110        1
 umo       point  sum    sum    PSS =011        1*delta(if,Id)
 vmo       sum    point  sum    SPS =101        1*delta(jf,Jd)
 umo_2d    point  sum    point  PSP =010        1*delta(if,Id)
 vmo_2d    sum    point  point  SPP =100        1*delta(jf,Jd)
 ?         point  mean   point  PMP =020        dyCu(if,jf)*delta(if,Id)
 ?         mean   point  point  MPP =200        dxCv(if,jf)*delta(jf,Jd)
 w         mean   mean   point  MMP =220        G%areaT(if,jf)
 h*theta   mean   mean   sum    MMS =221        G%areaT(if,jf)

 delta is the Kronecker delta</verbatim> <parameterlist kind="param"><parameteritem>
<parameternamelist>
<parametername>field_in</parametername>
</parameternamelist>
<parameterdescription>
<para>Original field to be down sampled </para>
</parameterdescription>
</parameteritem>
<parameteritem>
<parameternamelist>
<parametername>field_out</parametername>
</parameternamelist>
<parameterdescription>
<para>down sampled field </para>
</parameterdescription>
</parameteritem>
<parameteritem>
<parameternamelist>
<parametername direction="in">dl</parametername>
</parameternamelist>
<parameterdescription>
<para>Level of down sampling </para>
</parameterdescription>
</parameteritem>
<parameteritem>
<parameternamelist>
<parametername direction="in">method</parametername>
</parameternamelist>
<parameterdescription>
<para>Sampling method </para>
</parameterdescription>
</parameteritem>
<parameteritem>
<parameternamelist>
<parametername>mask</parametername>
</parameternamelist>
<parameterdescription>
<para>Mask for field </para>
</parameterdescription>
</parameteritem>
<parameteritem>
<parameternamelist>
<parametername direction="in">diag_cs</parametername>
</parameternamelist>
<parameterdescription>
<para>Structure used to regulate diagnostic output </para>
</parameterdescription>
</parameteritem>
<parameteritem>
<parameternamelist>
<parametername direction="in">diag</parametername>
</parameternamelist>
<parameterdescription>
<para>A structure describing the diagnostic to post </para>
</parameterdescription>
</parameteritem>
<parameteritem>
<parameternamelist>
<parametername direction="in">isv_o</parametername>
</parameternamelist>
<parameterdescription>
<para>Original i-start index </para>
</parameterdescription>
</parameteritem>
<parameteritem>
<parameternamelist>
<parametername direction="in">jsv_o</parametername>
</parameternamelist>
<parameterdescription>
<para>Original j-start index </para>
</parameterdescription>
</parameteritem>
<parameteritem>
<parameternamelist>
<parametername direction="in">isv_d</parametername>
</parameternamelist>
<parameterdescription>
<para>i-start index of down sampled data </para>
</parameterdescription>
</parameteritem>
<parameteritem>
<parameternamelist>
<parametername direction="in">iev_d</parametername>
</parameternamelist>
<parameterdescription>
<para>i-end index of down sampled data </para>
</parameterdescription>
</parameteritem>
<parameteritem>
<parameternamelist>
<parametername direction="in">jsv_d</parametername>
</parameternamelist>
<parameterdescription>
<para>j-start index of down sampled data </para>
</parameterdescription>
</parameteritem>
<parameteritem>
<parameternamelist>
<parametername direction="in">jev_d</parametername>
</parameternamelist>
<parameterdescription>
<para>j-end index of down sampled data </para>
</parameterdescription>
</parameteritem>
</parameterlist>
</para>
</sect1>
        </detaileddescription>
        <inbodydescription>
        </inbodydescription>
        <location file="/home/cermak/src/MOM6.devrob/src/framework/MOM_diag_mediator.F90" line="3950" column="1" bodyfile="/home/cermak/src/MOM6.devrob/src/framework/MOM_diag_mediator.F90" bodystart="3951" bodyend="4099"/>
        <references refid="namespacemom__diag__mediator_1a54cd7394f3ad400f4a19155e313bcd22" compoundref="MOM__diag__mediator_8F90" startline="170" endline="170">mmm</references>
        <references refid="namespacemom__diag__mediator_1aaf71efbbdb0b8287772a119750e5127e" compoundref="MOM__diag__mediator_8F90" startline="167" endline="167">mmp</references>
        <references refid="namespacemom__diag__mediator_1a2f08495ffe07bb4ee3f5f11e4432f7e6" compoundref="MOM__diag__mediator_8F90" startline="168" endline="168">mms</references>
        <references refid="namespacemom__error__handler_1a460cfb79a06c29fc249952c2a3710d67" compoundref="MOM__error__handler_8F90" startline="72" endline="92">mom_error_handler::mom_error</references>
        <references refid="namespacemom__diag__mediator_1af4984649b7e1a295998abb48415fad5c" compoundref="MOM__diag__mediator_8F90" startline="166" endline="166">mpm</references>
        <references refid="namespacemom__diag__mediator_1aee297aa161d60188320e803751df9ce4" compoundref="MOM__diag__mediator_8F90" startline="171" endline="171">msk</references>
        <references refid="namespacemom__diag__mediator_1a7730b6ffaeb382cbe497cd9772b858fc" compoundref="MOM__diag__mediator_8F90" startline="161" endline="161">pmm</references>
        <references refid="namespacemom__diag__mediator_1a2f079e2e2550b5ec1887179c37e5cce5" compoundref="MOM__diag__mediator_8F90" startline="158" endline="158">pss</references>
        <references refid="namespacemom__diag__mediator_1aae1bf1b1fd0d54e8d0cf13c4aca9f689" compoundref="MOM__diag__mediator_8F90" startline="163" endline="163">sps</references>
        <references refid="namespacemom__diag__mediator_1ac603c1e0276955bd0dff297f71a63629" compoundref="MOM__diag__mediator_8F90" startline="169" endline="169">sss</references>
        <referencedby refid="namespacemom__diag__mediator_1ae11cae949c3f8cf68d2c70f656aa9c54" compoundref="MOM__diag__mediator_8F90" startline="1645" endline="1812">post_data_3d_low</referencedby>
      </memberdef>
      <memberdef kind="function" id="namespacemom__diag__mediator_1aa46e12f1318ed96f60035cdd32e4157a" prot="private" static="no" const="no" explicit="no" inline="no" virt="non-virtual">
        <type>subroutine</type>
        <definition>subroutine mom_diag_mediator::downsample_field_2d</definition>
        <argsstring>(field_in, field_out, dl, method, mask, diag_cs, diag, isv_o, jsv_o, isv_d, iev_d, jsv_d, jev_d)</argsstring>
        <name>downsample_field_2d</name>
        <param>
          <type>field_in</type>
          <defname>field_in</defname>
        </param>
        <param>
          <type>field_out</type>
          <defname>field_out</defname>
        </param>
        <param>
          <type>dl</type>
          <defname>dl</defname>
        </param>
        <param>
          <type>method</type>
          <defname>method</defname>
        </param>
        <param>
          <type>mask</type>
          <defname>mask</defname>
        </param>
        <param>
          <type>diag_cs</type>
          <defname>diag_cs</defname>
        </param>
        <param>
          <type>diag</type>
          <defname>diag</defname>
        </param>
        <param>
          <type>isv_o</type>
          <defname>isv_o</defname>
        </param>
        <param>
          <type>jsv_o</type>
          <defname>jsv_o</defname>
        </param>
        <param>
          <type>isv_d</type>
          <defname>isv_d</defname>
        </param>
        <param>
          <type>iev_d</type>
          <defname>iev_d</defname>
        </param>
        <param>
          <type>jsv_d</type>
          <defname>jsv_d</defname>
        </param>
        <param>
          <type>jev_d</type>
          <defname>jev_d</defname>
        </param>
        <briefdescription>
<para>This subroutine allocates and computes a down sampled 2d array given an input array The down sample method is based on the &quot;cell_methods&quot; for the diagnostics as explained in the above table. </para>
        </briefdescription>
        <detaileddescription>
<para><parameterlist kind="param"><parameteritem>
<parameternamelist>
<parametername>field_in</parametername>
</parameternamelist>
<parameterdescription>
<para>Original field to be down sampled </para>
</parameterdescription>
</parameteritem>
<parameteritem>
<parameternamelist>
<parametername>field_out</parametername>
</parameternamelist>
<parameterdescription>
<para>Down sampled field </para>
</parameterdescription>
</parameteritem>
<parameteritem>
<parameternamelist>
<parametername direction="in">dl</parametername>
</parameternamelist>
<parameterdescription>
<para>Level of down sampling </para>
</parameterdescription>
</parameteritem>
<parameteritem>
<parameternamelist>
<parametername direction="in">method</parametername>
</parameternamelist>
<parameterdescription>
<para>Sampling method </para>
</parameterdescription>
</parameteritem>
<parameteritem>
<parameternamelist>
<parametername>mask</parametername>
</parameternamelist>
<parameterdescription>
<para>Mask for field </para>
</parameterdescription>
</parameteritem>
<parameteritem>
<parameternamelist>
<parametername direction="in">diag_cs</parametername>
</parameternamelist>
<parameterdescription>
<para>Structure used to regulate diagnostic output </para>
</parameterdescription>
</parameteritem>
<parameteritem>
<parameternamelist>
<parametername direction="in">diag</parametername>
</parameternamelist>
<parameterdescription>
<para>A structure describing the diagnostic to post </para>
</parameterdescription>
</parameteritem>
<parameteritem>
<parameternamelist>
<parametername direction="in">isv_o</parametername>
</parameternamelist>
<parameterdescription>
<para>Original i-start index </para>
</parameterdescription>
</parameteritem>
<parameteritem>
<parameternamelist>
<parametername direction="in">jsv_o</parametername>
</parameternamelist>
<parameterdescription>
<para>Original j-start index </para>
</parameterdescription>
</parameteritem>
<parameteritem>
<parameternamelist>
<parametername direction="in">isv_d</parametername>
</parameternamelist>
<parameterdescription>
<para>i-start index of down sampled data </para>
</parameterdescription>
</parameteritem>
<parameteritem>
<parameternamelist>
<parametername direction="in">iev_d</parametername>
</parameternamelist>
<parameterdescription>
<para>i-end index of down sampled data </para>
</parameterdescription>
</parameteritem>
<parameteritem>
<parameternamelist>
<parametername direction="in">jsv_d</parametername>
</parameternamelist>
<parameterdescription>
<para>j-start index of down sampled data </para>
</parameterdescription>
</parameteritem>
<parameteritem>
<parameternamelist>
<parametername direction="in">jev_d</parametername>
</parameternamelist>
<parameterdescription>
<para>j-end index of down sampled data </para>
</parameterdescription>
</parameteritem>
</parameterlist>
</para>
        </detaileddescription>
        <inbodydescription>
        </inbodydescription>
        <location file="/home/cermak/src/MOM6.devrob/src/framework/MOM_diag_mediator.F90" line="4105" column="1" bodyfile="/home/cermak/src/MOM6.devrob/src/framework/MOM_diag_mediator.F90" bodystart="4107" bodyend="4245"/>
        <references refid="namespacemom__diag__mediator_1aaf71efbbdb0b8287772a119750e5127e" compoundref="MOM__diag__mediator_8F90" startline="167" endline="167">mmp</references>
        <references refid="namespacemom__error__handler_1a460cfb79a06c29fc249952c2a3710d67" compoundref="MOM__error__handler_8F90" startline="72" endline="92">mom_error_handler::mom_error</references>
        <references refid="namespacemom__diag__mediator_1a374b829068930f39f211bbc74c550d73" compoundref="MOM__diag__mediator_8F90" startline="165" endline="165">mpp</references>
        <references refid="namespacemom__diag__mediator_1aee297aa161d60188320e803751df9ce4" compoundref="MOM__diag__mediator_8F90" startline="171" endline="171">msk</references>
        <references refid="namespacemom__diag__mediator_1a17abc676880db0f0ce2764d01161e216" compoundref="MOM__diag__mediator_8F90" startline="160" endline="160">pmp</references>
        <references refid="namespacemom__diag__mediator_1a3247fad19fce000fcb4af1a3cf21a3f2" compoundref="MOM__diag__mediator_8F90" startline="157" endline="157">psp</references>
        <references refid="namespacemom__diag__mediator_1acaa7d531b586a9217d5a8e6f25023c91" compoundref="MOM__diag__mediator_8F90" startline="162" endline="162">spp</references>
        <references refid="namespacemom__diag__mediator_1ab60866bce3c6b88951f1cedb5a4c319b" compoundref="MOM__diag__mediator_8F90" startline="164" endline="164">ssp</references>
        <referencedby refid="namespacemom__diag__mediator_1a633c4a461809f5843ac522616db8f382" compoundref="MOM__diag__mediator_8F90" startline="1378" endline="1517">post_data_2d_low</referencedby>
      </memberdef>
      <memberdef kind="function" id="namespacemom__diag__mediator_1a8e211bead8fe3f37da32dfa010b55b90" prot="private" static="no" const="no" explicit="no" inline="no" virt="non-virtual">
        <type>subroutine</type>
        <definition>subroutine mom_diag_mediator::downsample_mask_2d</definition>
        <argsstring>(field_in, field_out, dl, isc_o, jsc_o, isc_d, iec_d, jsc_d, jec_d, isd_d, ied_d, jsd_d, jed_d)</argsstring>
        <name>downsample_mask_2d</name>
        <param>
          <type>field_in</type>
          <defname>field_in</defname>
        </param>
        <param>
          <type>field_out</type>
          <defname>field_out</defname>
        </param>
        <param>
          <type>dl</type>
          <defname>dl</defname>
        </param>
        <param>
          <type>isc_o</type>
          <defname>isc_o</defname>
        </param>
        <param>
          <type>jsc_o</type>
          <defname>jsc_o</defname>
        </param>
        <param>
          <type>isc_d</type>
          <defname>isc_d</defname>
        </param>
        <param>
          <type>iec_d</type>
          <defname>iec_d</defname>
        </param>
        <param>
          <type>jsc_d</type>
          <defname>jsc_d</defname>
        </param>
        <param>
          <type>jec_d</type>
          <defname>jec_d</defname>
        </param>
        <param>
          <type>isd_d</type>
          <defname>isd_d</defname>
        </param>
        <param>
          <type>ied_d</type>
          <defname>ied_d</defname>
        </param>
        <param>
          <type>jsd_d</type>
          <defname>jsd_d</defname>
        </param>
        <param>
          <type>jed_d</type>
          <defname>jed_d</defname>
        </param>
        <briefdescription>
<para>Allocate and compute the 2d down sampled mask The masks are down sampled based on a minority rule, i.e., a coarse cell is open (1) if at least one of the sub-cells are open, otherwise it&apos;s closed (0) </para>
        </briefdescription>
        <detaileddescription>
<para><parameterlist kind="param"><parameteritem>
<parameternamelist>
<parametername direction="in">field_in</parametername>
</parameternamelist>
<parameterdescription>
<para>Original field to be down sampled </para>
</parameterdescription>
</parameteritem>
<parameteritem>
<parameternamelist>
<parametername>field_out</parametername>
</parameternamelist>
<parameterdescription>
<para>Down sampled field </para>
</parameterdescription>
</parameteritem>
<parameteritem>
<parameternamelist>
<parametername direction="in">dl</parametername>
</parameternamelist>
<parameterdescription>
<para>Level of down sampling </para>
</parameterdescription>
</parameteritem>
<parameteritem>
<parameternamelist>
<parametername direction="in">isc_o</parametername>
</parameternamelist>
<parameterdescription>
<para>Original i-start index </para>
</parameterdescription>
</parameteritem>
<parameteritem>
<parameternamelist>
<parametername direction="in">jsc_o</parametername>
</parameternamelist>
<parameterdescription>
<para>Original j-start index </para>
</parameterdescription>
</parameteritem>
<parameteritem>
<parameternamelist>
<parametername direction="in">isc_d</parametername>
</parameternamelist>
<parameterdescription>
<para>Computational i-start index of down sampled data </para>
</parameterdescription>
</parameteritem>
<parameteritem>
<parameternamelist>
<parametername direction="in">iec_d</parametername>
</parameternamelist>
<parameterdescription>
<para>Computational i-end index of down sampled data </para>
</parameterdescription>
</parameteritem>
<parameteritem>
<parameternamelist>
<parametername direction="in">jsc_d</parametername>
</parameternamelist>
<parameterdescription>
<para>Computational j-start index of down sampled data </para>
</parameterdescription>
</parameteritem>
<parameteritem>
<parameternamelist>
<parametername direction="in">jec_d</parametername>
</parameternamelist>
<parameterdescription>
<para>Computational j-end index of down sampled data </para>
</parameterdescription>
</parameteritem>
<parameteritem>
<parameternamelist>
<parametername direction="in">isd_d</parametername>
</parameternamelist>
<parameterdescription>
<para>Computational i-start index of down sampled data </para>
</parameterdescription>
</parameteritem>
<parameteritem>
<parameternamelist>
<parametername direction="in">ied_d</parametername>
</parameternamelist>
<parameterdescription>
<para>Computational i-end index of down sampled data </para>
</parameterdescription>
</parameteritem>
<parameteritem>
<parameternamelist>
<parametername direction="in">jsd_d</parametername>
</parameternamelist>
<parameterdescription>
<para>Computational j-start index of down sampled data </para>
</parameterdescription>
</parameteritem>
<parameteritem>
<parameternamelist>
<parametername direction="in">jed_d</parametername>
</parameternamelist>
<parameterdescription>
<para>Computational j-end index of down sampled data </para>
</parameterdescription>
</parameteritem>
</parameterlist>
</para>
        </detaileddescription>
        <inbodydescription>
        </inbodydescription>
        <location file="/home/cermak/src/MOM6.devrob/src/framework/MOM_diag_mediator.F90" line="4251" column="1" bodyfile="/home/cermak/src/MOM6.devrob/src/framework/MOM_diag_mediator.F90" bodystart="4253" bodyend="4280"/>
      </memberdef>
      <memberdef kind="function" id="namespacemom__diag__mediator_1a0b0fe5fefbf6a1e9a5b1642f5852cdb6" prot="private" static="no" const="no" explicit="no" inline="no" virt="non-virtual">
        <type>subroutine</type>
        <definition>subroutine mom_diag_mediator::downsample_mask_3d</definition>
        <argsstring>(field_in, field_out, dl, isc_o, jsc_o, isc_d, iec_d, jsc_d, jec_d, isd_d, ied_d, jsd_d, jed_d)</argsstring>
        <name>downsample_mask_3d</name>
        <param>
          <type>field_in</type>
          <defname>field_in</defname>
        </param>
        <param>
          <type>field_out</type>
          <defname>field_out</defname>
        </param>
        <param>
          <type>dl</type>
          <defname>dl</defname>
        </param>
        <param>
          <type>isc_o</type>
          <defname>isc_o</defname>
        </param>
        <param>
          <type>jsc_o</type>
          <defname>jsc_o</defname>
        </param>
        <param>
          <type>isc_d</type>
          <defname>isc_d</defname>
        </param>
        <param>
          <type>iec_d</type>
          <defname>iec_d</defname>
        </param>
        <param>
          <type>jsc_d</type>
          <defname>jsc_d</defname>
        </param>
        <param>
          <type>jec_d</type>
          <defname>jec_d</defname>
        </param>
        <param>
          <type>isd_d</type>
          <defname>isd_d</defname>
        </param>
        <param>
          <type>ied_d</type>
          <defname>ied_d</defname>
        </param>
        <param>
          <type>jsd_d</type>
          <defname>jsd_d</defname>
        </param>
        <param>
          <type>jed_d</type>
          <defname>jed_d</defname>
        </param>
        <briefdescription>
<para>Allocate and compute the 3d down sampled mask The masks are down sampled based on a minority rule, i.e., a coarse cell is open (1) if at least one of the sub-cells are open, otherwise it&apos;s closed (0) </para>
        </briefdescription>
        <detaileddescription>
<para><parameterlist kind="param"><parameteritem>
<parameternamelist>
<parametername direction="in">field_in</parametername>
</parameternamelist>
<parameterdescription>
<para>Original field to be down sampled </para>
</parameterdescription>
</parameteritem>
<parameteritem>
<parameternamelist>
<parametername>field_out</parametername>
</parameternamelist>
<parameterdescription>
<para>down sampled field </para>
</parameterdescription>
</parameteritem>
<parameteritem>
<parameternamelist>
<parametername direction="in">dl</parametername>
</parameternamelist>
<parameterdescription>
<para>Level of down sampling </para>
</parameterdescription>
</parameteritem>
<parameteritem>
<parameternamelist>
<parametername direction="in">isc_o</parametername>
</parameternamelist>
<parameterdescription>
<para>Original i-start index </para>
</parameterdescription>
</parameteritem>
<parameteritem>
<parameternamelist>
<parametername direction="in">jsc_o</parametername>
</parameternamelist>
<parameterdescription>
<para>Original j-start index </para>
</parameterdescription>
</parameteritem>
<parameteritem>
<parameternamelist>
<parametername direction="in">isc_d</parametername>
</parameternamelist>
<parameterdescription>
<para>Computational i-start index of down sampled data </para>
</parameterdescription>
</parameteritem>
<parameteritem>
<parameternamelist>
<parametername direction="in">iec_d</parametername>
</parameternamelist>
<parameterdescription>
<para>Computational i-end index of down sampled data </para>
</parameterdescription>
</parameteritem>
<parameteritem>
<parameternamelist>
<parametername direction="in">jsc_d</parametername>
</parameternamelist>
<parameterdescription>
<para>Computational j-start index of down sampled data </para>
</parameterdescription>
</parameteritem>
<parameteritem>
<parameternamelist>
<parametername direction="in">jec_d</parametername>
</parameternamelist>
<parameterdescription>
<para>Computational j-end index of down sampled data </para>
</parameterdescription>
</parameteritem>
<parameteritem>
<parameternamelist>
<parametername direction="in">isd_d</parametername>
</parameternamelist>
<parameterdescription>
<para>Computational i-start index of down sampled data </para>
</parameterdescription>
</parameteritem>
<parameteritem>
<parameternamelist>
<parametername direction="in">ied_d</parametername>
</parameternamelist>
<parameterdescription>
<para>Computational i-end index of down sampled data </para>
</parameterdescription>
</parameteritem>
<parameteritem>
<parameternamelist>
<parametername direction="in">jsd_d</parametername>
</parameternamelist>
<parameterdescription>
<para>Computational j-start index of down sampled data </para>
</parameterdescription>
</parameteritem>
<parameteritem>
<parameternamelist>
<parametername direction="in">jed_d</parametername>
</parameternamelist>
<parameterdescription>
<para>Computational j-end index of down sampled data </para>
</parameterdescription>
</parameteritem>
</parameterlist>
</para>
        </detaileddescription>
        <inbodydescription>
        </inbodydescription>
        <location file="/home/cermak/src/MOM6.devrob/src/framework/MOM_diag_mediator.F90" line="4286" column="1" bodyfile="/home/cermak/src/MOM6.devrob/src/framework/MOM_diag_mediator.F90" bodystart="4288" bodyend="4316"/>
      </memberdef>
      </sectiondef>
    <briefdescription>
<para>The subroutines here provide convenient wrappers to the fms diag_manager interfaces with additional diagnostic capabilies. </para>
    </briefdescription>
    <detaileddescription>
    </detaileddescription>
    <location file="/home/cermak/src/MOM6.devrob/src/framework/MOM_diag_mediator.F90" line="3" column="1"/>
  </compounddef>
</doxygen>
