<?xml version='1.0' encoding='UTF-8' standalone='no'?>
<doxygen xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="compound.xsd" version="1.8.15">
  <compounddef id="namespacemom__tracer__flow__control" kind="namespace" language="Fortran">
    <compoundname>mom_tracer_flow_control</compoundname>
    <innerclass refid="structmom__tracer__flow__control_1_1tracer__flow__control__cs" prot="public">mom_tracer_flow_control::tracer_flow_control_cs</innerclass>
      <sectiondef kind="func">
      <memberdef kind="function" id="namespacemom__tracer__flow__control_1a736899f8b0b79d0e98384abf2b084880" prot="public" static="no" const="no" explicit="no" inline="no" virt="non-virtual">
        <type>subroutine, public</type>
        <definition>subroutine, public mom_tracer_flow_control::call_tracer_flux_init</definition>
        <argsstring>(verbosity)</argsstring>
        <name>call_tracer_flux_init</name>
        <param>
          <type>verbosity</type>
          <defname>verbosity</defname>
        </param>
        <briefdescription>
<para>This subroutine carries out a series of calls to initialize the air-sea tracer fluxes, but it does not record the generated indicies, and it may be called <emphasis>before</emphasis> the ocean model has been initialized and may be called on non-ocean PEs. It is not necessary to call this routine for ocean-only runs, because the same calls are made again inside of the routines called by call_tracer_register. </para>
        </briefdescription>
        <detaileddescription>
<para><parameterlist kind="param"><parameteritem>
<parameternamelist>
<parametername direction="in">verbosity</parametername>
</parameternamelist>
<parameterdescription>
<para>A 0-9 integer indicating a level of verbosity. </para>
</parameterdescription>
</parameteritem>
</parameterlist>
</para>
        </detaileddescription>
        <inbodydescription>
        </inbodydescription>
        <location file="/home/cermak/src/MOM6.devrob/src/tracer/MOM_tracer_flow_control.F90" line="112" column="1" bodyfile="/home/cermak/src/MOM6.devrob/src/tracer/MOM_tracer_flow_control.F90" bodystart="113" bodyend="133"/>
        <references refid="namespacemom__file__parser_1a5b47aa31f8cffc5bf495f8d3f2e9c001" compoundref="MOM__file__parser_8F90" startline="242" endline="341">mom_file_parser::close_param_file</references>
        <references refid="namespacemom__get__input_1a46e89b56d1317f17ccb44b3fa7694731" compoundref="MOM__get__input_8F90" startline="35" endline="116">mom_get_input::get_mom_input</references>
        <referencedby refid="namespaceocean__model__mod_1ac5275bd24a712d97ec3ee094db73e885" compoundref="ocean__model__MOM_8F90" startline="951" endline="966">ocean_model_mod::ocean_model_flux_init</referencedby>
      </memberdef>
      <memberdef kind="function" id="namespacemom__tracer__flow__control_1aa72e59a493bcf226ece1f0520bec635f" prot="public" static="no" const="no" explicit="no" inline="no" virt="non-virtual">
        <type>subroutine, public</type>
        <definition>subroutine, public mom_tracer_flow_control::call_tracer_register</definition>
        <argsstring>(HI, GV, US, param_file, CS, tr_Reg, restart_CS)</argsstring>
        <name>call_tracer_register</name>
        <param>
          <type>HI</type>
          <defname>HI</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>CS</type>
          <defname>CS</defname>
        </param>
        <param>
          <type>tr_Reg</type>
          <defname>tr_Reg</defname>
        </param>
        <param>
          <type>restart_CS</type>
          <defname>restart_CS</defname>
        </param>
        <briefdescription>
<para>This subroutine determines which tracer packages are to be used and does the calls to register their tracers to be advected, diffused, and read from restarts. </para>
        </briefdescription>
        <detaileddescription>
<para><parameterlist kind="param"><parameteritem>
<parameternamelist>
<parametername direction="in">hi</parametername>
</parameternamelist>
<parameterdescription>
<para>A horizontal index type 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 direction="in">param_file</parametername>
</parameternamelist>
<parameterdescription>
<para>A structure to parse for run-time parameters. </para>
</parameterdescription>
</parameteritem>
<parameteritem>
<parameternamelist>
<parametername>cs</parametername>
</parameternamelist>
<parameterdescription>
<para>A pointer that is set to point to the control structure for this module. </para>
</parameterdescription>
</parameteritem>
<parameteritem>
<parameternamelist>
<parametername>tr_reg</parametername>
</parameternamelist>
<parameterdescription>
<para>A pointer that is set to point to the control structure for the tracer advection and diffusion module. </para>
</parameterdescription>
</parameteritem>
<parameteritem>
<parameternamelist>
<parametername>restart_cs</parametername>
</parameternamelist>
<parameterdescription>
<para>A pointer to the restart control structure. </para>
</parameterdescription>
</parameteritem>
</parameterlist>
</para>
        </detaileddescription>
        <inbodydescription>
        </inbodydescription>
        <location file="/home/cermak/src/MOM6.devrob/src/tracer/MOM_tracer_flow_control.F90" line="141" column="1" bodyfile="/home/cermak/src/MOM6.devrob/src/tracer/MOM_tracer_flow_control.F90" bodystart="142" bodyend="253"/>
        <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__flow__control_1a23c43fd3e8fd71c7aa132b58eb7768b9" prot="public" static="no" const="no" explicit="no" inline="no" virt="non-virtual">
        <type>subroutine, public</type>
        <definition>subroutine, public mom_tracer_flow_control::tracer_flow_control_init</definition>
        <argsstring>(restart, day, G, GV, US, h, param_file, diag, OBC, CS, sponge_CSp, ALE_sponge_CSp, tv)</argsstring>
        <name>tracer_flow_control_init</name>
        <param>
          <type>restart</type>
          <defname>restart</defname>
        </param>
        <param>
          <type>day</type>
          <defname>day</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>h</type>
          <defname>h</defname>
        </param>
        <param>
          <type>param_file</type>
          <defname>param_file</defname>
        </param>
        <param>
          <type>diag</type>
          <defname>diag</defname>
        </param>
        <param>
          <type>OBC</type>
          <defname>OBC</defname>
        </param>
        <param>
          <type>CS</type>
          <defname>CS</defname>
        </param>
        <param>
          <type>sponge_CSp</type>
          <defname>sponge_CSp</defname>
        </param>
        <param>
          <type>ALE_sponge_CSp</type>
          <defname>ALE_sponge_CSp</defname>
        </param>
        <param>
          <type>tv</type>
          <defname>tv</defname>
        </param>
        <briefdescription>
<para>This subroutine calls all registered tracer initialization subroutines. </para>
        </briefdescription>
        <detaileddescription>
<para><parameterlist kind="param"><parameteritem>
<parameternamelist>
<parametername direction="in">restart</parametername>
</parameternamelist>
<parameterdescription>
<para>1 if the fields have already been read from a restart file. </para>
</parameterdescription>
</parameteritem>
<parameteritem>
<parameternamelist>
<parametername direction="in">day</parametername>
</parameternamelist>
<parameterdescription>
<para>Time of the start of the run. </para>
</parameterdescription>
</parameteritem>
<parameteritem>
<parameternamelist>
<parametername direction="inout">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 direction="in">h</parametername>
</parameternamelist>
<parameterdescription>
<para>Layer thicknesses [H ~&gt; m or kg m-2] </para>
</parameterdescription>
</parameteritem>
<parameteritem>
<parameternamelist>
<parametername direction="in">param_file</parametername>
</parameternamelist>
<parameterdescription>
<para>A structure to parse for run-time parameters </para>
</parameterdescription>
</parameteritem>
<parameteritem>
<parameternamelist>
<parametername direction="in">diag</parametername>
</parameternamelist>
<parameterdescription>
<para>A structure that is used to regulate diagnostic output. </para>
</parameterdescription>
</parameteritem>
<parameteritem>
<parameternamelist>
<parametername>obc</parametername>
</parameternamelist>
<parameterdescription>
<para>This open boundary condition type specifies whether, where, and what open boundary conditions are used. </para>
</parameterdescription>
</parameteritem>
<parameteritem>
<parameternamelist>
<parametername>cs</parametername>
</parameternamelist>
<parameterdescription>
<para>The control structure returned by a previous call to call_tracer_register. </para>
</parameterdescription>
</parameteritem>
<parameteritem>
<parameternamelist>
<parametername>sponge_csp</parametername>
</parameternamelist>
<parameterdescription>
<para>A pointer to the control structure for the sponges, if they are in use. Otherwise this may be unassociated. </para>
</parameterdescription>
</parameteritem>
<parameteritem>
<parameternamelist>
<parametername>ale_sponge_csp</parametername>
</parameternamelist>
<parameterdescription>
<para>A pointer to the control structure for the ALE sponges, if they are in use. Otherwise this may be unassociated. </para>
</parameterdescription>
</parameteritem>
<parameteritem>
<parameternamelist>
<parametername direction="in">tv</parametername>
</parameternamelist>
<parameterdescription>
<para>A structure pointing to various thermodynamic variables </para>
</parameterdescription>
</parameteritem>
</parameterlist>
</para>
        </detaileddescription>
        <inbodydescription>
        </inbodydescription>
        <location file="/home/cermak/src/MOM6.devrob/src/tracer/MOM_tracer_flow_control.F90" line="258" column="1" bodyfile="/home/cermak/src/MOM6.devrob/src/tracer/MOM_tracer_flow_control.F90" bodystart="260" bodyend="331"/>
        <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__flow__control_1abd2e9269190427ba86fb8a26e6792e66" prot="public" static="no" const="no" explicit="no" inline="no" virt="non-virtual">
        <type>subroutine, public</type>
        <definition>subroutine, public mom_tracer_flow_control::get_chl_from_model</definition>
        <argsstring>(Chl_array, G, CS)</argsstring>
        <name>get_chl_from_model</name>
        <param>
          <type>Chl_array</type>
          <defname>Chl_array</defname>
        </param>
        <param>
          <type>G</type>
          <defname>G</defname>
        </param>
        <param>
          <type>CS</type>
          <defname>CS</defname>
        </param>
        <briefdescription>
<para>This subroutine extracts the chlorophyll concentrations from the model state, if possible. </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="out">chl_array</parametername>
</parameternamelist>
<parameterdescription>
<para>The array in which to store the model&apos;s </para>
</parameterdescription>
</parameteritem>
<parameteritem>
<parameternamelist>
<parametername>cs</parametername>
</parameternamelist>
<parameterdescription>
<para>The control structure returned by a previous call to call_tracer_register. </para>
</parameterdescription>
</parameteritem>
</parameterlist>
</para>
        </detaileddescription>
        <inbodydescription>
        </inbodydescription>
        <location file="/home/cermak/src/MOM6.devrob/src/tracer/MOM_tracer_flow_control.F90" line="335" column="1" bodyfile="/home/cermak/src/MOM6.devrob/src/tracer/MOM_tracer_flow_control.F90" bodystart="336" bodyend="350"/>
        <references refid="namespacemom__error__handler_1a460cfb79a06c29fc249952c2a3710d67" compoundref="MOM__error__handler_8F90" startline="72" endline="92">mom_error_handler::mom_error</references>
        <referencedby refid="namespacemom__diabatic__aux_1adce369573ff355b820320d9c3b048693" compoundref="MOM__diabatic__aux_8F90" startline="531" endline="585">mom_diabatic_aux::set_pen_shortwave</referencedby>
      </memberdef>
      <memberdef kind="function" id="namespacemom__tracer__flow__control_1a7c528b4f0654399b58736530f2ad0df7" prot="public" static="no" const="no" explicit="no" inline="no" virt="non-virtual">
        <type>subroutine, public</type>
        <definition>subroutine, public mom_tracer_flow_control::call_tracer_set_forcing</definition>
        <argsstring>(sfc_state, fluxes, day_start, day_interval, G, CS)</argsstring>
        <name>call_tracer_set_forcing</name>
        <param>
          <type>sfc_state</type>
          <defname>sfc_state</defname>
        </param>
        <param>
          <type>fluxes</type>
          <defname>fluxes</defname>
        </param>
        <param>
          <type>day_start</type>
          <defname>day_start</defname>
        </param>
        <param>
          <type>day_interval</type>
          <defname>day_interval</defname>
        </param>
        <param>
          <type>G</type>
          <defname>G</defname>
        </param>
        <param>
          <type>CS</type>
          <defname>CS</defname>
        </param>
        <briefdescription>
<para>This subroutine calls the individual tracer modules&apos; subroutines to specify or read quantities related to their surface forcing. </para>
        </briefdescription>
        <detaileddescription>
<para><parameterlist kind="param"><parameteritem>
<parameternamelist>
<parametername direction="inout">sfc_state</parametername>
</parameternamelist>
<parameterdescription>
<para>A structure containing fields that describe the surface state of the ocean. </para>
</parameterdescription>
</parameteritem>
<parameteritem>
<parameternamelist>
<parametername direction="inout">fluxes</parametername>
</parameternamelist>
<parameterdescription>
<para>A structure containing pointers to any possible forcing fields. Unused fields have NULL ptrs. </para>
</parameterdescription>
</parameteritem>
<parameteritem>
<parameternamelist>
<parametername direction="in">day_start</parametername>
</parameternamelist>
<parameterdescription>
<para>Start time of the fluxes. </para>
</parameterdescription>
</parameteritem>
<parameteritem>
<parameternamelist>
<parametername direction="in">day_interval</parametername>
</parameternamelist>
<parameterdescription>
<para>Length of time over which these fluxes will be applied. </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>cs</parametername>
</parameternamelist>
<parameterdescription>
<para>The control structure returned by a previous call to call_tracer_register. </para>
</parameterdescription>
</parameteritem>
</parameterlist>
</para>
        </detaileddescription>
        <inbodydescription>
        </inbodydescription>
        <location file="/home/cermak/src/MOM6.devrob/src/tracer/MOM_tracer_flow_control.F90" line="355" column="1" bodyfile="/home/cermak/src/MOM6.devrob/src/tracer/MOM_tracer_flow_control.F90" bodystart="356" bodyend="375"/>
        <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__flow__control_1ae4af301529462d180014b52d0ceea67c" prot="public" static="no" const="no" explicit="no" inline="no" virt="non-virtual">
        <type>subroutine, public</type>
        <definition>subroutine, public mom_tracer_flow_control::call_tracer_column_fns</definition>
        <argsstring>(h_old, h_new, ea, eb, fluxes, Hml, dt, G, GV, US, tv, optics, CS, debug, evap_CFL_limit, minimum_forcing_depth)</argsstring>
        <name>call_tracer_column_fns</name>
        <param>
          <type>h_old</type>
          <defname>h_old</defname>
        </param>
        <param>
          <type>h_new</type>
          <defname>h_new</defname>
        </param>
        <param>
          <type>ea</type>
          <defname>ea</defname>
        </param>
        <param>
          <type>eb</type>
          <defname>eb</defname>
        </param>
        <param>
          <type>fluxes</type>
          <defname>fluxes</defname>
        </param>
        <param>
          <type>Hml</type>
          <defname>Hml</defname>
        </param>
        <param>
          <type>dt</type>
          <defname>dt</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>tv</type>
          <defname>tv</defname>
        </param>
        <param>
          <type>optics</type>
          <defname>optics</defname>
        </param>
        <param>
          <type>CS</type>
          <defname>CS</defname>
        </param>
        <param>
          <type>debug</type>
          <defname>debug</defname>
        </param>
        <param>
          <type>evap_CFL_limit</type>
          <defname>evap_CFL_limit</defname>
        </param>
        <param>
          <type>minimum_forcing_depth</type>
          <defname>minimum_forcing_depth</defname>
        </param>
        <briefdescription>
<para>This subroutine calls all registered tracer column physics subroutines. </para>
        </briefdescription>
        <detaileddescription>
<para><parameterlist kind="param"><parameteritem>
<parameternamelist>
<parametername direction="in">g</parametername>
</parameternamelist>
<parameterdescription>
<para>The ocean&apos;s grid structure. </para>
</parameterdescription>
</parameteritem>
<parameteritem>
<parameternamelist>
<parametername direction="in">gv</parametername>
</parameternamelist>
<parameterdescription>
<para>The ocean&apos;s vertical grid structure. </para>
</parameterdescription>
</parameteritem>
<parameteritem>
<parameternamelist>
<parametername direction="in">h_old</parametername>
</parameternamelist>
<parameterdescription>
<para>Layer thickness before entrainment [H ~&gt; m or kg m-2]. </para>
</parameterdescription>
</parameteritem>
<parameteritem>
<parameternamelist>
<parametername direction="in">h_new</parametername>
</parameternamelist>
<parameterdescription>
<para>Layer thickness after entrainment [H ~&gt; m or kg m-2]. </para>
</parameterdescription>
</parameteritem>
<parameteritem>
<parameternamelist>
<parametername direction="in">ea</parametername>
</parameternamelist>
<parameterdescription>
<para>an array to which the amount of fluid entrained from the layer above during this call will be added [H ~&gt; m or kg m-2]. </para>
</parameterdescription>
</parameteritem>
<parameteritem>
<parameternamelist>
<parametername direction="in">eb</parametername>
</parameternamelist>
<parameterdescription>
<para>an array to which the amount of fluid entrained from the layer below during this call will be added [H ~&gt; m or kg m-2]. </para>
</parameterdescription>
</parameteritem>
<parameteritem>
<parameternamelist>
<parametername direction="in">fluxes</parametername>
</parameternamelist>
<parameterdescription>
<para>A structure containing pointers to any possible forcing fields. Unused fields have NULL ptrs. </para>
</parameterdescription>
</parameteritem>
<parameteritem>
<parameternamelist>
<parametername direction="in">hml</parametername>
</parameternamelist>
<parameterdescription>
<para>Mixed layer depth [Z ~&gt; m] </para>
</parameterdescription>
</parameteritem>
<parameteritem>
<parameternamelist>
<parametername direction="in">dt</parametername>
</parameternamelist>
<parameterdescription>
<para>The amount of time covered by this call [T ~&gt; s] </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">tv</parametername>
</parameternamelist>
<parameterdescription>
<para>A structure pointing to various thermodynamic variables. </para>
</parameterdescription>
</parameteritem>
<parameteritem>
<parameternamelist>
<parametername>optics</parametername>
</parameternamelist>
<parameterdescription>
<para>The structure containing optical properties. </para>
</parameterdescription>
</parameteritem>
<parameteritem>
<parameternamelist>
<parametername>cs</parametername>
</parameternamelist>
<parameterdescription>
<para>The control structure returned by a previous call to call_tracer_register. </para>
</parameterdescription>
</parameteritem>
<parameteritem>
<parameternamelist>
<parametername direction="in">debug</parametername>
</parameternamelist>
<parameterdescription>
<para>If true calculate checksums </para>
</parameterdescription>
</parameteritem>
<parameteritem>
<parameternamelist>
<parametername direction="in">evap_cfl_limit</parametername>
</parameternamelist>
<parameterdescription>
<para>Limit on the fraction of the water that can be fluxed out of the top layer in a timestep [nondim] </para>
</parameterdescription>
</parameteritem>
<parameteritem>
<parameternamelist>
<parametername direction="in">minimum_forcing_depth</parametername>
</parameternamelist>
<parameterdescription>
<para>The smallest depth over which fluxes can be applied [H ~&gt; m or kg m-2] </para>
</parameterdescription>
</parameteritem>
</parameterlist>
</para>
        </detaileddescription>
        <inbodydescription>
        </inbodydescription>
        <location file="/home/cermak/src/MOM6.devrob/src/tracer/MOM_tracer_flow_control.F90" line="379" column="1" bodyfile="/home/cermak/src/MOM6.devrob/src/tracer/MOM_tracer_flow_control.F90" bodystart="381" bodyend="537"/>
        <references refid="namespacemom__error__handler_1a460cfb79a06c29fc249952c2a3710d67" compoundref="MOM__error__handler_8F90" startline="72" endline="92">mom_error_handler::mom_error</references>
        <referencedby refid="namespacemom__diabatic__driver_1aef60aa7bfe62f65408c7005b6cb613e8" compoundref="MOM__diabatic__driver_8F90" startline="2849" endline="2865">mom_diabatic_driver::adiabatic</referencedby>
        <referencedby refid="namespacemom__diabatic__driver_1ae57c48925de75712384e859a851c8c40" compoundref="MOM__diabatic__driver_8F90" startline="1173" endline="1848">mom_diabatic_driver::diabatic_ale</referencedby>
        <referencedby refid="namespacemom__diabatic__driver_1acf7394d08f436dd9575b568d1f18e18a" compoundref="MOM__diabatic__driver_8F90" startline="453" endline="1165">mom_diabatic_driver::diabatic_ale_legacy</referencedby>
        <referencedby refid="namespacemom__diabatic__driver_1a71d8d849db16be4b87c2650b49f01c82" compoundref="MOM__diabatic__driver_8F90" startline="1855" endline="2812">mom_diabatic_driver::layered_diabatic</referencedby>
        <referencedby refid="namespacemom__offline__main_1a887d59c64eb269aad257eacc8cf30444" compoundref="MOM__offline__main_8F90" startline="846" endline="1013">mom_offline_main::offline_advection_layer</referencedby>
        <referencedby refid="namespacemom__offline__main_1aaef35c02f93931567c41ae8bc0544bdd" compoundref="MOM__offline__main_8F90" startline="654" endline="754">mom_offline_main::offline_diabatic_ale</referencedby>
      </memberdef>
      <memberdef kind="function" id="namespacemom__tracer__flow__control_1afd8526344e928c8c9505c921bf37447f" prot="public" static="no" const="no" explicit="no" inline="no" virt="non-virtual">
        <type>subroutine, public</type>
        <definition>subroutine, public mom_tracer_flow_control::call_tracer_stocks</definition>
        <argsstring>(h, stock_values, G, GV, CS, stock_names, stock_units, num_stocks, stock_index, got_min_max, global_min, global_max, xgmin, ygmin, zgmin, xgmax, ygmax, zgmax)</argsstring>
        <name>call_tracer_stocks</name>
        <param>
          <type>h</type>
          <defname>h</defname>
        </param>
        <param>
          <type>stock_values</type>
          <defname>stock_values</defname>
        </param>
        <param>
          <type>G</type>
          <defname>G</defname>
        </param>
        <param>
          <type>GV</type>
          <defname>GV</defname>
        </param>
        <param>
          <type>CS</type>
          <defname>CS</defname>
        </param>
        <param>
          <type>stock_names</type>
          <defname>stock_names</defname>
        </param>
        <param>
          <type>stock_units</type>
          <defname>stock_units</defname>
        </param>
        <param>
          <type>num_stocks</type>
          <defname>num_stocks</defname>
        </param>
        <param>
          <type>stock_index</type>
          <defname>stock_index</defname>
        </param>
        <param>
          <type>got_min_max</type>
          <defname>got_min_max</defname>
        </param>
        <param>
          <type>global_min</type>
          <defname>global_min</defname>
        </param>
        <param>
          <type>global_max</type>
          <defname>global_max</defname>
        </param>
        <param>
          <type>xgmin</type>
          <defname>xgmin</defname>
        </param>
        <param>
          <type>ygmin</type>
          <defname>ygmin</defname>
        </param>
        <param>
          <type>zgmin</type>
          <defname>zgmin</defname>
        </param>
        <param>
          <type>xgmax</type>
          <defname>xgmax</defname>
        </param>
        <param>
          <type>ygmax</type>
          <defname>ygmax</defname>
        </param>
        <param>
          <type>zgmax</type>
          <defname>zgmax</defname>
        </param>
        <briefdescription>
<para>This subroutine calls all registered tracer packages to enable them to add to the surface state returned to the coupler. These routines are optional. </para>
        </briefdescription>
        <detaileddescription>
<para><parameterlist kind="param"><parameteritem>
<parameternamelist>
<parametername direction="in">g</parametername>
</parameternamelist>
<parameterdescription>
<para>The ocean&apos;s grid structure. </para>
</parameterdescription>
</parameteritem>
<parameteritem>
<parameternamelist>
<parametername direction="in">gv</parametername>
</parameternamelist>
<parameterdescription>
<para>The ocean&apos;s vertical grid structure. </para>
</parameterdescription>
</parameteritem>
<parameteritem>
<parameternamelist>
<parametername direction="in">h</parametername>
</parameternamelist>
<parameterdescription>
<para>Layer thicknesses [H ~&gt; m or kg m-2] </para>
</parameterdescription>
</parameteritem>
<parameteritem>
<parameternamelist>
<parametername direction="out">stock_values</parametername>
</parameternamelist>
<parameterdescription>
<para>The integrated amounts of a tracer on the current PE, usually in kg x concentration [kg conc]. </para>
</parameterdescription>
</parameteritem>
<parameteritem>
<parameternamelist>
<parametername>cs</parametername>
</parameternamelist>
<parameterdescription>
<para>The control structure returned by a previous call to call_tracer_register. </para>
</parameterdescription>
</parameteritem>
<parameteritem>
<parameternamelist>
<parametername direction="out">stock_names</parametername>
</parameternamelist>
<parameterdescription>
<para>Diagnostic names to use for each stock. </para>
</parameterdescription>
</parameteritem>
<parameteritem>
<parameternamelist>
<parametername direction="out">stock_units</parametername>
</parameternamelist>
<parameterdescription>
<para>Units to use in the metadata for each stock. </para>
</parameterdescription>
</parameteritem>
<parameteritem>
<parameternamelist>
<parametername direction="out">num_stocks</parametername>
</parameternamelist>
<parameterdescription>
<para>The number of tracer stocks being returned. </para>
</parameterdescription>
</parameteritem>
<parameteritem>
<parameternamelist>
<parametername direction="in">stock_index</parametername>
</parameternamelist>
<parameterdescription>
<para>The integer stock index from stocks_constants_mod of the stock to be returned. If this is present and greater than 0, only a single stock can be returned. </para>
</parameterdescription>
</parameteritem>
<parameteritem>
<parameternamelist>
<parametername direction="inout">got_min_max</parametername>
</parameternamelist>
<parameterdescription>
<para>Indicates whether the global min and </para>
</parameterdescription>
</parameteritem>
<parameteritem>
<parameternamelist>
<parametername direction="out">global_min</parametername>
</parameternamelist>
<parameterdescription>
<para>The global minimum of each tracer </para>
</parameterdescription>
</parameteritem>
<parameteritem>
<parameternamelist>
<parametername direction="out">global_max</parametername>
</parameternamelist>
<parameterdescription>
<para>The global maximum of each tracer </para>
</parameterdescription>
</parameteritem>
<parameteritem>
<parameternamelist>
<parametername direction="out">xgmin</parametername>
</parameternamelist>
<parameterdescription>
<para>The x-position of the global minimum </para>
</parameterdescription>
</parameteritem>
<parameteritem>
<parameternamelist>
<parametername direction="out">ygmin</parametername>
</parameternamelist>
<parameterdescription>
<para>The y-position of the global minimum </para>
</parameterdescription>
</parameteritem>
<parameteritem>
<parameternamelist>
<parametername direction="out">zgmin</parametername>
</parameternamelist>
<parameterdescription>
<para>The z-position of the global minimum </para>
</parameterdescription>
</parameteritem>
<parameteritem>
<parameternamelist>
<parametername direction="out">xgmax</parametername>
</parameternamelist>
<parameterdescription>
<para>The x-position of the global maximum </para>
</parameterdescription>
</parameteritem>
<parameteritem>
<parameternamelist>
<parametername direction="out">ygmax</parametername>
</parameternamelist>
<parameterdescription>
<para>The y-position of the global maximum </para>
</parameterdescription>
</parameteritem>
<parameteritem>
<parameternamelist>
<parametername direction="out">zgmax</parametername>
</parameternamelist>
<parameterdescription>
<para>The z-position of the global maximum </para>
</parameterdescription>
</parameteritem>
</parameterlist>
</para>
        </detaileddescription>
        <inbodydescription>
        </inbodydescription>
        <location file="/home/cermak/src/MOM6.devrob/src/tracer/MOM_tracer_flow_control.F90" line="542" column="1" bodyfile="/home/cermak/src/MOM6.devrob/src/tracer/MOM_tracer_flow_control.F90" bodystart="545" bodyend="661"/>
        <references refid="namespaceadvection__test__tracer_1a1e3884b030df6c5107380b4ddd2fbce2" compoundref="advection__test__tracer_8F90" startline="352" endline="388">advection_test_tracer::advection_test_stock</references>
        <references refid="namespaceregional__dyes_1a0641ff9c663bcfacdd597a79f63d15e0" compoundref="dye__example_8F90" startline="329" endline="369">regional_dyes::dye_stock</references>
        <references refid="namespaceideal__age__example_1a2300d82e30802a3127f4a63277d37776" compoundref="ideal__age__example_8F90" startline="375" endline="417">ideal_age_example::ideal_age_stock</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__generic__tracer_1af5c635964fd7dfa7aea41fd17b3b3824" compoundref="MOM__generic__tracer_8F90" startline="636" endline="710">mom_generic_tracer::mom_generic_tracer_min_max</references>
        <references refid="namespacemom__generic__tracer_1a873bcaf0549f1840a111f031e549c5cd" compoundref="MOM__generic__tracer_8F90" startline="571" endline="628">mom_generic_tracer::mom_generic_tracer_stock</references>
        <references refid="namespacemom__ocmip2__cfc_1ac3c9967ff09b37934eb5ef51535e7ee3" compoundref="MOM__OCMIP2__CFC_8F90" startline="497" endline="540">mom_ocmip2_cfc::ocmip2_cfc_stock</references>
        <references refid="namespaceoil__tracer_1ac8964b16549dba8fc850e4af15af8029" compoundref="oil__tracer_8F90" startline="408" endline="451">oil_tracer::oil_stock</references>
        <references refid="namespacepseudo__salt__tracer_1a282f3c84b7e7ccdaa6d9344342705a6e" compoundref="pseudo__salt__tracer_8F90" startline="254" endline="296">pseudo_salt_tracer::pseudo_salt_stock</references>
        <references refid="namespacemom__tracer__flow__control_1ad43ea30fa52fcb930db39037f5d7e6b9" compoundref="MOM__tracer__flow__control_8F90" startline="667" endline="720">store_stocks</references>
        <referencedby refid="namespacemom__sum__output_1ad3cc692dd515100ec8cf92d740c91e72" compoundref="MOM__sum__output_8F90" startline="298" endline="947">mom_sum_output::write_energy</referencedby>
      </memberdef>
      <memberdef kind="function" id="namespacemom__tracer__flow__control_1ad43ea30fa52fcb930db39037f5d7e6b9" prot="private" static="no" const="no" explicit="no" inline="no" virt="non-virtual">
        <type>subroutine</type>
        <definition>subroutine mom_tracer_flow_control::store_stocks</definition>
        <argsstring>(pkg_name, ns, names, units, values, index, stock_values, set_pkg_name, max_ns, ns_tot, stock_names, stock_units)</argsstring>
        <name>store_stocks</name>
        <param>
          <type>pkg_name</type>
          <defname>pkg_name</defname>
        </param>
        <param>
          <type>ns</type>
          <defname>ns</defname>
        </param>
        <param>
          <type>names</type>
          <defname>names</defname>
        </param>
        <param>
          <type>units</type>
          <defname>units</defname>
        </param>
        <param>
          <type>values</type>
          <defname>values</defname>
        </param>
        <param>
          <type>index</type>
          <defname>index</defname>
        </param>
        <param>
          <type>stock_values</type>
          <defname>stock_values</defname>
        </param>
        <param>
          <type>set_pkg_name</type>
          <defname>set_pkg_name</defname>
        </param>
        <param>
          <type>max_ns</type>
          <defname>max_ns</defname>
        </param>
        <param>
          <type>ns_tot</type>
          <defname>ns_tot</defname>
        </param>
        <param>
          <type>stock_names</type>
          <defname>stock_names</defname>
        </param>
        <param>
          <type>stock_units</type>
          <defname>stock_units</defname>
        </param>
        <briefdescription>
<para>This routine stores the stocks and does error handling for call_tracer_stocks. </para>
        </briefdescription>
        <detaileddescription>
<para><parameterlist kind="param"><parameteritem>
<parameternamelist>
<parametername direction="in">pkg_name</parametername>
</parameternamelist>
<parameterdescription>
<para>The tracer package name </para>
</parameterdescription>
</parameteritem>
<parameteritem>
<parameternamelist>
<parametername direction="in">ns</parametername>
</parameternamelist>
<parameterdescription>
<para>The number of stocks associated with this tracer package </para>
</parameterdescription>
</parameteritem>
<parameteritem>
<parameternamelist>
<parametername direction="in">names</parametername>
</parameternamelist>
<parameterdescription>
<para>Diagnostic names to use for each stock. </para>
</parameterdescription>
</parameteritem>
<parameteritem>
<parameternamelist>
<parametername direction="in">units</parametername>
</parameternamelist>
<parameterdescription>
<para>Units to use in the metadata for each stock. </para>
</parameterdescription>
</parameteritem>
<parameteritem>
<parameternamelist>
<parametername direction="in">values</parametername>
</parameternamelist>
<parameterdescription>
<para>The values of the tracer stocks </para>
</parameterdescription>
</parameteritem>
<parameteritem>
<parameternamelist>
<parametername direction="in">index</parametername>
</parameternamelist>
<parameterdescription>
<para>The integer stock index from stocks_constants_mod of the stock to be returned. If this is present and greater than 0, only a single stock can be returned. </para>
</parameterdescription>
</parameteritem>
<parameteritem>
<parameternamelist>
<parametername direction="inout">stock_values</parametername>
</parameternamelist>
<parameterdescription>
<para>The master list of stock values </para>
</parameterdescription>
</parameteritem>
<parameteritem>
<parameternamelist>
<parametername direction="inout">set_pkg_name</parametername>
</parameternamelist>
<parameterdescription>
<para>The name of the last tracer package whose stocks were stored for a specific index. This is used to trigger an error if there are redundant stocks. </para>
</parameterdescription>
</parameteritem>
<parameteritem>
<parameternamelist>
<parametername direction="in">max_ns</parametername>
</parameternamelist>
<parameterdescription>
<para>The maximum size of the master stock list </para>
</parameterdescription>
</parameteritem>
<parameteritem>
<parameternamelist>
<parametername direction="inout">ns_tot</parametername>
</parameternamelist>
<parameterdescription>
<para>The total number of stocks in the master list </para>
</parameterdescription>
</parameteritem>
<parameteritem>
<parameternamelist>
<parametername direction="inout">stock_names</parametername>
</parameternamelist>
<parameterdescription>
<para>Diagnostic names to use for each stock in the master list </para>
</parameterdescription>
</parameteritem>
<parameteritem>
<parameternamelist>
<parametername direction="inout">stock_units</parametername>
</parameternamelist>
<parameterdescription>
<para>Units to use in the metadata for each stock in the master list </para>
</parameterdescription>
</parameteritem>
</parameterlist>
</para>
        </detaileddescription>
        <inbodydescription>
        </inbodydescription>
        <location file="/home/cermak/src/MOM6.devrob/src/tracer/MOM_tracer_flow_control.F90" line="665" column="1" bodyfile="/home/cermak/src/MOM6.devrob/src/tracer/MOM_tracer_flow_control.F90" bodystart="667" bodyend="720"/>
        <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__flow__control_1afd8526344e928c8c9505c921bf37447f" compoundref="MOM__tracer__flow__control_8F90" startline="545" endline="661">call_tracer_stocks</referencedby>
      </memberdef>
      <memberdef kind="function" id="namespacemom__tracer__flow__control_1a0c4fb7a963b5ae8672e2e32ac87fddca" prot="public" static="no" const="no" explicit="no" inline="no" virt="non-virtual">
        <type>subroutine, public</type>
        <definition>subroutine, public mom_tracer_flow_control::call_tracer_surface_state</definition>
        <argsstring>(sfc_state, h, G, CS)</argsstring>
        <name>call_tracer_surface_state</name>
        <param>
          <type>sfc_state</type>
          <defname>sfc_state</defname>
        </param>
        <param>
          <type>h</type>
          <defname>h</defname>
        </param>
        <param>
          <type>G</type>
          <defname>G</defname>
        </param>
        <param>
          <type>CS</type>
          <defname>CS</defname>
        </param>
        <briefdescription>
<para>This subroutine calls all registered tracer packages to enable them to add to the surface state returned to the coupler. These routines are optional. </para>
        </briefdescription>
        <detaileddescription>
<para><parameterlist kind="param"><parameteritem>
<parameternamelist>
<parametername direction="inout">sfc_state</parametername>
</parameternamelist>
<parameterdescription>
<para>A structure containing fields that describe the surface state of the ocean. </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">h</parametername>
</parameternamelist>
<parameterdescription>
<para>Layer thicknesses [H ~&gt; m or kg m-2] </para>
</parameterdescription>
</parameteritem>
<parameteritem>
<parameternamelist>
<parametername>cs</parametername>
</parameternamelist>
<parameterdescription>
<para>The control structure returned by a previous call to call_tracer_register. </para>
</parameterdescription>
</parameteritem>
</parameterlist>
</para>
        </detaileddescription>
        <inbodydescription>
        </inbodydescription>
        <location file="/home/cermak/src/MOM6.devrob/src/tracer/MOM_tracer_flow_control.F90" line="725" column="1" bodyfile="/home/cermak/src/MOM6.devrob/src/tracer/MOM_tracer_flow_control.F90" bodystart="726" bodyend="756"/>
        <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__flow__control_1a3c5edb854704860d08de4d68d815d920" prot="public" static="no" const="no" explicit="no" inline="no" virt="non-virtual">
        <type>subroutine, public</type>
        <definition>subroutine, public mom_tracer_flow_control::tracer_flow_control_end</definition>
        <argsstring>(CS)</argsstring>
        <name>tracer_flow_control_end</name>
        <param>
          <type>CS</type>
          <defname>CS</defname>
        </param>
        <briefdescription>
        </briefdescription>
        <detaileddescription>
<para><parameterlist kind="param"><parameteritem>
<parameternamelist>
<parametername>cs</parametername>
</parameternamelist>
<parameterdescription>
<para>The control structure returned by a previous call to call_tracer_register. </para>
</parameterdescription>
</parameteritem>
</parameterlist>
</para>
        </detaileddescription>
        <inbodydescription>
        </inbodydescription>
        <location file="/home/cermak/src/MOM6.devrob/src/tracer/MOM_tracer_flow_control.F90" line="759" column="1" bodyfile="/home/cermak/src/MOM6.devrob/src/tracer/MOM_tracer_flow_control.F90" bodystart="760" bodyend="778"/>
      </memberdef>
      </sectiondef>
    <briefdescription>
<para>Orchestrates the registration and calling of tracer packages. </para>
    </briefdescription>
    <detaileddescription>
    </detaileddescription>
    <location file="/home/cermak/src/MOM6.devrob/src/tracer/MOM_tracer_flow_control.F90" line="2" column="1"/>
  </compounddef>
</doxygen>
