<?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.14">
  <compounddef id="namespacemom__shared__initialization" kind="namespace" language="Fortran">
    <compoundname>mom_shared_initialization</compoundname>
      <sectiondef kind="func">
      <memberdef kind="function" id="namespacemom__shared__initialization_1a9e9d95233423f98871c9e1864563f10d" prot="public" static="no" const="no" explicit="no" inline="no" virt="non-virtual">
        <type>subroutine, public</type>
        <definition>subroutine, public mom_shared_initialization::mom_shared_init_init</definition>
        <argsstring>(PF)</argsstring>
        <name>mom_shared_init_init</name>
        <param>
          <type>PF</type>
          <defname>PF</defname>
        </param>
        <briefdescription>
<para>MOM_shared_init_init just writes the code version. </para>        </briefdescription>
        <detaileddescription>
<para><parameterlist kind="param"><parameteritem>
<parameternamelist>
<parametername direction="in">pf</parametername>
</parameternamelist>
<parameterdescription>
<para>A structure indicating the open file to parse for model parameter values. </para></parameterdescription>
</parameteritem>
</parameterlist>
</para>        </detaileddescription>
        <inbodydescription>
        </inbodydescription>
        <location file="/home/cermak/src/MOM6.devrob/src/initialization/MOM_shared_initialization.F90" line="42" column="1" bodyfile="/home/cermak/src/MOM6.devrob/src/initialization/MOM_shared_initialization.F90" bodystart="43" bodyend="52"/>
      </memberdef>
      <memberdef kind="function" id="namespacemom__shared__initialization_1a1e501ab8351b666491169c804418e9df" prot="public" static="no" const="no" explicit="no" inline="no" virt="non-virtual">
        <type>subroutine, public</type>
        <definition>subroutine, public mom_shared_initialization::mom_initialize_rotation</definition>
        <argsstring>(f, G, PF, US)</argsstring>
        <name>mom_initialize_rotation</name>
        <param>
          <type>f</type>
          <defname>f</defname>
        </param>
        <param>
          <type>G</type>
          <defname>G</defname>
        </param>
        <param>
          <type>PF</type>
          <defname>PF</defname>
        </param>
        <param>
          <type>US</type>
          <defname>US</defname>
        </param>
        <briefdescription>
<para>MOM_initialize_rotation makes the appropriate call to set up the Coriolis parameter. </para>        </briefdescription>
        <detaileddescription>
<para><parameterlist kind="param"><parameteritem>
<parameternamelist>
<parametername direction="in">g</parametername>
</parameternamelist>
<parameterdescription>
<para>The dynamic horizontal grid type</para></parameterdescription>
</parameteritem>
<parameteritem>
<parameternamelist>
<parametername direction="out">f</parametername>
</parameternamelist>
<parameterdescription>
<para>The Coriolis parameter [T-1 ~&gt; s-1]</para></parameterdescription>
</parameteritem>
<parameteritem>
<parameternamelist>
<parametername direction="in">pf</parametername>
</parameternamelist>
<parameterdescription>
<para>Parameter file structure</para></parameterdescription>
</parameteritem>
<parameteritem>
<parameternamelist>
<parametername direction="in">us</parametername>
</parameternamelist>
<parameterdescription>
<para>A dimensional unit scaling type </para></parameterdescription>
</parameteritem>
</parameterlist>
</para>        </detaileddescription>
        <inbodydescription>
        </inbodydescription>
        <location file="/home/cermak/src/MOM6.devrob/src/initialization/MOM_shared_initialization.F90" line="57" column="1" bodyfile="/home/cermak/src/MOM6.devrob/src/initialization/MOM_shared_initialization.F90" bodystart="58" bodyend="86"/>
        <references refid="namespacemom__error__handler_1a9cda07a87815f0e5594066162b4345c3" compoundref="MOM__error__handler_8F90" startline="130" endline="146">mom_error_handler::calltree_enter</references>
        <references refid="namespacemom__error__handler_1a88ea67781e2ed9b73ab7eac8ea5e8578" compoundref="MOM__error__handler_8F90" startline="151" endline="156">mom_error_handler::calltree_leave</references>
        <references refid="namespacemom__shared__initialization_1a330014f05a823d5434ad0156d361b6ff" compoundref="MOM__shared__initialization_8F90" startline="497" endline="542">set_rotation_beta_plane</references>
        <references refid="namespacemom__shared__initialization_1a6aa6b883534fee4616137b7174414b8e" compoundref="MOM__shared__initialization_8F90" startline="464" endline="490">set_rotation_planetary</references>
      </memberdef>
      <memberdef kind="function" id="namespacemom__shared__initialization_1a4ec3c9951969b11a90acf193a423d893" prot="public" static="no" const="no" explicit="no" inline="no" virt="non-virtual">
        <type>subroutine, public</type>
        <definition>subroutine, public mom_shared_initialization::mom_calculate_grad_coriolis</definition>
        <argsstring>(dF_dx, dF_dy, G, US)</argsstring>
        <name>mom_calculate_grad_coriolis</name>
        <param>
          <type>dF_dx</type>
          <defname>dF_dx</defname>
        </param>
        <param>
          <type>dF_dy</type>
          <defname>dF_dy</defname>
        </param>
        <param>
          <type>G</type>
          <defname>G</defname>
        </param>
        <param>
          <type>US</type>
          <defname>US</defname>
        </param>
        <briefdescription>
<para>Calculates the components of grad f (Coriolis parameter) </para>        </briefdescription>
        <detaileddescription>
<para><parameterlist kind="param"><parameteritem>
<parameternamelist>
<parametername direction="inout">g</parametername>
</parameternamelist>
<parameterdescription>
<para>The dynamic horizontal grid type</para></parameterdescription>
</parameteritem>
<parameteritem>
<parameternamelist>
<parametername direction="out">df_dx</parametername>
</parameternamelist>
<parameterdescription>
<para>x-component of grad f [T-1 L-1 ~&gt; s-1 m-1]</para></parameterdescription>
</parameteritem>
<parameteritem>
<parameternamelist>
<parametername direction="out">df_dy</parametername>
</parameternamelist>
<parameterdescription>
<para>y-component of grad f [T-1 L-1 ~&gt; s-1 m-1]</para></parameterdescription>
</parameteritem>
<parameteritem>
<parameternamelist>
<parametername direction="in">us</parametername>
</parameternamelist>
<parameterdescription>
<para>A dimensional unit scaling type </para></parameterdescription>
</parameteritem>
</parameterlist>
</para>        </detaileddescription>
        <inbodydescription>
        </inbodydescription>
        <location file="/home/cermak/src/MOM6.devrob/src/initialization/MOM_shared_initialization.F90" line="90" column="1" bodyfile="/home/cermak/src/MOM6.devrob/src/initialization/MOM_shared_initialization.F90" bodystart="91" bodyend="120"/>
      </memberdef>
      <memberdef kind="function" id="namespacemom__shared__initialization_1aab0fe8b21fe93b75e1bec9c652deb2a0" prot="public" static="no" const="no" explicit="no" inline="no" virt="non-virtual">
        <type>real function, public</type>
        <definition>real function, public mom_shared_initialization::diagnosemaximumdepth</definition>
        <argsstring>(D, G)</argsstring>
        <name>diagnosemaximumdepth</name>
        <param>
          <type>D</type>
          <defname>D</defname>
        </param>
        <param>
          <type>G</type>
          <defname>G</defname>
        </param>
        <briefdescription>
<para>Return the global maximum ocean bottom depth in the same units as the input depth. </para>        </briefdescription>
        <detaileddescription>
<para><parameterlist kind="param"><parameteritem>
<parameternamelist>
<parametername direction="in">g</parametername>
</parameternamelist>
<parameterdescription>
<para>The dynamic horizontal grid type</para></parameterdescription>
</parameteritem>
<parameteritem>
<parameternamelist>
<parametername direction="in">d</parametername>
</parameternamelist>
<parameterdescription>
<para>Ocean bottom depth in m or Z</para></parameterdescription>
</parameteritem>
</parameterlist>
<simplesect kind="return"><para>The global maximum ocean bottom depth in m or Z </para></simplesect>
</para>        </detaileddescription>
        <inbodydescription>
        </inbodydescription>
        <location file="/home/cermak/src/MOM6.devrob/src/initialization/MOM_shared_initialization.F90" line="124" column="1" bodyfile="/home/cermak/src/MOM6.devrob/src/initialization/MOM_shared_initialization.F90" bodystart="125" bodyend="135"/>
      </memberdef>
      <memberdef kind="function" id="namespacemom__shared__initialization_1a3b944f383cd2586189347532539656ef" prot="public" static="no" const="no" explicit="no" inline="no" virt="non-virtual">
        <type>subroutine, public</type>
        <definition>subroutine, public mom_shared_initialization::initialize_topography_from_file</definition>
        <argsstring>(D, G, param_file, US)</argsstring>
        <name>initialize_topography_from_file</name>
        <param>
          <type>D</type>
          <defname>D</defname>
        </param>
        <param>
          <type>G</type>
          <defname>G</defname>
        </param>
        <param>
          <type>param_file</type>
          <defname>param_file</defname>
        </param>
        <param>
          <type>US</type>
          <defname>US</defname>
        </param>
        <briefdescription>
<para>Read gridded depths from file. </para>        </briefdescription>
        <detaileddescription>
<para><parameterlist kind="param"><parameteritem>
<parameternamelist>
<parametername direction="in">g</parametername>
</parameternamelist>
<parameterdescription>
<para>The dynamic horizontal grid type</para></parameterdescription>
</parameteritem>
<parameteritem>
<parameternamelist>
<parametername direction="out">d</parametername>
</parameternamelist>
<parameterdescription>
<para>Ocean bottom depth in m or Z if US is present</para></parameterdescription>
</parameteritem>
<parameteritem>
<parameternamelist>
<parametername direction="in">param_file</parametername>
</parameternamelist>
<parameterdescription>
<para>Parameter file structure</para></parameterdescription>
</parameteritem>
<parameteritem>
<parameternamelist>
<parametername direction="in">us</parametername>
</parameternamelist>
<parameterdescription>
<para>A dimensional unit scaling type </para></parameterdescription>
</parameteritem>
</parameterlist>
</para>        </detaileddescription>
        <inbodydescription>
        </inbodydescription>
        <location file="/home/cermak/src/MOM6.devrob/src/initialization/MOM_shared_initialization.F90" line="140" column="1" bodyfile="/home/cermak/src/MOM6.devrob/src/initialization/MOM_shared_initialization.F90" bodystart="141" bodyend="181"/>
        <references refid="namespacemom__shared__initialization_1a053b97ada59fb2f5893a0bbe592eaac3" compoundref="MOM__shared__initialization_8F90" startline="186" endline="297">apply_topography_edits_from_file</references>
        <references refid="namespacemom__error__handler_1a9cda07a87815f0e5594066162b4345c3" compoundref="MOM__error__handler_8F90" startline="130" endline="146">mom_error_handler::calltree_enter</references>
        <references refid="namespacemom__error__handler_1a88ea67781e2ed9b73ab7eac8ea5e8578" compoundref="MOM__error__handler_8F90" startline="151" endline="156">mom_error_handler::calltree_leave</references>
      </memberdef>
      <memberdef kind="function" id="namespacemom__shared__initialization_1a053b97ada59fb2f5893a0bbe592eaac3" prot="public" static="no" const="no" explicit="no" inline="no" virt="non-virtual">
        <type>subroutine, public</type>
        <definition>subroutine, public mom_shared_initialization::apply_topography_edits_from_file</definition>
        <argsstring>(D, G, param_file, US)</argsstring>
        <name>apply_topography_edits_from_file</name>
        <param>
          <type>D</type>
          <defname>D</defname>
        </param>
        <param>
          <type>G</type>
          <defname>G</defname>
        </param>
        <param>
          <type>param_file</type>
          <defname>param_file</defname>
        </param>
        <param>
          <type>US</type>
          <defname>US</defname>
        </param>
        <briefdescription>
<para>Applies a list of topography overrides read from a netcdf file. </para>        </briefdescription>
        <detaileddescription>
<para><parameterlist kind="param"><parameteritem>
<parameternamelist>
<parametername direction="in">g</parametername>
</parameternamelist>
<parameterdescription>
<para>The dynamic horizontal grid type</para></parameterdescription>
</parameteritem>
<parameteritem>
<parameternamelist>
<parametername direction="inout">d</parametername>
</parameternamelist>
<parameterdescription>
<para>Ocean bottom depth in m or Z if US is present</para></parameterdescription>
</parameteritem>
<parameteritem>
<parameternamelist>
<parametername direction="in">param_file</parametername>
</parameternamelist>
<parameterdescription>
<para>Parameter file structure</para></parameterdescription>
</parameteritem>
<parameteritem>
<parameternamelist>
<parametername direction="in">us</parametername>
</parameternamelist>
<parameterdescription>
<para>A dimensional unit scaling type </para></parameterdescription>
</parameteritem>
</parameterlist>
</para>        </detaileddescription>
        <inbodydescription>
        </inbodydescription>
        <location file="/home/cermak/src/MOM6.devrob/src/initialization/MOM_shared_initialization.F90" line="185" column="1" bodyfile="/home/cermak/src/MOM6.devrob/src/initialization/MOM_shared_initialization.F90" bodystart="186" bodyend="297"/>
        <references refid="namespacemom__error__handler_1a9cda07a87815f0e5594066162b4345c3" compoundref="MOM__error__handler_8F90" startline="130" endline="146">mom_error_handler::calltree_enter</references>
        <references refid="namespacemom__error__handler_1a88ea67781e2ed9b73ab7eac8ea5e8578" compoundref="MOM__error__handler_8F90" startline="151" endline="156">mom_error_handler::calltree_leave</references>
        <referencedby refid="namespacemom__shared__initialization_1a3b944f383cd2586189347532539656ef" compoundref="MOM__shared__initialization_8F90" startline="141" endline="181">initialize_topography_from_file</referencedby>
      </memberdef>
      <memberdef kind="function" id="namespacemom__shared__initialization_1a852dd7dc66a31abe47dc83b769fb4ae4" prot="public" static="no" const="no" explicit="no" inline="no" virt="non-virtual">
        <type>subroutine, public</type>
        <definition>subroutine, public mom_shared_initialization::initialize_topography_named</definition>
        <argsstring>(D, G, param_file, topog_config, max_depth, US)</argsstring>
        <name>initialize_topography_named</name>
        <param>
          <type>D</type>
          <defname>D</defname>
        </param>
        <param>
          <type>G</type>
          <defname>G</defname>
        </param>
        <param>
          <type>param_file</type>
          <defname>param_file</defname>
        </param>
        <param>
          <type>topog_config</type>
          <defname>topog_config</defname>
        </param>
        <param>
          <type>max_depth</type>
          <defname>max_depth</defname>
        </param>
        <param>
          <type>US</type>
          <defname>US</defname>
        </param>
        <briefdescription>
<para>initialize the bathymetry based on one of several named idealized configurations </para>        </briefdescription>
        <detaileddescription>
<para><parameterlist kind="param"><parameteritem>
<parameternamelist>
<parametername direction="in">g</parametername>
</parameternamelist>
<parameterdescription>
<para>The dynamic horizontal grid type</para></parameterdescription>
</parameteritem>
<parameteritem>
<parameternamelist>
<parametername direction="out">d</parametername>
</parameternamelist>
<parameterdescription>
<para>Ocean bottom depth in m or Z if US is present</para></parameterdescription>
</parameteritem>
<parameteritem>
<parameternamelist>
<parametername direction="in">param_file</parametername>
</parameternamelist>
<parameterdescription>
<para>Parameter file structure</para></parameterdescription>
</parameteritem>
<parameteritem>
<parameternamelist>
<parametername direction="in">topog_config</parametername>
</parameternamelist>
<parameterdescription>
<para>The name of an idealized topographic configuration</para></parameterdescription>
</parameteritem>
<parameteritem>
<parameternamelist>
<parametername direction="in">max_depth</parametername>
</parameternamelist>
<parameterdescription>
<para>Maximum depth of model in the units of D</para></parameterdescription>
</parameteritem>
<parameteritem>
<parameternamelist>
<parametername direction="in">us</parametername>
</parameternamelist>
<parameterdescription>
<para>A dimensional unit scaling type </para></parameterdescription>
</parameteritem>
</parameterlist>
</para>        </detaileddescription>
        <inbodydescription>
        </inbodydescription>
        <location file="/home/cermak/src/MOM6.devrob/src/initialization/MOM_shared_initialization.F90" line="301" column="1" bodyfile="/home/cermak/src/MOM6.devrob/src/initialization/MOM_shared_initialization.F90" bodystart="302" bodyend="408"/>
        <references refid="namespacemom__error__handler_1a9cda07a87815f0e5594066162b4345c3" compoundref="MOM__error__handler_8F90" startline="130" endline="146">mom_error_handler::calltree_enter</references>
        <references refid="namespacemom__error__handler_1a88ea67781e2ed9b73ab7eac8ea5e8578" compoundref="MOM__error__handler_8F90" startline="151" endline="156">mom_error_handler::calltree_leave</references>
      </memberdef>
      <memberdef kind="function" id="namespacemom__shared__initialization_1ae2e3b3c739630c8746c533102b8c5d76" prot="public" static="no" const="no" explicit="no" inline="no" virt="non-virtual">
        <type>subroutine, public</type>
        <definition>subroutine, public mom_shared_initialization::limit_topography</definition>
        <argsstring>(D, G, param_file, max_depth, US)</argsstring>
        <name>limit_topography</name>
        <param>
          <type>D</type>
          <defname>D</defname>
        </param>
        <param>
          <type>G</type>
          <defname>G</defname>
        </param>
        <param>
          <type>param_file</type>
          <defname>param_file</defname>
        </param>
        <param>
          <type>max_depth</type>
          <defname>max_depth</defname>
        </param>
        <param>
          <type>US</type>
          <defname>US</defname>
        </param>
        <briefdescription>
<para>limit_topography ensures that min_depth &lt; D(x,y) &lt; max_depth </para>        </briefdescription>
        <detaileddescription>
<para><parameterlist kind="param"><parameteritem>
<parameternamelist>
<parametername direction="in">g</parametername>
</parameternamelist>
<parameterdescription>
<para>The dynamic horizontal grid type</para></parameterdescription>
</parameteritem>
<parameteritem>
<parameternamelist>
<parametername direction="inout">d</parametername>
</parameternamelist>
<parameterdescription>
<para>Ocean bottom depth in m or Z if US is present</para></parameterdescription>
</parameteritem>
<parameteritem>
<parameternamelist>
<parametername direction="in">param_file</parametername>
</parameternamelist>
<parameterdescription>
<para>Parameter file structure</para></parameterdescription>
</parameteritem>
<parameteritem>
<parameternamelist>
<parametername direction="in">max_depth</parametername>
</parameternamelist>
<parameterdescription>
<para>Maximum depth of model in the units of D</para></parameterdescription>
</parameteritem>
<parameteritem>
<parameternamelist>
<parametername direction="in">us</parametername>
</parameternamelist>
<parameterdescription>
<para>A dimensional unit scaling type </para></parameterdescription>
</parameteritem>
</parameterlist>
</para>        </detaileddescription>
        <inbodydescription>
        </inbodydescription>
        <location file="/home/cermak/src/MOM6.devrob/src/initialization/MOM_shared_initialization.F90" line="414" column="1" bodyfile="/home/cermak/src/MOM6.devrob/src/initialization/MOM_shared_initialization.F90" bodystart="415" bodyend="457"/>
        <references refid="namespacemom__error__handler_1a9cda07a87815f0e5594066162b4345c3" compoundref="MOM__error__handler_8F90" startline="130" endline="146">mom_error_handler::calltree_enter</references>
        <references refid="namespacemom__error__handler_1a88ea67781e2ed9b73ab7eac8ea5e8578" compoundref="MOM__error__handler_8F90" startline="151" endline="156">mom_error_handler::calltree_leave</references>
      </memberdef>
      <memberdef kind="function" id="namespacemom__shared__initialization_1a6aa6b883534fee4616137b7174414b8e" prot="public" static="no" const="no" explicit="no" inline="no" virt="non-virtual">
        <type>subroutine, public</type>
        <definition>subroutine, public mom_shared_initialization::set_rotation_planetary</definition>
        <argsstring>(f, G, param_file, US)</argsstring>
        <name>set_rotation_planetary</name>
        <param>
          <type>f</type>
          <defname>f</defname>
        </param>
        <param>
          <type>G</type>
          <defname>G</defname>
        </param>
        <param>
          <type>param_file</type>
          <defname>param_file</defname>
        </param>
        <param>
          <type>US</type>
          <defname>US</defname>
        </param>
        <briefdescription>
<para>This subroutine sets up the Coriolis parameter for a sphere. </para>        </briefdescription>
        <detaileddescription>
<para><parameterlist kind="param"><parameteritem>
<parameternamelist>
<parametername direction="in">g</parametername>
</parameternamelist>
<parameterdescription>
<para>The dynamic horizontal grid</para></parameterdescription>
</parameteritem>
<parameteritem>
<parameternamelist>
<parametername direction="out">f</parametername>
</parameternamelist>
<parameterdescription>
<para>Coriolis parameter (vertical component) [T-1 ~&gt; s-1]</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">us</parametername>
</parameternamelist>
<parameterdescription>
<para>A dimensional unit scaling type </para></parameterdescription>
</parameteritem>
</parameterlist>
</para>        </detaileddescription>
        <inbodydescription>
        </inbodydescription>
        <location file="/home/cermak/src/MOM6.devrob/src/initialization/MOM_shared_initialization.F90" line="463" column="1" bodyfile="/home/cermak/src/MOM6.devrob/src/initialization/MOM_shared_initialization.F90" bodystart="464" bodyend="490"/>
        <references refid="namespacemom__error__handler_1a9cda07a87815f0e5594066162b4345c3" compoundref="MOM__error__handler_8F90" startline="130" endline="146">mom_error_handler::calltree_enter</references>
        <references refid="namespacemom__error__handler_1a88ea67781e2ed9b73ab7eac8ea5e8578" compoundref="MOM__error__handler_8F90" startline="151" endline="156">mom_error_handler::calltree_leave</references>
        <referencedby refid="namespacemom__shared__initialization_1a1e501ab8351b666491169c804418e9df" compoundref="MOM__shared__initialization_8F90" startline="58" endline="86">mom_initialize_rotation</referencedby>
      </memberdef>
      <memberdef kind="function" id="namespacemom__shared__initialization_1a330014f05a823d5434ad0156d361b6ff" prot="public" static="no" const="no" explicit="no" inline="no" virt="non-virtual">
        <type>subroutine, public</type>
        <definition>subroutine, public mom_shared_initialization::set_rotation_beta_plane</definition>
        <argsstring>(f, G, param_file, US)</argsstring>
        <name>set_rotation_beta_plane</name>
        <param>
          <type>f</type>
          <defname>f</defname>
        </param>
        <param>
          <type>G</type>
          <defname>G</defname>
        </param>
        <param>
          <type>param_file</type>
          <defname>param_file</defname>
        </param>
        <param>
          <type>US</type>
          <defname>US</defname>
        </param>
        <briefdescription>
<para>This subroutine sets up the Coriolis parameter for a beta-plane or f-plane. </para>        </briefdescription>
        <detaileddescription>
<para><parameterlist kind="param"><parameteritem>
<parameternamelist>
<parametername direction="in">g</parametername>
</parameternamelist>
<parameterdescription>
<para>The dynamic horizontal grid</para></parameterdescription>
</parameteritem>
<parameteritem>
<parameternamelist>
<parametername direction="out">f</parametername>
</parameternamelist>
<parameterdescription>
<para>Coriolis parameter (vertical component) [T-1 ~&gt; s-1]</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">us</parametername>
</parameternamelist>
<parameterdescription>
<para>A dimensional unit scaling type </para></parameterdescription>
</parameteritem>
</parameterlist>
</para>        </detaileddescription>
        <inbodydescription>
        </inbodydescription>
        <location file="/home/cermak/src/MOM6.devrob/src/initialization/MOM_shared_initialization.F90" line="496" column="1" bodyfile="/home/cermak/src/MOM6.devrob/src/initialization/MOM_shared_initialization.F90" bodystart="497" bodyend="542"/>
        <references refid="namespacemom__error__handler_1a9cda07a87815f0e5594066162b4345c3" compoundref="MOM__error__handler_8F90" startline="130" endline="146">mom_error_handler::calltree_enter</references>
        <references refid="namespacemom__error__handler_1a88ea67781e2ed9b73ab7eac8ea5e8578" compoundref="MOM__error__handler_8F90" startline="151" endline="156">mom_error_handler::calltree_leave</references>
        <referencedby refid="namespacemom__shared__initialization_1a1e501ab8351b666491169c804418e9df" compoundref="MOM__shared__initialization_8F90" startline="58" endline="86">mom_initialize_rotation</referencedby>
      </memberdef>
      <memberdef kind="function" id="namespacemom__shared__initialization_1acf73ad1980ac8b8253fa085a1d8afc17" prot="public" static="no" const="no" explicit="no" inline="no" virt="non-virtual">
        <type>subroutine, public</type>
        <definition>subroutine, public mom_shared_initialization::initialize_grid_rotation_angle</definition>
        <argsstring>(G, PF)</argsstring>
        <name>initialize_grid_rotation_angle</name>
        <param>
          <type>G</type>
          <defname>G</defname>
        </param>
        <param>
          <type>PF</type>
          <defname>PF</defname>
        </param>
        <briefdescription>
<para>initialize_grid_rotation_angle initializes the arrays with the sine and cosine of the angle between logical north on the grid and true north. </para>        </briefdescription>
        <detaileddescription>
<para><parameterlist kind="param"><parameteritem>
<parameternamelist>
<parametername direction="inout">g</parametername>
</parameternamelist>
<parameterdescription>
<para>The dynamic horizontal grid</para></parameterdescription>
</parameteritem>
<parameteritem>
<parameternamelist>
<parametername direction="in">pf</parametername>
</parameternamelist>
<parameterdescription>
<para>A structure indicating the open file to parse for model parameter values. </para></parameterdescription>
</parameteritem>
</parameterlist>
</para>        </detaileddescription>
        <inbodydescription>
        </inbodydescription>
        <location file="/home/cermak/src/MOM6.devrob/src/initialization/MOM_shared_initialization.F90" line="547" column="1" bodyfile="/home/cermak/src/MOM6.devrob/src/initialization/MOM_shared_initialization.F90" bodystart="548" bodyend="599"/>
        <references refid="namespacemom__shared__initialization_1ac024655ad7fa6e243ceb90e9daa14388" compoundref="MOM__shared__initialization_8F90" startline="606" endline="615">modulo_around_point</references>
      </memberdef>
      <memberdef kind="function" id="namespacemom__shared__initialization_1ac024655ad7fa6e243ceb90e9daa14388" prot="private" static="no" const="no" explicit="no" inline="no" virt="non-virtual">
        <type>real function</type>
        <definition>real function mom_shared_initialization::modulo_around_point</definition>
        <argsstring>(x, xc, Lx)</argsstring>
        <name>modulo_around_point</name>
        <param>
          <type>x</type>
          <defname>x</defname>
        </param>
        <param>
          <type>xc</type>
          <defname>xc</defname>
        </param>
        <param>
          <type>Lx</type>
          <defname>Lx</defname>
        </param>
        <briefdescription>
<para>Return the modulo value of x in an interval [xc-(Lx/2) xc+(Lx/2)] If Lx&lt;=0, then it returns x without applying modulo arithmetic. </para>        </briefdescription>
        <detaileddescription>
<para><parameterlist kind="param"><parameteritem>
<parameternamelist>
<parametername direction="in">x</parametername>
</parameternamelist>
<parameterdescription>
<para>Value to which to apply modulo arithmetic</para></parameterdescription>
</parameteritem>
<parameteritem>
<parameternamelist>
<parametername direction="in">xc</parametername>
</parameternamelist>
<parameterdescription>
<para>Center of modulo range</para></parameterdescription>
</parameteritem>
<parameteritem>
<parameternamelist>
<parametername direction="in">lx</parametername>
</parameternamelist>
<parameterdescription>
<para>Modulo range width</para></parameterdescription>
</parameteritem>
</parameterlist>
<simplesect kind="return"><para>x shifted by an integer multiple of Lx to be close to xc. </para></simplesect>
</para>        </detaileddescription>
        <inbodydescription>
        </inbodydescription>
        <location file="/home/cermak/src/MOM6.devrob/src/initialization/MOM_shared_initialization.F90" line="605" column="1" bodyfile="/home/cermak/src/MOM6.devrob/src/initialization/MOM_shared_initialization.F90" bodystart="606" bodyend="615"/>
        <referencedby refid="namespacemom__shared__initialization_1acf73ad1980ac8b8253fa085a1d8afc17" compoundref="MOM__shared__initialization_8F90" startline="548" endline="599">initialize_grid_rotation_angle</referencedby>
      </memberdef>
      <memberdef kind="function" id="namespacemom__shared__initialization_1af506ce66cc9fdd478b4e2bd44e594f18" prot="public" static="no" const="no" explicit="no" inline="no" virt="non-virtual">
        <type>subroutine, public</type>
        <definition>subroutine, public mom_shared_initialization::reset_face_lengths_named</definition>
        <argsstring>(G, param_file, name, US)</argsstring>
        <name>reset_face_lengths_named</name>
        <param>
          <type>G</type>
          <defname>G</defname>
        </param>
        <param>
          <type>param_file</type>
          <defname>param_file</defname>
        </param>
        <param>
          <type>name</type>
          <defname>name</defname>
        </param>
        <param>
          <type>US</type>
          <defname>US</defname>
        </param>
        <briefdescription>
<para>This subroutine sets the open face lengths at selected points to restrict passages to their observed widths based on a named set of sizes. </para>        </briefdescription>
        <detaileddescription>
<para><parameterlist kind="param"><parameteritem>
<parameternamelist>
<parametername direction="inout">g</parametername>
</parameternamelist>
<parameterdescription>
<para>The dynamic horizontal grid</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">name</parametername>
</parameternamelist>
<parameterdescription>
<para>The name for the set of face lengths. Only &quot;global_1deg&quot; is currently implemented.</para></parameterdescription>
</parameteritem>
<parameteritem>
<parameternamelist>
<parametername direction="in">us</parametername>
</parameternamelist>
<parameterdescription>
<para>A dimensional unit scaling type </para></parameterdescription>
</parameteritem>
</parameterlist>
</para>        </detaileddescription>
        <inbodydescription>
        </inbodydescription>
        <location file="/home/cermak/src/MOM6.devrob/src/initialization/MOM_shared_initialization.F90" line="621" column="1" bodyfile="/home/cermak/src/MOM6.devrob/src/initialization/MOM_shared_initialization.F90" bodystart="622" bodyend="742"/>
      </memberdef>
      <memberdef kind="function" id="namespacemom__shared__initialization_1a27bab8da74b45855db4466ce4942456f" prot="public" static="no" const="no" explicit="no" inline="no" virt="non-virtual">
        <type>subroutine, public</type>
        <definition>subroutine, public mom_shared_initialization::reset_face_lengths_file</definition>
        <argsstring>(G, param_file, US)</argsstring>
        <name>reset_face_lengths_file</name>
        <param>
          <type>G</type>
          <defname>G</defname>
        </param>
        <param>
          <type>param_file</type>
          <defname>param_file</defname>
        </param>
        <param>
          <type>US</type>
          <defname>US</defname>
        </param>
        <briefdescription>
<para>This subroutine sets the open face lengths at selected points to restrict passages to their observed widths from a arrays read from a file. </para>        </briefdescription>
        <detaileddescription>
<para><parameterlist kind="param"><parameteritem>
<parameternamelist>
<parametername direction="inout">g</parametername>
</parameternamelist>
<parameterdescription>
<para>The dynamic horizontal grid</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">us</parametername>
</parameternamelist>
<parameterdescription>
<para>A dimensional unit scaling type </para></parameterdescription>
</parameteritem>
</parameterlist>
</para>        </detaileddescription>
        <inbodydescription>
        </inbodydescription>
        <location file="/home/cermak/src/MOM6.devrob/src/initialization/MOM_shared_initialization.F90" line="749" column="1" bodyfile="/home/cermak/src/MOM6.devrob/src/initialization/MOM_shared_initialization.F90" bodystart="750" bodyend="812"/>
        <references refid="namespacemom__error__handler_1a9cda07a87815f0e5594066162b4345c3" compoundref="MOM__error__handler_8F90" startline="130" endline="146">mom_error_handler::calltree_enter</references>
        <references refid="namespacemom__error__handler_1a88ea67781e2ed9b73ab7eac8ea5e8578" compoundref="MOM__error__handler_8F90" startline="151" endline="156">mom_error_handler::calltree_leave</references>
        <references refid="namespacemom__domains_1aa7d2122aa278771209b860dbd6788097" compoundref="MOM__domains_8F90" startline="137" endline="137">mom_domains::to_all</references>
      </memberdef>
      <memberdef kind="function" id="namespacemom__shared__initialization_1aea0f76e5a7193df606ba3f09703ca30a" prot="public" static="no" const="no" explicit="no" inline="no" virt="non-virtual">
        <type>subroutine, public</type>
        <definition>subroutine, public mom_shared_initialization::reset_face_lengths_list</definition>
        <argsstring>(G, param_file, US)</argsstring>
        <name>reset_face_lengths_list</name>
        <param>
          <type>G</type>
          <defname>G</defname>
        </param>
        <param>
          <type>param_file</type>
          <defname>param_file</defname>
        </param>
        <param>
          <type>US</type>
          <defname>US</defname>
        </param>
        <briefdescription>
<para>This subroutine sets the open face lengths at selected points to restrict passages to their observed widths from a list read from a file. </para>        </briefdescription>
        <detaileddescription>
<para><parameterlist kind="param"><parameteritem>
<parameternamelist>
<parametername direction="inout">g</parametername>
</parameternamelist>
<parameterdescription>
<para>The dynamic horizontal grid</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">us</parametername>
</parameternamelist>
<parameterdescription>
<para>A dimensional unit scaling type </para></parameterdescription>
</parameteritem>
</parameterlist>
</para>        </detaileddescription>
        <inbodydescription>
        </inbodydescription>
        <location file="/home/cermak/src/MOM6.devrob/src/initialization/MOM_shared_initialization.F90" line="819" column="1" bodyfile="/home/cermak/src/MOM6.devrob/src/initialization/MOM_shared_initialization.F90" bodystart="820" bodyend="1048"/>
        <references refid="namespacemom__error__handler_1a9cda07a87815f0e5594066162b4345c3" compoundref="MOM__error__handler_8F90" startline="130" endline="146">mom_error_handler::calltree_enter</references>
        <references refid="namespacemom__error__handler_1a88ea67781e2ed9b73ab7eac8ea5e8578" compoundref="MOM__error__handler_8F90" startline="151" endline="156">mom_error_handler::calltree_leave</references>
        <references refid="namespacemom__shared__initialization_1a49c0443c10514a0d5ce5d8df4d68bce8" compoundref="MOM__shared__initialization_8F90" startline="1055" endline="1101">read_face_length_list</references>
        <references refid="namespacemom__string__functions_1aca148baf726de2f028b7e7baad3c85d4" compoundref="MOM__string__functions_8F90" startline="44" endline="56">mom_string_functions::uppercase</references>
      </memberdef>
      <memberdef kind="function" id="namespacemom__shared__initialization_1a49c0443c10514a0d5ce5d8df4d68bce8" prot="public" static="no" const="no" explicit="no" inline="no" virt="non-virtual">
        <type>subroutine, public</type>
        <definition>subroutine, public mom_shared_initialization::read_face_length_list</definition>
        <argsstring>(iounit, filename, num_lines, lines)</argsstring>
        <name>read_face_length_list</name>
        <param>
          <type>iounit</type>
          <defname>iounit</defname>
        </param>
        <param>
          <type>filename</type>
          <defname>filename</defname>
        </param>
        <param>
          <type>num_lines</type>
          <defname>num_lines</defname>
        </param>
        <param>
          <type>lines</type>
          <defname>lines</defname>
        </param>
        <briefdescription>
<para>This subroutine reads and counts the non-blank lines in the face length list file, after removing comments. </para>        </briefdescription>
        <detaileddescription>
<para><parameterlist kind="param"><parameteritem>
<parameternamelist>
<parametername direction="in">iounit</parametername>
</parameternamelist>
<parameterdescription>
<para>An open I/O unit number for the file</para></parameterdescription>
</parameteritem>
<parameteritem>
<parameternamelist>
<parametername direction="in">filename</parametername>
</parameternamelist>
<parameterdescription>
<para>The name of the face-length file to read</para></parameterdescription>
</parameteritem>
<parameteritem>
<parameternamelist>
<parametername direction="out">num_lines</parametername>
</parameternamelist>
<parameterdescription>
<para>The number of non-blank lines in the file</para></parameterdescription>
</parameteritem>
<parameteritem>
<parameternamelist>
<parametername>lines</parametername>
</parameternamelist>
<parameterdescription>
<para>The non-blank lines, after removing comments </para></parameterdescription>
</parameteritem>
</parameterlist>
</para>        </detaileddescription>
        <inbodydescription>
        </inbodydescription>
        <location file="/home/cermak/src/MOM6.devrob/src/initialization/MOM_shared_initialization.F90" line="1054" column="1" bodyfile="/home/cermak/src/MOM6.devrob/src/initialization/MOM_shared_initialization.F90" bodystart="1055" bodyend="1101"/>
        <references refid="namespacemom__string__functions_1aca148baf726de2f028b7e7baad3c85d4" compoundref="MOM__string__functions_8F90" startline="44" endline="56">mom_string_functions::uppercase</references>
        <referencedby refid="namespacemom__shared__initialization_1aea0f76e5a7193df606ba3f09703ca30a" compoundref="MOM__shared__initialization_8F90" startline="820" endline="1048">reset_face_lengths_list</referencedby>
      </memberdef>
      <memberdef kind="function" id="namespacemom__shared__initialization_1ab4e226886998bcc8a43011bd8ed4dd29" prot="public" static="no" const="no" explicit="no" inline="no" virt="non-virtual">
        <type>subroutine, public</type>
        <definition>subroutine, public mom_shared_initialization::set_velocity_depth_max</definition>
        <argsstring>(G)</argsstring>
        <name>set_velocity_depth_max</name>
        <param>
          <type>G</type>
          <defname>G</defname>
        </param>
        <briefdescription>
<para>Set the bathymetry at velocity points to be the maximum of the depths at the neighoring tracer points. </para>        </briefdescription>
        <detaileddescription>
<para><parameterlist kind="param"><parameteritem>
<parameternamelist>
<parametername direction="inout">g</parametername>
</parameternamelist>
<parameterdescription>
<para>The dynamic horizontal grid </para></parameterdescription>
</parameteritem>
</parameterlist>
</para>        </detaileddescription>
        <inbodydescription>
        </inbodydescription>
        <location file="/home/cermak/src/MOM6.devrob/src/initialization/MOM_shared_initialization.F90" line="1108" column="1" bodyfile="/home/cermak/src/MOM6.devrob/src/initialization/MOM_shared_initialization.F90" bodystart="1109" bodyend="1121"/>
      </memberdef>
      <memberdef kind="function" id="namespacemom__shared__initialization_1a4db4d57d710d61a5e910b437f9ab1455" prot="public" static="no" const="no" explicit="no" inline="no" virt="non-virtual">
        <type>subroutine, public</type>
        <definition>subroutine, public mom_shared_initialization::set_velocity_depth_min</definition>
        <argsstring>(G)</argsstring>
        <name>set_velocity_depth_min</name>
        <param>
          <type>G</type>
          <defname>G</defname>
        </param>
        <briefdescription>
<para>Set the bathymetry at velocity points to be the minimum of the depths at the neighoring tracer points. </para>        </briefdescription>
        <detaileddescription>
<para><parameterlist kind="param"><parameteritem>
<parameternamelist>
<parametername direction="inout">g</parametername>
</parameternamelist>
<parameterdescription>
<para>The dynamic horizontal grid </para></parameterdescription>
</parameteritem>
</parameterlist>
</para>        </detaileddescription>
        <inbodydescription>
        </inbodydescription>
        <location file="/home/cermak/src/MOM6.devrob/src/initialization/MOM_shared_initialization.F90" line="1128" column="1" bodyfile="/home/cermak/src/MOM6.devrob/src/initialization/MOM_shared_initialization.F90" bodystart="1129" bodyend="1141"/>
      </memberdef>
      <memberdef kind="function" id="namespacemom__shared__initialization_1a25f3025f93e75f70fa21f444014345be" prot="public" static="no" const="no" explicit="no" inline="no" virt="non-virtual">
        <type>subroutine, public</type>
        <definition>subroutine, public mom_shared_initialization::compute_global_grid_integrals</definition>
        <argsstring>(G, US)</argsstring>
        <name>compute_global_grid_integrals</name>
        <param>
          <type>G</type>
          <defname>G</defname>
        </param>
        <param>
          <type>US</type>
          <defname>US</defname>
        </param>
        <briefdescription>
<para>Pre-compute global integrals of grid quantities (like masked ocean area) for later use in reporting diagnostics. </para>        </briefdescription>
        <detaileddescription>
<para><parameterlist kind="param"><parameteritem>
<parameternamelist>
<parametername direction="inout">g</parametername>
</parameternamelist>
<parameterdescription>
<para>The dynamic horizontal grid</para></parameterdescription>
</parameteritem>
<parameteritem>
<parameternamelist>
<parametername direction="in">us</parametername>
</parameternamelist>
<parameterdescription>
<para>A dimensional unit scaling type </para></parameterdescription>
</parameteritem>
</parameterlist>
</para>        </detaileddescription>
        <inbodydescription>
        </inbodydescription>
        <location file="/home/cermak/src/MOM6.devrob/src/initialization/MOM_shared_initialization.F90" line="1148" column="1" bodyfile="/home/cermak/src/MOM6.devrob/src/initialization/MOM_shared_initialization.F90" bodystart="1149" bodyend="1170"/>
        <referencedby refid="namespacemom__fixed__initialization_1a79fad1bd49f85eaa0579def2d9d4ae53" compoundref="MOM__fixed__initialization_8F90" startline="57" endline="169">mom_fixed_initialization::mom_initialize_fixed</referencedby>
      </memberdef>
      <memberdef kind="function" id="namespacemom__shared__initialization_1a4375db47a43535f8f2eecd5992a788ea" prot="public" static="no" const="no" explicit="no" inline="no" virt="non-virtual">
        <type>subroutine, public</type>
        <definition>subroutine, public mom_shared_initialization::write_ocean_geometry_file</definition>
        <argsstring>(G, param_file, directory, geom_file, US)</argsstring>
        <name>write_ocean_geometry_file</name>
        <param>
          <type>G</type>
          <defname>G</defname>
        </param>
        <param>
          <type>param_file</type>
          <defname>param_file</defname>
        </param>
        <param>
          <type>directory</type>
          <defname>directory</defname>
        </param>
        <param>
          <type>geom_file</type>
          <defname>geom_file</defname>
        </param>
        <param>
          <type>US</type>
          <defname>US</defname>
        </param>
        <briefdescription>
<para>Write out a file describing the topography, Coriolis parameter, grid locations and various other fixed fields from the grid. </para>        </briefdescription>
        <detaileddescription>
<para><parameterlist kind="param"><parameteritem>
<parameternamelist>
<parametername direction="inout">g</parametername>
</parameternamelist>
<parameterdescription>
<para>The dynamic horizontal grid</para></parameterdescription>
</parameteritem>
<parameteritem>
<parameternamelist>
<parametername direction="in">param_file</parametername>
</parameternamelist>
<parameterdescription>
<para>Parameter file structure</para></parameterdescription>
</parameteritem>
<parameteritem>
<parameternamelist>
<parametername direction="in">directory</parametername>
</parameternamelist>
<parameterdescription>
<para>The directory into which to place the geometry file.</para></parameterdescription>
</parameteritem>
<parameteritem>
<parameternamelist>
<parametername direction="in">geom_file</parametername>
</parameternamelist>
<parameterdescription>
<para>If present, the name of the geometry file (otherwise the file is &quot;ocean_geometry&quot;)</para></parameterdescription>
</parameteritem>
<parameteritem>
<parameternamelist>
<parametername direction="in">us</parametername>
</parameternamelist>
<parameterdescription>
<para>A dimensional unit scaling type </para></parameterdescription>
</parameteritem>
</parameterlist>
</para>        </detaileddescription>
        <inbodydescription>
        </inbodydescription>
        <location file="/home/cermak/src/MOM6.devrob/src/initialization/MOM_shared_initialization.F90" line="1177" column="1" bodyfile="/home/cermak/src/MOM6.devrob/src/initialization/MOM_shared_initialization.F90" bodystart="1178" bodyend="1336"/>
        <references refid="namespacemom__error__handler_1a9cda07a87815f0e5594066162b4345c3" compoundref="MOM__error__handler_8F90" startline="130" endline="146">mom_error_handler::calltree_enter</references>
        <references refid="namespacemom__error__handler_1a88ea67781e2ed9b73ab7eac8ea5e8578" compoundref="MOM__error__handler_8F90" startline="151" endline="156">mom_error_handler::calltree_leave</references>
        <references refid="namespacemom__io_1a09be50ad112d6bc134d06d82fcbe1fdc" compoundref="MOM__io_8F90" startline="600" endline="632">mom_io::var_desc</references>
        <referencedby refid="namespacemom__fixed__initialization_1a79fad1bd49f85eaa0579def2d9d4ae53" compoundref="MOM__fixed__initialization_8F90" startline="57" endline="169">mom_fixed_initialization::mom_initialize_fixed</referencedby>
      </memberdef>
      </sectiondef>
    <briefdescription>
<para>Code that initializes fixed aspects of the model grid, such as horizontal grid metrics, topography and Coriolis, and can be shared between components. </para>    </briefdescription>
    <detaileddescription>
    </detaileddescription>
    <location file="/home/cermak/src/MOM6.devrob/src/initialization/MOM_shared_initialization.F90" line="3" column="1"/>
  </compounddef>
</doxygen>
