<?xml version='1.0' encoding='UTF-8' standalone='no'?>
<doxygen xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="compound.xsd" version="1.8.16">
  <compounddef id="namespacergc__tracer" kind="namespace" language="Fortran">
    <compoundname>rgc_tracer</compoundname>
    <innerclass refid="structrgc__tracer_1_1rgc__tracer__cs" prot="public">rgc_tracer::rgc_tracer_cs</innerclass>
      <sectiondef kind="var">
      <memberdef kind="variable" id="namespacergc__tracer_1a92ad5e7af13730e9f0717ff898146982" prot="private" static="no" mutable="no">
        <type>integer, parameter</type>
        <definition>integer, parameter rgc_tracer::ntr</definition>
        <argsstring></argsstring>
        <name>ntr</name>
        <initializer>= 1</initializer>
        <briefdescription>
<para>The number of tracers in this module. </para>
        </briefdescription>
        <detaileddescription>
        </detaileddescription>
        <inbodydescription>
        </inbodydescription>
        <location file="/home/cermak/src/MOM6.devrob/src/tracer/RGC_tracer.F90" line="42" column="1" bodyfile="/home/cermak/src/MOM6.devrob/src/tracer/RGC_tracer.F90" bodystart="42" bodyend="42"/>
        <referencedby refid="namespacergc__tracer_1ad2da37dd791644961aab6e66a2452793" compoundref="RGC__tracer_8F90" startline="156" endline="269">initialize_rgc_tracer</referencedby>
        <referencedby refid="namespacergc__tracer_1a39b5d56f4cb8c161dd9744e0c2b256de" compoundref="RGC__tracer_8F90" startline="68" endline="149">register_rgc_tracer</referencedby>
        <referencedby refid="namespacergc__tracer_1ad4ef1aeae0c30402bc2e4d0a2ec248c2" compoundref="RGC__tracer_8F90" startline="277" endline="338">rgc_tracer_column_physics</referencedby>
      </memberdef>
      </sectiondef>
      <sectiondef kind="func">
      <memberdef kind="function" id="namespacergc__tracer_1a39b5d56f4cb8c161dd9744e0c2b256de" prot="public" static="no" const="no" explicit="no" inline="no" virt="non-virtual">
        <type>logical function, public</type>
        <definition>logical function, public rgc_tracer::register_rgc_tracer</definition>
        <argsstring>(HI, GV, param_file, CS, tr_Reg, restart_CS)</argsstring>
        <name>register_rgc_tracer</name>
        <param>
          <type>HI</type>
          <defname>HI</defname>
        </param>
        <param>
          <type>GV</type>
          <defname>GV</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 is used to register tracer fields. </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">param_file</parametername>
</parameternamelist>
<parameterdescription>
<para>A structure indicating the open file to parse for model parameter values. </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 (in/out). </para>
</parameterdescription>
</parameteritem>
<parameteritem>
<parameternamelist>
<parametername>tr_reg</parametername>
</parameternamelist>
<parameterdescription>
<para>A pointer to the tracer registry. </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/RGC_tracer.F90" line="67" column="1" bodyfile="/home/cermak/src/MOM6.devrob/src/tracer/RGC_tracer.F90" bodystart="68" bodyend="149"/>
        <references refid="namespacemom__error__handler_1a460cfb79a06c29fc249952c2a3710d67" compoundref="MOM__error__handler_8F90" startline="72" endline="92">mom_error_handler::mom_error</references>
        <references refid="namespacergc__tracer_1a92ad5e7af13730e9f0717ff898146982" compoundref="RGC__tracer_8F90" startline="42" endline="42">ntr</references>
        <references refid="namespacemom__tracer__registry_1a97a70989bd0318f51d90c2fc6f87c6f5" compoundref="MOM__tracer__registry_8F90" startline="158" endline="325">mom_tracer_registry::register_tracer</references>
        <references refid="namespacemom__io_1a09be50ad112d6bc134d06d82fcbe1fdc" compoundref="MOM__io_8F90" startline="600" endline="632">mom_io::var_desc</references>
      </memberdef>
      <memberdef kind="function" id="namespacergc__tracer_1ad2da37dd791644961aab6e66a2452793" prot="public" static="no" const="no" explicit="no" inline="no" virt="non-virtual">
        <type>subroutine, public</type>
        <definition>subroutine, public rgc_tracer::initialize_rgc_tracer</definition>
        <argsstring>(restart, day, G, GV, h, diag, OBC, CS, layer_CSp, sponge_CSp)</argsstring>
        <name>initialize_rgc_tracer</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>h</type>
          <defname>h</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>layer_CSp</type>
          <defname>layer_CSp</defname>
        </param>
        <param>
          <type>sponge_CSp</type>
          <defname>sponge_CSp</defname>
        </param>
        <briefdescription>
<para>Initializes the NTR tracer fields in tr(:,:,:,:) and it sets up the tracer output. </para>
        </briefdescription>
        <detaileddescription>
<para><parameterlist kind="param"><parameteritem>
<parameternamelist>
<parametername direction="in">g</parametername>
</parameternamelist>
<parameterdescription>
<para>Grid structure. </para>
</parameterdescription>
</parameteritem>
<parameteritem>
<parameternamelist>
<parametername direction="in">gv</parametername>
</parameternamelist>
<parameterdescription>
<para>The ocean&apos;s vertical grid structure. </para>
</parameterdescription>
</parameteritem>
<parameteritem>
<parameternamelist>
<parametername direction="in">restart</parametername>
</parameternamelist>
<parameterdescription>
<para>.true. 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="in">h</parametername>
</parameternamelist>
<parameterdescription>
<para>Layer thickness, in m or kg m-2. </para>
</parameterdescription>
</parameteritem>
<parameteritem>
<parameternamelist>
<parametername direction="in">diag</parametername>
</parameternamelist>
<parameterdescription>
<para>Structure 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. This is not being used for now. </para>
</parameterdescription>
</parameteritem>
<parameteritem>
<parameternamelist>
<parametername>cs</parametername>
</parameternamelist>
<parameterdescription>
<para>The control structure returned by a previous call to RGC_register_tracer. </para>
</parameterdescription>
</parameteritem>
<parameteritem>
<parameternamelist>
<parametername>layer_csp</parametername>
</parameternamelist>
<parameterdescription>
<para>A pointer to the control structure </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>
</parameterlist>
</para>
        </detaileddescription>
        <inbodydescription>
        </inbodydescription>
        <location file="/home/cermak/src/MOM6.devrob/src/tracer/RGC_tracer.F90" line="154" column="1" bodyfile="/home/cermak/src/MOM6.devrob/src/tracer/RGC_tracer.F90" bodystart="156" bodyend="269"/>
        <references refid="namespacemom__ale__sponge_1a30b98598d25129c9fbb6e7c4b3480e7a" compoundref="MOM__ALE__sponge_8F90" startline="347" endline="355">mom_ale_sponge::get_ale_sponge_nz_data</references>
        <references refid="namespacemom__error__handler_1a460cfb79a06c29fc249952c2a3710d67" compoundref="MOM__error__handler_8F90" startline="72" endline="92">mom_error_handler::mom_error</references>
        <references refid="namespacergc__tracer_1a92ad5e7af13730e9f0717ff898146982" compoundref="RGC__tracer_8F90" startline="42" endline="42">ntr</references>
        <references refid="namespacemom__io_1aa583d22dfaf16e3157b2741d838f5240" compoundref="MOM__io_8F90" startline="699" endline="737">mom_io::query_vardesc</references>
        <references refid="namespacemom__sponge_1af3da4a8b352c4130919d7bfedf1a5a3e" compoundref="MOM__sponge_8F90" startline="214" endline="270">mom_sponge::set_up_sponge_field</references>
      </memberdef>
      <memberdef kind="function" id="namespacergc__tracer_1ad4ef1aeae0c30402bc2e4d0a2ec248c2" prot="public" static="no" const="no" explicit="no" inline="no" virt="non-virtual">
        <type>subroutine, public</type>
        <definition>subroutine, public rgc_tracer::rgc_tracer_column_physics</definition>
        <argsstring>(h_old, h_new, ea, eb, fluxes, dt, G, GV, US, CS, evap_CFL_limit, minimum_forcing_depth)</argsstring>
        <name>rgc_tracer_column_physics</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>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>CS</type>
          <defname>CS</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 applies diapycnal diffusion and any other column tracer physics or chemistry to the tracers from this file. This is a simple example of a set of advected passive tracers. </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 </para>
</parameterdescription>
</parameteritem>
<parameteritem>
<parameternamelist>
<parametername direction="in">eb</parametername>
</parameternamelist>
<parameterdescription>
<para>an array to which the amount of fluid entrained </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">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>cs</parametername>
</parameternamelist>
<parameterdescription>
<para>The control structure returned by a previous call. </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/RGC_tracer.F90" line="275" column="1" bodyfile="/home/cermak/src/MOM6.devrob/src/tracer/RGC_tracer.F90" bodystart="277" bodyend="338"/>
        <references refid="namespacemom__tracer__diabatic_1ad4d3d4de0f2b84c15bccc5eb2f767df3" compoundref="MOM__tracer__diabatic_8F90" startline="230" endline="443">mom_tracer_diabatic::applytracerboundaryfluxesinout</references>
        <references refid="namespacergc__tracer_1a92ad5e7af13730e9f0717ff898146982" compoundref="RGC__tracer_8F90" startline="42" endline="42">ntr</references>
        <references refid="namespacemom__tracer__diabatic_1ac5d57973547cc4ed3a89808d3910943e" compoundref="MOM__tracer__diabatic_8F90" startline="27" endline="222">mom_tracer_diabatic::tracer_vertdiff</references>
      </memberdef>
      <memberdef kind="function" id="namespacergc__tracer_1ac32f863f5b15037d5b44b51ed461c2cd" prot="public" static="no" const="no" explicit="no" inline="no" virt="non-virtual">
        <type>subroutine, public</type>
        <definition>subroutine, public rgc_tracer::rgc_tracer_end</definition>
        <argsstring>(CS)</argsstring>
        <name>rgc_tracer_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 RGC_register_tracer. </para>
</parameterdescription>
</parameteritem>
</parameterlist>
</para>
        </detaileddescription>
        <inbodydescription>
        </inbodydescription>
        <location file="/home/cermak/src/MOM6.devrob/src/tracer/RGC_tracer.F90" line="341" column="1" bodyfile="/home/cermak/src/MOM6.devrob/src/tracer/RGC_tracer.F90" bodystart="342" bodyend="348"/>
      </memberdef>
      </sectiondef>
    <briefdescription>
<para>This module contains the routines used to set up a dynamically passive tracer. Set up and use passive tracers requires the following: (1) register_RGC_tracer (2) apply diffusion, physics/chemistry and advect the tracer. </para>
    </briefdescription>
    <detaileddescription>
    </detaileddescription>
    <location file="/home/cermak/src/MOM6.devrob/src/tracer/RGC_tracer.F90" line="12" column="1"/>
  </compounddef>
</doxygen>
