<?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__tracer__registry" kind="namespace" language="Fortran">
    <compoundname>mom_tracer_registry</compoundname>
    <innerclass refid="structmom__tracer__registry_1_1tracer__registry__type" prot="public">mom_tracer_registry::tracer_registry_type</innerclass>
    <innerclass refid="structmom__tracer__registry_1_1tracer__type" prot="public">mom_tracer_registry::tracer_type</innerclass>
      <sectiondef kind="func">
      <memberdef kind="function" id="namespacemom__tracer__registry_1a97a70989bd0318f51d90c2fc6f87c6f5" prot="public" static="no" const="no" explicit="no" inline="no" virt="non-virtual">
        <type>subroutine, public</type>
        <definition>subroutine, public mom_tracer_registry::register_tracer</definition>
        <argsstring>(tr_ptr, Reg, param_file, HI, GV, name, longname, units, cmor_name, cmor_units, cmor_longname, tr_desc, OBC_inflow, OBC_in_u, OBC_in_v, ad_x, ad_y, df_x, df_y, ad_2d_x, ad_2d_y, df_2d_x, df_2d_y, advection_xy, registry_diags, flux_nameroot, flux_longname, flux_units, flux_scale, convergence_units, convergence_scale, cmor_tendprefix, diag_form, restart_CS, mandatory)</argsstring>
        <name>register_tracer</name>
        <param>
          <type>tr_ptr</type>
          <defname>tr_ptr</defname>
        </param>
        <param>
          <type>Reg</type>
          <defname>Reg</defname>
        </param>
        <param>
          <type>param_file</type>
          <defname>param_file</defname>
        </param>
        <param>
          <type>HI</type>
          <defname>HI</defname>
        </param>
        <param>
          <type>GV</type>
          <defname>GV</defname>
        </param>
        <param>
          <type>name</type>
          <defname>name</defname>
        </param>
        <param>
          <type>longname</type>
          <defname>longname</defname>
        </param>
        <param>
          <type>units</type>
          <defname>units</defname>
        </param>
        <param>
          <type>cmor_name</type>
          <defname>cmor_name</defname>
        </param>
        <param>
          <type>cmor_units</type>
          <defname>cmor_units</defname>
        </param>
        <param>
          <type>cmor_longname</type>
          <defname>cmor_longname</defname>
        </param>
        <param>
          <type>tr_desc</type>
          <defname>tr_desc</defname>
        </param>
        <param>
          <type>OBC_inflow</type>
          <defname>OBC_inflow</defname>
        </param>
        <param>
          <type>OBC_in_u</type>
          <defname>OBC_in_u</defname>
        </param>
        <param>
          <type>OBC_in_v</type>
          <defname>OBC_in_v</defname>
        </param>
        <param>
          <type>ad_x</type>
          <defname>ad_x</defname>
        </param>
        <param>
          <type>ad_y</type>
          <defname>ad_y</defname>
        </param>
        <param>
          <type>df_x</type>
          <defname>df_x</defname>
        </param>
        <param>
          <type>df_y</type>
          <defname>df_y</defname>
        </param>
        <param>
          <type>ad_2d_x</type>
          <defname>ad_2d_x</defname>
        </param>
        <param>
          <type>ad_2d_y</type>
          <defname>ad_2d_y</defname>
        </param>
        <param>
          <type>df_2d_x</type>
          <defname>df_2d_x</defname>
        </param>
        <param>
          <type>df_2d_y</type>
          <defname>df_2d_y</defname>
        </param>
        <param>
          <type>advection_xy</type>
          <defname>advection_xy</defname>
        </param>
        <param>
          <type>registry_diags</type>
          <defname>registry_diags</defname>
        </param>
        <param>
          <type>flux_nameroot</type>
          <defname>flux_nameroot</defname>
        </param>
        <param>
          <type>flux_longname</type>
          <defname>flux_longname</defname>
        </param>
        <param>
          <type>flux_units</type>
          <defname>flux_units</defname>
        </param>
        <param>
          <type>flux_scale</type>
          <defname>flux_scale</defname>
        </param>
        <param>
          <type>convergence_units</type>
          <defname>convergence_units</defname>
        </param>
        <param>
          <type>convergence_scale</type>
          <defname>convergence_scale</defname>
        </param>
        <param>
          <type>cmor_tendprefix</type>
          <defname>cmor_tendprefix</defname>
        </param>
        <param>
          <type>diag_form</type>
          <defname>diag_form</defname>
        </param>
        <param>
          <type>restart_CS</type>
          <defname>restart_CS</defname>
        </param>
        <param>
          <type>mandatory</type>
          <defname>mandatory</defname>
        </param>
        <briefdescription>
<para>This subroutine registers a tracer to be advected and laterally diffused. </para>
        </briefdescription>
        <detaileddescription>
<para><parameterlist kind="param"><parameteritem>
<parameternamelist>
<parametername direction="in">hi</parametername>
</parameternamelist>
<parameterdescription>
<para>horizontal index type </para>
</parameterdescription>
</parameteritem>
<parameteritem>
<parameternamelist>
<parametername direction="in">gv</parametername>
</parameternamelist>
<parameterdescription>
<para>ocean vertical grid structure </para>
</parameterdescription>
</parameteritem>
<parameteritem>
<parameternamelist>
<parametername>reg</parametername>
</parameternamelist>
<parameterdescription>
<para>pointer to the tracer registry </para>
</parameterdescription>
</parameteritem>
<parameteritem>
<parameternamelist>
<parametername>tr_ptr</parametername>
</parameternamelist>
<parameterdescription>
<para>target or pointer to the tracer array </para>
</parameterdescription>
</parameteritem>
<parameteritem>
<parameternamelist>
<parametername direction="in">param_file</parametername>
</parameternamelist>
<parameterdescription>
<para>file to parse for model parameter values </para>
</parameterdescription>
</parameteritem>
<parameteritem>
<parameternamelist>
<parametername direction="in">name</parametername>
</parameternamelist>
<parameterdescription>
<para>Short tracer name </para>
</parameterdescription>
</parameteritem>
<parameteritem>
<parameternamelist>
<parametername direction="in">longname</parametername>
</parameternamelist>
<parameterdescription>
<para>The long tracer name </para>
</parameterdescription>
</parameteritem>
<parameteritem>
<parameternamelist>
<parametername direction="in">units</parametername>
</parameternamelist>
<parameterdescription>
<para>The units of this tracer </para>
</parameterdescription>
</parameteritem>
<parameteritem>
<parameternamelist>
<parametername direction="in">cmor_name</parametername>
</parameternamelist>
<parameterdescription>
<para>CMOR name </para>
</parameterdescription>
</parameteritem>
<parameteritem>
<parameternamelist>
<parametername direction="in">cmor_units</parametername>
</parameternamelist>
<parameterdescription>
<para>CMOR physical dimensions of variable </para>
</parameterdescription>
</parameteritem>
<parameteritem>
<parameternamelist>
<parametername direction="in">cmor_longname</parametername>
</parameternamelist>
<parameterdescription>
<para>CMOR long name </para>
</parameterdescription>
</parameteritem>
<parameteritem>
<parameternamelist>
<parametername direction="in">tr_desc</parametername>
</parameternamelist>
<parameterdescription>
<para>A structure with metadata about the tracer </para>
</parameterdescription>
</parameteritem>
<parameteritem>
<parameternamelist>
<parametername direction="in">obc_inflow</parametername>
</parameternamelist>
<parameterdescription>
<para>the tracer for all inflows via OBC for which OBC_in_u or OBC_in_v are not specified (units of tracer CONC) </para>
</parameterdescription>
</parameteritem>
<parameteritem>
<parameternamelist>
<parametername>obc_in_u</parametername>
</parameternamelist>
<parameterdescription>
<para>tracer at inflows through u-faces of tracer cells (units of tracer CONC) </para>
</parameterdescription>
</parameteritem>
<parameteritem>
<parameternamelist>
<parametername>obc_in_v</parametername>
</parameternamelist>
<parameterdescription>
<para>tracer at inflows through v-faces of tracer cells (units of tracer CONC) </para>
</parameterdescription>
</parameteritem>
<parameteritem>
<parameternamelist>
<parametername>ad_x</parametername>
</parameternamelist>
<parameterdescription>
<para>diagnostic x-advective flux [conc H L2 T-1 ~&gt; CONC m3 s-1 or CONC kg s-1] </para>
</parameterdescription>
</parameteritem>
<parameteritem>
<parameternamelist>
<parametername>ad_y</parametername>
</parameternamelist>
<parameterdescription>
<para>diagnostic y-advective flux [conc H L2 T-1 ~&gt; CONC m3 s-1 or CONC kg s-1] </para>
</parameterdescription>
</parameteritem>
<parameteritem>
<parameternamelist>
<parametername>df_x</parametername>
</parameternamelist>
<parameterdescription>
<para>diagnostic x-diffusive flux [conc H L2 T-1 ~&gt; CONC m3 s-1 or CONC kg s-1] </para>
</parameterdescription>
</parameteritem>
<parameteritem>
<parameternamelist>
<parametername>df_y</parametername>
</parameternamelist>
<parameterdescription>
<para>diagnostic y-diffusive flux [conc H L2 T-1 ~&gt; CONC m3 s-1 or CONC kg s-1] </para>
</parameterdescription>
</parameteritem>
<parameteritem>
<parameternamelist>
<parametername>ad_2d_x</parametername>
</parameternamelist>
<parameterdescription>
<para>vert sum of diagnostic x-advect flux [conc H L2 T-1 ~&gt; CONC m3 s-1 or CONC kg s-1] </para>
</parameterdescription>
</parameteritem>
<parameteritem>
<parameternamelist>
<parametername>ad_2d_y</parametername>
</parameternamelist>
<parameterdescription>
<para>vert sum of diagnostic y-advect flux [conc H L2 T-1 ~&gt; CONC m3 s-1 or CONC kg s-1] </para>
</parameterdescription>
</parameteritem>
<parameteritem>
<parameternamelist>
<parametername>df_2d_x</parametername>
</parameternamelist>
<parameterdescription>
<para>vert sum of diagnostic x-diffuse flux [conc H L2 T-1 ~&gt; CONC m3 s-1 or CONC kg s-1] </para>
</parameterdescription>
</parameteritem>
<parameteritem>
<parameternamelist>
<parametername>df_2d_y</parametername>
</parameternamelist>
<parameterdescription>
<para>vert sum of diagnostic y-diffuse flux [conc H L2 T-1 ~&gt; CONC m3 s-1 or CONC kg s-1] </para>
</parameterdescription>
</parameteritem>
<parameteritem>
<parameternamelist>
<parametername>advection_xy</parametername>
</parameternamelist>
<parameterdescription>
<para>convergence of lateral advective tracer fluxes </para>
</parameterdescription>
</parameteritem>
<parameteritem>
<parameternamelist>
<parametername direction="in">registry_diags</parametername>
</parameternamelist>
<parameterdescription>
<para>If present and true, use the registry for the diagnostics of this tracer. </para>
</parameterdescription>
</parameteritem>
<parameteritem>
<parameternamelist>
<parametername direction="in">flux_nameroot</parametername>
</parameternamelist>
<parameterdescription>
<para>Short tracer name snippet used construct the names of flux diagnostics. </para>
</parameterdescription>
</parameteritem>
<parameteritem>
<parameternamelist>
<parametername direction="in">flux_longname</parametername>
</parameternamelist>
<parameterdescription>
<para>A word or phrase used construct the long names of flux diagnostics. </para>
</parameterdescription>
</parameteritem>
<parameteritem>
<parameternamelist>
<parametername direction="in">flux_units</parametername>
</parameternamelist>
<parameterdescription>
<para>The units for the fluxes of this tracer. </para>
</parameterdescription>
</parameteritem>
<parameteritem>
<parameternamelist>
<parametername direction="in">flux_scale</parametername>
</parameternamelist>
<parameterdescription>
<para>A scaling factor used to convert the fluxes of this tracer to its desired units. </para>
</parameterdescription>
</parameteritem>
<parameteritem>
<parameternamelist>
<parametername direction="in">convergence_units</parametername>
</parameternamelist>
<parameterdescription>
<para>The units for the flux convergence of this tracer. </para>
</parameterdescription>
</parameteritem>
<parameteritem>
<parameternamelist>
<parametername direction="in">convergence_scale</parametername>
</parameternamelist>
<parameterdescription>
<para>A scaling factor used to convert the flux convergence of this tracer to its desired units. </para>
</parameterdescription>
</parameteritem>
<parameteritem>
<parameternamelist>
<parametername direction="in">cmor_tendprefix</parametername>
</parameternamelist>
<parameterdescription>
<para>The CMOR name for the layer-integrated tendencies of this tracer. </para>
</parameterdescription>
</parameteritem>
<parameteritem>
<parameternamelist>
<parametername direction="in">diag_form</parametername>
</parameternamelist>
<parameterdescription>
<para>An integer (1 or 2, 1 by default) indicating the character string template to use in labeling diagnostics </para>
</parameterdescription>
</parameteritem>
<parameteritem>
<parameternamelist>
<parametername>restart_cs</parametername>
</parameternamelist>
<parameterdescription>
<para>A pointer to the restart control structure this tracer will be registered for restarts if this argument is present </para>
</parameterdescription>
</parameteritem>
<parameteritem>
<parameternamelist>
<parametername direction="in">mandatory</parametername>
</parameternamelist>
<parameterdescription>
<para>If true, this tracer must be read from a restart file. </para>
</parameterdescription>
</parameteritem>
</parameterlist>
</para>
        </detaileddescription>
        <inbodydescription>
        </inbodydescription>
        <location file="/home/cermak/src/MOM6.devrob/src/tracer/MOM_tracer_registry.F90" line="151" column="1" bodyfile="/home/cermak/src/MOM6.devrob/src/tracer/MOM_tracer_registry.F90" bodystart="158" bodyend="325"/>
        <references refid="namespacemom__error__handler_1a460cfb79a06c29fc249952c2a3710d67" compoundref="MOM__error__handler_8F90" startline="72" endline="92">mom_error_handler::mom_error</references>
        <references refid="namespacemom__io_1aa583d22dfaf16e3157b2741d838f5240" compoundref="MOM__io_8F90" startline="699" endline="737">mom_io::query_vardesc</references>
        <references refid="namespacemom__tracer__registry_1a452937bf1f9d01a47d1a80793e317b33" compoundref="MOM__tracer__registry_8F90" startline="863" endline="885">tracer_registry_init</references>
        <referencedby refid="namespaceadvection__test__tracer_1a6cc3e00a5d5cb9e31339c784eb966c91" compoundref="advection__test__tracer_8F90" startline="68" endline="162">advection_test_tracer::register_advection_test_tracer</referencedby>
        <referencedby refid="namespaceboundary__impulse__tracer_1a8c333281de8a3f7a255a0da4187427ad" compoundref="boundary__impulse__tracer_8F90" startline="67" endline="147">boundary_impulse_tracer::register_boundary_impulse_tracer</referencedby>
        <referencedby refid="namespacedome__tracer_1a2a6918ef09b8674c6ad56f80dfc370ff" compoundref="DOME__tracer_8F90" startline="64" endline="138">dome_tracer::register_dome_tracer</referencedby>
        <referencedby refid="namespaceregional__dyes_1a50f9b2b06f258fc67ffabed45901bf76" compoundref="dye__example_8F90" startline="69" endline="181">regional_dyes::register_dye_tracer</referencedby>
        <referencedby refid="namespacedyed__obc__tracer_1a968aec7f642a4750d835b0d030c17fe5" compoundref="dyed__obc__tracer_8F90" startline="55" endline="131">dyed_obc_tracer::register_dyed_obc_tracer</referencedby>
        <referencedby refid="namespaceideal__age__example_1a58d550a02148b87b1d1ce979fcaf6c00" compoundref="ideal__age__example_8F90" startline="73" endline="192">ideal_age_example::register_ideal_age_tracer</referencedby>
        <referencedby refid="namespaceisomip__tracer_1a7d66fe5ba12076654324a7e7d8ab2e4f" compoundref="ISOMIP__tracer_8F90" startline="69" endline="143">isomip_tracer::register_isomip_tracer</referencedby>
        <referencedby refid="namespacemom__generic__tracer_1a5714b64160c8c96b30f1b641de5ff764" compoundref="MOM__generic__tracer_8F90" startline="98" endline="218">mom_generic_tracer::register_mom_generic_tracer</referencedby>
        <referencedby refid="namespacemom__ocmip2__cfc_1ac04494ce35222c8583a7ee7589e1cf13" compoundref="MOM__OCMIP2__CFC_8F90" startline="93" endline="276">mom_ocmip2_cfc::register_ocmip2_cfc</referencedby>
        <referencedby refid="namespaceoil__tracer_1a3aceaf614d8651772124719e32879e23" compoundref="oil__tracer_8F90" startline="78" endline="200">oil_tracer::register_oil_tracer</referencedby>
        <referencedby refid="namespacepseudo__salt__tracer_1a147eabcabc9a787c01310dd67a5bab08" compoundref="pseudo__salt__tracer_8F90" startline="61" endline="112">pseudo_salt_tracer::register_pseudo_salt_tracer</referencedby>
        <referencedby refid="namespacergc__tracer_1a39b5d56f4cb8c161dd9744e0c2b256de" compoundref="RGC__tracer_8F90" startline="68" endline="149">rgc_tracer::register_rgc_tracer</referencedby>
        <referencedby refid="namespaceuser__tracer__example_1a71efc349b3fbeb6f4cb2155de1f8bbe5" compoundref="tracer__example_8F90" startline="57" endline="134">user_tracer_example::user_register_tracer_example</referencedby>
      </memberdef>
      <memberdef kind="function" id="namespacemom__tracer__registry_1af9889848c1f3801951b0c79cace52e8d" prot="public" static="no" const="no" explicit="no" inline="no" virt="non-virtual">
        <type>subroutine, public</type>
        <definition>subroutine, public mom_tracer_registry::lock_tracer_registry</definition>
        <argsstring>(Reg)</argsstring>
        <name>lock_tracer_registry</name>
        <param>
          <type>Reg</type>
          <defname>Reg</defname>
        </param>
        <briefdescription>
<para>This subroutine locks the tracer registry to prevent the addition of more tracers. After locked=.true., can then register common diagnostics. </para>
        </briefdescription>
        <detaileddescription>
<para><parameterlist kind="param"><parameteritem>
<parameternamelist>
<parametername>reg</parametername>
</parameternamelist>
<parameterdescription>
<para>pointer to the tracer registry </para>
</parameterdescription>
</parameteritem>
</parameterlist>
</para>
        </detaileddescription>
        <inbodydescription>
        </inbodydescription>
        <location file="/home/cermak/src/MOM6.devrob/src/tracer/MOM_tracer_registry.F90" line="331" column="1" bodyfile="/home/cermak/src/MOM6.devrob/src/tracer/MOM_tracer_registry.F90" bodystart="332" bodyend="338"/>
        <references refid="namespacemom__error__handler_1a460cfb79a06c29fc249952c2a3710d67" compoundref="MOM__error__handler_8F90" startline="72" endline="92">mom_error_handler::mom_error</references>
        <referencedby refid="namespacemom_1a96708b16215666edbfa5b46228f3a200" compoundref="MOM_8F90" startline="1604" endline="2769">mom::initialize_mom</referencedby>
      </memberdef>
      <memberdef kind="function" id="namespacemom__tracer__registry_1a6210cf64994a49ae3c14e3500c957fb1" prot="public" static="no" const="no" explicit="no" inline="no" virt="non-virtual">
        <type>subroutine, public</type>
        <definition>subroutine, public mom_tracer_registry::register_tracer_diagnostics</definition>
        <argsstring>(Reg, h, Time, diag, G, GV, US, use_ALE)</argsstring>
        <name>register_tracer_diagnostics</name>
        <param>
          <type>Reg</type>
          <defname>Reg</defname>
        </param>
        <param>
          <type>h</type>
          <defname>h</defname>
        </param>
        <param>
          <type>Time</type>
          <defname>Time</defname>
        </param>
        <param>
          <type>diag</type>
          <defname>diag</defname>
        </param>
        <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>use_ALE</type>
          <defname>use_ALE</defname>
        </param>
        <briefdescription>
<para>register_tracer_diagnostics does a set of register_diag_field calls for any previously registered in a tracer registry with a value of registry_diags set to .true. </para>
        </briefdescription>
        <detaileddescription>
<para><parameterlist kind="param"><parameteritem>
<parameternamelist>
<parametername direction="in">g</parametername>
</parameternamelist>
<parameterdescription>
<para>The ocean&apos;s grid structure </para>
</parameterdescription>
</parameteritem>
<parameteritem>
<parameternamelist>
<parametername direction="in">gv</parametername>
</parameternamelist>
<parameterdescription>
<para>The ocean&apos;s vertical grid structure </para>
</parameterdescription>
</parameteritem>
<parameteritem>
<parameternamelist>
<parametername direction="in">us</parametername>
</parameternamelist>
<parameterdescription>
<para>A dimensional unit scaling type </para>
</parameterdescription>
</parameteritem>
<parameteritem>
<parameternamelist>
<parametername>reg</parametername>
</parameternamelist>
<parameterdescription>
<para>pointer to the tracer registry </para>
</parameterdescription>
</parameteritem>
<parameteritem>
<parameternamelist>
<parametername direction="in">h</parametername>
</parameternamelist>
<parameterdescription>
<para>Layer thicknesses </para>
</parameterdescription>
</parameteritem>
<parameteritem>
<parameternamelist>
<parametername direction="in">time</parametername>
</parameternamelist>
<parameterdescription>
<para>current model time </para>
</parameterdescription>
</parameteritem>
<parameteritem>
<parameternamelist>
<parametername direction="in">diag</parametername>
</parameternamelist>
<parameterdescription>
<para>structure to regulate diagnostic output </para>
</parameterdescription>
</parameteritem>
<parameteritem>
<parameternamelist>
<parametername direction="in">use_ale</parametername>
</parameternamelist>
<parameterdescription>
<para>If true active diagnostics that only apply to ALE configurations </para>
</parameterdescription>
</parameteritem>
</parameterlist>
</para>
        </detaileddescription>
        <inbodydescription>
        </inbodydescription>
        <location file="/home/cermak/src/MOM6.devrob/src/tracer/MOM_tracer_registry.F90" line="343" column="1" bodyfile="/home/cermak/src/MOM6.devrob/src/tracer/MOM_tracer_registry.F90" bodystart="344" bodyend="667"/>
        <references refid="namespacemom__io_1ab4558f715ee39149cfe675832b7fa99d" compoundref="MOM__io_8F90" startline="683" endline="693">mom_io::cmor_long_std</references>
        <references refid="namespacemom__string__functions_1a4d76e9e8c2cd53f210b02006924a9212" compoundref="MOM__string__functions_8F90" startline="26" endline="38">mom_string_functions::lowercase</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__tracer__registry_1a32c2b2e308a5183cd7681084e07d1624" prot="public" static="no" const="no" explicit="no" inline="no" virt="non-virtual">
        <type>subroutine, public</type>
        <definition>subroutine, public mom_tracer_registry::preale_tracer_diagnostics</definition>
        <argsstring>(Reg, G, GV)</argsstring>
        <name>preale_tracer_diagnostics</name>
        <param>
          <type>Reg</type>
          <defname>Reg</defname>
        </param>
        <param>
          <type>G</type>
          <defname>G</defname>
        </param>
        <param>
          <type>GV</type>
          <defname>GV</defname>
        </param>
        <briefdescription>
        </briefdescription>
        <detaileddescription>
<para><parameterlist kind="param"><parameteritem>
<parameternamelist>
<parametername>reg</parametername>
</parameternamelist>
<parameterdescription>
<para>pointer to the tracer registry</para>
</parameterdescription>
</parameteritem>
<parameteritem>
<parameternamelist>
<parametername direction="in">g</parametername>
</parameternamelist>
<parameterdescription>
<para>The ocean&apos;s grid structure</para>
</parameterdescription>
</parameteritem>
<parameteritem>
<parameternamelist>
<parametername direction="in">gv</parametername>
</parameternamelist>
<parameterdescription>
<para>ocean vertical grid structure </para>
</parameterdescription>
</parameteritem>
</parameterlist>
</para>
        </detaileddescription>
        <inbodydescription>
        </inbodydescription>
        <location file="/home/cermak/src/MOM6.devrob/src/tracer/MOM_tracer_registry.F90" line="670" column="1" bodyfile="/home/cermak/src/MOM6.devrob/src/tracer/MOM_tracer_registry.F90" bodystart="671" bodyend="685"/>
      </memberdef>
      <memberdef kind="function" id="namespacemom__tracer__registry_1ada71d85c8d29e91166c59601c0e799ef" prot="public" static="no" const="no" explicit="no" inline="no" virt="non-virtual">
        <type>subroutine, public</type>
        <definition>subroutine, public mom_tracer_registry::postale_tracer_diagnostics</definition>
        <argsstring>(Reg, G, GV, diag, dt)</argsstring>
        <name>postale_tracer_diagnostics</name>
        <param>
          <type>Reg</type>
          <defname>Reg</defname>
        </param>
        <param>
          <type>G</type>
          <defname>G</defname>
        </param>
        <param>
          <type>GV</type>
          <defname>GV</defname>
        </param>
        <param>
          <type>diag</type>
          <defname>diag</defname>
        </param>
        <param>
          <type>dt</type>
          <defname>dt</defname>
        </param>
        <briefdescription>
        </briefdescription>
        <detaileddescription>
<para><parameterlist kind="param"><parameteritem>
<parameternamelist>
<parametername>reg</parametername>
</parameternamelist>
<parameterdescription>
<para>pointer to the tracer registry</para>
</parameterdescription>
</parameteritem>
<parameteritem>
<parameternamelist>
<parametername direction="in">g</parametername>
</parameternamelist>
<parameterdescription>
<para>The ocean&apos;s grid structure</para>
</parameterdescription>
</parameteritem>
<parameteritem>
<parameternamelist>
<parametername direction="in">gv</parametername>
</parameternamelist>
<parameterdescription>
<para>ocean vertical grid structure</para>
</parameterdescription>
</parameteritem>
<parameteritem>
<parameternamelist>
<parametername direction="in">diag</parametername>
</parameternamelist>
<parameterdescription>
<para>regulates diagnostic output</para>
</parameterdescription>
</parameteritem>
<parameteritem>
<parameternamelist>
<parametername direction="in">dt</parametername>
</parameternamelist>
<parameterdescription>
<para>total time interval for these diagnostics [T ~&gt; s] </para>
</parameterdescription>
</parameteritem>
</parameterlist>
</para>
        </detaileddescription>
        <inbodydescription>
        </inbodydescription>
        <location file="/home/cermak/src/MOM6.devrob/src/tracer/MOM_tracer_registry.F90" line="688" column="1" bodyfile="/home/cermak/src/MOM6.devrob/src/tracer/MOM_tracer_registry.F90" bodystart="689" bodyend="712"/>
        <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__tracer__registry_1a6840b8bb4ec1b2a2f023046ea47f509c" prot="public" static="no" const="no" explicit="no" inline="no" virt="non-virtual">
        <type>subroutine, public</type>
        <definition>subroutine, public mom_tracer_registry::post_tracer_diagnostics_at_sync</definition>
        <argsstring>(Reg, h, diag_prev, diag, G, GV, dt)</argsstring>
        <name>post_tracer_diagnostics_at_sync</name>
        <param>
          <type>Reg</type>
          <defname>Reg</defname>
        </param>
        <param>
          <type>h</type>
          <defname>h</defname>
        </param>
        <param>
          <type>diag_prev</type>
          <defname>diag_prev</defname>
        </param>
        <param>
          <type>diag</type>
          <defname>diag</defname>
        </param>
        <param>
          <type>G</type>
          <defname>G</defname>
        </param>
        <param>
          <type>GV</type>
          <defname>GV</defname>
        </param>
        <param>
          <type>dt</type>
          <defname>dt</defname>
        </param>
        <briefdescription>
<para>Post tracer diganostics when that should only be posted when MOM&apos;s state is self-consistent (also referred to as &apos;synchronized&apos;) </para>
        </briefdescription>
        <detaileddescription>
<para><parameterlist kind="param"><parameteritem>
<parameternamelist>
<parametername direction="in">g</parametername>
</parameternamelist>
<parameterdescription>
<para>The ocean&apos;s grid structure </para>
</parameterdescription>
</parameteritem>
<parameteritem>
<parameternamelist>
<parametername direction="in">gv</parametername>
</parameternamelist>
<parameterdescription>
<para>The ocean&apos;s vertical grid structure </para>
</parameterdescription>
</parameteritem>
<parameteritem>
<parameternamelist>
<parametername>reg</parametername>
</parameternamelist>
<parameterdescription>
<para>pointer to the tracer registry </para>
</parameterdescription>
</parameteritem>
<parameteritem>
<parameternamelist>
<parametername direction="in">h</parametername>
</parameternamelist>
<parameterdescription>
<para>Layer thicknesses </para>
</parameterdescription>
</parameteritem>
<parameteritem>
<parameternamelist>
<parametername direction="in">diag_prev</parametername>
</parameternamelist>
<parameterdescription>
<para>Contains diagnostic grids from previous timestep </para>
</parameterdescription>
</parameteritem>
<parameteritem>
<parameternamelist>
<parametername direction="inout">diag</parametername>
</parameternamelist>
<parameterdescription>
<para>structure to regulate diagnostic output </para>
</parameterdescription>
</parameteritem>
<parameteritem>
<parameternamelist>
<parametername direction="in">dt</parametername>
</parameternamelist>
<parameterdescription>
<para>total time step for tracer updates [T ~&gt; s] </para>
</parameterdescription>
</parameteritem>
</parameterlist>
</para>
        </detaileddescription>
        <inbodydescription>
        </inbodydescription>
        <location file="/home/cermak/src/MOM6.devrob/src/tracer/MOM_tracer_registry.F90" line="717" column="1" bodyfile="/home/cermak/src/MOM6.devrob/src/tracer/MOM_tracer_registry.F90" bodystart="718" bodyend="766"/>
        <references refid="namespacemom__diag__mediator_1acfce430f0605a56afdb438107afc0d47" compoundref="MOM__diag__mediator_8F90" startline="3632" endline="3645">mom_diag_mediator::diag_copy_storage_to_diag</references>
        <references refid="namespacemom__diag__mediator_1a7a21b53f286a9a214cc6aac4e34eb78b" compoundref="MOM__diag__mediator_8F90" startline="3666" endline="3678">mom_diag_mediator::diag_restore_grids</references>
        <references refid="namespacemom__diag__mediator_1aba48dd8ac75fdf10eda85f8183c2b39e" compoundref="MOM__diag__mediator_8F90" startline="3650" endline="3661">mom_diag_mediator::diag_save_grids</references>
      </memberdef>
      <memberdef kind="function" id="namespacemom__tracer__registry_1afac59be6855cac7e3021295ae1e501b4" prot="public" static="no" const="no" explicit="no" inline="no" virt="non-virtual">
        <type>subroutine, public</type>
        <definition>subroutine, public mom_tracer_registry::post_tracer_transport_diagnostics</definition>
        <argsstring>(G, GV, Reg, h_diag, diag)</argsstring>
        <name>post_tracer_transport_diagnostics</name>
        <param>
          <type>G</type>
          <defname>G</defname>
        </param>
        <param>
          <type>GV</type>
          <defname>GV</defname>
        </param>
        <param>
          <type>Reg</type>
          <defname>Reg</defname>
        </param>
        <param>
          <type>h_diag</type>
          <defname>h_diag</defname>
        </param>
        <param>
          <type>diag</type>
          <defname>diag</defname>
        </param>
        <briefdescription>
<para>Post the advective and diffusive tendencies. </para>
        </briefdescription>
        <detaileddescription>
<para><parameterlist kind="param"><parameteritem>
<parameternamelist>
<parametername direction="in">g</parametername>
</parameternamelist>
<parameterdescription>
<para>The ocean&apos;s grid structure </para>
</parameterdescription>
</parameteritem>
<parameteritem>
<parameternamelist>
<parametername direction="in">gv</parametername>
</parameternamelist>
<parameterdescription>
<para>The ocean&apos;s vertical grid structure </para>
</parameterdescription>
</parameteritem>
<parameteritem>
<parameternamelist>
<parametername>reg</parametername>
</parameternamelist>
<parameterdescription>
<para>pointer to the tracer registry </para>
</parameterdescription>
</parameteritem>
<parameteritem>
<parameternamelist>
<parametername direction="in">h_diag</parametername>
</parameternamelist>
<parameterdescription>
<para>Layer thicknesses on which to post fields </para>
</parameterdescription>
</parameteritem>
<parameteritem>
<parameternamelist>
<parametername direction="in">diag</parametername>
</parameternamelist>
<parameterdescription>
<para>structure to regulate diagnostic output </para>
</parameterdescription>
</parameteritem>
</parameterlist>
</para>
        </detaileddescription>
        <inbodydescription>
        </inbodydescription>
        <location file="/home/cermak/src/MOM6.devrob/src/tracer/MOM_tracer_registry.F90" line="770" column="1" bodyfile="/home/cermak/src/MOM6.devrob/src/tracer/MOM_tracer_registry.F90" bodystart="771" bodyend="804"/>
        <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__tracer__registry_1ad350bb834bb3dcfd6e603bb136bd8098" prot="public" static="no" const="no" explicit="no" inline="no" virt="non-virtual">
        <type>subroutine, public</type>
        <definition>subroutine, public mom_tracer_registry::mom_tracer_chksum</definition>
        <argsstring>(mesg, Tr, ntr, G)</argsstring>
        <name>mom_tracer_chksum</name>
        <param>
          <type>mesg</type>
          <defname>mesg</defname>
        </param>
        <param>
          <type>Tr</type>
          <defname>Tr</defname>
        </param>
        <param>
          <type>ntr</type>
          <defname>ntr</defname>
        </param>
        <param>
          <type>G</type>
          <defname>G</defname>
        </param>
        <briefdescription>
<para>This subroutine writes out chksums for tracers. </para>
        </briefdescription>
        <detaileddescription>
<para><parameterlist kind="param"><parameteritem>
<parameternamelist>
<parametername direction="in">mesg</parametername>
</parameternamelist>
<parameterdescription>
<para>message that appears on the chksum lines </para>
</parameterdescription>
</parameteritem>
<parameteritem>
<parameternamelist>
<parametername direction="in">tr</parametername>
</parameternamelist>
<parameterdescription>
<para>array of all of registered tracers </para>
</parameterdescription>
</parameteritem>
<parameteritem>
<parameternamelist>
<parametername direction="in">ntr</parametername>
</parameternamelist>
<parameterdescription>
<para>number of registered tracers </para>
</parameterdescription>
</parameteritem>
<parameteritem>
<parameternamelist>
<parametername direction="in">g</parametername>
</parameternamelist>
<parameterdescription>
<para>ocean grid structure </para>
</parameterdescription>
</parameteritem>
</parameterlist>
</para>
        </detaileddescription>
        <inbodydescription>
        </inbodydescription>
        <location file="/home/cermak/src/MOM6.devrob/src/tracer/MOM_tracer_registry.F90" line="808" column="1" bodyfile="/home/cermak/src/MOM6.devrob/src/tracer/MOM_tracer_registry.F90" bodystart="809" bodyend="821"/>
        <referencedby refid="namespacemom__offline__main_1a312c47e83e64a6bdf064526f77a8a8ec" compoundref="MOM__offline__main_8F90" startline="423" endline="614">mom_offline_main::offline_redistribute_residual</referencedby>
        <referencedby refid="namespacemom__tracer__hor__diff_1a098229e37012e7bd93d13036bfc864ac" compoundref="MOM__tracer__hor__diff_8F90" startline="107" endline="580">mom_tracer_hor_diff::tracer_hordiff</referencedby>
      </memberdef>
      <memberdef kind="function" id="namespacemom__tracer__registry_1a86cd924ede0ff77b15065f5b3bd2cb29" prot="public" static="no" const="no" explicit="no" inline="no" virt="non-virtual">
        <type>subroutine, public</type>
        <definition>subroutine, public mom_tracer_registry::mom_tracer_chkinv</definition>
        <argsstring>(mesg, G, h, Tr, ntr)</argsstring>
        <name>mom_tracer_chkinv</name>
        <param>
          <type>mesg</type>
          <defname>mesg</defname>
        </param>
        <param>
          <type>G</type>
          <defname>G</defname>
        </param>
        <param>
          <type>h</type>
          <defname>h</defname>
        </param>
        <param>
          <type>Tr</type>
          <defname>Tr</defname>
        </param>
        <param>
          <type>ntr</type>
          <defname>ntr</defname>
        </param>
        <briefdescription>
<para>Calculates and prints the global inventory of all tracers in the registry. </para>
        </briefdescription>
        <detaileddescription>
<para><parameterlist kind="param"><parameteritem>
<parameternamelist>
<parametername direction="in">mesg</parametername>
</parameternamelist>
<parameterdescription>
<para>message that appears on the chksum lines </para>
</parameterdescription>
</parameteritem>
<parameteritem>
<parameternamelist>
<parametername direction="in">g</parametername>
</parameternamelist>
<parameterdescription>
<para>ocean grid structure </para>
</parameterdescription>
</parameteritem>
<parameteritem>
<parameternamelist>
<parametername direction="in">tr</parametername>
</parameternamelist>
<parameterdescription>
<para>array of all of registered tracers </para>
</parameterdescription>
</parameteritem>
<parameteritem>
<parameternamelist>
<parametername direction="in">h</parametername>
</parameternamelist>
<parameterdescription>
<para>Layer thicknesses </para>
</parameterdescription>
</parameteritem>
<parameteritem>
<parameternamelist>
<parametername direction="in">ntr</parametername>
</parameternamelist>
<parameterdescription>
<para>number of registered tracers </para>
</parameterdescription>
</parameteritem>
</parameterlist>
</para>
        </detaileddescription>
        <inbodydescription>
        </inbodydescription>
        <location file="/home/cermak/src/MOM6.devrob/src/tracer/MOM_tracer_registry.F90" line="825" column="1" bodyfile="/home/cermak/src/MOM6.devrob/src/tracer/MOM_tracer_registry.F90" bodystart="826" bodyend="845"/>
        <references refid="namespacemom__error__handler_1ad5f00a53059c72fe2332d1436c80ca71" compoundref="MOM__error__handler_8F90" startline="44" endline="48">mom_error_handler::is_root_pe</references>
        <referencedby refid="namespacemom__ale_1ae95451e2fbd4805eec01d00bebb268b4" compoundref="MOM__ALE_8F90" startline="463" endline="536">mom_ale::ale_offline_inputs</referencedby>
        <referencedby refid="namespacemom__offline__main_1ae85546d26ceb447742abe3c528cad2d7" compoundref="MOM__offline__main_8F90" startline="210" endline="415">mom_offline_main::offline_advection_ale</referencedby>
        <referencedby refid="namespacemom__offline__main_1aaef35c02f93931567c41ae8bc0544bdd" compoundref="MOM__offline__main_8F90" startline="654" endline="754">mom_offline_main::offline_diabatic_ale</referencedby>
        <referencedby refid="namespacemom__offline__main_1a04d329761570d6d9fbc38589bea929cc" compoundref="MOM__offline__main_8F90" startline="760" endline="805">mom_offline_main::offline_fw_fluxes_into_ocean</referencedby>
        <referencedby refid="namespacemom__offline__main_1ad96c09ff7c8f34d9602fd111ec492cfe" compoundref="MOM__offline__main_8F90" startline="810" endline="840">mom_offline_main::offline_fw_fluxes_out_ocean</referencedby>
        <referencedby refid="namespacemom__offline__main_1a312c47e83e64a6bdf064526f77a8a8ec" compoundref="MOM__offline__main_8F90" startline="423" endline="614">mom_offline_main::offline_redistribute_residual</referencedby>
      </memberdef>
      <memberdef kind="function" id="namespacemom__tracer__registry_1a67e71e90d3747dd97a917f6541f39b56" prot="public" static="no" const="no" explicit="no" inline="no" virt="non-virtual">
        <type>subroutine, public</type>
        <definition>subroutine, public mom_tracer_registry::tracer_name_lookup</definition>
        <argsstring>(Reg, tr_ptr, name)</argsstring>
        <name>tracer_name_lookup</name>
        <param>
          <type>Reg</type>
          <defname>Reg</defname>
        </param>
        <param>
          <type>tr_ptr</type>
          <defname>tr_ptr</defname>
        </param>
        <param>
          <type>name</type>
          <defname>name</defname>
        </param>
        <briefdescription>
<para>Find a tracer in the tracer registry by name. </para>
        </briefdescription>
        <detaileddescription>
<para><parameterlist kind="param"><parameteritem>
<parameternamelist>
<parametername>reg</parametername>
</parameternamelist>
<parameterdescription>
<para>pointer to tracer registry </para>
</parameterdescription>
</parameteritem>
<parameteritem>
<parameternamelist>
<parametername>tr_ptr</parametername>
</parameternamelist>
<parameterdescription>
<para>target or pointer to the tracer array </para>
</parameterdescription>
</parameteritem>
<parameteritem>
<parameternamelist>
<parametername direction="in">name</parametername>
</parameternamelist>
<parameterdescription>
<para>tracer name </para>
</parameterdescription>
</parameteritem>
</parameterlist>
</para>
        </detaileddescription>
        <inbodydescription>
        </inbodydescription>
        <location file="/home/cermak/src/MOM6.devrob/src/tracer/MOM_tracer_registry.F90" line="849" column="1" bodyfile="/home/cermak/src/MOM6.devrob/src/tracer/MOM_tracer_registry.F90" bodystart="850" bodyend="858"/>
        <references refid="namespacemom__string__functions_1a4d76e9e8c2cd53f210b02006924a9212" compoundref="MOM__string__functions_8F90" startline="26" endline="38">mom_string_functions::lowercase</references>
        <referencedby refid="namespacedome__initialization_1a7f1f259541709210b38665ea779e623c" compoundref="DOME__initialization_8F90" startline="247" endline="404">dome_initialization::dome_set_obc_data</referencedby>
      </memberdef>
      <memberdef kind="function" id="namespacemom__tracer__registry_1a452937bf1f9d01a47d1a80793e317b33" prot="public" static="no" const="no" explicit="no" inline="no" virt="non-virtual">
        <type>subroutine, public</type>
        <definition>subroutine, public mom_tracer_registry::tracer_registry_init</definition>
        <argsstring>(param_file, Reg)</argsstring>
        <name>tracer_registry_init</name>
        <param>
          <type>param_file</type>
          <defname>param_file</defname>
        </param>
        <param>
          <type>Reg</type>
          <defname>Reg</defname>
        </param>
        <briefdescription>
<para>Initialize the tracer registry. </para>
        </briefdescription>
        <detaileddescription>
<para><parameterlist kind="param"><parameteritem>
<parameternamelist>
<parametername direction="in">param_file</parametername>
</parameternamelist>
<parameterdescription>
<para>open file to parse for model parameters </para>
</parameterdescription>
</parameteritem>
<parameteritem>
<parameternamelist>
<parametername>reg</parametername>
</parameternamelist>
<parameterdescription>
<para>pointer to tracer registry </para>
</parameterdescription>
</parameteritem>
</parameterlist>
</para>
        </detaileddescription>
        <inbodydescription>
        </inbodydescription>
        <location file="/home/cermak/src/MOM6.devrob/src/tracer/MOM_tracer_registry.F90" line="862" column="1" bodyfile="/home/cermak/src/MOM6.devrob/src/tracer/MOM_tracer_registry.F90" bodystart="863" bodyend="885"/>
        <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>
        <referencedby refid="namespacemom__tracer__registry_1a97a70989bd0318f51d90c2fc6f87c6f5" compoundref="MOM__tracer__registry_8F90" startline="158" endline="325">register_tracer</referencedby>
      </memberdef>
      <memberdef kind="function" id="namespacemom__tracer__registry_1aaca7f6bcdb5f1d8cb247e24719d37df9" prot="public" static="no" const="no" explicit="no" inline="no" virt="non-virtual">
        <type>subroutine, public</type>
        <definition>subroutine, public mom_tracer_registry::tracer_registry_end</definition>
        <argsstring>(Reg)</argsstring>
        <name>tracer_registry_end</name>
        <param>
          <type>Reg</type>
          <defname>Reg</defname>
        </param>
        <briefdescription>
<para>This routine closes the tracer registry module. </para>
        </briefdescription>
        <detaileddescription>
<para><parameterlist kind="param"><parameteritem>
<parameternamelist>
<parametername>reg</parametername>
</parameternamelist>
<parameterdescription>
<para>The tracer registry that will be deallocated </para>
</parameterdescription>
</parameteritem>
</parameterlist>
</para>
        </detaileddescription>
        <inbodydescription>
        </inbodydescription>
        <location file="/home/cermak/src/MOM6.devrob/src/tracer/MOM_tracer_registry.F90" line="890" column="1" bodyfile="/home/cermak/src/MOM6.devrob/src/tracer/MOM_tracer_registry.F90" bodystart="891" bodyend="892"/>
        <referencedby refid="namespacemom_1ae6dad976fb4be1c7ba7fc1aff809616b" compoundref="MOM_8F90" startline="3486" endline="3525">mom::mom_end</referencedby>
      </memberdef>
      </sectiondef>
    <briefdescription>
<para>This module contains the <ref refid="structmom__tracer__registry_1_1tracer__registry__type" kindref="compound">tracer_registry_type</ref> and the subroutines that handle registration of tracers and related subroutines. The primary subroutine, register_tracer, is called to indicate the tracers advected and diffused. </para>
    </briefdescription>
    <detaileddescription>
    </detaileddescription>
    <location file="/home/cermak/src/MOM6.devrob/src/tracer/MOM_tracer_registry.F90" line="5" column="1"/>
  </compounddef>
</doxygen>
