<?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.19" xml:lang="en-US">
  <compounddef id="namespacemom__boundary__update" kind="namespace" language="Fortran">
    <compoundname>mom_boundary_update</compoundname>
    <innerclass refid="structmom__boundary__update_1_1update__obc__cs" prot="public">mom_boundary_update::update_obc_cs</innerclass>
      <sectiondef kind="var">
      <memberdef kind="variable" id="namespacemom__boundary__update_1a795944da50c68e071b26daa8c59bb144" prot="public" static="no" mutable="no">
        <type>integer</type>
        <definition>integer mom_boundary_update::id_clock_pass</definition>
        <argsstring></argsstring>
        <name>id_clock_pass</name>
        <briefdescription>
<para>A CPU time clock ID. </para>
        </briefdescription>
        <detaileddescription>
        </detaileddescription>
        <inbodydescription>
        </inbodydescription>
        <location file="/home/cermak/src/MOM6.devrob/src/core/MOM_boundary_update.F90" line="52" column="1" bodyfile="/home/cermak/src/MOM6.devrob/src/core/MOM_boundary_update.F90" bodystart="52" bodyend="52"/>
      </memberdef>
      </sectiondef>
      <sectiondef kind="func">
      <memberdef kind="function" id="namespacemom__boundary__update_1a455e3d4565a6023e3c144eefb9bafac5" prot="public" static="no" const="no" explicit="no" inline="no" virt="non-virtual">
        <type>subroutine, public</type>
        <definition>subroutine, public mom_boundary_update::call_obc_register</definition>
        <argsstring>(param_file, CS, OBC)</argsstring>
        <name>call_obc_register</name>
        <param>
          <type>param_file</type>
          <defname>param_file</defname>
        </param>
        <param>
          <type>CS</type>
          <defname>CS</defname>
        </param>
        <param>
          <type>OBC</type>
          <defname>OBC</defname>
        </param>
        <briefdescription>
<para>The following subroutines and associated definitions provide the machinery to register and call the subroutines that initialize open boundary conditions. </para>
        </briefdescription>
        <detaileddescription>
<para><parameterlist kind="param"><parameteritem>
<parameternamelist>
<parametername direction="in">param_file</parametername>
</parameternamelist>
<parameterdescription>
<para>Parameter file to parse </para>
</parameterdescription>
</parameteritem>
<parameteritem>
<parameternamelist>
<parametername>cs</parametername>
</parameternamelist>
<parameterdescription>
<para>Control structure for OBCs </para>
</parameterdescription>
</parameteritem>
<parameteritem>
<parameternamelist>
<parametername>obc</parametername>
</parameternamelist>
<parameterdescription>
<para>Open boundary structure </para>
</parameterdescription>
</parameteritem>
</parameterlist>
</para>
        </detaileddescription>
        <inbodydescription>
        </inbodydescription>
        <location file="/home/cermak/src/MOM6.devrob/src/core/MOM_boundary_update.F90" line="61" column="1" bodyfile="/home/cermak/src/MOM6.devrob/src/core/MOM_boundary_update.F90" bodystart="62" bodyend="109"/>
        <references refid="namespacemom__error__handler_1a460cfb79a06c29fc249952c2a3710d67" compoundref="MOM__error__handler_8F90" startline="72" endline="92">mom_error_handler::mom_error</references>
        <references refid="namespacemom__open__boundary_1a05d15beca2ef2b44fb36d129166907fa" compoundref="MOM__open__boundary_8F90" startline="4466" endline="4482">mom_open_boundary::register_file_obc</references>
        <referencedby refid="namespacemom_1a96708b16215666edbfa5b46228f3a200" compoundref="MOM_8F90" startline="1604" endline="2769">mom::initialize_mom</referencedby>
      </memberdef>
      <memberdef kind="function" id="namespacemom__boundary__update_1a7c2a0d48706fa7b58ce1f584ff0c5d4f" prot="public" static="no" const="no" explicit="no" inline="no" virt="non-virtual">
        <type>subroutine, public</type>
        <definition>subroutine, public mom_boundary_update::update_obc_data</definition>
        <argsstring>(OBC, G, GV, US, tv, h, CS, Time)</argsstring>
        <name>update_obc_data</name>
        <param>
          <type>OBC</type>
          <defname>OBC</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>h</type>
          <defname>h</defname>
        </param>
        <param>
          <type>CS</type>
          <defname>CS</defname>
        </param>
        <param>
          <type>Time</type>
          <defname>Time</defname>
        </param>
        <briefdescription>
<para>Calls appropriate routine to update the open boundary conditions. </para>
        </briefdescription>
        <detaileddescription>
<para><parameterlist kind="param"><parameteritem>
<parameternamelist>
<parametername direction="in">g</parametername>
</parameternamelist>
<parameterdescription>
<para>Ocean grid structure </para>
</parameterdescription>
</parameteritem>
<parameteritem>
<parameternamelist>
<parametername direction="in">gv</parametername>
</parameternamelist>
<parameterdescription>
<para>Ocean vertical grid structure </para>
</parameterdescription>
</parameteritem>
<parameteritem>
<parameternamelist>
<parametername direction="in">us</parametername>
</parameternamelist>
<parameterdescription>
<para>A dimensional unit scaling type </para>
</parameterdescription>
</parameteritem>
<parameteritem>
<parameternamelist>
<parametername direction="in">tv</parametername>
</parameternamelist>
<parameterdescription>
<para>Thermodynamics structure </para>
</parameterdescription>
</parameteritem>
<parameteritem>
<parameternamelist>
<parametername direction="inout">h</parametername>
</parameternamelist>
<parameterdescription>
<para>layer thicknesses [H ~&gt; m or kg m-2] </para>
</parameterdescription>
</parameteritem>
<parameteritem>
<parameternamelist>
<parametername>obc</parametername>
</parameternamelist>
<parameterdescription>
<para>Open boundary structure </para>
</parameterdescription>
</parameteritem>
<parameteritem>
<parameternamelist>
<parametername>cs</parametername>
</parameternamelist>
<parameterdescription>
<para>Control structure for OBCs </para>
</parameterdescription>
</parameteritem>
<parameteritem>
<parameternamelist>
<parametername direction="in">time</parametername>
</parameternamelist>
<parameterdescription>
<para>Model time </para>
</parameterdescription>
</parameteritem>
</parameterlist>
</para>
        </detaileddescription>
        <inbodydescription>
        </inbodydescription>
        <location file="/home/cermak/src/MOM6.devrob/src/core/MOM_boundary_update.F90" line="113" column="1" bodyfile="/home/cermak/src/MOM6.devrob/src/core/MOM_boundary_update.F90" bodystart="114" bodyend="150"/>
        <referencedby refid="namespacemom__dynamics__split__rk2_1a976e700971f232fc11bc69b31d611c32" compoundref="MOM__dynamics__split__RK2_8F90" startline="245" endline="994">mom_dynamics_split_rk2::step_mom_dyn_split_rk2</referencedby>
        <referencedby refid="namespacemom__dynamics__unsplit_1ab72d911d187f9247b6cc72d87e815370" compoundref="MOM__dynamics__unsplit_8F90" startline="192" endline="507">mom_dynamics_unsplit::step_mom_dyn_unsplit</referencedby>
        <referencedby refid="namespacemom__dynamics__unsplit__rk2_1a25424d65cc3339442e528c0a92b173a3" compoundref="MOM__dynamics__unsplit__RK2_8F90" startline="194" endline="452">mom_dynamics_unsplit_rk2::step_mom_dyn_unsplit_rk2</referencedby>
      </memberdef>
      <memberdef kind="function" id="namespacemom__boundary__update_1a32cfc645987cee827d4d193537b09c71" prot="public" static="no" const="no" explicit="no" inline="no" virt="non-virtual">
        <type>subroutine, public</type>
        <definition>subroutine, public mom_boundary_update::obc_register_end</definition>
        <argsstring>(CS)</argsstring>
        <name>obc_register_end</name>
        <param>
          <type>CS</type>
          <defname>CS</defname>
        </param>
        <briefdescription>
<para>Clean up the OBC registry. </para>
        </briefdescription>
        <detaileddescription>
<para><parameterlist kind="param"><parameteritem>
<parameternamelist>
<parametername>cs</parametername>
</parameternamelist>
<parameterdescription>
<para>Control structure for OBCs </para>
</parameterdescription>
</parameteritem>
</parameterlist>
</para>
        </detaileddescription>
        <inbodydescription>
        </inbodydescription>
        <location file="/home/cermak/src/MOM6.devrob/src/core/MOM_boundary_update.F90" line="154" column="1" bodyfile="/home/cermak/src/MOM6.devrob/src/core/MOM_boundary_update.F90" bodystart="155" bodyend="161"/>
        <references refid="namespacemom__open__boundary_1a55081f00e4a95f87ddc5dfe1d61f52e0" compoundref="MOM__open__boundary_8F90" startline="4487" endline="4491">mom_open_boundary::file_obc_end</references>
        <references refid="namespacekelvin__initialization_1a9c8e0745879d099cef92df7f16c67f9c" compoundref="Kelvin__initialization_8F90" startline="111" endline="115">kelvin_initialization::kelvin_obc_end</references>
        <references refid="namespacetidal__bay__initialization_1a0c8bd22e72376c9f9af5bc5f628393f9" compoundref="tidal__bay__initialization_8F90" startline="55" endline="59">tidal_bay_initialization::tidal_bay_obc_end</references>
        <referencedby refid="namespacemom_1ae6dad976fb4be1c7ba7fc1aff809616b" compoundref="MOM_8F90" startline="3486" endline="3525">mom::mom_end</referencedby>
      </memberdef>
      </sectiondef>
    <briefdescription>
<para>Controls where open boundary conditions are applied. </para>
    </briefdescription>
    <detaileddescription>
<para>This module updates the open boundary arrays when time-varying. It caused a circular dependency with the tidal_bay setup when MOM_open_boundary.</para>
<para>A small fragment of the grid is shown below:</para>
<para>j+1 x ^ x ^ x At x: q, CoriolisBu j+1 &gt; o &gt; o &gt; At ^: v, tauy j x ^ x ^ x At &gt;: u, taux j &gt; o &gt; o &gt; At o: h, bathyT, buoy, tr, T, S, Rml, ustar j-1 x ^ x ^ x i-1 i i+1 At x &amp; ^: i i+1 At &gt; &amp; o:</para>
<para>The boundaries always run through q grid points (x). </para>
    </detaileddescription>
    <location file="/home/cermak/src/MOM6.devrob/src/core/MOM_boundary_update.F90" line="3" column="1"/>
  </compounddef>
</doxygen>
